From: Jakub Jelinek Date: Thu, 19 Aug 2021 08:35:39 +0000 (+0200) Subject: openmp: For C++ ensure nothing directive has no operands X-Git-Tag: basepoints/gcc-13~5299 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e6a5fa403782590088b2796261b023963f912af;p=thirdparty%2Fgcc.git openmp: For C++ ensure nothing directive has no operands When working on error directive, I've noticed that while C FE diagnosed clauses on nothing directive which doesn't allow any, the C++ FE silently accepted it. 2021-08-19 Jakub Jelinek * parser.c (cp_parser_omp_nothing): Use cp_parser_require_pragma_eol instead of cp_parser_skip_to_pragma_eol. * c-c++-common/gomp/nothing-2.c: New test. --- diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 04116fbcef4a..1d48b8333fef 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -45570,7 +45570,7 @@ cp_parser_omp_requires (cp_parser *parser, cp_token *pragma_tok) static void cp_parser_omp_nothing (cp_parser *parser, cp_token *pragma_tok) { - cp_parser_skip_to_pragma_eol (parser, pragma_tok); + cp_parser_require_pragma_eol (parser, pragma_tok); } diff --git a/gcc/testsuite/c-c++-common/gomp/nothing-2.c b/gcc/testsuite/c-c++-common/gomp/nothing-2.c new file mode 100644 index 000000000000..a1520357be57 --- /dev/null +++ b/gcc/testsuite/c-c++-common/gomp/nothing-2.c @@ -0,0 +1,2 @@ +#pragma omp nothing , /* { dg-error "expected end of line before" } */ +#pragma omp nothing asdf /* { dg-error "expected end of line before" } */