diff --git a/modcc/cexpr_emit.hpp b/modcc/cexpr_emit.hpp index c9096a0a3a9794eff344134dda246032da104b62..e52c956b85298ee4a33c3e08dc2bd235aa3f2dd2 100644 --- a/modcc/cexpr_emit.hpp +++ b/modcc/cexpr_emit.hpp @@ -12,13 +12,13 @@ public: out_(out), fallback_(fallback) {} - virtual void visit(Expression* e) { e->accept(fallback_); } + void visit(Expression* e) override { e->accept(fallback_); } - virtual void visit(UnaryExpression *e) override; - virtual void visit(BinaryExpression *e) override; - virtual void visit(AssignmentExpression *e) override; - virtual void visit(PowBinaryExpression *e) override; - virtual void visit(NumberExpression *e) override; + void visit(UnaryExpression *e) override; + void visit(BinaryExpression *e) override; + void visit(AssignmentExpression *e) override; + void visit(PowBinaryExpression *e) override; + void visit(NumberExpression *e) override; protected: std::ostream& out_; diff --git a/modcc/cprinter.hpp b/modcc/cprinter.hpp index 2da740fb38b80f0e23b60eb67df8fd3cd387d41a..9c6363225cb5a57788014f8e29301bf7bb600c86 100644 --- a/modcc/cprinter.hpp +++ b/modcc/cprinter.hpp @@ -11,22 +11,22 @@ public: CPrinter() {} explicit CPrinter(Module &m): module_(&m) {} - virtual void visit(Expression *e) override; - virtual void visit(UnaryExpression *e) override; - virtual void visit(BinaryExpression *e) override; - virtual void visit(NumberExpression *e) override; - virtual void visit(VariableExpression *e) override; - virtual void visit(Symbol *e) override; - virtual void visit(LocalVariable *e) override; - virtual void visit(IndexedVariable *e) override; - virtual void visit(CellIndexedVariable *e) override; - virtual void visit(IdentifierExpression *e) override; - virtual void visit(CallExpression *e) override; - virtual void visit(ProcedureExpression *e) override; - virtual void visit(APIMethod *e) override; - virtual void visit(LocalDeclaration *e) override; - virtual void visit(BlockExpression *e) override; - virtual void visit(IfExpression *e) override; + void visit(Expression *e) override; + void visit(UnaryExpression *e) override; + void visit(BinaryExpression *e) override; + void visit(NumberExpression *e) override; + void visit(VariableExpression *e) override; + void visit(Symbol *e) override; + void visit(LocalVariable *e) override; + void visit(IndexedVariable *e) override; + void visit(CellIndexedVariable *e) override; + void visit(IdentifierExpression *e) override; + void visit(CallExpression *e) override; + void visit(ProcedureExpression *e) override; + void visit(APIMethod *e) override; + void visit(LocalDeclaration *e) override; + void visit(BlockExpression *e) override; + void visit(IfExpression *e) override; std::string text() const { return text_.str(); diff --git a/modcc/cudaprinter.hpp b/modcc/cudaprinter.hpp index d016f23609866e32e7c6170d62c1b1fb89d626a5..af7d9d133bd195e052c7889e3b504fcd737be1cc 100644 --- a/modcc/cudaprinter.hpp +++ b/modcc/cudaprinter.hpp @@ -108,7 +108,6 @@ private: std::string module_name_; Module *module_ = nullptr; - tok parent_op_ = tok::eq; TextBuffer interface_; TextBuffer impl_; diff --git a/modcc/module.cpp b/modcc/module.cpp index aa8b33ae5e95b785b7398ac62b3c3aedba0bc4e6..85030677eb745f8f64737bfd4f7bc3110e732d07 100644 --- a/modcc/module.cpp +++ b/modcc/module.cpp @@ -34,15 +34,12 @@ class NrnCurrentRewriter: public BlockRewriterBase { return ionKind::none; } - moduleKind kind_; bool has_current_update_ = false; std::set<std::string> ion_current_vars_; public: using BlockRewriterBase::visit; - explicit NrnCurrentRewriter(moduleKind kind): kind_(kind) {} - virtual void finalize() override { if (has_current_update_) { // Initialize current_ as first statement. @@ -334,7 +331,7 @@ bool Module::semantic() { //.......................................................... // nrn_current : update contributions to currents //.......................................................... - NrnCurrentRewriter nrn_current_rewriter(kind()); + NrnCurrentRewriter nrn_current_rewriter; breakpoint->accept(&nrn_current_rewriter); auto nrn_current_block = nrn_current_rewriter.as_block(); if (!nrn_current_block) { diff --git a/modcc/simd_printer.hpp b/modcc/simd_printer.hpp index caca3853064c0813aaf38d59115df41a29a6034c..8208632bf381d947156a95ede4e948ab0edf141b 100644 --- a/modcc/simd_printer.hpp +++ b/modcc/simd_printer.hpp @@ -16,6 +16,8 @@ template <simdKind Arch> class SimdPrinter: public CPrinter { + using CPrinter::visit; + public: SimdPrinter(): cprinter_(make_unique<CPrinter>()) {} @@ -32,8 +34,8 @@ public: void visit(UnaryExpression *e) override; void visit(BinaryExpression *e) override; void visit(PowBinaryExpression *e) override; - void visit(ProcedureExpression *e) override; void visit(AssignmentExpression *e) override; + void visit(ProcedureExpression *e) override; void visit(VariableExpression *e) override; void visit(LocalVariable *e) override { const std::string& name = e->name();