OSDN Git Service

PR tree-optimization/51799
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / tree-ssa / 20030807-7.c
1 /* { dg-do compile } */
2 /* { dg-options "-O2 -fdump-tree-vrp1" } */
3   
4 extern void abort (void);
5
6 union tree_node;
7 typedef union tree_node *tree;
8 struct tree_common
9 {
10   int code;
11 };
12 struct tree_list
13 {
14   tree purpose;
15 };
16 union tree_node
17 {
18   struct tree_common common;
19   struct tree_list list;
20 };
21 void
22 simplify_condition (cond_p)
23      tree *cond_p;
24 {
25   tree decl;
26   tree cond = *cond_p;
27   if (cond->common.code != 42)
28     abort ();
29   decl = cond->list.purpose;
30   if (cond->common.code != 42)
31     abort ();
32   c_simplify_stmt (&decl);
33 }
34
35 /* There should be exactly one IF conditional.  */
36 /* { dg-final { scan-tree-dump-times "if " 1 "vrp1" } } */
37 /* { dg-final { cleanup-tree-dump "vrp1" } } */