Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Gauthier Quesnel
irritator
Commits
f0845e61
Commit
f0845e61
authored
Nov 27, 2020
by
Gauthier Quesnel
Browse files
core: add global variable to disable breakpoint
parent
b96e1dca
Changes
1
Hide whitespace changes
Inline
Side-by-side
lib/include/irritator/core.hpp
View file @
f0845e61
...
...
@@ -34,38 +34,50 @@
#define irt_assert(_expr) assert(_expr)
#endif
namespace
irt
{
static
inline
bool
is_fatal_breakpoint
=
true
;
}
#ifndef NDEBUG
#if (defined(__i386__) || defined(__x86_64__)) && defined(__GNUC__) && \
__GNUC__ >= 2
#define irt_breakpoint() \
do { \
__asm__ __volatile__("int $03"); \
if (::irt::is_fatal_breakpoint) \
__asm__ __volatile__("int $03"); \
} while (0)
#elif (defined(_MSC_VER) || defined(__DMC__)) && defined(_M_IX86)
#define irt_breakpoint() \
do { \
__asm int 3h \
if (::irt::is_fatal_breakpoint) \
__asm int 3h \
} while (0)
#elif defined(_MSC_VER)
#define irt_breakpoint() \
do { \
__debugbreak(); \
if (::irt::is_fatal_breakpoint) \
__debugbreak(); \
} while (0)
#elif defined(__alpha__) && !defined(__osf__) && defined(__GNUC__) && \
__GNUC__ >= 2
#define irt_breakpoint() \
do { \
__asm__ __volatile__("bpt"); \
if (::irt::is_fatal_breakpoint) \
__asm__ __volatile__("bpt"); \
} while (0)
#elif defined(__APPLE__)
#define irt_breakpoint() \
do { \
__builtin_trap(); \
if (::irt::is_fatal_breakpoint) \
__builtin_trap(); \
} while (0)
#else
/* !__i386__ && !__alpha__ */
#define irt_breakpoint() \
do { \
raise(SIGTRAP); \
if (::irt::is_fatal_breakpoint) \
raise(SIGTRAP); \
} while (0)
#endif
/* __i386__ */
#else
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment