Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
DenseMap: fix build with clang in C++20 mode
clang was complaing about this code: llvm/include/llvm/IR/PassManager.h:715:17: error: ISO C++20 considers use of overloaded operator '!=' to be ambiguous despite there being a unique best viable function with non-reversed arguments [-Werror,-Wambiguous-reversed-operator] if (IMapI != IsResultInvalidated.end()) ~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~ llvm/include/llvm/ADT/DenseMap.h:1253:8: note: candidate function with non-reversed arguments bool operator!=(const ConstIterator &RHS) const { ^ llvm/include/llvm/ADT/DenseMap.h:1246:8: note: ambiguous candidate function with reversed arguments bool operator==(const ConstIterator &RHS) const { ^ The warning is triggered when the DenseMapIterator (lhs) is not const and so the == operator is applied to different types on lhs/rhs. Using a template allows the function to be available for both const/non-const iterator types and gets rid of the warning
- Loading branch information