http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57201
--- Comment #7 from minux <minux.ma at gmail dot com> 2013-05-08 13:24:20 UTC --- the comment for function linemap_location_in_system_header_p in libcpp/line-map.c says: /* // snip Note that this function returns 1 if LOCATION belongs to a token that is part of a macro replacement-list defined in a system header, but expanded in a non-system file. */ so this behavior is intentional?