------- Comment #5 from pinskia at gcc dot gnu dot org 2009-10-07 22:37 -------
This part is what is causing it:
! /* When reading back varpool at LTO time, we re-construct the queue in
order
! to have "needed" list right by inserting all needed nodes into
varpool.
! We however don't want to re-analyze already analyzed nodes. */
! if (!analyzed)
! {
! gcc_assert (!in_lto_p);
! /* Compute the alignment early so function body expanders are
! already informed about increased alignment. */
! align_variable (decl, 0);
! if (DECL_INITIAL (decl))
! record_references_in_initializer (decl);
! }
Moving the record_references_in_initializer outside of the !analyzed condition
allows this testcase to work.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41626