[PATCH] D45805: [libcxx] Remove redundant specializations in type_traits.

2020-03-10 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay abandoned this revision.
MaskRay added a comment.

Thanks for review! However, I am abandoning this change because rL364160 
 deleted these traits.


Repository:
  rCXX libc++

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D45805/new/

https://reviews.llvm.org/D45805



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D45805: [libcxx] Remove redundant specializations in type_traits.

2020-03-10 Thread Louis Dionne via Phabricator via cfe-commits
ldionne accepted this revision.
ldionne added a comment.
This revision is now accepted and ready to land.
Herald added subscribers: libcxx-commits, dexonsmith.

LGTM, but you'll need to rebase this


Repository:
  rCXX libc++

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D45805/new/

https://reviews.llvm.org/D45805



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D45805: [libcxx] Remove redundant specializations in type_traits.

2018-07-16 Thread Louis Dionne via Phabricator via cfe-commits
ldionne added a subscriber: mclow.lists.
ldionne added inline comments.



Comment at: include/type_traits:595
-template
-struct __and_<_B0, _B1> : conditional<_B0::value, _B1, _B0>::type {};
-

It is not impossible that this was a compile-time optimization for the 
(probably very common) case where there's only 2 arguments. I'd like to have 
Marshall's input on that, since he seems to have written that code. Otherwise, 
LGTM. Ping @mclow.lists 


Repository:
  rCXX libc++

https://reviews.llvm.org/D45805



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D45805: [libcxx] Remove redundant specializations in type_traits.

2018-07-14 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay added a comment.
Herald added a subscriber: ldionne.

Ping :)


Repository:
  rCXX libc++

https://reviews.llvm.org/D45805



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D45805: [libcxx] Remove redundant specializations in type_traits.

2018-04-19 Thread Fangrui Song via Phabricator via cfe-commits
MaskRay created this revision.
Herald added a reviewer: EricWF.
Herald added subscribers: cfe-commits, christof.

Repository:
  rCXX libc++

https://reviews.llvm.org/D45805

Files:
  include/type_traits


Index: include/type_traits
===
--- include/type_traits
+++ include/type_traits
@@ -553,9 +553,6 @@
 template <>
 struct __lazy_and_impl : true_type {};
 
-template 
-struct __lazy_and_impl : integral_constant {};
-
 template 
 struct __lazy_and_impl : __lazy_and_impl<_Hp::type::value, 
_Tp...> {};
 
@@ -591,25 +588,19 @@
 
 template struct __and_<_B0> : _B0 {};
 
-template
-struct __and_<_B0, _B1> : conditional<_B0::value, _B1, _B0>::type {};
-
-template
-struct __and_<_B0, _B1, _B2, _Bn...> 
-: conditional<_B0::value, __and_<_B1, _B2, _Bn...>, _B0>::type {};
+template
+struct __and_<_B0, _B1, _Bn...>
+: conditional<_B0::value, __and_<_B1, _Bn...>, _B0>::type {};
 
 // __or_
 template struct __or_;
 template<> struct __or_<> : false_type {};
 
 template struct __or_<_B0> : _B0 {};
 
-template
-struct __or_<_B0, _B1> : conditional<_B0::value, _B0, _B1>::type {};
-
-template
-struct __or_<_B0, _B1, _B2, _Bn...> 
-: conditional<_B0::value, _B0, __or_<_B1, _B2, _Bn...> >::type {};
+template
+struct __or_<_B0, _B1, _Bn...>
+: conditional<_B0::value, _B0, __or_<_B1, _Bn...> >::type {};
 
 // __not_
 template 


Index: include/type_traits
===
--- include/type_traits
+++ include/type_traits
@@ -553,9 +553,6 @@
 template <>
 struct __lazy_and_impl : true_type {};
 
-template 
-struct __lazy_and_impl : integral_constant {};
-
 template 
 struct __lazy_and_impl : __lazy_and_impl<_Hp::type::value, _Tp...> {};
 
@@ -591,25 +588,19 @@
 
 template struct __and_<_B0> : _B0 {};
 
-template
-struct __and_<_B0, _B1> : conditional<_B0::value, _B1, _B0>::type {};
-
-template
-struct __and_<_B0, _B1, _B2, _Bn...> 
-: conditional<_B0::value, __and_<_B1, _B2, _Bn...>, _B0>::type {};
+template
+struct __and_<_B0, _B1, _Bn...>
+: conditional<_B0::value, __and_<_B1, _Bn...>, _B0>::type {};
 
 // __or_
 template struct __or_;
 template<> struct __or_<> : false_type {};
 
 template struct __or_<_B0> : _B0 {};
 
-template
-struct __or_<_B0, _B1> : conditional<_B0::value, _B0, _B1>::type {};
-
-template
-struct __or_<_B0, _B1, _B2, _Bn...> 
-: conditional<_B0::value, _B0, __or_<_B1, _B2, _Bn...> >::type {};
+template
+struct __or_<_B0, _B1, _Bn...>
+: conditional<_B0::value, _B0, __or_<_B1, _Bn...> >::type {};
 
 // __not_
 template 
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits