-
Notifications
You must be signed in to change notification settings - Fork 6.1k
Split fallback. #7385
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
Split fallback. #7385
Conversation
287c35b
to
5908bf0
Compare
f48dc89
to
beab816
Compare
94f88e5
to
96695eb
Compare
@@ -33,6 +33,7 @@ object \"C_6\" { | |||
} | |||
default { } | |||
} | |||
if iszero(calldatasize()) { } |
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.
This is optimized IR output - why isn't this removed?
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.
This does not look like optimized code in general. Maybe something is wrong with the optimizer there? The function fun_f_5
in the constructor, for example, should be removed.
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.
Ah, ok, the test is a bit confusing - it requests "irOptimized" via standard json, but does not actually enable yul optimization, so the code is in fact unoptimized... Should we run the yul optimizer by default, if "irOptimized" is requested? It's an issue separate from this PR in any case.
ec0a501
to
b61b57c
Compare
Taking this out of draft mode - it's not entirely ready, but I'd say it's getting close, and some review might be good. |
41eb4bd
to
3b0b8b1
Compare
d55d9d3
to
462e300
Compare
Rebased, needs review |
ed8aaad
to
c264c19
Compare
Ok, still override related test failures - I'll fix. |
32f1e7c
to
49afeab
Compare
Hopefully good now. |
125a85b
to
0d46dff
Compare
7a1898c
to
c63808d
Compare
@@ -13,5 +13,4 @@ contract n | |||
} | |||
// ---- | |||
// SyntaxError: (14-129): No visibility specified. Did you intend to add "external"? | |||
// TypeError: (14-129): Fallback function must be defined as "external". |
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.
Is this gone because we exit earlier?
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.
Yes, the order has changed due to the checks being moved from the contract level checker to the type checker (and the type checker exits early here).
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.
Fine apart from the small comments.
53dbcb1
to
4876434
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.
Good to merge after squashing.
4876434
to
3321fc5
Compare
Fixes #3198.
Main things missing:
What to do about solc-js and external tests? Update solc-js repo?
Recheck documentation.
Do we need more tests?