https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95901
Thomas Schwinge <tschwinge at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2021-8-18 --- Comment #1 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- For the record, the recentish commit 8b7a9a249a63e066cff6e95db05a3158b4cc56cc "C Parser: Implement mixing of labels and code" gets us rid of the following C vs. C++ difference: @@ -17,16 +17,18 @@ pr.c:21:9: error: ‘#pragma omp target enter data’ may only be used in compound statements 21 | #pragma omp target enter data map(to:argc) // { dg-bogus "may only be used in compound statements" } | ^~~ -pr.c:20:10: error: label at end of compound statement - 20 | case 100: // { dg-bogus "label at end of compound statement" } - | ^~~ pr.c:26:9: error: ‘#pragma omp target exit data’ may only be used in compound statements 26 | #pragma omp target exit data map(from:argc) // { dg-bogus "may only be used in compound statements" } | ^~~ -pr.c:25:2: error: label at end of compound statement - 25 | l1: // { dg-bogus "label at end of compound statement" } - | ^~ Meaning: no more 'error: label at end of compound statement' diagnostics for C, as already the case for C++.