Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenCXX / override-layout-ms.cpp
blob1e678a4576a126c44b872e7ceacbffd204d130dc
1 // RUN: %clang_cc1 -w -triple=x86_64-pc-win32 -fms-compatibility -fdump-record-layouts -foverride-record-layout=%S/Inputs/override-layout-ms.layout %s | FileCheck %s
2 // RUN: %clang_cc1 -w -triple=x86_64-pc-win32 -fms-compatibility -fdump-record-layouts %s | FileCheck %s
4 // CHECK: *** Dumping AST Record Layout
5 // CHECK: 0 | struct E1 (empty)
6 // CHECK: | [sizeof=1, align=1,
7 // CHECK: | nvsize=0, nvalign=1]
8 // CHECK: *** Dumping AST Record Layout
9 // CHECK: 0 | struct Mid
10 // CHECK: 0 | void * p
11 // CHECK: | [sizeof=8, align=8,
12 // CHECK: | nvsize=8, nvalign=8]
13 // CHECK: *** Dumping AST Record Layout
14 // CHECK: 0 | struct E2 (empty)
15 // CHECK: | [sizeof=1, align=1,
16 // CHECK: | nvsize=0, nvalign=1]
17 // CHECK: *** Dumping AST Record Layout
18 // CHECK: 0 | struct Combine
19 // CHECK: 0 | struct E1 (base) (empty)
20 // CHECK: 0 | struct Mid (base)
21 // CHECK: 0 | void * p
22 // CHECK: 0 | struct E2 (base) (empty)
23 // CHECK: | [sizeof=8, align=8,
24 // CHECK: | nvsize=8, nvalign=8]
25 // CHECK: *** Dumping AST Record Layout
26 // CHECK: 0 | struct Combine2
27 // CHECK: 0 | struct VB1 (primary base)
28 // CHECK: 0 | (VB1 vftable pointer)
29 // CHECK: 8 | struct VB2 (base)
30 // CHECK: 8 | (VB2 vftable pointer)
31 // CHECK: | [sizeof=16, align=8,
32 // CHECK: | nvsize=16, nvalign=8]
35 struct E1 {};
36 struct E2 {};
37 struct Mid {void *p; };
38 struct __declspec(empty_bases) Combine : E1, Mid, E2 {};
39 struct VB1 { virtual void foo() {}};
40 struct VB2 { virtual void bar() {}};
41 struct Combine2: VB1, VB2 {};
42 Combine g;
43 Combine2 f;