@@ -33,6 +33,10 @@ Deprecated and removed features, and other changes affecting compatibility:
exception, or the macros X_TLOSS, DOMAIN, SING, OVERFLOW, UNDERFLOW,
TLOSS, PLOSS and HUGE.
+* The libm functions pow10, pow10f and pow10l are no longer supported for
+ new programs. Programs should use the standard names exp10, exp10f and
+ exp10l for these functions instead.
+
* The mcontext_t type is no longer the same as struct sigcontext. On
platforms where it was previously the same, this changes the C++ name
mangling for interfaces involving this type.
@@ -490,22 +490,14 @@ Mathematically, @code{exp2 (x)} is the same as @code{exp (x * log (2))}.
@deftypefunx {long double} exp10l (long double @var{x})
@deftypefunx _FloatN exp10fN (_Float@var{N} @var{x})
@deftypefunx _FloatNx exp10fNx (_Float@var{N}x @var{x})
-@deftypefunx double pow10 (double @var{x})
-@deftypefunx float pow10f (float @var{x})
-@deftypefunx {long double} pow10l (long double @var{x})
@standards{ISO, math.h}
@standardsx{exp10fN, TS 18661-4:2015, math.h}
@standardsx{exp10fNx, TS 18661-4:2015, math.h}
-@standardsx{pow10, GNU, math.h}
-@standardsx{pow10f, GNU, math.h}
-@standardsx{pow10l, GNU, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions compute @code{10} raised to the power @var{x}.
Mathematically, @code{exp10 (x)} is the same as @code{exp (x * log (10))}.
-The @code{exp10} functions are from TS 18661-4:2015; the @code{pow10}
-names are GNU extensions. The name @code{exp10} is
-preferred, since it is analogous to @code{exp} and @code{exp2}.
+The @code{exp10} functions are from TS 18661-4:2015.
@end deftypefun
@@ -70,11 +70,6 @@ __MATH_REDIRCALL (exp, , (_Mdouble_));
#ifdef __USE_GNU
/* exp10. */
__MATH_REDIRCALL (exp10, , (_Mdouble_));
-
-/* pow10. */
-# if !__MATH_DECLARING_FLOATN
-__MATH_REDIRCALL_2 (pow10, , (_Mdouble_), exp10);
-# endif
#endif
#ifdef __USE_ISOC99
@@ -113,12 +113,6 @@ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
/* Compute exponent to base ten. */
__MATHCALL (exp10,, (_Mdouble_ __x));
#endif
-#ifdef __USE_GNU
-/* Another name occasionally used. */
-# if !__MATH_DECLARING_FLOATN
-__MATHCALL (pow10,, (_Mdouble_ __x));
-# endif
-#endif
#if defined __USE_XOPEN_EXTENDED || defined __USE_ISOC99
/* Return exp(X) - 1. */
@@ -37,19 +37,9 @@ exp10_test (void)
}
static void
-pow10_test (void)
-{
-#if !TEST_FLOATN
- /* pow10 uses the same test data as exp10. */
- ALL_RM_TEST (pow10, 0, exp10_test_data, RUN_TEST_LOOP_f_f, END);
-#endif
-}
-
-static void
do_test (void)
{
exp10_test ();
- pow10_test ();
}
/*
@@ -37,11 +37,15 @@ __exp10 (double x)
return z;
}
weak_alias (__exp10, exp10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10, __pow10)
-weak_alias (__pow10, pow10)
+compat_symbol (libm, __pow10, pow10, GLIBC_2_1);
+#endif
#ifdef NO_LONG_DOUBLE
strong_alias (__exp10, __exp10l)
weak_alias (__exp10, exp10l)
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
-weak_alias (__pow10l, pow10l)
+compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+# endif
#endif
@@ -37,5 +37,7 @@ __exp10f (float x)
return z;
}
weak_alias (__exp10f, exp10f)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10f, __pow10f)
-weak_alias (__pow10f, pow10f)
+compat_symbol (libm, __pow10f, pow10f, GLIBC_2_1);
+#endif
@@ -37,5 +37,7 @@ __exp10l (long double x)
return z;
}
weak_alias (__exp10l, exp10l)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
strong_alias (__exp10l, __pow10l)
-weak_alias (__pow10l, pow10l)
+compat_symbol (libm, __pow10l, pow10l, GLIBC_2_1);
+#endif
@@ -1937,36 +1937,6 @@ ifloat: 1
ildouble: 2
ldouble: 2
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
Function: "pow_downward":
double: 1
float: 1
@@ -1931,36 +1931,6 @@ ifloat: 1
ildouble: 2
ldouble: 2
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
Function: "pow_downward":
double: 1
float: 1
@@ -1437,28 +1437,6 @@ Function: "pow":
float: 1
ifloat: 1
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
Function: "pow_downward":
double: 1
float: 1
@@ -1499,28 +1499,6 @@ Function: "pow":
float: 1
ifloat: 1
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
Function: "pow_downward":
double: 1
float: 1
@@ -2358,36 +2358,6 @@ ifloat128: 2
ildouble: 1
ldouble: 1
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
Function: "pow_downward":
double: 1
float128: 2
@@ -2360,36 +2360,6 @@ ifloat128: 2
ildouble: 1
ldouble: 1
-Function: "pow10":
-double: 1
-idouble: 1
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 1
-float: 1
-idouble: 1
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
Function: "pow_downward":
double: 1
float128: 2
@@ -87,6 +87,8 @@
// p6-p12
//
+#include <shlib-compat.h>
+
GR_TBL_START = r2
GR_LOG_TBL = r3
@@ -534,7 +536,9 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10)
-weak_alias (exp10, pow10)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10, pow10, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
@@ -86,6 +86,8 @@
// p6-p12
//
+#include <shlib-compat.h>
+
GR_TBL_START = r2
GR_LOG_TBL = r3
@@ -486,7 +488,9 @@ OUT_RANGE_exp10:
;;
GLOBAL_IEEE754_END(exp10f)
-weak_alias (exp10f, pow10f)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10f, pow10f, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
@@ -85,6 +85,8 @@
// p6-p8, p11-p14
//
+#include <shlib-compat.h>
+
FR_X = f10
FR_Y = f1
@@ -747,7 +749,9 @@ OUT_RANGE_EXP10:
;;
GLOBAL_IEEE754_END(exp10l)
-weak_alias (exp10l, pow10l)
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+compat_symbol (libm, exp10l, pow10l, GLIBC_2_2)
+#endif
LOCAL_LIBM_ENTRY(__libm_error_region)
@@ -29,7 +29,7 @@ libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \
qecvt qfcvt qgcvt qecvt_r qfcvt_r \
isinf isnan finite signbit scalb log2 lgamma_r ceil \
significand acos asin atan atan2 cos sin tan cosh sinh \
- tanh acosh asinh atanh exp log log10 exp10 pow10 expm1 \
+ tanh acosh asinh atanh exp log log10 exp10 expm1 \
log1p logb exp2 sqrt cbrt fabs floor j0 j1 y0 y1 erf erfc \
lgamma tgamma gamma rint nearbyint round trunc \
copysign fdim fmax fmin nextafter pow hypot fmod \
@@ -136,7 +136,6 @@ CFLAGS-nldbl-nexttoward.c = -fno-builtin-nexttoward -fno-builtin-nexttowardl
CFLAGS-nldbl-nexttowardf.c = -fno-builtin-nexttowardf
CFLAGS-nldbl-nextup.c = -fno-builtin-nextupl
CFLAGS-nldbl-pow.c = -fno-builtin-powl
-CFLAGS-nldbl-pow10.c = -fno-builtin-pow10l
CFLAGS-nldbl-remainder.c = -fno-builtin-remainderl -fno-builtin-dreml
CFLAGS-nldbl-remquo.c = -fno-builtin-remquol
CFLAGS-nldbl-rint.c = -fno-builtin-rintl
deleted file mode 100644
@@ -1,8 +0,0 @@
-#include "nldbl-compat.h"
-
-double
-attribute_hidden
-pow10l (double x)
-{
- return pow10 (x);
-}
@@ -2,5 +2,8 @@
#include <math/w_exp10_compat.c>
#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
compat_symbol (libm, __exp10, exp10l, GLIBC_2_1);
-compat_symbol (libm, __pow10, pow10l, GLIBC_2_1);
+# if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+strong_alias (__pow10, __pow10_pow10l)
+compat_symbol (libm, __pow10_pow10l, pow10l, GLIBC_2_1);
+# endif
#endif
@@ -1,6 +1,18 @@
#include <math_ldbl_opt.h>
#undef weak_alias
#define weak_alias(n,a)
+#undef compat_symbol
+#define compat_symbol(l,n,a,v)
#include <math/w_exp10l_compat.c>
long_double_symbol (libm, __exp10l, exp10l);
-long_double_symbol (libm, __pow10l, pow10l);
+#if SHLIB_COMPAT (libm, GLIBC_2_1, GLIBC_2_27)
+/* compat_symbol was undefined and redefined above to avoid the
+ default pow10l compat symbol at version GLIBC_2_1 (as for ldbl-opt
+ configurations, that version should have the alias to exp10). So
+ it now needs to be redefined to define the compat symbol at version
+ LONG_DOUBLE_COMPAT_VERSION. */
+# undef compat_symbol
+# define compat_symbol(lib, local, symbol, version) \
+ compat_symbol_reference (lib, local, symbol, version)
+compat_symbol (libm, __pow10l, pow10l, LONG_DOUBLE_COMPAT_VERSION);
+#endif
@@ -343,10 +343,6 @@ Function: "pow":
float: 1
ifloat: 1
-Function: "pow10":
-double: 2
-idouble: 2
-
Function: "sin":
float: 1
ifloat: 1
@@ -1437,28 +1437,6 @@ Function: "pow":
float: 1
ifloat: 1
-Function: "pow10":
-double: 2
-idouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-
Function: "pow_downward":
double: 1
float: 1
@@ -1931,36 +1931,6 @@ ifloat: 1
ildouble: 2
ldouble: 2
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
Function: "pow_downward":
double: 1
float: 1
@@ -343,10 +343,6 @@ Function: "pow":
float: 3
ifloat: 3
-Function: "pow10":
-double: 2
-idouble: 2
-
Function: "sin":
float: 1
ifloat: 1
@@ -2471,36 +2471,6 @@ ifloat128: 2
ildouble: 1
ldouble: 1
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
Function: "pow_downward":
double: 1
float: 1
@@ -1985,36 +1985,6 @@ ifloat: 1
ildouble: 1
ldouble: 1
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 9
-ldouble: 9
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 4
-ldouble: 4
-
Function: "pow_downward":
double: 1
float: 1
@@ -1931,36 +1931,6 @@ ifloat: 1
ildouble: 2
ldouble: 2
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
Function: "pow_downward":
double: 1
float: 1
@@ -358,10 +358,6 @@ Function: "pow":
float: 1
ifloat: 1
-Function: "pow10":
-double: 1
-idouble: 1
-
Function: "pow_towardzero":
float: 1
ifloat: 1
@@ -1931,36 +1931,6 @@ ifloat: 3
ildouble: 2
ldouble: 2
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 3
-ldouble: 3
-
Function: "pow_downward":
double: 1
float: 3
@@ -339,10 +339,6 @@ Function: "pow":
float: 3
ifloat: 3
-Function: "pow10":
-double: 2
-idouble: 2
-
Function: "sin":
float: 1
ifloat: 1
@@ -2471,36 +2471,6 @@ ifloat128: 2
ildouble: 1
ldouble: 1
-Function: "pow10":
-double: 2
-idouble: 2
-ildouble: 1
-ldouble: 1
-
-Function: "pow10_downward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_towardzero":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
-Function: "pow10_upward":
-double: 2
-float: 1
-idouble: 2
-ifloat: 1
-ildouble: 2
-ldouble: 2
-
Function: "pow_downward":
double: 1
float: 1