aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c/ChangeLog7
-rw-r--r--gcc/c/c-parser.c8
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/parser.c6
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/c-c++-common/goacc/asyncwait-1.c8
6 files changed, 27 insertions, 12 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 1f1b81f..6f0f67c 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,10 @@
+2018-12-04 James Norris <jnorris@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Julian Brown <julian@codesourcery.com>
+
+ * c-parser.c (c_parser_oacc_wait_list): Remove dead diagnostic
+ code.
+
2018-11-30 Richard Biener <rguenther@suse.de>
* gimple-parser.c (c_parser_gimple_postfix_expression): Parse
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index afc4071..0d7fcc0 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -11801,14 +11801,6 @@ c_parser_oacc_wait_list (c_parser *parser, location_t clause_loc, tree list)
return list;
args = c_parser_expr_list (parser, false, true, NULL, NULL, NULL, NULL);
-
- if (args->length () == 0)
- {
- c_parser_error (parser, "expected integer expression before ')'");
- release_tree_vector (args);
- return list;
- }
-
args_tree = build_tree_list_vec (args);
for (t = args_tree; t; t = TREE_CHAIN (t))
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 48f802b..866fd33 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-04 Julian Brown <julian@codesourcery.com>
+
+ * parser.c (cp_parser_oacc_wait_list): Fix error message and avoid
+ duplicate diagnostic.
+
2018-12-04 Jakub Jelinek <jakub@redhat.com>
PR c++/88103
diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c
index ab6d237..ac19cb4 100644
--- a/gcc/cp/parser.c
+++ b/gcc/cp/parser.c
@@ -32605,9 +32605,11 @@ cp_parser_oacc_wait_list (cp_parser *parser, location_t clause_loc, tree list)
if (args == NULL || args->length () == 0)
{
- cp_parser_error (parser, "expected integer expression before ')'");
if (args != NULL)
- release_tree_vector (args);
+ {
+ cp_parser_error (parser, "expected integer expression list");
+ release_tree_vector (args);
+ }
return list;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 99a4443..2c7e3a9 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2018-12-04 Julian Brown <julian@codesourcery.com>
+
+ * c-c++-common/goacc/asyncwait-1: Update expected errors and add a
+ test for "wait (".
+
2018-12-04 Jakub Jelinek <jakub@redhat.com>
PR c++/88103
diff --git a/gcc/testsuite/c-c++-common/goacc/asyncwait-1.c b/gcc/testsuite/c-c++-common/goacc/asyncwait-1.c
index e1840af..2f5d476 100644
--- a/gcc/testsuite/c-c++-common/goacc/asyncwait-1.c
+++ b/gcc/testsuite/c-c++-common/goacc/asyncwait-1.c
@@ -116,7 +116,6 @@ f (int N, float *a, float *b)
}
#pragma acc parallel copyin (a[0:N]) copy (b[0:N]) wait (1 /* { dg-error "expected '\\\)' before end of line" } */
- /* { dg-error "expected integer expression before '\\\)'" "" { target c++ } .-1 } */
{
for (ii = 0; ii < N; ii++)
b[ii] = a[ii];
@@ -152,6 +151,12 @@ f (int N, float *a, float *b)
b[ii] = a[ii];
}
+#pragma acc parallel copyin (a[0:N]) copy (b[0:N]) wait ( /* { dg-error "expected (primary-|)expression before" } */
+ {
+ for (ii = 0; ii < N; ii++)
+ b[ii] = a[ii];
+ }
+
#pragma acc parallel copyin (a[0:N]) copy (b[0:N]) wait
{
for (ii = 0; ii < N; ii++)
@@ -171,7 +176,6 @@ f (int N, float *a, float *b)
#pragma acc wait (1,2,,) /* { dg-error "expected (primary-|)expression before" } */
#pragma acc wait (1 /* { dg-error "expected '\\\)' before end of line" } */
- /* { dg-error "expected integer expression before '\\\)'" "" { target c++ } .-1 } */
#pragma acc wait (1,*) /* { dg-error "expected (primary-|)expression before" } */