svn commit: r293844 - in vendor/libc++/dist: include test/std/containers/sequences/vector.bool test/std/containers/unord/unord.map test/std/containers/unord/unord.map/unord.map.cnstr test/std/conta...

Dimitry Andric dim at FreeBSD.org
Wed Jan 13 20:04:53 UTC 2016


Author: dim
Date: Wed Jan 13 20:04:50 2016
New Revision: 293844
URL: https://svnweb.freebsd.org/changeset/base/293844

Log:
  Vendor import of libc++ trunk r257626:
  https://llvm.org/svn/llvm-project/libcxx/trunk@257626

Modified:
  vendor/libc++/dist/include/__config
  vendor/libc++/dist/include/istream
  vendor/libc++/dist/include/limits
  vendor/libc++/dist/include/memory
  vendor/libc++/dist/include/ostream
  vendor/libc++/dist/include/sstream
  vendor/libc++/dist/include/streambuf
  vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/load_factor.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/rehash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/load_factor.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/load_factor.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp
  vendor/libc++/dist/test/std/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp
  vendor/libc++/dist/test/std/experimental/string.view/string.view.access/at.pass.cpp
  vendor/libc++/dist/test/std/language.support/support.limits/limits/numeric.limits.members/traps.pass.cpp
  vendor/libc++/dist/test/std/localization/locale.categories/category.collate/locale.collate.byname/transform.pass.cpp
  vendor/libc++/dist/test/std/localization/locales/locale/locale.members/combine.pass.cpp
  vendor/libc++/dist/test/std/numerics/rand/rand.device/ctor.pass.cpp
  vendor/libc++/dist/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
  vendor/libc++/dist/test/std/utilities/intseq/intseq.intseq/integer_seq.pass.cpp
  vendor/libc++/dist/test/std/utilities/utility/pairs/pair.astuple/pairs.by.type.pass.cpp

