#undef assert
#ifdef NDEBUG
-#define assert( ignore ) ( (void) 0 )
+#define assert( ignore ) do { \
+ if(!(expression)) { _PDCLIB_UNREACHABLE; } \
+ } while(0)
+
#elif _PDCLIB_C_MIN(99)
#define assert(expression) \
do { if(!(expression)) { \
", file " __FILE__ \
", line " _PDCLIB_symbol2string( __LINE__ ) \
"." _PDCLIB_endl ); \
+ _PDCLIB_UNREACHABLE; \
} \
} while(0)
+
#else
#define assert(expression) \
do { if(!(expression)) { \
", file " __FILE__ \
", line " _PDCLIB_symbol2string( __LINE__ ) \
"." _PDCLIB_endl ); \
+ _PDCLIB_UNREACHABLE; \
} \
} while(0)
#endif