[PATCH] D66164: [LifetimeAnalysis] Support std::stack::top() and std::optional::value()

Gábor Horváth via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Aug 13 15:33:51 PDT 2019


xazax.hun added inline comments.


================
Comment at: clang/test/Sema/warn-lifetime-analysis-nocfg.cpp:172
   T &operator*();
+  T &value();
+};
----------------
mgehre wrote:
> xazax.hun wrote:
> > I actually was a bit lazy when I added these tests. Both `value` and `operator*` is overloaded on `&&`. But if you do not feel like adjusting the tests this is fine, I can do it myself later :)
> I'll change it to use the `&` variant in the test - the `&&` cannot dangle as far as I understand.
It can!

Consider the following code:

```
int &&r = *std::optional(5);
// r dangles here.
```


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D66164/new/

https://reviews.llvm.org/D66164





More information about the cfe-commits mailing list