summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization/ASTReaderDecl.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-05-01 22:35:37 +0000
committerJohn McCall <rjmccall@apple.com>2011-05-01 22:35:37 +0000
commit8fb0d9d24ad0525b689c93b6c51e9c32ff61ac25 (patch)
tree238196380fe664192db3cf40564aa3e378a31546 /clang/lib/Serialization/ASTReaderDecl.cpp
parentbbf65b05014d929fb285a0a4c6b8925481fd3a31 (diff)
downloadbcm5719-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/ASTReaderDecl.cpp')
-rw-r--r--clang/lib/Serialization/ASTReaderDecl.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp
index 0645b278ac2..665516470e9 100644
--- a/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -710,6 +710,8 @@ void ASTDeclReader::VisitImplicitParamDecl(ImplicitParamDecl *PD) {
void ASTDeclReader::VisitParmVarDecl(ParmVarDecl *PD) {
VisitVarDecl(PD);
+ unsigned scopeDepth = Record[Idx++], scopeIndex = Record[Idx++];
+ PD->setScopeInfo(scopeDepth, scopeIndex);
PD->ParmVarDeclBits.ObjCDeclQualifier = (Decl::ObjCDeclQualifier)Record[Idx++];
PD->ParmVarDeclBits.IsKNRPromoted = Record[Idx++];
PD->ParmVarDeclBits.HasInheritedDefaultArg = Record[Idx++];
OpenPOWER on IntegriCloud