On 05/27/2015 03:34 PM, Jason Merrill wrote:
It occurs to me that the early-dwarf work should make debug_abstract_function and most of the DECL_ABSTRACT handling obsolete. All we need to do is set DW_AT_inline during early debug and update it during late debug if the function is inlined.
This is certainly a cool idea. I played around with this, and I think we should be able to get it to work. However, this won't work for the LTO case, because dwarf2out currently works just as our pre-debug-early world did. We don't have an early DIE we can annotate later. At least, until we get Richi's DIE streaming idea working.
We could temporarily make the LTO case behave like early-debug by emitting early DIEs after LTO stream in-- while we get DIE streaming implemented, or we could leave the DECL_ABSTRACT redesign post-richi-streaming. I'm leaning towards the latter.
Thoughts?