From: Chris Lattner Date: Sat, 8 Aug 2009 20:50:49 +0000 (+0000) Subject: stub out PECOFF/MachO/ELF MCSection classes X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=a1c31b779cdde0090b8efcde87d7d0d898cabd38;p=oota-llvm.git stub out PECOFF/MachO/ELF MCSection classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78499 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h index bdc46be11d5..e73760a0664 100644 --- a/include/llvm/MC/MCSection.h +++ b/include/llvm/MC/MCSection.h @@ -53,7 +53,33 @@ namespace llvm { }; - typedef MCSection MCSectionELF; + class MCSectionELF : public MCSection { + MCSectionELF(const StringRef &Name, bool IsDirective, SectionKind K, + MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {} + public: + + static MCSectionELF *Create(const StringRef &Name, bool IsDirective, + SectionKind K, MCContext &Ctx); + + }; + + class MCSectionMachO : public MCSection { + MCSectionMachO(const StringRef &Name, bool IsDirective, SectionKind K, + MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {} + public: + + static MCSectionMachO *Create(const StringRef &Name, bool IsDirective, + SectionKind K, MCContext &Ctx); + }; + + class MCSectionPECOFF : public MCSection { + MCSectionPECOFF(const StringRef &Name, bool IsDirective, SectionKind K, + MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {} + public: + + static MCSectionPECOFF *Create(const StringRef &Name, bool IsDirective, + SectionKind K, MCContext &Ctx); + }; } // end namespace llvm diff --git a/lib/MC/MCSection.cpp b/lib/MC/MCSection.cpp index 84487b24be2..2d5eb33b4d7 100644 --- a/lib/MC/MCSection.cpp +++ b/lib/MC/MCSection.cpp @@ -22,8 +22,26 @@ MCSection::MCSection(const StringRef &N, bool isDirective, SectionKind K, Entry = this; } -MCSection *MCSection::Create(const StringRef &Name, bool IsDirective, - SectionKind K, MCContext &Ctx) { +MCSection *MCSection:: +Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) { return new (Ctx) MCSection(Name, IsDirective, K, Ctx); } + +MCSectionELF *MCSectionELF:: +Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) { + return new (Ctx) MCSectionELF(Name, IsDirective, K, Ctx); +} + + +MCSectionMachO *MCSectionMachO:: +Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) { + return new (Ctx) MCSectionMachO(Name, IsDirective, K, Ctx); +} + + +MCSectionPECOFF *MCSectionPECOFF:: +Create(const StringRef &Name, bool IsDirective, SectionKind K, MCContext &Ctx) { + return new (Ctx) MCSectionPECOFF(Name, IsDirective, K, Ctx); +} +