From 8852e9c5f1b1f1b50b4cec564b204658354fd82e Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Wed, 24 Sep 2003 00:41:01 +0000 Subject: [PATCH] * include/_mingw.h (__CRT_INLINE): Define. * include/ctype.h: Replace 'extern inline' with __CRT_INLINE, throughout * include/inttypes.h: Likewise. * include/math.h: Likewise. * include/stdio.h: Likewise. * include/stdlib.h: Likewise. * include/string.h: Likewise. * include/wchar.h: Likewise. * include/wctype.h: Likewise. --- winsup/mingw/ChangeLog | 13 +++++++ winsup/mingw/include/_mingw.h | 6 ++++ winsup/mingw/include/ctype.h | 60 ++++++++++++++++----------------- winsup/mingw/include/inttypes.h | 2 +- winsup/mingw/include/math.h | 56 +++++++++++++++--------------- winsup/mingw/include/stdio.h | 4 +-- winsup/mingw/include/stdlib.h | 20 +++++------ winsup/mingw/include/string.h | 6 ++-- winsup/mingw/include/wchar.h | 8 ++--- winsup/mingw/include/wctype.h | 26 +++++++------- 10 files changed, 110 insertions(+), 91 deletions(-) diff --git a/winsup/mingw/ChangeLog b/winsup/mingw/ChangeLog index 829ecf07a..c6f5cd481 100644 --- a/winsup/mingw/ChangeLog +++ b/winsup/mingw/ChangeLog @@ -1,3 +1,16 @@ +2003-07-24 Danny Smith + + * include/_mingw.h (__CRT_INLINE): Define. + * include/ctype.h: Replace 'extern inline' with __CRT_INLINE, + throughout + * include/inttypes.h: Likewise. + * include/math.h: Likewise. + * include/stdio.h: Likewise. + * include/stdlib.h: Likewise. + * include/string.h: Likewise. + * include/wchar.h: Likewise. + * include/wctype.h: Likewise. + 2003-09-22 Roland Schwingel * mingwex/dirent.c (_topendir): Allocate enough memory for diff --git a/winsup/mingw/include/_mingw.h b/winsup/mingw/include/_mingw.h index c9dee0450..c88fc1c77 100644 --- a/winsup/mingw/include/_mingw.h +++ b/winsup/mingw/include/_mingw.h @@ -100,6 +100,12 @@ # endif #endif /* __GNUC__ */ +#ifdef __cplusplus +#define __CRT_INLINE inline +#else +#define __CRT_INLINE extern __inline__ +#endif + #define __MINGW32_VERSION 3.2 #define __MINGW32_MAJOR_VERSION 3 #define __MINGW32_MINOR_VERSION 2 diff --git a/winsup/mingw/include/ctype.h b/winsup/mingw/include/ctype.h index 462fc7bc7..375c7c370 100644 --- a/winsup/mingw/include/ctype.h +++ b/winsup/mingw/include/ctype.h @@ -156,21 +156,21 @@ extern unsigned short** _imp___ctype; || defined (__STRICT_ANSI__ )) /* use simple lookup if SB locale, else _isctype() */ #define __ISCTYPE(c, mask) (MB_CUR_MAX == 1 ? (_pctype[c] & mask) : _isctype(c, mask)) -extern __inline__ int __cdecl isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));} -extern __inline__ int __cdecl isalpha(int c) {return __ISCTYPE(c, _ALPHA);} -extern __inline__ int __cdecl iscntrl(int c) {return __ISCTYPE(c, _CONTROL);} -extern __inline__ int __cdecl isdigit(int c) {return __ISCTYPE(c, _DIGIT);} -extern __inline__ int __cdecl isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl islower(int c) {return __ISCTYPE(c, _LOWER);} -extern __inline__ int __cdecl isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl ispunct(int c) {return __ISCTYPE(c, _PUNCT);} -extern __inline__ int __cdecl isspace(int c) {return __ISCTYPE(c, _SPACE);} -extern __inline__ int __cdecl isupper(int c) {return __ISCTYPE(c, _UPPER);} -extern __inline__ int __cdecl isxdigit(int c) {return __ISCTYPE(c, _HEX);} +__CRT_INLINE int __cdecl isalnum(int c) {return __ISCTYPE(c, (_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl isalpha(int c) {return __ISCTYPE(c, _ALPHA);} +__CRT_INLINE int __cdecl iscntrl(int c) {return __ISCTYPE(c, _CONTROL);} +__CRT_INLINE int __cdecl isdigit(int c) {return __ISCTYPE(c, _DIGIT);} +__CRT_INLINE int __cdecl isgraph(int c) {return __ISCTYPE(c, (_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl islower(int c) {return __ISCTYPE(c, _LOWER);} +__CRT_INLINE int __cdecl isprint(int c) {return __ISCTYPE(c, (_BLANK|_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl ispunct(int c) {return __ISCTYPE(c, _PUNCT);} +__CRT_INLINE int __cdecl isspace(int c) {return __ISCTYPE(c, _SPACE);} +__CRT_INLINE int __cdecl isupper(int c) {return __ISCTYPE(c, _UPPER);} +__CRT_INLINE int __cdecl isxdigit(int c) {return __ISCTYPE(c, _HEX);} /* these reproduce behaviour of lib underscored versions */ -extern __inline__ int __cdecl _tolower(int c) {return ( c -'A'+'a');} -extern __inline__ int __cdecl _toupper(int c) {return ( c -'a'+'A');} +__CRT_INLINE int __cdecl _tolower(int c) {return ( c -'A'+'a');} +__CRT_INLINE int __cdecl _toupper(int c) {return ( c -'a'+'A');} /* TODO? Is it worth inlining ANSI tolower, toupper? Probably only if we only want C-locale. */ @@ -212,19 +212,19 @@ _CRTIMP int __cdecl isleadbyte (int); #if ! (defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \ || defined(__WCTYPE_INLINES_DEFINED)) #define __WCTYPE_INLINES_DEFINED -extern __inline__ int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} -extern __inline__ int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} -extern __inline__ int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} -extern __inline__ int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} -extern __inline__ int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} -extern __inline__ int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} -extern __inline__ int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} -extern __inline__ int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} -extern __inline__ int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} -extern __inline__ int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} +__CRT_INLINE int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} +__CRT_INLINE int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} +__CRT_INLINE int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} +__CRT_INLINE int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} +__CRT_INLINE int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} +__CRT_INLINE int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} +__CRT_INLINE int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} +__CRT_INLINE int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} +__CRT_INLINE int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} +__CRT_INLINE int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} #endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ #ifndef __STRICT_ANSI__ @@ -234,10 +234,10 @@ int __cdecl __iscsymf (int); /* Valid first character in C symbol */ int __cdecl __iscsym (int); /* Valid character in C symbol (after first) */ #if !(defined (__NO_INLINE__) || defined (__NO_CTYPE_INLINES)) -extern __inline__ int __cdecl __isascii(int c) {return ((c & ~0x7F) == 0);} -extern __inline__ int __cdecl __toascii(int c) {return (c & 0x7F);} -extern __inline__ int __cdecl __iscsymf(int c) {return (isalpha(c) || (c == '_'));} -extern __inline__ int __cdecl __iscsym(int c) {return (isalnum(c) || (c == '_'));} +__CRT_INLINE int __cdecl __isascii(int c) {return ((c & ~0x7F) == 0);} +__CRT_INLINE int __cdecl __toascii(int c) {return (c & 0x7F);} +__CRT_INLINE int __cdecl __iscsymf(int c) {return (isalpha(c) || (c == '_'));} +__CRT_INLINE int __cdecl __iscsym(int c) {return (isalnum(c) || (c == '_'));} #endif /* __NO_CTYPE_INLINES */ #ifndef _NO_OLDNAMES diff --git a/winsup/mingw/include/inttypes.h b/winsup/mingw/include/inttypes.h index ead95fb9b..24feb7aa5 100644 --- a/winsup/mingw/include/inttypes.h +++ b/winsup/mingw/include/inttypes.h @@ -254,7 +254,7 @@ typedef struct { #endif /* !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) */ -extern __inline__ intmax_t __cdecl imaxabs (intmax_t j) +__CRT_INLINE intmax_t __cdecl imaxabs (intmax_t j) {return (j >= 0 ? j : -j);} imaxdiv_t __cdecl imaxdiv (intmax_t numer, intmax_t denom); diff --git a/winsup/mingw/include/math.h b/winsup/mingw/include/math.h index 6d1d8ccdb..03636f133 100644 --- a/winsup/mingw/include/math.h +++ b/winsup/mingw/include/math.h @@ -273,7 +273,7 @@ _CRTIMP int __cdecl fpclass (double); extern int __cdecl __fpclassifyf (float); extern int __cdecl __fpclassify (double); -extern __inline__ int __cdecl __fpclassifyl (long double x){ +__CRT_INLINE int __cdecl __fpclassifyl (long double x){ unsigned short sw; __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x)); return sw & (FP_NAN | FP_NORMAL | FP_ZERO ); @@ -293,7 +293,7 @@ extern __inline__ int __cdecl __fpclassifyl (long double x){ /* We don't need to worry about trucation here: A NaN stays a NaN. */ -extern __inline__ int __cdecl __isnan (double _x) +__CRT_INLINE int __cdecl __isnan (double _x) { unsigned short sw; __asm__ ("fxam;" @@ -302,7 +302,7 @@ extern __inline__ int __cdecl __isnan (double _x) == FP_NAN; } -extern __inline__ int __cdecl __isnanf (float _x) +__CRT_INLINE int __cdecl __isnanf (float _x) { unsigned short sw; __asm__ ("fxam;" @@ -311,7 +311,7 @@ extern __inline__ int __cdecl __isnanf (float _x) == FP_NAN; } -extern __inline__ int __cdecl __isnanl (long double _x) +__CRT_INLINE int __cdecl __isnanl (long double _x) { unsigned short sw; __asm__ ("fxam;" @@ -329,19 +329,19 @@ extern __inline__ int __cdecl __isnanl (long double _x) #define isnormal(x) (fpclassify(x) == FP_NORMAL) /* 7.12.3.6 The signbit macro */ -extern __inline__ int __cdecl __signbit (double x) { +__CRT_INLINE int __cdecl __signbit (double x) { unsigned short stw; __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); return stw & 0x0200; } -extern __inline__ int __cdecl __signbitf (float x) { +__CRT_INLINE int __cdecl __signbitf (float x) { unsigned short stw; __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); return stw & 0x0200; } -extern __inline__ int __cdecl __signbitl (long double x) { +__CRT_INLINE int __cdecl __signbitl (long double x) { unsigned short stw; __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x)); return stw & 0x0200; @@ -374,15 +374,15 @@ extern float __cdecl atan2f (float, float); extern long double __cdecl atan2l (long double, long double); /* 7.12.5 Hyperbolic functions: Double in C89 */ -extern __inline__ float __cdecl sinhf (float x) +__CRT_INLINE float __cdecl sinhf (float x) {return (float) sinh (x);} extern long double __cdecl sinhl (long double); -extern __inline__ float __cdecl coshf (float x) +__CRT_INLINE float __cdecl coshf (float x) {return (float) cosh (x);} extern long double __cdecl coshl (long double); -extern __inline__ float __cdecl tanhf (float x) +__CRT_INLINE float __cdecl tanhf (float x) {return (float) tanh (x);} extern long double __cdecl tanhl (long double); @@ -391,7 +391,7 @@ extern long double __cdecl tanhl (long double); */ /* 7.12.6.1 Double in C89 */ -extern __inline__ float __cdecl expf (float x) +__CRT_INLINE float __cdecl expf (float x) {return (float) exp (x);} extern long double __cdecl expl (long double); @@ -403,7 +403,7 @@ extern long double __cdecl exp2l(long double); /* 7.12.6.3 The expm1 functions: TODO */ /* 7.12.6.4 Double in C89 */ -extern __inline__ float __cdecl frexpf (float x, int* expn) +__CRT_INLINE float __cdecl frexpf (float x, int* expn) {return (float) frexp (x, expn);} extern long double __cdecl frexpl (long double, int*); @@ -415,7 +415,7 @@ extern int __cdecl ilogbf (float); extern int __cdecl ilogbl (long double); /* 7.12.6.6 Double in C89 */ -extern __inline__ float __cdecl ldexpf (float x, int expn) +__CRT_INLINE float __cdecl ldexpf (float x, int expn) {return (float) ldexp (x, expn);} extern long double __cdecl ldexpl (long double, int); @@ -442,7 +442,7 @@ extern double __cdecl logb (double); extern float __cdecl logbf (float); extern long double __cdecl logbl (long double); -extern __inline__ double __cdecl logb (double x) +__CRT_INLINE double __cdecl logb (double x) { double res; __asm__ ("fxtract\n\t" @@ -450,7 +450,7 @@ extern __inline__ double __cdecl logb (double x) return res; } -extern __inline__ float __cdecl logbf (float x) +__CRT_INLINE float __cdecl logbf (float x) { float res; __asm__ ("fxtract\n\t" @@ -458,7 +458,7 @@ extern __inline__ float __cdecl logbf (float x) return res; } -extern __inline__ long double __cdecl logbl (long double x) +__CRT_INLINE long double __cdecl logbl (long double x) { long double res; __asm__ ("fxtract\n\t" @@ -491,12 +491,12 @@ extern long double __cdecl fabsl (long double x); /* 7.12.7.3 */ extern double __cdecl hypot (double, double); /* in libmoldname.a */ -extern __inline__ float __cdecl hypotf (float x, float y) +__CRT_INLINE float __cdecl hypotf (float x, float y) { return (float) hypot (x, y);} extern long double __cdecl hypotl (long double, long double); /* 7.12.7.4 The pow functions. Double in C89 */ -extern __inline__ float __cdecl powf (float x, float y) +__CRT_INLINE float __cdecl powf (float x, float y) {return (float) pow (x, y);} extern long double __cdecl powl (long double, long double); @@ -543,21 +543,21 @@ extern long double __cdecl nearbyintl (long double); /* 7.12.9.4 */ /* round, using fpu control word settings */ -extern __inline__ double __cdecl rint (double x) +__CRT_INLINE double __cdecl rint (double x) { double retval; __asm__ ("frndint;": "=t" (retval) : "0" (x)); return retval; } -extern __inline__ float __cdecl rintf (float x) +__CRT_INLINE float __cdecl rintf (float x) { float retval; __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); return retval; } -extern __inline__ long double __cdecl rintl (long double x) +__CRT_INLINE long double __cdecl rintl (long double x) { long double retval; __asm__ ("frndint;" : "=t" (retval) : "0" (x) ); @@ -565,7 +565,7 @@ extern __inline__ long double __cdecl rintl (long double x) } /* 7.12.9.5 */ -extern __inline__ long __cdecl lrint (double x) +__CRT_INLINE long __cdecl lrint (double x) { long retval; __asm__ __volatile__ \ @@ -573,7 +573,7 @@ extern __inline__ long __cdecl lrint (double x) return retval; } -extern __inline__ long __cdecl lrintf (float x) +__CRT_INLINE long __cdecl lrintf (float x) { long retval; __asm__ __volatile__ \ @@ -581,7 +581,7 @@ extern __inline__ long __cdecl lrintf (float x) return retval; } -extern __inline__ long __cdecl lrintl (long double x) +__CRT_INLINE long __cdecl lrintl (long double x) { long retval; __asm__ __volatile__ \ @@ -589,7 +589,7 @@ extern __inline__ long __cdecl lrintl (long double x) return retval; } -extern __inline__ long long __cdecl llrint (double x) +__CRT_INLINE long long __cdecl llrint (double x) { long long retval; __asm__ __volatile__ \ @@ -597,7 +597,7 @@ extern __inline__ long long __cdecl llrint (double x) return retval; } -extern __inline__ long long __cdecl llrintf (float x) +__CRT_INLINE long long __cdecl llrintf (float x) { long long retval; __asm__ __volatile__ \ @@ -605,7 +605,7 @@ extern __inline__ long long __cdecl llrintf (float x) return retval; } -extern __inline__ long long __cdecl llrintl (long double x) +__CRT_INLINE long long __cdecl llrintl (long double x) { long long retval; __asm__ __volatile__ \ @@ -720,7 +720,7 @@ extern long double __cdecl fmal (long double, long double, long double); #else /* helper */ -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl __fp_unordered_compare (long double x, long double y){ unsigned short retval; __asm__ ("fucom %%st(1);" diff --git a/winsup/mingw/include/stdio.h b/winsup/mingw/include/stdio.h index 1bf445052..6ad334ef3 100644 --- a/winsup/mingw/include/stdio.h +++ b/winsup/mingw/include/stdio.h @@ -222,7 +222,7 @@ _CRTIMP int __cdecl _vsnprintf (char*, size_t, const char*, __VALIST); #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ int __cdecl snprintf(char* s, size_t n, const char* format, ...); -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl vsnprintf (char* s, size_t n, const char* format, __VALIST arg) { return _vsnprintf ( s, n, format, arg); } int __cdecl vscanf (const char * __restrict__, __VALIST); @@ -387,7 +387,7 @@ _CRTIMP FILE* __cdecl _wpopen (const wchar_t*, const wchar_t*); #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ int __cdecl snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...); -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg) { return _vsnwprintf ( s, n, format, arg);} int __cdecl vwscanf (const wchar_t * __restrict__, __VALIST); diff --git a/winsup/mingw/include/stdlib.h b/winsup/mingw/include/stdlib.h index b606c6036..23389c2c1 100644 --- a/winsup/mingw/include/stdlib.h +++ b/winsup/mingw/include/stdlib.h @@ -329,7 +329,7 @@ _CRTIMP long __cdecl _wtol (const wchar_t *); _CRTIMP double __cdecl strtod (const char*, char**); #if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ -extern __inline__ float __cdecl strtof (const char *nptr, char **endptr) +__CRT_INLINE float __cdecl strtof (const char *nptr, char **endptr) { return (strtod (nptr, endptr));} long double __cdecl strtold (const char * __restrict__, char ** __restrict__); #endif /* __NO_ISOCEXT */ @@ -341,7 +341,7 @@ _CRTIMP unsigned long __cdecl strtoul (const char*, char**, int); /* also declared in wchar.h */ _CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**); #if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ -extern __inline__ float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr) +__CRT_INLINE float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr) { return (wcstod(nptr, endptr)); } long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); #endif /* __NO_ISOCEXT */ @@ -479,7 +479,7 @@ _CRTIMP char* __cdecl gcvt (double, int, char*); /* 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) +__CRT_INLINE void __cdecl _Exit(int status) { _exit(status); } #endif @@ -487,7 +487,7 @@ typedef struct { long long quot, rem; } lldiv_t; lldiv_t __cdecl lldiv (long long, long long); -extern __inline__ long long __cdecl llabs(long long _j) +__CRT_INLINE long long __cdecl llabs(long long _j) {return (_j >= 0 ? _j : -_j);} long long __cdecl strtoll (const char* __restrict__, char** __restrict, int); @@ -504,17 +504,17 @@ wchar_t* __cdecl lltow (long long, wchar_t *, int); wchar_t* __cdecl ulltow (unsigned long long, wchar_t *, int); /* inline using non-ansi functions */ -extern __inline__ long long __cdecl atoll (const char * _c) +__CRT_INLINE long long __cdecl atoll (const char * _c) { return _atoi64 (_c); } -extern __inline__ char* __cdecl lltoa (long long _n, char * _c, int _i) +__CRT_INLINE char* __cdecl lltoa (long long _n, char * _c, int _i) { return _i64toa (_n, _c, _i); } -extern __inline__ char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i) +__CRT_INLINE char* __cdecl ulltoa (unsigned long long _n, char * _c, int _i) { return _ui64toa (_n, _c, _i); } -extern __inline__ long long __cdecl wtoll (const wchar_t * _w) +__CRT_INLINE long long __cdecl wtoll (const wchar_t * _w) { return _wtoi64 (_w); } -extern __inline__ wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i) +__CRT_INLINE wchar_t* __cdecl lltow (long long _n, wchar_t * _w, int _i) { return _i64tow (_n, _w, _i); } -extern __inline__ wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) +__CRT_INLINE wchar_t* __cdecl ulltow (unsigned long long _n, wchar_t * _w, int _i) { return _ui64tow (_n, _w, _i); } #endif /* (__STRICT_ANSI__) */ diff --git a/winsup/mingw/include/string.h b/winsup/mingw/include/string.h index 9f6b2bfbf..afedab717 100644 --- a/winsup/mingw/include/string.h +++ b/winsup/mingw/include/string.h @@ -161,13 +161,13 @@ _CRTIMP int __cdecl memicmp (const void*, const void*, size_t); _CRTIMP char* __cdecl strdup (const char*); _CRTIMP int __cdecl strcmpi (const char*, const char*); _CRTIMP int __cdecl stricmp (const char*, const char*); -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl strcasecmp (const char * __sz1, const char * __sz2) {return _stricmp (__sz1, __sz2);} _CRTIMP int __cdecl stricoll (const char*, const char*); _CRTIMP char* __cdecl strlwr (char*); _CRTIMP int __cdecl strnicmp (const char*, const char*, size_t); -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare) {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);} _CRTIMP char* __cdecl strnset (char*, int, size_t); @@ -179,7 +179,7 @@ _CRTIMP void __cdecl swab (const char*, char*, size_t); #endif /* _UWIN */ /* NOTE: There is no _wcscmpi, but this is for compatibility. */ -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl wcscmpi (const wchar_t * __ws1, const wchar_t * __ws2) {return _wcsicmp (__ws1, __ws2);} _CRTIMP wchar_t* __cdecl wcsdup (wchar_t*); diff --git a/winsup/mingw/include/wchar.h b/winsup/mingw/include/wchar.h index 58e241ab1..1543678c6 100644 --- a/winsup/mingw/include/wchar.h +++ b/winsup/mingw/include/wchar.h @@ -119,7 +119,7 @@ _CRTIMP wint_t __cdecl ungetwc (wchar_t, FILE*); #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ int __cdecl snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...); -extern __inline__ int __cdecl +__CRT_INLINE int __cdecl vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __VALIST arg) { return _vsnwprintf ( s, n, format, arg);} int __cdecl vwscanf (const wchar_t * __restrict__, __VALIST); @@ -253,7 +253,7 @@ _CRTIMP long __cdecl wcstol (const wchar_t*, wchar_t**, int); _CRTIMP unsigned long __cdecl wcstoul (const wchar_t*, wchar_t**, int); _CRTIMP double __cdecl wcstod (const wchar_t*, wchar_t**); #if !defined __NO_ISOCEXT /* extern stub in static libmingwex.a */ -extern __inline__ float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr) +__CRT_INLINE float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr) { return (wcstod(nptr, endptr)); } long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); #endif /* __NO_ISOCEXT */ @@ -298,8 +298,8 @@ size_t __cdecl wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *); int __cdecl wctob(wint_t); #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ -extern __inline__ int __cdecl fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */ -extern __inline__ int __cdecl mbsinit(const mbstate_t* ps) {return 1;} +__CRT_INLINE int __cdecl fwide(FILE* stream, int mode) {return -1;} /* limited to byte orientation */ +__CRT_INLINE int __cdecl mbsinit(const mbstate_t* ps) {return 1;} wchar_t* __cdecl wmemset(wchar_t* s, wchar_t c, size_t n); wchar_t* __cdecl wmemchr(const wchar_t* s, wchar_t c, size_t n); int wmemcmp(const wchar_t* s1, const wchar_t * s2, size_t n); diff --git a/winsup/mingw/include/wctype.h b/winsup/mingw/include/wctype.h index 2f7a62e1c..7b2d20a6d 100644 --- a/winsup/mingw/include/wctype.h +++ b/winsup/mingw/include/wctype.h @@ -111,19 +111,19 @@ extern unsigned short** _imp___ctype; #if !(defined (__NO_INLINE__) || defined(__NO_CTYPE_INLINES) \ || defined(__WCTYPE_INLINES_DEFINED)) #define __WCTYPE_INLINES_DEFINED -extern __inline__ int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} -extern __inline__ int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} -extern __inline__ int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} -extern __inline__ int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} -extern __inline__ int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} -extern __inline__ int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} -extern __inline__ int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} -extern __inline__ int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} -extern __inline__ int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} -extern __inline__ int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} -extern __inline__ int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} +__CRT_INLINE int __cdecl iswalnum(wint_t wc) {return (iswctype(wc,_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswalpha(wint_t wc) {return (iswctype(wc,_ALPHA));} +__CRT_INLINE int __cdecl iswascii(wint_t wc) {return ((wc & ~0x7F) ==0);} +__CRT_INLINE int __cdecl iswcntrl(wint_t wc) {return (iswctype(wc,_CONTROL));} +__CRT_INLINE int __cdecl iswdigit(wint_t wc) {return (iswctype(wc,_DIGIT));} +__CRT_INLINE int __cdecl iswgraph(wint_t wc) {return (iswctype(wc,_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswlower(wint_t wc) {return (iswctype(wc,_LOWER));} +__CRT_INLINE int __cdecl iswprint(wint_t wc) {return (iswctype(wc,_BLANK|_PUNCT|_ALPHA|_DIGIT));} +__CRT_INLINE int __cdecl iswpunct(wint_t wc) {return (iswctype(wc,_PUNCT));} +__CRT_INLINE int __cdecl iswspace(wint_t wc) {return (iswctype(wc,_SPACE));} +__CRT_INLINE int __cdecl iswupper(wint_t wc) {return (iswctype(wc,_UPPER));} +__CRT_INLINE int __cdecl iswxdigit(wint_t wc) {return (iswctype(wc,_HEX));} +__CRT_INLINE int __cdecl isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & _LEADBYTE);} #endif /* !(defined(__NO_CTYPE_INLINES) || defined(__WCTYPE_INLINES_DEFINED)) */ -- 2.43.5