================
@@ -2102,3 +2102,35 @@ void pointer_in_array_use_after_scope() {
 }
 
 } // namespace array
+
+namespace GH187426 {
+// https://github.com/llvm/llvm-project/issues/187426
+
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wc++23-extensions"
+
+struct S {
+  static S operator()(int, int&&);
+  static S& operator()(std::string&&,
+                           const int& a [[clang::lifetimebound]],
+                           const int& b [[clang::lifetimebound]]);
+};
+
+void indexing_with_static_operator() {
+  // should not crash
+  S()(1, 2);
+  S& x = S()("1",
+             2,  // #argone
+             3); // #argtwo
+  // expected-warning@#argone {{object whose reference is captured does not 
live long enough}}
+  // expected-note@#argone {{destroyed here}}
+
+  // expected-warning@#argtwo {{object whose reference is captured does not 
live long enough}}
+  // expected-note@#argtwo {{destroyed here}}
+ 
+  (void)x; // #useline
+  // expected-note@#useline {{later used here}}
+  // expected-note@#useline {{later used here}}
----------------
usx95 wrote:

Please inline these without creating line markers (#) to match the rest of the 
file.

https://github.com/llvm/llvm-project/pull/187853
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to