| // RUN: not llvm-mc -triple armv7a-linux-gnueabihf %s -o /dev/null 2>&1 | FileCheck --check-prefix=ASM %s --implicit-check-not=error: | 
 | // RUN: llvm-mc -triple armv7a-linux-gnueabihf %s -filetype=obj -o %t 2>&1 | count 0 | 
 | // RUN: llvm-objdump -d %t | FileCheck --check-prefix=DISASM %s | 
 |  | 
 | nop | 
 | // Create a new MCDataFragment due to Subtarget change | 
 | .arch_extension sec | 
 | 9997:nop | 
 | .if . - 9997b == 0 | 
 | // ASM:    :[[#@LINE-1]]:5: error: expected absolute expression | 
 | // DISASM: orr	r1, r1, #2 | 
 | orr r1, r1, #1 | 
 | .else | 
 | orr r1, r1, #2 | 
 | .endif | 
 |  | 
 | nop | 
 | .arch_extension sec | 
 | 9997:nop | 
 | .if 9997b - . == 0 | 
 | // ASM:    :[[#@LINE-1]]:5: error: expected absolute expression | 
 | // DISASM: orr	r1, r1, #2 | 
 | orr r1, r1, #1 | 
 | .else | 
 | orr r1, r1, #2 | 
 | .endif | 
 |  | 
 | @ RUN: not llvm-mc -filetype=obj -triple arm-linux-gnueabihf --defsym=ERR=1 %s -o /dev/null 2>&1 | FileCheck --check-prefix=ARM-ERR %s | 
 | @ RUN: not llvm-mc -filetype=obj -triple thumbv7a-linux-gnueabihf --defsym=ERR=1 %s -o /dev/null 2>&1 | FileCheck --check-prefix=THUMB2-ERR %s | 
 |  | 
 | .ifdef ERR | 
 | 9997: nop | 
 |       .align 4 | 
 |       nop | 
 | .if . - 9997b == 4 | 
 | // ARM-ERR:[[@LINE-1]]:5: error: expected absolute expression | 
 | .endif | 
 |  | 
 | 9997: nop | 
 |       .space 4 | 
 |       nop | 
 | .if . - 9997b == 4 | 
 | .endif | 
 |  | 
 | 9997: | 
 |       ldr r0,=0x12345678 | 
 |       .ltorg | 
 |       nop | 
 | .if . - 9997b == 4 | 
 | // ARM-ERR:[[@LINE-1]]:5: error: expected absolute expression | 
 | .endif | 
 |  | 
 | 9997: nop | 
 |       b external | 
 |       nop | 
 | .if . - 9997b == 4 | 
 | // THUMB2-ERR:[[@LINE-1]]:5: error: expected absolute expression | 
 | .endif | 
 | .endif |