fmt_block.c revision 1.7
11.7Srillig/* $NetBSD: fmt_block.c,v 1.7 2023/05/22 23:03:16 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 *	psym_stmt_list.c
101.2Srillig */
111.2Srillig
121.4Srillig//indent input
131.1Srilligvoid
141.1Srilligfunction(void)
151.1Srillig{
161.1Srillig	if (true) {
171.1Srillig
181.1Srillig	}
191.1Srillig
201.1Srillig	{
211.1Srillig		print("block");
221.1Srillig	}
231.1Srillig}
241.4Srillig//indent end
251.1Srillig
261.6Srillig/*
271.6Srillig * Before 2023-05-11, indent incorrectly merged the '} {' into a single line,
281.6Srillig * even though they are completely unrelated.
291.6Srillig */
301.5Srillig//indent run-equals-input
311.2Srillig
321.2Srillig
331.2Srillig/*
341.2Srillig * Two adjacent blocks must not be merged.  They are typically used in C90 and
351.2Srillig * earlier to declare local variables with a limited scope.
361.2Srillig */
371.4Srillig//indent input
381.2Srilligvoid
391.2Srilligfunction(void)
401.2Srillig{
411.2Srillig	{}{}
421.2Srillig}
431.4Srillig//indent end
441.2Srillig
451.4Srillig//indent run
461.2Srilligvoid
471.2Srilligfunction(void)
481.2Srillig{
491.2Srillig	{
501.2Srillig	}
511.2Srillig	{
521.2Srillig	}
531.2Srillig}
541.4Srillig//indent end
551.7Srillig
561.7Srillig//indent run-equals-prev-output -bl
57