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.26.9000-824-g0df4fe3


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  0df4fe3557bfbc7fc64a05601311da0365ba88b2 (commit)
      from  ae7207d033481191bdbf46f18afbb2fad0397730 (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=0df4fe3557bfbc7fc64a05601311da0365ba88b2

commit 0df4fe3557bfbc7fc64a05601311da0365ba88b2
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Fri Nov 24 22:51:53 2017 +0000

    Support strtof64x, wcstof64x aliases.
    
    This patch adds support for defining strtof64x, strtof64x_l, wcstof64
    and wcstof64x_l function aliases when _Float64x is supported.
    
    Tested for x86_64, including in conjunction with _Float64x support
    patches, and also tested build for other configurations (in
    conjunction with _Float64x support patches) with build-many-glibcs.py
    to cover the various different files needing updating to define these
    aliases.
    
    	* stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
    	Define and later undefine as macro.  Define as weak alias if
    	[!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): Define and later
    	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
    	* sysdeps/ieee754/float128/strtof128.c: Include <bits/floatn.h>.
    	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
    	Define and later undefine as macro.  Define as weak alias if
    	[!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x):
    	Define and later undefine as macro.  Define as weak alias if
    	[USE_WIDE_CHAR].
    	* sysdeps/ieee754/float128/strtof128_l.c
    	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l):
    	Define and later undefine as macro.  Define as weak alias if
    	[!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l):
    	Define and later undefine as macro.  Define as weak alias if
    	[USE_WIDE_CHAR].
    	* sysdeps/ieee754/ldbl-128/strtold_l.c
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
    	* sysdeps/ieee754/ldbl-64-128/strtold_l.c
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
    	* sysdeps/ieee754/ldbl-96/strtold_l.c
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
    	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
    	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].

diff --git a/ChangeLog b/ChangeLog
index 145080e..b58c4e2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,40 @@
 2017-11-24  Joseph Myers  <joseph@codesourcery.com>
 
+	* stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
+	Define and later undefine as macro.  Define as weak alias if
+	[!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x): Define and later
+	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
+	* sysdeps/ieee754/float128/strtof128.c: Include <bits/floatn.h>.
+	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
+	Define and later undefine as macro.  Define as weak alias if
+	[!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x):
+	Define and later undefine as macro.  Define as weak alias if
+	[USE_WIDE_CHAR].
+	* sysdeps/ieee754/float128/strtof128_l.c
+	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l):
+	Define and later undefine as macro.  Define as weak alias if
+	[!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l):
+	Define and later undefine as macro.  Define as weak alias if
+	[USE_WIDE_CHAR].
+	* sysdeps/ieee754/ldbl-128/strtold_l.c
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
+	* sysdeps/ieee754/ldbl-64-128/strtold_l.c
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
+	* sysdeps/ieee754/ldbl-96/strtold_l.c
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [!USE_WIDE_CHAR].
+	[__HAVE_FLOAT64X_LONG_DOUBLE] (wcstof64x_l): Define and later
+	undefine as macro.  Define as weak alias if [USE_WIDE_CHAR].
+
 	* math/test-float64x.h: New file.
 	* math/Makefile (type-float64x-yes): New variable.
 	(test-types): Add $(type-float64x-$(float64x-alias-fcts)).
diff --git a/stdlib/strtold.c b/stdlib/strtold.c
index 4e683b4..167a727 100644
--- a/stdlib/strtold.c
+++ b/stdlib/strtold.c
@@ -27,6 +27,10 @@
 # define strtof128 __hide_strtof128
 # define wcstof128 __hide_wcstof128
 #endif
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x __hide_strtof64x
+# define wcstof64x __hide_wcstof64x
+#endif
 
 #ifdef __LONG_DOUBLE_MATH_OPTIONAL
 # include <wchar.h>
@@ -78,3 +82,13 @@ weak_alias (NEW (wcstold), wcstof128)
 weak_alias (NEW (strtold), strtof128)
 # endif
 #endif
+
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x
+# undef wcstof64x
+# ifdef USE_WIDE_CHAR
+weak_alias (NEW (wcstold), wcstof64x)
+# else
+weak_alias (NEW (strtold), strtof64x)
+# endif
+#endif
diff --git a/sysdeps/ieee754/float128/strtof128.c b/sysdeps/ieee754/float128/strtof128.c
index 63cc80d..e82bff6 100644
--- a/sysdeps/ieee754/float128/strtof128.c
+++ b/sysdeps/ieee754/float128/strtof128.c
@@ -19,6 +19,13 @@
 /* The actual implementation for all floating point sizes is in strtod.c.
    These macros tell it to produce the `_Float128' version, `strtof128'.  */
 
+#include <bits/floatn.h>
+
+#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x __hide_strtof64x
+# define wcstof64x __hide_wcstof64x
+#endif
+
 #define FLOAT		_Float128
 #define FLT		FLT128
 #ifdef USE_WIDE_CHAR
@@ -32,3 +39,13 @@
 #include <float128_private.h>
 
 #include <stdlib/strtod.c>
