136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ Tests to check that '@' does not get lexed as an identifier for arm 236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi | FileCheck %s 336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi 2>&1 | FileCheck %s --check-prefix=ERROR 436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesfoo: 636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines bl boo@plt should be ignored 736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines bl goo@plt 836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .long bar@got to parse this as a comment 936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .long baz@got 1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines add r0, r0@ignore this extra junk 1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ the symver directive should allow @ in the second symbol name 1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesdefined1: 1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesdefined2: 1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesdefined3: 1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesbar: 1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .symver defined1, bar1@zed 1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .symver defined2, bar3@@zed 1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .symver defined3, bar5@@@zed 2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesfar: 2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines .long baz@got 2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-LABEL: foo: 2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: bl boo 2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: bl goo 2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: .long bar 3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: .long baz 3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: add r0, r0 3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-LABEL: bar: 3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: bar1@zed = defined1 3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: bar3@@zed = defined2 3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: bar5@@@zed = defined3 4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ Make sure we did not mess up the parser state and it still lexes 4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ comments correctly by excluding the @ in normal symbols 4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-LABEL: far: 4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK: .long baz 4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@CHECK-NOT: @ 4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines 4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines@ERROR-NOT: error: 48