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]