Ping. Summary: This patch is a part of the efforts (and the last one) to make g++ being able to compile libc++ *headers* in C++98 mode. This patch removes the default function template arguments in <memory> and preserve SFINAE by moving enable_if<> to function return type or argument type.
For example, - template <class _Pp,* class = typename enable_if<...>*> - _LIBCPP_INLINE_VISIBILITY explicit unique_ptr(_Pp __p) _NOEXCEPT is changed to: + template <class _Pp> + _LIBCPP_INLINE_VISIBILITY explicit unique_ptr(_Pp __p, + *typename enable_if<..., __nat>::type = __nat()*) _NOEXCEPT Please have a look. Thanks. Sincerely, Logan On Sat, Dec 28, 2013 at 1:54 AM, Logan Chien <[email protected]>wrote: > Hi Howard, > > I am doing some experiment to replace stlport with libc++ in the Android > platform, which does not have libstdc++. Although I can compile the libc++ > library itself with clang, I can't build the world with clang at the > moment. Thus, I wish to make the C++98/03 headers compatible with g++, so > that I can include them without problems. > > Sincerely, > Logan > > > On Sat, Dec 28, 2013 at 1:05 AM, Howard Hinnant > <[email protected]>wrote: > >> Hi Logan, >> >> Could you comment on the motivation for using g++ + libc++. I.e., why >> use libc++ instead of the libstdc++ that comes bundled with g++? >> >> Thanks, >> Howard >> >> On Dec 26, 2013, at 11:08 AM, Logan Chien <[email protected]> >> wrote: >> >> > Ping. >> > >> > >> > On Fri, Dec 20, 2013 at 10:53 PM, Logan Chien < >> [email protected]> wrote: >> > Ping. Any further comments? >> > >> > This patch tries to reduce the usage of the default function template >> arguments, which is not supported in pre-C++0x. Without this change, we >> will get compilation error from g++ if we tries to include libc++ headers >> in pre-C++0x mode. >> > >> > To remove the usage of default function template arguments, the patch >> moves the enable_if<> to return type or the function argument types. This >> pattern is used in the other code of libc++ as well. >> > >> > Please let me know if you have any comments. Thanks. >> > >> > Sincerely, >> > Logan >> > >> > _______________________________________________ >> > cfe-commits mailing list >> > [email protected] >> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >> >> >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
