Home | History | Annotate | Download | only in ARM
      1 @ Tests to check that '@' does not get lexed as an identifier for arm
      2 @ RUN: llvm-mc %s -triple=armv7-linux-gnueabi  | FileCheck %s
      3 @ RUN: llvm-mc %s -triple=armv7-linux-gnueabi 2>&1 | FileCheck %s --check-prefix=ERROR
      4 
      5 foo:
      6   bl boo@plt should be ignored
      7   bl goo@plt
      8   .long bar@got to parse this as a comment
      9   .long baz@got
     10   add r0, r0@ignore this extra junk
     11 
     12 @ the symver directive should allow @ in the second symbol name
     13 defined1:
     14 defined2:
     15 defined3:
     16 bar:
     17   .symver defined1, bar1@zed
     18   .symver defined2, bar3@@zed
     19   .symver defined3, bar5@@@zed
     20 
     21 far:
     22   .long baz@got
     23 
     24 @CHECK-LABEL: foo:
     25 @CHECK: bl boo
     26 @CHECK-NOT: @
     27 @CHECK: bl goo
     28 @CHECK-NOT: @
     29 @CHECK: .long bar
     30 @CHECK-NOT: @
     31 @CHECK: .long baz
     32 @CHECK-NOT: @
     33 @CHECK: add r0, r0
     34 @CHECK-NOT: @
     35 
     36 @CHECK-LABEL: bar:
     37 @CHECK: bar1@zed = defined1
     38 @CHECK: bar3@@zed = defined2
     39 @CHECK: bar5@@@zed = defined3
     40 
     41 @ Make sure we did not mess up the parser state and it still lexes
     42 @ comments correctly by excluding the @ in normal symbols
     43 @CHECK-LABEL: far:
     44 @CHECK:  .long baz
     45 @CHECK-NOT: @
     46 
     47 @ERROR-NOT: error:
     48