driver, bridge: explicitly convert llvm::StringRef to std::string
LLVM no longer allows StringRef implicitly converting to
std::string. Use explicit conversions.
Fixes golang/go#36912.
Change-Id: I8861076db85e61488176b92d9639be312269d060
Reviewed-on: https://go-review.googlesource.com/c/gollvm/+/217337
Reviewed-by: Ian Lance Taylor <iant@golang.org>
diff --git a/bridge/go-llvm-materialize.cpp b/bridge/go-llvm-materialize.cpp
index 5ce47bf..d833706 100644
--- a/bridge/go-llvm-materialize.cpp
+++ b/bridge/go-llvm-materialize.cpp
@@ -1496,7 +1496,7 @@
llvm::Value *callValue = nullptr;
if (llvm::isa<llvm::Function>(fnval)) {
llvm::Function *fcn = llvm::cast<llvm::Function>(fnval);
- BuiltinEntry *be = builtinTable_->lookup(fcn->getName());
+ BuiltinEntry *be = builtinTable_->lookup(fcn->getName().str());
if (be) {
BuiltinExprMaker makerfn = be->exprMaker();
if (makerfn)
diff --git a/bridge/go-sha1.cpp b/bridge/go-sha1.cpp
index cc1d5ff..0fa9279 100644
--- a/bridge/go-sha1.cpp
+++ b/bridge/go-sha1.cpp
@@ -46,7 +46,7 @@
std::string
Llvm_Sha1_Helper::finish()
{
- std::string result(ctx_->final(), 0, checksum_len);
+ std::string result(ctx_->final().str(), 0, checksum_len);
return result;
}
diff --git a/driver/CompileGo.cpp b/driver/CompileGo.cpp
index 2dd64c0..9bbce86 100644
--- a/driver/CompileGo.cpp
+++ b/driver/CompileGo.cpp
@@ -255,7 +255,7 @@
void CompileGoImpl::dumpArg(opt::Arg &arg, bool doquote)
{
if (arg.getOption().getKind() != opt::Option::InputClass)
- quoteDump(arg.getSpelling(), doquote);
+ quoteDump(arg.getSpelling().str(), doquote);
for (auto &val : arg.getValues())
quoteDump(val, doquote);
}
@@ -422,7 +422,7 @@
errs() << progname_ << ": unable to access file: " << fname << "\n";
return false;
}
- sampleProfileFile_ = fname;
+ sampleProfileFile_ = fname.str();
}
}
@@ -526,7 +526,7 @@
if (cpuarg != nullptr) {
std::string val(cpuarg->getValue());
if (val == "native")
- cpuStr = sys::getHostCPUName();
+ cpuStr = sys::getHostCPUName().str();
else
cpuStr = cpuarg->getValue();
}
diff --git a/driver/Driver.cpp b/driver/Driver.cpp
index dc65e5b..8db03f2 100644
--- a/driver/Driver.cpp
+++ b/driver/Driver.cpp
@@ -50,7 +50,7 @@
}
SmallString<128> abspath(executablePath_);
llvm::sys::fs::make_absolute(abspath);
- installDir_ = llvm::sys::path::parent_path(abspath);
+ installDir_ = llvm::sys::path::parent_path(abspath).str();
prefixes_ = args.getAllArgValues(gollvm::options::OPT_B);
}
@@ -105,17 +105,17 @@
llvm::SmallString<256> installed(installedLibDir());
llvm::sys::path::append(installed, name);
if (llvm::sys::fs::exists(llvm::Twine(installed)))
- return installed.str();
+ return std::string(installed);
// Examine toolchain file paths.
for (const auto &dir : toolchain.filePaths()) {
llvm::SmallString<256> candidate(dir);
llvm::sys::path::append(candidate, name);
if (llvm::sys::fs::exists(llvm::Twine(candidate)))
- return candidate.str();
+ return std::string(candidate);
}
- return name;
+ return name.str();
}
std::string Driver::getProgramPath(llvm::StringRef name,
@@ -126,7 +126,7 @@
for (auto p : prefixes_)
candidates.push_back((p + name).str());
candidates.push_back((triple_.str() + "-" + name).str());
- candidates.push_back(name);
+ candidates.push_back(name.str());
// Examine toolchain program paths.
for (auto &dir : toolchain.programPaths()) {
@@ -134,7 +134,7 @@
llvm::SmallString<256> candidate(dir);
llvm::sys::path::append(candidate, cand);
if (llvm::sys::fs::can_execute(llvm::Twine(candidate)))
- return candidate.str();
+ return std::string(candidate);
}
}
@@ -146,7 +146,7 @@
return *pcand;
}
- return name;
+ return name.str();
}
// FIXME: some platforms have PIE enabled by default; we don't
diff --git a/driver/GccUtils.cpp b/driver/GccUtils.cpp
index 78b88f3..f8f8c8e 100644
--- a/driver/GccUtils.cpp
+++ b/driver/GccUtils.cpp
@@ -87,7 +87,7 @@
llvm::StringRef(tokens[0]).getAsInteger(10, result.maj_) ||
result.maj_ < 4)
return bad;
- result.text_ = vtext;
+ result.text_ = vtext.str();
if (tokens.size() == 1)
return result;
diff --git a/driver/LinuxToolChain.cpp b/driver/LinuxToolChain.cpp
index dfce121..cc41379 100644
--- a/driver/LinuxToolChain.cpp
+++ b/driver/LinuxToolChain.cpp
@@ -64,7 +64,7 @@
// File paths
pathlist &fpaths = filePaths();
addIfPathExists(fpaths, gccDetector_.getLibPath());
- std::string osLibDir = getOSLibDir(targetTriple);
+ std::string osLibDir = getOSLibDir(targetTriple).str();
if (!driver.sysRoot().empty())
osLibDir = driver.sysRoot() + "/" + osLibDir;
addIfPathExists(fpaths, llvm::Twine(gccDetector_.getParentLibPath() +