]> granicus.if.org Git - clang/commitdiff
[CUDA] Fix "control reaches end of non-void function" warnings in Cuda.cpp.
authorJustin Lebar <jlebar@google.com>
Thu, 7 Jul 2016 01:06:59 +0000 (01:06 +0000)
committerJustin Lebar <jlebar@google.com>
Thu, 7 Jul 2016 01:06:59 +0000 (01:06 +0000)
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

lib/Basic/Cuda.cpp

index b4a60eb31a6b721d04f0e3ab0b8f25b51f325525..3264078b98f5fa8ca67d327a7541114a7ed82a7a 100644 (file)
@@ -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