diff options
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/toplev.c | 7 |
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7bf3b853dd8..55b82b16b2a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Tue Aug 22 21:21:05 2000 J"orn Rennecke <amylaar@cygnus.co.uk> + + * toplev.c (rest_of_compilation): Rebuild label notes after + post-reload splitting pass if new labels have been created. + 2000-08-22 Gabriel Dos Reis <gdr@codesourcery.com> * diagnostic.h (output_buffer_state): New macro. diff --git a/gcc/toplev.c b/gcc/toplev.c index 225549ac7ba..55ff15d28fa 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -3380,7 +3380,12 @@ rest_of_compilation (decl) /* If optimizing, then go ahead and split insns now since we are about to recompute flow information anyway. */ if (optimize > 0) - split_all_insns (0); + { + int old_labelnum = max_label_num (); + + split_all_insns (0); + rebuild_label_notes_after_reload |= old_labelnum != max_label_num (); + } /* Register allocation and reloading may have turned an indirect jump into a direct jump. If so, we must rebuild the JUMP_LABEL fields of |

