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 @@ -524,6 +524,8 @@ BaseT::operator++(); } + filter_iterator_base() = default; + // Construct the iterator. The begin iterator needs to know where the end // is, so that it can properly stop when it gets there. The end iterator only // needs the predicate to support bidirectional iteration. @@ -559,6 +561,8 @@ class filter_iterator_impl : public filter_iterator_base { public: + filter_iterator_impl() = default; + filter_iterator_impl(WrappedIteratorT Begin, WrappedIteratorT End, PredicateT Pred) : filter_iterator_impl::filter_iterator_base(Begin, End, Pred) {} @@ -580,6 +584,8 @@ public: using BaseT::operator--; + filter_iterator_impl() = default; + filter_iterator_impl(WrappedIteratorT Begin, WrappedIteratorT End, PredicateT Pred) : BaseT(Begin, End, Pred) {}