From 5f3da5d708dd1eafae8354f50799eb8179ba1952 Mon Sep 17 00:00:00 2001 From: Mikhail Kocharmin Date: Sat, 6 Apr 2024 17:52:18 +0300 Subject: [PATCH] dead code: fix for if-else statements --- .../experts/Sapfor_2017/_src/Transformations/dead_code.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp index bf9511c..615c939 100644 --- a/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Transformations/dead_code.cpp @@ -534,11 +534,12 @@ void removeDeadCode(SgStatement* func, } else if (var == IF_NODE) { - SgStatement* ifS = st->lexNext(); - while (ifS->variant() == ELSEIF_NODE) + SgStatement* ifS = st; + while (ifS->lexNext()->variant() == ELSEIF_NODE) ifS = ifS->lexNext(); - SgStatement* lastNode = st->lastNodeOfStmt(); + SgStatement* lastNode = ifS->lastNodeOfStmt(); + ifS = ifS->lexNext(); while (ifS->variant() == CONTROL_END && ifS != lastNode) ifS = ifS->lexNext();