diff options
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Driver/Driver.cpp | 6 | ||||
-rw-r--r-- | clang/lib/Driver/ToolChains/Cuda.cpp | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 211a65e..ce40df2 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -810,6 +810,12 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C, if (!CudaTC) { CudaTC = std::make_unique<toolchains::CudaToolChain>( *this, *CudaTriple, *HostTC, C.getInputArgs()); + + // Emit a warning if the detected CUDA version is too new. + CudaInstallationDetector &CudaInstallation = + static_cast<toolchains::CudaToolChain &>(*CudaTC).CudaInstallation; + if (CudaInstallation.isValid()) + CudaInstallation.WarnIfUnsupportedVersion(); } C.addOffloadDeviceToolChain(CudaTC.get(), OFK); } else if (IsHIP) { diff --git a/clang/lib/Driver/ToolChains/Cuda.cpp b/clang/lib/Driver/ToolChains/Cuda.cpp index 2862ef4..3a577650 100644 --- a/clang/lib/Driver/ToolChains/Cuda.cpp +++ b/clang/lib/Driver/ToolChains/Cuda.cpp @@ -704,10 +704,8 @@ NVPTXToolChain::NVPTXToolChain(const Driver &D, const llvm::Triple &Triple, const ArgList &Args, bool Freestanding = false) : ToolChain(D, Triple, Args), CudaInstallation(D, HostTriple, Args), Freestanding(Freestanding) { - if (CudaInstallation.isValid()) { - CudaInstallation.WarnIfUnsupportedVersion(); + if (CudaInstallation.isValid()) getProgramPaths().push_back(std::string(CudaInstallation.getBinPath())); - } // Lookup binaries into the driver directory, this is used to // discover the 'nvptx-arch' executable. getProgramPaths().push_back(getDriver().Dir); |