mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 16:00:55 +08:00
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:
parent
ade4289c2d
commit
f55ade6e34
@ -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,
|
||||
bool (*)(basic_block, void *),
|
||||
basic_block *, int, void *));
|
||||
extern void dump_edge_info PARAMS ((FILE *, edge, int));
|
||||
extern void clear_edges PARAMS ((void));
|
||||
extern void mark_critical_edges PARAMS ((void));
|
||||
extern rtx first_insn_after_basic_block_note PARAMS ((basic_block));
|
||||
extern void remove_fake_edges (void);
|
||||
extern void add_noreturn_fake_exit_edges (void);
|
||||
extern void connect_infinite_loops_to_exit (void);
|
||||
extern int flow_call_edges_add (sbitmap);
|
||||
extern edge unchecked_make_edge (basic_block, basic_block, int);
|
||||
extern edge cached_make_edge (sbitmap *, basic_block, basic_block, int);
|
||||
extern edge make_edge (basic_block, basic_block, int);
|
||||
extern edge make_single_succ_edge (basic_block, basic_block, int);
|
||||
extern void remove_edge (edge);
|
||||
extern void redirect_edge_succ (edge, basic_block);
|
||||
extern edge redirect_edge_succ_nodup (edge, basic_block);
|
||||
extern void redirect_edge_pred (edge, basic_block);
|
||||
extern basic_block create_basic_block_structure (rtx, rtx, rtx, basic_block);
|
||||
extern void clear_bb_flags (void);
|
||||
extern void tidy_fallthru_edge (edge, basic_block, basic_block);
|
||||
extern void tidy_fallthru_edges (void);
|
||||
extern void flow_reverse_top_sort_order_compute (int *);
|
||||
extern int flow_depth_first_order_compute (int *, int *);
|
||||
extern void flow_preorder_transversal_compute (int *);
|
||||
extern int dfs_enumerate_from (basic_block, int,
|
||||
bool (*)(basic_block, void *),
|
||||
basic_block *, int, void *);
|
||||
extern void dump_edge_info (FILE *, edge, int);
|
||||
extern void clear_edges (void);
|
||||
extern void mark_critical_edges (void);
|
||||
extern rtx first_insn_after_basic_block_note (basic_block);
|
||||
|
||||
/* Dominator information for basic blocks. */
|
||||
|
||||
@ -455,12 +450,11 @@ struct edge_list
|
||||
#define EDGE_CRITICAL_P(e) ((e)->src->succ->succ_next \
|
||||
&& (e)->dest->pred->pred_next)
|
||||
|
||||
struct edge_list * create_edge_list PARAMS ((void));
|
||||
void free_edge_list PARAMS ((struct edge_list *));
|
||||
void print_edge_list PARAMS ((FILE *, struct edge_list *));
|
||||
void verify_edge_list PARAMS ((FILE *, struct edge_list *));
|
||||
int find_edge_index PARAMS ((struct edge_list *,
|
||||
basic_block, basic_block));
|
||||
struct edge_list * create_edge_list (void);
|
||||
void free_edge_list (struct edge_list *);
|
||||
void print_edge_list (FILE *, struct edge_list *);
|
||||
void verify_edge_list (FILE *, struct edge_list *);
|
||||
int find_edge_index (struct edge_list *, basic_block, basic_block);
|
||||
|
||||
|
||||
enum update_life_extent
|
||||
@ -502,123 +496,110 @@ enum update_life_extent
|
||||
#define CLEANUP_NO_INSN_DEL 128 /* Do not try to delete trivially dead
|
||||
insns. */
|
||||
#define CLEANUP_CFGLAYOUT 256 /* Do cleanup in cfglayout mode. */
|
||||
extern void life_analysis PARAMS ((rtx, FILE *, int));
|
||||
extern int update_life_info PARAMS ((sbitmap, enum update_life_extent,
|
||||
int));
|
||||
extern int update_life_info_in_dirty_blocks PARAMS ((enum update_life_extent,
|
||||
int));
|
||||
extern int count_or_remove_death_notes PARAMS ((sbitmap, int));
|
||||
extern int propagate_block PARAMS ((basic_block, regset, regset, regset,
|
||||
int));
|
||||
extern void life_analysis (rtx, FILE *, int);
|
||||
extern int update_life_info (sbitmap, enum update_life_extent, int);
|
||||
extern int update_life_info_in_dirty_blocks (enum update_life_extent, int);
|
||||
extern int count_or_remove_death_notes (sbitmap, int);
|
||||
extern int propagate_block (basic_block, regset, regset, regset, int);
|
||||
|
||||
struct propagate_block_info;
|
||||
extern rtx propagate_one_insn PARAMS ((struct propagate_block_info *, rtx));
|
||||
extern rtx propagate_one_insn (struct propagate_block_info *, rtx);
|
||||
extern struct propagate_block_info *init_propagate_block_info
|
||||
PARAMS ((basic_block, regset, regset, regset, int));
|
||||
extern void free_propagate_block_info PARAMS ((struct propagate_block_info *));
|
||||
(basic_block, regset, regset, regset, int);
|
||||
extern void free_propagate_block_info (struct propagate_block_info *);
|
||||
|
||||
/* In lcm.c */
|
||||
extern struct edge_list *pre_edge_lcm PARAMS ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern struct edge_list *pre_edge_rev_lcm PARAMS ((FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **));
|
||||
extern void compute_available PARAMS ((sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap *));
|
||||
extern int optimize_mode_switching PARAMS ((FILE *));
|
||||
extern struct edge_list *pre_edge_lcm (FILE *, int, sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap *, sbitmap **,
|
||||
sbitmap **);
|
||||
extern struct edge_list *pre_edge_rev_lcm (FILE *, int, sbitmap *,
|
||||
sbitmap *, sbitmap *,
|
||||
sbitmap *, sbitmap **,
|
||||
sbitmap **);
|
||||
extern void compute_available (sbitmap *, sbitmap *, sbitmap *, sbitmap *);
|
||||
extern int optimize_mode_switching (FILE *);
|
||||
|
||||
/* In emit-rtl.c. */
|
||||
extern rtx emit_block_insn_after PARAMS ((rtx, rtx, basic_block));
|
||||
extern rtx emit_block_insn_before PARAMS ((rtx, rtx, basic_block));
|
||||
extern rtx emit_block_insn_after (rtx, rtx, basic_block);
|
||||
extern rtx emit_block_insn_before (rtx, rtx, basic_block);
|
||||
|
||||
/* In predict.c */
|
||||
extern void estimate_probability PARAMS ((struct loops *));
|
||||
extern void note_prediction_to_br_prob PARAMS ((void));
|
||||
extern void expected_value_to_br_prob PARAMS ((void));
|
||||
extern bool maybe_hot_bb_p PARAMS ((basic_block));
|
||||
extern bool probably_cold_bb_p PARAMS ((basic_block));
|
||||
extern bool probably_never_executed_bb_p PARAMS ((basic_block));
|
||||
extern void estimate_probability (struct loops *);
|
||||
extern void note_prediction_to_br_prob (void);
|
||||
extern void expected_value_to_br_prob (void);
|
||||
extern bool maybe_hot_bb_p (basic_block);
|
||||
extern bool probably_cold_bb_p (basic_block);
|
||||
extern bool probably_never_executed_bb_p (basic_block);
|
||||
|
||||
/* In flow.c */
|
||||
extern void init_flow PARAMS ((void));
|
||||
extern void dump_bb PARAMS ((basic_block, FILE *));
|
||||
extern void debug_bb PARAMS ((basic_block));
|
||||
extern basic_block debug_bb_n PARAMS ((int));
|
||||
extern void dump_regset PARAMS ((regset, FILE *));
|
||||
extern void debug_regset PARAMS ((regset));
|
||||
extern void allocate_reg_life_data PARAMS ((void));
|
||||
extern void allocate_bb_life_data PARAMS ((void));
|
||||
extern void expunge_block PARAMS ((basic_block));
|
||||
extern void link_block PARAMS ((basic_block, basic_block));
|
||||
extern void unlink_block PARAMS ((basic_block));
|
||||
extern void compact_blocks PARAMS ((void));
|
||||
extern basic_block alloc_block PARAMS ((void));
|
||||
extern void find_unreachable_blocks PARAMS ((void));
|
||||
extern int delete_noop_moves PARAMS ((rtx));
|
||||
extern basic_block force_nonfallthru PARAMS ((edge));
|
||||
extern rtx block_label PARAMS ((basic_block));
|
||||
extern bool forwarder_block_p PARAMS ((basic_block));
|
||||
extern bool purge_all_dead_edges PARAMS ((int));
|
||||
extern bool purge_dead_edges PARAMS ((basic_block));
|
||||
extern void find_sub_basic_blocks PARAMS ((basic_block));
|
||||
extern void find_many_sub_basic_blocks PARAMS ((sbitmap));
|
||||
extern bool can_fallthru PARAMS ((basic_block, basic_block));
|
||||
extern void flow_nodes_print PARAMS ((const char *, const sbitmap,
|
||||
FILE *));
|
||||
extern void flow_edge_list_print PARAMS ((const char *, const edge *,
|
||||
int, FILE *));
|
||||
extern void alloc_aux_for_block PARAMS ((basic_block, int));
|
||||
extern void alloc_aux_for_blocks PARAMS ((int));
|
||||
extern void clear_aux_for_blocks PARAMS ((void));
|
||||
extern void free_aux_for_blocks PARAMS ((void));
|
||||
extern void alloc_aux_for_edge PARAMS ((edge, int));
|
||||
extern void alloc_aux_for_edges PARAMS ((int));
|
||||
extern void clear_aux_for_edges PARAMS ((void));
|
||||
extern void free_aux_for_edges PARAMS ((void));
|
||||
extern void init_flow (void);
|
||||
extern void dump_bb (basic_block, FILE *);
|
||||
extern void debug_bb (basic_block);
|
||||
extern basic_block debug_bb_n (int);
|
||||
extern void dump_regset (regset, FILE *);
|
||||
extern void debug_regset (regset);
|
||||
extern void allocate_reg_life_data (void);
|
||||
extern void allocate_bb_life_data (void);
|
||||
extern void expunge_block (basic_block);
|
||||
extern void link_block (basic_block, basic_block);
|
||||
extern void unlink_block (basic_block);
|
||||
extern void compact_blocks (void);
|
||||
extern basic_block alloc_block (void);
|
||||
extern void find_unreachable_blocks (void);
|
||||
extern int delete_noop_moves (rtx);
|
||||
extern basic_block force_nonfallthru (edge);
|
||||
extern rtx block_label (basic_block);
|
||||
extern bool forwarder_block_p (basic_block);
|
||||
extern bool purge_all_dead_edges (int);
|
||||
extern bool purge_dead_edges (basic_block);
|
||||
extern void find_sub_basic_blocks (basic_block);
|
||||
extern void find_many_sub_basic_blocks (sbitmap);
|
||||
extern bool can_fallthru (basic_block, basic_block);
|
||||
extern void flow_nodes_print (const char *, const sbitmap, FILE *);
|
||||
extern void flow_edge_list_print (const char *, const edge *, int, FILE *);
|
||||
extern void alloc_aux_for_block (basic_block, int);
|
||||
extern void alloc_aux_for_blocks (int);
|
||||
extern void clear_aux_for_blocks (void);
|
||||
extern void free_aux_for_blocks (void);
|
||||
extern void alloc_aux_for_edge (edge, int);
|
||||
extern void alloc_aux_for_edges (int);
|
||||
extern void clear_aux_for_edges (void);
|
||||
extern void free_aux_for_edges (void);
|
||||
|
||||
/* This function is always defined so it can be called from the
|
||||
debugger, and it is declared extern so we don't get warnings about
|
||||
it being unused. */
|
||||
extern void verify_flow_info PARAMS ((void));
|
||||
extern void verify_flow_info (void);
|
||||
|
||||
typedef struct conflict_graph_def *conflict_graph;
|
||||
|
||||
/* Callback function when enumerating conflicts. The arguments are
|
||||
the smaller and larger regno in the conflict. Returns zero if
|
||||
enumeration is to continue, nonzero to halt enumeration. */
|
||||
typedef int (*conflict_graph_enum_fn) PARAMS ((int, int, void *));
|
||||
typedef int (*conflict_graph_enum_fn) (int, int, void *);
|
||||
|
||||
|
||||
/* Prototypes of operations on conflict graphs. */
|
||||
|
||||
extern conflict_graph conflict_graph_new
|
||||
PARAMS ((int));
|
||||
extern void conflict_graph_delete PARAMS ((conflict_graph));
|
||||
extern int conflict_graph_add PARAMS ((conflict_graph,
|
||||
int, int));
|
||||
extern int conflict_graph_conflict_p PARAMS ((conflict_graph,
|
||||
int, int));
|
||||
extern void conflict_graph_enum PARAMS ((conflict_graph, int,
|
||||
conflict_graph_enum_fn,
|
||||
void *));
|
||||
extern void conflict_graph_merge_regs PARAMS ((conflict_graph, int,
|
||||
int));
|
||||
extern void conflict_graph_print PARAMS ((conflict_graph, FILE*));
|
||||
extern conflict_graph conflict_graph_compute
|
||||
PARAMS ((regset,
|
||||
partition));
|
||||
extern bool mark_dfs_back_edges PARAMS ((void));
|
||||
extern void set_edge_can_fallthru_flag PARAMS ((void));
|
||||
extern void update_br_prob_note PARAMS ((basic_block));
|
||||
extern void fixup_abnormal_edges PARAMS ((void));
|
||||
extern bool can_hoist_insn_p PARAMS ((rtx, rtx, regset));
|
||||
extern rtx hoist_insn_after PARAMS ((rtx, rtx, rtx, rtx));
|
||||
extern rtx hoist_insn_to_edge PARAMS ((rtx, edge, rtx, rtx));
|
||||
extern bool inside_basic_block_p PARAMS ((rtx));
|
||||
extern bool control_flow_insn_p PARAMS ((rtx));
|
||||
(int);
|
||||
extern void conflict_graph_delete (conflict_graph);
|
||||
extern int conflict_graph_add (conflict_graph, int, int);
|
||||
extern int conflict_graph_conflict_p (conflict_graph, int, int);
|
||||
extern void conflict_graph_enum (conflict_graph, int, conflict_graph_enum_fn,
|
||||
void *);
|
||||
extern void conflict_graph_merge_regs (conflict_graph, int, int);
|
||||
extern void conflict_graph_print (conflict_graph, FILE*);
|
||||
extern conflict_graph conflict_graph_compute (regset, partition);
|
||||
extern bool mark_dfs_back_edges (void);
|
||||
extern void set_edge_can_fallthru_flag (void);
|
||||
extern void update_br_prob_note (basic_block);
|
||||
extern void fixup_abnormal_edges (void);
|
||||
extern bool can_hoist_insn_p (rtx, rtx, regset);
|
||||
extern rtx hoist_insn_after (rtx, rtx, rtx, rtx);
|
||||
extern rtx hoist_insn_to_edge (rtx, edge, rtx, rtx);
|
||||
extern bool inside_basic_block_p (rtx);
|
||||
extern bool control_flow_insn_p (rtx);
|
||||
|
||||
/* In bb-reorder.c */
|
||||
extern void reorder_basic_blocks (void);
|
||||
@ -631,23 +612,22 @@ enum cdi_direction
|
||||
CDI_POST_DOMINATORS
|
||||
};
|
||||
|
||||
extern dominance_info calculate_dominance_info PARAMS ((enum cdi_direction));
|
||||
extern void free_dominance_info PARAMS ((dominance_info));
|
||||
extern basic_block nearest_common_dominator PARAMS ((dominance_info,
|
||||
basic_block, basic_block));
|
||||
extern void set_immediate_dominator PARAMS ((dominance_info,
|
||||
basic_block, basic_block));
|
||||
extern basic_block get_immediate_dominator PARAMS ((dominance_info,
|
||||
basic_block));
|
||||
extern bool dominated_by_p PARAMS ((dominance_info, basic_block, basic_block));
|
||||
extern int get_dominated_by PARAMS ((dominance_info, basic_block, basic_block **));
|
||||
extern void add_to_dominance_info PARAMS ((dominance_info, basic_block));
|
||||
extern void delete_from_dominance_info PARAMS ((dominance_info, basic_block));
|
||||
basic_block recount_dominator PARAMS ((dominance_info, basic_block));
|
||||
extern void redirect_immediate_dominators PARAMS ((dominance_info, basic_block,
|
||||
basic_block));
|
||||
void iterate_fix_dominators PARAMS ((dominance_info, basic_block *, int));
|
||||
extern void verify_dominators PARAMS ((dominance_info));
|
||||
extern dominance_info calculate_dominance_info (enum cdi_direction);
|
||||
extern void free_dominance_info (dominance_info);
|
||||
extern basic_block nearest_common_dominator (dominance_info,
|
||||
basic_block, basic_block);
|
||||
extern void set_immediate_dominator (dominance_info, basic_block,
|
||||
basic_block);
|
||||
extern basic_block get_immediate_dominator (dominance_info, basic_block);
|
||||
extern bool dominated_by_p (dominance_info, basic_block, basic_block);
|
||||
extern int get_dominated_by (dominance_info, basic_block, basic_block **);
|
||||
extern void add_to_dominance_info (dominance_info, basic_block);
|
||||
extern void delete_from_dominance_info (dominance_info, basic_block);
|
||||
basic_block recount_dominator (dominance_info, basic_block);
|
||||
extern void redirect_immediate_dominators (dominance_info, basic_block,
|
||||
basic_block);
|
||||
void iterate_fix_dominators (dominance_info, basic_block *, int);
|
||||
extern void verify_dominators (dominance_info);
|
||||
|
||||
#include "cfghooks.h"
|
||||
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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. */
|
||||
|
@ -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;
|
||||
|
11
gcc/dbxout.h
11
gcc/dbxout.h
@ -1,5 +1,6 @@
|
||||
/* dbxout.h - Various declarations for functions found in dbxout.c
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000, 2003
|
||||
Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GCC.
|
||||
|
||||
@ -18,7 +19,7 @@ along with GCC; see the file COPYING. If not, write to the Free
|
||||
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
|
||||
02111-1307, USA. */
|
||||
|
||||
extern int dbxout_symbol PARAMS ((tree, int));
|
||||
extern void dbxout_parms PARAMS ((tree));
|
||||
extern void dbxout_reg_parms PARAMS ((tree));
|
||||
extern int dbxout_syms PARAMS ((tree));
|
||||
extern int dbxout_symbol (tree, int);
|
||||
extern void dbxout_parms (tree);
|
||||
extern void dbxout_reg_parms (tree);
|
||||
extern int dbxout_syms (tree);
|
||||
|
86
gcc/debug.h
86
gcc/debug.h
@ -1,5 +1,5 @@
|
||||
/* Debug hooks for GCC.
|
||||
Copyright (C) 2001, 2002 Free Software Foundation, Inc.
|
||||
Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify it
|
||||
under the terms of the GNU General Public License as published by the
|
||||
@ -25,107 +25,99 @@ struct gcc_debug_hooks
|
||||
{
|
||||
/* Initialize debug output. MAIN_FILENAME is the name of the main
|
||||
input file. */
|
||||
void (* init) PARAMS ((const char *main_filename));
|
||||
void (* init) (const char *main_filename);
|
||||
|
||||
/* Output debug symbols. */
|
||||
void (* finish) PARAMS ((const char *main_filename));
|
||||
void (* finish) (const char *main_filename);
|
||||
|
||||
/* Macro defined on line LINE with name and expansion TEXT. */
|
||||
void (* define) PARAMS ((unsigned int line, const char *text));
|
||||
void (* define) (unsigned int line, const char *text);
|
||||
|
||||
/* MACRO undefined on line LINE. */
|
||||
void (* undef) PARAMS ((unsigned int line, const char *macro));
|
||||
void (* undef) (unsigned int line, const char *macro);
|
||||
|
||||
/* Record the beginning of a new source file FILE from LINE number
|
||||
in the previous one. */
|
||||
void (* start_source_file) PARAMS ((unsigned int line, const char *file));
|
||||
void (* start_source_file) (unsigned int line, const char *file);
|
||||
|
||||
/* Record the resumption of a source file. LINE is the line number
|
||||
in the source file we are returning to. */
|
||||
void (* end_source_file) PARAMS ((unsigned int line));
|
||||
void (* end_source_file) (unsigned int line);
|
||||
|
||||
/* Record the beginning of block N, counting from 1 and not
|
||||
including the function-scope block, at LINE. */
|
||||
void (* begin_block) PARAMS ((unsigned int line, unsigned int n));
|
||||
void (* begin_block) (unsigned int line, unsigned int n);
|
||||
|
||||
/* Record the end of a block. Arguments as for begin_block. */
|
||||
void (* end_block) PARAMS ((unsigned int line, unsigned int n));
|
||||
void (* end_block) (unsigned int line, unsigned int n);
|
||||
|
||||
/* Returns nonzero if it is appropriate not to emit any debugging
|
||||
information for BLOCK, because it doesn't contain any
|
||||
instructions. This may not be the case for blocks containing
|
||||
nested functions, since we may actually call such a function even
|
||||
though the BLOCK information is messed up. Defaults to true. */
|
||||
bool (* ignore_block) PARAMS ((tree));
|
||||
bool (* ignore_block) (tree);
|
||||
|
||||
/* Record a source file location at (FILE, LINE). */
|
||||
void (* source_line) PARAMS ((unsigned int line, const char *file));
|
||||
void (* source_line) (unsigned int line, const char *file);
|
||||
|
||||
/* Called at start of prologue code. LINE is the first line in the
|
||||
function. This has been given the same prototype as source_line,
|
||||
so that the source_line hook can be substituted if appropriate. */
|
||||
void (* begin_prologue) PARAMS ((unsigned int line, const char *file));
|
||||
void (* begin_prologue) (unsigned int line, const char *file);
|
||||
|
||||
/* Called at end of prologue code. LINE is the first line in the
|
||||
function. */
|
||||
void (* end_prologue) PARAMS ((unsigned int line, const char *file));
|
||||
void (* end_prologue) (unsigned int line, const char *file);
|
||||
|
||||
/* Record end of epilogue code. */
|
||||
void (* end_epilogue) PARAMS ((unsigned int line, const char *file));
|
||||
void (* end_epilogue) (unsigned int line, const char *file);
|
||||
|
||||
/* Called at start of function DECL, before it is declared. */
|
||||
void (* begin_function) PARAMS ((tree decl));
|
||||
void (* begin_function) (tree decl);
|
||||
|
||||
/* Record end of function. LINE is highest line number in function. */
|
||||
void (* end_function) PARAMS ((unsigned int line));
|
||||
void (* end_function) (unsigned int line);
|
||||
|
||||
/* Debug information for a function DECL. This might include the
|
||||
function name (a symbol), its parameters, and the block that
|
||||
makes up the function's body, and the local variables of the
|
||||
function. */
|
||||
void (* function_decl) PARAMS ((tree decl));
|
||||
void (* function_decl) (tree decl);
|
||||
|
||||
/* Debug information for a global DECL. Called from toplev.c after
|
||||
compilation proper has finished. */
|
||||
void (* global_decl) PARAMS ((tree decl));
|
||||
void (* global_decl) (tree decl);
|
||||
|
||||
/* DECL is an inline function, whose body is present, but which is
|
||||
not being output at this point. */
|
||||
void (* deferred_inline_function) PARAMS ((tree decl));
|
||||
void (* deferred_inline_function) (tree decl);
|
||||
|
||||
/* DECL is an inline function which is about to be emitted out of
|
||||
line. The hook is useful to, e.g., emit abstract debug info for
|
||||
the inline before it gets mangled by optimization. */
|
||||
void (* outlining_inline_function) PARAMS ((tree decl));
|
||||
void (* outlining_inline_function) (tree decl);
|
||||
|
||||
/* Called from final_scan_insn for any CODE_LABEL insn whose
|
||||
LABEL_NAME is non-null. */
|
||||
void (* label) PARAMS ((rtx));
|
||||
void (* label) (rtx);
|
||||
|
||||
/* Called after the start and before the end of writing a PCH file.
|
||||
/* Called after the start and before the end of writing a PCH file.
|
||||
The parameter is 0 if after the start, 1 if before the end. */
|
||||
void (* handle_pch) PARAMS ((unsigned int));
|
||||
void (* handle_pch) (unsigned int);
|
||||
};
|
||||
|
||||
extern const struct gcc_debug_hooks *debug_hooks;
|
||||
|
||||
/* The do-nothing hooks. */
|
||||
extern void debug_nothing_void
|
||||
PARAMS ((void));
|
||||
extern void debug_nothing_charstar
|
||||
PARAMS ((const char *));
|
||||
extern void debug_nothing_int_charstar
|
||||
PARAMS ((unsigned int, const char *));
|
||||
extern void debug_nothing_int
|
||||
PARAMS ((unsigned int));
|
||||
extern void debug_nothing_int_int
|
||||
PARAMS ((unsigned int, unsigned int));
|
||||
extern void debug_nothing_tree
|
||||
PARAMS ((tree));
|
||||
extern bool debug_true_tree
|
||||
PARAMS ((tree));
|
||||
extern void debug_nothing_rtx
|
||||
PARAMS ((rtx));
|
||||
extern void debug_nothing_void (void);
|
||||
extern void debug_nothing_charstar (const char *);
|
||||
extern void debug_nothing_int_charstar (unsigned int, const char *);
|
||||
extern void debug_nothing_int (unsigned int);
|
||||
extern void debug_nothing_int_int (unsigned int, unsigned int);
|
||||
extern void debug_nothing_tree (tree);
|
||||
extern bool debug_true_tree (tree);
|
||||
extern void debug_nothing_rtx (rtx);
|
||||
|
||||
/* Hooks for various debug formats. */
|
||||
extern const struct gcc_debug_hooks do_nothing_debug_hooks;
|
||||
@ -138,17 +130,17 @@ extern const struct gcc_debug_hooks vmsdbg_debug_hooks;
|
||||
|
||||
/* Dwarf2 frame information. */
|
||||
|
||||
extern void dwarf2out_begin_prologue PARAMS ((unsigned int, const char *));
|
||||
extern void dwarf2out_end_epilogue PARAMS ((unsigned int, const char *));
|
||||
extern void dwarf2out_frame_init PARAMS ((void));
|
||||
extern void dwarf2out_frame_finish PARAMS ((void));
|
||||
extern void dwarf2out_begin_prologue (unsigned int, const char *);
|
||||
extern void dwarf2out_end_epilogue (unsigned int, const char *);
|
||||
extern void dwarf2out_frame_init (void);
|
||||
extern void dwarf2out_frame_finish (void);
|
||||
/* Decide whether we want to emit frame unwind information for the current
|
||||
translation unit. */
|
||||
extern int dwarf2out_do_frame PARAMS ((void));
|
||||
extern int dwarf2out_do_frame (void);
|
||||
|
||||
extern void debug_flush_symbol_queue PARAMS ((void));
|
||||
extern void debug_queue_symbol PARAMS ((tree));
|
||||
extern void debug_free_queue PARAMS ((void));
|
||||
extern void debug_flush_symbol_queue (void);
|
||||
extern void debug_queue_symbol (tree);
|
||||
extern void debug_free_queue (void);
|
||||
extern int debug_nesting;
|
||||
extern int symbol_queue_index;
|
||||
|
||||
|
@ -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);
|
||||
|
385
gcc/gcov.c
385
gcc/gcov.c
File diff suppressed because it is too large
Load Diff
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user