re PR c/79428 (ICE in c_parser_consume_token, at c/c-parser.c:770)

PR c/79428
	* c-parser.c (c_parser_omp_ordered): Call c_parser_skip_to_pragma_eol
	instead of c_parser_skip_until_found.

	* 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.

From-SVN: r245309
This commit is contained in:
Marek Polacek 2017-02-09 17:07:26 +00:00 committed by Marek Polacek
parent e9a9033b59
commit 192b048b5c
10 changed files with 46 additions and 1 deletions

View file

@ -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

View file

@ -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;
}

View file

@ -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

View file

@ -0,0 +1,3 @@
/* PR c/79428 */
/* { dg-options "-fcilkplus" } */
#pragma cilk grainsize /* { dg-error "must be inside a function" } */

View file

@ -0,0 +1,3 @@
/* PR c/79428 */
/* { dg-options "-fcilkplus" } */
#pragma simd /* { dg-error "must be inside a function" } */

View file

@ -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" } */

View file

@ -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" } */

View file

@ -0,0 +1,3 @@
/* PR c/79428 */
/* { dg-options "-fopenmp" } */
#pragma omp ordered /* { dg-error "expected declaration specifiers before end of line" } */

View file

@ -0,0 +1,3 @@
/* PR c/79428 */
/* { dg-options "-fopenmp" } */
#pragma omp target /* { dg-error "expected declaration specifiers before end of line" } */

View file

@ -0,0 +1,3 @@
/* PR c/79428 */
int i;
#pragma GCC pch_preprocess /* { dg-error "'#pragma GCC pch_preprocess' must be first" } */