+2017-10-09 Joseph Myers <joseph@codesourcery.com>
+
+ * sysdeps/generic/math-type-macros.h [!declare_mgen_alias]: Give
+ error. Remove default definition of declare_mgen_alias.
+ [!declare_mgen_alias_r]: Likewise.
+ * sysdeps/generic/math-type-macros-double.h
+ [!declare_mgen_alias_r] (declare_mgen_alias_r): New macro.
+ * sysdeps/generic/math-type-macros-float.h [!declare_mgen_alias_r]
+ (declare_mgen_alias_r): Likewise.
+ * sysdeps/generic/math-type-macros-float128.h
+ [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
+ * sysdeps/generic/math-type-macros-ldouble.h
+ [!declare_mgen_alias_r] (declare_mgen_alias_r): Likewise.
+ * math/w_lgamma_r_template.c (declare_mgen_alias_r_x): Remove
+ macro.
+ (declare_mgen_alias_r_s): Likewise.
+ (declare_mgen_alias_r): Likewise.
+ * math/w_lgamma_r_compat.c: Include <libm-alias-double.h>.
+ (lgamma_r): Define using libm_alias_double_r.
+ * math/w_lgammaf_r_compat.c: Include <libm-alias-float.h>.
+ (lgammaf_r): Define using libm_alias_float_r.
+ * math/w_lgammal_r_compat.c: Include <libm-alias-ldouble.h>.
+ (lgammal_r): Define using libm_alias_ldouble_r.
+ * sysdeps/ieee754/ldbl-opt/w_lgamma_r_compat.c: Remove file.
+ * sysdeps/ieee754/ldbl-opt/w_lgammal_r_compat.c: Likewise.
+
2017-10-09 Adhemerval Zanella <adhemerval.zanella@linaro.org>
* lib/glob.c (__glob_pattern_type): Remove now-spurious
#include <math.h>
#include <math_private.h>
#include <math-svid-compat.h>
+#include <libm-alias-double.h>
#if LIBM_SVID_COMPAT
return y;
}
-weak_alias (__lgamma_r, lgamma_r)
-# ifdef NO_LONG_DOUBLE
-strong_alias (__lgamma_r, __lgammal_r)
-weak_alias (__lgamma_r, lgammal_r)
-# endif
+libm_alias_double_r (__lgamma, lgamma, _r)
#endif
#define M_CALL_FUNC_R_S(x) M_CALL_FUNC_R_X (x)
#define M_CALL_FUNC_R(x) M_CALL_FUNC_R_S (M_SUF (x))
-#define declare_mgen_alias_r_x(from, to) weak_alias (from ## _r, to ## _r)
-#define declare_mgen_alias_r_s(from, to) \
- declare_mgen_alias_r_x (from, to)
-#define declare_mgen_alias_r(from, to) \
- declare_mgen_alias_r_s (M_SUF (from), M_SUF (to))
-
FLOAT
M_DECL_FUNC_R (__lgamma) (FLOAT x, int *signgamp)
{
#include <math.h>
#include <math_private.h>
#include <math-svid-compat.h>
+#include <libm-alias-float.h>
#if LIBM_SVID_COMPAT
return y;
}
-weak_alias (__lgammaf_r, lgammaf_r)
+libm_alias_float_r (__lgamma, lgamma, _r)
#endif
#include <math.h>
#include <math_private.h>
#include <math-svid-compat.h>
+#include <libm-alias-ldouble.h>
#if LIBM_SVID_COMPAT
return y;
}
-weak_alias (__lgammal_r, lgammal_r)
+libm_alias_ldouble_r (__lgamma, lgamma, _r)
#endif
# define declare_mgen_alias(from, to) libm_alias_double (from, to)
#endif
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_double_r (from, to, _r)
+#endif
+
/* Supply the generic macros. */
#include <math-type-macros.h>
# define declare_mgen_alias(from, to) libm_alias_float (from, to)
#endif
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_float_r (from, to, _r)
+#endif
+
/* Supply the generic macros. */
#include <math-type-macros.h>
# define declare_mgen_alias(from, to) libm_alias_float128 (from, to)
#endif
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_float128_r (from, to, _r)
+#endif
+
/* Supply the generic macros. */
#include <math-type-macros.h>
# define declare_mgen_alias(from, to) libm_alias_ldouble (from, to)
#endif
+#ifndef declare_mgen_alias_r
+# define declare_mgen_alias_r(from, to) libm_alias_ldouble_r (from, to, _r)
+#endif
+
/* Supply the generic macros. */
#include <math-type-macros.h>
converts a string into the appropriate FLOAT nan
value.
- Optionally, these headers may inject a non-standard
- definition for the following:
-
declare_mgen_alias(from,to)
This exposes the appropriate symbol(s) for a
- function f of type FLOAT. */
+ function f of type FLOAT.
+
+ declare_mgen_alias_r(from,to)
+ This exposes the appropriate symbol(s) for a
+ function f_r of type FLOAT. */
#ifndef M_PFX
# error "M_PFX must be defined."
#ifndef CFLOAT
# error "CFLOAT must be defined."
#endif
+#ifndef declare_mgen_alias
+# error "declare_mgen_alias must be defined."
+#endif
+#ifndef declare_mgen_alias_r
+# error "declare_mgen_alias_r must be defined."
+#endif
#define __M_CONCAT(a,b) a ## b
#define __M_CONCATX(a,b) __M_CONCAT(a,b)
# define M_DECL_FUNC(f) M_SUF (f)
#endif
-/* If the type does not declare special aliasing, use the default. */
-#ifndef declare_mgen_alias
-# define declare_mgen_alias(from, to) weak_alias (M_SUF (from), M_SUF (to))
-#endif
-
#endif /* _MATH_TYPE_MACROS */
+++ /dev/null
-#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
+++ /dev/null
-#include <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(n,a)
-#include <math/w_lgammal_r_compat.c>
-#if LIBM_SVID_COMPAT
-long_double_symbol (libm, __lgammal_r, lgammal_r);
-#endif