make PIC16 create its own custom MCSection.
authorChris Lattner <sabre@nondot.org>
Sat, 8 Aug 2009 20:55:25 +0000 (20:55 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 8 Aug 2009 20:55:25 +0000 (20:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78501 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PIC16/PIC16Section.h [new file with mode: 0644]
lib/Target/PIC16/PIC16TargetObjectFile.cpp

diff --git a/lib/Target/PIC16/PIC16Section.h b/lib/Target/PIC16/PIC16Section.h
new file mode 100644 (file)
index 0000000..c7bc989
--- /dev/null
@@ -0,0 +1,35 @@
+//===- PIC16Section.h - PIC16-specific section representation ---*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file declares the MCSection class.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_PIC16SECTION_H
+#define LLVM_PIC16SECTION_H
+
+#include "llvm/MC/MCSection.h"
+
+namespace llvm {
+
+  class MCSectionPIC16 : public MCSection {
+    MCSectionPIC16(const StringRef &Name, bool IsDirective, SectionKind K,
+                 MCContext &Ctx) : MCSection(Name, IsDirective, K, Ctx) {}
+  public:
+    
+    static MCSectionPIC16 *Create(const StringRef &Name, bool IsDirective, 
+                                  SectionKind K, MCContext &Ctx);
+    
+  };
+  
+  
+
+} // end namespace llvm
+
+#endif
index 3900929f466d98725943176e33e571bbaf761ba6..a9668f9c07c642e969627afb08fdd5eb3e7539d2 100644 (file)
@@ -8,6 +8,7 @@
 //===----------------------------------------------------------------------===//
 
 #include "PIC16TargetObjectFile.h"
+#include "PIC16Section.h"
 #include "PIC16ISelLowering.h"
 #include "PIC16TargetMachine.h"
 #include "llvm/DerivedTypes.h"
@@ -24,7 +25,7 @@ const MCSection *PIC16TargetObjectFile::
 getPIC16Section(const char *Name, bool isDirective, SectionKind Kind) const {
   if (MCSection *S = getContext().GetSection(Name))
     return S;
-  return MCSection::Create(Name, isDirective, Kind, getContext());
+  return MCSectionPIC16::Create(Name, isDirective, Kind, getContext());
 }