home *** CD-ROM | disk | FTP | other *** search
- /***
- *assert.h - define the assert macro
- *
- * Copyright (c) 1985-1989, Microsoft Corporation. All rights reserved.
- *
- *Purpose:
- * Defines the assert(exp) macro.
- * [ANSI/System V]
- *
- ****/
-
-
- #ifndef NO_EXT_KEYS /* extensions enabled */
- #define _CDECL cdecl
- #define _NEAR near
- #else /* extensions not enabled */
- #define _CDECL
- #define _NEAR
- #endif /* NO_EXT_KEYS */
-
- #undef assert
-
- #ifdef NDEBUG
-
- #define assert(exp)
-
- #else
-
- #ifdef _QC
-
- #define assert(exp) { \
- if (!(exp)) { \
- void _CDECL _assert(void *, void *, unsigned); \
- extern int __aDBswpflg; \
- extern int _aDBdoswp; \
- if (__aDBswpflg == (int) &_aDBdoswp) _asm { int 3 } ; \
- _assert(#exp, __FILE__, __LINE__); \
- } \
- }
-
- #else
-
- #define assert(exp) { \
- if (!(exp)) { \
- void _CDECL _assert(void *, void *, unsigned); \
- _assert(#exp, __FILE__, __LINE__); \
- } \
- }
-
- #endif /* QC */
-
- #endif /* NDEBUG */
-