From 447d803800835e35d687fac9a226c89781308c83 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Wed, 24 May 2017 23:51:15 -0400 Subject: [PATCH] Fix internal clang warnings. --- include/verilated.cpp | 2 +- include/verilated.h | 2 ++ src/V3CCtors.cpp | 9 +++++++-- src/V3Options.cpp | 2 +- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/include/verilated.cpp b/include/verilated.cpp index 0d6fe862a..b709dd5c5 100644 --- a/include/verilated.cpp +++ b/include/verilated.cpp @@ -1135,7 +1135,7 @@ IData VL_VALUEPLUSARGS_INW(int rbits, const string& ld, WDataOutP rwp) { _VL_CLEAN_INPLACE_W(rbits,rwp); return 1; } -IData VL_VALUEPLUSARGS_INN(int rbits, const string& ld, string& rdr) { +IData VL_VALUEPLUSARGS_INN(int, const string& ld, string& rdr) { string prefix; bool inPct = false; bool done = false; diff --git a/include/verilated.h b/include/verilated.h index 04d01a31a..39946a04f 100644 --- a/include/verilated.h +++ b/include/verilated.h @@ -1077,7 +1077,9 @@ static inline QData VL_MULS_QQQ(int,int lbits,int, QData lhs,QData rhs) { static inline WDataOutP VL_MULS_WWW(int,int lbits,int, WDataOutP owp,WDataInP lwp,WDataInP rwp){ int words = VL_WORDS_I(lbits); + // cppcheck-suppress variableScope IData lwstore[VL_MULS_MAX_WORDS]; // Fixed size, as MSVC++ doesn't allow [words] here + // cppcheck-suppress variableScope IData rwstore[VL_MULS_MAX_WORDS]; WDataInP lwusp = lwp; WDataInP rwusp = rwp; diff --git a/src/V3CCtors.cpp b/src/V3CCtors.cpp index bf935e3f8..92cac3471 100644 --- a/src/V3CCtors.cpp +++ b/src/V3CCtors.cpp @@ -75,7 +75,8 @@ public: m_numStmts += 1; } - V3CCtorsVisitor(AstNodeModule* nodep, string basename, string argsp="", string callargsp="") { + V3CCtorsVisitor(AstNodeModule* nodep, string basename, string argsp="", string callargsp="", + const string& stmt="") { m_basename = basename; m_argsp = argsp; m_callargsp = callargsp; @@ -87,6 +88,9 @@ public: m_tlFuncp->isStatic(false); m_tlFuncp->slow(true); m_tlFuncp->argTypes(m_argsp); + if (stmt != "") { + m_tlFuncp->addStmtsp(new AstCStmt(nodep->fileline(), stmt)); + } m_funcp = m_tlFuncp; m_modp->addStmtp(m_tlFuncp); } @@ -100,7 +104,8 @@ void V3CCtors::cctorsAll() { // Process each module in turn V3CCtorsVisitor var_reset (modp, "_ctor_var_reset"); V3CCtorsVisitor configure_coverage (modp, "_configure_coverage", - EmitCBaseVisitor::symClassVar()+ ", bool first", "vlSymsp, first"); + EmitCBaseVisitor::symClassVar()+ ", bool first", "vlSymsp, first", + "if (0 && vlSymsp && first) {} // Prevent unused\n"); for (AstNode* np = modp->stmtsp(); np; np = np->nextp()) { AstVar* varp = np->castVar(); diff --git a/src/V3Options.cpp b/src/V3Options.cpp index f3e3152cd..26af3594c 100644 --- a/src/V3Options.cpp +++ b/src/V3Options.cpp @@ -560,7 +560,7 @@ string V3Options::version() { void V3Options::throwSigsegv() { // cppcheck-suppress nullPointer - char* zp=NULL; *zp=0; + char* zp=NULL; *zp=0; // Intentional core dump, ignore warnings here } //######################################################################