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