OSDN Git Service

* class.c (type_has_user_provided_default_constructor): Use
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Jun 2010 19:58:45 +0000 (19:58 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 15 Jun 2010 19:58:45 +0000 (19:58 +0000)
sufficient_parms_p.

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

gcc/cp/ChangeLog
gcc/cp/class.c

index 7fc5210..07d565d 100644 (file)
@@ -1,5 +1,8 @@
 2010-06-15  Jason Merrill  <jason@redhat.com>
 
+       * class.c (type_has_user_provided_default_constructor): Use
+       sufficient_parms_p.
+
        * call.c (is_subseq): Handle ck_aggr, ck_list.
        (compare_ics): Treat an aggregate or ambiguous conversion to the
        same type as involving the same function.
index 14224aa..340fe87 100644 (file)
@@ -4247,7 +4247,7 @@ type_has_user_provided_constructor (tree t)
 bool
 type_has_user_provided_default_constructor (tree t)
 {
-  tree fns, args;
+  tree fns;
 
   if (!TYPE_HAS_USER_CONSTRUCTOR (t))
     return false;
@@ -4256,14 +4256,9 @@ type_has_user_provided_default_constructor (tree t)
     {
       tree fn = OVL_CURRENT (fns);
       if (TREE_CODE (fn) == FUNCTION_DECL
-         && user_provided_p (fn))
-       {
-         args = FUNCTION_FIRST_USER_PARMTYPE (fn);
-         while (args && TREE_PURPOSE (args))
-           args = TREE_CHAIN (args);
-         if (!args || args == void_list_node)
-           return true;
-       }
+         && user_provided_p (fn)
+         && sufficient_parms_p (FUNCTION_FIRST_USER_PARMTYPE (fn)))
+       return true;
     }
 
   return false;