+2016-02-17 Jason Merrill <jason@redhat.com>
+
+ PR c++/68679
+ * decl2.c (reset_type_linkage_2): Look through member templates.
+
2016-02-17 Jakub Jelinek <jakub@redhat.com>
PR c++/69850
reset_decl_linkage (ti);
}
for (tree m = TYPE_FIELDS (type); m; m = DECL_CHAIN (m))
- if (VAR_P (m))
- reset_decl_linkage (m);
+ {
+ tree mem = STRIP_TEMPLATE (m);
+ if (VAR_P (mem))
+ reset_decl_linkage (mem);
+ }
for (tree m = TYPE_METHODS (type); m; m = DECL_CHAIN (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);
+ tree mem = STRIP_TEMPLATE (m);
+ reset_decl_linkage (mem);
+ if (DECL_MAYBE_IN_CHARGE_CONSTRUCTOR_P (mem))
+ {
+ /* Also update its name, for cxx_dwarf_name. */
+ DECL_NAME (mem) = TYPE_IDENTIFIER (type);
+ if (m != mem)
+ DECL_NAME (m) = TYPE_IDENTIFIER (type);
+ }
}
binding_table_foreach (CLASSTYPE_NESTED_UTDS (type),
bt_reset_linkage_2, NULL);