This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 3/6] Emit macro expansion related diagnostics


Dodji Seketeli <dodji@redhat.com> writes:

> David Edelsohn <dje.gcc@gmail.com> writes:
>
>> Your patch broke bootstrap on AIX because of the typedef "loc_t"
>> introduced in tree-diagnostics.c.

I have committed the patch below.  Tested on x86_64-unknown-linux-gnu
only, unfortunately.  I hope it fixes the build on AIX.

From: Dodji Seketeli <dodji@seketeli.org>
Date: Tue, 18 Oct 2011 18:40:06 +0200
Subject: [PATCH] Do not use loc_t as a type name

gcc/
	* tree-diagnostic (struct loc_t): Rename into struct loc_map_pair.
	(maybe_unwind_expanded_macro_loc): Adjust.
---
 gcc/tree-diagnostic.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/gcc/tree-diagnostic.c b/gcc/tree-diagnostic.c
index 53b350b..b4b60dc 100644
--- a/gcc/tree-diagnostic.c
+++ b/gcc/tree-diagnostic.c
@@ -56,10 +56,10 @@ typedef struct
 {
   const struct line_map *map;
   source_location where;
-} loc_t;
+} loc_map_pair;
 
-DEF_VEC_O (loc_t);
-DEF_VEC_ALLOC_O (loc_t, heap);
+DEF_VEC_O (loc_map_pair);
+DEF_VEC_ALLOC_O (loc_map_pair, heap);
 
 /* Unwind the different macro expansions that lead to the token which
    location is WHERE and emit diagnostics showing the resulting
@@ -111,9 +111,9 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context,
                                  const struct line_map **first_exp_point_map)
 {
   const struct line_map *map;
-  VEC(loc_t,heap) *loc_vec = NULL;
+  VEC(loc_map_pair,heap) *loc_vec = NULL;
   unsigned ix;
-  loc_t loc, *iter;
+  loc_map_pair loc, *iter;
 
   map = linemap_lookup (line_table, where);
   if (!linemap_macro_expansion_map_p (map))
@@ -132,7 +132,7 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context,
       loc.where = where;
       loc.map = map;
 
-      VEC_safe_push (loc_t, heap, loc_vec, &loc);
+      VEC_safe_push (loc_map_pair, heap, loc_vec, &loc);
 
       /* WHERE is the location of a token inside the expansion of a
          macro.  MAP is the map holding the locations of that macro
@@ -150,7 +150,7 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context,
      first macro which expansion triggered this trace was expanded
      inside a system header.  */
   if (!LINEMAP_SYSP (map))
-    FOR_EACH_VEC_ELT (loc_t, loc_vec, ix, iter)
+    FOR_EACH_VEC_ELT (loc_map_pair, loc_vec, ix, iter)
       {
         source_location resolved_def_loc = 0, resolved_exp_loc = 0;
         diagnostic_t saved_kind;
@@ -203,7 +203,7 @@ maybe_unwind_expanded_macro_loc (diagnostic_context *context,
         context->printer->prefix = saved_prefix;
       }
 
-  VEC_free (loc_t, heap, loc_vec);
+  VEC_free (loc_map_pair, heap, loc_vec);
 }
 
 /*  This is a diagnostic finalizer implementation that is aware of
-- 
1.7.6.2



-- 
		Dodji


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]