aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/var-tracking.c4
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);