llvm/test/MC/ARM/thumb1-relax.s
Oliver Stannard 99ab11202f [Assembler] Make fatal assembler errors non-fatal
Currently, if the assembler encounters an error after parsing (such as an
out-of-range fixup), it reports this as a fatal error, and so stops after the
first error. However, for most of these there is an obvious way to recover
after emitting the error, such as emitting the fixup with a value of zero. This
means that we can report on all of the errors in a file, not just the first
one. MCContext::reportError records the fact that an error was encountered, so
we won't actually emit an object file with the incorrect contents.

Differential Revision: http://reviews.llvm.org/D14717



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@253328 91177308-0d34-0410-b5e6-96231b3b80d8
2015-11-17 10:00:43 +00:00

36 lines
690 B
ArmAsm

@ RUN: not llvm-mc -triple thumbv6m-none-macho -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s
@ RUN: not llvm-mc -triple thumbv6m-none-eabi -filetype=obj -o /dev/null %s 2>&1 | FileCheck %s
Lhere:
@ CHECK: out of range pc-relative fixup value
ldr r0, Lhere
@ CHECK: out of range pc-relative fixup value
b Lfar2
@ CHECK: out of range pc-relative fixup value
bne Lfar1
@ CHECK: out of range pc-relative fixup value
ldr r0, Lfar2
@ CHECK: misaligned pc-relative fixup value
adr r0, Lmisaligned
@ CHECK: misaligned pc-relative fixup value
ldr r0, Lmisaligned
.balign 4
.short 0
Lmisaligned:
.word 42
.space 256
Lfar1:
.word 42
.space 2050
Lfar2:
.word 42