--- mstools/h/assert.h 2018/08/09 18:20:01 1.1.1.1 +++ mstools/h/assert.h 2018/08/09 18:21:03 1.1.1.2 @@ -1,7 +1,7 @@ /*** *assert.h - define the assert macro * -* Copyright (c) 1985-1990, Microsoft Corporation. All rights reserved. +* Copyright (c) 1985-1992, Microsoft Corporation. All rights reserved. * *Purpose: * Defines the assert(exp) macro. @@ -10,6 +10,37 @@ ****/ +/* + * Conditional macro definition for function calling type and variable type + * qualifiers. + */ +#if ( (_MSC_VER >= 800) && (_M_IX86 >= 300) ) + +/* + * Definitions for MS C8-32 (386/486) compiler + */ +#define _CRTAPI1 __cdecl +#define _CRTAPI2 __cdecl + +#elif ( _MSC_VER == 600 ) + +/* + * Definitions for old MS C6-386 compiler + */ +#define _CRTAPI1 _cdecl +#define _CRTAPI2 _cdecl +#define _M_IX86 300 + +#else + +/* + * Other compilers (e.g., MIPS) + */ +#define _CRTAPI1 +#define _CRTAPI2 + +#endif + #undef assert #ifdef NDEBUG @@ -21,12 +52,11 @@ #ifdef __cplusplus extern "C" { #endif -void _assert(void *, void *, unsigned); +void _CRTAPI1 _assert(void *, void *, unsigned); #ifdef __cplusplus } #endif -#define assert(exp) \ - ( (exp) ? (void) 0 : _assert(#exp, __FILE__, __LINE__) ) +#define assert(exp) if (exp) {(void)0;} else {_assert(#exp,__FILE__,__LINE__);} #endif /* NDEBUG */