Skip to content

Commit 708edac

Browse files
committed
Fix MyARG.UnCilTernaryIntra returning duplicate edge and node
Instead their paths should just be concatenated. Introduced in b8b6041.
1 parent c630eae commit 708edac

File tree

1 file changed

+1
-2
lines changed

1 file changed

+1
-2
lines changed

src/arg/myARG.ml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,7 @@ struct
366366
| [(Assign (v_true, e_true), if_true_next_next_n, if_true_next_next_ps)], [(Assign (v_false, e_false), if_false_next_next_n, if_false_next_next_ps)] when v_true = v_false && Node.equal if_true_next_next_n if_false_next_next_n ->
367367
let exp = ternary e_cond e_true e_false in
368368
Some [
369-
(Assign (v_true, exp), if_true_next_next_n, cartesian_concat_paths if_true_next_ps if_true_next_next_ps);
370-
(Assign (v_false, exp), if_false_next_next_n, cartesian_concat_paths if_false_next_ps if_false_next_next_ps)
369+
(Assign (v_true, exp), if_true_next_next_n, cartesian_concat_paths if_true_next_ps if_true_next_next_ps @ cartesian_concat_paths if_false_next_ps if_false_next_next_ps) (* concat two different path families with same variable to same node *)
371370
]
372371
| _, _ -> None
373372
else

0 commit comments

Comments
 (0)