From e9a7d667ca0ac4f705595c2b26e40a6bd1c2df9f Mon Sep 17 00:00:00 2001 From: HedgehogInTheCPP Date: Tue, 18 Aug 2026 01:28:32 +0300 Subject: [PATCH] additional noexcept and fix for constexpr --- include/fast_float/ascii_number.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/include/fast_float/ascii_number.h b/include/fast_float/ascii_number.h index 310c13a..2eccec8 100644 --- a/include/fast_float/ascii_number.h +++ b/include/fast_float/ascii_number.h @@ -351,7 +351,7 @@ fastfloat_really_inline uint64_t x86_parse_16_digits(char const *p) noexcept { #endif // credit @hedgehoginthecpp -fastfloat_really_inline void FASTFLOAT_CONSTEXPR20 +fastfloat_really_inline FASTFLOAT_CONSTEXPR20 void parse_digits_until_19(char const *&p, char const *pend, am_mant_t &mantissa) { if (is_constant_evaluated()) { do { @@ -475,7 +475,7 @@ bool simd_parse_if_eight_digits_unrolled(UC const *, uint64_t &) { template ::value) = 0> fastfloat_really_inline FASTFLOAT_CONSTEXPR20 void -loop_parse_if_digits(UC const *&p, UC const *const pend, uint64_t &i) { +loop_parse_if_digits(UC const *&p, UC const *const pend, uint64_t &i) noexcept { if (!is_constant_evaluated()) { if FASTFLOAT_CONSTEXPR17 (has_simd_opt()) { while (std::distance(p, pend) >= 8 /*sizeof(uint64_t)*/ && @@ -495,7 +495,8 @@ loop_parse_if_digits(UC const *&p, UC const *const pend, uint64_t &i) { } fastfloat_really_inline FASTFLOAT_CONSTEXPR20 void -loop_parse_if_digits(char const *&p, char const *const pend, uint64_t &i) { +loop_parse_if_digits(char const *&p, char const *const pend, + uint64_t &i) noexcept { #if FASTFLOAT_X86_SIMD if (!is_constant_evaluated()) { #if FASTFLOAT_X86_SIMD >= 42