The PKL lexer in pkl-lex.l does not check for underflow/overflow while
generating integer tokens:
/* Note that strtol can't fail in this context. */
value = strtoll (yytext + offset, &end, base);
This means that large values (bigger than 64-bits) silently get
The solution for this is to check for underflow/overflow in the lexer
rules for both integers and offset units, and emit a warning about the
value being truncated.
This is fixed now. The lexer emits an error when the specified literal overflows its type, for both integers and offsets.