https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96997
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |needs-bisection --- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> --- Now the question is whether/why we don't see any DW_TAG_inlined_subroutine and why we inline anything at -O0 at all. That said, the middle-end does not perform any inlining but the C++ FE inserts finally { [/usr/include/c++/10/bits/basic_string.h:525:59] std::allocator<char>::~allocator ([/usr/include/c++/10/bits/basic_string.h:525:59] &D.37009); } } finally { [/usr/include/c++/10/bits/basic_string.h:525:59] D.37009 = {CLOBBER}; } so somehow we leak the location of the dtor declaration to the GIMPLE stmt created by the gimplifier. Bisection is probably what is easiest to get us forward.