From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1461) id DB6FF3858C2C; Wed, 22 Dec 2021 10:49:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DB6FF3858C2C Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Andrew Stubbs To: gcc-cvs@gcc.gnu.org Subject: [gcc/devel/omp/gcc-11] OpenMP: allow requires dynamic_allocators X-Act-Checkin: gcc X-Git-Author: Andrew Stubbs X-Git-Refname: refs/heads/devel/omp/gcc-11 X-Git-Oldrev: 8f7d25feef166299fb9da89281ec857c565782dd X-Git-Newrev: 0054c3713652ba794d21c91f5ebb0326b016939a Message-Id: <20211222104911.DB6FF3858C2C@sourceware.org> Date: Wed, 22 Dec 2021 10:49:11 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Dec 2021 10:49:12 -0000 https://gcc.gnu.org/g:0054c3713652ba794d21c91f5ebb0326b016939a commit 0054c3713652ba794d21c91f5ebb0326b016939a Author: Andrew Stubbs Date: Thu Dec 16 15:30:05 2021 +0000 OpenMP: allow requires dynamic_allocators There's no need to reject the dynamic_allocators requires directive because we actually do support the feature, and it doesn't have to actually "do" anything. gcc/c/ChangeLog: * c-parser.c (c_parser_omp_requires): Don't "sorry" dynamic_allocators. gcc/cp/ChangeLog: * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators. gcc/fortran/ChangeLog: * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators. gcc/testsuite/ChangeLog: * gfortran.dg/gomp/requires-8.f90: Reinstate dynamic allocators requirement. Diff: --- gcc/c/ChangeLog.omp | 4 ++++ gcc/c/c-parser.c | 3 --- gcc/cp/ChangeLog.omp | 4 ++++ gcc/cp/parser.c | 3 --- gcc/fortran/ChangeLog.omp | 4 ++++ gcc/fortran/openmp.c | 4 ---- gcc/testsuite/ChangeLog.omp | 5 +++++ gcc/testsuite/gfortran.dg/gomp/requires-8.f90 | 2 +- 8 files changed, 18 insertions(+), 11 deletions(-) diff --git a/gcc/c/ChangeLog.omp b/gcc/c/ChangeLog.omp index d24d18600f8..abe8886f4e6 100644 --- a/gcc/c/ChangeLog.omp +++ b/gcc/c/ChangeLog.omp @@ -1,3 +1,7 @@ +2021-12-22 Andrew Stubbs + + * c-parser.c (c_parser_omp_requires): Don't "sorry" dynamic_allocators. + 2021-10-15 Tobias Burnus Backported from master: diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c index 86784035ea0..f11281a7911 100644 --- a/gcc/c/c-parser.c +++ b/gcc/c/c-parser.c @@ -22509,9 +22509,6 @@ c_parser_omp_requires (c_parser *parser) c_parser_skip_to_pragma_eol (parser, false); return; } - if (this_req == OMP_REQUIRES_DYNAMIC_ALLOCATORS) - sorry_at (cloc, "%qs clause on % directive not " - "supported yet", p); if (p) c_parser_consume_token (parser); if (this_req) diff --git a/gcc/cp/ChangeLog.omp b/gcc/cp/ChangeLog.omp index 882c09510b7..38be315d386 100644 --- a/gcc/cp/ChangeLog.omp +++ b/gcc/cp/ChangeLog.omp @@ -1,3 +1,7 @@ +2021-12-22 Andrew Stubbs + + * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators. + 2021-10-27 Tobias Burnus Backported from master: diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 008b5c016ea..f2d34881a5e 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -46046,9 +46046,6 @@ cp_parser_omp_requires (cp_parser *parser, cp_token *pragma_tok) cp_parser_skip_to_pragma_eol (parser, pragma_tok); return false; } - if (this_req == OMP_REQUIRES_DYNAMIC_ALLOCATORS) - sorry_at (cloc, "%qs clause on % directive not " - "supported yet", p); if (p) cp_lexer_consume_token (parser->lexer); if (this_req) diff --git a/gcc/fortran/ChangeLog.omp b/gcc/fortran/ChangeLog.omp index 894ca5c78e4..d909d6e3ddf 100644 --- a/gcc/fortran/ChangeLog.omp +++ b/gcc/fortran/ChangeLog.omp @@ -1,3 +1,7 @@ +2021-12-22 Andrew Stubbs + + * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators. + 2021-10-27 Tobias Burnus Backport from master: diff --git a/gcc/fortran/openmp.c b/gcc/fortran/openmp.c index 1f5cc5be599..50264ffc8a3 100644 --- a/gcc/fortran/openmp.c +++ b/gcc/fortran/openmp.c @@ -5298,10 +5298,6 @@ gfc_match_omp_requires (void) else goto error; - /* Currently, everything except 'dynamic_allocators' is allowed. */ - if (requires_clause == OMP_REQ_DYNAMIC_ALLOCATORS) - gfc_error_now ("Sorry, %qs clause at %L on REQUIRES directive is not " - "yet supported", clause, &old_loc); if (!gfc_omp_requires_add_clause (requires_clause, clause, &old_loc, NULL)) goto error; requires_clauses |= requires_clause; diff --git a/gcc/testsuite/ChangeLog.omp b/gcc/testsuite/ChangeLog.omp index 6016e798b5d..3be99da018d 100644 --- a/gcc/testsuite/ChangeLog.omp +++ b/gcc/testsuite/ChangeLog.omp @@ -1,3 +1,8 @@ +2021-12-22 Andrew Stubbs + + * gfortran.dg/gomp/requires-8.f90: Reinstate dynamic allocators + requirement. + 2021-11-10 Tobias Burnus Backported from master: diff --git a/gcc/testsuite/gfortran.dg/gomp/requires-8.f90 b/gcc/testsuite/gfortran.dg/gomp/requires-8.f90 index 3819b0c28cc..e84d609ad29 100644 --- a/gcc/testsuite/gfortran.dg/gomp/requires-8.f90 +++ b/gcc/testsuite/gfortran.dg/gomp/requires-8.f90 @@ -4,7 +4,7 @@ contains subroutine foo interface subroutine bar2 - !$!omp requires dynamic_allocators + !$omp requires dynamic_allocators end subroutine end interface !$omp target