EricWF added inline comments.

================
Comment at: include/__tuple:32
 template <class _Tp>
-class _LIBCPP_TYPE_VIS_ONLY tuple_size<const _Tp>
-    : public __tuple_size_base_type<_Tp>::type {};
+class _LIBCPP_TYPE_VIS_ONLY tuple_size<__enable_if_tuple_size_imp<const _Tp, 
decltype(tuple_size<typename remove_cv<_Tp>::type>::value)>>
+    : public integral_constant<size_t, tuple_size<_Tp>::value> {};
----------------
rsmith wrote:
> remove_cv looks redundant here, deduction already stripped the cv qualifiers.
The `remove_cv` should be redundant, but without it Clang segfaults in 
`clang::TreeTransform<(anonymous 
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
 clang::TemplateSpecializationTypeLoc, clang::TemplateName)`. 

I haven't had time to file a Clang bug yet.


https://reviews.llvm.org/D28222



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

Reply via email to