From: Jason Merrill Date: Sat, 4 Mar 2006 01:29:35 +0000 (-0500) Subject: add comment X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=8a48be3a16675308704e80694f6a600b7ad2ead9;p=gcc.git add comment From-SVN: r111701 --- diff --git a/gcc/cp/except.c b/gcc/cp/except.c index 87e958676fa..d82c07ff329 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -724,7 +724,11 @@ build_throw (tree exp) temp_expr = NULL_TREE; stabilize_init (exp, &temp_expr); + /* Wrap the initialization in a CLEANUP_POINT_EXPR so that cleanups + for temporaries within the initialization are run before the one + for the exception object, preserving LIFO order. */ exp = build1 (CLEANUP_POINT_EXPR, TREE_TYPE (exp), exp); + if (elided) exp = build2 (TRY_CATCH_EXPR, void_type_node, exp, do_free_exception (ptr));