MCAsmStreamer does not track symbol assignments (Fragment and Offset; see emitLabel). If we want to make the following work,
.pushsection .text,"ax"
.globl _start; _start: ret
.if . -_start == 1
ret
.endif
.popsection
We should either move label assignments from MCObjectStreamer to MCStreamer or print .if/.else/.endif to MCAsmStreamer and ignore TheCondState.Ignore.