================
@@ -161,33 +163,48 @@ static View return_view_static(View a) { //
expected-warning {{parameter in int
return a; // expected-note {{param returned
here}}
}
-//===----------------------------------------------------------------------===//
-// FIXME Test Cases
-//===----------------------------------------------------------------------===//
-
struct ReturnsSelf {
- const ReturnsSelf& get() const {
- return *this;
+ ReturnsSelf() {}
+ ~ReturnsSelf() {}
+ const ReturnsSelf& get() const { // expected-warning {{implicit this in
intra-TU function should be marked [[clang::lifetimebound]]}}.
+ return *this; // expected-note {{param returned here}}
}
};
+struct ReturnThisAnnotated {
+ const ReturnThisAnnotated& get() [[clang::lifetimebound]] { return *this; }
+};
+
struct ViewProvider {
+ ViewProvider() {}
+ ViewProvider(int d) : data(d) {}
+ ~ViewProvider() {}
MyObj data;
- View getView() const {
- return data;
+ View getView() const { // expected-warning {{implicit this in
intra-TU function should be marked [[clang::lifetimebound]]}}.
----------------
kashika0112 wrote:
Added a test case for cross-TU suggestions
https://github.com/llvm/llvm-project/pull/176703
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits