tools with the name of the option replace, and arguments rendered
separately.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67753
91177308-0d34-0410-b5e6-
96231b3b80d8
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.
+ void AddAllArgsTranslated(ArgStringList &Output, options::ID Id0,
+ const char *Translation) const;
+
/// @}
/// @name Arg Synthesis
/// @{
}
}
+void ArgList::AddAllArgsTranslated(ArgStringList &Output, options::ID Id0,
+ const char *Translation) 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));
+ }
+ }
+}
+
//
InputArgList::InputArgList(const char **ArgBegin, const char **ArgEnd)