diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index b159d96e2..da98fa67d 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,8 @@ +2003-05-15 Danny Smith + + * include/stdlib.h (_Exit): Move out of __STRICT_ANSI__ block, + but still protect inline definition with __STRICT_ANSI__. + 2003-05-14 Danny Smith * string_old.c: Remove, splitting into... diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h index 5e0db31c5..76ce7e2f9 100644 --- a/winsup/mingw/include/stdlib.h +++ b/winsup/mingw/include/stdlib.h @@ -408,12 +408,7 @@ _CRTIMP void __cdecl _seterrormode (int); _CRTIMP void __cdecl _sleep (unsigned long); _CRTIMP void __cdecl _exit (int) _ATTRIB_NORETURN; -#if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ -/* C99 function name */ -void __cdecl _Exit(int) _ATTRIB_NORETURN; /* Declare to get noreturn attribute. */ -extern __inline__ void __cdecl _Exit(int status) - { _exit(status); } -#endif + /* _onexit is MS extension. Use atexit for portability. */ /* Note: This is in startup code, not imported directly from dll */ typedef int (* _onexit_t)(void); @@ -431,7 +426,6 @@ _CRTIMP void __cdecl _makepath (char*, const char*, const char*, const char*, co _CRTIMP void __cdecl _splitpath (const char*, char*, char*, char*, char*); _CRTIMP char* __cdecl _fullpath (char*, const char*, size_t); - _CRTIMP char* __cdecl _itoa (int, char*, int); _CRTIMP char* __cdecl _ltoa (long, char*, int); _CRTIMP char* __cdecl _ultoa(unsigned long, char*, int); @@ -481,6 +475,13 @@ _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; +#ifndef __STRICT_ANSI__ /* inline using non-ansi functions */ +extern __inline__ void __cdecl _Exit(int status) + { _exit(status); } +#endif + typedef struct { long long quot, rem; } lldiv_t; lldiv_t __cdecl lldiv (long long, long long);