+2001-01-05 Mike Stump <mrs@wrs.com>
+
+ * varasm.c (assemble_name): Ensure we output the stripped name.
+
+2001-01-05 Richard Henderson <rth@redhat.com>
+
+ * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
+
+Fri Jan 5 16:34:18 2001 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/lib1funcs.asm: Replace __mulsi3 routine with faster
+ version supplied by Matteo Frigo.
+
+2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpp.texi: Update for -MQ.
+ * cppinit.c (cpp_create_reader): Always create pfile->deps.
+ (cpp_cleanup): Always free pfile->deps.
+ (initialize_dependency_output): Don't create pfile->deps.
+ (cpp_handle_option): Similarly.
+ (OPT_MQ): New.
+ * gcc.c (cpp_options): Handle -MQ.
+ (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
+ * mkdeps.c (base_name): Remove.
+ (deps_init): Don't allocate vector space until it's needed.
+ (deps_free): Only free vectors if allocated.
+ (deps_add_target, deps_add_dep): Update for initial allocation.
+ (deps_add_default_target): Don't strip to the base_name.
+
+2001-01-05 DJ Delorie <dj@redhat.com>
+
+ * config/v850/v850.h (RETURN_ADDR_RTX): Define.
+ (INIT_EXPANDERS): Define.
+
+ * config/v850/v850.c (struct machine_function): Define.
+ (v850_save_machine_status): New function.
+ (v850_restore_machine_status): New function.
+ (v850_return_addr): New function.
+ (v850_init_expanders): New function.
+
+ * config/v850/v850-protos.h: Add prototypes for v850_return_addr
+ and v850_init_expanders.
+
+2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * cpplib.h (struct cpp_reader): Add help_only field.
+ * cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
+ (cpp_handle_option): Set pfile->help_only if we see -h,
+ --help, -target-help, or --version. Print version string but
+ do not set help_only if we see -v or -version. Make text
+ printed by -v match that printed by (-)-version.
+
+ * cppmain.c (main): Exit after option parsing if
+ pfile->help_only is true.
+
+ * toplev.c (independent_decode_option): Call print_version,
+ then exit, if we see --version (but not -version).
+ (print_version): Split lengthy message into two lines.
+
+2001-01-05 Nick Clifton <nickc@redhat.com>
+
+ * config/v850/v850.c (v850_encode_data_area): Use alloca to create
+ temporary string for initialisation before calling ggc_alloc_string.
+
+2001-01-06 Michael Hayes <mhayes@redhat.com>
+
+ * rtl.h (print_simple_rtl): New.
+ * print-rtl.c (print_simple_rtl): New.
+ (flag_simple): New.
+ (print_rtx): Disable printing of flags and modes, etc.,
+ if `flag_simple` nonzero.
+
+2001-01-05 Zack Weinberg <zack@wolery.stanford.edu>
+
+ * function.c (fixup_var_refs): Use push_to_full_sequence where
+ possible.
+
+2001-01-05 Michael Meissner <meissner@redhat.com>
+
+ * flags.h (flag_reorder_blocks): Add declaration.
+ (flag_rename_block): Ditto.
+
+2001-01-05 DJ Delorie <dj@redhat.com>
+
+ * function.c (reorder_blocks): Make sure the flags are all reset
+ before using them to mark blocks, else a second invocation will
+ corrupt the block chain.
+ (reorder_blocks_0): New, resets the flags.
+
+Fri Jan 5 20:34:06 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * cse.c (find_comparison_args): Stop if the argument is known to
+ be constant.
+
+2001-01-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/sh/sh.md (movdf): When splitting load into pair of
+ registers, don't clobber the register used in the address too
+ early.
+
+2001-01-05 Jeffrey Oldham <oldham@codesourcery.com>
+
+ * varasm.c (mark_constant_pool): Improve initial comments.
+ (mark_constants): Move marking of constants to mark_constant.
+ (mark_constant): New function to recursively mark all constants
+ referred to by a constant.
+
+2001-01-05 Catherine Moore <clm@redhat.com>
+
+ * dbxout.c ((dbxout_parms): Handle invisible ref where decl is a REG.
+
+2001-01-05 Phil Edwards <pme@sources.redhat.com>
+
+ * cp/lang-options.h: Bring comment in line with reality.
+ * f/lang-options.h: Likewise.
+ * java/lang-options.h: Likewise.
+ * objc/lang-options.h: Likewise.
+ * ch/lang-options.h: Likewise.
+ * f/g77.texi: And update the manual.
+
+2001-01-05 Marek Michalkiewicz <marekm@linux.org.pl>
+ Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
+ * config/avr/avr.c (avr_peep2_scratch_safe): New function.
+ * config/avr/avr.md (all peepholes that request a scratch register):
+ Call it, FAIL the peephole if not safe (in interrupt functions).
+
+2001-01-05 Mark Mitchell <mark@codesourcery.com>
+
+ * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
+
+2001-01-05 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
+ Define.
+ * builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
+ BUILT_IN_CREAL and BUILT_IN_CIMAG.
+ * c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
+ conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
+ (expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
+ BUILT_IN_CIMAG.
+ * extend.texi: Document these builtins.
+
+2001-01-05 Daniel Berlin <dberlin@redhat.com>
+
+ * c-common.c (lang_get_alias_set): Say we know nothing of
+ VECTOR_TYPE aliasing.
+
+ * dwarf2out.c (is_base_type): Handle VECTOR_TYPE properly.
+
+2001-01-05 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/mkfixinc.sh(vax-*-bsd): convert exit and atexit calls to
+ their x* equivalent versions for atexit-less systems
+ * fixinc/fixincl.c(main): do not return from main() on atexit-less
+ systems (or any other system any more).
+
+2001-01-05 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (ldmsi_postinc): Avoid use of match_dup between input and
+ output operands. Use arm_hard_register_operand for operand 4.
+ (stmsi_postinc): Similarly.
+ (ldmsi): Use arm_hard_register_operand for opernand 2.
+ (stmsi): Similarly.
+ * arm.c (arm_hard_register_operand): New function.
+ * arm-protos.h (arm_hard_register_operand): Prototype it.
+
+ * arm.h (HARD_REGNO_RENAME_OK): Define.
+
+Fri Jan 5 16:29:49 MET 2001 Jan Hubicka <jh@suse.cz>
+
+ * simplify-rtx.c (cfc_args): add "unordered" field.
+ (check_fold_consts): Set unordered field.
+ (simplify_relational_operation): Simplify the unordered
+ comparisons.
+
+ * reg-stack.c (swap_rtx_condition): Ensure that the transformation
+ is valid.
+
+ * emit-rtl.c (try_split): Fix code to mark labels.
+ * jump.c (mark_jump_label): Make global.
+ * rtl.h (mark_jump_label): Declare.
+
+ * predict.c (estimate_probability): Handle unordred comparisons.
+
+2001-01-05 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpp.texi: Update for -MP. Clarify behaviour of -MT.
+ * cppinit.c (initialize_dependency_output): Update.
+ (cpp_finish): Output dummy targets for -MP.
+ (OPT_MP): New.
+ (cpp_handle_option): Handle -MP. Don't quote -MT options.
+ * cpplib.h (struct cpp_options): Add deps_phony_targets.
+ * gcc.c (cpp_options): Update to handle -MP.
+ * mkdeps.c (deps_add_target, deps_add_default_target): Update
+ to quote only the default target.
+ (deps_phony_targets): Insert a preceding newline. Rename from
+ deps_dummy_targets for consistency.
+ * mkdeps.h: Update
+
+2001-01-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * calls.c (emit_library_call_value_1): Support
+ INIT_CUMULATIVE_LIBCALL_ARGS.
+ * tm.texi (INIT_CUMULATIVE_LIBCALL_ARGS): Document it.
+
+2001-01-04 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (finish_struct): Detect flexible array members
+ used in an inappropriate context.
+ * c-typeck.c (really_start_incremental_init): Special case
+ constructor_max_index for zero length arrays.
+ (pop_init_level): Allow initialization of flexible array
+ members. Deprecate initialization of zero length arrays.
+ Don't issue missing initializer warning for flexible array
+ members or zero length arrays.
+ (process_init_element): Don't dereference null DECL_SIZE.
+ * varasm.c (array_size_for_constructor): Return a HOST_WIDE_INT.
+ Don't abort for empty constructors. Use size_binop
+ (output_constructor): Add commentary regarding zero length
+ array futures. Abort if we try to initialize an array of
+ unspecified length with a non-empty constructor in the middle
+ of a structure.
+
+ * extend.texi (Zero Length): Update and clarify documentation
+ on static initialization.
+
+2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.c (c4x_expand_prologue): Don't compile an ISR
+ with more than 32767 words of local storage.
+
+2001-01-05 Michael Hayes <m.hayes@elec.canterbury.ac.nz>
+
+ * config/c4x/c4x.c (c4x_init_builtins): Remove builtin support
+ for 'abs', 'labs', and 'fabs'.
+ (c4x_expand_builtin): Likewise.
+ * config/c4x/c4x.h (enum c4x_builtins): Likewise.
+
+2001-01-05 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/sh/sh.md (prget, prset): New insn types.
+ (return delay slot): Dont' allow prset.
+ (call, sfunc delay slot): Don't allow prget.
+ (movsi_i, movsi_ie, movsi_i_lowpart): Create separate alternatives
+ for prset and prget.
+
+2001-01-05 Michael Hayes <mhayes@redhat.com>
+
+ * loop.h (struct loop_reg): New.
+ (struct loop_regs): Change to use array of `struct loop_reg'.
+ * loop.c: Replace assortment of varrays with single regs array.
+ (count_one_set): Delete may_not_move array argument
+ and use regs array instead. All caller's changed.
+ (count_loop_regs_set): Delete may_not_move and single_usage
+ arguments and use regs array instead. All caller's changed.
+ (find_single_use_in_loop): Replace usage array argument with pointer
+ to regs structure. All caller's changed.
+ (loop_optimize): Delete `moved_once' array.
+
+2001-01-05 Michael Hayes <mhayes@redhat.com>
+
+ * loop.c (prescan_loop): Set loop_info->has_nonconst_call.
+ Use it instead of loop_info->has_call for scanning loop mems.
+ (check_dbra_loop): Replace loop_info->has_call test with
+ loop_info->has_nonconst_call.
+
+2000-01-04 Matthew Hiller <hiller@redhat.com>
+
+ * config/sh/sh.h (EPILOGUE_USES): Recognize fpscr as epilogue-used
+ for TARGET_SH3E.
+
+2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * fold-const.c (fold): When folding a CONJ_EXPR of a COMPLEX_CST,
+ use TREE_REALPART and TREE_IMAGPART instead of TREE_OPERAND.
+
+2001-01-04 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (SIZE_TYPE, WCHAR_TYPE): Define.
+ (flag_short_double, flag_short_wchar): Define.
+ (c_common_nodes_and_builtins): Create many tree nodes shared
+ between C and C++ here instead of in cp/decl.c and ...
+ * c-decl.c (init_decl_processing): ... here.
+ (SIZE_TYPE, WCHAR_TYPE): Don't define.
+ (flag_short_double, flag_short_wchar): Don't define.
+ (record_builtin_type): New function.
+ (build_void_list_node): New function.
+ * c-common.h (flag_short_double, flag_short_wchar,
+ record_builtin_type, build_void_list_node): Declare.
+
+Thu Jan 4 21:09:47 2001 J"orn Rennecke <amylaar@redhat.com>
+
+ * integrate.c (expand_inline_function): Don't put a virtual
+ register into the reg map.
+
+ * function.c (fixup_var_refs_1): If force_operand didn't put
+ the address into the target, move it there.
+
+2001-01-04 Mark Mitchell <mark@codesourcery.com>
+
+ Special-case tree_decl/tree_list allocations.
+ * ggc-page.c (OBJECT_PER_PAGE): Reimplement.
+ (OBJECT_SIZE): New macro.
+ (NUM_EXTRA_ORDER): Likewise.
+ (extra_order_size_table): New variable.
+ (NUM_ORDERS): New macro.
+ (objects_per_page_table): New variable.
+ (object_size_table): New variable.
+ (G.pages): Use NUM_ORDERS to bound the array.
+ (G.page_tails): Likewise.
+ (DIV_ROUND_UP): Remove.
+ (BITMAP_SIZE): Use CEIL, instead of DIV_ROUND_UP.
+ (alloc_page): Use OBJECT_SIZE.
+ (size_lookup): Don't make it const.
+ (ggc_alloc): Use OBJECT_SIZE.
+ (ggc_set_mark): Likewise.
+ (ggc_get_size): Likewise.
+ (init_ggc): Set up the object_size_table, objects_per_page_table,
+ and adjust size_lookup.
+ (ggc_recalculate_in_use_p): Use CEIL, not DIV_ROUND_UP.
+ (ggc_pop_context): Use NUM_ORDERS.
+ (clear_marks): Likewise.
+ (sweep_pages): Likewise.
+ (poison_pages): Likewise.
+ (ggc_print_statistics): Use OBJECT_SIZE.
+
+Thu Jan 4 15:54:05 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * varasm.c (output_constructor): Use HOST_WIDE_INT for sizes.
+ Only call array_size_for_constructor if last field and array type
+ with no upper bound.
+
+2001-01-04 Philip Blundell <philb@gnu.org>
+
+ * config/arm/arm.c (arm_gen_constant): Prefer to emit constants
+ from bit 31 downwards, if this requires no more insns.
+ (count_insns_for_constant): New helper function for above.
+
+2001-01-04 Alexandre Oliva <aoliva@redhat.com>
+
+ * gencodes.c (output_predicate_decls): Remove empty initializer.
+
+2001-01-04 Mark Mitchell <mark@codesourcery.com>
+
+ * tree.c (copy_node): Remove documentation about obstacks.
+ (buidl1): Check that nobody tries to build 2-argument nodes this
+ way.
+
+2001-01-04 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sparc.h (PREDICATE_CODES): Delete fp_sethi_p, fp_mov_p and
+ fp_high_losum_p.
+
+ * gencodes.c (output_predicate_decls): Fill empty initializer
+ braces.
+
+2001-01-04 Jakub Jelinek <jakub@redhat.com>
+
+ * tradcpp.c (deps_file, print_deps_missing_files): New variables.
+ (main): Handle -MG, -MD, -MMD. Bail out if -MG is given without -M
+ or -MM.
+ (do_include): Handle missing headers like cpp0.
+ * cppfiles.c (_cpp_execute_include): Don't prefix absolute header
+ paths with first include pathname. Don't strcat to uninitialized
+ string.
+
+2001-01-04 Bernd Schmidt <bernds@redhat.com>
+
+ * regrename.c (regrename_optimize): Don't rename from frame pointer
+ if frame_pointer_needed.
+ (do_replace): Don't set ORIGINAL_REGNO to a hard register number.
+ * config/ia64/ia64.c (emit_all_group_insn_barriers): New function.
+ (ia64_reorg): Use it instead of scheduling if ! optimize.
+ (errata_emit_nops): Properly call asm_noperands.
+ (ia64_sched_reorder): Finish cycle if we see an asm.
+ (ia64_variable_issue): Clear scheduling state after asms.
+
+2001-01-04 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpp.texi: Update for -MT.
+ * cppinit.c (initialize_dependency_output): Add a default
+ target if none has been given already.
+ (no_tgt, OPT_MT): New.
+ (cpp_handle_option): Handle -MT. Update -M etc.
+ * cpplib.h (struct cpp_options): Remove deps_target.
+ * gcc.c (cpp_options): Handle -MT.
+ * mkdeps.c (struct deps): Move from mkdeps.h.
+ (deps_calc_target): Rename deps_add_default_target. Add a
+ default target if none has been specified already.
+ * mkdeps.h (struct deps): Move to mkdeps.c.
+ (deps_calc_target): Rename deps_add_default_target.
+
+2000-01-03 Richard Henderson <rth@redhat.com>
+
+ * c-decl.c (grokdeclarator): Give zero-length arrays size zero.
+ Remove dead code.
+ * c-typeck.c (push_init_level): Move checks for flexible array
+ members and zero length arrays ...
+ (pop_init_level): ... here. Silently discard empty initializations.
+ Remove dead code.
+ * varasm.c (output_constructor): Update for sizeof change to
+ zero-length arrays.
+
+ * extend.texi (Zero Length): Clarify semantics.
+
+2001-01-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * configure.in (tm.h): Include isns-codes.h last.
+ * configure: Rebuilt.
+
+2001-01-03 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (addvsi3, addvdi3): New.
+ (negvsi2, negvdi2, subvsi3, subvdi3, mulvsi3, mulvdi3): New.
+
+2001-01-03 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * tradcpp.c (main): Make sure finclude() is called with a valid
+ indepth value while handling -include.
+
+2001-01-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * gencodes.c (output_predicate_decls): New function.
+ (main): Call it.
+ * machmode.h (GET_MODE_MASK): Arrange for it to be defined
+ even if it is not the first time machmode.h is #included.
+ * config/sh/sh.c (fpul_operand): Declare MODE argument.
+ * tm.texi (PREDICATE_CODES): Document predicate declarations.
+ * gcc.texi (Copyright): Added 2001.
+
+2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (c_common_lang_init): New function. Warn if format
+ warning options which only have effects when used with -Wformat
+ are used without -Wformat.
+ * c-common.h (c_common_lang_init): Declare.
+ * c-lang.c (lang_init): Call c_common_lang_init.
+ * objc/objc-act.c (lang_init): Call c_common_lang_init.
+
+2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * configure.in: Check for the mktemp command.
+ * configure: Regenerate.
+ * gccbug.in: Use a separate temporary file $TEMP0 for one use of
+ $TEMP. Create temporary files with mktemp, if available at
+ configure time; otherwise use set -C. Remove temporary files
+ before exit.
+
+2001-01-03 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * configure.in: Require at least texinfo 4.0. Check for whether
+ Pod::Man is sufficiently recent to regenerate GCC manpages.
+ * configure: Regenerate.
+ * Makefile.in (TEXI2POD): Call perl explicitly rather than relying
+ on #!.
+ (GENERATED_MANPAGES): Define.
+ (generated-manpages): New target. Depend on cpp.1 as well as
+ gcov.1.
+ (install-man): Depend on $(GENERATED_MANPAGES) (defined by
+ configure to generated-manpages or empty) rather than on the
+ manpages directly. Remove execute permission from installed
+ gcov.1 as well as cpp.1.
+ * cpp.1, gcov.1: Regenerate.
+
+2001-01-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (expand_builtin_strncmp): Use host_integerp and
+ tree_low_cst. Allow using cmpstrsi in more cases.
+
+Wed Jan 3 10:48:43 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for variable
+ sized types.
+
+Wed Jan 3 12:22:32 2001 Alexandre Oliva <aoliva@redhat.com>
+
+ * build-make (HOST_CFLAGS): Added `-DGENERATOR_FILE'.
+ * Makefile.in (HOST_CFLAGS): Mention build-make.
+
Wed Jan 3 08:53:50 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* config/sparc/sparc.md (nonlocal_goto): Emit goto_handler_and_restore
* cse.c (cse_rtx_varies_p): Accept additional FROM_ALIAS arg. All
callers changed.
+ * alias.c (throughout): Use ORIGINAL_REGNO when accessing
+ reg_base_value and reg_known_value arrays.
+ (init_alias_analysis): Add more cases to detect known values.
+ * sched-deps.c (deps_may_trap_p): New function.
+ (sched_analyze_2): Use it.
+
2001-01-03 Alexandre Oliva <aoliva@redhat.com>
* combine.c (simplify_shift_const): Even if we're sign-extracting,