[cfe-commits] [Patch review request] Binary type traits

Douglas Gregor dgregor at apple.com
Thu Jan 27 14:36:00 PST 2011


On Jan 27, 2011, at 12:55 PM, Howard Hinnant wrote:

> On Jan 27, 2011, at 3:52 PM, Douglas Gregor wrote:
> 
>> 
>> On Jan 27, 2011, at 12:45 PM, Howard Hinnant wrote:
>> 
>>> On Jan 27, 2011, at 3:31 PM, Douglas Gregor wrote:
>>> 
>>>> 
>>>> On Jan 27, 2011, at 10:13 AM, Howard Hinnant wrote:
>>>> 
>>>>> On Sep 17, 2010, at 7:00 PM, Steven Watanabe wrote:
>>>>> 
>>>>>> AMDG
>>>>>> 
>>>>>> The attached patch implements __is_base_of and __is_convertible_to.
>>>>>> These are the last intrinsics required to compile the <type_traits> header
>>>>>> that ships with MSVC 10.0.
>>>>>> 
>>>>>> In Christ,
>>>>>> Steven Watanabe
>>>>>> 
>>>>>> <binary_type_traits.patch>_______________________________________________
>>>>>> cfe-commits mailing list
>>>>>> cfe-commits at cs.uiuc.edu
>>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>>> 
>>>>> Ping.  What is the status of this patch?  libc++ is in desperate need of __is_convertible_to.
>>>> 
>>>> I've updated the patch and committed it as r124425. Thanks, Steven!
>>> 
>>> Excellent, thanks Doug!  I believe that's going to fix about a hundred libc++/clang++0x test failures!
>> 
>> FWIW, I noticed that I needed one tweak to libc++/test/container/MoveOnly.h to really make switching to __is_convertible_to useful: instead of declaring the copy constructor and copy assignment operator as private, I declared them as deleted (when deleted functions are available, which they are in Clang).
>> 
>> Or you could wait... I'm in the process of teaching __is_convertible_to to do the right thing when there are access control failures, which will make the MoveOnly.h tweak irrelevant.
> 
> <nod> Thanks for the warning.  If you're working on it now, I'll just wait.  Lot's of stuff on my to-do queue.  I won't actually be waiting on you. :-)

FWIW, __is_convertible_to should be reliable in Clang r124446. I was able to compile some move-related tests in libc++ that used to fail because of the private MoveOnly copy constructor.

	- Doug



More information about the cfe-commits mailing list