Support pre/postifx incrementation/decrementation in array index (#2223)

This commit is contained in:
Maciej Sobkowski
2020-05-28 18:08:15 -04:00
committed by GitHub
parent c4aab57c62
commit 9d48ff7745
13 changed files with 617 additions and 16 deletions
+15
View File
@@ -215,6 +215,21 @@ private:
}
m_setRefLvalue = last_setRefLvalue;
}
void prepost_visit(AstNodeTriop* nodep) {
bool last_setRefLvalue = m_setRefLvalue;
{
m_setRefLvalue = false;
iterateAndNextNull(nodep->lhsp());
iterateAndNextNull(nodep->rhsp());
m_setRefLvalue = true;
iterateAndNextNull(nodep->thsp());
}
m_setRefLvalue = last_setRefLvalue;
}
virtual void visit(AstPreAdd* nodep) VL_OVERRIDE { prepost_visit(nodep); }
virtual void visit(AstPostAdd* nodep) VL_OVERRIDE { prepost_visit(nodep); }
virtual void visit(AstPreSub* nodep) VL_OVERRIDE { prepost_visit(nodep); }
virtual void visit(AstPostSub* nodep) VL_OVERRIDE { prepost_visit(nodep); }
// Nodes that change LValue state
virtual void visit(AstSel* nodep) VL_OVERRIDE {