[clang] [clang] Diagnose dangling issues for the "Container<GSLPointer>" case. (PR #107213)

Utkarsh Saxena via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 5 02:10:50 PDT 2024


================
@@ -525,3 +544,31 @@ void test() {
   std::string_view svjkk1 = ReturnStringView(StrCat("bar", "x")); // expected-warning {{object backing the pointer will be destroyed at the end of the full-expression}}
 }
 } // namespace GH100549
+
+namespace GH100526 {
+void test() {
+  std::vector<std::string_view> v1({std::string()}); // expected-warning {{object backing the pointer will be destroyed at the end}}
+  std::vector<std::string_view> v2({std::string(), std::string_view()}); // expected-warning {{object backing the pointer will be destroyed at the end}}
+  std::vector<std::string_view> v3({std::string_view(), std::string()}); // expected-warning {{object backing the pointer will be destroyed at the end}}
----------------
usx95 wrote:

Can you write each of the args on separate lines. This will ensure we are flagging the correct arg.
something like: 
```cpp
std::vector<std::string_view> v2({
  std::string(),
  std::string_view()
});
```


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


More information about the cfe-commits mailing list