[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