glibc: replace extern __inline with __extern_inline.

* this helps to comply with C99. As a reminder, some of these headers
are also used by x86_gcc2 src/libs/stdc++.
This commit is contained in:
Jérôme Duval
2015-07-26 10:09:22 +02:00
parent 189156a069
commit 2a868d7645
9 changed files with 62 additions and 28 deletions
+2 -2
View File
@@ -164,13 +164,13 @@ __exctype (_tolower);
# endif # endif
# ifdef __USE_EXTERN_INLINES # ifdef __USE_EXTERN_INLINES
extern __inline int __extern_inline int
tolower (int __c) __THROW tolower (int __c) __THROW
{ {
return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c; return __c >= -128 && __c < 256 ? __ctype_tolower[__c] : __c;
} }
extern __inline int __extern_inline int
toupper (int __c) __THROW toupper (int __c) __THROW
{ {
return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c; return __c >= -128 && __c < 256 ? __ctype_toupper[__c] : __c;
@@ -1,5 +1,5 @@
#ifndef _EXTERN_INLINE #ifndef _EXTERN_INLINE
#define _EXTERN_INLINE extern inline #define _EXTERN_INLINE __extern_inline
#endif #endif
_EXTERN_INLINE int __libc_use_alloca (size_t size) _EXTERN_INLINE int __libc_use_alloca (size_t size)
{ {
@@ -22,10 +22,10 @@
#define __NTH(fct) __attribute__ ((__nothrow__)) fct #define __NTH(fct) __attribute__ ((__nothrow__)) fct
#ifdef __cplusplus #ifndef __extern_always_inline
# define __MATH_INLINE __inline # define __MATH_INLINE __inline
#else #else
# define __MATH_INLINE extern __inline # define __MATH_INLINE __extern_always_inline
#endif #endif
@@ -24,7 +24,7 @@
#ifdef __cplusplus #ifdef __cplusplus
# define __STDIO_INLINE inline # define __STDIO_INLINE inline
#else #else
# define __STDIO_INLINE extern __inline # define __STDIO_INLINE __extern_inline
#endif #endif
@@ -226,6 +226,38 @@
# define __attribute_format_strfmon__(a,b) /* Ignore */ # define __attribute_format_strfmon__(a,b) /* Ignore */
#endif #endif
/* Forces a function to be always inlined. */
#if __GNUC_PREREQ (3,2)
# define __always_inline __inline __attribute__ ((__always_inline__))
#else
# define __always_inline __inline
#endif
/* Associate error messages with the source location of the call site rather
than with the source location inside the function. */
#if __GNUC_PREREQ (4,3)
# define __attribute_artificial__ __attribute__ ((__artificial__))
#else
# define __attribute_artificial__ /* Ignore */
#endif
/* GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
inline semantics, unless -fgnu89-inline is used. */
#if !defined __cplusplus || __GNUC_PREREQ (4,3)
# if defined __GNUC_STDC_INLINE__ || defined __cplusplus
# define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
# define __extern_always_inline \
extern __always_inline __attribute__ ((__gnu_inline__))
# else
# define __extern_inline extern __inline
# define __extern_always_inline extern __always_inline
# endif
#else
# define __extern_inline extern __inline
#endif
/* It is possible to compile containing GCC extensions even if GCC is /* It is possible to compile containing GCC extensions even if GCC is
run in pedantic mode if the uses are carefully marked using the run in pedantic mode if the uses are carefully marked using the
`__extension__' keyword. But this is not generally available before `__extension__' keyword. But this is not generally available before
+3 -1
View File
@@ -21,6 +21,8 @@ MA 02111-1307, USA. */
#ifndef __GMP_H__ #ifndef __GMP_H__
#include <features.h>
#ifndef __GNU_MP__ #ifndef __GNU_MP__
#define __GNU_MP__ 2 #define __GNU_MP__ 2
#define __need_size_t #define __need_size_t
@@ -41,7 +43,7 @@ MA 02111-1307, USA. */
#ifndef _EXTERN_INLINE #ifndef _EXTERN_INLINE
#ifdef __GNUC__ #ifdef __GNUC__
#define _EXTERN_INLINE extern __inline__ #define _EXTERN_INLINE __extern_inline
#else #else
#define _EXTERN_INLINE static #define _EXTERN_INLINE static
#endif #endif
+13 -13
View File
@@ -306,18 +306,18 @@ extern unsigned long long int __strtoull_internal (__const char *
/* Define inline functions which call the internal entry points. */ /* Define inline functions which call the internal entry points. */
__BEGIN_NAMESPACE_STD __BEGIN_NAMESPACE_STD
extern __inline double __extern_inline double
strtod (__const char *__restrict __nptr, char **__restrict __endptr) __THROW strtod (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
{ {
return __strtod_internal (__nptr, __endptr, 0); return __strtod_internal (__nptr, __endptr, 0);
} }
extern __inline long int __extern_inline long int
strtol (__const char *__restrict __nptr, char **__restrict __endptr, strtol (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
return __strtol_internal (__nptr, __endptr, __base, 0); return __strtol_internal (__nptr, __endptr, __base, 0);
} }
extern __inline unsigned long int __extern_inline unsigned long int
strtoul (__const char *__restrict __nptr, char **__restrict __endptr, strtoul (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
@@ -327,12 +327,12 @@ __END_NAMESPACE_STD
# ifdef __USE_ISOC99 # ifdef __USE_ISOC99
__BEGIN_NAMESPACE_C99 __BEGIN_NAMESPACE_C99
extern __inline float __extern_inline float
strtof (__const char *__restrict __nptr, char **__restrict __endptr) __THROW strtof (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
{ {
return __strtof_internal (__nptr, __endptr, 0); return __strtof_internal (__nptr, __endptr, 0);
} }
extern __inline long double __extern_inline long double
strtold (__const char *__restrict __nptr, char **__restrict __endptr) __THROW strtold (__const char *__restrict __nptr, char **__restrict __endptr) __THROW
{ {
return __strtold_internal (__nptr, __endptr, 0); return __strtold_internal (__nptr, __endptr, 0);
@@ -341,13 +341,13 @@ __END_NAMESPACE_C99
# endif # endif
# ifdef __USE_BSD # ifdef __USE_BSD
__extension__ extern __inline long long int __extension__ __extern_inline long long int
strtoq (__const char *__restrict __nptr, char **__restrict __endptr, strtoq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
return __strtoll_internal (__nptr, __endptr, __base, 0); return __strtoll_internal (__nptr, __endptr, __base, 0);
} }
__extension__ extern __inline unsigned long long int __extension__ __extern_inline unsigned long long int
strtouq (__const char *__restrict __nptr, char **__restrict __endptr, strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
@@ -357,13 +357,13 @@ strtouq (__const char *__restrict __nptr, char **__restrict __endptr,
# if defined __USE_MISC || defined __USE_ISOC99 # if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99 __BEGIN_NAMESPACE_C99
__extension__ extern __inline long long int __extension__ __extern_inline long long int
strtoll (__const char *__restrict __nptr, char **__restrict __endptr, strtoll (__const char *__restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
return __strtoll_internal (__nptr, __endptr, __base, 0); return __strtoll_internal (__nptr, __endptr, __base, 0);
} }
__extension__ extern __inline unsigned long long int __extension__ __extern_inline unsigned long long int
strtoull (__const char * __restrict __nptr, char **__restrict __endptr, strtoull (__const char * __restrict __nptr, char **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ {
@@ -373,17 +373,17 @@ __END_NAMESPACE_C99
# endif # endif
__BEGIN_NAMESPACE_STD __BEGIN_NAMESPACE_STD
extern __inline double __extern_inline double
atof (__const char *__nptr) __THROW atof (__const char *__nptr) __THROW
{ {
return strtod (__nptr, (char **) NULL); return strtod (__nptr, (char **) NULL);
} }
extern __inline int __extern_inline int
atoi (__const char *__nptr) __THROW atoi (__const char *__nptr) __THROW
{ {
return (int) strtol (__nptr, (char **) NULL, 10); return (int) strtol (__nptr, (char **) NULL, 10);
} }
extern __inline long int __extern_inline long int
atol (__const char *__nptr) __THROW atol (__const char *__nptr) __THROW
{ {
return strtol (__nptr, (char **) NULL, 10); return strtol (__nptr, (char **) NULL, 10);
@@ -392,7 +392,7 @@ __END_NAMESPACE_STD
# if defined __USE_MISC || defined __USE_ISOC99 # if defined __USE_MISC || defined __USE_ISOC99
__BEGIN_NAMESPACE_C99 __BEGIN_NAMESPACE_C99
__extension__ extern __inline long long int __extension__ __extern_inline long long int
atoll (__const char *__nptr) __THROW atoll (__const char *__nptr) __THROW
{ {
return strtoll (__nptr, (char **) NULL, 10); return strtoll (__nptr, (char **) NULL, 10);
@@ -43,7 +43,7 @@
# ifdef __cplusplus # ifdef __cplusplus
# define __STRING_INLINE inline # define __STRING_INLINE inline
# else # else
# define __STRING_INLINE extern __inline # define __STRING_INLINE __extern_inline
# endif # endif
#endif #endif
@@ -218,34 +218,34 @@ extern unsigned long long int __wcstoull_internal (__const wchar_t *
#if defined __OPTIMIZE__ && __GNUC__ >= 2 #if defined __OPTIMIZE__ && __GNUC__ >= 2
/* Define inline functions which call the internal entry points. */ /* Define inline functions which call the internal entry points. */
extern __inline double wcstod (__const wchar_t *__restrict __nptr, __extern_inline double wcstod (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW wchar_t **__restrict __endptr) __THROW
{ return __wcstod_internal (__nptr, __endptr, 0); } { return __wcstod_internal (__nptr, __endptr, 0); }
extern __inline long int wcstol (__const wchar_t *__restrict __nptr, __extern_inline long int wcstol (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ return __wcstol_internal (__nptr, __endptr, __base, 0); } { return __wcstol_internal (__nptr, __endptr, __base, 0); }
extern __inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr, __extern_inline unsigned long int wcstoul (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ return __wcstoul_internal (__nptr, __endptr, __base, 0); } { return __wcstoul_internal (__nptr, __endptr, __base, 0); }
# ifdef __USE_GNU # ifdef __USE_GNU
extern __inline float wcstof (__const wchar_t *__restrict __nptr, __extern_inline float wcstof (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW wchar_t **__restrict __endptr) __THROW
{ return __wcstof_internal (__nptr, __endptr, 0); } { return __wcstof_internal (__nptr, __endptr, 0); }
extern __inline long double wcstold (__const wchar_t *__restrict __nptr, __extern_inline long double wcstold (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr) __THROW wchar_t **__restrict __endptr) __THROW
{ return __wcstold_internal (__nptr, __endptr, 0); } { return __wcstold_internal (__nptr, __endptr, 0); }
__extension__ __extension__
extern __inline long long int wcstoq (__const wchar_t *__restrict __nptr, __extern_inline long long int wcstoq (__const wchar_t *__restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base) __THROW int __base) __THROW
{ return __wcstoll_internal (__nptr, __endptr, __base, 0); } { return __wcstoll_internal (__nptr, __endptr, __base, 0); }
__extension__ __extension__
extern __inline unsigned long long int wcstouq (__const wchar_t * __extern_inline unsigned long long int wcstouq (__const wchar_t *
__restrict __nptr, __restrict __nptr,
wchar_t **__restrict __endptr, wchar_t **__restrict __endptr,
int __base) __THROW int __base) __THROW