Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4871 → Rev 4872

/contrib/sdk/sources/libc/include/assert.h
0,0 → 1,50
/*
assert.h
*/
#ifndef _NEWLIB_ASSERT_H
#define _NEWLIB_ASSERT_H
 
#ifdef __cplusplus
extern "C" {
#endif
 
#include "_ansi.h"
 
#undef assert
 
#ifdef NDEBUG /* required by ANSI standard */
# define assert(__e) ((void)0)
#else
# define assert(__e) ((__e) ? (void)0 : __assert_func (__FILE__, __LINE__, \
__ASSERT_FUNC, #__e))
 
# ifndef __ASSERT_FUNC
/* Use g++'s demangled names in C++. */
# if defined __cplusplus && defined __GNUC__
# define __ASSERT_FUNC __PRETTY_FUNCTION__
 
/* C99 requires the use of __func__. */
# elif __STDC_VERSION__ >= 199901L
# define __ASSERT_FUNC __func__
 
/* Older versions of gcc don't have __func__ but can use __FUNCTION__. */
# elif __GNUC__ >= 2
# define __ASSERT_FUNC __FUNCTION__
 
/* failed to detect __func__ support. */
# else
# define __ASSERT_FUNC ((char *) 0)
# endif
# endif /* !__ASSERT_FUNC */
#endif /* !NDEBUG */
 
void _EXFUN(__assert, (const char *, int, const char *)
_ATTRIBUTE ((__noreturn__)));
void _EXFUN(__assert_func, (const char *, int, const char *, const char *)
_ATTRIBUTE ((__noreturn__)));
 
#ifdef __cplusplus
}
#endif
 
#endif /* _NEWLIB_ASSERT_H */