home *** CD-ROM | disk | FTP | other *** search
- /*
- * assert.h
- * sec 4.2 ansi draft
- */
-
- /* Allow this file to be included multiple times
- with different settings of NDEBUG. */
- #undef assert
- #ifndef _COMPILER_H
- #include <compiler.h>
- #endif
-
- __EXTERN void __eprintf __PROTO((const char *, const char *, const long,
- const char *));
- __EXTERN void abort __PROTO((void));
-
- #ifndef __FAILED
- #define __FAILED "assertion `%s' failed at line '%ld' of file %s\n"
- #endif
-
- #ifdef NDEBUG
- #define assert(cond)
- #else
-
- #ifdef __STDC__
- #define assert(cond) \
- if(!(cond)) { __eprintf(__FAILED, #cond, (long)__LINE__, __FILE__); abort(); }
-
- #else
-
- #ifndef __LINE__
- #define __LINE__ 0
- #endif
- #ifndef __FILE__
- #define __FILE__ "unknown"
- #endif
-
- #define assert(cond) \
- if(!(cond)) { __eprintf(__FAILED, "cond", (long)__LINE__, __FILE__); abort(); }
-
-
- #endif /* __STDC__ */
-
- #endif /* NDEBUG */
-