glibc/wcsmbs/Versions
Tom Honermann 8bcca1db3d stdlib: Implement mbrtoc8, c8rtomb, and the char8_t typedef.
This change provides implementations for the mbrtoc8 and c8rtomb
functions adopted for C++20 via WG21 P0482R6 and for C2X via WG14
N2653.  It also provides the char8_t typedef from WG14 N2653.

The mbrtoc8 and c8rtomb functions are declared in uchar.h in C2X
mode or when the _GNU_SOURCE macro or C++20 __cpp_char8_t feature
test macro is defined.

The char8_t typedef is declared in uchar.h in C2X mode or when the
_GNU_SOURCE macro is defined and the C++20 __cpp_char8_t feature
test macro is not defined (if __cpp_char8_t is defined, then char8_t
is a builtin type).

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2022-07-06 09:29:42 -03:00

56 lines
1.4 KiB
Plaintext

%include <float128-abi.h>
libc {
GLIBC_2.0 {
# functions used in inline functions or macros
__mbrlen; __mbrtowc;
__wcstod_internal; __wcstof_internal; __wcstold_internal;
__wcstol_internal; __wcstoll_internal;
__wcstoul_internal; __wcstoull_internal;
# b*
btowc;
# w*
wcpcpy; wcpncpy; wcrtomb; wcscat; wcschr; wcscmp; wcscoll;
wcscpy; wcscspn; wcsdup; wcslen; wcsncat; wcsncmp;
wcsncpy; wcsnrtombs; wcspbrk; wcsrchr; wcsrtombs; wcsspn; wcsstr;
wcstod; wcstof; wcstok; wcstol; wcstold; wcstoq; wcstoul;
wcstouq; wcswidth; wcsxfrm; wctob;
wmemchr; wmemcmp; wmemcpy; wmemmove; wmemset;
}
GLIBC_2.1 {
# w*
wcscasecmp; wcsncasecmp; wcsnlen; wcstoll;
wcstoimax; wcstoumax; wcstoull; wcswcs; wmemrtombs; wmemrtowcs;
}
GLIBC_2.2 {
# w*
wcschrnul; wmempcpy;
}
GLIBC_2.7 {
__isoc99_fwscanf; __isoc99_swscanf; __isoc99_vfwscanf; __isoc99_vswscanf;
__isoc99_vwscanf; __isoc99_wscanf;
}
GLIBC_2.16 {
c16rtomb; c32rtomb; mbrtoc16; mbrtoc32;
}
%ifdef FLOAT128_VERSION
FLOAT128_VERSION {
wcstof128;
wcstof128_l;
}
%endif
GLIBC_2.27 {
# _Float64x functions, only present for some configurations.
wcstof64x;
wcstof64x_l;
# _Float32, _Float64 and _Float32x functions, for all configurations.
wcstof32; wcstof64; wcstof32x;
wcstof32_l; wcstof64_l; wcstof32x_l;
}
GLIBC_2.36 {
c8rtomb; mbrtoc8;
}
}