1// RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s 2 3// .exitm is encountered in a normal macro expansion 4.macro REP 5.rept 3 6.long 0 7.exitm 8.endr 9.endm 10REP 11// Only the output from the first rept expansion should make it through: 12// CHECK: .long 0 13// CHECK-NOT: .long 0 14 15// .exitm is in a true branch 16.macro A 17.if 1 18.long 1 19.exitm 20.endif 21.long 1 22.endm 23A 24// CHECK: .long 1 25// CHECK-NOT: .long 1 26 27// .exitm is in a false branch 28.macro B 29.if 1 30.long 2 31.else 32.exitm 33.endif 34.long 2 35.endm 36B 37// CHECK: .long 2 38// CHECK: .long 2 39 40 41// .exitm is in a false branch that is encountered prior to the true branch 42.macro C 43.if 0 44.exitm 45.else 46.long 3 47.endif 48.long 3 49.endm 50C 51// CHECK: .long 3 52// CHECK: .long 3 53 54// .exitm is in a macro that's expanded in a conditional block. 55.macro D 56.long 4 57.exitm 58.long 4 59.endm 60.if 1 61D 62.endif 63// CHECK: .long 4 64// CHECK-NOT: .long 4 65