Modified: vendor/libc++/dist/include/__config
==============================================================================
--- vendor/libc++/dist/include/__config	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/__config	Wed Jan 13 20:04:50 2016	(r293844)
@@ -433,6 +433,11 @@ namespace std {
 #define _LIBCPP_HAS_NO_ASAN
 #endif
 
+// Allow for build-time disabling of unsigned integer sanitization
+#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
+#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK __attribute((no_sanitize("unsigned-integer-overflow")))
+#endif 
+
 #elif defined(__GNUC__)
 
 #define _ALIGNAS(x) __attribute__((__aligned__(x)))
@@ -826,6 +831,10 @@ extern "C" void __sanitizer_annotate_con
 #define _LIBCPP_HAS_NO_ATOMIC_HEADER
 #endif
 
+#ifndef _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
+#define _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
+#endif 
+
 #endif // __cplusplus
 
 #endif // _LIBCPP_CONFIG

Modified: vendor/libc++/dist/include/istream
==============================================================================
--- vendor/libc++/dist/include/istream	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/istream	Wed Jan 13 20:04:50 2016	(r293844)
@@ -304,7 +304,7 @@ basic_istream<_CharT, _Traits>::sentry::
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>::basic_istream(basic_streambuf<char_type, traits_type>* __sb)
     : __gc_(0)
 {
@@ -314,7 +314,7 @@ basic_istream<_CharT, _Traits>::basic_is
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>::basic_istream(basic_istream&& __rhs)
     : __gc_(__rhs.__gc_)
 {
@@ -323,7 +323,7 @@ basic_istream<_CharT, _Traits>::basic_is
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::operator=(basic_istream&& __rhs)
 {
@@ -339,7 +339,7 @@ basic_istream<_CharT, _Traits>::~basic_i
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_istream<_CharT, _Traits>::swap(basic_istream& __rhs)
 {
@@ -725,7 +725,7 @@ basic_istream<_CharT, _Traits>::operator
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::operator>>(basic_istream& (*__pf)(basic_istream&))
 {
@@ -733,7 +733,7 @@ basic_istream<_CharT, _Traits>::operator
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::operator>>(basic_ios<char_type, traits_type>&
                                            (*__pf)(basic_ios<char_type, traits_type>&))
@@ -743,7 +743,7 @@ basic_istream<_CharT, _Traits>::operator
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::operator>>(ios_base& (*__pf)(ios_base&))
 {
@@ -800,7 +800,7 @@ operator>>(basic_istream<_CharT, _Traits
 }
 
 template<class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<char, _Traits>&
 operator>>(basic_istream<char, _Traits>& __is, unsigned char* __s)
 {
@@ -808,7 +808,7 @@ operator>>(basic_istream<char, _Traits>&
 }
 
 template<class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<char, _Traits>&
 operator>>(basic_istream<char, _Traits>& __is, signed char* __s)
 {
@@ -843,7 +843,7 @@ operator>>(basic_istream<_CharT, _Traits
 }
 
 template<class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<char, _Traits>&
 operator>>(basic_istream<char, _Traits>& __is, unsigned char& __c)
 {
@@ -851,7 +851,7 @@ operator>>(basic_istream<char, _Traits>&
 }
 
 template<class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<char, _Traits>&
 operator>>(basic_istream<char, _Traits>& __is, signed char& __c)
 {
@@ -947,7 +947,7 @@ basic_istream<_CharT, _Traits>::get()
 }
 
 template<class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::get(char_type& __c)
 {
@@ -1006,7 +1006,7 @@ basic_istream<_CharT, _Traits>::get(char
 }
 
 template<class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n)
 {
@@ -1068,7 +1068,7 @@ basic_istream<_CharT, _Traits>::get(basi
 }
 
 template<class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __sb)
 {
@@ -1129,7 +1129,7 @@ basic_istream<_CharT, _Traits>::getline(
 }
 
 template<class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n)
 {
@@ -1462,7 +1462,7 @@ ws(basic_istream<_CharT, _Traits>& __is)
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Tp>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
 {
@@ -1504,7 +1504,7 @@ public:
 };
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_iostream<_CharT, _Traits>::basic_iostream(basic_streambuf<char_type, traits_type>* __sb)
     : basic_istream<_CharT, _Traits>(__sb)
 {
@@ -1513,14 +1513,14 @@ basic_iostream<_CharT, _Traits>::basic_i
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_iostream<_CharT, _Traits>::basic_iostream(basic_iostream&& __rhs)
     : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs))
 {
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_iostream<_CharT, _Traits>&
 basic_iostream<_CharT, _Traits>::operator=(basic_iostream&& __rhs)
 {
@@ -1536,7 +1536,7 @@ basic_iostream<_CharT, _Traits>::~basic_
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_iostream<_CharT, _Traits>::swap(basic_iostream& __rhs)
 {
@@ -1645,7 +1645,7 @@ getline(basic_istream<_CharT, _Traits>& 
 }
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str)
@@ -1656,7 +1656,7 @@ getline(basic_istream<_CharT, _Traits>& 
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>&& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
@@ -1665,7 +1665,7 @@ getline(basic_istream<_CharT, _Traits>&&
 }
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>&& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str)

Modified: vendor/libc++/dist/include/limits
==============================================================================
--- vendor/libc++/dist/include/limits	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/limits	Wed Jan 13 20:04:50 2016	(r293844)
@@ -237,7 +237,8 @@ protected:
     static _LIBCPP_CONSTEXPR const bool is_bounded = true;
     static _LIBCPP_CONSTEXPR const bool is_modulo = !_VSTD::is_signed<_Tp>::value;
 
-#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__)
+#if defined(__i386__) || defined(__x86_64__) || defined(__pnacl__) || \
+    defined(__wasm__)
     static _LIBCPP_CONSTEXPR const bool traps = true;
 #else
     static _LIBCPP_CONSTEXPR const bool traps = false;

Modified: vendor/libc++/dist/include/memory
==============================================================================
--- vendor/libc++/dist/include/memory	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/memory	Wed Jan 13 20:04:50 2016	(r293844)
@@ -3194,7 +3194,7 @@ struct __murmur2_or_cityhash<_Size, 32>
 // murmur2
 template <class _Size>
 _Size
-__murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len)
+__murmur2_or_cityhash<_Size, 32>::operator()(const void* __key, _Size __len) _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK 
 {
     const _Size __m = 0x5bd1e995;
     const _Size __r = 24;
@@ -3344,7 +3344,7 @@ struct __murmur2_or_cityhash<_Size, 64>
 // cityhash64
 template <class _Size>
 _Size
-__murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len)
+__murmur2_or_cityhash<_Size, 64>::operator()(const void* __key, _Size __len) _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK 
 {
   const char* __s = static_cast<const char*>(__key);
   if (__len <= 32) {

Modified: vendor/libc++/dist/include/ostream
==============================================================================
--- vendor/libc++/dist/include/ostream	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/ostream	Wed Jan 13 20:04:50 2016	(r293844)
@@ -275,7 +275,7 @@ basic_ostream<_CharT, _Traits>::sentry::
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>::basic_ostream(basic_streambuf<char_type, traits_type>* __sb)
 {
     this->init(__sb);
@@ -284,14 +284,14 @@ basic_ostream<_CharT, _Traits>::basic_os
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>::basic_ostream(basic_ostream&& __rhs)
 {
     this->move(__rhs);
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::operator=(basic_ostream&& __rhs)
 {
@@ -307,7 +307,7 @@ basic_ostream<_CharT, _Traits>::~basic_o
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_ostream<_CharT, _Traits>::swap(basic_ostream& __rhs)
 {
@@ -315,7 +315,7 @@ basic_ostream<_CharT, _Traits>::swap(bas
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::operator<<(basic_ostream& (*__pf)(basic_ostream&))
 {
@@ -323,7 +323,7 @@ basic_ostream<_CharT, _Traits>::operator
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::operator<<(basic_ios<char_type, traits_type>&
                                            (*__pf)(basic_ios<char_type,traits_type>&))
@@ -333,7 +333,7 @@ basic_ostream<_CharT, _Traits>::operator
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::operator<<(ios_base& (*__pf)(ios_base&))
 {
@@ -989,7 +989,7 @@ basic_ostream<_CharT, _Traits>::flush()
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_ostream<_CharT, _Traits>::pos_type
 basic_ostream<_CharT, _Traits>::tellp()
 {
@@ -999,7 +999,7 @@ basic_ostream<_CharT, _Traits>::tellp()
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::seekp(pos_type __pos)
 {
@@ -1013,7 +1013,7 @@ basic_ostream<_CharT, _Traits>::seekp(po
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 basic_ostream<_CharT, _Traits>::seekp(off_type __off, ios_base::seekdir __dir)
 {
@@ -1027,7 +1027,7 @@ basic_ostream<_CharT, _Traits>::seekp(of
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 endl(basic_ostream<_CharT, _Traits>& __os)
 {
@@ -1037,7 +1037,7 @@ endl(basic_ostream<_CharT, _Traits>& __o
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 ends(basic_ostream<_CharT, _Traits>& __os)
 {
@@ -1046,7 +1046,7 @@ ends(basic_ostream<_CharT, _Traits>& __o
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 flush(basic_ostream<_CharT, _Traits>& __os)
 {
@@ -1057,7 +1057,7 @@ flush(basic_ostream<_CharT, _Traits>& __
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _Stream, class _Tp>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename enable_if
 <
     !is_lvalue_reference<_Stream>::value &&
@@ -1081,7 +1081,7 @@ operator<<(basic_ostream<_CharT, _Traits
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __ec)
 {
@@ -1089,7 +1089,7 @@ operator<<(basic_ostream<_CharT, _Traits
 }
 
 template<class _CharT, class _Traits, class _Yp>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostream<_CharT, _Traits>&
 operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p)
 {

Modified: vendor/libc++/dist/include/sstream
==============================================================================
--- vendor/libc++/dist/include/sstream	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/sstream	Wed Jan 13 20:04:50 2016	(r293844)
@@ -236,7 +236,7 @@ protected:
 };
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(ios_base::openmode __wch)
     : __hm_(0),
       __mode_(__wch)
@@ -245,7 +245,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(const string_type& __s,
                              ios_base::openmode __wch)
     : __hm_(0),
@@ -425,7 +425,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
      basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
@@ -607,7 +607,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_stringbuf<_CharT, _Traits, _Allocator>::pos_type
 basic_stringbuf<_CharT, _Traits, _Allocator>::seekpos(pos_type __sp,
                                                       ios_base::openmode __wch)
@@ -654,7 +654,7 @@ public:
 };
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(ios_base::openmode __wch)
     : basic_istream<_CharT, _Traits>(&__sb_),
       __sb_(__wch | ios_base::in)
@@ -662,7 +662,7 @@ basic_istringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(const string_type& __s,
                                                                       ios_base::openmode __wch)
     : basic_istream<_CharT, _Traits>(&__sb_),
@@ -673,7 +673,7 @@ basic_istringstream<_CharT, _Traits, _Al
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(basic_istringstream&& __rhs)
     : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs)),
       __sb_(_VSTD::move(__rhs.__sb_))
@@ -693,7 +693,7 @@ basic_istringstream<_CharT, _Traits, _Al
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_istringstream<_CharT, _Traits, _Allocator>::swap(basic_istringstream& __rhs)
 {
@@ -702,7 +702,7 @@ basic_istringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
      basic_istringstream<_CharT, _Traits, _Allocator>& __y)
@@ -711,7 +711,7 @@ swap(basic_istringstream<_CharT, _Traits
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringbuf<_CharT, _Traits, _Allocator>*
 basic_istringstream<_CharT, _Traits, _Allocator>::rdbuf() const
 {
@@ -719,7 +719,7 @@ basic_istringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_string<_CharT, _Traits, _Allocator>
 basic_istringstream<_CharT, _Traits, _Allocator>::str() const
 {
@@ -727,7 +727,7 @@ basic_istringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_istringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
 {
@@ -773,7 +773,7 @@ public:
 };
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(ios_base::openmode __wch)
     : basic_ostream<_CharT, _Traits>(&__sb_),
       __sb_(__wch | ios_base::out)
@@ -781,7 +781,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(const string_type& __s,
                                                                       ios_base::openmode __wch)
     : basic_ostream<_CharT, _Traits>(&__sb_),
@@ -792,7 +792,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(basic_ostringstream&& __rhs)
     : basic_ostream<_CharT, _Traits>(_VSTD::move(__rhs)),
       __sb_(_VSTD::move(__rhs.__sb_))
@@ -812,7 +812,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_ostringstream<_CharT, _Traits, _Allocator>::swap(basic_ostringstream& __rhs)
 {
@@ -821,7 +821,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
      basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
@@ -830,7 +830,7 @@ swap(basic_ostringstream<_CharT, _Traits
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringbuf<_CharT, _Traits, _Allocator>*
 basic_ostringstream<_CharT, _Traits, _Allocator>::rdbuf() const
 {
@@ -838,7 +838,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_string<_CharT, _Traits, _Allocator>
 basic_ostringstream<_CharT, _Traits, _Allocator>::str() const
 {
@@ -846,7 +846,7 @@ basic_ostringstream<_CharT, _Traits, _Al
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_ostringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
 {
@@ -892,7 +892,7 @@ public:
 };
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(ios_base::openmode __wch)
     : basic_iostream<_CharT, _Traits>(&__sb_),
       __sb_(__wch)
@@ -900,7 +900,7 @@ basic_stringstream<_CharT, _Traits, _All
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(const string_type& __s,
                                                                     ios_base::openmode __wch)
     : basic_iostream<_CharT, _Traits>(&__sb_),
@@ -911,7 +911,7 @@ basic_stringstream<_CharT, _Traits, _All
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(basic_stringstream&& __rhs)
     : basic_iostream<_CharT, _Traits>(_VSTD::move(__rhs)),
       __sb_(_VSTD::move(__rhs.__sb_))
@@ -931,7 +931,7 @@ basic_stringstream<_CharT, _Traits, _All
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_stringstream<_CharT, _Traits, _Allocator>::swap(basic_stringstream& __rhs)
 {
@@ -940,7 +940,7 @@ basic_stringstream<_CharT, _Traits, _All
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
      basic_stringstream<_CharT, _Traits, _Allocator>& __y)
@@ -949,7 +949,7 @@ swap(basic_stringstream<_CharT, _Traits,
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_stringbuf<_CharT, _Traits, _Allocator>*
 basic_stringstream<_CharT, _Traits, _Allocator>::rdbuf() const
 {
@@ -957,7 +957,7 @@ basic_stringstream<_CharT, _Traits, _All
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_string<_CharT, _Traits, _Allocator>
 basic_stringstream<_CharT, _Traits, _Allocator>::str() const
 {
@@ -965,7 +965,7 @@ basic_stringstream<_CharT, _Traits, _All
 }
 
 template <class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_stringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
 {

Modified: vendor/libc++/dist/include/streambuf
==============================================================================
--- vendor/libc++/dist/include/streambuf	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/include/streambuf	Wed Jan 13 20:04:50 2016	(r293844)
@@ -220,7 +220,7 @@ basic_streambuf<_CharT, _Traits>::~basic
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 locale
 basic_streambuf<_CharT, _Traits>::pubimbue(const locale& __loc)
 {
@@ -231,7 +231,7 @@ basic_streambuf<_CharT, _Traits>::pubimb
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 locale
 basic_streambuf<_CharT, _Traits>::getloc() const
 {
@@ -239,7 +239,7 @@ basic_streambuf<_CharT, _Traits>::getloc
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_streambuf<_CharT, _Traits>*
 basic_streambuf<_CharT, _Traits>::pubsetbuf(char_type* __s, streamsize __n)
 {
@@ -247,7 +247,7 @@ basic_streambuf<_CharT, _Traits>::pubset
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::pos_type
 basic_streambuf<_CharT, _Traits>::pubseekoff(off_type __off,
                                              ios_base::seekdir __way,
@@ -257,7 +257,7 @@ basic_streambuf<_CharT, _Traits>::pubsee
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::pos_type
 basic_streambuf<_CharT, _Traits>::pubseekpos(pos_type __sp,
                                              ios_base::openmode __which)
@@ -266,7 +266,7 @@ basic_streambuf<_CharT, _Traits>::pubsee
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 int
 basic_streambuf<_CharT, _Traits>::pubsync()
 {
@@ -274,7 +274,7 @@ basic_streambuf<_CharT, _Traits>::pubsyn
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 streamsize
 basic_streambuf<_CharT, _Traits>::in_avail()
 {
@@ -284,7 +284,7 @@ basic_streambuf<_CharT, _Traits>::in_ava
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::snextc()
 {
@@ -294,7 +294,7 @@ basic_streambuf<_CharT, _Traits>::snextc
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::sbumpc()
 {
@@ -304,7 +304,7 @@ basic_streambuf<_CharT, _Traits>::sbumpc
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::sgetc()
 {
@@ -314,7 +314,7 @@ basic_streambuf<_CharT, _Traits>::sgetc(
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 streamsize
 basic_streambuf<_CharT, _Traits>::sgetn(char_type* __s, streamsize __n)
 {
@@ -322,7 +322,7 @@ basic_streambuf<_CharT, _Traits>::sgetn(
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::sputbackc(char_type __c)
 {
@@ -332,7 +332,7 @@ basic_streambuf<_CharT, _Traits>::sputba
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::sungetc()
 {
@@ -342,7 +342,7 @@ basic_streambuf<_CharT, _Traits>::sunget
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 typename basic_streambuf<_CharT, _Traits>::int_type
 basic_streambuf<_CharT, _Traits>::sputc(char_type __c)
 {
@@ -353,7 +353,7 @@ basic_streambuf<_CharT, _Traits>::sputc(
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 streamsize
 basic_streambuf<_CharT, _Traits>::sputn(const char_type* __s, streamsize __n)
 {
@@ -411,7 +411,7 @@ basic_streambuf<_CharT, _Traits>::swap(b
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_streambuf<_CharT, _Traits>::gbump(int __n)
 {
@@ -419,7 +419,7 @@ basic_streambuf<_CharT, _Traits>::gbump(
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_streambuf<_CharT, _Traits>::setg(char_type* __gbeg, char_type* __gnext,
                                                           char_type* __gend)
@@ -430,7 +430,7 @@ basic_streambuf<_CharT, _Traits>::setg(c
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_streambuf<_CharT, _Traits>::pbump(int __n)
 {
@@ -438,7 +438,7 @@ basic_streambuf<_CharT, _Traits>::pbump(
 }
 
 template <class _CharT, class _Traits>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 void
 basic_streambuf<_CharT, _Traits>::setp(char_type* __pbeg, char_type* __pend)
 {

Modified: vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/sequences/vector.bool/find.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -15,6 +15,7 @@
 // http://llvm.org/bugs/show_bug.cgi?id=16816
 
 #include <vector>
+#include <algorithm>
 #include <cassert>
 
 int main()

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/load_factor.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cmath>
 #include <cfloat>
 
 #include "test_macros.h"
@@ -40,7 +41,7 @@ int main()
             P(80, "eighty"),
         };
         const C c(std::begin(a), std::end(a));
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_map<int, std::string> C;
@@ -64,7 +65,7 @@ int main()
             P(80, "eighty"),
         };
         const C c(std::begin(a), std::end(a));
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_map<int, std::string, std::hash<int>, std::equal_to<int>,

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -19,6 +19,7 @@
 #include <string>
 #include <cassert>
 #include <cfloat>
+#include <cmath>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -63,7 +64,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -103,7 +104,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -144,7 +145,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -19,6 +19,7 @@
 #include <string>
 #include <cassert>
 #include <cfloat>
+#include <cmath>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -63,7 +64,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #if __cplusplus >= 201103L
@@ -103,7 +104,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -19,6 +19,7 @@
 #include <string>
 #include <cassert>
 #include <cfloat>
+#include <cmath>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -58,7 +59,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #if __cplusplus >= 201103L
@@ -92,7 +93,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -19,6 +19,7 @@
 #include <string>
 #include <cassert>
 #include <cfloat>
+#include <cmath>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -59,7 +60,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #if __cplusplus >= 201103L
@@ -94,7 +95,7 @@ int main()
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
+        assert(std::fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif

Modified: vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
==============================================================================
--- vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp	Wed Jan 13 20:02:52 2016	(r293843)
+++ vendor/libc++/dist/test/std/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp	Wed Jan 13 20:04:50 2016	(r293844)
@@ -20,6 +20,7 @@
 #include <string>

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list