Merge pull request #13528 from rdmarsh2/rdmarsh2/cpp/range-analysis-back-edge

C++: fix range analysis back edge detection for irreducible CFGs
This commit is contained in:
Mathias Vorreiter Pedersen
2023-06-27 09:14:44 +01:00
committed by GitHub
2 changed files with 45 additions and 0 deletions

View File

@@ -70,3 +70,27 @@ int f4(int x) {
}
}
}
// No interesting ranges to check here - this irreducible CFG caused an infinite loop due to back edge detection
void gotoLoop(bool b1, bool b2)
{
int j;
if (b1)
return;
if (!b2)
{
for (j = 0; j < 10; ++j)
{
goto main_decode_loop;
}
}
else
{
for (j = 0; j < 10; ++j)
{
main_decode_loop:
}
}
}