psym_rbrace.c revision 1.5
11.5Srillig/* $NetBSD: psym_rbrace.c,v 1.5 2023/06/16 23:19:01 rillig Exp $ */
21.1Srillig
31.1Srillig/*
41.1Srillig * Tests for the parser symbol psym_rbrace, which represents '}' and finishes
51.1Srillig * the previous '{'.
61.1Srillig *
71.1Srillig * See also:
81.1Srillig *	psym_lbrace.c
91.1Srillig */
101.1Srillig
111.4Srillig
121.4Srillig/*
131.4Srillig * While it is a syntax error to have an unfinished declaration between braces,
141.4Srillig * indent is forgiving enough to accept this input.
151.4Srillig */
161.4Srillig//indent input
171.4Srillig{
181.4Srillig	int
191.4Srillig}
201.4Srillig//indent end
211.4Srillig
221.4Srillig//indent run
231.4Srillig{
241.4Srillig	int
251.4Srillig	}
261.5Srillig// exit 1
271.5Srillig// error: Standard Input:3: Statement nesting error
281.5Srillig// error: Standard Input:3: Stuff missing from end of file
291.4Srillig//indent end
301.4Srillig
311.4Srillig
321.3Srillig//indent input
331.4Srillig{
341.4Srillig	do {
351.4Srillig	} while (cond)
361.4Srillig}
371.3Srillig//indent end
381.1Srillig
391.4Srillig// XXX: Why doesn't indent complain about the missing semicolon?
401.3Srillig//indent run-equals-input
411.4Srillig
421.4Srillig
431.4Srillig//indent input
441.4Srillig{
451.4Srillig	if (cond)
461.4Srillig}
471.4Srillig//indent end
481.4Srillig
491.4Srillig//indent run
501.4Srillig{
511.4Srillig	if (cond)
521.4Srillig		}
531.5Srillig// exit 1
541.5Srillig// error: Standard Input:3: Statement nesting error
551.5Srillig// error: Standard Input:3: Stuff missing from end of file
561.4Srillig//indent end
571.4Srillig
581.4Srillig
591.4Srillig//indent input
601.4Srillig{
611.4Srillig	switch (expr)
621.4Srillig}
631.4Srillig//indent end
641.4Srillig
651.4Srillig//indent run
661.4Srillig{
671.4Srillig	switch (expr)
681.4Srillig		}
691.5Srillig// exit 1
701.5Srillig// error: Standard Input:3: Statement nesting error
711.5Srillig// error: Standard Input:3: Stuff missing from end of file
721.4Srillig//indent end
731.4Srillig
741.4Srillig
751.4Srillig//indent input
761.4Srillig{
771.4Srillig	while (cond)
781.4Srillig}
791.4Srillig//indent end
801.4Srillig
811.4Srillig//indent run
821.4Srillig{
831.4Srillig	while (cond)
841.4Srillig		}
851.5Srillig// exit 1
861.5Srillig// error: Standard Input:3: Statement nesting error
871.5Srillig// error: Standard Input:3: Stuff missing from end of file
881.4Srillig//indent end
89