fmt_block.c revision 1.5
11.5Srillig/* $NetBSD: fmt_block.c,v 1.5 2023/05/11 09:28:53 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.5Srillig//indent run-equals-input
271.2Srillig
281.2Srillig
291.2Srillig/*
301.2Srillig * Two adjacent blocks must not be merged.  They are typically used in C90 and
311.2Srillig * earlier to declare local variables with a limited scope.
321.2Srillig */
331.4Srillig//indent input
341.2Srilligvoid
351.2Srilligfunction(void)
361.2Srillig{
371.2Srillig	{}{}
381.2Srillig}
391.4Srillig//indent end
401.2Srillig
411.4Srillig//indent run
421.2Srilligvoid
431.2Srilligfunction(void)
441.2Srillig{
451.2Srillig	{
461.2Srillig/* $ FIXME: '{' must start a new line. */
471.2Srillig	} {
481.2Srillig	}
491.2Srillig}
501.4Srillig//indent end
511.2Srillig
521.2Srillig/*
531.2Srillig * The buggy behavior only occurs with the default setting '-br', which
541.2Srillig * places an opening brace to the right of the preceding 'if (expr)' or
551.2Srillig * similar statements.
561.2Srillig */
571.4Srillig//indent run -bl
581.2Srilligvoid
591.2Srilligfunction(void)
601.2Srillig{
611.2Srillig	{
621.2Srillig	}
631.2Srillig	{
641.2Srillig	}
651.2Srillig}
661.4Srillig//indent end
67