summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/PCHWriter.cpp
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2009-04-24 20:03:17 +0000
committerSteve Naroff <snaroff@apple.com>2009-04-24 20:03:17 +0000
commit3fa455a1aad9ec64de07e889f5a40cf2a7e06348 (patch)
tree019245664bc2410d34fe17ee2008f9d1be02255b /clang/lib/Frontend/PCHWriter.cpp
parent53c5b7e0bd2d2000339aa6856e75b98235e7edf9 (diff)
downloadbcm5719-llvm-3fa455a1aad9ec64de07e889f5a40cf2a7e06348.tar.gz
bcm5719-llvm-3fa455a1aad9ec64de07e889f5a40cf2a7e06348.zip
Add PCH support for #import.
llvm-svn: 69987
Diffstat (limited to 'clang/lib/Frontend/PCHWriter.cpp')
-rw-r--r--clang/lib/Frontend/PCHWriter.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHWriter.cpp b/clang/lib/Frontend/PCHWriter.cpp
index 1af093a1cc7..de4b9990b12 100644
--- a/clang/lib/Frontend/PCHWriter.cpp
+++ b/clang/lib/Frontend/PCHWriter.cpp
@@ -23,6 +23,7 @@
#include "clang/AST/Type.h"
#include "clang/Lex/MacroInfo.h"
#include "clang/Lex/Preprocessor.h"
+#include "clang/Lex/HeaderSearch.h"
#include "clang/Basic/FileManager.h"
#include "clang/Basic/OnDiskHashTable.h"
#include "clang/Basic/SourceManager.h"
@@ -1547,7 +1548,22 @@ void PCHWriter::WritePreprocessor(const Preprocessor &PP) {
}
++NumMacros;
}
-
+
+ // Loop over all the header files.
+ HeaderSearch &HS = PP.getHeaderSearchInfo();
+ for (HeaderSearch::header_file_iterator I = HS.header_file_begin(),
+ E = HS.header_file_end();
+ I != E; ++I) {
+ Record.push_back((*I).isImport);
+ Record.push_back((*I).DirInfo);
+ Record.push_back((*I).NumIncludes);
+ if ((*I).ControllingMacro)
+ AddIdentifierRef((*I).ControllingMacro, Record);
+ else
+ Record.push_back(0);
+ Stream.EmitRecord(pch::PP_HEADER_FILE_INFO, Record);
+ Record.clear();
+ }
Stream.ExitBlock();
}
OpenPOWER on IntegriCloud