2 * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
3 * See the copyright notice in the ACK home directory, in the file "Copyright".
5 /* $Id: assert.h,v 1.3 1994/06/27 07:58:19 ceriel Exp $ */
6 /* A S S E R T I O N M A C R O D E F I N I T I O N */
8 /* At some points in the program, it must be sure that some condition
9 holds true, due to further, successful, processing. As long as
10 there is no reasonable method to prove that a program is 100%
11 correct, these assertions are needed in some places.
13 #include "debug.h" /* UF */
16 /* Note: this macro uses parameter substitution inside strings */
17 #define ASSERT(exp) (exp || crash("in %s, %u: assertion %s failed", \
18 __FILE__, __LINE__, "exp"))
19 #define NOTREACHED() crash("in %s, %u: unreachable statement reached", \