Andrew Cagney <ac131313@redhat.com> writes:
> + /* BFD's 'A->compatible (A, B)' functions return zero if A and B are
> + incompatible. But if they are compatible, it returns the 'more
> + featureful' of the two arches. That is, if A can run code
> + written for B, but B can't run code written for A, then it'll
> + return A.
> + + struct bfd_arch_info objects are atoms: that is, there's
> supposed
> + to be exactly one instance for a given machine. So you can tell
> + whether two are equivalent by comparing pointers. */
> + return (a == b || a->compatible (a, b) == a);
Hey, nice.
Don't worry about a can_run_code_for function though, having the logic
inline makes what's happening easier to understand (and will simplify
a follow-on wild-card patch I've got pending).
It may be easier for you, but the original author did get the test
backwards, and I had to go through an embarrassing number of wrong
tries before I got it right. I'd really like to leave the function
separate.