15 #ifndef _RTEMS_SCORE_ASSERT_H 16 #define _RTEMS_SCORE_ASSERT_H 20 #if defined( RTEMS_DEBUG ) 32 #if defined( RTEMS_DEBUG ) 41 #ifndef __RTEMS_ASSERT_FUNCTION 43 #if defined __cplusplus && defined __GNUC__ 44 #define __RTEMS_ASSERT_FUNCTION __PRETTY_FUNCTION__ 47 #elif __STDC_VERSION__ >= 199901L 48 #define __RTEMS_ASSERT_FUNCTION __func__ 52 #define __RTEMS_ASSERT_FUNCTION __FUNCTION__ 56 #define __RTEMS_ASSERT_FUNCTION ((char *) 0) 60 #if !defined( RTEMS_SCHEDSIM ) 63 void __assert_func(
const char *,
int,
const char *,
const char *)
66 #define _Assert( _e ) \ 69 __assert_func( __FILE__, __LINE__, __RTEMS_ASSERT_FUNCTION, #_e ) ) 71 #elif defined(__linux__) 73 #define _Assert( _e ) \ 76 __assert_fail( #_e, __FILE__, __LINE__, __RTEMS_ASSERT_FUNCTION ) ) 78 #error "Implement RTEMS assert support for this C Library" 82 #define _Assert( _e ) ( ( void ) 0 ) 88 #if defined( RTEMS_SMP ) 89 #define _SMP_Assert( _e ) _Assert( _e ) 91 #define _SMP_Assert( _e ) ( ( void ) 0 ) 100 #if defined( RTEMS_DEBUG ) 101 bool _Debug_Is_thread_dispatching_allowed(
void );
107 #if defined( RTEMS_DEBUG ) 108 #if defined( RTEMS_SMP ) 109 bool _Debug_Is_owner_of_giant(
void );
111 #define _Debug_Is_owner_of_giant() (true) 119 #if defined( RTEMS_DEBUG ) 120 bool _Debug_Is_owner_of_allocator(
void );
127 #define _Assert_Not_reached() 129 #define _Assert_Not_reached() _Assert( 0 )
#define RTEMS_COMPILER_NO_RETURN_ATTRIBUTE
The following macro is a compiler specific way to indicate that the method will NOT return to the cal...
Definition: basedefs.h:162