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][LTO] Restore i?86


On Tue, 8 Sep 2009, Richard Guenther wrote:

> 
> i?86 is in a sorry state after the merge (everything with valists
> ICEs, likewise a lot of other stuff).
> 
> There seem to be some hunks gone with the re-merge of fld, notably
> 
> 1) not freeing the variant chains, especially with 3) this is bogus
> 
> 2) not re-setting char_type_node.  This causes ices in tree-stdarg.c
>    on i?86
> 
> 3) re-running fld in lto1.  This seems to confuse us as we enter
>    lang_hooks.get_alias_set with types not yet properly merged (and thus
>    we get into the usual endless recursion with get_alias_set).
> 
> I'm bootstrapping and testing these changes, 1) should go to trunk as
> well, 2) is probably exactly causing the issue on trunk so we need to
> think of a different fix.

I'm testing the following variant for 2) instead which seems to make
both trunk and the branch happy.

Richard.


*************** free_lang_data (void)
*** 4869,4874 ****
--- 4859,4870 ----
        boolean_true_node = TYPE_MAX_VALUE (boolean_type_node);
      }

+   /* Unify char_type_node with its properly signed variant.  */
+   if (TYPE_UNSIGNED (char_type_node))
+     unsigned_char_type_node = char_type_node;
+   else
+     signed_char_type_node = char_type_node;
+
    /* Reset some langhooks.  */
    lang_hooks.callgraph.analyze_expr = NULL;
    lang_hooks.types_compatible_p = NULL;


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