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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #6)
> Btw, I still wonder how it works with abstract functions, inline and
> concrete instances.  Works in gdb, that is - will dig into it a bit after
> lunch.

So here I see us (without LTO) putting DW_AT_location attributes on the
abstract instance copy.  That kind-of makes it not abstract anymore, no?
But that way we avoid emitting multiple DIEs for local statics.  With
-flto the same problem appears there because we cannot annotate the
early CUs DIE with a location so the concrete instance copy
gets [generated and] the location.

So while I intended to have the early CUs behave like fully abstract
the actual DWARF is different.  I understand that if I emit the early CU as
partial unit it becomes abstract?  Note we do emit DW_AT_const_value
to early optimized out decls - would those still be found when the early CU
is partial [and not imported anywhere]?

Reply via email to