Commit 5b4275db by Joseph Myers Committed by Joseph Myers

re PR target/19886 (g++.dg/eh/registers1.C execution test fails)

	PR target/19886
	* config/ia64/ia64.h (struct machine_function): Add state_num.
	* config/ia64/ia64.c (process_epilogue,
	process_for_unwind_directive): Use new unwind state numbers each
	time rather than state 1.

From-SVN: r95234
parent d6083c7d
2005-02-18 Joseph S. Myers <joseph@codesourcery.com>
PR target/19886
* config/ia64/ia64.h (struct machine_function): Add state_num.
* config/ia64/ia64.c (process_epilogue,
process_for_unwind_directive): Use new unwind state numbers each
time rather than state 1.
2005-02-18 Ulrich Weigand <uweigand@de.ibm.com> 2005-02-18 Ulrich Weigand <uweigand@de.ibm.com>
PR target/20054 PR target/20054
......
...@@ -7726,7 +7726,8 @@ process_epilogue (void) ...@@ -7726,7 +7726,8 @@ process_epilogue (void)
if (!last_block) if (!last_block)
{ {
fprintf (asm_out_file, "\t.label_state 1\n"); fprintf (asm_out_file, "\t.label_state %d\n",
++cfun->machine->state_num);
need_copy_state = true; need_copy_state = true;
} }
...@@ -7974,7 +7975,8 @@ process_for_unwind_directive (FILE *asm_out_file, rtx insn) ...@@ -7974,7 +7975,8 @@ process_for_unwind_directive (FILE *asm_out_file, rtx insn)
if (need_copy_state) if (need_copy_state)
{ {
fprintf (asm_out_file, "\t.body\n"); fprintf (asm_out_file, "\t.body\n");
fprintf (asm_out_file, "\t.copy_state 1\n"); fprintf (asm_out_file, "\t.copy_state %d\n",
cfun->machine->state_num);
need_copy_state = false; need_copy_state = false;
} }
} }
......
...@@ -2199,6 +2199,9 @@ struct machine_function GTY(()) ...@@ -2199,6 +2199,9 @@ struct machine_function GTY(())
/* The number of varargs registers to save. */ /* The number of varargs registers to save. */
int n_varargs; int n_varargs;
/* The number of the next unwind state to copy. */
int state_num;
}; };
......
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