xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenObjC/block-byref-debuginfo.m (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1f4a2713aSLionel Sambuc// RUN: %clang_cc1 -fblocks -fobjc-arc -fobjc-runtime-has-weak -g -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s
2f4a2713aSLionel Sambuc
3f4a2713aSLionel Sambuc// rdar://problem/14386148
4f4a2713aSLionel Sambuc// Test that the foo is aligned at an 8 byte boundary in the DWARF
5f4a2713aSLionel Sambuc// expression (256) that locates it inside of the byref descriptor:
6*0a6a1f1dSLionel Sambuc// CHECK: [ DW_TAG_member ] [foo] [line 0, size {{[0-9]+}}, align 64, offset 256] [from Foo]
7f4a2713aSLionel Sambuc
8f4a2713aSLionel Sambucstruct Foo {
9f4a2713aSLionel Sambuc  unsigned char *data;
10f4a2713aSLionel Sambuc};
11f4a2713aSLionel Sambucint func() {
12f4a2713aSLionel Sambuc  __attribute__((__blocks__(byref))) struct Foo foo;
13f4a2713aSLionel Sambuc  return 0;
14f4a2713aSLionel Sambuc}
15