ASSERT(3)

NAME
assert - expression verification macro

SYNOPSIS
#include <assert.h>
assert(expression);

DESCRIPTION
The assert() macro tests the given expression and if it is false, the calling process is terminated. A diagnostic message, consisting of the text of the expression, the name of the source file, the line number and the enclosing function, is written to stderr and the abort(3) function is called, effectively terminating the program.

If expression is true, the assert() macro does nothing.

The assert() macro may be removed at compile time with the cc(1) option -DNDEBUG.

DIAGNOSTICS
The following diagnostic message is written to stderr if expression is false:

    "assertion \"%s\" failed: file \"%s\", line %d, function \"%s\"\n", \
    		    "expression", __FILE__, __LINE__, __func__);

SEE ALSO
cc(1), _DIAGASSERT(3), abort(3)

STANDARDS
The assert() macro conforms to isoC-99.

HISTORY
A assert macro appeared in AT&T UNIX.

Information on the name of the enclosing function appeared in isoC-99.