/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ |
H A D | ExprEngineC.cpp | 31 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 …]
|
H A D | ExprEngineCXX.cpp | 36 const LocationContext *LCtx = Pred->getLocationContext(); in CreateCXXTemporaryObject() local 38 state = createTemporaryRegionIfNeeded(state, LCtx, tempExpr, ME); in CreateCXXTemporaryObject() 64 const LocationContext *LCtx = Pred->getLocationContext(); in performTrivialCopy() local 89 PostStmt PS(CallExpr, LCtx); in performTrivialCopy() 93 State = State->BindExpr(CallExpr, LCtx, ThisVal); in performTrivialCopy() 95 State = bindReturnValue(Call, LCtx, State); in performTrivialCopy() 123 const LocationContext *LCtx, const ConstructionContext *CC, in computeObjectUnderConstruction() argument 139 return makeElementRegion(State, State->getLValue(Var, LCtx), Ty, in computeObjectUnderConstruction() 146 const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl()); in computeObjectUnderConstruction() 147 Loc ThisPtr = SVB.getCXXThis(CurCtor, LCtx->getStackFrame()); in computeObjectUnderConstruction() [all …]
|
H A D | ExprEngine.cpp | 477 const LocationContext *LCtx, unsigned Idx) { in setIndexOfElementToConstruct() argument 478 auto Key = std::make_pair(E, LCtx->getStackFrame()); in setIndexOfElementToConstruct() 487 const LocationContext *LCtx) { in getPendingInitLoop() argument 488 const unsigned *V = State->get<PendingInitLoop>({E, LCtx->getStackFrame()}); in getPendingInitLoop() 494 const LocationContext *LCtx) { in removePendingInitLoop() argument 495 auto Key = std::make_pair(E, LCtx->getStackFrame()); in removePendingInitLoop() 503 const LocationContext *LCtx, in setPendingInitLoop() argument 505 auto Key = std::make_pair(E, LCtx->getStackFrame()); in setPendingInitLoop() 515 const LocationContext *LCtx) { in getIndexOfElementToConstruct() argument 517 State->get<IndexOfElementToConstruct>({E, LCtx->getStackFrame()}); in getIndexOfElementToConstruct() [all …]
|
H A D | ProgramState.cpp | 92 ProgramStateRef state, const StackFrameContext *LCtx, in removeDeadBindingsFromEnvironmentAndStore() argument 106 StoreRef newStore = StoreMgr->removeDeadBindings(NewState.getStore(), LCtx, in removeDeadBindingsFromEnvironmentAndStore() 116 const LocationContext *LCtx, in bindLoc() argument 123 return Mgr.getOwningEngine().processRegionChange(newState, MR, LCtx); in bindLoc() 130 const LocationContext *LCtx) const { in bindDefaultInitial() 135 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultInitial() 139 ProgramState::bindDefaultZero(SVal loc, const LocationContext *LCtx) const { in bindDefaultZero() 144 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultZero() 153 const LocationContext *LCtx, in invalidateRegions() argument 162 return invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape, in invalidateRegions() [all …]
|
H A D | ExprEngineCallAndReturn.cpp | 183 const LocationContext *LCtx = Pred->getLocationContext(); in removeDeadOnEndOfFunction() local 184 removeDead(Pred, Dst, dyn_cast<ReturnStmt>(LastSt), LCtx, in removeDeadOnEndOfFunction() 185 LCtx->getAnalysisDeclContext()->getBody(), in removeDeadOnEndOfFunction() 228 const LocationContext *LCtx) { in removeStateTraitsUsedForArrayEvaluation() argument 230 assert(LCtx && "Location context must be provided!"); in removeStateTraitsUsedForArrayEvaluation() 233 if (getPendingInitLoop(State, E, LCtx)) in removeStateTraitsUsedForArrayEvaluation() 234 State = removePendingInitLoop(State, E, LCtx); in removeStateTraitsUsedForArrayEvaluation() 236 if (getIndexOfElementToConstruct(State, E, LCtx)) in removeStateTraitsUsedForArrayEvaluation() 237 State = removeIndexOfElementToConstruct(State, E, LCtx); in removeStateTraitsUsedForArrayEvaluation() 240 if (getPendingArrayDestruction(State, LCtx)) in removeStateTraitsUsedForArrayEvaluation() [all …]
|
H A 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()
|
H A D | SymbolManager.cpp | 84 os << getKindStr() << getSymbolID() << '{' << T << ", LC" << LCtx->getID(); in dumpToStream() 86 os << ", S" << S->getID(LCtx->getDecl()->getASTContext()); in dumpToStream() 182 const LocationContext *LCtx, in conjureSymbol() argument 187 SymbolConjured::Profile(profile, E, T, Count, LCtx, SymbolTag); in conjureSymbol() 191 SD = new (BPAlloc) SymbolConjured(SymbolCounter, E, LCtx, T, Count, SymbolTag); in conjureSymbol() 232 const LocationContext *LCtx, in getMetadataSymbol() argument 235 SymbolMetadata::Profile(profile, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol() 239 SD = new (BPAlloc) SymbolMetadata(SymbolCounter, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol() 512 if (LCtx == nullptr) in isLive() 515 if (LCtx != ELCtx) { in isLive() [all …]
|
H A D | LoopUnrolling.cpp | 33 const LocationContext *LCtx; member 36 : K(InK), LoopStmt(S), LCtx(L), maxStep(N) {} in LoopState() 50 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext() 57 ID.AddPointer(LCtx); in Profile() 323 auto LCtx = Pred->getLocationContext(); in updateLoopStack() local 330 LCtx == LS.getHead().getLocationContext()) { in updateLoopStack() 334 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 341 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 350 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack() 353 LoopState::getUnrolled(LoopStmt, LCtx, innerMaxStep)); in updateLoopStack()
|
H A D | BugReporterVisitors.cpp | 241 const LocationContext *LCtx = N->getLocationContext(); in getSValForVar() local 252 return State->getSVal(State->getLValue(VD, LCtx)); in getSValForVar() 256 if (auto FieldL = State->getSVal(ME, LCtx).getAs<Loc>()) in getSValForVar() 964 auto *LCtx = N->getLocationContext(); in matchAssignment() local 972 State->getLValue(VD, LCtx).getAsRegion())) in matchAssignment() 1295 const LocationContext *LCtx = N->getLocationContext(); in isInitializationOfVar() local 1296 return FrameSpace->getStackFrame() == LCtx->getStackFrame(); in isInitializationOfVar() 2884 const LocationContext *LCtx = N->getLocationContext(); in VisitTrueTest() local 2902 CurrentState->getSVal(Cond, LCtx).isUnknownOrUndef(); in VisitTrueTest() 2949 PathDiagnosticLocation Loc(Cond, BRC.getSourceManager(), LCtx); in VisitTrueTest() [all …]
|
H A D | RegionStore.cpp | 411 const LocationContext *LCtx, 418 const LocationContext *LCtx, 627 StoreRef removeDeadBindings(Store store, const StackFrameContext *LCtx, 980 const LocationContext *LCtx; member in __anonfa909ae00611::InvalidateRegionsWorker 996 Ex(ex), Count(count), LCtx(lctx), IS(is), ITraits(ITraitsIn), Regions(r), in InvalidateRegionsWorker() 1082 RM.getRegionManager().getVarRegion(VD, LCtx); in VisitCluster() 1130 svalBuilder.conjureSymbolVal(baseR, Ex, LCtx, Ctx.IntTy, Count); in VisitCluster() 1151 DefinedOrUnknownSVal V = svalBuilder.conjureSymbolVal(baseR, Ex, LCtx, in VisitCluster() 1220 svalBuilder.conjureSymbolVal(baseR, Ex, LCtx, in VisitCluster() 1226 DefinedOrUnknownSVal V = svalBuilder.conjureSymbolVal(baseR, Ex, LCtx, in VisitCluster() [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
H A D | CallEvent.h | 159 const LocationContext *LCtx; variable 186 : State(std::move(state)), LCtx(lctx), Origin(E), ElemRef(ElemRef) {} in CallEvent() 190 : State(std::move(state)), LCtx(lctx), Origin(D), ElemRef(ElemRef) {} in CallEvent() 194 : State(Original.State), LCtx(Original.LCtx), Origin(Original.Origin), in CallEvent() 238 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext() 502 const LocationContext *LCtx, in AnyFunctionCall() argument 504 : CallEvent(E, St, LCtx, ElemRef) {} in AnyFunctionCall() 506 const LocationContext *LCtx, in AnyFunctionCall() argument 508 : CallEvent(D, St, LCtx, ElemRef) {} in AnyFunctionCall() 541 const LocationContext *LCtx, in SimpleFunctionCall() argument [all …]
|
H A D | ExprEngine.h | 395 const LocationContext *LCtx, 401 const LocationContext *LCtx) { in processRegionChange() argument 402 return processRegionChanges(state, nullptr, MR, MR, LCtx, nullptr); in processRegionChange() 407 const LocationContext *LCtx, const char *NL, 592 const LocationContext *LCtx, QualType T, 609 const LocationContext *LCtx); 614 const LocationContext *LCtx); 619 const LocationContext *LCtx); 632 const LocationContext *LCtx, PointerEscapeKind Kind, 655 const LocationContext *LCtx); [all …]
|
H A D | SymbolManager.h | 83 const LocationContext *LCtx; variable 90 LCtx(lctx), SymbolTag(symbolTag) { in SymbolConjured() 113 QualType T, unsigned Count, const LocationContext *LCtx, in Profile() argument 117 profile.AddPointer(LCtx); in Profile() 124 Profile(profile, S, T, Count, LCtx, SymbolTag); in Profile() 220 const LocationContext *LCtx; variable 226 const LocationContext *LCtx, unsigned count, const void *tag) in SymbolMetadata() argument 227 : SymbolData(SymbolMetadataKind, sym), R(r), S(s), T(t), LCtx(LCtx), in SymbolMetadata() 232 assert(LCtx); in SymbolMetadata() 243 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext() [all …]
|
H A D | SValBuilder.h | 175 const LocationContext *LCtx, 179 return SymMgr.conjureSymbol(stmt, LCtx, type, visitCount, symbolTag); 183 const LocationContext *LCtx, 186 return SymMgr.conjureSymbol(expr, LCtx, visitCount, symbolTag); 203 const LocationContext *LCtx, 207 const LocationContext *LCtx, 211 const LocationContext *LCtx, 219 const LocationContext *LCtx, 227 const LocationContext *LCtx, 236 const LocationContext *LCtx, [all …]
|
H A D | ProgramState.h | 281 const LocationContext *LCtx, SVal V, 285 const LocationContext *LCtx, 289 const LocationContext *LCtx) const; 298 bindDefaultInitial(SVal loc, SVal V, const LocationContext *LCtx) const; 303 bindDefaultZero(SVal loc, const LocationContext *LCtx) const; 327 unsigned BlockCount, const LocationContext *LCtx, 334 const LocationContext *LCtx, bool CausesPointerEscape, 374 SVal getSVal(const Stmt *S, const LocationContext *LCtx) const; 376 SVal getSValAsScalarOrLoc(const Stmt *Ex, const LocationContext *LCtx) const; 474 void printJson(raw_ostream &Out, const LocationContext *LCtx = nullptr, [all …]
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ |
H A 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()
|
H A D | STLAlgorithmModeling.cpp | 133 const auto *LCtx = C.getLocationContext(); in Find() local 135 SVal RetVal = SVB.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in Find() 136 SVal Param = State->getSVal(CE->getArg(paramNum), LCtx); in Find() 138 auto StateFound = State->BindExpr(CE, LCtx, RetVal); in Find() 147 CE, LCtx, C.blockCount()); in Find() 160 Param = State->getSVal(CE->getArg(paramNum + 1), LCtx); in Find() 169 CE, LCtx, C.blockCount()); in Find() 185 auto StateNotFound = State->BindExpr(CE, LCtx, Param); in Find()
|
H A D | CheckObjCDealloc.cpp | 160 bool isInInstanceDealloc(const CheckerContext &C, const LocationContext *LCtx, 167 const ObjCImplDecl *getContainingObjCImpl(const LocationContext *LCtx) const; 270 const LocationContext *LCtx = C.getLocationContext(); in checkBeginFunction() local 285 for (auto *PropImpl : getContainingObjCImpl(LCtx)->property_impls()) { in checkBeginFunction() 503 const LocationContext *LCtx = C.getLocationContext(); in diagnoseMissingReleases() local 533 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() 788 ObjCDeallocChecker::getContainingObjCImpl(const LocationContext *LCtx) const { in getContainingObjCImpl() [all …]
|
H A D | CStringChecker.cpp | 124 const LocationContext *LCtx, 687 const LocationContext *LCtx = C.getLocationContext(); in CheckOverlap() local 688 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap() 689 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap() 738 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap() 1291 const LocationContext *LCtx = C.getPredecessor()->getLocationContext(); in invalidateBufferAux() local 1295 return State->invalidateRegions(R, E, C.blockCount(), LCtx, in invalidateBufferAux() 1444 const LocationContext *LCtx = C.getLocationContext(); in evalCopyCommon() local 1445 SVal sizeVal = state->getSVal(Size.Expression, LCtx); in evalCopyCommon() 1453 SVal destVal = state->getSVal(Dest.Expression, LCtx); in evalCopyCommon() [all …]
|
H A D | Taint.cpp | 47 const LocationContext *LCtx, in addTaint() argument 49 return addTaint(State, State->getSVal(S, LCtx), Kind); in addTaint() 149 const LocationContext *LCtx, TaintTagType Kind) { in isTainted() argument 150 return !getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/true) in isTainted() 172 const LocationContext *LCtx, in getTaintedSymbols() argument 174 return getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols() 196 const LocationContext *LCtx, in getTaintedSymbolsImpl() argument 199 SVal val = State->getSVal(S, LCtx); in getTaintedSymbolsImpl()
|
H A D | BuiltinFunctionChecker.cpp | 77 const LocationContext *LCtx = C.getLocationContext(); in evalCall() local 81 C.addTransition(state->BindExpr(CE, LCtx, Call.getArgSVal(0))); in evalCall() 121 C.addTransition(state->BindExpr(CE, LCtx, Arg)); in evalCall() 149 C.addTransition(state->BindExpr(CE, LCtx, V)); in evalCall()
|
/freebsd/contrib/llvm-project/clang/lib/Analysis/ |
H A D | AnalysisDeclContext.cpp | 505 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in dumpStack() local 506 switch (LCtx->getKind()) { in dumpStack() 510 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in dumpStack() 514 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in dumpStack() 521 if (const Decl *D = cast<BlockInvocationContext>(LCtx)->getDecl()) { in dumpStack() 543 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in printJson() local 545 << "{ \"lctx_id\": " << LCtx->getID() << ", \"location_context\": \""; in printJson() 546 switch (LCtx->getKind()) { in printJson() 550 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in printJson() 556 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in printJson() [all …]
|
/freebsd/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/ |
H A D | Taint.h | 31 const LocationContext *LCtx, 66 const LocationContext *LCtx, 84 const LocationContext *LCtx, 103 const LocationContext *LCtx,
|
/freebsd/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/ |
H A D | RetainCountDiagnostics.cpp | 171 findArgIdxOfSymbol(ProgramStateRef CurrSt, const LocationContext *LCtx, in findArgIdxOfSymbol() argument 211 const LocationContext *LCtx, in generateDiagnosticsForCallLike() argument 219 SVal X = CurrSt->getSValAsScalarOrLoc(CE->getCallee(), LCtx); in generateDiagnosticsForCallLike() 238 cast<ObjCMessageExpr>(S), CurrSt, LCtx, {nullptr, 0}); in generateDiagnosticsForCallLike() 253 std::optional<CallEventRef<>> CE = Mgr.getCall(S, CurrSt, LCtx, {nullptr, 0}); in generateDiagnosticsForCallLike() 254 auto Idx = findArgIdxOfSymbol(CurrSt, LCtx, Sym, CE); in generateDiagnosticsForCallLike() 479 const LocationContext *LCtx = N->getLocationContext(); in VisitNode() local 505 isSynthesizedAccessor(LCtx->getStackFrame())) { in VisitNode() 506 S = LCtx->getStackFrame()->getCallSite(); in VisitNode() 534 generateDiagnosticsForCallLike(CurrSt, LCtx, CurrV, Sym, S, os); in VisitNode() [all …]
|
H A D | RetainCountChecker.cpp | 906 const LocationContext *LCtx = C.getLocationContext(); in evalCall() local 925 SVal RetVal = state->getSVal(BindReturnTo, LCtx); in evalCall() 935 SVB.conjureSymbolVal(nullptr, CE, LCtx, ResultTy, C.blockCount()); in evalCall() 939 state = state->BindExpr(CE, LCtx, RetVal, /*Invalidate=*/false); in evalCall() 947 CE, LCtx, C.getSValBuilder().makeNullWithType(ResultTy), in evalCall() 1186 ArrayRef<const MemRegion *> Regions, const LocationContext *LCtx, in checkRegionChanges() argument 1336 const LocationContext *LCtx = Ctx.getLocationContext(); in checkBeginFunction() local 1337 const Decl *D = LCtx->getDecl(); in checkBeginFunction() 1349 SymbolRef Sym = state->getSVal(state->getRegion(Param, LCtx)).getAsSymbol(); in checkBeginFunction() 1380 const LocationContext *LCtx = Pred->getLocationContext(); in checkEndFunction() local [all …]
|