-
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
Semantic tests via IR #14511
Semantic tests via IR #14511
Conversation
…nning on exceptions
…timization level that avoids "Stack too deep"
- After the test framework changes it fails via Yul on Homestead but passes on all other EVM versions and on legacy. The test itself does not seem to be testing these specific numbers so and increasing them resolves the problem.
...ibsolidity/semanticTests/abiEncoderV2/abi_encode_v2_in_function_inherited_in_v1_contract.sol
Show resolved
Hide resolved
…ut rerunning on exceptions
Nice, I was hoping that'd happen! The only reason why we may want to keep the setting would be if we ever have a bug involving a recursive function (for which we can't do stack-to-memory) and which will only compile with optimizer... Given that, if it's not too much of a hassle to address #14511 (comment) (if that comment is actually even true), we can keep the setting for now, even though it's currently a bit of an unnecessarily complication. (But I'd also not object to removing it.) |
…ut rerunning on exceptions
Sure, I have no issue with keeping it and I also already fixed the problem you found. |
Some jobs are failing but this looks like some CircleCI breakage, not a problem with the PR:
|
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.
lgtm
Resolves #12668.
The PR is a revival of #11949, with some adjustments.
In the end, it turned out that thanks to #13972 none of our tests actually needs the newly introduced settings at the moment. Not even at the
minimalStack
level. I left it in, but I could also easily remove it by dropping the two middle commits.The complications I ran into were of a completely different nature: #14500 and one weird failure on homestead which I initially tried to debug but eventually resolved simply by increasing the gas values used in the test.