mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-27 12:11:41 +01:00 
			
		
		
		
	
		
			
	
	
		
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			51 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
|   | /*
 | ||
|  | 	assert.h | ||
|  | */ | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | extern "C" { | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #include "_ansi.h"
 | ||
|  | 
 | ||
|  | #undef assert
 | ||
|  | 
 | ||
|  | #ifdef NDEBUG           /* required by ANSI standard */
 | ||
|  | # define assert(__e) ((void)0)
 | ||
|  | #else
 | ||
|  | # define assert(__e) ((__e) ? (void)0 : __assert_func (__FILE__, __LINE__, \
 | ||
|  | 						       __ASSERT_FUNC, #__e)) | ||
|  | 
 | ||
|  | # ifndef __ASSERT_FUNC
 | ||
|  |   /* Use g++'s demangled names in C++.  */ | ||
|  | #  if defined __cplusplus && defined __GNUC__
 | ||
|  | #   define __ASSERT_FUNC __PRETTY_FUNCTION__
 | ||
|  | 
 | ||
|  |   /* C99 requires the use of __func__.  */ | ||
|  | #  elif __STDC_VERSION__ >= 199901L
 | ||
|  | #   define __ASSERT_FUNC __func__
 | ||
|  | 
 | ||
|  |   /* Older versions of gcc don't have __func__ but can use __FUNCTION__.  */ | ||
|  | #  elif __GNUC__ >= 2
 | ||
|  | #   define __ASSERT_FUNC __FUNCTION__
 | ||
|  | 
 | ||
|  |   /* failed to detect __func__ support.  */ | ||
|  | #  else
 | ||
|  | #   define __ASSERT_FUNC ((char *) 0)
 | ||
|  | #  endif
 | ||
|  | # endif /* !__ASSERT_FUNC */
 | ||
|  | #endif /* !NDEBUG */
 | ||
|  | 
 | ||
|  | void _EXFUN(__assert, (const char *, int, const char *) | ||
|  | 	    _ATTRIBUTE ((__noreturn__))); | ||
|  | void _EXFUN(__assert_func, (const char *, int, const char *, const char *) | ||
|  | 	    _ATTRIBUTE ((__noreturn__))); | ||
|  | 
 | ||
|  | #if __STDC_VERSION__ >= 201112L && !defined __cplusplus
 | ||
|  | # define static_assert _Static_assert
 | ||
|  | #endif
 | ||
|  | 
 | ||
|  | #ifdef __cplusplus
 | ||
|  | } | ||
|  | #endif
 |