diff options
author | John McCall <rjmccall@apple.com> | 2011-05-01 22:35:37 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-05-01 22:35:37 +0000 |
commit | 8fb0d9d24ad0525b689c93b6c51e9c32ff61ac25 (patch) | |
tree | 238196380fe664192db3cf40564aa3e378a31546 /clang/lib/Serialization/ASTWriterDecl.cpp | |
parent | bbf65b05014d929fb285a0a4c6b8925481fd3a31 (diff) | |
download | bcm5719-llvm-8fb0d9d24ad0525b689c93b6c51e9c32ff61ac25.tar.gz bcm5719-llvm-8fb0d9d24ad0525b689c93b6c51e9c32ff61ac25.zip |
Store a parameter index and function prototype depth in every
parameter node and use this to correctly mangle parameter
references in function template signatures.
A follow-up patch will improve the storage usage of these
fields; here I've just done the lazy thing.
llvm-svn: 130669
Diffstat (limited to 'clang/lib/Serialization/ASTWriterDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index 31eb003d006..63cffb243a4 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -587,6 +587,8 @@ void ASTDeclWriter::VisitImplicitParamDecl(ImplicitParamDecl *D) { void ASTDeclWriter::VisitParmVarDecl(ParmVarDecl *D) { VisitVarDecl(D); + Record.push_back(D->getFunctionScopeDepth()); + Record.push_back(D->getFunctionScopeIndex()); Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding Record.push_back(D->isKNRPromoted()); Record.push_back(D->hasInheritedDefaultArg()); @@ -1174,6 +1176,8 @@ void ASTWriter::WriteDeclsBlockAbbrevs() { Abv->Add(BitCodeAbbrevOp(0)); // HasInit Abv->Add(BitCodeAbbrevOp(0)); // HasMemberSpecializationInfo // ParmVarDecl + Abv->Add(BitCodeAbbrevOp(0)); // ScopeDepth + Abv->Add(BitCodeAbbrevOp(BitCodeAbbrevOp::VBR, 6)); // ScopeIndex Abv->Add(BitCodeAbbrevOp(0)); // ObjCDeclQualifier Abv->Add(BitCodeAbbrevOp(0)); // KNRPromoted Abv->Add(BitCodeAbbrevOp(0)); // HasInheritedDefaultArg |