This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: [C++ PATCH, RFC] Implement new C++ intrinsics __is_assignable and __is_constructible.
- From: Jason Merrill <jason at redhat dot com>
- To: Ville Voutilainen <ville dot voutilainen at gmail dot com>
- Cc: Daniel Krügler <daniel dot kruegler at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Tue, 16 May 2017 14:44:45 -0400
- Subject: Re: [C++ PATCH, RFC] Implement new C++ intrinsics __is_assignable and __is_constructible.
- Authentication-results: sourceware.org; auth=none
- References: <CAFk2RUZAj3wo0_ExOsRwZkMW-YvFjM4mtBi2-C+kHzX5ziTziw@mail.gmail.com> <CAGNvRgB23PyyzpxhkXbrUNesvtZXyKVGLNsEt=P78x0RSS3BsQ@mail.gmail.com> <CAFk2RUafnmokecDgnM3OFb0FZrqx8zNNiCVjE_FV=GN4uD7npQ@mail.gmail.com> <CAFk2RUb1sf7QNTGqEujfx2YmxJsx1+EuTca2GWs=t8ufVJQ6jA@mail.gmail.com>
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