[all-commits] [llvm/llvm-project] 85dd83: [LifetimeSafety] Support container interior paths ...
Utkarsh Saxena via All-commits
all-commits at lists.llvm.org
Fri Jul 24 07:28:50 PDT 2026
Branch: refs/heads/users/usx95/04-07-interior-paths-and-invalidation
Home: https://github.com/llvm/llvm-project
Commit: 85dd83e94734401783fd3072576bffb581742862
https://github.com/llvm/llvm-project/commit/85dd83e94734401783fd3072576bffb581742862
Author: Utkarsh Saxena <usx at google.com>
Date: 2026-07-24 (Fri, 24 Jul 2026)
Changed paths:
M clang/lib/Analysis/LifetimeSafety/Checker.cpp
M clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
M clang/lib/Analysis/LifetimeSafety/Loans.cpp
M clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
M clang/test/Sema/LifetimeSafety/invalidations.cpp
M clang/unittests/Analysis/LifetimeSafetyTest.cpp
Log Message:
-----------
[LifetimeSafety] Support container interior paths and invalidations
This patch completes the implementation of path-sensitive lifetime tracking by supporting container interior paths (`.*`) and deep-nested invalidation.
- Enables `PathElement::getInterior` generation in `FactsGenerator` for GSL Owners and Views (e.g. member functions, function parameters, lambda captures).
- Removes bypass checks in `FactsGenerator::handleInvalidatingCall` to track container invalidation on fields.
- Updates `Checker` to use strict prefix comparison (`isStrictPrefixOf`) for container invalidations, ensuring invalidation of container contents (interior) correctly invalidates iterators but not other sibling fields.
- Reorganizes tests in `invalidations.cpp` by resolving duplicates and distributing them logically.
- Updates unit tests and sema tests with correct expectations for interior paths.
TAG=agy
CONV=2cfd8d00-18d7-4a03-8d78-2aba2f9a8f23
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list