| From 0ded2b5e1c163ca5a1e529c7e3e3e5f44d1046de Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Mateusz=20Miku=C5=82a?= <mati865@gmail.com> |
| Date: Fri, 20 Nov 2020 13:01:23 +0100 |
| Subject: Use posix style path separators with MinGW |
| |
| --- |
| tools/driver/driver.cpp | 10 ++++++++++ |
| 1 file changed, 10 insertions(+) |
| |
| diff --git a/tools/driver/driver.cpp b/tools/driver/driver.cpp |
| index f24fd61e61a..717e6d11f18 100644 |
| --- a/tools/driver/driver.cpp |
| +++ b/tools/driver/driver.cpp |
| @@ -62,7 +62,12 @@ std::string GetExecutablePath(const char *Argv0, bool CanonicalPrefixes) { |
| if (llvm::ErrorOr<std::string> P = |
| llvm::sys::findProgramByName(ExecutablePath)) |
| ExecutablePath = *P; |
| +#ifndef __MINGW32__ |
| return std::string(ExecutablePath.str()); |
| +#else |
| + return llvm::sys::path::convert_to_slash(std::string(ExecutablePath.str()), |
| + llvm::sys::path::Style::windows); |
| +#endif |
| } |
| |
| // This just needs to be some symbol in the binary; C++ doesn't |
| @@ -296,7 +301,12 @@ static void SetInstallDir(SmallVectorImpl<const char *> &argv, |
| // Attempt to find the original path used to invoke the driver, to determine |
| // the installed path. We do this manually, because we want to support that |
| // path being a symlink. |
| +#ifndef __MINGW32__ |
| SmallString<128> InstalledPath(argv[0]); |
| +#else |
| + SmallString<128> InstalledPath(llvm::sys::path::convert_to_slash( |
| + argv[0], llvm::sys::path::Style::windows)); |
| +#endif |
| |
| // Do a PATH lookup, if there are no directory components. |
| if (llvm::sys::path::filename(InstalledPath) == InstalledPath) |
| -- |
| 2.29.2.windows.2 |
| |