Mercurial > hg > Members > tobaru > cbc > CbC_llvm
diff lib/Option/Option.cpp @ 100:7d135dc70f03
LLVM 3.9
author | Miyagi Mitsuki <e135756@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 26 Jan 2016 22:53:40 +0900 |
parents | afa8332a0e37 |
children | 1172e4bd9c6f |
line wrap: on
line diff
--- a/lib/Option/Option.cpp Tue Oct 13 17:49:56 2015 +0900 +++ b/lib/Option/Option.cpp Tue Jan 26 22:53:40 2016 +0900 @@ -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 @@ } } -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 @@ } 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();