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 bdc46be..e73760a 100644
--- a/include/llvm/MC/MCSection.h
+++ b/include/llvm/MC/MCSection.h
@@ -53,7 +53,33 @@
   };
 
   
-  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 84487b2..2d5eb33 100644
--- a/lib/MC/MCSection.cpp
+++ b/lib/MC/MCSection.cpp
@@ -22,8 +22,26 @@
   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);
+}
+