Module Name:    src
Committed By:   rillig
Date:           Sat Jul 10 09:24:27 UTC 2021

Modified Files:
        src/distrib/sets/lists/tests: mi
        src/tests/usr.bin/xlint/lint1: Makefile decl_arg.c msg_190.c
            msg_190.exp
Added Files:
        src/tests/usr.bin/xlint/lint1: init.c init.exp init_c90.c init_c90.exp

Log Message:
tests/lint: add more tests for covering the grammar


To generate a diff of this commit:
cvs rdiff -u -r1.1081 -r1.1082 src/distrib/sets/lists/tests/mi
cvs rdiff -u -r1.82 -r1.83 src/tests/usr.bin/xlint/lint1/Makefile
cvs rdiff -u -r1.4 -r1.5 src/tests/usr.bin/xlint/lint1/decl_arg.c
cvs rdiff -u -r0 -r1.1 src/tests/usr.bin/xlint/lint1/init.c \
    src/tests/usr.bin/xlint/lint1/init.exp \
    src/tests/usr.bin/xlint/lint1/init_c90.c \
    src/tests/usr.bin/xlint/lint1/init_c90.exp
cvs rdiff -u -r1.2 -r1.3 src/tests/usr.bin/xlint/lint1/msg_190.c \
    src/tests/usr.bin/xlint/lint1/msg_190.exp

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

Modified files:

Index: src/distrib/sets/lists/tests/mi
diff -u src/distrib/sets/lists/tests/mi:1.1081 src/distrib/sets/lists/tests/mi:1.1082
--- src/distrib/sets/lists/tests/mi:1.1081	Fri Jul  9 20:20:03 2021
+++ src/distrib/sets/lists/tests/mi	Sat Jul 10 09:24:26 2021
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1081 2021/07/09 20:20:03 rillig Exp $
+# $NetBSD: mi,v 1.1082 2021/07/10 09:24:26 rillig Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -6244,6 +6244,10 @@
 ./usr/tests/usr.bin/xlint/lint1/gcc_init_compound_literal.exp	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/xlint/lint1/gcc_typeof_after_statement.c	tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/xlint/lint1/gcc_typeof_after_statement.exp	tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/xlint/lint1/init.c				tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/xlint/lint1/init.exp			tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/xlint/lint1/init_c90.c			tests-usr.bin-tests	compattestfile,atf
+./usr/tests/usr.bin/xlint/lint1/init_c90.exp			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/xlint/lint1/lex_char.c			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/xlint/lint1/lex_char.exp			tests-usr.bin-tests	compattestfile,atf
 ./usr/tests/usr.bin/xlint/lint1/lex_char_uchar.c		tests-usr.bin-tests	compattestfile,atf

Index: src/tests/usr.bin/xlint/lint1/Makefile
diff -u src/tests/usr.bin/xlint/lint1/Makefile:1.82 src/tests/usr.bin/xlint/lint1/Makefile:1.83
--- src/tests/usr.bin/xlint/lint1/Makefile:1.82	Fri Jul  9 20:20:03 2021
+++ src/tests/usr.bin/xlint/lint1/Makefile	Sat Jul 10 09:24:26 2021
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.82 2021/07/09 20:20:03 rillig Exp $
+# $NetBSD: Makefile,v 1.83 2021/07/10 09:24:26 rillig Exp $
 
 NOMAN=		# defined
 MAX_MESSAGE=	345		# see lint1/err.c
@@ -141,6 +141,10 @@ FILES+=		gcc_init_compound_literal.c
 FILES+=		gcc_init_compound_literal.exp
 FILES+=		gcc_typeof_after_statement.c
 FILES+=		gcc_typeof_after_statement.exp
+FILES+=		init.c
+FILES+=		init.exp
+FILES+=		init_c90.c
+FILES+=		init_c90.exp
 FILES+=		lex_char.c
 FILES+=		lex_char.exp
 FILES+=		lex_char_uchar.c

Index: src/tests/usr.bin/xlint/lint1/decl_arg.c
diff -u src/tests/usr.bin/xlint/lint1/decl_arg.c:1.4 src/tests/usr.bin/xlint/lint1/decl_arg.c:1.5
--- src/tests/usr.bin/xlint/lint1/decl_arg.c:1.4	Sat Jul 10 08:40:36 2021
+++ src/tests/usr.bin/xlint/lint1/decl_arg.c	Sat Jul 10 09:24:27 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: decl_arg.c,v 1.4 2021/07/10 08:40:36 rillig Exp $	*/
+/*	$NetBSD: decl_arg.c,v 1.5 2021/07/10 09:24:27 rillig Exp $	*/
 # 3 "decl_arg.c"
 
 /*
@@ -123,3 +123,9 @@ void cover_parameter_declaration(
     double *const,		/* 6 */
     ...
 );
+
+void cover_asm_or_symbolrename_asm(void)
+    __asm("assembly code");
+
+void cover_asm_or_symbolrename_symbolrename(void)
+    __symbolrename(alternate_name);

