fixed fdvm, fixed errors with interfacesg

This commit is contained in:
ALEXks
2024-11-17 17:19:58 +03:00
parent dacca844ed
commit 2e2bcadfa1
3 changed files with 25 additions and 3 deletions

View File

@@ -2513,7 +2513,7 @@ void fillInterfaceBlock(map<string, vector<FuncInfo*>>& allFuncInfo)
for (auto& byFile : allFuncInfo)
{
for (auto& func : byFile.second)
{
{
for (auto& interface : func->interfaceBlocks)
{
auto itF = mapOfFunc.find(interface.first);
@@ -2534,6 +2534,13 @@ void fillInterfaceBlock(map<string, vector<FuncInfo*>>& allFuncInfo)
}
}
}
//filted interfaces
map<string, FuncInfo*> copy = func->interfaceBlocks;
func->interfaceBlocks.clear();
for (auto& interface : func->interfaceBlocks)
if (interface.second)
func->interfaceBlocks[interface.first] = interface.second;
}
}

View File

@@ -489,6 +489,9 @@ static SgSymbol* getParameter(SgStatement* stat, int n)
static void intentInsert(const FuncInfo* func, SgStatement* headerSt)
{
if (func == NULL)
printInternalError(convertFileName(__FILE__).c_str(), __LINE__);
if (func->funcPointer->variant() == ENTRY_STAT)
return;