1/* { dg-do compile } */
2/* { dg-options "-O1 -fdump-tree-cddce" } */
3
4extern void abort (void);
5
6struct rtx_def;
7typedef struct rtx_def *rtx;
8enum rtx_code
9{
10  UNKNOWN,
11  CODE_LABEL,
12  NOTE,
13  LAST_AND_UNUSED_RTX_CODE = 256
14};
15typedef union rtunion_def rtunion;
16struct rtx_def
17{
18  enum rtx_code code:16;
19};
20void
21delete_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 "cddce"} } */
37
38/* There should be no IF statements.  */
39/* { dg-final { scan-tree-dump-times "if " 0 "cddce"} } */
40
41/* { dg-final { cleanup-tree-dump "cddce" } } */
42