diff options
Diffstat (limited to 'newlib/libc')
-rw-r--r-- | newlib/libc/include/_ansi.h | 6 | ||||
-rw-r--r-- | newlib/libc/include/stdlib.h | 2 | ||||
-rw-r--r-- | newlib/libc/stdlib/mallocr.c | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/newlib/libc/include/_ansi.h b/newlib/libc/include/_ansi.h index b4dc01105..8bebd1457 100644 --- a/newlib/libc/include/_ansi.h +++ b/newlib/libc/include/_ansi.h @@ -31,7 +31,13 @@ #define _SIGNED signed #define _DOTS , ... #define _VOID void +#ifdef __CYGWIN__ +#define _EXFUN(name, proto) __cdecl name proto +#define _EXPARM(name, proto) (* __cdecl name) proto +#else #define _EXFUN(name, proto) name proto +#define _EXPARM(name, proto) (* name) proto +#endif #define _DEFUN(name, arglist, args) name(args) #define _DEFUN_VOID(name) name(_NOARGS) #define _CAST_VOID (void) diff --git a/newlib/libc/include/stdlib.h b/newlib/libc/include/stdlib.h index 2d2b8b176..f2feebe30 100644 --- a/newlib/libc/include/stdlib.h +++ b/newlib/libc/include/stdlib.h @@ -56,7 +56,7 @@ _PTR _EXFUN(bsearch,(const _PTR __key, const _PTR __base, size_t __nmemb, size_t __size, - int _EXFUN((*_compar),(const _PTR, const _PTR)))); + int _EXPARM(_compar,(const _PTR, const _PTR)))); _PTR _EXFUN(calloc,(size_t __nmemb, size_t __size)); div_t _EXFUN(div,(int __numer, int __denom)); _VOID _EXFUN(exit,(int __status) _ATTRIBUTE ((noreturn))); diff --git a/newlib/libc/stdlib/mallocr.c b/newlib/libc/stdlib/mallocr.c index 797e04656..c2b2fb91f 100644 --- a/newlib/libc/stdlib/mallocr.c +++ b/newlib/libc/stdlib/mallocr.c @@ -3198,7 +3198,7 @@ Void_t* cALLOc(RARG n, elem_size) RDECL size_t n; size_t elem_size; #endif /* DEFINE_CALLOC */ -#ifdef DEFINE_CFREE +#if defined(DEFINE_CFREE) && !defined(__CYGWIN__) /* |