xref: /llvm-project/llvm/test/tools/llvm-readobj/COFF/codeview-inlinees.test (revision 050bb26174cd9eb60c3c192476091494604f9a5d)
1dbf520f6SGeorgii RymarCompile the following like so to reproduce the input:
2dbf520f6SGeorgii Rymar$ cl -c -O2 t.c -Z7
3dbf520f6SGeorgii Rymarvoid g();
4dbf520f6SGeorgii Rymarstatic inline void f() { g(); }
5dbf520f6SGeorgii Rymarstatic inline void h() { g(); }
6dbf520f6SGeorgii Rymarvoid k() {
7dbf520f6SGeorgii Rymar  f();
8dbf520f6SGeorgii Rymar  h();
9dbf520f6SGeorgii Rymar}
10dbf520f6SGeorgii Rymar
11dbf520f6SGeorgii RymarRUN: llvm-readobj --codeview %p/Inputs/codeview-inlinees.obj | FileCheck %s
12dbf520f6SGeorgii Rymar
13dbf520f6SGeorgii RymarCHECK:    SubSectionType: InlineeLines (0xF6)
14dbf520f6SGeorgii RymarCHECK:      Inlinee: f (0x1003)
15dbf520f6SGeorgii RymarCHECK:      Inlinee: h (0x1004)
16dbf520f6SGeorgii RymarCHECK-NOT: Inlinee:
17dbf520f6SGeorgii Rymar
18dbf520f6SGeorgii RymarCHECK:    GlobalProcIdSym {
19dbf520f6SGeorgii RymarCHECK:      Kind: S_GPROC32_ID (0x1147)
20dbf520f6SGeorgii RymarCHECK:      DisplayName: k
21dbf520f6SGeorgii RymarCHECK:      LinkageName: k
22dbf520f6SGeorgii RymarCHECK:    }
23dbf520f6SGeorgii RymarCHECK:    InlineSiteSym
24dbf520f6SGeorgii RymarCHECK:      Kind: S_INLINESITE (0x114D)
25dbf520f6SGeorgii RymarCHECK:      Inlinee: h (0x1004)
26dbf520f6SGeorgii RymarCHECK:    InlineSiteSym
27dbf520f6SGeorgii RymarCHECK:      Kind: S_INLINESITE (0x114D)
28dbf520f6SGeorgii RymarCHECK:      Inlinee: f (0x1003)
29dbf520f6SGeorgii RymarCHECK:    InlineesSym {
30dbf520f6SGeorgii RymarCHECK-NEXT:      Kind: S_INLINEES (0x1168)
31*050bb261SDaniel PaolielloCHECK-NEXT:      Inlinees [
32dbf520f6SGeorgii RymarCHECK-NEXT:        FuncID: f (0x1003)
33dbf520f6SGeorgii RymarCHECK-NEXT:        FuncID: h (0x1004)
34dbf520f6SGeorgii RymarCHECK-NEXT:      ]
35dbf520f6SGeorgii RymarCHECK:    }
36dbf520f6SGeorgii RymarCHECK:    ProcEnd {
37dbf520f6SGeorgii RymarCHECK:      Kind: S_PROC_ID_END (0x114F)
38dbf520f6SGeorgii RymarCHECK:    }
39