diff options
author | Tom Tromey <tromey@redhat.com> | 2008-02-29 12:55:06 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2008-02-29 12:55:06 +0000 |
commit | 0a5fe1104e1a3d5a582248a434777951c0199837 (patch) | |
tree | 25913b4e0b76c5a0ab05d84339e5149bd388d1b0 /gcc | |
parent | b0fbea136ef18450fdc326a7ea6a35deca625448 (diff) | |
download | gcc-0a5fe1104e1a3d5a582248a434777951c0199837.zip gcc-0a5fe1104e1a3d5a582248a434777951c0199837.tar.gz gcc-0a5fe1104e1a3d5a582248a434777951c0199837.tar.bz2 |
expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on method.
* expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
method.
* java-tree.h (struct lang_decl_func): Remove obsolete comment.
From-SVN: r132767
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 5 | ||||
-rw-r--r-- | gcc/java/java-tree.h | 4 |
3 files changed, 12 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 90f9a0c..eed2fd2 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2008-02-29 Tom Tromey <tromey@redhat.com> + + * expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on + method. + * java-tree.h (struct lang_decl_func): Remove obsolete comment. + 2008-02-26 Tom Tromey <tromey@redhat.com> * lang.c (java_post_options): Remove conditional. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index c174ed9..b113df1 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -3132,6 +3132,7 @@ expand_byte_code (JCF *jcf, tree method) int dead_code_index = -1; unsigned char* byte_ops; long length = DECL_CODE_LENGTH (method); + location_t max_location = input_location; stack_pointer = 0; JCF_SEEK (jcf, DECL_CODE_OFFSET (method)); @@ -3219,6 +3220,8 @@ expand_byte_code (JCF *jcf, tree method) { int line = GET_u2 (linenumber_pointer - 2); input_location = linemap_line_start (line_table, line, 1); + if (input_location > max_location) + max_location = input_location; if (!(instruction_bits[PC] & BCODE_HAS_MULTI_LINENUMBERS)) break; } @@ -3238,6 +3241,8 @@ expand_byte_code (JCF *jcf, tree method) warning (0, "unreachable bytecode from %d to the end of the method", dead_code_index); } + + DECL_FUNCTION_LAST_LINE (method) = max_location; } static void diff --git a/gcc/java/java-tree.h b/gcc/java/java-tree.h index a19d400..494c428 100644 --- a/gcc/java/java-tree.h +++ b/gcc/java/java-tree.h @@ -1,7 +1,7 @@ /* Definitions for parsing and type checking for the GNU compiler for the Java(TM) language. Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This file is part of GCC. @@ -793,8 +793,6 @@ struct lang_decl_func GTY(()) int max_locals; int max_stack; int arg_slot_count; - /* A temporary lie for the sake of ggc. Actually, last_line is - only a source_location if USE_MAPPED_LOCATION. FIXME. */ source_location last_line; /* End line number for a function decl */ tree throws_list; /* Exception specified by `throws' */ |