ref: a4a8aee18eb929f1e24bc5fe0ee22ce7919750c8
parent: 52c03fe958cf55d73b8cd294accdc2c211ff6580
author: Roberto E. Vargas Caballero <k0ga@shike2.com>
date: Tue Aug 9 13:01:43 EDT 2016
[cc1] Add tests about incomplete arrays in test034.c These tests are really interesting because they tests that declaration of arrays of incomplete type in the external scope are allowed and there are not problems related to the fact of redefinition of them with the complete type.
--- a/cc1/tests/test034.c
+++ b/cc1/tests/test034.c
@@ -2,27 +2,40 @@
/*
name: TEST034
-description: Basic test for incomplete structures
+description: Basic test for incomplete types
error:
-test034.c:46: error: declared variable 'bar' of incomplete type
-test034.c:46: error: redeclaration of 'bar'
+test034.c:59: error: declared variable 'bar' of incomplete type
+test034.c:59: error: redeclaration of 'bar'
output:
-X3 S2 "x
-X5 I F "foo
-G6 I F "main
+G2 V1 "v
+V3 I #N10
+G2 V3 "v
+Y4 V1 "p
+Y4 V3 "p
+X7 S6 "x
+X9 I F "foo
+G10 I F "main
{
\
-X7 S2 "x
- h X7 'P #P0 !I
+X11 S6 "x
+ h X11 'P #P0 !I
}
-G5 I F "foo
+G9 I F "foo
{
\
- X3 M9 .I #I0 :I
- h X3 M9 .I
+ X7 M13 .I #I0 :I
+ h X7 M13 .I
}
-X13 S11 "bar2
+X17 S15 "bar2
*/
+
+int v[];
+int v[10];
+static int p[];
+static int p[10];
+static int p[10];
+int v[10];
+int v[];
extern struct X x;
int foo();