Skip to content
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

Merged
merged 3 commits into from
Jan 30, 2025
Merged

Conversation

rodiazet
Copy link
Contributor

@rodiazet rodiazet commented Dec 19, 2024

  • Compile syntax test via IR by default when EOF enabled.
  • Disable syntax tests which won't work with EOF when compiling to flag EOF enabled.

Depends on:
#15783 Merged
#15784 Merged

This comment was marked as resolved.

Copy link
Member

@cameel cameel left a 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.

@rodiazet rodiazet force-pushed the eof-syntax-tests-update branch 6 times, most recently from 4abb38e to a451567 Compare January 24, 2025 10:22
cameel
cameel previously approved these changes Jan 27, 2025
Copy link
Member

@cameel cameel left a 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 and auxdataloadn in inline assembly (+tests)
  • strictAssemblyForEVMObjects() fix in validateInstructions()
  • Assert/error tweaks:
    • Proper error for "Jump too far"
    • Asserts against missing analysis checks for gasleft, selfdestruct, code, codehash, etc

@rodiazet rodiazet force-pushed the eof-syntax-tests-update branch from a451567 to 5865e14 Compare January 27, 2025 13:10
@rodiazet rodiazet force-pushed the eof-syntax-tests-update branch 4 times, most recently from d12d282 to 958f40e Compare January 28, 2025 15:06
@rodiazet rodiazet force-pushed the eof-syntax-tests-update branch from 958f40e to 4340ffd Compare January 28, 2025 20:08
cameel
cameel previously approved these changes Jan 30, 2025
@cameel cameel enabled auto-merge January 30, 2025 15:07
@cameel cameel merged commit f01fd51 into ethereum:develop Jan 30, 2025
72 of 73 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants