1 @ RUN
: not llvm-mc
%s
-triple thumbv7-linux-gnueabi
-filetype
=obj
-o
/dev
/null
2>&1 | FileCheck
%s
3 // Thumb2 unconditional branch has
a range of
+- 16 Megabytes. The
4 // conditional branch has
a range of
+- 1 Megabyte. We should give
5 // an error message if we evaluate the expression at assembly
6 // time
and it is out of range.
18 // branch to arm function uses relocation
27 // branch to thumb function is resolved at assembly time
29 // CHECK
: [[@LINE+
2]]:{{[0-9]}}: error
: Relocation out of range
30 // CHECK-LABEL
: b.w end4
40 // conditional branch to arm function uses relocation
48 // conditional branch to thumb function resolved at assembly time
50 // CHECK
: [[@LINE+
2]]:{{[0-9]}}: error
: Relocation out of range
51 // CHECK-LABEL
: beq.w end7
62 .type start2, %function
66 // branch to arm function uses relocation
71 // branch to thumb function resolved at assembly time
73 // CHECK
: [[@LINE+
2]]:{{[0-9]}}: error
: Relocation out of range
74 // CHECK-LABEL
: b.w start3
83 .type start5, %function
87 // conditional branch to arm function uses relocation
92 // branch to thumb function resolved at assembly time
94 // CHECK
: [[@LINE+
2]]:{{[0-9]}}: error
: Relocation out of range
95 // CHECK-LABEL
: beq.w start6