http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51969

--- Comment #1 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2012-01-23 18:21:14 UTC ---
The following patch (applied to 4.6) fixes the problem for me:

diff --git a/gcc/gengtype.c b/gcc/gengtype.c
index abf17f8..550d3bb 100644
--- a/gcc/gengtype.c
+++ b/gcc/gengtype.c
@@ -3594,13 +3594,13 @@ write_field_root (outf_p f, pair_p v, type_p type,
const char *name,
                  int has_length, struct fileloc *line, const char *if_marked,
                  bool emit_pch, type_p field_type, const char *field_name)
 {
+  struct pair newv;
   /* If the field reference is relative to V, rather than to some
      subcomponent of V, we can mark any subarrays with a single stride.
      We're effectively treating the field as a global variable in its
      own right.  */
   if (v && type == v->type)
     {
-      struct pair newv;

       newv = *v;
       newv.type = field_type;

Reply via email to