aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/class.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-10-25 11:53:31 -0400
committerJason Merrill <jason@gcc.gnu.org>2012-10-25 11:53:31 -0400
commit4514a96b2ac1f53606fed91f2a6e40f5267bfd8b (patch)
tree1ba926f0649fc56332c4ee5fce0c2cd4e3420a50 /gcc/cp/class.c
parentdc6a6f61569ca77165f19dcceaa9f2aea5546c9b (diff)
downloadgcc-4514a96b2ac1f53606fed91f2a6e40f5267bfd8b.zip
gcc-4514a96b2ac1f53606fed91f2a6e40f5267bfd8b.tar.gz
gcc-4514a96b2ac1f53606fed91f2a6e40f5267bfd8b.tar.bz2
c.opt (Winherited-variadic-ctor): New.
c-family/ * c.opt (Winherited-variadic-ctor): New. cp/ * class.c (one_inherited_ctor): Warn about variadic inherited ctor. From-SVN: r192811
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r--gcc/cp/class.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index a478de8..3e1b44a 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -2807,6 +2807,12 @@ one_inherited_ctor (tree ctor, tree t)
new_parms[i++] = TREE_VALUE (parms);
}
one_inheriting_sig (t, ctor, new_parms, i);
+ if (parms == NULL_TREE)
+ {
+ warning (OPT_Winherited_variadic_ctor,
+ "the ellipsis in %qD is not inherited", ctor);
+ inform (DECL_SOURCE_LOCATION (ctor), "%qD declared here", ctor);
+ }
}
/* Create default constructors, assignment operators, and so forth for