Don't provide scalb/significand _FloatN aliases [BZ #31760]

scalb is a deprecated interface which was obsolescent in POSIX.1-2001,
removed in POSIX.1-2008, never made to C standard.  significant was
originally from BSD and never made in any standard.  Fix BZ #31760 by
not providing _FloatN aliases for them.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
This commit is contained in:
H.J. Lu 2024-05-20 09:56:36 -07:00
parent 5d4999e519
commit a34f76edbd
2 changed files with 24 additions and 0 deletions

View File

@ -30,4 +30,16 @@ M_DECL_FUNC (__significand) (FLOAT x)
{ {
return M_SUF (__ieee754_scalb) (x,(FLOAT) - M_SUF (__ilogb) (x)); return M_SUF (__ieee754_scalb) (x,(FLOAT) - M_SUF (__ilogb) (x));
} }
/* Don't provide _FloatN aliases for significand which was originally
from BSD and never made in any standard. */
#undef libm_alias_float_other_r
#define libm_alias_float_other_r(from, to, r)
#undef libm_alias_double_other_r
#define libm_alias_double_other_r(from, to, r)
#undef libm_alias_ldouble_other_r
#define libm_alias_ldouble_other_r(from, to, r)
#undef libm_alias_float128_other_r
#define libm_alias_float128_other_r(from, to, r)
declare_mgen_alias (__significand, significand) declare_mgen_alias (__significand, significand)

View File

@ -52,6 +52,18 @@ FLOAT M_DECL_FUNC (__scalb) (FLOAT x, FLOAT fn)
return z; return z;
} }
/* Don't provide _FloatN aliases for scalb which is a deprecated interface,
was obsolescent in POSIX.1-2001, removed in POSIX.1-2008, never made to
C standard. */
#undef libm_alias_float_other_r
#define libm_alias_float_other_r(from, to, r)
#undef libm_alias_double_other_r
#define libm_alias_double_other_r(from, to, r)
#undef libm_alias_ldouble_other_r
#define libm_alias_ldouble_other_r(from, to, r)
#undef libm_alias_float128_other_r
#define libm_alias_float128_other_r(from, to, r)
declare_mgen_alias (__scalb, scalb); declare_mgen_alias (__scalb, scalb);
#endif /* __USE_WRAPPER_TEMPLATE. */ #endif /* __USE_WRAPPER_TEMPLATE. */