summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/MinGWToolChain.cpp
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2017-01-05 16:52:29 +0000
committerJustin Lebar <jlebar@google.com>2017-01-05 16:52:29 +0000
commit58891907fe67f270dcb4ed29671f094b4920d234 (patch)
tree8d9ca92e38da3bc37ed17f29edfbe173f0f4b6ca /clang/lib/Driver/MinGWToolChain.cpp
parentdda1d844fb655e9f2c7447f330e8e73614581474 (diff)
downloadbcm5719-llvm-58891907fe67f270dcb4ed29671f094b4920d234.tar.gz
bcm5719-llvm-58891907fe67f270dcb4ed29671f094b4920d234.zip
[Driver] Driver changes to support CUDA compilation on Windows.
Summary: For the most part this is straightforward: Just add a CudaInstallation object to the MSVC and MinGW toolchains. CudaToolChain has to override computeMSVCVersion so that Clang::constructJob passes the right version flag to cc1. We have to modify IsWindowsMSVC and friends in Clang::constructJob to be true when compiling CUDA device code on Windows for the same reason. Depends on: D28319 Reviewers: tra Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D28320 llvm-svn: 291131
Diffstat (limited to 'clang/lib/Driver/MinGWToolChain.cpp')
-rw-r--r--clang/lib/Driver/MinGWToolChain.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/clang/lib/Driver/MinGWToolChain.cpp b/clang/lib/Driver/MinGWToolChain.cpp
index 938440b08f6..2c8aa93047a 100644
--- a/clang/lib/Driver/MinGWToolChain.cpp
+++ b/clang/lib/Driver/MinGWToolChain.cpp
@@ -63,7 +63,7 @@ void MinGW::findGccLibDir() {
}
MinGW::MinGW(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
- : ToolChain(D, Triple, Args) {
+ : ToolChain(D, Triple, Args), CudaInstallation(D, Triple, Args) {
getProgramPaths().push_back(getDriver().getInstalledDir());
// In Windows there aren't any standard install locations, we search
@@ -135,6 +135,15 @@ bool MinGW::UseSEHExceptions() const {
return getArch() == llvm::Triple::x86_64;
}
+void MinGW::AddCudaIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
+ CudaInstallation.AddCudaIncludeArgs(DriverArgs, CC1Args);
+}
+
+void MinGW::printVerboseInfo(raw_ostream &OS) const {
+ CudaInstallation.print(OS);
+}
+
// Include directories for various hosts:
// Windows, mingw.org
OpenPOWER on IntegriCloud