1
0
mirror of https://github.com/RPCSX/llvm.git synced 2025-04-07 02:31:55 +00:00

Convert Arg, ArgList, and Option to dump() to dbgs() rather than errs().

Also add print() functions.

Patch by Justin Lebar!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@256010 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Eric Christopher 2015-12-18 18:55:26 +00:00
parent 8281fa7838
commit 96e80fcbfd
6 changed files with 38 additions and 26 deletions

@ -113,6 +113,7 @@ public:
/// when rendered as a input (e.g., Xlinker).
void renderAsInput(const ArgList &Args, ArgStringList &Output) const;
void print(raw_ostream &O) const;
void dump() const;
/// \brief Return a formatted version of the argument and

@ -306,6 +306,7 @@ public:
const char *GetOrMakeJoinedArgString(unsigned Index, StringRef LHS,
StringRef RHS) const;
void print(raw_ostream &O) const;
void dump() const;
/// @}

@ -195,6 +195,7 @@ public:
/// start.
Arg *accept(const ArgList &Args, unsigned &Index, unsigned ArgSize) const;
void print(raw_ostream &O) const;
void dump() const;
};

@ -13,6 +13,7 @@
#include "llvm/Option/ArgList.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Debug.h"
using namespace llvm;
using namespace llvm::opt;
@ -43,23 +44,25 @@ Arg::~Arg() {
}
}
void Arg::dump() const {
llvm::errs() << "<";
void Arg::print(raw_ostream& O) const {
O << "<";
llvm::errs() << " Opt:";
Opt.dump();
O << " Opt:";
Opt.print(O);
llvm::errs() << " Index:" << Index;
O << " Index:" << Index;
llvm::errs() << " Values: [";
O << " Values: [";
for (unsigned i = 0, e = Values.size(); i != e; ++i) {
if (i) llvm::errs() << ", ";
llvm::errs() << "'" << Values[i] << "'";
if (i) O << ", ";
O << "'" << Values[i] << "'";
}
llvm::errs() << "]>\n";
O << "]>\n";
}
LLVM_DUMP_METHOD void Arg::dump() const { print(dbgs()); }
std::string Arg::getAsString(const ArgList &Args) const {
SmallString<256> Res;
llvm::raw_svector_ostream OS(Res);

@ -13,6 +13,7 @@
#include "llvm/ADT/Twine.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/Option.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
using namespace llvm;
@ -328,13 +329,15 @@ const char *ArgList::GetOrMakeJoinedArgString(unsigned Index,
return MakeArgString(LHS + RHS);
}
LLVM_DUMP_METHOD void ArgList::dump() const {
void ArgList::print(raw_ostream &O) const {
for (Arg *A : *this) {
llvm::errs() << "* ";
A->dump();
O << "* ";
A->print(O);
}
}
LLVM_DUMP_METHOD void ArgList::dump() const { print(dbgs()); }
//
void InputArgList::releaseMemory() {

@ -11,6 +11,7 @@
#include "llvm/ADT/Twine.h"
#include "llvm/Option/Arg.h"
#include "llvm/Option/ArgList.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
@ -35,10 +36,10 @@ Option::Option(const OptTable::Info *info, const OptTable *owner)
}
}
void Option::dump() const {
llvm::errs() << "<";
void Option::print(raw_ostream &O) const {
O << "<";
switch (getKind()) {
#define P(N) case N: llvm::errs() << #N; break
#define P(N) case N: O << #N; break
P(GroupClass);
P(InputClass);
P(UnknownClass);
@ -54,33 +55,35 @@ void Option::dump() const {
}
if (Info->Prefixes) {
llvm::errs() << " Prefixes:[";
for (const char * const *Pre = Info->Prefixes; *Pre != nullptr; ++Pre) {
llvm::errs() << '"' << *Pre << (*(Pre + 1) == nullptr ? "\"" : "\", ");
O << " Prefixes:[";
for (const char *const *Pre = Info->Prefixes; *Pre != nullptr; ++Pre) {
O << '"' << *Pre << (*(Pre + 1) == nullptr ? "\"" : "\", ");
}
llvm::errs() << ']';
O << ']';
}
llvm::errs() << " Name:\"" << getName() << '"';
O << " Name:\"" << getName() << '"';
const Option Group = getGroup();
if (Group.isValid()) {
llvm::errs() << " Group:";
Group.dump();
O << " Group:";
Group.print(O);
}
const Option Alias = getAlias();
if (Alias.isValid()) {
llvm::errs() << " Alias:";
Alias.dump();
O << " Alias:";
Alias.print(O);
}
if (getKind() == MultiArgClass)
llvm::errs() << " NumArgs:" << getNumArgs();
O << " NumArgs:" << getNumArgs();
llvm::errs() << ">\n";
O << ">\n";
}
void Option::dump() const { print(dbgs()); }
bool Option::matches(OptSpecifier Opt) const {
// Aliases are never considered in matching, look through them.
const Option Alias = getAlias();