diff options
Diffstat (limited to 'gcc/unwind-dw2.c')
| -rw-r--r-- | gcc/unwind-dw2.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c index b40b16f..a4fad20 100644 --- a/gcc/unwind-dw2.c +++ b/gcc/unwind-dw2.c @@ -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; |
