diff options
| author | Marshall Clow <mclow.lists@gmail.com> | 2015-10-25 19:34:04 +0000 |
|---|---|---|
| committer | Marshall Clow <mclow.lists@gmail.com> | 2015-10-25 19:34:04 +0000 |
| commit | b631c24359c8299d570786abc6fe81920d97c67b (patch) | |
| tree | d7fe25c91256ae679afe389c7654afc3ea08b616 | |
| parent | 15c4c4604fdfce7ab7c7c78c6bd2363edd7da3c0 (diff) | |
| download | bcm5719-llvm-b631c24359c8299d570786abc6fe81920d97c67b.tar.gz bcm5719-llvm-b631c24359c8299d570786abc6fe81920d97c67b.zip | |
Add a test for LWG#2466: allocator_traits::max_size() default behavior is incorrect
llvm-svn: 251252
| -rw-r--r-- | libcxx/include/memory | 2 | ||||
| -rw-r--r-- | libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp | 4 | ||||
| -rw-r--r-- | libcxx/www/cxx1z_status.html | 3 |
3 files changed, 4 insertions, 5 deletions
diff --git a/libcxx/include/memory b/libcxx/include/memory index 97ad440367b..04d57d5d7f0 100644 --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -1678,7 +1678,7 @@ private: {return __a.max_size();} _LIBCPP_INLINE_VISIBILITY static size_type __max_size(false_type, const allocator_type&) - {return numeric_limits<size_type>::max();} + {return numeric_limits<size_type>::max() / sizeof(value_type);} _LIBCPP_INLINE_VISIBILITY static allocator_type diff --git a/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp b/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp index 1fa7291203e..352c7c8d0ca 100644 --- a/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp +++ b/libcxx/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp @@ -45,12 +45,12 @@ int main() { A<int> a; assert(std::allocator_traits<A<int> >::max_size(a) == - std::numeric_limits<std::size_t>::max()); + std::numeric_limits<std::size_t>::max() / sizeof(int)); } { const A<int> a = {}; assert(std::allocator_traits<A<int> >::max_size(a) == - std::numeric_limits<std::size_t>::max()); + std::numeric_limits<std::size_t>::max() / sizeof(int)); } #endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE { diff --git a/libcxx/www/cxx1z_status.html b/libcxx/www/cxx1z_status.html index 1df7401e28b..5f582f1c70e 100644 --- a/libcxx/www/cxx1z_status.html +++ b/libcxx/www/cxx1z_status.html @@ -172,7 +172,7 @@ <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2435">2435</a></td><td><tt>reference_wrapper::operator()</tt>'s Remark should be deleted</td><td>Kona</td><td>Complete</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2447">2447</a></td><td>Allocators and <tt>volatile</tt>-qualified value types</td><td>Kona</td><td>Complete</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2462">2462</a></td><td><tt>std::ios_base::failure</tt> is overspecified</td><td>Kona</td><td>Complete</td></tr> - <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2466">2466</a></td><td><tt>allocator_traits::max_size()</tt> default behavior is incorrect</td><td>Kona</td><td>Patch Ready</td></tr> + <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2466">2466</a></td><td><tt>allocator_traits::max_size()</tt> default behavior is incorrect</td><td>Kona</td><td>Complete</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2469">2469</a></td><td>Wrong specification of Requires clause of <tt>operator[]</tt> for <tt>map</tt> and <tt>unordered_map</tt></td><td>Kona</td><td></td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2473">2473</a></td><td><tt>basic_filebuf</tt>'s relation to C <tt>FILE</tt> semantics</td><td>Kona</td><td>Complete</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2476">2476</a></td><td><tt>scoped_allocator_adaptor</tt> is not assignable</td><td>Kona</td><td>Patch Ready</td></tr> @@ -184,7 +184,6 @@ <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2487">2487</a></td><td><tt>bind()</tt> should be <tt>const</tt>-overloaded, not <i>cv</i>-overloaded</td><td>Kona</td><td>Complete</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2489">2489</a></td><td><tt>mem_fn()</tt> should be <tt>noexcept</tt></td><td>Kona</td><td>Patch Ready</td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2492">2492</a></td><td>Clarify requirements for <tt>comp</tt></td><td>Kona</td><td>Complete</td></tr> - <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2494">2494</a></td><td>[fund.ts.v2] <tt>ostream_joiner</tt> needs <tt>noexcept</tt></td><td>Kona</td><td></td></tr> <tr><td><a href="http://cplusplus.github.io/LWG/lwg-defects.html#2495">2495</a></td><td>There is no such thing as an Exception Safety element</td><td>Kona</td><td></td></tr> <!-- |

