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),
I(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>