Fix unreachable-block removal.
Add a test for loop without a condition. Change-Id: Idd7fc462218a84b1e745207e2975a3f2897d30a0
This commit is contained in:
parent
9c6734c8df
commit
e537b8b488
5 changed files with 67 additions and 4 deletions
|
|
@ -852,7 +852,7 @@ void Builder::leaveFunction()
|
|||
if (unreachable) {
|
||||
// Given that this block is at the end of a function, it must be right after an
|
||||
// explicit return, just remove it.
|
||||
function.popBlock(block);
|
||||
function.removeBlock(block);
|
||||
} else {
|
||||
// We'll add a return instruction at the end of the current block,
|
||||
// which for a non-void function is really error recovery (?), as the source
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue