From cc46c92d6b7d03aedb6c06364376c17dc9e0feb3 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sun, 4 Jun 2000 16:11:43 +0000 Subject: [PATCH] Update. 2000-06-01 Jakub Jelinek * libc/sysdeps/alpha/fpu/bits/mathinline.h: Add __THROW to all inlines to match prototypes in mathcalls.h. * libc/sysdeps/i386/fpu/bits/mathinline.h: Likewise. * libc/sysdeps/m68k/fpu/bits/mathinline.h: Likewise. * libc/sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. * libc/sysdeps/sparc/fpu/bits/mathinline.h: Likewise. * sysdeps/powerpc/dl-start.S: Close open comment. --- ChangeLog | 11 +++++++- sysdeps/alpha/fpu/bits/mathinline.h | 30 +++++++++++----------- sysdeps/i386/fpu/bits/mathinline.h | 48 +++++++++++++++++------------------ sysdeps/m68k/fpu/bits/mathinline.h | 34 ++++++++++++------------- sysdeps/powerpc/fpu/bits/mathinline.h | 19 +++++++------- sysdeps/sparc/fpu/bits/mathinline.h | 8 +++--- 6 files changed, 80 insertions(+), 70 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6a0dad2..5db2dae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2000-06-01 Jakub Jelinek + + * libc/sysdeps/alpha/fpu/bits/mathinline.h: Add __THROW to all + inlines to match prototypes in mathcalls.h. + * libc/sysdeps/i386/fpu/bits/mathinline.h: Likewise. + * libc/sysdeps/m68k/fpu/bits/mathinline.h: Likewise. + * libc/sysdeps/powerpc/fpu/bits/mathinline.h: Likewise. + * libc/sysdeps/sparc/fpu/bits/mathinline.h: Likewise. + 2000-06-03 Ulrich Drepper * elf/elf.h (SHT_SUNW_move): Define. @@ -6,7 +15,7 @@ 2000-06-03 Andreas Jaeger - * sysdeps/powerpc/dl-start.S: Close open comment. + * sysdeps/powerpc/dl-start.S: Close open comment. 2000-06-03 Jakub Jelinek diff --git a/sysdeps/alpha/fpu/bits/mathinline.h b/sysdeps/alpha/fpu/bits/mathinline.h index 87765d2..c0911ec 100644 --- a/sysdeps/alpha/fpu/bits/mathinline.h +++ b/sysdeps/alpha/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Inline math functions for Alpha. - Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by David Mosberger-Tang. @@ -60,7 +60,7 @@ #define __inline_copysign(NAME, TYPE) \ __MATH_INLINE TYPE \ -NAME (TYPE __x, TYPE __y) \ +NAME (TYPE __x, TYPE __y) __THROW \ { \ TYPE __z; \ __asm ("cpys %1, %2, %0" : "=f" (__z) : "f" (__y), "f" (__x)); \ @@ -76,14 +76,14 @@ __inline_copysign(copysign, double) #if __GNUC_PREREQ (2, 8) -__MATH_INLINE float __fabsf (float __x) { return __builtin_fabsf (__x); } -__MATH_INLINE float fabsf (float __x) { return __builtin_fabsf (__x); } -__MATH_INLINE double __fabs (double __x) { return __builtin_fabs (__x); } -__MATH_INLINE double fabs (double __x) { return __builtin_fabs (__x); } +__MATH_INLINE float __fabsf (float __x) __THROW { return __builtin_fabsf (__x); } +__MATH_INLINE float fabsf (float __x) __THROW { return __builtin_fabsf (__x); } +__MATH_INLINE double __fabs (double __x) __THROW { return __builtin_fabs (__x); } +__MATH_INLINE double fabs (double __x) __THROW { return __builtin_fabs (__x); } #else #define __inline_fabs(NAME, TYPE) \ __MATH_INLINE TYPE \ -NAME (TYPE __x) \ +NAME (TYPE __x) __THROW \ { \ TYPE __z; \ __asm ("cpys $f31, %1, %0" : "=f" (__z) : "f" (__x)); \ @@ -104,7 +104,7 @@ __inline_fabs(fabs, double) must be integral, as this avoids unpleasant integer overflows. */ __MATH_INLINE float -__floorf (float __x) +__floorf (float __x) __THROW { /* Check not zero since floor(-0) == -0. */ if (__x != 0 && fabsf (__x) < 16777216.0f) /* 1 << FLT_MANT_DIG */ @@ -130,7 +130,7 @@ __floorf (float __x) } __MATH_INLINE double -__floor (double __x) +__floor (double __x) __THROW { if (__x != 0 && fabs (__x) < 9007199254740992.0) /* 1 << DBL_MANT_DIG */ { @@ -148,26 +148,26 @@ __floor (double __x) return __x; } -__MATH_INLINE float floorf (float __x) { return __floorf(__x); } -__MATH_INLINE double floor (double __x) { return __floor(__x); } +__MATH_INLINE float floorf (float __x) __THROW { return __floorf(__x); } +__MATH_INLINE double floor (double __x) __THROW { return __floor(__x); } -__MATH_INLINE float __fdimf (float __x, float __y) +__MATH_INLINE float __fdimf (float __x, float __y) __THROW { return __x < __y ? 0.0f : __x - __y; } -__MATH_INLINE float fdimf (float __x, float __y) +__MATH_INLINE float fdimf (float __x, float __y) __THROW { return __x < __y ? 0.0f : __x - __y; } -__MATH_INLINE double __fdim (double __x, double __y) +__MATH_INLINE double __fdim (double __x, double __y) __THROW { return __x < __y ? 0.0 : __x - __y; } -__MATH_INLINE double fdim (double __x, double __y) +__MATH_INLINE double fdim (double __x, double __y) __THROW { return __x < __y ? 0.0 : __x - __y; } diff --git a/sysdeps/i386/fpu/bits/mathinline.h b/sysdeps/i386/fpu/bits/mathinline.h index 9b1fae2..50bfcde 100644 --- a/sysdeps/i386/fpu/bits/mathinline.h +++ b/sysdeps/i386/fpu/bits/mathinline.h @@ -115,19 +115,19 @@ # if __GNUC_PREREQ (2, 8) /* Test for negative number. Used in the signbit() macro. */ __MATH_INLINE int -__signbitf (float __x) +__signbitf (float __x) __THROW { __extension__ union { float __f; int __i; } __u = { __f: __x }; return __u.__i < 0; } __MATH_INLINE int -__signbit (double __x) +__signbit (double __x) __THROW { __extension__ union { double __d; int __i[2]; } __u = { __d: __x }; return __u.__i[1] < 0; } __MATH_INLINE int -__signbitl (long double __x) +__signbitl (long double __x) __THROW { __extension__ union { long double __l; int __i[3]; } __u = { __l: __x }; return (__u.__i[2] & 0x8000) != 0; @@ -189,11 +189,11 @@ __signbitl (long double __x) #endif #define __inline_mathop_decl_(float_type, func, op, params...) \ - __MATH_INLINE float_type func (float_type); \ + __MATH_INLINE float_type func (float_type) __THROW; \ __inline_mathop_declNP_ (float_type, func, op, params) #define __inline_mathop_declNP_(float_type, func, op, params...) \ - __MATH_INLINE float_type func (float_type __x) \ + __MATH_INLINE float_type func (float_type __x) __THROW \ { \ register float_type __result; \ __asm __volatile__ (op : "=t" (__result) : params); \ @@ -242,33 +242,33 @@ __signbitl (long double __x) #endif #define __inline_mathcode_(float_type, func, arg, code) \ - __MATH_INLINE float_type func (float_type); \ + __MATH_INLINE float_type func (float_type) __THROW; \ __inline_mathcodeNP_(float_type, func, arg, code) #define __inline_mathcodeNP_(float_type, func, arg, code) \ - __MATH_INLINE float_type func (float_type arg) \ + __MATH_INLINE float_type func (float_type arg) __THROW \ { \ code; \ } #define __inline_mathcode2_(float_type, func, arg1, arg2, code) \ - __MATH_INLINE float_type func (float_type, float_type); \ + __MATH_INLINE float_type func (float_type, float_type) __THROW; \ __inline_mathcodeNP2_ (float_type, func, arg1, arg2, code) #define __inline_mathcodeNP2_(float_type, func, arg1, arg2, code) \ - __MATH_INLINE float_type func (float_type arg1, float_type arg2) \ + __MATH_INLINE float_type func (float_type arg1, float_type arg2) __THROW \ { \ code; \ } #define __inline_mathcode3_(float_type, func, arg1, arg2, arg3, code) \ - __MATH_INLINE float_type func (float_type, float_type, float_type); \ + __MATH_INLINE float_type func (float_type, float_type, float_type) __THROW; \ __inline_mathcodeNP3_(float_type, func, arg1, arg2, arg3, code) #define __inline_mathcodeNP3_(float_type, func, arg1, arg2, arg3, code) \ __MATH_INLINE float_type func (float_type arg1, float_type arg2, \ - float_type arg3) \ + float_type arg3) __THROW \ { \ code; \ } @@ -331,19 +331,19 @@ __inline_mathcode (__pow2, __x, \ *__cosx = __cosr __MATH_INLINE void -__sincos (double __x, double *__sinx, double *__cosx) +__sincos (double __x, double *__sinx, double *__cosx) __THROW { __sincos_code; } __MATH_INLINE void -__sincosf (float __x, float *__sinx, float *__cosx) +__sincosf (float __x, float *__sinx, float *__cosx) __THROW { __sincos_code; } __MATH_INLINE void -__sincosl (long double __x, long double *__sinx, long double *__cosx) +__sincosl (long double __x, long double *__sinx, long double *__cosx) __THROW { __sincos_code; } @@ -557,7 +557,7 @@ __inline_mathcodeNP (ceil, __x, \ return __value __MATH_INLINE double -ldexp (double __x, int __y) +ldexp (double __x, int __y) __THROW { __ldexp_code; } @@ -619,13 +619,13 @@ __inline_mathop_declNP (log2, "fld1; fxch; fyl2x", "0" (__x) : "st(1)") #endif /* __FAST_MATH__ */ __MATH_INLINE float -ldexpf (float __x, int __y) +ldexpf (float __x, int __y) __THROW { __ldexp_code; } __MATH_INLINE long double -ldexpl (long double __x, int __y) +ldexpl (long double __x, int __y) __THROW { __ldexp_code; } @@ -643,17 +643,17 @@ __inline_mathopNP (rint, "frndint") : "=m" (__lrintres) : "t" (__x) : "st"); \ return __lrintres __MATH_INLINE long int -lrintf (float __x) +lrintf (float __x) __THROW { __lrint_code; } __MATH_INLINE long int -lrint (double __x) +lrint (double __x) __THROW { __lrint_code; } __MATH_INLINE long int -lrintl (long double __x) +lrintl (long double __x) __THROW { __lrint_code; } @@ -666,17 +666,17 @@ lrintl (long double __x) : "=m" (__llrintres) : "t" (__x) : "st"); \ return __llrintres __MATH_INLINE long long int -llrintf (float __x) +llrintf (float __x) __THROW { __llrint_code; } __MATH_INLINE long long int -llrint (double __x) +llrint (double __x) __THROW { __llrint_code; } __MATH_INLINE long long int -llrintl (long double __x) +llrintl (long double __x) __THROW { __llrint_code; } @@ -701,7 +701,7 @@ __inline_mathcodeNP2 (drem, __x, __y, \ /* This function is used in the `isfinite' macro. */ __MATH_INLINE int -__finite (double __x) +__finite (double __x) __THROW { return (__extension__ (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1] diff --git a/sysdeps/m68k/fpu/bits/mathinline.h b/sysdeps/m68k/fpu/bits/mathinline.h index 9dad4c6..82446d2 100644 --- a/sysdeps/m68k/fpu/bits/mathinline.h +++ b/sysdeps/m68k/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Definitions of inline math functions implemented by the m68881/2. - Copyright (C) 1991,92,93,94,96,97,98,99 Free Software Foundation, Inc. + Copyright (C) 1991,92,93,94,96,97,98,99,2000 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 @@ -109,7 +109,7 @@ #endif #define __inline_mathop1(float_type,func, op) \ - __m81_defun (float_type, func, (float_type __mathop_x)) \ + __m81_defun (float_type, func, (float_type __mathop_x)) __THROW \ { \ float_type __result; \ __asm("f" __STRING(op) "%.x %1, %0" : "=f" (__result) : "f" (__mathop_x));\ @@ -169,7 +169,7 @@ __inline_mathop(trunc, intrz) #define __inline_functions(float_type, s) \ __m81_inline float_type \ -__m81_u(__CONCAT(__frexp,s))(float_type __value, int *__expptr) \ +__m81_u(__CONCAT(__frexp,s))(float_type __value, int *__expptr) __THROW \ { \ float_type __mantissa, __exponent; \ int __iexponent; \ @@ -190,7 +190,7 @@ __m81_u(__CONCAT(__frexp,s))(float_type __value, int *__expptr) \ return __mantissa; \ } \ \ -__m81_defun (float_type, __CONCAT(__floor,s), (float_type __x)) \ +__m81_defun (float_type, __CONCAT(__floor,s), (float_type __x)) __THROW \ { \ float_type __result; \ unsigned long int __ctrl_reg; \ @@ -206,7 +206,7 @@ __m81_defun (float_type, __CONCAT(__floor,s), (float_type __x)) \ return __result; \ } \ \ -__m81_defun (float_type, __CONCAT(__ceil,s), (float_type __x)) \ +__m81_defun (float_type, __CONCAT(__ceil,s), (float_type __x)) __THROW \ { \ float_type __result; \ unsigned long int __ctrl_reg; \ @@ -232,7 +232,7 @@ __inline_functions(long double,l) #ifdef __USE_MISC # define __inline_functions(float_type, s) \ -__m81_defun (int, __CONCAT(__isinf,s), (float_type __value)) \ +__m81_defun (int, __CONCAT(__isinf,s), (float_type __value)) __THROW \ { \ /* There is no branch-condition for infinity, \ so we must extract and examine the condition codes manually. */ \ @@ -242,7 +242,7 @@ __m81_defun (int, __CONCAT(__isinf,s), (float_type __value)) \ return (__fpsr & (2 << 24)) ? (__fpsr & (8 << 24) ? -1 : 1) : 0; \ } \ \ -__m81_defun (int, __CONCAT(__finite,s), (float_type __value)) \ +__m81_defun (int, __CONCAT(__finite,s), (float_type __value)) __THROW \ { \ /* There is no branch-condition for infinity, so we must extract and \ examine the condition codes manually. */ \ @@ -253,7 +253,7 @@ __m81_defun (int, __CONCAT(__finite,s), (float_type __value)) \ } \ \ __m81_defun (float_type, __CONCAT(__scalbn,s), \ - (float_type __x, int __n)) \ + (float_type __x, int __n)) __THROW \ { \ float_type __result; \ __asm ("fscale%.l %1, %0" : "=f" (__result) : "dmi" (__n), "0" (__x)); \ @@ -270,7 +270,7 @@ __inline_functions(long double,l) #if defined __USE_MISC || defined __USE_XOPEN # define __inline_functions(float_type, s) \ -__m81_defun (int, __CONCAT(__isnan,s), (float_type __value)) \ +__m81_defun (int, __CONCAT(__isnan,s), (float_type __value)) __THROW \ { \ char __result; \ __asm("ftst%.x %1\n" \ @@ -290,7 +290,7 @@ __inline_functions(long double,l) #ifdef __USE_ISOC99 # define __inline_functions(float_type, s) \ -__m81_defun (int, __CONCAT(__signbit,s), (float_type __value)) \ +__m81_defun (int, __CONCAT(__signbit,s), (float_type __value)) __THROW \ { \ /* There is no branch-condition for the sign bit, so we must extract \ and examine the condition codes manually. */ \ @@ -301,12 +301,12 @@ __m81_defun (int, __CONCAT(__signbit,s), (float_type __value)) \ } \ \ __m81_defun (float_type, __CONCAT(__scalbln,s), \ - (float_type __x, long int __n)) \ + (float_type __x, long int __n)) __THROW \ { \ return __CONCAT(__scalbn,s) (__x, __n); \ } \ \ -__m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) \ +__m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) __THROW \ { \ float_type __result; \ unsigned long int __ctrl_reg; \ @@ -320,7 +320,7 @@ __m81_defun (float_type, __CONCAT(__nearbyint,s), (float_type __x)) \ return __result; \ } \ \ -__m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) \ +__m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) __THROW \ { \ long int __result; \ __asm ("fmove%.l %1, %0" : "=dm" (__result) : "f" (__x)); \ @@ -329,7 +329,7 @@ __m81_defun (long int, __CONCAT(__lrint,s), (float_type __x)) \ \ __m81_inline float_type \ __m81_u(__CONCAT(__fma,s))(float_type __x, float_type __y, \ - float_type __z) \ + float_type __z) __THROW \ { \ return (__x * __y) + __z; \ } @@ -346,7 +346,7 @@ __inline_functions (long double,l) # define __inline_functions(float_type, s) \ __m81_inline void \ __m81_u(__CONCAT(__sincos,s))(float_type __x, float_type *__sinx, \ - float_type *__cosx) \ + float_type *__cosx) __THROW \ { \ __asm ("fsincos%.x %2,%1:%0" \ : "=f" (*__sinx), "=f" (*__cosx) : "f" (__x)); \ @@ -367,13 +367,13 @@ __inline_functions (long double,l) NAME, to make token pasting work correctly with -traditional. */ # define __inline_forward_c(rettype, name, args1, args2) \ extern __inline rettype __attribute__((__const__)) \ -name args1 \ +name args1 __THROW \ { \ return __CONCAT(__,name) args2; \ } # define __inline_forward(rettype, name, args1, args2) \ -extern __inline rettype name args1 \ +extern __inline rettype name args1 __THROW \ { \ return __CONCAT(__,name) args2; \ } diff --git a/sysdeps/powerpc/fpu/bits/mathinline.h b/sysdeps/powerpc/fpu/bits/mathinline.h index 7798ad3..e4f208c 100644 --- a/sysdeps/powerpc/fpu/bits/mathinline.h +++ b/sysdeps/powerpc/fpu/bits/mathinline.h @@ -1,5 +1,6 @@ /* Inline math functions for powerpc. - Copyright (C) 1995, 1996, 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000 + 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 @@ -45,9 +46,9 @@ #endif /* __cplusplus */ #ifdef __USE_ISOC99 -__MATH_INLINE long int lrint (double __x); +__MATH_INLINE long int lrint (double __x) __THROW; __MATH_INLINE long int -lrint (double __x) +lrint (double __x) __THROW { union { double __d; @@ -57,9 +58,9 @@ lrint (double __x) return __u.__ll[1]; } -__MATH_INLINE long int lrintf (float __x); +__MATH_INLINE long int lrintf (float __x) __THROW; __MATH_INLINE long int -lrintf (float __x) +lrintf (float __x) __THROW { union { double __d; @@ -69,16 +70,16 @@ lrintf (float __x) return __u.__ll[1]; } -__MATH_INLINE double fdim (double __x, double __y); +__MATH_INLINE double fdim (double __x, double __y) __THROW; __MATH_INLINE double -fdim (double __x, double __y) +fdim (double __x, double __y) __THROW { return __x < __y ? 0 : __x - __y; } -__MATH_INLINE float fdimf (float __x, float __y); +__MATH_INLINE float fdimf (float __x, float __y) __THROW; __MATH_INLINE float -fdimf (float __x, float __y) +fdimf (float __x, float __y) __THROW { return __x < __y ? 0 : __x - __y; } diff --git a/sysdeps/sparc/fpu/bits/mathinline.h b/sysdeps/sparc/fpu/bits/mathinline.h index 2c4b282..7adebd3 100644 --- a/sysdeps/sparc/fpu/bits/mathinline.h +++ b/sysdeps/sparc/fpu/bits/mathinline.h @@ -1,5 +1,5 @@ /* Inline math functions for SPARC. - Copyright (C) 1999 Free Software Foundation, Inc. + Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Jakub Jelinek . @@ -144,7 +144,7 @@ __signbitl (long double __x) #endif /* sparc64 */ __MATH_INLINE double -sqrt(double __x) +sqrt(double __x) __THROW { register double __r; __asm ("fsqrtd %1,%0" : "=f" (__r) : "f" (__x)); @@ -152,7 +152,7 @@ sqrt(double __x) } __MATH_INLINE float -sqrtf(float __x) +sqrtf(float __x) __THROW { register float __r; __asm ("fsqrts %1,%0" : "=f" (__r) : "f" (__x)); @@ -161,7 +161,7 @@ sqrtf(float __x) #if __WORDSIZE == 64 __MATH_INLINE long double -sqrtl(long double __x) +sqrtl(long double __x) __THROW { long double __r; extern void _Qp_sqrt(long double *, __const__ long double *); -- 2.7.4