diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/pr82404.C | 17 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/pr82404.c | 17 |
3 files changed, 40 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index aaa8c05..50bd37b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-12-20 Martin Liska <mliska@suse.cz> + + PR middle-end/82404 + * g++.dg/pr82404.C: New test. + * gcc.dg/pr82404.c: New test. + 2017-12-20 Julia Koval <julia.koval@intel.com> * gcc.target/i386/avx-1.c: Handle new intrinsics. diff --git a/gcc/testsuite/g++.dg/pr82404.C b/gcc/testsuite/g++.dg/pr82404.C new file mode 100644 index 0000000..9d86071 --- /dev/null +++ b/gcc/testsuite/g++.dg/pr82404.C @@ -0,0 +1,17 @@ +// PR middle-end/82404 + +// { dg-do compile } +// { dg-options "-O3 -Wall -fdump-tree-optimized -Wno-return-type" } + +enum eShape { eSquare, eCircle, eShpere, eTetraeder }; + +double test_switch_native(enum eShape shape, double r) { + switch(shape) { + case eSquare: return 2; + case eCircle: return 3; + case eShpere: return 4; + case eTetraeder: return 5; + } +} + +// { dg-final { scan-tree-dump-not "if " optimized } } diff --git a/gcc/testsuite/gcc.dg/pr82404.c b/gcc/testsuite/gcc.dg/pr82404.c new file mode 100644 index 0000000..53565d3 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr82404.c @@ -0,0 +1,17 @@ +// PR middle-end/82404 + +// { dg-do compile } +// { dg-options "-O3 -Wall -fdump-tree-optimized -Wno-return-type" } + +enum eShape { eSquare, eCircle, eShpere, eTetraeder }; + +double test_switch_native(enum eShape shape, double r) { + switch(shape) { + case eSquare: return 2; + case eCircle: return 3; + case eShpere: return 4; + case eTetraeder: return 5; + } +} + +// { dg-final { scan-tree-dump-times "if " 1 optimized } } |