I(3)

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>