Releases: fjl/geas
Releases · fjl/geas
v0.2
Macro definition language change
Expresssion macro definitions must now contain an equals sign (=) before the body expresssion.
New definition syntax:
#define macro1 = 1
#define macro2(a) = (100 + $a) / b
Note the old syntax without '=' is still accepted, but produces a warning.
EVM target
You can now declare the EVM version the program should be compiled for.
Use the #pragma target
directive to change the target instruction set.
#pragma target "berlin"
All past forks up to "prague" are supported.
Other changes in this release
- Binary operator precedence is now implemented.
- Unused label detection: geas will now warn you about labels which are defined but never used.
- Unreachable code detection: a warning will also be issued for code that can never be reached
by the EVM, e.g. instructions after JUMP or STOP.