summaryrefslogtreecommitdiffstats
path: root/clang/lib
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
commitc7f576fc91cdc802bc97fae56bfed38867b11ff0 (patch)
tree415012c08feecd57f978a99ce402a2dae00f1180 /clang/lib
parent249237cb2e9668bfc64a1bc7b5d4d25eac1190d5 (diff)
downloadbcm5719-llvm-c7f576fc91cdc802bc97fae56bfed38867b11ff0.tar.gz
bcm5719-llvm-c7f576fc91cdc802bc97fae56bfed38867b11ff0.zip
Fix mangling numbers for varargs lambdas; varargs and non-varargs lambdas get
different lambda-sigs, so they should have different counters. llvm-svn: 284933
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/AST/ItaniumCXXABI.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/AST/ItaniumCXXABI.cpp b/clang/lib/AST/ItaniumCXXABI.cpp
index 482c3c5d338..091d5f031f8 100644
--- a/clang/lib/AST/ItaniumCXXABI.cpp
+++ b/clang/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>()];
}
OpenPOWER on IntegriCloud