Merge from mainline (167278:168000).
[official-gcc/graphite-test-results.git] / gcc / testsuite / gcc.dg / 20100906-1.c
bloba6541e3ff8432979fe3cf9d254653b49c525ba2b
1 /* { dg-do run } */
2 /* { dg-options "-O2" } */
4 /* This testcase got misoptimized by combine due to a wrong setting of
5 subst_low_luid in try_combine. */
7 enum rtx_code {
8 A, B
9 };
11 void abort (void);
13 struct rtx_def {
14 __extension__ enum rtx_code code:16;
16 typedef struct rtx_def *rtx;
18 void __attribute__((noinline))
19 add_constraint (unsigned char is_a)
21 if (is_a)
22 abort ();
25 void __attribute__((noinline))
26 foo (rtx defn)
28 switch (defn->code)
30 case A:
31 case B:
32 add_constraint (defn->code == A);
33 break;
34 default:
35 break;
39 int
40 main ()
42 struct rtx_def r;
44 r.code = B;
46 foo (&r);
47 return 0;