Provided by: manpages-posix-dev_2.16-1_all 

NAME
assert - insert program diagnostics
SYNOPSIS
#include <assert.h>
void assert(scalar expression);
DESCRIPTION
The assert() macro shall insert diagnostics into programs; it shall expand to a void expression. When it
is executed, if expression (which shall have a scalar type) is false (that is, compares equal to 0),
assert() shall write information about the particular call that failed on stderr and shall call abort().
The information written about the call that failed shall include the text of the argument, the name of
the source file, the source file line number, and the name of the enclosing function; the latter are,
respectively, the values of the preprocessing macros __FILE__ and __LINE__ and of the identifier
__func__.
Forcing a definition of the name NDEBUG, either from the compiler command line or with the preprocessor
control statement #define NDEBUG ahead of the #include <assert.h> statement, shall stop assertions from
being compiled into the program.
RETURN VALUE
The assert() macro shall not return a value.
ERRORS
No errors are defined.
The following sections are informative.
EXAMPLES
None.
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
abort() , stderr, the Base Definitions volume of IEEE Std 1003.1-2001, <assert.h>
COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition,
Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base
Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers,
Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and
The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The
original Standard can be obtained online at http://www.opengroup.org/unix/online.html .
IEEE/The Open Group 2003 ASSERT(P)