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