summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/basic-block.h288
-rw-r--r--gcc/c-parse.in32
-rw-r--r--gcc/c-pragma.h5
-rw-r--r--gcc/c-typeck.c77
-rw-r--r--gcc/cfghooks.h6
-rw-r--r--gcc/cfgloopanal.c6
-rw-r--r--gcc/dbxout.h11
-rw-r--r--gcc/debug.h86
-rw-r--r--gcc/dwarf2asm.h59
-rw-r--r--gcc/gcov.c385
-rw-r--r--gcc/gengtype-lex.l14
-rw-r--r--gcc/sched-int.h14
-rw-r--r--gcc/timevar.c4
13 files changed, 462 insertions, 525 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h
index cdefca3b229..0558fe81f5d 100644
--- a/gcc/basic-block.h
+++ b/gcc/basic-block.h
@@ -72,7 +72,7 @@ typedef bitmap regset;
#define REGNO_REG_SET_P(TO, REG) bitmap_bit_p (TO, REG)
/* Copy the hard registers in a register set to the hard register set. */
-extern void reg_set_to_hard_reg_set PARAMS ((HARD_REG_SET *, bitmap));
+extern void reg_set_to_hard_reg_set (HARD_REG_SET *, bitmap);
#define REG_SET_TO_HARD_REG_SET(TO, FROM) \
do { \
CLEAR_HARD_REG_SET (TO); \
@@ -336,49 +336,44 @@ extern struct basic_block_def entry_exit_blocks[2];
#define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0)
#define set_block_for_insn(INSN, BB) (BLOCK_FOR_INSN (INSN) = BB)
-extern void compute_bb_for_insn PARAMS ((void));
-extern void free_bb_for_insn PARAMS ((void));
-extern void update_bb_for_insn PARAMS ((basic_block));
+extern void compute_bb_for_insn (void);
+extern void free_bb_for_insn (void);
+extern void update_bb_for_insn (basic_block);
-extern void free_basic_block_vars PARAMS ((int));
+extern void free_basic_block_vars (int);
-extern void insert_insn_on_edge PARAMS ((rtx, edge));
+extern void insert_insn_on_edge (rtx, edge);
bool safe_insert_insn_on_edge (rtx, edge);
-extern void commit_edge_insertions PARAMS ((void));
-extern void commit_edge_insertions_watch_calls PARAMS ((void));
-
-extern void remove_fake_edges PARAMS ((void));
-extern void add_noreturn_fake_exit_edges PARAMS ((void));
-extern void connect_infinite_loops_to_exit PARAMS ((void));
-extern int flow_call_edges_add PARAMS ((sbitmap));
-extern edge unchecked_make_edge PARAMS ((basic_block,
- basic_block, int));
-extern edge cached_make_edge PARAMS ((sbitmap *, basic_block,
- basic_block, int));
-extern edge make_edge PARAMS ((basic_block,
- basic_block, int));
-extern edge make_single_succ_edge PARAMS ((basic_block,
- basic_block, int));
-extern void remove_edge PARAMS ((edge));
-extern void redirect_edge_succ PARAMS ((edge, basic_block));
-extern edge redirect_edge_succ_nodup PARAMS ((edge, basic_block));
-extern void redirect_edge_pred PARAMS ((edge, basic_block));
-extern basic_block create_basic_block_structure PARAMS ((rtx, rtx, rtx, basic_block));
-extern void clear_bb_flags PARAMS ((void));
-extern void tidy_fallthru_edge PARAMS ((edge, basic_block,
- basic_block));
-extern void tidy_fallthru_edges PARAMS ((void));
-extern void flow_reverse_top_sort_order_compute PARAMS ((int *));
-extern int flow_depth_first_order_compute PARAMS ((int *, int *));
-extern void flow_preorder_transversal_compute PARAMS ((int *));
-extern int dfs_enumerate_from PARAMS ((basic_block, int,
- bool (*)(basic_block, void *),
- basic_block *, int, void *));
-extern void dump_edge_info PARAMS ((FILE *, edge, int));
-extern void clear_edges PARAMS ((void));
-extern void mark_critical_edges PARAMS ((void));
-extern rtx first_insn_after_basic_block_note PARAMS ((basic_block));
+extern void commit_edge_insertions (void);
+extern void commit_edge_insertions_watch_calls (void);
+
+extern void remove_fake_edges (void);
+extern void add_noreturn_fake_exit_edges (void);
+extern void connect_infinite_loops_to_exit (void);
+extern int flow_call_edges_add (sbitmap);
+extern edge unchecked_make_edge (basic_block, basic_block, int);
+extern edge cached_make_edge (sbitmap *, basic_block, basic_block, int);
+extern edge make_edge (basic_block, basic_block, int);
+extern edge make_single_succ_edge (basic_block, basic_block, int);
+extern void remove_edge (edge);
+extern void redirect_edge_succ (edge, basic_block);
+extern edge redirect_edge_succ_nodup (edge, basic_block);
+extern void redirect_edge_pred (edge, basic_block);
+extern basic_block create_basic_block_structure (rtx, rtx, rtx, basic_block);
+extern void clear_bb_flags (void);
+extern void tidy_fallthru_edge (edge, basic_block, basic_block);
+extern void tidy_fallthru_edges (void);
+extern void flow_reverse_top_sort_order_compute (int *);
+extern int flow_depth_first_order_compute (int *, int *);
+extern void flow_preorder_transversal_compute (int *);
+extern int dfs_enumerate_from (basic_block, int,
+ bool (*)(basic_block, void *),
+ basic_block *, int, void *);
+extern void dump_edge_info (FILE *, edge, int);
+extern void clear_edges (void);
+extern void mark_critical_edges (void);
+extern rtx first_insn_after_basic_block_note (basic_block);
/* Dominator information for basic blocks. */
@@ -455,12 +450,11 @@ struct edge_list
#define EDGE_CRITICAL_P(e) ((e)->src->succ->succ_next \
&& (e)->dest->pred->pred_next)
-struct edge_list * create_edge_list PARAMS ((void));
-void free_edge_list PARAMS ((struct edge_list *));
-void print_edge_list PARAMS ((FILE *, struct edge_list *));
-void verify_edge_list PARAMS ((FILE *, struct edge_list *));
-int find_edge_index PARAMS ((struct edge_list *,
- basic_block, basic_block));
+struct edge_list * create_edge_list (void);
+void free_edge_list (struct edge_list *);
+void print_edge_list (FILE *, struct edge_list *);
+void verify_edge_list (FILE *, struct edge_list *);
+int find_edge_index (struct edge_list *, basic_block, basic_block);
enum update_life_extent
@@ -502,123 +496,110 @@ enum update_life_extent
#define CLEANUP_NO_INSN_DEL 128 /* Do not try to delete trivially dead
insns. */
#define CLEANUP_CFGLAYOUT 256 /* Do cleanup in cfglayout mode. */
-extern void life_analysis PARAMS ((rtx, FILE *, int));
-extern int update_life_info PARAMS ((sbitmap, enum update_life_extent,
- int));
-extern int update_life_info_in_dirty_blocks PARAMS ((enum update_life_extent,
- int));
-extern int count_or_remove_death_notes PARAMS ((sbitmap, int));
-extern int propagate_block PARAMS ((basic_block, regset, regset, regset,
- int));
+extern void life_analysis (rtx, FILE *, int);
+extern int update_life_info (sbitmap, enum update_life_extent, int);
+extern int update_life_info_in_dirty_blocks (enum update_life_extent, int);
+extern int count_or_remove_death_notes (sbitmap, int);
+extern int propagate_block (basic_block, regset, regset, regset, int);
struct propagate_block_info;
-extern rtx propagate_one_insn PARAMS ((struct propagate_block_info *, rtx));
+extern rtx propagate_one_insn (struct propagate_block_info *, rtx);
extern struct propagate_block_info *init_propagate_block_info
- PARAMS ((basic_block, regset, regset, regset, int));
-extern void free_propagate_block_info PARAMS ((struct propagate_block_info *));
+ (basic_block, regset, regset, regset, int);
+extern void free_propagate_block_info (struct propagate_block_info *);
/* In lcm.c */
-extern struct edge_list *pre_edge_lcm PARAMS ((FILE *, int, sbitmap *,
- sbitmap *, sbitmap *,
- sbitmap *, sbitmap **,
- sbitmap **));
-extern struct edge_list *pre_edge_rev_lcm PARAMS ((FILE *, int, sbitmap *,
- sbitmap *, sbitmap *,
- sbitmap *, sbitmap **,
- sbitmap **));
-extern void compute_available PARAMS ((sbitmap *, sbitmap *,
- sbitmap *, sbitmap *));
-extern int optimize_mode_switching PARAMS ((FILE *));
+extern struct edge_list *pre_edge_lcm (FILE *, int, sbitmap *, sbitmap *,
+ sbitmap *, sbitmap *, sbitmap **,
+ sbitmap **);
+extern struct edge_list *pre_edge_rev_lcm (FILE *, int, sbitmap *,
+ sbitmap *, sbitmap *,
+ sbitmap *, sbitmap **,
+ sbitmap **);
+extern void compute_available (sbitmap *, sbitmap *, sbitmap *, sbitmap *);
+extern int optimize_mode_switching (FILE *);
/* In emit-rtl.c. */
-extern rtx emit_block_insn_after PARAMS ((rtx, rtx, basic_block));
-extern rtx emit_block_insn_before PARAMS ((rtx, rtx, basic_block));
+extern rtx emit_block_insn_after (rtx, rtx, basic_block);
+extern rtx emit_block_insn_before (rtx, rtx, basic_block);
/* In predict.c */
-extern void estimate_probability PARAMS ((struct loops *));
-extern void note_prediction_to_br_prob PARAMS ((void));
-extern void expected_value_to_br_prob PARAMS ((void));
-extern bool maybe_hot_bb_p PARAMS ((basic_block));
-extern bool probably_cold_bb_p PARAMS ((basic_block));
-extern bool probably_never_executed_bb_p PARAMS ((basic_block));
+extern void estimate_probability (struct loops *);
+extern void note_prediction_to_br_prob (void);
+extern void expected_value_to_br_prob (void);
+extern bool maybe_hot_bb_p (basic_block);
+extern bool probably_cold_bb_p (basic_block);
+extern bool probably_never_executed_bb_p (basic_block);
/* In flow.c */
-extern void init_flow PARAMS ((void));
-extern void dump_bb PARAMS ((basic_block, FILE *));
-extern void debug_bb PARAMS ((basic_block));
-extern basic_block debug_bb_n PARAMS ((int));
-extern void dump_regset PARAMS ((regset, FILE *));
-extern void debug_regset PARAMS ((regset));
-extern void allocate_reg_life_data PARAMS ((void));
-extern void allocate_bb_life_data PARAMS ((void));
-extern void expunge_block PARAMS ((basic_block));
-extern void link_block PARAMS ((basic_block, basic_block));
-extern void unlink_block PARAMS ((basic_block));
-extern void compact_blocks PARAMS ((void));
-extern basic_block alloc_block PARAMS ((void));
-extern void find_unreachable_blocks PARAMS ((void));
-extern int delete_noop_moves PARAMS ((rtx));
-extern basic_block force_nonfallthru PARAMS ((edge));
-extern rtx block_label PARAMS ((basic_block));
-extern bool forwarder_block_p PARAMS ((basic_block));
-extern bool purge_all_dead_edges PARAMS ((int));
-extern bool purge_dead_edges PARAMS ((basic_block));
-extern void find_sub_basic_blocks PARAMS ((basic_block));
-extern void find_many_sub_basic_blocks PARAMS ((sbitmap));
-extern bool can_fallthru PARAMS ((basic_block, basic_block));
-extern void flow_nodes_print PARAMS ((const char *, const sbitmap,
- FILE *));
-extern void flow_edge_list_print PARAMS ((const char *, const edge *,
- int, FILE *));
-extern void alloc_aux_for_block PARAMS ((basic_block, int));
-extern void alloc_aux_for_blocks PARAMS ((int));
-extern void clear_aux_for_blocks PARAMS ((void));
-extern void free_aux_for_blocks PARAMS ((void));
-extern void alloc_aux_for_edge PARAMS ((edge, int));
-extern void alloc_aux_for_edges PARAMS ((int));
-extern void clear_aux_for_edges PARAMS ((void));
-extern void free_aux_for_edges PARAMS ((void));
+extern void init_flow (void);
+extern void dump_bb (basic_block, FILE *);
+extern void debug_bb (basic_block);
+extern basic_block debug_bb_n (int);
+extern void dump_regset (regset, FILE *);
+extern void debug_regset (regset);
+extern void allocate_reg_life_data (void);
+extern void allocate_bb_life_data (void);
+extern void expunge_block (basic_block);
+extern void link_block (basic_block, basic_block);
+extern void unlink_block (basic_block);
+extern void compact_blocks (void);
+extern basic_block alloc_block (void);
+extern void find_unreachable_blocks (void);
+extern int delete_noop_moves (rtx);
+extern basic_block force_nonfallthru (edge);
+extern rtx block_label (basic_block);
+extern bool forwarder_block_p (basic_block);
+extern bool purge_all_dead_edges (int);
+extern bool purge_dead_edges (basic_block);
+extern void find_sub_basic_blocks (basic_block);
+extern void find_many_sub_basic_blocks (sbitmap);
+extern bool can_fallthru (basic_block, basic_block);
+extern void flow_nodes_print (const char *, const sbitmap, FILE *);
+extern void flow_edge_list_print (const char *, const edge *, int, FILE *);
+extern void alloc_aux_for_block (basic_block, int);
+extern void alloc_aux_for_blocks (int);
+extern void clear_aux_for_blocks (void);
+extern void free_aux_for_blocks (void);
+extern void alloc_aux_for_edge (edge, int);
+extern void alloc_aux_for_edges (int);
+extern void clear_aux_for_edges (void);
+extern void free_aux_for_edges (void);
/* This function is always defined so it can be called from the
debugger, and it is declared extern so we don't get warnings about
it being unused. */
-extern void verify_flow_info PARAMS ((void));
+extern void verify_flow_info (void);
typedef struct conflict_graph_def *conflict_graph;
/* Callback function when enumerating conflicts. The arguments are
the smaller and larger regno in the conflict. Returns zero if
enumeration is to continue, nonzero to halt enumeration. */
-typedef int (*conflict_graph_enum_fn) PARAMS ((int, int, void *));
+typedef int (*conflict_graph_enum_fn) (int, int, void *);
/* Prototypes of operations on conflict graphs. */
extern conflict_graph conflict_graph_new
- PARAMS ((int));
-extern void conflict_graph_delete PARAMS ((conflict_graph));
-extern int conflict_graph_add PARAMS ((conflict_graph,
- int, int));
-extern int conflict_graph_conflict_p PARAMS ((conflict_graph,
- int, int));
-extern void conflict_graph_enum PARAMS ((conflict_graph, int,
- conflict_graph_enum_fn,
- void *));
-extern void conflict_graph_merge_regs PARAMS ((conflict_graph, int,
- int));
-extern void conflict_graph_print PARAMS ((conflict_graph, FILE*));
-extern conflict_graph conflict_graph_compute
- PARAMS ((regset,
- partition));
-extern bool mark_dfs_back_edges PARAMS ((void));
-extern void set_edge_can_fallthru_flag PARAMS ((void));
-extern void update_br_prob_note PARAMS ((basic_block));
-extern void fixup_abnormal_edges PARAMS ((void));
-extern bool can_hoist_insn_p PARAMS ((rtx, rtx, regset));
-extern rtx hoist_insn_after PARAMS ((rtx, rtx, rtx, rtx));
-extern rtx hoist_insn_to_edge PARAMS ((rtx, edge, rtx, rtx));
-extern bool inside_basic_block_p PARAMS ((rtx));
-extern bool control_flow_insn_p PARAMS ((rtx));
+ (int);
+extern void conflict_graph_delete (conflict_graph);
+extern int conflict_graph_add (conflict_graph, int, int);
+extern int conflict_graph_conflict_p (conflict_graph, int, int);
+extern void conflict_graph_enum (conflict_graph, int, conflict_graph_enum_fn,
+ void *);
+extern void conflict_graph_merge_regs (conflict_graph, int, int);
+extern void conflict_graph_print (conflict_graph, FILE*);
+extern conflict_graph conflict_graph_compute (regset, partition);
+extern bool mark_dfs_back_edges (void);
+extern void set_edge_can_fallthru_flag (void);
+extern void update_br_prob_note (basic_block);
+extern void fixup_abnormal_edges (void);
+extern bool can_hoist_insn_p (rtx, rtx, regset);
+extern rtx hoist_insn_after (rtx, rtx, rtx, rtx);
+extern rtx hoist_insn_to_edge (rtx, edge, rtx, rtx);
+extern bool inside_basic_block_p (rtx);
+extern bool control_flow_insn_p (rtx);
/* In bb-reorder.c */
extern void reorder_basic_blocks (void);
@@ -631,23 +612,22 @@ enum cdi_direction
CDI_POST_DOMINATORS
};
-extern dominance_info calculate_dominance_info PARAMS ((enum cdi_direction));
-extern void free_dominance_info PARAMS ((dominance_info));
-extern basic_block nearest_common_dominator PARAMS ((dominance_info,
- basic_block, basic_block));
-extern void set_immediate_dominator PARAMS ((dominance_info,
- basic_block, basic_block));
-extern basic_block get_immediate_dominator PARAMS ((dominance_info,
- basic_block));
-extern bool dominated_by_p PARAMS ((dominance_info, basic_block, basic_block));
-extern int get_dominated_by PARAMS ((dominance_info, basic_block, basic_block **));
-extern void add_to_dominance_info PARAMS ((dominance_info, basic_block));
-extern void delete_from_dominance_info PARAMS ((dominance_info, basic_block));
-basic_block recount_dominator PARAMS ((dominance_info, basic_block));
-extern void redirect_immediate_dominators PARAMS ((dominance_info, basic_block,
- basic_block));
-void iterate_fix_dominators PARAMS ((dominance_info, basic_block *, int));
-extern void verify_dominators PARAMS ((dominance_info));
+extern dominance_info calculate_dominance_info (enum cdi_direction);
+extern void free_dominance_info (dominance_info);
+extern basic_block nearest_common_dominator (dominance_info,
+ basic_block, basic_block);
+extern void set_immediate_dominator (dominance_info, basic_block,
+ basic_block);
+extern basic_block get_immediate_dominator (dominance_info, basic_block);
+extern bool dominated_by_p (dominance_info, basic_block, basic_block);
+extern int get_dominated_by (dominance_info, basic_block, basic_block **);
+extern void add_to_dominance_info (dominance_info, basic_block);
+extern void delete_from_dominance_info (dominance_info, basic_block);
+basic_block recount_dominator (dominance_info, basic_block);
+extern void redirect_immediate_dominators (dominance_info, basic_block,
+ basic_block);
+void iterate_fix_dominators (dominance_info, basic_block *, int);
+extern void verify_dominators (dominance_info);
#include "cfghooks.h"
diff --git a/gcc/c-parse.in b/gcc/c-parse.in
index 6eaa354c02b..bcfb0248c3a 100644
--- a/gcc/c-parse.in
+++ b/gcc/c-parse.in
@@ -332,16 +332,16 @@ static bool parsing_iso_function_signature;
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
-static void yyprint PARAMS ((FILE *, int, YYSTYPE));
-static void yyerror PARAMS ((const char *));
-static int yylexname PARAMS ((void));
-static inline int _yylex PARAMS ((void));
-static int yylex PARAMS ((void));
-static void init_reswords PARAMS ((void));
+static void yyprint (FILE *, int, YYSTYPE);
+static void yyerror (const char *);
+static int yylexname (void);
+static inline int _yylex (void);
+static int yylex (void);
+static void init_reswords (void);
/* Initialisation routine for this file. */
void
-c_parse_init ()
+c_parse_init (void)
{
init_reswords ();
}
@@ -3526,7 +3526,7 @@ static const short rid_to_yy[RID_MAX] =
};
static void
-init_reswords ()
+init_reswords (void)
{
unsigned int i;
tree id;
@@ -3554,8 +3554,7 @@ init_reswords ()
#define NAME(type) cpp_type2name (type)
static void
-yyerror (msgid)
- const char *msgid;
+yyerror (const char *msgid)
{
const char *string = _(msgid);
@@ -3582,7 +3581,7 @@ yyerror (msgid)
}
static int
-yylexname ()
+yylexname (void)
{
tree decl;
@@ -3641,7 +3640,7 @@ end ifobjc
}
static inline int
-_yylex ()
+_yylex (void)
{
get_next:
last_token = c_lex (&yylval.ttype);
@@ -3745,7 +3744,7 @@ _yylex ()
}
static int
-yylex()
+yylex (void)
{
int r;
timevar_push (TV_LEX);
@@ -3757,10 +3756,7 @@ yylex()
/* Function used when yydebug is set, to print a token in more detail. */
static void
-yyprint (file, yychar, yyl)
- FILE *file;
- int yychar;
- YYSTYPE yyl;
+yyprint (FILE *file, int yychar, YYSTYPE yyl)
{
tree t = yyl.ttype;
@@ -3797,7 +3793,7 @@ yyprint (file, yychar, yyl)
/* Free malloced parser stacks if necessary. */
void
-free_parser_stacks ()
+free_parser_stacks (void)
{
if (malloced_yyss)
{
diff --git a/gcc/c-pragma.h b/gcc/c-pragma.h
index 57f78845de0..b14a0c4738c 100644
--- a/gcc/c-pragma.h
+++ b/gcc/c-pragma.h
@@ -51,9 +51,8 @@ extern void init_pragma (void);
/* Front-end wrapper for pragma registration to avoid dragging
cpplib.h in almost everywhere. */
-extern void c_register_pragma
- PARAMS ((const char *, const char *,
- void (*) (struct cpp_reader *)));
+extern void c_register_pragma (const char *, const char *,
+ void (*) (struct cpp_reader *));
extern void maybe_apply_pragma_weak (tree);
extern tree maybe_apply_renaming_pragma (tree, tree);
extern void add_to_renaming_pragma_list (tree, tree);
diff --git a/gcc/c-typeck.c b/gcc/c-typeck.c
index a6213e2faf9..718bd8f5986 100644
--- a/gcc/c-typeck.c
+++ b/gcc/c-typeck.c
@@ -52,39 +52,38 @@ static int missing_braces_mentioned;
/* 1 if we explained undeclared var errors. */
static int undeclared_variable_notice;
-static tree qualify_type PARAMS ((tree, tree));
-static int comp_target_types PARAMS ((tree, tree, int));
-static int function_types_compatible_p PARAMS ((tree, tree));
-static int type_lists_compatible_p PARAMS ((tree, tree));
-static tree decl_constant_value_for_broken_optimization PARAMS ((tree));
-static tree default_function_array_conversion PARAMS ((tree));
-static tree lookup_field PARAMS ((tree, tree));
-static void undeclared_variable PARAMS ((tree));
-static tree convert_arguments PARAMS ((tree, tree, tree, tree));
-static tree pointer_diff PARAMS ((tree, tree));
-static tree unary_complex_lvalue PARAMS ((enum tree_code, tree, int));
-static void pedantic_lvalue_warning PARAMS ((enum tree_code));
-static tree internal_build_compound_expr PARAMS ((tree, int));
-static tree convert_for_assignment PARAMS ((tree, tree, const char *,
- tree, tree, int));
-static void warn_for_assignment PARAMS ((const char *, const char *,
- tree, int));
-static tree valid_compound_expr_initializer PARAMS ((tree, tree));
-static void push_string PARAMS ((const char *));
-static void push_member_name PARAMS ((tree));
-static void push_array_bounds PARAMS ((int));
-static int spelling_length PARAMS ((void));
-static char *print_spelling PARAMS ((char *));
-static void warning_init PARAMS ((const char *));
-static tree digest_init PARAMS ((tree, tree, int));
-static void output_init_element PARAMS ((tree, tree, tree, int));
-static void output_pending_init_elements PARAMS ((int));
-static int set_designator PARAMS ((int));
-static void push_range_stack PARAMS ((tree));
-static void add_pending_init PARAMS ((tree, tree));
-static void set_nonincremental_init PARAMS ((void));
-static void set_nonincremental_init_from_string PARAMS ((tree));
-static tree find_init_member PARAMS ((tree));
+static tree qualify_type (tree, tree);
+static int comp_target_types (tree, tree, int);
+static int function_types_compatible_p (tree, tree);
+static int type_lists_compatible_p (tree, tree);
+static tree decl_constant_value_for_broken_optimization (tree);
+static tree default_function_array_conversion (tree);
+static tree lookup_field (tree, tree);
+static void undeclared_variable (tree);
+static tree convert_arguments (tree, tree, tree, tree);
+static tree pointer_diff (tree, tree);
+static tree unary_complex_lvalue (enum tree_code, tree, int);
+static void pedantic_lvalue_warning (enum tree_code);
+static tree internal_build_compound_expr (tree, int);
+static tree convert_for_assignment (tree, tree, const char *, tree, tree,
+ int);
+static void warn_for_assignment (const char *, const char *, tree, int);
+static tree valid_compound_expr_initializer (tree, tree);
+static void push_string (const char *);
+static void push_member_name (tree);
+static void push_array_bounds (int);
+static int spelling_length (void);
+static char *print_spelling (char *);
+static void warning_init (const char *);
+static tree digest_init (tree, tree, int);
+static void output_init_element (tree, tree, tree, int);
+static void output_pending_init_elements (int);
+static int set_designator (int);
+static void push_range_stack (tree);
+static void add_pending_init (tree, tree);
+static void set_nonincremental_init (void);
+static void set_nonincremental_init_from_string (tree);
+static tree find_init_member (tree);
/* Do `exp = require_complete_type (exp);' to make sure exp
does not have an incomplete type. (That includes void types.) */
@@ -1859,7 +1858,8 @@ parser_build_binary_op (enum tree_code code, tree arg1, tree arg2)
the arithmetic is to be done. */
tree
-build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, int convert_p)
+build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1,
+ int convert_p)
{
tree type0, type1;
enum tree_code code0, code1;
@@ -3872,7 +3872,8 @@ build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs)
PARMNUM is the number of the argument, for printing in error messages. */
static tree
-convert_for_assignment (tree type, tree rhs, const char *errtype, tree fundecl, tree funname, int parmnum)
+convert_for_assignment (tree type, tree rhs, const char *errtype,
+ tree fundecl, tree funname, int parmnum)
{
enum tree_code codel = TREE_CODE (type);
tree rhstype;
@@ -4194,7 +4195,8 @@ c_convert_parm_for_inlining (tree parm, tree value, tree fn)
Objective-C selector. */
static void
-warn_for_assignment (const char *msgid, const char *opname, tree function, int argnum)
+warn_for_assignment (const char *msgid, const char *opname, tree function,
+ int argnum)
{
if (opname == 0)
{
@@ -6703,7 +6705,8 @@ simple_asm_stmt (tree expr)
STRING, some OUTPUTS, some INPUTS, and some CLOBBERS. */
tree
-build_asm_stmt (tree cv_qualifier, tree string, tree outputs, tree inputs, tree clobbers)
+build_asm_stmt (tree cv_qualifier, tree string, tree outputs, tree inputs,
+ tree clobbers)
{
tree tail;
diff --git a/gcc/cfghooks.h b/gcc/cfghooks.h
index a44a208a337..37457deff8b 100644
--- a/gcc/cfghooks.h
+++ b/gcc/cfghooks.h
@@ -32,7 +32,7 @@ struct cfg_hooks
/* Basic CFG manipulation. */
/* Return new basic block */
- basic_block (*create_basic_block) PARAMS ((void *head, void *end, basic_block after));
+ basic_block (*create_basic_block) (void *head, void *end, basic_block after);
/* Redirect edge E to the given basic block B and update underlying program
representation. Returns false when edge is not easily redirectable for
@@ -51,10 +51,10 @@ struct cfg_hooks
edge (*split_block) (basic_block b, void * i);
/* Return true when blocks A and B can be merged into single basic block. */
- bool (*can_merge_blocks_p) PARAMS ((basic_block a, basic_block b));
+ bool (*can_merge_blocks_p) (basic_block a, basic_block b);
/* Merge blocks A and B. */
- void (*merge_blocks) PARAMS ((basic_block a, basic_block b));
+ void (*merge_blocks) (basic_block a, basic_block b);
/* Higher level functions representable by primitive operations above if
we didn't have some oddities in RTL and Tree representations. */
diff --git a/gcc/cfgloopanal.c b/gcc/cfgloopanal.c
index e5fd46c9775..5502844ce4f 100644
--- a/gcc/cfgloopanal.c
+++ b/gcc/cfgloopanal.c
@@ -96,7 +96,7 @@ blocks_invariant_registers (basic_block *bbs, int nbbs, regset regs)
insn = NEXT_INSN (insn))
if (INSN_P (insn))
note_stores (PATTERN (insn),
- (void (*) PARAMS ((rtx, rtx, void *))) unmark_altered,
+ (void (*) (rtx, rtx, void *)) unmark_altered,
regs);
}
@@ -158,7 +158,7 @@ blocks_single_set_registers (basic_block *bbs, int nbbs, rtx *regs)
continue;
data.insn = insn;
note_stores (PATTERN (insn),
- (void (*) PARAMS ((rtx, rtx, void *))) unmark_altered_insn,
+ (void (*) (rtx, rtx, void *)) unmark_altered_insn,
&data);
}
}
@@ -332,7 +332,7 @@ variable_initial_value (rtx insn, regset invariant_regs, rtx var, rtx *set_insn)
{
if (INSN_P (insn))
note_stores (PATTERN (insn),
- (void (*) PARAMS ((rtx, rtx, void *))) unmark_altered,
+ (void (*) (rtx, rtx, void *)) unmark_altered,
invariant_regs);
if (modified_between_p (var, PREV_INSN (insn), NEXT_INSN (insn)))
break;
diff --git a/gcc/dbxout.h b/gcc/dbxout.h
index 101eae9d07c..bf0e741fe45 100644
--- a/gcc/dbxout.h
+++ b/gcc/dbxout.h
@@ -1,5 +1,6 @@
/* dbxout.h - Various declarations for functions found in dbxout.c
- Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998, 1999, 2000, 2003
+ Free Software Foundation, Inc.
This file is part of GCC.
@@ -18,7 +19,7 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
-extern int dbxout_symbol PARAMS ((tree, int));
-extern void dbxout_parms PARAMS ((tree));
-extern void dbxout_reg_parms PARAMS ((tree));
-extern int dbxout_syms PARAMS ((tree));
+extern int dbxout_symbol (tree, int);
+extern void dbxout_parms (tree);
+extern void dbxout_reg_parms (tree);
+extern int dbxout_syms (tree);
diff --git a/gcc/debug.h b/gcc/debug.h
index c1c0842069d..22d837835c6 100644
--- a/gcc/debug.h
+++ b/gcc/debug.h
@@ -1,5 +1,5 @@
/* Debug hooks for GCC.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
@@ -25,107 +25,99 @@ struct gcc_debug_hooks
{
/* Initialize debug output. MAIN_FILENAME is the name of the main
input file. */
- void (* init) PARAMS ((const char *main_filename));
+ void (* init) (const char *main_filename);
/* Output debug symbols. */
- void (* finish) PARAMS ((const char *main_filename));
+ void (* finish) (const char *main_filename);
/* Macro defined on line LINE with name and expansion TEXT. */
- void (* define) PARAMS ((unsigned int line, const char *text));
+ void (* define) (unsigned int line, const char *text);
/* MACRO undefined on line LINE. */
- void (* undef) PARAMS ((unsigned int line, const char *macro));
+ void (* undef) (unsigned int line, const char *macro);
/* Record the beginning of a new source file FILE from LINE number
in the previous one. */
- void (* start_source_file) PARAMS ((unsigned int line, const char *file));
+ void (* start_source_file) (unsigned int line, const char *file);
/* Record the resumption of a source file. LINE is the line number
in the source file we are returning to. */
- void (* end_source_file) PARAMS ((unsigned int line));
+ void (* end_source_file) (unsigned int line);
/* Record the beginning of block N, counting from 1 and not
including the function-scope block, at LINE. */
- void (* begin_block) PARAMS ((unsigned int line, unsigned int n));
+ void (* begin_block) (unsigned int line, unsigned int n);
/* Record the end of a block. Arguments as for begin_block. */
- void (* end_block) PARAMS ((unsigned int line, unsigned int n));
+ void (* end_block) (unsigned int line, unsigned int n);
/* Returns nonzero if it is appropriate not to emit any debugging
information for BLOCK, because it doesn't contain any
instructions. This may not be the case for blocks containing
nested functions, since we may actually call such a function even
though the BLOCK information is messed up. Defaults to true. */
- bool (* ignore_block) PARAMS ((tree));
+ bool (* ignore_block) (tree);
/* Record a source file location at (FILE, LINE). */
- void (* source_line) PARAMS ((unsigned int line, const char *file));
+ void (* source_line) (unsigned int line, const char *file);
/* Called at start of prologue code. LINE is the first line in the
function. This has been given the same prototype as source_line,
so that the source_line hook can be substituted if appropriate. */
- void (* begin_prologue) PARAMS ((unsigned int line, const char *file));
+ void (* begin_prologue) (unsigned int line, const char *file);
/* Called at end of prologue code. LINE is the first line in the
function. */
- void (* end_prologue) PARAMS ((unsigned int line, const char *file));
+ void (* end_prologue) (unsigned int line, const char *file);
/* Record end of epilogue code. */
- void (* end_epilogue) PARAMS ((unsigned int line, const char *file));
+ void (* end_epilogue) (unsigned int line, const char *file);
/* Called at start of function DECL, before it is declared. */
- void (* begin_function) PARAMS ((tree decl));
+ void (* begin_function) (tree decl);
/* Record end of function. LINE is highest line number in function. */
- void (* end_function) PARAMS ((unsigned int line));
+ void (* end_function) (unsigned int line);
/* Debug information for a function DECL. This might include the
function name (a symbol), its parameters, and the block that
makes up the function's body, and the local variables of the
function. */
- void (* function_decl) PARAMS ((tree decl));
+ void (* function_decl) (tree decl);
/* Debug information for a global DECL. Called from toplev.c after
compilation proper has finished. */
- void (* global_decl) PARAMS ((tree decl));
+ void (* global_decl) (tree decl);
/* DECL is an inline function, whose body is present, but which is
not being output at this point. */
- void (* deferred_inline_function) PARAMS ((tree decl));
+ void (* deferred_inline_function) (tree decl);
/* DECL is an inline function which is about to be emitted out of
line. The hook is useful to, e.g., emit abstract debug info for
the inline before it gets mangled by optimization. */
- void (* outlining_inline_function) PARAMS ((tree decl));
+ void (* outlining_inline_function) (tree decl);
/* Called from final_scan_insn for any CODE_LABEL insn whose
LABEL_NAME is non-null. */
- void (* label) PARAMS ((rtx));
+ void (* label) (rtx);
- /* Called after the start and before the end of writing a PCH file.
+ /* Called after the start and before the end of writing a PCH file.
The parameter is 0 if after the start, 1 if before the end. */
- void (* handle_pch) PARAMS ((unsigned int));
+ void (* handle_pch) (unsigned int);
};
extern const struct gcc_debug_hooks *debug_hooks;
/* The do-nothing hooks. */
-extern void debug_nothing_void
- PARAMS ((void));
-extern void debug_nothing_charstar
- PARAMS ((const char *));
-extern void debug_nothing_int_charstar
- PARAMS ((unsigned int, const char *));
-extern void debug_nothing_int
- PARAMS ((unsigned int));
-extern void debug_nothing_int_int
- PARAMS ((unsigned int, unsigned int));
-extern void debug_nothing_tree
- PARAMS ((tree));
-extern bool debug_true_tree
- PARAMS ((tree));
-extern void debug_nothing_rtx
- PARAMS ((rtx));
+extern void debug_nothing_void (void);
+extern void debug_nothing_charstar (const char *);
+extern void debug_nothing_int_charstar (unsigned int, const char *);
+extern void debug_nothing_int (unsigned int);
+extern void debug_nothing_int_int (unsigned int, unsigned int);
+extern void debug_nothing_tree (tree);
+extern bool debug_true_tree (tree);
+extern void debug_nothing_rtx (rtx);
/* Hooks for various debug formats. */
extern const struct gcc_debug_hooks do_nothing_debug_hooks;
@@ -138,17 +130,17 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks;
/* Dwarf2 frame information. */
-extern void dwarf2out_begin_prologue PARAMS ((unsigned int, const char *));
-extern void dwarf2out_end_epilogue PARAMS ((unsigned int, const char *));
-extern void dwarf2out_frame_init PARAMS ((void));
-extern void dwarf2out_frame_finish PARAMS ((void));
+extern void dwarf2out_begin_prologue (unsigned int, const char *);
+extern void dwarf2out_end_epilogue (unsigned int, const char *);
+extern void dwarf2out_frame_init (void);
+extern void dwarf2out_frame_finish (void);
/* Decide whether we want to emit frame unwind information for the current
translation unit. */
-extern int dwarf2out_do_frame PARAMS ((void));
+extern int dwarf2out_do_frame (void);
-extern void debug_flush_symbol_queue PARAMS ((void));
-extern void debug_queue_symbol PARAMS ((tree));
-extern void debug_free_queue PARAMS ((void));
+extern void debug_flush_symbol_queue (void);
+extern void debug_queue_symbol (tree);
+extern void debug_free_queue (void);
extern int debug_nesting;
extern int symbol_queue_index;
diff --git a/gcc/dwarf2asm.h b/gcc/dwarf2asm.h
index 8d6fd18bd89..1cc599e7399 100644
--- a/gcc/dwarf2asm.h
+++ b/gcc/dwarf2asm.h
@@ -1,5 +1,5 @@
/* Dwarf2 assembler output helper routines.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -19,60 +19,55 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
-extern void dw2_assemble_integer PARAMS ((int, rtx));
+extern void dw2_assemble_integer (int, rtx);
-extern void dw2_asm_output_data PARAMS ((int, unsigned HOST_WIDE_INT,
- const char *, ...))
+extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_delta PARAMS ((int, const char *,
- const char *,
- const char *, ...))
+extern void dw2_asm_output_delta (int, const char *, const char *,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_4;
-extern void dw2_asm_output_offset PARAMS ((int, const char *,
- const char *, ...))
+extern void dw2_asm_output_offset (int, const char *, const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_pcrel PARAMS ((int, const char *,
- const char *, ...))
+extern void dw2_asm_output_pcrel (int, const char *, const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_addr PARAMS ((int, const char *,
- const char *, ...))
+extern void dw2_asm_output_addr (int, const char *, const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_addr_rtx PARAMS ((int, rtx,
- const char *, ...))
+extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_encoded_addr_rtx PARAMS ((int, rtx,
- const char *, ...))
+extern void dw2_asm_output_encoded_addr_rtx (int, rtx,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_nstring PARAMS ((const char *, size_t,
- const char *, ...))
+extern void dw2_asm_output_nstring (const char *, size_t,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_data_uleb128 PARAMS ((unsigned HOST_WIDE_INT,
- const char *, ...))
+extern void dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_2;
-extern void dw2_asm_output_data_sleb128 PARAMS ((HOST_WIDE_INT,
- const char *, ...))
+extern void dw2_asm_output_data_sleb128 (HOST_WIDE_INT,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_2;
-extern void dw2_asm_output_delta_uleb128 PARAMS ((const char *, const char *,
- const char *, ...))
+extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern void dw2_asm_output_delta_sleb128 PARAMS ((const char *, const char *,
- const char *, ...))
+extern void dw2_asm_output_delta_sleb128 (const char *, const char *,
+ const char *, ...)
ATTRIBUTE_NULL_PRINTF_3;
-extern int size_of_uleb128 PARAMS ((unsigned HOST_WIDE_INT));
-extern int size_of_sleb128 PARAMS ((HOST_WIDE_INT));
-extern int size_of_encoded_value PARAMS ((int));
-extern const char *eh_data_format_name PARAMS ((int));
+extern int size_of_uleb128 (unsigned HOST_WIDE_INT);
+extern int size_of_sleb128 (HOST_WIDE_INT);
+extern int size_of_encoded_value (int);
+extern const char *eh_data_format_name (int);
-extern void dw2_output_indirect_constants PARAMS ((void));
+extern void dw2_output_indirect_constants (void);
diff --git a/gcc/gcov.c b/gcc/gcov.c
index c8fc6ad5d31..276918f051b 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -1,7 +1,7 @@
/* Gcov.c: prepend line execution counts and branch probabilities to a
source file.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998,
- 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+ 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support.
Mangled further by Nathan Sidwell <nathan@codesourcery.com>
@@ -102,7 +102,7 @@ typedef struct arc_info
/* Next branch on line. */
struct arc_info *line_next;
-
+
/* Links to next arc on src and dst lists. */
struct arc_info *succ_next;
struct arc_info *pred_next;
@@ -159,7 +159,7 @@ typedef struct block_info
/* Temporary chain for solving graph, and for chaining blocks on one
line. */
struct block_info *chain;
-
+
} block_t;
/* Describes a single function. Contains an array of basic blocks. */
@@ -186,7 +186,7 @@ typedef struct function_info
/* Next function in same source file. */
struct function_info *line_next;
-
+
/* Next function. */
struct function_info *next;
} function_t;
@@ -197,14 +197,14 @@ typedef struct coverage_info
{
int lines;
int lines_executed;
-
+
int branches;
int branches_executed;
int branches_taken;
-
+
int calls;
int calls_executed;
-
+
char *name;
} coverage_t;
@@ -216,7 +216,7 @@ typedef struct line_info
gcov_type count; /* execution count */
union
{
- arc_t *branches; /* branches from blocks that end on this
+ arc_t *branches; /* branches from blocks that end on this
line. Used for branch-counts when not
all-blocks mode. */
block_t *blocks; /* blocks which start on this line. Used
@@ -243,7 +243,7 @@ typedef struct source_info
/* Functions in this source file. These are in ascending line
number order. */
function_t *functions;
-
+
/* Next source file. */
struct source_info *next;
} source_t;
@@ -280,7 +280,7 @@ static char *da_file_name;
static int flag_branches = 0;
-/* Show unconditional branches too. */
+/* Show unconditional branches too. */
static int flag_unconditional = 0;
/* Output a gcov file if this is true. This is on by default, and can
@@ -320,34 +320,32 @@ static int flag_preserve_paths = 0;
static int flag_counts = 0;
/* Forward declarations. */
-static void fnotice PARAMS ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2;
-static int process_args PARAMS ((int, char **));
-static void print_usage PARAMS ((int)) ATTRIBUTE_NORETURN;
-static void print_version PARAMS ((void)) ATTRIBUTE_NORETURN;
-static void process_file PARAMS ((const char *));
-static void create_file_names PARAMS ((const char *));
-static source_t *find_source PARAMS ((const char *));
-static int read_graph_file PARAMS ((void));
-static int read_count_file PARAMS ((void));
-static void solve_flow_graph PARAMS ((function_t *));
-static void add_branch_counts PARAMS ((coverage_t *, const arc_t *));
-static void add_line_counts PARAMS ((coverage_t *, function_t *));
-static void function_summary PARAMS ((const coverage_t *, const char *));
-static const char *format_gcov PARAMS ((gcov_type, gcov_type, int));
-static void accumulate_line_counts PARAMS ((source_t *));
-static int output_branch_count PARAMS ((FILE *, int, const arc_t *));
-static void output_lines PARAMS ((FILE *, const source_t *));
-static char *make_gcov_file_name PARAMS ((const char *, const char *));
-static void release_structures PARAMS ((void));
-extern int main PARAMS ((int, char **));
+static void fnotice (FILE *, const char *, ...) ATTRIBUTE_PRINTF_2;
+static int process_args (int, char **);
+static void print_usage (int) ATTRIBUTE_NORETURN;
+static void print_version (void) ATTRIBUTE_NORETURN;
+static void process_file (const char *);
+static void create_file_names (const char *);
+static source_t *find_source (const char *);
+static int read_graph_file (void);
+static int read_count_file (void);
+static void solve_flow_graph (function_t *);
+static void add_branch_counts (coverage_t *, const arc_t *);
+static void add_line_counts (coverage_t *, function_t *);
+static void function_summary (const coverage_t *, const char *);
+static const char *format_gcov (gcov_type, gcov_type, int);
+static void accumulate_line_counts (source_t *);
+static int output_branch_count (FILE *, int, const arc_t *);
+static void output_lines (FILE *, const source_t *);
+static char *make_gcov_file_name (const char *, const char *);
+static void release_structures (void);
+extern int main (int, char **);
int
-main (argc, argv)
- int argc;
- char **argv;
+main (int argc, char **argv)
{
int argno;
-
+
gcc_init_libintl ();
argno = process_args (argc, argv);
@@ -357,10 +355,10 @@ main (argc, argv)
for (; argno != argc; argno++)
{
release_structures ();
-
+
process_file (argv[argno]);
}
-
+
return 0;
}
@@ -368,7 +366,7 @@ static void
fnotice (FILE *file, const char *msgid, ...)
{
va_list ap;
-
+
va_start (ap, msgid);
vfprintf (file, _(msgid), ap);
va_end (ap);
@@ -376,10 +374,10 @@ fnotice (FILE *file, const char *msgid, ...)
/* More 'friendly' abort that prints the line and file.
config.h can #define abort fancy_abort if you like that sort of thing. */
-extern void fancy_abort PARAMS ((void)) ATTRIBUTE_NORETURN;
+extern void fancy_abort (void) ATTRIBUTE_NORETURN;
void
-fancy_abort ()
+fancy_abort (void)
{
fnotice (stderr, "Internal gcov abort.\n");
exit (FATAL_EXIT_CODE);
@@ -389,12 +387,11 @@ fancy_abort ()
otherwise the output of --help. */
static void
-print_usage (error_p)
- int error_p;
+print_usage (int error_p)
{
FILE *file = error_p ? stderr : stdout;
int status = error_p ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE;
-
+
fnotice (file, "Usage: gcov [OPTION]... SOURCEFILE\n\n");
fnotice (file, "Print code coverage information.\n\n");
fnotice (file, " -h, --help Print this help, then exit\n");
@@ -418,7 +415,7 @@ print_usage (error_p)
/* Print version information and exit. */
static void
-print_version ()
+print_version (void)
{
char v[4];
unsigned version = GCOV_VERSION;
@@ -454,9 +451,7 @@ static const struct option options[] =
/* Process args, return index to first non-arg. */
static int
-process_args (argc, argv)
- int argc;
- char **argv;
+process_args (int argc, char **argv)
{
int opt;
@@ -509,25 +504,24 @@ process_args (argc, argv)
/* Process a single source file. */
static void
-process_file (file_name)
- const char *file_name;
+process_file (const char *file_name)
{
source_t *src;
function_t *fn;
-
+
create_file_names (file_name);
if (read_graph_file ())
return;
-
+
if (!functions)
{
fnotice (stderr, "%s:no functions found\n", bbg_file_name);
return;
}
-
+
if (read_count_file ())
return;
-
+
for (fn = functions; fn; fn = fn->next)
solve_flow_graph (fn);
for (src = sources; src; src = src->next)
@@ -535,7 +529,7 @@ process_file (file_name)
for (fn = functions; fn; fn = fn->next)
{
coverage_t coverage;
-
+
memset (&coverage, 0, sizeof (coverage));
coverage.name = fn->name;
add_line_counts (flag_function_summary ? &coverage : NULL, fn);
@@ -545,7 +539,7 @@ process_file (file_name)
fnotice (stdout, "\n");
}
}
-
+
for (src = sources; src; src = src->next)
{
accumulate_line_counts (src);
@@ -554,7 +548,7 @@ process_file (file_name)
{
char *gcov_file_name = make_gcov_file_name (file_name, src->name);
FILE *gcov_file = fopen (gcov_file_name, "w");
-
+
if (gcov_file)
{
fnotice (stdout, "%s:creating `%s'\n",
@@ -577,17 +571,17 @@ process_file (file_name)
/* Release all memory used. */
static void
-release_structures ()
+release_structures (void)
{
function_t *fn;
source_t *src;
-
+
free (bbg_file_name);
free (da_file_name);
da_file_name = bbg_file_name = NULL;
bbg_file_time = 0;
bbg_stamp = 0;
-
+
while ((src = sources))
{
sources = src->next;
@@ -595,12 +589,12 @@ release_structures ()
free (src->name);
free (src->lines);
}
-
+
while ((fn = functions))
{
unsigned ix;
block_t *block;
-
+
functions = fn->next;
for (ix = fn->num_blocks, block = fn->blocks; ix--; block++)
{
@@ -626,14 +620,13 @@ release_structures ()
the object *file*, and the data files are named from that. */
static void
-create_file_names (file_name)
- const char *file_name;
+create_file_names (const char *file_name)
{
char *cptr;
char *name;
int length = strlen (file_name);
int base;
-
+
if (object_directory && object_directory[0])
{
struct stat status;
@@ -641,7 +634,7 @@ create_file_names (file_name)
length += strlen (object_directory) + 2;
name = xmalloc (length);
name[0] = 0;
-
+
base = !stat (object_directory, &status) && S_ISDIR (status.st_mode);
strcat (name, object_directory);
if (base && name[strlen (name) - 1] != '/')
@@ -653,21 +646,21 @@ create_file_names (file_name)
name[0] = 0;
base = 1;
}
-
+
if (base)
{
/* Append source file name. */
cptr = strrchr (file_name, '/');
strcat (name, cptr ? cptr + 1 : file_name);
}
-
+
/* Remove the extension. */
cptr = strrchr (name, '.');
if (cptr)
*cptr = 0;
-
+
length = strlen (name);
-
+
bbg_file_name = xmalloc (length + strlen (GCOV_GRAPH_SUFFIX) + 1);
strcpy (bbg_file_name, name);
strcpy (bbg_file_name + length, GCOV_GRAPH_SUFFIX);
@@ -675,7 +668,7 @@ create_file_names (file_name)
da_file_name = xmalloc (length + strlen (GCOV_DATA_SUFFIX) + 1);
strcpy (da_file_name, name);
strcpy (da_file_name + length, GCOV_DATA_SUFFIX);
-
+
return;
}
@@ -683,18 +676,17 @@ create_file_names (file_name)
FILE_NAME on creation */
static source_t *
-find_source (file_name)
- const char *file_name;
+find_source (const char *file_name)
{
source_t *src;
if (!file_name)
file_name = "<unknown>";
-
+
for (src = sources; src; src = src->next)
if (!strcmp (file_name, src->name))
return src;
-
+
src = (source_t *)xcalloc (1, sizeof (source_t));
src->name = xstrdup (file_name);
src->coverage.name = src->name;
@@ -708,7 +700,7 @@ find_source (file_name)
/* Read the graph file. Return nonzero on fatal error. */
static int
-read_graph_file ()
+read_graph_file (void)
{
unsigned version;
unsigned current_tag = 0;
@@ -716,7 +708,7 @@ read_graph_file ()
source_t *src = NULL;
unsigned ix;
unsigned tag;
-
+
if (!gcov_open (bbg_file_name, 1))
{
fnotice (stderr, "%s:cannot open graph file\n", bbg_file_name);
@@ -735,7 +727,7 @@ read_graph_file ()
{
char v[4], e[4];
unsigned required = GCOV_VERSION;
-
+
for (ix = 4; ix--; required >>= 8, version >>= 8)
{
v[ix] = version;
@@ -763,7 +755,7 @@ read_graph_file ()
function_name = xstrdup (gcov_read_string ());
src = find_source (gcov_read_string ());
lineno = gcov_read_unsigned ();
-
+
fn = (function_t *)xcalloc (1, sizeof (function_t));
fn->name = function_name;
fn->ident = ident;
@@ -774,7 +766,7 @@ read_graph_file ()
fn->next = functions;
functions = fn;
current_tag = tag;
-
+
if (lineno >= src->num_lines)
src->num_lines = lineno + 1;
/* Now insert it into the source file's list of
@@ -799,7 +791,7 @@ read_graph_file ()
{
unsigned ix, num_blocks = length / 4;
fn->num_blocks = num_blocks;
-
+
fn->blocks
= (block_t *)xcalloc (fn->num_blocks, sizeof (block_t));
for (ix = 0; ix != num_blocks; ix++)
@@ -813,30 +805,30 @@ read_graph_file ()
if (src >= fn->num_blocks || fn->blocks[src].succ)
goto corrupt;
-
+
while (num_dests--)
{
struct arc_info *arc;
unsigned dest = gcov_read_unsigned ();
unsigned flags = gcov_read_unsigned ();
-
+
if (dest >= fn->num_blocks)
goto corrupt;
arc = (arc_t *) xcalloc (1, sizeof (arc_t));
-
+
arc->dst = &fn->blocks[dest];
arc->src = &fn->blocks[src];
-
+
arc->count = 0;
arc->count_valid = 0;
arc->on_tree = !!(flags & GCOV_ARC_ON_TREE);
arc->fake = !!(flags & GCOV_ARC_FAKE);
arc->fall_through = !!(flags & GCOV_ARC_FALLTHROUGH);
-
+
arc->succ_next = fn->blocks[src].succ;
fn->blocks[src].succ = arc;
fn->blocks[src].num_succ++;
-
+
arc->pred_next = fn->blocks[dest].pred;
fn->blocks[dest].pred = arc;
fn->blocks[dest].num_pred++;
@@ -853,13 +845,13 @@ read_graph_file ()
else
{
/* Non-local return from a callee of this
- function. The destination block is a catch or
- setjmp. */
+ function. The destination block is a catch or
+ setjmp. */
arc->is_nonlocal_return = 1;
fn->blocks[dest].is_nonlocal_return = 1;
}
}
-
+
if (!arc->on_tree)
fn->num_counts++;
}
@@ -872,11 +864,11 @@ read_graph_file ()
if (blockno >= fn->num_blocks || fn->blocks[blockno].u.line.encoding)
goto corrupt;
-
+
for (ix = 0; ; )
{
unsigned lineno = gcov_read_unsigned ();
-
+
if (lineno)
{
if (!ix)
@@ -891,16 +883,16 @@ read_graph_file ()
else
{
const char *file_name = gcov_read_string ();
-
+
if (!file_name)
break;
src = find_source (file_name);
-
+
line_nos[ix++] = 0;
line_nos[ix++] = src->index;
}
}
-
+
fn->blocks[blockno].u.line.encoding = line_nos;
fn->blocks[blockno].u.line.num = ix;
}
@@ -921,9 +913,9 @@ read_graph_file ()
return 1;
}
gcov_close ();
-
+
/* We built everything backwards, so nreverse them all */
-
+
/* Reverse sources. Not strictly necessary, but we'll then process
them in the 'expected' order. */
{
@@ -944,7 +936,7 @@ read_graph_file ()
for (fn_p = NULL, fn = functions; fn; fn_p = fn, fn = fn_n)
{
unsigned ix;
-
+
fn_n = fn->next;
fn->next = fn_p;
@@ -952,7 +944,7 @@ read_graph_file ()
for (ix = fn->num_blocks; ix--;)
{
arc_t *arc, *arc_p, *arc_n;
-
+
for (arc_p = NULL, arc = fn->blocks[ix].succ; arc;
arc_p = arc, arc = arc_n)
{
@@ -979,7 +971,7 @@ read_graph_file ()
function. Return nonzero if fatal error. */
static int
-read_count_file ()
+read_count_file (void)
{
unsigned ix;
unsigned version;
@@ -1004,7 +996,7 @@ read_count_file ()
{
char v[4], e[4];
unsigned desired = GCOV_VERSION;
-
+
for (ix = 4; ix--; desired >>= 8, version >>= 8)
{
v[ix] = version;
@@ -1019,7 +1011,7 @@ read_count_file ()
fnotice (stderr, "%s:stamp mismatch with graph file\n", da_file_name);
goto cleanup;
}
-
+
while ((tag = gcov_read_unsigned ()))
{
unsigned length = gcov_read_unsigned ();
@@ -1064,11 +1056,11 @@ read_count_file ()
{
if (length != 8 * fn->num_counts)
goto mismatch;
-
+
if (!fn->counts)
fn->counts
= (gcov_type *)xcalloc (fn->num_counts, sizeof (gcov_type));
-
+
for (ix = 0; ix != fn->num_counts; ix++)
fn->counts[ix] += gcov_read_counter ();
}
@@ -1083,7 +1075,7 @@ read_count_file ()
da_file_name);
goto cleanup;
}
-
+
gcov_close ();
return 0;
}
@@ -1092,8 +1084,7 @@ read_count_file ()
to the blocks and the uninstrumented arcs. */
static void
-solve_flow_graph (fn)
- function_t *fn;
+solve_flow_graph (function_t *fn)
{
unsigned ix;
arc_t *arc;
@@ -1101,7 +1092,7 @@ solve_flow_graph (fn)
block_t *blk;
block_t *valid_blocks = NULL; /* valid, but unpropagated blocks. */
block_t *invalid_blocks = NULL; /* invalid, but inferable blocks. */
-
+
if (fn->num_blocks < 2)
fnotice (stderr, "%s:`%s' lacks entry and/or exit blocks\n",
bbg_file_name, fn->name);
@@ -1114,7 +1105,7 @@ solve_flow_graph (fn)
/* We can't deduce the entry block counts from the lack of
predecessors. */
fn->blocks[0].num_pred = ~(unsigned)0;
-
+
if (fn->blocks[fn->num_blocks - 1].num_succ)
fnotice (stderr, "%s:`%s' has arcs from exit block\n",
bbg_file_name, fn->name);
@@ -1131,12 +1122,12 @@ solve_flow_graph (fn)
block_t const *prev_dst = NULL;
int out_of_order = 0;
int non_fake_succ = 0;
-
+
for (arc = blk->succ; arc; arc = arc->succ_next)
{
if (!arc->fake)
non_fake_succ++;
-
+
if (!arc->on_tree)
{
if (count_ptr)
@@ -1168,7 +1159,7 @@ solve_flow_graph (fn)
arc->dst->is_call_return = 1;
}
}
-
+
/* Sort the successor arcs into ascending dst order. profile.c
normally produces arcs in the right order, but sometimes with
one or two out of order. We're not using a particularly
@@ -1177,11 +1168,11 @@ solve_flow_graph (fn)
{
arc_t *start = blk->succ;
unsigned changes = 1;
-
+
while (changes)
{
arc_t *arc, *arc_p, *arc_n;
-
+
changes = 0;
for (arc_p = NULL, arc = start; (arc_n = arc->succ_next);)
{
@@ -1205,7 +1196,7 @@ solve_flow_graph (fn)
}
blk->succ = start;
}
-
+
/* Place it on the invalid chain, it will be ignored if that's
wrong. */
blk->invalid_chain = 1;
@@ -1219,7 +1210,7 @@ solve_flow_graph (fn)
{
gcov_type total = 0;
const arc_t *arc;
-
+
invalid_blocks = blk->chain;
blk->invalid_chain = 0;
if (!blk->num_succ)
@@ -1230,7 +1221,7 @@ solve_flow_graph (fn)
total += arc->count;
else
continue;
-
+
blk->count = total;
blk->count_valid = 1;
blk->chain = valid_blocks;
@@ -1247,7 +1238,7 @@ solve_flow_graph (fn)
if (blk->num_succ == 1)
{
block_t *dst;
-
+
total = blk->count;
inv_arc = NULL;
for (arc = blk->succ; arc; arc = arc->succ_next)
@@ -1283,7 +1274,7 @@ solve_flow_graph (fn)
if (blk->num_pred == 1)
{
block_t *src;
-
+
total = blk->count;
inv_arc = NULL;
for (arc = blk->pred; arc; arc = arc->pred_next)
@@ -1318,7 +1309,7 @@ solve_flow_graph (fn)
}
}
}
-
+
/* If the graph has been correctly solved, every block will have a
valid count. */
for (ix = 0; ix < fn->num_blocks; ix++)
@@ -1335,9 +1326,7 @@ solve_flow_graph (fn)
/* Increment totals in COVERAGE according to arc ARC. */
static void
-add_branch_counts (coverage, arc)
- coverage_t *coverage;
- const arc_t *arc;
+add_branch_counts (coverage_t *coverage, const arc_t *arc)
{
if (arc->is_call_non_return)
{
@@ -1362,22 +1351,20 @@ add_branch_counts (coverage, arc)
format TOP. Return pointer to a static string. */
static char const *
-format_gcov (top, bottom, dp)
- gcov_type top, bottom;
- int dp;
+format_gcov (gcov_type top, gcov_type bottom, int dp)
{
static char buffer[20];
-
+
if (dp >= 0)
{
float ratio = bottom ? (float)top / bottom : 0;
int ix;
unsigned limit = 100;
unsigned percent;
-
+
for (ix = dp; ix--; )
limit *= 10;
-
+
percent = (unsigned) (ratio * limit + (float)0.5);
if (percent <= 0 && top)
percent = 1;
@@ -1398,7 +1385,7 @@ format_gcov (top, bottom, dp)
}
else
sprintf (buffer, HOST_WIDEST_INT_PRINT_DEC, (HOST_WIDEST_INT)top);
-
+
return buffer;
}
@@ -1406,9 +1393,7 @@ format_gcov (top, bottom, dp)
/* Output summary info for a function. */
static void
-function_summary (coverage, title)
- const coverage_t *coverage;
- const char *title;
+function_summary (const coverage_t *coverage, const char *title)
{
fnotice (stdout, "%s `%s'\n", title, coverage->name);
@@ -1454,13 +1439,11 @@ function_summary (coverage, title)
removed and '..' components are renamed to '^'. */
static char *
-make_gcov_file_name (input_name, src_name)
- const char *input_name;
- const char *src_name;
+make_gcov_file_name (const char *input_name, const char *src_name)
{
char *cptr;
char *name = xmalloc (strlen (src_name) + strlen (input_name) + 10);
-
+
name[0] = 0;
if (flag_long_names && strcmp (src_name, input_name))
{
@@ -1469,43 +1452,43 @@ make_gcov_file_name (input_name, src_name)
strcat (name, cptr ? cptr + 1 : input_name);
strcat (name, "##");
}
-
+
/* Generate the source filename part. */
cptr = flag_preserve_paths ? NULL : strrchr (src_name, '/');
strcat (name, cptr ? cptr + 1 : src_name);
-
+
if (flag_preserve_paths)
{
/* Convert '/' to '#', remove '/./', convert '/../' to '/^/' */
char *prev;
-
+
for (cptr = name; (cptr = strchr ((prev = cptr), '/'));)
- {
- unsigned shift = 0;
-
- if (prev + 1 == cptr && prev[0] == '.')
- {
- /* Remove '.' */
- shift = 2;
- }
- else if (prev + 2 == cptr && prev[0] == '.' && prev[1] == '.')
- {
- /* Convert '..' */
- shift = 1;
- prev[1] = '^';
- }
- else
- *cptr++ = '#';
- if (shift)
- {
- cptr = prev;
- do
- prev[0] = prev[shift];
+ {
+ unsigned shift = 0;
+
+ if (prev + 1 == cptr && prev[0] == '.')
+ {
+ /* Remove '.' */
+ shift = 2;
+ }
+ else if (prev + 2 == cptr && prev[0] == '.' && prev[1] == '.')
+ {
+ /* Convert '..' */
+ shift = 1;
+ prev[1] = '^';
+ }
+ else
+ *cptr++ = '#';
+ if (shift)
+ {
+ cptr = prev;
+ do
+ prev[0] = prev[shift];
while (*prev++);
- }
- }
+ }
+ }
}
-
+
strcat (name, ".gcov");
return name;
}
@@ -1515,9 +1498,7 @@ make_gcov_file_name (input_name, src_name)
the appropriate basic block. */
static void
-add_line_counts (coverage, fn)
- coverage_t *coverage;
- function_t *fn;
+add_line_counts (coverage_t *coverage, function_t *fn)
{
unsigned ix;
line_t *line = NULL; /* this is propagated from one iteration to the
@@ -1560,13 +1541,13 @@ add_line_counts (coverage, fn)
free (block->u.line.encoding);
block->u.cycle.arc = NULL;
block->u.cycle.ident = ~0U;
-
+
if (!ix || ix + 1 == fn->num_blocks)
/* Entry or exit block */;
else if (flag_all_blocks)
{
line_t *block_line = line ? line : &fn->src->lines[fn->line];
-
+
block->chain = block_line->u.blocks;
block_line->u.blocks = block;
}
@@ -1590,8 +1571,7 @@ add_line_counts (coverage, fn)
/* Accumulate the line counts of a file. */
static void
-accumulate_line_counts (src)
- source_t *src;
+accumulate_line_counts (source_t *src)
{
line_t *line;
function_t *fn, *fn_p, *fn_n;
@@ -1605,20 +1585,20 @@ accumulate_line_counts (src)
fn->line_next = fn_p;
}
src->functions = fn_p;
-
+
for (ix = src->num_lines, line = src->lines; ix--; line++)
{
if (!flag_all_blocks)
{
arc_t *arc, *arc_p, *arc_n;
-
+
/* Total and reverse the branch information. */
for (arc = line->u.branches, arc_p = NULL; arc;
arc_p = arc, arc = arc_n)
{
arc_n = arc->line_next;
arc->line_next = arc_p;
-
+
add_branch_counts (&src->coverage, arc);
}
line->u.branches = arc_p;
@@ -1633,7 +1613,7 @@ accumulate_line_counts (src)
and add the transition counts of those cycles. */
block_t *block, *block_p, *block_n;
gcov_type count = 0;
-
+
/* Reverse the block information. */
for (block = line->u.blocks, block_p = NULL; block;
block_p = block, block = block_n)
@@ -1643,7 +1623,7 @@ accumulate_line_counts (src)
block->u.cycle.ident = ix;
}
line->u.blocks = block_p;
-
+
/* Sum the entry arcs. */
for (block = line->u.blocks; block; block = block->chain)
{
@@ -1677,7 +1657,7 @@ accumulate_line_counts (src)
{
block_t *head = block;
arc_t *arc;
-
+
next_vertex:;
arc = head->succ;
current_vertex:;
@@ -1694,14 +1674,14 @@ accumulate_line_counts (src)
arc = arc->succ_next;
continue;
}
-
+
if (dst == block)
{
/* Found a closing arc. */
gcov_type cycle_count = arc->count;
arc_t *cycle_arc = arc;
arc_t *probe_arc;
-
+
/* Locate the smallest arc count of the loop. */
for (dst = head; (probe_arc = dst->u.cycle.arc);
dst = probe_arc->src)
@@ -1710,7 +1690,7 @@ accumulate_line_counts (src)
cycle_count = probe_arc->count;
cycle_arc = probe_arc;
}
-
+
count += cycle_count;
cycle_arc->cycle = 1;
/* Unwind to the cyclic arc. */
@@ -1723,7 +1703,7 @@ accumulate_line_counts (src)
arc = arc->succ_next;
continue;
}
-
+
/* Add new block to chain. */
dst->u.cycle.arc = arc;
head = dst;
@@ -1746,7 +1726,7 @@ accumulate_line_counts (src)
line->count = count;
}
-
+
if (line->exists)
{
src->coverage.lines++;
@@ -1760,12 +1740,9 @@ accumulate_line_counts (src)
anything is output. */
static int
-output_branch_count (gcov_file, ix, arc)
- FILE *gcov_file;
- int ix;
- const arc_t *arc;
+output_branch_count (FILE *gcov_file, int ix, const arc_t *arc)
{
-
+
if (arc->is_call_non_return)
{
if (arc->src->count)
@@ -1797,7 +1774,7 @@ output_branch_count (gcov_file, ix, arc)
else
return 0;
return 1;
-
+
}
/* Read in the source file one line at a time, and output that line to
@@ -1805,12 +1782,10 @@ output_branch_count (gcov_file, ix, arc)
information. */
static void
-output_lines (gcov_file, src)
- FILE *gcov_file;
- const source_t *src;
+output_lines (FILE *gcov_file, const source_t *src)
{
FILE *source_file;
- unsigned line_num; /* current line number. */
+ unsigned line_num; /* current line number. */
const line_t *line; /* current line info ptr. */
char string[STRING_SIZE]; /* line buffer. */
char const *retval = ""; /* status of source file reading. */
@@ -1822,7 +1797,7 @@ output_lines (gcov_file, src)
fprintf (gcov_file, "%9s:%5d:Runs:%u\n", "-", 0,
object_summary.ctrs[GCOV_COUNTER_ARCS].runs);
fprintf (gcov_file, "%9s:%5d:Programs:%u\n", "-", 0, program_count);
-
+
source_file = fopen (src->name, "r");
if (!source_file)
{
@@ -1832,7 +1807,7 @@ output_lines (gcov_file, src)
else
{
struct stat status;
-
+
if (!fstat (fileno (source_file), &status)
&& status.st_mtime > bbg_file_time)
{
@@ -1854,7 +1829,7 @@ output_lines (gcov_file, src)
for (; arc; arc = arc->pred_next)
if (arc->fake)
return_count -= arc->count;
-
+
fprintf (gcov_file, "function %s", fn->name);
fprintf (gcov_file, " called %s",
format_gcov (fn->blocks[0].count, 0, -1));
@@ -1864,17 +1839,17 @@ output_lines (gcov_file, src)
format_gcov (fn->blocks_executed, fn->num_blocks - 2, 0));
fprintf (gcov_file, "\n");
}
-
+
/* For lines which don't exist in the .bb file, print '-' before
- the source line. For lines which exist but were never
- executed, print '#####' before the source line. Otherwise,
- print the execution count before the source line. There are
- 16 spaces of indentation added before the source line so that
- tabs won't be messed up. */
+ the source line. For lines which exist but were never
+ executed, print '#####' before the source line. Otherwise,
+ print the execution count before the source line. There are
+ 16 spaces of indentation added before the source line so that
+ tabs won't be messed up. */
fprintf (gcov_file, "%9s:%5u:",
!line->exists ? "-" : !line->count ? "#####"
: format_gcov (line->count, 0, -1), line_num);
-
+
if (retval)
{
/* Copy source line. */
@@ -1895,7 +1870,7 @@ output_lines (gcov_file, src)
block_t *block;
arc_t *arc;
int ix, jx;
-
+
for (ix = jx = 0, block = line->u.blocks; block;
block = block->chain)
{
@@ -1913,12 +1888,12 @@ output_lines (gcov_file, src)
{
int ix;
arc_t *arc;
-
+
for (ix = 0, arc = line->u.branches; arc; arc = arc->line_next)
ix += output_branch_count (gcov_file, ix, arc);
}
}
-
+
/* Handle all remaining source lines. There may be lines after the
last line of code. */
if (retval)
@@ -1926,7 +1901,7 @@ output_lines (gcov_file, src)
for (; (retval = fgets (string, STRING_SIZE, source_file)); line_num++)
{
fprintf (gcov_file, "%9s:%5u:%s", "-", line_num, retval);
-
+
while (!retval[0] || retval[strlen (retval) - 1] != '\n')
{
retval = fgets (string, STRING_SIZE, source_file);
@@ -1936,7 +1911,7 @@ output_lines (gcov_file, src)
}
}
}
-
+
if (source_file)
fclose (source_file);
}
diff --git a/gcc/gengtype-lex.l b/gcc/gengtype-lex.l
index 36b1596651e..ad70ba82e63 100644
--- a/gcc/gengtype-lex.l
+++ b/gcc/gengtype-lex.l
@@ -1,6 +1,6 @@
/* -*- indented-text -*- */
/* Process source files and output type information.
- Copyright (C) 2002 Free Software Foundation, Inc.
+ Copyright (C) 2002, 2003 Free Software Foundation, Inc.
This file is part of GCC.
@@ -33,15 +33,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#undef YY_USE_PROTOS
#define YY_DECL int yylex ()
-static void update_lineno PARAMS ((const char *l, size_t len));
+static void update_lineno (const char *l, size_t len);
struct fileloc lexer_line;
int lexer_toplevel_done;
static void
-update_lineno (l, len)
- const char *l;
- size_t len;
+update_lineno (const char *l, size_t len)
{
while (len-- > 0)
if (*l++ == '\n')
@@ -305,15 +303,13 @@ ITYPE {IWORD}({WS}{IWORD})*
%%
void
-yyerror (s)
- const char *s;
+yyerror (const char *s)
{
error_at_line (&lexer_line, s);
}
void
-parse_file (fname)
- const char *fname;
+parse_file (const char *fname)
{
yyin = fopen (fname, "r");
lexer_line.file = fname;
diff --git a/gcc/sched-int.h b/gcc/sched-int.h
index f255b068ded..0ab0d65aee4 100644
--- a/gcc/sched-int.h
+++ b/gcc/sched-int.h
@@ -126,29 +126,29 @@ struct sched_info
void (*init_ready_list) (struct ready_list *);
/* Called after taking an insn from the ready list. Returns nonzero if
this insn can be scheduled, nonzero if we should silently discard it. */
- int (*can_schedule_ready_p) PARAMS ((rtx));
+ int (*can_schedule_ready_p) (rtx);
/* Return nonzero if there are more insns that should be scheduled. */
- int (*schedule_more_p) PARAMS ((void));
+ int (*schedule_more_p) (void);
/* Called after an insn has all its dependencies resolved. Return nonzero
if it should be moved to the ready list or the queue, or zero if we
should silently discard it. */
- int (*new_ready) PARAMS ((rtx));
+ int (*new_ready) (rtx);
/* Compare priority of two insns. Return a positive number if the second
insn is to be preferred for scheduling, and a negative one if the first
is to be preferred. Zero if they are equally good. */
- int (*rank) PARAMS ((rtx, rtx));
+ int (*rank) (rtx, rtx);
/* Return a string that contains the insn uid and optionally anything else
necessary to identify this insn in an output. It's valid to use a
static buffer for this. The ALIGNED parameter should cause the string
to be formatted so that multiple output lines will line up nicely. */
- const char *(*print_insn) PARAMS ((rtx, int));
+ const char *(*print_insn) (rtx, int);
/* Return nonzero if an insn should be included in priority
calculations. */
- int (*contributes_to_priority) PARAMS ((rtx, rtx));
+ int (*contributes_to_priority) (rtx, rtx);
/* Called when computing dependencies for a JUMP_INSN. This function
should store the set of registers that must be considered as set by
the jump in the regset. */
- void (*compute_jump_reg_dependencies) PARAMS ((rtx, regset));
+ void (*compute_jump_reg_dependencies) (rtx, regset);
/* The boundaries of the set of insns to be scheduled. */
rtx prev_head, next_tail;
diff --git a/gcc/timevar.c b/gcc/timevar.c
index 776f575eb69..6fa1610cc5d 100644
--- a/gcc/timevar.c
+++ b/gcc/timevar.c
@@ -80,7 +80,7 @@ struct tms
#else
#ifdef HAVE_GETRUSAGE
# if defined HAVE_DECL_GETRUSAGE && !HAVE_DECL_GETRUSAGE
- extern int getrusage PARAMS ((int, struct rusage *));
+ extern int getrusage (int, struct rusage *);
# endif
# define USE_GETRUSAGE
# define HAVE_USER_TIME
@@ -88,7 +88,7 @@ struct tms
#else
#ifdef HAVE_CLOCK
# if defined HAVE_DECL_CLOCK && !HAVE_DECL_CLOCK
- extern clock_t clock PARAMS ((void));
+ extern clock_t clock (void);
# endif
# define USE_CLOCK
# define HAVE_USER_TIME