diff options
author | Jakub Jelinek <jakub@redhat.com> | 2020-04-07 14:30:53 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2020-04-07 14:30:53 +0200 |
commit | 4df50a059fbd4d4a1cb067bd43caccdfca0327a8 (patch) | |
tree | 5b56ab4714e7f68a8262ee6a2f5a33b26e9f3282 /gcc/c/c-parser.c | |
parent | 7a6588fe65432c0f1a8b5fdefba81700ebf88711 (diff) | |
download | gcc-4df50a059fbd4d4a1cb067bd43caccdfca0327a8.zip gcc-4df50a059fbd4d4a1cb067bd43caccdfca0327a8.tar.gz gcc-4df50a059fbd4d4a1cb067bd43caccdfca0327a8.tar.bz2 |
openmp: Fix parallel master error recovery [PR94512]
We need to set OMP_PARALLEL_COMBINED only if the parsing of omp_master
succeeded, because otherwise there is no nested master construct in the
parallel.
2020-04-07 Jakub Jelinek <jakub@redhat.com>
PR c++/94512
* c-parser.c (c_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
if c_parser_omp_master succeeded.
* parser.c (cp_parser_omp_parallel): Set OMP_PARALLEL_COMBINED
if cp_parser_omp_master succeeded.
* g++.dg/gomp/pr94512.C: New test.
Diffstat (limited to 'gcc/c/c-parser.c')
-rw-r--r-- | gcc/c/c-parser.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index aeeac8c..17a28e9 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -18877,9 +18877,9 @@ c_parser_omp_parallel (location_t loc, c_parser *parser, stmt = c_finish_omp_parallel (loc, cclauses[C_OMP_CLAUSE_SPLIT_PARALLEL], block); - OMP_PARALLEL_COMBINED (stmt) = 1; if (ret == NULL) return ret; + OMP_PARALLEL_COMBINED (stmt) = 1; return stmt; } else if (strcmp (p, "loop") == 0) |