]> git.ipfire.org Git - thirdparty/gcc.git/commit - libcpp/ChangeLog
Support location tracking for built-in macro tokens
authorDodji Seketeli <dodji@redhat.com>
Wed, 16 Jul 2014 10:33:27 +0000 (10:33 +0000)
committerDodji Seketeli <dodji@gcc.gnu.org>
Wed, 16 Jul 2014 10:33:27 +0000 (12:33 +0200)
commitc468587ac23c889abfa67ce8979e8baedcb349e9
tree2b9dadc35640ecec96428e5e73e233c98df2477d
parent185b22783adf5355e8ba4701a1c090b27a17e313
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>
From-SVN: r212637
gcc/ChangeLog
gcc/input.c
gcc/input.h
gcc/toplev.c
libcpp/ChangeLog
libcpp/include/line-map.h
libcpp/line-map.c
libcpp/macro.c