From: Jakub Jelinek Date: Mon, 22 Nov 2021 09:13:24 +0000 (+0100) Subject: openmp: Handle OMP_MASKED in potential_constant_expression_1 [PR103349] X-Git-Tag: basepoints/gcc-13~2867 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4b1e14346a08554dc33f71fca980578a7a3e38a2;p=thirdparty%2Fgcc.git openmp: Handle OMP_MASKED in potential_constant_expression_1 [PR103349] WHen adding OMP_MASKED, I apparently forgot to handle it in potential_constant_expression_1, which means we can ICE on it. 2021-11-22 Jakub Jelinek PR c++/103349 * constexpr.c (potential_constant_expression_1): Punt on OMP_MASKED. * g++.dg/gomp/masked-1.C: New test. --- diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index c8f9d5fa1335..d66a56583aef 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -8686,6 +8686,7 @@ potential_constant_expression_1 (tree t, bool want_rval, bool strict, bool now, case OMP_SINGLE: case OMP_SECTION: case OMP_MASTER: + case OMP_MASKED: case OMP_TASKGROUP: case OMP_TARGET_UPDATE: case OMP_TARGET_ENTER_DATA: diff --git a/gcc/testsuite/g++.dg/gomp/masked-1.C b/gcc/testsuite/g++.dg/gomp/masked-1.C new file mode 100644 index 000000000000..1ea4a13fa230 --- /dev/null +++ b/gcc/testsuite/g++.dg/gomp/masked-1.C @@ -0,0 +1,14 @@ +// PR c++/103349 +// { dg-do compile { target c++11 } } + +int v; + +void +foo (int x, int y) +{ + [=] () + { +#pragma omp masked + v = x + y; + } (); +}