NAME
I - verify assertions in C and C++ code
SYNOPSIS
#include <I.h>
I(exprn)
IG(exprn,guard)
IH(exprn,handler)
IP(exprn,param)
IGH(exprn,guard,handler)
IHP(exprn,handler,param)
IGHP(exprn,guard,handler,param)
ID(decln)
IS(assignment)
ISG(assignment,guard)
DESCRIPTION
The I(exprn) checks that the exprn is true in the same way as
assert(3). If the expression is false an error has been detected in
the code and some error handling code will be called.
exprn - the expression to be checked.
guard - the expression is normally only checked if the guard is true.
handler - a macro which generates the code that handles the error
condition.
param - a parameter which can be passed off to the handler. This can be
used for identifying the assertion failure in a space-efficent manner,
e.g. by copying it into a register before aborting.
decln - a variable declaration for use in a postcondition
assignment - an assignment expression setting a variable which can then
be used in a postcondition.
See nana.info for details on configuring the behaviour on error
detection, etc. You also need to include the nana library by using
-lnana if you use the default setup.
In addition to the I, IG, etc I.h also provides N, NG, etc which are
used to check that an expression is never true.
SEE ALSO
nana-clg(1), nana(1), nana(3), , DI(3), L(3), DL(3), Q(3) and
nana.info.
The nana.info file is the primary documentation for this package.
AUTHOR
Phil Maker <pjm@gnu.org>