Hi,

On Mon, 2 Jul 2012, Mike Stump wrote:

> On May 26, 2012, at 8:03 PM, Michael Matz wrote:
> > -----------------------
> >     PR middle-end/38474
> >     * cfgexpand.c (struct stack_var): Add slot_type member.
> >     (add_stack_var): Initialize it.
> >     (add_alias_set_conflicts): Remove.
> >     (merge_stack_vars_p, more_specific_type): New functions.
> >     (nonconflicting_type): New static data.
> >     (union_stack_vars): Use more_specific_type to update slot_type.
> >     (partition_stack_vars): Call merge_stack_vars_p ...
> 
> So this patch seems to have killed 
> 'RUNTESTFLAGS=dg.exp=class_array_3.f03' check-fortran for me.  Any 
> insight?

Hmm, no.  Works for me just fine :-/  So something is shared on the stack, 
but then reordered so that both entities are live.  If you find which file 
is miscompiled you can look at the -fdump-rtl-expand-details dumps for 
entries like:
  Partition 1: size 32 align 16
        dest
  Partition 0: size 32 align 16
        src

If something is shared there will be multiple decls mentioned in the 
lines.  (Ignore the lines mentioning Partition without a ':', that the 
out-of-ssa partitions, not the stack slots).

> Unfortunately the bug I think manifests as generated code in 
> the fortran runtime libraries, so I need to go track down the code.
> 
> Also, git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188667 seems to 
> not match this patch, nor any other patch I can find, but it is the 
> closest match.

The patch that went in is 
  http://gcc.gnu.org/ml/gcc-patches/2012-06/msg00367.html


Ciao,
Michael.

Reply via email to