diff --git a/error_sdr/error_sdr.h b/error_sdr/error_sdr.h index b0a907e..2516e7d 100644 --- a/error_sdr/error_sdr.h +++ b/error_sdr/error_sdr.h @@ -140,7 +140,26 @@ typedef struct TEXT_MESSAGE * Checks condition, if false calls error_fail_fast with error * * * *******************************************************************************/ -#define assert_fail_fast( condition, error ) if ( !condition ) error_fail_fast( error ) +#define assert_fail_fast( condition, error ) do { if ( !(condition) ) error_fail_fast( error ); } while(0) + + +/******************************************************************************* +* * +* MACRO: * +* debug_assert * +* * +* DESCRIPTION: * +* Checks condition, if false calls error_fail_fast with error. Debug * +* builds only -- release builds will do nothing. * +* * +*******************************************************************************/ +#if defined(DEBUG) || !defined(RELBLD) + #define debug_assert( condition, error ) \ + do { if ( !(condition) ) error_fail_fast( error ); } while(0) +#else + #define debug_assert( condition, error ) \ + do { } while(0) +#endif /*------------------------------------------------------------------------------