summaryrefslogtreecommitdiff
path: root/lib/AST
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-06-05 23:44:51 +0000
committerDouglas Gregor <dgregor@apple.com>2012-06-05 23:44:51 +0000
commit113c4448003ff6fd76eaabde08d3ebfffd8a327a (patch)
tree30d523417c896f45f9db828f3fd0603487458acf /lib/AST
parent7453a72cd0dcc70f29006ba488b743f078072bc7 (diff)
downloadclang-113c4448003ff6fd76eaabde08d3ebfffd8a327a.tar.gz
A non-explicit constructor template with a second parameter that is a
parameter pack is a converting constructor. Fixes PR13003. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@158040 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST')
-rw-r--r--lib/AST/DeclCXX.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/AST/DeclCXX.cpp b/lib/AST/DeclCXX.cpp
index 0c78abb813..571ad4b39c 100644
--- a/lib/AST/DeclCXX.cpp
+++ b/lib/AST/DeclCXX.cpp
@@ -1695,7 +1695,9 @@ bool CXXConstructorDecl::isConvertingConstructor(bool AllowExplicit) const {
return (getNumParams() == 0 &&
getType()->getAs<FunctionProtoType>()->isVariadic()) ||
(getNumParams() == 1) ||
- (getNumParams() > 1 && getParamDecl(1)->hasDefaultArg());
+ (getNumParams() > 1 &&
+ (getParamDecl(1)->hasDefaultArg() ||
+ getParamDecl(1)->isParameterPack()));
}
bool CXXConstructorDecl::isSpecializationCopyingObject() const {