Patchwork Support defining strfromf64, strfromf32x aliases [committed]

login
register
mail settings
Submitter Joseph Myers
Date Dec. 5, 2017, 6:02 p.m.
Message ID <alpine.DEB.2.20.1712051801510.14928@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/24743/
State New
Headers show

Comments

Joseph Myers - Dec. 5, 2017, 6:02 p.m.
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.  Committed.

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.

Patch

diff --git a/stdlib/strfromd.c b/stdlib/strfromd.c
index 5342059..85c5555 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