https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574

--- Comment #12 from rguenther at suse dot de <rguenther at suse dot de> ---
On Fri, 21 Dec 2018, hubicka at ucw dot cz wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574
> 
> --- Comment #11 from Jan Hubicka <hubicka at ucw dot cz> ---
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85574
> > 
> > --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> ---
> > Hmm, IPA ICF dumps show differences like
> > 
> > -  false returned: 'references to virtual tables can not be merged'
> > (compare_referenced_symbol_properties:371)
> > +  false returned: 'references to virtual tables can not be merged'
> > (compare_referenced_symbol_properties:370)
> > 
> > so somehow
> > 
> >         return return_false_with_msg
> >                  ("references to virtual tables can not be merged");
> > 
> > yields a different line!?  OK, maybe that's host compiler vs. trunk
> > behavior changes.
> 
> Libcpp sometimes overflows in locations and behaves funnily.  It would
> be sad if that happened on gcc, but may be the root of this problem.

This is __LINE__ expansion so I doubt that.  It's more like GCC 8 host
compiler expanded __LINE__ different.

> ipa-cf is Martin's code, so hope he will chime in :)

Yeah.  Note that the debug stmt differences _might_ be explained by
ICF in case ICF ignores debug stmts when merging.  But since the
ICF dumps are ordered differently it's hard to see actual decision
differences...

Still debug-stmt differences shouldn't result in assembly differences...

Reply via email to