aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-12-05 18:01:25 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-12-05 18:01:25 +0000
commit1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4 (patch)
tree951fbc8d112991b5f7d7169e78f71ab2a1c04aa3
parente2c4dce5350b8782d311467045c615734b2db270 (diff)
downloadglibc-1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4.tar
glibc-1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4.tar.gz
glibc-1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4.tar.bz2
glibc-1f70eae4cf0ca826ddbc2b61720e8aeae1e13de4.zip
Support defining strfromf64, strfromf32x aliases.
This patch adds support for defining strfromf64 and strfromf32x aliases of strfromd when the corresponding types are enabled. Tested for x86_64; also tested with build-many-glibcs.py in conjunction with other _Float64 / _Float32x changes. * stdlib/strfromd.c: Include <bits/floatn.h>. [__HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] (strfromf64): Define and later undefine as macro and define as weak alias. [__HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] (strfromf32x): Likewise.
-rw-r--r--ChangeLog6
-rw-r--r--stdlib/strfromd.c25
2 files changed, 31 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ed099d037..bcc49a1dc5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
2017-12-05 Joseph Myers <joseph@codesourcery.com>
+ * stdlib/strfromd.c: Include <bits/floatn.h>.
+ [__HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64] (strfromf64): Define
+ and later undefine as macro and define as weak alias.
+ [__HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X] (strfromf32x):
+ Likewise.
+
* math/test-float32x.h: New file.
* math/test-float64.h: Likewise.
diff --git a/stdlib/strfromd.c b/stdlib/strfromd.c
index 5342059008..85c555540d 100644
--- a/stdlib/strfromd.c
+++ b/stdlib/strfromd.c
@@ -16,7 +16,32 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
+#include <bits/floatn.h>
+
#define FLOAT double
#define STRFROM strfromd
+#if __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64
+# define strfromf64 __hide_strfromf64
+#endif
+#if __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X
+# define strfromf32x __hide_strfromf32x
+#endif
+
+#include <stdlib.h>
+
+#if __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64
+# undef strfromf64
+#endif
+#if __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X
+# undef strfromf32x
+#endif
+
#include "strfrom-skeleton.c"
+
+#if __HAVE_FLOAT64 && !__HAVE_DISTINCT_FLOAT64
+weak_alias (strfromd, strfromf64)
+#endif
+#if __HAVE_FLOAT32X && !__HAVE_DISTINCT_FLOAT32X
+weak_alias (strfromd, strfromf32x)
+#endif