llvm-project/clang/test/CodeGenCXX/debug-info-blocks.cpp
Akira Hatanaka f4c06bcb67 [CodeGen] Don't create fake FunctionDecls when generating block/byref
copy/dispose helper functions

We found out that these fake functions would cause clang to crash if the
changes proposed in https://reviews.llvm.org/D98799 were made.

Differential Revision: https://reviews.llvm.org/D104082
2021-06-22 11:42:53 -07:00

19 lines
565 B
C++

// RUN: %clang_cc1 %s -debug-info-kind=line-tables-only -fblocks -S -emit-llvm -o - | FileCheck %s
// RUN: %clang_cc1 %s -debug-info-kind=line-directives-only -fblocks -S -emit-llvm -o - | FileCheck %s
struct A {
A();
A(const A &);
~A();
};
void test() {
__block A a;
^{ (void)a; };
}
// CHECK: !DISubprogram(linkageName: "__Block_byref_object_copy_",
// CHECK-SAME: DISPFlagLocalToUnit | DISPFlagDefinition
// CHECK: !DISubprogram(linkageName: "__Block_byref_object_dispose_",
// CHECK-SAME: DISPFlagLocalToUnit | DISPFlagDefinition