Issue |
157108
|
Summary |
[LifetimeSafety] Handle l-values and pointers in conditional operators
|
Labels |
clang:temporal-safety
|
Assignees |
|
Reporter |
usx95
|
```cpp
#include <string>
void foo(bool cond) {
std::string* res;
{
std::string a = "a";
std::string b = "b";
res = cond ? &a : &b;
res = &(cond ? a : b);
}
(void)*res;
}
void bar(bool cond) {
std::string* res;
{
std::string a = "a";
std::string b = "b";
std::string* p = &a;
std::string* q = &b;
res = cond ? p : q;
}
(void)*res;
}
```
https://godbolt.org/z/rf6WKPG51
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs