diff options
Diffstat (limited to 'gcc/java/jcf-parse.c')
-rw-r--r-- | gcc/java/jcf-parse.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/gcc/java/jcf-parse.c b/gcc/java/jcf-parse.c index ccf6d34d..29c257f 100644 --- a/gcc/java/jcf-parse.c +++ b/gcc/java/jcf-parse.c @@ -929,6 +929,21 @@ parse_class_file (void) give_name_to_locals (jcf); + /* Bump up start_label_pc_this_method so we get a unique label number + and reset highest_label_pc_this_method. */ + if (highest_label_pc_this_method >= 0) + { + /* We adjust to the next multiple of 1000. This is just a frill + so the last 3 digits of the label number match the bytecode + offset, which might make debugging marginally more convenient. */ + start_label_pc_this_method + = ((((start_label_pc_this_method + highest_label_pc_this_method) + / 1000) + + 1) + * 1000); + highest_label_pc_this_method = -1; + } + /* Convert bytecode to trees. */ expand_byte_code (jcf, method); |