diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-03-04 08:07:12 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2006-03-04 08:07:12 +0100 |
commit | 4469af7acf60b8af84174ece207e847e74067b27 (patch) | |
tree | 01ee0349453e355702c314fbf8bd839a81f7127b /gcc/unwind-dw2.h | |
parent | 636ffc571b3addf382dc6f5b9cd6c84fd798f051 (diff) | |
download | gcc-4469af7acf60b8af84174ece207e847e74067b27.zip gcc-4469af7acf60b8af84174ece207e847e74067b27.tar.gz gcc-4469af7acf60b8af84174ece207e847e74067b27.tar.bz2 |
unwind-dw2.h (_Unwind_FrameState): Add REG_SAVED_VAL_OFFSET and REG_SAVED_VAL_EXP constants.
* 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.
From-SVN: r111705
Diffstat (limited to 'gcc/unwind-dw2.h')
-rw-r--r-- | gcc/unwind-dw2.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/unwind-dw2.h b/gcc/unwind-dw2.h index 4851067..34a378b 100644 --- a/gcc/unwind-dw2.h +++ b/gcc/unwind-dw2.h @@ -53,7 +53,9 @@ typedef struct REG_UNSAVED, REG_SAVED_OFFSET, REG_SAVED_REG, - REG_SAVED_EXP + REG_SAVED_EXP, + REG_SAVED_VAL_OFFSET, + REG_SAVED_VAL_EXP } how; } reg[DWARF_FRAME_REGISTERS+1]; |