+
+#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x
+# undef wcstof64x
+# ifdef USE_WIDE_CHAR
+weak_alias (wcstof128, wcstof64x)
+# else
+weak_alias (strtof128, strtof64x)
+# endif
+#endif
diff --git a/sysdeps/ieee754/float128/strtof128_l.c b/sysdeps/ieee754/float128/strtof128_l.c
index a541d60..833a136 100644
--- a/sysdeps/ieee754/float128/strtof128_l.c
+++ b/sysdeps/ieee754/float128/strtof128_l.c
@@ -21,6 +21,11 @@
 /* Bring in potential typedef for _Float128 early for declaration below.  */
 #include <bits/floatn.h>
 
+#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x_l __hide_strtof64x_l
+# define wcstof64x_l __hide_wcstof64x_l
+#endif
+
 extern _Float128 ____strtof128_l_internal (const char *, char **,
 					   int, locale_t);
 
@@ -41,3 +46,13 @@ extern _Float128 ____strtof128_l_internal (const char *, char **,
 #include <float128_private.h>
 
 #include <stdlib/strtod_l.c>
+
+#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x_l
+# undef wcstof64x_l
+# ifdef USE_WIDE_CHAR
+weak_alias (wcstof128_l, wcstof64x_l)
+# else
+weak_alias (strtof128_l, strtof64x_l)
+# endif
+#endif
diff --git a/sysdeps/ieee754/ldbl-128/strtold_l.c b/sysdeps/ieee754/ldbl-128/strtold_l.c
index ea5c919..c0d6b73 100644
--- a/sysdeps/ieee754/ldbl-128/strtold_l.c
+++ b/sysdeps/ieee754/ldbl-128/strtold_l.c
@@ -39,6 +39,11 @@
 # define wcstof128_l __hide_wcstof128_l
 #endif
 
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x_l __hide_strtof64x_l
+# define wcstof64x_l __hide_wcstof64x_l
+#endif
+
 #include <strtod_l.c>
 
 #if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
@@ -50,3 +55,13 @@ weak_alias (wcstold_l, wcstof128_l)
 weak_alias (strtold_l, strtof128_l)
 # endif
 #endif
+
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x_l
+# undef wcstof64x_l
+# ifdef USE_WIDE_CHAR
+weak_alias (wcstold_l, wcstof64x_l)
+# else
+weak_alias (strtold_l, strtof64x_l)
+# endif
+#endif
diff --git a/sysdeps/ieee754/ldbl-64-128/strtold_l.c b/sysdeps/ieee754/ldbl-64-128/strtold_l.c
index f6f7171..bca493a 100644
--- a/sysdeps/ieee754/ldbl-64-128/strtold_l.c
+++ b/sysdeps/ieee754/ldbl-64-128/strtold_l.c
@@ -22,6 +22,11 @@
 # define wcstof128_l __hide_wcstof128_l
 #endif
 
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x_l __hide_strtof64x_l
+# define wcstof64x_l __hide_wcstof64x_l
+#endif
+
 #include <math.h>
 #include <stdlib.h>
 #include <wchar.h>
@@ -74,3 +79,13 @@ weak_alias (____new_wcstold_l, wcstof128_l)
 weak_alias (____new_strtold_l, strtof128_l)
 # endif
 #endif
+
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x_l
+# undef wcstof64x_l
+# ifdef USE_WIDE_CHAR
+weak_alias (____new_wcstold_l, wcstof64x_l)
+# else
+weak_alias (____new_strtold_l, strtof64x_l)
+# endif
+#endif
diff --git a/sysdeps/ieee754/ldbl-96/strtold_l.c b/sysdeps/ieee754/ldbl-96/strtold_l.c
index 251f91b..946bca8 100644
--- a/sysdeps/ieee754/ldbl-96/strtold_l.c
+++ b/sysdeps/ieee754/ldbl-96/strtold_l.c
@@ -34,4 +34,19 @@
 #define MPN2FLOAT	__mpn_construct_long_double
 #define FLOAT_HUGE_VAL	HUGE_VALL
 
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# define strtof64x_l __hide_strtof64x_l
+# define wcstof64x_l __hide_wcstof64x_l
+#endif
+
 #include <stdlib/strtod_l.c>
+
+#if __HAVE_FLOAT64X_LONG_DOUBLE
+# undef strtof64x_l
+# undef wcstof64x_l
+# ifdef USE_WIDE_CHAR
+weak_alias (wcstold_l, wcstof64x_l)
+# else
+weak_alias (strtold_l, strtof64x_l)
+# endif
+#endif

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

Summary of changes:
 ChangeLog                               |   35 +++++++++++++++++++++++++++++++
 stdlib/strtold.c                        |   14 ++++++++++++
 sysdeps/ieee754/float128/strtof128.c    |   17 +++++++++++++++
 sysdeps/ieee754/float128/strtof128_l.c  |   15 +++++++++++++
 sysdeps/ieee754/ldbl-128/strtold_l.c    |   15 +++++++++++++
 sysdeps/ieee754/ldbl-64-128/strtold_l.c |   15 +++++++++++++
 sysdeps/ieee754/ldbl-96/strtold_l.c     |   15 +++++++++++++
 7 files changed, 126 insertions(+), 0 deletions(-)


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]