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 + -
显示快捷键?