llvm-mirror/test/MC/ARM/thumb-branches.s
Rafael Espindola 4a88e44b0d ARM: move some logic from processFixupValue to applyFixup.
processFixupValue is called on every relaxation iteration. applyFixup
is only called once at the very end. applyFixup is then the correct
place to do last minute changes and value checks.

While here, do proper range checks again for fixup_arm_thumb_bl. We
used to do it, but dropped because of thumb2. We now do it again, but
use the thumb2 range.

llvm-svn: 306177
2017-06-23 22:52:36 +00:00

44 lines
791 B
ArmAsm

@ RUN: not llvm-mc %s -triple thumbv5-linux-gnueabi -filetype=obj -o /dev/null 2>&1 | FileCheck %s
.code 16
bl end
.space 0x1ffffff
end:
bl end2
.space 0x1ffffff
.global end2
end2:
bl end3
.space 0x2000000
.global end3
end3:
// CHECK-NOT: error
// CHECK: [[@LINE+1]]:{{[0-9]}}: error: Relocation out of range
bl end4
// CHECK-NOT: error
.space 0x2000000
end4:
start1:
.space 0x1fffffc
bl start1
.global start2
start2:
.space 0x1fffffc
bl start2
.global start3
start3:
.space 0x1fffffd
bl start3
start4:
.space 0x1fffffd
// CHECK: [[@LINE+1]]:{{[0-9]}}: error: Relocation out of range
bl start4