|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp 305 getCheckerManager().runCheckersForPreStmt(dstPreStmt, Pred, CastE, *this);
307 if (CastE->getCastKind() == CK_LValueToRValue) {
313 evalLoad(Dst, CastE, CastE, subExprNode, state, state->getSVal(Ex, LCtx));
313 evalLoad(Dst, CastE, CastE, subExprNode, state, state->getSVal(Ex, LCtx));
319 QualType T = CastE->getType();
322 if (const ExplicitCastExpr *ExCast=dyn_cast_or_null<ExplicitCastExpr>(CastE))
333 switch (CastE->getCastKind()) {
360 state = state->BindExpr(CastE, LCtx, V);
361 Bldr.generateNode(CastE, Pred, state);
371 state = state->BindExpr(CastE, LCtx, V);
372 Bldr.generateNode(CastE, Pred, state);
377 handleLValueBitCast(state, Ex, LCtx, T, ExTy, CastE, Bldr, Pred);
390 state = state->BindExpr(CastE, LCtx, UnknownVal());
391 Bldr.generateNode(CastE, Pred, state);
396 handleLValueBitCast(state, Ex, LCtx, T, ExTy, CastE, Bldr, Pred);
426 handleLValueBitCast(state, Ex, LCtx, T, ExTy, CastE, Bldr, Pred);
433 state = state->BindExpr(CastE, LCtx, V);
434 Bldr.generateNode(CastE, Pred, state);
441 val = getStoreManager().evalDerivedToBase(val, CastE);
442 state = state->BindExpr(CastE, LCtx, val);
443 Bldr.generateNode(CastE, Pred, state);
451 QualType resultType = CastE->getType();
452 if (CastE->isGLValue())
468 Bldr.generateSink(CastE, Pred, state);
472 state = state->BindExpr(CastE, LCtx, svalBuilder.makeNull());
478 svalBuilder.conjureSymbolVal(nullptr, CastE, LCtx, resultType,
480 state = state->BindExpr(CastE, LCtx, NewSym);
483 state = state->BindExpr(CastE, LCtx, val);
485 Bldr.generateNode(CastE, Pred, state);
490 QualType resultType = CastE->getType();
491 if (CastE->isGLValue())
503 svalBuilder.conjureSymbolVal(nullptr, CastE, LCtx, resultType,
506 state = state->BindExpr(CastE, LCtx, val);
507 Bldr.generateNode(CastE, Pred, state);
512 state = state->BindExpr(CastE, LCtx, V);
513 Bldr.generateNode(CastE, Pred, state);
518 state = state->BindExpr(CastE, LCtx, V);
519 Bldr.generateNode(CastE, Pred, state);
530 CastE->path_begin(), CastE->path_end()), *PTMSV));
530 CastE->path_begin(), CastE->path_end()), *PTMSV));
531 state = state->BindExpr(CastE, LCtx, CastedPTMSV);
532 Bldr.generateNode(CastE, Pred, state);
536 state = handleLVectorSplat(state, LCtx, CastE, Bldr, Pred);
542 state = handleLVectorSplat(state, LCtx, CastE, Bldr, Pred);