Fix unreachable-block removal.

Add a test for loop without a condition.

Change-Id: Idd7fc462218a84b1e745207e2975a3f2897d30a0
This commit is contained in:
Dejan Mircevski
2016-01-10 19:37:00 -05:00
parent 9c6734c8df
commit e537b8b488
5 changed files with 67 additions and 4 deletions

View File

@@ -1356,7 +1356,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn
builder.setBuildPoint(&blocks.body);
if (node->getBody())
node->getBody()->traverse(this); // continue->cont, break->exit
node->getBody()->traverse(this);
builder.createBranch(&blocks.continue_target);
builder.setBuildPoint(&blocks.continue_target);
@@ -1368,7 +1368,7 @@ bool TGlslangToSpvTraverser::visitLoop(glslang::TVisit /* visit */, glslang::TIn
builder.setBuildPoint(&blocks.body);
if (node->getBody())
node->getBody()->traverse(this); // continue->cont, break->exit
node->getBody()->traverse(this);
builder.createBranch(&blocks.continue_target);
builder.setBuildPoint(&blocks.continue_target);