> On Oct 1, 2014, at 9:22 AM, Agustín K-ballo Bergé <[email protected]> 
> wrote:
> 
> Hi Argyrios
> 
> On 30/09/2014 10:45 p.m., Argyrios Kyrtzidis wrote:
>> Hi Marshall,
>> 
>> This seems to have caused a regression with Objective-C++, see the following 
>> test case:
>> 
>> #include <type_traits>
>> 
>> class CXXForwardClass;
>> @class ObjCForwardClass;
>> 
>> static_assert(std::is_trivially_destructible<CXXForwardClass*>::value == 
>> true, "it is true"); // true
>> static_assert(std::is_trivially_destructible<ObjCForwardClass*>::value == 
>> true, "it is true"); // false ?
> 
> This sounds like a pre-existing issue to me. Does the following test case 
> hold?
> 
>  static_assert(std::is_destructible<CXXForwardClass*>::value == true, "it is 
> true"); // true
>  static_assert(std::is_destructible<ObjCForwardClass*>::value == true, "it is 
> true"); // false ?

No, that doesn’t work either.

> 
>>> On Sep 2, 2014, at 9:19 AM, Marshall Clow <[email protected]> wrote:
>>> 
>>> Author: marshall
>>> Date: Tue Sep  2 11:19:38 2014
>>> New Revision: 216909
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=216909&view=rev
>>> Log:
>>> Fix PR#20834 - 'is_trivially_destructible yeilds wrong answer for arrays of 
>>> unknown bound' Thanks to K-ballo for the bug report. Update a few of the 
>>> other tests while we're here, and fix a typo in a test name.
>>> 
>>> --- libcxx/trunk/include/type_traits (original)
>>> +++ libcxx/trunk/include/type_traits Tue Sep  2 11:19:38 2014
>>> @@ -2861,7 +2861,7 @@ template <class _Tp> struct _LIBCPP_TYPE
>>> #if __has_feature(has_trivial_destructor) || (_GNUC_VER >= 403)
>>> 
>>> template <class _Tp> struct _LIBCPP_TYPE_VIS_ONLY is_trivially_destructible
>>> -    : public integral_constant<bool, __has_trivial_destructor(_Tp)> {};
>>> +    : public integral_constant<bool, is_destructible<_Tp>::value && 
>>> __has_trivial_destructor(_Tp)> {};
> 
> This is the relevant change ^. Something that is not destructible cannot be 
> trivially destructible by definition.

Right, but the issue wasn’t exposed until r216909.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to