On Jul 29, 2011, at 5:58 PM, Chris Lattner wrote: > > On Jul 29, 2011, at 2:35 PM, Howard Hinnant wrote: > >> Author: hhinnant >> Date: Fri Jul 29 16:35:53 2011 >> New Revision: 136526 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=136526&view=rev >> Log: >> Configure to get along with 2.9 clang > > Hi Howard, > > Checking __clang_major__ is really gross. Is there any other way to do this? > > -Chris
I need _LIBCPP_HAS_NO_ADVANCED_SFINAE to be set for clang versions less than 3, and not for versions 3 and greater. __clang_major__ seems to do exactly what I need. Howard > >> >> Modified: >> libcxx/trunk/include/__config >> libcxx/trunk/include/memory >> libcxx/trunk/src/exception.cpp >> >> Modified: libcxx/trunk/include/__config >> URL: >> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/__config?rev=136526&r1=136525&r2=136526&view=diff >> ============================================================================== >> --- libcxx/trunk/include/__config (original) >> +++ libcxx/trunk/include/__config Fri Jul 29 16:35:53 2011 >> @@ -146,6 +146,9 @@ >> >> #if !(__has_feature(cxx_auto_type)) >> #define _LIBCPP_HAS_NO_AUTO_TYPE >> +#endif >> + >> +#if __clang_major__ < 3 >> #define _LIBCPP_HAS_NO_ADVANCED_SFINAE >> #endif >> >> >> Modified: libcxx/trunk/include/memory >> URL: >> http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/memory?rev=136526&r1=136525&r2=136526&view=diff >> ============================================================================== >> --- libcxx/trunk/include/memory (original) >> +++ libcxx/trunk/include/memory Fri Jul 29 16:35:53 2011 >> @@ -1294,7 +1294,7 @@ >> >> #endif // _LIBCPP_HAS_NO_ADVANCED_SFINAE >> >> -#ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE >> +#if !defined(_LIBCPP_HAS_NO_ADVANCED_SFINAE) && >> !defined(_LIBCPP_HAS_NO_VARIADICS) >> >> template <class _Alloc, class _Tp, class ..._Args> >> decltype(_VSTD::declval<_Alloc>().construct(_VSTD::declval<_Tp*>(), >> >> Modified: libcxx/trunk/src/exception.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/libcxx/trunk/src/exception.cpp?rev=136526&r1=136525&r2=136526&view=diff >> ============================================================================== >> --- libcxx/trunk/src/exception.cpp (original) >> +++ libcxx/trunk/src/exception.cpp Fri Jul 29 16:35:53 2011 >> @@ -56,6 +56,7 @@ >> return __sync_fetch_and_add(&__terminate_handler, >> (std::terminate_handler)0); >> } >> >> +_ATTRIBUTE(noreturn) >> void >> std::terminate() _NOEXCEPT >> { >> >> >> _______________________________________________ >> 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
