diff options
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r-- | clang/tools/driver/driver.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 12038de..ffd157e 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -355,10 +355,12 @@ int clang_main(int Argc, char **Argv, const llvm::ToolContext &ToolContext) { if (!SetBackdoorDriverOutputsFromEnvVars(TheDriver)) return 1; + auto ExecuteCC1WithContext = + [&ToolContext](SmallVectorImpl<const char *> &ArgV) { + return ExecuteCC1Tool(ArgV, ToolContext); + }; if (!UseNewCC1Process) { - TheDriver.CC1Main = [ToolContext](SmallVectorImpl<const char *> &ArgV) { - return ExecuteCC1Tool(ArgV, ToolContext); - }; + TheDriver.CC1Main = ExecuteCC1WithContext; // Ensure the CC1Command actually catches cc1 crashes llvm::CrashRecoveryContext::Enable(); } |