]> granicus.if.org Git - clang/commitdiff
Serialize and deserialize some missing bits from BlockDecl.
authorJohn McCall <rjmccall@apple.com>
Fri, 13 Apr 2012 17:33:29 +0000 (17:33 +0000)
committerJohn McCall <rjmccall@apple.com>
Fri, 13 Apr 2012 17:33:29 +0000 (17:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154676 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp

index 5db5f9252b7f2c680cb98e0dafc75131f7655750..38b612cbd9ea47a69ef98b0cb258db858d82fa78 100644 (file)
@@ -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;
index 7a4ef63bb3f6c46b74ca1f7550376c59cd7353a9..1ee3ac480b6fd3b24f58d19264ab65314bedff5b 100644 (file)
@@ -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