summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/string
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2015-10-09 21:04:28 +0000
committerdim <dim@FreeBSD.org>2015-10-09 21:04:28 +0000
commitc8b9e1b4f19c160f314955218d6d9a442821ef43 (patch)
treefa0dd5bba88c51092f776b1aa06c75a91f7b97b1 /contrib/libc++/include/string
parentfcb0c0cc8d6934f766070dc4dbb56bf42c4679db (diff)
downloadFreeBSD-src-c8b9e1b4f19c160f314955218d6d9a442821ef43.zip
FreeBSD-src-c8b9e1b4f19c160f314955218d6d9a442821ef43.tar.gz
Pull in r242623 from upstream libc++ trunk (by Eric Fiselier):
Enable and fix warnings during the build. Although CMake adds warning flags, they are ignored in the libc++ headers because the headers '#pragma system header' themselves. This patch disables the system header pragma when building libc++ and fixes the warnings that arose. The warnings fixed were: 1. <memory> - anonymous structs are a GNU extension 2. <functional> - anonymous structs are a GNU extension. 3. <__hash_table> - Embedded preprocessor directives have undefined behavior. 4. <string> - Definition is missing noexcept from declaration. 5. <__std_stream> - Unused variable. This should fix building world (in particular libatf-c++) with -std=c++11. Reported by: Oliver Hartmann <ohartman@zedat.fu-berlin.de>
Diffstat (limited to 'contrib/libc++/include/string')
-rw-r--r--contrib/libc++/include/string7
1 files changed, 6 insertions, 1 deletions
diff --git a/contrib/libc++/include/string b/contrib/libc++/include/string
index 6be2195..5777ee2 100644
--- a/contrib/libc++/include/string
+++ b/contrib/libc++/include/string
@@ -1936,7 +1936,12 @@ basic_string<_CharT, _Traits, _Allocator>::basic_string()
template <class _CharT, class _Traits, class _Allocator>
inline _LIBCPP_INLINE_VISIBILITY
basic_string<_CharT, _Traits, _Allocator>::basic_string(const allocator_type& __a)
- : __r_(__a)
+#if _LIBCPP_STD_VER <= 14
+ _NOEXCEPT_(is_nothrow_copy_constructible<allocator_type>::value)
+#else
+ _NOEXCEPT
+#endif
+: __r_(__a)
{
#if _LIBCPP_DEBUG_LEVEL >= 2
__get_db()->__insert_c(this);
OpenPOWER on IntegriCloud