/external/llvm-project/clang/lib/StaticAnalyzer/Core/ |
D | ExprEngineC.cpp | 30 unsigned Count, const LocationContext *LCtx) { in conjureOffsetSymbolOnLocation() argument 35 return svalBuilder.conjureSymbolVal(Expression, LCtx, Ty, Count); in conjureOffsetSymbolOnLocation() 57 const LocationContext *LCtx = (*it)->getLocationContext(); in VisitBinaryOperator() local 58 SVal LeftV = state->getSVal(LHS, LCtx); in VisitBinaryOperator() 59 SVal RightV = state->getSVal(RHS, LCtx); in VisitBinaryOperator() 68 RightV = svalBuilder.conjureSymbolVal(nullptr, B->getRHS(), LCtx, in VisitBinaryOperator() 74 evalStore(Tmp2, B, LHS, *it, state->BindExpr(B, LCtx, ExprVal), in VisitBinaryOperator() 87 RightV, LeftV, RHS, svalBuilder, Count, LCtx); in VisitBinaryOperator() 89 LeftV, RightV, LHS, svalBuilder, Count, LCtx); in VisitBinaryOperator() 96 state = createTemporaryRegionIfNeeded(state, LCtx, LHS); in VisitBinaryOperator() [all …]
|
D | ExprEngineCXX.cpp | 32 const LocationContext *LCtx = Pred->getLocationContext(); in CreateCXXTemporaryObject() local 34 state = createTemporaryRegionIfNeeded(state, LCtx, tempExpr, ME); in CreateCXXTemporaryObject() 68 const LocationContext *LCtx = Pred->getLocationContext(); in performTrivialCopy() local 85 PostStmt PS(CallExpr, LCtx); in performTrivialCopy() 90 State = State->BindExpr(CallExpr, LCtx, ThisVal); in performTrivialCopy() 92 State = bindReturnValue(Call, LCtx, State); in performTrivialCopy() 113 const Expr *E, ProgramStateRef State, const LocationContext *LCtx, in computeObjectUnderConstruction() argument 128 return makeZeroElementRegion(State, State->getLValue(Var, LCtx), Ty, in computeObjectUnderConstruction() 135 const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl()); in computeObjectUnderConstruction() 136 Loc ThisPtr = SVB.getCXXThis(CurCtor, LCtx->getStackFrame()); in computeObjectUnderConstruction() [all …]
|
D | ProgramState.cpp | 95 ProgramStateRef state, const StackFrameContext *LCtx, in removeDeadBindingsFromEnvironmentAndStore() argument 109 StoreRef newStore = StoreMgr->removeDeadBindings(NewState.getStore(), LCtx, in removeDeadBindingsFromEnvironmentAndStore() 119 const LocationContext *LCtx, in bindLoc() argument 126 return Mgr.getOwningEngine().processRegionChange(newState, MR, LCtx); in bindLoc() 133 const LocationContext *LCtx) const { in bindDefaultInitial() 138 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultInitial() 142 ProgramState::bindDefaultZero(SVal loc, const LocationContext *LCtx) const { in bindDefaultZero() 147 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultZero() 156 const LocationContext *LCtx, in invalidateRegions() argument 166 return invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape, in invalidateRegions() [all …]
|
D | LoopWidening.cpp | 45 const LocationContext *LCtx, in getWidenedLoopState() argument 57 ASTContext &ASTCtx = LCtx->getAnalysisDeclContext()->getASTContext(); in getWidenedLoopState() 58 const StackFrameContext *STC = LCtx->getStackFrame(); in getWidenedLoopState() 73 *LCtx->getDecl()->getBody(), ASTCtx); in getWidenedLoopState() 77 const VarRegion *VarMem = MRMgr.getVarRegion(VD, LCtx); in getWidenedLoopState() 96 BlockCount, LCtx, true, nullptr, nullptr, in getWidenedLoopState()
|
D | PrettyStackTraceLocationContext.h | 29 const LocationContext *LCtx; variable 31 PrettyStackTraceLocationContext(const LocationContext *LC) : LCtx(LC) { in PrettyStackTraceLocationContext() 32 assert(LCtx); in PrettyStackTraceLocationContext() 37 LCtx->dumpStack(Out); in print()
|
D | Environment.cpp | 95 const LocationContext *LCtx = Entry.getLocationContext(); in getSVal() local 126 return getSVal(EnvironmentEntry(RE, LCtx), svalBuilder); in getSVal() 132 return lookupExpr(EnvironmentEntry(S, LCtx)); in getSVal() 216 const LocationContext *LCtx, const char *NL, in printJson() argument 226 if (!LCtx) { in printJson() 233 LCtx = LC; in printJson() 240 assert(LCtx); in printJson() 242 Out << "{ \"pointer\": \"" << (const void *)LCtx->getStackFrame() in printJson() 246 LCtx->printJson(Out, NL, Space, IsDot, [&](const LocationContext *LC) { in printJson()
|
D | SymbolManager.cpp | 75 << LCtx->getID(); in dumpToStream() 77 os << ", S" << S->getID(LCtx->getDecl()->getASTContext()); in dumpToStream() 173 const LocationContext *LCtx, in conjureSymbol() argument 178 SymbolConjured::Profile(profile, E, T, Count, LCtx, SymbolTag); in conjureSymbol() 183 new (SD) SymbolConjured(SymbolCounter, E, LCtx, T, Count, SymbolTag); in conjureSymbol() 226 const LocationContext *LCtx, in getMetadataSymbol() argument 229 SymbolMetadata::Profile(profile, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol() 234 new (SD) SymbolMetadata(SymbolCounter, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol() 493 if (LCtx == nullptr) in isLive() 496 if (LCtx != ELCtx) { in isLive() [all …]
|
D | LoopUnrolling.cpp | 31 const LocationContext *LCtx; member 34 : K(InK), LoopStmt(S), LCtx(L), maxStep(N) {} in LoopState() 48 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext() 55 ID.AddPointer(LCtx); in Profile() 264 auto LCtx = Pred->getLocationContext(); in updateLoopStack() local 271 LCtx == LS.getHead().getLocationContext()) { in updateLoopStack() 275 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 282 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 291 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 294 LoopState::getUnrolled(LoopStmt, LCtx, innerMaxStep)); in updateLoopStack()
|
/external/clang/lib/StaticAnalyzer/Core/ |
D | ExprEngineC.cpp | 39 const LocationContext *LCtx = (*it)->getLocationContext(); in VisitBinaryOperator() local 40 SVal LeftV = state->getSVal(LHS, LCtx); in VisitBinaryOperator() 41 SVal RightV = state->getSVal(RHS, LCtx); in VisitBinaryOperator() 50 RightV = svalBuilder.conjureSymbolVal(nullptr, B->getRHS(), LCtx, in VisitBinaryOperator() 56 evalStore(Tmp2, B, LHS, *it, state->BindExpr(B, LCtx, ExprVal), in VisitBinaryOperator() 74 RightV = svalBuilder.conjureSymbolVal(RHS, LCtx, RHS->getType(), in VisitBinaryOperator() 80 LeftV = svalBuilder.conjureSymbolVal(LHS, LCtx, LHS->getType(), in VisitBinaryOperator() 89 state = createTemporaryRegionIfNeeded(state, LCtx, LHS); in VisitBinaryOperator() 99 state = state->BindExpr(B, LCtx, Result); in VisitBinaryOperator() 131 const LocationContext *LCtx = (*I)->getLocationContext(); in VisitBinaryOperator() local [all …]
|
D | ExprEngineCXX.cpp | 31 const LocationContext *LCtx = Pred->getLocationContext(); in CreateCXXTemporaryObject() local 33 state = createTemporaryRegionIfNeeded(state, LCtx, tempExpr, ME); in CreateCXXTemporaryObject() 56 const LocationContext *LCtx = Pred->getLocationContext(); in performTrivialCopy() local 73 PostStmt PS(CallExpr, LCtx); in performTrivialCopy() 78 State = State->BindExpr(CallExpr, LCtx, ThisVal); in performTrivialCopy() 80 State = bindReturnValue(Call, LCtx, State); in performTrivialCopy() 109 const LocationContext *LCtx = Pred->getLocationContext(); in getRegionForConstructedObject() local 120 SVal LValue = State->getLValue(Var, LCtx); in getRegionForConstructedObject() 129 const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl()); in getRegionForConstructedObject() 131 getSValBuilder().getCXXThis(CurCtor, LCtx->getCurrentStackFrame()); in getRegionForConstructedObject() [all …]
|
D | PrettyStackTraceLocationContext.h | 30 const LocationContext *LCtx; variable 32 PrettyStackTraceLocationContext(const LocationContext *LC) : LCtx(LC) { in PrettyStackTraceLocationContext() 33 assert(LCtx); in PrettyStackTraceLocationContext() 38 LCtx->dumpStack(OS, "\t"); in print()
|
D | ExprEngineObjC.cpp | 26 const LocationContext *LCtx = Pred->getLocationContext(); in VisitLvalObjCIvarRefExpr() local 27 SVal baseVal = state->getSVal(Ex->getBase(), LCtx); in VisitLvalObjCIvarRefExpr() 32 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, location)); in VisitLvalObjCIvarRefExpr() 97 const LocationContext *LCtx = Pred->getLocationContext(); in VisitObjCForCollectionStmt() local 101 ProgramStateRef hasElems = state->BindExpr(S, LCtx, TrueV); in VisitObjCForCollectionStmt() 105 ProgramStateRef noElems = state->BindExpr(S, LCtx, FalseV); in VisitObjCForCollectionStmt() 115 SymbolRef Sym = SymMgr.conjureSymbol(elem, LCtx, T, in VisitObjCForCollectionStmt()
|
/external/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
D | CallEvent.h | 144 const LocationContext *LCtx; variable 169 : State(std::move(state)), LCtx(lctx), Origin(E), RefCount(0) {} in CallEvent() 172 : State(std::move(state)), LCtx(lctx), Origin(D), RefCount(0) {} in CallEvent() 176 : State(Original.State), LCtx(Original.LCtx), Origin(Original.Origin), in CallEvent() 214 return LCtx; in getLocationContext() 423 const LocationContext *LCtx) in AnyFunctionCall() argument 424 : CallEvent(E, St, LCtx) {} in AnyFunctionCall() 426 const LocationContext *LCtx) in AnyFunctionCall() argument 427 : CallEvent(D, St, LCtx) {} in AnyFunctionCall() 473 const LocationContext *LCtx) in SimpleFunctionCall() argument [all …]
|
/external/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
D | CallEvent.h | 149 const LocationContext *LCtx; variable 173 : State(std::move(state)), LCtx(lctx), Origin(E) {} in CallEvent() 176 : State(std::move(state)), LCtx(lctx), Origin(D) {} in CallEvent() 180 : State(Original.State), LCtx(Original.LCtx), Origin(Original.Origin), in CallEvent() 219 return LCtx; in getLocationContext() 487 const LocationContext *LCtx) in AnyFunctionCall() argument 488 : CallEvent(E, St, LCtx) {} in AnyFunctionCall() 490 const LocationContext *LCtx) in AnyFunctionCall() argument 491 : CallEvent(D, St, LCtx) {} in AnyFunctionCall() 524 const LocationContext *LCtx) in SimpleFunctionCall() argument [all …]
|
D | SymbolManager.h | 81 const LocationContext *LCtx; variable 88 LCtx(lctx), SymbolTag(symbolTag) { in SymbolConjured() 109 QualType T, unsigned Count, const LocationContext *LCtx, in Profile() argument 113 profile.AddPointer(LCtx); in Profile() 120 Profile(profile, S, T, Count, LCtx, SymbolTag); in Profile() 213 const LocationContext *LCtx; variable 219 const LocationContext *LCtx, unsigned count, const void *tag) in SymbolMetadata() argument 220 : SymbolData(SymbolMetadataKind, sym), R(r), S(s), T(t), LCtx(LCtx), in SymbolMetadata() 225 assert(LCtx); in SymbolMetadata() 231 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext() [all …]
|
D | ProgramState.h | 238 const LocationContext *LCtx, SVal V, 242 const LocationContext *LCtx, 246 const LocationContext *LCtx) const; 255 bindDefaultInitial(SVal loc, SVal V, const LocationContext *LCtx) const; 260 bindDefaultZero(SVal loc, const LocationContext *LCtx) const; 284 unsigned BlockCount, const LocationContext *LCtx, 291 unsigned BlockCount, const LocationContext *LCtx, 334 SVal getSVal(const Stmt *S, const LocationContext *LCtx) const; 336 SVal getSValAsScalarOrLoc(const Stmt *Ex, const LocationContext *LCtx) const; 434 void printJson(raw_ostream &Out, const LocationContext *LCtx = nullptr, [all …]
|
/external/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
D | CXXSelfAssignmentChecker.cpp | 41 const auto *LCtx = C.getLocationContext(); in checkBeginFunction() local 42 const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl()); in checkBeginFunction() 50 State->getSVal(SVB.getCXXThis(MD, LCtx->getStackFrame())); in checkBeginFunction() 51 auto Param = SVB.makeLoc(State->getRegion(MD->getParamDecl(0), LCtx)); in checkBeginFunction() 54 ProgramStateRef SelfAssignState = State->bindLoc(Param, ThisVal, LCtx); in checkBeginFunction() 64 ProgramStateRef NonSelfAssignState = State->bindLoc(Param, ParamVal, LCtx); in checkBeginFunction()
|
D | STLAlgorithmModeling.cpp | 111 const auto *LCtx = C.getLocationContext(); in Find() local 113 SVal RetVal = SVB.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in Find() 114 SVal Param = State->getSVal(CE->getArg(paramNum), LCtx); in Find() 116 auto StateFound = State->BindExpr(CE, LCtx, RetVal); in Find() 125 CE, LCtx, C.blockCount()); in Find() 138 Param = State->getSVal(CE->getArg(paramNum + 1), LCtx); in Find() 147 CE, LCtx, C.blockCount()); in Find() 163 auto StateNotFound = State->BindExpr(CE, LCtx, Param); in Find()
|
D | CStringChecker.cpp | 115 const LocationContext *LCtx, 452 const LocationContext *LCtx = C.getLocationContext(); in CheckOverlap() local 453 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap() 454 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap() 503 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap() 883 const LocationContext *LCtx = C.getLocationContext(); in IsFirstBufInBound() local 887 SVal BufVal = state->getSVal(FirstBuf, LCtx); in IsFirstBufInBound() 889 SVal LengthVal = state->getSVal(Size, LCtx); in IsFirstBufInBound() 959 const LocationContext *LCtx = C.getPredecessor()->getLocationContext(); in InvalidateBuffer() local 982 return state->invalidateRegions(R, E, C.blockCount(), LCtx, in InvalidateBuffer() [all …]
|
D | CheckObjCDealloc.cpp | 154 bool isInInstanceDealloc(const CheckerContext &C, const LocationContext *LCtx, 161 const ObjCImplDecl *getContainingObjCImpl(const LocationContext *LCtx) const; 264 const LocationContext *LCtx = C.getLocationContext(); in checkBeginFunction() local 279 for (auto *PropImpl : getContainingObjCImpl(LCtx)->property_impls()) { in checkBeginFunction() 495 const LocationContext *LCtx = C.getLocationContext(); in diagnoseMissingReleases() local 525 cast<ObjCMethodDecl>(LCtx->getDecl())->getClassInterface()) in diagnoseMissingReleases() 599 assert(!LCtx->inTopFrame() || State->get<UnreleasedIvarMap>().isEmpty()); in diagnoseMissingReleases() 623 const LocationContext *LCtx = C.getLocationContext(); in findPropertyOnDeallocatingInstance() local 626 const ObjCImplDecl *Container = getContainingObjCImpl(LCtx); in findPropertyOnDeallocatingInstance() 797 ObjCDeallocChecker::getContainingObjCImpl(const LocationContext *LCtx) const { in getContainingObjCImpl() [all …]
|
/external/clang/lib/StaticAnalyzer/Checkers/ |
D | BuiltinFunctionChecker.cpp | 36 const LocationContext *LCtx = C.getLocationContext(); in evalCall() local 53 SVal X = state->getSVal(*(CE->arg_begin()), LCtx); in evalCall() 54 C.addTransition(state->BindExpr(CE, LCtx, X)); in evalCall() 68 state->getSVal(*(CE->arg_begin()), LCtx).castAs<DefinedOrUnknownSVal>(); in evalCall() 77 C.addTransition(state->BindExpr(CE, LCtx, loc::MemRegionVal(R))); in evalCall() 94 C.addTransition(state->BindExpr(CE, LCtx, V)); in evalCall()
|
D | CStringChecker.cpp | 363 const LocationContext *LCtx = C.getLocationContext(); in CheckBufferAccess() local 369 SVal BufVal = state->getSVal(FirstBuf, LCtx); in CheckBufferAccess() 381 SVal LengthVal = state->getSVal(Size, LCtx); in CheckBufferAccess() 407 BufVal = state->getSVal(SecondBuf, LCtx); in CheckBufferAccess() 445 const LocationContext *LCtx = C.getLocationContext(); in CheckOverlap() local 446 SVal firstVal = state->getSVal(First, LCtx); in CheckOverlap() 447 SVal secondVal = state->getSVal(Second, LCtx); in CheckOverlap() 496 SVal LengthVal = state->getSVal(Size, LCtx); in CheckOverlap() 841 const LocationContext *LCtx = C.getLocationContext(); in IsFirstBufInBound() local 845 SVal BufVal = state->getSVal(FirstBuf, LCtx); in IsFirstBufInBound() [all …]
|
D | CheckObjCDealloc.cpp | 154 bool isInInstanceDealloc(const CheckerContext &C, const LocationContext *LCtx, 161 const ObjCImplDecl *getContainingObjCImpl(const LocationContext *LCtx) const; 271 const LocationContext *LCtx = C.getLocationContext(); in checkBeginFunction() local 286 for (auto *PropImpl : getContainingObjCImpl(LCtx)->property_impls()) { in checkBeginFunction() 502 const LocationContext *LCtx = C.getLocationContext(); in diagnoseMissingReleases() local 532 cast<ObjCMethodDecl>(LCtx->getDecl())->getClassInterface()) in diagnoseMissingReleases() 607 assert(!LCtx->inTopFrame() || State->get<UnreleasedIvarMap>().isEmpty()); in diagnoseMissingReleases() 631 const LocationContext *LCtx = C.getLocationContext(); in findPropertyOnDeallocatingInstance() local 634 const ObjCImplDecl *Container = getContainingObjCImpl(LCtx); in findPropertyOnDeallocatingInstance() 801 ObjCDeallocChecker::getContainingObjCImpl(const LocationContext *LCtx) const { in getContainingObjCImpl() [all …]
|
D | UndefResultChecker.cpp | 41 const LocationContext *LCtx = C.getLocationContext(); in checkPostStmt() local 42 if (state->getSVal(B, LCtx).isUndef()) { in checkPostStmt() 66 if (state->getSVal(B->getLHS(), LCtx).isUndef()) { in checkPostStmt() 70 else if (state->getSVal(B->getRHS(), LCtx).isUndef()) { in checkPostStmt()
|
/external/llvm-project/clang/lib/Analysis/ |
D | AnalysisDeclContext.cpp | 453 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in dumpStack() local 454 switch (LCtx->getKind()) { in dumpStack() 458 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in dumpStack() 462 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in dumpStack() 469 if (const Decl *D = cast<BlockInvocationContext>(LCtx)->getDecl()) { in dumpStack() 491 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in printJson() local 493 << "{ \"lctx_id\": " << LCtx->getID() << ", \"location_context\": \""; in printJson() 494 switch (LCtx->getKind()) { in printJson() 498 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in printJson() 504 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in printJson() [all …]
|