mirror of
https://github.com/esp8266/Arduino.git
synced 2025-07-26 07:02:15 +03:00
* Use newlib libc library This change adds libcmin.a, which is created from newlib libc by selectively removing some of the object files (mostly related to heap management). The list of files is available in tools/sdk/lib/make_libcmin.sh. Files which are not needed are commented out. This change adds support for various functions which were missing, like sscanf, strftime, etc. * Fix some of the time functions * Redirect stdout to serial * Implement __putc_r * Switch to custom newlib build Built from https://github.com/igrr/newlib-xtensa using: ./configure --with-newlib --enable-multilib --disable-newlib-io-c99-formats --enable-newlib-supplied-syscalls --enable-target-optspace --program-transform-name="s&^&xtensa-lx106-elf-&" --disable-option-checking --with-target-subdir=xtensa-lx106-elf --target=xtensa-lx106-elf --enable-newlib-nano-formatted-io --enable-newlib-reent-small --prefix=path-to-arduino-core/tools/sdk/libc CROSS_CFLAGS="-DMALLOC_PROVIDED -DSIGNAL_PROVIDED -DABORT_PROVIDED" make make install * Update tests
51 lines
1.2 KiB
C
51 lines
1.2 KiB
C
/*
|
|
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__)));
|
|
|
|
#if __STDC_VERSION__ >= 201112L && !defined __cplusplus
|
|
# define static_assert _Static_assert
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|