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 10 REP 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 23 A 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 36 B 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 50 C 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 61 D 62 .endif 63 // CHECK: .long 4 64 // CHECK-NOT: .long 4 65