brintos

brintos / llvm-project-archived public Read only

0
0
Text · 713 B · 0b1e005 Raw
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