-
-
Notifications
You must be signed in to change notification settings - Fork 609
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
fix Issue 19384 - [Codegen] Address of stack temporary is returned #11701
Conversation
|
Thanks for your pull request, @WalterBright! Bugzilla references
|
95b619a to
d7ec2bd
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.
This should probably target stable though
d7ec2bd to
d8d294f
Compare
|
It's marked as critical, but has been there for probably 15 years. It's an ugly bug, but pretty hard to trigger. |
|
@WalterBright why the self merge? |
|
How does this fix work? |
| if (ve.var == func.vresult) | ||
| goto Lskip; | ||
| } | ||
| } |
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 the best advert for a ?. operator or similar I've seen in a while.
if (s.exp.isBklitExp()?.e1.isVarExp()?.var == func.vresult)
goto Lskip;
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.
regardless of ?.
Even when stated in one line I am still not sure what this actually matches.
No description provided.