1*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker .text 3*9880d681SAndroid Build Coastguard Worker .def @feat.00; 4*9880d681SAndroid Build Coastguard Worker .scl 3; 5*9880d681SAndroid Build Coastguard Worker .type 0; 6*9880d681SAndroid Build Coastguard Worker .endef 7*9880d681SAndroid Build Coastguard Worker .globl @feat.00 8*9880d681SAndroid Build Coastguard Worker@feat.00 = 1 9*9880d681SAndroid Build Coastguard Worker .def "?baz@@YAXXZ"; 10*9880d681SAndroid Build Coastguard Worker .scl 2; 11*9880d681SAndroid Build Coastguard Worker .type 32; 12*9880d681SAndroid Build Coastguard Worker .endef 13*9880d681SAndroid Build Coastguard Worker .globl "?baz@@YAXXZ" 14*9880d681SAndroid Build Coastguard Worker .p2align 4, 0x90 15*9880d681SAndroid Build Coastguard Worker"?baz@@YAXXZ": # @"\01?baz@@YAXXZ" 16*9880d681SAndroid Build Coastguard WorkerLfunc_begin0: 17*9880d681SAndroid Build Coastguard Worker .cv_file 1 "D:\\src\\llvm\\build\\t.cpp" 18*9880d681SAndroid Build Coastguard Worker .cv_loc 0 1 13 0 is_stmt 0 # t.cpp:13:0 19*9880d681SAndroid Build Coastguard Worker# BB#0: # %entry 20*9880d681SAndroid Build Coastguard Worker pushl %eax 21*9880d681SAndroid Build Coastguard Worker .cv_loc 0 1 14 5 # t.cpp:14:5 22*9880d681SAndroid Build Coastguard Worker addl $6, "?x@@3HC" 23*9880d681SAndroid Build Coastguard Worker .cv_loc 1 1 9 5 # t.cpp:9:5 24*9880d681SAndroid Build Coastguard Worker addl $4, "?x@@3HC" 25*9880d681SAndroid Build Coastguard Worker .cv_loc 2 1 3 7 # t.cpp:3:7 26*9880d681SAndroid Build Coastguard Worker movl $1, (%esp) 27*9880d681SAndroid Build Coastguard Worker leal (%esp), %eax 28*9880d681SAndroid Build Coastguard Worker .cv_loc 2 1 4 5 # t.cpp:4:5 29*9880d681SAndroid Build Coastguard Worker addl %eax, "?x@@3HC" 30*9880d681SAndroid Build Coastguard Worker .cv_loc 2 1 5 5 # t.cpp:5:5 31*9880d681SAndroid Build Coastguard Worker addl $2, "?x@@3HC" 32*9880d681SAndroid Build Coastguard Worker .cv_loc 2 1 6 5 # t.cpp:6:5 33*9880d681SAndroid Build Coastguard Worker addl $3, "?x@@3HC" 34*9880d681SAndroid Build Coastguard Worker .cv_loc 1 1 11 5 # t.cpp:11:5 35*9880d681SAndroid Build Coastguard Worker addl $5, "?x@@3HC" 36*9880d681SAndroid Build Coastguard Worker .cv_loc 0 1 16 5 # t.cpp:16:5 37*9880d681SAndroid Build Coastguard Worker addl $7, "?x@@3HC" 38*9880d681SAndroid Build Coastguard Worker .cv_loc 0 1 17 1 # t.cpp:17:1 39*9880d681SAndroid Build Coastguard Worker popl %eax 40*9880d681SAndroid Build Coastguard Worker retl 41*9880d681SAndroid Build Coastguard WorkerLfunc_end0: 42*9880d681SAndroid Build Coastguard Worker 43*9880d681SAndroid Build Coastguard Worker .section .debug$T,"dr" 44*9880d681SAndroid Build Coastguard Worker .long 4 45*9880d681SAndroid Build Coastguard Worker .short 6 46*9880d681SAndroid Build Coastguard Worker .short 4609 47*9880d681SAndroid Build Coastguard Worker .long 0 48*9880d681SAndroid Build Coastguard Worker .short 14 49*9880d681SAndroid Build Coastguard Worker .short 4104 50*9880d681SAndroid Build Coastguard Worker .asciz "\003\000\000\000\000\000\000\000\000\020\000" 51*9880d681SAndroid Build Coastguard Worker .short 14 52*9880d681SAndroid Build Coastguard Worker .short 5633 53*9880d681SAndroid Build Coastguard Worker .asciz "\000\000\000\000\001\020\000" 54*9880d681SAndroid Build Coastguard Worker .ascii "baz" 55*9880d681SAndroid Build Coastguard Worker .byte 0 56*9880d681SAndroid Build Coastguard Worker .short 14 57*9880d681SAndroid Build Coastguard Worker .short 5633 58*9880d681SAndroid Build Coastguard Worker .asciz "\000\000\000\000\001\020\000" 59*9880d681SAndroid Build Coastguard Worker .ascii "bar" 60*9880d681SAndroid Build Coastguard Worker .byte 0 61*9880d681SAndroid Build Coastguard Worker .short 14 62*9880d681SAndroid Build Coastguard Worker .short 5633 63*9880d681SAndroid Build Coastguard Worker .asciz "\000\000\000\000\001\020\000" 64*9880d681SAndroid Build Coastguard Worker .ascii "foo" 65*9880d681SAndroid Build Coastguard Worker .byte 0 66*9880d681SAndroid Build Coastguard Worker .section .debug$S,"dr" 67*9880d681SAndroid Build Coastguard Worker .long 4 68*9880d681SAndroid Build Coastguard Worker .long 241 # Symbol subsection for baz 69*9880d681SAndroid Build Coastguard Worker .long Ltmp1-Ltmp0 70*9880d681SAndroid Build Coastguard WorkerLtmp0: 71*9880d681SAndroid Build Coastguard Worker .short Ltmp3-Ltmp2 72*9880d681SAndroid Build Coastguard WorkerLtmp2: 73*9880d681SAndroid Build Coastguard Worker .short 4423 74*9880d681SAndroid Build Coastguard Worker .zero 12 75*9880d681SAndroid Build Coastguard Worker .long Lfunc_end0-"?baz@@YAXXZ" 76*9880d681SAndroid Build Coastguard Worker .zero 12 77*9880d681SAndroid Build Coastguard Worker .secrel32 "?baz@@YAXXZ" 78*9880d681SAndroid Build Coastguard Worker .secidx "?baz@@YAXXZ" 79*9880d681SAndroid Build Coastguard Worker .byte 0 80*9880d681SAndroid Build Coastguard Worker .ascii "baz" 81*9880d681SAndroid Build Coastguard Worker .byte 0 82*9880d681SAndroid Build Coastguard WorkerLtmp3: 83*9880d681SAndroid Build Coastguard Worker .short Ltmp5-Ltmp4 84*9880d681SAndroid Build Coastguard WorkerLtmp4: 85*9880d681SAndroid Build Coastguard Worker .short 4429 86*9880d681SAndroid Build Coastguard Worker .asciz "\000\000\000\000\000\000\000\000\003\020\000" 87*9880d681SAndroid Build Coastguard Worker .cv_inline_linetable 1 1 9 Lfunc_begin0 Lfunc_end0 contains 2 88*9880d681SAndroid Build Coastguard Worker# CHECK: InlineSite { 89*9880d681SAndroid Build Coastguard Worker# CHECK: PtrParent: 0x0 90*9880d681SAndroid Build Coastguard Worker# CHECK: PtrEnd: 0x0 91*9880d681SAndroid Build Coastguard Worker# CHECK: Inlinee: bar (0x1003) 92*9880d681SAndroid Build Coastguard Worker# CHECK: BinaryAnnotations [ 93*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeLineOffset: -6 94*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffset: 0xF 95*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0xA, LineOffset: 1} 96*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1} 97*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1} 98*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeLineOffset: 5 99*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffset: 0x7 100*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeLength: 0x7 101*9880d681SAndroid Build Coastguard Worker# CHECK: ] 102*9880d681SAndroid Build Coastguard Worker# CHECK: } 103*9880d681SAndroid Build Coastguard WorkerLtmp5: 104*9880d681SAndroid Build Coastguard Worker .short Ltmp7-Ltmp6 105*9880d681SAndroid Build Coastguard WorkerLtmp6: 106*9880d681SAndroid Build Coastguard Worker .short 4429 107*9880d681SAndroid Build Coastguard Worker .asciz "\000\000\000\000\000\000\000\000\004\020\000" 108*9880d681SAndroid Build Coastguard Worker .cv_inline_linetable 2 1 3 Lfunc_begin0 Lfunc_end0 109*9880d681SAndroid Build Coastguard Worker# CHECK: InlineSite { 110*9880d681SAndroid Build Coastguard Worker# CHECK: PtrParent: 0x0 111*9880d681SAndroid Build Coastguard Worker# CHECK: PtrEnd: 0x0 112*9880d681SAndroid Build Coastguard Worker# CHECK: Inlinee: foo (0x1004) 113*9880d681SAndroid Build Coastguard Worker# CHECK: BinaryAnnotations [ 114*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeLineOffset: 1 115*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffset: 0x19 116*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x6, LineOffset: 1} 117*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeOffsetAndLineOffset: {CodeOffset: 0x7, LineOffset: 1} 118*9880d681SAndroid Build Coastguard Worker# CHECK: ChangeCodeLength: 0x7 119*9880d681SAndroid Build Coastguard Worker# CHECK: ] 120*9880d681SAndroid Build Coastguard Worker# CHECK: } 121*9880d681SAndroid Build Coastguard WorkerLtmp7: 122*9880d681SAndroid Build Coastguard Worker .short 2 123*9880d681SAndroid Build Coastguard Worker .short 4430 124*9880d681SAndroid Build Coastguard Worker# CHECK: InlineSiteEnd { 125*9880d681SAndroid Build Coastguard Worker# CHECK: } 126*9880d681SAndroid Build Coastguard Worker .short 2 127*9880d681SAndroid Build Coastguard Worker .short 4430 128*9880d681SAndroid Build Coastguard Worker# CHECK: InlineSiteEnd { 129*9880d681SAndroid Build Coastguard Worker# CHECK: } 130*9880d681SAndroid Build Coastguard Worker .short 2 131*9880d681SAndroid Build Coastguard Worker .short 4431 132*9880d681SAndroid Build Coastguard WorkerLtmp1: 133*9880d681SAndroid Build Coastguard Worker .p2align 2 134*9880d681SAndroid Build Coastguard Worker .cv_linetable 0, "?baz@@YAXXZ", Lfunc_end0 135*9880d681SAndroid Build Coastguard Worker .cv_filechecksums # File index to string table offset subsection 136*9880d681SAndroid Build Coastguard Worker .cv_stringtable # String table 137*9880d681SAndroid Build Coastguard Worker 138