http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51365

--- Comment #5 from Jonathan Wakely <redi at gcc dot gnu.org> 2011-11-30 
21:19:28 UTC ---
Thanks for the pointer, the hardest part was naming the new intrinsic ;)

We can't have the front-end define __is_final() as an intrinsic and also define
std::__is_final as a class template, so the patches above define
__is_final_class() and std::__is_final<>

It might be better for the front end to define __is_final() then use that
directly in the library and not provide a type trait unless std::is_final gets
added to the library by a DR.

i.e. in <tuple>

template<typename _Tp>
  using __empty_base 
    = typename conditional<__is_final(_Tp), false_type, is_empty<_Tp>>::type;

Reply via email to