-
-
Notifications
You must be signed in to change notification settings - Fork 271
Fix evaluation order issues (continuation of #1620) #1623
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
Merged
Merged
Changes from 14 commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
cb15d21
Fix evaluation order of bitwise operators
JohanEngelen f5935ff
Fix evaluation order of bitwise-assign operators.
JohanEngelen e4dec4d
Deduplicate code for multiply, divide, and module. [NFC]
JohanEngelen f9f373e
Fix evaluation order of =* =/ and =%
JohanEngelen 52bddf2
Fix evaluation order of `+=` and `-=`, and update testsuite.
JohanEngelen 8ba8baf
Fix bug: remove casts that snuck in from bitwise operator code.
JohanEngelen c44db68
Fix another evaluation order bug with `@=` expressions and extend the…
JohanEngelen df34beb
Refactor binops and binassigns
kinke 7e770f7
Refactor bitwise binary operators
kinke 88b19d3
Binassign: Elide apparently superfluous cast
kinke d6dcc7a
Enforce type consistency for most DValues
kinke add49d5
Fix evaluation order for pointer += and -=
kinke ffaeb09
Binassign: Always use the lvalue subexpression for the binop lhs
kinke 951040c
Get rid of local AST pre-evaluation
kinke 2a0a663
Clarify some non-obvious points wrt. binops/binassign
kinke File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
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.
Does it really buy us anything to make this a template? It seems like inlining should be sufficient, even if this was performance critical.
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.
Yeah no need for a template here anymore.