This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: RE : Problem with _Hashtable_ebo_helper
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: François Dumont <frs dot dumont at gmail dot com>, "libstdc++" <libstdc++ at gcc dot gnu dot org>
- Date: Mon, 28 Oct 2013 11:42:28 +0000
- Subject: Re: RE : Problem with _Hashtable_ebo_helper
- Authentication-results: sourceware.org; auth=none
- References: <526590F3 dot 6070505 at redhat dot com> <s68065723591507235000 at gmail dot com> <52680F5D dot 4020908 at redhat dot com>
On 23 October 2013 19:03, Jason Merrill wrote:
> On 10/23/2013 02:53 AM, frs.dumont@gmail.com wrote:
>>
>> That is indeed an issue. We have to force the 3rd template parameter to
>> true in this context because we are using _Hastable_ebo_helper here only
>> for convenience to access protected default ctor if any. We know that
>> _Hashtable_code_base is not final so it is safe to force true. I'll
>> submit a patch when back home.
>
>
> I assume you mean the following; I'm going to check it in now to avoid
> regressions from my front end patch. I'm still interested in feedback on my
> proposed change to the default template argument.
Sorry for the delay. I'm in favour of that change to use inheritance
when the type's not default constructible. Obviously it only helps
when there's a protected default constructor, not when there's a
private default constructor or no default constructor at all, but
those cases can't work anyway.
The comment and name of the parameter are a little misleading now, as
EBO won't be used for non-empty types, the parameter really means "use
inheritance" after the change, not "use EBO".