forked from OSchip/llvm-project
Driver: Resolve inconsistency in matching options against options which are
aliases -- just treat this case as an (unchecked) client error. llvm-svn: 89306
This commit is contained in:
parent
0bfb21e4b0
commit
b3b47b8dde
|
@ -136,6 +136,10 @@ namespace driver {
|
|||
|
||||
/// matches - Predicate for whether this option is part of the
|
||||
/// given option (which may be a group).
|
||||
///
|
||||
/// Note that matches against options which are an alias should never be
|
||||
/// done -- aliases do not participate in matching and so such a query will
|
||||
/// always be false.
|
||||
bool matches(const Option *Opt) const;
|
||||
bool matches(unsigned Id) const;
|
||||
|
||||
|
|
|
@ -71,9 +71,7 @@ void Option::dump() const {
|
|||
}
|
||||
|
||||
bool Option::matches(const Option *Opt) const {
|
||||
// Aliases are never considered in matching.
|
||||
if (Opt->getAlias())
|
||||
return matches(Opt->getAlias());
|
||||
// Aliases are never considered in matching, look through them.
|
||||
if (Alias)
|
||||
return Alias->matches(Opt);
|
||||
|
||||
|
@ -86,10 +84,7 @@ bool Option::matches(const Option *Opt) const {
|
|||
}
|
||||
|
||||
bool Option::matches(unsigned Id) const {
|
||||
// FIXME: Decide what to do here; we should either pull out the
|
||||
// handling of alias on the option for Id from the other matches, or
|
||||
// find some other solution (which hopefully doesn't require using
|
||||
// the option table).
|
||||
// Aliases are never considered in matching, look through them.
|
||||
if (Alias)
|
||||
return Alias->matches(Id);
|
||||
|
||||
|
|
Loading…
Reference in New Issue