#ifndef _H_LOWLEVEL_ #define _H_LOWLEVEL_ #if defined(_NO_PROTO_) || !(defined(__STDC__) || defined(__cplusplus)) #define _ANSI_PROTO_(x) () #else #define _ANSI_PROTO_(x) x #endif extern void fatal _ANSI_PROTO_((char*,int,char*,...)); extern void error _ANSI_PROTO_((char*,int,char*,...)); extern void warning _ANSI_PROTO_((char*,int,char*,...)); extern void inform _ANSI_PROTO_((char*,int,char*,...)); extern void assert_failed _ANSI_PROTO_((char*,int,char*)); extern void syserr _ANSI_PROTO_((char*,int)); #undef assert #ifdef NDEBUG #define assert(EX) ((void)0) #else #ifdef __ANSI_CPP__ #define assert(EX) ((EX)?((void)0):assert_failed(__FILE__, __LINE__, # EX )) #else #define assert(EX) ((EX)?((void)0):assert_failed(__FILE__, __LINE__, "EX")) #endif #endif #endif /* _H_LOWLEVEL_ */