From 6ed5ccfb8ff780ada625c4ebc1c40ad5d6395e84 Mon Sep 17 00:00:00 2001 From: bde Date: Sat, 14 Sep 1996 03:00:32 +0000 Subject: Don't use __dead or __pure in user code. They were obfuscations for gcc >= 2.5 and no-ops for gcc >= 2.6. Converted to use __dead2 or __pure2 where it wasn't already done, except in math.h where use of __pure was mostly wrong. --- include/math.h | 106 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 49 deletions(-) (limited to 'include/math.h') diff --git a/include/math.h b/include/math.h index 214b80e..c0d1ddd 100644 --- a/include/math.h +++ b/include/math.h @@ -72,61 +72,69 @@ #include +/* + * Most of these functions have the side effect of setting errno, except + * in the (broken) BSD libm, so they not declared as __pure2. + */ __BEGIN_DECLS -__pure double acos __P((double)); -__pure double asin __P((double)); -__pure double atan __P((double)); -__pure double atan2 __P((double, double)); -__pure double ceil __P((double)); -__pure double cos __P((double)); -__pure double cosh __P((double)); -__pure double exp __P((double)); -__pure double fabs __P((double)); -__pure double floor __P((double)); -__pure double fmod __P((double, double)); - double frexp __P((double, int *)); -__pure double ldexp __P((double, int)); -__pure double log __P((double)); -__pure double log10 __P((double)); - double modf __P((double, double *)); -__pure double pow __P((double, double)); -__pure double sin __P((double)); -__pure double sinh __P((double)); -__pure double sqrt __P((double)); -__pure double tan __P((double)); -__pure double tanh __P((double)); +double acos __P((double)); +double asin __P((double)); +double atan __P((double)); +double atan2 __P((double, double)); +double ceil __P((double)); +double cos __P((double)); +double cosh __P((double)); +double exp __P((double)); +double fabs __P((double)); +double floor __P((double)); +double fmod __P((double, double)); +double frexp __P((double, int *)); /* fundamentally !__pure2 */ +double ldexp __P((double, int)); +double log __P((double)); +double log10 __P((double)); +double modf __P((double, double *)); /* fundamentally !__pure2 */ +double pow __P((double, double)); +double sin __P((double)); +double sinh __P((double)); +double sqrt __P((double)); +double tan __P((double)); +double tanh __P((double)); +/* + * These functions are non-ANSI so they can be "right". The ones that + * don't set errno in [lib]msun are declared as __pure2. + */ #if !defined(_ANSI_SOURCE) && !defined(_POSIX_SOURCE) -__pure double acosh __P((double)); -__pure double asinh __P((double)); -__pure double atanh __P((double)); - double cabs(); /* we can't describe cabs()'s argument properly */ -__pure double cbrt __P((double)); -__pure double copysign __P((double, double)); -__pure double drem __P((double, double)); -__pure double erf __P((double)); -__pure double erfc __P((double)); -__pure double expm1 __P((double)); -__pure int finite __P((double)); -__pure double hypot __P((double, double)); +double acosh __P((double)); +double asinh __P((double)); +double atanh __P((double)); +double cabs(); /* we can't describe cabs()'s argument properly */ +double cbrt __P((double)) __pure2; +double copysign __P((double, double)) __pure2; +double drem __P((double, double)); +double erf __P((double)); +double erfc __P((double)) __pure2; +double expm1 __P((double)) __pure2; +int finite __P((double)) __pure2; +double hypot __P((double, double)); #if defined(vax) || defined(tahoe) -__pure double infnan __P((int)); +double infnan __P((int)); #endif -__pure int isinf __P((double)); -__pure int isnan __P((double)); -__pure double j0 __P((double)); -__pure double j1 __P((double)); -__pure double jn __P((int, double)); -__pure double lgamma __P((double)); -__pure double log1p __P((double)); -__pure double logb __P((double)); -__pure double rint __P((double)); -__pure double scalb __P((double, int)); -__pure double y0 __P((double)); -__pure double y1 __P((double)); -__pure double yn __P((int, double)); +int isinf __P((double)) __pure2; +int isnan __P((double)) __pure2; +double j0 __P((double)); +double j1 __P((double)); +double jn __P((int, double)); +double lgamma __P((double)); +double log1p __P((double)) __pure2; +double logb __P((double)) __pure2; +double rint __P((double)) __pure2; +double scalb __P((double, int)); +double y0 __P((double)); +double y1 __P((double)); +double yn __P((int, double)); #endif __END_DECLS -#endif /* _MATH_H_ */ +#endif /* !_MATH_H_ */ -- cgit v1.1