82 lines · plain
1// RUN: rm -rf %t && split-file %s %t && cd %t2// RUN: not llvm-mc -triple aarch64-elf -filetype=obj a.s -o /dev/null 2>&1 | FileCheck a.s3// RUN: not llvm-mc -triple aarch64-elf -filetype=obj b.s -o /dev/null 2>&1 | FileCheck b.s4 5//--- a.s6 .data7b:8 .fill 3009e:10 .byte e - b11 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: value evaluated as 300 is out of range.12 // CHECK-NEXT: .byte e - b13 // CHECK-NEXT: ^14 15//--- b.s16 .section sec_x17start:18 .space 500019end:20 add w0, w1, #(end - start)21 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: fixup value out of range22 // CHECK-NEXT: add w0, w1, #(end - start)23 // CHECK-NEXT: ^24 25 cmp w0, #(end - start)26 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: fixup value out of range27 // CHECK-NEXT: cmp w0, #(end - start)28 // CHECK-NEXT: ^29 30negative:31 add w0, w1, #(end - negative)32 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: fixup value out of range33 // CHECK-NEXT: add w0, w1, #(end - negative)34 // CHECK-NEXT: ^35 36 cmp w0, #(end - negative)37 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: fixup value out of range38 // CHECK-NEXT: cmp w0, #(end - negative)39 // CHECK-NEXT: ^40 41 add w0, w1, #(end - external)42 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: symbol 'external' can not be undefined in a subtraction expression43 // CHECK-NEXT: add w0, w1, #(end - external)44 // CHECK-NEXT: ^45 46 cmp w0, #(end - external)47 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: symbol 'external' can not be undefined in a subtraction expression48 // CHECK-NEXT: cmp w0, #(end - external)49 // CHECK-NEXT: ^50 51 add w0, w1, #:lo12:external - end52 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected relocatable expression53 // CHECK-NEXT: add w0, w1, #:lo12:external - end54 55 cmp w0, #:lo12:external - end56 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected relocatable expression57 58 add w0, w1, #:got_lo12:external - end59 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected relocatable expression60 61 .section sec_y62end_across_sec:63 add w0, w1, #(end_across_sec - start)64 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: Cannot represent a difference across sections65 // CHECK-NEXT: add w0, w1, #(end_across_sec - start)66 // CHECK-NEXT: ^67 68 cmp w0, #(end_across_sec - start)69 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: Cannot represent a difference across sections70 // CHECK-NEXT: cmp w0, #(end_across_sec - start)71 // CHECK-NEXT: ^72 73 add w0, w1, #(sec_y - sec_x)74 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: Cannot represent a difference across sections75 // CHECK-NEXT: add w0, w1, #(sec_y - sec_x)76 // CHECK-NEXT: ^77 78 cmp w0, #(sec_y - sec_x)79 // CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: Cannot represent a difference across sections80 // CHECK-NEXT: cmp w0, #(sec_y - sec_x)81 // CHECK-NEXT: ^82