forked from OSchip/llvm-project
Add option for AddAllArgsTranslated to control whether output argument
should be joined or separate. llvm-svn: 70101
This commit is contained in:
parent
7ec71da215
commit
3ba94d8778
|
@ -110,11 +110,15 @@ namespace driver {
|
|||
void AddAllArgValues(ArgStringList &Output, options::ID Id0,
|
||||
options::ID Id1) const;
|
||||
|
||||
// AddAllArgsTranslated - Render all the arguments matching the
|
||||
// given ids, but forced to separate args and using the provided
|
||||
// name instead of the first option value.
|
||||
/// AddAllArgsTranslated - Render all the arguments matching the
|
||||
/// given ids, but forced to separate args and using the provided
|
||||
/// name instead of the first option value.
|
||||
///
|
||||
/// \param Joined - If true, render the argument as joined with
|
||||
/// the option specifier.
|
||||
void AddAllArgsTranslated(ArgStringList &Output, options::ID Id0,
|
||||
const char *Translation) const;
|
||||
const char *Translation,
|
||||
bool Joined = false) const;
|
||||
|
||||
/// ClaimAllArgs - Claim all arguments which match the given
|
||||
/// option id.
|
||||
|
|
|
@ -124,14 +124,22 @@ void ArgList::AddAllArgValues(ArgStringList &Output, options::ID Id0,
|
|||
}
|
||||
|
||||
void ArgList::AddAllArgsTranslated(ArgStringList &Output, options::ID Id0,
|
||||
const char *Translation) const {
|
||||
const char *Translation,
|
||||
bool Joined) const {
|
||||
// FIXME: Make fast.
|
||||
for (const_iterator it = begin(), ie = end(); it != ie; ++it) {
|
||||
const Arg *A = *it;
|
||||
if (A->getOption().matches(Id0)) {
|
||||
A->claim();
|
||||
Output.push_back(Translation);
|
||||
Output.push_back(A->getValue(*this, 0));
|
||||
|
||||
if (Joined) {
|
||||
std::string Value = Translation;
|
||||
Value += A->getValue(*this, 0);
|
||||
Output.push_back(MakeArgString(Value.c_str()));
|
||||
} else {
|
||||
Output.push_back(Translation);
|
||||
Output.push_back(A->getValue(*this, 0));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue