ASSERT.H(7) Miscellaneous Information Manual ASSERT.H(7)

assert.hverify program assertion

#include <assert.h>

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 POSIX.1-2017 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.

None.

None.

None.

XSH assert(3)

First released in Issue 1. Derived from Issue 1 of the SVID.

The definition of the assert(3) macro is changed for alignment with the ISO/IEC 9899:1999 (“ISO C99”) standard.

January 31, 2018 posix.fail