On 25 Jul, Marek Polacek wrote: > On Sun, Jul 23, 2017 at 11:22:14PM +0200, Volker Reichelt wrote: > [...] > > Not sure if the warning is too useful, but in any case... > >> + /* Emit warning. */ >> + gcc_rich_location richloc (token->location); >> + richloc.add_fixit_remove (); >> + if (colon_token->type == CPP_COLON) >> + richloc.add_fixit_remove (colon_token->location); >> + >> + switch (message_id) >> + { >> + case 1: >> + warning_at_rich_loc (&richloc, OPT_Waccess_specifiers_, >> + "redundant %qE access-specifier", >> + token->u.value); >> + inform (next_token->location, "directly followed by another one >> here"); >> + break; >> + >> + case 2: >> + warning_at_rich_loc (&richloc, OPT_Waccess_specifiers_, >> + "duplicate %qE access-specifier", >> + token->u.value); >> + inform (current_access_specifier_loc, >> + "same access-specifier was previously given here"); >> + break; > > ...you should only call inform if warning_at_rich_loc returned true. > > Marek
I also noticed yesterday that the inform calls weren't suppressed together with the warningss in system headers. I was thinking about adding an in_system_header_at check, but your your suggestion is much nicer. Thanks, Volker