| // RUN: not llvm-mc -triple aarch64-none-linux-gnu %s -filetype=obj -o /dev/null 2>&1 | FileCheck %s |
| |
| adr x0, -start |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adr x0, -start |
| // CHECK-NEXT: ^ |
| adr x1, start * 10 |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adr x1, start * 10 |
| // CHECK-NEXT: ^ |
| adr x2, 2 * (start + 987136) |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adr x2, 2 * (start + 987136) |
| // CHECK-NEXT: ^ |
| adr x3, (end + start) |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adr x3, (end + start) |
| // CHECK-NEXT: ^ |
| adr x4, #(end - start) |
| // CHECK: error: symbol 'start' can not be undefined in a subtraction expression |
| // CHECK-NEXT: adr x4, #(end - start) |
| // CHECK-NEXT: ^ |
| |
| adrp x0, -start |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adrp x0, -start |
| // CHECK-NEXT: ^ |
| adrp x1, start * 10 |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adrp x1, start * 10 |
| // CHECK-NEXT: ^ |
| adrp x2, 2 * (start + 987136) |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adrp x2, 2 * (start + 987136) |
| // CHECK-NEXT: ^ |
| adrp x3, (end + start) |
| // CHECK: error: expected relocatable expression |
| // CHECK-NEXT: adrp x3, (end + start) |
| // CHECK-NEXT: ^ |
| adrp x4, #(end - start) |
| // CHECK: error: symbol 'start' can not be undefined in a subtraction expression |
| // CHECK-NEXT: adrp x4, #(end - start) |
| // CHECK-NEXT: ^ |