| 855 | } |
| 856 | |
| 857 | void Memory::AliasSet::print(ostream &os) const { |
| 858 | auto print = [&](const char *str, const auto &v) { |
| 859 | os << str; |
| 860 | for (auto bit : v) { |
| 861 | os << bit; |
| 862 | } |
| 863 | }; |
| 864 | |
| 865 | bool has_local = false; |
| 866 | if (numMayAlias(true) > 0) { |
| 867 | print("local: ", local); |
| 868 | has_local = true; |
| 869 | } |
| 870 | if (numMayAlias(false) > 0) { |
| 871 | if (has_local) os << " / "; |
| 872 | print("non-local: ", non_local); |
| 873 | } else if (!has_local) |
| 874 | os << "(empty)"; |
| 875 | } |
| 876 | |
| 877 | weak_ordering Memory::MemBlock::operator<=>(const MemBlock &rhs) const { |
| 878 | // FIXME: |
no test coverage detected