diff options
author | Tobias Burnus <tburnus@baylibre.com> | 2025-06-02 08:11:59 +0200 |
---|---|---|
committer | Tobias Burnus <tburnus@baylibre.com> | 2025-06-02 08:11:59 +0200 |
commit | 3f67be6a45634add47d777dcd7a5f95ed313adee (patch) | |
tree | 2eba31d048f332192bda02e6d28d363f873c3f37 /gcc/cp/parser.cc | |
parent | fbde111a3466f3870d00a574700fbb87c56d6c42 (diff) | |
parent | 21e0a742e7b70dcb9d8bed87a7d1b1b77b48b364 (diff) | |
download | gcc-devel/omp/gcc-15.zip gcc-devel/omp/gcc-15.tar.gz gcc-devel/omp/gcc-15.tar.bz2 |
Merge branch 'releases/gcc-15' into devel/omp/gcc-15devel/omp/gcc-15
Merge up to r15-9755-g21e0a742e7b70d (2nd July 2025)
Diffstat (limited to 'gcc/cp/parser.cc')
-rw-r--r-- | gcc/cp/parser.cc | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc index be86252..9c1d976 100644 --- a/gcc/cp/parser.cc +++ b/gcc/cp/parser.cc @@ -53390,7 +53390,6 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, { error_at (match_loc, "too many %<otherwise%> or %<default%> " "clauses in %<metadirective%>"); - cp_parser_skip_to_end_of_block_or_statement (parser, true); goto fail; } else @@ -53400,14 +53399,12 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, { error_at (match_loc, "%<otherwise%> or %<default%> clause " "must appear last in %<metadirective%>"); - cp_parser_skip_to_end_of_block_or_statement (parser, true); goto fail; } if (!default_p && strcmp (p, "when") != 0) { error_at (match_loc, "%qs is not valid for %qs", p, "metadirective"); - cp_parser_skip_to_end_of_block_or_statement (parser, true); goto fail; } @@ -53476,7 +53473,6 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, if (i == 0) { error_at (loc, "expected directive name"); - cp_parser_skip_to_end_of_block_or_statement (parser, true); goto fail; } @@ -53549,7 +53545,10 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, goto add; case CPP_CLOSE_PAREN: if (nesting_depth-- == 0) - break; + { + cp_lexer_consume_token (parser->lexer); + break; + } goto add; default: add: @@ -53561,8 +53560,6 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, break; } - cp_lexer_consume_token (parser->lexer); - if (!skip) { cp_token eol_token = {}; @@ -53694,11 +53691,8 @@ cp_parser_omp_metadirective (cp_parser *parser, cp_token *pragma_tok, return; fail: - /* Skip the metadirective pragma. */ + /* Skip the metadirective pragma. Do not skip the metadirective body. */ cp_parser_skip_to_pragma_eol (parser, pragma_tok); - - /* Skip the metadirective body. */ - cp_parser_skip_to_end_of_block_or_statement (parser, true); } |