+2013-01-31 Jason Merrill <jason@redhat.com>
+
+ PR c++/54410
+ * dwarf2out.c (gen_struct_or_union_type_die): Always schedule template
+ parameters the first time.
+ (gen_scheduled_generic_parms_dies): Check completeness here.
+
2013-01-31 Richard Biener <rguenther@suse.de>
PR middle-end/53073
scope_die = scope_die_for (type, context_die);
+ /* Generate child dies for template paramaters. */
+ if (!type_die && debug_info_level > DINFO_LEVEL_TERSE)
+ schedule_generic_params_dies_gen (type);
+
if (! type_die || (nested && is_cu_die (scope_die)))
/* First occurrence of type or toplevel definition of nested class. */
{
else
remove_AT (type_die, DW_AT_declaration);
- /* Generate child dies for template paramaters. */
- if (debug_info_level > DINFO_LEVEL_TERSE
- && COMPLETE_TYPE_P (type))
- schedule_generic_params_dies_gen (type);
-
/* If this type has been completed, then give it a byte_size attribute and
then give a list of members. */
if (complete && !ns_decl)
return;
FOR_EACH_VEC_ELT (*generic_type_instances, i, t)
- gen_generic_params_dies (t);
+ if (COMPLETE_TYPE_P (t))
+ gen_generic_params_dies (t);
}