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/testsuite/libgomp.c/cancel-parallel-2.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libgomp/testsuite/libgomp.c') 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