Module Name:    src
Committed By:   rillig
Date:           Sun Jul  2 22:50:18 UTC 2023

Modified Files:
        src/tests/usr.bin/xlint/lint1: d_gcc_compound_statements1.c

Log Message:
tests/lint: demonstrate empty statement in GCC statement expression

Seen in external/mit/xorg/lib/dri.old.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
    src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c
diff -u src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c:1.12 src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c:1.13
--- src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c:1.12	Tue Mar 28 14:44:34 2023
+++ src/tests/usr.bin/xlint/lint1/d_gcc_compound_statements1.c	Sun Jul  2 22:50:18 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: d_gcc_compound_statements1.c,v 1.12 2023/03/28 14:44:34 rillig Exp $	*/
+/*	$NetBSD: d_gcc_compound_statements1.c,v 1.13 2023/07/02 22:50:18 rillig Exp $	*/
 # 3 "d_gcc_compound_statements1.c"
 
 /* GCC compound statement with expression */
@@ -65,3 +65,19 @@ crash(void)
 		;
 	});
 }
+
+/*
+ * Before 2023-07-03, lint did not accept empty statements in GCC statement
+ * expressions.  These empty statements can be generated by a disabled 'assert'
+ * macro.
+ */
+unsigned int
+empty_statement(void)
+{
+	return ({
+		unsigned int mega = 1 << 20;
+		/* expect+1: error: syntax error ';' [249] */
+		;
+		mega;
+	});
+}

Reply via email to