Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/tests/usr.bin/xlint/lint1 tests/lint: add more tests for ini...



details:   https://anonhg.NetBSD.org/src/rev/28343141155a
branches:  trunk
changeset: 1019781:28343141155a
user:      rillig <rillig%NetBSD.org@localhost>
date:      Sat Mar 20 08:59:46 2021 +0000

description:
tests/lint: add more tests for initialization, based on C99 6.7.8

diffstat:

 tests/usr.bin/xlint/lint1/d_c99_init.c |  35 +++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diffs (47 lines):

diff -r 6003426a08d3 -r 28343141155a tests/usr.bin/xlint/lint1/d_c99_init.c
--- a/tests/usr.bin/xlint/lint1/d_c99_init.c    Sat Mar 20 08:54:27 2021 +0000
+++ b/tests/usr.bin/xlint/lint1/d_c99_init.c    Sat Mar 20 08:59:46 2021 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: d_c99_init.c,v 1.11 2021/03/20 08:54:27 rillig Exp $   */
+/*     $NetBSD: d_c99_init.c,v 1.12 2021/03/20 08:59:46 rillig Exp $   */
 # 3 "d_c99_init.c"
 
 /*
@@ -144,4 +144,37 @@
        {{{{4}}}},
 };
 
+struct rectangle {
+       struct point top_left;
+       struct point bottom_right;
+};
+
+/* C99 6.7.8p18 */
+struct rectangle screen = {
+       .bottom_right = {
+               1920,
+               1080,
+       }
+};
+
+/*
+ * C99 6.7.8p22 says: At the _end_ of its initializer list, the array no
+ * longer has incomplete type.
+ */
+struct point points[] = {
+       {
+               /*
+                * At this point, the size of the object 'points' is not known
+                * yet since its type is still incomplete.  Lint could warn
+                * about this, but GCC and Clang already do.
+                *
+                * This test case demonstrates that in
+                * extend_if_array_of_unknown_size, setcomplete is called too
+                * early.
+                */
+               sizeof points,
+               4
+       }
+};
+
 // See d_struct_init_nested.c for a more complicated example.



Home | Main Index | Thread Index | Old Index