Module Name: src
Committed By: rillig
Date: Sun Jul 2 23:45:10 UTC 2023
Added Files:
src/tests/usr.bin/xlint/lint1: c23.c msg_353.c
Log Message:
tests/lint: add C23 tests
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/xlint/lint1/c23.c \
src/tests/usr.bin/xlint/lint1/msg_353.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: src/tests/usr.bin/xlint/lint1/c23.c
diff -u /dev/null src/tests/usr.bin/xlint/lint1/c23.c:1.1
--- /dev/null Sun Jul 2 23:45:10 2023
+++ src/tests/usr.bin/xlint/lint1/c23.c Sun Jul 2 23:45:10 2023
@@ -0,0 +1,22 @@
+/* $NetBSD: c23.c,v 1.1 2023/07/02 23:45:10 rillig Exp $ */
+# 3 "c23.c"
+
+// Tests for the option -Ac23, which allows features from C23 and all earlier
+// ISO standards, but none of the GNU extensions.
+//
+// See also:
+// msg_353.c
+
+/* lint1-flags: -Ac23 -w -X 351 */
+
+int
+c23(void)
+{
+ struct s {
+ int member;
+ } s;
+
+ s = (struct s){};
+ s = (struct s){s.member};
+ return s.member;
+}
Index: src/tests/usr.bin/xlint/lint1/msg_353.c
diff -u /dev/null src/tests/usr.bin/xlint/lint1/msg_353.c:1.1
--- /dev/null Sun Jul 2 23:45:10 2023
+++ src/tests/usr.bin/xlint/lint1/msg_353.c Sun Jul 2 23:45:10 2023
@@ -0,0 +1,19 @@
+/* $NetBSD: msg_353.c,v 1.1 2023/07/02 23:45:10 rillig Exp $ */
+# 3 "msg_353.c"
+
+// Test for message 353: empty initializer braces require C23 or later [353]
+//
+// See also:
+// c23.c
+
+void
+c23(void)
+{
+ struct s {
+ int member;
+ } s;
+
+ /* expect+1: error: empty initializer braces require C23 or later [353] */
+ s = (struct s){};
+ s = (struct s){0};
+}