diff options
Diffstat (limited to 'public/sdk/inc/crt/assert.h')
-rw-r--r-- | public/sdk/inc/crt/assert.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/public/sdk/inc/crt/assert.h b/public/sdk/inc/crt/assert.h new file mode 100644 index 000000000..70871a05f --- /dev/null +++ b/public/sdk/inc/crt/assert.h @@ -0,0 +1,86 @@ +/*** +*assert.h - define the assert macro +* +* Copyright (c) 1985-1995, Microsoft Corporation. All rights reserved. +* +*Purpose: +* Defines the assert(exp) macro. +* [ANSI/System V] +* +* [Public] +* +****/ + +#if !defined(_WIN32) && !defined(_MAC) +#error ERROR: Only Mac or Win32 targets supported! +#endif + + + +/* Define _CRTAPI1 (for compatibility with the NT SDK) */ + +#ifndef _CRTAPI1 +#if _MSC_VER >= 800 && _M_IX86 >= 300 +#define _CRTAPI1 __cdecl +#else +#define _CRTAPI1 +#endif +#endif + + +/* Define _CRTAPI2 (for compatibility with the NT SDK) */ + +#ifndef _CRTAPI2 +#if _MSC_VER >= 800 && _M_IX86 >= 300 +#define _CRTAPI2 __cdecl +#else +#define _CRTAPI2 +#endif +#endif + + +/* Define _CRTIMP */ + +#ifndef _CRTIMP +#ifdef _NTSDK +/* definition compatible with NT SDK */ +#define _CRTIMP +#else /* ndef _NTSDK */ +/* current definition */ +#ifdef _DLL +#define _CRTIMP __declspec(dllimport) +#else /* ndef _DLL */ +#define _CRTIMP +#endif /* _DLL */ +#endif /* _NTSDK */ +#endif /* _CRTIMP */ + + +/* Define __cdecl for non-Microsoft compilers */ + +#if ( !defined(_MSC_VER) && !defined(__cdecl) ) +#define __cdecl +#endif + + +#undef assert + +#ifdef NDEBUG + +#define assert(exp) ((void)0) + +#else + +#ifdef __cplusplus +extern "C" { +#endif + +_CRTIMP void __cdecl _assert(void *, void *, unsigned); + +#ifdef __cplusplus +} +#endif + +#define assert(exp) (void)( (exp) || (_assert(#exp, __FILE__, __LINE__), 0) ) + +#endif /* NDEBUG */ |