From ffe53dcd128271b30dd04153cdfdeea5c23d2953 Mon Sep 17 00:00:00 2001 From: levlam Date: Tue, 12 Feb 2019 23:19:11 +0300 Subject: [PATCH] CHECK fixes. GitOrigin-RevId: 7f82d11913592bb241ab69975278ee8be2ce9d23 --- tdutils/td/utils/Slice.h | 2 -- tdutils/td/utils/StackAllocator.h | 2 +- tdutils/td/utils/StringBuilder.cpp | 1 - tdutils/td/utils/StringBuilder.h | 2 +- tdutils/td/utils/check.cpp | 3 +++ tdutils/td/utils/check.h | 18 ++++++++++++------ tdutils/td/utils/logging.h | 4 +--- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/tdutils/td/utils/Slice.h b/tdutils/td/utils/Slice.h index 65df6361f..4544b9618 100644 --- a/tdutils/td/utils/Slice.h +++ b/tdutils/td/utils/Slice.h @@ -8,8 +8,6 @@ #include "td/utils/Slice-decl.h" -#include "td/utils/logging.h" - #include #include diff --git a/tdutils/td/utils/StackAllocator.h b/tdutils/td/utils/StackAllocator.h index 9eded77ad..ba2ce272c 100644 --- a/tdutils/td/utils/StackAllocator.h +++ b/tdutils/td/utils/StackAllocator.h @@ -8,7 +8,7 @@ #include "td/utils/common.h" #include "td/utils/MovableValue.h" -#include "td/utils/Slice-decl.h" +#include "td/utils/Slice.h" #include #include diff --git a/tdutils/td/utils/StringBuilder.cpp b/tdutils/td/utils/StringBuilder.cpp index 6b7872e1e..c0011c25d 100644 --- a/tdutils/td/utils/StringBuilder.cpp +++ b/tdutils/td/utils/StringBuilder.cpp @@ -6,7 +6,6 @@ // #include "td/utils/StringBuilder.h" -#include "td/utils/logging.h" #include "td/utils/misc.h" #include "td/utils/port/thread_local.h" #include "td/utils/Slice.h" diff --git a/tdutils/td/utils/StringBuilder.h b/tdutils/td/utils/StringBuilder.h index 37767f949..122199010 100644 --- a/tdutils/td/utils/StringBuilder.h +++ b/tdutils/td/utils/StringBuilder.h @@ -7,7 +7,7 @@ #pragma once #include "td/utils/common.h" -#include "td/utils/Slice-decl.h" +#include "td/utils/Slice.h" #include "td/utils/StackAllocator.h" #include diff --git a/tdutils/td/utils/check.cpp b/tdutils/td/utils/check.cpp index 1f0634fed..824e817f1 100644 --- a/tdutils/td/utils/check.cpp +++ b/tdutils/td/utils/check.cpp @@ -5,9 +5,12 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #include "td/utils/check.h" + #include "td/utils/logging.h" + namespace td { namespace detail { + void process_check_error(const char *message, const char *file, int line) { ::td::Logger(*log_interface, log_options, VERBOSITY_NAME(FATAL), Slice(file), line, Slice()) << "Check `" << message << "` failed"; diff --git a/tdutils/td/utils/check.h b/tdutils/td/utils/check.h index 6301461de..abbb69370 100644 --- a/tdutils/td/utils/check.h +++ b/tdutils/td/utils/check.h @@ -5,22 +5,28 @@ // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) // #pragma once -#define DUMMY_CHECK(condition) ((void)(condition)) + +#define TD_DUMMY_CHECK(condition) ((void)(condition)) + #define CHECK(condition) \ if (!(condition)) { \ ::td::detail::process_check_error(#condition, __FILE__, __LINE__); \ } -#ifdef TD_DEBUG -#define DCHECK CHECK +// clang-format off +#ifdef NDEBUG + #define DCHECK CHECK #else -#define DCHECK DUMMY_CHECK + #define DCHECK TD_DUMMY_CHECK #endif +// clang-format on -#define UNREACHABLE(x) CHECK(false && "unreachable") +#define UNREACHABLE() ::td::detail::process_check_error("Unreachable", __FILE__, __LINE__) namespace td { namespace detail { + [[noreturn]] void process_check_error(const char *message, const char *file, int line); -} + +} // namespace detail } // namespace td diff --git a/tdutils/td/utils/logging.h b/tdutils/td/utils/logging.h index 104b386fe..9894e0baa 100644 --- a/tdutils/td/utils/logging.h +++ b/tdutils/td/utils/logging.h @@ -25,7 +25,7 @@ #include "td/utils/common.h" #include "td/utils/port/thread_local.h" -#include "td/utils/Slice-decl.h" +#include "td/utils/Slice.h" #include "td/utils/StackAllocator.h" #include "td/utils/StringBuilder.h" @@ -308,5 +308,3 @@ class TsLog : public LogInterface { }; } // namespace td - -#include "td/utils/Slice.h"