diff options
| author | Justin Lebar <jlebar@google.com> | 2017-01-05 16:52:29 +0000 |
|---|---|---|
| committer | Justin Lebar <jlebar@google.com> | 2017-01-05 16:52:29 +0000 |
| commit | 58891907fe67f270dcb4ed29671f094b4920d234 (patch) | |
| tree | 8d9ca92e38da3bc37ed17f29edfbe173f0f4b6ca /clang/lib/Driver/MinGWToolChain.cpp | |
| parent | dda1d844fb655e9f2c7447f330e8e73614581474 (diff) | |
| download | bcm5719-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.cpp | 11 |
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 |

