mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-25 14:30:06 +00:00
Support strfromf64x alias.
This patch adds support for defining strfromf64x as a function alias (of strfroml or strfromf128, as appropriate) 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/strfroml.c: Always include <stdlib.h>. [__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later undefine as macro and define as weak alias. * sysdeps/ieee754/float128/strfromf128.c: Include <bits/floatn.h>. [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include <stdlib.h>. [__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later undefine as macro and define as weak alias.
This commit is contained in:
parent
0df4fe3557
commit
df2806cdb5
@ -1,5 +1,14 @@
|
|||||||
2017-11-24 Joseph Myers <joseph@codesourcery.com>
|
2017-11-24 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* stdlib/strfroml.c: Always include <stdlib.h>.
|
||||||
|
[__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x): Define and later
|
||||||
|
undefine as macro and define as weak alias.
|
||||||
|
* sysdeps/ieee754/float128/strfromf128.c: Include <bits/floatn.h>.
|
||||||
|
[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE]: Include
|
||||||
|
<stdlib.h>.
|
||||||
|
[__HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE] (strfromf64x):
|
||||||
|
Define and later undefine as macro and define as weak alias.
|
||||||
|
|
||||||
* stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
|
* stdlib/strtold.c [__HAVE_FLOAT64X_LONG_DOUBLE] (strtof64x):
|
||||||
Define and later undefine as macro. Define as weak alias if
|
Define and later undefine as macro. Define as weak alias if
|
||||||
[!USE_WIDE_CHAR].
|
[!USE_WIDE_CHAR].
|
||||||
|
@ -23,12 +23,25 @@
|
|||||||
|
|
||||||
#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
|
#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
|
||||||
# define strfromf128 __hide_strfromf128
|
# define strfromf128 __hide_strfromf128
|
||||||
# include <stdlib.h>
|
#endif
|
||||||
|
#if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define strfromf64x __hide_strfromf64x
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
|
||||||
# undef strfromf128
|
# undef strfromf128
|
||||||
#endif
|
#endif
|
||||||
|
#if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# undef strfromf64x
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "strfrom-skeleton.c"
|
#include "strfrom-skeleton.c"
|
||||||
|
|
||||||
#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
|
#if __HAVE_FLOAT128 && !__HAVE_DISTINCT_FLOAT128
|
||||||
weak_alias (strfroml, strfromf128)
|
weak_alias (strfroml, strfromf128)
|
||||||
#endif
|
#endif
|
||||||
|
#if __HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
weak_alias (strfroml, strfromf64x)
|
||||||
|
#endif
|
||||||
|
@ -16,10 +16,21 @@
|
|||||||
License along with the GNU C Library; if not, see
|
License along with the GNU C Library; if not, see
|
||||||
<http://www.gnu.org/licenses/>. */
|
<http://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <bits/floatn.h>
|
||||||
|
|
||||||
#define FLOAT _Float128
|
#define FLOAT _Float128
|
||||||
#define STRFROM strfromf128
|
#define STRFROM strfromf128
|
||||||
|
|
||||||
#include <bits/floatn.h>
|
#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
# define strfromf64x __hide_strfromf64x
|
||||||
|
# include <stdlib.h>
|
||||||
|
# undef strfromf64x
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <float128_private.h>
|
#include <float128_private.h>
|
||||||
|
|
||||||
#include <stdlib/strfrom-skeleton.c>
|
#include <stdlib/strfrom-skeleton.c>
|
||||||
|
|
||||||
|
#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
|
||||||
|
weak_alias (strfromf128, strfromf64x)
|
||||||
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user