llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Kazu Hirata (kazutakahirata) <details> <summary>Changes</summary> Note that LLVM Coding Standards discourages std::for_each and llvm::for_each unless the callable object already exists. --- Full diff: https://github.com/llvm/llvm-project/pull/146987.diff 2 Files Affected: - (modified) clang/lib/Driver/ToolChains/HIPAMD.cpp (+7-4) - (modified) clang/lib/Driver/ToolChains/HIPSPV.cpp (+7-4) ``````````diff diff --git a/clang/lib/Driver/ToolChains/HIPAMD.cpp b/clang/lib/Driver/ToolChains/HIPAMD.cpp index b8f3a70ee827e..5fe0f85ef09af 100644 --- a/clang/lib/Driver/ToolChains/HIPAMD.cpp +++ b/clang/lib/Driver/ToolChains/HIPAMD.cpp @@ -372,19 +372,22 @@ HIPAMDToolChain::getDeviceLibs(const llvm::opt::ArgList &DriverArgs) const { // Maintain compatability with --hip-device-lib. auto BCLibArgs = DriverArgs.getAllArgValues(options::OPT_hip_device_lib_EQ); if (!BCLibArgs.empty()) { - llvm::for_each(BCLibArgs, [&](StringRef BCName) { + for (StringRef BCName : BCLibArgs) { StringRef FullName; + bool Found = false; for (StringRef LibraryPath : LibraryPaths) { SmallString<128> Path(LibraryPath); llvm::sys::path::append(Path, BCName); FullName = Path; if (llvm::sys::fs::exists(FullName)) { BCLibs.emplace_back(FullName); - return; + Found = true; + break; } } - getDriver().Diag(diag::err_drv_no_such_file) << BCName; - }); + if (!Found) + getDriver().Diag(diag::err_drv_no_such_file) << BCName; + } } else { if (!RocmInstallation->hasDeviceLibrary()) { getDriver().Diag(diag::err_drv_no_rocm_device_lib) << 0; diff --git a/clang/lib/Driver/ToolChains/HIPSPV.cpp b/clang/lib/Driver/ToolChains/HIPSPV.cpp index 7c83ebcface2a..53649ca40d99b 100644 --- a/clang/lib/Driver/ToolChains/HIPSPV.cpp +++ b/clang/lib/Driver/ToolChains/HIPSPV.cpp @@ -226,7 +226,8 @@ HIPSPVToolChain::getDeviceLibs(const llvm::opt::ArgList &DriverArgs) const { // Maintain compatability with --hip-device-lib. auto BCLibArgs = DriverArgs.getAllArgValues(options::OPT_hip_device_lib_EQ); if (!BCLibArgs.empty()) { - llvm::for_each(BCLibArgs, [&](StringRef BCName) { + bool Found = false; + for (StringRef BCName : BCLibArgs) { StringRef FullName; for (std::string LibraryPath : LibraryPaths) { SmallString<128> Path(LibraryPath); @@ -234,11 +235,13 @@ HIPSPVToolChain::getDeviceLibs(const llvm::opt::ArgList &DriverArgs) const { FullName = Path; if (llvm::sys::fs::exists(FullName)) { BCLibs.emplace_back(FullName.str()); - return; + Found = true; + break; } } - getDriver().Diag(diag::err_drv_no_such_file) << BCName; - }); + if (!Found) + getDriver().Diag(diag::err_drv_no_such_file) << BCName; + } } else { // Search device library named as 'hipspv-<triple>.bc'. auto TT = getTriple().normalize(); `````````` </details> https://github.com/llvm/llvm-project/pull/146987 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits