+2015-07-23 DJ Delorie <dj@redhat.com>
+
+ * include/bits/functional_hash.h: Add specializations for __intN
+ types.
+
+ * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
+ Guard against values that might exceed size_t's precision.
+
2015-07-20 Jason Merrill <jason@redhat.com>
* include/bits/c++config: Fix abi_tag in special modes.
/// Explicit specialization for unsigned long long.
_Cxx_hashtable_define_trivial_hash(unsigned long long)
+#ifdef __GLIBCXX_TYPE_INT_N_0
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_0)
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_0 unsigned)
+#endif
+#ifdef __GLIBCXX_TYPE_INT_N_1
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_1)
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_1 unsigned)
+#endif
+#ifdef __GLIBCXX_TYPE_INT_N_2
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_2)
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_2 unsigned)
+#endif
+#ifdef __GLIBCXX_TYPE_INT_N_3
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_3)
+ _Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_3 unsigned)
+#endif
+
#undef _Cxx_hashtable_define_trivial_hash
struct _Hash_impl
/* 21 */ 15126ul,
/* 22 */ 24476ul,
/* 23 */ 39602ul,
- /* 24 */ 64079ul,
+ /* 24 */ 64079ul
+#if __SIZE_MAX__ > 0xfffful
+ ,
/* 25 */ 103681ul,
/* 26 */ 167761ul,
/* 27 */ 271442ul,
/* 28 */ 439204ul,
- /* 29 */ 710646ul,
+ /* 29 */ 710646ul
+#if __SIZE_MAX__ > 0xffffful
+ ,
/* 30 */ 1149851ul,
/* 31 */ 1860497ul,
/* 32 */ 3010349ul,
/* 33 */ 4870846ul,
/* 34 */ 7881196ul,
- /* 35 */ 12752042ul,
+ /* 35 */ 12752042ul
+#if __SIZE_MAX__ > 0xfffffful
+ ,
/* 36 */ 20633239ul,
/* 37 */ 33385282ul,
/* 38 */ 54018521ul,
/* 45 */ 1568397607ul,
/* 46 */ 2537720636ul,
/* 47 */ 4106118243ul
+#endif
+#endif
+#endif
/* Pot's good, let's play */
};