[clang] [LifetimeSafety] Detect use-after-invalidation for STL containers (PR #179093)
Utkarsh Saxena via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 5 09:11:13 PST 2026
================
@@ -255,4 +255,76 @@ template <typename T> static bool isRecordWithAttr(QualType Type) {
bool isGslPointerType(QualType QT) { return isRecordWithAttr<PointerAttr>(QT); }
bool isGslOwnerType(QualType QT) { return isRecordWithAttr<OwnerAttr>(QT); }
+bool isContainerInvalidationMethod(const CXXMethodDecl *MD) {
+ if (!MD)
+ return false;
+ const CXXRecordDecl *RD = MD->getParent();
+ if (!RD || !isInStlNamespace(RD))
----------------
usx95 wrote:
Looks like never since `getParent` has a `cast`
```
const CXXRecordDecl *getParent() const {
return cast<CXXRecordDecl>(FunctionDecl::getParent());
}
```
Removed.
https://github.com/llvm/llvm-project/pull/179093
More information about the cfe-commits
mailing list