From 71b3bbb7698b13b42c99a4ca66c27db4a6189ff8 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Sat, 1 Aug 2026 16:05:51 +0200 Subject: Enforce integral values in slice ranges --- boot/lexer.ll | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'boot/lexer.ll') diff --git a/boot/lexer.ll b/boot/lexer.ll index 89fe85c..ba54433 100644 --- a/boot/lexer.ll +++ b/boot/lexer.ll @@ -174,7 +174,7 @@ to { return yy::parser::make_TRAIT(yytext + 1, this->location); } [[:digit:]]+u { - unsigned long result = strtoul(yytext, NULL, 10); + std::uint64_t result = strtoull(yytext, NULL, 10); if (errno == ERANGE) { @@ -186,7 +186,7 @@ to { } } [[:digit:]]+ { - long result = strtol(yytext, NULL, 10); + std::int64_t result = strtoll(yytext, NULL, 10); if (errno == ERANGE) { @@ -198,7 +198,7 @@ to { } } 0[x|X]{HIGIT}+ { - unsigned long result = strtoul(yytext, NULL, 16); + std::uint64_t result = strtoull(yytext, NULL, 16); if (errno == ERANGE) { @@ -210,7 +210,7 @@ to { } } 0[b|B]{BIGIT}+ { - unsigned long result = strtoul(yytext, NULL, 2); + std::uint64_t result = strtoull(yytext, NULL, 2); if (errno == ERANGE) { -- cgit v1.2.3