Conversation
8633615 to
086ef89
Compare
|
This can be merged in the current state. |
|
Consider merging #3030 and rebase this after. |
|
Is #3030 in conflict with this? |
58a150a to
aa5f7b8
Compare
| class FunctionTypeName; | ||
| class Mapping; | ||
| class ArrayTypeName; | ||
| class InlineAssembly; |
There was a problem hiding this comment.
It doesn't seem to be used in this PR, but it was missing anyway.
|
Should this be reviewed/merged or #3032? |
|
#3032 is an extension of this. Please review this one. |
|
This is failing tests though: |
|
Cherry-picked a commit from #3032 that should fix the tests. |
|
The remaining failure seems to be a travis issue. |
|
Any reasonable way to split this? It seems to do a lot of different improvements. |
|
Can you review the individual commits? "track variables" is probably the largest. I can try to split it up, but I fear it will be a lot of work. |
|
I think I can pull out the renaming and the exceptions easily, the rest is mushy to me at the moment at least. Based on the tests it seems it supports at least more variables, branching, bools. |
libsolidity/formal/Z3Interface.cpp
Outdated
| {"+", 2}, | ||
| {"-", 2}, | ||
| {"*", 2}, | ||
| {">=", 2} |
|
Rebased on #3091. |
916f56f to
ff1eaea
Compare
|
@chriseth you've pushed an old version over the rebased one. Any reason for it? In any case, please rebase. |
|
You mean I rebased on top of an old version? Sorry, I don't know why that happened. I hope I did not lose any commits. Fixing... |
|
I've rebased it on top of the cleanup branch, but hasn't changed anything. It should be safe as long as you had the last version before that :) |
ff1eaea to
acaaccf
Compare
|
Are there are any asserts which should be |
|
I will take a look at the next iteration. |
|
@axic can this be merged? We already have two other finished pull requests waiting on top of this one. |
|
Rebased before merging as it was fairly old (had circleci too). |
This can now handle conditions and while loops. It checks for conditions being constant and correctly erases knowledge about local variables at control flow join paths.