public inbox for libstdc++-cvs@sourceware.org help / color / mirror / Atom feed
From: Jonathan Wakely <redi@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org, libstdc++-cvs@gcc.gnu.org Subject: [gcc r11-3662] libstdc++: Minor header cleanup in <numeric> Date: Mon, 5 Oct 2020 21:50:05 +0000 (GMT) [thread overview] Message-ID: <20201005215005.31DC33857C4E@sourceware.org> (raw) https://gcc.gnu.org/g:1c72f460e9e4fce1220e426989226dfeb0db816e commit r11-3662-g1c72f460e9e4fce1220e426989226dfeb0db816e Author: Jonathan Wakely <jwakely@redhat.com> Date: Mon Oct 5 22:45:27 2020 +0100 libstdc++: Minor header cleanup in <numeric> When adding new features to <numeric> I included the required headers adjacent to the new code. This cleans it up by moving all the includes to the start of the file. libstdc++-v3/ChangeLog: * include/std/numeric: Move all #include directives to the top of the header. * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error line numbers. * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise. Diff: --- libstdc++-v3/include/std/numeric | 39 ++++++++++------------- libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc | 8 ++--- libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc | 8 ++--- 3 files changed, 25 insertions(+), 30 deletions(-) diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric index 2de6aaf06ec..af1e7884f6a 100644 --- a/libstdc++-v3/include/std/numeric +++ b/libstdc++-v3/include/std/numeric @@ -60,12 +60,24 @@ #include <bits/c++config.h> #include <bits/stl_iterator_base_types.h> #include <bits/stl_numeric.h> -#include <ext/numeric_traits.h> #ifdef _GLIBCXX_PARALLEL # include <parallel/numeric> #endif +#if __cplusplus >= 201402L +# include <type_traits> +# include <bit> +#endif + +#if __cplusplus >= 201703L +# include <bits/stl_function.h> +#endif + +#if __cplusplus > 201703L +# include <limits> +#endif + /** * @defgroup numerics Numerics * @@ -74,14 +86,11 @@ * arrays, generalized numeric algorithms, and mathematical special functions. */ -#if __cplusplus >= 201402L -#include <type_traits> -#include <bit> - namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201402L namespace __detail { // std::abs is not constexpr, doesn't support unsigned integers, @@ -181,18 +190,10 @@ namespace __detail } #endif // C++17 - -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace std - #endif // C++14 #if __cplusplus > 201703L -#include <limits> -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION // midpoint # define __cpp_lib_interpolate 201902L @@ -241,17 +242,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION static_assert( sizeof(_Tp) != 0, "type must be complete" ); return __a + (__b - __a) / 2; } -_GLIBCXX_END_NAMESPACE_VERSION -} // namespace std - #endif // C++20 -#if __cplusplus > 201402L -#include <bits/stl_function.h> - -namespace std _GLIBCXX_VISIBILITY(default) -{ -_GLIBCXX_BEGIN_NAMESPACE_VERSION +#if __cplusplus >= 201703L #if __cplusplus > 201703L #define __cpp_lib_constexpr_numeric 201911L @@ -720,10 +713,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION } // @} group numeric_ops +#endif // C++17 _GLIBCXX_END_NAMESPACE_VERSION } // namespace std +#if __cplusplus >= 201703L // Parallel STL algorithms # if _PSTL_EXECUTION_POLICIES_DEFINED // If <execution> has already been included, pull in implementations diff --git a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc index fa559b6f475..4294a2c69ce 100644 --- a/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/gcd/gcd_neg.cc @@ -46,9 +46,9 @@ test01() std::gcd<const int&, const int&>(0.1, 0.1); // { dg-error "from here" } } -// { dg-error "must be integers" "" { target *-*-* } 160 } -// { dg-error "must be integers" "" { target *-*-* } 161 } -// { dg-error "must not be bool" "" { target *-*-* } 162 } -// { dg-error "must not be bool" "" { target *-*-* } 163 } +// { dg-error "must be integers" "" { target *-*-* } 169 } +// { dg-error "must be integers" "" { target *-*-* } 170 } +// { dg-error "must not be bool" "" { target *-*-* } 171 } +// { dg-error "must not be bool" "" { target *-*-* } 172 } // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" } diff --git a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc index 7e36c2654b0..114995cf0b9 100644 --- a/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/lcm/lcm_neg.cc @@ -46,9 +46,9 @@ test01() std::lcm<const int&, const int&>(0.1, 0.1); // { dg-error "from here" } } -// { dg-error "must be integers" "" { target *-*-* } 174 } -// { dg-error "must be integers" "" { target *-*-* } 175 } -// { dg-error "must not be bool" "" { target *-*-* } 176 } -// { dg-error "must not be bool" "" { target *-*-* } 177 } +// { dg-error "must be integers" "" { target *-*-* } 183 } +// { dg-error "must be integers" "" { target *-*-* } 184 } +// { dg-error "must not be bool" "" { target *-*-* } 185 } +// { dg-error "must not be bool" "" { target *-*-* } 186 } // { dg-prune-output "deleted function" } // { dg-prune-output "incomplete type .*make_unsigned" }
reply other threads:[~2020-10-05 21:50 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201005215005.31DC33857C4E@sourceware.org \ --to=redi@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ --cc=libstdc++-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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).