On Sun, Apr 3, 2011 at 3:14 AM, Michael Matz <m...@suse.de> wrote:
> Hi,
>
> On Thu, 31 Mar 2011, Richard Guenther wrote:
>
>> > In the meanwhile, is the below version okay?
>>
>> If it bootstraps & tests ok then yes.  The java parts look obvious.
>
> So, we indeed can't remove the other calls to
> canonicalize_constructor_val, because of local ctors.  And fortran has a
> similar problem with java.  Instead of fixing up all these places of
> resetting cfun (where otherwise the frontends don't deal at all with it,
> it's mostly just set from the various cgraph routines), I decided to
> simply clear this at the appropriate place in
> cgraph_finalize_compilation_unit.
>
> Regstrapping in progress again.  Still okay if that works?
>
>
> Ciao,
> Michael.
> --
>        * cgraphbuild.c (record_reference): Canonicalize constructor
>        values.

>
> Index: cgraphbuild.c
> ===================================================================
> --- cgraphbuild.c.orig  2011-04-03 11:28:45.000000000 +0200
> +++ cgraphbuild.c       2011-04-03 11:31:21.000000000 +0200
> @@ -53,6 +53,12 @@ record_reference (tree *tp, int *walk_su
>   tree decl;
>   struct record_reference_ctx *ctx = (struct record_reference_ctx *)data;
>
> +  t = canonicalize_constructor_val (t);
> +  if (!t)
> +    t = *tp;
> +  else if (t != *tp)
> +    *tp = t;
> +
>   switch (TREE_CODE (t))
>     {
>     case VAR_DECL:

This change caused:

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

-- 
H.J.

Reply via email to