diff --git a/include/fmt/format.h b/include/fmt/format.h index dfeb4539..8fec6c18 100644 --- a/include/fmt/format.h +++ b/include/fmt/format.h @@ -809,19 +809,13 @@ FMT_CONSTEXPR bool is_supported_floating_point(T) { (std::is_same::value && FMT_USE_LONG_DOUBLE); } -#if FMT_REDUCE_INT_INSTANTIATIONS -// Pick the largest integer container to represent all values of T. -template -using uint32_or_64_or_128_t = - conditional_t; -#else // Smallest of uint32_t, uint64_t, uint128_t that is large enough to -// represent all values of T. +// represent all values of an integral type T. template using uint32_or_64_or_128_t = - conditional_t() <= 32, uint32_t, + conditional_t() <= 32 && !FMT_REDUCE_INT_INSTANTIATIONS, + uint32_t, conditional_t() <= 64, uint64_t, uint128_t>>; -#endif // 128-bit integer type used internally struct uint128_wrapper {