From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2181) id CDF58385480A; Thu, 1 Jul 2021 00:08:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CDF58385480A MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: Jonathan Wakely To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r12-1941] libstdc++: Suppress redundant definitions of static members in X-Act-Checkin: gcc X-Git-Author: Jonathan Wakely X-Git-Refname: refs/heads/master X-Git-Oldrev: aa31ae697087940c60d0bb2fa60c951750bb65c4 X-Git-Newrev: 996be6b670b9f85727a6ae98c8095ca9cfbc0f67 Message-Id: <20210701000829.CDF58385480A@sourceware.org> Date: Thu, 1 Jul 2021 00:08:29 +0000 (GMT) X-BeenThere: libstdc++-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libstdc++-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jul 2021 00:08:29 -0000 https://gcc.gnu.org/g:996be6b670b9f85727a6ae98c8095ca9cfbc0f67 commit r12-1941-g996be6b670b9f85727a6ae98c8095ca9cfbc0f67 Author: Jonathan Wakely Date: Wed Jun 30 15:47:41 2021 +0100 libstdc++: Suppress redundant definitions of static members in Since C++17 the static members of the random number engines are implicitly inline, so don't need definitions. Signed-off-by: Jonathan Wakely libstdc++-v3/ChangeLog: * include/bits/random.tcc [__cpp_inline_variables]: Remove redundant definitions of static constexpr member variables. * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line number. Diff: --- libstdc++-v3/include/bits/random.tcc | 12 ++++++++---- libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc | 2 +- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc index 8e2b702b0be..f28163ec03d 100644 --- a/libstdc++-v3/include/bits/random.tcc +++ b/libstdc++-v3/include/bits/random.tcc @@ -186,7 +186,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __is; } - +#if ! __cpp_inline_variables template::default_seed; +#endif template constexpr size_t subtract_with_carry_engine<_UIntType, __w, __s, __r>::word_size; @@ -531,6 +532,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template constexpr _UIntType subtract_with_carry_engine<_UIntType, __w, __s, __r>::default_seed; +#endif template void @@ -666,7 +668,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __is; } - +#if ! __cpp_inline_variables template constexpr size_t discard_block_engine<_RandomNumberEngine, __p, __r>::block_size; @@ -674,6 +676,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template constexpr size_t discard_block_engine<_RandomNumberEngine, __p, __r>::used_block; +#endif template typename discard_block_engine<_RandomNumberEngine, @@ -799,10 +802,11 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION return __sum; } - +#if ! __cpp_inline_variables template constexpr size_t shuffle_order_engine<_RandomNumberEngine, __k>::table_size; +#endif namespace __detail { diff --git a/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc b/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc index ba252ef34fe..ae03b5693c2 100644 --- a/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/random/pr60037-neg.cc @@ -12,4 +12,4 @@ auto x = std::generate_canonical