aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/method.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-03-05 13:07:12 -0500
committerJason Merrill <jason@gcc.gnu.org>2012-03-05 13:07:12 -0500
commitbb828cc7f3150eee83a0f3d4d26a85806d93fb0c (patch)
treebd476b349706604dfb078049fff767d0a2db5e56 /gcc/cp/method.c
parentc3f87aa90913654a711c671568ec5bf9488a4440 (diff)
downloadgcc-bb828cc7f3150eee83a0f3d4d26a85806d93fb0c.zip
gcc-bb828cc7f3150eee83a0f3d4d26a85806d93fb0c.tar.gz
gcc-bb828cc7f3150eee83a0f3d4d26a85806d93fb0c.tar.bz2
method.c (synthesized_method_walk): Cleanups don't affect the EH spec either.
* method.c (synthesized_method_walk): Cleanups don't affect the EH spec either. From-SVN: r184945
Diffstat (limited to 'gcc/cp/method.c')
-rw-r--r--gcc/cp/method.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/cp/method.c b/gcc/cp/method.c
index cf2a713..0718916 100644
--- a/gcc/cp/method.c
+++ b/gcc/cp/method.c
@@ -1272,8 +1272,11 @@ synthesized_method_walk (tree ctype, special_function_kind sfk, bool const_p,
rval = locate_fn_flags (base_binfo, complete_dtor_identifier,
NULL_TREE, flags, complain);
/* Note that we don't pass down trivial_p; the subobject
- destructors don't affect triviality of the constructor. */
- process_subob_fn (rval, false, spec_p, NULL,
+ destructors don't affect triviality of the constructor. Nor
+ do they affect constexpr-ness (a constant expression doesn't
+ throw) or exception-specification (a throw from one of the
+ dtors would be a double-fault). */
+ process_subob_fn (rval, false, NULL, NULL,
deleted_p, NULL, NULL,
basetype);
}