Before, all if statements were managed by hidden %IF_VAR% and %ELSE_VAR% variables used as the conditions. This is because loops and if statements function identically in the backend, so if statements must have some way to exit the loop. This works perfectly for nested if statements, but the problem really arises with nested ifelse statements. Now, these variables are numbered as they are assembled into Asm by Mir, similarly to how instances of non-memcopy structures are assigned numbered hidden variables.
Before, all
if
statements were managed by hidden%IF_VAR%
and%ELSE_VAR%
variables used as the conditions. This is because loops and if statements function identically in the backend, so if statements must have some way to exit the loop. This works perfectly for nestedif
statements, but the problem really arises with nestedif
else
statements. Now, these variables are numbered as they are assembled intoAsm
byMir
, similarly to how instances of non-memcopy structures are assigned numbered hidden variables.