From aec17bfe911ec61571db80eb5b0093a5b19e39e4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 27 Nov 2015 09:59:55 +0100 Subject: re PR c/63326 (whether a #pragma is a statement depends on the type of pragma) PR c/63326 * c-parser.c (c_parser_compound_statement_nostart): If last_label is true, use pragma_stmt instead of pragma_compound as second c_parser_pragma argument. (c_parser_omp_ordered, c_parser_omp_target_update, c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Pass false as second argument to c_parser_skip_to_pragma_eol after diagnosing standalone directives used in pragma_stmt context. * parser.c (cp_parser_statement): Clear in_compound after labels. * gcc.dg/gomp/barrier-2.c (f2): Expect another error after label. * c-c++-common/gomp/pr63326.c: New test. * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon in between case label and OpenMP standalone directives. * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. From-SVN: r230999 --- libgomp/ChangeLog | 7 +++++++ libgomp/testsuite/libgomp.c++/cancel-parallel-2.C | 4 ++-- libgomp/testsuite/libgomp.c/cancel-parallel-2.c | 4 ++-- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'libgomp') diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 75a9b4a..9b320b3c 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,10 @@ +2015-11-27 Jakub Jelinek + + PR c/63326 + * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon + in between case label and OpenMP standalone directives. + * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise. + 2015-11-26 David Edelsohn * configure: Regenerate. diff --git a/libgomp/testsuite/libgomp.c++/cancel-parallel-2.C b/libgomp/testsuite/libgomp.c++/cancel-parallel-2.C index 340423b..23b8caa 100644 --- a/libgomp/testsuite/libgomp.c++/cancel-parallel-2.C +++ b/libgomp/testsuite/libgomp.c++/cancel-parallel-2.C @@ -17,7 +17,7 @@ foo (int *x) int thr = omp_get_thread_num (); switch (x[thr]) { - case 4: + case 4:; #pragma omp cancel parallel break; case 3: @@ -31,7 +31,7 @@ foo (int *x) case 2: usleep (1000); /* FALLTHRU */ - case 1: + case 1:; #pragma omp cancellation point parallel break; } diff --git a/libgomp/testsuite/libgomp.c/cancel-parallel-2.c b/libgomp/testsuite/libgomp.c/cancel-parallel-2.c index cae0aa4..20adb55 100644 --- a/libgomp/testsuite/libgomp.c/cancel-parallel-2.c +++ b/libgomp/testsuite/libgomp.c/cancel-parallel-2.c @@ -13,7 +13,7 @@ foo (int *x) int thr = omp_get_thread_num (); switch (x[thr]) { - case 4: + case 4:; #pragma omp cancel parallel break; case 3: @@ -27,7 +27,7 @@ foo (int *x) case 2: usleep (1000); /* FALLTHRU */ - case 1: + case 1:; #pragma omp cancellation point parallel break; } -- cgit v1.1