From bcb896abe8e24ddf1f120e66bea6cd16e3fd0ca3 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Wed, 13 May 2015 14:32:36 +0100 Subject: [PATCH] basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455). * include/bits/basic_string.h (basic_string::basic_string()): Make noexcept conditional on allocator (LWG 2455). From-SVN: r223160 --- libstdc++-v3/ChangeLog | 3 +++ libstdc++-v3/include/bits/basic_string.h | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index af4d5be54c6..3d20ad4e316 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,8 @@ 2015-05-13 Jonathan Wakely + * include/bits/basic_string.h (basic_string::basic_string()): Make + noexcept conditional on allocator (LWG 2455). + * include/std/complex (polar): Check for negative rho (LWG 2459). * include/experimental/tuple (apply): Handle pointers to member (LWG diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 3e3eef44b4a..093f5021de7 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -377,7 +377,10 @@ _GLIBCXX_BEGIN_NAMESPACE_CXX11 /** * @brief Default constructor creates an empty string. */ - basic_string() _GLIBCXX_NOEXCEPT + basic_string() +#if __cplusplus >= 201103L + noexcept(is_nothrow_default_constructible<_Alloc>::value) +#endif : _M_dataplus(_M_local_data()) { _M_set_length(0); } -- 2.30.2