summaryrefslogtreecommitdiff
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)
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