diff options
author | Justin Lebar <jlebar@google.com> | 2016-07-07 01:06:59 +0000 |
---|---|---|
committer | Justin Lebar <jlebar@google.com> | 2016-07-07 01:06:59 +0000 |
commit | d9bc485cfee609dfb48eb3af48f8bcda98463094 (patch) | |
tree | 0fde50b8c7499b3938d8033e90b4a4b96d9021b5 | |
parent | 284b0324e217e38c3992536545f3e72f425a1daa (diff) | |
download | bcm5719-llvm-d9bc485cfee609dfb48eb3af48f8bcda98463094.tar.gz bcm5719-llvm-d9bc485cfee609dfb48eb3af48f8bcda98463094.zip |
[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.)
llvm-svn: 274713
-rw-r--r-- | clang/lib/Basic/Cuda.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Basic/Cuda.cpp b/clang/lib/Basic/Cuda.cpp index b4a60eb31a6..3264078b98f 100644 --- a/clang/lib/Basic/Cuda.cpp +++ b/clang/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 |