mirror of
https://github.com/intel/llvm.git
synced 2026-01-13 11:02:04 +08:00
[mlir][python] Mark operator== overloads as const
This resolves some warnings when building with C++20, e.g.:
```
llvm-project/mlir/lib/Bindings/Python/IRAffine.cpp:545:60: warning: ISO C++20 considers use of overloaded operator '==' (with operand types 'mlir::python::PyAffineExpr' and 'mlir::python::PyAffineExpr') to be ambiguous despite there being a unique best viable function [-Wambiguous-reversed-operator]
PyAffineExpr &other) { return self == other; })
~~~~ ^ ~~~~~
llvm-project/mlir/lib/Bindings/Python/IRAffine.cpp:350:20: note: ambiguity is between a regular call to this operator and a call with the argument order reversed
bool PyAffineExpr::operator==(const PyAffineExpr &other) {
^
```
Reviewed By: ftynse
Differential Revision: https://reviews.llvm.org/D147018
This commit is contained in:
@@ -347,7 +347,7 @@ public:
|
||||
|
||||
} // namespace
|
||||
|
||||
bool PyAffineExpr::operator==(const PyAffineExpr &other) {
|
||||
bool PyAffineExpr::operator==(const PyAffineExpr &other) const {
|
||||
return mlirAffineExprEqual(affineExpr, other.affineExpr);
|
||||
}
|
||||
|
||||
@@ -406,7 +406,7 @@ private:
|
||||
};
|
||||
} // namespace
|
||||
|
||||
bool PyAffineMap::operator==(const PyAffineMap &other) {
|
||||
bool PyAffineMap::operator==(const PyAffineMap &other) const {
|
||||
return mlirAffineMapEqual(affineMap, other.affineMap);
|
||||
}
|
||||
|
||||
@@ -483,7 +483,7 @@ private:
|
||||
};
|
||||
} // namespace
|
||||
|
||||
bool PyIntegerSet::operator==(const PyIntegerSet &other) {
|
||||
bool PyIntegerSet::operator==(const PyIntegerSet &other) const {
|
||||
return mlirIntegerSetEqual(integerSet, other.integerSet);
|
||||
}
|
||||
|
||||
|
||||
@@ -1736,7 +1736,7 @@ void PyInsertionPoint::contextExit(const pybind11::object &excType,
|
||||
// PyAttribute.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
bool PyAttribute::operator==(const PyAttribute &other) {
|
||||
bool PyAttribute::operator==(const PyAttribute &other) const {
|
||||
return mlirAttributeEqual(attr, other.attr);
|
||||
}
|
||||
|
||||
@@ -1768,7 +1768,7 @@ PyNamedAttribute::PyNamedAttribute(MlirAttribute attr, std::string ownedName)
|
||||
// PyType.
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
bool PyType::operator==(const PyType &other) {
|
||||
bool PyType::operator==(const PyType &other) const {
|
||||
return mlirTypeEqual(type, other.type);
|
||||
}
|
||||
|
||||
|
||||
@@ -808,7 +808,7 @@ class PyType : public BaseContextObject {
|
||||
public:
|
||||
PyType(PyMlirContextRef contextRef, MlirType type)
|
||||
: BaseContextObject(std::move(contextRef)), type(type) {}
|
||||
bool operator==(const PyType &other);
|
||||
bool operator==(const PyType &other) const;
|
||||
operator MlirType() const { return type; }
|
||||
MlirType get() const { return type; }
|
||||
|
||||
@@ -878,7 +878,7 @@ class PyAttribute : public BaseContextObject {
|
||||
public:
|
||||
PyAttribute(PyMlirContextRef contextRef, MlirAttribute attr)
|
||||
: BaseContextObject(std::move(contextRef)), attr(attr) {}
|
||||
bool operator==(const PyAttribute &other);
|
||||
bool operator==(const PyAttribute &other) const;
|
||||
operator MlirAttribute() const { return attr; }
|
||||
MlirAttribute get() const { return attr; }
|
||||
|
||||
@@ -1003,7 +1003,7 @@ class PyAffineExpr : public BaseContextObject {
|
||||
public:
|
||||
PyAffineExpr(PyMlirContextRef contextRef, MlirAffineExpr affineExpr)
|
||||
: BaseContextObject(std::move(contextRef)), affineExpr(affineExpr) {}
|
||||
bool operator==(const PyAffineExpr &other);
|
||||
bool operator==(const PyAffineExpr &other) const;
|
||||
operator MlirAffineExpr() const { return affineExpr; }
|
||||
MlirAffineExpr get() const { return affineExpr; }
|
||||
|
||||
@@ -1030,7 +1030,7 @@ class PyAffineMap : public BaseContextObject {
|
||||
public:
|
||||
PyAffineMap(PyMlirContextRef contextRef, MlirAffineMap affineMap)
|
||||
: BaseContextObject(std::move(contextRef)), affineMap(affineMap) {}
|
||||
bool operator==(const PyAffineMap &other);
|
||||
bool operator==(const PyAffineMap &other) const;
|
||||
operator MlirAffineMap() const { return affineMap; }
|
||||
MlirAffineMap get() const { return affineMap; }
|
||||
|
||||
@@ -1051,7 +1051,7 @@ class PyIntegerSet : public BaseContextObject {
|
||||
public:
|
||||
PyIntegerSet(PyMlirContextRef contextRef, MlirIntegerSet integerSet)
|
||||
: BaseContextObject(std::move(contextRef)), integerSet(integerSet) {}
|
||||
bool operator==(const PyIntegerSet &other);
|
||||
bool operator==(const PyIntegerSet &other) const;
|
||||
operator MlirIntegerSet() const { return integerSet; }
|
||||
MlirIntegerSet get() const { return integerSet; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user