aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/c/ChangeLog6
-rw-r--r--gcc/c/c-parser.c2
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-4.c3
-rw-r--r--gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-7.c3
-rw-r--r--gcc/testsuite/c-c++-common/goacc/pr79428-1.c6
-rw-r--r--gcc/testsuite/c-c++-common/gomp/pr79428-2.c7
-rw-r--r--gcc/testsuite/c-c++-common/gomp/pr79428-5.c3
-rw-r--r--gcc/testsuite/c-c++-common/gomp/pr79428-6.c3
-rw-r--r--gcc/testsuite/c-c++-common/pr79428-3.c3
10 files changed, 46 insertions, 1 deletions
diff --git a/gcc/c/ChangeLog b/gcc/c/ChangeLog
index 98f7c4c..95784d8 100644
--- a/gcc/c/ChangeLog
+++ b/gcc/c/ChangeLog
@@ -1,3 +1,9 @@
+2017-02-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/79428
+ * c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
+ instead of c_parser_skip_until_found.
+
2017-02-09 Jakub Jelinek <jakub@redhat.com>
PR c/79431
diff --git a/gcc/c/c-parser.c b/gcc/c/c-parser.c
index 8f4f569b..e29924b 100644
--- a/gcc/c/c-parser.c
+++ b/gcc/c/c-parser.c
@@ -15462,7 +15462,7 @@ c_parser_omp_ordered (c_parser *parser, enum pragma_context context,
if (context != pragma_stmt && context != pragma_compound)
{
c_parser_error (parser, "expected declaration specifiers");
- c_parser_skip_until_found (parser, CPP_PRAGMA_EOL, NULL);
+ c_parser_skip_to_pragma_eol (parser, false);
return false;
}
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d1b7cf4..c1161fb 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2017-02-09 Marek Polacek <polacek@redhat.com>
+
+ PR c/79428
+ * c-c++-common/cilk-plus/CK/pr79428-4.c: New test.
+ * c-c++-common/cilk-plus/CK/pr79428-7.c: New test.
+ * c-c++-common/goacc/pr79428-1.c: New test.
+ * c-c++-common/gomp/pr79428-2.c: New test.
+ * c-c++-common/gomp/pr79428-5.c: New test.
+ * c-c++-common/gomp/pr79428-6.c: New test.
+ * c-c++-common/pr79428-3.c: New test.
+
2017-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/s390.exp: Fix test glob pattern for vector
diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-4.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-4.c
new file mode 100644
index 0000000..cd4d406
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-4.c
@@ -0,0 +1,3 @@
+/* PR c/79428 */
+/* { dg-options "-fcilkplus" } */
+#pragma cilk grainsize /* { dg-error "must be inside a function" } */
diff --git a/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-7.c b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-7.c
new file mode 100644
index 0000000..bc36f51
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/cilk-plus/CK/pr79428-7.c
@@ -0,0 +1,3 @@
+/* PR c/79428 */
+/* { dg-options "-fcilkplus" } */
+#pragma simd /* { dg-error "must be inside a function" } */
diff --git a/gcc/testsuite/c-c++-common/goacc/pr79428-1.c b/gcc/testsuite/c-c++-common/goacc/pr79428-1.c
new file mode 100644
index 0000000..cf4aeaf
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/goacc/pr79428-1.c
@@ -0,0 +1,6 @@
+/* PR c/79428 */
+/* { dg-options "-fopenacc" } */
+void
+foo ()
+{
+#pragma acc routine /* { dg-error ".#pragma acc routine. must be at file scope|expected" } */
diff --git a/gcc/testsuite/c-c++-common/gomp/pr79428-2.c b/gcc/testsuite/c-c++-common/gomp/pr79428-2.c
new file mode 100644
index 0000000..a26c462
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/gomp/pr79428-2.c
@@ -0,0 +1,7 @@
+/* PR c/79428 */
+/* { dg-options "-fopenmp" } */
+void
+foo ()
+{
+#pragma omp sections
+#pragma omp section /* { dg-error "'#pragma omp section' may only be used in '#pragma omp sections' construct|not allowed|expected" } */
diff --git a/gcc/testsuite/c-c++-common/gomp/pr79428-5.c b/gcc/testsuite/c-c++-common/gomp/pr79428-5.c
new file mode 100644
index 0000000..4f2127b
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/gomp/pr79428-5.c
@@ -0,0 +1,3 @@
+/* PR c/79428 */
+/* { dg-options "-fopenmp" } */
+#pragma omp ordered /* { dg-error "expected declaration specifiers before end of line" } */
diff --git a/gcc/testsuite/c-c++-common/gomp/pr79428-6.c b/gcc/testsuite/c-c++-common/gomp/pr79428-6.c
new file mode 100644
index 0000000..7e833e2
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/gomp/pr79428-6.c
@@ -0,0 +1,3 @@
+/* PR c/79428 */
+/* { dg-options "-fopenmp" } */
+#pragma omp target /* { dg-error "expected declaration specifiers before end of line" } */
diff --git a/gcc/testsuite/c-c++-common/pr79428-3.c b/gcc/testsuite/c-c++-common/pr79428-3.c
new file mode 100644
index 0000000..ec7077d
--- /dev/null
+++ b/gcc/testsuite/c-c++-common/pr79428-3.c
@@ -0,0 +1,3 @@
+/* PR c/79428 */
+int i;
+#pragma GCC pch_preprocess /* { dg-error "'#pragma GCC pch_preprocess' must be first" } */