fixed module utils
This commit is contained in:
@@ -310,8 +310,17 @@ static void getModuleSymbols(SgStatement* func, set<SgSymbol*>& symbs)
|
|||||||
SgSymbol* s = func->symbol()->next();
|
SgSymbol* s = func->symbol()->next();
|
||||||
while (s)
|
while (s)
|
||||||
{
|
{
|
||||||
if (IS_BY_USE(s) && s->scope() && s->scope()->symbol()->identifier() == currScope)
|
if (func->variant() == MODULE_STMT)
|
||||||
symbs.insert(s);
|
{
|
||||||
|
if (s->scope() && s->scope()->symbol() && s->scope()->symbol()->identifier())
|
||||||
|
if (s->scope()->symbol()->identifier() == currScope)
|
||||||
|
symbs.insert(s);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (IS_BY_USE(s) && s->scope() && s->scope()->symbol()->identifier() == currScope)
|
||||||
|
symbs.insert(s);
|
||||||
|
}
|
||||||
s = s->next();
|
s = s->next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -325,9 +334,9 @@ const set<SgSymbol*>& getModuleSymbols(SgStatement *func)
|
|||||||
set<SgSymbol*> symbs;
|
set<SgSymbol*> symbs;
|
||||||
getModuleSymbols(func, symbs);
|
getModuleSymbols(func, symbs);
|
||||||
|
|
||||||
//if function in contains
|
//if function or module in contains
|
||||||
auto cp = func->controlParent();
|
auto cp = func->controlParent();
|
||||||
if (isSgProgHedrStmt(cp))
|
if (isSgProgHedrStmt(cp) || cp->variant() == MODULE_STMT)
|
||||||
getModuleSymbols(cp, symbs);
|
getModuleSymbols(cp, symbs);
|
||||||
|
|
||||||
symbolsForFunc[func->symbol()->identifier()] = symbs;
|
symbolsForFunc[func->symbol()->identifier()] = symbs;
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define VERSION_SPF "2415"
|
#define VERSION_SPF "2416"
|
||||||
|
|||||||
Reference in New Issue
Block a user