From 3f2fd06514c5ecadf123e455bf9d7d5e193c605a Mon Sep 17 00:00:00 2001 From: Evil Eye Date: Sun, 17 Aug 2025 11:26:30 +0200 Subject: [PATCH] Work around Apple Clang --- components/fx/lexer.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/components/fx/lexer.cpp b/components/fx/lexer.cpp index e2759e7af0..07d7f060a4 100644 --- a/components/fx/lexer.cpp +++ b/components/fx/lexer.cpp @@ -1,9 +1,14 @@ #include "lexer.hpp" #include -#include #include +#ifndef __cpp_lib_to_chars +#include +#else +#include +#endif + namespace Fx { namespace Lexer @@ -289,8 +294,14 @@ namespace Fx Token Lexer::scanNumber() { double buffer; +#ifndef __cpp_lib_to_chars + char* endPtr = nullptr; + buffer = std::strtod(mHead, &endPtr); + if (endPtr == nullptr || endPtr == mHead) +#else const auto [endPtr, ec] = std::from_chars(mHead, mTail, buffer); if (ec != std::errc()) +#endif error("critical error while parsing number"); std::string_view literal(mHead, endPtr);