; RUN: llvm-ml -filetype=s %s /Fo - /DT1=test1 /D T2=test2 /Dtest5=def /Dtest6 | FileCheck %s
.code
t1:
ret
; CHECK-NOT: t1:
; CHECK-LABEL: test1:
; CHECK-NOT: t1:
t2:
ret
; CHECK-NOT: t2:
; CHECK-LABEL: test2:
; CHECK-NOT: t2:
t3:
ifdef t1
xor eax, eax
endif
ret
; CHECK-LABEL: t3:
; CHECK: xor eax, eax
; CHECK: ret
t4:
ifdef undefined
xor eax, eax
elseifdef t2
xor ebx, ebx
endif
ret
; CHECK-LABEL: t4:
; CHECK-NOT: xor eax, eax
; CHECK: xor ebx, ebx
; CHECK: ret
% t5_original BYTE "&test5"
; CHECK-LABEL: t5_original:
; CHECK-NEXT: .byte 100
; CHECK-NEXT: .byte 101
; CHECK-NEXT: .byte 102
test5 textequ <redef>
% t5_changed BYTE "&test5"
; CHECK-LABEL: t5_changed:
; CHECK-NEXT: .byte 114
; CHECK-NEXT: .byte 101
; CHECK-NEXT: .byte 100
; CHECK-NEXT: .byte 101
; CHECK-NEXT: .byte 102
t6:
ifdef test6
xor eax, eax
endif
ret
; CHECK-LABEL: t6:
; CHECK: xor eax, eax
; CHECK: ret
end