# 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 |