Author: jlebar Date: Wed Jul 6 20:06:59 2016 New Revision: 274713 URL: http://llvm.org/viewvc/llvm-project?rev=274713&view=rev Log: [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.) Modified: cfe/trunk/lib/Basic/Cuda.cpp Modified: cfe/trunk/lib/Basic/Cuda.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Cuda.cpp?rev=274713&r1=274712&r2=274713&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Cuda.cpp (original) +++ cfe/trunk/lib/Basic/Cuda.cpp Wed Jul 6 20:06:59 2016 @@ -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(CudaVers 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(Cuda case CudaVirtualArch::COMPUTE_62: return "compute_62"; } + llvm_unreachable("invalid enum"); } CudaVirtualArch StringToCudaVirtualArch(llvm::StringRef S) { @@ -139,6 +143,7 @@ CudaVirtualArch VirtualArchForCudaArch(C case CudaArch::SM_62: return CudaVirtualArch::COMPUTE_62; } + llvm_unreachable("invalid enum"); } CudaVersion MinVersionForCudaArch(CudaArch A) { @@ -160,6 +165,7 @@ CudaVersion MinVersionForCudaArch(CudaAr case CudaArch::SM_62: return CudaVersion::CUDA_80; } + llvm_unreachable("invalid enum"); } } // namespace clang _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits