diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/var-tracking.c | 4 |
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b045a0d..fbf1652 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2006-11-23 Bernd Schmidt <bernd.schmidt@analog.com> + + * var-tracking.c (emit_note_insn_var_location): Take care not to + cause verify_flow_info failures. + 2006-11-22 Daniel Berlin <dberlin@dberlin.org> * tree-ssa-structalias.c: Remove edge weights in favor of just diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 815faca..c4bef66 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -2443,7 +2443,9 @@ emit_note_insn_var_location (void **varp, void *data) complete = false; if (where == EMIT_NOTE_AFTER_INSN) - note = emit_note_after (NOTE_INSN_VAR_LOCATION, insn); + /* emit_note_after can insert a note after a flow-control insn in a basic + block. That causes verify_flow_info failures. */ + note = emit_note_before (NOTE_INSN_VAR_LOCATION, NEXT_INSN (insn)); else note = emit_note_before (NOTE_INSN_VAR_LOCATION, insn); |