]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
OpenMP: allow requires dynamic_allocators
authorAndrew Stubbs <ams@codesourcery.com>
Thu, 16 Dec 2021 15:30:05 +0000 (15:30 +0000)
committerAndrew Stubbs <ams@codesourcery.com>
Wed, 22 Dec 2021 10:36:34 +0000 (10:36 +0000)
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.

gcc/c/ChangeLog.omp
gcc/c/c-parser.c
gcc/cp/ChangeLog.omp
gcc/cp/parser.c
gcc/fortran/ChangeLog.omp
gcc/fortran/openmp.c
gcc/testsuite/ChangeLog.omp
gcc/testsuite/gfortran.dg/gomp/requires-8.f90

index d24d18600f8ac6561ef1939f8c0c05d109f15576..abe8886f4e66691817efa096e635a255881a10c3 100644 (file)
@@ -1,3 +1,7 @@
+2021-12-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * c-parser.c (c_parser_omp_requires): Don't "sorry" dynamic_allocators.
+
 2021-10-15  Tobias Burnus  <tobias@codesourcery.com>
 
        Backported from master:
index 86784035ea05541267da07497a3d324d264bff02..f11281a79117b2d92b01100031256e6de263b78a 100644 (file)
@@ -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 %<requires%> directive not "
-                           "supported yet", p);
          if (p)
            c_parser_consume_token (parser);
          if (this_req)
index 882c09510b7fcd007e2bc0605e7f7341e92ef5fd..38be315d3864b9c8aa8058d72093bcddf391e040 100644 (file)
@@ -1,3 +1,7 @@
+2021-12-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators.
+
 2021-10-27  Tobias Burnus  <tobias@codesourcery.com>
 
        Backported from master:
index 008b5c016eac4000409621424e2a44d1f58d99c7..f2d34881a5eaab8907ac9ee12e2790c41d10b271 100644 (file)
@@ -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 %<requires%> directive not "
-                           "supported yet", p);
          if (p)
            cp_lexer_consume_token (parser->lexer);
          if (this_req)
index 894ca5c78e40b3f93980483d895d234b42e744e3..d909d6e3ddfb8f2efbf11078c7c603bfbb08e25c 100644 (file)
@@ -1,3 +1,7 @@
+2021-12-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * openmp.c (gfc_match_omp_requires): Don't "sorry" dynamic_allocators.
+
 2021-10-27  Tobias Burnus  <tobias@codesourcery.com>
 
        Backport from master:
index 1f5cc5be599b3c3c2defe21dcc7f61a715cbf944..50264ffc8a3ba2b4e6c61275ad689296879c79a2 100644 (file)
@@ -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;
index 6016e798b5d510c71345d98855d0b32af8b53a44..3be99da018d905bb35a17430970e4098b4e17a5d 100644 (file)
@@ -1,3 +1,8 @@
+2021-12-22  Andrew Stubbs  <ams@codesourcery.com>
+
+       * gfortran.dg/gomp/requires-8.f90: Reinstate dynamic allocators
+       requirement.
+
 2021-11-10  Tobias Burnus  <tobias@codesourcery.com>
 
        Backported from master:
index 3819b0c28cc279e1c628eb03b8e4f67ba5023b8b..e84d609ad298cf79ce66e0284d66f61436bb7290 100644 (file)
@@ -4,7 +4,7 @@ contains
  subroutine foo
   interface
    subroutine bar2
-     !$!omp requires dynamic_allocators
+     !$omp requires dynamic_allocators
    end subroutine
   end interface
   !$omp target