From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id A3B973858D38 for ; Mon, 3 Oct 2022 11:46:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A3B973858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1664797607; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=j19kOT9NuEF/2gOoHgXITssFtCyMDFb369lZVcj99kM=; b=B993YbaG9708mW62ImU/koq1UJWOKZGwcD/r3yVFypLkfggmxPpRvtbI7680Gl8ttsI++e EvFaTi3ulptmgmJoUc4e/ClLDMae9so97MzmpKuqvQF7x4vHox1umR/7DkoRwd9TBww/5V BDEbFWf7UlUWwN24Up2hXdrvg7/cHl8= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-587-AHx9aypQOC2Dr1-F40MbDw-1; Mon, 03 Oct 2022 07:46:44 -0400 X-MC-Unique: AHx9aypQOC2Dr1-F40MbDw-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0CC4B185A7AD; Mon, 3 Oct 2022 11:46:44 +0000 (UTC) Received: from localhost (unknown [10.33.36.64]) by smtp.corp.redhat.com (Postfix) with ESMTP id C8ED040C6EC2; Mon, 3 Oct 2022 11:46:43 +0000 (UTC) From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Fix tests broken by C++23 P2266R3 "Simpler implicit move" Date: Mon, 3 Oct 2022 12:46:41 +0100 Message-Id: <20221003114641.367692-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Tested x86_64-linux. Pushed to trunk. -- >8 -- 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. --- .../testsuite/27_io/basic_ostream/inserters_other/char/6.cc | 2 +- .../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{}; -- 2.37.3