summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2014-12-24 04:11:42 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2014-12-24 04:11:42 +0000
commit0fe246e0793ff978b33ed79479caac50fe2e1391 (patch)
tree9f3bc3ecbafad25bfe0a9e714e6c34c8fb0a3d5b
parent51ca5100944d894e2bf16447f55ad999d624f74f (diff)
downloadbcm5719-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.cpp6
-rw-r--r--llvm/test/MC/AsmParser/directive_set.s4
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
OpenPOWER on IntegriCloud