|  | # RUN: not llvm-mc -triple x86_64-unknown-unknown %s 2>&1 | FileCheck %s --check-prefix=ASM-ERR | 
|  | # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s | llvm-objdump -j .data  -s - | FileCheck %s --check-prefix=OBJDATA | 
|  | # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s | llvm-objdump -j .text -s - | FileCheck %s --check-prefix=OBJTEXT | 
|  | .data | 
|  |  | 
|  | # OBJDATA: Contents of section .data | 
|  | # OBJDATA-NEXT: 0000 aa0506ff | 
|  |  | 
|  | foo2: | 
|  | # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression | 
|  | .if . - foo2 == 0 | 
|  | .byte 0xaa | 
|  | .else | 
|  | .byte 0x00 | 
|  | .endif | 
|  |  | 
|  | foo3: | 
|  | .byte 5 | 
|  | # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression | 
|  | .if . - foo3 == 1 | 
|  | .byte 6 | 
|  | .else | 
|  | .byte 7 | 
|  | .endif | 
|  |  | 
|  | .byte 0xff | 
|  |  | 
|  | # nop is a fixed size instruction so this should pass. | 
|  |  | 
|  | # OBJTEXT: Contents of section .text | 
|  | # OBJTEXT-NEXT: 0000 9090ff34 25000000 00909090 78563412 | 
|  | # OBJTEXT-NEXT: 0010 78563412 90 | 
|  |  | 
|  | .text | 
|  |  | 
|  | text1: | 
|  | nop | 
|  | # ASM-ERR: [[@LINE+1]]:5: error: expected absolute expression | 
|  | .if . - text1 == 1 | 
|  | nop | 
|  | .else | 
|  | ret | 
|  | .endif | 
|  | push gs | 
|  | nop | 
|  | nop | 
|  | nop | 
|  | # No additional errors. | 
|  | # | 
|  | # ASM-ERR-NOT: {{[0-9]+}}:{{[0-9]+}}: error: | 
|  |  | 
|  |  | 
|  |  | 
|  | text2: | 
|  | .long 0x12345678 | 
|  | text3: | 
|  | .fill (text3-text2)/4, 4, 0x12345678 | 
|  | nop | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  |