home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 9 / CDACTUAL9.iso / progs / CB / DATA.Z / ASSERT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-18  |  1.6 KB  |  92 lines

  1. /*  assert.h
  2.  
  3.     assert macro
  4.  
  5. */
  6.  
  7. /* $Copyright: 1987$ */
  8. /* $Revision:   8.1  $ */
  9.  
  10.  
  11. #if !defined(___DEFS_H)
  12. #include <_defs.h>
  13. #endif
  14.  
  15.  
  16. #if !defined(RC_INVOKED)
  17.  
  18. #if defined(__STDC__)
  19. #pragma warn -nak
  20. #endif
  21.  
  22. #endif  /* !RC_INVOKED */
  23.  
  24.  
  25. #if !defined(__FLAT__)
  26.  
  27. #ifdef __cplusplus
  28. extern "C" {
  29. #endif
  30.  
  31. void _Cdecl _FARFUNC __assertfail( char _FAR *__msg,
  32.                                    char _FAR *__cond,
  33.                                    char _FAR *__file,
  34.                                    int __line);
  35.  
  36. #ifdef  __cplusplus
  37. }
  38. #endif
  39.  
  40. #undef assert
  41.  
  42. #ifdef NDEBUG
  43. #  define assert(p)   ((void)0)
  44. #else
  45. #  if defined(_Windows) && !defined(__DPMI16__)
  46. #    define _ENDL
  47. #  else
  48. #    define _ENDL "\n"
  49. #  endif
  50. #  define assert(p) ((p) ? (void)0 : (void) __assertfail( \
  51.                     "Assertion failed: %s, file %s, line %d" _ENDL, \
  52.                     #p, __FILE__, __LINE__ ) )
  53. #endif
  54.  
  55. #else  /* defined __FLAT__ */
  56.  
  57. #ifdef __cplusplus
  58. extern "C" {
  59. #endif
  60.  
  61. void _RTLENTRY _EXPFUNC _assert(char * __cond, char * __file, int __line);
  62.  
  63. /* Obsolete interface: __msg should be "Assertion failed: %s, file %s, line %d"
  64.  */
  65. void _RTLENTRY _EXPFUNC __assertfail(char * __msg, char * __cond,
  66.                                      char * __file, int __line);
  67.  
  68. #ifdef  __cplusplus
  69. }
  70. #endif
  71.  
  72. #undef assert
  73.  
  74. #ifdef NDEBUG
  75. #define assert(p)   ((void)0)
  76. #else
  77. #define assert(p)   ((p) ? (void)0 : _assert(#p, __FILE__, __LINE__))
  78. #endif
  79.  
  80.  
  81. #endif  /* __FLAT__  */
  82.  
  83.  
  84. #if !defined(RC_INVOKED)
  85.  
  86. #if defined(__STDC__)
  87. #pragma warn .nak
  88. #endif
  89.  
  90. #endif  /* !RC_INVOKED */
  91.  
  92.