From 3369ab5a6ba0b13e61aa62a6ecddaec5da9f3dc9 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Wed, 19 Oct 2011 03:29:07 +0200 Subject: [PATCH] Fixed macroses to fit into if scope --- base/assert.hpp | 32 ++++++++++++++++---------------- base/logging.hpp | 8 ++++---- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/base/assert.hpp b/base/assert.hpp index 18fd915cbf..4f9166bf14 100644 --- a/base/assert.hpp +++ b/base/assert.hpp @@ -16,39 +16,39 @@ namespace my } // TODO: Evaluate X only once in CHECK(). -#define CHECK(X, msg) if (X) {} else { \ - ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X")", ::my::impl::Message msg));} -#define CHECK_EQUAL(X, Y, msg) if ((X) == (Y)) {} else { \ +#define CHECK(X, msg) do { if (X) {} else { \ + ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X")", ::my::impl::Message msg));} } while(false) +#define CHECK_EQUAL(X, Y, msg) do { if ((X) == (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" == "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_NOT_EQUAL(X, Y, msg) if ((X) != (Y)) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_NOT_EQUAL(X, Y, msg) do { if ((X) != (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" != "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_LESS(X, Y, msg) if ((X) < (Y)) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_LESS(X, Y, msg) do { if ((X) < (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" < "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_LESS_OR_EQUAL(X, Y, msg) if ((X) <= (Y)) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_LESS_OR_EQUAL(X, Y, msg) do { if ((X) <= (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" <= "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_GREATER(X, Y, msg) if ((X) > (Y)) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_GREATER(X, Y, msg) do { if ((X) > (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" > "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_GREATER_OR_EQUAL(X, Y, msg) if ((X) >= (Y)) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_GREATER_OR_EQUAL(X, Y, msg) do { if ((X) >= (Y)) {} else { \ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg("CHECK("#X" >= "#Y")", \ ::my::impl::Message(X, Y), \ - ::my::impl::Message msg));} -#define CHECK_OR_CALL(fail, call, X, msg) if (X) {} else { \ + ::my::impl::Message msg));} } while (false) +#define CHECK_OR_CALL(fail, call, X, msg) do { if (X) {} else { \ if (fail) {\ ::my::OnAssertFailed(SRC(), ::my::impl::MergeMsg(::my::impl::Message("CHECK("#X")"), \ ::my::impl::Message msg)); \ } else { \ call(); \ - } } + } } } while (false) #ifdef DEBUG // for Symbian compatibility diff --git a/base/logging.hpp b/base/logging.hpp index bf1d6d7dde..1add1db6cb 100644 --- a/base/logging.hpp +++ b/base/logging.hpp @@ -31,9 +31,9 @@ using ::my::LCRITICAL; // Logging macro. // Example usage: LOG(LINFO, (Calc(), m_Var, "Some string constant")); -#define LOG(level, msg) if (level < ::my::g_LogLevel) {} \ - else do { ::my::LogMessage(level, SRC(), ::my::impl::Message msg); } while (false) +#define LOG(level, msg) do { if (level < ::my::g_LogLevel) {} \ + else { ::my::LogMessage(level, SRC(), ::my::impl::Message msg);} } while (false) // Logging macro with short info (without entry point) -#define LOG_SHORT(level, msg) if (level < ::my::g_LogLevel) {} \ - else do { ::my::LogMessage(level, my::SrcPoint(), ::my::impl::Message msg); } while (false) +#define LOG_SHORT(level, msg) do { if (level < ::my::g_LogLevel) {} \ + else { ::my::LogMessage(level, my::SrcPoint(), ::my::impl::Message msg);} } while (false)