Recommit "rL366894: [yaml2obj] - Allow custom fields for the SHT_UNDEF sections."
[llvm-complete.git] / test / tools / llvm-readobj / codeview-inlining.test
blob14c4f1af75c4fd0592987cd9b6e17e88af4cefaf
1 ; The following two object files were generated using the following command:
2 ;   $ cl /d2Zi+ /Zc:inline /O2 /Z7 /c t.cpp
3 ; The contents of t.cpp follow:
4 ;   static void bar() {
5 ;     __asm nop
6 ;   }
7 ;   static void baz() {
8 ;     __asm nop
9 ;   }
10 ;   static __forceinline void foo() {
11 ;     __asm nop
12 ;   #include "a.h"
13 ;   #include "b.h"
14 ;     __asm nop
15 ;     goto forwards;
17 ;   backwards:
18 ;     __asm nop
19 ;     return;
21 ;   forwards:
22 ;     __asm rep nop
23 ;     goto backwards;
24 ;   }
25 ;   int main() {
26 ;     bar();
27 ;     baz();
28 ;     foo();
29 ;   }
31 ; Both a.h and b.h contain "__asm nop".
33 RUN: llvm-readobj -S --codeview --section-symbols %p/Inputs/codeview-inlining.obj.coff | FileCheck %s
35 ; FIXME: If we were more clever, we could turn FileIDs into paths.
37 ; CHECK:       SubSectionType: InlineeLines (0xF6)
38 ; CHECK-NEXT:  SubSectionSize: 0x3C
39 ; CHECK-NEXT:  InlineeSourceLine {
40 ; CHECK-NEXT:    Inlinee: bar (0x1002)
41 ; CHECK-NEXT:    FileID: d:\src\llvm\build\t.cpp (0x30)
42 ; CHECK-NEXT:    SourceLineNum: 2
43 ; CHECK-NEXT:    ExtraFileCount: 0
44 ; CHECK-NEXT:    ExtraFiles [
45 ; CHECK-NEXT:    ]
46 ; CHECK-NEXT:  }
47 ; CHECK-NEXT:  InlineeSourceLine {
48 ; CHECK-NEXT:    Inlinee: baz (0x1003)
49 ; CHECK-NEXT:    FileID: d:\src\llvm\build\t.cpp (0x30)
50 ; CHECK-NEXT:    SourceLineNum: 5
51 ; CHECK-NEXT:    ExtraFileCount: 0
52 ; CHECK-NEXT:    ExtraFiles [
53 ; CHECK-NEXT:    ]
54 ; CHECK-NEXT:  }
55 ;   The 'foo' inline site has extra files due to includes.
56 ; CHECK-NEXT:  InlineeSourceLine {
57 ; CHECK-NEXT:    Inlinee: foo (0x1004)
58 ; CHECK-NEXT:    FileID: d:\src\llvm\build\a.h (0x0)
59 ; CHECK-NEXT:    SourceLineNum: 1
60 ; CHECK-NEXT:    ExtraFileCount: 2
61 ; CHECK-NEXT:    ExtraFiles [
62 ; CHECK-NEXT:      FileID: d:\src\llvm\build\b.h (0x18)
63 ; CHECK-NEXT:      FileID: d:\src\llvm\build\t.cpp (0x30)
64 ; CHECK-NEXT:    ]
65 ; CHECK-NEXT:  }