diff options
author | John McCall <rjmccall@apple.com> | 2011-03-09 04:22:44 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-03-09 04:22:44 +0000 |
commit | 6a014d5c3069e3861f3abd7e6bb43e7c85e0b84b (patch) | |
tree | fcf97030e6e6b8f270253076665a9e33048f1ba5 /clang/lib/Serialization/ASTWriterDecl.cpp | |
parent | 72ee53ef6a468724fe3b68e4c43581e58f0d9300 (diff) | |
download | bcm5719-llvm-6a014d5c3069e3861f3abd7e6bb43e7c85e0b84b.tar.gz bcm5719-llvm-6a014d5c3069e3861f3abd7e6bb43e7c85e0b84b.zip |
Add a bit to ParmVarDecl indicating whether the parameter undergoes
K&R-style default argument promotion.
llvm-svn: 127313
Diffstat (limited to 'clang/lib/Serialization/ASTWriterDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTWriterDecl.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTWriterDecl.cpp b/clang/lib/Serialization/ASTWriterDecl.cpp index a5c43980420..95b0c3c4dbf 100644 --- a/clang/lib/Serialization/ASTWriterDecl.cpp +++ b/clang/lib/Serialization/ASTWriterDecl.cpp @@ -577,6 +577,7 @@ void ASTDeclWriter::VisitImplicitParamDecl(ImplicitParamDecl *D) { void ASTDeclWriter::VisitParmVarDecl(ParmVarDecl *D) { VisitVarDecl(D); Record.push_back(D->getObjCDeclQualifier()); // FIXME: stable encoding + Record.push_back(D->isKNRPromoted()); Record.push_back(D->hasInheritedDefaultArg()); Record.push_back(D->hasUninstantiatedDefaultArg()); if (D->hasUninstantiatedDefaultArg()) @@ -595,6 +596,7 @@ void ASTDeclWriter::VisitParmVarDecl(ParmVarDecl *D) { D->getStorageClass() == 0 && !D->hasCXXDirectInitializer() && // Can params have this ever? D->getObjCDeclQualifier() == 0 && + !D->isKNRPromoted() && !D->hasInheritedDefaultArg() && D->getInit() == 0 && !D->hasUninstantiatedDefaultArg()) // No default expr. @@ -1147,6 +1149,7 @@ void ASTWriter::WriteDeclsBlockAbbrevs() { Abv->Add(BitCodeAbbrevOp(0)); // HasMemberSpecializationInfo // ParmVarDecl Abv->Add(BitCodeAbbrevOp(0)); // ObjCDeclQualifier + Abv->Add(BitCodeAbbrevOp(0)); // KNRPromoted Abv->Add(BitCodeAbbrevOp(0)); // HasInheritedDefaultArg Abv->Add(BitCodeAbbrevOp(0)); // HasUninstantiatedDefaultArg |