diff options
author | Jakub Jelinek <jakub@redhat.com> | 2018-02-19 20:12:14 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2018-02-19 20:12:14 +0100 |
commit | 897064e27690d55c82ac1d6f23f78fa7651e0e1b (patch) | |
tree | f8596fe17cb063559eb89b3ef1b99952e0154ceb /gcc | |
parent | 73829f90459f40d7362fc3ac2d883ac98f1670a9 (diff) | |
download | gcc-897064e27690d55c82ac1d6f23f78fa7651e0e1b.zip gcc-897064e27690d55c82ac1d6f23f78fa7651e0e1b.tar.gz gcc-897064e27690d55c82ac1d6f23f78fa7651e0e1b.tar.bz2 |
re PR c++/84430 (ICE with #pragma omp simd in lambda)
PR c++/84430
* constexpr.c (potential_constant_expression_1): Handle OMP_SIMD.
* g++.dg/gomp/pr84430.C: New test.
From-SVN: r257820
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/constexpr.c | 1 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/gomp/pr84430.C | 12 |
4 files changed, 21 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7ebd5ab..58fc093 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2018-02-19 Jakub Jelinek <jakub@redhat.com> + + PR c++/84430 + * constexpr.c (potential_constant_expression_1): Handle OMP_SIMD. + 2018-02-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/84348 diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index bda9b2d..f095b03 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -5604,6 +5604,7 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, case OMP_PARALLEL: case OMP_TASK: case OMP_FOR: + case OMP_SIMD: case OMP_DISTRIBUTE: case OMP_TASKLOOP: case OMP_TEAMS: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 5975b23..fcb1d33 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2018-02-19 Jakub Jelinek <jakub@redhat.com> + PR c++/84430 + * g++.dg/gomp/pr84430.C: New test. + PR tree-optimization/84452 * gcc.dg/pr84452.c: New test. diff --git a/gcc/testsuite/g++.dg/gomp/pr84430.C b/gcc/testsuite/g++.dg/gomp/pr84430.C new file mode 100644 index 0000000..cf9275a --- /dev/null +++ b/gcc/testsuite/g++.dg/gomp/pr84430.C @@ -0,0 +1,12 @@ +// PR c++/84430 +// { dg-do compile { target c++11 } } + +void +foo () +{ + auto a = [] { + #pragma omp simd + for (int i = 0; i < 10; ++i) + ; + }; +} |