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