From: Justin Lebar Date: Thu, 7 Jul 2016 01:06:59 +0000 (+0000) Subject: [CUDA] Fix "control reaches end of non-void function" warnings in Cuda.cpp. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a050a4c9e4bc140b8528293183e9f2550c91721;p=clang [CUDA] Fix "control reaches end of non-void function" warnings in Cuda.cpp. Some compilers are too dumb to realize that the switch statement covers all cases. (Don't use a "default" label, because we explicitly want to get a warning if our switch doesn't cover all the cases.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274713 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Cuda.cpp b/lib/Basic/Cuda.cpp index b4a60eb31a..3264078b98 100644 --- a/lib/Basic/Cuda.cpp +++ b/lib/Basic/Cuda.cpp @@ -2,6 +2,7 @@ #include "llvm/ADT/StringRef.h" #include "llvm/ADT/StringSwitch.h" +#include "llvm/Support/ErrorHandling.h" namespace clang { @@ -16,6 +17,7 @@ const char *CudaVersionToString(CudaVersion V) { case CudaVersion::CUDA_80: return "8.0"; } + llvm_unreachable("invalid enum"); } const char *CudaArchToString(CudaArch A) { @@ -47,6 +49,7 @@ const char *CudaArchToString(CudaArch A) { case CudaArch::SM_62: return "sm_62"; } + llvm_unreachable("invalid enum"); } CudaArch StringToCudaArch(llvm::StringRef S) { @@ -93,6 +96,7 @@ const char *CudaVirtualArchToString(CudaVirtualArch A) { case CudaVirtualArch::COMPUTE_62: return "compute_62"; } + llvm_unreachable("invalid enum"); } CudaVirtualArch StringToCudaVirtualArch(llvm::StringRef S) { @@ -139,6 +143,7 @@ CudaVirtualArch VirtualArchForCudaArch(CudaArch A) { case CudaArch::SM_62: return CudaVirtualArch::COMPUTE_62; } + llvm_unreachable("invalid enum"); } CudaVersion MinVersionForCudaArch(CudaArch A) { @@ -160,6 +165,7 @@ CudaVersion MinVersionForCudaArch(CudaArch A) { case CudaArch::SM_62: return CudaVersion::CUDA_80; } + llvm_unreachable("invalid enum"); } } // namespace clang