================
@@ -194,59 +176,9 @@ struct TrailingReturn {
   }
 };
 
-#define GNU_LIFETIMEBOUND_MACRO __attribute__((lifetimebound))
-
-View return_view_with_gnu_macro(View a) {
-  // CHECK: :[[@LINE-1]]:33: warning: parameter in intra-TU function should be 
marked
-  // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:39-[[@LINE-2]]:39}:" 
GNU_LIFETIMEBOUND_MACRO"
-  return a;
-}
-
-struct OnlyGNUMember {
-  MyObj data;
-
-  View get_view() {
-    // CHECK: :[[@LINE-1]]:18: warning: implicit this in intra-TU function 
should be marked
-    // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:18-[[@LINE-2]]:18}:" 
{{\[\[}}clang::lifetimebound]]"
-    return data;
-  }
-};
-
-#define LIFETIMEBOUND_MACRO [[clang::lifetimebound]]
-#define MY_LIFETIMEBOUND_MACRO [[clang::lifetimebound]]
-
-View unnamed_macro(View);
-// CHECK: :[[@LINE-1]]:20: warning: parameter in intra-TU function should be 
marked
-// CHECK: 
fix-it:"{{.*}}":{[[@LINE-2]]:20-[[@LINE-2]]:20}:"MY_LIFETIMEBOUND_MACRO "
-View unnamed_macro(View a) {
-  return a;
-}
-
-View return_view_with_macro(View a) {
-  // CHECK: :[[@LINE-1]]:29: warning: parameter in intra-TU function should be 
marked
-  // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:35-[[@LINE-2]]:35}:" 
MY_LIFETIMEBOUND_MACRO"
-  return a;
-}
-
-#define FIRST_LIFETIMEBOUND_MACRO [[clang::lifetimebound]]
-#define SECOND_LIFETIMEBOUND_MACRO [[clang::lifetimebound]]
-
-View return_view_with_latest_macro(View a) {
-  // CHECK: :[[@LINE-1]]:36: warning: parameter in intra-TU function should be 
marked
-  // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:42-[[@LINE-2]]:42}:" 
SECOND_LIFETIMEBOUND_MACRO"
-  // CHECK-MACRO: :[[@LINE-3]]:36: warning: parameter in intra-TU function 
should be marked
-  // CHECK-MACRO: fix-it:"{{.*}}":{[[@LINE-4]]:42-[[@LINE-4]]:42}:" 
LIFETIMEBOUND_MACRO"
-  return a;
-}
-
-struct MacroMember {
-  MyObj data;
-
-  View get_view() {
-    // CHECK: :[[@LINE-1]]:18: warning: implicit this in intra-TU function 
should be marked
-    // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:18-[[@LINE-2]]:18}:" 
SECOND_LIFETIMEBOUND_MACRO"
-    // CHECK-MACRO: :[[@LINE-3]]:18: warning: implicit this in intra-TU 
function should be marked
-    // CHECK-MACRO: fix-it:"{{.*}}":{[[@LINE-4]]:18-[[@LINE-4]]:18}:" 
LIFETIMEBOUND_MACRO"
-    return data;
-  }
+struct ViewWithMember {
+  ViewWithMember(const char *data) : mData(data) {}
+  // CHECK: :[[@LINE-1]]:18: warning: parameter in intra-TU function should be 
marked
+  // CHECK: fix-it:"{{.*}}":{[[@LINE-2]]:34-[[@LINE-2]]:34}:" 
{{\[\[}}clang::lifetimebound]]"
+  const char *mData;
 };
----------------
NeKon69 wrote:

This file is related to lifetimebound attribute inference, not placement 
correctness, use this file instead:
https://github.com/llvm/llvm-project/blob/00086d64086043269c3ed1c15dc08f5b6d517292/clang/test/Sema/LifetimeSafety/misplaced-lifetimebound-intra-tu.cpp

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

Reply via email to