[cfe-commits] [libcxx] r136526 - in /libcxx/trunk: include/__config include/memory src/exception.cpp

Howard Hinnant hhinnant at apple.com
Fri Jul 29 15:02:36 PDT 2011


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
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
> 




More information about the cfe-commits mailing list