Lines Matching refs:ContReg
55 const MemRegion *ContReg,
252 const auto *ContReg = Cont.getAsRegion(); in handleBegin() local
253 if (!ContReg) in handleBegin()
256 ContReg = ContReg->getMostDerivedObjectRegion(); in handleBegin()
261 auto BeginSym = getContainerBegin(State, ContReg); in handleBegin()
263 State = createContainerBegin(State, ContReg, CE, C.getASTContext().LongTy, in handleBegin()
265 BeginSym = getContainerBegin(State, ContReg); in handleBegin()
268 IteratorPosition::getPosition(ContReg, BeginSym)); in handleBegin()
274 const auto *ContReg = Cont.getAsRegion(); in handleEnd() local
275 if (!ContReg) in handleEnd()
278 ContReg = ContReg->getMostDerivedObjectRegion(); in handleEnd()
283 auto EndSym = getContainerEnd(State, ContReg); in handleEnd()
285 State = createContainerEnd(State, ContReg, CE, C.getASTContext().LongTy, in handleEnd()
287 EndSym = getContainerEnd(State, ContReg); in handleEnd()
290 IteratorPosition::getPosition(ContReg, EndSym)); in handleEnd()
296 const auto *ContReg = Cont.getAsRegion(); in handleAssignment() local
297 if (!ContReg) in handleAssignment()
300 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssignment()
305 const auto CData = getContainerData(State, ContReg); in handleAssignment()
307 State = invalidateAllIteratorPositions(State, ContReg); in handleAssignment()
323 State = reassignAllIteratorPositionsUnless(State, OldContReg, ContReg, in handleAssignment()
333 State = setContainerData(State, ContReg, CData->newEnd(NewEndSym)); in handleAssignment()
335 State = setContainerData(State, ContReg, in handleAssignment()
345 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
352 setContainerData(State, ContReg, CData->newBegin(OldBeginSym)); in handleAssignment()
354 State = setContainerData(State, ContReg, in handleAssignment()
363 State = reassignAllIteratorPositions(State, OldContReg, ContReg); in handleAssignment()
372 const auto *ContReg = Cont.getAsRegion(); in handleAssign() local
373 if (!ContReg) in handleAssign()
376 ContReg = ContReg->getMostDerivedObjectRegion(); in handleAssign()
380 State = invalidateAllIteratorPositions(State, ContReg); in handleAssign()
386 const auto *ContReg = Cont.getAsRegion(); in handleClear() local
387 if (!ContReg) in handleClear()
390 ContReg = ContReg->getMostDerivedObjectRegion(); in handleClear()
395 if (!hasSubscriptOperator(State, ContReg) || in handleClear()
396 !backModifiable(State, ContReg)) { in handleClear()
397 const auto CData = getContainerData(State, ContReg); in handleClear()
401 invalidateAllIteratorPositionsExcept(State, ContReg, EndSym, BO_GE); in handleClear()
408 getChangeTag(C, "became empty", ContReg, ContE); in handleClear()
409 State = invalidateAllIteratorPositions(State, ContReg); in handleClear()
415 const auto *ContReg = Cont.getAsRegion(); in handlePushBack() local
416 if (!ContReg) in handlePushBack()
419 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushBack()
423 if (hasSubscriptOperator(State, ContReg) && frontModifiable(State, ContReg)) { in handlePushBack()
424 State = invalidateAllIteratorPositions(State, ContReg); in handlePushBack()
429 const auto CData = getContainerData(State, ContReg); in handlePushBack()
435 if (hasSubscriptOperator(State, ContReg)) { in handlePushBack()
447 getChangeTag(C, "extended to the back by 1 position", ContReg, ContE); in handlePushBack()
448 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePushBack()
455 const auto *ContReg = Cont.getAsRegion(); in handlePopBack() local
456 if (!ContReg) in handlePopBack()
459 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopBack()
462 const auto CData = getContainerData(State, ContReg); in handlePopBack()
476 getChangeTag(C, "shrank from the back by 1 position", ContReg, ContE); in handlePopBack()
480 if (hasSubscriptOperator(State, ContReg) && in handlePopBack()
481 backModifiable(State, ContReg)) { in handlePopBack()
483 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handlePopBack()
488 State = setContainerData(State, ContReg, CData->newEnd(newEndSym)); in handlePopBack()
495 const auto *ContReg = Cont.getAsRegion(); in handlePushFront() local
496 if (!ContReg) in handlePushFront()
499 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePushFront()
503 if (hasSubscriptOperator(State, ContReg)) { in handlePushFront()
504 State = invalidateAllIteratorPositions(State, ContReg); in handlePushFront()
507 const auto CData = getContainerData(State, ContReg); in handlePushFront()
521 getChangeTag(C, "extended to the front by 1 position", ContReg, ContE); in handlePushFront()
522 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePushFront()
530 const auto *ContReg = Cont.getAsRegion(); in handlePopFront() local
531 if (!ContReg) in handlePopFront()
534 ContReg = ContReg->getMostDerivedObjectRegion(); in handlePopFront()
537 const auto CData = getContainerData(State, ContReg); in handlePopFront()
544 if (hasSubscriptOperator(State, ContReg)) { in handlePopFront()
558 getChangeTag(C, "shrank from the front by 1 position", ContReg, ContE); in handlePopFront()
559 State = setContainerData(State, ContReg, CData->newBegin(newBeginSym)); in handlePopFront()
566 const auto *ContReg = Cont.getAsRegion(); in handleInsert() local
567 if (!ContReg) in handleInsert()
570 ContReg = ContReg->getMostDerivedObjectRegion(); in handleInsert()
579 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleInsert()
580 if (frontModifiable(State, ContReg)) { in handleInsert()
581 State = invalidateAllIteratorPositions(State, ContReg); in handleInsert()
585 if (const auto *CData = getContainerData(State, ContReg)) { in handleInsert()
588 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleInsert()
597 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
598 if (!ContReg) in handleErase()
601 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
611 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
612 if (frontModifiable(State, ContReg)) { in handleErase()
613 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
617 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
620 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
631 const auto *ContReg = Cont.getAsRegion(); in handleErase() local
632 if (!ContReg) in handleErase()
635 ContReg = ContReg->getMostDerivedObjectRegion(); in handleErase()
646 if (hasSubscriptOperator(State, ContReg) && backModifiable(State, ContReg)) { in handleErase()
647 if (frontModifiable(State, ContReg)) { in handleErase()
648 State = invalidateAllIteratorPositions(State, ContReg); in handleErase()
652 if (const auto *CData = getContainerData(State, ContReg)) { in handleErase()
655 State = setContainerData(State, ContReg, CData->newEnd(nullptr)); in handleErase()
702 const MemRegion *ContReg, in getChangeTag() argument
706 if (const auto *DR = dyn_cast<DeclRegion>(ContReg)) { in getChangeTag()
715 [Text, Name, ContReg](PathSensitiveBugReport &BR) -> std::string { in getChangeTag()
716 if (!BR.isInteresting(ContReg)) in getChangeTag()