diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-07-23 19:58:46 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-07-23 19:58:46 +0000 |
commit | eb93b3f482f0abc85b6b8768507a3237569e2933 (patch) | |
tree | 601188a008c6702ea15051b1759dbd0ed9a67feb /gcc/dwarf2out.h | |
parent | f59cbcbfb69f94a78281fcf474fc9242fec6ec82 (diff) | |
download | gcc-eb93b3f482f0abc85b6b8768507a3237569e2933.tar.gz |
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
Diffstat (limited to 'gcc/dwarf2out.h')
-rw-r--r-- | gcc/dwarf2out.h | 2 |
1 files changed, 1 insertions, 1 deletions
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. */ |