diff options
author | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-02-29 12:55:06 +0000 |
---|---|---|
committer | tromey <tromey@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-02-29 12:55:06 +0000 |
commit | e0859e4a536bd443d95503803cbfb725165f71d5 (patch) | |
tree | 25913b4e0b76c5a0ab05d84339e5149bd388d1b0 /gcc/java/expr.c | |
parent | 607ac9100968a4144e5925574299ffd91d01a024 (diff) | |
download | gcc-e0859e4a536bd443d95503803cbfb725165f71d5.tar.gz |
* expr.c (expand_byte_code): Set DECL_FUNCTION_LAST_LINE on
method.
* java-tree.h (struct lang_decl_func): Remove obsolete comment.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132767 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/java/expr.c')
-rw-r--r-- | gcc/java/expr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/java/expr.c b/gcc/java/expr.c index c174ed9a41e..b113df1de9e 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 |