mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Make getLastArgNoClaim work for up to 4 arguments.
Summary: This is needed for http://reviews.llvm.org/D8507 I have no idea what stand-alone tests could be done, if needed. Reviewers: Bigcheese, craig.topper, samsonov Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8508 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232859 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c11db2e64
commit
e3f2e6fcfe
@ -190,6 +190,10 @@ public:
|
||||
/// \p Claim Whether the argument should be claimed, if it exists.
|
||||
Arg *getLastArgNoClaim(OptSpecifier Id) const;
|
||||
Arg *getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1) const;
|
||||
Arg *getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1,
|
||||
OptSpecifier Id2) const;
|
||||
Arg *getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1, OptSpecifier Id2,
|
||||
OptSpecifier Id3) const;
|
||||
Arg *getLastArg(OptSpecifier Id) const;
|
||||
Arg *getLastArg(OptSpecifier Id0, OptSpecifier Id1) const;
|
||||
Arg *getLastArg(OptSpecifier Id0, OptSpecifier Id1, OptSpecifier Id2) const;
|
||||
|
@ -63,6 +63,26 @@ Arg *ArgList::getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1) const {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Arg *ArgList::getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1,
|
||||
OptSpecifier Id2) const {
|
||||
// FIXME: Make search efficient?
|
||||
for (const_reverse_iterator it = rbegin(), ie = rend(); it != ie; ++it)
|
||||
if ((*it)->getOption().matches(Id0) || (*it)->getOption().matches(Id1) ||
|
||||
(*it)->getOption().matches(Id2))
|
||||
return *it;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Arg *ArgList::getLastArgNoClaim(OptSpecifier Id0, OptSpecifier Id1,
|
||||
OptSpecifier Id2, OptSpecifier Id3) const {
|
||||
// FIXME: Make search efficient?
|
||||
for (const_reverse_iterator it = rbegin(), ie = rend(); it != ie; ++it)
|
||||
if ((*it)->getOption().matches(Id0) || (*it)->getOption().matches(Id1) ||
|
||||
(*it)->getOption().matches(Id2) || (*it)->getOption().matches(Id3))
|
||||
return *it;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Arg *ArgList::getLastArg(OptSpecifier Id) const {
|
||||
Arg *Res = nullptr;
|
||||
for (const_iterator it = begin(), ie = end(); it != ie; ++it) {
|
||||
|
Loading…
Reference in New Issue
Block a user