[gcc r11-9295] libstdc++: Define deleted wchar_t overloads unconditionally [PR 98725]
Jonathan Wakely
redi@gcc.gnu.org
Wed Nov 24 11:51:48 GMT 2021
https://gcc.gnu.org/g:ecc43c92151141e3e862a344f753516dc6d5d967
commit r11-9295-gecc43c92151141e3e862a344f753516dc6d5d967
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Fri Oct 8 14:26:09 2021 +0100
libstdc++: Define deleted wchar_t overloads unconditionally [PR 98725]
We don't need to have <wchar.h> support in order to delete overloads
for inserting wide characters into narrow streams.
libstdc++-v3/ChangeLog:
PR libstdc++/98725
* include/std/ostream (operator<<(basic_ostream<char, Tr>&, wchar_t))
(operator<<(basic_ostream<char, Tr>&, const wchar_t*)): Always
define as deleted. Do not check _GLIBCXX_USE_WCHAR_T.
(cherry picked from commit 9a89281c4005a51eeed058ca66bcce8df1dd1b24)
Diff:
---
libstdc++-v3/include/std/ostream | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 722d4ff61b5..3569ee1a722 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -539,11 +539,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// The following deleted overloads prevent formatting character values as
// numeric values.
-#ifdef _GLIBCXX_USE_WCHAR_T
template<typename _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>&, wchar_t) = delete;
-#endif // _GLIBCXX_USE_WCHAR_T
#ifdef _GLIBCXX_USE_CHAR8_T
template<typename _Traits>
@@ -635,11 +633,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
// The following deleted overloads prevent formatting strings as
// pointer values.
-#ifdef _GLIBCXX_USE_WCHAR_T
template<typename _Traits>
basic_ostream<char, _Traits>&
operator<<(basic_ostream<char, _Traits>&, const wchar_t*) = delete;
-#endif // _GLIBCXX_USE_WCHAR_T
#ifdef _GLIBCXX_USE_CHAR8_T
template<typename _Traits>
More information about the Libstdc++-cvs
mailing list