[clang] [LifetimeSafety] Overhaul CFG and analysis to also work with trivially destructed temporary objects (PR #177985)

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 17 03:47:05 PST 2026


================
@@ -298,19 +298,19 @@ std::string_view danglingRefToOptionalFromTemp4() {
 void danglingReferenceFromTempOwner() {
   int &&r = *std::optional<int>();          // expected-warning {{object backing the pointer will be destroyed at the end of the full-expression}} \
                                             // cfg-warning {{object whose reference is captured does not live long enough}} cfg-note {{destroyed here}}
-  // FIXME: Detect this using the CFG-based lifetime analysis.
-  //        https://github.com/llvm/llvm-project/issues/175893
-  int &&r2 = *std::optional<int>(5);        // expected-warning {{object backing the pointer will be destroyed at the end of the full-expression}}
+  //https://github.com/llvm/llvm-project/issues/175893
----------------
usx95 wrote:

nit: Add 1 space after `//`

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


More information about the cfe-commits mailing list