Index: clang/include/clang/Basic/Cuda.h =================================================================== --- clang/include/clang/Basic/Cuda.h +++ clang/include/clang/Basic/Cuda.h @@ -27,7 +27,8 @@ CUDA_92, CUDA_100, CUDA_101, - LATEST = CUDA_101, + CUDA_102, + LATEST = CUDA_102, }; const char *CudaVersionToString(CudaVersion V); // Input is "Major.Minor" Index: clang/lib/Basic/Cuda.cpp =================================================================== --- clang/lib/Basic/Cuda.cpp +++ clang/lib/Basic/Cuda.cpp @@ -28,6 +28,8 @@ return "10.0"; case CudaVersion::CUDA_101: return "10.1"; + case CudaVersion::CUDA_102: + return "10.2"; } llvm_unreachable("invalid enum"); } @@ -42,6 +44,7 @@ .Case("9.2", CudaVersion::CUDA_92) .Case("10.0", CudaVersion::CUDA_100) .Case("10.1", CudaVersion::CUDA_101) + .Case("10.2", CudaVersion::CUDA_102) .Default(CudaVersion::UNKNOWN); } @@ -382,6 +385,8 @@ return CudaVersion::CUDA_100; case 101: return CudaVersion::CUDA_101; + case 102: + return CudaVersion::CUDA_102; default: return CudaVersion::UNKNOWN; } Index: clang/lib/Driver/ToolChains/Cuda.cpp =================================================================== --- clang/lib/Driver/ToolChains/Cuda.cpp +++ clang/lib/Driver/ToolChains/Cuda.cpp @@ -634,6 +634,7 @@ // back-end. const char *PtxFeature = nullptr; switch(CudaInstallation.version()) { + case CudaVersion::CUDA_102: case CudaVersion::CUDA_101: PtxFeature = "+ptx64"; break;