Clang Project

clang_source_code/test/CodeGenCXX/debug-info-blocks.cpp
1// RUN: %clang_cc1 %s -debug-info-kind=line-tables-only -fblocks -S -emit-llvm -o - | FileCheck %s
2// RUN: %clang_cc1 %s -debug-info-kind=line-directives-only -fblocks -S -emit-llvm -o - | FileCheck %s
3
4struct A {
5  A();
6  A(const A &);
7  ~A();
8};
9
10void test() {
11  __block A a;
12  ^{ (void)a; };
13}
14
15// CHECK: !DISubprogram(name: "__Block_byref_object_copy_",
16// CHECK-SAME:          line: 11,
17// CHECK-SAME:          DISPFlagLocalToUnit | DISPFlagDefinition
18// CHECK: !DISubprogram(name: "__Block_byref_object_dispose_",
19// CHECK-SAME:          line: 11,
20// CHECK-SAME:          DISPFlagLocalToUnit | DISPFlagDefinition
21