semantics.c (finish_for_stmt): Always test flag_new_for_scope.

* semantics.c (finish_for_stmt): Always test flag_new_for_scope.
	(begin_range_for_stmt): Likewise.

From-SVN: r164251
This commit is contained in:
Rodrigo Rivas Costa 2010-09-13 17:38:34 +00:00 committed by Jason Merrill
parent e196b22163
commit a8733ebff6
2 changed files with 12 additions and 13 deletions

View File

@ -1,3 +1,8 @@
2010-09-13 Rodrigo Rivas Costa <rodrigorivascosta@gmail.com>
* semantics.c (finish_for_stmt): Always test flag_new_for_scope.
(begin_range_for_stmt): Likewise.
2010-09-11 Rodrigo Rivas <rodrigorivascosta@gmail.com>
Implement range-based for-statements.

View File

@ -882,21 +882,13 @@ finish_for_expr (tree expr, tree for_stmt)
void
finish_for_stmt (tree for_stmt)
{
bool scoped;
if (TREE_CODE (for_stmt) == RANGE_FOR_STMT)
{
RANGE_FOR_BODY (for_stmt) = do_poplevel (RANGE_FOR_BODY (for_stmt));
scoped = true;
}
RANGE_FOR_BODY (for_stmt) = do_poplevel (RANGE_FOR_BODY (for_stmt));
else
{
FOR_BODY (for_stmt) = do_poplevel (FOR_BODY (for_stmt));
scoped = flag_new_for_scope > 0;
}
FOR_BODY (for_stmt) = do_poplevel (FOR_BODY (for_stmt));
/* Pop the scope for the body of the loop. */
if (scoped)
if (flag_new_for_scope > 0)
{
tree scope = TREE_CHAIN (for_stmt);
TREE_CHAIN (for_stmt) = NULL;
@ -913,10 +905,12 @@ tree
begin_range_for_stmt (void)
{
tree r;
r = build_stmt (input_location, RANGE_FOR_STMT,
NULL_TREE, NULL_TREE, NULL_TREE);
/* We can ignore flag_new_for_scope here. */
TREE_CHAIN (r) = do_pushlevel (sk_for);
if (flag_new_for_scope > 0)
TREE_CHAIN (r) = do_pushlevel (sk_for);
return r;
}