diff options
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 70 |
1 files changed, 24 insertions, 46 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index f2da4ac1f50..b55d5ff76a5 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -220,8 +220,7 @@ enum dw_cfi_oprnd_type { dw_cfi_oprnd_loc }; -typedef union dw_cfi_oprnd_struct GTY(()) -{ +typedef union GTY(()) dw_cfi_oprnd_struct { unsigned int GTY ((tag ("dw_cfi_oprnd_reg_num"))) dw_cfi_reg_num; HOST_WIDE_INT GTY ((tag ("dw_cfi_oprnd_offset"))) dw_cfi_offset; const char * GTY ((tag ("dw_cfi_oprnd_addr"))) dw_cfi_addr; @@ -229,8 +228,7 @@ typedef union dw_cfi_oprnd_struct GTY(()) } dw_cfi_oprnd; -typedef struct dw_cfi_struct GTY(()) -{ +typedef struct GTY(()) dw_cfi_struct { dw_cfi_ref dw_cfi_next; enum dwarf_call_frame_info dw_cfi_opc; dw_cfi_oprnd GTY ((desc ("dw_cfi_oprnd1_desc (%1.dw_cfi_opc)"))) @@ -245,8 +243,7 @@ dw_cfi_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 GTY(()) -{ +typedef struct GTY(()) cfa_loc { HOST_WIDE_INT offset; HOST_WIDE_INT base_offset; unsigned int reg; @@ -259,8 +256,7 @@ typedef struct cfa_loc GTY(()) CIE obviates the need to keep track of multiple CIE's in the DWARF generation routines below. */ -typedef struct dw_fde_struct GTY(()) -{ +typedef struct GTY(()) dw_fde_struct { tree decl; const char *dw_fde_begin; const char *dw_fde_current_label; @@ -376,8 +372,7 @@ static GTY(()) dw_cfi_ref cie_cfi_head; static unsigned current_funcdef_fde; #endif -struct indirect_string_node GTY(()) -{ +struct GTY(()) indirect_string_node { const char *str; unsigned int refcount; unsigned int form; @@ -1498,8 +1493,7 @@ dwarf2out_args_size_adjust (HOST_WIDE_INT offset, const char *label) of the prologue or (b) the register is clobbered. This clusters register saves so that there are fewer pc advances. */ -struct queued_reg_save GTY(()) -{ +struct GTY(()) queued_reg_save { struct queued_reg_save *next; rtx reg; HOST_WIDE_INT cfa_offset; @@ -1509,7 +1503,7 @@ struct queued_reg_save GTY(()) static GTY(()) struct queued_reg_save *queued_reg_saves; /* The caller's ORIG_REG is saved in SAVED_IN_REG. */ -struct reg_saved_in_data GTY(()) { +struct GTY(()) reg_saved_in_data { rtx orig_reg; rtx saved_in_reg; }; @@ -3388,8 +3382,7 @@ dwarf2out_switch_text_section (void) for emitting location expressions. */ /* Data about a single source file. */ -struct dwarf_file_data GTY(()) -{ +struct GTY(()) dwarf_file_data { const char * filename; int emitted_number; }; @@ -3405,7 +3398,7 @@ typedef const struct die_struct *const_dw_die_ref; typedef struct dw_loc_descr_struct *dw_loc_descr_ref; typedef struct dw_loc_list_struct *dw_loc_list_ref; -typedef struct deferred_locations_struct GTY(()) +typedef struct GTY(()) deferred_locations_struct { tree variable; dw_die_ref die; @@ -3444,8 +3437,7 @@ enum dw_val_class /* Describe a double word constant value. */ /* ??? Every instance of long_long in the code really means CONST_DOUBLE. */ -typedef struct dw_long_long_struct GTY(()) -{ +typedef struct GTY(()) dw_long_long_struct { unsigned long hi; unsigned long low; } @@ -3453,8 +3445,7 @@ dw_long_long_const; /* Describe a floating point constant value, or a vector constant value. */ -typedef struct dw_vec_struct GTY(()) -{ +typedef struct GTY(()) dw_vec_struct { unsigned char * GTY((length ("%h.length"))) array; unsigned length; unsigned elt_size; @@ -3464,8 +3455,7 @@ dw_vec_const; /* The dw_val_node describes an attribute's value, as it is represented internally. */ -typedef struct dw_val_struct GTY(()) -{ +typedef struct GTY(()) dw_val_struct { enum dw_val_class val_class; union dw_val_struct_union { @@ -3495,8 +3485,7 @@ dw_val_node; /* Locations in memory are described using a sequence of stack machine operations. */ -typedef struct dw_loc_descr_struct GTY(()) -{ +typedef struct GTY(()) dw_loc_descr_struct { dw_loc_descr_ref dw_loc_next; enum dwarf_location_atom dw_loc_opc; int dw_loc_addr; @@ -3508,8 +3497,7 @@ dw_loc_descr_node; /* Location lists are ranges + location descriptions for that range, so you can track variables that are in different places over their entire life. */ -typedef struct dw_loc_list_struct GTY(()) -{ +typedef struct GTY(()) dw_loc_list_struct { dw_loc_list_ref dw_loc_next; const char *begin; /* Label for begin address of range */ const char *end; /* Label for end address of range */ @@ -4617,8 +4605,7 @@ typedef struct dw_ranges_by_label_struct *dw_ranges_by_label_ref; entry. The label gives the PC value associated with the line number entry. */ -typedef struct dw_line_info_struct GTY(()) -{ +typedef struct GTY(()) dw_line_info_struct { unsigned long dw_file_num; unsigned long dw_line_num; } @@ -4626,8 +4613,7 @@ dw_line_info_entry; /* Line information for functions in separate sections; each one gets its own sequence. */ -typedef struct dw_separate_line_info_struct GTY(()) -{ +typedef struct GTY(()) dw_separate_line_info_struct { unsigned long dw_file_num; unsigned long dw_line_num; unsigned long function; @@ -4638,8 +4624,7 @@ dw_separate_line_info_entry; a link to the next attribute in the chain, and an attribute value. Attributes are typically linked below the DIE they modify. */ -typedef struct dw_attr_struct GTY(()) -{ +typedef struct GTY(()) dw_attr_struct { enum dwarf_attribute dw_attr; dw_val_node dw_attr_val; } @@ -4652,8 +4637,7 @@ DEF_VEC_ALLOC_O(dw_attr_node,gc); The children of each node form a circular list linked by die_sib. die_child points to the node *before* the "first" child node. */ -typedef struct die_struct GTY((chain_circular ("%h.die_sib"))) -{ +typedef struct GTY((chain_circular ("%h.die_sib"))) die_struct { enum dwarf_tag die_tag; char *die_symbol; VEC(dw_attr_node,gc) * die_attr; @@ -4681,8 +4665,7 @@ die_node; /* The pubname structure */ -typedef struct pubname_struct GTY(()) -{ +typedef struct GTY(()) pubname_struct { dw_die_ref die; const char *name; } @@ -4691,22 +4674,19 @@ pubname_entry; DEF_VEC_O(pubname_entry); DEF_VEC_ALLOC_O(pubname_entry, gc); -struct dw_ranges_struct GTY(()) -{ +struct GTY(()) dw_ranges_struct { /* If this is positive, it's a block number, otherwise it's a bitwise-negated index into dw_ranges_by_label. */ int num; }; -struct dw_ranges_by_label_struct GTY(()) -{ +struct GTY(()) dw_ranges_by_label_struct { const char *begin; const char *end; }; /* The limbo die list structure. */ -typedef struct limbo_die_struct GTY(()) -{ +typedef struct GTY(()) limbo_die_struct { dw_die_ref die; tree created_for; struct limbo_die_struct *next; @@ -4811,8 +4791,7 @@ static GTY ((param_is (struct die_struct))) htab_t decl_die_table; static GTY ((param_is (struct die_struct))) htab_t common_block_die_table; /* Node of the variable location list. */ -struct var_loc_node GTY ((chain_next ("%h.next"))) -{ +struct GTY ((chain_next ("%h.next"))) var_loc_node { rtx GTY (()) var_loc_note; const char * GTY (()) label; const char * GTY (()) section_label; @@ -4820,8 +4799,7 @@ struct var_loc_node GTY ((chain_next ("%h.next"))) }; /* Variable location list. */ -struct var_loc_list_def GTY (()) -{ +struct GTY (()) var_loc_list_def { struct var_loc_node * GTY (()) first; /* Do not mark the last element of the chained list because |