Files
dolphin/Source/Core/Common/Assert.h
T

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

70 lines
4.8 KiB
C
Raw Normal View History

2015-09-26 16:39:47 -04:00
// Copyright 2015 Dolphin Emulator Project
// Licensed under GPLv2+
// Refer to the license.txt file included.
#pragma once
2015-11-20 11:33:47 +01:00
#include "Common/Common.h"
2015-09-26 16:39:47 -04:00
#include "Common/CommonFuncs.h"
#include "Common/Logging/Log.h"
#include "Common/MsgHandler.h"
#ifdef _WIN32
2018-03-14 20:34:35 -04:00
#define ASSERT_MSG(_t_, _a_, _fmt_, ...) \
do \
2015-09-26 16:39:47 -04:00
{ \
if (!(_a_)) \
{ \
2019-07-21 08:50:35 +02:00
if (!PanicYesNo(_fmt_, __VA_ARGS__)) \
Crash(); \
} \
} while (0)
2015-09-26 16:39:47 -04:00
2018-03-14 20:34:35 -04:00
#define DEBUG_ASSERT_MSG(_t_, _a_, _msg_, ...) \
do \
2015-09-26 16:39:47 -04:00
{ \
2019-11-28 04:19:24 -05:00
if (MAX_LOGLEVEL >= Common::Log::LOG_LEVELS::LDEBUG && !(_a_)) \
{ \
ERROR_LOG(_t_, _msg_, __VA_ARGS__); \
if (!PanicYesNo(_msg_, __VA_ARGS__)) \
Crash(); \
} \
} while (0)
2015-09-26 16:39:47 -04:00
#else
2018-03-14 20:34:35 -04:00
#define ASSERT_MSG(_t_, _a_, _fmt_, ...) \
do \
2015-09-26 16:39:47 -04:00
{ \
if (!(_a_)) \
{ \
if (!PanicYesNo(_fmt_, ##__VA_ARGS__)) \
Crash(); \
} \
} while (0)
2015-09-26 16:39:47 -04:00
2018-03-14 20:34:35 -04:00
#define DEBUG_ASSERT_MSG(_t_, _a_, _msg_, ...) \
do \
2015-09-26 16:39:47 -04:00
{ \
2019-11-28 04:19:24 -05:00
if (MAX_LOGLEVEL >= Common::Log::LOG_LEVELS::LDEBUG && !(_a_)) \
{ \
ERROR_LOG(_t_, _msg_, ##__VA_ARGS__); \
if (!PanicYesNo(_msg_, ##__VA_ARGS__)) \
Crash(); \
} \
} while (0)
2015-09-26 16:39:47 -04:00
#endif
2018-03-14 20:34:35 -04:00
#define ASSERT(_a_) \
do \
{ \
ASSERT_MSG(MASTER_LOG, _a_, \
_trans("An error occurred.\n\n Line: %d\n File: %s\n\nIgnore and continue?"), \
__LINE__, __FILE__); \
} while (0)
2015-09-26 16:39:47 -04:00
#define DEBUG_ASSERT(_a_) \
do \
{ \
2019-11-28 04:19:24 -05:00
if (MAX_LOGLEVEL >= Common::Log::LOG_LEVELS::LDEBUG) \
ASSERT(_a_); \
} while (0)