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};
+}

Reply via email to