diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/c/c-parser.cc | 6 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/goacc/cache-2.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/c-c++-common/gomp/pr118639.c | 14 |
3 files changed, 16 insertions, 6 deletions
diff --git a/gcc/c/c-parser.cc b/gcc/c/c-parser.cc index 93da0fb..4f40dfc 100644 --- a/gcc/c/c-parser.cc +++ b/gcc/c/c-parser.cc @@ -16307,7 +16307,6 @@ c_parser_omp_variable_list (c_parser *parser, auto_vec<c_token> tokens; unsigned int tokens_avail = 0; c_token *saved_tokens = NULL; - bool first = true; while (1) { @@ -16343,7 +16342,6 @@ c_parser_omp_variable_list (c_parser *parser, break; c_parser_consume_token (parser); - first = false; continue; } @@ -16507,8 +16505,7 @@ c_parser_omp_variable_list (c_parser *parser, t = c_parser_predefined_identifier (parser).value; else { - if (first) - c_parser_error (parser, "expected identifier"); + c_parser_error (parser, "expected identifier"); break; } @@ -16702,7 +16699,6 @@ c_parser_omp_variable_list (c_parser *parser, break; c_parser_consume_token (parser); - first = false; } return list; diff --git a/gcc/testsuite/c-c++-common/goacc/cache-2.c b/gcc/testsuite/c-c++-common/goacc/cache-2.c index 80b925e..085091d 100644 --- a/gcc/testsuite/c-c++-common/goacc/cache-2.c +++ b/gcc/testsuite/c-c++-common/goacc/cache-2.c @@ -33,7 +33,7 @@ test () #pragma acc cache () /* { dg-error "expected (identifier|unqualified-id) before '\\\)' token" } */ #pragma acc cache (,) /* { dg-error "expected (identifier|unqualified-id) before '(,|\\\))' token" } */ #pragma acc cache (a[0:N] /* { dg-error "expected '\\\)' before end of line" } */ -#pragma acc cache (a[0:N],) /* { dg-error "expected (identifier|unqualified-id) before '(,|\\\))' token" "" { xfail c } } */ +#pragma acc cache (a[0:N],) /* { dg-error "expected (identifier|unqualified-id) before '(,|\\\))' token" } */ #pragma acc cache (a[0:N]) copyin (a[0:N]) /* { dg-error "expected end of line before 'copyin'" } */ #pragma acc cache () /* { dg-error "expected (identifier|unqualified-id) before '\\\)' token" } */ #pragma acc cache (a[0:N] b[0:N]) /* { dg-error "expected '\\\)' before 'b'" } */ diff --git a/gcc/testsuite/c-c++-common/gomp/pr118639.c b/gcc/testsuite/c-c++-common/gomp/pr118639.c new file mode 100644 index 0000000..eba4b75 --- /dev/null +++ b/gcc/testsuite/c-c++-common/gomp/pr118639.c @@ -0,0 +1,14 @@ +/* PR c/118639 */ +/* { dg-do compile } */ + +void +foo (void) +{ + int a = 0, b = 0, c = 0; +#ifndef __cplusplus + #pragma omp allocate (a, ) /* { dg-error "expected" "" { target c } } */ +#endif + #pragma omp flush (b, ) /* { dg-error "expected" } */ + #pragma omp parallel firstprivate (c, ) /* { dg-error "expected" } */ + ; +} |