Switch some of these interfaces from std::string to StringRef and Twine.
This will facilitate further use and recombinations of them.
llvm-svn: 143869
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index df01fc9..0a8aa7a 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -1780,9 +1780,8 @@
}
}
-static void addPathIfExists(const std::string &Path,
- ToolChain::path_list &Paths) {
- if (llvm::sys::fs::exists(Path)) Paths.push_back(Path);
+static void addPathIfExists(Twine Path, ToolChain::path_list &Paths) {
+ if (llvm::sys::fs::exists(Path)) Paths.push_back(Path.str());
}
/// \brief Get our best guess at the multiarch triple for a target.
@@ -1823,8 +1822,8 @@
// OpenSuse stores the linker with the compiler, add that to the search
// path.
ToolChain::path_list &PPaths = getProgramPaths();
- PPaths.push_back(GCCInstallation.getParentLibPath() + "/../" +
- GCCInstallation.getTriple() + "/bin");
+ PPaths.push_back(Twine(GCCInstallation.getParentLibPath() + "/../" +
+ GCCInstallation.getTriple() + "/bin").str());
Linker = GetProgramPath("ld");
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h
index 0ae0e53..57b14cc 100644
--- a/clang/lib/Driver/ToolChains.h
+++ b/clang/lib/Driver/ToolChains.h
@@ -396,13 +396,13 @@
bool isValid() const { return IsValid; }
/// \brief Get the GCC triple for the detected install.
- const std::string &getTriple() const { return GccTriple; }
+ StringRef getTriple() const { return GccTriple; }
/// \brief Get the detected GCC installation path.
- const std::string &getInstallPath() const { return GccInstallPath; }
+ StringRef getInstallPath() const { return GccInstallPath; }
/// \brief Get the detected GCC parent lib path.
- const std::string &getParentLibPath() const { return GccParentLibPath; }
+ StringRef getParentLibPath() const { return GccParentLibPath; }
private:
static void CollectLibDirsAndTriples(llvm::Triple::ArchType HostArch,