[CUDA] Assume the latest known CUDA version if we've found an unknown one.
authorArtem Belevich <tra@google.com>
Wed, 22 Jan 2020 20:44:22 +0000 (12:44 -0800)
committerArtem Belevich <tra@google.com>
Tue, 28 Jan 2020 18:11:42 +0000 (10:11 -0800)
commit12fefeef203ab4ef52d19bcdbd4180608a4deae1
treeae7a32684e8ec5187b6fdd79ca5be8d9609c269e
parent66e47a57205b1c2a6be3c89413ae9d47b747ed38
[CUDA] Assume the latest known CUDA version if we've found an unknown one.

This makes clang somewhat forward-compatible with new CUDA releases
without having to patch it for every minor release without adding
any new function.

If an unknown version is found, clang issues a warning (can be disabled
with -Wno-cuda-unknown-version) and assumes that it has detected
the latest known version. CUDA releases are usually supersets
of older ones feature-wise, so it should be sufficient to keep
released clang versions working with minor CUDA updates without
having to upgrade clang, too.

Differential Revision: https://reviews.llvm.org/D73231
13 files changed:
clang/include/clang/Basic/Cuda.h
clang/include/clang/Basic/DiagnosticDriverKinds.td
clang/include/clang/Basic/DiagnosticGroups.td
clang/lib/Basic/Cuda.cpp
clang/lib/Driver/ToolChains/Cuda.cpp
clang/lib/Headers/__clang_cuda_runtime_wrapper.h
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/bin/.keep [new file with mode: 0644]
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/include/.keep [new file with mode: 0644]
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/lib/.keep [new file with mode: 0644]
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/lib64/.keep [new file with mode: 0644]
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/nvvm/libdevice/libdevice.10.bc [new file with mode: 0644]
clang/test/Driver/Inputs/CUDA-unknown/usr/local/cuda/version.txt [new file with mode: 0644]
clang/test/Driver/cuda-version-check.cu