diff --git a/llvm/include/llvm/ADT/STLExtras.h b/llvm/include/llvm/ADT/STLExtras.h --- a/llvm/include/llvm/ADT/STLExtras.h +++ b/llvm/include/llvm/ADT/STLExtras.h @@ -214,7 +214,7 @@ ItTy getCurrent() { return this->I; } - FuncReturnTy operator*() { return F(*this->I); } + FuncReturnTy operator*() const { return F(*this->I); } private: FuncTy F; diff --git a/mlir/include/mlir/IR/Attributes.h b/mlir/include/mlir/IR/Attributes.h --- a/mlir/include/mlir/IR/Attributes.h +++ b/mlir/include/mlir/IR/Attributes.h @@ -228,7 +228,7 @@ explicit attr_value_iterator(ArrayAttr::iterator it) : llvm::mapped_iterator( it, [](Attribute attr) { return attr.cast(); }) {} - AttrTy operator*() { return (*this->I).template cast(); } + AttrTy operator*() const { return (*this->I).template cast(); } }; public: