xref: /llvm-project/llvm/test/MC/ARM/eh-directive-unwind_raw-diagnostics.s (revision d9f086036a50a6b073b6a6c345531d8cc0299330)
1*d9f08603SSaleem Abdulrasool@ RUN: not llvm-mc -triple armv7-linux-eabi -filetype asm -o /dev/null 2>&1 %s \
2*d9f08603SSaleem Abdulrasool@ RUN:   | FileCheck %s
3*d9f08603SSaleem Abdulrasool
4*d9f08603SSaleem Abdulrasool	.syntax unified
5*d9f08603SSaleem Abdulrasool
6*d9f08603SSaleem Abdulrasool	.type require_fnstart,%function
7*d9f08603SSaleem Abdulrasoolrequire_fnstart:
8*d9f08603SSaleem Abdulrasool	.unwind_raw 0, 0
9*d9f08603SSaleem Abdulrasool
10*d9f08603SSaleem Abdulrasool@ CHECK: error: .fnstart must precede .unwind_raw directive
11*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw 0, 0
12*d9f08603SSaleem Abdulrasool@ CHECK:        ^
13*d9f08603SSaleem Abdulrasool
14*d9f08603SSaleem Abdulrasool	.type check_arguments,%function
15*d9f08603SSaleem Abdulrasoolcheck_arguments:
16*d9f08603SSaleem Abdulrasool	.fnstart
17*d9f08603SSaleem Abdulrasool	.unwind_raw
18*d9f08603SSaleem Abdulrasool	.fnend
19*d9f08603SSaleem Abdulrasool
20*d9f08603SSaleem Abdulrasool@ CHECK: error: expected expression
21*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw
22*d9f08603SSaleem Abdulrasool@ CHECK:                   ^
23*d9f08603SSaleem Abdulrasool
24*d9f08603SSaleem Abdulrasool	.type check_stack_offset,%function
25*d9f08603SSaleem Abdulrasoolcheck_stack_offset:
26*d9f08603SSaleem Abdulrasool	.fnstart
27*d9f08603SSaleem Abdulrasool	.unwind_raw ., 0
28*d9f08603SSaleem Abdulrasool	.fnend
29*d9f08603SSaleem Abdulrasool
30*d9f08603SSaleem Abdulrasool@ CHECK: error: offset must be a constant
31*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw ., 0
32*d9f08603SSaleem Abdulrasool@ CHECK:                    ^
33*d9f08603SSaleem Abdulrasool
34*d9f08603SSaleem Abdulrasool	.type comma_check,%function
35*d9f08603SSaleem Abdulrasoolcomma_check:
36*d9f08603SSaleem Abdulrasool	.fnstart
37*d9f08603SSaleem Abdulrasool	.unwind_raw 0
38*d9f08603SSaleem Abdulrasool	.fnend
39*d9f08603SSaleem Abdulrasool
40*d9f08603SSaleem Abdulrasool@ CHECK: error: expected comma
41*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw 0
42*d9f08603SSaleem Abdulrasool@ CHECK:                     ^
43*d9f08603SSaleem Abdulrasool
44*d9f08603SSaleem Abdulrasool	.type require_opcode,%function
45*d9f08603SSaleem Abdulrasoolrequire_opcode:
46*d9f08603SSaleem Abdulrasool	.fnstart
47*d9f08603SSaleem Abdulrasool	.unwind_raw 0,
48*d9f08603SSaleem Abdulrasool	.fnend
49*d9f08603SSaleem Abdulrasool
50*d9f08603SSaleem Abdulrasool@ CHECK: error: expected opcode expression
51*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw 0,
52*d9f08603SSaleem Abdulrasool@ CHECK:                      ^
53*d9f08603SSaleem Abdulrasool
54*d9f08603SSaleem Abdulrasool	.type require_opcode_constant,%function
55*d9f08603SSaleem Abdulrasoolrequire_opcode_constant:
56*d9f08603SSaleem Abdulrasool	.fnstart
57*d9f08603SSaleem Abdulrasool	.unwind_raw 0, .
58*d9f08603SSaleem Abdulrasool	.fnend
59*d9f08603SSaleem Abdulrasool
60*d9f08603SSaleem Abdulrasool@ CHECK: error: opcode value must be a constant
61*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw 0, .
62*d9f08603SSaleem Abdulrasool@ CHECK:                       ^
63*d9f08603SSaleem Abdulrasool
64*d9f08603SSaleem Abdulrasool	.type check_opcode_range,%function
65*d9f08603SSaleem Abdulrasoolcheck_opcode_range:
66*d9f08603SSaleem Abdulrasool	.fnstart
67*d9f08603SSaleem Abdulrasool	.unwind_raw 0, 0x100
68*d9f08603SSaleem Abdulrasool	.fnend
69*d9f08603SSaleem Abdulrasool
70*d9f08603SSaleem Abdulrasool@ CHECK: error: invalid opcode
71*d9f08603SSaleem Abdulrasool@ CHECK: 	.unwind_raw 0, 0x100
72*d9f08603SSaleem Abdulrasool@ CHECK:                       ^
73*d9f08603SSaleem Abdulrasool
74