diff options
Diffstat (limited to 'winsup/mingw/include/stdlib.h')
-rw-r--r-- | winsup/mingw/include/stdlib.h | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h index 49ffa14ec..b7dc533dc 100644 --- a/winsup/mingw/include/stdlib.h +++ b/winsup/mingw/include/stdlib.h @@ -301,12 +301,6 @@ __MINGW_IMPORT int _fmode_dll; #endif /* Not __STRICT_ANSI__ */ -#ifdef __GNUC__ -#define _ATTRIB_NORETURN __attribute__ ((noreturn)) -#else /* Not __GNUC__ */ -#define _ATTRIB_NORETURN -#endif /* __GNUC__ */ - _CRTIMP double __cdecl atof (const char*); _CRTIMP int __cdecl atoi (const char*); _CRTIMP long __cdecl atol (const char*); @@ -348,13 +342,13 @@ _CRTIMP int __cdecl mbtowc (wchar_t*, const char*, size_t); _CRTIMP int __cdecl rand (void); _CRTIMP void __cdecl srand (unsigned int); -_CRTIMP void* __cdecl calloc (size_t, size_t); -_CRTIMP void* __cdecl malloc (size_t); +_CRTIMP void* __cdecl calloc (size_t, size_t) ___MINGW_ATTRIB_MALLOC; +_CRTIMP void* __cdecl malloc (size_t) ___MINGW_ATTRIB_MALLOC; _CRTIMP void* __cdecl realloc (void*, size_t); _CRTIMP void __cdecl free (void*); -_CRTIMP void __cdecl abort (void) _ATTRIB_NORETURN; -_CRTIMP void __cdecl exit (int) _ATTRIB_NORETURN; +_CRTIMP void __cdecl abort (void) ___MINGW_ATTRIB_NORETURN; +_CRTIMP void __cdecl exit (int) ___MINGW_ATTRIB_NORETURN; /* Note: This is in startup code, not imported directly from dll */ int __cdecl atexit (void (*)(void)); @@ -368,8 +362,8 @@ _CRTIMP void* __cdecl bsearch (const void*, const void*, size_t, size_t, _CRTIMP void __cdecl qsort (void*, size_t, size_t, int (*)(const void*, const void*)); -_CRTIMP int __cdecl abs (int); -_CRTIMP long __cdecl labs (long); +_CRTIMP int __cdecl abs (int) ___MINGW_ATTRIB_CONST; +_CRTIMP long __cdecl labs (long) ___MINGW_ATTRIB_CONST; /* * div_t and ldiv_t are structures used to return the results of div and @@ -382,8 +376,8 @@ _CRTIMP long __cdecl labs (long); typedef struct { int quot, rem; } div_t; typedef struct { long quot, rem; } ldiv_t; -_CRTIMP div_t __cdecl div (int, int); -_CRTIMP ldiv_t __cdecl ldiv (long, long); +_CRTIMP div_t __cdecl div (int, int) ___MINGW_ATTRIB_CONST; +_CRTIMP ldiv_t __cdecl ldiv (long, long) ___MINGW_ATTRIB_CONST; #if !defined (__STRICT_ANSI__) @@ -395,7 +389,7 @@ _CRTIMP void __cdecl _beep (unsigned int, unsigned int); _CRTIMP void __cdecl _seterrormode (int); _CRTIMP void __cdecl _sleep (unsigned long); -_CRTIMP void __cdecl _exit (int) _ATTRIB_NORETURN; +_CRTIMP void __cdecl _exit (int) ___MINGW_ATTRIB_NORETURN; /* _onexit is MS extension. Use atexit for portability. */ /* Note: This is in startup code, not imported directly from dll */ @@ -436,10 +430,10 @@ _CRTIMP void __cdecl _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, con _CRTIMP void __cdecl _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*); _CRTIMP wchar_t* __cdecl _wfullpath (wchar_t*, const wchar_t*, size_t); -_CRTIMP unsigned int __cdecl _rotl(unsigned int, int); -_CRTIMP unsigned int __cdecl _rotr(unsigned int, int); -_CRTIMP unsigned long __cdecl _lrotl(unsigned long, int); -_CRTIMP unsigned long __cdecl _lrotr(unsigned long, int); +_CRTIMP unsigned int __cdecl _rotl(unsigned int, int) ___MINGW_ATTRIB_CONST; +_CRTIMP unsigned int __cdecl _rotr(unsigned int, int) ___MINGW_ATTRIB_CONST; +_CRTIMP unsigned long __cdecl _lrotl(unsigned long, int) ___MINGW_ATTRIB_CONST; +_CRTIMP unsigned long __cdecl _lrotr(unsigned long, int) ___MINGW_ATTRIB_CONST; #endif #ifndef _NO_OLDNAMES @@ -464,7 +458,7 @@ _CRTIMP char* __cdecl gcvt (double, int, char*); #if !defined __NO_ISOCEXT /* externs in static libmingwex.a */ /* C99 name for _exit */ -void __cdecl _Exit(int) _ATTRIB_NORETURN; +void __cdecl _Exit(int) ___MINGW_ATTRIB_NORETURN; #ifndef __STRICT_ANSI__ /* inline using non-ansi functions */ __CRT_INLINE void __cdecl _Exit(int status) { _exit(status); } @@ -472,7 +466,7 @@ __CRT_INLINE void __cdecl _Exit(int status) typedef struct { long long quot, rem; } lldiv_t; -lldiv_t __cdecl lldiv (long long, long long); +lldiv_t __cdecl lldiv (long long, long long) ___MINGW_ATTRIB_CONST; __CRT_INLINE long long __cdecl llabs(long long _j) {return (_j >= 0 ? _j : -_j);} @@ -509,10 +503,6 @@ __CRT_INLINE wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int #endif /* !__NO_ISOCEXT */ -/* - * Undefine the no return attribute used in some function definitions - */ -#undef _ATTRIB_NORETURN #ifdef __cplusplus } |