# RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu < %s | llvm-readobj --symbols - | FileCheck %s
# RUN: not llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu --defsym ERR=1 %s 2>&1 |\
# RUN: FileCheck %s --check-prefix=ERR
.byte 0
.lto_set_conditional b, a
.lto_set_conditional d, a
.lto_set_conditional c, b
.lto_set_conditional e, n
# CHECK: Symbol {
# CHECK: Name: a
# CHECK-NEXT: Value: 0x1
a:
.byte 0
# Verify that pending conditional symbols are emitted next
# CHECK: Symbol {
# CHECK-NEXT: Name: b
# CHECK-NEXT: Value: 0x1
# CHECK: Symbol {
# CHECK-NEXT: Name: c
# CHECK-NEXT: Value: 0x1
# CHECK: Symbol {
# CHECK-NEXT: Name: d
# CHECK-NEXT: Value: 0x1
# CHECK-NOT: Name: e
# Remaining conditional symbols are emitted immediately
# CHECK: Symbol {
# CHECK-NEXT: Name: f
# CHECK-NEXT: Value: 0x1
.lto_set_conditional f, a
# CHECK: Symbol {
# CHECK-NEXT: Name: g
# CHECK-NEXT: Value: 0x1
.lto_set_conditional g, b
# CHECK-NOT: Name: h
.lto_set_conditional h, m
.ifdef ERR
.text
# ERR: {{.*}}.s:[[#@LINE+1]]:25: error: expected identifier
.lto_set_conditional i, ERR
.endif