[libcxx] r300411 - Workaround Clang bug regarding template template parameters

Nico Weber via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 16 11:48:00 PDT 2017


Is that bug filed?

On Sat, Apr 15, 2017 at 10:47 PM, Eric Fiselier via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: ericwf
> Date: Sat Apr 15 21:47:46 2017
> New Revision: 300411
>
> URL: http://llvm.org/viewvc/llvm-project?rev=300411&view=rev
> Log:
> Workaround Clang bug regarding template template parameters
>
> Modified:
>     libcxx/trunk/test/std/utilities/smartptr/unique.ptr/
> unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp
>
> Modified: libcxx/trunk/test/std/utilities/smartptr/unique.ptr/
> unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp
> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/std/
> utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.
> asgn/move_convert.pass.cpp?rev=300411&r1=300410&r2=300411&view=diff
> ============================================================
> ==================
> --- libcxx/trunk/test/std/utilities/smartptr/unique.ptr/
> unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp (original)
> +++ libcxx/trunk/test/std/utilities/smartptr/unique.ptr/
> unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp Sat Apr 15
> 21:47:46 2017
> @@ -46,17 +46,23 @@ using EnableIfNotSame = typename std::en
>      !std::is_same<typename std::decay<T>::type, typename
> std::decay<U>::type>::value
>  >::type;
>
> -template <template <int> class Templ, class Other>
> -struct is_specialization : std::false_type {};
> +template <class Templ, class Other>
> +struct is_specialization;
>
> -template <template <int> class Templ, int ID>
> -struct is_specialization<Templ, Templ<ID> > : std::true_type {};
> +template <template <int> class Templ, int ID1, class Other>
> +struct is_specialization<Templ<ID1>, Other> : std::false_type {};
>
> -template <template <int> class Templ, class Other>
> +template <template <int> class Templ, int ID1, int ID2>
> +struct is_specialization<Templ<ID1>, Templ<ID2> > : std::true_type {};
> +
> +template <class Templ, class Other>
>  using EnableIfSpecialization = typename std::enable_if<
>      is_specialization<Templ, typename std::decay<Other>::type >::value
>    >::type;
>
> +template <int ID> struct TrackingDeleter;
> +template <int ID> struct ConstTrackingDeleter;
> +
>  template <int ID>
>  struct TrackingDeleter {
>    TrackingDeleter() : arg_type(&makeArgumentID<>()) {}
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170416/077d9de3/attachment.html>


More information about the cfe-commits mailing list