From 52396577a2d85ef1b18f86e643fe3b1033750e15 Mon Sep 17 00:00:00 2001 From: Simon Pilgrim Date: Tue, 8 Jun 2021 17:33:59 +0100 Subject: [PATCH] Use llvm_unreachable for unsupported integer types. As suggested on rG937c4cffd024, use llvm_unreachable for unhandled integer types (which shouldn't be possible) instead of breaking and dropping down to the existing fatal error handler. Helps silence static analyzer warnings. --- llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp index 8d4a198..c3ba5eb 100644 --- a/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp +++ b/llvm/lib/ExecutionEngine/Interpreter/ExternalFunctions.cpp @@ -130,6 +130,7 @@ static ffi_type *ffiTypeFor(Type *Ty) { case 32: return &ffi_type_sint32; case 64: return &ffi_type_sint64; } + llvm_unreachable("Unhandled integer type bitwidth"); case Type::FloatTyID: return &ffi_type_float; case Type::DoubleTyID: return &ffi_type_double; case Type::PointerTyID: return &ffi_type_pointer; @@ -166,7 +167,7 @@ static void *ffiValueFor(Type *Ty, const GenericValue &AV, return ArgDataPtr; } } - break; + llvm_unreachable("Unhandled integer type bitwidth"); case Type::FloatTyID: { float *FloatPtr = (float *) ArgDataPtr; *FloatPtr = AV.FloatVal; -- 2.7.4