summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Pucci <spucci@google.com>2014-01-17 18:25:25 +0000
committerSteve Pucci <spucci@google.com>2014-01-17 18:25:25 +0000
commitaa71cd8d2651190e752b52f4d74b920de968c2bf (patch)
tree45eff4f376eb593db0f1e5b023b7c551bd8c9c1c
parentfc99572540f6012d0f5147dddcb4a7fdefb7af0e (diff)
downloadbcm5719-llvm-aa71cd8d2651190e752b52f4d74b920de968c2bf.tar.gz
bcm5719-llvm-aa71cd8d2651190e752b52f4d74b920de968c2bf.zip
Avoid the gcc warning -Wno-non-template-friend
To avoid this warning, friend declarations inside template classes must be declared as templates: http://stackoverflow.com/questions/4039817/friend-declaration-declares-a-non-template-function llvm-svn: 199505
-rw-r--r--lldb/include/lldb/Utility/Iterable.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/lldb/include/lldb/Utility/Iterable.h b/lldb/include/lldb/Utility/Iterable.h
index 9b91cae37ee..17335373e72 100644
--- a/lldb/include/lldb/Utility/Iterable.h
+++ b/lldb/include/lldb/Utility/Iterable.h
@@ -147,9 +147,14 @@ public:
return m_iter >= rhs.m_iter;
}
- friend AdaptedConstIterator operator+(typename BackingIterator::difference_type, AdaptedConstIterator &);
- friend typename BackingIterator::difference_type operator-(AdaptedConstIterator &, AdaptedConstIterator &);
- friend void swap(AdaptedConstIterator &, AdaptedConstIterator &);
+ template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)>
+ friend AdaptedConstIterator<C1, E1, A1> operator+(typename C1::const_iterator::difference_type, AdaptedConstIterator<C1, E1, A1> &);
+
+ template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)>
+ friend typename C1::const_iterator::difference_type operator-(AdaptedConstIterator<C1, E1, A1> &, AdaptedConstIterator<C1, E1, A1> &);
+
+ template <typename C1, typename E1, E1 (*A1)(typename C1::const_iterator &)>
+ friend void swap(AdaptedConstIterator<C1, E1, A1> &, AdaptedConstIterator<C1, E1, A1> &);
};
template <typename C, typename E, E (*A)(typename C::const_iterator &)>
OpenPOWER on IntegriCloud