summaryrefslogtreecommitdiff
path: root/lib/AST/ItaniumCXXABI.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2016-10-23 04:53:03 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2016-10-23 04:53:03 +0000
commit00586d02b1af56efadc99cb3967ad6caf6f4b849 (patch)
treebe3cdaa31cc8f139a3b90620aaa7cb355ff5f83d /lib/AST/ItaniumCXXABI.cpp
parent82644c32d6ce95dc6dc99578d122280405605536 (diff)
downloadclang-00586d02b1af56efadc99cb3967ad6caf6f4b849.tar.gz
Fix mangling numbers for varargs lambdas; varargs and non-varargs lambdas get
different lambda-sigs, so they should have different counters. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@284933 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/AST/ItaniumCXXABI.cpp')
-rw-r--r--lib/AST/ItaniumCXXABI.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/AST/ItaniumCXXABI.cpp b/lib/AST/ItaniumCXXABI.cpp
index 482c3c5d33..091d5f031f 100644
--- a/lib/AST/ItaniumCXXABI.cpp
+++ b/lib/AST/ItaniumCXXABI.cpp
@@ -63,9 +63,10 @@ public:
CallOperator->getType()->getAs<FunctionProtoType>();
ASTContext &Context = CallOperator->getASTContext();
+ FunctionProtoType::ExtProtoInfo EPI;
+ EPI.Variadic = Proto->isVariadic();
QualType Key =
- Context.getFunctionType(Context.VoidTy, Proto->getParamTypes(),
- FunctionProtoType::ExtProtoInfo());
+ Context.getFunctionType(Context.VoidTy, Proto->getParamTypes(), EPI);
Key = Context.getCanonicalType(Key);
return ++ManglingNumbers[Key->castAs<FunctionProtoType>()];
}