diff options
Diffstat (limited to 'test/CodeGen/debug-info-codeview-heapallocsite.c')
-rw-r--r-- | test/CodeGen/debug-info-codeview-heapallocsite.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/CodeGen/debug-info-codeview-heapallocsite.c b/test/CodeGen/debug-info-codeview-heapallocsite.c new file mode 100644 index 0000000000..dfc0d19b25 --- /dev/null +++ b/test/CodeGen/debug-info-codeview-heapallocsite.c @@ -0,0 +1,23 @@ +// RUN: %clang_cc1 -triple x86_64-windows-msvc -debug-info-kind=limited -gcodeview -fdeclspec -S -emit-llvm < %s | FileCheck %s + +struct Foo; +struct Bar; + +__declspec(allocator) void *alloc_void(); + +void call_alloc() { + struct Foo *p = alloc_void(); + struct Foo *q = (struct Foo*)alloc_void(); + struct Foo *r = (struct Foo*)(struct Bar*)alloc_void(); +} + +// CHECK-LABEL: define {{.*}}void @call_alloc +// CHECK: call i8* {{.*}}@alloc_void{{.*}} !heapallocsite [[DBG1:!.*]] +// CHECK: call i8* {{.*}}@alloc_void{{.*}} !heapallocsite [[DBG2:!.*]] +// CHECK: call i8* {{.*}}@alloc_void{{.*}} !heapallocsite [[DBG3:!.*]] + +// CHECK: [[DBG1]] = !{} +// CHECK: [[DBG2]] = !DICompositeType(tag: DW_TAG_structure_type, +// CHECK-SAME: name: "Foo" +// CHECK: [[DBG3]] = !DICompositeType(tag: DW_TAG_structure_type, +// CHECK-SAME: name: "Bar" |