1
Fork 0
mirror of https://https.git.savannah.gnu.org/git/guix.git/ synced 2025-07-14 11:00:36 +02:00
guix/gnu/packages/patches/scn-fast-float-compat.patch
Liliana Marie Prikler b32a47f26c
gnu: Add scn.
* gnu/packages/patches/scn-fast-float-compat.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it here.
* gnu/packages/cpp.scm (scn): New variable.
2025-06-06 22:39:02 +02:00

48 lines
No EOL
2.1 KiB
Diff

From 144a590f6c7861101579069e89dfb1db0ddfec25 Mon Sep 17 00:00:00 2001
From: Elias Kosunen <elias.kosunen@gmail.com>
Date: Wed, 21 May 2025 23:59:59 +0300
Subject: [PATCH] Fix incompatibility with newer fast_float
---
benchmark/runtime/float/repeated.cpp | 1 -
benchmark/runtime/float/single.cpp | 1 -
src/scn/impl.cpp | 6 ++++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/benchmark/runtime/float/repeated.cpp b/benchmark/runtime/float/repeated.cpp
index 0aa0c39a..8a4de0a1 100644
--- a/benchmark/runtime/float/repeated.cpp
+++ b/benchmark/runtime/float/repeated.cpp
@@ -210,4 +210,3 @@ static void scan_float_repeated_fastfloat(benchmark::State& state)
}
BENCHMARK_TEMPLATE(scan_float_repeated_fastfloat, float);
BENCHMARK_TEMPLATE(scan_float_repeated_fastfloat, double);
-BENCHMARK_TEMPLATE(scan_float_repeated_fastfloat, long double);
diff --git a/benchmark/runtime/float/single.cpp b/benchmark/runtime/float/single.cpp
index e06cd138..6819621b 100644
--- a/benchmark/runtime/float/single.cpp
+++ b/benchmark/runtime/float/single.cpp
@@ -185,4 +185,3 @@ static void scan_float_single_fastfloat(benchmark::State& state)
}
BENCHMARK_TEMPLATE(scan_float_single_fastfloat, float);
BENCHMARK_TEMPLATE(scan_float_single_fastfloat, double);
-BENCHMARK_TEMPLATE(scan_float_single_fastfloat, long double);
diff --git a/src/scn/impl.cpp b/src/scn/impl.cpp
index a36117d8..1e38f1f4 100644
--- a/src/scn/impl.cpp
+++ b/src/scn/impl.cpp
@@ -723,10 +723,12 @@ struct fast_float_impl_base : impl_base {
{
unsigned format_flags{};
if ((m_options & float_reader_base::allow_fixed) != 0) {
- format_flags |= fast_float::fixed;
+ format_flags |=
+ static_cast<unsigned>(fast_float::chars_format::fixed);
}
if ((m_options & float_reader_base::allow_scientific) != 0) {
- format_flags |= fast_float::scientific;
+ format_flags |=
+ static_cast<unsigned>(fast_float::chars_format::scientific);
}
return static_cast<fast_float::chars_format>(format_flags);