diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-08-21 00:27:50 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-08-21 00:27:50 +0000 |
| commit | a8eed7dabb397b709476a237ccc1bd012d08b727 (patch) | |
| tree | 6d87baed3992509f3dc461e5f50a36b91b93e0f1 /clang/lib/Frontend | |
| parent | 97628d6a4ce229f2936d2b34231bb7dfa432f810 (diff) | |
| download | bcm5719-llvm-a8eed7dabb397b709476a237ccc1bd012d08b727.tar.gz bcm5719-llvm-a8eed7dabb397b709476a237ccc1bd012d08b727.zip | |
Make the new Objective-C "id" and "Class" redefinition types special
types that are preloaded by the PCH file. Fixes PCH breakage
introduced in r79248.
llvm-svn: 79583
Diffstat (limited to 'clang/lib/Frontend')
| -rw-r--r-- | clang/lib/Frontend/PCHReader.cpp | 6 | ||||
| -rw-r--r-- | clang/lib/Frontend/PCHWriter.cpp | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp index aab5dd8783f..b368124f4f6 100644 --- a/clang/lib/Frontend/PCHReader.cpp +++ b/clang/lib/Frontend/PCHReader.cpp @@ -1562,6 +1562,12 @@ void PCHReader::InitializeContext(ASTContext &Ctx) { Context->setsigjmp_bufDecl(Tag->getDecl()); } } + if (unsigned ObjCIdRedef + = SpecialTypes[pch::SPECIAL_TYPE_OBJC_ID_REDEFINITION]) + Context->ObjCIdRedefinitionType = GetType(ObjCIdRedef); + if (unsigned ObjCClassRedef + = SpecialTypes[pch::SPECIAL_TYPE_OBJC_CLASS_REDEFINITION]) + Context->ObjCClassRedefinitionType = GetType(ObjCClassRedef); } /// \brief Retrieve the name of the original source file name diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp index d9c6b1bb7d8..48a1c9d5e3a 100644 --- a/clang/lib/Frontend/PCHWriter.cpp +++ b/clang/lib/Frontend/PCHWriter.cpp @@ -1846,6 +1846,8 @@ void PCHWriter::WritePCH(Sema &SemaRef, MemorizeStatCalls *StatCalls, AddTypeRef(Context.getFILEType(), Record); AddTypeRef(Context.getjmp_bufType(), Record); AddTypeRef(Context.getsigjmp_bufType(), Record); + AddTypeRef(Context.ObjCIdRedefinitionType, Record); + AddTypeRef(Context.ObjCClassRedefinitionType, Record); Stream.EmitRecord(pch::SPECIAL_TYPES, Record); // Keep writing types and declarations until all types and |

