re PR debug/45939 (Wrong debug info: Negative location range generated)

2010-11-06  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	PR debug/45939
	* var-tracking.c (emit_note_insn_var_location): Make sure that
	call related var location notes come before the normal ones.

From-SVN: r166396
This commit is contained in:
Andreas Krebbel 2010-11-06 06:31:02 +00:00 committed by Andreas Krebbel
parent 77bb7c610a
commit 8784e5ac5f
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2010-11-06 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
PR debug/45939
* var-tracking.c (emit_note_insn_var_location): Make sure that
call related var location notes come before the normal ones.
2010-11-05 H.J. Lu <hongjiu.lu@intel.com>
PR target/46326

View file

@ -7339,7 +7339,17 @@ emit_note_insn_var_location (void **varp, void *data)
NOTE_DURING_CALL_P (note) = true;
}
else
note = emit_note_before (NOTE_INSN_VAR_LOCATION, insn);
{
/* Make sure that the call related notes come first. */
while (NEXT_INSN (insn)
&& NOTE_P (insn)
&& NOTE_DURING_CALL_P (insn))
insn = NEXT_INSN (insn);
if (NOTE_P (insn) && NOTE_DURING_CALL_P (insn))
note = emit_note_after (NOTE_INSN_VAR_LOCATION, insn);
else
note = emit_note_before (NOTE_INSN_VAR_LOCATION, insn);
}
NOTE_VAR_LOCATION (note) = note_vl;
clear: