> From: Dodji Seketeli <do...@redhat.com>
> Date: Mon, 21 May 2012 15:55:19 +0200

> The location for a built-in macro token is BUILTIN_LOCATION.  When we
> see that location value, we cannot know if that token was used in a
> system header or not.  And that can trigger some unwanted warnings on
> e.g, the use of __LONG_LONG_MAX__ built-in macro in system headers
> when we compile with -pedantic, like in the test case accompanying
> this patch.
> 
> In that case, I think we ought to look at the location for the
> expansion point of the built-in macro instead.
> 
> Bootstrapped and tested on x86_64-unknown-linux-gnu against trunk.
> 

The ChangeLog entry is missing PR decoration (to make the
check-in automatically show up in the bug-report).

> libcpp/
> 
        PR preprocessor/53463
>       * line-map.c (linemap_location_in_system_header_p): Check
>       expansion point location for built-in macro tokens.

FWIW, this patch fixes the regressions noted in that PR.  Thanks.

I don't have anything else to add to the discussion besides
uninformed bits like "why warn on language extensions for
built-in macros" or "why can't we (any longer?) see that the
location of use is in a system header when the error message
points at it".

brgds, H-P

Reply via email to