From: Nathan Sidwell Date: Fri, 1 Sep 2017 18:10:42 +0000 (+0000) Subject: class.c (finish_struct): Call set_class_bindings for the template case too. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=61abf964185ad736e1cd400dcd2583acfc050b4b;p=gcc.git 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 --- 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