summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/PCHWriter.cpp
diff options
context:
space:
mode:
authorSebastian Redl <sebastian.redl@getdesigned.at>2010-08-04 22:21:29 +0000
committerSebastian Redl <sebastian.redl@getdesigned.at>2010-08-04 22:21:29 +0000
commit51c79d874025bcf63defd9acc86880c1b11d79ae (patch)
tree878336b361043bf60112516296bf73f1bf79560a /clang/lib/Frontend/PCHWriter.cpp
parent8732d966e19fe94cbc1343a8a5bf05023f25d279 (diff)
downloadbcm5719-llvm-51c79d874025bcf63defd9acc86880c1b11d79ae.tar.gz
bcm5719-llvm-51c79d874025bcf63defd9acc86880c1b11d79ae.zip
Activate selectors in chained PCH. Chained PCH now works for Objective-C.
llvm-svn: 110262
Diffstat (limited to 'clang/lib/Frontend/PCHWriter.cpp')
-rw-r--r--clang/lib/Frontend/PCHWriter.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp
index 53c05c8fdf2..d5750a1f504 100644
--- a/clang/lib/Frontend/PCHWriter.cpp
+++ b/clang/lib/Frontend/PCHWriter.cpp
@@ -1752,6 +1752,9 @@ void PCHWriter::WriteReferencedSelectorsPool(Sema &SemaRef) {
RecordData Record;
+ // Note: this writes out all references even for a dependent PCH. But it is
+ // very tricky to fix, and given that @selector shouldn't really appear in
+ // headers, probably not worth it. It's not a correctness issue.
for (DenseMap<Selector, SourceLocation>::iterator S =
SemaRef.ReferencedSelectors.begin(),
E = SemaRef.ReferencedSelectors.end(); S != E; ++S) {
@@ -2435,7 +2438,8 @@ void PCHWriter::WritePCHChain(Sema &SemaRef, MemorizeStatCalls *StatCalls,
Stream.ExitBlock();
WritePreprocessor(PP);
- // FIXME: Method pool
+ WriteSelectors(SemaRef);
+ WriteReferencedSelectorsPool(SemaRef);
WriteIdentifierTable(PP);
WriteTypeDeclOffsets();
OpenPOWER on IntegriCloud