11.8Srillig/* $NetBSD: fmt_block.c,v 1.8 2023/06/14 20:46:08 rillig Exp $ */
21.1Srillig
31.2Srillig/*
41.2Srillig * Tests for formatting blocks of statements and declarations.
51.2Srillig *
61.2Srillig * See also:
71.2Srillig *	lsym_lbrace.c
81.2Srillig *	psym_stmt.c
91.2Srillig */
101.2Srillig
111.4Srillig//indent input
121.1Srilligvoid
131.1Srilligfunction(void)
141.1Srillig{
151.1Srillig	if (true) {
161.1Srillig
171.1Srillig	}
181.1Srillig
191.1Srillig	{
201.1Srillig		print("block");
211.1Srillig	}
221.1Srillig}
231.4Srillig//indent end
241.1Srillig
251.6Srillig/*
261.6Srillig * Before 2023-05-11, indent incorrectly merged the '} {' into a single line,
271.6Srillig * even though they are completely unrelated.
281.6Srillig */
291.5Srillig//indent run-equals-input
301.2Srillig
311.2Srillig
321.2Srillig/*
331.2Srillig * Two adjacent blocks must not be merged.  They are typically used in C90 and
341.2Srillig * earlier to declare local variables with a limited scope.
351.2Srillig */
361.4Srillig//indent input
371.2Srilligvoid
381.2Srilligfunction(void)
391.2Srillig{
401.2Srillig	{}{}
411.2Srillig}
421.4Srillig//indent end
431.2Srillig
441.4Srillig//indent run
451.2Srilligvoid
461.2Srilligfunction(void)
471.2Srillig{
481.2Srillig	{
491.2Srillig	}
501.2Srillig	{
511.2Srillig	}
521.2Srillig}
531.4Srillig//indent end
541.7Srillig
551.7Srillig//indent run-equals-prev-output -bl
56