mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +01:00
014232537d
This patch starts simplifying the handling of .symver. For now it just moves the responsibility for creating an alias down to the streamer. With that the asm streamer can pass a .symver unchanged, which is nice since gas cannot parse "foo@bar = zed". In a followup I hope to move the handling down to the writer so that we don't need special hacks for avoiding breaking names with @@@ on windows. llvm-svn: 327101
48 lines
1.1 KiB
ArmAsm
48 lines
1.1 KiB
ArmAsm
@ 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
|
|
|
|
@ 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
|
|
|
|
@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: @
|
|
|
|
@CHECK-LABEL: bar:
|
|
@CHECK: .symver defined1, bar1@zed
|
|
@CHECK: .symver defined2, bar3@@zed
|
|
@CHECK: .symver defined3, bar5@@@zed
|
|
|
|
@ 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: @
|
|
|
|
@ERROR-NOT: error:
|