-
Notifications
You must be signed in to change notification settings - Fork 14.9k
[clang] NFC, simplify the attr-lifetime-capture-by.test #118001
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@llvm/pr-subscribers-clang Author: Haojian Wu (hokein) ChangesFull diff: https://github.com/llvm/llvm-project/pull/118001.diff 1 Files Affected:
diff --git a/clang/test/AST/attr-lifetime-capture-by.cpp b/clang/test/AST/attr-lifetime-capture-by.cpp
index c3afe267301ad7..3f22322719b6ab 100644
--- a/clang/test/AST/attr-lifetime-capture-by.cpp
+++ b/clang/test/AST/attr-lifetime-capture-by.cpp
@@ -37,67 +37,56 @@ struct vector {
struct [[gsl::Pointer()]] View {};
std::vector<View> views;
// CHECK: ClassTemplateSpecializationDecl {{.*}} struct vector definition implicit_instantiation
-// CHECK: TemplateArgument type 'View'
-// CHECK-NOT: LifetimeCaptureByAttr
// CHECK: CXXMethodDecl {{.*}} push_back 'void (const View &)'
-// CHECK: ParmVarDecl {{.*}} 'const View &'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK-NEXT: ParmVarDecl {{.*}} 'const View &'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK: CXXMethodDecl {{.*}} push_back 'void (View &&)'
-// CHECK: ParmVarDecl {{.*}} 'View &&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'View &&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK: CXXMethodDecl {{.*}} insert 'void (iterator, View &&)'
-// CHECK: ParmVarDecl {{.*}} 'iterator'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK: ParmVarDecl {{.*}} 'View &&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK-NEXT: ParmVarDecl {{.*}} 'iterator'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'View &&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
template <class T> struct [[gsl::Pointer()]] ViewTemplate {};
std::vector<ViewTemplate<int>> templated_views;
-// CHECK: ClassTemplateSpecializationDecl {{.*}} struct vector definition implicit_instantiation
-// CHECK: TemplateArgument type 'ViewTemplate<int>'
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK: ClassTemplateSpecializationDecl {{.*}} struct vector definition implicit_instantiation
// CHECK: CXXMethodDecl {{.*}} push_back 'void (const ViewTemplate<int> &)'
-// CHECK: ParmVarDecl {{.*}} 'const ViewTemplate<int> &'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'const ViewTemplate<int> &'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK-NOT: LifetimeCaptureByAttr
// CHECK: CXXMethodDecl {{.*}} push_back 'void (ViewTemplate<int> &&)'
-// CHECK: ParmVarDecl {{.*}} 'ViewTemplate<int> &&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'ViewTemplate<int> &&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK: CXXMethodDecl {{.*}} insert 'void (iterator, ViewTemplate<int> &&)'
-// CHECK: ParmVarDecl {{.*}} 'iterator'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK: ParmVarDecl {{.*}} 'ViewTemplate<int> &&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK-NEXT: ParmVarDecl {{.*}} 'iterator'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'ViewTemplate<int> &&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
std::vector<int*> pointers;
// CHECK: ClassTemplateSpecializationDecl {{.*}} struct vector definition implicit_instantiation
-// CHECK: TemplateArgument type 'int *'
-// CHECK-NOT: LifetimeCaptureByAttr
// CHECK: CXXMethodDecl {{.*}} push_back 'void (int *const &)'
-// CHECK: ParmVarDecl {{.*}} 'int *const &'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK-NEXT: ParmVarDecl {{.*}} 'int *const &'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK: CXXMethodDecl {{.*}} push_back 'void (int *&&)'
-// CHECK: ParmVarDecl {{.*}} 'int *&&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'int *&&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
// CHECK: CXXMethodDecl {{.*}} insert 'void (iterator, int *&&)'
-// CHECK: ParmVarDecl {{.*}} 'iterator'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK: ParmVarDecl {{.*}} 'int *&&'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
-// CHECK-NOT: LifetimeCaptureByAttr
+// CHECK-NEXT: ParmVarDecl {{.*}} 'iterator'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'int *&&'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
std::vector<int> ints;
// CHECK: ClassTemplateSpecializationDecl {{.*}} struct vector definition implicit_instantiation
@@ -110,6 +99,7 @@ std::vector<int> ints;
// CHECK-NOT: LifetimeCaptureByAttr
// CHECK: CXXMethodDecl {{.*}} insert 'void (iterator, int &&)'
-// CHECK: ParmVarDecl {{.*}} 'iterator'
-// CHECK: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'iterator'
+// CHECK-NEXT: LifetimeCaptureByAttr {{.*}} Implicit
+// CHECK-NEXT: ParmVarDecl {{.*}} 'int &&'
// CHECK-NOT: LifetimeCaptureByAttr
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you not remove the check-not. It makes sure we are matching all the capture by attr.
I’m not sure they're necessary here. We’ve already verified that the relevant parameters have the attached capture_by attribute using CHECK-NEXT, I think it should be sufficient. The additional |
committed as part of 352f868. |
No description provided.