This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.24-481-ge4d6a83


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  e4d6a83565479c533aabae9046377a59712a5b22 (commit)
      from  0a2546cdaa4284cc6ed6af06835fd858ba341838 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=e4d6a83565479c533aabae9046377a59712a5b22

commit e4d6a83565479c533aabae9046377a59712a5b22
Author: Gabriel F. T. Gomes <gftg@linux.vnet.ibm.com>
Date:   Fri Dec 9 17:08:14 2016 -0200

    Make w_scalbln type-generic
    
    This patch converts the wrapper scalbln (which set errno directly
    rather than doing anything with __kernel_standard) to use the
    type-generic template machinery, in the same way that has been done
    for ldexp.
    
    Tested for powerpc64le, s390, and x86_64.

diff --git a/ChangeLog b/ChangeLog
index 3f7e5d6..374a69f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2016-12-16  Gabriel F. T. Gomes  <gftg@linux.vnet.ibm.com>
+
+	* math/Makefile (gen-libm-calls): Remove w_scalblnF.
+	(libm-calls): Add w_scalblnF.
+	* math/w_scalbln.c: Remove.
+	* math/w_scalblnf.c: Likewise.
+	* math/w_scalblnl.c: Likewise.
+	* math/w_scalbln_template.c: New file with type-generic
+	implementation based on math/w_scalbln.c.
+	* sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c: Remove.
+	* sysdeps/ieee754/ldbl-64-128/w_scalblnl.c: Use new template.
+
 2016-12-15  Joseph Myers  <joseph@codesourcery.com>
 
 	[BZ #20947]
diff --git a/math/Makefile b/math/Makefile
index 84d061f..076fd34 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -54,7 +54,7 @@ gen-libm-calls = cargF conjF cimagF crealF cabsF s_cacosF		  \
 		 s_ctanF s_ctanhF s_cexpF s_clogF s_cprojF s_csqrtF	  \
 		 s_cpowF s_clog10F s_fdimF s_nextdownF s_fmaxF s_fminF	  \
 		 s_nanF s_iseqsigF s_canonicalizeF w_ilogbF w_llogbF	  \
-		 w_log1pF
+		 w_log1pF w_scalblnF
 
 libm-calls =								  \
 	e_acosF e_acoshF e_asinF e_atan2F e_atanhF e_coshF e_expF e_fmodF \
@@ -64,7 +64,7 @@ libm-calls =								  \
 	k_cosF k_sinF k_tanF s_asinhF s_atanF s_cbrtF			  \
 	s_ceilF s_cosF s_erfF s_expm1F s_fabsF				  \
 	s_floorF s_log1pF s_logbF				  \
-	s_nextafterF s_nexttowardF s_rintF s_scalblnF w_scalblnF	  \
+	s_nextafterF s_nexttowardF s_rintF s_scalblnF			  \
 	s_significandF s_sinF s_tanF s_tanhF w_acosF w_acoshF w_asinF	  \
 	w_atan2F w_atanhF w_coshF w_expF w_exp2F w_exp10F w_fmodF	  \
 	w_tgammaF w_hypotF w_j0F w_j1F w_jnF w_lgammaF w_lgammaF_r	  \
diff --git a/math/w_scalbln.c b/math/w_scalbln_template.c
similarity index 72%
rename from math/w_scalbln.c
rename to math/w_scalbln_template.c
index bcc3319..11c9afe 100644
--- a/math/w_scalbln.c
+++ b/math/w_scalbln_template.c
@@ -20,21 +20,22 @@
 #include <math.h>
 #include <math_private.h>
 
-double
-__w_scalbln (double x, long int n)
+FLOAT
+M_DECL_FUNC (__w_scalbln) (FLOAT x, long int n)
 {
-  if (!isfinite (x) || x == 0.0)
+  if (!isfinite (x) || x == 0)
     return x + x;
 
-  x = __scalbln (x, n);
+  x = M_SUF (__scalbln) (x, n);
 
-  if (!isfinite (x) || x == 0.0)
+  if (!isfinite (x) || x == 0)
     __set_errno (ERANGE);
 
   return x;
 }
-weak_alias (__w_scalbln, scalbln)
 
-#ifdef NO_LONG_DOUBLE
-weak_alias (__w_scalbln, scalblnl)
-#endif
+/* Define strong_alias to nothing because we don't want
+   declare_mgen_alias to create a strong alias for scalblnl.  */
+#undef strong_alias
+#define strong_alias(name, alias_name)
+declare_mgen_alias (__w_scalbln, scalbln)
diff --git a/math/w_scalblnf.c b/math/w_scalblnf.c
deleted file mode 100644
index 2a0b237..0000000
--- a/math/w_scalblnf.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Wrapper for __scalblnf handles setting errno.
-   Copyright (C) 2014-2016 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 <errno.h>
-#include <math.h>
-#include <math_private.h>
-
-float
-__w_scalblnf (float x, long int n)
-{
-  if (!isfinite (x) || x == 0.0f)
-    return x + x;
-
-  x = __scalblnf (x, n);
-
-  if (!isfinite (x) || x == 0.0f)
-    __set_errno (ERANGE);
-
-  return x;
-}
-weak_alias (__w_scalblnf, scalblnf)
diff --git a/math/w_scalblnl.c b/math/w_scalblnl.c
deleted file mode 100644
index 8ee8130..0000000
--- a/math/w_scalblnl.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Wrapper for __scalblnl handles setting errno.
-   Copyright (C) 2014-2016 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 <errno.h>
-#include <math.h>
-#include <math_private.h>
-
-long double
-__w_scalblnl (long double x, long int n)
-{
-  if (!isfinite (x) || x == 0.0L)
-    return x + x;
-
-  x = __scalblnl (x, n);
-
-  if (!isfinite (x) || x == 0.0L)
-    __set_errno (ERANGE);
-
-  return x;
-}
-weak_alias (__w_scalblnl, scalblnl)
diff --git a/sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c b/sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c
deleted file mode 100644
index 7e73c9a..0000000
--- a/sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Wrapper for __scalblnl handles setting errno.
-   Copyright (C) 2014-2016 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 <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(name, alias)
-#include <math/w_scalblnl.c>
-long_double_symbol (libm, __w_scalblnl, scalblnl);
diff --git a/sysdeps/ieee754/ldbl-64-128/w_scalblnl.c b/sysdeps/ieee754/ldbl-64-128/w_scalblnl.c
index 05d4dfe..de21087 100644
--- a/sysdeps/ieee754/ldbl-64-128/w_scalblnl.c
+++ b/sysdeps/ieee754/ldbl-64-128/w_scalblnl.c
@@ -16,10 +16,9 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <math_ldbl_opt.h>
-#undef weak_alias
-#define weak_alias(name, alias)
-#include <math/w_scalblnl.c>
+#define declare_mgen_alias(from, to)
+#include <math-type-macros-ldouble.h>
+#include <w_scalbln_template.c>
 #if IS_IN (libm)
 long_double_symbol (libm, __w_scalblnl, scalblnl);
 #else

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                  |   12 +++++++++
 math/Makefile                              |    4 +-
 math/{w_scalbln.c => w_scalbln_template.c} |   19 +++++++-------
 math/w_scalblnf.c                          |   36 ----------------------------
 math/w_scalblnl.c                          |   36 ----------------------------
 sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c   |   23 -----------------
 sysdeps/ieee754/ldbl-64-128/w_scalblnl.c   |    7 ++---
 7 files changed, 27 insertions(+), 110 deletions(-)
 rename math/{w_scalbln.c => w_scalbln_template.c} (72%)
 delete mode 100644 math/w_scalblnf.c
 delete mode 100644 math/w_scalblnl.c
 delete mode 100644 sysdeps/ieee754/ldbl-128ibm/w_scalblnl.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]