mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-22 03:46:53 -05:00
* unwind-dw2.c (execute_stack_op): Handle DW_OP_swap.
From-SVN: r121166
This commit is contained in:
committed by
Geoffrey Keating
parent
f6bb2dcbde
commit
b33ebc0163
@@ -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 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/27416
|
||||
|
||||
@@ -628,6 +628,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;
|
||||
|
||||
Reference in New Issue
Block a user