aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/decl.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index 9b17144..fa2580f 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2006-05-25 Andrew Haley <aph@redhat.com>
+
+ PR java/27756
+ * decl.c (maybe_pushlevels): When variable ranges are non-nested
+ update all lifetimes, not just the first one.
+
2006-05-24 Tom Tromey <tromey@redhat.com>
* java-tree.h: Fixed flag documentation.
diff --git a/gcc/java/decl.c b/gcc/java/decl.c
index 302df65..d4bd01c 100644
--- a/gcc/java/decl.c
+++ b/gcc/java/decl.c
@@ -1785,8 +1785,10 @@ maybe_pushlevels (int pc)
truncating variable lifetimes. */
if (end_pc > current_binding_level->end_pc)
{
+ tree t;
end_pc = current_binding_level->end_pc;
- DECL_LOCAL_END_PC (decl) = end_pc;
+ for (t = decl; t != NULL_TREE; t = TREE_CHAIN (t))
+ DECL_LOCAL_END_PC (t) = end_pc;
}
maybe_start_try (pc, end_pc);