ref: ea751374e538cbd3ed417f9e0bfc3b64d0b035b0
parent: 5dc64fc95bcea6e930d1caf8707aedd356af818b
author: Roberto E. Vargas Caballero <[email protected]>
date: Thu Aug 27 12:15:14 EDT 2015
Increase the complexity of test015.c
--- a/cc1/tests/test015.c
+++ b/cc1/tests/test015.c
@@ -2,35 +2,36 @@
name: TEST015
description: Stress namespace mechanism
output:
-test015.c:21: warning: 's1' defined but not used
-S7 s2
+test015.c:25: error: label 's' already defined
+S8 s2
(
-M8 I s
+M9 I s
)
-S4 s1
+S5 s1
(
-M5 I s
-M9 S7 s2
+M6 I s
+M10 S8 s1
)
S2 s
(
-M10 S4 s1
+M11 S5 s
)
-G11 S2 s
+G12 S2 s2
F1
-G12 F1 main
+G13 F1 main
{
-
j L2
-A3 S2 s2
-L4
- yI G11 M10 .S4 M5 .I G11 M10 .S4 M9 .S7 M8 .I +I
+A3 S2 s
+A4 I s
+ yI A4
+ yI A3 M11 .S5 M6 .I A3 M11 .S5 M10 .S8 M9 .I +I
L2
- yI A3 M10 .S4 M9 .S7 M8 .I
-}
+????
*/
#line 1
+typedef struct s s;
struct s {
struct s1 {
@@ -37,17 +38,22 @@
int s;
struct s2 {
int s;
- } s2;
- } s1;
-} s;
+ } s1;
+ } s;
+} s2;
int
main(void)
{
- goto s2;
- struct s s2;
- s1:
- return s.s1.s + s.s1.s2.s;
- s2:
- return s2.s1.s2.s;
+ goto s;
+ struct s s;
+ {
+ int s;
+ return s;
+ }
+ return s.s.s + s.s.s1.s;
+ s:
+ {
+ s: return 0;
+ }
}