aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/cp/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/cp/search.c')
-rw-r--r--gcc-4.9/gcc/cp/search.c16
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