From 61abf964185ad736e1cd400dcd2583acfc050b4b Mon Sep 17 00:00:00 2001 From: Nathan Sidwell Date: Fri, 1 Sep 2017 18:10:42 +0000 Subject: [PATCH] class.c (finish_struct): Call set_class_bindings for the template case too. * class.c (finish_struct): Call set_class_bindings for the template case too. From-SVN: r251608 --- gcc/cp/ChangeLog | 5 ++++- gcc/cp/class.c | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index bd6c33639ac..650e766b767 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,9 @@ 2017-09-01 Nathan Sidwell - * class.c (finish_struct_methods): Done clear DECL_IN_AGGR_P here. + * class.c (finish_struct): Call set_class_bindings for the + template case too. + + * class.c (finish_struct_methods): Dont clear DECL_IN_AGGR_P here. Don't call maybe_warn_about_overly_private_class here. (warn_hidden): Cleanup declarations and comments. (type_has_user_provided_constructor): No need to check diff --git a/gcc/cp/class.c b/gcc/cp/class.c index 25ff9ed4046..0476ae8cc5b 100644 --- a/gcc/cp/class.c +++ b/gcc/cp/class.c @@ -7188,6 +7188,7 @@ finish_struct (tree t, tree attributes) /* COMPLETE_TYPE_P is now true. */ finish_struct_methods (t); + set_class_bindings (t, TYPE_FIELDS (t)); /* We need to emit an error message if this type was used as a parameter and it is an abstract type, even if it is a template. We construct -- 2.30.2