1 /* { dg-do compile } */
2 /* { dg-options "-O1 -fdump-tree-cddce3" } */
3 
4 extern void abort (void);
5 
6 struct rtx_def;
7 typedef struct rtx_def *rtx;
8 enum rtx_code
9 {
10   UNKNOWN,
11   CODE_LABEL,
12   NOTE,
13   LAST_AND_UNUSED_RTX_CODE = 256
14 };
15 typedef union rtunion_def rtunion;
16 struct rtx_def
17 {
18   enum rtx_code code:16;
19 };
20 void
delete_dead_jumptables()21 delete_dead_jumptables ()
22 {
23   rtx insn, next;
24   if (insn->code == CODE_LABEL)
25     {
26       rtx const _rtx = insn;
27       if (_rtx->code != CODE_LABEL && _rtx->code != NOTE)
28 	abort ();
29     }
30   ;
31 }
32 
33 /* There should be no loads of ->code.  If any exist, then we failed to
34    optimize away all the IF statements and the statements feeding
35    their conditions.  */
36 /* { dg-final { scan-tree-dump-times "->code" 0 "cddce3"} } */
37 
38 /* There should be no IF statements.  */
39 /* { dg-final { scan-tree-dump-times "if " 0 "cddce3"} } */
40 
41