I(3)

I3

Verify assertions in c and c++ code

Usage

#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)

Overview

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.

Releases

8 releases since Debian 2.1 (Slink); the text changed 2 times.

  1. 2.1
  2. 2.2–4.0
  3. 5.0–7

Author

Phil Maker <[email protected]>

From nana 2.5-12+deb7u1 in Debian 7 (Wheezy). Parsed by carta from the page's man source.