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 162E73858C2D for ; Fri, 12 May 2023 16:48:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 162E73858C2D 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=1683910122; 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=b/Z0uut5rRso+AVToMVMNgTnjOBHbtEbF1lYn/dHiLo=; b=S4Se363oUc4b836y2gt340XM/s7HcNSDCaWMts6TshlHcclQjgJ7WdrHnoj+doL27F8V3N Bq4LCC+jvHKCLngA7tAv4OCL+THpehN/HxNc+cOEcomK5RuAHPh2614gCdW4fddBbLCnwm L6zPPSvysCCoG0/OmlLPzta9yyZCejw= 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-19-h4NF2yMHO12jkF9oMGJ9Dw-1; Fri, 12 May 2023 12:48:39 -0400 X-MC-Unique: h4NF2yMHO12jkF9oMGJ9Dw-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2A15686BF46; Fri, 12 May 2023 16:48:39 +0000 (UTC) Received: from localhost (unknown [10.42.28.178]) by smtp.corp.redhat.com (Postfix) with ESMTP id E77F6492C13; Fri, 12 May 2023 16:48:38 +0000 (UTC) From: Jonathan Wakely To: libstdc++@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: [committed] libstdc++: Remove dependency on _GLIBCXX_USE_C99_STDINT_TR1 Date: Fri, 12 May 2023 17:48:38 +0100 Message-Id: <20230512164838.1303266-1-jwakely@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-11.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_NUMSUBJECT,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE 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 powerpc64le-linux. Pushed to trunk. -- >8 -- Since r9-2028-g8ba7f29e3dd064 we've defined most of unconditionally, including uint_least32_t. This means that all of can be defined unconditionally, which means that std::shuffle and std::ranges::shuffle can be too. libstdc++-v3/ChangeLog: * include/bits/algorithmfwd.h (shuffle): Do not depend on _GLIBCXX_USE_C99_STDINT_TR1. * include/bits/ranges_algo.h (shuffle): Likewise. * include/bits/stl_algo.h (shuffle): Likewise. * include/ext/random: Likewise. * include/ext/throw_allocator.h (random_condition): Likewise. * include/std/random: Likewise. * src/c++11/cow-string-inst.cc: Likewise. * src/c++11/random.cc: Likewise. --- libstdc++-v3/include/bits/algorithmfwd.h | 2 +- libstdc++-v3/include/bits/ranges_algo.h | 2 -- libstdc++-v3/include/bits/stl_algo.h | 3 --- libstdc++-v3/include/ext/random | 4 ++-- libstdc++-v3/include/ext/throw_allocator.h | 8 -------- libstdc++-v3/include/std/random | 7 +------ libstdc++-v3/src/c++11/cow-string-inst.cc | 2 -- libstdc++-v3/src/c++11/random.cc | 3 --- 8 files changed, 4 insertions(+), 27 deletions(-) diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index 03e627866ad..0d623901cd2 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -622,7 +622,7 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) // set_symmetric_difference // set_union -#if (__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99_STDINT_TR1) +#if __cplusplus >= 201103L template void shuffle(_RAIter, _RAIter, _UGenerator&&); diff --git a/libstdc++-v3/include/bits/ranges_algo.h b/libstdc++-v3/include/bits/ranges_algo.h index 410d3ae1dd8..da66ff8045d 100644 --- a/libstdc++-v3/include/bits/ranges_algo.h +++ b/libstdc++-v3/include/bits/ranges_algo.h @@ -1564,7 +1564,6 @@ namespace ranges inline constexpr __sample_fn sample{}; -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 struct __shuffle_fn { template _Sent, @@ -1591,7 +1590,6 @@ namespace ranges }; inline constexpr __shuffle_fn shuffle{}; -#endif struct __push_heap_fn { diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 3d37091a9b4..54695490166 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -3692,7 +3692,6 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) #endif // C++17 #endif // C++14 -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 /** * @brief Generate two uniformly distributed integers using a * single distribution invocation. @@ -3803,8 +3802,6 @@ _GLIBCXX_END_INLINE_ABI_NAMESPACE(_V2) for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i) std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first))); } -#endif // USE C99_STDINT - #endif // C++11 _GLIBCXX_BEGIN_NAMESPACE_ALGO diff --git a/libstdc++-v3/include/ext/random b/libstdc++-v3/include/ext/random index 795c3c5389a..62acb67e05b 100644 --- a/libstdc++-v3/include/ext/random +++ b/libstdc++-v3/include/ext/random @@ -45,7 +45,7 @@ # include #endif -#if defined(_GLIBCXX_USE_C99_STDINT_TR1) && defined(UINT32_C) +#ifdef UINT32_C namespace __gnu_cxx _GLIBCXX_VISIBILITY(default) { @@ -3923,7 +3923,7 @@ _GLIBCXX_END_NAMESPACE_VERSION #include #include -#endif // _GLIBCXX_USE_C99_STDINT_TR1 && UINT32_C +#endif // UINT32_C #endif // C++11 diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index 0dbf00176dc..71b7198fa1e 100644 --- a/libstdc++-v3/include/ext/throw_allocator.h +++ b/libstdc++-v3/include/ext/throw_allocator.h @@ -495,7 +495,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } }; -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 /** * @brief Base class for random probability control and throw. */ @@ -613,7 +612,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return _S_e; } }; -#endif // _GLIBCXX_USE_C99_STDINT_TR1 /** * @brief Class with exception generation control. Intended to be @@ -769,7 +767,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif }; -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 /// Type throwing via random condition. struct throw_value_random : public throw_value_base { @@ -800,7 +797,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator=(throw_value_random&&) = default; #endif }; -#endif // _GLIBCXX_USE_C99_STDINT_TR1 /** * @brief Allocator class with logging and exception generation control. @@ -947,7 +943,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif }; -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 /// Allocator throwing via random condition. template struct throw_allocator_random @@ -973,7 +968,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION operator=(const throw_allocator_random&) = default; #endif }; -#endif // _GLIBCXX_USE_C99_STDINT_TR1 _GLIBCXX_END_NAMESPACE_VERSION } // namespace @@ -1002,7 +996,6 @@ namespace std _GLIBCXX_VISIBILITY(default) } }; -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 /// Explicit specialization of std::hash for __gnu_cxx::throw_value_random. template<> struct hash<__gnu_cxx::throw_value_random> @@ -1017,7 +1010,6 @@ namespace std _GLIBCXX_VISIBILITY(default) return __result; } }; -#endif #pragma GCC diagnostic pop } // end namespace std diff --git a/libstdc++-v3/include/std/random b/libstdc++-v3/include/std/random index e6591bc48a7..a0785a46019 100644 --- a/libstdc++-v3/include/std/random +++ b/libstdc++-v3/include/std/random @@ -38,22 +38,17 @@ #else #include +#include // For uint_fast32_t, uint_fast64_t, uint_least32_t #include #include #include #include #include #include - -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 - -#include // For uint_fast32_t, uint_fast64_t, uint_least32_t #include #include #include -#endif // _GLIBCXX_USE_C99_STDINT_TR1 - #endif // C++11 #endif // _GLIBCXX_RANDOM diff --git a/libstdc++-v3/src/c++11/cow-string-inst.cc b/libstdc++-v3/src/c++11/cow-string-inst.cc index c6b3a2cce1e..5a2b8ffa568 100644 --- a/libstdc++-v3/src/c++11/cow-string-inst.cc +++ b/libstdc++-v3/src/c++11/cow-string-inst.cc @@ -33,7 +33,6 @@ # error This file should not be compiled for this configuration. #endif -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 #include namespace std _GLIBCXX_VISIBILITY(default) @@ -46,4 +45,3 @@ namespace std _GLIBCXX_VISIBILITY(default) random_device::_M_init_pretr1(const std::string& token) { _M_init(token.c_str(), token.length()); } } // namespace -#endif diff --git a/libstdc++-v3/src/c++11/random.cc b/libstdc++-v3/src/c++11/random.cc index daf934808cc..6ecdc7169ab 100644 --- a/libstdc++-v3/src/c++11/random.cc +++ b/libstdc++-v3/src/c++11/random.cc @@ -28,8 +28,6 @@ #include #include -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 - #if defined __i386__ || defined __x86_64__ # include # ifdef _GLIBCXX_X86_RDRAND @@ -674,4 +672,3 @@ namespace std _GLIBCXX_VISIBILITY(default) template struct __detail::_Mod; #endif } -#endif // _GLIBCXX_USE_C99_STDINT_TR1 -- 2.40.1