Browse Source

[MinGW] Try to fix asan testing after r330244

Twines shouldn't be stored as they can refer to temporaries.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@330277 91177308-0d34-0410-b5e6-96231b3b80d8
Martin Storsjo 7 years ago
parent
commit
a33893a32b
1 changed files with 5 additions and 6 deletions
  1. 5 6
      lib/Driver/ToolChains/MinGW.cpp

+ 5 - 6
lib/Driver/ToolChains/MinGW.cpp

@@ -308,14 +308,13 @@ llvm::ErrorOr<std::string> toolchains::MinGW::findClangRelativeSysroot() {
   Subdirs.emplace_back(getTriple().str());
   Subdirs.emplace_back(getTriple().getArchName());
   Subdirs[1] += "-w64-mingw32";
-  Twine ClangRoot =
-      llvm::sys::path::parent_path(getDriver().getInstalledDir()) +
-      llvm::sys::path::get_separator();
+  StringRef ClangRoot =
+      llvm::sys::path::parent_path(getDriver().getInstalledDir());
+  StringRef Sep = llvm::sys::path::get_separator();
   for (StringRef CandidateSubdir : Subdirs) {
-    Twine Subdir = ClangRoot + CandidateSubdir;
-    if (llvm::sys::fs::is_directory(Subdir)) {
+    if (llvm::sys::fs::is_directory(ClangRoot + Sep + CandidateSubdir)) {
       Arch = CandidateSubdir;
-      return Subdir.str();
+      return (ClangRoot + Sep + CandidateSubdir).str();
     }
   }
   return make_error_code(std::errc::no_such_file_or_directory);