-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
eof: Syntax tests update #15661
eof: Syntax tests update #15661
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that in some cases here just disabling the test on EOF is not the right solution. Some of them should have EOF version, some can be adjusted to work on both. I even found some that shouldn't need to be disabled because they seem work on both already.
There are also cases which indicate that we're missing some codegen asserts (and analysis checks). And even one case which is a result of a previously undiscovered unimplemented part of the IR codegen.
test/libsolidity/syntaxTests/functionCalls/calloptions_on_delegatecall.sol
Outdated
Show resolved
Hide resolved
test/libsolidity/syntaxTests/functionCalls/lowlevel_call_options.sol
Outdated
Show resolved
Hide resolved
test/libsolidity/syntaxTests/inlineAssembly/hex_switch_case.sol
Outdated
Show resolved
Hide resolved
test/libsolidity/syntaxTests/inlineAssembly/assignment_from_library.sol
Outdated
Show resolved
Hide resolved
5969f81
to
9072b2e
Compare
...olidity/syntaxTests/functionTypes/external_functions_with_variable_number_of_stack_slots.sol
Outdated
Show resolved
Hide resolved
...y/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_disallowed_pure_byzantium.sol
Outdated
Show resolved
Hide resolved
...libsolidity/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_disallowed_view.sol
Outdated
Show resolved
Hide resolved
...libsolidity/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_disallowed_pure.sol
Show resolved
Hide resolved
4abb38e
to
a451567
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine overall, just a few more things to clean up.
But the PR has accumulated a few non-testing changes and I think those should be merged as separate PRs. The PR list basically is the closest we have to a changelog for EOF while it's still experimental and including them here hides them too much IMO (and there are too many of them to just put that in the title). Specifically:
- Disallowing of
eofcreate
andauxdataloadn
in inline assembly (+tests) strictAssemblyForEVMObjects()
fix invalidateInstructions()
- Assert/error tweaks:
- Proper error for "Jump too far"
- Asserts against missing analysis checks for
gasleft
,selfdestruct
,code
,codehash
, etc
test/libsolidity/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_allowed_pure.sol
Outdated
Show resolved
Hide resolved
test/libsolidity/syntaxTests/viewPureChecker/call_options_without_call.sol
Outdated
Show resolved
Hide resolved
...libsolidity/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_disallowed_pure.sol
Outdated
Show resolved
Hide resolved
a451567
to
5865e14
Compare
d12d282
to
958f40e
Compare
958f40e
to
4340ffd
Compare
...libsolidity/syntaxTests/viewPureChecker/eof/inline_assembly_instructions_disallowed_pure.sol
Show resolved
Hide resolved
4340ffd
to
52a2557
Compare
Depends on:
#15783Merged#15784Merged