shithub: scc

Download patch

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();