| # RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj -codeview -codeview-subsection-bytes | FileCheck %s | |
| .text | |
| .def @feat.00; | |
| .scl 3; | |
| .type 0; | |
| .endef | |
| .globl @feat.00 | |
| @feat.00 = 1 | |
| .def _g; | |
| .scl 2; | |
| .type 32; | |
| .endef | |
| .globl _g | |
| .p2align 4, 0x90 | |
| _g: # @g | |
| Lfunc_begin0: | |
| .cv_file 1 "\\usr\\local\\google\\home\\majnemer\\llvm\\src\\<stdin>" | |
| .cv_func_id 0 | |
| .cv_loc 0 1 3 0 is_stmt 0 # <stdin>:3:0 | |
| # %bb.0: # %entry | |
| pushl %ebp | |
| movl %esp, %ebp | |
| subl $8, %esp | |
| leal -4(%ebp), %eax | |
| Lvar_begin0: | |
| #DEBUG_VALUE: g:x <- %eax | |
| .cv_loc 0 1 4 7 # <stdin>:4:7 | |
| movl $0, -4(%ebp) | |
| .cv_loc 0 1 5 3 # <stdin>:5:3 | |
| movl %eax, (%esp) | |
| calll _f | |
| .cv_loc 0 1 6 1 # <stdin>:6:1 | |
| Lvar_end0: | |
| addl $8, %esp | |
| popl %ebp | |
| retl | |
| Lfunc_end0: | |
| .section .debug$T,"dr" | |
| .long 4 # Debug section magic | |
| .short 6 # Type record length | |
| .short 4609 # Leaf type: LF_ARGLIST | |
| .long 0 # Number of arguments | |
| .short 14 # Type record length | |
| .short 4104 # Leaf type: LF_PROCEDURE | |
| .long 3 # Return type index | |
| .byte 0 # Calling convention | |
| .byte 0 # Function options | |
| .short 0 # # of parameters | |
| .long 4096 # Argument list type index | |
| .short 12 # Type record length | |
| .short 5633 # Leaf type: LF_FUNC_ID | |
| .long 0 # Scope type index | |
| .long 4097 # Function type | |
| .asciz "g" # Function name | |
| .section .debug$S,"dr" | |
| .long 4 # Debug section magic | |
| .long 241 # Symbol subsection for g | |
| .long Ltmp1-Ltmp0 # Subsection size | |
| Ltmp0: | |
| .short Ltmp3-Ltmp2 # Record length | |
| Ltmp2: | |
| .short 4423 # Record kind: S_GPROC32_ID | |
| .long 0 # PtrParent | |
| .long 0 # PtrEnd | |
| .long 0 # PtrNext | |
| .long Lfunc_end0-_g # Code size | |
| .long 0 # Offset after prologue | |
| .long 0 # Offset before epilogue | |
| .long 0 # Function type index | |
| .secrel32 _g # Function section relative address | |
| .secidx _g # Function section index | |
| .byte 0 # Flags | |
| .asciz "g" # Function name | |
| Ltmp3: | |
| .short 2 # Record length | |
| .short 4431 # Record kind: S_PROC_ID_END | |
| .cv_def_range Lvar_begin0 Lvar_end0, "\102\021\374\377\377\377" | |
| # CHECK: DefRangeFramePointerRelSym { | |
| # CHECK: Offset: -4 | |
| # CHECK: LocalVariableAddrRange { | |
| # CHECK: OffsetStart: .text+0x9 | |
| # CHECK: ISectStart: 0x0 | |
| # CHECK: Range: 0xF | |
| # CHECK: } | |
| # CHECK: BlockRelocations [ | |
| # CHECK: 0x4 IMAGE_REL_I386_SECREL .text | |
| # CHECK: 0x8 IMAGE_REL_I386_SECTION .text | |
| # CHECK: ] | |
| # CHECK: } | |
| Ltmp1: | |
| .p2align 2 | |
| .cv_linetable 0, _g, Lfunc_end0 | |
| .cv_filechecksums # File index to string table offset subsection | |
| .cv_stringtable # String table | |