Commit f55ade6e by Andreas Jaeger

basic-block.h: Convert prototypes to ISO C90.

	* basic-block.h: Convert prototypes to ISO C90.
	* c-parse.in: Likewise.
	* c-pragma.h: Likewise.
	* c-typeck.c: Likewise.
	* cfghooks.h: Likewise.
	* cfgloopanal.c: Likewise.
	* dbxout.h: Likewise.
	* debug.h: Likewise.
	* dwarf2asm.h: Likewise.
	* gcov.c: Likewise.
	* gengtype-lex.l: Likewise.
	* sched-int.h: Likewise.
	* timevar.c: Likewise.

From-SVN: r69010
parent ade4289c
...@@ -72,7 +72,7 @@ typedef bitmap regset; ...@@ -72,7 +72,7 @@ typedef bitmap regset;
#define REGNO_REG_SET_P(TO, REG) bitmap_bit_p (TO, REG) #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. */ /* 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) \ #define REG_SET_TO_HARD_REG_SET(TO, FROM) \
do { \ do { \
CLEAR_HARD_REG_SET (TO); \ CLEAR_HARD_REG_SET (TO); \
...@@ -336,49 +336,44 @@ extern struct basic_block_def entry_exit_blocks[2]; ...@@ -336,49 +336,44 @@ extern struct basic_block_def entry_exit_blocks[2];
#define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0) #define BLOCK_NUM(INSN) (BLOCK_FOR_INSN (INSN)->index + 0)
#define set_block_for_insn(INSN, BB) (BLOCK_FOR_INSN (INSN) = BB) #define set_block_for_insn(INSN, BB) (BLOCK_FOR_INSN (INSN) = BB)
extern void compute_bb_for_insn PARAMS ((void)); extern void compute_bb_for_insn (void);
extern void free_bb_for_insn PARAMS ((void)); extern void free_bb_for_insn (void);
extern void update_bb_for_insn PARAMS ((basic_block)); 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); bool safe_insert_insn_on_edge (rtx, edge);
extern void commit_edge_insertions PARAMS ((void)); extern void commit_edge_insertions (void);
extern void commit_edge_insertions_watch_calls PARAMS ((void)); extern void commit_edge_insertions_watch_calls (void);
extern void remove_fake_edges PARAMS ((void)); extern void remove_fake_edges (void);
extern void add_noreturn_fake_exit_edges PARAMS ((void)); extern void add_noreturn_fake_exit_edges (void);
extern void connect_infinite_loops_to_exit PARAMS ((void)); extern void connect_infinite_loops_to_exit (void);
extern int flow_call_edges_add PARAMS ((sbitmap)); extern int flow_call_edges_add (sbitmap);
extern edge unchecked_make_edge PARAMS ((basic_block, extern edge unchecked_make_edge (basic_block, basic_block, int);
basic_block, int)); extern edge cached_make_edge (sbitmap *, basic_block, basic_block, int);
extern edge cached_make_edge PARAMS ((sbitmap *, basic_block, extern edge make_edge (basic_block, basic_block, int);
basic_block, int)); extern edge make_single_succ_edge (basic_block, basic_block, int);
extern edge make_edge PARAMS ((basic_block, extern void remove_edge (edge);
basic_block, int)); extern void redirect_edge_succ (edge, basic_block);
extern edge make_single_succ_edge PARAMS ((basic_block, extern edge redirect_edge_succ_nodup (edge, basic_block);
basic_block, int)); extern void redirect_edge_pred (edge, basic_block);
extern void remove_edge PARAMS ((edge)); extern basic_block create_basic_block_structure (rtx, rtx, rtx, basic_block);
extern void redirect_edge_succ PARAMS ((edge, basic_block)); extern void clear_bb_flags (void);
extern edge redirect_edge_succ_nodup PARAMS ((edge, basic_block)); extern void tidy_fallthru_edge (edge, basic_block, basic_block);
extern void redirect_edge_pred PARAMS ((edge, basic_block)); extern void tidy_fallthru_edges (void);
extern basic_block create_basic_block_structure PARAMS ((rtx, rtx, rtx, basic_block)); extern void flow_reverse_top_sort_order_compute (int *);
extern void clear_bb_flags PARAMS ((void)); extern int flow_depth_first_order_compute (int *, int *);
extern void tidy_fallthru_edge PARAMS ((edge, basic_block, extern void flow_preorder_transversal_compute (int *);
basic_block)); extern int dfs_enumerate_from (basic_block, int,
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 *), bool (*)(basic_block, void *),
basic_block *, int, void *)); basic_block *, int, void *);
extern void dump_edge_info PARAMS ((FILE *, edge, int)); extern void dump_edge_info (FILE *, edge, int);
extern void clear_edges PARAMS ((void)); extern void clear_edges (void);
extern void mark_critical_edges PARAMS ((void)); extern void mark_critical_edges (void);
extern rtx first_insn_after_basic_block_note PARAMS ((basic_block)); extern rtx first_insn_after_basic_block_note (basic_block);
/* Dominator information for basic blocks. */ /* Dominator information for basic blocks. */
...@@ -455,12 +450,11 @@ struct edge_list ...@@ -455,12 +450,11 @@ struct edge_list
#define EDGE_CRITICAL_P(e) ((e)->src->succ->succ_next \ #define EDGE_CRITICAL_P(e) ((e)->src->succ->succ_next \
&& (e)->dest->pred->pred_next) && (e)->dest->pred->pred_next)
struct edge_list * create_edge_list PARAMS ((void)); struct edge_list * create_edge_list (void);
void free_edge_list PARAMS ((struct edge_list *)); void free_edge_list (struct edge_list *);
void print_edge_list PARAMS ((FILE *, struct edge_list *)); void print_edge_list (FILE *, struct edge_list *);
void verify_edge_list PARAMS ((FILE *, struct edge_list *)); void verify_edge_list (FILE *, struct edge_list *);
int find_edge_index PARAMS ((struct edge_list *, int find_edge_index (struct edge_list *, basic_block, basic_block);
basic_block, basic_block));
enum update_life_extent enum update_life_extent
...@@ -502,123 +496,110 @@ 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 #define CLEANUP_NO_INSN_DEL 128 /* Do not try to delete trivially dead
insns. */ insns. */
#define CLEANUP_CFGLAYOUT 256 /* Do cleanup in cfglayout mode. */ #define CLEANUP_CFGLAYOUT 256 /* Do cleanup in cfglayout mode. */
extern void life_analysis PARAMS ((rtx, FILE *, int)); extern void life_analysis (rtx, FILE *, int);
extern int update_life_info PARAMS ((sbitmap, enum update_life_extent, extern int update_life_info (sbitmap, enum update_life_extent, int);
int)); extern int update_life_info_in_dirty_blocks (enum update_life_extent, int);
extern int update_life_info_in_dirty_blocks PARAMS ((enum update_life_extent, extern int count_or_remove_death_notes (sbitmap, int);
int)); extern int propagate_block (basic_block, regset, regset, regset, int);
extern int count_or_remove_death_notes PARAMS ((sbitmap, int));
extern int propagate_block PARAMS ((basic_block, regset, regset, regset,
int));
struct propagate_block_info; 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 extern struct propagate_block_info *init_propagate_block_info
PARAMS ((basic_block, regset, regset, regset, int)); (basic_block, regset, regset, regset, int);
extern void free_propagate_block_info PARAMS ((struct propagate_block_info *)); extern void free_propagate_block_info (struct propagate_block_info *);
/* In lcm.c */ /* In lcm.c */
extern struct edge_list *pre_edge_lcm PARAMS ((FILE *, int, sbitmap *, 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 *, sbitmap **, sbitmap *, sbitmap **,
sbitmap **)); sbitmap **);
extern struct edge_list *pre_edge_rev_lcm PARAMS ((FILE *, int, sbitmap *, extern void compute_available (sbitmap *, sbitmap *, sbitmap *, sbitmap *);
sbitmap *, sbitmap *, extern int optimize_mode_switching (FILE *);
sbitmap *, sbitmap **,
sbitmap **));
extern void compute_available PARAMS ((sbitmap *, sbitmap *,
sbitmap *, sbitmap *));
extern int optimize_mode_switching PARAMS ((FILE *));
/* In emit-rtl.c. */ /* In emit-rtl.c. */
extern rtx emit_block_insn_after PARAMS ((rtx, rtx, basic_block)); extern rtx emit_block_insn_after (rtx, rtx, basic_block);
extern rtx emit_block_insn_before PARAMS ((rtx, rtx, basic_block)); extern rtx emit_block_insn_before (rtx, rtx, basic_block);
/* In predict.c */ /* In predict.c */
extern void estimate_probability PARAMS ((struct loops *)); extern void estimate_probability (struct loops *);
extern void note_prediction_to_br_prob PARAMS ((void)); extern void note_prediction_to_br_prob (void);
extern void expected_value_to_br_prob PARAMS ((void)); extern void expected_value_to_br_prob (void);
extern bool maybe_hot_bb_p PARAMS ((basic_block)); extern bool maybe_hot_bb_p (basic_block);
extern bool probably_cold_bb_p PARAMS ((basic_block)); extern bool probably_cold_bb_p (basic_block);
extern bool probably_never_executed_bb_p PARAMS ((basic_block)); extern bool probably_never_executed_bb_p (basic_block);
/* In flow.c */ /* In flow.c */
extern void init_flow PARAMS ((void)); extern void init_flow (void);
extern void dump_bb PARAMS ((basic_block, FILE *)); extern void dump_bb (basic_block, FILE *);
extern void debug_bb PARAMS ((basic_block)); extern void debug_bb (basic_block);
extern basic_block debug_bb_n PARAMS ((int)); extern basic_block debug_bb_n (int);
extern void dump_regset PARAMS ((regset, FILE *)); extern void dump_regset (regset, FILE *);
extern void debug_regset PARAMS ((regset)); extern void debug_regset (regset);
extern void allocate_reg_life_data PARAMS ((void)); extern void allocate_reg_life_data (void);
extern void allocate_bb_life_data PARAMS ((void)); extern void allocate_bb_life_data (void);
extern void expunge_block PARAMS ((basic_block)); extern void expunge_block (basic_block);
extern void link_block PARAMS ((basic_block, basic_block)); extern void link_block (basic_block, basic_block);
extern void unlink_block PARAMS ((basic_block)); extern void unlink_block (basic_block);
extern void compact_blocks PARAMS ((void)); extern void compact_blocks (void);
extern basic_block alloc_block PARAMS ((void)); extern basic_block alloc_block (void);
extern void find_unreachable_blocks PARAMS ((void)); extern void find_unreachable_blocks (void);
extern int delete_noop_moves PARAMS ((rtx)); extern int delete_noop_moves (rtx);
extern basic_block force_nonfallthru PARAMS ((edge)); extern basic_block force_nonfallthru (edge);
extern rtx block_label PARAMS ((basic_block)); extern rtx block_label (basic_block);
extern bool forwarder_block_p PARAMS ((basic_block)); extern bool forwarder_block_p (basic_block);
extern bool purge_all_dead_edges PARAMS ((int)); extern bool purge_all_dead_edges (int);
extern bool purge_dead_edges PARAMS ((basic_block)); extern bool purge_dead_edges (basic_block);
extern void find_sub_basic_blocks PARAMS ((basic_block)); extern void find_sub_basic_blocks (basic_block);
extern void find_many_sub_basic_blocks PARAMS ((sbitmap)); extern void find_many_sub_basic_blocks (sbitmap);
extern bool can_fallthru PARAMS ((basic_block, basic_block)); extern bool can_fallthru (basic_block, basic_block);
extern void flow_nodes_print PARAMS ((const char *, const sbitmap, extern void flow_nodes_print (const char *, const sbitmap, FILE *);
FILE *)); extern void flow_edge_list_print (const char *, const edge *, int, FILE *);
extern void flow_edge_list_print PARAMS ((const char *, const edge *, extern void alloc_aux_for_block (basic_block, int);
int, FILE *)); extern void alloc_aux_for_blocks (int);
extern void alloc_aux_for_block PARAMS ((basic_block, int)); extern void clear_aux_for_blocks (void);
extern void alloc_aux_for_blocks PARAMS ((int)); extern void free_aux_for_blocks (void);
extern void clear_aux_for_blocks PARAMS ((void)); extern void alloc_aux_for_edge (edge, int);
extern void free_aux_for_blocks PARAMS ((void)); extern void alloc_aux_for_edges (int);
extern void alloc_aux_for_edge PARAMS ((edge, int)); extern void clear_aux_for_edges (void);
extern void alloc_aux_for_edges PARAMS ((int)); extern void free_aux_for_edges (void);
extern void clear_aux_for_edges PARAMS ((void));
extern void free_aux_for_edges PARAMS ((void));
/* This function is always defined so it can be called from the /* 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 debugger, and it is declared extern so we don't get warnings about
it being unused. */ it being unused. */
extern void verify_flow_info PARAMS ((void)); extern void verify_flow_info (void);
typedef struct conflict_graph_def *conflict_graph; typedef struct conflict_graph_def *conflict_graph;
/* Callback function when enumerating conflicts. The arguments are /* Callback function when enumerating conflicts. The arguments are
the smaller and larger regno in the conflict. Returns zero if the smaller and larger regno in the conflict. Returns zero if
enumeration is to continue, nonzero to halt enumeration. */ 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. */ /* Prototypes of operations on conflict graphs. */
extern conflict_graph conflict_graph_new extern conflict_graph conflict_graph_new
PARAMS ((int)); (int);
extern void conflict_graph_delete PARAMS ((conflict_graph)); extern void conflict_graph_delete (conflict_graph);
extern int conflict_graph_add PARAMS ((conflict_graph, extern int conflict_graph_add (conflict_graph, int, int);
int, int)); extern int conflict_graph_conflict_p (conflict_graph, int, int);
extern int conflict_graph_conflict_p PARAMS ((conflict_graph, extern void conflict_graph_enum (conflict_graph, int, conflict_graph_enum_fn,
int, int)); void *);
extern void conflict_graph_enum PARAMS ((conflict_graph, int, extern void conflict_graph_merge_regs (conflict_graph, int, int);
conflict_graph_enum_fn, extern void conflict_graph_print (conflict_graph, FILE*);
void *)); extern conflict_graph conflict_graph_compute (regset, partition);
extern void conflict_graph_merge_regs PARAMS ((conflict_graph, int, extern bool mark_dfs_back_edges (void);
int)); extern void set_edge_can_fallthru_flag (void);
extern void conflict_graph_print PARAMS ((conflict_graph, FILE*)); extern void update_br_prob_note (basic_block);
extern conflict_graph conflict_graph_compute extern void fixup_abnormal_edges (void);
PARAMS ((regset, extern bool can_hoist_insn_p (rtx, rtx, regset);
partition)); extern rtx hoist_insn_after (rtx, rtx, rtx, rtx);
extern bool mark_dfs_back_edges PARAMS ((void)); extern rtx hoist_insn_to_edge (rtx, edge, rtx, rtx);
extern void set_edge_can_fallthru_flag PARAMS ((void)); extern bool inside_basic_block_p (rtx);
extern void update_br_prob_note PARAMS ((basic_block)); extern bool control_flow_insn_p (rtx);
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));
/* In bb-reorder.c */ /* In bb-reorder.c */
extern void reorder_basic_blocks (void); extern void reorder_basic_blocks (void);
...@@ -631,23 +612,22 @@ enum cdi_direction ...@@ -631,23 +612,22 @@ enum cdi_direction
CDI_POST_DOMINATORS CDI_POST_DOMINATORS
}; };
extern dominance_info calculate_dominance_info PARAMS ((enum cdi_direction)); extern dominance_info calculate_dominance_info (enum cdi_direction);
extern void free_dominance_info PARAMS ((dominance_info)); extern void free_dominance_info (dominance_info);
extern basic_block nearest_common_dominator PARAMS ((dominance_info, extern basic_block nearest_common_dominator (dominance_info,
basic_block, basic_block)); basic_block, basic_block);
extern void set_immediate_dominator PARAMS ((dominance_info, extern void set_immediate_dominator (dominance_info, basic_block,
basic_block, basic_block)); basic_block);
extern basic_block get_immediate_dominator PARAMS ((dominance_info, extern basic_block get_immediate_dominator (dominance_info, basic_block);
basic_block)); extern bool dominated_by_p (dominance_info, basic_block, basic_block);
extern bool dominated_by_p PARAMS ((dominance_info, basic_block, basic_block)); extern int get_dominated_by (dominance_info, basic_block, basic_block **);
extern int get_dominated_by PARAMS ((dominance_info, basic_block, basic_block **)); extern void add_to_dominance_info (dominance_info, basic_block);
extern void add_to_dominance_info PARAMS ((dominance_info, basic_block)); extern void delete_from_dominance_info (dominance_info, basic_block);
extern void delete_from_dominance_info PARAMS ((dominance_info, basic_block)); basic_block recount_dominator (dominance_info, basic_block);
basic_block recount_dominator PARAMS ((dominance_info, basic_block)); extern void redirect_immediate_dominators (dominance_info, basic_block,
extern void redirect_immediate_dominators PARAMS ((dominance_info, basic_block, basic_block);
basic_block)); void iterate_fix_dominators (dominance_info, basic_block *, int);
void iterate_fix_dominators PARAMS ((dominance_info, basic_block *, int)); extern void verify_dominators (dominance_info);
extern void verify_dominators PARAMS ((dominance_info));
#include "cfghooks.h" #include "cfghooks.h"
......
...@@ -332,16 +332,16 @@ static bool parsing_iso_function_signature; ...@@ -332,16 +332,16 @@ static bool parsing_iso_function_signature;
#define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL) #define YYPRINT(FILE,YYCHAR,YYLVAL) yyprint(FILE,YYCHAR,YYLVAL)
static void yyprint PARAMS ((FILE *, int, YYSTYPE)); static void yyprint (FILE *, int, YYSTYPE);
static void yyerror PARAMS ((const char *)); static void yyerror (const char *);
static int yylexname PARAMS ((void)); static int yylexname (void);
static inline int _yylex PARAMS ((void)); static inline int _yylex (void);
static int yylex PARAMS ((void)); static int yylex (void);
static void init_reswords PARAMS ((void)); static void init_reswords (void);
/* Initialisation routine for this file. */ /* Initialisation routine for this file. */
void void
c_parse_init () c_parse_init (void)
{ {
init_reswords (); init_reswords ();
} }
...@@ -3526,7 +3526,7 @@ static const short rid_to_yy[RID_MAX] = ...@@ -3526,7 +3526,7 @@ static const short rid_to_yy[RID_MAX] =
}; };
static void static void
init_reswords () init_reswords (void)
{ {
unsigned int i; unsigned int i;
tree id; tree id;
...@@ -3554,8 +3554,7 @@ init_reswords () ...@@ -3554,8 +3554,7 @@ init_reswords ()
#define NAME(type) cpp_type2name (type) #define NAME(type) cpp_type2name (type)
static void static void
yyerror (msgid) yyerror (const char *msgid)
const char *msgid;
{ {
const char *string = _(msgid); const char *string = _(msgid);
...@@ -3582,7 +3581,7 @@ yyerror (msgid) ...@@ -3582,7 +3581,7 @@ yyerror (msgid)
} }
static int static int
yylexname () yylexname (void)
{ {
tree decl; tree decl;
...@@ -3641,7 +3640,7 @@ end ifobjc ...@@ -3641,7 +3640,7 @@ end ifobjc
} }
static inline int static inline int
_yylex () _yylex (void)
{ {
get_next: get_next:
last_token = c_lex (&yylval.ttype); last_token = c_lex (&yylval.ttype);
...@@ -3745,7 +3744,7 @@ _yylex () ...@@ -3745,7 +3744,7 @@ _yylex ()
} }
static int static int
yylex() yylex (void)
{ {
int r; int r;
timevar_push (TV_LEX); timevar_push (TV_LEX);
...@@ -3757,10 +3756,7 @@ yylex() ...@@ -3757,10 +3756,7 @@ yylex()
/* Function used when yydebug is set, to print a token in more detail. */ /* Function used when yydebug is set, to print a token in more detail. */
static void static void
yyprint (file, yychar, yyl) yyprint (FILE *file, int yychar, YYSTYPE yyl)
FILE *file;
int yychar;
YYSTYPE yyl;
{ {
tree t = yyl.ttype; tree t = yyl.ttype;
...@@ -3797,7 +3793,7 @@ yyprint (file, yychar, yyl) ...@@ -3797,7 +3793,7 @@ yyprint (file, yychar, yyl)
/* Free malloced parser stacks if necessary. */ /* Free malloced parser stacks if necessary. */
void void
free_parser_stacks () free_parser_stacks (void)
{ {
if (malloced_yyss) if (malloced_yyss)
{ {
......
...@@ -51,9 +51,8 @@ extern void init_pragma (void); ...@@ -51,9 +51,8 @@ extern void init_pragma (void);
/* Front-end wrapper for pragma registration to avoid dragging /* Front-end wrapper for pragma registration to avoid dragging
cpplib.h in almost everywhere. */ cpplib.h in almost everywhere. */
extern void c_register_pragma extern void c_register_pragma (const char *, const char *,
PARAMS ((const char *, const char *, void (*) (struct cpp_reader *));
void (*) (struct cpp_reader *)));
extern void maybe_apply_pragma_weak (tree); extern void maybe_apply_pragma_weak (tree);
extern tree maybe_apply_renaming_pragma (tree, tree); extern tree maybe_apply_renaming_pragma (tree, tree);
extern void add_to_renaming_pragma_list (tree, tree); extern void add_to_renaming_pragma_list (tree, tree);
......
...@@ -52,39 +52,38 @@ static int missing_braces_mentioned; ...@@ -52,39 +52,38 @@ static int missing_braces_mentioned;
/* 1 if we explained undeclared var errors. */ /* 1 if we explained undeclared var errors. */
static int undeclared_variable_notice; static int undeclared_variable_notice;
static tree qualify_type PARAMS ((tree, tree)); static tree qualify_type (tree, tree);
static int comp_target_types PARAMS ((tree, tree, int)); static int comp_target_types (tree, tree, int);
static int function_types_compatible_p PARAMS ((tree, tree)); static int function_types_compatible_p (tree, tree);
static int type_lists_compatible_p PARAMS ((tree, tree)); static int type_lists_compatible_p (tree, tree);
static tree decl_constant_value_for_broken_optimization PARAMS ((tree)); static tree decl_constant_value_for_broken_optimization (tree);
static tree default_function_array_conversion PARAMS ((tree)); static tree default_function_array_conversion (tree);
static tree lookup_field PARAMS ((tree, tree)); static tree lookup_field (tree, tree);
static void undeclared_variable PARAMS ((tree)); static void undeclared_variable (tree);
static tree convert_arguments PARAMS ((tree, tree, tree, tree)); static tree convert_arguments (tree, tree, tree, tree);
static tree pointer_diff PARAMS ((tree, tree)); static tree pointer_diff (tree, tree);
static tree unary_complex_lvalue PARAMS ((enum tree_code, tree, int)); static tree unary_complex_lvalue (enum tree_code, tree, int);
static void pedantic_lvalue_warning PARAMS ((enum tree_code)); static void pedantic_lvalue_warning (enum tree_code);
static tree internal_build_compound_expr PARAMS ((tree, int)); static tree internal_build_compound_expr (tree, int);
static tree convert_for_assignment PARAMS ((tree, tree, const char *, static tree convert_for_assignment (tree, tree, const char *, tree, tree,
tree, tree, int)); int);
static void warn_for_assignment PARAMS ((const char *, const char *, static void warn_for_assignment (const char *, const char *, tree, int);
tree, int)); static tree valid_compound_expr_initializer (tree, tree);
static tree valid_compound_expr_initializer PARAMS ((tree, tree)); static void push_string (const char *);
static void push_string PARAMS ((const char *)); static void push_member_name (tree);
static void push_member_name PARAMS ((tree)); static void push_array_bounds (int);
static void push_array_bounds PARAMS ((int)); static int spelling_length (void);
static int spelling_length PARAMS ((void)); static char *print_spelling (char *);
static char *print_spelling PARAMS ((char *)); static void warning_init (const char *);
static void warning_init PARAMS ((const char *)); static tree digest_init (tree, tree, int);
static tree digest_init PARAMS ((tree, tree, int)); static void output_init_element (tree, tree, tree, int);
static void output_init_element PARAMS ((tree, tree, tree, int)); static void output_pending_init_elements (int);
static void output_pending_init_elements PARAMS ((int)); static int set_designator (int);
static int set_designator PARAMS ((int)); static void push_range_stack (tree);
static void push_range_stack PARAMS ((tree)); static void add_pending_init (tree, tree);
static void add_pending_init PARAMS ((tree, tree)); static void set_nonincremental_init (void);
static void set_nonincremental_init PARAMS ((void)); static void set_nonincremental_init_from_string (tree);
static void set_nonincremental_init_from_string PARAMS ((tree)); static tree find_init_member (tree);
static tree find_init_member PARAMS ((tree));
/* Do `exp = require_complete_type (exp);' to make sure exp /* Do `exp = require_complete_type (exp);' to make sure exp
does not have an incomplete type. (That includes void types.) */ 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) ...@@ -1859,7 +1858,8 @@ parser_build_binary_op (enum tree_code code, tree arg1, tree arg2)
the arithmetic is to be done. */ the arithmetic is to be done. */
tree 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; tree type0, type1;
enum tree_code code0, code1; enum tree_code code0, code1;
...@@ -3872,7 +3872,8 @@ build_modify_expr (tree lhs, enum tree_code modifycode, tree rhs) ...@@ -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. */ PARMNUM is the number of the argument, for printing in error messages. */
static tree 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); enum tree_code codel = TREE_CODE (type);
tree rhstype; tree rhstype;
...@@ -4194,7 +4195,8 @@ c_convert_parm_for_inlining (tree parm, tree value, tree fn) ...@@ -4194,7 +4195,8 @@ c_convert_parm_for_inlining (tree parm, tree value, tree fn)
Objective-C selector. */ Objective-C selector. */
static void 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) if (opname == 0)
{ {
...@@ -6703,7 +6705,8 @@ simple_asm_stmt (tree expr) ...@@ -6703,7 +6705,8 @@ simple_asm_stmt (tree expr)
STRING, some OUTPUTS, some INPUTS, and some CLOBBERS. */ STRING, some OUTPUTS, some INPUTS, and some CLOBBERS. */
tree 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; tree tail;
......
...@@ -32,7 +32,7 @@ struct cfg_hooks ...@@ -32,7 +32,7 @@ struct cfg_hooks
/* Basic CFG manipulation. */ /* Basic CFG manipulation. */
/* Return new basic block */ /* 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 /* Redirect edge E to the given basic block B and update underlying program
representation. Returns false when edge is not easily redirectable for representation. Returns false when edge is not easily redirectable for
...@@ -51,10 +51,10 @@ struct cfg_hooks ...@@ -51,10 +51,10 @@ struct cfg_hooks
edge (*split_block) (basic_block b, void * i); edge (*split_block) (basic_block b, void * i);
/* Return true when blocks A and B can be merged into single basic block. */ /* 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. */ /* 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 /* Higher level functions representable by primitive operations above if
we didn't have some oddities in RTL and Tree representations. */ we didn't have some oddities in RTL and Tree representations. */
......
...@@ -96,7 +96,7 @@ blocks_invariant_registers (basic_block *bbs, int nbbs, regset regs) ...@@ -96,7 +96,7 @@ blocks_invariant_registers (basic_block *bbs, int nbbs, regset regs)
insn = NEXT_INSN (insn)) insn = NEXT_INSN (insn))
if (INSN_P (insn)) if (INSN_P (insn))
note_stores (PATTERN (insn), note_stores (PATTERN (insn),
(void (*) PARAMS ((rtx, rtx, void *))) unmark_altered, (void (*) (rtx, rtx, void *)) unmark_altered,
regs); regs);
} }
...@@ -158,7 +158,7 @@ blocks_single_set_registers (basic_block *bbs, int nbbs, rtx *regs) ...@@ -158,7 +158,7 @@ blocks_single_set_registers (basic_block *bbs, int nbbs, rtx *regs)
continue; continue;
data.insn = insn; data.insn = insn;
note_stores (PATTERN (insn), note_stores (PATTERN (insn),
(void (*) PARAMS ((rtx, rtx, void *))) unmark_altered_insn, (void (*) (rtx, rtx, void *)) unmark_altered_insn,
&data); &data);
} }
} }
...@@ -332,7 +332,7 @@ variable_initial_value (rtx insn, regset invariant_regs, rtx var, rtx *set_insn) ...@@ -332,7 +332,7 @@ variable_initial_value (rtx insn, regset invariant_regs, rtx var, rtx *set_insn)
{ {
if (INSN_P (insn)) if (INSN_P (insn))
note_stores (PATTERN (insn), note_stores (PATTERN (insn),
(void (*) PARAMS ((rtx, rtx, void *))) unmark_altered, (void (*) (rtx, rtx, void *)) unmark_altered,
invariant_regs); invariant_regs);
if (modified_between_p (var, PREV_INSN (insn), NEXT_INSN (insn))) if (modified_between_p (var, PREV_INSN (insn), NEXT_INSN (insn)))
break; break;
......
/* dbxout.h - Various declarations for functions found in dbxout.c /* 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. This file is part of GCC.
...@@ -18,7 +19,7 @@ along with GCC; see the file COPYING. If not, write to the Free ...@@ -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 Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */ 02111-1307, USA. */
extern int dbxout_symbol PARAMS ((tree, int)); extern int dbxout_symbol (tree, int);
extern void dbxout_parms PARAMS ((tree)); extern void dbxout_parms (tree);
extern void dbxout_reg_parms PARAMS ((tree)); extern void dbxout_reg_parms (tree);
extern int dbxout_syms PARAMS ((tree)); extern int dbxout_syms (tree);
/* Debug hooks for GCC. /* 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 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 under the terms of the GNU General Public License as published by the
...@@ -25,107 +25,99 @@ struct gcc_debug_hooks ...@@ -25,107 +25,99 @@ struct gcc_debug_hooks
{ {
/* Initialize debug output. MAIN_FILENAME is the name of the main /* Initialize debug output. MAIN_FILENAME is the name of the main
input file. */ input file. */
void (* init) PARAMS ((const char *main_filename)); void (* init) (const char *main_filename);
/* Output debug symbols. */ /* 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. */ /* 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. */ /* 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 /* Record the beginning of a new source file FILE from LINE number
in the previous one. */ 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 /* Record the resumption of a source file. LINE is the line number
in the source file we are returning to. */ 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 /* Record the beginning of block N, counting from 1 and not
including the function-scope block, at LINE. */ 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. */ /* 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 /* Returns nonzero if it is appropriate not to emit any debugging
information for BLOCK, because it doesn't contain any information for BLOCK, because it doesn't contain any
instructions. This may not be the case for blocks containing instructions. This may not be the case for blocks containing
nested functions, since we may actually call such a function even nested functions, since we may actually call such a function even
though the BLOCK information is messed up. Defaults to true. */ 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). */ /* 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 /* Called at start of prologue code. LINE is the first line in the
function. This has been given the same prototype as source_line, function. This has been given the same prototype as source_line,
so that the source_line hook can be substituted if appropriate. */ 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 /* Called at end of prologue code. LINE is the first line in the
function. */ 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. */ /* 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. */ /* 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. */ /* 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 /* Debug information for a function DECL. This might include the
function name (a symbol), its parameters, and the block that function name (a symbol), its parameters, and the block that
makes up the function's body, and the local variables of the makes up the function's body, and the local variables of the
function. */ function. */
void (* function_decl) PARAMS ((tree decl)); void (* function_decl) (tree decl);
/* Debug information for a global DECL. Called from toplev.c after /* Debug information for a global DECL. Called from toplev.c after
compilation proper has finished. */ 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 /* DECL is an inline function, whose body is present, but which is
not being output at this point. */ 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 /* 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 line. The hook is useful to, e.g., emit abstract debug info for
the inline before it gets mangled by optimization. */ 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 /* Called from final_scan_insn for any CODE_LABEL insn whose
LABEL_NAME is non-null. */ 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. */ 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; extern const struct gcc_debug_hooks *debug_hooks;
/* The do-nothing hooks. */ /* The do-nothing hooks. */
extern void debug_nothing_void extern void debug_nothing_void (void);
PARAMS ((void)); extern void debug_nothing_charstar (const char *);
extern void debug_nothing_charstar extern void debug_nothing_int_charstar (unsigned int, const char *);
PARAMS ((const char *)); extern void debug_nothing_int (unsigned int);
extern void debug_nothing_int_charstar extern void debug_nothing_int_int (unsigned int, unsigned int);
PARAMS ((unsigned int, const char *)); extern void debug_nothing_tree (tree);
extern void debug_nothing_int extern bool debug_true_tree (tree);
PARAMS ((unsigned int)); extern void debug_nothing_rtx (rtx);
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));
/* Hooks for various debug formats. */ /* Hooks for various debug formats. */
extern const struct gcc_debug_hooks do_nothing_debug_hooks; extern const struct gcc_debug_hooks do_nothing_debug_hooks;
...@@ -138,17 +130,17 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks; ...@@ -138,17 +130,17 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks;
/* Dwarf2 frame information. */ /* Dwarf2 frame information. */
extern void dwarf2out_begin_prologue PARAMS ((unsigned int, const char *)); extern void dwarf2out_begin_prologue (unsigned int, const char *);
extern void dwarf2out_end_epilogue PARAMS ((unsigned int, const char *)); extern void dwarf2out_end_epilogue (unsigned int, const char *);
extern void dwarf2out_frame_init PARAMS ((void)); extern void dwarf2out_frame_init (void);
extern void dwarf2out_frame_finish PARAMS ((void)); extern void dwarf2out_frame_finish (void);
/* Decide whether we want to emit frame unwind information for the current /* Decide whether we want to emit frame unwind information for the current
translation unit. */ 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_flush_symbol_queue (void);
extern void debug_queue_symbol PARAMS ((tree)); extern void debug_queue_symbol (tree);
extern void debug_free_queue PARAMS ((void)); extern void debug_free_queue (void);
extern int debug_nesting; extern int debug_nesting;
extern int symbol_queue_index; extern int symbol_queue_index;
......
/* Dwarf2 assembler output helper routines. /* 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. This file is part of GCC.
...@@ -19,60 +19,55 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -19,60 +19,55 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */ 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, extern void dw2_asm_output_data (int, unsigned HOST_WIDE_INT,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_delta PARAMS ((int, const char *, extern void dw2_asm_output_delta (int, const char *, const char *,
const char *, const char *, ...)
const char *, ...))
ATTRIBUTE_NULL_PRINTF_4; ATTRIBUTE_NULL_PRINTF_4;
extern void dw2_asm_output_offset PARAMS ((int, const char *, extern void dw2_asm_output_offset (int, const char *, const char *, ...)
const char *, ...))
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_pcrel PARAMS ((int, const char *, extern void dw2_asm_output_pcrel (int, const char *, const char *, ...)
const char *, ...))
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_addr PARAMS ((int, const char *, extern void dw2_asm_output_addr (int, const char *, const char *, ...)
const char *, ...))
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_addr_rtx PARAMS ((int, rtx, extern void dw2_asm_output_addr_rtx (int, rtx, const char *, ...)
const char *, ...))
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_encoded_addr_rtx PARAMS ((int, rtx, extern void dw2_asm_output_encoded_addr_rtx (int, rtx,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_nstring PARAMS ((const char *, size_t, extern void dw2_asm_output_nstring (const char *, size_t,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_data_uleb128 PARAMS ((unsigned HOST_WIDE_INT, extern void dw2_asm_output_data_uleb128 (unsigned HOST_WIDE_INT,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_2; ATTRIBUTE_NULL_PRINTF_2;
extern void dw2_asm_output_data_sleb128 PARAMS ((HOST_WIDE_INT, extern void dw2_asm_output_data_sleb128 (HOST_WIDE_INT,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_2; ATTRIBUTE_NULL_PRINTF_2;
extern void dw2_asm_output_delta_uleb128 PARAMS ((const char *, const char *, extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern void dw2_asm_output_delta_sleb128 PARAMS ((const char *, const char *, extern void dw2_asm_output_delta_sleb128 (const char *, const char *,
const char *, ...)) const char *, ...)
ATTRIBUTE_NULL_PRINTF_3; ATTRIBUTE_NULL_PRINTF_3;
extern int size_of_uleb128 PARAMS ((unsigned HOST_WIDE_INT)); extern int size_of_uleb128 (unsigned HOST_WIDE_INT);
extern int size_of_sleb128 PARAMS ((HOST_WIDE_INT)); extern int size_of_sleb128 (HOST_WIDE_INT);
extern int size_of_encoded_value PARAMS ((int)); extern int size_of_encoded_value (int);
extern const char *eh_data_format_name PARAMS ((int)); extern const char *eh_data_format_name (int);
extern void dw2_output_indirect_constants PARAMS ((void)); extern void dw2_output_indirect_constants (void);
/* Gcov.c: prepend line execution counts and branch probabilities to a /* Gcov.c: prepend line execution counts and branch probabilities to a
source file. source file.
Copyright (C) 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, 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. Contributed by James E. Wilson of Cygnus Support.
Mangled by Bob Manson of Cygnus Support. Mangled by Bob Manson of Cygnus Support.
Mangled further by Nathan Sidwell <nathan@codesourcery.com> Mangled further by Nathan Sidwell <nathan@codesourcery.com>
...@@ -320,31 +320,29 @@ static int flag_preserve_paths = 0; ...@@ -320,31 +320,29 @@ static int flag_preserve_paths = 0;
static int flag_counts = 0; static int flag_counts = 0;
/* Forward declarations. */ /* Forward declarations. */
static void fnotice PARAMS ((FILE *, const char *, ...)) ATTRIBUTE_PRINTF_2; static void fnotice (FILE *, const char *, ...) ATTRIBUTE_PRINTF_2;
static int process_args PARAMS ((int, char **)); static int process_args (int, char **);
static void print_usage PARAMS ((int)) ATTRIBUTE_NORETURN; static void print_usage (int) ATTRIBUTE_NORETURN;
static void print_version PARAMS ((void)) ATTRIBUTE_NORETURN; static void print_version (void) ATTRIBUTE_NORETURN;
static void process_file PARAMS ((const char *)); static void process_file (const char *);
static void create_file_names PARAMS ((const char *)); static void create_file_names (const char *);
static source_t *find_source PARAMS ((const char *)); static source_t *find_source (const char *);
static int read_graph_file PARAMS ((void)); static int read_graph_file (void);
static int read_count_file PARAMS ((void)); static int read_count_file (void);
static void solve_flow_graph PARAMS ((function_t *)); static void solve_flow_graph (function_t *);
static void add_branch_counts PARAMS ((coverage_t *, const arc_t *)); static void add_branch_counts (coverage_t *, const arc_t *);
static void add_line_counts PARAMS ((coverage_t *, function_t *)); static void add_line_counts (coverage_t *, function_t *);
static void function_summary PARAMS ((const coverage_t *, const char *)); static void function_summary (const coverage_t *, const char *);
static const char *format_gcov PARAMS ((gcov_type, gcov_type, int)); static const char *format_gcov (gcov_type, gcov_type, int);
static void accumulate_line_counts PARAMS ((source_t *)); static void accumulate_line_counts (source_t *);
static int output_branch_count PARAMS ((FILE *, int, const arc_t *)); static int output_branch_count (FILE *, int, const arc_t *);
static void output_lines PARAMS ((FILE *, const source_t *)); static void output_lines (FILE *, const source_t *);
static char *make_gcov_file_name PARAMS ((const char *, const char *)); static char *make_gcov_file_name (const char *, const char *);
static void release_structures PARAMS ((void)); static void release_structures (void);
extern int main PARAMS ((int, char **)); extern int main (int, char **);
int int
main (argc, argv) main (int argc, char **argv)
int argc;
char **argv;
{ {
int argno; int argno;
...@@ -376,10 +374,10 @@ fnotice (FILE *file, const char *msgid, ...) ...@@ -376,10 +374,10 @@ fnotice (FILE *file, const char *msgid, ...)
/* More 'friendly' abort that prints the line and file. /* More 'friendly' abort that prints the line and file.
config.h can #define abort fancy_abort if you like that sort of thing. */ 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 void
fancy_abort () fancy_abort (void)
{ {
fnotice (stderr, "Internal gcov abort.\n"); fnotice (stderr, "Internal gcov abort.\n");
exit (FATAL_EXIT_CODE); exit (FATAL_EXIT_CODE);
...@@ -389,8 +387,7 @@ fancy_abort () ...@@ -389,8 +387,7 @@ fancy_abort ()
otherwise the output of --help. */ otherwise the output of --help. */
static void static void
print_usage (error_p) print_usage (int error_p)
int error_p;
{ {
FILE *file = error_p ? stderr : stdout; FILE *file = error_p ? stderr : stdout;
int status = error_p ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE; int status = error_p ? FATAL_EXIT_CODE : SUCCESS_EXIT_CODE;
...@@ -418,7 +415,7 @@ print_usage (error_p) ...@@ -418,7 +415,7 @@ print_usage (error_p)
/* Print version information and exit. */ /* Print version information and exit. */
static void static void
print_version () print_version (void)
{ {
char v[4]; char v[4];
unsigned version = GCOV_VERSION; unsigned version = GCOV_VERSION;
...@@ -454,9 +451,7 @@ static const struct option options[] = ...@@ -454,9 +451,7 @@ static const struct option options[] =
/* Process args, return index to first non-arg. */ /* Process args, return index to first non-arg. */
static int static int
process_args (argc, argv) process_args (int argc, char **argv)
int argc;
char **argv;
{ {
int opt; int opt;
...@@ -509,8 +504,7 @@ process_args (argc, argv) ...@@ -509,8 +504,7 @@ process_args (argc, argv)
/* Process a single source file. */ /* Process a single source file. */
static void static void
process_file (file_name) process_file (const char *file_name)
const char *file_name;
{ {
source_t *src; source_t *src;
function_t *fn; function_t *fn;
...@@ -577,7 +571,7 @@ process_file (file_name) ...@@ -577,7 +571,7 @@ process_file (file_name)
/* Release all memory used. */ /* Release all memory used. */
static void static void
release_structures () release_structures (void)
{ {
function_t *fn; function_t *fn;
source_t *src; source_t *src;
...@@ -626,8 +620,7 @@ release_structures () ...@@ -626,8 +620,7 @@ release_structures ()
the object *file*, and the data files are named from that. */ the object *file*, and the data files are named from that. */
static void static void
create_file_names (file_name) create_file_names (const char *file_name)
const char *file_name;
{ {
char *cptr; char *cptr;
char *name; char *name;
...@@ -683,8 +676,7 @@ create_file_names (file_name) ...@@ -683,8 +676,7 @@ create_file_names (file_name)
FILE_NAME on creation */ FILE_NAME on creation */
static source_t * static source_t *
find_source (file_name) find_source (const char *file_name)
const char *file_name;
{ {
source_t *src; source_t *src;
...@@ -708,7 +700,7 @@ find_source (file_name) ...@@ -708,7 +700,7 @@ find_source (file_name)
/* Read the graph file. Return nonzero on fatal error. */ /* Read the graph file. Return nonzero on fatal error. */
static int static int
read_graph_file () read_graph_file (void)
{ {
unsigned version; unsigned version;
unsigned current_tag = 0; unsigned current_tag = 0;
...@@ -979,7 +971,7 @@ read_graph_file () ...@@ -979,7 +971,7 @@ read_graph_file ()
function. Return nonzero if fatal error. */ function. Return nonzero if fatal error. */
static int static int
read_count_file () read_count_file (void)
{ {
unsigned ix; unsigned ix;
unsigned version; unsigned version;
...@@ -1092,8 +1084,7 @@ read_count_file () ...@@ -1092,8 +1084,7 @@ read_count_file ()
to the blocks and the uninstrumented arcs. */ to the blocks and the uninstrumented arcs. */
static void static void
solve_flow_graph (fn) solve_flow_graph (function_t *fn)
function_t *fn;
{ {
unsigned ix; unsigned ix;
arc_t *arc; arc_t *arc;
...@@ -1335,9 +1326,7 @@ solve_flow_graph (fn) ...@@ -1335,9 +1326,7 @@ solve_flow_graph (fn)
/* Increment totals in COVERAGE according to arc ARC. */ /* Increment totals in COVERAGE according to arc ARC. */
static void static void
add_branch_counts (coverage, arc) add_branch_counts (coverage_t *coverage, const arc_t *arc)
coverage_t *coverage;
const arc_t *arc;
{ {
if (arc->is_call_non_return) if (arc->is_call_non_return)
{ {
...@@ -1362,9 +1351,7 @@ add_branch_counts (coverage, arc) ...@@ -1362,9 +1351,7 @@ add_branch_counts (coverage, arc)
format TOP. Return pointer to a static string. */ format TOP. Return pointer to a static string. */
static char const * static char const *
format_gcov (top, bottom, dp) format_gcov (gcov_type top, gcov_type bottom, int dp)
gcov_type top, bottom;
int dp;
{ {
static char buffer[20]; static char buffer[20];
...@@ -1406,9 +1393,7 @@ format_gcov (top, bottom, dp) ...@@ -1406,9 +1393,7 @@ format_gcov (top, bottom, dp)
/* Output summary info for a function. */ /* Output summary info for a function. */
static void static void
function_summary (coverage, title) function_summary (const coverage_t *coverage, const char *title)
const coverage_t *coverage;
const char *title;
{ {
fnotice (stdout, "%s `%s'\n", title, coverage->name); fnotice (stdout, "%s `%s'\n", title, coverage->name);
...@@ -1454,9 +1439,7 @@ function_summary (coverage, title) ...@@ -1454,9 +1439,7 @@ function_summary (coverage, title)
removed and '..' components are renamed to '^'. */ removed and '..' components are renamed to '^'. */
static char * static char *
make_gcov_file_name (input_name, src_name) make_gcov_file_name (const char *input_name, const char *src_name)
const char *input_name;
const char *src_name;
{ {
char *cptr; char *cptr;
char *name = xmalloc (strlen (src_name) + strlen (input_name) + 10); char *name = xmalloc (strlen (src_name) + strlen (input_name) + 10);
...@@ -1515,9 +1498,7 @@ make_gcov_file_name (input_name, src_name) ...@@ -1515,9 +1498,7 @@ make_gcov_file_name (input_name, src_name)
the appropriate basic block. */ the appropriate basic block. */
static void static void
add_line_counts (coverage, fn) add_line_counts (coverage_t *coverage, function_t *fn)
coverage_t *coverage;
function_t *fn;
{ {
unsigned ix; unsigned ix;
line_t *line = NULL; /* this is propagated from one iteration to the line_t *line = NULL; /* this is propagated from one iteration to the
...@@ -1590,8 +1571,7 @@ add_line_counts (coverage, fn) ...@@ -1590,8 +1571,7 @@ add_line_counts (coverage, fn)
/* Accumulate the line counts of a file. */ /* Accumulate the line counts of a file. */
static void static void
accumulate_line_counts (src) accumulate_line_counts (source_t *src)
source_t *src;
{ {
line_t *line; line_t *line;
function_t *fn, *fn_p, *fn_n; function_t *fn, *fn_p, *fn_n;
...@@ -1760,10 +1740,7 @@ accumulate_line_counts (src) ...@@ -1760,10 +1740,7 @@ accumulate_line_counts (src)
anything is output. */ anything is output. */
static int static int
output_branch_count (gcov_file, ix, arc) output_branch_count (FILE *gcov_file, int ix, const arc_t *arc)
FILE *gcov_file;
int ix;
const arc_t *arc;
{ {
if (arc->is_call_non_return) if (arc->is_call_non_return)
...@@ -1805,9 +1782,7 @@ output_branch_count (gcov_file, ix, arc) ...@@ -1805,9 +1782,7 @@ output_branch_count (gcov_file, ix, arc)
information. */ information. */
static void static void
output_lines (gcov_file, src) output_lines (FILE *gcov_file, const source_t *src)
FILE *gcov_file;
const source_t *src;
{ {
FILE *source_file; FILE *source_file;
unsigned line_num; /* current line number. */ unsigned line_num; /* current line number. */
......
/* -*- indented-text -*- */ /* -*- indented-text -*- */
/* Process source files and output type information. /* 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. This file is part of GCC.
...@@ -33,15 +33,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -33,15 +33,13 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#undef YY_USE_PROTOS #undef YY_USE_PROTOS
#define YY_DECL int yylex () #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; struct fileloc lexer_line;
int lexer_toplevel_done; int lexer_toplevel_done;
static void static void
update_lineno (l, len) update_lineno (const char *l, size_t len)
const char *l;
size_t len;
{ {
while (len-- > 0) while (len-- > 0)
if (*l++ == '\n') if (*l++ == '\n')
...@@ -305,15 +303,13 @@ ITYPE {IWORD}({WS}{IWORD})* ...@@ -305,15 +303,13 @@ ITYPE {IWORD}({WS}{IWORD})*
%% %%
void void
yyerror (s) yyerror (const char *s)
const char *s;
{ {
error_at_line (&lexer_line, s); error_at_line (&lexer_line, s);
} }
void void
parse_file (fname) parse_file (const char *fname)
const char *fname;
{ {
yyin = fopen (fname, "r"); yyin = fopen (fname, "r");
lexer_line.file = fname; lexer_line.file = fname;
......
...@@ -126,29 +126,29 @@ struct sched_info ...@@ -126,29 +126,29 @@ struct sched_info
void (*init_ready_list) (struct ready_list *); void (*init_ready_list) (struct ready_list *);
/* Called after taking an insn from the ready list. Returns nonzero if /* Called after taking an insn from the ready list. Returns nonzero if
this insn can be scheduled, nonzero if we should silently discard it. */ 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. */ /* 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 /* 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 if it should be moved to the ready list or the queue, or zero if we
should silently discard it. */ 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 /* 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 insn is to be preferred for scheduling, and a negative one if the first
is to be preferred. Zero if they are equally good. */ 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 /* 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 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 static buffer for this. The ALIGNED parameter should cause the string
to be formatted so that multiple output lines will line up nicely. */ 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 /* Return nonzero if an insn should be included in priority
calculations. */ calculations. */
int (*contributes_to_priority) PARAMS ((rtx, rtx)); int (*contributes_to_priority) (rtx, rtx);
/* Called when computing dependencies for a JUMP_INSN. This function /* Called when computing dependencies for a JUMP_INSN. This function
should store the set of registers that must be considered as set by should store the set of registers that must be considered as set by
the jump in the regset. */ 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. */ /* The boundaries of the set of insns to be scheduled. */
rtx prev_head, next_tail; rtx prev_head, next_tail;
......
...@@ -80,7 +80,7 @@ struct tms ...@@ -80,7 +80,7 @@ struct tms
#else #else
#ifdef HAVE_GETRUSAGE #ifdef HAVE_GETRUSAGE
# if defined HAVE_DECL_GETRUSAGE && !HAVE_DECL_GETRUSAGE # if defined HAVE_DECL_GETRUSAGE && !HAVE_DECL_GETRUSAGE
extern int getrusage PARAMS ((int, struct rusage *)); extern int getrusage (int, struct rusage *);
# endif # endif
# define USE_GETRUSAGE # define USE_GETRUSAGE
# define HAVE_USER_TIME # define HAVE_USER_TIME
...@@ -88,7 +88,7 @@ struct tms ...@@ -88,7 +88,7 @@ struct tms
#else #else
#ifdef HAVE_CLOCK #ifdef HAVE_CLOCK
# if defined HAVE_DECL_CLOCK && !HAVE_DECL_CLOCK # if defined HAVE_DECL_CLOCK && !HAVE_DECL_CLOCK
extern clock_t clock PARAMS ((void)); extern clock_t clock (void);
# endif # endif
# define USE_CLOCK # define USE_CLOCK
# define HAVE_USER_TIME # define HAVE_USER_TIME
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment