diff options
author | Chris Lattner <sabre@nondot.org> | 2009-07-07 20:30:46 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-07-07 20:30:46 +0000 |
commit | a1e11f530ee287ccce8ce1cd236159fb58b81e83 (patch) | |
tree | 3372607d1515156212540f111049d99f79d16f0a /llvm/lib/MC/MCAsmStreamer.cpp | |
parent | 86be854fa869f4c292e6b261d0ce1bf5d27b495e (diff) | |
download | bcm5719-llvm-a1e11f530ee287ccce8ce1cd236159fb58b81e83.tar.gz bcm5719-llvm-a1e11f530ee287ccce8ce1cd236159fb58b81e83.zip |
Implement parsing support for the .comm directive. Patch by
Kevin Enderby!
llvm-svn: 74944
Diffstat (limited to 'llvm/lib/MC/MCAsmStreamer.cpp')
-rw-r--r-- | llvm/lib/MC/MCAsmStreamer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCAsmStreamer.cpp b/llvm/lib/MC/MCAsmStreamer.cpp index 7d944644488..f4aeaf39f33 100644 --- a/llvm/lib/MC/MCAsmStreamer.cpp +++ b/llvm/lib/MC/MCAsmStreamer.cpp @@ -41,6 +41,9 @@ namespace { virtual void EmitSymbolAttribute(MCSymbol *Symbol, SymbolAttr Attribute); + virtual void EmitCommonSymbol(MCSymbol *Symbol, unsigned Size, + unsigned Pow2Alignment); + virtual void EmitBytes(const char *Data, unsigned Length); virtual void EmitValue(const MCValue &Value, unsigned Size); @@ -142,6 +145,15 @@ void MCAsmStreamer::EmitSymbolAttribute(MCSymbol *Symbol, OS << ' ' << Symbol->getName() << '\n'; } +void MCAsmStreamer::EmitCommonSymbol(MCSymbol *Symbol, unsigned Size, + unsigned Pow2Alignment) { + OS << ".comm"; + OS << ' ' << Symbol->getName() << ',' << Size; + if (Pow2Alignment != 0) + OS << ',' << Pow2Alignment; + OS << '\n'; +} + void MCAsmStreamer::EmitBytes(const char *Data, unsigned Length) { assert(CurSection && "Cannot emit contents before setting section!"); for (unsigned i = 0; i != Length; ++i) |