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
This commit is contained in:
Torok Edwin
2009-07-11 20:10:48 +00:00
parent d51ffcf303
commit c25e7581b9
153 changed files with 695 additions and 610 deletions

View File

@ -46,11 +46,11 @@ namespace llvm {
/// This function calls abort().
/// Call this after assert(0), so that compiler knows the path is not
/// reachable.
void llvm_unreachable(void) NORETURN;
void llvm_unreachable(const char *msg=0) NORETURN;
}
#ifndef NDEBUG
#define LLVM_UNREACHABLE(msg) do {cerr<<msg<<"\n";llvm_unreachable();}while(0)
#define LLVM_UNREACHABLE(msg) llvm_unreachable(msg)
#else
#define LLVM_UNREACHABLE(msg) llvm_unreachable()
#endif