From 84c8394ae7eed732af050c49205635e42d0eebce Mon Sep 17 00:00:00 2001 From: ALEXks Date: Sat, 23 Mar 2024 11:17:16 +0300 Subject: [PATCH] fixed function names --- .../Transformations/set_implicit_none.cpp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/sapfor/experts/Sapfor_2017/_src/Transformations/set_implicit_none.cpp b/sapfor/experts/Sapfor_2017/_src/Transformations/set_implicit_none.cpp index 623267f..f4c59c0 100644 --- a/sapfor/experts/Sapfor_2017/_src/Transformations/set_implicit_none.cpp +++ b/sapfor/experts/Sapfor_2017/_src/Transformations/set_implicit_none.cpp @@ -9,6 +9,7 @@ using std::vector; using std::map; using std::set; +using std::string; static const char commonIntLetters[6] = { 'i', 'j', 'k', 'm', 'n', 'l' }; @@ -131,6 +132,9 @@ static map FunctionImplicitCheck(SgStatement* function, const map for (auto& var : allVars) { + if (string(var->identifier()) == function->symbol()->identifier()) + continue; + vector _; SgStatement* declaredInStatement = declaratedInStmt(var, &_, false); if (declaredInStatement == NULL) @@ -162,7 +166,11 @@ static map FunctionImplicitCheck(SgStatement* function, const map st = st->lexNext(); } - function->insertStmtAfter(*new SgStatement(IMPL_DECL), *function); + auto implNone = new SgStatement(IMPL_DECL); + implNone->setlineNumber(function->lineNumber()); + implNone->setFileName(function->fileName()); + + function->insertStmtAfter(*implNone, *function); } allVars.clear(); @@ -173,6 +181,10 @@ static map FunctionImplicitCheck(SgStatement* function, const map void ImplicitCheck(SgFile* file) { + if (file->filename() == std::string("add.f")) + { + file->unparsestdout(); + } map> typesByFunctions; for (int func = 0; func < file->numberOfFunctions(); ++func) @@ -182,4 +194,9 @@ void ImplicitCheck(SgFile* file) } typesByFunctions.clear(); + + if (file->filename() == std::string("add.f")) + { + file->unparsestdout(); + } }