mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-23 20:46:06 +00:00

Without this change, the build will fail like so:
llvm-project/lld/MachO/ObjC.cpp:1387:75: error: ISO C++20 considers use of overloaded operator '==' (with operand types 'ObjcCategoryMerger::PointerListInfo' and 'ObjcCategoryMerger::PointerListInfo') to be ambiguous despite there being a unique best viable function [-Werror,-Wambiguous-reversed-operator]
1387 | parseProtocolListInfo(classIsec, roClassLayout.baseProtocolsOffset) ==
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
1388 | parseProtocolListInfo(metaIsec, roClassLayout.baseProtocolsOffset) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/assert.h💯27: note: expanded from macro 'assert'
100 | (static_cast <bool> (expr) \
| ^~~~
llvm-project/lld/MachO/ObjC.cpp:391:17: note: ambiguity is between a regular call to this operator and a call with the argument order reversed
391 | inline bool operator==(const PointerListInfo &cmp) {
| ^
llvm-project/lld/MachO/ObjC.cpp:391:17: note: mark 'operator==' as const or add a matching 'operator!=' to resolve the ambiguity
1 error generated.