aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCSection.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-07-31 17:02:00 +0000
committerChris Lattner <sabre@nondot.org>2009-07-31 17:02:00 +0000
commitc10132aa79fd7fed65b86288fa92abb172ce83d2 (patch)
tree4f8f244cf1e16d8a0159e520ffb020e71d997413 /llvm/lib/MC/MCSection.cpp
parent4571a4a76050acf5cd59c9cb47e7ee40d7224586 (diff)
downloadllvm-c10132aa79fd7fed65b86288fa92abb172ce83d2.zip
llvm-c10132aa79fd7fed65b86288fa92abb172ce83d2.tar.gz
llvm-c10132aa79fd7fed65b86288fa92abb172ce83d2.tar.bz2
split MCSection stuff out to its own .cpp file, add a new
MCSectionWithKind subclass of MCSection. llvm-svn: 77684
Diffstat (limited to 'llvm/lib/MC/MCSection.cpp')
-rw-r--r--llvm/lib/MC/MCSection.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCSection.cpp b/llvm/lib/MC/MCSection.cpp
new file mode 100644
index 0000000..2a2b0b6
--- /dev/null
+++ b/llvm/lib/MC/MCSection.cpp
@@ -0,0 +1,31 @@
+//===- lib/MC/MCSection.cpp - Machine Code Section Representation ---------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "llvm/MC/MCSection.h"
+#include "llvm/MC/MCContext.h"
+using namespace llvm;
+
+MCSection::~MCSection() {
+}
+
+MCSection::MCSection(const StringRef &N, MCContext &Ctx) : Name(N) {
+ MCSection *&Entry = Ctx.Sections[Name];
+ assert(Entry == 0 && "Multiple sections with the same name created");
+ Entry = this;
+}
+
+MCSection *MCSection::Create(const StringRef &Name, MCContext &Ctx) {
+ return new (Ctx) MCSection(Name, Ctx);
+}
+
+
+MCSectionWithKind *
+MCSectionWithKind::Create(const StringRef &Name, SectionKind K, MCContext &Ctx){
+ return new (Ctx) MCSectionWithKind(Name, K, Ctx);
+}