gn build: Merge r374476
[llvm-complete.git] / test / MC / COFF / cv-def-range.s
blob7ce2e5fb455fff0dbb9c010eee5e5ae0b22f7fda
1 # RUN: llvm-mc -triple=i686-pc-win32 -filetype=obj < %s | llvm-readobj --codeview --codeview-subsection-bytes | 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 _g;
10 .scl 2;
11 .type 32;
12 .endef
13 .globl _g
14 .p2align 4, 0x90
15 _g: # @g
16 Lfunc_begin0:
17 .cv_file 1 "\\usr\\local\\google\\home\\majnemer\\llvm\\src\\<stdin>"
18 .cv_func_id 0
19 .cv_loc 0 1 3 0 is_stmt 0 # <stdin>:3:0
20 # %bb.0: # %entry
21 pushl %ebp
22 movl %esp, %ebp
23 subl $8, %esp
24 leal -4(%ebp), %eax
25 Lvar_begin0:
26 #DEBUG_VALUE: g:x <- %eax
27 .cv_loc 0 1 4 7 # <stdin>:4:7
28 movl $0, -4(%ebp)
29 .cv_loc 0 1 5 3 # <stdin>:5:3
30 movl %eax, (%esp)
31 calll _f
32 .cv_loc 0 1 6 1 # <stdin>:6:1
33 Lvar_end0:
34 addl $8, %esp
35 popl %ebp
36 retl
37 Lfunc_end0:
39 .section .debug$T,"dr"
40 .long 4 # Debug section magic
41 .short 6 # Type record length
42 .short 4609 # Leaf type: LF_ARGLIST
43 .long 0 # Number of arguments
44 .short 14 # Type record length
45 .short 4104 # Leaf type: LF_PROCEDURE
46 .long 3 # Return type index
47 .byte 0 # Calling convention
48 .byte 0 # Function options
49 .short 0 # # of parameters
50 .long 4096 # Argument list type index
51 .short 12 # Type record length
52 .short 5633 # Leaf type: LF_FUNC_ID
53 .long 0 # Scope type index
54 .long 4097 # Function type
55 .asciz "g" # Function name
56 .section .debug$S,"dr"
57 .long 4 # Debug section magic
58 .long 241 # Symbol subsection for g
59 .long Ltmp1-Ltmp0 # Subsection size
60 Ltmp0:
61 .short Ltmp3-Ltmp2 # Record length
62 Ltmp2:
63 .short 4423 # Record kind: S_GPROC32_ID
64 .long 0 # PtrParent
65 .long 0 # PtrEnd
66 .long 0 # PtrNext
67 .long Lfunc_end0-_g # Code size
68 .long 0 # Offset after prologue
69 .long 0 # Offset before epilogue
70 .long 0 # Function type index
71 .secrel32 _g # Function section relative address
72 .secidx _g # Function section index
73 .byte 0 # Flags
74 .asciz "g" # Function name
75 Ltmp3:
76 .short 2 # Record length
77 .short 4431 # Record kind: S_PROC_ID_END
78 .cv_def_range Lvar_begin0 Lvar_end0, frame_ptr_rel, -4
80 # CHECK: DefRangeFramePointerRelSym {
81 # CHECK: Offset: -4
82 # CHECK: LocalVariableAddrRange {
83 # CHECK: OffsetStart: .text+0x9
84 # CHECK: ISectStart: 0x0
85 # CHECK: Range: 0xF
86 # CHECK: }
87 # CHECK: BlockRelocations [
88 # CHECK: 0x4 IMAGE_REL_I386_SECREL .text
89 # CHECK: 0x8 IMAGE_REL_I386_SECTION .text
90 # CHECK: ]
91 # CHECK: }
93 Ltmp1:
94 .p2align 2
95 .cv_linetable 0, _g, Lfunc_end0
96 .cv_filechecksums # File index to string table offset subsection
97 .cv_stringtable # String table