diff options
author | Jo-Philipp Wich <jo@mein.io> | 2020-09-07 15:50:52 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2020-09-07 16:30:34 +0200 |
commit | a35469d34be384d3a5ae7b852acb6d980f6b702e (patch) | |
tree | bf94fae7176da654944e765ed5ae1ecc1b2a0fee /CMakeLists.txt | |
parent | dcf0d1285d12684a5907fecb8aadca7bc2e5f44b (diff) |
ast, eval, lexer: keep track of overflows when parsing numbers
This allows number literals that exceed the range INT64_MIN..INT64_MAX
to be truncated to the respective min and max values in a defined manner.
It also makes it possible to have the expression `{{ -9223372036854775808 }}`
actually result in `-9223372036854775808`. Since negation and number
declaration are separate operations, the value would be first truncated to
`9223372036854775807` and then negated, making it impossible to write a
literal INT64_MIN value without tracking the overflow.
Also fix the number parsing logic to not trucate intergers to 32bit.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Diffstat (limited to 'CMakeLists.txt')
0 files changed, 0 insertions, 0 deletions