[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