Message ID | 20140610180955.GN30729@redhat.com |
---|---|
State | New |
Headers | show |
On 10/06/14 19:09 +0100, Jonathan Wakely wrote: >Yo dawg, I heard you like templates, so I renamed the >template-parameters of your template template-parameters so they are >not the same as the template-parameters of your templates. > >G++ fails to diagnose this (PR17267) but Clang gives an error and EDG >gives a warning. > >Tested x86_64-linux, committed to trunk. > > PR libstdc++/61390 > * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp > (bin_search_tree_traits): Do not redeclare template-parameters. > * testsuite/util/testsuite_iterators.h (test_container): Likewise. Committed to the 4.9 branch too.
commit 4e4fcc91a4edd9e0955dc3cd0412fa7e3f2fd93c Author: Jonathan Wakely <jwakely@redhat.com> Date: Tue Jun 10 18:52:37 2014 +0100 PR libstdc++/61390 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp (bin_search_tree_traits): Do not redeclare template-parameters. * testsuite/util/testsuite_iterators.h (test_container): Likewise. diff --git a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp index d97b432..7ada365 100644 --- a/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp +++ b/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/traits.hpp @@ -55,7 +55,7 @@ namespace __gnu_pbds class Cmp_Fn, template<typename Node_CItr, class Node_Itr, - class Cmp_Fn, + class _Cmp_Fn, typename _Alloc> class Node_Update, class Node, @@ -161,7 +161,7 @@ namespace __gnu_pbds class Cmp_Fn, template<typename Node_CItr, class Node_Itr, - class Cmp_Fn, + class _Cmp_Fn, typename _Alloc> class Node_Update, class Node, diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h index c690581..6cf18b4 100644 --- a/libstdc++-v3/testsuite/util/testsuite_iterators.h +++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h @@ -518,7 +518,7 @@ namespace __gnu_test * It takes two pointers representing a range and presents them as * a container of iterators. */ - template <class T, template<class T> class ItType> + template <class T, template<class TT> class ItType> struct test_container { typename ItType<T>::ContainerType bounds;