On Thu, Aug 08, 2024 at 09:13:05AM +1000, Nathaniel Shead wrote: > diff --git a/gcc/cp/error.cc b/gcc/cp/error.cc > index 6c22ff55b46..03c19e4a7e4 100644 > --- a/gcc/cp/error.cc > +++ b/gcc/cp/error.cc > @@ -4782,12 +4782,14 @@ qualified_name_lookup_error (tree scope, tree name, > scope); > else if (TREE_CODE (decl) == TREE_LIST) > { > + auto_diagnostic_group d; > error_at (location, "reference to %<%T::%D%> is ambiguous", > scope, name); > print_candidates (decl); > } > else > { > + auto_diagnostic_group d; > name_hint hint; > if (SCOPED_ENUM_P (scope) && TREE_CODE (name) == IDENTIFIER_NODE) > hint = suggest_alternative_in_scoped_enum (name, scope);
I don't see why we need the second a_d_d here. > @@ -3534,6 +3536,7 @@ finish_class_member_access_expr (cp_expr object, tree > name, bool template_p, > else > { > /* Look up the member. */ > + auto_diagnostic_group d; > access_failure_info afi; > if (processing_template_decl) > /* Even though this class member access expression is at this I don't quite see why we need it here, either. > @@ -10384,6 +10401,8 @@ convert_for_assignment (tree type, tree rhs, > { > if (complain & tf_error) > { > + auto_diagnostic_group d; > + > /* If the right-hand side has unknown type, then it is an > overloaded function. Call instantiate_type to get error > messages. */ > @@ -10406,7 +10425,6 @@ convert_for_assignment (tree type, tree rhs, > (rhs_loc, > has_loc ? &label : NULL, > has_loc ? highlight_colors::percent_h : NULL); > - auto_diagnostic_group d; Oh I see, it was supposed to be in the outer block. OK. The patch looks good to me, thanks. Marek