aboutsummaryrefslogtreecommitdiffstats
path: root/lib/MC
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-07 20:30:46 +0000
committerChris Lattner <sabre@nondot.org>2009-07-07 20:30:46 +0000
commit4e4db7adfc9858a8f77f841c7467bc6fcbb8110e (patch)
tree3ef227b9e607013736fca50b48e0f408703d4bef /lib/MC
parent74a77812d1785ad6c62226c52dcd4d129b3cdd0b (diff)
downloadexternal_llvm-4e4db7adfc9858a8f77f841c7467bc6fcbb8110e.zip
external_llvm-4e4db7adfc9858a8f77f841c7467bc6fcbb8110e.tar.gz
external_llvm-4e4db7adfc9858a8f77f841c7467bc6fcbb8110e.tar.bz2
Implement parsing support for the .comm directive. Patch by
Kevin Enderby! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74944 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r--lib/MC/MCAsmStreamer.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/MC/MCAsmStreamer.cpp b/lib/MC/MCAsmStreamer.cpp
index 7d94464..f4aeaf3 100644
--- a/lib/MC/MCAsmStreamer.cpp
+++ b/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)