https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97599
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |aoliva at gcc dot gnu.org --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Adding Alex for debug-stmt / inline-entry etc. issues. Note that clones are materialized only during LTRANS where for example we have no way of generating "nice" DWARF for a clone of a C++ class method. What we _can_ do is create DWARF for an aritificial wrapper function whose body contains an inline copy of said C++ class method (plus required argument marshalling). User (dwarf consumer) expectation is another issue, breakpoints on a function should work and also break on clones. User expectation for OMP outlines is less clear to me. For split functions we shouldn't get two breakpoints (inlined header plus tail) but only break on the header. Ideally the frame of the tail wouldn't even be visible... Note that we do not necessarily outline full scopes in the splitting case, so even abstract origins to scopes might not be a good match there. Maybe don't try to represent the call to the tail as call but handle it as a jump like hot/cold parts of a function (though technically there is a frame).