Making libcxx compile with gcc 4.6.4
Howard Hinnant
hhinnant at apple.com
Fri Nov 22 12:32:31 PST 2013
On Nov 21, 2013, at 11:02 AM, Marshall Clow <mclow.lists at gmail.com> wrote:
> On Nov 21, 2013, at 7:34 AM, Yaron Keren <yaron.keren at gmail.com> wrote:
>
>> Compiling libcxx with gcc 4.6.4 (MingW) produces these errors:
>>
>> type_traits:3280:31: error: expected primary-expression before 'decltype'
>> type_traits:3280:29: error: expected ';' at end of member declaration
>>
>> memory:2415:49: error: function 'std::__1::default_delete<_Tp>::default_delete()' defaulted on its first declaration must not have an exception-specification
>> memory:2435:49: error: function 'std::__1::default_delete<_Tp []>::default_delete()' defaulted on its first declaration must not have an exception-specification
>>
>> the attached patch defines _LIBCPP_HAS_NO_ADVANCED_SFINAE and _LIBCPP_HAS_NO_DEFAULTED_FUNCTIONS for gcc version < 4.7, making the library compile with gcc 4.6.4.
>>
>> Yaron
>
> I have no problems with the contents of this patch, but I think it’s time to ask a different question:
>
> What compilers are we willing to support for libc++?
> Do we care about gcc 4.6? 4.5? 4.4? 4.3? 4.2? 4.1?
> Is anyone testing with these compilers?
Imho we should not be supporting compilers for which no one is using libc++. Every additional compiler supported adds additional complexity to the libc++ code base. It isn't cost-free.
I think a rationale for every supported compiler needs to be made. We should know why we're supporting a compiler.
Howard
More information about the cfe-commits
mailing list