re PR c++/16034 (dtor called prematurely for while-loop scoped variable)
PR c++/16034
* c-gimplify.c (gimplify_condition): Remove.
(gimplify_c_loop, gimplify_if_stmt, gimplify_switch_stmt): Don't
call it.
cp/
* semantics.c (begin_cond): New.
(finish_cond): Rewrite to handle template DECL_STMTs specially.
Assume that non-template decls go land before the conditional.
(simplify_loop_decl_cond): Likewise.
(begin_if_stmt, finish_if_stmt_cond, begin_while_stmt,
finish_while_stmt_cond, finish_for_init_stmt, finish_for_cond,
begin_switch_stmt, finish_switch_cond): Update to match.
From-SVN: r83368