Declare wcstof functions for more _FloatN, _FloatNx types.
authorJoseph Myers <joseph@codesourcery.com>
Thu, 2 Nov 2017 23:36:00 +0000 (23:36 +0000)
committerJoseph Myers <joseph@codesourcery.com>
Thu, 2 Nov 2017 23:36:00 +0000 (23:36 +0000)
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.

ChangeLog
wcsmbs/wchar.h

index 0125305..626828e 100644 (file)
--- 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]
index 4f16f98..e3133d7 100644 (file)
@@ -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 */