Module Name: src
Committed By: rillig
Date: Mon May 22 11:51:46 UTC 2023
Modified Files:
src/tests/usr.bin/xlint/lint1: emit.c emit.exp-ln
Log Message:
tests/lint: demonstrate wrong emitted array length in initialization
Seen in usr.bin/indent/debug.c, in the various 'name' arrays.
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/tests/usr.bin/xlint/lint1/emit.c
cvs rdiff -u -r1.10 -r1.11 src/tests/usr.bin/xlint/lint1/emit.exp-ln
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/emit.c
diff -u src/tests/usr.bin/xlint/lint1/emit.c:1.15 src/tests/usr.bin/xlint/lint1/emit.c:1.16
--- src/tests/usr.bin/xlint/lint1/emit.c:1.15 Tue Mar 28 14:44:34 2023
+++ src/tests/usr.bin/xlint/lint1/emit.c Mon May 22 11:51:46 2023
@@ -1,4 +1,4 @@
-/* $NetBSD: emit.c,v 1.15 2023/03/28 14:44:34 rillig Exp $ */
+/* $NetBSD: emit.c,v 1.16 2023/05/22 11:51:46 rillig Exp $ */
# 3 "emit.c"
/*
@@ -307,3 +307,12 @@ struct compound_expression_in_initialize
[0] = "zero",
},
};
+
+/*
+ * FIXME: The type that ends up in the .ln file is 'A0cC', which is wrong as it
+ * has array size 0 instead of the correct 8.
+ *
+ * This is caused by cgram_declare being called before processing the
+ * initializer.
+ */
+const char array_of_unknown_size[] = "unknown";
Index: src/tests/usr.bin/xlint/lint1/emit.exp-ln
diff -u src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.10 src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.11
--- src/tests/usr.bin/xlint/lint1/emit.exp-ln:1.10 Sat Jan 15 14:22:03 2022
+++ src/tests/usr.bin/xlint/lint1/emit.exp-ln Mon May 22 11:51:46 2023
@@ -82,3 +82,4 @@ Semit.c
289u0.289x16defined_used_var
286d0.286d8use_varsF0V
305d0.305d8compoundsT134compound_expression_in_initializer
+318d0.318d21array_of_unknown_sizeA0cC