Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


ASSERT(3)                  Library Functions Manual                  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 ISO/IEC 9899:1999 ("ISO C99").

HISTORY
     A assert macro appeared in Version 7 AT&T UNIX.

     Information on the name of the enclosing function appeared in ISO/IEC
     9899:1999 ("ISO C99").

NetBSD 10.99                     June 1, 2016                     NetBSD 10.99