diff options
Diffstat (limited to 'Driver/clang.cpp')
-rw-r--r-- | Driver/clang.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Driver/clang.cpp b/Driver/clang.cpp index 5c89ed0776..2870c3dec0 100644 --- a/Driver/clang.cpp +++ b/Driver/clang.cpp @@ -155,6 +155,15 @@ static llvm::cl::opt<bool> 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 @@ static bool InitializePreprocessor(Preprocessor &PP, 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; } |