1*67e74705SXin Li// RUN: %clang_cc1 -fblocks -fobjc-arc -fobjc-runtime-has-weak -debug-info-kind=limited -triple x86_64-apple-darwin -emit-llvm %s -o - | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li// rdar://problem/14386148 4*67e74705SXin Li// Test that the foo is aligned at an 8 byte boundary in the DWARF 5*67e74705SXin Li// expression (256) that locates it inside of the byref descriptor: 6*67e74705SXin Li// CHECK: !DIDerivedType(tag: DW_TAG_member, name: "foo", 7*67e74705SXin Li// CHECK-NOT: line: 8*67e74705SXin Li// CHECK-SAME: align: 64 9*67e74705SXin Li// CHECK-SAME: offset: 256 10*67e74705SXin Li 11*67e74705SXin Listruct Foo { 12*67e74705SXin Li unsigned char *data; 13*67e74705SXin Li}; 14*67e74705SXin Liint func() { 15*67e74705SXin Li __attribute__((__blocks__(byref))) struct Foo foo; 16*67e74705SXin Li return 0; 17*67e74705SXin Li} 18