mirror of git://gcc.gnu.org/git/gcc.git
PR c++/88830 - ICE with abstract class.
* decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR. Fix formatting. * g++.dg/other/abstract7.C: New test. From-SVN: r267924
This commit is contained in:
parent
2d91f79dc9
commit
345364cf7f
|
|
@ -1,3 +1,9 @@
|
|||
2019-01-14 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/88830 - ICE with abstract class.
|
||||
* decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR.
|
||||
Fix formatting.
|
||||
|
||||
2019-01-14 Tom Honermann <tom@honermann.net>
|
||||
|
||||
Implement P0482R5, char8_t: A type for UTF-8 characters and strings
|
||||
|
|
|
|||
|
|
@ -2229,8 +2229,9 @@ maybe_emit_vtables (tree ctype)
|
|||
never get generated. */
|
||||
if (CLASSTYPE_PURE_VIRTUALS (ctype)
|
||||
&& TYPE_HAS_NONTRIVIAL_DESTRUCTOR (ctype)
|
||||
&& DECL_DEFAULTED_IN_CLASS_P(CLASSTYPE_DESTRUCTOR(ctype)))
|
||||
note_vague_linkage_fn (CLASSTYPE_DESTRUCTOR(ctype));
|
||||
&& !CLASSTYPE_LAZY_DESTRUCTOR (ctype)
|
||||
&& DECL_DEFAULTED_IN_CLASS_P (CLASSTYPE_DESTRUCTOR (ctype)))
|
||||
note_vague_linkage_fn (CLASSTYPE_DESTRUCTOR (ctype));
|
||||
|
||||
/* Since we're writing out the vtable here, also write the debug
|
||||
info. */
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
2019-01-14 Marek Polacek <polacek@redhat.com>
|
||||
|
||||
PR c++/88830 - ICE with abstract class.
|
||||
* g++.dg/other/abstract7.C: New test.
|
||||
|
||||
2019-01-14 Martin Sebor <msebor@redhat.com>
|
||||
|
||||
PR target/88638
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
// PR c++/88830
|
||||
|
||||
struct a {
|
||||
~a();
|
||||
};
|
||||
class b {
|
||||
virtual void c(int &);
|
||||
};
|
||||
class C : b {
|
||||
void c(int &);
|
||||
virtual int d() = 0;
|
||||
a e;
|
||||
};
|
||||
void C::c(int &) {}
|
||||
Loading…
Reference in New Issue