reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
# RUN: llvm-mc -triple=i686-windows-msvc %s -filetype=obj -o %t.obj
# RUN: llvm-readobj --codeview %t.obj | FileCheck %s

# The .cv_string directive mainly exists as a convenience for manually writing
# FPO data in assembler. Test that we can write FPO data using this directive,
# and that the string comes out in the dumper.

# void g(int);
# void f(int x) {
#   g(x+1);
# }

# CHECK: FrameFunc [
# CHECK-NEXT: abc =
# CHECK-NEXT: def =
# CHECK-NEXT: ghi =
# CHECK-NEXT: ]

	.text
	.def	 @feat.00;
	.scl	3;
	.type	0;
	.endef
	.globl	@feat.00
.set @feat.00, 1
	.def	 _f;
	.scl	2;
	.type	32;
	.endef
	.globl	_f                      # -- Begin function f
	.p2align	4, 0x90
_f:                                     # @f
Lfunc_begin0:
# %bb.0:                                # %entry
	pushl	%ebp
	movl	%esp, %ebp
	subl	$8, %esp
	movl	8(%ebp), %eax
	movl	8(%ebp), %ecx
	addl	$1, %ecx
	movl	%ecx, (%esp)
	movl	%eax, -4(%ebp)          # 4-byte Spill
	calll	_g
	addl	$8, %esp
	popl	%ebp
	retl
Lfunc_end0:
                                        # -- End function
	.section	.debug$S,"dr"
	.p2align	2
	.long	4                       # Debug section magic

	# Open coded frame data
	.long	245
	.long	Lfoo_fpo_end-Lfoo_fpo_begin           # Subsection size
Lfoo_fpo_begin:
	.long _f
	.long 0
	.long Lfunc_end0-Lfunc_begin0
	.long 24 # LocalSize
	.long 0 # ParamSize
	.long 0 # MaxStackSize
	.cv_string "abc = def = ghi = "
	.short 0 # PrologSize
	.short 0 # SavedRegSize
	.long 0x4 # Flags
Lfoo_fpo_end:
	.p2align	2
	.cv_stringtable                 # String table