| /* PR tree-optimization/84436 */ | |
| /* { dg-options "-O2 -fdump-tree-switchconv -fdump-tree-optimized" } */ | |
| /* { dg-do run } */ | |
| enum E | |
| { | |
| A, B, C, | |
| }; | |
| int | |
| __attribute__ ((noipa)) | |
| foo(enum E e) | |
| { | |
| switch (e) | |
| { | |
| case A: return 0; | |
| case B: return 1; | |
| case C: return 2; | |
| } | |
| return -1; | |
| } | |
| int main() | |
| { | |
| if (foo (A) != 0) | |
| __builtin_abort (); | |
| if (foo (B) != 1) | |
| __builtin_abort (); | |
| if (foo (C) != 2) | |
| __builtin_abort (); | |
| return 0; | |
| } | |
| /* { dg-final { scan-tree-dump-not "switch" "optimized" } } */ |