aboutsummaryrefslogtreecommitdiff
path: root/gcc/unwind-dw2.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2006-03-04 08:07:12 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2006-03-04 08:07:12 +0100
commit4469af7acf60b8af84174ece207e847e74067b27 (patch)
tree01ee0349453e355702c314fbf8bd839a81f7127b /gcc/unwind-dw2.h
parent636ffc571b3addf382dc6f5b9cd6c84fd798f051 (diff)
downloadgcc-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.h4
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];