diff options
author | Reid Kleckner <reid@kleckner.net> | 2013-09-04 01:37:22 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2013-09-04 01:37:22 +0000 |
commit | dc74af1ab8fb0897c7ac2571070130f90462005f (patch) | |
tree | 20ac0db6960f3653f92d6f5ccc6cca4899212d64 /clang/tools/driver/driver.cpp | |
parent | 8bd0ac113522d44f9ae89940fd11b9a948aa37f9 (diff) | |
download | bcm5719-llvm-dc74af1ab8fb0897c7ac2571070130f90462005f.tar.gz bcm5719-llvm-dc74af1ab8fb0897c7ac2571070130f90462005f.zip |
clang-cl: Avoid confusing diagnostics when clang-cl is called just cl.exe
llvm-svn: 189901
Diffstat (limited to 'clang/tools/driver/driver.cpp')
-rw-r--r-- | clang/tools/driver/driver.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/tools/driver/driver.cpp b/clang/tools/driver/driver.cpp index 88863ab0661..15936bf219f 100644 --- a/clang/tools/driver/driver.cpp +++ b/clang/tools/driver/driver.cpp @@ -346,7 +346,14 @@ int main(int argc_, const char **argv_) { // DiagnosticOptions instance. TextDiagnosticPrinter *DiagClient = new TextDiagnosticPrinter(llvm::errs(), &*DiagOpts); - DiagClient->setPrefix(llvm::sys::path::filename(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.trim().equals_lower("cl.exe")) + ExeBasename = "clang-cl.exe"; + DiagClient->setPrefix(ExeBasename); + IntrusiveRefCntPtr<DiagnosticIDs> DiagID(new DiagnosticIDs()); DiagnosticsEngine Diags(DiagID, &*DiagOpts, DiagClient); |