fixed cyclic deletion
This commit is contained in:
@@ -574,13 +574,17 @@ int removeDeadCode(SgStatement* func,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool mainRemoved = false;
|
||||||
for (auto& rem : remove)
|
for (auto& rem : remove)
|
||||||
{
|
{
|
||||||
__spf_print(PRINT_USELESS_STATEMENTS, "[Useless block statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName());
|
__spf_print(PRINT_USELESS_STATEMENTS, "[Useless block statement on line %d and file %s]\n", rem->lineNumber(), rem->fileName());
|
||||||
rem->deleteStmt();
|
rem->deleteStmt();
|
||||||
|
if (rem == start)
|
||||||
|
mainRemoved = true;
|
||||||
}
|
}
|
||||||
countOfTransform += remove.size();
|
countOfTransform += remove.size();
|
||||||
|
if (mainRemoved)
|
||||||
|
break;
|
||||||
} while (remove.size());
|
} while (remove.size());
|
||||||
|
|
||||||
deleteCFG(cfg);
|
deleteCFG(cfg);
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define VERSION_SPF "2319"
|
#define VERSION_SPF "2320"
|
||||||
|
|||||||
Reference in New Issue
Block a user