65 lines
		
	
	
		
			862 B
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			862 B
		
	
	
	
		
			ArmAsm
		
	
	
	
| // RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s
 | |
| 
 | |
| // .exitm is encountered in a normal macro expansion
 | |
| .macro REP
 | |
| .rept 3
 | |
| .long 0
 | |
| .exitm
 | |
| .endr
 | |
| .endm
 | |
| REP
 | |
| // Only the output from the first rept expansion should make it through:
 | |
| // CHECK: .long 0
 | |
| // CHECK-NOT: .long 0
 | |
| 
 | |
| // .exitm is in a true branch
 | |
| .macro A
 | |
| .if 1
 | |
| .long 1
 | |
| .exitm
 | |
| .endif
 | |
| .long 1
 | |
| .endm
 | |
| A
 | |
| // CHECK: .long 1
 | |
| // CHECK-NOT: .long 1
 | |
| 
 | |
| // .exitm is in a false branch
 | |
| .macro B
 | |
| .if 1
 | |
| .long 2
 | |
| .else
 | |
| .exitm
 | |
| .endif
 | |
| .long 2
 | |
| .endm
 | |
| B
 | |
| // CHECK: .long 2
 | |
| // CHECK: .long 2
 | |
| 
 | |
| 
 | |
| // .exitm is in a false branch that is encountered prior to the true branch
 | |
| .macro C
 | |
| .if 0
 | |
| .exitm
 | |
| .else
 | |
| .long 3
 | |
| .endif
 | |
| .long 3
 | |
| .endm
 | |
| C
 | |
| // CHECK: .long 3
 | |
| // CHECK: .long 3
 | |
| 
 | |
| // .exitm is in a macro that's expanded in a conditional block.
 | |
| .macro D
 | |
| .long 4
 | |
| .exitm
 | |
| .long 4
 | |
| .endm
 | |
| .if 1
 | |
| D
 | |
| .endif
 | |
| // CHECK: .long 4
 | |
| // CHECK-NOT: .long 4
 |