Commit b84dad8e by Jakub Jelinek Committed by Jakub Jelinek

re PR bootstrap/50010 (bootstrap comparison failure without CFI directives)

	PR bootstrap/50010
	* dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
	NOTE_INSN_CFI notes, with the exception of
	NOTE_INSN_SWITCH_TEXT_SECTIONS.

From-SVN: r178795
parent 3bd0817d
2011-09-12 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/50010
* dwarf2cfi.c (add_cfis_to_fde): Ignore non-active insns in between
NOTE_INSN_CFI notes, with the exception of
NOTE_INSN_SWITCH_TEXT_SECTIONS.
2011-09-12 Bernd Schmidt <bernds@codesourcery.com> 2011-09-12 Bernd Schmidt <bernds@codesourcery.com>
Richard Sandiford <rdsandiford@googlemail.com> Richard Sandiford <rdsandiford@googlemail.com>
...@@ -2153,11 +2153,18 @@ add_cfis_to_fde (void) ...@@ -2153,11 +2153,18 @@ add_cfis_to_fde (void)
if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_CFI) if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_CFI)
{ {
bool required = cfi_label_required_p (NOTE_CFI (insn)); bool required = cfi_label_required_p (NOTE_CFI (insn));
while (next && NOTE_P (next) && NOTE_KIND (next) == NOTE_INSN_CFI) while (next)
{ if (NOTE_P (next) && NOTE_KIND (next) == NOTE_INSN_CFI)
required |= cfi_label_required_p (NOTE_CFI (next)); {
required |= cfi_label_required_p (NOTE_CFI (next));
next = NEXT_INSN (next);
}
else if (active_insn_p (next)
|| (NOTE_P (next) && (NOTE_KIND (next)
== NOTE_INSN_SWITCH_TEXT_SECTIONS)))
break;
else
next = NEXT_INSN (next); next = NEXT_INSN (next);
}
if (required) if (required)
{ {
int num = dwarf2out_cfi_label_num; int num = dwarf2out_cfi_label_num;
...@@ -2178,7 +2185,9 @@ add_cfis_to_fde (void) ...@@ -2178,7 +2185,9 @@ add_cfis_to_fde (void)
do do
{ {
VEC_safe_push (dw_cfi_ref, gc, fde->dw_fde_cfi, NOTE_CFI (insn)); if (NOTE_P (insn) && NOTE_KIND (insn) == NOTE_INSN_CFI)
VEC_safe_push (dw_cfi_ref, gc, fde->dw_fde_cfi,
NOTE_CFI (insn));
insn = NEXT_INSN (insn); insn = NEXT_INSN (insn);
} }
while (insn != next); while (insn != next);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment