[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

via cfe-commits cfe-commits at lists.llvm.org
Tue May 7 09:23:24 PDT 2024


================
@@ -8194,25 +8216,18 @@ void Sema::checkInitializerLifetime(const InitializedEntity &Entity,
       }
 
       switch (shouldLifetimeExtendThroughPath(Path)) {
+      case PathLifetimeKind::ShouldExtend:
----------------
yronglin wrote:

Hmm, thanks point it out, somehow I misunderstand here. Can I extend `InLifetimeExtendingContext` from `bool` to an `enum{NoExtend, ExtendTopLevel, ExtendAll}` to guide lifetime extension behavior? I think it can reduce unnecessery rebuild action.

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


More information about the cfe-commits mailing list