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

Eric Fiselier via cfe-commits cfe-commits at lists.llvm.org
Sun Apr 16 11:48:51 PDT 2017


One better, it has already been fixed.

On Apr 16, 2017 12:48 PM, "Nico Weber" <thakis at chromium.org> wrote:

> 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/ut
>> ilities/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/5b0f9966/attachment.html>


More information about the cfe-commits mailing list