2013-12-07 04:35:58 +08:00
|
|
|
@ Tests to check that '@' does not get lexed as an identifier for arm
|
|
|
|
@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi | FileCheck %s
|
|
|
|
@ RUN: llvm-mc %s -triple=armv7-linux-gnueabi 2>&1 | FileCheck %s --check-prefix=ERROR
|
|
|
|
|
|
|
|
foo:
|
|
|
|
bl boo@plt should be ignored
|
|
|
|
bl goo@plt
|
|
|
|
.long bar@got to parse this as a comment
|
|
|
|
.long baz@got
|
|
|
|
add r0, r0@ignore this extra junk
|
|
|
|
|
2014-01-16 06:40:02 +08:00
|
|
|
@ the symver directive should allow @ in the second symbol name
|
|
|
|
defined1:
|
|
|
|
defined2:
|
|
|
|
defined3:
|
|
|
|
bar:
|
|
|
|
.symver defined1, bar1@zed
|
|
|
|
.symver defined2, bar3@@zed
|
|
|
|
.symver defined3, bar5@@@zed
|
|
|
|
|
|
|
|
far:
|
|
|
|
.long baz@got
|
|
|
|
|
2013-12-07 04:35:58 +08:00
|
|
|
@CHECK-LABEL: foo:
|
|
|
|
@CHECK: bl boo
|
|
|
|
@CHECK-NOT: @
|
|
|
|
@CHECK: bl goo
|
|
|
|
@CHECK-NOT: @
|
|
|
|
@CHECK: .long bar
|
|
|
|
@CHECK-NOT: @
|
|
|
|
@CHECK: .long baz
|
|
|
|
@CHECK-NOT: @
|
|
|
|
@CHECK: add r0, r0
|
|
|
|
@CHECK-NOT: @
|
|
|
|
|
2014-01-16 06:40:02 +08:00
|
|
|
@CHECK-LABEL: bar:
|
|
|
|
@CHECK: bar1@zed = defined1
|
|
|
|
@CHECK: bar3@@zed = defined2
|
|
|
|
@CHECK: bar5@@@zed = defined3
|
|
|
|
|
|
|
|
@ Make sure we did not mess up the parser state and it still lexes
|
|
|
|
@ comments correctly by excluding the @ in normal symbols
|
|
|
|
@CHECK-LABEL: far:
|
|
|
|
@CHECK: .long baz
|
|
|
|
@CHECK-NOT: @
|
|
|
|
|
2013-12-07 04:35:58 +08:00
|
|
|
@ERROR-NOT: error:
|