I forgot to say that ... Dodji Seketeli <do...@redhat.com> writes:
[...] > When a built-in macro is expanded, the location of the token in the > epansion list is the location of the expansion point of the built-in > macro. > > This patch creates a virtual location for that token instead, > effectively tracking locations of tokens resulting from built-in macro > tokens. > > libcpp/ > * include/line-map.h (line_maps::builtin_location): New data > member. > (line_map_init): Add a new parameter to initialize the new > line_maps::builtin_location data member. > * line-map.c (linemap_init): Initialize the > line_maps::builtin_location data member. > * macro.c (builtin_macro): Create a macro map and track the token > resulting from the expansion of a built-in macro. > gcc/ > * input.h (is_location_from_builtin_token): New function > declaration. > * input.c (is_location_from_builtin_token): New function > definition. > * toplev.c (general_init): Tell libcpp what the pre-defined > spelling location for built-in tokens is. ... that this was bootstrapped and tested against trunk on x86_64-unknown-linux-gnu. [...] Cheers. -- Dodji