summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Lebar <jlebar@google.com>2016-07-07 01:06:59 +0000
committerJustin Lebar <jlebar@google.com>2016-07-07 01:06:59 +0000
commitd9bc485cfee609dfb48eb3af48f8bcda98463094 (patch)
tree0fde50b8c7499b3938d8033e90b4a4b96d9021b5
parent284b0324e217e38c3992536545f3e72f425a1daa (diff)
downloadbcm5719-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.cpp6
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
OpenPOWER on IntegriCloud