aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-06-18 20:57:24 +0100
committerJonathan Wakely <jwakely@redhat.com>2024-06-19 17:34:18 +0100
commit9651d6005f9c1ac60aecf7b36d6c0bd1ead8a63b (patch)
treef81c0d0978dab0393201b3418c200ec0b5fff1c3
parent954f9011c4923b72f42cc6ca8460333e7c7aad98 (diff)
downloadgcc-9651d6005f9c1ac60aecf7b36d6c0bd1ead8a63b.zip
gcc-9651d6005f9c1ac60aecf7b36d6c0bd1ead8a63b.tar.gz
gcc-9651d6005f9c1ac60aecf7b36d6c0bd1ead8a63b.tar.bz2
libstdc++: Add conditional noexcept to std::pair default ctor
Most of std::pair constructors implemented using C++20 concepts have a conditional noexcept-specifier, but the default constructor doesn't. This fixes that. libstdc++-v3/ChangeLog: * include/bits/stl_pair.h [__cpp_lib_concepts] (pair()): Add conditional noexcept.
-rw-r--r--libstdc++-v3/include/bits/stl_pair.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h
index 0c1e571..0d60eab 100644
--- a/libstdc++-v3/include/bits/stl_pair.h
+++ b/libstdc++-v3/include/bits/stl_pair.h
@@ -344,6 +344,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
explicit(__not_<__and_<__is_implicitly_default_constructible<_T1>,
__is_implicitly_default_constructible<_T2>>>())
pair()
+ noexcept(is_nothrow_default_constructible_v<_T1>
+ && is_nothrow_default_constructible_v<_T2>)
requires is_default_constructible_v<_T1>
&& is_default_constructible_v<_T2>
: first(), second()