diff options
author | David Majnemer <david.majnemer@gmail.com> | 2014-12-24 04:11:42 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2014-12-24 04:11:42 +0000 |
commit | 0fe246e0793ff978b33ed79479caac50fe2e1391 (patch) | |
tree | 9f3bc3ecbafad25bfe0a9e714e6c34c8fb0a3d5b | |
parent | 51ca5100944d894e2bf16447f55ad999d624f74f (diff) | |
download | bcm5719-llvm-0fe246e0793ff978b33ed79479caac50fe2e1391.tar.gz bcm5719-llvm-0fe246e0793ff978b33ed79479caac50fe2e1391.zip |
MC: Don't emit .no_dead_strip on targets which don't support it
llvm-svn: 224808
-rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 6 | ||||
-rw-r--r-- | llvm/test/MC/AsmParser/directive_set.s | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index cff1715d4ed..a1233929615 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -435,7 +435,11 @@ bool MCAsmStreamer::EmitSymbolAttribute(MCSymbol *Symbol, case MCSA_Internal: OS << "\t.internal\t"; break; case MCSA_LazyReference: OS << "\t.lazy_reference\t"; break; case MCSA_Local: OS << "\t.local\t"; break; - case MCSA_NoDeadStrip: OS << "\t.no_dead_strip\t"; break; + case MCSA_NoDeadStrip: + if (!MAI->hasNoDeadStrip()) + return false; + OS << "\t.no_dead_strip\t"; + break; case MCSA_SymbolResolver: OS << "\t.symbol_resolver\t"; break; case MCSA_PrivateExtern: OS << "\t.private_extern\t"; diff --git a/llvm/test/MC/AsmParser/directive_set.s b/llvm/test/MC/AsmParser/directive_set.s index 69abce0db2f..8d4180a364b 100644 --- a/llvm/test/MC/AsmParser/directive_set.s +++ b/llvm/test/MC/AsmParser/directive_set.s @@ -1,12 +1,14 @@ -# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s +# RUN: llvm-mc -triple i386-unknown-elf %s | FileCheck %s # CHECK: TEST0: # CHECK: a = 0 +# CHECK-NOT: .no_dead_strip a TEST0: .set a, 0 # CHECK: TEST1: # CHECK: a = 0 +# CHECK-NOT: .no_dead_strip a TEST1: .equ a, 0 |