107 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
@ RUN: not llvm-mc -triple=armv7-unknown-linux-gnueabi < %s 2> %t
 | 
						|
@ RUN: FileCheck < %t %s
 | 
						|
 | 
						|
@ Check the diagnostics for .cantunwind, .handlerdata, and .personality
 | 
						|
 | 
						|
@ .cantunwind directive can't be used with .handlerdata directive nor
 | 
						|
@ .personality directive.  This test case check for the diagnostics for
 | 
						|
@ the conflicts.
 | 
						|
 | 
						|
 | 
						|
        .syntax unified
 | 
						|
        .text
 | 
						|
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
@ TEST1: cantunwind + personality
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
        .globl  func1
 | 
						|
        .align  2
 | 
						|
        .type   func1,%function
 | 
						|
        .fnstart
 | 
						|
func1:
 | 
						|
        .cantunwind
 | 
						|
        .personality    __gxx_personality_v0
 | 
						|
@ CHECK: error: .personality can't be used with .cantunwind directive
 | 
						|
@ CHECK:        .personality __gxx_personality_v0
 | 
						|
@ CHECK:        ^
 | 
						|
@ CHECK: note: .cantunwind was specified here
 | 
						|
@ CHECK:        .cantunwind
 | 
						|
@ CHECK:        ^
 | 
						|
        .fnend
 | 
						|
 | 
						|
 | 
						|
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
@ TEST2: cantunwind + handlerdata
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
        .globl  func2
 | 
						|
        .align  2
 | 
						|
        .type   func2,%function
 | 
						|
        .fnstart
 | 
						|
func2:
 | 
						|
        .cantunwind
 | 
						|
        .handlerdata
 | 
						|
@ CHECK: error: .handlerdata can't be used with .cantunwind directive
 | 
						|
@ CHECK:        .handlerdata
 | 
						|
@ CHECK:        ^
 | 
						|
@ CHECK: note: .cantunwind was specified here
 | 
						|
@ CHECK:        .cantunwind
 | 
						|
@ CHECK:        ^
 | 
						|
        .fnend
 | 
						|
 | 
						|
 | 
						|
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
@ TEST3: personality + cantunwind
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
        .globl  func3
 | 
						|
        .align  2
 | 
						|
        .type   func3,%function
 | 
						|
        .fnstart
 | 
						|
func3:
 | 
						|
        .personality    __gxx_personality_v0
 | 
						|
        .cantunwind
 | 
						|
@ CHECK: error: .cantunwind can't be used with .personality directive
 | 
						|
@ CHECK:        .cantunwind
 | 
						|
@ CHECK:        ^
 | 
						|
@ CHECK: note: .personality was specified here
 | 
						|
@ CHECK:        .personality __gxx_personality_v0
 | 
						|
@ CHECK:        ^
 | 
						|
        .fnend
 | 
						|
 | 
						|
 | 
						|
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
@ TEST4: handlerdata + cantunwind
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
        .globl  func4
 | 
						|
        .align  2
 | 
						|
        .type   func4,%function
 | 
						|
        .fnstart
 | 
						|
func4:
 | 
						|
        .handlerdata
 | 
						|
        .cantunwind
 | 
						|
@ CHECK: error: .cantunwind can't be used with .handlerdata directive
 | 
						|
@ CHECK:        .cantunwind
 | 
						|
@ CHECK:        ^
 | 
						|
@ CHECK: note: .handlerdata was specified here
 | 
						|
@ CHECK:        .handlerdata
 | 
						|
@ CHECK:        ^
 | 
						|
        .fnend
 | 
						|
 | 
						|
 | 
						|
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
@ TEST5: cantunwind + fnstart
 | 
						|
@-------------------------------------------------------------------------------
 | 
						|
        .globl  func5
 | 
						|
        .align  2
 | 
						|
        .type   func5,%function
 | 
						|
        .cantunwind
 | 
						|
@ CHECK: error: .fnstart must precede .cantunwind directive
 | 
						|
@ CHECK:        .cantunwind
 | 
						|
@ CHECK:        ^
 | 
						|
        .fnstart
 | 
						|
func5:
 | 
						|
        .fnend
 |