From 3a0a88fe0a86d757a0f4a061487c9c8291d46c87 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Tue, 9 Oct 2012 08:42:07 +0000 Subject: [PATCH] [Sanitizer] Add UNREACHABLE(msg) macro llvm-svn: 165492 --- compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h index 884fd5b7b171..76f3b6917a33 100644 --- a/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h +++ b/compiler-rt/lib/sanitizer_common/sanitizer_internal_defs.h @@ -130,7 +130,12 @@ void NORETURN CheckFailed(const char *file, int line, const char *cond, #define DCHECK_GE(a, b) #endif -#define UNIMPLEMENTED() CHECK("unimplemented" && 0) +#define UNREACHABLE(msg) do { \ + CHECK(0 && msg); \ + Die(); \ +} while(0) + +#define UNIMPLEMENTED() UNREACHABLE("unimplemented") #define COMPILER_CHECK(pred) IMPL_COMPILER_ASSERT(pred, __LINE__)