From eb93b3f482f0abc85b6b8768507a3237569e2933 Mon Sep 17 00:00:00 2001 From: rth Date: Sat, 23 Jul 2011 19:58:46 +0000 Subject: dwarf2cfi: Introduce a dw_cfi_row state. Use it instead of old_cfa, old_args_size, and cfa_remember variables. Remove the global cfa variable, as it was usually a duplicate of old_cfa and otherwise confusing. Always make a local copy of the cur_row->cfa variable before modification instead. * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New. (cie_cfi_row): New. (new_cfi_row, copy_cfi_row, free_cfi_row): New. (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove. (cur_row, remember_row): New. (def_cfa_1): Use cur_row instead of the old_* variables. (dwarf2out_frame_debug_restore_state): Similarly. (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise. (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa. (dwarf2out_frame_debug_adjust_cfa): Likewise. (dwarf2out_frame_debug_cfa_offset): Likewise. (dwarf2out_frame_debug_expr): Likewise. (execute_dwarf2_frame): Set up cur_row. * dwarf2out.h (struct cfa_loc): Mark for GTY. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176697 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/dwarf2out.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gcc/dwarf2out.h') diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h index 301321155a6..d0e76a786f8 100644 --- a/gcc/dwarf2out.h +++ b/gcc/dwarf2out.h @@ -118,7 +118,7 @@ dw_fde_node; It can now be either REG + CFA_OFFSET or *(REG + BASE_OFFSET) + CFA_OFFSET. Instead of passing around REG and OFFSET, we pass a copy of this structure. */ -typedef struct cfa_loc { +typedef struct GTY(()) cfa_loc { HOST_WIDE_INT offset; HOST_WIDE_INT base_offset; /* REG is in DWARF_FRAME_REGNUM space, *not* normal REGNO space. */ -- cgit v1.2.1