OSDN Git Service

Revert the accidental checkin in revision 158918.
[pf3gnuchains/gcc-fork.git] / gcc / cp / init.c
index 5f0f665..4fc90e6 100644 (file)
@@ -1779,6 +1779,9 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
 {
   tree field;
 
+  if (type_has_user_provided_constructor (type))
+    return;
+
   for (field = TYPE_FIELDS (type); field; field = TREE_CHAIN (field))
     {
       tree field_type;
@@ -1791,8 +1794,8 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
       if (TREE_CODE (field_type) == REFERENCE_TYPE)
        {
          if (using_new)
-           error ("uninitialized reference member in %q#T using %<new%>",
-                  origin);
+           error ("uninitialized reference member in %q#T "
+                  "using %<new%> without new-initializer", origin);
          else
            error ("uninitialized reference member in %q#T", origin);
          inform (DECL_SOURCE_LOCATION (field),
@@ -1802,8 +1805,8 @@ diagnose_uninitialized_cst_or_ref_member_1 (tree type, tree origin,
       if (CP_TYPE_CONST_P (field_type))
        {
          if (using_new)
-           error ("uninitialized const member in %q#T using %<new%>",
-                  origin);
+           error ("uninitialized const member in %q#T "
+                  "using %<new%> without new-initializer", origin);
          else
            error ("uninitialized const member in %q#T", origin);
          inform (DECL_SOURCE_LOCATION (field),