1 // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
3 // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fdump-record-layouts -fsyntax-only %s 2>/dev/null \
9 // CHECK: *** Dumping AST Record Layout
10 // CHECK: Type: struct EmptyIntMemb
12 // CHECK: Layout: <ASTRecordLayout
14 // CHECK: Alignment:32
15 // CHECK: FieldOffsets: [0]>
17 struct EmptyLongLongMemb
{
18 long long FlexArrayMemb
[0];
20 // CHECK: *** Dumping AST Record Layout
21 // CHECK: Type: struct EmptyLongLongMemb
23 // CHECK: Layout: <ASTRecordLayout
25 // CHECK: Alignment:64
26 // CHECK: FieldOffsets: [0]>
28 struct EmptyAligned2LongLongMemb
{
29 long long __declspec(align(2)) FlexArrayMemb
[0];
32 // CHECK: *** Dumping AST Record Layout
33 // CHECK: Type: struct EmptyAligned2LongLongMemb
35 // CHECK: Layout: <ASTRecordLayout
37 // CHECK: Alignment:64
38 // CHECK: FieldOffsets: [0]>
40 struct EmptyAligned8LongLongMemb
{
41 long long __declspec(align(8)) FlexArrayMemb
[0];
44 // CHECK: *** Dumping AST Record Layout
45 // CHECK: Type: struct EmptyAligned8LongLongMemb
47 // CHECK: Layout: <ASTRecordLayout
49 // CHECK: Alignment:64
50 // CHECK: FieldOffsets: [0]>
53 struct __declspec(align(4)) EmptyPackedAligned4LongLongMemb
{
54 long long FlexArrayMemb
[0];
58 // CHECK: *** Dumping AST Record Layout
59 // CHECK: Type: struct EmptyPackedAligned4LongLongMemb
61 // CHECK: Layout: <ASTRecordLayout
63 // CHECK: Alignment:32
64 // CHECK: FieldOffsets: [0]>
67 struct EmptyPackedAligned8LongLongMemb
{
68 long long __declspec(align(8)) FlexArrayMemb
[0];
72 // CHECK: *** Dumping AST Record Layout
73 // CHECK: Type: struct EmptyPackedAligned8LongLongMemb
75 // CHECK: Layout: <ASTRecordLayout
77 // CHECK: Alignment:64
78 // CHECK: FieldOffsets: [0]>
82 sizeof(struct EmptyIntMemb
)+
83 sizeof(struct EmptyLongLongMemb
)+
84 sizeof(struct EmptyAligned2LongLongMemb
)+
85 sizeof(struct EmptyAligned8LongLongMemb
)+
86 sizeof(struct EmptyPackedAligned4LongLongMemb
)+
87 sizeof(struct EmptyPackedAligned8LongLongMemb
)+