diff --git a/projects/dvm b/projects/dvm index c00e381..a711f8e 160000 --- a/projects/dvm +++ b/projects/dvm @@ -1 +1 @@ -Subproject commit c00e3818124823325d022b963db9e0437a5427f6 +Subproject commit a711f8ebfd023ca90a6d9c9bdf5a4726cd276d51 diff --git a/projects/libpredictor b/projects/libpredictor index 840f9d9..d0772cd 160000 --- a/projects/libpredictor +++ b/projects/libpredictor @@ -1 +1 @@ -Subproject commit 840f9d9c1ad579825d81c46cdf70877c497fecca +Subproject commit d0772cdb57432b8c96ce634687641b1c8c76d21c diff --git a/src/DvmhRegions/DvmhRegionInserter.cpp b/src/DvmhRegions/DvmhRegionInserter.cpp index 9a6c809..57dff85 100644 --- a/src/DvmhRegions/DvmhRegionInserter.cpp +++ b/src/DvmhRegions/DvmhRegionInserter.cpp @@ -834,19 +834,21 @@ static string getInterfaceBlock(SgStatement* func, const FuncParam& pars) auto copy = duplicateProcedure(func, NULL, false, false, false, true); const set idents(pars.identificators.begin(), pars.identificators.end()); + bool need = (func->symbol()->identifier() == string("bl182")); + //remove all exec SgStatement* st = copy->lexNext(); SgStatement* last = copy->lastNodeOfStmt(); vector toExtract; + while (st != last) { if (isDVM_stat(st) || isSPF_stat(st)) { if (st->variant() != ACC_ROUTINE_DIR) { - SgStatement* next = st->lexNext(); - st->extractStmt(); - st = next; + toExtract.push_back(st); + st = st->lexNext(); } else st = st->lexNext(); @@ -868,6 +870,7 @@ static string getInterfaceBlock(SgStatement* func, const FuncParam& pars) while (st != last) { const int var = st->variant(); + if (var == VAR_DECL || var == VAR_DECL_90 || var == DIM_STAT @@ -877,9 +880,8 @@ static string getInterfaceBlock(SgStatement* func, const FuncParam& pars) bool empty = filterFromList(st, idents); if (empty) { - SgStatement* next = st->lexNext(); toExtract.push_back(st); - st = next; + st = st->lexNext(); continue; } } diff --git a/src/Utils/version.h b/src/Utils/version.h index fd53754..f7a00de 100644 --- a/src/Utils/version.h +++ b/src/Utils/version.h @@ -1,3 +1,3 @@ #pragma once -#define VERSION_SPF "2413" +#define VERSION_SPF "2414"