@@ -62,4 +62,10 @@
/* Likewise, but without the R suffix. */
#define libm_alias_ldouble(from, to) libm_alias_ldouble_r (from, to, )
+/* Generate symbols which are defined for long double types, but are
+ not defined for _FloatX types. e.g nextafterl and nexttowardl. */
+#define libm_alias_exclusive_ldouble(from, to) \
+ strong_alias (from ## l, __ ## to ## l) \
+ weak_alias (__ ## to ## l, to ## l)
+
#endif
@@ -128,6 +128,10 @@
#include <libm-alias-ldouble.h>
+/* Define here to allow float128 to ldbl redirects to redefine. */
+#undef libm_alias_exclusive_ldouble
+#define libm_alias_exclusive_ldouble(from, to)
+
#include <libm-alias-float128.h>
#undef libm_alias_ldouble_r
#define libm_alias_ldouble_r(from, to, r) libm_alias_float128_r (from, to, r)
@@ -84,5 +84,4 @@ _Float128 __nextafterl(_Float128 x, _Float128 y)
return x;
}
libm_alias_ldouble (__nextafter, nextafter)
-strong_alias (__nextafterl, __nexttowardl)
-weak_alias (__nextafterl, nexttowardl)
+libm_alias_exclusive_ldouble (__nextafter, nexttoward)
@@ -61,4 +61,9 @@
/* Likewise, but without the R suffix. */
#define libm_alias_float128(from, to) libm_alias_float128_r (from, to, )
+/* Generate symbols for exclusive ldouble symbols not defined for _Float128. */
+#undef libm_alias_exclusive_ldouble
+#define libm_alias_exclusive_ldouble(from, to) \
+ libm_alias_float128_other_r_ldbl(from, to,)
+
#endif
deleted file mode 100644
@@ -1,20 +0,0 @@
-/* Provide nexttowardl and nextafterl implementations for IEEE long double.
- Copyright (C) 2020 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 "../float128/s_nextafterf128.c"
-
-strong_alias (__nextafterieee128, __nexttowardieee128)