diff options
Diffstat (limited to 'REORG.TODO/sysdeps/ieee754/ldbl-opt')
297 files changed, 4569 insertions, 0 deletions
diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/Makefile b/REORG.TODO/sysdeps/ieee754/ldbl-opt/Makefile new file mode 100644 index 0000000000..81429d0ddd --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/Makefile @@ -0,0 +1,167 @@ +# The`long double' type is a distinct type we support if +# -mlong-double-128 option is used (or when it becomes a default +# when -mlong-double-64 is not used). +long-double-fcts = yes +ifeq (,$(filter -mlong-double-128,$(sysdep-CFLAGS))) +sysdep-CFLAGS += -mlong-double-128 +endif + +ifeq ($(subdir),math) +libm-routines += s_nexttowardfd +routines += math_ldbl_opt nldbl-compat + +extra-libs += libnldbl +libnldbl-calls = asprintf dprintf fprintf fscanf fwprintf fwscanf iovfscanf \ + obstack_printf obstack_vprintf printf scanf snprintf \ + sprintf sscanf swprintf swscanf vasprintf vdprintf vfprintf \ + vfscanf vfwprintf vfwscanf vprintf vscanf vsnprintf \ + vsprintf vsscanf vswprintf vswscanf vwprintf vwscanf \ + wprintf wscanf printf_fp printf_size \ + fprintf_chk fwprintf_chk printf_chk snprintf_chk sprintf_chk \ + swprintf_chk vfprintf_chk vfwprintf_chk vprintf_chk \ + vsnprintf_chk vsprintf_chk vswprintf_chk vwprintf_chk \ + wprintf_chk asprintf_chk vasprintf_chk dprintf_chk \ + vdprintf_chk obstack_printf_chk obstack_vprintf_chk \ + syslog syslog_chk vsyslog vsyslog_chk \ + strfmon strfmon_l \ + strfroml \ + strtold strtold_l strtoldint wcstold wcstold_l wcstoldint \ + 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 \ + 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 \ + remainder ldexp scalbn frexp modf scalbln fma nan sincos \ + jn yn ilogb remquo lrint lround llrint llround nexttowardf \ + nexttoward conj cacos cacosh casin catan catanh ccos ccosh \ + casinh cexp clog cproj csin csinh csqrt ctan ctanh cpow \ + cabs carg cimag creal clog10 \ + isoc99_scanf isoc99_fscanf isoc99_sscanf \ + isoc99_vscanf isoc99_vfscanf isoc99_vsscanf \ + isoc99_wscanf isoc99_fwscanf isoc99_swscanf \ + isoc99_vwscanf isoc99_vfwscanf isoc99_vswscanf \ + nextup nextdown totalorder totalordermag getpayload \ + canonicalize setpayload setpayloadsig llogb fmaxmag fminmag \ + roundeven fromfp ufromfp fromfpx ufromfpx +libnldbl-routines = $(libnldbl-calls:%=nldbl-%) +libnldbl-inhibit-o = $(object-suffixes) +libnldbl-static-only-routines = $(libnldbl-routines) +extra-objs += $(addsuffix .oS, $(libnldbl-routines)) + +CFLAGS-nldbl-acos.c = -fno-builtin-acosl +CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl +CFLAGS-nldbl-asin.c = -fno-builtin-asinl +CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl +CFLAGS-nldbl-atan.c = -fno-builtin-atanl +CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l +CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl +CFLAGS-nldbl-cabs.c = -fno-builtin-cabsl +CFLAGS-nldbl-cacos.c = -fno-builtin-cacosl +CFLAGS-nldbl-cacosh.c = -fno-builtin-cacoshl +CFLAGS-nldbl-canonicalize.c = -fno-builtin-canonicalizel +CFLAGS-nldbl-carg.c = -fno-builtin-cargl +CFLAGS-nldbl-casin.c = -fno-builtin-casinl +CFLAGS-nldbl-casinh.c = -fno-builtin-casinhl +CFLAGS-nldbl-catan.c = -fno-builtin-catanl +CFLAGS-nldbl-catanh.c = -fno-builtin-catanhl +CFLAGS-nldbl-cbrt.c = -fno-builtin-cbrtl +CFLAGS-nldbl-ccos.c = -fno-builtin-ccosl +CFLAGS-nldbl-ccosh.c = -fno-builtin-ccoshl +CFLAGS-nldbl-ceil.c = -fno-builtin-ceill +CFLAGS-nldbl-cexp.c = -fno-builtin-cexpl +CFLAGS-nldbl-cimag.c = -fno-builtin-cimagl +CFLAGS-nldbl-clog.c = -fno-builtin-clogl +CFLAGS-nldbl-clog10.c = -fno-builtin-clog10l +CFLAGS-nldbl-conj.c = -fno-builtin-conjl +CFLAGS-nldbl-copysign.c = -fno-builtin-copysignl +CFLAGS-nldbl-cos.c = -fno-builtin-cosl +CFLAGS-nldbl-cosh.c = -fno-builtin-coshl +CFLAGS-nldbl-cpow.c = -fno-builtin-cpowl +CFLAGS-nldbl-cproj.c = -fno-builtin-cprojl +CFLAGS-nldbl-creal.c = -fno-builtin-creall +CFLAGS-nldbl-csin.c = -fno-builtin-csinl +CFLAGS-nldbl-csinh.c = -fno-builtin-csinhl +CFLAGS-nldbl-csqrt.c = -fno-builtin-csqrtl +CFLAGS-nldbl-ctan.c = -fno-builtin-ctanl +CFLAGS-nldbl-ctanh.c = -fno-builtin-ctanhl +CFLAGS-nldbl-erf.c = -fno-builtin-erfl +CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl +CFLAGS-nldbl-exp.c = -fno-builtin-expl +CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l +CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l +CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l +CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl +CFLAGS-nldbl-fdim.c = -fno-builtin-fdiml +CFLAGS-nldbl-finite.c = -fno-builtin-finitel +CFLAGS-nldbl-floor.c = -fno-builtin-floorl +CFLAGS-nldbl-fma.c = -fno-builtin-fmal +CFLAGS-nldbl-fmax.c = -fno-builtin-fmaxl +CFLAGS-nldbl-fmaxmag.c = -fno-builtin-fmaxmagl +CFLAGS-nldbl-fmin.c = -fno-builtin-fminl +CFLAGS-nldbl-fminmag.c = -fno-builtin-fminmagl +CFLAGS-nldbl-fmod.c = -fno-builtin-fmodl +CFLAGS-nldbl-frexp.c = -fno-builtin-frexpl +CFLAGS-nldbl-fromfp.c = -fno-builtin-fromfpl +CFLAGS-nldbl-fromfpx.c = -fno-builtin-fromfpxl +CFLAGS-nldbl-gamma.c = -fno-builtin-gammal +CFLAGS-nldbl-getpayload.c = -fno-builtin-getpayloadl +CFLAGS-nldbl-hypot.c = -fno-builtin-hypotl +CFLAGS-nldbl-ilogb.c = -fno-builtin-ilogbl +CFLAGS-nldbl-isinf.c = -fno-builtin-isinfl +CFLAGS-nldbl-isnan.c = -fno-builtin-isnanl +CFLAGS-nldbl-j0.c = -fno-builtin-j0l +CFLAGS-nldbl-j1.c = -fno-builtin-j1l +CFLAGS-nldbl-jn.c = -fno-builtin-jnl +CFLAGS-nldbl-ldexp.c = -fno-builtin-ldexpl +CFLAGS-nldbl-lgamma.c = -fno-builtin-lgammal +CFLAGS-nldbl-lgamma_r.c = -fno-builtin-lgammal_r +CFLAGS-nldbl-llogb.c = -fno-builtin-llogbl +CFLAGS-nldbl-llrint.c = -fno-builtin-llrintl +CFLAGS-nldbl-llround.c = -fno-builtin-llroundl +CFLAGS-nldbl-log.c = -fno-builtin-logl +CFLAGS-nldbl-log10.c = -fno-builtin-log10l +CFLAGS-nldbl-log1p.c = -fno-builtin-log1pl +CFLAGS-nldbl-log2.c = -fno-builtin-log2l +CFLAGS-nldbl-logb.c = -fno-builtin-logbl +CFLAGS-nldbl-lrint.c = -fno-builtin-lrintl +CFLAGS-nldbl-lround.c = -fno-builtin-lroundl +CFLAGS-nldbl-modf.c = -fno-builtin-modfl +CFLAGS-nldbl-nan.c = -fno-builtin-nanl +CFLAGS-nldbl-nearbyint.c = -fno-builtin-nearbyintl +CFLAGS-nldbl-nextafter.c = -fno-builtin-nextafterl +CFLAGS-nldbl-nextdown.c = -fno-builtin-nextdownl +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 +CFLAGS-nldbl-round.c = -fno-builtin-roundl +CFLAGS-nldbl-roundeven.c = -fno-builtin-roundevenl +CFLAGS-nldbl-scalb.c = -fno-builtin-scalbl +CFLAGS-nldbl-scalbln.c = -fno-builtin-scalblnl +CFLAGS-nldbl-scalbn.c = -fno-builtin-scalbnl +CFLAGS-nldbl-setpayload.c = -fno-builtin-setpayloadl +CFLAGS-nldbl-setpayloadsig.c = -fno-builtin-setpayloadsigl +CFLAGS-nldbl-significand.c = -fno-builtin-significandl +CFLAGS-nldbl-sin.c = -fno-builtin-sinl +CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl +CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl +CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl +CFLAGS-nldbl-tan.c = -fno-builtin-tanl +CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl +CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal +CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl +CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl +CFLAGS-nldbl-trunc.c = -fno-builtin-truncl +CFLAGS-nldbl-ufromfp.c = -fno-builtin-ufromfpl +CFLAGS-nldbl-ufromfpx.c = -fno-builtin-ufromfpxl +CFLAGS-nldbl-y0.c = -fno-builtin-y0l +CFLAGS-nldbl-y1.c = -fno-builtin-y1l +CFLAGS-nldbl-yn.c = -fno-builtin-ynl + +endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/Versions b/REORG.TODO/sysdeps/ieee754/ldbl-opt/Versions new file mode 100644 index 0000000000..d3f0beaef2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/Versions @@ -0,0 +1,100 @@ +%include <nldbl-abi.h> +%ifndef NLDBL_VERSION +% error "nldbl-abi.h must define NLDBL_VERSION" +%endif + +libc { + NLDBL_VERSION { + # IEEE quad long double functions (older symver is for + # IEEE double long double). + ldexpl; copysignl; finitel; frexpl; isinfl; isnanl; modfl; + __isinfl; __isnanl; __finitel; __signbitl; + scalbnl; + qecvt; qfcvt; qgcvt; qecvt_r; qfcvt_r; + + strtold; __strtold_internal; wcstold; __wcstold_internal; + __strtold_l; strtold_l; __wcstold_l; wcstold_l; + + strfmon; __strfmon_l; strfmon_l; + __nldbl_strfmon; __nldbl___strfmon_l; __nldbl_strfmon_l; + __nldbl___vstrfmon; __nldbl___vstrfmon_l; + + syslog; vsyslog; + __nldbl_syslog; __nldbl_vsyslog; + __nldbl___syslog_chk; __nldbl___vsyslog_chk; + + # *printf* family, using IEEE quad long double + __asprintf; asprintf; dprintf; fprintf; fwprintf; _IO_fprintf; + _IO_printf; _IO_sprintf; _IO_vfprintf; _IO_vsprintf; obstack_printf; + obstack_vprintf; printf; __printf_fp; printf_size; snprintf; sprintf; + swprintf; vasprintf; vdprintf; vfprintf; vfwprintf; vprintf; vsnprintf; + __vsnprintf; vsprintf; vswprintf; vwprintf; wprintf; + + # *printf* family, using IEEE double as long double + # The standard functions are __REDIRECTed to these if -mlong-double-64 + __nldbl___asprintf; __nldbl_asprintf; __nldbl_dprintf; __nldbl_fprintf; + __nldbl_fwprintf; __nldbl__IO_fprintf; __nldbl__IO_printf; + __nldbl__IO_sprintf; __nldbl__IO_vfprintf; __nldbl__IO_vsprintf; + __nldbl_obstack_printf; __nldbl_obstack_vprintf; __nldbl_printf; + __nldbl___printf_fp; __nldbl_printf_size; __nldbl_snprintf; + __nldbl_sprintf; __nldbl_swprintf; __nldbl_vasprintf; __nldbl_vdprintf; + __nldbl_vfprintf; __nldbl_vfwprintf; __nldbl_vprintf; __nldbl_vsnprintf; + __nldbl___vsnprintf; __nldbl_vsprintf; __nldbl_vswprintf; + __nldbl_vwprintf; __nldbl_wprintf; + + # *scanf family, using IEEE quad long double + _IO_sscanf; _IO_vfscanf; __vfscanf; __vsscanf; fscanf; fwscanf; scanf; + sscanf; swscanf; vfscanf; vfwscanf; vscanf; vsscanf; vswscanf; vwscanf; + wscanf; + + # *scanf family, using IEEE double as long double + __nldbl__IO_sscanf; __nldbl__IO_vfscanf; __nldbl___vfscanf; + __nldbl___vsscanf; __nldbl_fscanf; __nldbl_fwscanf; __nldbl_scanf; + __nldbl_sscanf; __nldbl_swscanf; __nldbl_vfscanf; __nldbl_vfwscanf; + __nldbl_vscanf; __nldbl_vsscanf; __nldbl_vswscanf; __nldbl_vwscanf; + __nldbl_wscanf; + + # checking versions, using IEEE quad long double + __sprintf_chk; __vsprintf_chk; __snprintf_chk; __vsnprintf_chk; + __printf_chk; __fprintf_chk; __vprintf_chk; __vfprintf_chk; + + # checking versions, using IEEE double as long double + __nldbl___sprintf_chk; __nldbl___vsprintf_chk; __nldbl___snprintf_chk; + __nldbl___vsnprintf_chk; __nldbl___printf_chk; __nldbl___fprintf_chk; + __nldbl___vprintf_chk; __nldbl___vfprintf_chk; + __nldbl___swprintf_chk; __nldbl___vswprintf_chk; __nldbl___fwprintf_chk; + __nldbl___wprintf_chk; __nldbl___vfwprintf_chk; __nldbl___vwprintf_chk; + } + GLIBC_2.7 { + __nldbl___isoc99_scanf; __nldbl___isoc99_fscanf; + __nldbl___isoc99_sscanf; __nldbl___isoc99_vscanf; + __nldbl___isoc99_vfscanf; __nldbl___isoc99_vsscanf; + __nldbl___isoc99_wscanf; __nldbl___isoc99_fwscanf; + __nldbl___isoc99_swscanf; __nldbl___isoc99_vwscanf; + __nldbl___isoc99_vfwscanf; __nldbl___isoc99_vswscanf; + } + GLIBC_2.8 { + __nldbl___asprintf_chk; __nldbl___vasprintf_chk; + __nldbl___dprintf_chk; __nldbl___vdprintf_chk; + __nldbl___obstack_printf_chk; __nldbl___obstack_vprintf_chk; + } +} +libm { + NLDBL_VERSION { + # IEEE quad long double functions (older symver is for + # IEEE double as long double). + cabsl; cargl; cimagl; conjl; creall; cacosl; cacoshl; casinl; + catanl; catanhl; ccosl; ccoshl; casinhl; cexpl; clogl; __clog10l; + clog10l; cpowl; cprojl; csinl; csinhl; csqrtl; ctanl; ctanhl; + fdiml; fmal; fmaxl; fminl; ldexpl; nanl; nextafterl; nexttowardl; + significandl; acosl; acoshl; asinl; atan2l; atanhl; coshl; dreml; + exp10l; pow10l; exp2l; fmodl; hypotl; j0l; y0l; j1l; y1l; jnl; ynl; + lgammal; gammal; lgammal_r; logl; log10l; log2l; powl; remainderl; + scalbl; sinhl; sqrtl; tgammal; asinhl; atanl; cbrtl; ceill; copysignl; + erfl; erfcl; expm1l; fabsl; finitel; floorl; frexpl; ilogbl; + llrintl; llroundl; log1pl; logbl; lrintl; lroundl; modfl; + nearbyintl; remquol; rintl; roundl; scalblnl; scalbnl; sinl; cosl; + sincosl; tanl; tanhl; truncl; expl; __finitel; __signbitl; + __fpclassifyl; nexttowardf; nexttoward; __nldbl_nexttowardf; + } +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/bits/long-double.h b/REORG.TODO/sysdeps/ieee754/ldbl-opt/bits/long-double.h new file mode 100644 index 0000000000..67db5b9d0c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/bits/long-double.h @@ -0,0 +1,24 @@ +/* Properties of long double type. ldbl-opt version. + Copyright (C) 2016-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 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 __NO_LONG_DOUBLE_MATH +# define __LONG_DOUBLE_MATH_OPTIONAL 1 +# ifndef __LONG_DOUBLE_128__ +# define __NO_LONG_DOUBLE_MATH 1 +# endif +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure b/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure new file mode 100644 index 0000000000..ad9d77b88c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure @@ -0,0 +1,39 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/ieee754/ldbl-opt/. + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC $CFLAGS supports -mlong-double-128" >&5 +$as_echo_n "checking whether $CC $CFLAGS supports -mlong-double-128... " >&6; } +if ${libc_cv_mlong_double_128+:} false; then : + $as_echo_n "(cached) " >&6 +else + save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -mlong-double-128" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + +#ifndef __LONG_DOUBLE_128__ +# error "compiler did not predefine __LONG_DOUBLE_128__ as expected" +#endif +long double foobar (long double x) { return x; } + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + libc_cv_mlong_double_128=yes +else + libc_cv_mlong_double_128=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +CFLAGS="$save_CFLAGS" +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libc_cv_mlong_double_128" >&5 +$as_echo "$libc_cv_mlong_double_128" >&6; } +if test "$libc_cv_mlong_double_128" = no; then + as_fn_error $? "this configuration requires -mlong-double-128 support" "$LINENO" 5 +fi diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure.ac b/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure.ac new file mode 100644 index 0000000000..a77fadd1c4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/configure.ac @@ -0,0 +1,19 @@ +sinclude(./aclocal.m4)dnl Autoconf lossage +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/ieee754/ldbl-opt/. + +AC_CACHE_CHECK(whether $CC $CFLAGS supports -mlong-double-128, + libc_cv_mlong_double_128, [dnl +save_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -mlong-double-128" +AC_TRY_COMPILE(, [ +#ifndef __LONG_DOUBLE_128__ +# error "compiler did not predefine __LONG_DOUBLE_128__ as expected" +#endif +long double foobar (long double x) { return x; }], + libc_cv_mlong_double_128=yes, + libc_cv_mlong_double_128=no) +CFLAGS="$save_CFLAGS"]) +if test "$libc_cv_mlong_double_128" = no; then + AC_MSG_ERROR([this configuration requires -mlong-double-128 support]) +fi diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-double.h b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-double.h new file mode 100644 index 0000000000..67b5268dc4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-double.h @@ -0,0 +1,38 @@ +/* Overrides for ldbl-opt versioning for double types. + Copyright (C) 2016-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 _MATH_TYPE_MACROS_DOUBLE + +#include <math_ldbl_opt.h> +#include <first-versions.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_next <math-type-macros-double.h> +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h new file mode 100644 index 0000000000..20873ae6b5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h @@ -0,0 +1,38 @@ +/* Overrides for ldbl-opt versioning for long double types. + Copyright (C) 2016-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 _MATH_TYPE_MACROS_LDOUBLE + +#include <math_ldbl_opt.h> +#include <ldbl-compat-choose.h> + +#define maybe_long_double_symbol(lib, from, to) \ + LONG_DOUBLE_COMPAT_CHOOSE_ ## lib ## _ ## to (long_double_symbol (lib, \ + from, \ + to), \ + weak_alias (from, to)) + +/* Use properly versioned symbols for long double on platforms where + it was not always a distinct type. */ +#if !defined declare_mgen_alias +# define declare_mgen_alias(from, to) \ + maybe_long_double_symbol (libm, from ## l, to ## l); +#endif + +#include_next <math-type-macros-ldouble.h> +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c new file mode 100644 index 0000000000..49c5c1249b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.c @@ -0,0 +1,3 @@ +/* Set temporarily to non-zero if long double should be considered + the same as double. */ +__thread int __no_long_double attribute_tls_model_ie attribute_hidden; diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h new file mode 100644 index 0000000000..af861c11ea --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h @@ -0,0 +1,46 @@ +/* -mlong-double-64 compatibility mode macros. */ + +#include <nldbl-abi.h> +#ifndef LONG_DOUBLE_COMPAT_VERSION +# error "nldbl-abi.h must define LONG_DOUBLE_COMPAT_VERSION" +#endif + +#include <shlib-compat.h> +#define LONG_DOUBLE_COMPAT(lib, introduced) \ + SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION) +#define long_double_symbol(lib, local, symbol) \ + long_double_symbol_1 (lib, local, symbol, LONG_DOUBLE_COMPAT_VERSION) +#ifdef SHARED +# define ldbl_hidden_def(local, name) libc_hidden_ver (local, name) +# define ldbl_strong_alias(name, aliasname) \ + strong_alias (name, __GL_##name##_##aliasname) \ + long_double_symbol (libc, __GL_##name##_##aliasname, aliasname); +# define ldbl_weak_alias(name, aliasname) \ + weak_alias (name, __GL_##name##_##aliasname) \ + long_double_symbol (libc, __GL_##name##_##aliasname, aliasname); +# define long_double_symbol_1(lib, local, symbol, version) \ + versioned_symbol (lib, local, symbol, version) +#else +# define ldbl_hidden_def(local, name) libc_hidden_def (name) +# define ldbl_strong_alias(name, aliasname) strong_alias (name, aliasname) +# define ldbl_weak_alias(name, aliasname) weak_alias (name, aliasname) +# ifndef __ASSEMBLER__ +/* Note that weak_alias cannot be used - it is defined to nothing + in most of the C files. */ +# define long_double_symbol_1(lib, local, symbol, version) \ + _weak_alias (local, symbol) +# else +# define long_double_symbol_1(lib, local, symbol, version) \ + weak_alias (local, symbol) +# endif +#endif + +#ifndef __ASSEMBLER__ +# include <math.h> +# include <math_private.h> + +/* Set temporarily to non-zero if long double should be considered + the same as double. */ +extern __thread int __no_long_double attribute_tls_model_ie attribute_hidden; +# define __ldbl_is_dbl __builtin_expect (__no_long_double, 0) +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acos.c new file mode 100644 index 0000000000..813a17e9d6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +acosl (double x) +{ + return acos (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c new file mode 100644 index 0000000000..75508e30d7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-acosh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +acoshl (double x) +{ + return acosh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asin.c new file mode 100644 index 0000000000..5bbe6cd992 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +asinl (double x) +{ + return asin (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c new file mode 100644 index 0000000000..512f68519b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asinh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +asinhl (double x) +{ + return asinh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c new file mode 100644 index 0000000000..4be216d610 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +attribute_hidden +int +__asprintf (char **string_ptr, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vasprintf (string_ptr, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (__asprintf) asprintf attribute_hidden; +weak_alias (__asprintf, asprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c new file mode 100644 index 0000000000..b520181db7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-asprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +attribute_hidden +int +__asprintf_chk (char **string_ptr, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vasprintf_chk (string_ptr, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan.c new file mode 100644 index 0000000000..2849e48d03 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atanl (double x) +{ + return atan (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c new file mode 100644 index 0000000000..d4e5a91702 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atan2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atan2l (double x, double y) +{ + return atan2 (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c new file mode 100644 index 0000000000..82b54ca6d4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-atanh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +atanhl (double x) +{ + return atanh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c new file mode 100644 index 0000000000..837822d2d6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cabs.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cabsl (double _Complex x) +{ + return cabs (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c new file mode 100644 index 0000000000..d935b511b4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacos.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cacosl (double _Complex x) +{ + return cacos (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c new file mode 100644 index 0000000000..67f994b849 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cacosh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cacoshl (double _Complex x) +{ + return cacosh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c new file mode 100644 index 0000000000..9d46163208 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-canonicalize.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for canonicalize. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +int +attribute_hidden +canonicalizel (double *cx, double *x) +{ + return canonicalize (cx, x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-carg.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-carg.c new file mode 100644 index 0000000000..bfff141c11 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-carg.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cargl (double _Complex x) +{ + return carg (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casin.c new file mode 100644 index 0000000000..310aa0ac21 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casin.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +casinl (double _Complex x) +{ + return casin (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c new file mode 100644 index 0000000000..71b466ea22 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-casinh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +casinhl (double _Complex x) +{ + return casinh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catan.c new file mode 100644 index 0000000000..ea5f528ee5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catan.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +catanl (double _Complex x) +{ + return catan (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c new file mode 100644 index 0000000000..e6f58aa048 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-catanh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +catanhl (double _Complex x) +{ + return catanh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c new file mode 100644 index 0000000000..1c353a6e6b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cbrt.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +cbrtl (double x) +{ + return cbrt (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c new file mode 100644 index 0000000000..0e1c2e70f3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccos.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ccosl (double _Complex x) +{ + return ccos (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c new file mode 100644 index 0000000000..da2bf580af --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ccosh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ccoshl (double _Complex x) +{ + return ccosh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c new file mode 100644 index 0000000000..a8fc3d548a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ceil.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ceill (double x) +{ + return ceil (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c new file mode 100644 index 0000000000..f1837afc28 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cexp.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cexpl (double _Complex x) +{ + return cexp (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c new file mode 100644 index 0000000000..fffbdd58ec --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cimag.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +cimagl (double _Complex x) +{ + return cimag (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog.c new file mode 100644 index 0000000000..ecbae7ba91 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +clogl (double _Complex x) +{ + return clog (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c new file mode 100644 index 0000000000..193f40104a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-clog10.c @@ -0,0 +1,11 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +clog10l (double _Complex x) +{ + return clog10 (x); +} +extern __typeof (clog10l) __clog10l attribute_hidden; +weak_alias (clog10l, __clog10l) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.c new file mode 100644 index 0000000000..84c4aeeed9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.c @@ -0,0 +1,1085 @@ +/* *printf* family compatibility routines for IEEE double as long double + Copyright (C) 2006-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@cygnus.com>, 2006. + + 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/>. */ + +#include <stdarg.h> +#include <stdio.h> +#include <libioP.h> +#include <wchar.h> +#include <printf.h> +#include <monetary.h> +#include <locale/localeinfo.h> +#include <sys/syslog.h> +#include <libc-lock.h> + +#include "nldbl-compat.h" + +libc_hidden_proto (__nldbl_vfprintf) +libc_hidden_proto (__nldbl_vsscanf) +libc_hidden_proto (__nldbl_vsprintf) +libc_hidden_proto (__nldbl_vfscanf) +libc_hidden_proto (__nldbl_vfwscanf) +libc_hidden_proto (__nldbl_vdprintf) +libc_hidden_proto (__nldbl_vswscanf) +libc_hidden_proto (__nldbl_vfwprintf) +libc_hidden_proto (__nldbl_vswprintf) +libc_hidden_proto (__nldbl_vsnprintf) +libc_hidden_proto (__nldbl_vasprintf) +libc_hidden_proto (__nldbl_obstack_vprintf) +libc_hidden_proto (__nldbl___vfwprintf_chk) +libc_hidden_proto (__nldbl___vsnprintf_chk) +libc_hidden_proto (__nldbl___vfprintf_chk) +libc_hidden_proto (__nldbl___vsyslog_chk) +libc_hidden_proto (__nldbl___vsprintf_chk) +libc_hidden_proto (__nldbl___vswprintf_chk) +libc_hidden_proto (__nldbl___vasprintf_chk) +libc_hidden_proto (__nldbl___vdprintf_chk) +libc_hidden_proto (__nldbl___obstack_vprintf_chk) +libc_hidden_proto (__nldbl___vstrfmon) +libc_hidden_proto (__nldbl___vstrfmon_l) +libc_hidden_proto (__nldbl___isoc99_vsscanf) +libc_hidden_proto (__nldbl___isoc99_vfscanf) +libc_hidden_proto (__nldbl___isoc99_vswscanf) +libc_hidden_proto (__nldbl___isoc99_vfwscanf) + +static void +__nldbl_cleanup (void *arg) +{ + __no_long_double = 0; +} + +#define set_no_long_double() \ + __libc_cleanup_push (__nldbl_cleanup, NULL); __no_long_double = 1 +#define clear_no_long_double() \ + __no_long_double = 0; __libc_cleanup_pop (0) + +/* Compatibility with IEEE double as long double. + IEEE quad long double is used by default for most programs, so + we don't need to split this into one file per function for the + sake of statically linked programs. */ + +int +attribute_compat_text_section +__nldbl___asprintf (char **string_ptr, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vasprintf (string_ptr, fmt, arg); + va_end (arg); + + return done; +} +weak_alias (__nldbl___asprintf, __nldbl_asprintf) + +int +attribute_compat_text_section +__nldbl_dprintf (int d, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vdprintf (d, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_fprintf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stream, fmt, arg); + va_end (arg); + + return done; +} +weak_alias (__nldbl_fprintf, __nldbl__IO_fprintf) + +int +attribute_compat_text_section weak_function +__nldbl_fwprintf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_printf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_printf, __nldbl__IO_printf) + +int +attribute_compat_text_section +__nldbl_sprintf (char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsprintf (s, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_sprintf, __nldbl__IO_sprintf) + +int +attribute_compat_text_section +__nldbl_vfprintf (FILE *s, const char *fmt, va_list ap) +{ + int done; + set_no_long_double (); + done = _IO_vfprintf (s, fmt, ap); + clear_no_long_double (); + return done; +} +libc_hidden_def (__nldbl_vfprintf) +strong_alias (__nldbl_vfprintf, __nldbl__IO_vfprintf) + +int +attribute_compat_text_section +__nldbl__IO_vsprintf (char *string, const char *fmt, va_list ap) +{ + int done; + __no_long_double = 1; + done = _IO_vsprintf (string, fmt, ap); + __no_long_double = 0; + return done; +} +weak_alias (__nldbl__IO_vsprintf, __nldbl_vsprintf) +libc_hidden_def (__nldbl_vsprintf) + +int +attribute_compat_text_section +__nldbl_obstack_vprintf (struct obstack *obstack, const char *fmt, + va_list ap) +{ + int done; + __no_long_double = 1; + done = _IO_obstack_vprintf (obstack, fmt, ap); + __no_long_double = 0; + return done; +} +libc_hidden_def (__nldbl_obstack_vprintf) + +int +attribute_compat_text_section +__nldbl_obstack_printf (struct obstack *obstack, const char *fmt, ...) +{ + int result; + va_list ap; + va_start (ap, fmt); + result = __nldbl_obstack_vprintf (obstack, fmt, ap); + va_end (ap); + return result; +} + +int +attribute_compat_text_section weak_function +__nldbl_snprintf (char *s, size_t maxlen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsnprintf (s, maxlen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswprintf (s, n, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section weak_function +__nldbl_vasprintf (char **result_ptr, const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vasprintf (result_ptr, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vasprintf) + +int +attribute_compat_text_section +__nldbl_vdprintf (int d, const char *fmt, va_list arg) +{ + int res; + set_no_long_double (); + res = _IO_vdprintf (d, fmt, arg); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vdprintf) + +int +attribute_compat_text_section weak_function +__nldbl_vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = _IO_vfwprintf (s, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vfwprintf) + +int +attribute_compat_text_section +__nldbl_vprintf (const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (stdout, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_vsnprintf (char *string, size_t maxlen, const char *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vsnprintf (string, maxlen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vsnprintf) +weak_alias (__nldbl_vsnprintf, __nldbl___vsnprintf) + +int +attribute_compat_text_section weak_function +__nldbl_vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vswprintf (string, maxlen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vswprintf) + +int +attribute_compat_text_section +__nldbl_vwprintf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (stdout, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_wprintf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl__IO_vfscanf (FILE *s, const char *fmt, _IO_va_list ap, + int *errp) +{ + int res; + set_no_long_double (); + res = _IO_vfscanf (s, fmt, ap, errp); + clear_no_long_double (); + return res; +} + +int +attribute_compat_text_section +__nldbl___vfscanf (FILE *s, const char *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = _IO_vfscanf (s, fmt, ap, NULL); + clear_no_long_double (); + return res; +} +weak_alias (__nldbl___vfscanf, __nldbl_vfscanf) +libc_hidden_def (__nldbl_vfscanf) + +int +attribute_compat_text_section +__nldbl_sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} +strong_alias (__nldbl_sscanf, __nldbl__IO_sscanf) + +int +attribute_compat_text_section +__nldbl___vsscanf (const char *string, const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = _IO_vsscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +weak_alias (__nldbl___vsscanf, __nldbl_vsscanf) +libc_hidden_def (__nldbl_vsscanf) + +int +attribute_compat_text_section weak_function +__nldbl_vscanf (const char *fmt, va_list ap) +{ + return __nldbl_vfscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = _IO_vfwscanf (s, fmt, ap, NULL); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl_vfwscanf) + +int +attribute_compat_text_section +__nldbl_swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_vswscanf (const wchar_t *string, const wchar_t *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = vswscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl_vswscanf) + +int +attribute_compat_text_section weak_function +__nldbl_vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl_fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl_wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___fprintf_chk (FILE *stream, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___printf_chk (int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___snprintf_chk (char *s, size_t maxlen, int flag, size_t slen, + const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsnprintf_chk (s, maxlen, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___sprintf_chk (char *s, int flag, size_t slen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsprintf_chk (s, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, + const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vswprintf_chk (s, n, flag, slen, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___vfprintf_chk (FILE *s, int flag, const char *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __vfprintf_chk (s, flag, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___vfprintf_chk) + +int +attribute_compat_text_section +__nldbl___vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __vfwprintf_chk (s, flag, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___vfwprintf_chk) + +int +attribute_compat_text_section +__nldbl___vprintf_chk (int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (stdout, flag, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___vsnprintf_chk (char *string, size_t maxlen, int flag, size_t slen, + const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = __vsnprintf_chk (string, maxlen, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vsnprintf_chk) + +int +attribute_compat_text_section +__nldbl___vsprintf_chk (char *string, int flag, size_t slen, const char *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = __vsprintf_chk (string, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vsprintf_chk) + +int +attribute_compat_text_section +__nldbl___vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, + const wchar_t *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = __vswprintf_chk (string, maxlen, flag, slen, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vswprintf_chk) + +int +attribute_compat_text_section +__nldbl___vwprintf_chk (int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (stdout, flag, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___wprintf_chk (int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___vasprintf_chk (char **ptr, int flag, const char *fmt, va_list arg) +{ + int res; + __no_long_double = 1; + res = __vasprintf_chk (ptr, flag, fmt, arg); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___vasprintf_chk) + +int +attribute_compat_text_section +__nldbl___asprintf_chk (char **ptr, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vasprintf_chk (ptr, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___vdprintf_chk (int d, int flag, const char *fmt, va_list arg) +{ + int res; + set_no_long_double (); + res = __vdprintf_chk (d, flag, fmt, arg); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___vdprintf_chk) + +int +attribute_compat_text_section +__nldbl___dprintf_chk (int d, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vdprintf_chk (d, flag, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___obstack_vprintf_chk (struct obstack *obstack, int flag, + const char *fmt, va_list arg) +{ + int res; + __no_long_double = 1; + res = __obstack_vprintf_chk (obstack, flag, fmt, arg); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___obstack_vprintf_chk) + +int +attribute_compat_text_section +__nldbl___obstack_printf_chk (struct obstack *obstack, int flag, + const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___obstack_vprintf_chk (obstack, flag, fmt, arg); + va_end (arg); + + return done; +} + +extern __typeof (printf_size) __printf_size; + +int +attribute_compat_text_section +__nldbl_printf_size (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + struct printf_info info_no_ldbl = *info; + + info_no_ldbl.is_long_double = 0; + return __printf_size (fp, &info_no_ldbl, args); +} + +extern __typeof (__printf_fp) ___printf_fp; + +int +attribute_compat_text_section +__nldbl___printf_fp (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + struct printf_info info_no_ldbl = *info; + + info_no_ldbl.is_long_double = 0; + return ___printf_fp (fp, &info_no_ldbl, args); +} + +ssize_t +attribute_compat_text_section +__nldbl_strfmon (char *s, size_t maxsize, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon (s, maxsize, format, ap); + va_end (ap); + return res; +} + +ssize_t +attribute_compat_text_section +__nldbl___strfmon_l (char *s, size_t maxsize, __locale_t loc, + const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon_l (s, maxsize, loc, format, ap); + va_end (ap); + return res; +} +weak_alias (__nldbl___strfmon_l, __nldbl_strfmon_l) + +ssize_t +attribute_compat_text_section +__nldbl___vstrfmon (char *s, size_t maxsize, const char *format, va_list ap) +{ + ssize_t res; + __no_long_double = 1; + res = __vstrfmon_l (s, maxsize, _NL_CURRENT_LOCALE, format, ap); + __no_long_double = 0; + va_end (ap); + return res; +} +libc_hidden_def (__nldbl___vstrfmon) + +ssize_t +attribute_compat_text_section +__nldbl___vstrfmon_l (char *s, size_t maxsize, __locale_t loc, + const char *format, va_list ap) +{ + ssize_t res; + __no_long_double = 1; + res = __vstrfmon_l (s, maxsize, loc, format, ap); + __no_long_double = 0; + va_end (ap); + return res; +} +libc_hidden_def (__nldbl___vstrfmon_l) + +void +attribute_compat_text_section +__nldbl_syslog (int pri, const char *fmt, ...) +{ + va_list ap; + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, -1, fmt, ap); + va_end (ap); +} + +void +attribute_compat_text_section +__nldbl___syslog_chk (int pri, int flag, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, flag, fmt, ap); + va_end(ap); +} + +void +attribute_compat_text_section +__nldbl___vsyslog_chk (int pri, int flag, const char *fmt, va_list ap) +{ + set_no_long_double (); + __vsyslog_chk (pri, flag, fmt, ap); + clear_no_long_double (); +} +libc_hidden_def (__nldbl___vsyslog_chk) + +void +attribute_compat_text_section +__nldbl_vsyslog (int pri, const char *fmt, va_list ap) +{ + __nldbl___vsyslog_chk (pri, -1, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___isoc99_vfscanf (FILE *s, const char *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __isoc99_vfscanf (s, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___isoc99_vfscanf) + +int +attribute_compat_text_section +__nldbl___isoc99_sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___isoc99_vsscanf (const char *string, const char *fmt, va_list ap) +{ + int res; + __no_long_double = 1; + res = __isoc99_vsscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___isoc99_vsscanf) + +int +attribute_compat_text_section +__nldbl___isoc99_vscanf (const char *fmt, va_list ap) +{ + return __nldbl___isoc99_vfscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___isoc99_fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___isoc99_scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + int res; + set_no_long_double (); + res = __isoc99_vfwscanf (s, fmt, ap); + clear_no_long_double (); + return res; +} +libc_hidden_def (__nldbl___isoc99_vfwscanf) + +int +attribute_compat_text_section +__nldbl___isoc99_swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___isoc99_vswscanf (const wchar_t *string, const wchar_t *fmt, + va_list ap) +{ + int res; + __no_long_double = 1; + res = __isoc99_vswscanf (string, fmt, ap); + __no_long_double = 0; + return res; +} +libc_hidden_def (__nldbl___isoc99_vswscanf) + +int +attribute_compat_text_section +__nldbl___isoc99_vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl___isoc99_vfwscanf (stdin, fmt, ap); +} + +int +attribute_compat_text_section +__nldbl___isoc99_fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} + +int +attribute_compat_text_section +__nldbl___isoc99_wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} + +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __nldbl__IO_printf, _IO_printf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_sprintf, _IO_sprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vfprintf, _IO_vfprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vsprintf, _IO_vsprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_dprintf, dprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_fprintf, fprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_printf, printf, GLIBC_2_0); +compat_symbol (libc, __nldbl_sprintf, sprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vfprintf, vfprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vprintf, vprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_fprintf, _IO_fprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vsnprintf, __vsnprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_asprintf, asprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_obstack_printf, obstack_printf, GLIBC_2_0); +compat_symbol (libc, __nldbl_obstack_vprintf, obstack_vprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_snprintf, snprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vasprintf, vasprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vdprintf, vdprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsnprintf, vsnprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsprintf, vsprintf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_sscanf, _IO_sscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl__IO_vfscanf, _IO_vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vfscanf, __vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___vsscanf, __vsscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_fscanf, fscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_scanf, scanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_sscanf, sscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vfscanf, vfscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vscanf, vscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsscanf, vsscanf, GLIBC_2_0); +compat_symbol (libc, __nldbl___printf_fp, __printf_fp, GLIBC_2_0); +compat_symbol (libc, __nldbl_strfmon, strfmon, GLIBC_2_0); +compat_symbol (libc, __nldbl_syslog, syslog, GLIBC_2_0); +compat_symbol (libc, __nldbl_vsyslog, vsyslog, GLIBC_2_0); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_1) +compat_symbol (libc, __nldbl___asprintf, __asprintf, GLIBC_2_1); +compat_symbol (libc, __nldbl_printf_size, printf_size, GLIBC_2_1); +compat_symbol (libc, __nldbl___strfmon_l, __strfmon_l, GLIBC_2_1); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_2) +compat_symbol (libc, __nldbl_swprintf, swprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vwprintf, vwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_wprintf, wprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_fwprintf, fwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vfwprintf, vfwprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vswprintf, vswprintf, GLIBC_2_2); +compat_symbol (libc, __nldbl_fwscanf, fwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_swscanf, swscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vfwscanf, vfwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vswscanf, vswscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_vwscanf, vwscanf, GLIBC_2_2); +compat_symbol (libc, __nldbl_wscanf, wscanf, GLIBC_2_2); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_3) +compat_symbol (libc, __nldbl_strfmon_l, strfmon_l, GLIBC_2_3); +#endif +#if LONG_DOUBLE_COMPAT(libc, GLIBC_2_3_4) +compat_symbol (libc, __nldbl___sprintf_chk, __sprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vsprintf_chk, __vsprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___snprintf_chk, __snprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vsnprintf_chk, __vsnprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___printf_chk, __printf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___fprintf_chk, __fprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vprintf_chk, __vprintf_chk, GLIBC_2_3_4); +compat_symbol (libc, __nldbl___vfprintf_chk, __vfprintf_chk, GLIBC_2_3_4); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.h b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.h new file mode 100644 index 0000000000..72ec0db390 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-compat.h @@ -0,0 +1,104 @@ +/* Prototypes for compatibility double == long double entry points. + Copyright (C) 2006-2017 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Jakub Jelinek <jakub@cygnus.com>, 2006. + + 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 __NLDBL_COMPAT_H +#define __NLDBL_COMPAT_H 1 + +/* Avoid long double prototypes. */ +#define __NO_LONG_DOUBLE_MATH 1 +#include <stdarg.h> +#include <stdlib.h> +#include <stdint.h> +#include <stdio.h> +#include <printf.h> +#include <wchar.h> +#include <math.h> +#include <monetary.h> +#include <sys/syslog.h> + + +/* Declare the __nldbl_NAME function the wrappers call that's in libc.so. */ +#define NLDBL_DECL(name) extern __typeof (name) __nldbl_##name + +NLDBL_DECL (_IO_vfscanf); +NLDBL_DECL (vfscanf); +NLDBL_DECL (vfwscanf); +NLDBL_DECL (obstack_vprintf); +NLDBL_DECL (vasprintf); +NLDBL_DECL (dprintf); +NLDBL_DECL (vdprintf); +NLDBL_DECL (fprintf); +NLDBL_DECL (vfprintf); +NLDBL_DECL (vfwprintf); +NLDBL_DECL (vsnprintf); +NLDBL_DECL (vsprintf); +NLDBL_DECL (vsscanf); +NLDBL_DECL (vswprintf); +NLDBL_DECL (vswscanf); +NLDBL_DECL (__asprintf); +NLDBL_DECL (asprintf); +NLDBL_DECL (__printf_fp); +NLDBL_DECL (printf_size); +NLDBL_DECL (syslog); +NLDBL_DECL (vsyslog); +NLDBL_DECL (qecvt); +NLDBL_DECL (qfcvt); +NLDBL_DECL (qgcvt); +NLDBL_DECL (__vstrfmon_l); +NLDBL_DECL (__isoc99_scanf); +NLDBL_DECL (__isoc99_fscanf); +NLDBL_DECL (__isoc99_sscanf); +NLDBL_DECL (__isoc99_vscanf); +NLDBL_DECL (__isoc99_vfscanf); +NLDBL_DECL (__isoc99_vsscanf); +NLDBL_DECL (__isoc99_wscanf); +NLDBL_DECL (__isoc99_fwscanf); +NLDBL_DECL (__isoc99_swscanf); +NLDBL_DECL (__isoc99_vwscanf); +NLDBL_DECL (__isoc99_vfwscanf); +NLDBL_DECL (__isoc99_vswscanf); + +/* This one does not exist in the normal interface, only + __nldbl___vstrfmon really exists. */ +extern ssize_t __nldbl___vstrfmon (char *, size_t, const char *, va_list) + __THROW; + +/* These don't use __typeof because they were not declared by the headers, + since we don't compile with _FORTIFY_SOURCE. */ +extern int __nldbl___vfprintf_chk (FILE *__restrict, int, + const char *__restrict, _G_va_list); +extern int __nldbl___vfwprintf_chk (FILE *__restrict, int, + const wchar_t *__restrict, __gnuc_va_list); +extern int __nldbl___vsprintf_chk (char *__restrict, int, size_t, + const char *__restrict, _G_va_list) __THROW; +extern int __nldbl___vsnprintf_chk (char *__restrict, size_t, int, size_t, + const char *__restrict, _G_va_list) + __THROW; +extern int __nldbl___vswprintf_chk (wchar_t *__restrict, size_t, int, size_t, + const wchar_t *__restrict, __gnuc_va_list) + __THROW; +extern int __nldbl___vasprintf_chk (char **, int, const char *, _G_va_list) + __THROW; +extern int __nldbl___vdprintf_chk (int, int, const char *, _G_va_list); +extern int __nldbl___obstack_vprintf_chk (struct obstack *, int, const char *, + _G_va_list) __THROW; +extern void __nldbl___vsyslog_chk (int, int, const char *, va_list); + + +#endif /* __NLDBL_COMPAT_H */ diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-conj.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-conj.c new file mode 100644 index 0000000000..8927ea9968 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-conj.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +conjl (double _Complex x) +{ + return conj (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c new file mode 100644 index 0000000000..045f00dda8 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-copysign.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +copysignl (double x, double y) +{ + return __copysign (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cos.c new file mode 100644 index 0000000000..08738af048 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +cosl (double x) +{ + return cos (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c new file mode 100644 index 0000000000..0ab834ffd9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cosh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +coshl (double x) +{ + return cosh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c new file mode 100644 index 0000000000..709e7d73b1 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cpow.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cpowl (double _Complex x, double _Complex y) +{ + return cpow (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c new file mode 100644 index 0000000000..6f88b88bf2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-cproj.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +cprojl (double _Complex x) +{ + return cproj (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-creal.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-creal.c new file mode 100644 index 0000000000..b02ce6e5e4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-creal.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double +attribute_hidden +creall (double _Complex x) +{ + return creal (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csin.c new file mode 100644 index 0000000000..b2e2c9c8ef --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csin.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csinl (double _Complex x) +{ + return csin (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c new file mode 100644 index 0000000000..2bcba920e3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csinh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csinhl (double _Complex x) +{ + return csinh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c new file mode 100644 index 0000000000..ae00a29885 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-csqrt.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +csqrtl (double _Complex x) +{ + return csqrt (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c new file mode 100644 index 0000000000..422c5cce94 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctan.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ctanl (double _Complex x) +{ + return ctan (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c new file mode 100644 index 0000000000..f3842ed26f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ctanh.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" +#include <complex.h> + +double _Complex +attribute_hidden +ctanhl (double _Complex x) +{ + return ctanh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c new file mode 100644 index 0000000000..6e26db2a24 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +attribute_hidden +int +dprintf (int d, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vdprintf (d, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c new file mode 100644 index 0000000000..b3e2359128 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-dprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +attribute_hidden +int +__dprintf_chk (int d, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vdprintf_chk (d, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erf.c new file mode 100644 index 0000000000..0032c1febc --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +erfl (double x) +{ + return erf (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c new file mode 100644 index 0000000000..21d09680aa --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-erfc.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +erfcl (double x) +{ + return erfc (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp.c new file mode 100644 index 0000000000..ad2c89b6d5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +expl (double x) +{ + return exp (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c new file mode 100644 index 0000000000..2d0ead686b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp10l (double x) +{ + return exp10 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c new file mode 100644 index 0000000000..d5fce3970d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-exp2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +exp2l (double x) +{ + return exp2 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c new file mode 100644 index 0000000000..be5c6e51c4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-expm1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +expm1l (double x) +{ + return expm1 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c new file mode 100644 index 0000000000..10729a6ec0 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fabs.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fabsl (double x) +{ + return fabs (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c new file mode 100644 index 0000000000..72896b63ed --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fdim.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fdiml (double x, double y) +{ + return fdim (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-finite.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-finite.c new file mode 100644 index 0000000000..fc51508f16 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-finite.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__finitel (double x) +{ + return isfinite (x); +} +extern __typeof (__finitel) finitel attribute_hidden; +weak_alias (__finitel, finitel) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-floor.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-floor.c new file mode 100644 index 0000000000..c7e9f834b6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-floor.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +floorl (double x) +{ + return floor (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fma.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fma.c new file mode 100644 index 0000000000..9474483673 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmal (double x, double y, double z) +{ + return fma (x, y, z); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c new file mode 100644 index 0000000000..f5a84776ed --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmax.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmaxl (double x, double y) +{ + return fmax (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmaxmag.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmaxmag.c new file mode 100644 index 0000000000..28aab5791a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmaxmag.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for fmaxmag. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +fmaxmagl (double x, double y) +{ + return fmaxmag (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c new file mode 100644 index 0000000000..a353cf9484 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fminl (double x, double y) +{ + return fmin (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fminmag.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fminmag.c new file mode 100644 index 0000000000..f1743acd4d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fminmag.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for fminmag. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +fminmagl (double x, double y) +{ + return fminmag (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c new file mode 100644 index 0000000000..aa692b9f36 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fmod.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +fmodl (double x, double y) +{ + return fmod (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c new file mode 100644 index 0000000000..9df4c4bc34 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +attribute_hidden +int +fprintf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stream, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (fprintf) _IO_fprintf attribute_hidden; +weak_alias (fprintf, _IO_fprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c new file mode 100644 index 0000000000..43a7618183 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__fprintf_chk (FILE *stream, int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c new file mode 100644 index 0000000000..0ec97e10e3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-frexp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +frexpl (double x, int *exponent) +{ + return frexp (x, exponent); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfp.c new file mode 100644 index 0000000000..6ef95f4ab4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfp.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for fromfp. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +intmax_t +attribute_hidden +fromfpl (double x, int round, unsigned int width) +{ + return fromfp (x, round, width); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfpx.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfpx.c new file mode 100644 index 0000000000..193d9b6ce1 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fromfpx.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for fromfpx. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +intmax_t +attribute_hidden +fromfpxl (double x, int round, unsigned int width) +{ + return fromfpx (x, round, width); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c new file mode 100644 index 0000000000..1b768e306f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl__IO_vfscanf (stream, fmt, arg, NULL); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c new file mode 100644 index 0000000000..18362af013 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +fwprintf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c new file mode 100644 index 0000000000..09731cf29d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__fwprintf_chk (FILE *stream, int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stream, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c new file mode 100644 index 0000000000..27fc1a7271 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-fwscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c new file mode 100644 index 0000000000..10dc640b92 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-gamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +gammal (double x) +{ + return gamma (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-getpayload.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-getpayload.c new file mode 100644 index 0000000000..f15f9231ec --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-getpayload.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for getpayload. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +getpayloadl (const double *x) +{ + return getpayload (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c new file mode 100644 index 0000000000..2105f3eba8 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-hypot.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +hypotl (double x, double y) +{ + return hypot (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c new file mode 100644 index 0000000000..e840b2a447 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ilogb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +ilogbl (double x) +{ + return ilogb (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c new file mode 100644 index 0000000000..05581c0354 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-iovfscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +_IO_vfscanf (FILE *s, const char *fmt, _IO_va_list ap, int *errp) +{ + return __nldbl__IO_vfscanf (s, fmt, ap, errp); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c new file mode 100644 index 0000000000..577ab2db28 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isinf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isinfl (double x) +{ + return isinf (x); +} +extern __typeof (__isinfl) isinfl attribute_hidden; +weak_alias (__isinfl, isinfl) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c new file mode 100644 index 0000000000..2d87bf85fb --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isnan.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isnanl (double x) +{ + return isnan (x); +} +extern __typeof (__isnanl) isnanl attribute_hidden; +weak_alias (__isnanl, isnanl) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c new file mode 100644 index 0000000000..1d736668a4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_fscanf (FILE *stream, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfscanf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c new file mode 100644 index 0000000000..dbea1512cf --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_fwscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_fwscanf (FILE *stream, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfwscanf (stream, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c new file mode 100644 index 0000000000..ec2ec53291 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_scanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c new file mode 100644 index 0000000000..52e1bd5d2a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_sscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c new file mode 100644 index 0000000000..927d024923 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_swscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c new file mode 100644 index 0000000000..55556c375c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vfscanf (FILE *s, const char *fmt, va_list ap) +{ + return __nldbl___isoc99_vfscanf (s, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c new file mode 100644 index 0000000000..4fd54cb176 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vfwscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + return __nldbl___isoc99_vfwscanf (s, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c new file mode 100644 index 0000000000..6284c9339b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vscanf (const char *fmt, va_list ap) +{ + return __nldbl___isoc99_vfscanf (stdin, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c new file mode 100644 index 0000000000..0c19032b15 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vsscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vsscanf (const char *string, const char *fmt, va_list ap) +{ + return __nldbl___isoc99_vsscanf (string, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c new file mode 100644 index 0000000000..5f34221b62 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vswscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vswscanf (const wchar_t *string, const wchar_t *fmt, va_list ap) +{ + return __nldbl___isoc99_vswscanf (string, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c new file mode 100644 index 0000000000..a8a76ff54b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_vwscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl___isoc99_vfwscanf (stdin, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c new file mode 100644 index 0000000000..fc2f6f8598 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-isoc99_wscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__isoc99_wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___isoc99_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j0.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j0.c new file mode 100644 index 0000000000..9d59f0a015 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j0.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +j0l (double x) +{ + return j0 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j1.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j1.c new file mode 100644 index 0000000000..dba7366861 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-j1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +j1l (double x) +{ + return j1 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-jn.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-jn.c new file mode 100644 index 0000000000..3f19bbb1a8 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-jn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +jnl (int n, double x) +{ + return jn (n, x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c new file mode 100644 index 0000000000..360f8f0f6b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ldexp.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ldexpl (double x, int exponent) +{ + return ldexp (x, exponent); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c new file mode 100644 index 0000000000..0055212628 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +lgammal (double x) +{ + return lgamma (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c new file mode 100644 index 0000000000..e1ab9a1d0a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lgamma_r.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +lgammal_r (double x, int *signgamp) +{ + return lgamma_r (x, signgamp); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llogb.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llogb.c new file mode 100644 index 0000000000..76042b2f48 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llogb.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for llogb. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +long int +attribute_hidden +llogbl (double x) +{ + return llogb (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c new file mode 100644 index 0000000000..6dfce89d0d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llrint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long long int +attribute_hidden +llrintl (double x) +{ + return llrint (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llround.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llround.c new file mode 100644 index 0000000000..0157a079f4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-llround.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long long int +attribute_hidden +llroundl (double x) +{ + return llround (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log.c new file mode 100644 index 0000000000..a5a1ae7cd7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +logl (double x) +{ + return log (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log10.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log10.c new file mode 100644 index 0000000000..1477866dc6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log10l (double x) +{ + return log10 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c new file mode 100644 index 0000000000..455b25a9f4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log1p.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log1pl (double x) +{ + return log1p (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log2.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log2.c new file mode 100644 index 0000000000..8c1ae344e5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-log2.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +log2l (double x) +{ + return log2 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-logb.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-logb.c new file mode 100644 index 0000000000..d9ce8de075 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-logb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +logbl (double x) +{ + return logb (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c new file mode 100644 index 0000000000..0acd3d4ae6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lrint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long int +attribute_hidden +lrintl (double x) +{ + return lrint (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lround.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lround.c new file mode 100644 index 0000000000..aadb111f88 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-lround.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +long int +attribute_hidden +lroundl (double x) +{ + return lround (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-modf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-modf.c new file mode 100644 index 0000000000..bcbe6bb435 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-modf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +modfl (double x, double *iptr) +{ + return modf (x, iptr); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nan.c new file mode 100644 index 0000000000..8db157a0ea --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nanl (const char *tag) +{ + return nan (tag); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c new file mode 100644 index 0000000000..fd4a24684d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nearbyint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nearbyintl (double x) +{ + return nearbyint (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c new file mode 100644 index 0000000000..b0bae43f49 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextafter.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +nextafterl (double x, double y) +{ + return nextafter (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextdown.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextdown.c new file mode 100644 index 0000000000..b20c788401 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextdown.c @@ -0,0 +1,27 @@ +/* Compatibility routine for IEEE double as long double for nextdown. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +/* Return the greatest floating-point number less than X. */ +double +attribute_hidden +nextdownl (double x) +{ + return nextdown (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c new file mode 100644 index 0000000000..acbd01a0cf --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttoward.c @@ -0,0 +1,14 @@ +#define nexttoward nexttoward_XXX +#define nexttowardl nexttowardl_XXX +#include "nldbl-compat.h" +#undef nexttoward +#undef nexttowardl + +double +attribute_hidden +nexttoward (double x, double y) +{ + return nextafter (x, y); +} +extern __typeof (nexttoward) nexttowardl attribute_hidden; +strong_alias (nexttoward, nexttowardl) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c new file mode 100644 index 0000000000..350b08d39e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nexttowardf.c @@ -0,0 +1,12 @@ +#define nexttowardf nexttowardf_XXX +#include "nldbl-compat.h" +#undef nexttowardf + +extern float __nldbl_nexttowardf (float x, double y); + +float +attribute_hidden +nexttowardf (float x, double y) +{ + return __nldbl_nexttowardf (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextup.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextup.c new file mode 100644 index 0000000000..71dc8d4816 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-nextup.c @@ -0,0 +1,27 @@ +/* Compatibility routine for IEEE double as long double for nextup. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +/* Return the least floating-point number greater than X. */ +double +attribute_hidden +nextupl (double x) +{ + return nextup (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c new file mode 100644 index 0000000000..4abff2dc0d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf.c @@ -0,0 +1,13 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +obstack_printf (struct obstack *obstack, const char *fmt, ...) +{ + int result; + va_list ap; + va_start (ap, fmt); + result = __nldbl_obstack_vprintf (obstack, fmt, ap); + va_end (ap); + return result; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c new file mode 100644 index 0000000000..8e7d8eb4ad --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_printf_chk.c @@ -0,0 +1,13 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__obstack_printf_chk (struct obstack *obstack, int flag, const char *fmt, ...) +{ + int result; + va_list ap; + va_start (ap, fmt); + result = __nldbl___obstack_vprintf_chk (obstack, flag, fmt, ap); + va_end (ap); + return result; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c new file mode 100644 index 0000000000..228a50726b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +obstack_vprintf (struct obstack *obstack, const char *fmt, va_list ap) +{ + return __nldbl_obstack_vprintf (obstack, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c new file mode 100644 index 0000000000..a06f6bf9b4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-obstack_vprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__obstack_vprintf_chk (struct obstack *obstack, int flag, const char *fmt, + va_list ap) +{ + return __nldbl___obstack_vprintf_chk (obstack, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow.c new file mode 100644 index 0000000000..a5cc446555 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +powl (double x, double y) +{ + return pow (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c new file mode 100644 index 0000000000..20ebf8d1bb --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-pow10.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +pow10l (double x) +{ + return pow10 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf.c new file mode 100644 index 0000000000..e4b0fbae0c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +printf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (printf) _IO_printf attribute_hidden; +strong_alias (printf, _IO_printf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c new file mode 100644 index 0000000000..926db412f9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__printf_chk (int flag, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c new file mode 100644 index 0000000000..057dfe0b8a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_fp.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__printf_fp (FILE *fp, const struct printf_info *info, + const void *const *args) +{ + return __nldbl___printf_fp (fp, info, args); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c new file mode 100644 index 0000000000..d8b1fc9995 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-printf_size.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +printf_size (FILE *__restrict fp, const struct printf_info *info, + const void *const *__restrict args) +{ + return __nldbl_printf_size (fp, info, args); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c new file mode 100644 index 0000000000..9f0b0a66a9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt.c @@ -0,0 +1,10 @@ +#define qecvt qecvt_XXX +#include "nldbl-compat.h" +#undef qecvt + +attribute_hidden +char * +qecvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) +{ + return ecvt (val, ndigit, decpt, sign); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c new file mode 100644 index 0000000000..06f99146cc --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qecvt_r.c @@ -0,0 +1,11 @@ +#define qecvt_r qecvt_r_XXX +#include "nldbl-compat.h" +#undef qecvt_r + +int +attribute_hidden +qecvt_r (double val, int ndigit, int *__restrict decpt, int *__restrict sign, + char *__restrict buf, size_t len) +{ + return ecvt_r (val, ndigit, decpt, sign, buf, len); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c new file mode 100644 index 0000000000..37fa7f0467 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt.c @@ -0,0 +1,10 @@ +#define qfcvt qfcvt_XXX +#include "nldbl-compat.h" +#undef qfcvt + +attribute_hidden +char * +qfcvt (double val, int ndigit, int *__restrict decpt, int *__restrict sign) +{ + return fcvt (val, ndigit, decpt, sign); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c new file mode 100644 index 0000000000..03224fefa9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qfcvt_r.c @@ -0,0 +1,11 @@ +#define qfcvt_r qfcvt_r_XXX +#include "nldbl-compat.h" +#undef qfcvt_r + +int +attribute_hidden +qfcvt_r (double val, int ndigit, int *__restrict decpt, int *__restrict sign, + char *__restrict buf, size_t len) +{ + return fcvt_r (val, ndigit, decpt, sign, buf, len); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c new file mode 100644 index 0000000000..b935d0962e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-qgcvt.c @@ -0,0 +1,10 @@ +#define qgcvt qgcvt_XXX +#include "nldbl-compat.h" +#undef qgcvt + +attribute_hidden +char * +qgcvt (double val, int ndigit, char *buf) +{ + return gcvt (val, ndigit, buf); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c new file mode 100644 index 0000000000..581dc78a4d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remainder.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +remainderl (double x, double y) +{ + return remainder (x, y); +} +extern __typeof (remainderl) dreml attribute_hidden; +weak_alias (remainderl, dreml) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c new file mode 100644 index 0000000000..592dadae8d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-remquo.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +remquol (double x, double y, int *quo) +{ + return remquo (x, y, quo); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-rint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-rint.c new file mode 100644 index 0000000000..00f942f1a7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-rint.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +rintl (double x) +{ + return rint (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-round.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-round.c new file mode 100644 index 0000000000..be9bd5112e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-round.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +roundl (double x) +{ + return round (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-roundeven.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-roundeven.c new file mode 100644 index 0000000000..1a46fa50d2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-roundeven.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for roundeven. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +roundevenl (double x) +{ + return roundeven (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c new file mode 100644 index 0000000000..00d3e2e714 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalb.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalbl (double x, double n) +{ + return scalb (x, n); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c new file mode 100644 index 0000000000..b5bd501250 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbln.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalblnl (double x, long int n) +{ + return scalbln (x, n); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c new file mode 100644 index 0000000000..b1914ebf49 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scalbn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +scalbnl (double x, int n) +{ + return scalbn (x, n); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c new file mode 100644 index 0000000000..bbab371cbe --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-scanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +scanf (const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl__IO_vfscanf (stdin, fmt, arg, NULL); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayload.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayload.c new file mode 100644 index 0000000000..df902cad99 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayload.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for setpayload. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +int +attribute_hidden +setpayloadl (double *x, double payload) +{ + return setpayload (x, payload); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c new file mode 100644 index 0000000000..1ca497502c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-setpayloadsig.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for setpayloadsig. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +int +attribute_hidden +setpayloadsigl (double *x, double payload) +{ + return setpayloadsig (x, payload); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c new file mode 100644 index 0000000000..2e98c07396 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-signbit.c @@ -0,0 +1,10 @@ +#define __signbitl __signbitl_XXX +#include "nldbl-compat.h" +#undef __signbitl + +int +attribute_hidden +__signbitl (double x) +{ + return signbit (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-significand.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-significand.c new file mode 100644 index 0000000000..624381dde7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-significand.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +significandl (double x) +{ + return significand (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sin.c new file mode 100644 index 0000000000..0e76e05e6b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sin.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sinl (double x) +{ + return sin (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c new file mode 100644 index 0000000000..9f2ab2b9fc --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sincos.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +sincosl (double x, double *sinx, double *cosx) +{ + sincos (x, sinx, cosx); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c new file mode 100644 index 0000000000..99ea62e8dc --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sinh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sinhl (double x) +{ + return sinh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c new file mode 100644 index 0000000000..ef6fb96a2c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +snprintf (char *s, size_t maxlen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsnprintf (s, maxlen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c new file mode 100644 index 0000000000..944d3de9db --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-snprintf_chk.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__snprintf_chk (char *s, size_t maxlen, int flag, size_t slen, + const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsnprintf_chk (s, maxlen, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c new file mode 100644 index 0000000000..5d37a7e7f0 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +sprintf (char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsprintf (s, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (sprintf) _IO_sprintf attribute_hidden; +strong_alias (sprintf, _IO_sprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c new file mode 100644 index 0000000000..349b7c5c22 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__sprintf_chk (char *s, int flag, size_t slen, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vsprintf_chk (s, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c new file mode 100644 index 0000000000..4ae65665de --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sqrt.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +sqrtl (double x) +{ + return sqrt (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c new file mode 100644 index 0000000000..a771d49996 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-sscanf.c @@ -0,0 +1,17 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +sscanf (const char *s, const char *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vsscanf (s, fmt, arg); + va_end (arg); + + return done; +} +extern __typeof (sscanf) _IO_sscanf attribute_hidden; +strong_alias (sscanf, _IO_sscanf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c new file mode 100644 index 0000000000..38f4071278 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon.c @@ -0,0 +1,14 @@ +#include "nldbl-compat.h" + +ssize_t +attribute_hidden +strfmon (char *s, size_t maxsize, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon (s, maxsize, format, ap); + va_end (ap); + return res; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c new file mode 100644 index 0000000000..0db0e8c42f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfmon_l.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +ssize_t +attribute_hidden +__strfmon_l (char *s, size_t maxsize, __locale_t loc, const char *format, ...) +{ + va_list ap; + ssize_t res; + + va_start (ap, format); + res = __nldbl___vstrfmon_l (s, maxsize, loc, format, ap); + va_end (ap); + return res; +} +extern __typeof (__strfmon_l) strfmon_l attribute_hidden; +weak_alias (__strfmon_l, strfmon_l) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfroml.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfroml.c new file mode 100644 index 0000000000..d6df69e418 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strfroml.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +strfroml (char *dest, size_t size, const char *format, long double f) +{ + return strfromd (dest, size, format, f); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c new file mode 100644 index 0000000000..99b907947b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold.c @@ -0,0 +1,10 @@ +#define strtold strtold_XXX +#include "nldbl-compat.h" +#undef strtold + +double +attribute_hidden +strtold (const char *nptr, char **endptr) +{ + return strtod (nptr, endptr); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c new file mode 100644 index 0000000000..33ff1ca5b5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtold_l.c @@ -0,0 +1,20 @@ +#define strtold_l strtold_l_XXX +#define __strtold_l __strtold_l_XXX +#define __strtod_l __strtod_l_XXX +#include "nldbl-compat.h" +#undef strtold_l +#undef __strtold_l +#undef __strtod_l + +extern double +__strtod_l (const char *__restrict __nptr, char **__restrict __endptr, + __locale_t __loc); + +double +attribute_hidden +__strtold_l (const char *nptr, char **endptr, __locale_t loc) +{ + return __strtod_l (nptr, endptr, loc); +} +extern __typeof (__strtold_l) strtold_l attribute_hidden; +weak_alias (__strtold_l, strtold_l) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c new file mode 100644 index 0000000000..0bafabc6e4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-strtoldint.c @@ -0,0 +1,10 @@ +#define __strtold_internal __strtold_internal_XXX +#include "nldbl-compat.h" +#undef __strtold_internal + +double +attribute_hidden +__strtold_internal (const char *nptr, char **endptr, int group) +{ + return __strtod_internal (nptr, endptr, group); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c new file mode 100644 index 0000000000..7f4f7b04d3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +swprintf (wchar_t *s, size_t n, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswprintf (s, n, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c new file mode 100644 index 0000000000..0373f6ebc2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swprintf_chk.c @@ -0,0 +1,16 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__swprintf_chk (wchar_t *s, size_t n, int flag, size_t slen, + const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vswprintf_chk (s, n, flag, slen, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c new file mode 100644 index 0000000000..dd058f47ab --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-swscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +swscanf (const wchar_t *s, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vswscanf (s, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c new file mode 100644 index 0000000000..8687e9f540 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog.c @@ -0,0 +1,11 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +syslog (int pri, const char *fmt, ...) +{ + va_list ap; + va_start (ap, fmt); + __nldbl_vsyslog (pri, fmt, ap); + va_end (ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c new file mode 100644 index 0000000000..31ea6a8b9d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-syslog_chk.c @@ -0,0 +1,12 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +__syslog_chk (int pri, int flag, const char *fmt, ...) +{ + va_list ap; + + va_start (ap, fmt); + __nldbl___vsyslog_chk (pri, flag, fmt, ap); + va_end(ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tan.c new file mode 100644 index 0000000000..1a27b6fbdd --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tan.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tanl (double x) +{ + return tan (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c new file mode 100644 index 0000000000..fc2fd32eb8 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tanh.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tanhl (double x) +{ + return tanh (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c new file mode 100644 index 0000000000..bbf613abe1 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-tgamma.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +tgammal (double x) +{ + return tgamma (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalorder.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalorder.c new file mode 100644 index 0000000000..c528d53555 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalorder.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for totalorder. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +totalorderl (double x, double y) +{ + return totalorder (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalordermag.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalordermag.c new file mode 100644 index 0000000000..4bc78588ea --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-totalordermag.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for totalordermag. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +double +attribute_hidden +totalordermagl (double x, double y) +{ + return totalordermag (x, y); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c new file mode 100644 index 0000000000..d0131e80a3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-trunc.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +truncl (double x) +{ + return trunc (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfp.c new file mode 100644 index 0000000000..127225734c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfp.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for ufromfp. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +uintmax_t +attribute_hidden +ufromfpl (double x, int round, unsigned int width) +{ + return ufromfp (x, round, width); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfpx.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfpx.c new file mode 100644 index 0000000000..3294f00609 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-ufromfpx.c @@ -0,0 +1,26 @@ +/* Compatibility routine for IEEE double as long double for ufromfpx. + Copyright (C) 2016-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/>. */ + +#include "nldbl-compat.h" + +uintmax_t +attribute_hidden +ufromfpxl (double x, int round, unsigned int width) +{ + return ufromfpx (x, round, width); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c new file mode 100644 index 0000000000..52fa18ccee --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vasprintf (char **result_ptr, const char *fmt, va_list ap) +{ + return __nldbl_vasprintf (result_ptr, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c new file mode 100644 index 0000000000..4f5391a9d7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vasprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vasprintf_chk (char **result_ptr, int flag, const char *fmt, va_list ap) +{ + return __nldbl___vasprintf_chk (result_ptr, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c new file mode 100644 index 0000000000..1acbd40625 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vdprintf (int d, const char *fmt, va_list arg) +{ + return __nldbl_vdprintf (d, fmt, arg); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c new file mode 100644 index 0000000000..ca1ce01878 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vdprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vdprintf_chk (int d, int flag, const char *fmt, va_list arg) +{ + return __nldbl___vdprintf_chk (d, flag, fmt, arg); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c new file mode 100644 index 0000000000..6ca8437b28 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vfprintf (FILE *s, const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (s, fmt, ap); +} +extern __typeof (vfprintf) _IO_vfprintf attribute_hidden; +strong_alias (vfprintf, _IO_vfprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c new file mode 100644 index 0000000000..0f6820af63 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfprintf_chk (FILE *s, int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (s, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c new file mode 100644 index 0000000000..f23465ee95 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfscanf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfscanf (FILE *s, const char *fmt, va_list ap) +{ + return __nldbl__IO_vfscanf (s, fmt, ap, NULL); +} +extern __typeof (__vfscanf) vfscanf attribute_hidden; +weak_alias (__vfscanf, vfscanf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c new file mode 100644 index 0000000000..c3fe76a971 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vfwprintf (FILE *s, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (s, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c new file mode 100644 index 0000000000..b3b69f0571 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vfwprintf_chk (FILE *s, int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (s, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c new file mode 100644 index 0000000000..be9febc9a0 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vfwscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vfwscanf (FILE *s, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (s, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c new file mode 100644 index 0000000000..ed0d27d9a0 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vprintf (const char *fmt, va_list ap) +{ + return __nldbl_vfprintf (stdout, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c new file mode 100644 index 0000000000..63b3e8f965 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vprintf_chk (int flag, const char *fmt, va_list ap) +{ + return __nldbl___vfprintf_chk (stdout, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c new file mode 100644 index 0000000000..e75907b905 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vscanf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vscanf (const char *fmt, va_list ap) +{ + return __nldbl__IO_vfscanf (stdin, fmt, ap, NULL); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c new file mode 100644 index 0000000000..5a9bcbcaee --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vsnprintf (char *string, size_t maxlen, const char *fmt, va_list ap) +{ + return __nldbl_vsnprintf (string, maxlen, fmt, ap); +} +extern __typeof (vsnprintf) __vsnprintf attribute_hidden; +weak_alias (vsnprintf, __vsnprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c new file mode 100644 index 0000000000..19380291a3 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsnprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsnprintf_chk (char *string, size_t maxlen, int flag, size_t slen, + const char *fmt, va_list ap) +{ + return __nldbl___vsnprintf_chk (string, maxlen, flag, slen, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c new file mode 100644 index 0000000000..04406d0f6e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +_IO_vsprintf (char *string, const char *fmt, va_list ap) +{ + return __nldbl_vsprintf (string, fmt, ap); +} +extern __typeof (_IO_vsprintf) vsprintf attribute_hidden; +weak_alias (_IO_vsprintf, vsprintf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c new file mode 100644 index 0000000000..9df143fcef --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsprintf_chk (char *string, int flag, size_t slen, const char *fmt, + va_list ap) +{ + return __nldbl___vsprintf_chk (string, flag, slen, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c new file mode 100644 index 0000000000..f5594c122c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsscanf.c @@ -0,0 +1,10 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vsscanf (const char *string, const char *fmt, va_list ap) +{ + return __nldbl_vsscanf (string, fmt, ap); +} +extern __typeof (__vsscanf) vsscanf attribute_hidden; +weak_alias (__vsscanf, vsscanf) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c new file mode 100644 index 0000000000..ff3415a072 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vswprintf (wchar_t *string, size_t maxlen, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vswprintf (string, maxlen, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c new file mode 100644 index 0000000000..0cd1f96bfe --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswprintf_chk.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vswprintf_chk (wchar_t *string, size_t maxlen, int flag, size_t slen, + const wchar_t *fmt, va_list ap) +{ + return __nldbl___vswprintf_chk (string, maxlen, flag, slen, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c new file mode 100644 index 0000000000..bd4bb5131b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vswscanf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vswscanf (const wchar_t *string, const wchar_t *fmt, va_list ap) +{ + return __nldbl_vswscanf (string, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c new file mode 100644 index 0000000000..eed1010eea --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +attribute_hidden +void +vsyslog (int pri, const char *fmt, va_list ap) +{ + __nldbl_vsyslog (pri, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c new file mode 100644 index 0000000000..2221474f97 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vsyslog_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +void +attribute_hidden +__vsyslog_chk (int pri, int flag, const char *fmt, va_list ap) +{ + __nldbl___vsyslog_chk (pri, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c new file mode 100644 index 0000000000..f46bdb3137 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +vwprintf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwprintf (stdout, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c new file mode 100644 index 0000000000..f7e7185977 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwprintf_chk.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__vwprintf_chk (int flag, const wchar_t *fmt, va_list ap) +{ + return __nldbl___vfwprintf_chk (stdout, flag, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c new file mode 100644 index 0000000000..d39578ca4e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-vwscanf.c @@ -0,0 +1,9 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +weak_function +vwscanf (const wchar_t *fmt, va_list ap) +{ + return __nldbl_vfwscanf (stdin, fmt, ap); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c new file mode 100644 index 0000000000..dbaffaa486 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold.c @@ -0,0 +1,10 @@ +#define wcstold wcstold_XXX +#include "nldbl-compat.h" +#undef wcstold + +double +attribute_hidden +wcstold (const wchar_t *nptr, wchar_t **endptr) +{ + return wcstod (nptr, endptr); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c new file mode 100644 index 0000000000..e32d13a94b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstold_l.c @@ -0,0 +1,14 @@ +#define wcstold_l wcstold_l_XXX +#define __wcstold_l __wcstold_l_XXX +#include "nldbl-compat.h" +#undef wcstold_l +#undef __wcstold_l + +double +attribute_hidden +__wcstold_l (const wchar_t *nptr, wchar_t **endptr, __locale_t loc) +{ + return __wcstod_l (nptr, endptr, loc); +} +extern __typeof (__wcstold_l) wcstold_l attribute_hidden; +weak_alias (__wcstold_l, wcstold_l) diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c new file mode 100644 index 0000000000..b638a399ad --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wcstoldint.c @@ -0,0 +1,10 @@ +#define __wcstold_internal __wcstold_internal_XXX +#include "nldbl-compat.h" +#undef __wcstold_internal + +double +attribute_hidden +__wcstold_internal (const wchar_t *nptr, wchar_t **endptr, int group) +{ + return __wcstod_internal (nptr, endptr, group); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c new file mode 100644 index 0000000000..2aa1a7475a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +wprintf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwprintf (stdout, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c new file mode 100644 index 0000000000..39191e123b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wprintf_chk.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +__wprintf_chk (int flag, const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl___vfwprintf_chk (stdout, flag, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c new file mode 100644 index 0000000000..4ee3fdc15f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-wscanf.c @@ -0,0 +1,15 @@ +#include "nldbl-compat.h" + +int +attribute_hidden +wscanf (const wchar_t *fmt, ...) +{ + va_list arg; + int done; + + va_start (arg, fmt); + done = __nldbl_vfwscanf (stdin, fmt, arg); + va_end (arg); + + return done; +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y0.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y0.c new file mode 100644 index 0000000000..e35621f60f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y0.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +y0l (double x) +{ + return y0 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y1.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y1.c new file mode 100644 index 0000000000..c47abcd3c5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-y1.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +y1l (double x) +{ + return y1 (x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-yn.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-yn.c new file mode 100644 index 0000000000..7623d4513b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/nldbl-yn.c @@ -0,0 +1,8 @@ +#include "nldbl-compat.h" + +double +attribute_hidden +ynl (int n, double x) +{ + return yn (n, x); +} diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_asinh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_asinh.c new file mode 100644 index 0000000000..e9bcfaea62 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_asinh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_asinh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __asinh, asinhl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_atan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_atan.c new file mode 100644 index 0000000000..5fbd5e62d6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_atan.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_atan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, atan, atanl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_cbrt.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_cbrt.c new file mode 100644 index 0000000000..cdc635771e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_cbrt.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_cbrt.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __cbrt, cbrtl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ceil.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ceil.c new file mode 100644 index 0000000000..6e4b70795d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ceil.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_ceil.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __ceil, ceill, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_clog10l.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_clog10l.c new file mode 100644 index 0000000000..15dc3ed891 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_clog10l.c @@ -0,0 +1,31 @@ +/* clog10l alias overrides for platforms where long double + was previously not unique. + Copyright (C) 2016-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/>. */ + +#define M_DECL_FUNC(x) __clog10l_internal +#include <math-type-macros-ldouble.h> + +#undef declare_mgen_alias +#define declare_mgen_alias(from, to) + +#include <s_clog10_template.c> + +/* __clog10l is also a public symbol. */ +strong_alias (__clog10l_internal, __clog10l__internal) +long_double_symbol (libm, __clog10l_internal, __clog10l); +long_double_symbol (libm, __clog10l__internal, clog10l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_copysign.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_copysign.c new file mode 100644 index 0000000000..f4303f5768 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_copysign.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_copysign.c> +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __copysign, copysignl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __copysign, copysignl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_erf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_erf.c new file mode 100644 index 0000000000..76f1baa5ca --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_erf.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_erf.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __erf, erfl, GLIBC_2_0); +compat_symbol (libm, __erfc, erfcl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_expm1.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_expm1.c new file mode 100644 index 0000000000..ef9b5956db --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_expm1.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_expm1.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __expm1, expm1l, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fabs.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fabs.c new file mode 100644 index 0000000000..e7c92187e9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fabs.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_fabs.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __fabs, fabsl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_finite.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_finite.c new file mode 100644 index 0000000000..7d3ab0068d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_finite.c @@ -0,0 +1,18 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_finite.c> +weak_alias (__finite, ___finite) +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __finite, __finitel, GLIBC_2_1); +# endif +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, ___finite, finitel, GLIBC_2_0); +# endif +#else +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libm, __finite, __finitel, GLIBC_2_0); +# endif +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, ___finite, finitel, GLIBC_2_0); +# endif +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_floor.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_floor.c new file mode 100644 index 0000000000..7797944e9e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_floor.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_floor.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __floor, floorl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fma.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fma.c new file mode 100644 index 0000000000..1723c5c306 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fma.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_fma.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __fma, fmal, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fmal.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fmal.c new file mode 100644 index 0000000000..bd12dabcbe --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_fmal.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_fmal.c> +long_double_symbol (libm, __fmal, fmal); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_frexp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_frexp.c new file mode 100644 index 0000000000..0e3a5e0830 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_frexp.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_frexp.c> +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __frexp, frexpl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __frexp, frexpl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isinf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isinf.c new file mode 100644 index 0000000000..1f760a0320 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isinf.c @@ -0,0 +1,8 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_isinf.c> +#if !IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __isinf, __isinfl, GLIBC_2_0); +compat_symbol (libc, isinf, isinfl, GLIBC_2_0); +# endif +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isnan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isnan.c new file mode 100644 index 0000000000..33f57f1955 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_isnan.c @@ -0,0 +1,8 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_isnan.c> +#if !IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __isnan, __isnanl, GLIBC_2_0); +compat_symbol (libc, isnan, isnanl, GLIBC_2_0); +# endif +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexp.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexp.c new file mode 100644 index 0000000000..809080a149 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexp.c @@ -0,0 +1,30 @@ +/* ldexp alias overrides for platforms where long double + was previously not unique. + Copyright (C) 2016-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/>. */ + +#define M_LIBM_NEED_COMPAT(f) 0 +#include <math-type-macros-double.h> +#include <s_ldexp_template.c> + +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __ldexp, ldexpl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __ldexp, ldexpl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexpl.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexpl.c new file mode 100644 index 0000000000..85f34fa2c4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_ldexpl.c @@ -0,0 +1,31 @@ +/* ldexpl alias overrides for platforms where long double + was previously not unique. + Copyright (C) 2016-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/>. */ + +#define declare_mgen_alias(f,t) +#include <math-type-macros-ldouble.h> +#include <s_ldexp_template.c> + +strong_alias (__ldexpl, __ldexpl_2) +#if IS_IN (libm) +long_double_symbol (libm, __ldexpl, ldexpl); +long_double_symbol (libm, __ldexpl_2, scalbnl); +#else +long_double_symbol (libc, __ldexpl, ldexpl); +long_double_symbol (libc, __ldexpl_2, scalbnl); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llrint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llrint.c new file mode 100644 index 0000000000..e6311972e1 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llrint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_llrint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __llrint, llrintl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llround.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llround.c new file mode 100644 index 0000000000..36c7e6edac --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_llround.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_llround.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __llround, llroundl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_log1p.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_log1p.c new file mode 100644 index 0000000000..495fa32e35 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_log1p.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_log1p.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log1p, log1pl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_logb.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_logb.c new file mode 100644 index 0000000000..4d7a6db275 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_logb.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_logb.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __logb, logbl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lrint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lrint.c new file mode 100644 index 0000000000..b7af812846 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lrint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_lrint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __lrint, lrintl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lround.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lround.c new file mode 100644 index 0000000000..f3a27fa9c9 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_lround.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_lround.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __lround, lroundl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_modf.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_modf.c new file mode 100644 index 0000000000..93acb43ae6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_modf.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_modf.c> +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __modf, modfl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __modf, modfl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nearbyint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nearbyint.c new file mode 100644 index 0000000000..a8b7973acd --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nearbyint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_nearbyint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __nearbyint, nearbyintl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nextafter.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nextafter.c new file mode 100644 index 0000000000..78e2c0ff37 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nextafter.c @@ -0,0 +1,12 @@ +#include <math_ldbl_opt.h> +#include <math/s_nextafter.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __nextafter, nextafterl, GLIBC_2_0); +#endif +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +strong_alias (__nextafter, __nexttowardd) +strong_alias (__nextafter, __nexttowardld) +#undef nexttoward +compat_symbol (libm, __nexttowardd, nexttoward, GLIBC_2_1); +compat_symbol (libm, __nexttowardld, nexttowardl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c new file mode 100644 index 0000000000..07e9375b78 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_nexttowardfd.c @@ -0,0 +1,81 @@ +/* Single precision version of nexttoward.c. + Conversion to IEEE single float by Jakub Jelinek, jj@ultra.linux.cz. */ +/* + * ==================================================== + * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved. + * + * Developed at SunPro, a Sun Microsystems, Inc. business. + * Permission to use, copy, modify, and distribute this + * software is freely granted, provided that this notice + * is preserved. + * ==================================================== + */ + +/* IEEE functions + * __nexttowardfd(x,y) + * return the next machine floating-point number of x in the + * direction toward y. + * This is for machines which use different binary type for double and + * long double conditionally, y is long double equal to double. + * Special cases: + */ + +#include <errno.h> +#include <math.h> +#include <math_private.h> +#include <math_ldbl_opt.h> +#include <float.h> + +float __nldbl_nexttowardf(float x, double y); + +float __nldbl_nexttowardf(float x, double y) +{ + int32_t hx,hy,ix,iy; + u_int32_t ly; + + GET_FLOAT_WORD(hx,x); + EXTRACT_WORDS(hy,ly,y); + ix = hx&0x7fffffff; /* |x| */ + iy = hy&0x7fffffff; /* |y| */ + + if((ix>0x7f800000) || /* x is nan */ + ((iy>=0x7ff00000)&&((iy-0x7ff00000)|ly)!=0)) /* y is nan */ + return x+y; + if((double) x==y) return y; /* x=y, return y */ + if(ix==0) { /* x == 0 */ + float u; + SET_FLOAT_WORD(x,(u_int32_t)(hy&0x80000000)|1);/* return +-minsub*/ + u = math_opt_barrier (x); + u = u * u; + math_force_eval (u); /* raise underflow flag */ + return x; + } + if(hx>=0) { /* x > 0 */ + if(x > y) /* x -= ulp */ + hx -= 1; + else /* x < y, x += ulp */ + hx += 1; + } else { /* x < 0 */ + if(x < y) /* x -= ulp */ + hx -= 1; + else /* x > y, x += ulp */ + hx += 1; + } + hy = hx&0x7f800000; + if(hy>=0x7f800000) { + float u = x+x; /* overflow */ + math_force_eval (u); + __set_errno (ERANGE); + } + if(hy<0x00800000) { + float u = x*x; /* underflow */ + math_force_eval (u); /* raise underflow flag */ + __set_errno (ERANGE); + } + SET_FLOAT_WORD(x,hx); + return x; +} + +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __nldbl_nexttowardf, nexttowardf, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_remquo.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_remquo.c new file mode 100644 index 0000000000..9f3d7ba368 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_remquo.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_remquo.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __remquo, remquol, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_rint.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_rint.c new file mode 100644 index 0000000000..d9b156ea27 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_rint.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_rint.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __rint, rintl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_round.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_round.c new file mode 100644 index 0000000000..edff2f017b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_round.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_round.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __round, roundl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbln.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbln.c new file mode 100644 index 0000000000..391142b769 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbln.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_scalbln.c> +#if IS_IN (libm) +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __scalbln, scalblnl, GLIBC_2_1); +#endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_1) +compat_symbol (libc, __scalbln, scalblnl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbn.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbn.c new file mode 100644 index 0000000000..1ad81b199e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_scalbn.c @@ -0,0 +1,9 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_scalbn.c> +#if IS_IN (libm) +# if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __scalbn, scalbnl, GLIBC_2_0); +# endif +#elif LONG_DOUBLE_COMPAT(libc, GLIBC_2_0) +compat_symbol (libc, __scalbn, scalbnl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significand.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significand.c new file mode 100644 index 0000000000..5287c09066 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significand.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/s_significand.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __significand, significandl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significandl.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significandl.c new file mode 100644 index 0000000000..9339b4780d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_significandl.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/s_significandl.c> +long_double_symbol (libm, __significandl, significandl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sin.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sin.c new file mode 100644 index 0000000000..6932ccc080 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sin.c @@ -0,0 +1,15 @@ +/* dbl-64/s_sin.c uses NAN and sincos identifiers internally. */ +#define sincos sincos_disable +/* These definitions needed for proper unfolding of __MATHDECL_VEC. */ +#define __DECL_SIMD_sincos_disable +#define __DECL_SIMD_sincos_disablef +#define __DECL_SIMD_sincos_disablel +#define __DECL_SIMD_sincos_disablef128 +#include <math_ldbl_opt.h> +#undef NAN +#undef sincos +#include <sysdeps/ieee754/dbl-64/s_sin.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sin, sinl, GLIBC_2_0); +compat_symbol (libm, __cos, cosl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sincos.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sincos.c new file mode 100644 index 0000000000..6d2a48f25b --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_sincos.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_sincos.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __sincos, sincosl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tan.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tan.c new file mode 100644 index 0000000000..6b0fec0063 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tan.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_tan.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, tan, tanl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tanh.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tanh.c new file mode 100644 index 0000000000..e763bbde77 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_tanh.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_tanh.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __tanh, tanhl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_trunc.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_trunc.c new file mode 100644 index 0000000000..9d90a2bd73 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/s_trunc.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/s_trunc.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __trunc, truncl, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acos_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acos_compat.c new file mode 100644 index 0000000000..1e6d1b37ec --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acos_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_acos_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __acos, acosl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c new file mode 100644 index 0000000000..40da339a7a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosh_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_acosh_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __acosh, acoshl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c new file mode 100644 index 0000000000..df4338d9fa --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acoshl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_acoshl_compat.c> +long_double_symbol (libm, __acoshl, acoshl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c new file mode 100644 index 0000000000..5efc99024c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_acosl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_acosl_compat.c> +long_double_symbol (libm, __acosl, acosl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asin_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asin_compat.c new file mode 100644 index 0000000000..1c52cc22ad --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asin_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_asin_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __asin, asinl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c new file mode 100644 index 0000000000..087fab25bb --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_asinl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_asinl_compat.c> +long_double_symbol (libm, __asinl, asinl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c new file mode 100644 index 0000000000..d3f7964d7c --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_atan2_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __atan2, atan2l, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c new file mode 100644 index 0000000000..6b12209625 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atan2l_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_atan2l_compat.c> +long_double_symbol (libm, __atan2l, atan2l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c new file mode 100644 index 0000000000..e15ef1f93d --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanh_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_atanh_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __atanh, atanhl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c new file mode 100644 index 0000000000..49bae1ee8f --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_atanhl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_atanhl_compat.c> +long_double_symbol (libm, __atanhl, atanhl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c new file mode 100644 index 0000000000..af29735e10 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_cosh_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_cosh_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __cosh, coshl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c new file mode 100644 index 0000000000..a8808778ba --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_coshl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_coshl_compat.c> +long_double_symbol (libm, __coshl, coshl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c new file mode 100644 index 0000000000..142a70bcd6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#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); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c new file mode 100644 index 0000000000..8f2ccd3441 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp10l_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_exp10l_compat.c> +long_double_symbol (libm, __exp10l, exp10l); +long_double_symbol (libm, __pow10l, pow10l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp_compat.c new file mode 100644 index 0000000000..686c9c26d0 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_exp_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <sysdeps/ieee754/dbl-64/w_exp_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __exp, expl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c new file mode 100644 index 0000000000..9280d39d70 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmod_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_fmod_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __fmod, fmodl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c new file mode 100644 index 0000000000..88fe0ac4d2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_fmodl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_fmodl_compat.c> +long_double_symbol (libm, __fmodl, fmodl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c new file mode 100644 index 0000000000..b3979ff0f4 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypot_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_hypot_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __hypot, hypotl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c new file mode 100644 index 0000000000..68e3997489 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_hypotl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_hypotl_compat.c> +long_double_symbol (libm, __hypotl, hypotl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0_compat.c new file mode 100644 index 0000000000..45b4d14764 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_j0_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, j0, j0l, GLIBC_2_0); +compat_symbol (libm, y0, y0l, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c new file mode 100644 index 0000000000..9050657e03 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j0l_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_j0l_compat.c> +long_double_symbol (libm, __j0l, j0l); +long_double_symbol (libm, __y0l, y0l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1_compat.c new file mode 100644 index 0000000000..1071c8fd6a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_j1_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, j1, j1l, GLIBC_2_0); +compat_symbol (libm, y1, y1l, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c new file mode 100644 index 0000000000..4ed9e2dd12 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_j1l_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_j1l_compat.c> +long_double_symbol (libm, __j1l, j1l); +long_double_symbol (libm, __y1l, y1l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jn_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jn_compat.c new file mode 100644 index 0000000000..be29a36041 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jn_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#include <math/w_jn_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, jn, jnl, GLIBC_2_0); +compat_symbol (libm, yn, ynl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c new file mode 100644 index 0000000000..d22ee54997 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_jnl_compat.c @@ -0,0 +1,6 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_jnl_compat.c> +long_double_symbol (libm, __jnl, jnl); +long_double_symbol (libm, __ynl, ynl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c new file mode 100644 index 0000000000..f268e65a88 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compat.c @@ -0,0 +1,7 @@ +#include <math_ldbl_opt.h> +#include <math/w_lgamma_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +strong_alias (__lgamma_compat, __lgammal_dbl_compat) +compat_symbol (libm, __lgammal_dbl_compat, lgammal, GLIBC_2_0); +compat_symbol (libm, __gamma, gammal, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c new file mode 100644 index 0000000000..f60b3d7bcf --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_compatl.c @@ -0,0 +1,11 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#define USE_AS_COMPAT 1 +#include <math/lgamma-compat.h> +#undef LGAMMA_OLD_VER +#define LGAMMA_OLD_VER LONG_DOUBLE_COMPAT_VERSION +#include <math/w_lgamma_compatl.c> +#if GAMMA_ALIAS +long_double_symbol (libm, __gammal, gammal); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c new file mode 100644 index 0000000000..673954cd1a --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_lgamma_r_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __lgamma_r, lgammal_r, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c new file mode 100644 index 0000000000..6fdf2bba87 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_lgammal_r_compat.c> +long_double_symbol (libm, __lgammal_r, lgammal_r); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10_compat.c new file mode 100644 index 0000000000..5ec6a2b2b6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log10_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log10, log10l, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c new file mode 100644 index 0000000000..17de3e7856 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log10l_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_log10l_compat.c> +long_double_symbol (libm, __log10l, log10l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2_compat.c new file mode 100644 index 0000000000..dffd2c183e --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log2_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __log2, log2l, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c new file mode 100644 index 0000000000..3c5e734573 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log2l_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_log2l_compat.c> +long_double_symbol (libm, __log2l, log2l); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log_compat.c new file mode 100644 index 0000000000..d2a2bcadde --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_log_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_log_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __log, logl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_logl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_logl_compat.c new file mode 100644 index 0000000000..2b55842139 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_logl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_logl_compat.c> +long_double_symbol (libm, __logl, logl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_pow_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_pow_compat.c new file mode 100644 index 0000000000..c2a7942019 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_pow_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_pow_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __pow, powl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_powl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_powl_compat.c new file mode 100644 index 0000000000..1897cf1c63 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_powl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_powl_compat.c> +long_double_symbol (libm, __powl, powl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c new file mode 100644 index 0000000000..c823dcb8e7 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainder_compat.c @@ -0,0 +1,7 @@ +#include <math_ldbl_opt.h> +#include <math/w_remainder_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __remainder, remainderl, GLIBC_2_0); +strong_alias (__remainder, __drem) +compat_symbol (libm, __drem, dreml, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c new file mode 100644 index 0000000000..b2ce5c9563 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_remainderl_compat.c @@ -0,0 +1,7 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_remainderl_compat.c> +long_double_symbol (libm, __remainderl, remainderl); +strong_alias (__remainderl, __dreml) +long_double_symbol (libm, __dreml, dreml); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalb_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalb_compat.c new file mode 100644 index 0000000000..f6d53a5ba5 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalb_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_scalb_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __scalb, scalbl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c new file mode 100644 index 0000000000..c8feb654a2 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_scalbl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_scalbl_compat.c> +long_double_symbol (libm, __scalbl, scalbl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c new file mode 100644 index 0000000000..b47182c017 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinh_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_sinh_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sinh, sinhl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c new file mode 100644 index 0000000000..305ed82357 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sinhl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_sinhl_compat.c> +long_double_symbol (libm, __sinhl, sinhl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c new file mode 100644 index 0000000000..355d1c20db --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrt_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_sqrt_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_0) +compat_symbol (libm, __sqrt, sqrtl, GLIBC_2_0); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c new file mode 100644 index 0000000000..1e4526f2c6 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_sqrtl_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_sqrtl_compat.c> +long_double_symbol (libm, __sqrtl, sqrtl); diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c new file mode 100644 index 0000000000..082ce8aaff --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgamma_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#include <math/w_tgamma_compat.c> +#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1) +compat_symbol (libm, __tgamma, tgammal, GLIBC_2_1); +#endif diff --git a/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c new file mode 100644 index 0000000000..aaf5403522 --- /dev/null +++ b/REORG.TODO/sysdeps/ieee754/ldbl-opt/w_tgammal_compat.c @@ -0,0 +1,5 @@ +#include <math_ldbl_opt.h> +#undef weak_alias +#define weak_alias(n,a) +#include <math/w_tgammal_compat.c> +long_double_symbol (libm, __tgammal, tgammal); |