mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
e538054e6d
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 llvm-svn: 253328
14 lines
551 B
ArmAsm
14 lines
551 B
ArmAsm
// RUN: not llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o - 2> %t.err > %t
|
|
// RUN: FileCheck --check-prefix=CHECK-ERROR < %t.err %s
|
|
|
|
.quad _foo - _bar
|
|
// CHECK-ERROR: error: unsupported relocation with subtraction expression
|
|
|
|
_Y:
|
|
.long (_Y+4)-_b
|
|
// CHECK-ERROR: error: unsupported relocation with subtraction expression, symbol '_b' can not be undefined in a subtraction expression
|
|
|
|
_Z:
|
|
.long (_a+4)-_Z
|
|
// CHECK-ERROR: error: unsupported relocation with subtraction expression, symbol '_a' can not be undefined in a subtraction expression
|