update fdvm, fixed routine'
This commit is contained in:
@@ -438,6 +438,7 @@ DEFNODECODE(ACC_TARGETS_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_ASYNC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(ACC_TIE_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DUMMY_REF, "nodetext",'r',0,LLNODE, '_','_','s','_','_')
|
||||
|
||||
DEFNODECODE(ACC_CALL_STMT,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||
DEFNODECODE(DVM_NEW_VALUE_DIR,"nodetext",'s',1,BIFNODE, '_','_','_','_','_')
|
||||
|
||||
@@ -253,7 +253,7 @@ DEFNODECODE(DVM_NEW_VALUE_DIR, "%CMNT!DVM$%PUTTABCOMTNEW_VALUE%NL",
|
||||
|
||||
DEFNODECODE(DVM_IO_MODE_DIR, "%CMNT!DVM$%PUTTABCOMTIO_MODE (%LL1)%NL",
|
||||
's',1,BIFNODE)
|
||||
DEFNODECODE(DVM_SHADOW_ADD_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_ADD (%LL1 = %LL2)%IF(%LL3!=%NULLL) INCLUDE_TO %LL3%ENDIF%NL",
|
||||
DEFNODECODE(DVM_SHADOW_ADD_DIR, "%CMNT!DVM$%PUTTABCOMTSHADOW_ADD (%LL1 = %LL2)%IF(%LL3!=%NULL) INCLUDE_TO %LL3%ENDIF%NL",
|
||||
's',3,BIFNODE)
|
||||
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
||||
's',2,BIFNODE)
|
||||
|
||||
@@ -795,7 +795,9 @@ static void realocBuf(int minSize)
|
||||
newSize = minSize + 1;
|
||||
|
||||
Buf_address = UnpBuf = realloc(UnpBuf, newSize);
|
||||
//printf(" realloc buffer from %lld to %lld\n", max_lenght_buf, newSize);
|
||||
memset(UnpBuf + max_lenght_buf, 0, newSize - max_lenght_buf);
|
||||
|
||||
//printf(" realloc buffer from %ld to %ld\n", max_lenght_buf, newSize);
|
||||
max_lenght_buf = newSize;
|
||||
}
|
||||
|
||||
|
||||
@@ -882,6 +882,8 @@ static bool filterFromList(SgStatement* st, const set<string>& idents, bool excl
|
||||
bool empty = false;
|
||||
SgExpression* list = st->expr(0);
|
||||
vector<SgExpression*> newList;
|
||||
|
||||
int total = 0;
|
||||
while (list)
|
||||
{
|
||||
if (exclude)
|
||||
@@ -894,12 +896,13 @@ static bool filterFromList(SgStatement* st, const set<string>& idents, bool excl
|
||||
if (idents.find(list->lhs()->symbol()->identifier()) != idents.end())
|
||||
newList.push_back(list->lhs());
|
||||
}
|
||||
total++;
|
||||
list = list->rhs();
|
||||
}
|
||||
|
||||
if (newList.size() == 0)
|
||||
empty = true;
|
||||
else
|
||||
else if (total != newList.size())
|
||||
st->setExpression(0, makeExprList(newList));
|
||||
|
||||
return empty;
|
||||
|
||||
@@ -2611,7 +2611,7 @@ SgExpression* makeExprList(const vector<SgExpression*>& items, bool withSort)
|
||||
int tmpVal = 0;
|
||||
for (auto& elem : items)
|
||||
{
|
||||
if (elem->variant() == VAR_REF || elem->variant() == ARRAY_REF)
|
||||
if (elem->variant() == VAR_REF || elem->variant() == ARRAY_REF || elem->variant() == CONST_REF)
|
||||
sorted.insert(make_pair(elem->unparse(), elem));
|
||||
else if (elem->lhs() && elem->lhs()->variant() == VAR_REF || elem->lhs()->variant() == ARRAY_REF)
|
||||
sorted.insert(make_pair(elem->lhs()->unparse(), elem));
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
#pragma once
|
||||
|
||||
#define VERSION_SPF "2236"
|
||||
#define VERSION_SPF "2237"
|
||||
|
||||
Reference in New Issue
Block a user