1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
# 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
|