about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-11-02 23:36:00 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-11-02 23:36:00 +0000
commit43ddff2e364c69847f5f698f6a43f9dde328b76a (patch)
treebf2a2deaa9fbad6c515dcba564ff01588a00af4d
parent5baac970a8fee1dd9ddb8d1af2af79a09a85abcc (diff)
downloadglibc-43ddff2e364c69847f5f698f6a43f9dde328b76a.tar.gz
glibc-43ddff2e364c69847f5f698f6a43f9dde328b76a.tar.xz
glibc-43ddff2e364c69847f5f698f6a43f9dde328b76a.zip
Declare wcstof functions for more _FloatN, _FloatNx types.
Continuing the preparation for additional _FloatN / _FloatNx type
support, this patch arranges for <wchar.h> to declare wcstof functions
for all such types, similarly to the declarations already present for
_Float128.

Tested for x86_64.

	* wcsmbs/wchar.h [__HAVE_FLOAT16 && __USE_GNU] (wcstof16):
	Declare.
	[__HAVE_FLOAT32 && __USE_GNU] (wcstof32): Likewise.
	[__HAVE_FLOAT64 && __USE_GNU] (wcstof64): Likewise.
	[__HAVE_FLOAT32X && __USE_GNU] (wcstof32x): Likewise.
	[__HAVE_FLOAT64X && __USE_GNU] (wcstof64x): Likewise.
	[__HAVE_FLOAT128X && __USE_GNU] (wcstof128x): Likewise.
	[__HAVE_FLOAT16 && __USE_GNU] (wcstof16_l): Likewise.
	[__HAVE_FLOAT32 && __USE_GNU] (wcstof32_l): Likewise.
	[__HAVE_FLOAT64 && __USE_GNU] (wcstof64_l): Likewise.
	[__HAVE_FLOAT32X && __USE_GNU] (wcstof32x_l): Likewise.
	[__HAVE_FLOAT64X && __USE_GNU] (wcstof64x_l): Likewise.
	[__HAVE_FLOAT128X && __USE_GNU] (wcstof128x_l): Likewise.
-rw-r--r--ChangeLog16
-rw-r--r--wcsmbs/wchar.h69
2 files changed, 84 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 0125305f6e..626828e331 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2017-11-02  Joseph Myers  <joseph@codesourcery.com>
+
+	* wcsmbs/wchar.h [__HAVE_FLOAT16 && __USE_GNU] (wcstof16):
+	Declare.
+	[__HAVE_FLOAT32 && __USE_GNU] (wcstof32): Likewise.
+	[__HAVE_FLOAT64 && __USE_GNU] (wcstof64): Likewise.
+	[__HAVE_FLOAT32X && __USE_GNU] (wcstof32x): Likewise.
+	[__HAVE_FLOAT64X && __USE_GNU] (wcstof64x): Likewise.
+	[__HAVE_FLOAT128X && __USE_GNU] (wcstof128x): Likewise.
+	[__HAVE_FLOAT16 && __USE_GNU] (wcstof16_l): Likewise.
+	[__HAVE_FLOAT32 && __USE_GNU] (wcstof32_l): Likewise.
+	[__HAVE_FLOAT64 && __USE_GNU] (wcstof64_l): Likewise.
+	[__HAVE_FLOAT32X && __USE_GNU] (wcstof32x_l): Likewise.
+	[__HAVE_FLOAT64X && __USE_GNU] (wcstof64x_l): Likewise.
+	[__HAVE_FLOAT128X && __USE_GNU] (wcstof128x_l): Likewise.
+
 2017-11-02  Mike FABIAN  <mfabian@redhat.com>
 
 	[BZ #22382]
diff --git a/wcsmbs/wchar.h b/wcsmbs/wchar.h
index 4f16f98b1d..e3133d73f2 100644
--- a/wcsmbs/wchar.h
+++ b/wcsmbs/wchar.h
@@ -385,12 +385,43 @@ extern long double wcstold (const wchar_t *__restrict __nptr,
 			    wchar_t **__restrict __endptr) __THROW;
 #endif /* C99 */
 
-/* Likewise for `_Float128' when support is enabled.  */
+/* Likewise for `_FloatN' and `_FloatNx' when support is enabled.  */
+
+#if __HAVE_FLOAT16 && defined __USE_GNU
+extern _Float16 wcstof16 (const wchar_t *__restrict __nptr,
+			  wchar_t **__restrict __endptr) __THROW;
+#endif
+
+#if __HAVE_FLOAT32 && defined __USE_GNU
+extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
+			  wchar_t **__restrict __endptr) __THROW;
+#endif
+
+#if __HAVE_FLOAT64 && defined __USE_GNU
+extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
+			  wchar_t **__restrict __endptr) __THROW;
+#endif
+
 #if __HAVE_FLOAT128 && defined __USE_GNU
 extern _Float128 wcstof128 (const wchar_t *__restrict __nptr,
 			    wchar_t **__restrict __endptr) __THROW;
 #endif
 
+#if __HAVE_FLOAT32X && defined __USE_GNU
+extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
+			    wchar_t **__restrict __endptr) __THROW;
+#endif
+
+#if __HAVE_FLOAT64X && defined __USE_GNU
+extern _Float64x wcstof64x (const wchar_t *__restrict __nptr,
+			    wchar_t **__restrict __endptr) __THROW;
+#endif
+
+#if __HAVE_FLOAT128X && defined __USE_GNU
+extern _Float128x wcstof128x (const wchar_t *__restrict __nptr,
+			      wchar_t **__restrict __endptr) __THROW;
+#endif
+
 
 /* Convert initial portion of wide string NPTR to `long int'
    representation.  */
@@ -470,11 +501,47 @@ extern long double wcstold_l (const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      locale_t __loc) __THROW;
 
+# if __HAVE_FLOAT16
+extern _Float16 wcstof16_l (const wchar_t *__restrict __nptr,
+			    wchar_t **__restrict __endptr,
+			    locale_t __loc) __THROW;
+# endif
+
+# if __HAVE_FLOAT32
+extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
+			    wchar_t **__restrict __endptr,
+			    locale_t __loc) __THROW;
+# endif
+
+# if __HAVE_FLOAT64
+extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
+			    wchar_t **__restrict __endptr,
+			    locale_t __loc) __THROW;
+# endif
+
 # if __HAVE_FLOAT128
 extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr,
 			      wchar_t **__restrict __endptr,
 			      locale_t __loc) __THROW;
 # endif
+
+# if __HAVE_FLOAT32X
+extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
+			      wchar_t **__restrict __endptr,
+			      locale_t __loc) __THROW;
+# endif
+
+# if __HAVE_FLOAT64X
+extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr,
+			      wchar_t **__restrict __endptr,
+			      locale_t __loc) __THROW;
+# endif
+
+# if __HAVE_FLOAT128X
+extern _Float128x wcstof128x_l (const wchar_t *__restrict __nptr,
+				wchar_t **__restrict __endptr,
+				locale_t __loc) __THROW;
+# endif
 #endif	/* use GNU */