aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/class.c')
-rw-r--r--gcc/cp/class.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/gcc/cp/class.c b/gcc/cp/class.c
index 597ec92..00e6a7e 100644
--- a/gcc/cp/class.c
+++ b/gcc/cp/class.c
@@ -2485,17 +2485,11 @@ add_implicitly_declared_members (tree t,
default_fn = implicitly_declare_fn (sfk_destructor, t, /*const_p=*/0);
check_for_override (default_fn, t);
- /* If we couldn't make it work, then pretend we didn't need it. */
- if (default_fn == void_type_node)
- TYPE_HAS_NONTRIVIAL_DESTRUCTOR (t) = 0;
- else
- {
- TREE_CHAIN (default_fn) = implicit_fns;
- implicit_fns = default_fn;
-
- if (DECL_VINDEX (default_fn))
- virtual_dtor = default_fn;
- }
+ TREE_CHAIN (default_fn) = implicit_fns;
+ implicit_fns = default_fn;
+
+ if (DECL_VINDEX (default_fn))
+ virtual_dtor = default_fn;
}
else
/* Any non-implicit destructor is non-trivial. */