Hi!

Similarly, the parsing here is implemented, but we don't do anything with it
later on (mainly propagate to the runtime library and filter the available
devices to the selected subset).

So, this patch again emits a sorry on it for now.

Bootstrapped/regtested on x86_64-linux and i686-linux, committed to trunk.

2018-11-09  Jakub Jelinek  <ja...@redhat.com>

        * c-parser.c (c_parser_omp_requires): Call sorry_at on requires
        clauses other than atomic_default_mem_order.

        * parser.c (cp_parser_omp_requires): Call sorry_at on requires
        clauses other than atomic_default_mem_order.

        * c-c++-common/gomp/requires-1.c: Prune not supported yet messages.
        * c-c++-common/gomp/requires-2.c: Likewise.
        * c-c++-common/gomp/requires-4.c: Likewise.

--- gcc/c/c-parser.c.jj 2018-11-09 14:23:41.843755140 +0100
+++ gcc/c/c-parser.c    2018-11-09 16:01:53.406548059 +0100
@@ -19017,6 +19017,9 @@ c_parser_omp_requires (c_parser *parser)
              return;
            }
          if (p)
+           sorry_at (cloc, "%qs clause on %<requires%> directive not "
+                           "supported yet", p);
+         if (p)
            c_parser_consume_token (parser);
          if (this_req)
            {
--- gcc/cp/parser.c.jj  2018-11-09 14:23:57.143502422 +0100
+++ gcc/cp/parser.c     2018-11-09 16:02:30.582935064 +0100
@@ -39235,6 +39235,9 @@ cp_parser_omp_requires (cp_parser *parse
              return false;
            }
          if (p)
+           sorry_at (cloc, "%qs clause on %<requires%> directive not "
+                           "supported yet", p);
+         if (p)
            cp_lexer_consume_token (parser->lexer);
          if (this_req)
            {
--- gcc/testsuite/c-c++-common/gomp/requires-1.c.jj     2018-11-08 
18:08:05.638918103 +0100
+++ gcc/testsuite/c-c++-common/gomp/requires-1.c        2018-11-09 
16:06:52.232619382 +0100
@@ -13,3 +13,5 @@ foo ()
     i++;
   #pragma omp requries atomic_default_mem_order(seq_cst)
 }
+
+/* { dg-prune-output "not supported yet" } */
--- gcc/testsuite/c-c++-common/gomp/requires-2.c.jj     2018-11-08 
18:08:05.638918103 +0100
+++ gcc/testsuite/c-c++-common/gomp/requires-2.c        2018-11-09 
16:47:12.998743476 +0100
@@ -16,3 +16,5 @@ foo ()
 }
 
 #pragma omp requires atomic_default_mem_order (seq_cst)        /* { dg-error 
"more than one 'atomic_default_mem_order' clause in a single compilation unit" 
} */
+
+/* { dg-prune-output "not supported yet" } */
--- gcc/testsuite/c-c++-common/gomp/requires-4.c.jj     2018-11-08 
18:08:05.638918103 +0100
+++ gcc/testsuite/c-c++-common/gomp/requires-4.c        2018-11-09 
16:47:21.838597944 +0100
@@ -9,3 +9,5 @@ foo (void)
 
 #pragma omp requires unified_address   /* { dg-error "'unified_address' clause 
used lexically after first target construct or offloading API" } */
 #pragma omp requires reverse_offload   /* { dg-error "'reverse_offload' clause 
used lexically after first target construct or offloading API" } */
+
+/* { dg-prune-output "not supported yet" } */

        Jakub

Reply via email to