Added llvm-mc support for parsing the .abort directive.
[oota-llvm.git] / lib / MC / MCAsmStreamer.cpp
index c0a334adc9e527fe6791bb2a803ba7411db95950..c79625517d4b4c9cf0affd95041256d502c6eccf 100644 (file)
@@ -51,6 +51,8 @@ namespace {
     virtual void EmitZerofill(MCSection *Section, MCSymbol *Symbol = NULL,
                               unsigned Size = 0, unsigned Pow2Alignment = 0);
 
+    virtual void AbortAssembly(const char *AbortReason = NULL);
+
     virtual void EmitBytes(const char *Data, unsigned Length);
 
     virtual void EmitValue(const MCValue &Value, unsigned Size);
@@ -123,6 +125,14 @@ void MCAsmStreamer::SubsectionsViaSymbols(void) {
   OS << ".subsections_via_symbols\n";
 }
 
+void MCAsmStreamer::AbortAssembly(const char *AbortReason) {
+  OS << ".abort";
+  if (AbortReason != NULL)
+    OS << ' ' << AbortReason;
+  OS << '\n';
+  
+}
+
 void MCAsmStreamer::EmitAssignment(MCSymbol *Symbol, const MCValue &Value,
                                    bool MakeAbsolute) {
   assert(!Symbol->getSection() && "Cannot assign to a label!");