re PR c++/24686 (ICE when building a variation of NMSTL)
PR c++/24686 * gimplify.c (gimplify_cleanup_point_expr): Also save and restore the cleanup list. From-SVN: r106786
This commit is contained in:
parent
301a8f9577
commit
df77f45463
@ -1,3 +1,9 @@
|
||||
2005-11-11 Jason Merrill <jason@redhat.com>
|
||||
|
||||
PR c++/24686
|
||||
* gimplify.c (gimplify_cleanup_point_expr): Also save and restore
|
||||
the cleanup list.
|
||||
|
||||
2005-11-11 Zdenek Dvorak <dvorakz@suse.cz>
|
||||
|
||||
PR rtl-optimization/22509
|
||||
|
@ -3810,14 +3810,18 @@ gimplify_cleanup_point_expr (tree *expr_p, tree *pre_p)
|
||||
tree temp = voidify_wrapper_expr (*expr_p, NULL);
|
||||
|
||||
/* We only care about the number of conditions between the innermost
|
||||
CLEANUP_POINT_EXPR and the cleanup. So save and reset the count. */
|
||||
CLEANUP_POINT_EXPR and the cleanup. So save and reset the count and
|
||||
any cleanups collected outside the CLEANUP_POINT_EXPR. */
|
||||
int old_conds = gimplify_ctxp->conditions;
|
||||
tree old_cleanups = gimplify_ctxp->conditional_cleanups;
|
||||
gimplify_ctxp->conditions = 0;
|
||||
gimplify_ctxp->conditional_cleanups = NULL_TREE;
|
||||
|
||||
body = TREE_OPERAND (*expr_p, 0);
|
||||
gimplify_to_stmt_list (&body);
|
||||
|
||||
gimplify_ctxp->conditions = old_conds;
|
||||
gimplify_ctxp->conditional_cleanups = old_cleanups;
|
||||
|
||||
for (iter = tsi_start (body); !tsi_end_p (iter); )
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user