aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-08-08 20:50:49 +0000
committerChris Lattner <sabre@nondot.org>2009-08-08 20:50:49 +0000
commita1c31b779cdde0090b8efcde87d7d0d898cabd38 (patch)
treea13a588bf2673abb29731f331dfe7aa1e54d1f40
parent5277b22687d3513dd29d5a9c8510cac740f933f6 (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.h28
-rw-r--r--lib/MC/MCSection.cpp22
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);
+}
+