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(ACC_ASYNC_OP, "nodetext",'e',0,LLNODE, '_','_','_','_','_')
|
||||||
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
DEFNODECODE(SHADOW_NAMES_OP, "nodetext",'e',1,LLNODE, '_','_','_','_','_')
|
||||||
DEFNODECODE(ACC_TIE_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(ACC_CALL_STMT,"nodetext",'s',2,BIFNODE, '_','_','_','_','_')
|
||||||
DEFNODECODE(DVM_NEW_VALUE_DIR,"nodetext",'s',1,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",
|
DEFNODECODE(DVM_IO_MODE_DIR, "%CMNT!DVM$%PUTTABCOMTIO_MODE (%LL1)%NL",
|
||||||
's',1,BIFNODE)
|
'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)
|
's',3,BIFNODE)
|
||||||
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
DEFNODECODE(DVM_LOCALIZE_DIR, "%CMNT!DVM$%PUTTABCOMTLOCALIZE (%LL1 => %LL2)%NL",
|
||||||
's',2,BIFNODE)
|
's',2,BIFNODE)
|
||||||
|
|||||||
@@ -795,7 +795,9 @@ static void realocBuf(int minSize)
|
|||||||
newSize = minSize + 1;
|
newSize = minSize + 1;
|
||||||
|
|
||||||
Buf_address = UnpBuf = realloc(UnpBuf, newSize);
|
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;
|
max_lenght_buf = newSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -882,6 +882,8 @@ static bool filterFromList(SgStatement* st, const set<string>& idents, bool excl
|
|||||||
bool empty = false;
|
bool empty = false;
|
||||||
SgExpression* list = st->expr(0);
|
SgExpression* list = st->expr(0);
|
||||||
vector<SgExpression*> newList;
|
vector<SgExpression*> newList;
|
||||||
|
|
||||||
|
int total = 0;
|
||||||
while (list)
|
while (list)
|
||||||
{
|
{
|
||||||
if (exclude)
|
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())
|
if (idents.find(list->lhs()->symbol()->identifier()) != idents.end())
|
||||||
newList.push_back(list->lhs());
|
newList.push_back(list->lhs());
|
||||||
}
|
}
|
||||||
|
total++;
|
||||||
list = list->rhs();
|
list = list->rhs();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (newList.size() == 0)
|
if (newList.size() == 0)
|
||||||
empty = true;
|
empty = true;
|
||||||
else
|
else if (total != newList.size())
|
||||||
st->setExpression(0, makeExprList(newList));
|
st->setExpression(0, makeExprList(newList));
|
||||||
|
|
||||||
return empty;
|
return empty;
|
||||||
|
|||||||
@@ -2611,7 +2611,7 @@ SgExpression* makeExprList(const vector<SgExpression*>& items, bool withSort)
|
|||||||
int tmpVal = 0;
|
int tmpVal = 0;
|
||||||
for (auto& elem : items)
|
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));
|
sorted.insert(make_pair(elem->unparse(), elem));
|
||||||
else if (elem->lhs() && elem->lhs()->variant() == VAR_REF || elem->lhs()->variant() == ARRAY_REF)
|
else if (elem->lhs() && elem->lhs()->variant() == VAR_REF || elem->lhs()->variant() == ARRAY_REF)
|
||||||
sorted.insert(make_pair(elem->lhs()->unparse(), elem));
|
sorted.insert(make_pair(elem->lhs()->unparse(), elem));
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define VERSION_SPF "2236"
|
#define VERSION_SPF "2237"
|
||||||
|
|||||||
Reference in New Issue
Block a user