This patch adds missed '%>' to the error_at () message in c[p]_parser_omp_target_update. Committed as obvious.
gcc/c/ * c-parser.c (c_parser_oacc_enter_exit_data): Remove excess semicolon. (c_parser_omp_target_update): Add missed %> to error_at (). gcc/cp/ * parser.c (cp_parser_omp_target_update): Add missed %> to error_at (). Index: gcc/c/c-parser.c =================================================================== --- gcc/c/c-parser.c (revision 222236) +++ gcc/c/c-parser.c (working copy) @@ -12153,7 +12153,7 @@ return; } - stmt = enter ? make_node (OACC_ENTER_DATA) : make_node (OACC_EXIT_DATA);; + stmt = enter ? make_node (OACC_ENTER_DATA) : make_node (OACC_EXIT_DATA); TREE_TYPE (stmt) = void_type_node; if (enter) OACC_ENTER_DATA_CLAUSES (stmt) = clauses; @@ -13851,7 +13851,7 @@ && find_omp_clause (clauses, OMP_CLAUSE_FROM) == NULL_TREE) { error_at (loc, - "%<#pragma omp target update must contain at least one " + "%<#pragma omp target update%> must contain at least one " "%<from%> or %<to%> clauses"); return false; } Index: gcc/cp/parser.c =================================================================== --- gcc/cp/parser.c (revision 222236) +++ gcc/cp/parser.c (working copy) @@ -31379,7 +31379,7 @@ && find_omp_clause (clauses, OMP_CLAUSE_FROM) == NULL_TREE) { error_at (pragma_tok->location, - "%<#pragma omp target update must contain at least one " + "%<#pragma omp target update%> must contain at least one " "%<from%> or %<to%> clauses"); return false; } -- Ilya