Re: PR C++/88114 - patch for destructor not generated for "virtual ~destructor() = default"

2019-01-11 Thread Jason Merrill
On 1/11/19 1:36 PM, Tobias Burnus wrote: Dear Jason, dear all, Jason Merrill wrote on 5 Dec 2018: You can get at the destructor with CLASSTYPE_DESTRUCTOR rather than walking through TYPE_FIELDS. I'd also check DECL_DEFAULTED_IN_CLASS_P. I'd also do this in maybe_emit_vtables rather than here,

Re: PR C++/88114 - patch for destructor not generated for "virtual ~destructor() = default"

2019-01-11 Thread Tobias Burnus
Dear Jason, dear all, Jason Merrill wrote on 5 Dec 2018: > You can get at the destructor with CLASSTYPE_DESTRUCTOR rather than walking > through TYPE_FIELDS. I'd also check DECL_DEFAULTED_IN_CLASS_P. > I'd also do this in maybe_emit_vtables rather than here, so that it only > happens once per

Re: PR C++/88114 - patch for destructor not generated for "virtual ~destructor() = default"

2018-12-05 Thread Jason Merrill
On 11/21/18 7:19 AM, Tobias Burnus wrote: Hello all, if a class contains any 'virtual ... = 0', it's an abstract class and for an abstract class, the destructor not added to the vtable. For a normal virtual ~class() { } that's not a problem as the class::~class() destructor will be

*PING*^3 [C++ Patch] – PR C++/88114 - PATCH for destructor not generated for "virtual ~destructor() = default"

2018-12-04 Thread Tobias Burnus
On Wed, Nov 28, 2018 at 09:35:53PM +0100, Tobias Burnus wrote: > On the 25th November 2018, schrieb Tobias Burnus wrote: > > On 21 November 2018, Tobias Burnus wrote: > > > Hello all, > > > > > > if a class contains any 'virtual ... = 0', it's an abstract class > > > and for an > > > abstract

Re: *ping*^2 – PR C++/88114 - PATCH for destructor not generated for "virtual ~destructor() = default"

2018-11-28 Thread Tobias Burnus
On the 25th November 2018, schrieb Tobias Burnus wrote: On 21 November 2018, Tobias Burnus wrote: Hello all, if a class contains any 'virtual ... = 0', it's an abstract class and for an abstract class, the destructor not added to the vtable. For a normal    virtual ~class() { } that's not

*ping* – PR C++/88114 - PATCH for destructor not generated for "virtual ~destructor() = default"

2018-11-25 Thread Tobias Burnus
On 21 November 2018, Tobias Burnus wrote: Hello all, if a class contains any 'virtual ... = 0', it's an abstract class and for an abstract class, the destructor not added to the vtable. For a normal virtual ~class() { } that's not a problem as the class::~class() destructor will be

PR C++/88114 - patch for destructor not generated for "virtual ~destructor() = default"

2018-11-21 Thread Tobias Burnus
Hello all, if a class contains any 'virtual ... = 0', it's an abstract class and for an abstract class, the destructor not added to the vtable. For a normal virtual ~class() { } that's not a problem as the class::~class() destructor will be generated during the parsing of the function. But