mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Merge branch 'master' into develop-v5
This commit is contained in:
+23
-23
@@ -89,12 +89,12 @@ private:
|
||||
}
|
||||
|
||||
// VISITORS
|
||||
virtual void visit(AstNodeModule* nodep) override {
|
||||
void visit(AstNodeModule* nodep) override {
|
||||
VL_RESTORER(m_modIncrementsNum);
|
||||
m_modIncrementsNum = 0;
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
virtual void visit(AstWhile* nodep) override {
|
||||
void visit(AstWhile* nodep) override {
|
||||
// Special, as statements need to be put in different places
|
||||
// Preconditions insert first just before themselves (the normal
|
||||
// rule for other statement types)
|
||||
@@ -111,7 +111,7 @@ private:
|
||||
// Done the loop
|
||||
m_insStmtp = nullptr; // Next thing should be new statement
|
||||
}
|
||||
virtual void visit(AstForeach* nodep) override {
|
||||
void visit(AstForeach* nodep) override {
|
||||
// Special, as statements need to be put in different places
|
||||
// Body insert just before themselves
|
||||
m_insStmtp = nullptr; // First thing should be new statement
|
||||
@@ -119,7 +119,7 @@ private:
|
||||
// Done the loop
|
||||
m_insStmtp = nullptr; // Next thing should be new statement
|
||||
}
|
||||
virtual void visit(AstJumpBlock* nodep) override {
|
||||
void visit(AstJumpBlock* nodep) override {
|
||||
// Special, as statements need to be put in different places
|
||||
// Body insert just before themselves
|
||||
m_insStmtp = nullptr; // First thing should be new statement
|
||||
@@ -127,7 +127,7 @@ private:
|
||||
// Done the loop
|
||||
m_insStmtp = nullptr; // Next thing should be new statement
|
||||
}
|
||||
virtual void visit(AstNodeIf* nodep) override {
|
||||
void visit(AstNodeIf* nodep) override {
|
||||
m_insStmtp = nodep;
|
||||
iterateAndNextNull(nodep->condp());
|
||||
m_insStmtp = nullptr;
|
||||
@@ -135,7 +135,7 @@ private:
|
||||
iterateAndNextNull(nodep->elsesp());
|
||||
m_insStmtp = nullptr;
|
||||
}
|
||||
virtual void visit(AstCaseItem* nodep) override {
|
||||
void visit(AstCaseItem* nodep) override {
|
||||
m_insMode = IM_BEFORE;
|
||||
{
|
||||
VL_RESTORER(m_unsupportedHere);
|
||||
@@ -145,30 +145,30 @@ private:
|
||||
m_insStmtp = nullptr; // Next thing should be new statement
|
||||
iterateAndNextNull(nodep->bodysp());
|
||||
}
|
||||
virtual void visit(AstNodeFor* nodep) override { // LCOV_EXCL_LINE
|
||||
void visit(AstNodeFor* nodep) override { // LCOV_EXCL_LINE
|
||||
nodep->v3fatalSrc(
|
||||
"For statements should have been converted to while statements in V3Begin.cpp");
|
||||
}
|
||||
virtual void visit(AstDelay* nodep) override {
|
||||
void visit(AstDelay* nodep) override {
|
||||
m_insStmtp = nodep;
|
||||
iterateAndNextNull(nodep->lhsp());
|
||||
m_insStmtp = nullptr;
|
||||
iterateAndNextNull(nodep->stmtsp());
|
||||
m_insStmtp = nullptr;
|
||||
}
|
||||
virtual void visit(AstEventControl* nodep) override {
|
||||
void visit(AstEventControl* nodep) override {
|
||||
m_insStmtp = nullptr;
|
||||
iterateAndNextNull(nodep->stmtsp());
|
||||
m_insStmtp = nullptr;
|
||||
}
|
||||
virtual void visit(AstWait* nodep) override {
|
||||
void visit(AstWait* nodep) override {
|
||||
m_insStmtp = nodep;
|
||||
iterateAndNextNull(nodep->condp());
|
||||
m_insStmtp = nullptr;
|
||||
iterateAndNextNull(nodep->bodysp());
|
||||
m_insStmtp = nullptr;
|
||||
}
|
||||
virtual void visit(AstNodeStmt* nodep) override {
|
||||
void visit(AstNodeStmt* nodep) override {
|
||||
if (!nodep->isStatement()) {
|
||||
iterateChildren(nodep);
|
||||
return;
|
||||
@@ -184,11 +184,11 @@ private:
|
||||
UINFO(9, "Marking unsupported " << nodep << endl);
|
||||
iterateChildren(nodep);
|
||||
}
|
||||
virtual void visit(AstLogAnd* nodep) override { unsupported_visit(nodep); }
|
||||
virtual void visit(AstLogOr* nodep) override { unsupported_visit(nodep); }
|
||||
virtual void visit(AstLogEq* nodep) override { unsupported_visit(nodep); }
|
||||
virtual void visit(AstLogIf* nodep) override { unsupported_visit(nodep); }
|
||||
virtual void visit(AstNodeCond* nodep) override { unsupported_visit(nodep); }
|
||||
void visit(AstLogAnd* nodep) override { unsupported_visit(nodep); }
|
||||
void visit(AstLogOr* nodep) override { unsupported_visit(nodep); }
|
||||
void visit(AstLogEq* nodep) override { unsupported_visit(nodep); }
|
||||
void visit(AstLogIf* nodep) override { unsupported_visit(nodep); }
|
||||
void visit(AstNodeCond* nodep) override { unsupported_visit(nodep); }
|
||||
void prepost_visit(AstNodeTriop* nodep) {
|
||||
// Check if we are underneath a statement
|
||||
if (!m_insStmtp) {
|
||||
@@ -276,17 +276,17 @@ private:
|
||||
nodep->replaceWith(new AstVarRef(varrefp->fileline(), varp, VAccess::WRITE));
|
||||
VL_DO_DANGLING(nodep->deleteTree(), nodep);
|
||||
}
|
||||
virtual void visit(AstPreAdd* nodep) override { prepost_visit(nodep); }
|
||||
virtual void visit(AstPostAdd* nodep) override { prepost_visit(nodep); }
|
||||
virtual void visit(AstPreSub* nodep) override { prepost_visit(nodep); }
|
||||
virtual void visit(AstPostSub* nodep) override { prepost_visit(nodep); }
|
||||
virtual void visit(AstGenFor* nodep) override { iterateChildren(nodep); }
|
||||
virtual void visit(AstNode* nodep) override { iterateChildren(nodep); }
|
||||
void visit(AstPreAdd* nodep) override { prepost_visit(nodep); }
|
||||
void visit(AstPostAdd* nodep) override { prepost_visit(nodep); }
|
||||
void visit(AstPreSub* nodep) override { prepost_visit(nodep); }
|
||||
void visit(AstPostSub* nodep) override { prepost_visit(nodep); }
|
||||
void visit(AstGenFor* nodep) override { iterateChildren(nodep); }
|
||||
void visit(AstNode* nodep) override { iterateChildren(nodep); }
|
||||
|
||||
public:
|
||||
// CONSTRUCTORS
|
||||
explicit LinkIncVisitor(AstNetlist* nodep) { iterate(nodep); }
|
||||
virtual ~LinkIncVisitor() override = default;
|
||||
~LinkIncVisitor() override = default;
|
||||
};
|
||||
|
||||
//######################################################################
|
||||
|
||||
Reference in New Issue
Block a user