Some EOF-specific Yul builtin names are reserved even outside of EOF #15672
Labels
bug 🐛
low effort
There is not much implementation work to be done. The task is very easy or tiny.
medium impact
Default level of impact
should compile without error
Error is reported even though it shouldn't. Source is fine.
Milestone
Originally mentioned in #15559 (comment)
Description
The following identifiers recently started being treated as reserved in Yul:
dataloadn
,eofcreate
,returncontract
,rjump
,rjumpi
,callf
,jumpf
,retf
. They should only be reserved on EOF. This is an unintentional change that was missed in #15456, #15550, #15547 and #15512.This is a breaking change and must be reverted as soon as possible. Fortunately it did not make it into any released compiler version yet.
To verify that all opcodes are properly hidden outside of EOF, please create the tests I described in #15559 (comment).
Note that it's just the names that are reserved. The builtins themselves are not actually available outside of EOF (except for jumps, but this was already corrected in #15599).
Environment
develop
)Steps to Reproduce
test.yul
:The text was updated successfully, but these errors were encountered: