diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-04 21:44:07 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2010-07-04 21:44:07 +0000 |
commit | ccde6a02c8f68fd66739b26f0bee4e11bb89a5b9 (patch) | |
tree | 6fe396303a983ab84fe90f2089f785416be44bf8 /clang/lib/Frontend/PCHWriterDecl.cpp | |
parent | cdb8b3f7ec3f3ab8e1b3db8da384f2444492e5b3 (diff) | |
download | bcm5719-llvm-ccde6a02c8f68fd66739b26f0bee4e11bb89a5b9.tar.gz bcm5719-llvm-ccde6a02c8f68fd66739b26f0bee4e11bb89a5b9.zip |
Write/read ParmVarDecl's UninstantiatedDefaultArg for PCH.
llvm-svn: 107594
Diffstat (limited to 'clang/lib/Frontend/PCHWriterDecl.cpp')
-rw-r--r-- | clang/lib/Frontend/PCHWriterDecl.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHWriterDecl.cpp b/clang/lib/Frontend/PCHWriterDecl.cpp index f5230233657..24777966b13 100644 --- a/clang/lib/Frontend/PCHWriterDecl.cpp +++ b/clang/lib/Frontend/PCHWriterDecl.cpp @@ -514,6 +514,9 @@ void PCHDeclWriter::VisitParmVarDecl(ParmVarDecl *D) { VisitVarDecl(D); Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding Record.push_back(D->hasInheritedDefaultArg()); + Record.push_back(D->hasUninstantiatedDefaultArg()); + if (D->hasUninstantiatedDefaultArg()) + Writer.AddStmt(D->getUninstantiatedDefaultArg()); Code = pch::DECL_PARM_VAR; // If the assumptions about the DECL_PARM_VAR abbrev are true, use it. Here @@ -529,7 +532,8 @@ void PCHDeclWriter::VisitParmVarDecl(ParmVarDecl *D) { !D->hasCXXDirectInitializer() && // Can params have this ever? D->getObjCDeclQualifier() == 0 && !D->hasInheritedDefaultArg() && - D->getInit() == 0) // No default expr. + D->getInit() == 0 && + !D->hasUninstantiatedDefaultArg()) // No default expr. AbbrevToUse = Writer.getParmVarDeclAbbrev(); // Check things we know are true of *every* PARM_VAR_DECL, which is more than @@ -990,6 +994,7 @@ void PCHWriter::WriteDeclsBlockAbbrevs() { // ParmVarDecl Abv->Add(BitCodeAbbrevOp(0)); // ObjCDeclQualifier Abv->Add(BitCodeAbbrevOp(0)); // HasInheritedDefaultArg + Abv->Add(BitCodeAbbrevOp(0)); // HasUninstantiatedDefaultArg ParmVarDeclAbbrev = Stream.EmitAbbrev(Abv); } |