Remove oldish __GNUC_PREREQ.
This commit is contained in:
parent
6358490d55
commit
bc957d531c
@ -1,3 +1,11 @@
|
||||
2012-03-03 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
* include/sys/cdefs.h: Remove __GNUC_PREREQ macro.
|
||||
* math/math_private.h: Likewise.
|
||||
* stdlib/tst-strtod.c: Likewise.
|
||||
* sysdeps/i386/i486/bits/atomic.h: Likewise.
|
||||
* sysdeps/x86_64/bits/atomic.h: Likewise.
|
||||
|
||||
2012-03-02 David S. Miller <davem@davemloft.net>
|
||||
|
||||
* sysdeps/sparc/sparc32/sparcv9/fpu/s_llrint.S: New file.
|
||||
|
@ -14,11 +14,7 @@ libc_hidden_proto (__chk_fail)
|
||||
rtld_hidden_proto (__chk_fail)
|
||||
|
||||
|
||||
# if __GNUC_PREREQ (4,3)
|
||||
# define __attribute_alloc_size(...) __attribute__ ((alloc_size (__VA_ARGS__)))
|
||||
# else
|
||||
# define __attribute_alloc_size(...)
|
||||
# endif
|
||||
# define __attribute_alloc_size(...) __attribute__ ((alloc_size (__VA_ARGS__)))
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -211,10 +211,8 @@ extern int __kernel_rem_pio2 (double*,double*,int,int,int, const int32_t*);
|
||||
/* internal functions. */
|
||||
extern double __copysign (double x, double __y);
|
||||
|
||||
#if __GNUC_PREREQ (4, 0)
|
||||
extern inline double __copysign (double x, double y)
|
||||
{ return __builtin_copysign (x, y); }
|
||||
#endif
|
||||
|
||||
/* ieee style elementary float functions */
|
||||
extern float __ieee754_sqrtf (float);
|
||||
@ -258,10 +256,8 @@ extern int __kernel_rem_pio2f (float*,float*,int,int,int, const int32_t*);
|
||||
/* internal functions. */
|
||||
extern float __copysignf (float x, float __y);
|
||||
|
||||
#if __GNUC_PREREQ (4, 0)
|
||||
extern inline float __copysignf (float x, float y)
|
||||
{ return __builtin_copysignf (x, y); }
|
||||
#endif
|
||||
|
||||
/* ieee style elementary long double functions */
|
||||
extern long double __ieee754_sqrtl (long double);
|
||||
@ -326,10 +322,8 @@ extern void __sincosl (long double, long double *, long double *);
|
||||
extern long double __logbl (long double x);
|
||||
extern long double __significandl (long double x);
|
||||
|
||||
#if __GNUC_PREREQ (4, 0)
|
||||
extern inline long double __copysignl (long double x, long double y)
|
||||
{ return __builtin_copysignl (x, y); }
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 1991,1996-2001,2003,2009,2011 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -64,12 +64,9 @@ static const struct ltest tests[] =
|
||||
{ "0x0.8p-1022",
|
||||
1.11253692925360069154511635866620203210960799023116591527666e-308,
|
||||
'\0', ERANGE },
|
||||
#if __GNUC_PREREQ(2,96)
|
||||
/* For older GCC release HUGE_VAL is not a constant. */
|
||||
{ "Inf", HUGE_VAL, '\0', 0 },
|
||||
{ "-Inf", -HUGE_VAL, '\0', 0 },
|
||||
{ "+InFiNiTy", HUGE_VAL, '\0', 0 },
|
||||
#endif
|
||||
{ "0x80000Ap-23", 0x80000Ap-23, '\0', 0 },
|
||||
{ "1e-324", 0, '\0', ERANGE },
|
||||
{ NULL, 0, '\0', 0 }
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2002-2004,2006,2007,2009,2011 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||
|
||||
@ -55,33 +55,10 @@ typedef uintmax_t uatomic_max_t;
|
||||
#endif
|
||||
|
||||
|
||||
#if __GNUC_PREREQ (4, 1)
|
||||
# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
|
||||
#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
|
||||
__sync_val_compare_and_swap (mem, oldval, newval)
|
||||
# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
|
||||
#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
|
||||
(! __sync_bool_compare_and_swap (mem, oldval, newval))
|
||||
#else
|
||||
# define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgb %b2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "q" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
|
||||
# define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgw %w2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "r" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
|
||||
# define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgl %2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "r" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
#endif
|
||||
|
||||
|
||||
#define __arch_c_compare_and_exchange_val_8_acq(mem, newval, oldval) \
|
||||
@ -254,13 +231,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
} \
|
||||
__result; })
|
||||
|
||||
#if __GNUC_PREREQ (4, 1)
|
||||
# define atomic_exchange_and_add(mem, value) \
|
||||
#define atomic_exchange_and_add(mem, value) \
|
||||
__sync_fetch_and_add (mem, value)
|
||||
#else
|
||||
# define atomic_exchange_and_add(mem, value) \
|
||||
__arch_exchange_and_add_body (LOCK_PREFIX, __arch, mem, value)
|
||||
#endif
|
||||
|
||||
#define __arch_exchange_and_add_cprefix \
|
||||
"cmpl $0, %%gs:%P4\n\tje 0f\n\tlock\n0:\t"
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2002-2004, 2006, 2007, 2009 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
|
||||
|
||||
@ -55,41 +55,10 @@ typedef uintmax_t uatomic_max_t;
|
||||
#endif
|
||||
|
||||
|
||||
#if __GNUC_PREREQ (4, 1)
|
||||
# define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
|
||||
#define atomic_compare_and_exchange_val_acq(mem, newval, oldval) \
|
||||
__sync_val_compare_and_swap (mem, oldval, newval)
|
||||
# define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
|
||||
#define atomic_compare_and_exchange_bool_acq(mem, newval, oldval) \
|
||||
(! __sync_bool_compare_and_swap (mem, oldval, newval))
|
||||
#else
|
||||
# define __arch_compare_and_exchange_val_8_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgb %b2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "q" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
|
||||
# define __arch_compare_and_exchange_val_16_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgw %w2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "r" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
|
||||
# define __arch_compare_and_exchange_val_32_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgl %2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "r" (newval), "m" (*mem), "0" (oldval)); \
|
||||
ret; })
|
||||
|
||||
# define __arch_compare_and_exchange_val_64_acq(mem, newval, oldval) \
|
||||
({ __typeof (*mem) ret; \
|
||||
__asm __volatile (LOCK_PREFIX "cmpxchgq %q2, %1" \
|
||||
: "=a" (ret), "=m" (*mem) \
|
||||
: "r" ((long int) (newval)), "m" (*mem), \
|
||||
"0" ((long int) (oldval))); \
|
||||
ret; })
|
||||
#endif
|
||||
|
||||
|
||||
#define __arch_c_compare_and_exchange_val_8_acq(mem, newval, oldval) \
|
||||
@ -184,13 +153,8 @@ typedef uintmax_t uatomic_max_t;
|
||||
"i" (offsetof (tcbhead_t, multiple_threads))); \
|
||||
result; })
|
||||
|
||||
#if __GNUC_PREREQ (4, 1)
|
||||
# define atomic_exchange_and_add(mem, value) \
|
||||
#define atomic_exchange_and_add(mem, value) \
|
||||
__sync_fetch_and_add (mem, value)
|
||||
#else
|
||||
# define atomic_exchange_and_add(mem, value) \
|
||||
__arch_exchange_and_add_body (LOCK_PREFIX, mem, value)
|
||||
#endif
|
||||
|
||||
#define __arch_exchange_and_add_cprefix \
|
||||
"cmpl $0, %%fs:%P4\n\tje 0f\n\tlock\n0:\t"
|
||||
|
Loading…
x
Reference in New Issue
Block a user