diff options
author | Rodrigo Rivas Costa <rodrigorivascosta@gmail.com> | 2010-09-13 17:38:34 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2010-09-13 13:38:34 -0400 |
commit | a8733ebff646c02dbe622118ac6a39ba7d352d47 (patch) | |
tree | 717b544d1775023285f8c65f95d89b44c9e13991 /gcc | |
parent | e196b22163a6c1a723648b3f09501ebd586fa1c0 (diff) | |
download | gcc-a8733ebff646c02dbe622118ac6a39ba7d352d47.zip gcc-a8733ebff646c02dbe622118ac6a39ba7d352d47.tar.gz gcc-a8733ebff646c02dbe622118ac6a39ba7d352d47.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/semantics.c | 20 |
2 files changed, 12 insertions, 13 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 60936e0..ee9944c 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -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. diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index 0ae00e4..dc81568 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -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; } |