]> granicus.if.org Git - clang/commitdiff
Added a test case for dumping blocks that capture 'this'; NFC.
authorAaron Ballman <aaron@aaronballman.com>
Wed, 16 Jan 2019 15:40:23 +0000 (15:40 +0000)
committerAaron Ballman <aaron@aaronballman.com>
Wed, 16 Jan 2019 15:40:23 +0000 (15:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@351350 91177308-0d34-0410-b5e6-96231b3b80d8

test/AST/ast-dump-decl.mm

index be245f7ef5cdff74dfbf734f629427887ad4b60d..d18e56c939d9d6bef2305f69334892f1a0bb1307 100644 (file)
@@ -31,3 +31,20 @@ struct BoxingTest {
 };
 
 // CHECK: ObjCBoxedExpr{{.*}} '<dependent type>'{{$}}
+
+struct Test {
+  void f() {
+    ^{ this->yada(); }();
+    // CHECK:      ExprWithCleanups {{.*}} <line:[[@LINE-1]]:5, col:24> 'void'
+    // CHECK-NEXT:   cleanup Block
+    // CHECK-NEXT:   CallExpr {{.*}} <col:5, col:24> 'void'
+    // CHECK-NEXT:     BlockExpr {{.*}} <col:5, col:22> 'void (^)()'
+    // CHECK-NEXT:       BlockDecl {{.*}} <col:5, col:22> col:5
+    // CHECK-NEXT:         capture this
+    // CHECK-NEXT:         CompoundStmt {{.*}} <col:6, col:22>
+    // CHECK-NEXT:           CXXMemberCallExpr {{.*}} <col:8, col:19> 'void'
+    // CHECK-NEXT:             MemberExpr {{.*}} <col:8, col:14> '<bound member function type>' ->yada
+    // CHECK-NEXT:               CXXThisExpr {{.*}} <col:8> 'Test *' this
+  }
+  void yada();
+};