NAME
assert.h — verify
program assertion
SYNOPSIS
#include
<assert.h>
DESCRIPTION
[CX] The functionality described on this reference page is aligned with the ISO C standard. Any conflict between the requirements described here and the ISO C standard is unintentional. This volume of IEEE Std 1003.1-2001 (“POSIX.1”) defers to the ISO C standard.
The <assert.h> header shall define the assert(3) macro. It refers to the macro NDEBUG which is not defined in the header. If NDEBUG is defined as a macro name before the inclusion of this header, the assert(3) macro shall be defined simply as:
#define assert(ignore)((void) 0)
Otherwise, the macro behaves as described in assert(3).
The assert(3) macro shall be redefined according to the current state of NDEBUG each time <assert.h> is included.
The assert(3) macro shall be implemented as a macro, not as a function. If the macro definition is suppressed in order to access an actual function, the behavior is undefined.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
The System Interfaces volume of IEEE Std 1003.1-2001 (“POSIX.1”), assert(3)
CHANGE HISTORY
First released in Issue 1. Derived from Issue 1 of the SVID.
Issue 6
The definition of the assert(3) macro is changed for alignment with the ISO/IEC 9899:1999 (“ISO C99”) standard.
End of informative text. footer end