|
|
1.1 ! root 1: /* Allow this file to be included multiple times ! 2: with different settings of NDEBUG. */ ! 3: #undef assert ! 4: #undef __assert ! 5: ! 6: #ifdef NDEBUG ! 7: #define assert(ignore) ((void) 0) ! 8: #else ! 9: ! 10: #ifndef __GNUC__ ! 11: ! 12: #define assert(expression) \ ! 13: ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__))) ! 14: ! 15: #define __assert(expression, file, lineno) \ ! 16: (printf ("%s:%u: failed assertion\n", file, lineno), \ ! 17: abort (), 0) ! 18: ! 19: #else ! 20: ! 21: #if defined(__STDC__) || defined (__cplusplus) ! 22: ! 23: /* Defined in libgcc.a */ ! 24: #ifdef __cplusplus ! 25: extern "C" { ! 26: extern void __eprintf (const char *, const char *, unsigned, const char *); ! 27: } ! 28: #else ! 29: extern void __eprintf (const char *, const char *, unsigned, const char *); ! 30: #endif ! 31: ! 32: #define assert(expression) \ ! 33: ((void) ((expression) ? 0 : __assert (#expression, __FILE__, __LINE__))) ! 34: ! 35: #define __assert(expression, file, line) \ ! 36: (__eprintf ("%s:%u: failed assertion `%s'\n", \ ! 37: file, line, expression), 0) ! 38: ! 39: #else /* no __STDC__ and not C++; i.e. -traditional. */ ! 40: ! 41: extern void __eprintf (); /* Defined in libgcc.a */ ! 42: ! 43: #define assert(expression) \ ! 44: ((void) ((expression) ? 0 : __assert (expression, __FILE__, __LINE__))) ! 45: ! 46: #define __assert(expression, file, lineno) \ ! 47: (__eprintf ("%s:%u: failed assertion `%s'\n", \ ! 48: file, lineno, "expression"), 0) ! 49: ! 50: #endif /* no __STDC__ and not C++; i.e. -traditional. */ ! 51: #endif /* no __GNU__; i.e., /bin/cc. */ ! 52: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.