16bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fms-extensions -fdump-record-layouts %s 2>/dev/null \ 2dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// RUN: | FileCheck %s 36bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple x86_64-pc-win32 -fms-extensions -fdump-record-layouts %s 2>/dev/null \ 47967c95891c5f65f6312fbbcb999ac257d776914Warren Hunt// RUN: | FileCheck %s 5dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 6dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct A { 7dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 8dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int a : 22; 9dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 10dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int c : 10; 11dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char b : 3; 12dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char d: 4; 13dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 14dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} A; 15dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 16dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct A 17dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:128 18dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:32 19dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 32, 64, 64, 96, 99, 112]> 20dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 21dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct B { 22dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 23dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 24dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short a : 4; 25dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 26dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} B; 27dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 28dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct B 29dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:48 30dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:16 31dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 16, 32]> 32dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 33dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct C { 34dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 35dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short a : 4; 36dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 37dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 38dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} C; 39dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 40dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct C 41dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:64 42dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:32 43dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 16, 32, 32]> 44dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 45dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct D { 46dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 47dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short : 0; 48dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 49dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 50dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} D; 51dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 52dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct D 53dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:16 54dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 55dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 8, 8]> 56dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 57dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef union E { 58dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 59dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long a : 3; 60dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int b : 3; 61dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long : 0; 62dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 63dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} E; 64dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 65dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: union E 66dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:64 67dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:16 68dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 0, 0, 0, 0]> 69dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 70dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct F { 71dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 72dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char a : 3; 73dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char b : 3; 74dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char c : 3; 75dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short d : 6; 76dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short e : 6; 77dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short f : 6; 78dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short g : 11; 79dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short h : 11; 80dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short i : 11; 81dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 82dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} F; 83dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 84dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct F 85dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:128 86dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:16 87dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 11, 16, 32, 38, 48, 64, 80, 96, 112]> 88dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 89dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef union G { 90dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 91dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int a : 3; 92dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 93dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long : 0; 94dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 95dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} G; 96dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 97dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: union G 98dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:32 99dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:16 100dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 0, 0, 0, 0]> 101dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 102dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct H { 103dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned short a : 1; 104dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned char : 0; 105dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned long : 0; 106dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned short c : 1; 107dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} H; 108dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 109dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct H 110dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:32 111dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:16 112dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 16, 16, 16]> 113dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 1146bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinestypedef struct I { 1156bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines short : 8; 1166bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines __declspec(align(16)) short : 8; 1176bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} I; 1186bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 1196bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Type: struct I 1206bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Size:16 1216bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Alignment:16 1226bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: FieldOffsets: [0, 8] 1236bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 124dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt#pragma pack(push, 1) 125dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 126dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct A1 { 127dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 128dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int a : 22; 129dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 130dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int c : 10; 131dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char b : 3; 132dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char d: 4; 133dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 134dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} A1; 135dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 136dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct A1 137dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:96 138dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 139dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 40, 40, 72, 75, 80]> 140dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 141dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct B1 { 142dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 143dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 144dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short a : 4; 145dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 146dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} B1; 147dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 148dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct B1 149dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:32 150dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 151dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 8, 24]> 152dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 153dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct C1 { 154dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 155dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short a : 4; 156dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 157dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 158dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} C1; 159dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 160dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct C1 161dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:32 162dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 163dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 24, 24]> 164dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 165dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct D1 { 166dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 167dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short : 0; 168dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 169dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char y; 170dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} D1; 171dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 172dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct D1 173dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:16 174dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 175dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 8, 8]> 176dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 177dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef union E1 { 178dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 179dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long a : 3; 180dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int b : 3; 181dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long : 0; 182dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 183dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} E1; 184dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 185dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: union E1 186dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:64 187dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 188dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 0, 0, 0, 0]> 189dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 190dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct F1 { 191dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 192dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char a : 3; 193dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char b : 3; 194dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char c : 3; 195dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short d : 6; 196dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short e : 6; 197dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short f : 6; 198dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short g : 11; 199dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short h : 11; 200dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short i : 11; 201dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 202dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} F1; 203dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 204dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct F1 205dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:120 206dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 207dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 8, 11, 16, 24, 30, 40, 56, 72, 88, 104]> 208dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 209dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef union G1 { 210dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt char x; 211dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int a : 3; 212dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt int : 0; 213dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt long long : 0; 214dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt short y; 215dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} G1; 216dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 217dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: union G1 218dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:32 219dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 220dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 0, 0, 0, 0]> 221dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 222dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunttypedef struct H1 { 223dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned long a : 1; 224dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned char : 0; 225dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned long : 0; 226dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt unsigned long c : 1; 227dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt} H1; 228dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 229dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Type: struct H1 230dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Size:64 231dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: Alignment:8 232dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt// CHECK: FieldOffsets: [0, 32, 32, 32]> 233dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 2346bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinestypedef struct I1 { 2356bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines short : 8; 2366bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines __declspec(align(16)) short : 8; 2376bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines} I1; 2386bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 2396bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Type: struct I1 2406bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Size:16 2416bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: Alignment:8 2426bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines// CHECK: FieldOffsets: [0, 8] 2436bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hines 244dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt#pragma pack(pop) 245dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt 246dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntint x[ 247dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(A ) + 248dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(B ) + 249dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(C ) + 250dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(D ) + 251dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(E ) + 252dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(F ) + 253dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(G ) + 254dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(H ) + 2556bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinessizeof(I ) + 256dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(A1) + 257dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(B1) + 258dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(C1) + 259dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(D1) + 260dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(E1) + 261dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(F1) + 262dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(G1) + 263dc58180432868cfa9c060d5c41114634e4b841c7Warren Huntsizeof(H1) + 2646bcf27bb9a4b5c3f79cb44c0e4654a6d7619ad89Stephen Hinessizeof(I1) + 265dc58180432868cfa9c060d5c41114634e4b841c7Warren Hunt0]; 266