+Mon Sep 20 12:59:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * basic-block.h (compute_bb_for_insn): Declare.
+ * flow.c (compute_bb_for_insn): Export. Don't accept the varray
+ to use; set size of basic_block_for_insn directly.
+ (find_basic_blocks): Update.
+
+Mon Sep 20 15:11:54 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * flow.c (verify_flow_info): Fix typo, "abort;" -> "abort ();".
+
+Mon Sep 20 14:56:34 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * crtstuff.c (ON_EXIT): Delete empty macro definition.
+ (__do_global_ctors_aux): Call atexit(), not ON_EXIT().
+
+Mon Sep 20 15:25:35 1999 Nick Clifton <nickc@cygnus.com>
+
+ * c-decl.c (c_decode_option): Extend comment.
+
+Mon Sep 20 14:43:37 1999 Nick Clifton <nickc@cygnus.com>
+
+ * toplev.c (progname): Make 'const char *'
+ (flag_print_mem): Move out of main.
+ (version_flag): Move out of main.
+ (filename): Move out of main.
+ (debug_args): Remove g prefix from options.
+ (documented_lang_options): Remove cpplib specific options.
+ (display_help): Add g prefix to debug options.
+ (check_lang_option): Delete this function.
+ (decode_d_option): New function: Decode -d... option.
+ (decode_f_option): New function: Decode -f... option.
+ (decode_W_option): New function: Decode -W... option.
+ (decode_g_option): New function: Decode -g... option.
+ (independent_decode_option): New function: Decode a language
+ independent command line option.
+ (main): Invoke lang_decode_option and then
+ independent_decode_option on each command line option in
+ turn.
+
+Mon Sep 20 05:41:36 1999 Jeffrey A Law (law@cygnus.com)
+
+ Revert this change. Gavin's patch to operand_equal_p is a better fix.
+ * fold-const.c (fold_range_test): Do not try to fold the range
+ test if the rhs or lhs has side effects.
+
+ * basic-block.h (compute_flow_dominators): Declare.
+
+ * gcse.c (alloc_code_hoist_mem): New function.
+ (free_code_hoist_mem, compute_code_hoist_vbeinout): Likewise.
+ (compute_code_hoist_data, hoist_expr_reaches_here_p): Likewise.
+ (hoist_code, one_code_hoisting_pass): Likewise.
+ (gcse_main): If optimizing for size, then hoist expressions
+ computed in multiple dominated basic blocks.
+
+ * gcse.c (invalid_nonnull_info): New function.
+ (delete_null_pointer_checks): Likewise.
+ * rtl.h (delete_null_pointer_checks): Declare.
+ * toplev.c (rest_of_compilation): Call delete_null_pointer_checks.
+
+ * flow.c (merge_blocks_move_predecessor_nojumps): New function.
+ (merge-blocks_move_successor_nojumps): Likewise.
+ (merge_blocks): Allow merging of some blocks, even if it requires
+ physical movement of the blocks, but not if it requires new jumps.
+
+ * bitmap.c (debug_bitmap_file): Renmaed from bitmap_debug_file.
+ Callers and prototype changed.
+ * bitmap.h: Fix debug_bitmap and debug_bitmap_file prototypes.
+
+Mon Sep 20 06:56:32 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/sparc/sol2.h (LINK_SPEC): Avoid the duplication of
+ -YP when both -p and -pg are present. From i386/sol2.h.
+
+Mon Sep 20 10:49:05 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * Makefile.in (distclean): Delete tm_p.h.
+ * configure.in: Create a new file, "tm_p.h", from a list in
+ "tm_p_file". For ix86 systems, set up "tm_p_file" to include
+ "i386/i386-protos.h".
+
+ * alias.c: Include "tm_p.h".
+ * c-typeck.c: Likewise.
+ * calls.c: Likewise.
+ * cse.c: Likewise.
+ * emit-rtl.c: Likewise.
+ * explow.c: Likewise.
+ * expmed.c: Likewise.
+ * expr.c: Likewise.
+ * final.c: Likewise.
+ * flow.c: Likewise.
+ * fold-const.c: Likewise.
+ * function.c: Likewise.
+ * gcse.c: Likewise.
+ * global.c: Likewise.
+ * haifa-sched.c: Likewise.
+ * integrate.c: Likewise.
+ * jump.c: Likewise.
+ * local-alloc.c: Likewise.
+ * loop.c: Likewise.
+ * optabs.c: Likewise.
+ * recog.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regclass.c: Likewise.
+ * regmove.c: Likewise.
+ * reload.c: Likewise.
+ * reload1.c: Likewise.
+ * reorg.c: Likewise.
+ * resource.c: Likewise.
+ * stmt.c: Likewise.
+ * stor-layout.c: Likewise.
+ * toplev.c: Likewise.
+ * tree.c: Likewise.
+ * unroll.c: Likewise.
+ * genattrtab.c (main): Make generated file include "tm_p.h".
+ * genemit.c (main): Likewise.
+ * genoutput.c (main): Likewise.
+ * genrecog.c (main): Likewise.
+
+ * i386.h: Delete all prototypes.
+ * i386.c: Include "tm_p.h".
+ (ix86_attr_length_default): Call constant_call_address_operand
+ with correct number of arguments.
+ * i386-protos.h: New file.
+ * i386.md (unnamed patterns): Call constant_call_address_operand
+ with correct number of arguments.
+ (exception_receiver): Call load_pic_register with correct number
+ of arguments.
+
+Sun Sep 19 14:18:39 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-pragma.c (mark_align_stack): Dereference the void* properly.
+
+Sun Sep 19 09:03:40 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * rtl.h (insns_safe_to_move_p): New function.
+ * loop.c (find_and_verify_loops): Use it.
+ * rtlanal.c (insns_safe_to_move_p): Define it.
+
+Sun Sep 19 02:54:33 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-pragma.c: Include ggc.h.
+ * Makefile.in (c-pragma.o): Update.
+
+Sat Sep 18 16:01:18 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/i386/sol2.h (CPP_SPEC): Support -[p]threads
+ (LIB_SPEC): Likewise.
+ (LINK_SPEC): Do not assert -z text with -shared -mimpure-text.
+ Reindent -YP/-p/-pg.
+ Copied from config/sparc/sol2.h.
+
+Sat Sep 18 11:52:43 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-pragma.c (mark_align_stack): New.
+ (init_pragma): New.
+ * c-pragma.h (init_pragma): Declare it.
+ * c-lex.c (init_parse): Call it.
+
+Sat Sep 18 15:20:38 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * configure.in: Pick up thread library on Solaris/x86 just
+ like on Solaris/sparc.
+ * configure: Rebuilt.
+
+Sat Sep 18 11:15:58 1999 Alex Samuel <samuel@codesourcery.com>
+
+ * rtl.h (global_rtx_index): New enum.
+ (global_rtl): Change to array of rtx.
+ (pc_rtx, cc0_rtx): Redefine accordingly.
+ (cc0_rtx, stack_pointer_rtx, frame_pointer_rtx): Likewise.
+ (hard_frame_pointer_rtx, arg_pointer_rtx): Likewise.
+ (virtual_incoming_args_rtx, virtual_stack_vars_rtx): Likewise.
+ (virtual_outgoing_args_rtx, virtual_cfa): Likewise.
+ (const_int_rtx): Change to array of rtx.
+ (const0_rtx, const1_rtx, const2_rtx, constm1_rtx): Redefine
+ accordingly.
+ * emit-rtl.c (global_rtl): Change to array of rtx.
+ (const_int_rtx): Change to aray of rtx.
+ (gen_rtx_CONST_INT): Redefine accordingly.
+ (init_emit_once): Allocate and initialize global_rtl. Likewise
+ for const_int_rtx. Add both as GC roots.
+ * genattrtab.c (global_rtl): Update declaration.
+
+1999-09-17 Ulrich Drepper <drepper@cygnus.com>
+
+ * Makefile (USER_H): Add iso646.h back.
+
+Sat Sep 18 01:07:21 1999 Jeffrey A Law (law@cygnus.com)
+
+ * haifa-sched.c (sched_analyze): Use free_INSN_LIST_list instead of
+ zapping the LOG_LINKS of sched_before_next_call.
+
+ * pa.h (INSN_SETS_ARE_DELAYED): Delete.
+ * pa.c (insn_refs_are_delayed): Renamed from
+ insn_sets_and_refs_are_delayed.
+
+Fri Sep 17 15:19:01 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * functiion.h (struct function): Add x_whole_function_mode_p.
+ (retrofit_block): Declare.
+ * function.c (retrofit_block): New function.
+ (identify_blocks): Add assertions. Allow an incomplete set of
+ block notes if we're still generating code for the function.
+ * integrate.c: Include loop.h.
+ (expand_inline_function): Call find_loop_tree_blocks to map block
+ notes to blocks when in whole-function mode. Use retrofit_block
+ to insert new BLOCKs for the inlined function, rather than
+ insert_block.
+ * stmt.c (expand_fixup): Likewise. Don't use pushlevel/polevel.
+ * Makefile.in (integrate.o): Depend on loop.h.
+
+Fri Sep 17 15:11:20 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.h (warn_about_unused_variables): Declare.
+ * stmt.c (warn_about_unused_variables): New function, split out
+ from ...
+ (expand_end_bindings): Here.
+
+Fri Sep 17 15:07:37 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * stmt.c (preserve_subexpressions_p): Don't crash when
+ current_function->stmt is unset.
+
+Fri Sep 17 15:03:16 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * stmt.c (expand_start_bindings): Allow callers to pass a flag
+ indicating that no NOTE_INSN_BLOCK_BEG note is required.
+ (expand_start_target_temps): Use it.
+ * except.c (expand_eh_region_start_for_decl): Likewise.
+ * expr.c (expand_expr): Likewise.
+
+Fri Sep 17 15:05:27 1999 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * fold-const.c (operand_equal_p): Pay attention to side effects.
+
+Fri Sep 17 11:14:17 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * libgcc2.c (L_exit): Check for ON_EXIT, not HAVE_ON_EXIT.
+ * sparc/sunos4.h (HAVE_ON_EXIT): Remove.
+
+ * tlink.c (scan_linker_output): Look for keywords before accepting
+ a mangled name in quotes.
+
+Thu Sep 16 16:47:08 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha/alpha-interix.h (DWARF2_UNWIND_INFO): Define to zero.
+ * alpha/osf2or3.h (DWARF2_UNWIND_INFO): Likewise.
+
+Thu Sep 16 16:35:41 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.md: Revert Thu Nov 26 change that came in through the
+ last gcc2 merge: reinstate (plus (plus ...)) reload patterns.
+ Avoid earlyclobber when possible.
+
+Thu Sep 16 18:44:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * libgcc2.c (__do_global_ctors): Call atexit with one arg.
+
+ * sparc/sunos4.h (on_exit): Wrap prototype parameters in PARAMS().
+ Define HAVE_ON_EXIT.
+
+Thu Sep 16 18:06:35 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (CTYPE_CONV, TOUPPER, TOLOWER): New macros. Use
+ CTYPE_CONV in all ctype macros.
+
+ * cccp.c (initialize_char_syntax): Use uppercase ctype macro
+ from system.h.
+
+ * cexp.y (initialize_random_junk): Likewise.
+
+ * c4x.c (c4x_interrupt_function_p, c4x_handle_pragma): Likewise.
+
+ * i370.c (handle_pragma): Likewise.
+
+ * i370.h (ASM_OUTPUT_LABELREF, ASM_OUTPUT_ASCII): Likewise.
+
+ * v850.c (override_options): Likewise.
+
+ * doprint.c (_doprnt): Likewise.
+
+ * fixinc/fixincl.c (main, quoted_file_exists, extract_quoted_files):
+ Likewise.
+
+ * fixinc/server.c (load_data): Likewise.
+
+ * fold-const.c (real_hex_to_f): Likewise.
+
+ * genattr.c (write_upcase, gen_attr): Likewise.
+
+ * genattrtab.c (convert_const_symbol_ref, evaluate_eq_attr,
+ write_upcase): Likewise.
+
+ * genemit.c (print_code): Likewise.
+
+ * genopinit.c (gen_insn): Likewise.
+
+ * genpeep.c (print_code): Likewise.
+
+ * genrecog.c (print_code): Likewise.
+
+ * optabs.c (init_libfuncs): Likewise.
+
+Thu Sep 16 14:03:32 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * haifa-sched.c (sched_analyze): Keep the list of notes organized
+ in pairs.
+ (reemit_notes): Likewise.
+
+Thu Sep 16 11:50:52 1999 Alex Samuel <samuel@codesourcery.com>
+
+ * ggc.h (ggc_root): Move to ggc-common.c.
+ (roots): Remove.
+ (ggc_mark_rtx, ggc_mark_tree): Change to macro.
+ (ggc_mark_rtvec, ggc_mark_tree_varray): Declare extern.
+ (ggc_mark_tree_hash_table, ggc_mark_string, ggc_mark): Likewise.
+ (ggc_mark_roots, ggc_mark_rtx_children, ggc_mark_tree_children): New.
+ * ggc-common.c (ggc_root): Move from ggc.h.
+ (roots): Declare, static.
+ (ggc_mark_rtx, ggc_mark_tree): Renamed to...
+ (ggc_mark_rtx_children, ggc_mark_tree_children): Don't check for
+ null or check/set mark bit.
+ (ggc_mark_roots): New.
+ * ggc-simple.c (ggc_collect): Call ggc_mark_roots.
+
+Thu Sep 16 11:37:32 1999 Richard Henderson <rth@cygnus.com>
+
+ * m32r.c: Include toplev.h.
+ (*): Add ATTRIBUTE_UNUSED as needed to arguments.
+ (gen_compare): Rename swap_p to must_swap to match uses.
+ Add default abort case.
+ (m32r_output_function_epilogue): Remove unused variables.
+ (m32r_print_operand): Use HOST_WIDE_INT_PRINT_HEX.
+ * m32r.h (PROTO, STDIO_PROTO): Rename XPROTO; unconditionally
+ define to empty parameter list. Update all uses.
+ (predicate decls): Use enum machine_mode not int.
+ * m32r.md (movsi): Call abort, not fatal_insn.
+ (zero_branch_insn, rev_zero_branch_insn): Add default abort case.
+
+1999-09-14 Andrew Haley <aph@cygnus.com>
+
+ * config/mips/mips.md (movsi_usw): if operand 1 is const_int 0,
+ use $0 instead of 0.
+
+Thu Sep 16 10:53:36 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * reload1.c (order_regs_for_reload): Move hard_reg_n_uses
+ computation out of loop over hard regs.
+
+Wed Sep 15 21:37:06 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * function.c (identify_blocks): Don't shadow a variable in an
+ outer scope.
+ * integrate.c (integrate_decl_tree): Don't use pushlevel,
+ pushdecl, or poplevel to build up the new BLOCK tree.
+ (expand_inline_function): Likewise.
+ (integrate_parm_decls): Likewise.
+
+Wed Sep 15 21:20:38 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * c-typeck.c (qualify_type): Merge qualifiers from both types.
+
+1999-09-15 Brad Lucier <lucier@math.purdue.edu>
+
+ * toplev.c: Allow -f[no-]math-errno to set (clear) flag_errno_math
+ * invoke.texi: Document this change.
+
+Wed Sep 15 17:56:00 1999 Richard Henderson <rth@cygnus.com>
+
+ * emit-rtl.c (free_emit_status): Don't check DECL_DEFER_OUTPUT.
+ Free the struct.
+ (mark_emit_status): Renamed from mark_emit_state.
+ * except.c (mark_eh_status): Renamed from mark_eh_state.
+ Check not null before marking.
+ (free_eh_status): New.
+ * expr.c (mark_expr_status, free_expr_status): New.
+ * function.c (free_machine_status): New.
+ (free_after_parsing): New.
+ (free_after_compilation): Move bits to free_after_parsing; call
+ free_eh_status, free_expr_status; zero the marked members of the
+ function state.
+ (prepare_function_start): No can_garbage_collect.
+ Call init_eh_for_function.
+ (expand_dummy_function_end): Free up current_function state.
+ (mark_function_status): Renamed from mark_function_state.
+ (mark_function_chain): No can_garbage_collect. Call mark_expr_status.
+ * function.h (struct function): No can_garbage_collect.
+ (free_machine_status, free_after_parsing): Declare.
+ (free_eh_status, free_expr_status): Declare.
+ * ggc.h (mark_expr_status): Declare.
+ * stmt.c (free_stmt_status): Free the struct.
+ (mark_stmt_status): Renamed from mark_stmt_state.
+ (init_stmt): Don't call init_eh.
+ (init_stmt_for_function): Don't call init_eh_for_function.
+ * toplev.c (compile_file): Call init_eh.
+ (rest_of_compilation): Free basic block info before ggc_collect.
+ Call free_after_parsing; conditionally call free_after_compilation.
+ * varasm.c (mark_varasm_status): Renamed from mark_varasm_state.
+ Check not null before marking.
+ (free_varasm_status): Don't check DECL_DEFER_OUTPUT. Free the struct.
+
+Wed Sep 15 17:53:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-lex.c (yylex): Initialize warn.
+
+Wed Sep 15 18:35:38 1999 Jeffrey A Law (law@cygnus.com)
+
+ * pa.c (emit_move_sequence): Properly set the mode of the scratch
+ register when performing secondary reloads for the SAR register.
+
+Wed Sep 15 15:51:52 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * rtl.h (NOTE_BLOCK_NUMBER): Replace with ...
+ (NOTE_BLOCK): New macro.
+ (NOTE_BLOCK_LIVE_RANGE_BLOCK): Remove.
+ * function.h (identify_blocks): Change prototype.
+ * function.c (identify_blocks): Simplify.
+ (reorder_blocks): Likewise.
+ * ggc-common.c (ggc_mark_rtx): Mark the BLOCK associated with a
+ NOTE_INSN_BLOCK_{BEG,END}.
+ * haifa-sched.c (sched_analyze): Don't put NOTE_BLOCK_NUMBER on
+ the list of saved notes if the note isn't a
+ NOTE_INSN_BLOCK_{BEG,END}.
+ (move_insn1): Use NOTE_EH_HANDLER in comment, rather than
+ NOTE_BLOCK_NUMBER.
+ (reemit_notes): Adjust recreation of notes to reflect new saved
+ note structure.
+ * print-rtl.c (print_rtx): Print the address of the BLOCK when
+ printing a block note.
+ * stmt.c (block_vector): Remove.
+ (find_loop_tree_blocks): Simplify.
+ (unroll_block_trees): Likewise.
+ * tree.h (reorder_block): Change prototype.
+
+Wed Sep 15 14:39:35 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * gbl-ctors.h: Lose HAVE_ATEXIT. Don't define ON_EXIT.
+ * libgcc2.c: Lose obsolete defn of WEAK_ALIAS.
+ (__bb_init_func, __bb_init_prg): Use atexit instead of ON_EXIT.
+ (__do_global_dtors): Likewise. Don't mess with _exit_dummy_decl.
+ (atexit, exit): Simplify.
+ * tm.texi: Document NEED_ATEXIT and ON_EXIT. Remove HAVE_ATEXIT.
+ * config/lots: Remove defns of HAVE_ATEXIT.
+
+Wed Sep 15 10:25:12 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * calls.c (precompute_arguments): Fix typo in comment.
+ * expr.c (preexpand_calls): Don't preexpand the cleanup in a
+ TARGET_EXPR.
+
+Wed Sep 15 09:59:59 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * dsp16xx.c (override_options): Fix typos in GC root registration.
+
+Wed Sep 15 15:23:28 1999 Philip Blundell <pb@nexus.co.uk>
+
+ * config/arm/linux-elf.h (MAKE_DECL_ONE_ONLY): Copy definition
+ from config/svr4.h.
+ (UNIQUE_SECTION_P, UNIQUE_SECTION): Likewise.
+ (FUNCTION_PROFILER): Redefine appropriately for Linux.
+ (CC1_SPEC): Likewise.
+
+Wed Sep 15 10:09:48 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * genattr.c (main): Add extern prototype. Call return, not exit.
+ * genattrtab.c (main): Likewise.
+ * gencheck.c (main): Likewise.
+ * gencodes.c (main): Likewise.
+ * genconfig.c (main): Likewise.
+ * genemit.c (main): Likewise.
+ * genextract.c (main): Likewise.
+ * genflags.c (main): Likewise.
+ * gengenrtl.c (main): Likewise.
+ * genopinit.c (main): Likewise.
+ * genoutput.c (main): Likewise.
+ * genpeep.c (main): Likewise.
+ * genrecog.c (main): Likewise.
+
+ * genattr.c (get_insn_name): Mark parameter with ATTRIBUTE_UNUSED.
+ * genattrtab.c (get_insn_name): Likewise.
+ * gencodes.c (get_insn_name): Likewise.
+ * genconfig.c (get_insn_name): Likewise.
+ * genemit.c (get_insn_name): Likewise.
+ * genextract.c (get_insn_name): Likewise.
+ * genflags.c (get_insn_name): Likewise.
+ * genopinit.c (get_insn_name): Likewise.
+ * genpeep.c (get_insn_name): Likewise.
+
+ * gencheck.c (usage): Add static prototype.
+ * genextract.c (print_path): Constify a char*.
+ * genopinit.c (optabs): Likewise.
+ * genoutput.c (operand_data, data, output_predicate_decls,
+ compare_operands): Likewise.
+ * genrecog.c (write_tree): Add default case in switch.
+
+Wed Sep 15 09:59:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * rtl.h (get_insn_name, print_rtl_with_bb): Add prototypes.
+
+ * print-rtl.c (get_insn_name): Remove prototype.
+
+ * toplev.h (progname): Declare const.
+
+ * toplev.c (init_decl_processing, init_obstacks, init_tree_codes,
+ init_regs, init_optabs, init_stmt, init_reg_sets, dump_flow_info,
+ dump_sched_info, dump_local_alloc, regset_release_memory,
+ print_rtl, print_rtl_with_bb, rest_of_decl_compilation,
+ error_with_file_and_line, error_with_decl, error_for_asm, error,
+ fatal, warning_with_file_and_line, warning_with_decl, warning,
+ pedwarn, pedwarn_with_decl, pedwarn_with_file_and_line, sorry):
+ Remove redundant prototypes.
+
+ (notice, check_lang_option, report_file_and_line, vnotice,
+ mark_file_stack): Add static prototype.
+ (set_fatal_function): Add prototype.
+ (vnotice, report_file_and_line, set_fatal_function,
+ check_lang_option): Constify a char*.
+ (main): Prototype. Call return, not exit.
+
+Wed Sep 15 09:50:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * aclocal.m4 (AC_GCC_C_LONG_DOUBLE): New macro.
+
+ * configure.in (AC_GCC_C_LONG_DOUBLE): Call it.
+
+ * gansidecl.h (HAVE_LONG_DOUBLE): Define if gcc for stage2.
+
+ * ggc-simple.c (HAVE_LONG_DOUBLE): Test before using long double.
+
+Wed Sep 15 11:04:43 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * function.c (assign_parms): Delete arg SECOND_TIME. Don't test it,
+ behave as if it's zero in all cases.
+ (expand_function_start): Adjust call to assign_parms.
+ * tree.h (assign_parms): Adjust prototype.
+ * objc/objc-act.c (hack_method_prototype): Adjust call to
+ assign_parms.
+
+Tue Sep 14 21:47:06 1999 Jeffrey A Law (law@cygnus.com)
+
+ * cse.c (FIXED_BASE_PLUS_P): Do not consider referneces to
+ arg_pointer_rtx fixed if the argument pointer register is
+ not fixed.
+ (NONZERO_BASE_PLUS_P): Likewise.
+
+Tue Sep 14 20:26:02 1999 Richard Henderson <rth@cygnus.com>
+
+ * rtl.def (match_insn, match_insn2): Remove match_insn; rename
+ match_insn2 to match_insn.
+ * genrecog.c (add_to_sequence): Rename MATCH_INSN2.
+
+Tue Sep 14 20:10:29 1999 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (USER_H): Remove va-foo.h.
+
+ * ginclude/{va-alpha.h,va-arc.h,va-c4x.h,va-clipper.h,va-h8300.h,
+ va-i860.h,va-i960.h,va-m32r.h,va-m88k.h,va-mips.h,va-mn10200.h,
+ va-mn10300.h,va-pa.h,va-ppc.h,va-pyr.h,va-sh.h,va-sparc.h,
+ va-spur.h,va-v850.h}: Remove.
+
+Tue Sep 14 19:43:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * sparc/sparc.md (eligible_for_return_delay): New attribute.
+ (in_return_delay): Use it instead of match_insn.
+
+Tue Sep 14 23:05:37 1999 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * config/alpha/va_list.h (va-alpha.h): Do not include.
+ (__gnuc_va_list): Typedef as in varargs.h.
+
+Tue Sep 14 18:14:03 1999 Richard Henderson <rth@cygnus.com>
+
+ * ggc-common.c (ggc_mark_tree): Mark DECL_SOURCE_FILE and
+ DECL_LIVE_RANGE_RTL.
+
+Tue Sep 14 16:47:08 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * except.c (expand_eh_region_start_for_decl): Use NOTE_EH_HANDLER,
+ not NOTE_BLOCK_NUMBER.
+ (expand_eh_region_end): Likewise.
+ (find_exception_handler_labels): Likewise.
+ (scan_region): Likewise.
+ (exception_optimize): Likewise.
+ (update_rethrow_references): Likewise.
+ (set_insn_eh_region): Likewise.
+ * final.c (final_scan_insn): Likewise.
+ * flow.c (make_edges): Likewise.
+ * integrate.c (expand_inline_function): Likewise.
+ * print-rtl.c (print_rtx): Likewise.
+
+Tue Sep 14 16:30:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * ginclude/stdarg.h, ginclude/varargs.h: Implement in
+ terms of builtin functions and types.
+
+ * mips.c (mips_build_va_list): New.
+ (mips_va_start, mips_va_arg): New.
+ * mips.h (BUILD_VA_LIST_TYPE): New.
+ (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
+
+ * sh.c (sh_builtin_saveregs): Use get_varargs_alias_set.
+ (sh_build_va_list, sh_va_start, sh_va_arg): New.
+ * sh.h (BUILD_VA_LIST_TYPE): New.
+ (EXPAND_BUILTIN_VA_START, EXPAND_BUILTIN_VA_ARG): New.
+
+Tue Sep 14 16:20:24 1999 Richard Henderson <rth@cygnus.com>
+
+ * recog.h (struct recog_data): Make dup_num, operand_address_p,
+ n_operands, n_dups, n_alternatives `char' instead of `unsigned char'.
+ (struct insn_data): Likewise with n_operands, n_dups,
+ n_alternatives, output_format.
+ * regclass.c (scan_one_insn): Cast n_operands to int before
+ arithmetic inside comparison.
+
+Tue Sep 14 15:13:36 1999 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (compile_function): Unconditionally emit nop.
+
+Tue Sep 14 14:41:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * haifa-sched.c (actual_hazard): Move declaration of variable
+ `this_cost' into the scope where it is used.
+
+Tue Sep 14 14:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-pragma.c (handle_pragma_token): Wrap variables `name' and
+ `value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
+ HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
+
+ * genrecog.c (make_insn_sequence): Call memset, not bzero.
+
+ * jump.c (find_insert_position): Don't declare or define unless
+ !HAVE_conditional_arithmetic.
+ (returnjump_p_1, delete_prior_computation): Add static prototypes.
+
+ * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
+
+ * recog.c (offsettable_address_p): Prototype function pointer.
+ (preprocess_constraints): Call memset, not bzero.
+
+ * tree.c (tree_node_kind_names): Constify a char*. Make static.
+ (gcc_obstack_init): Don't declare.
+ (fix_sizetype): Add static prototype.
+ (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
+ (tree_cons): Call memset, not bzero.
+
+ * varasm.c (remove_from_pending_weak_list): Wrap declaration and
+ definition in macro ASM_WEAKEN_LABEL.
+ (mark_const_hash_entry): Add static prototype.
+
+Tue Sep 14 12:22:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-lex.c (handle_generic_pragma): Remove unused variable `c'.
+
+ * unroll.c (find_common_reg_term, subtract_reg_term,
+ loop_find_equiv_value): Add static prototypes.
+ (unroll_loop): Wrap variable `prev' in macro HAVE_cc0.
+ (copy_loop_body): Remove unreachable break statement.
+
+ * sparc.c (sparc_va_arg): Remove unused variable `tmp'.
+
+ * sparc.h (sparc_va_start, sparc_va_arg): Add extern prototypes.
+
+Tue Sep 14 15:28:00 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ Undo some changes from the gcc2 merge:
+ * rtl.def (CONSTANT_P_RTX): Fix the comment for this rtx code.
+ * emit-rtl.c (gen_rtx_REG): Don't test special reg rtx's for null
+ pointers.
+
+ Undo this change:
+ Sat Oct 3 07:20:28 1998 Stephen L Moshier <moshier@world.std.com>
+ * emit-rtl.c (gen_lowpart_common): Disable optimization of
+ initialized float-int union if the value is a NaN.
+
+Tue Sep 14 04:03:44 1999 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * gthr-win32.h: New file.
+
+ * i386/winnt.c (i386_pe_valid_decl_attribute_p): Recognize
+ shared as a valid attribute.
+ * i386/cygwin.h (ASM_OUTPUT_SECTION): Handle shared attribute.
+ * extend.texi: Document `shared' variable attribute.
+
+Tue Sep 14 04:01:46 1999 Loren Rittle <ljrittle@acm.org>
+
+ * configure.in: Handle --enable-threads on FreeBSD.
+ * configure: Rebuit.
+
+Tue Sep 14 03:58:44 1999 Andreas Jaeger <aj@arthur.rhein-neckar.de>
+
+ * configure.in: Add crtbeginS.o, crtendS.o for mips-linux; add
+ thread support.
+ * configure: Rebuilt.
+
+Tue Sep 14 03:47:23 1999 Joel Sherrill <joel@OARcorp.com>
+ Charles-Antoine Gauthier <charles.gauthier@iit.nrc.ca>
+ Rosimildo DaSilva <rdasilva@connecttel.com>
+
+ * configure.in (m68k-*-rtemscoff*): Added.
+ * configure.in (mips64orion-*-rtems*): Converted to ELF.
+ * configure.in (sparc-*-rtemsaout*): Added as alias for old
+ sparc-rtems configuration.
+ * configure.in (sparc-*-rtemself*): Added.
+ * configure.in (sparc-*-rtems*): Now ELF not a.out.
+ * config/i386/rtems.h: Added comment.
+ * config/sparc/rtemself.h: New file.
+
+ * configure.in (m68k-rtemself): Added.
+ * config/elfos.h: Added ifndef wrapper for DWARF2_DEBUGGING_INFO
+ and DWARF_DEBUGGING_INFO.
+ * config/m68k/crti.s: New file.
+ * config/m68k/crtn.s: New file.
+ * config/m68k/t-crtstuff: New file.
+ * config/m68k/rtemself.h: New file.
+
+ * configure.in (i[[34567]]86-*-rtemself*): Now uses crtstuff for
+ global ctor/dtor and C++ exception handling.
+ * config/i386/rtemself.h: Now uses crtstuff (crti.o + crtbegin.o)
+ for STARTFILE_SPEC and crtstuff (crtend.o + crtn.o) for
+ ENDFILE_SPEC.
+ * config/i386/t-rtems-i386: New File.
+
+Tue Sep 14 09:47:41 1999 Andreas Schwab <schwab@suse.de>
+
+ * stmt.c (expand_end_case): Return right away if the case stack is
+ empty.
+
+Tue Sep 14 01:47:19 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (version.c): Remove rule incorrectly brought in from
+ the gcc2 merge.
+
+Tue Sep 14 01:42:27 1999 Marc Espie <espie@cvs.openbsd.org>
+
+ * Makefile.in: Prepend $(SHELL) to move-if-change calls.
+ * msdos/top.sed: Take into account a prepended $(SHELL) to
+ move-if-change.
+ * winnt/config-nt.sed: Likewise. Kill bogus substitution.
+
+ * objc/Make-lang.in: Prepend $(SHELL) to move-if-change calls.
+
+Tue Sep 14 01:38:52 1999 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * regmove.c (fixup_match_1): Don't change an unchanging register.
+ (stable_but_for_p): Renamed to:
+ (stable_and_no_regs_but_for_p). Reject unchanging registers too.
+ Changed all callers.
+
+Tue Sep 14 01:33:15 1999 Andreas Schwab <schwab@suse.de>
+
+ * loop.c (strength_reduce): Don't call reg_used_between_p if the
+ insn from BL2 is after the insn from BL.
+
+Mon Sep 13 21:06:01 1999 Richard Henderson <rth@cygnus.com>
+
+ * recog.h (INSN_OUTPUT_FORMAT_*): New.
+ (struct insn_data): Merge `template' and `outfun' into `output'.
+ Add `output_format'.
+ * genoutput.c (INSN_OUTPUT_FORMAT_*): New.
+ (struct data): Remove `outfun'; add `output_format'.
+ (name_for_index): Remove declaration.
+ (output_insn_data): Handle output formats.
+ (process_template): Emit the bare array for @.
+ (gen_expand, gen_split): Set output_format to NONE.
+ * output.h (get_insn_template): Declare.
+ * final.c (get_insn_template): New.
+ (final_scan_insn): Use it.
+ * toplev.c (compile_file): Likewise.
+
+ * c4x/c4x.c (c4x_process_after_reload): Likewise.
+ * i860/i860.c (output_delayed_branch): Likewise.
+ (output_delay_insn): Likewise.
+
+1999-09-13 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
+
+ * rtl.c (obstack_alloc_rtx): Removed.
+
+1999-09-13 17:03 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * config/gmicro/gmicro.md: Disable move DF->DI anonymous pattern.
+
+Mon Sep 13 15:21:46 1999 Richard Henderson <rth@cygnus.com>
+
+ * i386.c (call_insn_operand): Reject const_int.
+ (expander_call_insn_operand): Use call_insn_operand.
+
+Mon Sep 13 17:44:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcc.c (getrusage): Wrap prototype arguments in PROTO().
+
+1999-09-13 12:18 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * config/i370/i370.md (mulsi, divsi, modsi anonymous insns):
+ Use DImode operation.
+
+1999-09-13 12:13 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * gcc.c: Include sys/resource.h.
+ (report_times): New flag.
+ (execute): If report_times is set, calculate and report the
+ CPU time consumed by each subprocess.
+
+ (rus, prus): New globals.
+ (option_map): Add --time.
+ (display_help): Document -time.
+ (process_command): Set report_times if -time is given.
+ Turn off -pipe if -time is given.
+
+ * invoke.texi: Document new option -time.
+
+ * configure.in: Check for getrusage. Check if we have to
+ prototype getrusage.
+ * acconfig.h: Add NEED_DECLARATION_GETRUSAGE.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+Mon Sep 13 12:57:06 1999 Dave Brolley <brolley@cygnus.com>
+
+ * cppinit.c (append_include_chain): Initialize 'next' and 'alloc'
+ fields.
+
+Mon Sep 13 10:01:33 1999 Nick Clifton <nickc@cygnus.com>
+
+ * config/fp-bit.c: Define L_thenan_sf or L_thenan_df (as
+ appropriate) if FINE_GRAINED_LIBRARIES is not defined.
+ (nan): Return _thenan_sf or _thenan_df as appropriate.
+ (L_thenan_sf): Define _thenan_sf.
+ (L_thenan_df): Define _thenan_df.
+
+ * Makefile.in (FPBIT_FUNCS): Add _thenan_sf.
+ (DPBIT_FUNCS): Add _thenan_df.
+
+Mon Sep 13 09:38:53 1999 Andreas Schwab <schwab@suse.de>
+
+ * tree.c (fix_sizetype): Exchange the types for TYPE_SIZE and
+ TYPE_SIZE_UNIT.
+
+Sun Sep 12 23:28:20 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (gcc.o, gccspec.o, cppspec.o): Depend on gcc.h.
+
+ * gcc.h: New file.
+ (lang_specific_driver): Don't take a function pointer parameter.
+ All callers changed.
+
+ * gcc.c: Include gcc.h.
+ (do_spec, fancy_abort,lang_specific_driver,lang_specific_pre_link,
+ lang_specific_extra_outfiles, fatal): Don't declare.
+ (multilib_defaults_raw): Constify.
+ (read_specs): Call memset, rather than bzero.
+ (main): Call return, not exit.
+ (lookup_compiler): Call memcpy, not bcopy.
+ (fatal): Make extern.
+
+ * cppspec.c: Include gcc.h.
+ (lang_specific_driver): Initialize variable `quote'. Constify a
+ char*. All calls to the function pointer parameter now
+ explicitly call `fatal'.
+
+ * gccspec.c (lang_specific_driver): Include gcc.h.
+
+Sun Sep 12 19:52:10 1999 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (note_invalid_constants): Use recog_data.operand_type
+ for recog_op_type.
+
+Sun Sep 12 15:53:20 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * tree.h (build_common_tree_nodes, build_common_tree_nodes_2):
+ Declare.
+
+ * reload.h (reload_in, reload_out, reload_in_reg, reload_out_reg,
+ reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+ reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+ reload_secondary_in_reload, reload_secondary_out_reload,
+ reload_secondary_in_icode, reload_secondary_out_icode,
+ reload_reg_rtx, reload_when_needed): Delete declarations.
+ (struct reload): New structure.
+ (rld): Declare new array.
+ * reload.c (reload_in, reload_out, reload_in_reg, reload_out_reg,
+ reload_reg_class, reload_inmode, reload_outmode, reload_optional,
+ reload_nongroup, reload_inc, reload_opnum, reload_secondary_p,
+ reload_secondary_in_reload, reload_secondary_out_reload,
+ reload_secondary_in_icode, reload_secondary_out_icode,
+ reload_reg_rtx, reload_when_needed): Delete definitions.
+ (rld): New array.
+ (whole file): Replace uses of the deleted arrays with uses of rld.
+ * reload1.c (whole file): Replace uses of the deleted arrays with
+ uses of rld.
+ (choose_reload_regs): Copy in/out of save_reload_reg_rtx with
+ explicit loops, not with bcopy.
+
+Sun Sep 12 05:00:24 1999 Richard Henderson <rth@cygnus.com>
+
+ * recog.h (insn_template, insn_outfun, insn_n_operands, insn_n_dups,
+ insn_n_alternatives, insn_operand_constraint, insn_operand_address_p,
+ insn_operand_mode, insn_operand_strict_low, insn_operand_predicate,
+ insn_name): Delete and consolidate into new structures.
+ (insn_operand_predicate_fn): New.
+ (insn_output_fn): New.
+ (insn_gen_fn): New.
+ (struct insn_operand_data): New.
+ (struct insn_data): New.
+ (insn_data): New.
+ (OUT_FCN): Update for insn_data change.
+ * builtins.c (expand_builtin_strlen): Likewise.
+ (expand_builtin_memcmp): Likewise.
+ * combine.c (make_extraction, simplify_comparison): Likewise.
+ * cse.c (canon_reg, cse_insn): Likewise.
+ * explow.c (allocate_dynamic_stack_space, probe_stack_range): Likewise.
+ * expmed.c (store_bit_field, extract_bit_field): Likewise.
+ (emit_store_flag): Likewise.
+ * expr.c (convert_move, emit_block_move): Likewise.
+ (clear_storage, emit_push_insn, expand_increment): Likewise.
+ (do_store_flag): Likewise.
+ * expr.h (GEN_FCN): Likewise.
+ (insn_gen_function): Die.
+ * final.c (final_scan_insn): Update for insn_data change.
+ (output_asm_name): Likewise.
+ * function.c (fixup_var_refs_1): Likewise.
+ * loop.c (check_dbra_loop): Likewise.
+ * optabs.c (expand_binop, expand_twoval_binop): Likewise.
+ (expand_unop, expand_complex_abs, emit_unop_insn): Likewise.
+ (prepare_cmp_insn, prepare_operand, emit_indirect_jump): Likewise.
+ (emit_conditional_move, gen_add2_insn, gen_sub2_insn): Likewise.
+ * recog.c (validate_replace_rtx_1, extract_insn): Likewise.
+ * regmove.c (gen_add3_insn): Likewise.
+ * reload.c (push_secondary_reload, combine_reloads): Likewise.
+ (find_reloads, find_reloads_address_1): Likewise.
+ (debug_reload_to_stream): Likewise.
+ * reload1.c (emit_reload_insns, gen_reload): Likewise.
+ * stmt.c (expand_end_case): Likewise.
+ * toplev.c (compile_file): Likewise.
+
+ * c4x/c4x.c (c4x_process_after_reload): Likewise.
+ * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+
+ * print-rtl.c (insn_name_ptr): Remove declaration.
+ (get_insn_name): Declare.
+ (print_rtx): Use it.
+ * genoutput.c (insn_name_ptr): Remove.
+ (next_operand_number): New.
+ (struct operand_data): New.
+ (null_operand, odata, odata_end): New.
+ (struct data): Use struct operand_data.
+ (idata, idata_end): Renamed from insn_data and end_of_insn_data.
+ (get_insn_name): Renamed from name_for_index.
+ (output_prologue): Define NO_MD_PROTOTYPES.
+ (output_predicate_decls): Break out from output_epilogue.
+ Iterate over the operands list.
+ (output_operand_data): Break out from output_epilogue. Emit
+ just the operands list.
+ (output_insn_data): Break out from output_epilogue. Emit just
+ the insn data.
+ (output_epilogue): Remove.
+ (output_get_insn_name): New.
+ (constraints, op_n_alternatives, predicates, address_p): Die.
+ (modes, strict_low, seen): Die.
+ (scan_operands): Take new param `d' instead of writing to
+ seven global variables.
+ (compare_operands): New.
+ (place_operands): New.
+ (validate_insn_alternatives): Update for struct data change.
+ (gen_insn): Don't zero or copy 7 global arrays. Update for
+ scan_operands; call place_operands.
+ (gen_peephole, gen_expand, gen_split): Likewise.
+ (main): Update for new output routines.
+
+ * genattr.c (insn_name_ptr): Remove.
+ (get_insn_name): New function.
+ * genattrtab.c, gencodes.c, genconfig.c, genemit.c: Likewise.
+ * genextract.c, genflags.c, genopinit.c, genpeep.c: Likewise.
+ * genrecog.c: Likewise.
+
+ * alpha.md (adddi3): Make `pattern' array static.
+
+Sun Sep 12 22:05:21 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.h (c4x_rpts_cycles_string,
+ c4x_cpu_version_string): Constify char *.
+ * config/c4x/c4x.c (c4x_rpts_cycles_string,
+ c4x_cpu_version_string): Likewise.
+
+Sat Sep 11 23:28:33 1999 Richard Henderson <rth@cygnus.com>
+
+ * tree.c (save_tree_status): Revert 10 Sep change.
+ (restore_tree_status): Likewise. Call obstack_free with NULL
+ before freeing the obstack proper.
+
+Sat Sep 11 23:23:46 1999 Richard Henderson <rth@cygnus.com>
+
+ * cse.c (cse_main): If gc'ing, collect around cse_basic_block.
+
+ * ggc-simple.c (ggc_pop_context): Fold outstanding bytes into
+ surrounding context.
+
+Sat Sep 11 19:52:43 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (type_hash_canon): Put all types in the hash-table, when
+ GC'ing.
+
+Sat Sep 11 18:37:04 1999 Richard Henderson <rth@cygnus.com>
+
+ * recog.h (struct recog_data, recog_data): New.
+ (recog_foo variables): Kill.
+ * recog.c (recog_operand, recog_operand_loc): Kill.
+ (recog_dup_loc, recog_dup_num, recog_n_operands): Kill.
+ (recog_n_dups, recog_n_alternatives, recog_operand_mode): Kill.
+ (recog_constraints, recog_op_type, recog_operand_address_p): Kill.
+ (recog_data): Define.
+ (extract_insn): Update all recog_foo references to use recog_data.
+ (preprocess_constraints, constrain_operands): Likewise.
+ * final.c (final_scan_insn, cleanup_subreg_operands): Likewise.
+ * genattrtab.c (main): Likewise.
+ * genextract.c (main): Likewise.
+ * genoutput.c: Likewise.
+ * genrecog.c (write_subroutine, main): Likewise.
+ * local-alloc.c (block_alloc): Likewise.
+ * reg-stack.c (record_asm_reg_life, subst_asm_stack_regs): Likewise.
+ * regclass.c (scan_one_insn, record_reg_classes): Likewise.
+ * regmove.c (regmove_optimize, find_matches, fixup_match_1): Likewise.
+ * reload.c (find_reloads, find_reloads_toplev): Likewise.
+ * reload1.c (maybe_fix_stack_asms, eliminate_regs_in_insn): Likewise.
+ (reload_cse_simplify_operands): Likewise.
+
+ * arc/arc.c (arc_final_prescan_insn): Likewise.
+ * arm/arm.c (note_invalid_constants, arm_final_prescan_insn): Likewise.
+ * h8300/h8300.c (notice_update_cc): Likewise.
+ * i386/i386.c (ix86_attr_length_default, ix86_agi_dependant): Likewise.
+ * i860/i860.c (output_delayed_branch, output_delay_insn): Likewise.
+ * mn10200/mn10200.c (notice_update_cc): Likewise.
+ * mn10300/mn10300.c (notice_update_cc): Likewise.
+ * romp/romp.c (update_cc): Likewise.
+ * sparc/sparc.c (check_pic): Likewise.
+ * v850/v850.c (notice_update_cc): Likewise.
+
+ * genemit.c (main): Don't declare recog_operand.
+
+Sat Sep 11 12:41:55 1999 Alex Samuel <samuel@codesourcery.com>
+
+ * ggc.h (rtvec_def): Forward declare.
+ (tree_node): Likewise.
+ (ggc_root): Define.
+ (roots): Declare.
+ (ggc_set_mark_rtx): Add prototype.
+ (ggc_set_mark_rtvec): Likewise.
+ (ggc_set_mark_tree): Likewise.
+ * ggc-simple.c (ggc_root): Don't define.
+ (roots): Don't declare.
+ (ggc_mark_rtx): Remove.
+ (ggc_mark_rtvec): Likewise.
+ (ggc_mark_tree): Likewise.
+ (ggc_mark_varray): Likewise.
+ (ggc_mark_tree_hash_table_entry): Likewise.
+ (ggc_mark_tree_hash_table): Likewise.
+ (ggc_set_mart_rtx): New function.
+ (ggc_set_mark_rtvec): Likewise.
+ (ggc_set_mark_tree): Likewise.
+ (ggc_add_root): Remove.
+ (ggc_add_rtx_root): Likewise.
+ (ggc_remove_tree_root): Likewise.
+ (ggc_add_string_root): Likewise.
+ (ggc_add_tree_varray_root): Likewise.
+ (ggc_add_tree_hash_table_root): Likewise.
+ (ggc_del_root): Likewise.
+ (ggc_mark_rtx_ptr): Likewise.
+ (ggc_mark_tree_ptr): Likewise.
+ (ggc_mark_string_ptr): Likewise.
+ (ggc_mark_tree_varray_ptr): Likewise.
+ (ggc_mark_tree_hash_table_ptr): Likewise.
+ * ggc-common.c: New file.
+ * Makefile.in (OBJS): Add ggc-common.o.
+ (ggc-common.o): List dependencies.
+
+1999-09-10 22:37 -0700 Zack Weinberg <zack@bitmover.com>
+
+ * cppalloc.c (xstrdup): Use memcpy.
+ * cpperror.c (cpp_print_containing_files): Don't use
+ cpp_notice.
+ * cpplib.c (conditional_skip): Set temp->lineno.
+ (do_endif): Make error message less obscure.
+ (if_directive_name): New function.
+ (cpp_get_token [case EOF]): Unwind the if stack and generate
+ error messages for each unterminated conditional in this file.
+ (parse_string): Do not behave differently if -traditional.
+
+Fri Sep 10 14:04:07 1999 Richard Henderson <rth@cygnus.com>
+
+ * builtins.c (expand_builtin_va_arg): Cope with an array-type
+ va_list decomposing to pointer-type.
+ * rs6000.c (rs6000_va_start) Unwrap the ARRAY_TYPE to get at fields.
+ (rs6000_va_arg): Likewise.
+
+Fri Sep 10 13:21:21 1999 Jim Wilson <wilson@cygnus.com>
+
+ * except.c (start_dynamic_handler): Compute size using
+ STACK_SAVEAREA_MODE.
+
+Fri Sep 10 16:01:23 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * protoize.c: Remove various __STDC__ and POSIX hacks. Don't
+ include directory headers. Don't define strrchr. Don't provide
+ my_* replacement functions. Prefer PTR over `pointer_type'.
+ Don't prototype system functions. Don't redefine getopt.
+
+ (shortpath, fancy_abort, notice, savestring, dupnstr, substr,
+ safe_read, safe_write, save_pointers, restore_pointers,
+ is_id_char, in_system_include_dir, directory_specified_p,
+ file_excluded_p, unexpand_if_needed, abspath, check_aux_info,
+ find_corresponding_lparen, referenced_file_is_newer,
+ save_def_or_dec, munge_compile_params, gen_aux_info_file,
+ process_aux_info_file, identify_lineno, check_source,
+ seek_to_line, forward_to_next_token_char, output_bytes,
+ output_string, output_up_to, other_variable_style_function,
+ find_rightmost_formals_list, do_cleaning, careful_find_l_paren,
+ do_processing, is_syscalls_file, rename_c_file, find_extern_def,
+ find_static_definition, connect_defs_and_decs, add_local_decl,
+ add_global_decls, needs_to_be_converted, visit_each_hash_node,
+ add_symbol, lookup, free_def_dec, find_file, reverse_def_dec_list,
+ edit_fn_declaration, edit_formals_lists, edit_fn_definition,
+ scan_for_missed_items, edit_file, string_list_cons): Add static
+ prototypes.
+ (standard_exec_prefix, target_machine, target_version,
+ default_syscalls_dir, string_list, string_list_cons, find_file,
+ do_cleaning): Constify a char*.
+ (safe_read, safe_write): Use PTR, not a char*.
+ (is_id_char): Take an int, not a char.
+ (main): Add prototype. Call return, not exit.
+
+Fri Sep 10 16:48:26 1999 Andrew Haley <aph@cygnus.com>
+
+ * tree.c (type_hash_lookup): Check for equal TYPE_ALIGN fields
+ when comparing types.
+
+Fri Sep 10 08:43:32 1999 Richard Henderson <rth@cygnus.com>
+
+ * loop.c (basic_induction_var): Typo NULL_RTX -> NULL.
+ (strength_reduce): Release the varrays from the no-bivs early exit.
+
+ * reload1.c (order_regs_for_reload): Init hard_reg_n_uses before
+ the loop over the registers.
+
+ * tree.c (save_tree_status): Set maybepermanent_firstobj NULL
+ for a new obstack.
+ (restore_tree_status): Check that instead when freeing the obstack.
+
+Wed Sep 8 16:12:04 1999 Andrew Haley <aph@cygnus.com>
+
+ * alias.c (rtx_equal_for_memref_p): Allow CONST_DOUBLEs to be used
+ as pointers.
+
+Fri Sep 10 11:58:55 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * i386.md (ashlqi3): For NON_QI_REG_P regs, use sall. Fix some
+ operand size modifiers.
+
+Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * c-common.c (c_common_nodes_and_builtins): Don't build
+ va_list_type_node.
+ * c-common.h (enum c_tree_index and related accesor macros): Remove
+ everything now declared in tree.h.
+ * c-decl.c (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+ LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, WCHAR_UNSIGNED, FLOAT_TYPE_SIZE,
+ DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Don't provide defaults.
+ (error_mark_node, void_type_node, char_type_node, integer_type_node,
+ unsigned_type_node, ptr_type_node, va_list_type_node,
+ integer_zero_node, null_pointer_node, integer_one_node): Delete.
+ (init_decl_processing): Call build_common_tree_nodes and
+ build_common_tree_nodes_2 instead of building their nodes here.
+ Don't add roots for these nodes.
+ * stor-layout.c (size_zero_node, size_one_node): Delete.
+ (set_sizetype): Make a new node for bitsizetype each time.
+ * tree.c (global_trees): New variable.
+ (init_obstacks): Add a gc root for it.
+ (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE,
+ LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE,
+ DOUBLE_TYPE_SIZE, LONG_DOUBLE_TYPE_SIZE): Provide defaults.
+ (build_common_tree_nodes): New function.
+ (fix_sizetype): New function.
+ (build_common_tree_nodes_2): New function.
+ * tree.h (enum tree_index): New.
+ (global_trees): Declare.
+ Add accessor macros for all nodes now moved to global_trees.
+ Delete their declarations.
+
+Thu Sep 9 20:15:46 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-decl.c (finish_function): When processing a nested function,
+ push and pop GC context around rest_of_compilation.
+
+Thu Sep 9 16:42:06 1999 Richard Henderson <rth@cygnus.com>
+
+ * i386.c (override_options): Remove ppro, pentium2, and p2 as aliases.
+ Default ix86_arch to PROCESSOR_I386.
+ * i386.h (CC1_CPU_SPEC): Don't add -march=foo. Remove -mno-foo.
+ (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): Delete.
+ (CPP_CPU_DEFAULT_SPEC): Define to __tune_foo__.
+ (CC1_CPU_SPEC): Make -march=foo define __foo__, and provide
+ __tune_foo__ if no -mcpu. Make -mcpu=bar define __tune_bar__.
+ (EXTRA_SPECS): Remove deleted specs.
+
+Thu Sep 9 16:03:06 1999 Richard Henderson <rth@cygnus.com>
+
+ * function.c (assign_stack_local_1): Allocate from
+ function->x_frame_offset, not frame_offset.
+
+Thu Sep 9 14:36:31 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * ggc.h (lang_cleanup_tree): Remove.
+ * gcc-simple.c (ggc_free_tree): Don't call lang_cleanup_tree.
+ * ggc-callbacks.c (lang_cleanup_tree): Remove.
+
+ * c-decl.c (finish_struct): Use ggc_alloc to allocate
+ TYPE_LANG_SPECIFIC when garbage collecting.
+ (lang_mark_tree): Mark TYPE_LANG_SPECIFIC.
+ (lang_cleanup_tree): Remove.
+
+Thu Sep 9 14:23:02 1999 Jason Merrill <jason@yorick.cygnus.com>
+
+ * defaults.h (EH_FRAME_SECTION, EH_FRAME_SECTION_ASM_OP): Define here.
+ * crtstuff.c: Not here.
+ * dwarf2out.c: Or here.
+ * libgcc2.c (__do_global_ctors, __do_global_dtors): Handle EH frame
+ info.
+
+Thu Sep 9 09:40:58 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * function.h (free_after_compilation): Remove decl parameter.
+ (free_varasm_status0: Likewise.
+ (free_emit_status): Likewise.
+ (free_stmt_status): Likewise.
+ (free_after_compilation): Likewise.
+ (init_lang_status): New variable.
+ (free_lang_status): Likewise.
+ * emit-rtl.c (free_emit_status): Make decl parameter implicit.
+ * function.c (init_lang_status): New variable.
+ (free_lang_status): Likewise.
+ (push_function_context_to): Don't set function::decl here.
+ (free_after_copmilation): Make decl parameter implicit. Call
+ free_lang_status if defined.
+ (prepare_function_start): Call init_lang_status if defined.
+ (init_function_start): Set function::decl here.
+ * profile.c (output_func_start_profiler): Don't call pushdecl
+ until we've actually started the function.
+ * stmt.c (free_stmt_status): Make decl parameter implicit.
+ * toplev.c (rest_of_compilation): Don't pass decl to
+ free_after_compilation.
+ * varasm.c (free_varasm_status): Likewise.
+
+Thu Sep 9 17:23:19 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * except.c (call_get_eh_context): Add root when allocating static
+ tree variable.
+
+Thu Sep 9 15:24:59 BST 1999 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c: Include "ggc.h".
+ (arm_add_gc_roots): New function.
+ (arm_override_options): Call it.
+ (aof_pic_entry): Add a GC root for aof_pic_label when it's allocated.
+
+ * arm.md (define_asm_attributes): Add a pool_range attribute.
+
+Thu Sep 9 12:32:57 BST 1999 Nathan Sidwell <nathan@acm.org>
+
+ * extend.texi (Volatiles): New node.
+
+Thu Sep 9 03:37:31 1999 Richard Henderson <rth@cygnus.com>
+
+ * ggc-simple.c (IS_MARKED, IGNORE_MARK): New.
+ (GGC_ANY_MAGIC, GGC_ANY_MAGIC_MARK): New.
+ (struct ggc_any): Replace `mark' with `magic_mark'.
+ (ggc_alloc_string): Use memcpy, not bcopy.
+ (ggc_alloc_any): Set magic_mark. Update bytes_alloced_since_gc.
+ (ggc_free_{rtx,rtvec,tree,string}): Mark inline.
+ (ggc_free_any): New.
+ (ggc_mark_string): Use IGNORE_MARK. Calc back to struct gcc_string.
+ (ggc_mark): Use IGNORE_MARK. Abort if magic doesn't match.
+ (ggc_collect): Re-enable collection avoidance. Use GGC_ANY_MARK.
+ Use IS_MARKED. Use ggc_free_any.
+
+1999-09-09 Scott Bambrough <scottb@netwinder.org>
+
+ * config/arm/linux-elf.h: define NO_IMPLICIT_EXTERN_C
+
+Thu Sep 9 01:55:21 1999 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (main): Always init_ggc.
+
+Wed Sep 8 23:53:22 1999 Richard Henderson <rth@cygnus.com>
+
+ * except.c (find_all_handler_type_matches): Free the list if
+ we found no matches.
+
+ * combine.c (SUBST): Break out to a real function do_SUBST.
+ (SUBST_INT): Likewise.
+ * gcse.c (free_pre_mem): Free `temp_bitmap'.
+ (pre_insert): Free `inserted'.
+ * loop.c (basic_induction_var): Always set `location'.
+
+ * function.c (expand_function_end): Add initial_trampoline as a root.
+ * rtl.h (init_varasm_once): Declare.
+ * toplev.c (compile_file): Call it.
+ * ggc-simple.c (ggc_mark_string_ptr): New.
+ (ggc_add_string_root): New.
+ (ggc_collect): Disable collection avoidance temporarily.
+ * ggc.h (ggc_add_string_root): Declare.
+ * except.c (create_rethrow_ref): Use ggc_alloc_string.
+ * optabs.c (init_libfuncs): Likewise.
+ * varasm.c (named_section): Use ggc_alloc_string.
+ (make_function_rtl): Likewise.
+ (make_decl_rtl): Likewise.
+ (assemble_static_space): Likewise.
+ (assemble_trampoline_template): Likewise.
+ (output_constant_def): Likewise.
+ (force_const_mem): Likewise.
+ (mark_const_hash_entry): New.
+ (mark_pool_sym_hash_table): New.
+ (mark_varasm_state): Use it.
+ (init_varasm_once): New.
+
+ * expr.h (init_one_libfunc): Declare.
+ * optabs.c (init_one_libfunc): New.
+ (init_optabs): Use it.
+ * config/gofast.h: Likewise.
+ * config/sparc/sol2.h (INIT_SUBTARGET_OPTABS): Likewise.
+ * config/sparc/sparc.h (INIT_TARGET_OPTABS): Likewise.
+
+Thu Sep 9 13:46:06 1999 Geoffrey Keating <geoffk@cygnus.com>
+
+ * Makefile.in (cppexp.o): Depend on cpphash.h.
+ * cppexp.c (cpp_lex): Handle `defined (xxx)' for poisoned xxx.
+ Include cpphash.h.
+ * cpphash.c (special_symbol): Handle plain `xxx' for poisoned xxx.
+ * cpplib.c (do_define): Generalise to handle poisoned definitions,
+ redefining poisoned identifiers, etc.
+ (do_undef): Don't allow poisoned identifiers to be undefined.
+ (do_pragma): Add #pragma poison.
+ (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
+
+ * cccp.c: Add T_POISON node type.
+ (special_symbol): Handle `defined(xxx)' and plain `xxx' for
+ poisoned xxx.
+ (do_define): Generalise to handle poisoned definitions,
+ redefining poisoned identifiers, etc.
+ (do_undef): Don't allow poisoned identifiers to be undefined.
+ (do_pragma): Add #pragma poison.
+ (do_xifdef): Handle `#ifdef xxx' for poisoned xxx.
+
+ * c-pragma.c (handle_pragma_token): Ignore #pragma poison.
+ * c-pragma.h: Add ps_poison state. We now always have generic
+ pragmas.
+
+Wed Sep 8 20:30:42 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * ggc.h (ggc_alloc): New function.
+ (ggc_mark): Likewise.
+ * ggc-simple.c (ggc_any): New structure.
+ (ggc_status): Add anys.
+ (n_anys_collected): New variable.
+ (ggc_alloc): Define.
+ (ggc_mark): Likewise.
+ (ggc_collect): Collect the anys.
+
+Wed Sep 8 20:15:14 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-decl.c (mark_binding_level): Make static to match prototype.
+
+Wed Sep 8 16:41:27 1999 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (new_insn_dead_notes): Don't early out for preexisting regs.
+
+Wed Sep 8 16:07:52 1999 Richard Henderson <rth@cygnus.com>
+
+ * gengenrtl.c (CONST_DOUBLE_FORMAT): Take the size REAL_ARITHMETIC
+ will use into account. Expand the max width to 5.
+ * rtl.c: Likewise.
+
+Wed Sep 8 16:01:14 1999 Richard Henderson <rth@cygnus.com>
+
+ * ggc-simple.c (ggc_free_rtx): Poison the correct amount
+ for the rtx length.
+
+Wed Sep 8 15:23:54 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.md (call value patterns): Remove the result predicates.
+
+Wed Sep 8 13:35:38 1999 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (stmp-fixinc): Remove extraneous exit 1 from
+ last change.
+
+Wed Sep 8 15:32:16 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (sbrk, malloc, calloc, realloc): Backup prototypes
+ changed from extern char *, to extern PTR. Also fix typo in
+ NEED_DECLARATION_REALLOC test.
+
+ * mips-tdump.c (malloc, calloc, realloc): Don't prototype.
+
+Wed Sep 8 11:40:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gansidecl.h (__attribute__, ATTRIBUTE_UNUSED_LABEL,
+ ATTRIBUTE_UNUSED, ATTRIBUTE_NORETURN, ATTRIBUTE_PRINTF,
+ ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2, ATTRIBUTE_PRINTF_3,
+ ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5, GENERIC_PTR): Delete.
+
+ * c-decl.c (field_decl_cmp): Use PTR instead of GENERIC_PTR.
+
+ * cccp.c (pcfinclude): Likewise.
+
+ * global.c (allocno_compare): Likewise.
+
+ * haifa-sched.c (rank_for_schedule): Likewise.
+
+ * local-alloc.c (qty_sugg_compare_1, qty_compare_1): Likewise.
+
+ * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Likewise.
+
+ * stupid.c (stupid_reg_compare): Likewise.
+
+ * tree.c (_obstack_allocated_p): Likewise.
+
+ * varray.h (varray_data_tag, VARRAY_GENERIC_PTR_INIT): Likewise.
+
+1999-09-08 Bruce Korb autogen@linuxbox.com
+
+ * gcc/ch/Makefile.in: Give the hapless gperf user a hint about
+ why "gperf -F" fails.
+ * gcc/cp/Makefile.in: ditto
+ * gcc/Makefile.in: ditto
+ * gcc/java/Makefile.in: ditto
+
+Wed Sep 8 04:43:22 1999 Richard Henderson <rth@cygnus.com>
+
+ * lists.c: Include ggc.h.
+ (zap_lists): New.
+ (init_EXPR_INSN_LIST_cache): Install it.
+
+ * ggc-simple.c (init_ggc): Absorb the old init.
+ (ggc_push_context): Use xcalloc.
+ (ggc_alloc_rtx, ggc_alloc_rtvec, ggc_alloc_tree): Likewise.
+ (ggc_collect): Add [rvts] tags to the collection stats.
+
+Wed Sep 8 11:14:25 1999 Andreas Schwab <schwab@suse.de>
+
+ * cccp.c (main): Fix handling of -include and -imacros options.
+
+Wed Sep 8 02:23:08 1999 Jeffrey A Law (law@cygnus.com)
+
+ * cpplib.c (cpp_push_buffer): Fix order of arguments.
+
+Wed Sep 8 04:44:09 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
+
+ * rtl.h (obstack_alloc_rtx): Removed, it's now static in
+ genrtl.c.
+
+Wed Sep 8 00:33:43 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
+
+ * flow.c (insn_dead_p): Use XEXP rather than SUBREG_REG.
+ * haifa-sched.c (sched_analyze_1): Use XEXP rather than SUBREG_REG
+ and SET_DEST. Update comment.
+
+Wed Sep 8 18:55:17 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.c: Include ggc.h.
+ (c4x_add_gc_roots): New function.
+ (c4x_override_options): Call c4x_add_gc_roots.
+
+Wed Sep 8 00:00:16 1999 Richard Henderson <rth@cygnus.com>
+
+ * defaults.h (TARGET_ESC): Move ...
+ * system.h: ... here, where Linas had it in the first place. Silly me.
+
+Tue Sep 7 23:46:35 1999 Linas Vepstas <linas@linas.org>
+
+ * c-common.c: Use ISGRAPH, ISLOWER, toupper.
+ * c-lex.c, cccp.c, cexp.c, cexp.y, cppexp.c, dwarf2out.c, genattr.c,
+ genattrtab.c, genemit.c, genextract.c, genpeep.c, tree.c: Likewise.
+ * system.h (IN_CTYPE_DOMAIN): Define to 1 if HOST_EBCDIC.
+ * defaults.h (TARGET_ESC): Add default.
+
+Tue Sep 7 23:36:59 1999 Linas Vepstas <linas@linas.org>
+
+ * configure.in: add i370-*-openedition, i370-*-mvs and
+ i370-*-linux targets
+
+Tue Sep 7 23:31:53 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * dsp16xxx.c: Include ggc.h
+ (override_options): Mark GC roots.
+ * mn10200.c: Include ggc.h.
+ (asm_file_start): Mark GC roots.
+ * tahoe.c: Include ggc.h.
+ (extensible_operand): Mark GC roots.
+
+Tue Sep 7 23:23:15 1999 Linas Vepstas <linas@linas.org>
+
+ * README: Add section discussing status of ELF ABI.
+ * i370.c: Fix misc spelling mistakes.
+ (i370_label_scan): Updated notes, exception handling.
+ (i370_function_prolog): Simplify ELF stack handling.
+ * i370.h: (FIXED_REGISTERS): Free up r12 for ELF.
+ (STACK_GROWS_DOWNWARD): ELF stack grows down.
+ (ASM_DECLARE_FUNCTION_NAME): Fix crazy malloc size.
+ * i370.md: (movdi): Add notes.
+ (floatsidf2): Use stack not rtca for scratch float area.
+ (iorsi3): Correct operand constraints.
+ * x-oe: Restore TAROUTOPTS which are used by pax.
+
+Tue Sep 7 22:39:18 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * rs6000.c: Include ggc.h.
+ (rs6000_add_gc_roots): New function.
+ (override_options): Call it.
+
+Tue Sep 7 22:09:03 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (alpha_compare): New.
+ (alpha_compare_op0, alpha_compare_op1, alpha_compare_fp_p): Remove.
+ * alpha.c: Likewise for the definitions.
+ (alpha_emit_conditional_branch): Update for alpha_compare.
+ (alpha_emit_conditional_move): Likewise.
+ * alpha.md (cmpdf, cmpdi): Likewise.
+ (setcc patterns): Likewise. Zero alpha_compare after use.
+ (sne): Optimize (x != 0) into (0U < x).
+
+Tue Sep 7 21:55:02 1999 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (alpha_eh_epilogue_sp_ofs): Remove.
+ (struct machine_function): Declare; add eh_epilogue_sp_ofs.
+ (INIT_EXPANDERS): Remove.
+ * alpha.c: Include ggc.h.
+ (alpha_eh_epilogue_sp_ofs, alpha_return_addr_rtx): Remove.
+ (alpha_init_machine_status, alpha_mark_machine_status): New.
+ (override_options): Install them.
+ (struct machine_function): Moved to alpha.h.
+ (alpha_save_machine_status, alpha_restore_machine_status): Remove.
+ (alpha_init_expanders): Remove.
+ (alpha_return_addr): Adjust to use current_function->machine.
+ (alpha_ra_ever_killed): Likewise.
+ (alpha_expand_epilogue): Likewise.
+ * alpha.md (eh_epilogue): Likewise.
+
+Wed Sep 8 14:34:42 1999 Ian Piumarta <piumarta@prof.inria.fr>
+ Melissa O'Neill <oneill@cs.sfu.ca>
+ Geoffrey Keating <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.c (first_reg_to_save): Don't save fixed or
+ call-used registers (call-saved registers must still be contiguous
+ and end with r31, of course).
+
+Tue Sep 7 21:41:38 1999 Richard Henderson <rth@cygnus.com>
+
+ * c-typeck.c (type_lists_compatible_p): Use simple_type_promotes_to.
+ (self_promoting_type_p): Delete.
+ (self_promoting_args_p): Move ...
+ * c-common.c: ... here.
+ (c_common_nodes_and_builtins): Initialize lang_type_promotes_to.
+ (simple_type_promotes_to): New.
+ * builtins.c (lang_type_promotes_to): New.
+ (expand_builtin_va_arg): Use it to give diagnostic for illegal types.
+ * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): Move ...
+ * c-common.h: ... here.
+ (self_promoting_args_p, simple_type_promotes_to): Declare.
+ * c-decl.c (duplicate_decls): Use simple_type_promotes_to.
+ (grokdeclarator): Likewise.
+ * tree.h (lang_type_promotes_to): Declare.
+
+Tue Sep 7 17:15:21 1999 Mark Mitchell <mark@codesourcery.com>
+
+ Add some machine-dependent GC roots.
+ * sparc.c: Include ggc.h.
+ (sparc_add_gc_roots): New function.
+ (mark_ultrasparc_pipeline_state): Likewise.
+ (override_options): Call sparc_add_gc_roots.
+ * pa.c: Include ggc.h.
+ (pa_add_gc_roots): New function.
+ (mark_deferred_plabels): Likewise.
+ (override_options): Call pa_add_gc_roots.
+ * mips.c: Include ggc.h.
+ (mips_add_gc_roots): New function.
+ (override_options): Use it.
+
+Tue Sep 7 11:39:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * cpperror.c (cpp_file_line_for_message): Constify a char*.
+
+ * cppexp.c (parse_number, parse_charconst, cpp_lex,
+ cpp_parse_expr): Add static prototypes.
+ (parse_charconst): Don't cast away const-ness.
+ (token): Constify a char*.
+
+ * cppfiles.c (file_name_list, include_hash, find_include_file,
+ finclude, initialize_input_buffer): Constify a char*.
+ (file_cleanup, find_position): Add static prototypes.
+
+ * cpphash.c (macro_cleanup, macarg, timestamp, special_symbol,
+ collect_expansion): Add static prototypes.
+ (cpp_install, create_definition, monthnames): Constify a char*.
+
+ * cpphash.h (cpp_install): Likewise.
+
+ * cppinit.c (known_suffixes, default_include,
+ dump_special_to_buffer, NAME, cpp_start_read, cpp_finish): Likewise.
+ (base_name, dump_special_to_buffer, initialize_dependency_output):
+ Add static prototypes.
+
+ * cpplib.c (my_strerror): Constify a char*.
+ (null_underflow, null_cleanup, skip_comment, copy_comment,
+ copy_rest_of_line, handle_directive, pass_thru_directive,
+ get_directive_token, read_line_number, cpp_print_file_and_line,
+ v_cpp_error, v_cpp_warning, v_cpp_error_with_line,
+ v_cpp_warning_with_line, detect_if_not_defined,
+ consider_directive_while_skipping): Add static prototypes.
+ (pass_thru_directive, check_macro_name, cpp_expand_to_buffer,
+ cpp_pedwarn_with_file_and_line): Constify a char*.
+
+ * cpplib.h (cpp_options, include_hash, progname, definition,
+ cpp_pedwarn_with_file_and_line, cpp_expand_to_buffer,
+ check_macro_name, cpp_pfatal_with_name, cpp_file_line_for_message,
+ find_include_file, deps_output, include_hash): Constify a char*.
+
+ * cppmain.c (progname): Constify.
+ (main): Add prototype. Use return, not exit.
+
+ * fix-header.c (fatal, add_symbols, lookup_std_proto, write_lbrac,
+ recognized_macro, check_macro_names, read_scan_file, write_rbrac,
+ inf_skip_spaces, inf_read_upto, inf_scan_ident, inf_scan_ident,
+ check_protection): Add static prototype.
+ (xfree): Remove.
+ (progname, recognized_macrom, recognized_extern): Constify a char*.
+ (main): Add prototype.
+
+ * gen-protos.c (progname): Constify a char*.
+
+Tue Sep 7 00:47:52 1999 Mark Mitchell <mark@codesourcery.com>
+
+ * emit-rtl.c (free_emit_status): Take decl as a parameter.
+ (init_emit_once): Add more GC roots.
+ * except.c (mark_func_eh_entry): New function.
+ (mark_eh_node): Mark false_label and rethrow_label.
+ (init_eh): Add more GC roots.
+ * function.c (free_after_compilation): Take decl as a paramter.
+ Call free_stmt_status.
+ (mark_function_state): Don't assume x_parm_reg_stack_loc is
+ non-NULL.
+ * function.h (free_after_compilation): Change prototype.
+ (free_varasm_status): Likewise.
+ (free_emit_status): Likewise.
+ (free_stmt_status): New function.
+ * ggc-simple.c (rtx, vecs, trees, strings, bytes_alloced_since_gc):
+ Remove, replacing with ...
+ (ggc_status): New structure.
+ (ggc_chain): New variable.
+ (init_gcc): Define.
+ (ggc_push_context): New function.
+ (ggc_pop_context): Likewise.
+ (ggc_alloc_rtx): Adjust for use of ggc_chain.
+ (ggc_alloc_rtvec): Likewise.
+ (ggc_alloc_tree): Likewise.
+ (ggc_alloc_string): Likewise.
+ (ggc_mark_rtx): Mark NOTE_SOURCE_FILE and NOTE_RANGE_INFO.
+ (ggc_mark_tree): Give language-dependent code a chance to mark
+ `x' nodes.
+ (ggc_mark_tree_varray): Handle empty arrays.
+ (ggc_collect): Adjust for use of ggc_chain. Clear
+ bytes_alloced_since_last_gc.
+ * ggc.h (ggc_pop_context): New function.
+ (ggc_push_context): Likewise.
+ * print-tree.c (print_node): Don't print obstacks when GC'ing.
+ * stmt.c (free_stmt_status): New function.
+ (init_stmt_for_function): Clear last_expr_value.
+ * toplev.c (rest_of_compilation): Always call free_after_compilation.
+ Conditionalize call to ggc_collect.
+ (main): Call init_ggc.
+ * tree.c (push_obstacks): Do the push, even when GC'ing.
+ (push_obstacks_nochange): Likewise.
+ (pop_obstacks): Liekwise.
+ * varasm.c (free_varasm_status): Take decl as a parameter.
+
+Tue Sep 7 08:15:49 1999 Gavin Romig-Koch <gavin@cygnus.com>
+
+ * config/mips/mips.h (MULTILIB_ENDIAN_DEFAULT) : New macro.
+ (MULTILIB_ENDIAN_DEFAULT) : Use the new macro.
+ * config/mips/elf64.h (MULTILIB_DEFAULTS) : Use the new macro.
+ * config/mips/r3900.h (MULTILIB_DEFAULTS) : Use the new macro.
+
+Tue Sep 7 03:42:45 1999 Mark Klein (mklein@dis.com)
+
+ * pa/x-pa-mpeix: New file for the MPE port.
+
+ * pa/quadlib.asm: New file for long double support.
+
+ * configure.in: Add hppa1.0-*-mpeix for MPE port.
+ * configure: Rebuilt.
+
+Tue Sep 7 10:08:40 1999 Andreas Schwab <schwab@suse.de>
+
+ * final.c (shorten_branches): Fix last change.
+
+Tue Sep 7 00:30:32 1999 Jeffrey A Law (law@cygnus.com)
+
+ * pa.h (ASM_OUTPUT_DOUBLE_INT): Delete.
+
+Mon Sep 6 22:44:47 1999 Jeffrey A Law (law@cygnus.com)
+
+ * Merge from gcc2 snapshot Jan 9, 1999. See FSFChangeLog for
+ details.
+
+Mon Sep 6 22:31:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-aux-info.c (concat): Don't define.
+
+ * cccp.c (my_strerror): Likewise. All callers changed to use
+ xstrerror instead.
+ (do_include): Call xstrdup, not xmalloc/strcpy.
+ (grow_outbuf): Don't check if xrealloc returns NULL, it can't.
+ (xmalloc, xrealloc, xcalloc, xstrdup): Don't define.
+
+ * collect2.c (my_strsignal): Likewise. All callers changed to use
+ strsignal instead.
+ (locatelib): Call xstrdup, not xmalloc/strcpy.
+
+ * 1750a.h (ASM_OUTPUT_INTERNAL_LABEL): Call xmalloc, not malloc.
+
+ * dsp16xx.c (override_options): Call xstrdup, not xmalloc/strcpy.
+
+ * i370.h (ASM_DECLARE_FUNCTION_NAME): Call xmalloc, not malloc.
+
+ * mips.c (build_mips16_call_stub): Call xstrdup, not xmalloc/strcpy.
+
+ * cppinit.c (cpp_options_init): Call xcalloc, not xmalloc/bzero.
+
+ * dwarfout.c (dwarfout_init): Call concat, not xmalloc/strcpy/...
+
+ * except.c (new_eh_region_entry): Call xmalloc/xrealloc, not
+ malloc/realloc.
+ (find_all_handler_type_matches): Likewise. Don't check return
+ value.
+ (get_new_handler, init_insn_eh_region, process_nestinfo): Call
+ xmalloc, not malloc.
+ (init_eh_nesting_info): Likewise. Call xcalloc, not xmalloc/bzero.
+
+ * gcc.c (xstrerror, xmalloc, xrealloc): Don't define.
+ (init_spec): Call xcalloc, not xmalloc/bzero.
+ (set_spec): Call xstrdup, not save_string.
+ (record_temp_file): Call xstrdup, not xmalloc/strcpy.
+ (find_a_file): Call xstrdup, not xmalloc/strcpy.
+ (process_command): Call xstrdup, not save_string.
+ (main): Call xcalloc, not xmalloc/bzero.
+
+ * gcov.c (xmalloc): Don't define.
+ (create_program_flow_graph): Call xcalloc, not xmalloc/bzero.
+ (scan_for_source_files): Call xstrdup, not xmalloc/strcpy.
+ (output_data): Call xcalloc, not xmalloc/bzero.
+
+ * haifa-sched.c (schedule_insns): Call xcalloc, not xmalloc/bzero.
+
+ * mips-tdump.c (xmalloc): Don't define.
+ (print_symbol): Call xmalloc, not malloc.
+ (read_tfile): Call xcalloc, not calloc.
+
+ * mips-tfile.c (xfree, my_strsignal, xmalloc, xcalloc, xrealloc):
+ Don't define. All callers of xfree/my_strsignal changed to use
+ free/strsignal instead.
+ (allocate_cluster): Call xcalloc, not calloc.
+
+ * objc/objc-act.c (lang_init): Call concat, not xmalloc/strcpy/...
+ Fix memory leak, free allocated memory.
+
+ * prefix.c (translate_name): Call xstrdup, not save_string.
+ (update_path): Likewise.
+
+ * profile.c (branch_prob): Call xstrdup, not xmalloc/strcpy.
+
+ * protoize.c (xstrerror, xmalloc, xrealloc, xfree, savestring2):
+ Don't define. Callers of xfree/savestring2 changed to use
+ free/concat instead.
+
+ * reload1.c (reload): Call xcalloc, not xmalloc/bzero.
+ (init_elim_table): Likewise.
+
+ * resource.c (init_resource_info): Likewise.
+
+ * stupid.c (stupid_life_analysis): Likewise.
+
+ * toplev.c (xmalloc, xcalloc, xrealloc, xstrdup): Don't define.
+ (open_dump_file): Call concat, not xmalloc/strcpy/...
+ (clean_dump_file): Likewise.
+ (compile_file): Call xstrdup, not xmalloc/strcpy.
+
+Mon Sep 6 15:04:55 1999 Richard Henderson <rth@cygnus.com>
+
+ * v850.h (EXPAND_BUILTIN_VA_ARG): New.
+ * v850.c (v850_va_arg): New.
+
+Tue Sep 7 09:36:01 1999 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * haifa-sched.c: Tidy comments.
+
+Mon Sep 6 14:30:13 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * Makefile.in (C_AND_OBJC_OBJS): Remove ggc-callbacks.o.
+ (c-parse.o, c-decl.o, c-lang.o, c-lex.o, c-common.o,
+ $(out_object_file)): Depend on ggc.h.
+ * c-common.c: Include "ggc.h".
+ (combine_strings): If doing GC, use ggc_alloc_string.
+ * c-decl.c: Include "ggc.h".
+ (ggc_p): Define with value 0.
+ (mark_binding_level): New function.
+ (init_decl_processing): Add GC roots.
+ (mark_c_function_context): New function.
+ (lang_mark_false_label_stack): New function.
+ (lang_mark_tree): New function.
+ (lang_cleanup_tree): New function.
+ * c-lang.c: Include "ggc.h".
+ (lang_init): Call c_parse_init.
+ * c-lex.c: Include "ggc.h".
+ (check_linenum): If doing GC, don't copy filenames to permanent
+ obstack.
+ * c-parse.in: Include "ggc.h".
+ (c_parse_init): New function.
+ * c-tree.h (c_parse_init, mark_c_function_context): Declare.
+ * objc/Make-lang.in (objc-parse.o): Depend on ggc.h.
+
+ * except.c (mark_eh_state): Mark more state.
+ * function.c (mark_function_state): Likewise.
+ * ggc-simple.c (ggc_alloc_rtvec): Bring in sync with non-gc version.
+ (ggc_alloc_string) [GGC_DUMP]: Fix typo.
+ * toplev.c (mark_file_stack): New function.
+ (compile_file): If doing GC, use ggc_alloc_string on input filename.
+ (main): Add root for input_file_stack.
+
+ * i386.c: Include "ggc.h".
+ (ix86_mark_machine_status): New function.
+ (override_options): Set mark_machine_status.
+
+Mon Sep 6 15:26:23 1999 Bernd Schmidt <bernds@cygnus.co.uk>
+
+ * tree.c (copy_node): Copy node contents also if doing GC.
+
Mon Sep 6 08:42:06 1999 Alexandre Oliva <oliva@dcc.unicamp.br>
* collect2.c (scan_libraries): Fix double-thinko :-).
(ggc_add_tree_hash_table_root): Likewise.
* varray.h (const_equiv_data): Use struct rtx_def *, rather than
rtx, when defining fields.
-
+
Sun Sep 5 18:57:42 1999 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
* profile.c (output_func_start_profiler): Remove apparently
nonsensical call to start_sequence.
-
+
Sun Sep 5 17:34:33 1999 Richard Henderson <rth@cygnus.com>
* clipper/clipper.c (clipper_va_start): Fix typos.
defines.
Sun Sep 5 09:31:56 1999 Richard Henderson <rth@cygnus.com>
- Bernd Schmidt <bernds@cygnus.co.uk>
+ Bernd Schmidt <bernds@cygnus.co.uk>
* integrate.c (function_cannot_inline_p): Do not inline
functions with forced labels.
Sun Sep 5 00:35:17 1999 Richard Henderson <rth@cygnus.com>
- Bernd Schmidt <bernds@cygnus.co.uk>
- Mark Mitchell <mark@codesourcery.com>
+ Bernd Schmidt <bernds@cygnus.co.uk>
+ Mark Mitchell <mark@codesourcery.com>
* Makefile.in (ggc-simple.o): Depend on varray.h.
(rtl.o): Depend on ggc.h.
(tree_cons): Likewise.
(build1): Likewise.
(type_hash_canon): Don't call obstack_free when GC'ing.
-
+
Sat Sep 4 21:52:32 1999 Richard Henderson <rth@cygnus.com>
* haifa-sched.c (schedule_block): Use next_nonnote_insn instead
of NEXT_INSN when examining speculative insns for SCHED_GROUP_P.
Sat Sep 4 20:40:19 1999 Richard Henderson <rth@cygnus.com>
- Bernd Schmidt <bernds@cygnus.co.uk>
- Mark Mitchell <mark@codesourcery.com>
+ Bernd Schmidt <bernds@cygnus.co.uk>
+ Mark Mitchell <mark@codesourcery.com>
* Makefile.in (stor-layout.o): Depend on ggc.h.
(expr.o): Depend on ggc.h.
(set_sizetype): Add gc root.
(init_stor_layout_once): New function.
* toplev.c (compile_file): Call it.
-
+
Sat Sep 4 19:26:25 1999 Richard Henderson <rth@cygnus.com>
- Bernd Schmidt <bernds@cygnus.co.uk>
+ Bernd Schmidt <bernds@cygnus.co.uk>
Mark Mitchell <mark@codesourcery.com>
* Makefile.in (tree.o): Depend on ggc.h.
* varasm.c: Include ggc.h.
(mark_pool_constant): New function.
(mark_varasm_state): New function.
-
+
Sat Sep 4 22:28:56 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* ggc-simple.c (ggc_root, ggc_collect): Wrap prototype with PROTO.
(all_time): New variable.
(compile_file): Print gc time.
(print_time): Calculate percentage of the whole.
-
+
Sat Sep 4 13:11:01 1999 Bernd Schmidt <bernds@cygnus.co.uk>
Change obstack memory management and varasm constant pool handling so
(restore_lang_status): Likewise.
(push_function_context_to): Call language-specific save function.
(pop_function_context_from): Call language-specific restore function.
-
+
Fri Sep 3 01:16:18 1999 Alasdair Baird <alasdair@wildcat.demon.co.uk>
* i386.md (movsf_1): Check REG_P before use of REGNO.
(c4x_shiftable_constant): Declare.
* config/c4x/c4x.md (loadqi_big_constant, loadhi_big_constant,
ashlqi3_noclobber): Add new patterns and associated splitters.
-
+
Fri Sep 3 16:22:17 1999 Richard Henderson <rth@cygnus.com>
* dbxout.c (dbxout_init): Use xcalloc instead of xmalloc+bzero.
scan_linker_output): Constify a char*.
(symbol_hash_newfunc, file_hash_newfunc, demangled_hash_newfunc,
do_tlink): Mark parameters with ATTRIBUTE_UNUSED.
-
+
Fri Sep 3 18:09:24 1999 Andrew Haley <aph@cygnus.com>
* config/m68k/m68kelf.h: Set USE_GAS; this makes gcc generate jbsr
- (relative) rather than jsr (absolute) subroutine call insns.
+ (relative) rather than jsr (absolute) subroutine call insns.
* config/m68k/m68k-coff.h: Ditto.
Fri Sep 3 17:24:31 1999 Richard Earnshaw <rearnsha@arm.com>
* genpeep.c (main): Conditionalize entire output on HAVE_peephole.
* flags.h (flag_peephole2): Declare.
* toplev.c: New pass peephole2. New flag -fpeephole2.
-
+
* genattrtab.c (main): Count DEFINE_PEEPHOLE2.
* gencodes.c (main): Likewise.
* genextract.c (main): Likewise.
Sat Aug 28 16:20:12 1999 Richard Henderson <rth@cygnus.com>
- * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
- sched_analyze_insn.
- (sched_analyze_1): Let add_dependence care for not adding dups.
- (sched_analyze_2): Likewise.
- (add_branch_dependences): Likewise.
+ * haifa-sched.c (sched_analyze): Clear LOG_LINKS before calling
+ sched_analyze_insn.
+ (sched_analyze_1): Let add_dependence care for not adding dups.
+ (sched_analyze_2): Likewise.
+ (add_branch_dependences): Likewise.
Sat Aug 28 15:58:16 1999 Mumit Khan <khan@xraylith.wisc.edu>
* gencheck.c: Do not define any *_CHECK1 macros.
Thu Aug 19 14:42:38 1999 Mike Stump <mrs@wrs.com>
- Mark Mitchell <mark@codesourcery.com>
+ Mark Mitchell <mark@codesourcery.com>
* c-common.c (c_get_alias_set): Fix support for poitners and
references.
ntohs.
Fri Jul 2 00:46:47 1999 Richard Henderson <rth@cygnus.com>
- Jeff Law <law@cygnus.com>
+ Jeff Law <law@cygnus.com>
* ginclude/varargs.h (va_dcl): Use word_mode for type of
__builtin_va_list.
* fixinc/fixincl.x, fixinc/fixincl.sh: Rebuilt.
Mon Jun 7 20:34:20 1999 Robert Lipe <robertlipe@usa.net>
- Jeffrey A Law (law@cygnus.com)
+ Jeffrey A Law (law@cygnus.com)
* varasm.c (assemble_start_function): Remove the function
from the pending weak decls list when we define a function.