From d78f3577e6b57c7a6bce0d621240dd3bf6edf663 Mon Sep 17 00:00:00 2001 From: Jan Vesely Date: Thu, 30 Jan 2020 01:23:54 -0500 Subject: [PATCH] clover: Use explicit conversion from llvm::StringRef to std::string Fixes build after llvm 777180a32b61070a10dd330b4f038bf24e916af1 ("[ADT] Make StringRef's std::string conversion operator explicit") CC: Signed-off-by: Jan Vesely Reviewed-by: Francisco Jerez (cherry picked from commit 0ccda2ebff83816cecf4dcb48f367a0d5c8f5fb1) --- .pick_status.json | 2 +- src/gallium/state_trackers/clover/llvm/codegen/common.cpp | 3 ++- src/gallium/state_trackers/clover/llvm/metadata.hpp | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index c94640f245c..bbb7b71b280 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -157,7 +157,7 @@ "description": "clover: Use explicit conversion from llvm::StringRef to std::string", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": null }, diff --git a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp index 3879fb61a02..dcb0032a839 100644 --- a/src/gallium/state_trackers/clover/llvm/codegen/common.cpp +++ b/src/gallium/state_trackers/clover/llvm/codegen/common.cpp @@ -197,8 +197,9 @@ clover::llvm::build_module_common(const Module &mod, const clang::CompilerInstance &c) { module m; - for (const auto &name : map(std::mem_fn(&Function::getName), + for (const auto &llvm_name : map(std::mem_fn(&Function::getName), get_kernels(mod))) { + const ::std::string name(llvm_name); if (offsets.count(name)) m.syms.emplace_back(name, 0, offsets.at(name), make_kernel_args(mod, name, c)); diff --git a/src/gallium/state_trackers/clover/llvm/metadata.hpp b/src/gallium/state_trackers/clover/llvm/metadata.hpp index 5e8e720843d..58042f4b4da 100644 --- a/src/gallium/state_trackers/clover/llvm/metadata.hpp +++ b/src/gallium/state_trackers/clover/llvm/metadata.hpp @@ -62,7 +62,7 @@ namespace clover { const std::string &name) { return ::llvm::cast< ::llvm::MDString>( detail::get_kernel_metadata_operands(f, name)[arg.getArgNo()]) - ->getString(); + ->getString().str(); } /// -- 2.11.0