------- Comment #11 from hjl dot tools at gmail dot com 2009-07-24 14:16 ------- (In reply to comment #10) > Subject: Re: [4.5 Regression] Revision 149750 failed > 483.xalancbmk in SPEC CPU 2006 > > On Thu, 23 Jul 2009, hjl dot tools at gmail dot com wrote: > > > ------- Comment #9 from hjl dot tools at gmail dot com 2009-07-23 19:16 > > ------- > > This patch: > > > > Index: cp-gimplify.c > > =================================================================== > > --- cp-gimplify.c (revision 149933) > > +++ cp-gimplify.c (working copy) > > @@ -804,15 +804,6 @@ cp_genericize_r (tree *stmt_p, int *walk > > } > > } > > > > - else if (TREE_CODE (stmt) == BIND_EXPR) > > - { > > - VEC_safe_push (tree, heap, wtd->bind_expr_stack, stmt); > > - cp_walk_tree (&BIND_EXPR_BODY (stmt), > > - cp_genericize_r, data, NULL); > > - VEC_pop (tree, wtd->bind_expr_stack); > > - *walk_subtrees = 0; > > - } > > - > > else if (TREE_CODE (stmt) == USING_STMT) > > { > > tree block = NULL_TREE; > > > > fixed the problem. Does it make any senses? > > Not really. It will break debug information for using declarations. > > If you add cp_walk_trees to BIND_EXPR_VARS and/or BIND_EXPR_BLOCK > does that fix it? > > Richard. > I tried
Index: cp-gimplify.c =================================================================== --- cp-gimplify.c (revision 149933) +++ cp-gimplify.c (working copy) @@ -807,6 +807,10 @@ cp_genericize_r (tree *stmt_p, int *walk else if (TREE_CODE (stmt) == BIND_EXPR) { VEC_safe_push (tree, heap, wtd->bind_expr_stack, stmt); + cp_walk_tree (&BIND_EXPR_VARS (stmt), + cp_genericize_r, data, NULL); + cp_walk_tree (&BIND_EXPR_BLOCK (stmt), + cp_genericize_r, data, NULL); cp_walk_tree (&BIND_EXPR_BODY (stmt), cp_genericize_r, data, NULL); VEC_pop (tree, wtd->bind_expr_stack); It doesn't help. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40834