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
This commit is contained in:
Andreas Jaeger 2003-07-06 20:59:38 +02:00
parent ade4289c2d
commit f55ade6e34
13 changed files with 461 additions and 524 deletions

View File

@ -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 commit_edge_insertions (void);
extern void commit_edge_insertions_watch_calls (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,
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 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));
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 *,
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 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 *));
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"

View File

@ -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)
{

View File

@ -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);

View File

@ -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;

View File

@ -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. */

View File

@ -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;

View File

@ -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);

View File

@ -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.
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;

View File

@ -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);

View File

@ -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>
@ -320,31 +320,29 @@ 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;
@ -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,8 +387,7 @@ 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;
@ -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,8 +504,7 @@ 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;
@ -577,7 +571,7 @@ process_file (file_name)
/* Release all memory used. */
static void
release_structures ()
release_structures (void)
{
function_t *fn;
source_t *src;
@ -626,8 +620,7 @@ 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;
@ -683,8 +676,7 @@ 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;
@ -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;
@ -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;
@ -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;
@ -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,9 +1351,7 @@ 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];
@ -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,9 +1439,7 @@ 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);
@ -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
@ -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;
@ -1760,10 +1740,7 @@ 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)
@ -1805,9 +1782,7 @@ 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. */

View File

@ -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;

View File

@ -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;

View File

@ -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