re PR preprocessor/41543 (BUILTINS_LOCATION wrong with -fpreprocessed)
PR preprocessor/41543 * input.h (BUILTINS_LOCATION): Change to 1 from 2. Assert BUILTINS_LOCATION < RESERVED_LOCATION_COUNT. * tree.c: Include intl.h. (expand_location): Handle BUILTINS_LOCATION. * Makefile.in (tree.o): Depend on intl.h. * include/line-map.h (RESERVED_LOCATION_COUNT): Define. * line-map.c (linemap_init): Initialize highest_location and highest_line to RESERVED_LOCATION_COUNT-1 instead of 0. * gcc.dg/debug/dwarf2/pr41543.c: New test. From-SVN: r152761
This commit is contained in:
committed by
Jakub Jelinek
parent
b29ee46cf2
commit
96c169e156
@@ -1,3 +1,10 @@
|
||||
2009-10-14 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR preprocessor/41543
|
||||
* include/line-map.h (RESERVED_LOCATION_COUNT): Define.
|
||||
* line-map.c (linemap_init): Initialize highest_location and
|
||||
highest_line to RESERVED_LOCATION_COUNT-1 instead of 0.
|
||||
|
||||
2009-10-09 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* charset.c (_cpp_valid_ucn): Update C++0x restrictions.
|
||||
|
||||
@@ -143,6 +143,11 @@ extern const struct line_map *linemap_add
|
||||
extern const struct line_map *linemap_lookup
|
||||
(struct line_maps *, source_location);
|
||||
|
||||
/* source_location values from 0 to RESERVED_LOCATION_COUNT-1 will
|
||||
be reserved for libcpp user as special values, no token from libcpp
|
||||
will contain any of those locations. */
|
||||
#define RESERVED_LOCATION_COUNT 2
|
||||
|
||||
/* Converts a map and a source_location to source line. */
|
||||
#define SOURCE_LINE(MAP, LOC) \
|
||||
((((LOC) - (MAP)->start_location) >> (MAP)->column_bits) + (MAP)->to_line)
|
||||
|
||||
+2
-2
@@ -38,8 +38,8 @@ linemap_init (struct line_maps *set)
|
||||
set->trace_includes = false;
|
||||
set->depth = 0;
|
||||
set->cache = 0;
|
||||
set->highest_location = 0;
|
||||
set->highest_line = 0;
|
||||
set->highest_location = RESERVED_LOCATION_COUNT - 1;
|
||||
set->highest_line = RESERVED_LOCATION_COUNT - 1;
|
||||
set->max_column_hint = 0;
|
||||
set->reallocator = 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user