summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2012-12-07 02:10:28 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2012-12-07 02:10:28 +0000
commit50d705b5b013ae86bc1c718d512f9dd0fd88ddd6 (patch)
tree945cc0716d504839e0580ff72e8b72c083b97621 /clang/lib/Sema/SemaDeclCXX.cpp
parent80d3e56c738aea996510c5c4435a0aa7b90ccf6f (diff)
downloadbcm5719-llvm-50d705b5b013ae86bc1c718d512f9dd0fd88ddd6.tar.gz
bcm5719-llvm-50d705b5b013ae86bc1c718d512f9dd0fd88ddd6.zip
Per [dcl.fct.def.default]p1, don't allow variadic special members to be defaulted.
llvm-svn: 169574
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 64895d75b5a..88cc0aa4726 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/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>();
OpenPOWER on IntegriCloud