コード例 #1
0
ファイル: ReturnUndefChecker.cpp プロジェクト: Godin/clang
static void emitBug(CheckerContext &C, BuiltinBug &BT, const Expr *RetE,
                    const Expr *TrackingE = 0) {
  ExplodedNode *N = C.generateSink();
  if (!N)
    return;

  BugReport *Report = new BugReport(BT, BT.getDescription(), N);

  Report->addRange(RetE->getSourceRange());
  bugreporter::trackNullOrUndefValue(N, TrackingE ? TrackingE : RetE, *Report);

  C.emitReport(Report);
}
コード例 #2
0
static void emitBug(CheckerContext &C, BuiltinBug &BT, const Expr *RetE,
                    const Expr *TrackingE = nullptr) {
  ExplodedNode *N = C.generateSink();
  if (!N)
    return;

  auto Report = llvm::make_unique<BugReport>(BT, BT.getDescription(), N);

  Report->addRange(RetE->getSourceRange());
  bugreporter::trackNullOrUndefValue(N, TrackingE ? TrackingE : RetE, *Report);

  C.emitReport(std::move(Report));
}