public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-3028] libstdc++: Fix tests broken by C++23 P2266R3 "Simpler implicit move"
@ 2022-10-03 11:45 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2022-10-03 11:45 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:866263a5fe0d657cb9ec06d01bbc100900159036

commit r13-3028-g866263a5fe0d657cb9ec06d01bbc100900159036
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Oct 3 12:10:07 2022 +0100

    libstdc++: Fix tests broken by C++23 P2266R3 "Simpler implicit move"
    
    In C++23 mode these tests started to FAIL because an rvalue reference
    parameter can no longer be bound to an lvalue reference return type. As
    confirmed by Ville (who added these tests) the problem overloads are not
    intended to be called, and only exist to verify that they don't
    interfere with the intended behaviour. This changes the function bodies
    to just throw, so that the tests will fail if the function is called.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
            Change body of unused operator<< overload to throw if called.
            * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
            Likewise.

Diff:
---
 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc    | 2 +-
 libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc
index f62023c8c2e..e45af3c02af 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/char/6.cc
@@ -42,7 +42,7 @@ std::ostream& operator<<(std::ostream&, const X&) = delete;
 
 struct Y {};
 std::ostream& operator<<(std::ostream& os, const Y&) {return os;}
-std::ostream& operator<<(std::ostream&& os, const Y&) {return os;}
+std::ostream& operator<<(std::ostream&& os, const Y&) {throw 1;} // not used
 
 struct Z{};
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc
index 6bbf4a7f341..7ef6442d358 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc
@@ -42,7 +42,7 @@ std::wostream& operator<<(std::wostream&, const X&) = delete;
 
 struct Y {};
 std::wostream& operator<<(std::wostream& os, const Y&) {return os;}
-std::wostream& operator<<(std::wostream&& os, const Y&) {return os;}
+std::wostream& operator<<(std::wostream&& os, const Y&) {throw 1;} // not used
 
 struct Z{};

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-03 11:45 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-03 11:45 [gcc r13-3028] libstdc++: Fix tests broken by C++23 P2266R3 "Simpler implicit move" Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).