assert(0) -> LLVM_UNREACHABLE.
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75379 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/ELFWriter.cpp b/lib/CodeGen/ELFWriter.cpp
index ddc3670..1318017 100644
--- a/lib/CodeGen/ELFWriter.cpp
+++ b/lib/CodeGen/ELFWriter.cpp
@@ -51,6 +51,7 @@
#include "llvm/Support/Streams.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Debug.h"
+#include "llvm/Support/ErrorHandling.h"
using namespace llvm;
@@ -147,7 +148,7 @@
unsigned ELFWriter::getGlobalELFVisibility(const GlobalValue *GV) {
switch (GV->getVisibility()) {
default:
- assert(0 && "unknown visibility type");
+ LLVM_UNREACHABLE("unknown visibility type");
case GlobalValue::DefaultVisibility:
return ELFSym::STV_DEFAULT;
case GlobalValue::HiddenVisibility:
@@ -339,9 +340,9 @@
else if (CFP->getType() == Type::FloatTy)
GblS.emitWord32(Val);
else if (CFP->getType() == Type::X86_FP80Ty) {
- assert(0 && "X86_FP80Ty global emission not implemented");
+ LLVM_UNREACHABLE("X86_FP80Ty global emission not implemented");
} else if (CFP->getType() == Type::PPC_FP128Ty)
- assert(0 && "PPC_FP128Ty global emission not implemented");
+ LLVM_UNREACHABLE("PPC_FP128Ty global emission not implemented");
return;
} else if (const ConstantInt *CI = dyn_cast<ConstantInt>(CV)) {
if (Size == 4)
@@ -349,7 +350,7 @@
else if (Size == 8)
GblS.emitWord64(CI->getZExtValue());
else
- assert(0 && "LargeInt global emission not implemented");
+ LLVM_UNREACHABLE("LargeInt global emission not implemented");
return;
} else if (const ConstantVector *CP = dyn_cast<ConstantVector>(CV)) {
const VectorType *PTy = CP->getType();
@@ -357,7 +358,7 @@
EmitGlobalConstant(CP->getOperand(I), GblS);
return;
}
- assert(0 && "unknown global constant");
+ LLVM_UNREACHABLE("unknown global constant");
}