aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2012-04-26 07:14:01 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2012-04-26 07:14:01 +0000
commit1d72e96f53abe39dfa4cefce338d2886a9ae0ea1 (patch)
treed3312d2f0112387a0c5c243b879b69fbce449e0f
parentc7121189c39bdda5e94360cf03002c2b2fe865cd (diff)
downloadgcc-1d72e96f53abe39dfa4cefce338d2886a9ae0ea1.zip
gcc-1d72e96f53abe39dfa4cefce338d2886a9ae0ea1.tar.gz
gcc-1d72e96f53abe39dfa4cefce338d2886a9ae0ea1.tar.bz2
tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Fix comment.
2012-04-26 Manuel López-Ibáñez <manu@gcc.gnu.org> * 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. From-SVN: r186860
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/tree-diagnostic.c18
-rw-r--r--libcpp/ChangeLog7
-rw-r--r--libcpp/include/line-map.h2
-rw-r--r--libcpp/line-map.c19
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 <manu@gcc.gnu.org>
+
+ * 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 <michael.hope@linaro.org>
Richard Earnshaw <rearnsha@arm.com>
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 <manu@gcc.gnu.org>
+
+ * 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 <rearnsha@arm.com>
* 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. */