Add "-token-cache" option for using pretokenized cache files.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@60440 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/clang.cpp b/Driver/clang.cpp
index 5c89ed0..2870c3d 100644
--- a/Driver/clang.cpp
+++ b/Driver/clang.cpp
@@ -155,6 +155,15 @@
GenerateDebugInfo("g",
llvm::cl::desc("Generate source level debug information"));
+
+//===----------------------------------------------------------------------===//
+// PTH.
+//===----------------------------------------------------------------------===//
+
+static llvm::cl::opt<std::string>
+TokenCache("token-cache", llvm::cl::value_desc("path"),
+ llvm::cl::desc("Use specified token cache file"));
+
//===----------------------------------------------------------------------===//
// Diagnostic Options
//===----------------------------------------------------------------------===//
@@ -904,6 +913,12 @@
PredefineBuffer.push_back(0);
PP.setPredefines(&PredefineBuffer[0]);
+ // Use PTH.
+ if (!TokenCache.empty()) {
+ PTHManager* PM = PTHManager::Create(TokenCache, PP);
+ if (PM) PP.setPTHManager(PM);
+ }
+
// Once we've read this, we're done.
return false;
}