https://github.com/AtariDreams updated https://github.com/llvm/llvm-project/pull/85541
>From 369cd6fcebc22f926f7b002f64a44f866283a0c1 Mon Sep 17 00:00:00 2001 From: Rose <gfunni...@gmail.com> Date: Sat, 16 Mar 2024 12:07:21 -0400 Subject: [PATCH] Resolve FIXME: Look at E, not M. --- clang/lib/CodeGen/CGExpr.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index 59a7fe8925001c..2f664ad3024eb3 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -316,13 +316,12 @@ pushTemporaryCleanup(CodeGenFunction &CGF, const MaterializeTemporaryExpr *M, Destroy = &CodeGenFunction::destroyARCWeak; } if (Duration == SD_FullExpression) - CGF.pushDestroy(CleanupKind, ReferenceTemporary, - M->getType(), *Destroy, - CleanupKind & EHCleanup); + CGF.pushDestroy(CleanupKind, ReferenceTemporary, E->getType(), + *Destroy, CleanupKind & EHCleanup); else CGF.pushLifetimeExtendedDestroy(CleanupKind, ReferenceTemporary, - M->getType(), - *Destroy, CleanupKind & EHCleanup); + E->getType(), *Destroy, + CleanupKind & EHCleanup); return; case SD_Dynamic: @@ -445,7 +444,7 @@ EmitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *M) { // FIXME: ideally this would use EmitAnyExprToMem, however, we cannot do so // as that will cause the lifetime adjustment to be lost for ARC - auto ownership = M->getType().getObjCLifetime(); + auto ownership = E->getType().getObjCLifetime(); if (ownership != Qualifiers::OCL_None && ownership != Qualifiers::OCL_ExplicitNone) { Address Object = createReferenceTemporary(*this, M, E); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits