Reactos
at master 53 lines 993 B view raw
1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the w64 mingw-runtime package. 4 * No warranty is given; refer to the file DISCLAIMER within this package. 5 */ 6#ifndef __ASSERT_H_ 7#define __ASSERT_H_ 8 9#include <corecrt.h> 10 11#ifdef NDEBUG 12 13#ifndef assert 14#define assert(_Expression) ((void)0) 15#endif 16 17#else /* !NDEBUG */ 18 19#ifdef __cplusplus 20extern "C" { 21#endif 22 23 _CRTIMP 24 void 25 __cdecl 26 _assert( 27 _In_z_ const char *_Message, 28 _In_z_ const char *_File, 29 _In_ unsigned _Line); 30 31 _CRTIMP 32 void 33 __cdecl 34 _wassert( 35 _In_z_ const wchar_t *_Message, 36 _In_z_ const wchar_t *_File, 37 _In_ unsigned _Line); 38 39#ifdef __cplusplus 40} 41#endif 42 43#ifndef assert 44#define assert(_Expression) (void)((!!(_Expression)) || (_assert(#_Expression,__FILE__,__LINE__),0)) 45#endif 46 47#ifndef wassert 48#define wassert(_Expression) (void)((!!(_Expression)) || (_wassert(_CRT_WIDE(#_Expression),_CRT_WIDE(__FILE__),__LINE__),0)) 49#endif 50 51#endif 52 53#endif