From 4469af7acf60b8af84174ece207e847e74067b27 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Sat, 4 Mar 2006 08:07:12 +0100 Subject: 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 --- gcc/unwind-dw2.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'gcc/unwind-dw2.h') 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]; -- cgit v1.1