[cfe-dev] Keyword warnings in libc++'s type_traits and other headers
mclow.lists at gmail.com
Tue Dec 24 10:51:16 PST 2013
On Dec 24, 2013, at 10:25 AM, Dimitry Andric <dimitry at andric.com> wrote:
> On 24 Dec 2013, at 05:58, Howard Hinnant <howard.hinnant at gmail.com> wrote:
>> On Dec 23, 2013, at 11:40 PM, Howard Hinnant <howard.hinnant at gmail.com> wrote:
>>> On Dec 23, 2013, at 8:28 PM, Alp Toker <alp at nuanti.com> wrote:
>>>> This would still conflict with the keyword in current clang versions and other compilers that don't have a quality __has_feature() implementation.
>>>> To reiterate, you'll do well to avoid the __is_* prefix entirely regardless of whether you can feature-test for individual availability of the keywords.
>>> Hi Alp. libc++ was using __is_void first. clang needs to avoid stepping on existing identifiers too. Get a __has_feature going and we're happy to meet you half way. Neither clang nor libc++ has full ownership of the __namespace. We have to share it. It would be just as silly for us to be telling you to avoid this space because we're likely to step on you in the future.
>> And in the future please coordinate and test with libc++ prior to introducing breaking changes. We need to work together. Not reacting in this uncoordinated fashion.
> Hi Howard,
> The change that actually 'broke' this was r130342, which was 2 years and 7 months ago, and introduced the Embarcadero __is_xxx keywords.
The change that introduced the __is_void, etc into libc++ was r103490, which was 3 years and 7 months ago.
(if you want to play silly “this happened a long time ago” games)
More information about the cfe-dev