http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48508
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> 2011-12-09 18:22:38 UTC --- We shouldn't be emitting anything for that nested function declaration in the concrete instance of the inlined function, and we don't when compiling without LTO. In normal compilation the block extern doesn't show up in BLOCK_VARS of the inlined block, but rather in BLOCK_NONLOCALIZED_VARS, so we pass down NULL for decl to gen_decl_die, so it doesn't call gen_subprogram_die.