| //===- MCAsmMacro.h - Assembly Macros ---------------------------*- C++ -*-===// |
| // |
| // The LLVM Compiler Infrastructure |
| // |
| // This file is distributed under the University of Illinois Open Source |
| // License. See LICENSE.TXT for details. |
| // |
| //===----------------------------------------------------------------------===// |
| |
| #include "llvm/MC/MCAsmMacro.h" |
| #include "llvm/Support/raw_ostream.h" |
| |
| using namespace llvm; |
| |
| void MCAsmMacroParameter::dump(raw_ostream &OS) const { |
| OS << "\"" << Name << "\""; |
| if (Required) |
| OS << ":req"; |
| if (Vararg) |
| OS << ":vararg"; |
| if (!Value.empty()) { |
| OS << " = "; |
| bool first = true; |
| for (const AsmToken &T : Value) { |
| if (!first) |
| OS << ", "; |
| first = false; |
| OS << T.getString(); |
| } |
| } |
| OS << "\n"; |
| } |
| |
| void MCAsmMacro::dump(raw_ostream &OS) const { |
| OS << "Macro " << Name << ":\n"; |
| OS << " Parameters:\n"; |
| for (const MCAsmMacroParameter &P : Parameters) { |
| OS << " "; |
| P.dump(); |
| } |
| OS << " (BEGIN BODY)" << Body << "(END BODY)\n"; |
| } |