OSDN Git Service

* gcc.dg/vect/vect-105.c: Prevent compiler from hoisting abort
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / 20030728-1.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-final_cleanup" } */
3     
4
5 union tree_node;
6 typedef union tree_node *tree;
7
8 enum tree_code
9 {
10   ARRAY_TYPE,
11   LAST_AND_UNUSED_TREE_CODE
12 };
13
14 struct tree_common
15 {
16   enum tree_code code:8;
17 };
18
19
20
21
22
23 union tree_node
24 {
25   struct tree_common common;
26 };
27
28
29
30
31 int
32 objects_must_conflict_p (t1, t2)
33      tree t1, t2;
34 {
35
36   if ((t1->common.code == ARRAY_TYPE) != (t2
37                                           && t2->common.code == ARRAY_TYPE))
38     return 11;
39
40
41   return foo (t2 ? get_alias_set (t2) : 0);
42 }
43
44 /* There should be two assignments of variables to the value zero.  */
45 /* { dg-final { scan-tree-dump-times " = 0" 2 "final_cleanup"} } */
46  
47 /* { dg-final { cleanup-tree-dump "final_cleanup" } } */