Use option -march instead of -mtriple to avoid overconditionalizing the test.
[oota-llvm.git] / lib / MC / MCSection.cpp
index f6e96368eb2056b5d8168948117ee4f32af2b6b2..7889f837b11f1ba255ec5ea9002e2f744416e295 100644 (file)
@@ -8,8 +8,9 @@
 //===----------------------------------------------------------------------===//
 
 #include "llvm/MC/MCSection.h"
-#include "llvm/MC/MCContext.h"
 #include "llvm/MC/MCAsmInfo.h"
+#include "llvm/MC/MCContext.h"
+#include "llvm/MC/MCSymbol.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
@@ -17,33 +18,14 @@ using namespace llvm;
 // MCSection
 //===----------------------------------------------------------------------===//
 
-MCSection::~MCSection() {
+MCSymbol *MCSection::getEndSymbol(MCContext &Ctx) const {
+  if (!End)
+    End = Ctx.createTempSymbol("sec_end", true);
+  return End;
 }
 
-//===----------------------------------------------------------------------===//
-// MCSectionCOFF
-//===----------------------------------------------------------------------===//
+bool MCSection::hasEnded() const { return End && End->isInSection(); }
 
-MCSectionCOFF *MCSectionCOFF::
-Create(StringRef Name, bool IsDirective, SectionKind K, MCContext &Ctx) {
-  char *NameCopy = static_cast<char*>(
-    Ctx.Allocate(Name.size(), /*Alignment=*/1));
-  memcpy(NameCopy, Name.data(), Name.size());
-  return new (Ctx) MCSectionCOFF(StringRef(NameCopy, Name.size()),
-                                 IsDirective, K);
+MCSection::~MCSection() {
 }
 
-void MCSectionCOFF::PrintSwitchToSection(const MCAsmInfo &MAI,
-                                         raw_ostream &OS) const {
-  
-  if (isDirective()) {
-    OS << getName() << '\n';
-    return;
-  }
-  OS << "\t.section\t" << getName() << ",\"";
-  if (getKind().isText())
-    OS << 'x';
-  if (getKind().isWriteable())
-    OS << 'w';
-  OS << "\"\n";
-}