19b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian// RUN: %clang_cc1 -triple i386-apple-darwin10 -emit-llvm %s -o - | FileCheck %s 29b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 39b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian#define ATTR __attribute__((__ms_struct__)) 49b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanianstruct s1 { 59b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian int f32; 69b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian long long f64; 79b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian} ATTR s1; 89b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 99b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian// CHECK: %struct.s1 = type { i32, [4 x i8], i64 } 109b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 119b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanianstruct s2 { 129b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian int f32; 139b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian long long f64[4]; 149b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian} ATTR s2; 159b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 169b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian// CHECK: %struct.s2 = type { i32, [4 x i8], [4 x i64] } 179b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 189b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanianstruct s3 { 199b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian int f32; 209b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian struct s1 s; 219b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian} ATTR s3; 229b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian 239b3acaa32548d0ce78b9c39a3911397f6738a47cFariborz Jahanian// CHECK: %struct.s3 = type { i32, [4 x i8], %struct.s1 } 24