Author: marshall
Date: Sun Oct 25 14:34:04 2015
New Revision: 251252

URL: http://llvm.org/viewvc/llvm-project?rev=251252&view=rev
Log:
Add a test for LWG#2466: allocator_traits::max_size() default behavior is 
incorrect

Modified:
    libcxx/trunk/include/memory
    
libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
    libcxx/trunk/www/cxx1z_status.html

Modified: libcxx/trunk/include/memory
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=251252&r1=251251&r2=251252&view=diff
==============================================================================
--- libcxx/trunk/include/memory (original)
+++ libcxx/trunk/include/memory Sun Oct 25 14:34:04 2015
@@ -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

Modified: 
libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp?rev=251252&r1=251251&r2=251252&view=diff
==============================================================================
--- 
libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
 (original)
+++ 
libcxx/trunk/test/std/utilities/memory/allocator.traits/allocator.traits.members/max_size.pass.cpp
 Sun Oct 25 14:34:04 2015
@@ -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
     {

Modified: libcxx/trunk/www/cxx1z_status.html
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/cxx1z_status.html?rev=251252&r1=251251&r2=251252&view=diff
==============================================================================
--- libcxx/trunk/www/cxx1z_status.html (original)
+++ libcxx/trunk/www/cxx1z_status.html Sun Oct 25 14:34:04 2015
@@ -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>
 
 <!--


_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to