From 3f898bd251b9f56060f078129e9e5034a078d4ee Mon Sep 17 00:00:00 2001 From: manu Date: Thu, 26 Apr 2012 07:14:01 +0000 Subject: [PATCH] =?utf8?q?2012-04-26=20=20Manuel=20L=C3=B3pez-Ib=C3=A1?= =?utf8?q?=C3=B1ez=20=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix comment. Delete unused parameter first_exp_point_map. (virt_loc_aware_diagnostic_finalizer): Update call. libcpp/ * line-map.c (linemap_resolve_location): Synchronize comments with those in line-map.h. * include/line-map.h (linemap_resolve_location): Fix spelling in comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186860 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 6 ++++++ gcc/tree-diagnostic.c | 18 ++++++------------ libcpp/ChangeLog | 7 +++++++ libcpp/include/line-map.h | 2 +- libcpp/line-map.c | 19 +++++++++++-------- 5 files changed, 31 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 59f50fd..f4b212f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-04-26 Manuel López-Ibáñez + + * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix + comment. Delete unused parameter first_exp_point_map. + (virt_loc_aware_diagnostic_finalizer): Update call. + 2012-04-26 Michael Hope Richard Earnshaw diff --git a/gcc/tree-diagnostic.c b/gcc/tree-diagnostic.c index c811fe9..48c7800 100644 --- a/gcc/tree-diagnostic.c +++ b/gcc/tree-diagnostic.c @@ -95,23 +95,18 @@ DEF_VEC_ALLOC_O (loc_map_pair, heap); test.c:5:3: note: expanded from here test.c:5:14: note: in expansion of macro 'SHIFTL' test.c:8:3: note: expanded from here - test.c:8:3: note: in expansion of macro 'MULT2' + test.c:8:3: note: in expansion of macro 'MULT' test.c:13:3: note: expanded from here The part that goes from the third to the eighth line of this diagnostic (the lines containing the 'note:' string) is called the unwound macro expansion trace. That's the part generated by this - function. - - If FIRST_EXP_POINT_MAP is non-null, *FIRST_EXP_POINT_MAP is set to - the map of the location in the source that first triggered the - macro expansion. This must be an ordinary map. */ + function. */ static void maybe_unwind_expanded_macro_loc (diagnostic_context *context, diagnostic_info *diagnostic, - source_location where, - const struct line_map **first_exp_point_map) + source_location where) { const struct line_map *map; VEC(loc_map_pair,heap) *loc_vec = NULL; @@ -146,8 +141,8 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context, where = linemap_unwind_toward_expansion (line_table, where, &map); } while (linemap_macro_expansion_map_p (map)); - if (first_exp_point_map) - *first_exp_point_map = map; + /* Now map is set to the map of the location in the source that + first triggered the macro expansion. This must be an ordinary map. */ /* Walk LOC_VEC and print the macro expansion trace, unless the first macro which expansion triggered this trace was expanded @@ -227,8 +222,7 @@ virt_loc_aware_diagnostic_finalizer (diagnostic_context *context, diagnostic_info *diagnostic) { maybe_unwind_expanded_macro_loc (context, diagnostic, - diagnostic->location, - NULL); + diagnostic->location); } /* Default tree printer. Handles declarations only. */ diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 133620b..08878b2 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2012-04-26 Manuel López-Ibáñez + + * line-map.c (linemap_resolve_location): Synchronize comments with + those in line-map.h. + * include/line-map.h (linemap_resolve_location): Fix spelling in + comment. + 2012-03-22 Richard Earnshaw * lex.c (search_line_fast): Provide Neon-optimized version for ARM. diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h index 4e30742..22e2f0f 100644 --- a/libcpp/include/line-map.h +++ b/libcpp/include/line-map.h @@ -651,7 +651,7 @@ enum location_resolution_kind LRK_SPELLING_LOCATION. If LOC_MAP is not NULL, *LOC_MAP is set to the map encoding the - returned location. Note that if the resturned location wasn't originally + returned location. Note that if the returned location wasn't originally encoded by a map, the *MAP is set to NULL. This can happen if LOC resolves to a location reserved for the client code, like UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */ diff --git a/libcpp/line-map.c b/libcpp/line-map.c index d7752bb..106a4b5 100644 --- a/libcpp/line-map.c +++ b/libcpp/line-map.c @@ -1015,19 +1015,22 @@ linemap_macro_loc_to_exp_point (struct line_maps *set, * If LRK is set to LRK_MACRO_EXPANSION_POINT ------------------------------- - The virtual location is resolved to the location to the locus of - the expansion point of the macro. + The virtual location is resolved to the first macro expansion point + that led to this macro expansion. * If LRK is set to LRK_SPELLING_LOCATION ------------------------------------- - The virtual location is resolved to the location to the locus where - the token has been spelled in the source. This can follow through - all the macro expansions that led to the token. + The virtual location is resolved to the locus where the token has + been spelled in the source. This can follow through all the macro + expansions that led to the token. - * If LRK is set to LRK_MACRO_PARM_REPLACEMENT_POINT + * If LRK is set to LRK_MACRO_DEFINITION_LOCATION -------------------------------------- + The virtual location is resolved to the locus of the token in the + context of the macro definition. + If LOC is the locus of a token that is an argument of a function-like macro [replacing a parameter in the replacement list of the macro] the virtual location is resolved to the locus of the @@ -1038,8 +1041,8 @@ linemap_macro_loc_to_exp_point (struct line_maps *set, function-like macro, then the function behaves as if LRK was set to LRK_SPELLING_LOCATION. - If MAP is non-NULL, *MAP is set to the map of the resolved - location. Note that if the resturned location wasn't originally + If LOC_MAP is not NULL, *LOC_MAP is set to the map encoding the + returned location. Note that if the returned location wasn't originally encoded by a map, the *MAP is set to NULL. This can happen if LOC resolves to a location reserved for the client code, like UNKNOWN_LOCATION or BUILTINS_LOCATION in GCC. */ -- 2.7.4