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 75602385742B for ; Tue, 8 Nov 2022 17:46:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 75602385742B 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=1667929613; 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=YF5KF/Rng7loBsNcdAws0KvLGy1JID5mGCiZ/vak4WQ=; b=XnFwZ+5Kbsl+4zBjgwukjPb276fJfEUePTf9SwmHSgrwj/6QZ0YHJ7j9aNlr855y0TJFDs xZ2W71zr91VfcL4z215TDLbakZHeLY1gs6HPW2GmI1f/UWT2uPbMw3f+tPBNCqpMQUuSJQ wARj0st6ig45UNzqv+EXbate9SY2uB8= Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-617-3Otn8j1AN5uUdoXkKWho0w-1; Tue, 08 Nov 2022 12:46:49 -0500 X-MC-Unique: 3Otn8j1AN5uUdoXkKWho0w-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 22DBC2A2AD7D; Tue, 8 Nov 2022 17:46:49 +0000 (UTC) Received: from localhost (unknown [10.33.37.13]) by smtp.corp.redhat.com (Postfix) with ESMTP id C1ED54EA48; Tue, 8 Nov 2022 17:46:48 +0000 (UTC) From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Fix -Wsystem-headers warnings in tests Date: Tue, 8 Nov 2022 17:46:48 +0000 Message-Id: <20221108174648.1764639-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.5 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.2 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_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE,TXREP,URI_HEX 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 -- libstdc++-v3/ChangeLog: * testsuite/18_support/new_nothrow.cc: Add missing noexcept to operator delete replacements. * testsuite/20_util/any/cons/92156.cc: Disable -Winit-list-lifetime warnings from instantiating invalid specialization of manager function. * testsuite/20_util/any/modifiers/92156.cc: Likewise. * testsuite/20_util/default_delete/void_neg.cc: Prune additional diagnostics. * testsuite/20_util/headers/memory/synopsis.cc: Add missing noexcept. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune additional diagnostic. * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add missing noexcept to operator delete replacements. * testsuite/21_strings/basic_string/cons/char/103919.cc: Likewise. * testsuite/23_containers/map/modifiers/emplace/92300.cc: Likewise. * testsuite/23_containers/map/modifiers/insert/92300.cc: Likewise. * testsuite/24_iterators/headers/iterator/range_access_c++11.cc: Add missing noexcept to synopsis declarations. * testsuite/24_iterators/headers/iterator/range_access_c++14.cc: Likewise. * testsuite/24_iterators/headers/iterator/range_access_c++17.cc: Likewise. --- libstdc++-v3/testsuite/18_support/new_nothrow.cc | 14 ++++++++++---- libstdc++-v3/testsuite/20_util/any/cons/92156.cc | 1 + .../testsuite/20_util/any/modifiers/92156.cc | 1 + .../testsuite/20_util/default_delete/void_neg.cc | 3 +++ .../testsuite/20_util/headers/memory/synopsis.cc | 2 +- .../testsuite/20_util/shared_ptr/cons/void_neg.cc | 2 ++ .../20_util/unique_ptr/creation/for_overwrite.cc | 4 ++-- .../21_strings/basic_string/cons/char/103919.cc | 4 ++-- .../23_containers/map/modifiers/emplace/92300.cc | 4 ++-- .../23_containers/map/modifiers/insert/92300.cc | 4 ++-- .../headers/iterator/range_access_c++11.cc | 4 ++-- .../headers/iterator/range_access_c++14.cc | 12 ++++++------ .../headers/iterator/range_access_c++17.cc | 12 ++++++------ 13 files changed, 40 insertions(+), 27 deletions(-) diff --git a/libstdc++-v3/testsuite/18_support/new_nothrow.cc b/libstdc++-v3/testsuite/18_support/new_nothrow.cc index d5e7eb58782..37806122bd0 100644 --- a/libstdc++-v3/testsuite/18_support/new_nothrow.cc +++ b/libstdc++-v3/testsuite/18_support/new_nothrow.cc @@ -64,7 +64,13 @@ void* operator new (size_t n) } } -void operator delete (void *p) +#if __cplusplus >= 201103L +#define NOEXCEPT noexcept +#else +#define NOEXCEPT +#endif + +void operator delete (void *p) NOEXCEPT { ++delete_called; if (p) @@ -77,18 +83,18 @@ void* operator new[] (size_t n) return operator new(n); } -void operator delete[] (void *p) +void operator delete[] (void *p) NOEXCEPT { ++delete_vec_called; operator delete(p); } #if __cplusplus >= 201402L -void operator delete (void *p, std::size_t) +void operator delete (void *p, std::size_t) noexcept { ::operator delete(p); } -void operator delete[] (void *p, std::size_t) +void operator delete[] (void *p, std::size_t) noexcept { ::operator delete[](p); } diff --git a/libstdc++-v3/testsuite/20_util/any/cons/92156.cc b/libstdc++-v3/testsuite/20_util/any/cons/92156.cc index 71e9dd94090..0e768df9a00 100644 --- a/libstdc++-v3/testsuite/20_util/any/cons/92156.cc +++ b/libstdc++-v3/testsuite/20_util/any/cons/92156.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++17 } } +// { dg-options "-Wno-init-list-lifetime" } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc b/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc index d8f9893667b..b98d0e8e92a 100644 --- a/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc +++ b/libstdc++-v3/testsuite/20_util/any/modifiers/92156.cc @@ -1,4 +1,5 @@ // { dg-do run { target c++17 } } +// { dg-options "-Wno-init-list-lifetime" } // Copyright (C) 2020-2022 Free Software Foundation, Inc. // diff --git a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc index f6aefc0a7ff..04042c2d745 100644 --- a/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc +++ b/libstdc++-v3/testsuite/20_util/default_delete/void_neg.cc @@ -27,3 +27,6 @@ void test01() d(nullptr); // { dg-error "here" } // { dg-error "delete pointer to incomplete type" "" { target *-*-* } 0 } } + +// { dg-prune-output "invalid application of 'sizeof' to a void type" } +// { dg-prune-output "deleting 'void*' is undefined" } diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc index 15437c72ee0..b14c4278cd3 100644 --- a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc +++ b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc @@ -32,7 +32,7 @@ namespace std template struct pointer_traits; template struct pointer_traits; - void* align(size_t alignment, size_t size, void*& ptr, size_t& space); + void* align(size_t alignment, size_t size, void*& ptr, size_t& space) noexcept; struct allocator_arg_t; extern const allocator_arg_t allocator_arg; diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc index 1852f01e606..215a1393f57 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/void_neg.cc @@ -31,3 +31,5 @@ void test01() using std::shared_ptr; using std::is_constructible; static_assert(!is_constructible, const void*>::value, ""); + +// { dg-prune-output "invalid application of 'sizeof' to a void type" } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc index 65b5758b2ab..2eb3a9980a5 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/creation/for_overwrite.cc @@ -41,8 +41,8 @@ void* operator new(std::size_t n) return p; } -void operator delete(void* p) { std::free(p); } -void operator delete(void* p, std::size_t) { std::free(p); } +void operator delete(void* p) noexcept { std::free(p); } +void operator delete(void* p, std::size_t) noexcept { std::free(p); } void test01() diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/103919.cc b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/103919.cc index 94400e319ff..c11036b49c5 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/103919.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/cons/char/103919.cc @@ -14,12 +14,12 @@ void* operator new(std::size_t n) return std::malloc(n); } -void operator delete(void* p) +void operator delete(void* p) noexcept { std::free(p); } -void operator delete(void* p, std::size_t) +void operator delete(void* p, std::size_t) noexcept { std::free(p); } diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/92300.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/92300.cc index 937b4d9a103..ab48386bd8b 100644 --- a/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/92300.cc +++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/emplace/92300.cc @@ -12,12 +12,12 @@ void* operator new(std::size_t n) return std::malloc(n); } -void operator delete(void* p) +void operator delete(void* p) noexcept { std::free(p); } -void operator delete(void* p, std::size_t) +void operator delete(void* p, std::size_t) noexcept { std::free(p); } diff --git a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/92300.cc b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/92300.cc index 80abdaf1f30..51c0138e1a3 100644 --- a/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/92300.cc +++ b/libstdc++-v3/testsuite/23_containers/map/modifiers/insert/92300.cc @@ -12,12 +12,12 @@ void* operator new(std::size_t n) return std::malloc(n); } -void operator delete(void* p) +void operator delete(void* p) noexcept { std::free(p); } -void operator delete(void* p, std::size_t) +void operator delete(void* p, std::size_t) noexcept { std::free(p); } diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++11.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++11.cc index 819bffa9c65..c6262a5a3be 100644 --- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++11.cc +++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++11.cc @@ -28,6 +28,6 @@ namespace std template auto end(C& c) -> decltype(c.end()); template auto end(const C& c) -> decltype(c.end()); - template T* begin(T (&array)[N]); - template T* end(T (&array)[N]); + template T* begin(T (&array)[N]) noexcept; + template T* end(T (&array)[N]) noexcept; } diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++14.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++14.cc index 425012f2d08..81e6e84819f 100644 --- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++14.cc +++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++14.cc @@ -28,8 +28,8 @@ namespace std template auto end(C& c) -> decltype(c.end()); template auto end(const C& c) -> decltype(c.end()); - template constexpr T* begin(T (&array)[N]); - template constexpr T* end(T (&array)[N]); + template constexpr T* begin(T (&array)[N]) noexcept; + template constexpr T* end(T (&array)[N]) noexcept; template auto cbegin(const C& c) -> decltype(c.begin()); template auto cend(const C& c) -> decltype(c.end()); @@ -41,14 +41,14 @@ namespace std template auto rend(const C& c) -> decltype(c.rend()); template - reverse_iterator rbegin(T (&array)[N]); + reverse_iterator rbegin(T (&array)[N]) noexcept; template - reverse_iterator rend(T (&array)[N]); + reverse_iterator rend(T (&array)[N]) noexcept; template - reverse_iterator rbegin(initializer_list); + reverse_iterator rbegin(initializer_list) noexcept; template - reverse_iterator rend(initializer_list); + reverse_iterator rend(initializer_list) noexcept; template auto crbegin(const C& c) -> decltype(std::rbegin(c)); diff --git a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc index da65c11f3a7..91295943682 100644 --- a/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc +++ b/libstdc++-v3/testsuite/24_iterators/headers/iterator/range_access_c++17.cc @@ -27,8 +27,8 @@ namespace std template constexpr auto end(C& c) -> decltype(c.end()); template constexpr auto end(const C& c) -> decltype(c.end()); - template constexpr T* begin(T (&array)[N]); - template constexpr T* end(T (&array)[N]); + template constexpr T* begin(T (&array)[N]) noexcept; + template constexpr T* end(T (&array)[N]) noexcept; template constexpr auto cbegin(const C& c) -> decltype(c.begin()); template constexpr auto cend(const C& c) -> decltype(c.end()); @@ -40,14 +40,14 @@ namespace std template constexpr auto rend(const C& c) -> decltype(c.rend()); template - constexpr reverse_iterator rbegin(T (&array)[N]); + constexpr reverse_iterator rbegin(T (&array)[N]) noexcept; template - constexpr reverse_iterator rend(T (&array)[N]); + constexpr reverse_iterator rend(T (&array)[N]) noexcept; template - constexpr reverse_iterator rbegin(initializer_list); + constexpr reverse_iterator rbegin(initializer_list) noexcept; template - constexpr reverse_iterator rend(initializer_list); + constexpr reverse_iterator rend(initializer_list) noexcept; template constexpr auto crbegin(const C& c) -> decltype(std::rbegin(c)); -- 2.38.1