From: Jakub Jelinek Date: Sun, 14 Jul 2019 08:29:38 +0000 (+0200) Subject: backport: re PR c/91149 (GCC 9 and later incorrectly rejects OpenMP task reduction... X-Git-Tag: releases/gcc-9.2.0~147 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=02b466f44c72aa6a79786b24b1d12c7a4caa90a0;p=thirdparty%2Fgcc.git backport: re PR c/91149 (GCC 9 and later incorrectly rejects OpenMP task reduction-modifier on target parallel combined construct) Backported from mainline 2019-07-13 Jakub Jelinek PR c/91149 * c-omp.c (c_omp_split_clauses): Fix a pasto in OMP_CLAUSE_REDUCTION_TASK handling. * c-c++-common/gomp/reduction-task-3.c: New test. From-SVN: r273478 --- diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 1220c634c848..918141c33ac4 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,12 @@ +2019-07-14 Jakub Jelinek + + Backported from mainline + 2019-07-13 Jakub Jelinek + + PR c/91149 + * c-omp.c (c_omp_split_clauses): Fix a pasto in + OMP_CLAUSE_REDUCTION_TASK handling. + 2019-06-29 Jakub Jelinek Backported from mainline diff --git a/gcc/c-family/c-omp.c b/gcc/c-family/c-omp.c index 88418f665532..1f288a6fbb21 100644 --- a/gcc/c-family/c-omp.c +++ b/gcc/c-family/c-omp.c @@ -1648,7 +1648,7 @@ c_omp_split_clauses (location_t loc, enum tree_code code, } else if (code != OMP_SECTIONS && (mask & (OMP_CLAUSE_MASK_1 - << PRAGMA_OMP_CLAUSE_SCHEDULE)) == 0 + << PRAGMA_OMP_CLAUSE_NUM_THREADS)) == 0 && (mask & (OMP_CLAUSE_MASK_1 << PRAGMA_OMP_CLAUSE_SCHEDULE)) == 0) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 994f11010ac0..0146529ed43a 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2019-07-14 Jakub Jelinek Backported from mainline + 2019-07-13 Jakub Jelinek + + PR c/91149 + * c-c++-common/gomp/reduction-task-3.c: New test. + 2019-07-04 Jakub Jelinek PR middle-end/78884 diff --git a/gcc/testsuite/c-c++-common/gomp/reduction-task-3.c b/gcc/testsuite/c-c++-common/gomp/reduction-task-3.c new file mode 100644 index 000000000000..bde2ccb8791e --- /dev/null +++ b/gcc/testsuite/c-c++-common/gomp/reduction-task-3.c @@ -0,0 +1,12 @@ +/* PR c/91149 */ + +int r; + +void +foo (void) +{ + #pragma omp parallel reduction(task, +: r) + r++; + #pragma omp target parallel reduction(task, +: r) + r++; +}