Description:
When decompiling a program, Reko (0.11.6.0) doesn't recover the complete control flow.
In the original code, the case 2 body is executed and "another local string" is eventually assigned to str.
But in the decompiled code, case 2 body is not shown, and "local string" is assigned to str instead.
Original code:
switch(i_l){ // i_l equals to 2
case 0:
i_l = 15;
break;
case 1:
s_l = 456;
break;
case 2:
str_l = str_l_alt; // "another local string"
break;
default:
l_l = 9876543;
break;
}
}
...
str = str_l;
Files:reko.zip
The original code, compiled program and the decompiled code are included.
The program is compiled by clang-12.
Unfortunately I don't have the optimization options used to compile the program,
but if you run it, it'll print out the string assigned to str ("another local string"),
which is not presented in the decompiled code.
Description: When decompiling a program, Reko (0.11.6.0) doesn't recover the complete control flow. In the original code, the
case 2
body is executed and"another local string"
is eventually assigned tostr
. But in the decompiled code,case 2
body is not shown, and"local string"
is assigned tostr
instead.Original code:
Decompiled code:
Files: reko.zip The original code, compiled program and the decompiled code are included. The program is compiled by clang-12. Unfortunately I don't have the optimization options used to compile the program, but if you run it, it'll print out the string assigned to
str
("another local string"
), which is not presented in the decompiled code.