diff options
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/libm-alias-double.h | 44 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_clog10.c (renamed from sysdeps/ieee754/ldbl-opt/math-type-macros-double.h) | 24 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/s_ldexp.c | 2 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/w_log1p.c | 3 | ||||
-rw-r--r-- | sysdeps/ieee754/ldbl-opt/w_scalbln.c | 3 |
5 files changed, 58 insertions, 18 deletions
diff --git a/sysdeps/ieee754/ldbl-opt/libm-alias-double.h b/sysdeps/ieee754/ldbl-opt/libm-alias-double.h new file mode 100644 index 0000000000..5ae4c8b338 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/libm-alias-double.h @@ -0,0 +1,44 @@ +/* Define aliases for libm double functions. ldbl-opt version. + Copyright (C) 2017 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef _LIBM_ALIAS_DOUBLE_H +#define _LIBM_ALIAS_DOUBLE_H + +#include <math_ldbl_opt.h> +#include <first-versions.h> +#include <ldbl-compat-choose.h> + +/* Define aliases for a double libm function that has internal name + FROM ## R and public names TO ## suffix ## R for each suffix of a + supported floating-point type with the same format as double. This + should only be used for functions where such public names exist for + _FloatN types, not for implementation-namespace exported names + (where there is one name per format, not per type) or for + obsolescent functions not provided for _FloatN types. */ +#define libm_alias_double_r(from, to, r) \ + weak_alias (from ## r, to ## r) \ + LONG_DOUBLE_COMPAT_CHOOSE_libm_ ## to ## l ## r \ + (compat_symbol (libm, \ + from ## r, \ + to ## l ## r, \ + FIRST_VERSION_libm_ ## to ## l ## r), ); + +/* Likewise, but without the R suffix. */ +#define libm_alias_double(from, to) libm_alias_double_r (from, to, ) + +#endif diff --git a/sysdeps/ieee754/ldbl-opt/math-type-macros-double.h b/sysdeps/ieee754/ldbl-opt/s_clog10.c index 67b5268dc4..ec52218975 100644 --- a/sysdeps/ieee754/ldbl-opt/math-type-macros-double.h +++ b/sysdeps/ieee754/ldbl-opt/s_clog10.c @@ -1,5 +1,5 @@ -/* Overrides for ldbl-opt versioning for double types. - Copyright (C) 2016-2017 Free Software Foundation, Inc. +/* Define __clog10l compat symbol for clog10 for ldbl-opt. + Copyright (C) 2017 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 @@ -16,23 +16,13 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#ifndef _MATH_TYPE_MACROS_DOUBLE - #include <math_ldbl_opt.h> #include <first-versions.h> +#include <math-type-macros-double.h> -/* Define compat symbols for long double on platforms - where it was not always a distinct type. */ -#if !defined M_LIBM_NEED_COMPAT -# define M_LIBM_NEED_COMPAT(f) \ - LONG_DOUBLE_COMPAT (libm, FIRST_VERSION_libm_ ## f ## l) -#endif - -#if !defined declare_mgen_libm_compat -# define declare_mgen_libm_compat(from, to) \ - compat_symbol (libm, from, to ## l, \ - FIRST_VERSION_libm_ ## to ## l); -#endif +#include <s_clog10_template.c> -#include_next <math-type-macros-double.h> +#if LONG_DOUBLE_COMPAT (libm, FIRST_VERSION_libm___clog10l) +strong_alias (__clog10, __clog10l_alias) +compat_symbol (libm, __clog10l_alias, __clog10l, FIRST_VERSION_libm___clog10l); #endif diff --git a/sysdeps/ieee754/ldbl-opt/s_ldexp.c b/sysdeps/ieee754/ldbl-opt/s_ldexp.c index 809080a149..5a875aeac1 100644 --- a/sysdeps/ieee754/ldbl-opt/s_ldexp.c +++ b/sysdeps/ieee754/ldbl-opt/s_ldexp.c @@ -17,7 +17,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#define M_LIBM_NEED_COMPAT(f) 0 +#define declare_mgen_alias(from, to) weak_alias (from, to) #include <math-type-macros-double.h> #include <s_ldexp_template.c> diff --git a/sysdeps/ieee754/ldbl-opt/w_log1p.c b/sysdeps/ieee754/ldbl-opt/w_log1p.c new file mode 100644 index 0000000000..ad0524708e --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_log1p.c @@ -0,0 +1,3 @@ +#define declare_mgen_alias(from, to) weak_alias (from, to) +#include <math-type-macros-double.h> +#include <w_log1p_template.c> diff --git a/sysdeps/ieee754/ldbl-opt/w_scalbln.c b/sysdeps/ieee754/ldbl-opt/w_scalbln.c new file mode 100644 index 0000000000..495169ff37 --- /dev/null +++ b/sysdeps/ieee754/ldbl-opt/w_scalbln.c @@ -0,0 +1,3 @@ +#define declare_mgen_alias(from, to) weak_alias (from, to) +#include <math-type-macros-double.h> +#include <w_scalbln_template.c> |