当前位置: 首页>>代码示例>>C++>>正文


C++ AstVarScope::prettyName方法代码示例

本文整理汇总了C++中AstVarScope::prettyName方法的典型用法代码示例。如果您正苦于以下问题:C++ AstVarScope::prettyName方法的具体用法?C++ AstVarScope::prettyName怎么用?C++ AstVarScope::prettyName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在AstVarScope的用法示例。


在下文中一共展示了AstVarScope::prettyName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: warnSignals

void GateVisitor::warnSignals() {
    AstNode::user2ClearTree();
    for (V3GraphVertex* itp = m_graph.verticesBeginp(); itp; itp=itp->verticesNextp()) {
	if (GateVarVertex* vvertexp = dynamic_cast<GateVarVertex*>(itp)) {
	    AstVarScope* vscp = vvertexp->varScp();
	    AstNode* sp = vvertexp->rstSyncNodep();
	    AstNode* ap = vvertexp->rstAsyncNodep();
	    if (ap && sp && !vscp->varp()->user2()) {
		// This is somewhat wrong, as marking one flop as ok for sync
		// may mean a different flop now fails.  However it's a pain to
		// then report a warning in a new place - we should report them all at once.
		// Instead we'll disable if any disabled
		if (!vscp->fileline()->warnIsOff(V3ErrorCode::SYNCASYNCNET)
		    && !ap->fileline()->warnIsOff(V3ErrorCode::SYNCASYNCNET)
		    && !sp->fileline()->warnIsOff(V3ErrorCode::SYNCASYNCNET)
		    ) {
		    vscp->varp()->user2(true);  // Warn only once per signal
		    vscp->v3warn(SYNCASYNCNET,"Signal flopped as both synchronous and async: "<<vscp->prettyName()<<endl
				 <<ap->warnMore()<<"... Location of async usage"<<endl
				 <<sp->warnMore()<<"... Location of sync usage"<<endl);
		}
	    }
	}
    }
}
开发者ID:RCSL-HKUST,项目名称:heterosim,代码行数:25,代码来源:V3Gate.cpp

示例2: visit

    virtual void visit(AstAlways* nodep, AstNUser*) {
	// Are there any lvalue references below this?
	// There could be more than one.  So, we process the first one found first.
	AstVarScope* lastSplitVscp = NULL;
	while (!nodep->user1()) {
	    // Find any splittable variables
	    SplitAsFindVisitor visitor (nodep);
	    m_splitVscp = visitor.splitVscp();
	    if (m_splitVscp && m_splitVscp == lastSplitVscp) {
		// We did this last time!  Something's stuck!
		nodep->v3fatalSrc("Infinite loop in isolate_assignments removal for: "<<m_splitVscp->prettyName())
		m_splitVscp = NULL;
	    }
	    lastSplitVscp = m_splitVscp;
	    // Now isolate the always
	    if (m_splitVscp) {
		splitAlways(nodep);
		++m_statSplits;
	    } else {
		nodep->user1(true);
	    }
	}
    }
开发者ID:toddstrader,项目名称:verilator-integer-array,代码行数:23,代码来源:V3SplitAs.cpp


注:本文中的AstVarScope::prettyName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。