aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp
diff options
context:
space:
mode:
authorNathan Sidwell <nathan@acm.org>2017-09-01 18:10:42 +0000
committerNathan Sidwell <nathan@gcc.gnu.org>2017-09-01 18:10:42 +0000
commit61abf964185ad736e1cd400dcd2583acfc050b4b (patch)
treea9fbc90db925b7ae0fee7d74fa967cccd01d2383 /gcc/cp
parentdbe4e3f44abdd929d7149ce596805f659114417c (diff)
downloadgcc-61abf964185ad736e1cd400dcd2583acfc050b4b.zip
gcc-61abf964185ad736e1cd400dcd2583acfc050b4b.tar.gz
gcc-61abf964185ad736e1cd400dcd2583acfc050b4b.tar.bz2
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
Diffstat (limited to 'gcc/cp')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/class.c1
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index bd6c336..650e766 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,6 +1,9 @@
2017-09-01 Nathan Sidwell <nathan@acm.org>
- * 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 25ff9ed..0476ae8 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