ASSERT(3) NEWLIB ASSERT(3)NAME
2.5 `assert'--macro for debugging diagnostics
SYNOPSIS
#include <assert.h>
void assert(int EXPRESSION);
DESCRIPTION
Use this macro to embed debuggging diagnostic statements in your pro‐
grams. The argument EXPRESSION should be an expression which evaluates
to true (nonzero) when your program is working as you intended.
When EXPRESSION evaluates to false (zero), `assert' calls `abort',
after first printing a message showing what failed and where:
Assertion failed: EXPRESSION, file FILENAME, line LINENO, func‐
tion: FUNC
If the name of the current function is not known (for example, when
using a C89 compiler that does not understand __func__), the function
location is omitted.
The macro is defined to permit you to turn off all uses of `assert'
at compile time by defining `NDEBUG' as a preprocessor variable. If
you do this, the `assert' macro expands to
(void(0))
RETURNS
`assert' does not return a value.
PORTABILITY
The `assert' macro is required by ANSI, as is the behavior when `NDE‐
BUG' is defined.
Supporting OS subroutines required (only if enabled): `close',
`fstat', `getpid', `isatty', `kill', `lseek', `read', `sbrk', `write'.
SEE ALSOassert is part of the library. The full documentation for is main‐
tained as a Texinfo manual. If info and are properly installed at your
site, the command
info
will give you access to the complete manual.
NEWLIB April 2010 ASSERT(3)