aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2011-07-07 16:57:26 -0700
committerRichard Henderson <rth@gcc.gnu.org>2011-07-07 16:57:26 -0700
commita518b99616d4d007e289654332c934e7c3ec8d52 (patch)
treeee3ca739383122468e3b5200d2fd5d7d6e90662c /gcc/function.h
parent89e25f958415ae1ae019e8f35398624b95c44f61 (diff)
downloadgcc-a518b99616d4d007e289654332c934e7c3ec8d52.zip
gcc-a518b99616d4d007e289654332c934e7c3ec8d52.tar.gz
gcc-a518b99616d4d007e289654332c934e7c3ec8d52.tar.bz2
dwarf2out: Convert fde_table to a VEC.
Prepare for allocating the FDE for the current function earlier than dwarf2out_begin_prologue. * dwarf2out.c (fde_table, fde_table_allocated, fde_table_in_use, FDE_TABLE_INCREMENT): Replace with... (fde_vec): ... this, a new vector. (current_fde): Remove. Replace all users with cfun->fde. (output_call_frame_info): Use FOR_EACH_VEC_ELT over fde_vec. (size_of_aranges, dwarf2out_finish): Likewise. (dwarf2out_alloc_current_fde): Break out from ... (dwarf2out_begin_prologue): ... here. (dwarf2out_frame_init): Remove. * dwarf2cfi.c: Update all users of current_fde. (dwarf2out_frame_init): Rename from dwarf2cfi_frame_init. * dwarf2out.h: Update decls. (dw_fde_node): Add fde_index member. * function.h (struct function): Add fde member. From-SVN: r176018
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 3b572cc..ff193bc 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -169,6 +169,7 @@ struct gimple_df;
struct temp_slot;
typedef struct temp_slot *temp_slot_p;
struct call_site_record_d;
+struct dw_fde_struct;
DEF_VEC_P(temp_slot_p);
DEF_VEC_ALLOC_P(temp_slot_p,gc);
@@ -542,6 +543,11 @@ struct GTY(()) function {
/* Used types hash table. */
htab_t GTY ((param_is (union tree_node))) used_types_hash;
+ /* Dwarf2 Frame Description Entry, containing the Call Frame Instructions
+ used for unwinding. Only set when either dwarf2 unwinding or dwarf2
+ debugging is enabled. */
+ struct dw_fde_struct *fde;
+
/* Last statement uid. */
int last_stmt_uid;