Home | History | Annotate | Download | only in AArch64
      1 // RUN: not llvm-mc -triple aarch64--none-eabi -filetype obj < %s -o /dev/null 2>&1 | FileCheck %s
      2 
      3 // Note: These errors are not always emitted in the order in which the relevant
      4 // source appears, this file is carefully ordered so that that is the case.
      5 
      6   .text
      7 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: symbol 'undef' can not be undefined in a subtraction expression
      8   .word (0-undef)
      9 
     10 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected relocatable expression
     11   .word -undef
     12 
     13 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: No relocation available to represent this relative expression
     14   adr x0, #a-undef
     15 
     16 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: Cannot represent a difference across sections
     17   .word x_a - y_a
     18 
     19 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: 1-byte data relocations not supported
     20   .byte undef
     21 
     22 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: 1-byte data relocations not supported
     23   .byte undef-.
     24 
     25 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: Unsupported pc-relative fixup kind
     26   ldr x0, [x1, :lo12:undef-.]
     27 
     28 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid fixup for 8-bit load/store instruction
     29   ldrb w0, [x1, :gottprel_lo12:undef]
     30 
     31 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid fixup for 16-bit load/store instruction
     32   ldrh w0, [x1, :gottprel_lo12:undef]
     33 
     34 // CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid fixup for 32-bit load/store instruction
     35   ldr w0, [x1, :gottprel_lo12:undef]
     36 
     37 // CHECK: <unknown>:0: error: expression could not be evaluated
     38   .set v1, -undef
     39 
     40   .comm common, 4
     41 // CHECK: <unknown>:0: error: Common symbol 'common' cannot be used in assignment expr
     42   .set v3, common
     43 
     44 // CHECK: <unknown>:0: error: symbol 'undef' could not be evaluated in a subtraction expression
     45   .set v2, a-undef
     46 
     47 
     48 
     49 w:
     50   .word 0
     51   .weak w
     52 
     53 
     54   .section sec_x
     55 x_a:
     56   .word 0
     57 
     58 
     59   .section sec_y
     60 y_a:
     61   .word 0
     62