summaryrefslogtreecommitdiffstats
path: root/llvm/lib/MC/MCMachOStreamer.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-30 06:17:16 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-30 06:17:16 +0000
commit6a715dccdf596d39d2b480beac48385f1fa73219 (patch)
treea2e9ef2faf74adcc76246e6f17d82939becce971 /llvm/lib/MC/MCMachOStreamer.cpp
parent905976b1db17157b8ae04953bb052b76928b6ba7 (diff)
downloadbcm5719-llvm-6a715dccdf596d39d2b480beac48385f1fa73219.tar.gz
bcm5719-llvm-6a715dccdf596d39d2b480beac48385f1fa73219.zip
llvm-mc: MCStreamer cleanups. - Remove EmitLocalSymbol, this is unsupported for now.
- Switch Emit{CommonSymbol,Zerofill} to take alignment in bytes (for consistency). llvm-svn: 80484
Diffstat (limited to 'llvm/lib/MC/MCMachOStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCMachOStreamer.cpp20
1 files changed, 6 insertions, 14 deletions
diff --git a/llvm/lib/MC/MCMachOStreamer.cpp b/llvm/lib/MC/MCMachOStreamer.cpp
index 4ac0917bb03..41c82b3d423 100644
--- a/llvm/lib/MC/MCMachOStreamer.cpp
+++ b/llvm/lib/MC/MCMachOStreamer.cpp
@@ -111,13 +111,11 @@ public:
virtual void EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue);
- virtual void EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value);
-
virtual void EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
- unsigned Pow2Alignment);
+ unsigned ByteAlignment);
virtual void EmitZerofill(const MCSection *Section, MCSymbol *Symbol = 0,
- unsigned Size = 0, unsigned Pow2Alignment = 0);
+ unsigned Size = 0, unsigned ByteAlignment = 0);
virtual void EmitBytes(const StringRef &Data);
@@ -266,24 +264,18 @@ void MCMachOStreamer::EmitSymbolDesc(MCSymbol *Symbol, unsigned DescValue) {
getSymbolData(*Symbol).setFlags(DescValue & SF_DescFlagsMask);
}
-void MCMachOStreamer::EmitLocalSymbol(MCSymbol *Symbol, const MCValue &Value) {
- // FIXME: Implement?
- llvm_report_error("unsupported '.lsym' directive");
-}
-
void MCMachOStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size,
- unsigned Pow2Alignment) {
+ unsigned ByteAlignment) {
// FIXME: Darwin 'as' does appear to allow redef of a .comm by itself.
assert(Symbol->isUndefined() && "Cannot define a symbol twice!");
MCSymbolData &SD = getSymbolData(*Symbol);
SD.setExternal(true);
- SD.setCommon(Size, 1 << Pow2Alignment);
+ SD.setCommon(Size, ByteAlignment);
}
void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
- unsigned Size, unsigned Pow2Alignment) {
- unsigned ByteAlignment = 1 << Pow2Alignment;
+ unsigned Size, unsigned ByteAlignment) {
MCSectionData &SectData = getSectionData(*Section);
// The symbol may not be present, which only creates the section.
@@ -296,7 +288,7 @@ void MCMachOStreamer::EmitZerofill(const MCSection *Section, MCSymbol *Symbol,
MCSymbolData &SD = getSymbolData(*Symbol);
- MCFragment *F = new MCZeroFillFragment(Size, 1 << Pow2Alignment, &SectData);
+ MCFragment *F = new MCZeroFillFragment(Size, ByteAlignment, &SectData);
SD.setFragment(F);
Symbol->setSection(*Section);
OpenPOWER on IntegriCloud