1 // RUN: %clang_cc1 -w -fdump-record-layouts-simple %s > %t.layouts
2 // RUN: %clang_cc1 -w -fdump-record-layouts-simple %s > %t.before
3 // RUN: %clang_cc1 -w -DPACKED= -DALIGNED16= -fdump-record-layouts-simple -foverride-record-layout=%t.layouts %s > %t.after
4 // RUN: diff -u %t.before %t.after
5 // RUN: FileCheck %s < %t.after
7 // If not explicitly disabled, set PACKED to the packed attribute.
9 # define PACKED __attribute__((packed))
15 // CHECK: Type: struct X0
16 struct X0
: public Empty1
{
20 // CHECK: Type: struct X1
21 struct X1
: public X0
, public Empty2
{
26 // CHECK: Type: struct X2
27 struct PACKED X2
: public X1
, public X0
, public Empty1
{
32 // CHECK: Type: struct X3
33 struct PACKED X3
: virtual public X1
, public X0
{
38 // CHECK: Type: struct X4
57 // CHECK: Type: struct X5
67 // CHECK: Type: struct X6
68 struct __attribute__((aligned(16))) X6
{
74 // CHECK: Type: struct X7
79 // CHECK: Type: struct X8
80 struct X8
: X6
, virtual X7
{