diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/tree-ssa/pr36881.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/tree-ssa/pr36881.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr36881.c b/gcc/testsuite/gcc.dg/tree-ssa/pr36881.c new file mode 100644 index 000000000..742dd9ddb --- /dev/null +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr36881.c @@ -0,0 +1,23 @@ +/* PR tree-optimization/36881 */ +/* { dg-do compile { target fpic } } */ +/* { dg-options "-O2 -fpic -fdump-tree-switchconv-all" } */ + +const char *foo (int i) +{ + const char *p; + switch (i) + { + case 0: + case 6: p = ""; break; + case 1: + case 7: p = "abc"; break; + case 2: + case 8: p = "def"; break; + default: p = "ghi"; break; + } + return p; +} + +/* { dg-final { scan-assembler-not "CSWTCH" } } */ +/* { dg-final { scan-tree-dump "need runtime relocations" "switchconv" } } */ +/* { dg-final { cleanup-tree-dump "switchconv" } } */ |