xref: /plan9/sys/src/cmd/aux/antiword/fail.h (revision f5736e95f14e1485b3a0291fa82d86cca323ab61)
1*f5736e95SDavid du Colombier /*
2*f5736e95SDavid du Colombier  * fail.h
3*f5736e95SDavid du Colombier  * Copyright (C) 1998-2000 A.J. van Os; Released under GPL
4*f5736e95SDavid du Colombier  *
5*f5736e95SDavid du Colombier  * Description:
6*f5736e95SDavid du Colombier  * Support for an alternative form of assert()
7*f5736e95SDavid du Colombier  */
8*f5736e95SDavid du Colombier 
9*f5736e95SDavid du Colombier #if !defined(__fail_h)
10*f5736e95SDavid du Colombier #define __fail_h 1
11*f5736e95SDavid du Colombier 
12*f5736e95SDavid du Colombier #undef fail
13*f5736e95SDavid du Colombier 
14*f5736e95SDavid du Colombier #if defined(NDEBUG)
15*f5736e95SDavid du Colombier #define fail(e)	((void)0)
16*f5736e95SDavid du Colombier #else
17*f5736e95SDavid du Colombier #define fail(e)	((e) ? __fail(#e, __FILE__, __LINE__) : (void)0)
18*f5736e95SDavid du Colombier #endif /* NDEBUG */
19*f5736e95SDavid du Colombier 
20*f5736e95SDavid du Colombier extern void	__fail(char *, char *, int);
21*f5736e95SDavid du Colombier 
22*f5736e95SDavid du Colombier #endif /* __fail_h */
23