Module Name: src Committed By: rillig Date: Sun Feb 5 12:25:11 UTC 2023
Modified Files: src/distrib/sets/lists/tests: mi src/tests/usr.bin/xlint/lint1: Makefile d_c99_init.c lex_integer_ilp32.c Removed Files: src/tests/usr.bin/xlint/lint1: c99_init_array.c c99_init_designator.c d_c9x_recursive_init.c d_cast_init.c d_cast_init2.c Log Message: tests/lint: remove redundant tests The names of the tests were misleading: 'recursive' should have been 'nested', and the interesting topic in the 'cast' tests was not the cast but the pointer dereference. To generate a diff of this commit: cvs rdiff -u -r1.1250 -r1.1251 src/distrib/sets/lists/tests/mi cvs rdiff -u -r1.135 -r1.136 src/tests/usr.bin/xlint/lint1/Makefile cvs rdiff -u -r1.3 -r0 src/tests/usr.bin/xlint/lint1/c99_init_array.c \ src/tests/usr.bin/xlint/lint1/d_cast_init2.c cvs rdiff -u -r1.2 -r0 src/tests/usr.bin/xlint/lint1/c99_init_designator.c cvs rdiff -u -r1.42 -r1.43 src/tests/usr.bin/xlint/lint1/d_c99_init.c cvs rdiff -u -r1.4 -r0 src/tests/usr.bin/xlint/lint1/d_c9x_recursive_init.c cvs rdiff -u -r1.5 -r0 src/tests/usr.bin/xlint/lint1/d_cast_init.c cvs rdiff -u -r1.5 -r1.6 src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c 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.1250 src/distrib/sets/lists/tests/mi:1.1251 --- src/distrib/sets/lists/tests/mi:1.1250 Mon Jan 30 19:51:33 2023 +++ src/distrib/sets/lists/tests/mi Sun Feb 5 12:25:11 2023 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1250 2023/01/30 19:51:33 christos Exp $ +# $NetBSD: mi,v 1.1251 2023/02/05 12:25:11 rillig Exp $ # # Note: don't delete entries from here - mark them as "obsolete" instead. # @@ -6424,9 +6424,9 @@ ./usr/tests/usr.bin/xlint/lint1/c99_atomic.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/c99_bool_strict_suppressed.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/c99_bool_strict_suppressed.exp tests-obsolete obsolete -./usr/tests/usr.bin/xlint/lint1/c99_init_array.c tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/xlint/lint1/c99_init_array.c tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/c99_init_array.exp tests-obsolete obsolete,atf -./usr/tests/usr.bin/xlint/lint1/c99_init_designator.c tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/xlint/lint1/c99_init_designator.c tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/c99_init_designator.exp tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/check-expect.lua tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/d_alignof.c tests-usr.bin-tests compattestfile,atf @@ -6463,10 +6463,10 @@ ./usr/tests/usr.bin/xlint/lint1/d_c99_union_init4.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/d_c99_union_init5.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/d_c9x_array_init.c tests-usr.bin-tests compattestfile,atf -./usr/tests/usr.bin/xlint/lint1/d_c9x_recursive_init.c tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/xlint/lint1/d_c9x_recursive_init.c tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/d_cast_fun_array_param.c tests-usr.bin-tests compattestfile,atf -./usr/tests/usr.bin/xlint/lint1/d_cast_init.c tests-usr.bin-tests compattestfile,atf -./usr/tests/usr.bin/xlint/lint1/d_cast_init2.c tests-usr.bin-tests compattestfile,atf +./usr/tests/usr.bin/xlint/lint1/d_cast_init.c tests-obsolete obsolete,atf +./usr/tests/usr.bin/xlint/lint1/d_cast_init2.c tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/d_cast_lhs.c tests-usr.bin-tests compattestfile,atf ./usr/tests/usr.bin/xlint/lint1/d_cast_lhs.exp tests-obsolete obsolete,atf ./usr/tests/usr.bin/xlint/lint1/d_cast_typeof.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.135 src/tests/usr.bin/xlint/lint1/Makefile:1.136 --- src/tests/usr.bin/xlint/lint1/Makefile:1.135 Sun Jan 29 17:02:09 2023 +++ src/tests/usr.bin/xlint/lint1/Makefile Sun Feb 5 12:25:11 2023 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.135 2023/01/29 17:02:09 rillig Exp $ +# $NetBSD: Makefile,v 1.136 2023/02/05 12:25:11 rillig Exp $ NOMAN= # defined MAX_MESSAGE= 350 # see lint1/err.c @@ -23,8 +23,6 @@ FILES+= c11_generic_expression.c FILES+= c90.c FILES+= c99_atomic.c FILES+= c99_bool_strict_suppressed.c -FILES+= c99_init_array.c -FILES+= c99_init_designator.c FILES+= d_alignof.c FILES+= d_bltinoffsetof.c FILES+= d_c99_anon_struct.c @@ -50,10 +48,7 @@ FILES+= d_c99_union_init3.c FILES+= d_c99_union_init4.c FILES+= d_c99_union_init5.c FILES+= d_c9x_array_init.c -FILES+= d_c9x_recursive_init.c FILES+= d_cast_fun_array_param.c -FILES+= d_cast_init.c -FILES+= d_cast_init2.c FILES+= d_cast_lhs.c FILES+= d_cast_typeof.c FILES+= d_compound_literals1.c Index: src/tests/usr.bin/xlint/lint1/d_c99_init.c diff -u src/tests/usr.bin/xlint/lint1/d_c99_init.c:1.42 src/tests/usr.bin/xlint/lint1/d_c99_init.c:1.43 --- src/tests/usr.bin/xlint/lint1/d_c99_init.c:1.42 Wed Jun 22 19:23:18 2022 +++ src/tests/usr.bin/xlint/lint1/d_c99_init.c Sun Feb 5 12:25:11 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: d_c99_init.c,v 1.42 2022/06/22 19:23:18 rillig Exp $ */ +/* $NetBSD: d_c99_init.c,v 1.43 2023/02/05 12:25:11 rillig Exp $ */ # 3 "d_c99_init.c" /* @@ -491,3 +491,44 @@ struct point subscript_designator_for_sc const char string_initialized_with_braced_literal[] = { "initializer", }; + +/* nested struct/union initialization */ +struct outer { + int i; + char c; + union inner { + short us; + char uc; + } u; + char *s; +} struct_containing_union[] = { + { + .s = "foo", + .c = 'b', + .u = { + .uc = 'c' + } + }, + { + .i = 1, + .c = 'a', + .u = { + .us = 2 + } + }, +}; + +/* + * The expansion of the offsetof macro may dereference a null pointer. + * Such expressions are allowed in initializers for objects with + * static duration. + */ +struct offset_and_data { + unsigned long offset; + unsigned long data; +}; + +struct offset_and_data offset_and_data = { + (unsigned long)&(((struct offset_and_data *)0)->data), + 0, +}; Index: src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c diff -u src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c:1.5 src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c:1.6 --- src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c:1.5 Wed Jun 22 19:23:18 2022 +++ src/tests/usr.bin/xlint/lint1/lex_integer_ilp32.c Sun Feb 5 12:25:11 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: lex_integer_ilp32.c,v 1.5 2022/06/22 19:23:18 rillig Exp $ */ +/* $NetBSD: lex_integer_ilp32.c,v 1.6 2023/02/05 12:25:11 rillig Exp $ */ # 3 "lex_integer_ilp32.c" /* @@ -37,6 +37,10 @@ test_unsigned_int(void) { sinku(0); + sinku(2147483647); + sinku(2147483648); + + sinku(2147483648U); sinku(4294967295U); /* expect+1: warning: integer constant out of range [252] */