41 lines · cpp
1// RUN: %clang_cc1 -triple i686-windows-msvc -w -fdump-record-layouts-simple -foverride-record-layout=%S/Inputs/override-layout-packed-base.layout %s | FileCheck %s2 3//#pragma pack(push, 1)4 5// CHECK: Type: class B<0>6// CHECK: Size:407// CHECK: FieldOffsets: [0, 32]8 9// CHECK: Type: class B<1>10// CHECK: Size:4011// CHECK: FieldOffsets: [0, 32]12 13template<int I>14class B {15 int _b1;16 char _b2;17};18 19// CHECK: Type: class C20// CHECK: Size:8821// CHECK: FieldOffsets: [80]22 23class C : B<0>, B<1> {24 char _c;25};26 27// CHECK: Type: class D28// CHECK: Size:12029// CHECK: FieldOffsets: [32]30 31class D : virtual B<0>, virtual B<1> {32 char _d;33};34 35//#pragma pack(pop)36 37void use_structs() {38 C cs;39 D ds;40}41