]> gcc.gnu.org Git - gcc.git/commitdiff
* init.c (perform_member_init): Check CLASS_TYPE_P.
authorJason Merrill <jason@redhat.com>
Wed, 28 Apr 2010 01:45:00 +0000 (21:45 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 28 Apr 2010 01:45:00 +0000 (21:45 -0400)
From-SVN: r158822

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

index 3935cc21241cb6f252b47e4499b14386b2c1026f..6d09c80c434b05a3f5e13db015fe1f3a07ab5402 100644 (file)
@@ -1,3 +1,7 @@
+2010-04-27  Jason Merrill  <jason@redhat.com>
+
+       * init.c (perform_member_init): Check CLASS_TYPE_P.
+
 2010-04-27  Fabien ChĂȘne  <fabien.chene@gmail.com>
 
        PR c++/29043
index 57b874d5e4a415eecbf9223be3b4d8abaec3698b..5f0f665afe475815a9893a8d8ede6a5b6c623c2e 100644 (file)
@@ -518,9 +518,11 @@ perform_member_init (tree member, tree init)
                       member, type);
 
          core_type = strip_array_types (type);
-         if (CLASSTYPE_READONLY_FIELDS_NEED_INIT (core_type)
-             || CLASSTYPE_REF_FIELDS_NEED_INIT (core_type))
-           diagnose_uninitialized_cst_or_ref_member (core_type, /*using_new=*/false);
+         if (CLASS_TYPE_P (core_type)
+             && (CLASSTYPE_READONLY_FIELDS_NEED_INIT (core_type)
+                 || CLASSTYPE_REF_FIELDS_NEED_INIT (core_type)))
+           diagnose_uninitialized_cst_or_ref_member (core_type,
+                                                     /*using_new=*/false);
        }
       else if (TREE_CODE (init) == TREE_LIST)
        /* There was an explicit member initialization.  Do some work
This page took 0.073902 seconds and 5 git commands to generate.