Re: [C++/66443] deleted ctor and vbase construction

2016-10-07 Thread Jason Merrill
OK. On Fri, Oct 7, 2016 at 6:31 AM, Nathan Sidwell wrote: > On 10/05/16 19:49, Jason Merrill wrote: > >> But DR 1658 says that B::B is *not* deleted (because A is not a >> potentially constructed subobject). Implementing that might be >> simpler than trying to have a deleted complete and non-del

Re: [C++/66443] deleted ctor and vbase construction

2016-10-07 Thread Nathan Sidwell
On 10/05/16 19:49, Jason Merrill wrote: But DR 1658 says that B::B is *not* deleted (because A is not a potentially constructed subobject). Implementing that might be simpler than trying to have a deleted complete and non-deleted base constructor variant. Always better to read the actual DR r

Re: [C++/66443] deleted ctor and vbase construction

2016-10-06 Thread Nathan Sidwell
On 10/05/16 19:49, Jason Merrill wrote: But DR 1658 says that B::B is *not* deleted (because A is not a potentially constructed subobject). oo, I'd not noticed that. It certainly might make things much simpler. Essentially a check for ABSTRACT_TYPE_P somewhere in that code. nathan

Re: [C++/66443] deleted ctor and vbase construction

2016-10-05 Thread Jason Merrill
On Fri, Sep 30, 2016 at 1:39 PM, Nathan Sidwell wrote: > PR 66443 concerns C++14 DR1611. It is now permitted to use the base-ctor of > an abstract class whos complete ctor is deleted because of a virtual base > issue. Specifically, given > > class A { > A (int); > // no default ctor in C++14 >

Re: [C++/66443] virtual base of abstract class

2015-08-03 Thread Nathan Sidwell
On 08/02/15 23:44, Jason Merrill wrote: It seems to me that DR 1658 ignores vbases of abstract classes for determining whether a destructor is deleted, but says nothing about exception specifications. DR 1351 specifically ignores vbases of abstract classes for determining the exception specifi

Re: [C++/66443] virtual base of abstract class

2015-08-02 Thread Jason Merrill
On 08/01/2015 07:31 PM, Nathan Sidwell wrote: Ok, this patch fixes things up. The previous version was a little too lax, extending the logic of DR1611 to all synthesized functions. However, this broke virtual synthesized dtors, in that an abstract class's synthesized dtor's exception specificati

Re: [C++/66443] virtual base of abstract class

2015-08-01 Thread Nathan Sidwell
On 07/17/15 15:59, Nathan Sidwell wrote: On 07/17/15 15:42, Jason Merrill wrote: On 07/08/2015 10:50 AM, Nathan Sidwell wrote: On 06/30/15 19:21, Nathan Sidwell wrote: On 06/30/15 00:19, Jason Merrill wrote: On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_wal

Re: [C++/66443] virtual base of abstract class

2015-07-17 Thread Nathan Sidwell
On 07/17/15 15:42, Jason Merrill wrote: On 07/08/2015 10:50 AM, Nathan Sidwell wrote: On 06/30/15 19:21, Nathan Sidwell wrote: On 06/30/15 00:19, Jason Merrill wrote: On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_walk): Skip virtual bases of abstract cla

Re: [C++/66443] virtual base of abstract class

2015-07-17 Thread Jason Merrill
On 07/08/2015 10:50 AM, Nathan Sidwell wrote: On 06/30/15 19:21, Nathan Sidwell wrote: On 06/30/15 00:19, Jason Merrill wrote: On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_walk): Skip virtual bases of abstract classes in C++14 mode. Let's not limit thi

Re: [C++/66443] virtual base of abstract class

2015-07-08 Thread Nathan Sidwell
On 06/30/15 19:21, Nathan Sidwell wrote: On 06/30/15 00:19, Jason Merrill wrote: On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_walk): Skip virtual bases of abstract classes in C++14 mode. Let's not limit this to C++14 mode; most DRs apply to earlier stan

Re: [C++/66443]

2015-06-30 Thread Nathan Sidwell
On 06/30/15 00:19, Jason Merrill wrote: On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_walk): Skip virtual bases of abstract classes in C++14 mode. Let's not limit this to C++14 mode; most DRs apply to earlier standards as well. ok, works for me. (sorry

Re: [C++/66443]

2015-06-29 Thread Jason Merrill
On 06/29/2015 06:57 PM, Nathan Sidwell wrote: * method.c (synthesized_method_walk): Skip virtual bases of abstract classes in C++14 mode. Let's not limit this to C++14 mode; most DRs apply to earlier standards as well. Jason