Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / gcc.dg / tree-ssa / 20030815-1.c
blob6e4180780194f40cea659c2e5ff29b5380904395
1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-dom3" } */
4 extern void abort (void);
5 typedef unsigned int size_t;
6 struct rtx_def;
7 typedef struct rtx_def *rtx;
8 typedef union varray_data_tag
10 struct reg_info_def *reg[1];
11 } varray_data;
12 struct varray_head_tag
14 size_t num_elements;
15 varray_data data;
17 typedef struct varray_head_tag *varray_type;
18 typedef struct reg_info_def
20 } reg_info;
21 extern varray_type reg_n_info;
22 static rtx *reg_base_value;
23 static rtx *new_reg_base_value;
25 rtx
26 blah (unsigned int regno)
28 if (new_reg_base_value[regno] && ((*(
30 if (regno >=
31 reg_n_info->
32 num_elements)
33 abort ();
34 &reg_n_info->data.reg[regno];}
35 ))))
36 return reg_base_value[regno];
39 /* If we have more than 1 cast to a struct rtx_def * *, then we failed to
40 eliminate some useless typecasting. The first type cast is needed
41 to convert the unsigned int regno parameter into a struct rtx_def **. */
42 /* { dg-final { scan-tree-dump-times "\\(struct rtx_def \\* \\*\\)" 1 "dom3"} } */
43 /* { dg-final { cleanup-tree-dump "dom3" } } */