http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51572
--- Comment #16 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-12-16 15:13:27 UTC --- For g++.dg/debug/pr45660.C we have a limbo DIE for 'T' which has DECL_CONTEXT of the type 'S'. We create a DIE for 'S' when creating a DIE for the FUNCTION_DECL 'i' which we do when we output that function (via debug_hooks->function_decl) by emitting a DIE for its origin. Same without LTO, but with LTO we have dropped all non-FIELD_DECL members from 'S' so we do not output the TYPE_DECL when we have a context for it - so it gets on the limbo list.