This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r212637 - in /trunk: gcc/ChangeLog gcc/input.c ...
- From: dodji at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Wed, 16 Jul 2014 10:33:27 -0000
- Subject: r212637 - in /trunk: gcc/ChangeLog gcc/input.c ...
Author: dodji
Date: Wed Jul 16 10:33:27 2014
New Revision: 212637
URL: https://gcc.gnu.org/viewcvs?rev=212637&root=gcc&view=rev
Log:
Support location tracking for built-in macro tokens
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>
Modified:
trunk/gcc/ChangeLog
trunk/gcc/input.c
trunk/gcc/input.h
trunk/gcc/toplev.c
trunk/libcpp/ChangeLog
trunk/libcpp/include/line-map.h
trunk/libcpp/line-map.c
trunk/libcpp/macro.c