OSDN Git Service

* init.c (perform_member_init): Always build_aggr_init
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Aug 2011 19:12:09 +0000 (19:12 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 5 Aug 2011 19:12:09 +0000 (19:12 +0000)
for a class member with an explicit mem-initializer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177477 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/init.c

index 3d9b3b6..8eb6b74 100644 (file)
@@ -1,5 +1,8 @@
 2011-08-05  Jason Merrill  <jason@redhat.com>
 
+       * init.c (perform_member_init): Always build_aggr_init
+       for a class member with an explicit mem-initializer.
+
        * pt.c (unify) [TEMPLATE_TYPE_PARM]: Allow VLA for C++0x 'auto'.
 
 2011-08-04  Jakub Jelinek  <jakub@redhat.com>
index 31171cf..d9e475e 100644 (file)
@@ -547,7 +547,8 @@ perform_member_init (tree member, tree init)
          finish_expr_stmt (init);
        }
     }
-  else if (type_build_ctor_call (type))
+  else if (type_build_ctor_call (type)
+          || (init && CLASS_TYPE_P (strip_array_types (type))))
     {
       if (TREE_CODE (type) == ARRAY_TYPE)
        {