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. Signed-off-by: Dodji Seketeli <dodji@redhat.com> From-SVN: r212637
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| include | Loading commit data... | |
| po | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| charset.c | Loading commit data... | |
| config.in | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| directives-only.c | Loading commit data... | |
| directives.c | Loading commit data... | |
| errors.c | Loading commit data... | |
| expr.c | Loading commit data... | |
| files.c | Loading commit data... | |
| identifiers.c | Loading commit data... | |
| init.c | Loading commit data... | |
| internal.h | Loading commit data... | |
| lex.c | Loading commit data... | |
| line-map.c | Loading commit data... | |
| macro.c | Loading commit data... | |
| makeucnid.c | Loading commit data... | |
| mkdeps.c | Loading commit data... | |
| pch.c | Loading commit data... | |
| symtab.c | Loading commit data... | |
| system.h | Loading commit data... | |
| traditional.c | Loading commit data... | |
| ucnid.h | Loading commit data... | |
| ucnid.tab | Loading commit data... |