# 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_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: DefRangeFramePointerRel { # CHECK: Offset: -4 # CHECK: LocalVariableAddrRange { # CHECK: OffsetStart: .text+0x9 # CHECK: ISectStart: 0x0 # CHECK: Range: 0xF # CHECK: } # CHECK: } # CHECK: BlockRelocations [ # CHECK: 0x4 IMAGE_REL_I386_SECREL .text # CHECK: 0x8 IMAGE_REL_I386_SECTION .text # CHECK: ] Ltmp1: .p2align 2 .cv_linetable 0, _g, Lfunc_end0 .cv_filechecksums # File index to string table offset subsection .cv_stringtable # String table