Fix gdb.cp/anon-struct.cc with -std=c++11.
gcc/ * dwarf2out.c (gen_member_die): Don't emit anything for an anonymous class constructor. gcc/cp/ * decl2.c (reset_type_linkage_2): Update the DECL_NAME of a maybe-in-charge constructor. From-SVN: r222839
This commit is contained in:
parent
f8aa3dd388
commit
15ed2619b2
@ -1,3 +1,8 @@
|
||||
2015-05-05 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* dwarf2out.c (gen_member_die): Don't emit anything for an
|
||||
anonymous class constructor.
|
||||
|
||||
2015-05-05 David Malcolm <dmalcolm@redhat.com>
|
||||
|
||||
* auto-profile.c (afdo_find_equiv_class): Fix indentation so
|
||||
|
@ -1,5 +1,8 @@
|
||||
2015-05-05 Jason Merrill <jason@redhat.com>
|
||||
|
||||
* decl2.c (reset_type_linkage_2): Update the DECL_NAME of a
|
||||
maybe-in-charge constructor.
|
||||
|
||||
* decl.c (start_decl): Don't push the plain VAR_DECL for a
|
||||
variable template.
|
||||
|
||||
|
@ -2648,7 +2648,12 @@ reset_type_linkage_2 (tree type)
|
||||
if (TREE_CODE (m) == VAR_DECL)
|
||||
reset_decl_linkage (m);
|
||||
for (tree m = TYPE_METHODS (type); m; m = DECL_CHAIN (m))
|
||||
reset_decl_linkage (m);
|
||||
{
|
||||
reset_decl_linkage (m);
|
||||
if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (m))
|
||||
/* Also update its name, for cxx_dwarf_name. */
|
||||
DECL_NAME (m) = TYPE_IDENTIFIER (type);
|
||||
}
|
||||
binding_table_foreach (CLASSTYPE_NESTED_UTDS (type),
|
||||
bt_reset_linkage_2, NULL);
|
||||
}
|
||||
|
@ -19951,6 +19951,10 @@ gen_member_die (tree type, dw_die_ref context_die)
|
||||
/* Don't include clones in the member list. */
|
||||
if (DECL_ABSTRACT_ORIGIN (member))
|
||||
continue;
|
||||
/* Nor constructors for anonymous classes. */
|
||||
if (DECL_ARTIFICIAL (member)
|
||||
&& dwarf2_name (member, 0) == NULL)
|
||||
continue;
|
||||
|
||||
child = lookup_decl_die (member);
|
||||
if (child)
|
||||
|
Loading…
Reference in New Issue
Block a user