diff options
author | John McCall <rjmccall@apple.com> | 2010-06-04 11:21:44 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-06-04 11:21:44 +0000 |
commit | 82dc00948fe7116edd31bfa07a728fda98648be1 (patch) | |
tree | 521a7a2cd971f91ef97ded6dd5a86cea91329bf3 /lib/Frontend/PCHReaderDecl.cpp | |
parent | ea7b4880bc07cd99b3994c2a95d722a06ab56594 (diff) |
Restructure how we interpret block-literal declarators. Correctly handle
the case where we pick up block arguments from a typedef. Save the block
signature as it was written, and preserve same through PCH.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@105466 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReaderDecl.cpp')
-rw-r--r-- | lib/Frontend/PCHReaderDecl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Frontend/PCHReaderDecl.cpp b/lib/Frontend/PCHReaderDecl.cpp index 606e852385..8b7b66c2b8 100644 --- a/lib/Frontend/PCHReaderDecl.cpp +++ b/lib/Frontend/PCHReaderDecl.cpp @@ -462,6 +462,7 @@ void PCHDeclReader::VisitFileScopeAsmDecl(FileScopeAsmDecl *AD) { void PCHDeclReader::VisitBlockDecl(BlockDecl *BD) { VisitDecl(BD); BD->setBody(cast_or_null<CompoundStmt>(Reader.ReadDeclStmt())); + BD->setSignatureAsWritten(Reader.GetTypeSourceInfo(Record, Idx)); unsigned NumParams = Record[Idx++]; llvm::SmallVector<ParmVarDecl *, 16> Params; Params.reserve(NumParams); |