mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	Merge pull request #2046 from PeterCrozier/trap
Extend YS_DEBUGTRAP to MacOS.
This commit is contained in:
		
						commit
						026fed3135
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		|  | @ -86,7 +86,7 @@ YOSYS_NAMESPACE_BEGIN | |||
| # endif | ||||
| # if __has_builtin(__builtin_debugtrap) | ||||
| #  define YS_DEBUGTRAP __builtin_debugtrap() | ||||
| # elif defined(__unix__) | ||||
| # elif defined(__unix__) || (defined(__APPLE__) && defined(__MACH__)) | ||||
| #  define YS_DEBUGTRAP raise(SIGTRAP) | ||||
| # else | ||||
| #  define YS_DEBUGTRAP do {} while(0) | ||||
|  | @ -97,11 +97,11 @@ YOSYS_NAMESPACE_BEGIN | |||
| // if a debugger is attached, and does nothing otherwise.
 | ||||
| #if defined(_WIN32) | ||||
| # 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,
 | ||||
| // debuggers will stop when SIGTRAP is raised, even if the action is set to ignore.
 | ||||
| # 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) | ||||
| #else | ||||
| # define YS_DEBUGTRAP_IF_DEBUGGING do {} while(0) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue