This was found while writing the if_else_statement unit test in #275. In the C file for that test, notice that variable a is assigned in the else branch, but it does not appear as the output of an assignment node in the GrFN. Furthermore, as a was assigned, it should come out of the interface block, but it does not. The CAST correctly has the assignment of a in the else branch of the first conditional.
Excerpt of relevant code:
if (a < b) {
x = b;
b = a;
}
// else should be taken
else {
x = a;
a = b;
}
This was found while writing the
if_else_statement
unit test in #275. In theC
file for that test, notice that variablea
is assigned in theelse
branch, but it does not appear as the output of an assignment node in the GrFN. Furthermore, asa
was assigned, it should come out of the interface block, but it does not. The CAST correctly has the assignment ofa
in the else branch of the first conditional.Excerpt of relevant code:
Here are the CAST and GrFN pdfs created from the
C
file: if_else_statement--CAST.pdf if_else_statement--GrFN.pdf