48 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.0 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: 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: @
 | 
						|
 | 
						|
@ERROR-NOT: error:
 |