aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-07-23 12:58:46 -0700
committerRichard Henderson <rth@gcc.gnu.org>2011-07-23 12:58:46 -0700
commitf17d3401b930ba0b5fd46cd239d9f9d04cbb292b (patch)
tree601188a008c6702ea15051b1759dbd0ed9a67feb /gcc/dwarf2out.h
parent0be7e7a6dbb4cdf48e76bf9b38f42b95ebf4d752 (diff)
downloadgcc-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.h2
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. */