# RUN: llvm-mc -filetype=obj -triple i386-apple-darwin9 < %s | llvm-readobj --symbols - | FileCheck %s # RUN: not llvm-mc -filetype=obj -triple i386-apple-darwin9 --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: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 a: .byte 0 .no_dead_strip a # Verify that pending conditional symbols are emitted next # CHECK: Symbol { # CHECK-NEXT: Name: b # CHECK: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 # CHECK: Symbol { # CHECK-NEXT: Name: c # CHECK: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 # CHECK: Symbol { # CHECK-NEXT: Name: d # CHECK: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 # CHECK-NOT: Name: e # Remaining conditional symbols are emitted immediately # CHECK: Symbol { # CHECK-NEXT: Name: f # CHECK: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 .lto_set_conditional f, a # CHECK: Symbol { # CHECK-NEXT: Name: g # CHECK: Flags [ # CHECK-NEXT: NoDeadStrip # CHECK: Value: 0x1 .lto_set_conditional g, b # CHECK: Symbol { # CHECK-NEXT: Name: m # CHECK: Flags [ # CHECK-NOT : NoDeadStrip # CHECK: Value: 0x2 m: # CHECK: Symbol { # CHECK-NEXT: Name: h # CHECK: Flags [ # CHECK-NOT : NoDeadStrip # CHECK: Value: 0x2 .lto_set_conditional h, m .ifdef ERR .text # ERR: {{.*}}.s:[[#@LINE+1]]:25: error: expected identifier .lto_set_conditional i, ERR .endif