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


C++ CompoundStmt::isWCR方法代码示例

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


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

示例1: NewCompoundStmt

Stmt *TransformWCR::MergeWCRsAndMakeCompoundStmt(StmtVector &Body) {
  StmtVector Stmts;
  UnwrapStmtList(Stmts, Body);

#if 1
  return NewCompoundStmt(Stmts);
#else
  StmtVector NewBody;
  for (unsigned i = 0, e = Stmts.size(); i < e; i++) {
    CompoundStmt *CS = dyn_cast<CompoundStmt>(Stmts[i]);
    if (CS && CS->isWCR() && !isLandPad(CS)) {
      // Check if the next stmt is a WCR.
      while (i + 1 < e) {
        CompoundStmt *nextCS = dyn_cast<CompoundStmt>(Stmts[i+1]);
        if (nextCS && nextCS->isWCR() && !isLandPad(CS)) {
          CS = MergeConsecutiveWCRs(CS, nextCS);
          i++;
        } else break;
      }
      NewBody.push_back(CS);
    } else {
      NewBody.push_back(Stmts[i]);
    }
  }

  return NewCompoundStmt(NewBody);
#endif
}
开发者ID:SiddharthC,项目名称:snucl-1.3.2,代码行数:28,代码来源:TransformWCR.cpp


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