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