diff --git a/src/V3Ast.cpp b/src/V3Ast.cpp index b5de9d0fc..48201d22a 100644 --- a/src/V3Ast.cpp +++ b/src/V3Ast.cpp @@ -231,7 +231,7 @@ inline void AstNode::debugTreeChange(const char* prefix, int lineno, bool next) // Only for use for those really nasty bugs relating to internals // Note this may be null. //if (debug()) cout<<"-treeChange: V3Ast.cpp:"<"<"<accept(v); // accept may do a replaceNode and change niterp on us... // niterp maybe NULL, so need cast if printing - //if (niterp != nodep) UINFO(1,"iterateAndNext edited "<<(void*)nodep - // <<" now into "<<(void*)niterp<m_iterpp = NULL; if (VL_UNLIKELY(niterp!=nodep)) { // Edited node inside accept @@ -998,23 +998,23 @@ void AstNode::checkIter() const { } void AstNode::dumpPtrs(std::ostream& os) const { - os<<"This="<m_backp + str<m_backp <<" =editCountLast())?"#>":">") <<" {"<filenameLetters()<lineno()<<"}"; - if (user1p()) str<<" u1="<<(void*)user1p(); - if (user2p()) str<<" u2="<<(void*)user2p(); - if (user3p()) str<<" u3="<<(void*)user3p(); - if (user4p()) str<<" u4="<<(void*)user4p(); - if (user5p()) str<<" u5="<<(void*)user5p(); + if (user1p()) str<<" u1="<dumpSmall(str); } } else { // V3Broken will throw an error - if (dtypep()) str<<" %Error-dtype-exp=null,got="<<(void*)dtypep(); + if (dtypep()) str<<" %Error-dtype-exp=null,got="<AstNode::dump(str); if (generic()) str<<" [GENERIC]"; if (AstNodeDType* dtp = virtRefDTypep()) { - str<<" refdt="<<(void*)(dtp); + str<<" refdt="<dumpSmall(str); } } @@ -1037,7 +1038,7 @@ void AstVarScope::dump(std::ostream& str) { } void AstVarXRef::dump(std::ostream& str) { this->AstNode::dump(str); - if (packagep()) { str<<" pkg="<<(void*)packagep(); } + if (packagep()) { str<<" pkg="< "; else str<<" [RV] <- "; str<<".="<AstNode::dump(str); - if (packagep()) { str<<" pkg="<<(void*)packagep(); } + if (packagep()) { str<<" pkg="< "; else str<<" [RV] <- "; if (varScopep()) { varScopep()->dump(str); } @@ -1093,7 +1094,7 @@ void AstParseRef::dump(std::ostream& str) { } void AstPackageRef::dump(std::ostream& str) { this->AstNode::dump(str); - if (packagep()) { str<<" pkg="<<(void*)packagep(); } + if (packagep()) { str<<" pkg="< "; if (packagep()) { packagep()->dump(str); } else { str<<"UNLINKED"; } @@ -1109,7 +1110,7 @@ void AstActive::dump(std::ostream& str) { } void AstNodeFTaskRef::dump(std::ostream& str) { this->AstNode::dump(str); - if (packagep()) { str<<" pkg="<<(void*)packagep(); } + if (packagep()) { str<<" pkg="< "; if (dotted()!="") { str<<".="<dump(str); } diff --git a/src/V3Broken.cpp b/src/V3Broken.cpp index a669249e3..1d0c961dc 100644 --- a/src/V3Broken.cpp +++ b/src/V3Broken.cpp @@ -58,7 +58,7 @@ public: // METHODS static void deleted(const AstNode* nodep) { // Called by operator delete on any node - only if VL_LEAK_CHECKS - if (debug()>=9) cout<<"-nodeDel: "<<(void*)(nodep)<=9) cout<<"-nodeDel: "<second & FLAG_ALLOCATED)) { ((AstNode*)(nodep))->v3fatalSrc("Deleting AstNode object that was never tracked or already deleted"); @@ -71,7 +71,7 @@ public: #endif static void addNewed(const AstNode* nodep) { // Called by operator new on any node - only if VL_LEAK_CHECKS - if (debug()>=9) cout<<"-nodeNew: "<<(void*)(nodep)<=9) cout<<"-nodeNew: "<second & FLAG_ALLOCATED)) { nodep->v3fatalSrc("Newing AstNode object that is already allocated"); @@ -224,9 +224,12 @@ private: } if (nodep->dtypep()) { if (!nodep->dtypep()->brokeExists()) { - nodep->v3fatalSrc("Broken link in node->dtypep() to "<<(void*)nodep->dtypep()); } - else if (!VN_IS(nodep->dtypep(), NodeDType)) { - nodep->v3fatalSrc("Non-dtype link in node->dtypep() to "<<(void*)nodep->dtypep()); } + nodep->v3fatalSrc("Broken link in node->dtypep() to " + <dtypep())); + } else if (!VN_IS(nodep->dtypep(), NodeDType)) { + nodep->v3fatalSrc("Non-dtype link in node->dtypep() to " + <dtypep())); + } } if (v3Global.assertDTypesResolved()) { if (nodep->hasDType()) { diff --git a/src/V3Cdc.cpp b/src/V3Cdc.cpp index c8b4286d5..7ce6d00ad 100644 --- a/src/V3Cdc.cpp +++ b/src/V3Cdc.cpp @@ -97,7 +97,7 @@ public: virtual ~CdcVarVertex() {} // ACCESSORS AstVarScope* varScp() const { return m_varScp; } - virtual string name() const { return (cvtToStr((void*)m_varScp)+" "+varScp()->name()); } + virtual string name() const { return (cvtToHex(m_varScp)+" "+varScp()->name()); } virtual string dotColor() const { return fromFlop() ? "green" : cntAsyncRst() ? "red" : "blue"; } int cntAsyncRst() const { return m_cntAsyncRst; } void cntAsyncRst(int flag) { m_cntAsyncRst=flag; } @@ -115,7 +115,7 @@ public: { srcDomainp(sensenodep); dstDomainp(sensenodep); } virtual ~CdcLogicVertex() {} // ACCESSORS - virtual string name() const { return (cvtToStr((void*)nodep())+"@"+scopep()->prettyName()); } + virtual string name() const { return (cvtToHex(nodep())+"@"+scopep()->prettyName()); } virtual string dotColor() const { return hazard() ? "black" : "yellow"; } bool hazard() const { return m_hazard; } void setHazard(AstNode* nodep) { m_hazard = true; nodep->user3(true); } diff --git a/src/V3ClkGater.cpp b/src/V3ClkGater.cpp index 7bf1aee19..d9d8b7063 100644 --- a/src/V3ClkGater.cpp +++ b/src/V3ClkGater.cpp @@ -100,7 +100,8 @@ public: : GaterVertex(graphp), m_nodep(nodep) { } virtual ~GaterIfVertex() {} virtual int typeNum() const { return __LINE__; } // C++ typeof() equivelent - virtual string name() const { return cvtToStr((void*)m_nodep)+" {"+cvtToStr(m_nodep->fileline()->lineno())+"}"; } + virtual string name() const { + return cvtToHex(m_nodep)+" {"+cvtToStr(m_nodep->fileline()->lineno())+"}"; } }; class GaterVarVertex : public GaterVertex { @@ -582,9 +583,9 @@ class GaterVisitor : public GaterBaseVisitor { } void nafgMarkRecurse(V3GraphVertex* vertexp, uint32_t generation) { // Backwards mark user() on the path we recurse - //UINFO(9," nafgMark: v "<<(void*)(vertexp)<<" "<name()<name()<inBeginp(); edgep; edgep = edgep->inNextp()) { - //UINFO(9," nafgMark: "<<(void*)(edgep)<<" "<name()<name()<user(generation); nafgMarkRecurse(edgep->fromp(), generation); } @@ -593,18 +594,18 @@ class GaterVisitor : public GaterBaseVisitor { // Forewards follow user() marked previously and build tree AstNode* nodep = NULL; // OR across all edges found at this level - //UINFO(9," nafgEnter: v "<<(void*)(vertexp)<<" "<name()<name()<outBeginp(); edgep; edgep = edgep->outNextp()) { if (edgep->user() == generation) { GaterEdge* cedgep = static_cast(edgep); AstNode* eqnp = NULL; - //UINFO(9," nafgFollow: "<<(void*)(edgep)<<" "<name()<name()<(edgep->fromp())) { // Just OR in all lower terms eqnp = nafgCreateRecurse(edgep->top(), generation); } else if (GaterIfVertex* cVxp = dynamic_cast(edgep->fromp())) { // Edges from IFs represent a real IF branch in the equation tree - //UINFO(9," ifver "<<(void*)(edgep)<<" cc"<dotColor()<dotColor()<nodep()->condp()->cloneTree(true); if (!eqnp) cVxp->nodep()->v3fatalSrc("null condition"); if (cedgep->ifelseFalse()) { @@ -621,7 +622,7 @@ class GaterVisitor : public GaterBaseVisitor { //if (debug()>=9) nodep->dumpTree(cout," followExpr: "); } } - //UINFO(9," nafgExit: "<<(void*)(vertexp)<<" "<name()<name()<varp()->isParam())) { if (operandConst(valuep)) { const V3Number& num = VN_CAST(valuep, Const)->num(); - //UINFO(2,"constVisit "<<(void*)valuep<<" "<num(); - //UINFO(2,"constVisit "<<(void*)valuep<<" "<labelp()))+";\n"); + putbs("disable "+cvtToHex(nodep->labelp())+";\n"); } virtual void visit(AstJumpLabel* nodep) { - putbs("begin : "+cvtToStr((void*)(nodep))+"\n"); + putbs("begin : "+cvtToHex(nodep)+"\n"); if (nodep->stmtsp()) iterateAndNextNull(nodep->stmtsp()); puts("end\n"); } diff --git a/src/V3Error.h b/src/V3Error.h index 70a3f9822..398e49520 100644 --- a/src/V3Error.h +++ b/src/V3Error.h @@ -320,9 +320,12 @@ inline void v3errorEndFatal(std::ostringstream& sstr) { V3Error::v3errorEnd(sstr //---------------------------------------------------------------------- -template< class T> std::string cvtToStr(const T& t) { +template std::string cvtToStr(const T& t) { std::ostringstream os; os< std::string cvtToHex(const T* tp) { + std::ostringstream os; os<(tp); return os.str(); +} inline uint32_t cvtToHash(const void* vp) { // We can shove a 64 bit pointer into a 32 bit bucket diff --git a/src/V3Gate.cpp b/src/V3Gate.cpp index 684187840..f3330481e 100644 --- a/src/V3Gate.cpp +++ b/src/V3Gate.cpp @@ -138,7 +138,7 @@ public: virtual ~GateVarVertex() {} // ACCESSORS AstVarScope* varScp() const { return m_varScp; } - virtual string name() const { return (cvtToStr((void*)m_varScp)+" "+varScp()->name()); } + virtual string name() const { return (cvtToHex(m_varScp)+" "+varScp()->name()); } virtual string dotColor() const { return "blue"; } bool isTop() const { return m_isTop; } void setIsTop() { m_isTop = true; } @@ -169,7 +169,7 @@ public: : GateEitherVertex(graphp,scopep), m_nodep(nodep), m_activep(activep), m_slow(slow) {} virtual ~GateLogicVertex() {} // ACCESSORS - virtual string name() const { return (cvtToStr((void*)m_nodep)+"@"+scopep()->prettyName()); } + virtual string name() const { return (cvtToHex(m_nodep)+"@"+scopep()->prettyName()); } virtual string dotColor() const { return "yellow"; } virtual FileLine* fileline() const { return nodep()->fileline(); } AstNode* nodep() const { return m_nodep; } diff --git a/src/V3Graph.cpp b/src/V3Graph.cpp index 595ab67c8..225ba8423 100644 --- a/src/V3Graph.cpp +++ b/src/V3Graph.cpp @@ -277,7 +277,7 @@ void V3Graph::loopsMessageCb(V3GraphVertex* vertexp) { void V3Graph::loopsVertexCb(V3GraphVertex* vertexp) { // Needed here as V3GraphVertex<< isn't defined until later in header - std::cerr<<"-Info-Loop: "<<(void*)(vertexp)<<" "<::const_iterator inIt=inputs.begin(); inIt!=inputs.end(); ++inIt) { DfaInput input = *inIt; UINFO(9," ==="<<++i<<"=======================\n"); - UINFO(9," On input "<<(void*)(input.toNodep())<parentp(rootEntp()); // Needed so backward search can find name of top module symp->fallbackp(NULL); rootEntp()->insert("$unit ",symp); // Space so can never name conflict with user code @@ -246,7 +246,7 @@ public: VSymEnt* insertTopCell(AstNodeModule* nodep, const string& scopename) { // Only called on the module at the very top of the hierarchy VSymEnt* symp = new VSymEnt(&m_syms, nodep); - UINFO(9," INSERTtop se"<<(void*)symp<<" "<parentp(rootEntp()); // Needed so backward search can find name of top module symp->fallbackp(dunitEntp()); // Needed so can find $unit stuff nodep->user1p(symp); @@ -259,8 +259,8 @@ public: AstCell* nodep, const string& scopename) { if (!abovep) nodep->v3fatalSrc("Null symbol table inserting node"); VSymEnt* symp = new VSymEnt(&m_syms, nodep); - UINFO(9," INSERTcel se"<<(void*)symp<<" "<v3fatalSrc("Null symbol table inserting node"); VSymEnt* symp = new VSymEnt(&m_syms, nodep); - UINFO(9," INSERTblk se"<<(void*)symp<<" above=se"<<(void*)abovep<<" node="<subDTypep()); if (!ifacerefp) varp->v3fatalSrc("Non-ifacerefs on list!"); if (!ifacerefp->ifaceViaCellp()) { @@ -422,7 +423,7 @@ public: void insertScopeAlias(SAMNum samn, VSymEnt* lhsp, VSymEnt* rhsp) { // Track and later insert scope aliases; an interface referenced by a child cell connecting to that interface // Typically lhsp=VAR w/dtype IFACEREF, rhsp=IFACE cell - UINFO(9," insertScopeAlias se"<<(void*)lhsp<<" se"<<(void*)rhsp<nodep(), Cell) && !VN_IS(VN_CAST(rhsp->nodep(), Cell)->modp(), Iface)) { rhsp->nodep()->v3fatalSrc("Got a non-IFACE alias RHS"); @@ -468,7 +469,7 @@ public: string& baddot, VSymEnt*& okSymp) { // Given a dotted hierarchy name, return where in scope it is // Note when dotname=="" we just fall through and return lookupSymp - UINFO(8," dottedFind se"<<(void*)lookupSymp<<" '"<symPrefix()=="") ? "" : " as ") <<((lookupSymp->symPrefix()=="") ? "" : lookupSymp->symPrefix()+dotname) <<" at se"<nodep())<<": "<prettyName()); } else if (findvarp != nodep) { UINFO(4,"DupVar: "<nodep()<parentp()<parentp())<parentp() == m_curSymp // Only when on same level && !foundp->imported()) { // and not from package if ((findvarp->isIO() && nodep->isSignal()) @@ -1259,12 +1261,12 @@ class LinkDotScopeVisitor : public AstNVisitor { string baddot; VSymEnt* okSymp; VSymEnt* cellSymp = m_statep->findDotted(m_modSymp, ifcellname, baddot, okSymp); if (!cellSymp) nodep->v3fatalSrc("No symbol for interface cell: " <prettyName(ifcellname)); - UINFO(5, " Found interface cell: se"<<(void*)cellSymp<<" "<nodep()<nodep()<modportName()!="") { VSymEnt* mpSymp = m_statep->findDotted(m_modSymp, ifcellname, baddot, okSymp); if (!mpSymp) { nodep->v3fatalSrc("No symbol for interface modport: " <prettyName(dtypep->modportName())); } else cellSymp = mpSymp; - UINFO(5, " Found modport cell: se"<<(void*)cellSymp<<" "<nodep()<nodep()<v3fatalSrc("No symbol for interface alias rhs"); - UINFO(5, " Found a linked scope RHS: "<nodep()<nodep()<findDotted(m_modSymp, scopename, baddot, okSymp); if (!symp) nodep->v3fatalSrc("No symbol for interface alias lhs"); - UINFO(5, " Found a linked scope LHS: "<nodep()<nodep()<nodep()->typeName() <<" but expected a "<prettyName()); } else { @@ -1950,7 +1952,7 @@ private: // No checkNoDot; created and iterated from a parseRef iterateChildren(nodep); if (!nodep->varp()) { - UINFO(9," linkVarRef se"<<(void*)m_curSymp<<" n="<findIdFallback(nodep->name()); if (AstVar* varp = foundp ? foundToVarp(foundp, nodep, nodep->lvalue()) : NULL) { @@ -2116,7 +2118,8 @@ private: UINFO(7," Resolved "<v3error("Found definition of '"<prettyName() <<"'"<<" as a "<nodep()->typeName() @@ -2190,11 +2193,11 @@ private: VSymEnt* oldCurSymp = m_curSymp; { m_ds.m_dotSymp = m_curSymp = m_statep->getNodeSym(nodep); - UINFO(5," cur=se"<<(void*)m_curSymp<hasSettle() // or, we can ignore being in the settle domain || domainp->hasInitial()) { @@ -1568,7 +1569,7 @@ void OrderVisitor::processDomainsIterate(OrderEitherVertex* vertexp) { // vertexp->domainp(domainp); if (vertexp->domainp()) { - UINFO(5," done d="<<(void*)vertexp->domainp() + UINFO(5," done d="<domainp()) <<(vertexp->domainp()->hasCombo()?" [COMB]":"") <<(vertexp->domainp()->isMulti()?" [MULT]":"") <<" "<(itp)) name += " {STL}"; std::ostringstream os; os.setf(std::ios::left); - os<<" "<<(void*)(vvertexp->varScp())<<" "<varScp())<<" "<domainp(); if (sentreep) V3EmitV::verilogForTree(sentreep, os); report.push_back(os.str()); @@ -1739,8 +1740,8 @@ void OrderVisitor::processMoveOne(OrderMoveVertex* vertexp, OrderMoveDomScope* d } const OrderLogicVertex* lvertexp = vertexp->logicp(); const AstScope* scopep = lvertexp->scopep(); - UINFO(5," POSmove l"<addActivep(newActivep); diff --git a/src/V3OrderGraph.h b/src/V3OrderGraph.h index 94cc4a17c..951706d76 100644 --- a/src/V3OrderGraph.h +++ b/src/V3OrderGraph.h @@ -148,7 +148,7 @@ public: // Methods virtual OrderVEdgeType type() const = 0; virtual bool domainMatters() = 0; // Must be in same domain when cross edge to this vertex - virtual string dotName() const { return cvtToStr((void*)m_scopep)+"_"; } + virtual string dotName() const { return cvtToHex(m_scopep)+"_"; } // ACCESSORS void domainp(AstSenTree* domainp) { m_domainp = domainp; } AstScope* scopep() const { return m_scopep; } @@ -205,7 +205,7 @@ public: virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_LOGIC; } virtual bool domainMatters() { return true; } // ACCESSORS - virtual string name() const { return (cvtToStr((void*)m_nodep)+"\\n "+cvtToStr(nodep()->typeName())); } + virtual string name() const { return (cvtToHex(m_nodep)+"\\n "+cvtToStr(nodep()->typeName())); } AstNode* nodep() const { return m_nodep; } virtual string dotColor() const { return "yellow"; } }; @@ -245,7 +245,7 @@ public: virtual OrderVarStdVertex* clone(V3Graph* graphp) const { return new OrderVarStdVertex(graphp, *this); } virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_VARSTD; } - virtual string name() const { return (cvtToStr((void*)varScp())+"\\n "+varScp()->name());} + virtual string name() const { return (cvtToHex(varScp())+"\\n "+varScp()->name());} virtual string dotColor() const { return "skyblue"; } virtual bool domainMatters() { return true; } }; @@ -259,7 +259,7 @@ public: virtual OrderVarPreVertex* clone(V3Graph* graphp) const { return new OrderVarPreVertex(graphp, *this); } virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_VARPRE; } - virtual string name() const { return (cvtToStr((void*)varScp())+" PRE\\n "+varScp()->name());} + virtual string name() const { return (cvtToHex(varScp())+" PRE\\n "+varScp()->name());} virtual string dotColor() const { return "lightblue"; } virtual bool domainMatters() { return false; } }; @@ -273,7 +273,7 @@ public: return new OrderVarPostVertex(graphp, *this); } virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_VARPOST; } virtual ~OrderVarPostVertex() {} - virtual string name() const { return (cvtToStr((void*)varScp())+" POST\\n "+varScp()->name());} + virtual string name() const { return (cvtToHex(varScp())+" POST\\n "+varScp()->name());} virtual string dotColor() const { return "CadetBlue"; } virtual bool domainMatters() { return false; } }; @@ -287,7 +287,7 @@ public: virtual OrderVarPordVertex* clone(V3Graph* graphp) const { return new OrderVarPordVertex(graphp, *this); } virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_VARPORD; } - virtual string name() const { return (cvtToStr((void*)varScp())+" PORD\\n "+varScp()->name());} + virtual string name() const { return (cvtToHex(varScp())+" PORD\\n "+varScp()->name());} virtual string dotColor() const { return "NavyBlue"; } virtual bool domainMatters() { return false; } }; @@ -301,7 +301,7 @@ public: virtual OrderVarSettleVertex* clone(V3Graph* graphp) const { return new OrderVarSettleVertex(graphp, *this); } virtual OrderVEdgeType type() const { return OrderVEdgeType::VERTEX_VARSETTLE; } - virtual string name() const { return (cvtToStr((void*)varScp())+" STL\\n "+varScp()->name());} + virtual string name() const { return (cvtToHex(varScp())+" STL\\n "+varScp()->name());} virtual string dotColor() const { return "PowderBlue"; } virtual bool domainMatters() { return false; } }; @@ -345,8 +345,8 @@ public: if (logicp()) { nm = logicp()->name(); nm += (string("\\nMV:") - +" d="+cvtToStr((void*)logicp()->domainp()) - +" s="+cvtToStr((void*)logicp()->scopep())); + +" d="+cvtToHex(logicp()->domainp()) + +" s="+cvtToHex(logicp()->scopep())); } else { nm = "nul"; } @@ -402,8 +402,8 @@ public: if (logicp()) { nm = logicp()->name(); nm += (string("\\nMV:") - +" d="+cvtToStr((void*)logicp()->domainp()) - +" s="+cvtToStr((void*)logicp()->scopep()) + +" d="+cvtToHex(logicp()->domainp()) + +" s="+cvtToHex(logicp()->scopep()) // "color()" represents the mtask ID. +"\\nt="+cvtToStr(color())); } else { diff --git a/src/V3PartitionGraph.h b/src/V3PartitionGraph.h index 9234ca730..07cafda16 100644 --- a/src/V3PartitionGraph.h +++ b/src/V3PartitionGraph.h @@ -96,7 +96,7 @@ public: } string name() const { return string("mt")+cvtToStr(id()); } void dump(std::ostream& str) const { - str <name(); } diff --git a/src/V3SymTable.h b/src/V3SymTable.h index 19fc436de..d93772269 100644 --- a/src/V3SymTable.h +++ b/src/V3SymTable.h @@ -68,8 +68,8 @@ public: void dumpIterate(std::ostream& os, VSymConstMap& doneSymsr, const string& indent, int numLevels, const string& searchName) const { os<nodep()<nodep()<=9 || V3Error::debugDefault()) dump(cout,"- err-dump: ", 1); @@ -130,7 +131,8 @@ public: void reinsert(const string& name, VSymEnt* entp) { IdNameMap::iterator it = m_idNameMap.find(name); if (name!="" && it != m_idNameMap.end()) { - UINFO(9, " SymReinsert se"<<(void*)this<<" '"<nodep()<nodep()<second = entp; // Replace } else { insert(name,entp); @@ -140,9 +142,9 @@ public: // Find identifier without looking upward through symbol hierarchy // First, scan this begin/end block or module for the name IdNameMap::const_iterator it = m_idNameMap.find(name); - UINFO(9, " SymFind se"<<(void*)this<<" '"< "<<(it == m_idNameMap.end() ? "NONE" - : "se"+cvtToStr((void*)(it->second))+" n="+cvtToStr((void*)(it->second->nodep())))<second)+" n="+cvtToHex(it->second->nodep()))<second); return NULL; } @@ -207,7 +209,7 @@ public: } void importFromIface(VSymGraph* graphp, const VSymEnt* srcp, bool onlyUnmodportable = false) { // Import interface tokens from source symbol table into this symbol table, recursively - UINFO(9, " importIf se"<<(void*)this<<" from se"<<(void*)srcp<m_idNameMap.begin(); it!=srcp->m_idNameMap.end(); ++it) { const string& name = it->first; VSymEnt* subSrcp = it->second; diff --git a/src/V3Task.cpp b/src/V3Task.cpp index 921c559bc..23d8454b6 100644 --- a/src/V3Task.cpp +++ b/src/V3Task.cpp @@ -262,7 +262,7 @@ private: virtual void visit(AstVarRef* nodep) { // Similar code in V3Inline if (nodep->varp()->user2p()) { // It's being converted to a alias. - UINFO(9, " relinkVar "<<(void*)nodep->varp()->user2p()<<" "<varp()->user2p())<<" "<varp()->user2p(), VarScope); if (!newvscp) nodep->v3fatalSrc("not linked"); nodep->varScopep(newvscp); @@ -1396,7 +1396,9 @@ V3TaskConnects V3Task::taskConnects(AstNodeFTaskRef* nodep, AstNode* taskStmtsp) if (debug()>=9) { nodep->dumpTree(cout,"-ftref-out: "); - for (int i=0; inodep()) + UINFO(9," dupOf "<nodep()) <<" "<duplicatep()) dupvertexp->nodep()->v3fatalSrc("Original node was marked as a duplicate"); } diff --git a/src/V3Tristate.cpp b/src/V3Tristate.cpp index eb2e78997..3ada7ebaa 100644 --- a/src/V3Tristate.cpp +++ b/src/V3Tristate.cpp @@ -99,8 +99,8 @@ public: AstVar* varp() const { return VN_CAST(nodep(), Var); } virtual string name() const { return ((isTristate() ? "tri\\n" - :feedsTri() ? "feed\\n" : "-\\n") - +(nodep()->prettyTypeName()+" "+cvtToStr((void*)nodep()))); } + : feedsTri() ? "feed\\n" : "-\\n") + +(nodep()->prettyTypeName()+" "+cvtToHex(nodep()))); } virtual string dotColor() const { return (varp() ? (isTristate() ? "darkblue" diff --git a/src/V3Undriven.cpp b/src/V3Undriven.cpp index 2d5a84697..7765736b3 100644 --- a/src/V3Undriven.cpp +++ b/src/V3Undriven.cpp @@ -241,7 +241,7 @@ private: UndrivenVarEntry* getEntryp(AstVar* nodep, int which_user) { if (!(which_user==1 ? nodep->user1p() : nodep->user2p())) { UndrivenVarEntry* entryp = new UndrivenVarEntry(nodep); - //UINFO(9," Associate u="<name()<name()<user1p(entryp); else if (which_user==2) nodep->user2p(entryp); @@ -303,7 +303,7 @@ private: if (m_inBBox || varrefp->lvalue()) { // Don't warn if already driven earlier as "a=0; if(a) a=1;" is fine. if (usr==2 && m_alwaysp && entryp->isUsedNotDrivenBit(lsb, nodep->width())) { - UINFO(9," Select. Entryp="<<(void*)entryp<fileline(), AstConst::Signed32(), val); - UINFO(9," $dimension "<print(" bool $typefunc->{match_func}(Ast${base}* nodep) {\n", "\t// $typefunc->{comment}\n",); $self->print( "\tif ($typefunc->{match_if}) {\n"); - $self->print( "\t UINFO($typefunc->{uinfo_level},(void*)(nodep)<<\" $typefunc->{uinfo}\\n\");\n"); + $self->print( "\t UINFO($typefunc->{uinfo_level},cvtToHex(nodep)" + ."<<\" $typefunc->{uinfo}\\n\");\n"); $self->print( "\t $typefunc->{exec_func}\n"); $self->print( "\t return true;\n"); $self->print( "\t}\n");