diff options
author | Richard Henderson <rth@redhat.com> | 2011-07-23 12:58:46 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2011-07-23 12:58:46 -0700 |
commit | f17d3401b930ba0b5fd46cd239d9f9d04cbb292b (patch) | |
tree | 601188a008c6702ea15051b1759dbd0ed9a67feb /gcc/dwarf2out.h | |
parent | 0be7e7a6dbb4cdf48e76bf9b38f42b95ebf4d752 (diff) | |
download | gcc-f17d3401b930ba0b5fd46cd239d9f9d04cbb292b.zip gcc-f17d3401b930ba0b5fd46cd239d9f9d04cbb292b.tar.gz gcc-f17d3401b930ba0b5fd46cd239d9f9d04cbb292b.tar.bz2 |
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.
From-SVN: r176697
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 3013211..d0e76a7 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. */ |