Home | History | Annotate | Download | only in COFF
      1 # RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s
      2 	.text
      3 	.def	 @feat.00;
      4 	.scl	3;
      5 	.type	0;
      6 	.endef
      7 	.globl	@feat.00
      8 @feat.00 = 1
      9 	.def	 "?baz@@YAXXZ";
     10 	.scl	2;
     11 	.type	32;
     12 	.endef
     13 	.globl	"?baz@@YAXXZ"
     14 	.p2align	4, 0x90
     15 "?baz@@YAXXZ":                          # @"\01?baz@@YAXXZ"
     16 Lfunc_begin0:
     17 	.cv_file	1 "D:\\src\\llvm\\build\\t.cpp"
     18 	.cv_func_id 0
     19 	.cv_inline_site_id 1 within 0 inlined_at 1 15 3
     20 	.cv_inline_site_id 2 within 1 inlined_at 1 10 3
     21 	.cv_loc	0 1 13 0 is_stmt 0      # t.cpp:13:0
     22 # %bb.0:                                # %entry
     23 	pushl	%eax
     24 	.cv_loc	0 1 14 5                # t.cpp:14:5
     25 	addl	$6, "?x@@3HC"
     26 	.cv_loc	1 1 9 5                 # t.cpp:9:5
     27 	addl	$4, "?x@@3HC"
     28 	.cv_loc	2 1 3 7                 # t.cpp:3:7
     29 	movl	$1, (%esp)
     30 	leal	(%esp), %eax
     31 	.cv_loc	2 1 4 5                 # t.cpp:4:5
     32 	addl	%eax, "?x@@3HC"
     33 	.cv_loc	2 1 5 5                 # t.cpp:5:5
     34 	addl	$2, "?x@@3HC"
     35 	.cv_loc	2 1 6 5                 # t.cpp:6:5
     36 	addl	$3, "?x@@3HC"
     37 	.cv_loc	1 1 11 5                # t.cpp:11:5
     38 	addl	$5, "?x@@3HC"
     39 	.cv_loc	0 1 16 5                # t.cpp:16:5
     40 	addl	$7, "?x@@3HC"
     41 	.cv_loc	0 1 17 1                # t.cpp:17:1
     42 	popl	%eax
     43 	retl
     44 Lfunc_end0:
     45 
     46 	.section	.debug$T,"dr"
     47 	.long	4
     48 	.short	6
     49 	.short	4609
     50 	.long	0
     51 	.short	14
     52 	.short	4104
     53 	.asciz	"\003\000\000\000\000\000\000\000\000\020\000"
     54 	.short	14
     55 	.short	5633
     56 	.asciz	"\000\000\000\000\001\020\000"
     57 	.ascii	"baz"
     58 	.byte	0
     59 	.short	14
     60 	.short	5633
     61 	.asciz	"\000\000\000\000\001\020\000"
     62 	.ascii	"bar"
     63 	.byte	0
     64 	.short	14
     65 	.short	5633
     66 	.asciz	"\000\000\000\000\001\020\000"
     67 	.ascii	"foo"
     68 	.byte	0
     69 	.section	.debug$S,"dr"
     70 	.long	4
     71 	.long	241                     # Symbol subsection for baz
     72 	.long	Ltmp1-Ltmp0
     73 Ltmp0:
     74 	.short	Ltmp3-Ltmp2
     75 Ltmp2:
     76 	.short	4423
     77 	.zero	12
     78 	.long	Lfunc_end0-"?baz@@YAXXZ"
     79 	.zero	12
     80 	.secrel32	"?baz@@YAXXZ"
     81 	.secidx	"?baz@@YAXXZ"
     82 	.byte	0
     83 	.ascii	"baz"
     84 	.byte	0
     85 Ltmp3:
     86 	.short	Ltmp5-Ltmp4
     87 Ltmp4:
     88 	.short	4429
     89 	.asciz	"\000\000\000\000\000\000\000\000\003\020\000"
     90 	.cv_inline_linetable	1 1 9 Lfunc_begin0 Lfunc_end0
     91 # CHECK:    InlineSiteSym {
     92 # CHECK:      PtrParent: 0x0
     93 # CHECK:      PtrEnd: 0x0
     94 # CHECK:      Inlinee: bar (0x1003)
     95 # CHECK:      BinaryAnnotations [
     96 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x8, LineOffset: 0}
     97 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
     98 # CHECK-NEXT:   ChangeLineOffset: 1
     99 # CHECK-NEXT:   ChangeCodeOffset: 0x1E
    100 # CHECK-NEXT:   ChangeCodeLength: 0x7
    101 # CHECK-NEXT: ]
    102 # CHECK:    }
    103 Ltmp5:
    104 	.short	Ltmp7-Ltmp6
    105 Ltmp6:
    106 	.short	4429
    107 	.asciz	"\000\000\000\000\000\000\000\000\004\020\000"
    108 	.cv_inline_linetable	2 1 3 Lfunc_begin0 Lfunc_end0
    109 # CHECK:    InlineSiteSym {
    110 # CHECK:      PtrParent: 0x0
    111 # CHECK:      PtrEnd: 0x0
    112 # CHECK:      Inlinee: foo (0x1004)
    113 # CHECK:      BinaryAnnotations [
    114 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xF, LineOffset: 0}
    115 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1}
    116 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1}
    117 # CHECK-NEXT:   ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1}
    118 # CHECK-NEXT:   ChangeCodeLength: 0x7
    119 # CHECK-NEXT: ]
    120 # CHECK:    }
    121 Ltmp7:
    122 	.short	2
    123 	.short	4430
    124 # CHECK:    InlineSiteEnd {
    125 # CHECK:    }
    126 	.short	2
    127 	.short	4430
    128 # CHECK:    InlineSiteEnd {
    129 # CHECK:    }
    130 	.short	2
    131 	.short	4431
    132 Ltmp1:
    133 	.p2align 2
    134 	.cv_linetable	0, "?baz@@YAXXZ", Lfunc_end0
    135 	.cv_filechecksums               # File index to string table offset subsection
    136 	.cv_stringtable                 # String table
    137 
    138 # CHECK-LABEL:  FunctionLineTable [
    139 # CHECK:    LinkageName: ?baz@@YAXXZ
    140 # CHECK:    Flags: 0x1
    141 # CHECK:    CodeSize: 0x3D
    142 # CHECK:    FilenameSegment [
    143 # CHECK:      Filename: D:\src\llvm\build\t.cpp (0x0)
    144 # CHECK:      +0x0 [
    145 # CHECK:        LineNumberStart: 13
    146 # CHECK:      ]
    147 # CHECK:      +0x1 [
    148 # CHECK:        LineNumberStart: 14
    149 # CHECK:      ]
    150 # CHECK:      +0x8 [
    151 # CHECK:        LineNumberStart: 15
    152 # CHECK:      ]
    153 #	There shouldn't be any other line number entries because all the other
    154 #	.cv_locs are on line 15 where the top-level inline call site is.
    155 # CHECK-NOT: LineNumberStart
    156 # CHECK:      +0x34 [
    157 # CHECK:        LineNumberStart: 16
    158 # CHECK:      ]
    159 # CHECK:      +0x3B [
    160 # CHECK:        LineNumberStart: 17
    161 # CHECK:      ]
    162 # CHECK:    ]
    163 # CHECK:  ]
    164