From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kaveh R. Ghazi" To: egcs@cygnus.com Subject: egcs CVS 19980515, warning patch 3/4 Date: Mon, 18 May 1998 18:06:00 -0000 Message-id: <199805181545.LAA17542@caip.rutgers.edu> X-SW-Source: 1998-05/msg00655.html This is warning patch part 3/4. Is it okay to install? --Kaveh Sun May 17 21:19:10 1998 Kaveh R. Ghazi * dbxout.c: Include toplev.h. * demangle.h (do_tlink, collect_execute, collect_exit, collect_wait, dump_file, file_exists): Add prototype. * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide prototype and definition. (gen_unspecified_parameters_die): Don't assign results of call to function new_die() to unused variable `parm_die'. (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED. (dwarf2out_define): Likewise for `lineno' and `buffer'. * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide prototype and definition. (output_die): Add prototype arguments to function pointer arg. (output_unspecified_parameters_die): Mark parameter `arg' with ATTRIBUTE_UNUSED. * except.c (output_exception_table_entry): Remove unused variable `eh_entry'. * except.h (expand_fixup_region_start, expand_fixup_region_end): Add prototypes. * expr.c (do_jump_by_parts_equality_rtx): Remove prototype. * expr.h (do_jump_by_parts_equality_rtx): Add prototype. * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h before cpplib.h, include cpphash.h, remove redundant prototype of cpp_fatal, don't define `const', add a prototype for `fatal'. (cpp_file_line_for_message): Add missing arguments `pfile'. (v_cpp_message): New function. (cpp_message): Use it. (v_fatal): New function. (fatal, cpp_fatal): Use it. (cpp_pfatal_with_name): Constify parameter `name'. * flow.c (free_regset_vector): Remove redundant prototype. * function.c (round_down): Wrap prototype and definition with macro ARGS_GROW_DOWNWARD. (record_insns): Wrap prototype and definition with defined (HAVE_prologue) || defined (HAVE_epilogue). * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros. * gen-protos.c: Include gansidecl.h. (hashf): Don't make it static, constify parameter `name'. * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match specifier %s in calls to function `fatal'. * haifa-sched.c: Include toplev.h. (find_rgns): Remove unused variable `j'. * integrate.c (note_modified_parmregs): Mark parameter `x' with ATTRIBUTE_UNUSED. (mark_stores): Likewise. * jump.c (mark_modified_reg): Likewise. * output.h (insn_current_reference_address): Add prototype. (eh_frame_section): Likewise. * print-rtl.c: Include bitmap.h. * reload1.c (reload): Wrap variables `note' and `next' in macro PRESERVE_DEATH_INFO_REGNO_P. (forget_old_reloads_1): Mark parameter `ignored' with ATTRIBUTE_UNUSED. (choose_reload_regs): Remove unused variable `in'. (reload_cse_invalidate_mem): Mark parameter `ignore' with ATTRIBUTE_UNUSED. (reload_cse_check_clobber): Likewise. * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype. (mark_elimination): Fix typo in prototype. * scan-decls.c: Include gansidecl.h. * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype. diff -rup orig/egcs-C19980515/gcc/dbxout.c egcs-C19980515/gcc/dbxout.c --- orig/egcs-C19980515/gcc/dbxout.c Fri May 15 09:45:29 1998 +++ egcs-C19980515/gcc/dbxout.c Sat May 16 17:32:23 1998 @@ -78,6 +78,7 @@ Boston, MA 02111-1307, USA. */ #include "reload.h" #include "defaults.h" #include "output.h" /* ASM_OUTPUT_SOURCE_LINE may refer to sdb functions. */ +#include "toplev.h" #ifdef XCOFF_DEBUGGING_INFO #include "xcoffout.h" diff -rup orig/egcs-C19980515/gcc/demangle.h egcs-C19980515/gcc/demangle.h --- orig/egcs-C19980515/gcc/demangle.h Fri May 15 09:45:29 1998 +++ egcs-C19980515/gcc/demangle.h Sat May 16 17:32:23 1998 @@ -87,4 +87,22 @@ cplus_mangle_opname PARAMS ((const char extern void set_cplus_marker_for_demangling PARAMS ((int ch)); +extern void +do_tlink PARAMS ((char **, char **)); + +extern void +collect_execute PARAMS ((char *, char **, char *)); + +extern void +collect_exit PARAMS ((int)); + +extern int +collect_wait PARAMS ((char *)); + +extern void +dump_file PARAMS ((char *)); + +extern int +file_exists PARAMS ((char *)); + #endif /* DEMANGLE_H */ diff -rup orig/egcs-C19980515/gcc/dwarf2out.c egcs-C19980515/gcc/dwarf2out.c --- orig/egcs-C19980515/gcc/dwarf2out.c Fri May 15 09:45:30 1998 +++ egcs-C19980515/gcc/dwarf2out.c Sat May 16 17:32:23 1998 @@ -2372,7 +2372,9 @@ static char *dwarf_tag_name PROTO((unsi static char *dwarf_attr_name PROTO((unsigned)); static char *dwarf_form_name PROTO((unsigned)); static char *dwarf_stack_op_name PROTO((unsigned)); +#if 0 static char *dwarf_type_encoding_name PROTO((unsigned)); +#endif static tree decl_ultimate_origin PROTO((tree)); static tree block_ultimate_origin PROTO((tree)); static tree decl_class_context PROTO((tree)); @@ -2503,7 +2505,9 @@ static void add_type_attribute PROTO((d dw_die_ref)); static char *type_tag PROTO((tree)); static tree member_declared_type PROTO((tree)); +#if 0 static char *decl_start_label PROTO((tree)); +#endif static void gen_array_type_die PROTO((tree, dw_die_ref)); static void gen_set_type_die PROTO((tree, dw_die_ref)); #if 0 @@ -3471,6 +3475,7 @@ dwarf_stack_op_name (op) /* Convert a DWARF type code into its string name. */ +#if 0 static char * dwarf_type_encoding_name (enc) register unsigned enc; @@ -3497,6 +3502,7 @@ dwarf_type_encoding_name (enc) return "DW_ATE_"; } } +#endif /* Determine the "ultimate origin" of a decl. The decl may be an inlined instance of an inlined instance of a decl which is local to an inline @@ -7727,6 +7733,7 @@ member_declared_type (member) /* Get the decl's label, as described by its RTL. This may be different from the DECL_NAME name used in the source file. */ +#if 0 static char * decl_start_label (decl) register tree decl; @@ -7744,6 +7751,7 @@ decl_start_label (decl) fnname = XSTR (x, 0); return fnname; } +#endif /* These routines generate the internal representation of the DIE's for the compilation unit. Debugging information is collected by walking @@ -8048,8 +8056,7 @@ gen_unspecified_parameters_die (decl_or_ register tree decl_or_type; register dw_die_ref context_die; { - register dw_die_ref parm_die = new_die (DW_TAG_unspecified_parameters, - context_die); + new_die (DW_TAG_unspecified_parameters, context_die); } /* Generate a list of nameless DW_TAG_formal_parameter DIEs (and perhaps a @@ -9673,7 +9680,7 @@ dwarf2out_line (filename, line) void dwarf2out_start_source_file (filename) - register char *filename; + register char *filename ATTRIBUTE_UNUSED; { } @@ -9708,8 +9715,8 @@ dwarf2out_define (lineno, buffer) void dwarf2out_undef (lineno, buffer) - register unsigned lineno; - register char *buffer; + register unsigned lineno ATTRIBUTE_UNUSED; + register char *buffer ATTRIBUTE_UNUSED; { } diff -rup orig/egcs-C19980515/gcc/dwarfout.c egcs-C19980515/gcc/dwarfout.c --- orig/egcs-C19980515/gcc/dwarfout.c Fri May 15 09:45:30 1998 +++ egcs-C19980515/gcc/dwarfout.c Sat May 16 17:32:23 1998 @@ -313,8 +313,10 @@ static char *dwarf_fund_type_name PROTO( static tree decl_ultimate_origin PROTO((tree)); static tree block_ultimate_origin PROTO((tree)); static tree decl_class_context PROTO((tree)); +#if 0 static void output_unsigned_leb128 PROTO((unsigned long)); static void output_signed_leb128 PROTO((long)); +#endif static inline int is_body_block PROTO((tree)); static int fundamental_type_code PROTO((tree)); static tree root_type_1 PROTO((tree, int)); @@ -412,7 +414,7 @@ static void output_typedef_die PROTO((v static void output_union_type_die PROTO((void *)); static void output_unspecified_parameters_die PROTO((void *)); static void output_padded_null_die PROTO((void *)); -static void output_die PROTO((void (*) (), void *)); +static void output_die PROTO((void (*) PROTO((void *)), void *)); static void end_sibling_chain PROTO((void)); static void output_formal_types PROTO((tree)); static void pend_type PROTO((tree)); @@ -1212,6 +1214,7 @@ decl_class_context (decl) return context; } +#if 0 static void output_unsigned_leb128 (value) register unsigned long value; @@ -1265,6 +1268,7 @@ output_signed_leb128 (value) } while (more); } +#endif /**************** utility functions for attribute functions ******************/ @@ -3921,7 +3925,7 @@ output_unspecified_parameters_die (arg) static void output_padded_null_die (arg) - register void *arg; + register void *arg ATTRIBUTE_UNUSED; { ASM_OUTPUT_ALIGN (asm_out_file, 2); /* 2**2 == 4 */ } @@ -3936,7 +3940,7 @@ output_padded_null_die (arg) static void output_die (die_specific_output_function, param) - register void (*die_specific_output_function)(); + register void (*die_specific_output_function) PROTO ((void *)); register void *param; { char begin_label[MAX_ARTIFICIAL_LABEL_BYTES]; diff -rup orig/egcs-C19980515/gcc/except.c egcs-C19980515/gcc/except.c --- orig/egcs-C19980515/gcc/except.c Fri May 15 09:45:31 1998 +++ egcs-C19980515/gcc/except.c Sat May 16 17:32:23 1998 @@ -1797,7 +1797,6 @@ output_exception_table_entry (file, n) { char buf[256]; rtx sym; - int eh_entry; struct handler_info *handler; handler = get_first_handler (n); diff -rup orig/egcs-C19980515/gcc/except.h egcs-C19980515/gcc/except.h --- orig/egcs-C19980515/gcc/except.h Fri May 15 09:45:31 1998 +++ egcs-C19980515/gcc/except.h Sat May 16 17:32:23 1998 @@ -364,6 +364,11 @@ extern int protect_cleanup_actions_with_ extern tree protect_with_terminate PROTO((tree)); #endif +extern void expand_fixup_region_start PROTO((void)); +#ifdef TREE_CODE +extern void expand_fixup_region_end PROTO((tree)); +#endif + /* Various hooks for the DWARF 2 __throw routine. */ void expand_builtin_unwind_init PROTO((void)); diff -rup orig/egcs-C19980515/gcc/expr.c egcs-C19980515/gcc/expr.c --- orig/egcs-C19980515/gcc/expr.c Fri May 15 09:45:33 1998 +++ egcs-C19980515/gcc/expr.c Sat May 16 17:32:24 1998 @@ -188,7 +188,6 @@ static void preexpand_calls PROTO((tree) static void do_jump_by_parts_greater PROTO((tree, int, rtx, rtx)); void do_jump_by_parts_greater_rtx PROTO((enum machine_mode, int, rtx, rtx, rtx, rtx)); static void do_jump_by_parts_equality PROTO((tree, rtx, rtx)); -void do_jump_by_parts_equality_rtx PROTO((rtx, rtx, rtx)); static void do_jump_for_compare PROTO((rtx, rtx, rtx)); static rtx compare PROTO((tree, enum rtx_code, enum rtx_code)); static rtx do_store_flag PROTO((tree, rtx, enum machine_mode, int)); diff -rup orig/egcs-C19980515/gcc/expr.h egcs-C19980515/gcc/expr.h --- orig/egcs-C19980515/gcc/expr.h Fri May 15 09:45:33 1998 +++ egcs-C19980515/gcc/expr.h Sat May 16 17:32:24 1998 @@ -947,6 +947,7 @@ extern rtx (*lang_expand_expr) PROTO ((u extern void init_all_optabs PROTO ((void)); extern void init_mov_optab PROTO ((void)); +extern void do_jump_by_parts_equality_rtx PROTO((rtx, rtx, rtx)); extern void do_jump_by_parts_greater_rtx PROTO ((enum machine_mode, int, rtx, rtx, rtx, rtx)); diff -rup orig/egcs-C19980515/gcc/fix-header.c egcs-C19980515/gcc/fix-header.c --- orig/egcs-C19980515/gcc/fix-header.c Fri May 15 09:45:34 1998 +++ egcs-C19980515/gcc/fix-header.c Sun May 17 10:42:48 1998 @@ -71,17 +71,19 @@ Foundation, 59 Temple Place - Suite 330, Written by Per Bothner , July 1993. */ #include "hconfig.h" +#ifdef __STDC__ +#include +#else +#include +#endif #include "system.h" +#include "gansidecl.h" #include "obstack.h" #include "scan.h" #include "cpplib.h" -#include "gansidecl.h" +#include "cpphash.h" -extern void cpp_fatal (); - -#if !__STDC__ && !defined(const) -#define const /* nothing */ -#endif +void fatal PVPROTO ((const char *, ...)) ATTRIBUTE_PRINTF_1; sstring buf; @@ -1327,7 +1329,8 @@ main (argc, argv) because we want to suppress error messages. */ void -cpp_file_line_for_message (filename, line, column) +cpp_file_line_for_message (pfile, filename, line, column) + cpp_reader * pfile; char *filename; int line, column; { @@ -1347,11 +1350,12 @@ cpp_print_containing_files (pfile) /* IS_ERROR is 2 for fatal error, 1 for error, 0 for warning */ -void cpp_message (pfile, is_error, msg, arg1, arg2, arg3) - int is_error; +void +v_cpp_message (pfile, is_error, msg, ap) cpp_reader *pfile; - char *msg; - char *arg1, *arg2, *arg3; + int is_error; + const char *msg; + va_list ap; { if (is_error == 1) pfile->errors++; @@ -1361,32 +1365,86 @@ void cpp_message (pfile, is_error, msg, return; if (!is_error) fprintf (stderr, "warning: "); - fprintf (stderr, msg, arg1, arg2, arg3); + vfprintf (stderr, msg, ap); fprintf (stderr, "\n"); } void -fatal (str, arg) - char *str, *arg; +cpp_message VPROTO ((cpp_reader *pfile, int is_error, const char *msg, ...)) +{ +#ifndef __STDC__ + cpp_reader *pfile; + int is_error; + const char *msg; +#endif + va_list ap; + + VA_START (ap, msg); + +#ifndef __STDC__ + pfile = va_arg (ap, cpp_reader *); + is_error = va_arg (ap, const int); + msg = va_arg (ap, const char *); +#endif + + v_cpp_message(pfile, is_error, msg, ap); + va_end(ap); +} + +static void +v_fatal (str, ap) + const char * str; + va_list ap; { fprintf (stderr, "%s: %s: ", progname, inc_filename); - fprintf (stderr, str, arg); + vfprintf (stderr, str, ap); fprintf (stderr, "\n"); + exit (FATAL_EXIT_CODE); } void -cpp_fatal (pfile, str, arg) - cpp_reader *pfile ATTRIBUTE_UNUSED; - char *str, *arg; +fatal VPROTO ((const char *str, ...)) { - fatal (str, arg); +#ifndef __STDC__ + const char *str; +#endif + va_list ap; + + VA_START(ap, str); + +#ifndef __STDC__ + str = va_arg (ap, char *); +#endif + + v_fatal(str, ap); + va_end(ap); +} + +void +cpp_fatal VPROTO ((cpp_reader * pfile, const char *str, ...)) +{ +#ifndef __STDC__ + cpp_reader * pfile; + const char *str; +#endif + va_list ap; + + VA_START(ap, str); + +#ifndef __STDC__ + pfile = va_arg (ap, cpp_reader *); + str = va_arg (ap, char *); +#endif + + v_fatal(str, ap); + va_end(ap); } void cpp_pfatal_with_name (pfile, name) cpp_reader *pfile; - char *name; + const char *name; { cpp_perror_with_name (pfile, name); exit (FATAL_EXIT_CODE); diff -rup orig/egcs-C19980515/gcc/flow.c egcs-C19980515/gcc/flow.c --- orig/egcs-C19980515/gcc/flow.c Fri May 15 09:45:35 1998 +++ egcs-C19980515/gcc/flow.c Sat May 16 17:32:24 1998 @@ -262,7 +262,6 @@ static void mark_label_ref PROTO((rtx, static void life_analysis_1 PROTO((rtx, int)); void allocate_for_life_analysis PROTO((void)); void init_regset_vector PROTO((regset *, int, struct obstack *)); -void free_regset_vector PROTO((regset *, int)); static void propagate_block PROTO((regset, rtx, rtx, int, regset, int)); static rtx flow_delete_insn PROTO((rtx)); diff -rup orig/egcs-C19980515/gcc/function.c egcs-C19980515/gcc/function.c --- orig/egcs-C19980515/gcc/function.c Fri May 15 09:45:37 1998 +++ egcs-C19980515/gcc/function.c Sat May 16 17:32:24 1998 @@ -439,12 +439,14 @@ static void pad_to_arg_alignment PROTO(( static void pad_below PROTO((struct args_size *, enum machine_mode, tree)); #endif +#ifdef ARGS_GROW_DOWNWARD static tree round_down PROTO((tree, int)); +#endif static rtx round_trampoline_addr PROTO((rtx)); static tree blocks_nreverse PROTO((tree)); static int all_blocks PROTO((tree, tree *)); -static int *record_insns PROTO((rtx)); #if defined (HAVE_prologue) || defined (HAVE_epilogue) +static int *record_insns PROTO((rtx)); static int contains PROTO((rtx, int *)); #endif /* HAVE_prologue || HAVE_epilogue */ static void put_addressof_into_stack PROTO((rtx)); @@ -4747,6 +4749,7 @@ pad_below (offset_ptr, passed_mode, size } #endif +#ifdef ARGS_GROW_DOWNWARD static tree round_down (value, divisor) tree value; @@ -4756,6 +4759,7 @@ round_down (value, divisor) size_binop (FLOOR_DIV_EXPR, value, size_int (divisor)), size_int (divisor)); } +#endif /* Walk the tree of blocks describing the binding levels within a function and warn about uninitialized variables. @@ -5944,6 +5948,7 @@ static int *epilogue; /* Create an array that records the INSN_UIDs of INSNS (either a sequence or a single insn). */ +#if defined (HAVE_prologue) || defined (HAVE_epilogue) static int * record_insns (insns) rtx insns; @@ -5969,7 +5974,6 @@ record_insns (insns) /* Determine how many INSN_UIDs in VEC are part of INSN. */ -#if defined (HAVE_prologue) || defined (HAVE_epilogue) static int contains (insn, vec) rtx insn; diff -rup orig/egcs-C19980515/gcc/gansidecl.h egcs-C19980515/gcc/gansidecl.h --- orig/egcs-C19980515/gcc/gansidecl.h Fri May 15 09:45:37 1998 +++ egcs-C19980515/gcc/gansidecl.h Sat May 16 17:32:24 1998 @@ -59,6 +59,8 @@ Boston, MA 02111-1307, USA. */ #define ATTRIBUTE_PRINTF_1 ATTRIBUTE_PRINTF(1, 2) #define ATTRIBUTE_PRINTF_2 ATTRIBUTE_PRINTF(2, 3) #define ATTRIBUTE_PRINTF_3 ATTRIBUTE_PRINTF(3, 4) +#define ATTRIBUTE_PRINTF_4 ATTRIBUTE_PRINTF(4, 5) +#define ATTRIBUTE_PRINTF_5 ATTRIBUTE_PRINTF(5, 6) #endif /* ATTRIBUTE_PRINTF */ /* Define a generic NULL if one hasn't already been defined. */ diff -rup orig/egcs-C19980515/gcc/gen-protos.c egcs-C19980515/gcc/gen-protos.c --- orig/egcs-C19980515/gcc/gen-protos.c Fri May 15 09:45:39 1998 +++ egcs-C19980515/gcc/gen-protos.c Sun May 17 13:13:34 1998 @@ -17,6 +17,7 @@ Foundation, 59 Temple Place - Suite 330, #include "hconfig.h" #include "system.h" +#include "gansidecl.h" #include "scan.h" #include "cpplib.h" #include "cpphash.h" @@ -28,9 +29,9 @@ char *progname; int hash_tab[HASH_SIZE]; int next_index; -static int +int hashf (name, len, hashsize) - register U_CHAR *name; + register const U_CHAR *name; register int len; int hashsize; { diff -rup orig/egcs-C19980515/gcc/genattrtab.c egcs-C19980515/gcc/genattrtab.c --- orig/egcs-C19980515/gcc/genattrtab.c Fri May 15 09:45:58 1998 +++ egcs-C19980515/gcc/genattrtab.c Sat May 16 17:32:24 1998 @@ -952,12 +952,12 @@ check_attr_test (exp, is_const) return exp; } else - fatal ("Unknown attribute `%s' in EQ_ATTR", XEXP (exp, 0)); + fatal ("Unknown attribute `%s' in EQ_ATTR", XSTR (exp, 0)); } if (is_const && ! attr->is_const) fatal ("Constant expression uses insn attribute `%s' in EQ_ATTR", - XEXP (exp, 0)); + XSTR (exp, 0)); /* Copy this just to make it permanent, so expressions using it can be permanent too. */ @@ -974,7 +974,7 @@ check_attr_test (exp, is_const) for (p = XSTR (exp, 1); *p; p++) if (*p < '0' || *p > '9') fatal ("Attribute `%s' takes only numeric values", - XEXP (exp, 0)); + XSTR (exp, 0)); } else { @@ -985,7 +985,7 @@ check_attr_test (exp, is_const) if (av == NULL) fatal ("Unknown value `%s' for `%s' attribute", - XEXP (exp, 1), XEXP (exp, 0)); + XSTR (exp, 1), XSTR (exp, 0)); } } else diff -rup orig/egcs-C19980515/gcc/haifa-sched.c egcs-C19980515/gcc/haifa-sched.c --- orig/egcs-C19980515/gcc/haifa-sched.c Fri May 15 09:46:01 1998 +++ egcs-C19980515/gcc/haifa-sched.c Sat May 16 17:32:24 1998 @@ -164,6 +164,7 @@ #include "insn-config.h" #include "insn-attr.h" #include "except.h" +#include "toplev.h" extern char *reg_known_equiv_p; extern rtx *reg_known_value; @@ -1471,7 +1472,7 @@ find_rgns (s_preds, s_succs, num_preds, { int *max_hdr, *dfs_nr, *stack, *queue, *degree; char no_loops = 1; - int node, child, loop_head, i, j, head, tail; + int node, child, loop_head, i, head, tail; int count = 0, sp, idx = 0, current_edge = out_edges[0]; int num_bbs, num_insns, unreachable; int too_large_failure; diff -rup orig/egcs-C19980515/gcc/integrate.c egcs-C19980515/gcc/integrate.c --- orig/egcs-C19980515/gcc/integrate.c Fri May 15 09:46:03 1998 +++ egcs-C19980515/gcc/integrate.c Sat May 16 17:32:24 1998 @@ -1018,7 +1018,7 @@ save_constants (px) static void note_modified_parmregs (reg, x) rtx reg; - rtx x; + rtx x ATTRIBUTE_UNUSED; { if (GET_CODE (reg) == REG && in_nonparm_insns && REGNO (reg) < max_parm_reg @@ -3096,7 +3096,7 @@ subst_constants (loc, insn, map) void mark_stores (dest, x) rtx dest; - rtx x; + rtx x ATTRIBUTE_UNUSED; { int regno = -1; enum machine_mode mode; diff -rup orig/egcs-C19980515/gcc/jump.c egcs-C19980515/gcc/jump.c --- orig/egcs-C19980515/gcc/jump.c Fri May 15 09:46:04 1998 +++ egcs-C19980515/gcc/jump.c Sat May 16 17:32:24 1998 @@ -4347,7 +4347,7 @@ static int modified_mem; static void mark_modified_reg (dest, x) rtx dest; - rtx x; + rtx x ATTRIBUTE_UNUSED; { int regno, i; diff -rup orig/egcs-C19980515/gcc/output.h egcs-C19980515/gcc/output.h --- orig/egcs-C19980515/gcc/output.h Fri May 15 09:46:08 1998 +++ egcs-C19980515/gcc/output.h Sat May 16 17:32:24 1998 @@ -83,6 +83,11 @@ extern void output_operand_lossage PROT Defined in final.c. */ extern void output_asm_insn PROTO((char *, rtx *)); +/* Compute a worst-case reference address of a branch so that it + can be safely used in the presence of aligned labels. + Defined in final.c. */ +extern int insn_current_reference_address PROTO((rtx)); + /* Output a LABEL_REF, or a bare CODE_LABEL, as an assembler symbol. */ extern void output_asm_label PROTO((rtx)); @@ -136,6 +141,10 @@ extern void readonly_data_section PROTO( /* Determine if we're in the text section. */ extern int in_text_section PROTO((void)); + +#ifdef EH_FRAME_SECTION_ASM_OP +extern void eh_frame_section PROTO ((void)); +#endif #ifdef TREE_CODE /* Tell assembler to change to section NAME for DECL. diff -rup orig/egcs-C19980515/gcc/print-rtl.c egcs-C19980515/gcc/print-rtl.c --- orig/egcs-C19980515/gcc/print-rtl.c Fri May 15 09:46:09 1998 +++ egcs-C19980515/gcc/print-rtl.c Sat May 16 17:32:24 1998 @@ -22,6 +22,7 @@ Boston, MA 02111-1307, USA. */ #include "config.h" #include "system.h" #include "rtl.h" +#include "bitmap.h" /* How to print out a register name. diff -rup orig/egcs-C19980515/gcc/reload1.c egcs-C19980515/gcc/reload1.c --- orig/egcs-C19980515/gcc/reload1.c Fri May 15 09:46:14 1998 +++ egcs-C19980515/gcc/reload1.c Sat May 16 17:32:25 1998 @@ -2108,7 +2108,9 @@ reload (first, global, dumpfile) for (insn = first; insn; insn = NEXT_INSN (insn)) if (GET_RTX_CLASS (GET_CODE (insn)) == 'i') { +#ifdef PRESERVE_DEATH_INFO_REGNO_P rtx note, next; +#endif if (GET_CODE (PATTERN (insn)) == USE && find_reg_note (insn, REG_EQUAL, NULL_RTX)) @@ -4215,7 +4217,7 @@ reload_as_needed (first, live_known) static void forget_old_reloads_1 (x, ignored) rtx x; - rtx ignored; + rtx ignored ATTRIBUTE_UNUSED; { register int regno; int nr; @@ -5448,7 +5450,6 @@ choose_reload_regs (insn, avoid_return_r { register int regno = -1; enum machine_mode mode; - rtx in; if (reload_in[r] == 0) ; @@ -7912,7 +7913,7 @@ reload_cse_invalidate_mem (mem_rtx) static void reload_cse_invalidate_rtx (dest, ignore) rtx dest; - rtx ignore; + rtx ignore ATTRIBUTE_UNUSED; { while (GET_CODE (dest) == STRICT_LOW_PART || GET_CODE (dest) == SIGN_EXTRACT @@ -8602,7 +8603,7 @@ static rtx reload_cse_check_src; static void reload_cse_check_clobber (dest, ignore) rtx dest; - rtx ignore; + rtx ignore ATTRIBUTE_UNUSED; { if (reg_overlap_mentioned_p (dest, reload_cse_check_src)) reload_cse_check_clobbered = 1; diff -rup orig/egcs-C19980515/gcc/rtl.h egcs-C19980515/gcc/rtl.h --- orig/egcs-C19980515/gcc/rtl.h Fri May 15 09:46:15 1998 +++ egcs-C19980515/gcc/rtl.h Sat May 16 17:32:25 1998 @@ -1378,6 +1378,7 @@ extern int num_validated_changes PROTO ( extern int recog PROTO ((rtx, rtx, int *)); /* In stmt.c */ +extern void expand_null_return PROTO((void)); extern void emit_jump PROTO ((rtx)); extern int preserve_subexpressions_p PROTO ((void)); @@ -1404,13 +1405,14 @@ extern rtx expand_mult_highpart PROTO ( int, int)); /* In global.c */ -extern void mark_elimiation PROTO ((int, int)); +extern void mark_elimination PROTO ((int, int)); #ifdef BUFSIZ extern int global_alloc PROTO ((FILE *)); extern void dump_global_regs PROTO ((FILE *)); #endif /* In regclass.c */ +extern int reg_classes_intersect_p PROTO ((enum reg_class, enum reg_class)); extern int reg_class_subset_p PROTO ((enum reg_class, enum reg_class)); extern void globalize_reg PROTO ((int)); extern void init_regs PROTO ((void)); diff -rup orig/egcs-C19980515/gcc/scan-decls.c egcs-C19980515/gcc/scan-decls.c --- orig/egcs-C19980515/gcc/scan-decls.c Fri May 15 09:46:16 1998 +++ egcs-C19980515/gcc/scan-decls.c Sun May 17 10:20:24 1998 @@ -19,6 +19,7 @@ Foundation, 59 Temple Place - Suite 330, #include "hconfig.h" #include "system.h" +#include "gansidecl.h" #include "cpplib.h" #include "scan.h" diff -rup orig/egcs-C19980515/gcc/tree.h egcs-C19980515/gcc/tree.h --- orig/egcs-C19980515/gcc/tree.h Fri May 15 09:46:24 1998 +++ egcs-C19980515/gcc/tree.h Sat May 16 17:32:25 1998 @@ -1819,6 +1819,7 @@ extern int pushcase PROTO((tree, extern int pushcase_range PROTO((tree, tree, tree (*) (tree, tree), tree, tree *)); +extern void using_eh_for_cleanups PROTO((void)); /* In fold-const.c */ @@ -2120,6 +2121,7 @@ extern void fixup_signed_type PROTO ((t /* varasm.c */ extern void make_decl_rtl PROTO ((tree, char *, int)); extern void make_decl_one_only PROTO ((tree)); +extern int supports_one_only PROTO ((void)); extern void variable_section PROTO ((tree, int)); /* In fold-const.c */