* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.

From-SVN: r121165
This commit is contained in:
Geoffrey Keating 2007-01-25 07:08:33 +00:00 committed by Geoffrey Keating
parent 01ffa37015
commit 9dc5c4f5eb
2 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2007-01-24 Geoffrey Keating <geoffk@apple.com>
* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
2007-01-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
PR middle-end/30447

View File

@ -636,6 +636,16 @@ execute_stack_op (const unsigned char *op_ptr, const unsigned char *op_end,
result = stack[stack_elt - 2];
break;
case DW_OP_swap:
{
_Unwind_Word t;
gcc_assert (stack_elt >= 2);
t = stack[stack_elt - 1];
stack[stack_elt - 1] = stack[stack_elt - 2];
stack[stack_elt - 2] = t;
goto no_push;
}
case DW_OP_rot:
{
_Unwind_Word t1, t2, t3;