Reducing a cc1 miscompilation when using lto I noticed that the problem was
nonoverlapping_component_refs_p returning true because we had two different
field_decls for the succs field in basic_block.

Rich asked me to put an assert that the field is being merged and reduce more
using that assert.

To reproduce the issue:

*) patch gcc to add the assert
*) cc1 -quiet -O2 -flto cfgrtl.i -o cfgrtl.s
*) as cfgrtl.s -o cfgrtl.o
*) lto1 -quiet  -O2  cfgrtl.o -o foo.s


-- 
           Summary: field not merged causes cc1 to be miscompiled
           Product: gcc
           Version: 4.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: lto
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: espindola at gcc dot gnu dot org
 GCC build triplet: x86_64-linux-gnu
  GCC host triplet: x86_64-linux-gnu
GCC target triplet: x86_64-linux-gnu


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

Reply via email to