diff --git a/src/V3Active.cpp b/src/V3Active.cpp index 20e185d86..7a83c3a2e 100644 --- a/src/V3Active.cpp +++ b/src/V3Active.cpp @@ -468,8 +468,10 @@ private: wantactivep->addStmtsp(nodep); // Warn and convert any delayed assignments - ActiveDlyVisitor{nodep, - m_clockedProcess ? ActiveDlyVisitor::CT_SEQ : ActiveDlyVisitor::CT_COMB}; + { + ActiveDlyVisitor{nodep, m_clockedProcess ? ActiveDlyVisitor::CT_SEQ + : ActiveDlyVisitor::CT_COMB}; + } // check combinational processes for latches if (!m_clockedProcess || kwd == VAlwaysKwd::ALWAYS_LATCH) { diff --git a/src/V3Options.cpp b/src/V3Options.cpp index cb9720fbd..49d1b2f9a 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -1224,7 +1224,7 @@ void V3Options::parseOptsList(FileLine* fl, const string& optdir, int argc, char } }); DECL_OPTION("-o", Set, &m_exeName); - DECL_OPTION("-order-clock-delay", CbOnOff, [fl](bool flag) { + DECL_OPTION("-order-clock-delay", CbOnOff, [fl](bool /*flag*/) { fl->v3warn(DEPRECATED, "Option order-clock-delay is deprecated and has no effect."); }); DECL_OPTION("-output-split", Set, &m_outputSplit); diff --git a/src/V3Order.cpp b/src/V3Order.cpp index d60f21dbc..0ce70e37f 100644 --- a/src/V3Order.cpp +++ b/src/V3Order.cpp @@ -479,7 +479,7 @@ class OrderBuildVisitor final : public VNVisitor { virtual void visit(AstNode* nodep) override { iterateChildren(nodep); } // CONSTRUCTOR - OrderBuildVisitor(AstNetlist* nodep, const std::vector& coll, + OrderBuildVisitor(AstNetlist* /*nodep*/, const std::vector& coll, const std::unordered_map& trigToSen) : m_trigToSen{trigToSen} { @@ -1522,8 +1522,8 @@ AstCFunc* order(AstNetlist* netlistp, // // Order the code const std::unique_ptr graph = OrderBuildVisitor::process(netlistp, logic, trigToSen); - const auto& nodeps = OrderProcess::main(netlistp, *graph.get(), trigToSen, tag, parallel, slow, - externalDomains); + const auto& nodeps + = OrderProcess::main(netlistp, *graph, trigToSen, tag, parallel, slow, externalDomains); // Create the result function AstScope* const scopeTopp = netlistp->topScopep()->scopep(); diff --git a/src/V3Order.h b/src/V3Order.h index 9dc6a0fdf..edd7db707 100644 --- a/src/V3Order.h +++ b/src/V3Order.h @@ -32,7 +32,7 @@ class AstVarScope; namespace V3Sched { struct LogicByScope; -}; +}; // namespace V3Sched //============================================================================ diff --git a/src/V3OrderGraph.h b/src/V3OrderGraph.h index 070e38c54..b08c0ff48 100644 --- a/src/V3OrderGraph.h +++ b/src/V3OrderGraph.h @@ -140,9 +140,9 @@ public: AstVarScope* vscp() const { return m_vscp; } // LCOV_EXCL_START // Debug code - virtual string dotShape() const override final { return "ellipse"; } + string dotShape() const override final { return "ellipse"; } virtual string nameSuffix() const = 0; - virtual string name() const override final { + string name() const override final { return cvtToHex(m_vscp) + " " + nameSuffix() + "\\n " + m_vscp->name(); } // LCOV_EXCL_STOP diff --git a/src/V3Sched.cpp b/src/V3Sched.cpp index c795426fd..3f7369d8a 100644 --- a/src/V3Sched.cpp +++ b/src/V3Sched.cpp @@ -75,7 +75,7 @@ AstCFunc* makeTopFunction(AstNetlist* netlistp, const string& name, bool slow) { return funcp; } -std::vector getSenTreesUsedBy(std::vector lbsps) { +std::vector getSenTreesUsedBy(const std::vector& lbsps) { const VNUser1InUse user1InUse; std::vector result; for (const LogicByScope* const lbsp : lbsps) { @@ -106,8 +106,9 @@ void remapSensitivities(LogicByScope& lbs, } } -void invertAndMergeSenTreeMap(std::unordered_map& result, - std::unordered_map senTreeMap) { +void invertAndMergeSenTreeMap( + std::unordered_map& result, + const std::unordered_map& senTreeMap) { for (const auto& pair : senTreeMap) { UASSERT_OBJ(!pair.second->sensesp()->nextp(), pair.second, "Should be single AstSenIem"); result.emplace(pair.second->sensesp(), pair.first); @@ -417,7 +418,7 @@ struct TriggerKit { VL_UNCOPYABLE(TriggerKit); // Utility that assigns the given index trigger to fire when the given variable is zero - void addFirstIterationTriggerAssignment(AstVarScope* counterp, uint32_t index) const { + void addFirstIterationTriggerAssignment(AstVarScope* counterp, uint32_t /*index*/) const { FileLine* const flp = counterp->fileline(); AstVarRef* const vrefp = new AstVarRef{flp, m_vscp, VAccess::WRITE}; AstCMethodHard* const callp = new AstCMethodHard{flp, vrefp, "at", new AstConst{flp, 0}}; @@ -480,8 +481,9 @@ public: // Create a TRIGGERVEC and the related TriggerKit for the given AstSenTree vector const TriggerKit createTriggers(AstNetlist* netlistp, SenExprBuilder& senExprBuilder, - std::vector senTreeps, const string& name, - const ExtraTriggers& extraTriggers, bool slow = false) { + const std::vector& senTreeps, + const string& name, const ExtraTriggers& extraTriggers, + bool slow = false) { AstTopScope* const topScopep = netlistp->topScopep(); AstScope* const scopeTopp = topScopep->scopep(); FileLine* const flp = scopeTopp->fileline(); @@ -610,7 +612,7 @@ const TriggerKit createTriggers(AstNetlist* netlistp, SenExprBuilder& senExprBui // Helpers to construct an evaluation loop. AstNode* buildLoop(AstNetlist* netlistp, const string& name, - std::function build) // + const std::function& build) // { AstTopScope* const topScopep = netlistp->topScopep(); AstScope* const scopeTopp = topScopep->scopep(); @@ -941,7 +943,7 @@ void createEval(AstNetlist* netlistp, // // Top level entry-point to scheduling void schedule(AstNetlist* netlistp) { - const auto addSizeStat = [](const string name, const LogicByScope& lbs) { + const auto addSizeStat = [](const string& name, const LogicByScope& lbs) { uint64_t size = 0; lbs.foreachLogic([&](AstNode* nodep) { size += nodep->nodeCount(); }); V3Stats::addStat("Scheduling, " + name, size); diff --git a/src/V3Sched.h b/src/V3Sched.h index 43603c792..b733425ba 100644 --- a/src/V3Sched.h +++ b/src/V3Sched.h @@ -63,7 +63,7 @@ struct LogicByScope final : public std::vector> clear(); }; - void foreachLogic(std::function f) const { + void foreachLogic(const std::function& f) const { for (const auto& pair : *this) { for (AstNode* nodep = pair.second->stmtsp(); nodep; nodep = nodep->nextp()) f(nodep); } diff --git a/src/V3SchedAcyclic.cpp b/src/V3SchedAcyclic.cpp index 6160ec8d5..583238bfb 100644 --- a/src/V3SchedAcyclic.cpp +++ b/src/V3SchedAcyclic.cpp @@ -93,7 +93,7 @@ public: }; class Graph final : public V3Graph { - void loopsVertexCb(V3GraphVertex* vtxp) { + void loopsVertexCb(V3GraphVertex* vtxp) override { // TODO: 'typeName' is an internal thing. This should be more human readable. if (LogicVertex* const lvtxp = dynamic_cast(vtxp)) { AstNode* const logicp = lvtxp->logicp(); diff --git a/src/V3SchedReplicate.cpp b/src/V3SchedReplicate.cpp index 76c3c564b..82dae0e61 100644 --- a/src/V3SchedReplicate.cpp +++ b/src/V3SchedReplicate.cpp @@ -63,7 +63,7 @@ class Vertex VL_NOT_FINAL : public V3GraphVertex { RegionFlags m_drivingRegions{NONE}; // The regions driving this vertex public: - Vertex(V3Graph* graphp) + explicit Vertex(V3Graph* graphp) : V3GraphVertex{graphp} {} uint8_t drivingRegions() const { return m_drivingRegions; } void addDrivingRegions(uint8_t regions) {