https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65549
--- Comment #28 from Richard Biener <rguenth at gcc dot gnu.org> --- So the context I put the stub DIE in is technically wrong. Thus some more analysis results. The reason why we end up populating the limbo_die_list from the force_decl_die path is because we refuse to put the context (the __lambda2 type) into its context (the main function which we forced a DIE for) because of /* A declaration DIE doesn't count; nested types need to go in the specification. */ if (context_die && is_declaration_die (context_die)) context_die = NULL;