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