From 9afd65cc2de12a9c2bc69d7a2a3c8d226901c53f Mon Sep 17 00:00:00 2001 From: Egor Yusov Date: Sun, 22 Jul 2018 22:11:07 -0700 Subject: Updated debug utilities to translate DEV_CHECK_ERR to VERIFY in debug build --- Platforms/Basic/interface/DebugUtilities.h | 35 +++++++++++++++++++++--------- Primitives/interface/Errors.h | 14 ------------ 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/Platforms/Basic/interface/DebugUtilities.h b/Platforms/Basic/interface/DebugUtilities.h index 29a9d162..f30eef7b 100644 --- a/Platforms/Basic/interface/DebugUtilities.h +++ b/Platforms/Basic/interface/DebugUtilities.h @@ -24,30 +24,25 @@ #pragma once #include "../../../Primitives/interface/FormatMessage.h" +#include "../../../Primitives/interface/Errors.h" #include "BasicPlatformDebug.h" #ifdef _DEBUG #include -// This function is only requried to ensure that Message argument passed to the macro -// is actually string and not something else -inline void EnsureStr( const char* ){} - -#define ASSERTION_FAILED(Message, ...)\ +#define ASSERTION_FAILED(...)\ do{ \ - EnsureStr(Message); \ Diligent::MsgStream ms; \ - Diligent::FormatMsg( ms, Message, ##__VA_ARGS__);\ + Diligent::FormatMsg( ms, ##__VA_ARGS__);\ DebugAssertionFailed( ms.str().c_str(), __FUNCTION__, __FILE__, __LINE__); \ }while(false) -# define VERIFY(Expr, Message, ...)\ +# define VERIFY(Expr, ...)\ do{ \ - EnsureStr(Message); \ if( !(Expr) ) \ { \ - ASSERTION_FAILED(Message, ##__VA_ARGS__);\ + ASSERTION_FAILED(##__VA_ARGS__);\ } \ }while(false) @@ -74,3 +69,23 @@ void CheckDynamicType( SrcType *pSrcPtr ) # define VERIFY_EXPR(...)do{}while(false) #endif + +#if defined(_DEBUG) +# define DEV_CHECK_ERR(Expr, ...) VERIFY(Expr, ##__VA_ARGS__) +#elif defined(DEVELOPMENT) +# define DEV_CHECK_ERR(Expr, ...) CHECK_ERR(Expr, ##__VA_ARGS__) +#else +# define DEV_CHECK_ERR(Expr, ...) do{}while(false) +#endif + +#ifdef DEVELOPMENT + +#define DEV_CHECK_WARN(Expr, ...) CHECK_WARN(Expr, ##__VA_ARGS__) +#define DEV_CHECK_INFO(Expr, ...) CHECK_INFO(Expr, ##__VA_ARGS__) + +#else + +#define DEV_CHECK_WARN(Expr, ...) do{}while(false) +#define DEV_CHECK_INFO(Expr, ...) do{}while(false) + +#endif diff --git a/Primitives/interface/Errors.h b/Primitives/interface/Errors.h index 8a4ade37..187a55ce 100644 --- a/Primitives/interface/Errors.h +++ b/Primitives/interface/Errors.h @@ -140,17 +140,3 @@ do{ \ } \ }while(false) - -#ifdef DEVELOPMENT - -#define DEV_CHECK_ERR(Expr, ...) CHECK_ERR (Expr, ##__VA_ARGS__) -#define DEV_CHECK_WARN(Expr, ...) CHECK_WARN(Expr, ##__VA_ARGS__) -#define DEV_CHECK_INFO(Expr, ...) CHECK_INFO(Expr, ##__VA_ARGS__) - -#else - -#define DEV_CHECK_ERR(Expr, ...) do{}while(false) -#define DEV_CHECK_WARN(Expr, ...) do{}while(false) -#define DEV_CHECK_INFO(Expr, ...) do{}while(false) - -#endif -- cgit v1.2.3