[gcc r14-1572] libstdc++: Do not assume existence of char8_t codecvt facet
Jonathan Wakely
redi@gcc.gnu.org
Tue Jun 6 11:44:04 GMT 2023
https://gcc.gnu.org/g:3d9b3ddb5fc9087c17645d53e6bcb1881e1955a4
commit r14-1572-g3d9b3ddb5fc9087c17645d53e6bcb1881e1955a4
Author: Joseph Faulls <Joseph.Faulls@imgtec.com>
Date: Fri Jun 2 15:44:48 2023 +0000
libstdc++: Do not assume existence of char8_t codecvt facet
It is not required that codecvt<char8_t, char, mbstate_t> facet be
supported by the locale, nor is it added as part of the default locale.
This can lead to dangerous behaviour when static_cast.
libstdc++-v3/ChangeLog:
* include/bits/locale_classes.tcc: Remove check for
codecvt<char8_t, char, mbstate_t> facet.
Diff:
---
libstdc++-v3/include/bits/locale_classes.tcc | 3 ---
1 file changed, 3 deletions(-)
diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc
index 94838cd7796..2351dd5bcfb 100644
--- a/libstdc++-v3/include/bits/locale_classes.tcc
+++ b/libstdc++-v3/include/bits/locale_classes.tcc
@@ -129,9 +129,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
_GLIBCXX_STD_FACET(time_put<wchar_t>);
_GLIBCXX_STD_FACET(messages<wchar_t>);
#endif
-#ifdef _GLIBCXX_USE_CHAR8_T
- _GLIBCXX_STD_FACET(codecvt<char8_t, char, mbstate_t>);
-#endif
#if __cplusplus >= 201103L
_GLIBCXX_STD_FACET(codecvt<char16_t, char, mbstate_t>);
_GLIBCXX_STD_FACET(codecvt<char32_t, char, mbstate_t>);
More information about the Gcc-cvs
mailing list