typedef __true_type __type; \
};
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#ifdef __GLIBCXX_TYPE_INT_N_0
__INT_N(__GLIBCXX_TYPE_INT_N_0)
#endif
__INT_N(__GLIBCXX_TYPE_INT_N_3)
#endif
+#pragma GCC diagnostic pop
+
#undef __INT_N
//
/// Explicit specialization for unsigned long long.
_Cxx_hashtable_define_trivial_hash(unsigned long long)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#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)
_Cxx_hashtable_define_trivial_hash(__GLIBCXX_TYPE_INT_N_3 unsigned)
#endif
+#pragma GCC diagnostic pop
+
#undef _Cxx_hashtable_define_trivial_hash
struct _Hash_impl
class __max_diff_type;
class __max_size_type;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
template<typename _Tp>
concept __is_signed_int128
#if __SIZEOF_INT128__
= false;
#endif
+#pragma GCC diagnostic pop
+
template<typename _Tp>
concept __cv_bool = same_as<const volatile _Tp, const volatile bool>;
#endif
#if __SIZEOF_INT128__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
using __rep = unsigned __int128;
+#pragma GCC diagnostic pop
#else
using __rep = unsigned long long;
#endif
static constexpr bool is_integer = true;
static constexpr bool is_exact = true;
#if __SIZEOF_INT128__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
static_assert(same_as<_Sp::__rep, unsigned __int128>);
+#pragma GCC diagnostic pop
static constexpr int digits = 129;
#else
static_assert(same_as<_Sp::__rep, unsigned long long>);
{ return __builtin_fabsl(__x); }
#endif
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#if defined(__GLIBCXX_TYPE_INT_N_0)
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0
abs(__GLIBCXX_TYPE_INT_N_0 __x) { return __x >= 0 ? __x : -__x; }
{ return __x < 0 ? -__x : __x; }
#endif
+#pragma GCC diagnostic pop
+
_GLIBCXX_END_NAMESPACE_VERSION
} // namespace
} // extern "C"++"
inline _GLIBCXX_CONSTEXPR unsigned long long
__size_to_integer(unsigned long long __n) { return __n; }
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#if defined(__GLIBCXX_TYPE_INT_N_0)
inline _GLIBCXX_CONSTEXPR __GLIBCXX_TYPE_INT_N_0
__size_to_integer(__GLIBCXX_TYPE_INT_N_0 __n) { return __n; }
__size_to_integer(unsigned __GLIBCXX_TYPE_INT_N_3 __n) { return __n; }
#endif
+#pragma GCC diagnostic pop
+
inline _GLIBCXX_CONSTEXPR long long
__size_to_integer(float __n) { return (long long)__n; }
inline _GLIBCXX_CONSTEXPR long long
#if defined __UINT64_TYPE__ && defined __UINT32_TYPE__
#if __SIZEOF_INT128__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
if _GLIBCXX17_CONSTEXPR (__urngrange == __UINT64_MAX__)
{
// __urng produces values that use exactly 64-bits,
__ret = _S_nd<unsigned __int128>(__urng, __u64erange);
}
else
+#pragma GCC diagnostic pop
#endif
if _GLIBCXX17_CONSTEXPR (__urngrange == __UINT32_MAX__)
{
#endif
#if defined __STRICT_ANSI__ && defined __SIZEOF_INT128__
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
// In strict modes __is_integer<__int128> is false,
// but we still want to define __numeric_traits_integer<__int128>.
_GLIBCXX_INT_N_TRAITS(__int128, 128)
+#pragma GCC diagnostic pop
#endif
#undef _GLIBCXX_INT_N_TRAITS
struct __is_integral_helper<unsigned long long>
: public true_type { };
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
// Conditionalizing on __STRICT_ANSI__ here will break any port that
// uses one of these types for size_t.
#if defined(__GLIBCXX_TYPE_INT_N_0)
struct __is_integral_helper<unsigned __GLIBCXX_TYPE_INT_N_3>
: public true_type { };
#endif
+#pragma GCC diagnostic pop
/// @endcond
/// is_integral
template<typename _Tp, typename... _Types>
using __is_one_of = __or_<is_same<_Tp, _Types>...>;
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
// Check if a type is one of the signed integer types.
template<typename _Tp>
using __is_signed_integer = __is_one_of<__remove_cv_t<_Tp>,
, unsigned __GLIBCXX_TYPE_INT_N_3
#endif
>;
+#pragma GCC diagnostic pop
// Check if a type is one of the signed or unsigned integer types.
template<typename _Tp>
struct __make_unsigned<long long>
{ typedef unsigned long long __type; };
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#if defined(__GLIBCXX_TYPE_INT_N_0)
template<>
struct __make_unsigned<__GLIBCXX_TYPE_INT_N_0>
{ typedef unsigned __GLIBCXX_TYPE_INT_N_3 __type; };
#endif
+#pragma GCC diagnostic pop
+
// Select between integral and enum: not possible to be both.
template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value,
struct __make_signed<unsigned long long>
{ typedef signed long long __type; };
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wpedantic"
+
#if defined(__GLIBCXX_TYPE_INT_N_0)
template<>
struct __make_signed<unsigned __GLIBCXX_TYPE_INT_N_0>
{ typedef __GLIBCXX_TYPE_INT_N_3 __type; };
#endif
+#pragma GCC diagnostic pop
+
// Select between integral and enum: not possible to be both.
template<typename _Tp,
bool _IsInt = is_integral<_Tp>::value,