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