diff options
Diffstat (limited to 'gcc-4.9/gcc/cp/search.c')
-rw-r--r-- | gcc-4.9/gcc/cp/search.c | 16 |
1 files changed, 0 insertions, 16 deletions
diff --git a/gcc-4.9/gcc/cp/search.c b/gcc-4.9/gcc/cp/search.c index d99e18215..c3eed90f6 100644 --- a/gcc-4.9/gcc/cp/search.c +++ b/gcc-4.9/gcc/cp/search.c @@ -2115,22 +2115,6 @@ get_pure_virtuals (tree type) which it is a primary base will contain vtable entries for the pure virtuals in the base class. */ dfs_walk_once (TYPE_BINFO (type), NULL, dfs_get_pure_virtuals, type); - - /* Treat a virtual destructor in an abstract class as pure even if it - isn't declared as pure; there is no way it would be called through the - vtable except during construction, which causes undefined behavior. */ - if (CLASSTYPE_PURE_VIRTUALS (type) - && TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type)) - { - tree dtor = CLASSTYPE_DESTRUCTORS (type); - if (dtor && DECL_VIRTUAL_P (dtor) && !DECL_PURE_VIRTUAL_P (dtor)) - { - tree clone; - DECL_PURE_VIRTUAL_P (dtor) = true; - FOR_EACH_CLONE (clone, dtor) - DECL_PURE_VIRTUAL_P (clone) = true; - } - } } /* Debug info for C++ classes can get very large; try to avoid |