[clang] [LifetimeSafety] Fix crash on explicit object member functions (PR #212154)

Oliver Hunt via cfe-commits cfe-commits at lists.llvm.org
Sun Jul 26 18:45:40 PDT 2026


================
@@ -911,7 +911,8 @@ void FactsGenerator::handleMovedArgsInCall(const FunctionDecl *FD,
                                            ArrayRef<const Expr *> Args) {
   unsigned IsInstance = 0;
   if (const auto *MD = dyn_cast<CXXMethodDecl>(FD);
-      MD && MD->isInstance() && !isa<CXXConstructorDecl>(FD)) {
+      MD && !isa<CXXConstructorDecl>(FD) &&
+      MD->isImplicitObjectMemberFunction()) {
----------------
ojhunt wrote:

Is this correct if the explicit type is not the same as the root type? or if the type is non-move/non-default move constructor?

https://github.com/llvm/llvm-project/pull/212154


More information about the cfe-commits mailing list