OSDN Git Service

* unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 4 Mar 2006 07:07:12 +0000 (07:07 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 4 Mar 2006 07:07:12 +0000 (07:07 +0000)
commit706f081862543c62308011a112e7549a12fa88e8
tree01ee0349453e355702c314fbf8bd839a81f7127b
parent17c67d089524450757f96ed2b5a91feba5c4642d
* unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET
and REG_SAVED_VAL_EXP constants.
* unwind-dw2.c (struct _Unwind_Context): Add by_value array.
(_Unwind_GetGR, _Unwind_SetGR, _Unwind_GetGRPtr, _Unwind_SetGRPtr):
Handle regs stored by value.
(_Unwind_SetGRValue, _Unwind_GRByValue): New functions.
(execute_cfa_program): Handle DW_CFA_val_offset,
DW_CFA_val_offset_sf and DW_CFA_val_expression.
(uw_update_context_1): Handle REG_SAVED_REG with regs stored by
value specially.  Handle REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP.
(uw_install_context_1): Handle target regs stored by value.

* gcc.target/i386/cleanup-1.c: New test.
* gcc.target/i386/cleanup-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111705 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/cleanup-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/cleanup-2.c [new file with mode: 0644]
gcc/unwind-dw2.c
gcc/unwind-dw2.h