Initial revision
This commit is contained in:
parent
2254b35256
commit
0de3e4a0af
60
modules/src/assert/assert.3
Normal file
60
modules/src/assert/assert.3
Normal file
|
@ -0,0 +1,60 @@
|
|||
.TH assert 3ACK "march 25, 1986"
|
||||
.SH NAME
|
||||
assert \- program verification
|
||||
.SH SYNOPSIS
|
||||
.B #include <assert.h>
|
||||
.PP
|
||||
.B assert(expression)
|
||||
.PP
|
||||
.B _BadAssertion(fn, lino, ass)
|
||||
.br
|
||||
char *fn, *ass;
|
||||
.br
|
||||
unsigned int lino;
|
||||
.SH DESCRIPTION
|
||||
.PP
|
||||
.I Assert
|
||||
is a macro that indicates
|
||||
.I expression
|
||||
is expected to be true at this point in the program.
|
||||
It causes a call to
|
||||
.I _BadAssertion
|
||||
when
|
||||
.I expression
|
||||
is false (0).
|
||||
.PP
|
||||
The routine
|
||||
.I_BadAssertion
|
||||
accepts three parameters:
|
||||
a filename, a linenumber,
|
||||
and a string representing a failed assertion.
|
||||
It causes a
|
||||
.IR sys_stop (S_ABORT)
|
||||
with a diagnostic comment on standard error.
|
||||
.PP
|
||||
The assertions are enabled by defining the preprocessor constant DEBUG.
|
||||
.SH DIAGNOSTICS
|
||||
.IR fn ,
|
||||
line
|
||||
.IR lino :
|
||||
assertion
|
||||
.I ass
|
||||
failed.
|
||||
.br
|
||||
.I fn
|
||||
is the source file,
|
||||
.I lino
|
||||
is the source line number,
|
||||
and
|
||||
.I ass
|
||||
is the assertion
|
||||
of the
|
||||
.I assert
|
||||
statement.
|
||||
.SH MODULES
|
||||
system(3)
|
||||
.SH FILES
|
||||
.nf
|
||||
~em/modules/h/assert.h
|
||||
~em/modules/lib/libassert.a
|
||||
.fi
|
9
modules/src/assert/assert.h
Normal file
9
modules/src/assert/assert.h
Normal file
|
@ -0,0 +1,9 @@
|
|||
/* $Header$ */
|
||||
/* A S S E R T I O N M A C R O D E F I N I T I O N */
|
||||
|
||||
#ifdef DEBUG
|
||||
/* Note: this macro uses parameter substitution inside strings */
|
||||
#define assert(exp) (exp || _BadAssertion(__FILE__, __LINE__, "exp"))
|
||||
#else
|
||||
#define assert(exp) (1)
|
||||
#endif DEBUG
|
Loading…
Reference in a new issue