On Tue, Aug 11, 2015 at 12:40 PM, <tbsaunde+...@tbsaunde.org> wrote: > From: Trevor Saunders <tbsaunde+...@tbsaunde.org> > > Hi, > > This just cleans things up slightly by removing typedefs that don't serve any > real purpose in C++. If people don't object I'll go through and try and > remove > as many more similarly useless typedefs as I can. > > bootstrapped + regtest x86_64-linux-gnu, ok?
Ok. Similarly pre-approved are redundant 'struct' spellings (if they are always non-forward declarations...). Richard. > Trev > > gcc/ChangeLog: > > 2015-08-11 trevor Saunders <tbsau...@tbsaunde.org> > > * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c, > function.c, graphite-scop-detection.c, haifa-sched.c, > ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c, > tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c, > varasm.c: Remove typedefs of structs. > --- > gcc/bt-load.c | 4 ++-- > gcc/cgraph.h | 4 +--- > gcc/dwarf2out.c | 5 ++--- > gcc/dwarf2out.h | 4 ++-- > gcc/final.c | 4 ++-- > gcc/function.c | 8 ++++---- > gcc/graphite-scop-detection.c | 8 ++++---- > gcc/haifa-sched.c | 2 +- > gcc/ipa-devirt.c | 4 ++-- > gcc/ipa-split.c | 8 ++++---- > gcc/recog.c | 4 ++-- > gcc/ree.c | 8 ++++---- > gcc/stmt.c | 1 - > gcc/tree-data-ref.c | 4 ++-- > gcc/tree-ssa-dom.c | 4 ++-- > gcc/tree-ssa-loop-ivopts.c | 4 ++-- > gcc/varasm.c | 12 ++++++------ > 17 files changed, 42 insertions(+), 46 deletions(-) > > diff --git a/gcc/bt-load.c b/gcc/bt-load.c > index 031b95d..5d8b752 100644 > --- a/gcc/bt-load.c > +++ b/gcc/bt-load.c > @@ -404,13 +404,13 @@ note_other_use_this_block (unsigned int regno, btr_user > users_this_bb) > user->other_use_this_block = 1; > } > > -typedef struct { > +struct defs_uses_info { > btr_user users_this_bb; > HARD_REG_SET btrs_written_in_block; > HARD_REG_SET btrs_live_in_block; > sbitmap bb_gen; > sbitmap *btr_defset; > -} defs_uses_info; > +}; > > /* Called via note_stores or directly to register stores into / > clobbers of a branch target register DEST that are not recognized as > diff --git a/gcc/cgraph.h b/gcc/cgraph.h > index 9476896..6607b11 100644 > --- a/gcc/cgraph.h > +++ b/gcc/cgraph.h > @@ -39,7 +39,7 @@ enum symtab_type > /* Section names are stored as reference counted strings in GGC safe > hashtable > (to make them survive through PCH). */ > > -struct GTY((for_user)) section_hash_entry_d > +struct GTY((for_user)) section_hash_entry > { > int ref_count; > char *name; /* As long as this datastructure stays in GGC, we can not put > @@ -47,8 +47,6 @@ struct GTY((for_user)) section_hash_entry_d > way */ > }; > > -typedef struct section_hash_entry_d section_hash_entry; > - > struct section_name_hasher : ggc_ptr_hash<section_hash_entry> > { > typedef const char *compare_type; > diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c > index 2c7dc71..3a245be 100644 > --- a/gcc/dwarf2out.c > +++ b/gcc/dwarf2out.c > @@ -1258,7 +1258,7 @@ enum ate_kind { > ate_kind_label > }; > > -typedef struct GTY((for_user)) addr_table_entry_struct { > +struct GTY((for_user)) addr_table_entry { > enum ate_kind kind; > unsigned int refcount; > unsigned int index; > @@ -1268,8 +1268,7 @@ typedef struct GTY((for_user)) addr_table_entry_struct { > char * GTY ((tag ("1"))) label; > } > GTY ((desc ("%1.kind"))) addr; > -} > -addr_table_entry; > +}; > > /* Location lists are ranges + location descriptions for that range, > so you can track variables that are in different places over > diff --git a/gcc/dwarf2out.h b/gcc/dwarf2out.h > index 7777251..4fe3527 100644 > --- a/gcc/dwarf2out.h > +++ b/gcc/dwarf2out.h > @@ -161,14 +161,14 @@ struct GTY(()) dw_vec_const { > unsigned elt_size; > }; > > -struct addr_table_entry_struct; > +struct addr_table_entry; > > /* The dw_val_node describes an attribute's value, as it is > represented internally. */ > > struct GTY(()) dw_val_node { > enum dw_val_class val_class; > - struct addr_table_entry_struct * GTY(()) val_entry; > + struct addr_table_entry * GTY(()) val_entry; > union dw_val_struct_union > { > rtx GTY ((tag ("dw_val_class_addr"))) val_addr; > diff --git a/gcc/final.c b/gcc/final.c > index 5d91609..f01f4fc 100644 > --- a/gcc/final.c > +++ b/gcc/final.c > @@ -1518,14 +1518,14 @@ asm_str_count (const char *templ) > /* Structure recording the mapping from source file and directory > names at compile time to those to be embedded in debug > information. */ > -typedef struct debug_prefix_map > +struct debug_prefix_map > { > const char *old_prefix; > const char *new_prefix; > size_t old_len; > size_t new_len; > struct debug_prefix_map *next; > -} debug_prefix_map; > +}; > > /* Linked list of such structures. */ > static debug_prefix_map *debug_prefix_maps; > diff --git a/gcc/function.c b/gcc/function.c > index 20bf3b3..53dcba9 100644 > --- a/gcc/function.c > +++ b/gcc/function.c > @@ -1224,18 +1224,18 @@ init_temp_slots (void) > > /* Private type used by get_hard_reg_initial_reg, get_hard_reg_initial_val, > and has_hard_reg_initial_val.. */ > -typedef struct GTY(()) initial_value_pair { > +struct GTY(()) initial_value_pair { > rtx hard_reg; > rtx pseudo; > -} initial_value_pair; > +}; > /* ??? This could be a VEC but there is currently no way to define an > opaque VEC type. This could be worked around by defining struct > initial_value_pair in function.h. */ > -typedef struct GTY(()) initial_value_struct { > +struct GTY(()) initial_value_struct { > int num_entries; > int max_entries; > initial_value_pair * GTY ((length ("%h.num_entries"))) entries; > -} initial_value_struct; > +}; > > /* If a pseudo represents an initial hard reg (or expression), return > it, else return NULL_RTX. */ > diff --git a/gcc/graphite-scop-detection.c b/gcc/graphite-scop-detection.c > index fb7247e..b2a4aaf 100644 > --- a/gcc/graphite-scop-detection.c > +++ b/gcc/graphite-scop-detection.c > @@ -58,7 +58,7 @@ static void make_close_phi_nodes_unique (basic_block); > > /* The type of the analyzed basic block. */ > > -typedef enum gbb_type { > +enum gbb_type { > GBB_UNKNOWN, > GBB_LOOP_SING_EXIT_HEADER, > GBB_LOOP_MULT_EXIT_HEADER, > @@ -66,7 +66,7 @@ typedef enum gbb_type { > GBB_COND_HEADER, > GBB_SIMPLE, > GBB_LAST > -} gbb_type; > +}; > > /* Detect the type of BB. Loop headers are only marked, if they are > new. This means their loop_father is different to LAST_LOOP. > @@ -128,7 +128,7 @@ get_bb_type (basic_block bb, struct loop *last_loop) > 9 <- exit */ > > > -typedef struct sd_region_p > +struct sd_region > { > /* The entry bb dominates all bbs in the sd_region. It is part of > the region. */ > @@ -137,7 +137,7 @@ typedef struct sd_region_p > /* The exit bb postdominates all bbs in the sd_region, but is not > part of the region. */ > basic_block exit; > -} sd_region; > +}; > > > > diff --git a/gcc/haifa-sched.c b/gcc/haifa-sched.c > index 0912606..c35d777 100644 > --- a/gcc/haifa-sched.c > +++ b/gcc/haifa-sched.c > @@ -2569,7 +2569,7 @@ static const char *rfs_str[RFS_N] = { > "RFS_DEP_COUNT", "RFS_TIE", "RFS_FUSION" }; > > /* Statistical breakdown of rank_for_schedule decisions. */ > -typedef struct { unsigned stats[RFS_N]; } rank_for_schedule_stats_t; > +struct rank_for_schedule_stats_t { unsigned stats[RFS_N]; }; > static rank_for_schedule_stats_t rank_for_schedule_stats; > > /* Return the result of comparing insns TMP and TMP2 and update > diff --git a/gcc/ipa-devirt.c b/gcc/ipa-devirt.c > index 0a92768..3eb2456 100644 > --- a/gcc/ipa-devirt.c > +++ b/gcc/ipa-devirt.c > @@ -145,11 +145,11 @@ along with GCC; see the file COPYING3. If not see > #include "lto-streamer.h" > > /* Hash based set of pairs of types. */ > -typedef struct > +struct type_pair > { > tree first; > tree second; > -} type_pair; > +}; > > template <> > struct default_hash_traits <type_pair> : typed_noop_remove <type_pair> > diff --git a/gcc/ipa-split.c b/gcc/ipa-split.c > index 69f293f..8bb3e60 100644 > --- a/gcc/ipa-split.c > +++ b/gcc/ipa-split.c > @@ -122,11 +122,11 @@ along with GCC; see the file COPYING3. If not see > > /* Per basic block info. */ > > -typedef struct > +struct split_bb_info > { > unsigned int size; > unsigned int time; > -} split_bb_info; > +}; > > static vec<split_bb_info> bb_info_vec; > > @@ -1008,7 +1008,7 @@ visit_bb (basic_block bb, basic_block return_bb, > > /* Stack entry for recursive DFS walk in find_split_point. */ > > -typedef struct > +struct stack_entry > { > /* Basic block we are examining. */ > basic_block bb; > @@ -1034,7 +1034,7 @@ typedef struct > > /* When false we can not split on this BB. */ > bool can_split; > -} stack_entry; > +}; > > > /* Find all articulations and call consider_split on them. > diff --git a/gcc/recog.c b/gcc/recog.c > index 120f7b9..c595bbd 100644 > --- a/gcc/recog.c > +++ b/gcc/recog.c > @@ -188,14 +188,14 @@ check_asm_operands (rtx x) > > /* Static data for the next two routines. */ > > -typedef struct change_t > +struct change_t > { > rtx object; > int old_code; > rtx *loc; > rtx old; > bool unshare; > -} change_t; > +}; > > static change_t *changes; > static int changes_allocated; > diff --git a/gcc/ree.c b/gcc/ree.c > index 016659c..6156eec 100644 > --- a/gcc/ree.c > +++ b/gcc/ree.c > @@ -249,7 +249,7 @@ along with GCC; see the file COPYING3. If not see > > /* This structure represents a candidate for elimination. */ > > -typedef struct ext_cand > +struct ext_cand > { > /* The expression. */ > const_rtx expr; > @@ -262,7 +262,7 @@ typedef struct ext_cand > > /* The instruction where it lives. */ > rtx_insn *insn; > -} ext_cand; > +}; > > > static int max_insn_uid; > @@ -565,7 +565,7 @@ struct ATTRIBUTE_PACKED ext_modified > }; > > /* Vectors used by combine_reaching_defs and its helpers. */ > -typedef struct ext_state > +struct ext_state > { > /* In order to avoid constant alloc/free, we keep these > 4 vectors live through the entire find_and_remove_re and just > @@ -579,7 +579,7 @@ typedef struct ext_state > the original mode from which the insn is extending and > kind of extension. */ > struct ext_modified *modified; > -} ext_state; > +}; > > /* Reaching Definitions of the extended register could be conditional copies > or regular definitions. This function separates the two types into two > diff --git a/gcc/stmt.c b/gcc/stmt.c > index 391686c..8c49fd2 100644 > --- a/gcc/stmt.c > +++ b/gcc/stmt.c > @@ -106,7 +106,6 @@ struct case_node > int subtree_prob; > }; > > -typedef struct case_node case_node; > typedef struct case_node *case_node_ptr; > > extern basic_block label_to_block_fn (struct function *, tree); > diff --git a/gcc/tree-data-ref.c b/gcc/tree-data-ref.c > index d0b7aa2..ebf9dd2 100644 > --- a/gcc/tree-data-ref.c > +++ b/gcc/tree-data-ref.c > @@ -3798,14 +3798,14 @@ compute_all_dependences (vec<data_reference_p> > datarefs, > > /* Describes a location of a memory reference. */ > > -typedef struct data_ref_loc_d > +struct data_ref_loc > { > /* The memory reference. */ > tree ref; > > /* True if the memory reference is read. */ > bool is_read; > -} data_ref_loc; > +}; > > > /* Stores the locations of memory references in STMT to REFERENCES. Returns > diff --git a/gcc/tree-ssa-dom.c b/gcc/tree-ssa-dom.c > index 3eb003c..248b037 100644 > --- a/gcc/tree-ssa-dom.c > +++ b/gcc/tree-ssa-dom.c > @@ -85,11 +85,11 @@ struct hashable_expr > /* Structure for recording known values of a conditional expression > at the exits from its block. */ > > -typedef struct cond_equivalence_s > +struct cond_equivalence > { > struct hashable_expr cond; > tree value; > -} cond_equivalence; > +}; > > > /* Structure for recording edge equivalences as well as any pending > diff --git a/gcc/tree-ssa-loop-ivopts.c b/gcc/tree-ssa-loop-ivopts.c > index 6bce3a1..723a9f7 100644 > --- a/gcc/tree-ssa-loop-ivopts.c > +++ b/gcc/tree-ssa-loop-ivopts.c > @@ -169,14 +169,14 @@ enum use_type > }; > > /* Cost of a computation. */ > -typedef struct > +struct comp_cost > { > int cost; /* The runtime cost. */ > unsigned complexity; /* The estimate of the complexity of the code for > the computation (in no concrete units -- > complexity field should be larger for more > complex expressions and addressing modes). */ > -} comp_cost; > +}; > > static const comp_cost no_cost = {0, 0}; > static const comp_cost infinite_cost = {INFTY, INFTY}; > diff --git a/gcc/varasm.c b/gcc/varasm.c > index 6a4ba0b..2ebac89 100644 > --- a/gcc/varasm.c > +++ b/gcc/varasm.c > @@ -4640,10 +4640,10 @@ initializer_constant_valid_for_bitfield_p (tree value) > /* output_constructor outer state of relevance in recursive calls, typically > for nested aggregate bitfields. */ > > -typedef struct { > +struct oc_outer_state { > unsigned int bit_offset; /* current position in ... */ > int byte; /* ... the outer byte buffer. */ > -} oc_outer_state; > +}; > > static unsigned HOST_WIDE_INT > output_constructor (tree, unsigned HOST_WIDE_INT, unsigned int, > @@ -4883,7 +4883,7 @@ array_size_for_constructor (tree val) > > /* output_constructor local state to support interaction with helpers. */ > > -typedef struct { > +struct oc_local_state { > > /* Received arguments. */ > tree exp; /* Constructor expression. */ > @@ -4904,7 +4904,7 @@ typedef struct { > tree val; /* Current element value. */ > tree index; /* Current element index. */ > > -} oc_local_state; > +}; > > /* Helper for output_constructor. From the current LOCAL state, output a > RANGE_EXPR element. */ > @@ -5829,12 +5829,12 @@ get_tm_clone_pair (tree o) > return NULL_TREE; > } > > -typedef struct tm_alias_pair > +struct tm_alias_pair > { > unsigned int uid; > tree from; > tree to; > -} tm_alias_pair; > +}; > > > /* Dump the actual pairs to the .tm_clone_table section. */ > -- > 2.4.0 >