Author: ericwf
Date: Sun Apr 17 21:54:00 2016
New Revision: 266587

URL: http://llvm.org/viewvc/llvm-project?rev=266587&view=rev
Log:
Add hash specializations for __int128_t. Fixes LWG issue 2119

Modified:
    libcxx/trunk/include/functional
    
libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
    libcxx/trunk/www/cxx1z_status.html

Modified: libcxx/trunk/include/functional
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/functional?rev=266587&r1=266586&r2=266587&view=diff
==============================================================================
--- libcxx/trunk/include/functional (original)
+++ libcxx/trunk/include/functional Sun Apr 17 21:54:00 2016
@@ -2473,6 +2473,22 @@ struct _LIBCPP_TYPE_VIS_ONLY hash<unsign
 {
 };
 
+#ifndef _LIBCPP_HAS_NO_INT128
+
+template <>
+struct _LIBCPP_TYPE_VIS_ONLY hash<__int128_t>
+    : public __scalar_hash<__int128_t>
+{
+};
+
+template <>
+struct _LIBCPP_TYPE_VIS_ONLY hash<__uint128_t>
+    : public __scalar_hash<__uint128_t>
+{
+};
+
+#endif
+
 template <>
 struct _LIBCPP_TYPE_VIS_ONLY hash<float>
     : public __scalar_hash<float>

Modified: 
libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp?rev=266587&r1=266586&r2=266587&view=diff
==============================================================================
--- 
libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp 
(original)
+++ 
libcxx/trunk/test/std/utilities/function.objects/unord.hash/integral.pass.cpp 
Sun Apr 17 21:54:00 2016
@@ -67,7 +67,7 @@ int main()
        test<int16_t>();
        test<int32_t>();
        test<int64_t>();
-       
+
        test<int_fast8_t>();
        test<int_fast16_t>();
        test<int_fast32_t>();
@@ -80,12 +80,12 @@ int main()
 
     test<intmax_t>();
     test<intptr_t>();
-       
+
        test<uint8_t>();
        test<uint16_t>();
        test<uint32_t>();
        test<uint64_t>();
-       
+
        test<uint_fast8_t>();
        test<uint_fast16_t>();
        test<uint_fast32_t>();
@@ -98,4 +98,9 @@ int main()
 
     test<uintmax_t>();
     test<uintptr_t>();
+
+#ifndef _LIBCPP_HAS_NO_INT128
+    test<__int128_t>();
+    test<__uint128_t>();
+#endif
 }

Modified: libcxx/trunk/www/cxx1z_status.html
URL: 
http://llvm.org/viewvc/llvm-project/libcxx/trunk/www/cxx1z_status.html?rev=266587&r1=266586&r2=266587&view=diff
==============================================================================
--- libcxx/trunk/www/cxx1z_status.html (original)
+++ libcxx/trunk/www/cxx1z_status.html Sun Apr 17 21:54:00 2016
@@ -167,7 +167,7 @@
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2072";>2072</a></td><td>Unclear
 wording about capacity of temporary 
buffers</td><td>Kona</td><td>Complete</td></tr>
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2101";>2101</a></td><td>Some
 transformation types can produce impossible 
types</td><td>Kona</td><td>Complete</td></tr>
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2111";>2111</a></td><td>Which
 <tt>unexpected</tt>&#47;<tt>terminate</tt> handler is called from the 
exception handling runtime?</td><td>Kona</td><td>Complete</td></tr>
-       <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2119";>2119</a></td><td>Missing
 <tt>hash</tt> specializations for extended integer 
types</td><td>Kona</td><td></td></tr>
+       <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2119";>2119</a></td><td>Missing
 <tt>hash</tt> specializations for extended integer 
types</td><td>Kona</td><td>Complete</td></tr>
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2127";>2127</a></td><td>Move-construction
 with <tt>raw_storage_iterator</tt></td><td>Kona</td><td>Complete</td></tr>
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2133";>2133</a></td><td>Attitude
 to overloaded comma for iterators</td><td>Kona</td><td>Complete</td></tr>
        <tr><td><a 
href="http://cplusplus.github.io/LWG/lwg-defects.html#2156";>2156</a></td><td>Unordered
 containers' <tt>reserve(n)</tt> reserves for <tt>n-1</tt> 
elements</td><td>Kona</td><td>Complete</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