From 4def0b096dd70a0572a3e7379792a99d00386a0b Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 7 Jan 2026 14:47:49 +0300 Subject: [PATCH] Fix parsing half-floats on non-clang --- libs/parser/rules/pslang.y | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libs/parser/rules/pslang.y b/libs/parser/rules/pslang.y index 17541d2..a4148b6 100644 --- a/libs/parser/rules/pslang.y +++ b/libs/parser/rules/pslang.y @@ -57,7 +57,11 @@ template else value = std::strtoull(str.data(), nullptr, 10); #else - auto result = std::from_chars(str.data(), str.data() + str.size(), value); + std::from_chars_result result; + if constexpr (std::is_same_v) + result = std::from_chars(str.data(), str.data() + str.size(), value.repr); + else + result = std::from_chars(str.data(), str.data() + str.size(), value); if (result.ec != std::errc()) throw std::system_error(std::make_error_code(result.ec)); #endif