xref: /netbsd-src/tests/usr.bin/xlint/lint1/stmt_goto.c (revision e6298b924c5ba98f3a22919b56dab04a87cdbb1c)
1*e6298b92Srillig /*	$NetBSD: stmt_goto.c,v 1.3 2023/07/07 19:45:22 rillig Exp $	*/
2a4bbb227Srillig # 3 "stmt_goto.c"
3a4bbb227Srillig 
4a4bbb227Srillig /*
5a4bbb227Srillig  * Tests for the 'goto' statement.
6a4bbb227Srillig  */
7a4bbb227Srillig 
8*e6298b92Srillig /* lint1-extra-flags: -X 351 */
9*e6298b92Srillig 
10c83f7defSrillig /* expect+1: error: syntax error 'goto' [249] */
11a4bbb227Srillig goto invalid_at_top_level;
12a4bbb227Srillig 
13a4bbb227Srillig void
function(void)14a4bbb227Srillig function(void)
15a4bbb227Srillig {
16a4bbb227Srillig 	goto label;
17a4bbb227Srillig label:
18c83f7defSrillig 	/* expect+1: error: syntax error '"' [249] */
19a4bbb227Srillig 	goto "string";
20a4bbb227Srillig 
21a4bbb227Srillig 	/* Reset the error handling of the parser. */
22a4bbb227Srillig 	goto ok;
23a4bbb227Srillig ok:
24a4bbb227Srillig 
25a4bbb227Srillig 	/* Numeric labels work in Pascal, but not in C. */
26c83f7defSrillig 	/* expect+1: error: syntax error '12345' [249] */
27a4bbb227Srillig 	goto 12345;
28a4bbb227Srillig }
29