aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/method.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r--gcc/cp/method.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index 8fd7052..1058fd0 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -563,13 +563,16 @@ ctor_omit_inherited_parms (tree fn)
if (!DECL_BASE_CONSTRUCTOR_P (fn)
|| !CLASSTYPE_VBASECLASSES (DECL_CONTEXT (fn)))
return false;
+
if (FUNCTION_FIRST_USER_PARMTYPE (DECL_ORIGIN (fn)) == void_list_node)
/* No user-declared parameters to omit. */
return false;
+
tree binfo = inherited_ctor_binfo (fn);
for (; binfo; binfo = BINFO_INHERITANCE_CHAIN (binfo))
if (BINFO_VIRTUAL_P (binfo))
return true;
+
return false;
}