1 /* Diagnostics <assert.h>
3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
7 #include "_PDCLIB_aux.h"
9 #ifndef _PDCLIB_ASSERT_H
10 #define _PDCLIB_ASSERT_H _PDCLIB_ASSERT_H
11 void _PDCLIB_assert99( char const * const, char const * const, char const * const );
12 void _PDCLIB_assert89( char const * const );
15 /* If NDEBUG is set, assert() is a null operation. */
19 #define assert( ignore ) ( (void) 0 )
21 #if __STDC_VERSION__ >= 199901L
22 #define assert( expression ) ( ( expression ) ? (void) 0 \
23 : _PDCLIB_assert99( "Assertion failed: " #expression \
24 ", function ", __func__, \
26 ", line " _PDCLIB_symbol2string( __LINE__ ) \
29 #define assert( expression ) ( ( expression ) ? (void) 0 \
30 : _PDCLIB_assert89( "Assertion failed: " #expression \
32 ", line " _PDCLIB_symbol2string( __LINE__ ) \