RFA (make_dispatcher_decl): PATCH for c++/83911, ICE with multiversioned constructor

Jason Merrill jason@redhat.com
Fri Mar 16 13:50:00 GMT 2018


On Thu, Mar 15, 2018 at 4:50 AM, Richard Biener
<richard.guenther@gmail.com> wrote:
> On Wed, Mar 14, 2018 at 8:57 PM, Jason Merrill <jason@redhat.com> wrote:
>> Ping
>>
>> On Fri, Mar 2, 2018 at 1:23 PM, Jason Merrill <jason@redhat.com> wrote:
>>> As I mentioned in the PR, the problem here is that we're replacing a
>>> constructor with a dispatcher function which doesn't look much like a
>>> constructor.  This patch adjusts make_dispatcher_decl to make it look
>>> more like the functions it dispatches to, but other things are certain
>>> to break for similar reasons down the road.  A proper solution should
>>> be more transparent, like thunks.
>>>
>>> Tested x86_64-pc-linux-gnu.  Does this seem worth applying to fix the
>>> regression?
>
> The patch looks reasonable to me, you probably know best whether
> the cp/ parts are risky or not ;)
>
> So - OK from my POV.
>
> And yes, thunks may be a better representation for the dispatcher.

It occurred to me that I could handle this more locally by deferring
the function substitution until genericization time, so this is what
I'm checking in:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 83911.diff
Type: text/x-patch
Size: 3094 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20180316/a8473aa3/attachment.bin>


More information about the Gcc-patches mailing list