[v3 PATCH] Implement LWG 2221, No formatted output operator for nullptr

Jonathan Wakely jwakely@redhat.com
Thu Jan 10 13:15:00 GMT 2019


On 04/12/17 23:04 +0000, Jonathan Wakely wrote:
>On 03/12/17 23:08 +0200, Ville Voutilainen wrote:
>>Tested on Linux-x64.
>>
>>2017-11-14  Ville Voutilainen  <ville.voutilainen@gmail.com>
>>
>>   Implement LWG 2221
>>   * include/std/ostream (operator<<(nullptr_t)): New.
>>   * testsuite/27_io/basic_ostream/inserters_other/char/lwg2221.cc: New.
>
>>diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
>>index f7cab03..18011bc 100644
>>--- a/libstdc++-v3/include/std/ostream
>>+++ b/libstdc++-v3/include/std/ostream
>>@@ -245,6 +245,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
>>      operator<<(const void* __p)
>>      { return _M_insert(__p); }
>>
>>+#if __cplusplus > 201402L
>>+      __ostream_type&
>>+      operator<<(nullptr_t)
>>+      { return *this << "nullptr"; }
>>+#endif
>
>As discussed on IRC, this requires a new symbol to be exported for the
>std::ostream and std::wostream explicit instantiations, or the new
>test will fail to link at -O0.
>
>That should wait for stage 1.
>

This patch for a C++17 feature (posted over a year ago) should have
gone in during stage 1. I've taken care of the symbol exports that
were missing from the original patch.

Tested x86_64-linux, committed to trunk.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 5490 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20190110/dc9bcde6/attachment.bin>


More information about the Libstdc++ mailing list