diff options
Diffstat (limited to 'clang/lib/AST/MangleNumberingContext.cpp')
-rw-r--r-- | clang/lib/AST/MangleNumberingContext.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/clang/lib/AST/MangleNumberingContext.cpp b/clang/lib/AST/MangleNumberingContext.cpp index a4c8a27da5c..4e9006ec24a 100644 --- a/clang/lib/AST/MangleNumberingContext.cpp +++ b/clang/lib/AST/MangleNumberingContext.cpp @@ -19,7 +19,7 @@ using namespace clang; unsigned -MangleNumberingContext::getManglingNumber(CXXMethodDecl *CallOperator) { +MangleNumberingContext::getManglingNumber(const CXXMethodDecl *CallOperator) { const FunctionProtoType *Proto = CallOperator->getType()->getAs<FunctionProtoType>(); ASTContext &Context = CallOperator->getASTContext(); @@ -31,8 +31,18 @@ MangleNumberingContext::getManglingNumber(CXXMethodDecl *CallOperator) { } unsigned -MangleNumberingContext::getManglingNumber(BlockDecl *BD) { +MangleNumberingContext::getManglingNumber(const BlockDecl *BD) { // FIXME: Compute a BlockPointerType? Not obvious how. const Type *Ty = 0; return ++ManglingNumbers[Ty]; } + +unsigned +MangleNumberingContext::getManglingNumber(const VarDecl *VD) { + return ++VarManglingNumbers[VD->getIdentifier()]; +} + +unsigned +MangleNumberingContext::getManglingNumber(const TagDecl *TD) { + return ++TagManglingNumbers[TD->getIdentifier()]; +} |