diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-12-07 02:10:28 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-12-07 02:10:28 +0000 |
commit | 504643934a1cb2f9d0c22b4895c777d8aa4c5139 (patch) | |
tree | 8365e26770ca94118af6ae4c5421d80edc9a2983 /lib/Sema/SemaDeclCXX.cpp | |
parent | 29f5ccd7ef9bc066cb5894834945eaad2c4c7e53 (diff) |
Per [dcl.fct.def.default]p1, don't allow variadic special members to be defaulted.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169574 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | lib/Sema/SemaDeclCXX.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Sema/SemaDeclCXX.cpp b/lib/Sema/SemaDeclCXX.cpp index 64895d75b5..88cc0aa472 100644 --- a/lib/Sema/SemaDeclCXX.cpp +++ b/lib/Sema/SemaDeclCXX.cpp @@ -4223,6 +4223,10 @@ void Sema::CheckExplicitlyDefaultedSpecialMember(CXXMethodDecl *MD) { Diag(MD->getLocation(), diag::err_defaulted_special_member_params) << CSM << MD->getSourceRange(); HadError = true; + } else if (MD->isVariadic()) { + Diag(MD->getLocation(), diag::err_defaulted_special_member_variadic) + << CSM << MD->getSourceRange(); + HadError = true; } const FunctionProtoType *Type = MD->getType()->getAs<FunctionProtoType>(); |