Limit maximum exponent in parsing of float/integer literals

This commit is contained in:
Jeroen van Rijn committed 2026-03-07 12:38:04 +01:00
1 parent a6cfde4373
commit 6434bf4b65
3 files changed
+27 -4

No files matched your search

+6 -1
View File
@@ -804,7 +804,12 @@ gb_internal ExactValue exact_value_from_token(AstFile *f, Token const &token) {
syntax_error(token, "Invalid integer literal");
break;
case Token_Float:
syntax_error(token, "Invalid float literal");
// NOTE(Jeroen): Could be an integer, see `exact_value_float_from_string`
if (!string_contains_char(s, '.') && !string_contains_char(s, '-')) {
syntax_error(token, "Invalid integer literal");
} else {
syntax_error(token, "Invalid float literal");
}
break;
default:
syntax_error(token, "Invalid token literal");