mirror of https://github.com/YosysHQ/yosys.git
Consolidate Linux and Mac version of YS_DEBUGTRAP_IF_DEBUGGING.
This commit is contained in:
parent
3988f935b8
commit
495dcfc812
|
@ -97,15 +97,12 @@ YOSYS_NAMESPACE_BEGIN
|
||||||
// if a debugger is attached, and does nothing otherwise.
|
// if a debugger is attached, and does nothing otherwise.
|
||||||
#if defined(_WIN32)
|
#if defined(_WIN32)
|
||||||
# define YS_DEBUGTRAP_IF_DEBUGGING do { if (IsDebuggerPresent()) DebugBreak(); } while(0)
|
# define YS_DEBUGTRAP_IF_DEBUGGING do { if (IsDebuggerPresent()) DebugBreak(); } while(0)
|
||||||
#elif defined(__unix__)
|
# elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__))
|
||||||
// There is no reliable (or portable) *nix equivalent of IsDebuggerPresent(). However,
|
// There is no reliable (or portable) *nix equivalent of IsDebuggerPresent(). However,
|
||||||
// debuggers will stop when SIGTRAP is raised, even if the action is set to ignore.
|
// debuggers will stop when SIGTRAP is raised, even if the action is set to ignore.
|
||||||
# define YS_DEBUGTRAP_IF_DEBUGGING do { \
|
# define YS_DEBUGTRAP_IF_DEBUGGING do { \
|
||||||
sighandler_t old = signal(SIGTRAP, SIG_IGN); raise(SIGTRAP); signal(SIGTRAP, old); \
|
auto old = signal(SIGTRAP, SIG_IGN); raise(SIGTRAP); signal(SIGTRAP, old); \
|
||||||
} while(0)
|
} while(0)
|
||||||
#elif defined(__APPLE__) && defined(__MACH__)
|
|
||||||
// MacOS
|
|
||||||
#define YS_DEBUGTRAP_IF_DEBUGGING { sig_t old = signal(SIGTRAP, SIG_IGN); raise(SIGTRAP); signal(SIGTRAP, old); }
|
|
||||||
#else
|
#else
|
||||||
# define YS_DEBUGTRAP_IF_DEBUGGING do {} while(0)
|
# define YS_DEBUGTRAP_IF_DEBUGGING do {} while(0)
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue