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.