You've already forked linux-packaging-mono
							
							
		
			
	
	
		
			123 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
		
		
			
		
	
	
			123 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
|   | @ RUN: not llvm-mc -triple armv7-linux-eabi -filetype asm -o /dev/null %s 2>&1  \
 | ||
|  | @ RUN:   | FileCheck %s
 | ||
|  | 
 | ||
|  | 	.syntax unified
 | ||
|  | 	.thumb | ||
|  | 
 | ||
|  | 	.global function
 | ||
|  | 	.type function,%function | ||
|  | 	.thumb_func | ||
|  | function: | ||
|  | 	.personalityindex 0
 | ||
|  | 
 | ||
|  | @ CHECK: error: .fnstart must precede .personalityindex directive
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:        ^
 | ||
|  | 
 | ||
|  | 	.global ununwindable
 | ||
|  | 	.type ununwindable,%function | ||
|  | 	.thumb_func | ||
|  | ununwindable: | ||
|  | 	.fnstart | ||
|  | 	.cantunwind | ||
|  | 	.personalityindex 0
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: .personalityindex cannot be used with .cantunwind
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .cantunwind was specified here
 | ||
|  | @ CHECK: 	.cantunwind
 | ||
|  | @ CHECK:        ^
 | ||
|  | 
 | ||
|  | 	.global nodata
 | ||
|  | 	.type nodata,%function | ||
|  | 	.thumb_func | ||
|  | nodata: | ||
|  | 	.fnstart | ||
|  | 	.handlerdata | ||
|  | 	.personalityindex 0
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: .personalityindex must precede .handlerdata directive
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .handlerdata was specified here
 | ||
|  | @ CHECK: 	.handlerdata
 | ||
|  | @ CHECK:        ^
 | ||
|  | 
 | ||
|  | 	.global multiple_personality
 | ||
|  | 	.type multiple_personality,%function | ||
|  | 	.thumb_func | ||
|  | multiple_personality: | ||
|  | 	.fnstart | ||
|  | 	.personality __aeabi_personality_pr0
 | ||
|  | 	.personalityindex 0
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: multiple personality directives
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .personality was specified here
 | ||
|  | @ CHECK: 	.personality __aeabi_personality_pr0
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .personalityindex was specified here
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:       ^
 | ||
|  | 
 | ||
|  | 	.global multiple_personality_indicies
 | ||
|  | 	.type multiple_personality_indicies,%function | ||
|  | 	.thumb_func | ||
|  | multiple_personality_indicies: | ||
|  | 	.fnstart | ||
|  | 	.personalityindex 0
 | ||
|  | 	.personalityindex 1
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: multiple personality directives
 | ||
|  | @ CHECK: 	.personalityindex 1
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .personalityindex was specified here
 | ||
|  | @ CHECK: 	.personalityindex 0
 | ||
|  | @ CHECK:        ^
 | ||
|  | @ CHECK: note: .personalityindex was specified here
 | ||
|  | @ CHECK: 	.personalityindex 1
 | ||
|  | @ CHECK:        ^
 | ||
|  | 
 | ||
|  | 	.global invalid_expression
 | ||
|  | 	.type invalid_expression,%function | ||
|  | 	.thumb_func | ||
|  | invalid_expression: | ||
|  | 	.fnstart | ||
|  | 	.personalityindex <expression> | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: unknown token in expression
 | ||
|  | @ CHECK: 	.personalityindex <expression>
 | ||
|  | @ CHECK:                          ^
 | ||
|  | 
 | ||
|  | 	.global nonconstant_expression
 | ||
|  | 	.type nonconstant_expression,%function | ||
|  | 	.thumb_func | ||
|  | nonconstant_expression: | ||
|  | 	.fnstart | ||
|  | 	.personalityindex nonconstant_expression
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: index must be a constant number
 | ||
|  | @ CHECK: 	.personalityindex nonconstant_expression
 | ||
|  | @ CHECK:                          ^
 | ||
|  | 
 | ||
|  | 	.global bad_index
 | ||
|  | 	.type bad_index,%function | ||
|  | 	.thumb_func | ||
|  | bad_index: | ||
|  | 	.fnstart | ||
|  | 	.personalityindex 42
 | ||
|  | 	.fnend | ||
|  | 
 | ||
|  | @ CHECK: error: personality routine index should be in range [0-3]
 | ||
|  | @ CHECK: 	.personalityindex 42
 | ||
|  | @ CHECK:                          ^
 | ||
|  | 
 |