llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT--> @llvm/pr-subscribers-clang-driver Author: Joseph Huber (jhuber6) <details> <summary>Changes</summary> Summary: We were looking for `flang_rt.builtins` instead of `flang_rt.runtime`. Also adds a test so we know that it actually works. --- Full diff: https://github.com/llvm/llvm-project/pull/180971.diff 3 Files Affected: - (modified) clang/lib/Driver/ToolChains/Clang.cpp (+8-3) - (added) clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a () - (added) clang/test/Driver/offload.f90 (+5) ``````````diff diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 87d4d73748940..0819d2fef52e3 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -9403,13 +9403,18 @@ void LinkerWrapper::ConstructJob(Compilation &C, const JobAction &JA, "--device-linker=" + TC.getTripleString() + "=" + "-lm")); } auto HasCompilerRT = getToolChain().getVFS().exists( - TC.getCompilerRT(Args, "builtins", ToolChain::FT_Static)); + TC.getCompilerRT(Args, "builtins", ToolChain::FT_Static, + /*IsFortran=*/false)); if (HasCompilerRT) CmdArgs.push_back( Args.MakeArgString("--device-linker=" + TC.getTripleString() + "=" + "-lclang_rt.builtins")); - bool HasFlangRT = HasCompilerRT && C.getDriver().IsFlangMode(); - if (HasFlangRT) + + bool HasFlangRT = getToolChain().getVFS().exists( + TC.getCompilerRT(Args, "runtime", ToolChain::FT_Static, + /*IsFortran=*/true)); + + if (HasFlangRT && C.getDriver().IsFlangMode()) CmdArgs.push_back( Args.MakeArgString("--device-linker=" + TC.getTripleString() + "=" + "-lflang_rt.runtime")); diff --git a/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a b/clang/test/Driver/Inputs/resource_dir_with_per_target_subdir/lib/amdgcn-amd-amdhsa/libflang_rt.runtime.a new file mode 100644 index 0000000000000..e69de29bb2d1d diff --git a/clang/test/Driver/offload.f90 b/clang/test/Driver/offload.f90 new file mode 100644 index 0000000000000..5f49f69f4d8f8 --- /dev/null +++ b/clang/test/Driver/offload.f90 @@ -0,0 +1,5 @@ +// RUN: %clang -### --driver-mode=flang --target=x86_64-unknown-linux-gnu \ +// RUN: -resource-dir %S/Inputs/resource_dir_with_per_target_subdir \ +// RUN: --rocm-path=%S/Inputs/rocm -fopenmp --offload-arch=gfx908 \ +// RUN: %s 2>&1 | FileCheck %s --check-prefix=CHECK-FLANG-RT +// CHECK-FLANG-RT: clang-linker-wrapper{{.*}}"--device-linker=amdgcn-amd-amdhsa=-lflang_rt.runtime"{{.*}}"-lflang_rt.runtime" `````````` </details> https://github.com/llvm/llvm-project/pull/180971 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
