summaryrefslogtreecommitdiffstats
path: root/llvm/test/MC/COFF/cv-fpo-errors.s
blob: baa2fa0d9378584cb36f306cc3f7910d4da4c22a (plain)
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
# RUN: not llvm-mc < %s -triple i686-windows-msvc -o /dev/null 2>&1 | FileCheck %s --implicit-check-not=error:

.globl _foo
_foo:
	.cv_fpo_proc
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
	.cv_fpo_proc 1
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
	.cv_fpo_proc _foo extra
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected parameter byte count
	.cv_fpo_proc _foo 4 extra
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_proc' directive
	.cv_fpo_proc _foo 4

	pushl	%ebp
	.cv_fpo_pushreg 1
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register name in '.cv_fpo_pushreg' directive
	.cv_fpo_pushreg ebp

	subl $20, %esp
	.cv_fpo_stackalloc asdf
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected offset in '.cv_fpo_stackalloc' directive
	.cv_fpo_stackalloc 20 asdf
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_stackalloc' directive
	.cv_fpo_stackalloc 20
	.cv_fpo_endprologue asdf
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_endprologue' directive
	.cv_fpo_endprologue

	addl $20, %esp
	popl %ebp
	retl
	.cv_fpo_endproc asdf
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_endproc' directive
	.cv_fpo_endproc

	.section	.debug$S,"dr"
	.p2align	2
	.long	4                       # Debug section magic
	.cv_fpo_data
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
	.cv_fpo_data 1
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected symbol name
	.cv_fpo_data _foo asdf
	# CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unexpected tokens in '.cv_fpo_data' directive
	.cv_fpo_data _foo
	.long 0
OpenPOWER on IntegriCloud