Module Name: src
Committed By: rillig
Date: Wed Dec 30 13:41:27 UTC 2020
Modified Files:
src/tests/usr.bin/xlint/lint1: d_struct_init_nested.c
d_struct_init_nested.exp
Log Message:
lint: document purpose of the test d_struct_init_nested
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c \
src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c
diff -u src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c:1.1 src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c:1.2
--- src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c:1.1 Mon Dec 28 10:22:21 2020
+++ src/tests/usr.bin/xlint/lint1/d_struct_init_nested.c Wed Dec 30 13:41:27 2020
@@ -1,5 +1,12 @@
# 2 "d_struct_init_nested.c"
+/*
+ * Initialization of a nested struct, in which some parts are initialized
+ * from non-constant expressions of the inner struct type.
+ *
+ * In C99, 6.7.8p13 describes exactly this case.
+ */
+
typedef enum O1 { O1C = 101 } O1;
typedef enum O2 { O2C = 102 } O2;
typedef enum O3 { O3C = 103 } O3;
Index: src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp
diff -u src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp:1.1 src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp:1.2
--- src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp:1.1 Mon Dec 28 10:26:23 2020
+++ src/tests/usr.bin/xlint/lint1/d_struct_init_nested.exp Wed Dec 30 13:41:27 2020
@@ -1,4 +1,4 @@
-d_struct_init_nested.c(27): initialisation type mismatch (enum I1) and (struct Inner1) [185]
-d_struct_init_nested.c(29): too many struct/union initializers [172]
-d_struct_init_nested.c(54): initialisation type mismatch (enum I1) and (struct Inner2) [185]
-d_struct_init_nested.c(56): warning: enum type mismatch in initialisation [210]
+d_struct_init_nested.c(34): initialisation type mismatch (enum I1) and (struct Inner1) [185]
+d_struct_init_nested.c(36): too many struct/union initializers [172]
+d_struct_init_nested.c(61): initialisation type mismatch (enum I1) and (struct Inner2) [185]
+d_struct_init_nested.c(63): warning: enum type mismatch in initialisation [210]