diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-23 04:53:03 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2016-10-23 04:53:03 +0000 |
commit | 00586d02b1af56efadc99cb3967ad6caf6f4b849 (patch) | |
tree | be3cdaa31cc8f139a3b90620aaa7cb355ff5f83d /lib/AST/ItaniumCXXABI.cpp | |
parent | 82644c32d6ce95dc6dc99578d122280405605536 (diff) | |
download | clang-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.cpp | 5 |
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>()]; } |