1
0

fix: try fix clang libcxx charconv issue.

- add compile checker in cmake to detect charconv support status.
- and expose macro for yycc to enable different part of charconv repectively to prevent duplicated defines.
This commit is contained in:
2026-01-23 14:37:21 +08:00
parent 09fea7e0a3
commit 71eb0741f6
13 changed files with 231 additions and 27 deletions

View File

@@ -0,0 +1,41 @@
#include <charconv>
#include <cstdint>
int main(int argc, char **argv) {
const char probe[] = "0";
const char* first = probe;
const char* last = first + sizeof(probe);
{
std::int8_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::int16_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::int32_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::int64_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::uint8_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::uint16_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::uint32_t value;
auto rv = std::from_chars(first, last, value, 10);
}
{
std::uint64_t value;
auto rv = std::from_chars(first, last, value, 10);
}
}