diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-08 20:50:49 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-08 20:50:49 +0000 |
commit | a1c31b779cdde0090b8efcde87d7d0d898cabd38 (patch) | |
tree | a13a588bf2673abb29731f331dfe7aa1e54d1f40 | |
parent | 5277b22687d3513dd29d5a9c8510cac740f933f6 (diff) |
stub out PECOFF/MachO/ELF MCSection classes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78499 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/llvm/MC/MCSection.h | 28 | ||||
-rw-r--r-- | lib/MC/MCSection.cpp | 22 |
2 files changed, 47 insertions, 3 deletions
diff --git a/include/llvm/MC/MCSection.h b/include/llvm/MC/MCSection.h index bdc46be11d..e73760a066 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 84487b24be..2d5eb33b4d 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); +} + |