diff options
author | John McCall <rjmccall@apple.com> | 2012-04-13 17:33:29 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2012-04-13 17:33:29 +0000 |
commit | b8896146703a2206782337efa1d391447e6b383e (patch) | |
tree | 5949c7f008cf506f8cf08171fb6922bad48cd752 | |
parent | ba8be8c422064b9bda68bdfa28d7f2775e9147f4 (diff) |
Serialize and deserialize some missing bits from BlockDecl.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154676 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Serialization/ASTReaderDecl.cpp | 4 | ||||
-rw-r--r-- | lib/Serialization/ASTWriterDecl.cpp | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp index 5db5f9252b..38b612cbd9 100644 --- a/lib/Serialization/ASTReaderDecl.cpp +++ b/lib/Serialization/ASTReaderDecl.cpp @@ -955,6 +955,10 @@ void ASTDeclReader::VisitBlockDecl(BlockDecl *BD) { Params.push_back(ReadDeclAs<ParmVarDecl>(Record, Idx)); BD->setParams(Params); + BD->setIsVariadic(Record[Idx++]); + BD->setBlockMissingReturnType(Record[Idx++]); + BD->setIsConversionFromLambda(Record[Idx++]); + bool capturesCXXThis = Record[Idx++]; unsigned numCaptures = Record[Idx++]; SmallVector<BlockDecl::Capture, 16> captures; diff --git a/lib/Serialization/ASTWriterDecl.cpp b/lib/Serialization/ASTWriterDecl.cpp index 7a4ef63bb3..1ee3ac480b 100644 --- a/lib/Serialization/ASTWriterDecl.cpp +++ b/lib/Serialization/ASTWriterDecl.cpp @@ -775,6 +775,9 @@ void ASTDeclWriter::VisitBlockDecl(BlockDecl *D) { for (FunctionDecl::param_iterator P = D->param_begin(), PEnd = D->param_end(); P != PEnd; ++P) Writer.AddDeclRef(*P, Record); + Record.push_back(D->isVariadic()); + Record.push_back(D->blockMissingReturnType()); + Record.push_back(D->isConversionFromLambda()); Record.push_back(D->capturesCXXThis()); Record.push_back(D->getNumCaptures()); for (BlockDecl::capture_iterator |