Index: src/tests/usr.bin/xlint/lint1/msg_190.c
diff -u src/tests/usr.bin/xlint/lint1/msg_190.c:1.2 src/tests/usr.bin/xlint/lint1/msg_190.c:1.3
--- src/tests/usr.bin/xlint/lint1/msg_190.c:1.2	Sun Feb 21 09:07:58 2021
+++ src/tests/usr.bin/xlint/lint1/msg_190.c	Sat Jul 10 09:24:27 2021
@@ -1,7 +1,9 @@
-/*	$NetBSD: msg_190.c,v 1.2 2021/02/21 09:07:58 rillig Exp $	*/
+/*	$NetBSD: msg_190.c,v 1.3 2021/07/10 09:24:27 rillig Exp $	*/
 # 3 "msg_190.c"
 
 // Test for message: empty array declaration: %s [190]
 
-TODO: "Add example code that triggers the above message." /* expect: 249 */
-TODO: "Add example code that almost triggers the above message."
+/* expect+1: error: empty array declaration: empty_array [190] */
+double empty_array[] = {};
+
+double array[] = { 1 };
Index: src/tests/usr.bin/xlint/lint1/msg_190.exp
diff -u src/tests/usr.bin/xlint/lint1/msg_190.exp:1.2 src/tests/usr.bin/xlint/lint1/msg_190.exp:1.3
--- src/tests/usr.bin/xlint/lint1/msg_190.exp:1.2	Sun Mar 21 20:45:00 2021
+++ src/tests/usr.bin/xlint/lint1/msg_190.exp	Sat Jul 10 09:24:27 2021
@@ -1 +1 @@
-msg_190.c(6): error: syntax error ':' [249]
+msg_190.c(7): error: empty array declaration: empty_array [190]

Added files:

Index: src/tests/usr.bin/xlint/lint1/init.c
diff -u /dev/null src/tests/usr.bin/xlint/lint1/init.c:1.1
--- /dev/null	Sat Jul 10 09:24:27 2021
+++ src/tests/usr.bin/xlint/lint1/init.c	Sat Jul 10 09:24:27 2021
@@ -0,0 +1,24 @@
+/*	$NetBSD: init.c,v 1.1 2021/07/10 09:24:27 rillig Exp $	*/
+# 3 "init.c"
+
+/*
+ * Tests for initialization.
+ *
+ * C99 6.7.8
+ */
+
+/*
+ * C99 does not allow empty initializer braces syntactically.
+ * Lint allows this syntactically, it just complains if the resulting
+ * object is empty.
+ */
+/* expect+1: error: empty array declaration: empty_array_with_initializer [190] */
+double empty_array_with_initializer[] = {};
+double array_with_empty_initializer[3] = {};
+
+/*
+ * C99 does not allow empty initializer braces syntactically.
+ */
+struct {
+	int member;
+} empty_struct_initializer = {};
Index: src/tests/usr.bin/xlint/lint1/init.exp
diff -u /dev/null src/tests/usr.bin/xlint/lint1/init.exp:1.1
--- /dev/null	Sat Jul 10 09:24:27 2021
+++ src/tests/usr.bin/xlint/lint1/init.exp	Sat Jul 10 09:24:27 2021
@@ -0,0 +1 @@
+init.c(16): error: empty array declaration: empty_array_with_initializer [190]
Index: src/tests/usr.bin/xlint/lint1/init_c90.c
diff -u /dev/null src/tests/usr.bin/xlint/lint1/init_c90.c:1.1
--- /dev/null	Sat Jul 10 09:24:27 2021
+++ src/tests/usr.bin/xlint/lint1/init_c90.c	Sat Jul 10 09:24:27 2021
@@ -0,0 +1,23 @@
+/*	$NetBSD: init_c90.c,v 1.1 2021/07/10 09:24:27 rillig Exp $	*/
+# 3 "init_c90.c"
+
+/*
+ * Test initialization before C99.
+ *
+ * C90 3.5.7
+ */
+
+/* lint1-flags: -sw */
+
+struct point {
+	int x, y;
+};
+
+struct point point_c90 = { 0, 0 };
+/* expect+2: warning: struct or union member name in initializer is a C9X feature [313] */
+/* expect+1: warning: struct or union member name in initializer is a C9X feature [313] */
+struct point point_c99 = { .x = 0, .y = 0 };
+
+struct point points_c90[] = {{ 0, 0 }};
+/* expect+1: warning: array initializer with designators is a C9X feature [321] */
+struct point points_c99[] = {[3] = { 0, 0 }};
Index: src/tests/usr.bin/xlint/lint1/init_c90.exp
diff -u /dev/null src/tests/usr.bin/xlint/lint1/init_c90.exp:1.1
--- /dev/null	Sat Jul 10 09:24:27 2021
+++ src/tests/usr.bin/xlint/lint1/init_c90.exp	Sat Jul 10 09:24:27 2021
@@ -0,0 +1,3 @@
+init_c90.c(19): warning: struct or union member name in initializer is a C9X feature [313]
+init_c90.c(19): warning: struct or union member name in initializer is a C9X feature [313]
+init_c90.c(23): warning: array initializer with designators is a C9X feature [321]

Reply via email to