diff options
author | Justin Lebar <jlebar@google.com> | 2016-06-15 23:46:11 +0000 |
---|---|---|
committer | Justin Lebar <jlebar@google.com> | 2016-06-15 23:46:11 +0000 |
commit | 4db224e199e9f0903cc1e80c5d3869346ea67b5f (patch) | |
tree | 2048aa303721db3e3da6faa05a8a90c3b0229c29 /clang/lib/Driver/ToolChains.cpp | |
parent | Fix sanitizer-ld test. (diff) | |
download | llvm-project-4db224e199e9f0903cc1e80c5d3869346ea67b5f.tar.gz llvm-project-4db224e199e9f0903cc1e80c5d3869346ea67b5f.tar.bz2 llvm-project-4db224e199e9f0903cc1e80c5d3869346ea67b5f.zip |
[CUDA] Don't pass top-level -march down to device cc1 or ptxas.
Summary:
Previously if you did e.g.
$ clang -march=haswell -x cuda foo.cu
we would pass "-march=haswell -march=sm_20" down to the ptxas tool.
This causes it to assert, and rightly so!
Reviewers: tra
Subscribers: cfe-commits, echristo
Differential Revision: http://reviews.llvm.org/D21419
llvm-svn: 272857
Diffstat (limited to 'clang/lib/Driver/ToolChains.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index fcc6dfe35d59..5043e53f164a 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -4676,8 +4676,10 @@ CudaToolChain::TranslateArgs(const llvm::opt::DerivedArgList &Args, DAL->append(A); } - if (BoundArch) + if (BoundArch) { + DAL->eraseArg(options::OPT_march_EQ); DAL->AddJoinedArg(nullptr, Opts.getOption(options::OPT_march_EQ), BoundArch); + } return DAL; } |