summaryrefslogtreecommitdiff
path: root/sysdeps/ieee754
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-24 23:12:30 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-24 23:12:30 +0000
commitdf2806cdb57cb765aca169d17308eb4f0e89369f (patch)
tree6df49a8eeed9c3a32f4b48922779da6a265c4d0e /sysdeps/ieee754
parent0df4fe3557bfbc7fc64a05601311da0365ba88b2 (diff)
downloadglibc-df2806cdb57cb765aca169d17308eb4f0e89369f.tar.gz
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.
Diffstat (limited to 'sysdeps/ieee754')
-rw-r--r--sysdeps/ieee754/float128/strfromf128.c13
1 files changed, 12 insertions, 1 deletions
diff --git a/sysdeps/ieee754/float128/strfromf128.c b/sysdeps/ieee754/float128/strfromf128.c
index 597c7e62f9..c3183cd7ef 100644
--- a/sysdeps/ieee754/float128/strfromf128.c
+++ b/sysdeps/ieee754/float128/strfromf128.c
@@ -16,10 +16,21 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <bits/floatn.h>
+
#define FLOAT _Float128
#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 <stdlib/strfrom-skeleton.c>
+
+#if __HAVE_FLOAT64X && !__HAVE_FLOAT64X_LONG_DOUBLE
+weak_alias (strfromf128, strfromf64x)
+#endif