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 | c7f576fc91cdc802bc97fae56bfed38867b11ff0 (patch) | |
| tree | 415012c08feecd57f978a99ce402a2dae00f1180 /clang/lib | |
| parent | 249237cb2e9668bfc64a1bc7b5d4d25eac1190d5 (diff) | |
| download | bcm5719-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.cpp | 5 |
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>()]; } |

