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