1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
/*
Copyright (c) 2014-2016, Alexey Frunze
2-clause BSD license.
*/
#ifndef __ASSERT_H
#define __ASSERT_H
#ifdef assert
#undef assert
#endif
#ifdef __SMALLER_PP__
#ifdef NDEBUG
#define assert(expr) ((void)0)
#else
#define assert(expr) ((expr) ? (void)0 : __assert(__func__, __FILE__, __LINE__, #expr)(0))
#endif
#else
#ifdef NDEBUG
#define assert (1)?(void)0:(void)
#else
#define assert __assert(__func__, __FILE__, __LINE__, (char*)0)
#endif
#endif
void (*__assert(char*, char*, int, char*))(unsigned);
#endif
|