assert.mh

来自「开放源码的编译器open watcom 1.6.0版的源代码」· MH 代码 · 共 66 行

MH
66
字号
/*
 *  assert.h
 *
:include crwat.sp
 */
:segment SNAP | SNAPDRV

/* We don't support assertions in BPD's. Use the CHECK() macro instead */

#undef assert   /* remove existing definition */
#define assert(test)    ((void)0)
:elsesegment
:include readonly.sp
:include cpluspro.sp

#ifndef _COMDEF_H_INCLUDED
 #include <_comdef.h>
#endif

#undef assert

#ifdef NDEBUG
 #define assert(ignore) ((void)0)
#else
 _WCRTLINK extern void _assert( char *, char *, int );
 _WCRTLINK extern void _wassert( char *, char *, int );
 _WCRTLINK extern void __assert( int, char *, char *, int );
 _WCRTLINK extern void __wassert( int, char *, char *, int );
 _WCRTLINK extern void _assert99( char *, char *, char *, int );
 _WCRTLINK extern void _wassert99( char *, char *, char *, int );
 _WCRTLINK extern void __assert99( int, char *, char *, char *, int );
 _WCRTLINK extern void __wassert99( int, char *, char *, char *, int );
:include ext.sp
 #ifdef __C89
  #ifdef _UNICODE
   #define assert(expr)   ((expr)?(void)0:_wassert(#expr,__FILE__,__LINE__))
  #else
   #define assert(expr)   ((expr)?(void)0:_assert(#expr,__FILE__,__LINE__))
  #endif
 #else
  #ifdef _UNICODE
   #define assert(expr)   ((expr)?(void)0:_wassert99(#expr,__func__,__FILE__,__LINE__))
  #else
   #define assert(expr)   ((expr)?(void)0:_assert99(#expr,__func__,__FILE__,__LINE__))
  #endif
 #endif
#else
 #ifdef __C89
  #ifdef _UNICODE
   #define assert(expr)  __wassert(expr,#expr,__FILE__,__LINE__)
  #else
   #define assert(expr)  __assert(expr,#expr,__FILE__,__LINE__)
  #endif
 #else
  #ifdef _UNICODE
   #define assert(expr)  __wassert99(expr,#expr,__func__,__FILE__,__LINE__)
  #else
   #define assert(expr)  __assert99(expr,#expr,__func__,__FILE__,__LINE__)
  #endif
 #endif
#endif
#endif
:include cplusepi.sp
:endsegment

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?