Ticket #80 (closed defect: fixed)
Evarista suffers from multiple bugs
| Reported by: | may | Owned by: | jfv |
|---|---|---|---|
| Priority: | major | Milestone: | v0.81 |
| Component: | ERESI | Version: | |
| Severity: | High | Keywords: | evarista foreach recursive |
| Cc: |
Description
4 bugs in evarista:
- The "functions" hash table sems badly filled because we cannot iterate on this hash table correctly from callgraph-walk.esh:21
- The loop iterator is empty during a "foreach" located in a recursive function, even though there are still elements in the iterator of the *caller* function (which was replaced by the *callee* iterator errnoneously) like at cfg-walk.esh:22.
- The current instruction list pointer must be updated in the "foreach" at each iteration, since it can have been modified in command "into" if the output was a (new) list of multiple instructions.
- The list of instructions is badly recomputed by an "into" command, which leads sometimes to want to transform an IR Instruction (which should never happens since we never translate a block twice for a given IR) located in the *current* transformed block.
