No empty .Rs/.Re
[netbsd-mini2440.git] / gnu / dist / gcc4 / gcc / testsuite / gcc.dg / tree-ssa / 20030711-1.c
blob20a660c59fb961d4ac4831c178c5683e6368d98e
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-dom3" } */
4 extern void abort (void);
6 union tree_node;
7 typedef union tree_node *tree;
8 struct tree_vec
10 int length;
11 tree a[1];
13 struct tree_type
15 tree binfo;
17 union tree_node
19 struct tree_type type;
20 struct tree_vec vec;
23 void
24 record_component_aliases (type)
25 tree type;
27 int i;
28 if (4 >= type->type.binfo->vec.length)
29 abort ();
30 for (; i < ((
32 const tree __t = type->type.binfo;
33 if (4 >= __t->vec.length)
34 abort (); type->type.binfo->vec.a[4];}
35 )->vec.length);)
37 if (4 >= type->type.binfo->vec.length)
38 abort ();
39 blah ();
43 /* The call to blah can not be eliminated. */
44 /* { dg-final { scan-tree-dump-times "blah \\(\\)" 1 "dom3" } } */
46 /* There should be four IF conditionals. */
47 /* { dg-final { scan-tree-dump-times "if " 3 "dom3"} } */
49 /* There should be two loads of type.binfo. */
50 /* { dg-final { scan-tree-dump-times "type\\.binfo" 2 "dom3"} } */
52 /* There should be four loads of vec.length. */
53 /* { dg-final { scan-tree-dump-times "vec.length" 3 "dom3"} } */
55 /* { dg-final { cleanup-tree-dump "dom3" } } */