From 3b5494be29a393f2e0fd8e413b094e4f6c95c800 Mon Sep 17 00:00:00 2001 From: Sean Silva <chisophugis@gmail.com> Date: Fri, 15 Aug 2014 18:58:09 +0000 Subject: [PATCH] [cleanup] Factor out adjusting "cl.exe" to "clang-cl.exe". NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215754 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/driver/driver.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp index 2540aaf3d4f..d9cc527fbd3 100644 --- a/tools/driver/driver.cpp +++ b/tools/driver/driver.cpp @@ -310,6 +310,16 @@ static void HandleDriverEnvVars(Driver &TheDriver) { TheDriver.CCLogDiagnosticsFilename = ::getenv("CC_LOG_DIAGNOSTICS_FILE"); } +static void FixupDiagPrefixExeName(TextDiagnosticPrinter *DiagClient, + const std::string &Path) { + // If the clang binary happens to be named cl.exe for compatibility reasons, + // use clang-cl.exe as the prefix to avoid confusion between clang and MSVC. + StringRef ExeBasename(llvm::sys::path::filename(Path)); + if (ExeBasename.equals_lower("cl.exe")) + ExeBasename = "clang-cl.exe"; + DiagClient->setPrefix(ExeBasename); +} + int main(int argc_, const char **argv_) { llvm::sys::PrintStackTraceOnErrorSignal(); llvm::PrettyStackTraceProgram X(argc_, argv_); @@ -375,13 +385,7 @@ int main(int argc_, const char **argv_) { // DiagnosticOptions instance. TextDiagnosticPrinter *DiagClient = new TextDiagnosticPrinter(llvm::errs(), &*DiagOpts); - - // If the clang binary happens to be named cl.exe for compatibility reasons, - // use clang-cl.exe as the prefix to avoid confusion between clang and MSVC. - StringRef ExeBasename(llvm::sys::path::filename(Path)); - if (ExeBasename.equals_lower("cl.exe")) - ExeBasename = "clang-cl.exe"; - DiagClient->setPrefix(ExeBasename); + FixupDiagPrefixExeName(DiagClient, Path); IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs()); -- GitLab