[C++ PATCH, RFC] Implement new C++ intrinsics __is_assignable and __is_constructible.

Jason Merrill jason@redhat.com
Tue May 16 18:46:00 GMT 2017


On Fri, May 12, 2017 at 2:33 PM, Ville Voutilainen
<ville.voutilainen@gmail.com> wrote:
> On 12 May 2017 at 14:15, Ville Voutilainen <ville.voutilainen@gmail.com> wrote:
>> On 12 May 2017 at 14:06, Daniel Krügler <daniel.kruegler@gmail.com> wrote:
>>> Your description sounds remotely similar to me to the current problem
>>> of __is_trivially_constructible intrinsic, which seems to instantiate
>>> the copy constructor definition albeit it (IMO) shouldn't:
>>>
>>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80654
>>>
>>> Could there be a similar cause?
>>
>>
>> Seems quite plausible to me. I would be happy to fix that bug in the
>> same go, but I'm a bit
>> lost as to what exactly causes the problem. constructible_expr in method.c does
>> build_special_member_call for the constructor and the destructor, so
>> perhaps there
>> are some flags that could make it behave.
>
> Well, now that Jason pointed out that cp_unevaluated_operand is the
> trick, here's a new
> patch that fixes that bug and passes the full testsuite on Linux-x64.

OK, thanks.

Jason



More information about the Gcc-patches mailing list