home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / ASSERT.H < prev    next >
C/C++ Source or Header  |  1997-02-28  |  2KB  |  98 lines

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