On Fri, Oct 11, 2019 at 11:48:27PM +0200, Paolo Carlini wrote:
> --- decl.c    (revision 276903)
> +++ decl.c    (working copy)
> @@ -9328,7 +9328,6 @@ grokfndecl (tree ctype,
>           }
>         /* 17.6.3.3.5  */
>         if (suffix[0] != '_'
> -           && !in_system_header_at (location)
>             && !current_function_decl && !(friendp && !funcdef_flag))
>           warning_at (location, OPT_Wliteral_suffix,
>                       "literal operator suffixes not preceded by %<_%>"

This should make no functional difference.

> @@ -10036,8 +10035,6 @@ compute_array_index_type_loc (location_t name_loc,
>              indicated by the state of complain), so that
>              another substitution can be found.  */
>           return error_mark_node;
> -       else if (in_system_header_at (input_location))
> -         /* Allow them in system headers because glibc uses them.  */;
>         else if (name)
>           pedwarn (loc, OPT_Wpedantic,
>                    "ISO C++ forbids zero-size array %qD", name);

But this one is unclear, in_system_header_at is testing a different location
from what will be used by pedwarn, so if input_location is in system header
and loc is not, it didn't pedwarn before and now it will.
Similarly various other spots in the patch.  I haven't tried to check in
detail what exactly we want in each case, all I want to say is that some
cases are obvious, other cases are not.

        Jakub

Reply via email to