1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-dom3" } */
4 extern void abort (void);
5 typedef unsigned int size_t;
7 typedef struct rtx_def
*rtx
;
8 typedef union varray_data_tag
10 struct reg_info_def
*reg
[1];
12 struct varray_head_tag
17 typedef struct varray_head_tag
*varray_type
;
18 typedef struct reg_info_def
21 extern varray_type reg_n_info
;
22 static rtx
*reg_base_value
;
23 static rtx
*new_reg_base_value
;
26 blah (unsigned int regno
)
28 if (new_reg_base_value
[regno
] && ((*(
34 ®_n_info
->data
.reg
[regno
];}
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" } } */