+2004-02-10 Paolo Bonzini <bonzini@gnu.org>
+
+ PR c/14092
+ * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
+ negate_expr back to the original type.
+
+2004-02-10 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
+ bump retaddr here.
+
+2004-02-10 Paolo Bonzini <bonzini@gnu.org>
+
+ * rtl.h (schedule_insns, schedule_ebbs, fix_sched_param,
+ gen_lowpart_SUBREG): Move under the file in which they
+ are actually declared.
+
+2004-02-10 Arnaud Charlet <charlet@act-europe.fr>
+
+ * doc/sourcebuild.texi: Add libada documentation.
+
+ * doc/install.texi: Update documentation on Ada build, now
+ that the GNAT lib and tools are built automatically.
+
+2004-02-10 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
+ && TARGET_IRIX.
+
+2004-02-09 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (get_super_receiver): Move '#ifdef OBJCPLUS'
+ boundaries outside build_component_ref() call (a macro in ObjC++).
+
+2004-02-09 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
+ (init_cumulative_args): Likewise.
+ (a7_overlap_mentioned_p): Delete prototype.
+ * config/xtensa/xtensa.c (struct machine_function): Replace
+ incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
+ Add set_frame_ptr_insn field.
+ (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
+ (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
+ if the operand is an argument in a7. If so, copy a7 to a new pseudo
+ at the function entry and replace the operand with the pseudo.
+ (init_cumulative_args): Remove unused arguments. Add new "incoming"
+ argument and record this flag in CUMULATIVE_ARGS.
+ (function_arg): Remove result_mode and special-case code to handle
+ arguments in a7. Instead, set need_a7_copy flag when there is an
+ incoming argument in a7.
+ (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
+ and use the value recorded in cfun->machine->set_frame_ptr_insn.
+ (xtensa_builtin_saveregs): Check for negative gp_left value. Set
+ need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
+ special-case code.
+ (a7_overlap_mentioned_p): Delete.
+ * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
+ (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
+ arguments to init_cumulative_args and pass "incoming" flag instead.
+ (BLOCK_REG_PADDING): Delete.
+ * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
+ checks for reload_in_progress and reload_completed. Update calls to
+ xtensa_copy_incoming_a7.
+ (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
+ to call xtensa_copy_incoming_a7.
+
+2004-02-09 DJ Delorie <dj@redhat.com>
+
+ * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
+ longer modify standard_exec_prefix, standard_bindir_prefix, or
+ standard_startfile_prefix.
+
+2004-02-09 James E Wilson <wilson@specifixinc.com>
+
+ PR c++/11295
+ * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
+ to expand_expr_real call, and pass in alt_rtl as last argument.
+
+ PR libstdc++/5625
+ * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
+ * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
+ * builtins.def (BUILT_IN_EXTEND_POINTER): New.
+ * except.c (expand_builtin_extend_pointer): New.
+ * except.h (expand_builtin_extend_pointer): Declare.
+
+2004-02-09 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_emit_move): Remove splitting slow
+ unaligned loads and stores.
+
+2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
+ * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
+
+ * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
+ * config/mips/iris5.h: ... here.
+ * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
+
+ * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
+ * config/mips/iris5.h: ... here.
+
+2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * configure.ac: Remove default executable files before AC_PROG_CC.
+ * configure: Regenerate.
+
+2004-02-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ PR target/13721
+ * config/h8300/h8300.c (byte_reg): Call abort() if asked to
+ print a operand other than a register.
+
+2004-02-09 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
+ tree code rather than call fold_convert, which doesn't specify a
+ default floating point to integer conversion.
+
+2004-02-08 Bernardo Innocenti <bernie@develer.com>
+
+ * config/m68k/m68k.c, config/m68k/m68k.md (SGS, SGS_CMP_ORDER): Remove
+ code to support SGS assembler. Reformat adjacent code where possible.
+ * config/m68k/m68k.c (switch_table_difference_label_flag): Remove
+ definition.
+ * config/m68k/m68k.h (PRINT_OPERAND_PUNCT_VALID_P): Remove support
+ for '%#'.
+ * config/m68k/linux.h, config/m68k/m68k.c,
+ * config/m68k/math-68881.h: Replace `%#' with `#' in inline asm
+ macros and asm_printf() format strings.
+ * config/m68k/m68kelf.h (ASM_OUTPUT_CASE_END): Remove macro definition.
+ * config/m68k/linux.h: Update copyright.
+ * config/m68k/linux.h, config/m68k/m68k.c: Remove traling whitespace.
+
+2004-02-08 Andreas Schwab <schwab@suse.de>
+ Bernardo Innocenti <bernie@develer.com>
+
+ * config/m68k/m68k.h (REGISTER_NAMES): Prefix each name with
+ REGISTER_PREFIX.
+ * (M68K_FP_REG_NAME): New macro to specify an alternate name for the
+ frame pointer register, overridable by OS targets.
+ * (M68K_REGNAME): Macro to obtain register name for asm output,
+ eventually replacing %a6 with M68K_FP_REG_NAME.
+ * config/m68k/coff.h (REGISTER_NAMES): Don't redefine.
+ * config/m68k/linux.h (REGISTER_NAMES): Likewise.
+ * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+ * config/m68k/netbsd-elf.h (REGISTER_NAMES): Likewise.
+ * config/m68k/m68k.c: Use M68K_REGNAME(x) in place of reg_names[x].
+
+2004-02-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * target-def.h (TARGET_STRUCT_VALUE_RTX): Define as
+ hook_rtx_tree_int_null.
+ * targhooks.c (default_struct_value_rtx): Remove.
+ * targhooks.h: Remove the prototype for
+ default_struct_value_rtx.
+ * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
+ config/fr30/fr30.c, config/h8300/h8300.c, config/i386/i386.c,
+ config/ip2k/ip2k.c, config/iq2000/iq2000.c,
+ config/m32r/m32r.c, config/mcore/mcore.c, config/mips/mips.c,
+ config/mn10300/mn10300.c, config/pdp11/pdp11.c,
+ config/rs6000/rs6000.c, config/s390/s390.c,
+ config/stormy16/stormy16.c, config/v850/v850.c,
+ config/xtensa/xtensa.c (TARGET_STRUCT_VALUE_RTX): Remove.
+ * doc/tm.texi (TARGET_STRUCT_VALUE_RTX): Document the default.
+
+2004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * README.Portability: Change "ISO C89" to "ISO C90".
+ * c-parse.in (primary, initelt): Likewise.
+
+2004-02-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * real.c (encode_ibm_extended): Normalize the input value before
+ converting it to a double. Handle the case where a normal value
+ rounds to infinity.
+
+2004-02-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
+ warning.
+ * cse.c (preferrable): Change to preferable. Update all of its
+ callers.
+ * genautomata.c (ainsn): Change
+ first_ainsn_with_given_equialence_num to
+ first_ainsn_with_given_equivalence_num. Update all of its
+ references.
+
+2004-02-08 Jan Hubicka <jh@suse.cz>
+
+ * schedule-ebb.c (schedule_ebbs): Do not allocate reg life data.
+
+2004-02-07 David Edelsohn <edelsohn@gnu.org>
+
+ * function.c (assign_parms): Fix formatting.
+
+2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * default.h (PROMOTE_PROTOTYPES): Remove.
+ * system.h (PROMOTE_FUNCTION_RETURN, PROMOTE_PROTOTYPES,
+ STRUCT_VALUE_REGNUM, SETUP_INCOMING_VARARGS,
+ EXPAND_BUILTIN_SAVEREGS): Poison.
+ * target-def.h (TARGET_PROMOTE_FUNCTION_RETURN): Define as
+ hook_bool_tree_false.
+ (TARGET_PROMOTE_PROTOTYPES): Likewise.
+ * target.h: Replace SETUP_INCOMING_VARARGS with
+ targetm.calls.setup_incoming_varargs().
+ * targhooks.c (default_promote_function_return): Remove.
+ (default_promote_prototypes): Likewise.
+ (default_struct_value_rtx): Always abort().
+ (default_expand_builtin_saveregs): Always print an error
+ message.
+ (default_setup_incoming_varargs): Do nothing.
+ (default_pretend_outgoing_varargs_named): Don't depend on
+ SETUP_INCOMING_VARARGS.
+ * targhooks.h: Remove the prototype for
+ default_promote_function_return and
+ default_promote_prototypes.
+
+2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * system.h (SHARED_SECTION_ASM_OP): Poison.
+ * varasm.c (data_section): Don't use SHARED_SECTION_ASM_OP.
+ * doc/tm.texi (SHARED_SECTION_ASM_OP): Remove.
+
+2004-02-07 Zack Weinberg <zack@codesourcery.com>
+
+ Bug 13856
+ * c-decl.c (diagnose_mismatched_decls): Only give special
+ treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
+ is also true.
+ (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
+ DECL_FUNCTION_CODE when defining a built-in function.
+ Don't update DECL_ESTIMATED_INSNS.
+ * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
+ FUNCTION_DECLs.
+ * tree.h: Delete DECL_ESTIMATED_INSNS.
+ * tree-inline.c (struct inline_data): Delete inlined_insns field.
+ (expand_call_inline, optimize_inline_calls): Don't update
+ DECL_ESTIMATED_INSNS nor inlined_insns.
+ * cgraphunit.c (cgraph_analyze_function): Don't update
+ DECL_ESTIMATED_INSNS.
+
+2004-02-07 Zack Weinberg <zack@codesourcery.com>
+
+ * c-common.c (shadow_warning): Delete.
+ * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
+ * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
+ * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
+ * c-parse.in (free_parser_stacks): Delete.
+
+2004-02-07 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in, config/t-slibgcc-darwin, config/t-slibgcc-elf-ver,
+ config/t-slibgcc-sld, config/mips/t-iris5-6, config/sh/t-linux:
+ Use the top level mkinstalldirs, not the one in the gcc subdir.
+ * mkinstalldirs: Remove (from the gcc subdir).
+
+2004-02-07 Roger Sayle <roger@eyesopen.com>
+
+ PR middle-end/13696
+ * fold-const.c (fold_convert): New function to provide type
+ conversion to the middle-end without using convert.
+ (negate_expr, associate_trees, size_diffop, omit_one_operand,
+ operand_equal_for_comparison_p, pedantic_omit_one_operand,
+ invert_truthvalue, optimize_bit_field_compare, range_binop,
+ decode_field_reference, make_range, build_range_check, unextend,
+ fold_truthop, extract_muldiv_1, fold_mathfn_compare,
+ fold_binary_op_with_conditional_arg, fold_inf_compare,
+ fold_single_bit_test, fold, multiple_of_p): Replace all calls to
+ convert with calls to fold_convert.
+
+2004-02-07 Jan Hubicka <jh@suse.cz>
+
+ * genrecog.c (find_operand): add extra argument stop.
+ (validate_pattern): Verify that mach_dup is duplicating operand
+ defined lexically earlier.
+
+2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config.gcc: Don't mention MAX_LONG_TYPE_SIZE.
+ * system.h (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Poison.
+ * config/avr/avr.h, config/h8300/h8300.h, config/i386/i386.h,
+ config/ia64/ia64.h, config/ip2k/ip2k.h,
+ config/iq2000/iq2000.h, config/mips/iris5.h,
+ config/mips/mips.h, config/pa/pa-64.h, config/pa/pa.h,
+ config/rs6000/aix51.h, config/rs6000/aix52.h,
+ config/rs6000/darwin.h, config/rs6000/rs6000.h,
+ config/s390/s390.h, config/sh/sh.h, config/sparc/freebsd.h,
+ config/sparc/linux.h, config/sparc/linux64.h,
+ config/sparc/netbsd-elf.h, config/sparc/sparc.h,
+ config/xtensa/xtensa.h: Remove the definitions of
+ MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE, and/or
+ MAX_WCHAR_TYPE_SIZE.
+ * doc/tm.texi (MAX_LONG_TYPE_SIZE, MAX_LONG_DOUBLE_TYPE_SIZE,
+ MAX_WCHAR_TYPE_SIZE, GCOV_TYPE_SIZE): Remove.
+
+2004-02-07 Stephane Carrez <stcarrez@nerim.fr>
+
+ PR bootstrap/13990
+ * config/m68hc11/m68hc11.md ("doloop_end"): Pass dummy arguments to
+ gen_rtx_NE.
+
+2004-02-07 Josef Zlomek <zlomekj@suse.cz>
+
+ * var-tracking.c (vt_add_function_parameters): Surround checkings by
+ #ifdef ENABLE_CHECKING and #endif.
+
+2004-02-07 Roger Sayle <roger@eyesopen.com>
+
+ * fold-const.c (negate_expr_p, negate_expr): Optimize -(A+B) into
+ either (-A)-B or (-B)-A, if A or B is easily negated respectively.
+ (fold) <MINUS_EXPR>: Optimize (A*C) - (B*C) -> (A-B)*C for both
+ integer types and floating point with unsafe_math_optimizations.
+ Add similar optimization for (A*C1) - (A*C2) -> A*(C1-C2).
+ Optimize A - B as A + (-B), if B is easily negated.
+
+2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-ppoutput.c, cfganal.c, diagnostic.h, print-rtl.c,
+ config/darwin.c, config/darwin.h, config/ia64/ia64-c.c,
+ config/m32r/linux.h, config/rs6000/ppc64-fp.c,
+ config/sparc/openbsd.h, doc/makefile.texi, doc/passes.texi:
+ Update copyright.
+
+2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-ppoutput.c, var-tracking.c: Fix comment typos.
+
+2004-02-06 James E Wilson <wilson@specifixinc.com>
+
+ * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
+ glibc 2.3 or better.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/tm.texi (TARGET_FLOAT_LIB_COMPARE_RETURNS_BOOL): Change
+ to FLOAT_LIB_COMPARE_RETURNS_BOOL.
+
+2004-02-07 Alan Modra <amodra@bigpond.net.au>
+
+ * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
+ (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
+ (SHLIB_MKMAP_OPTS): Delete.
+ (TARGET_LIBGCC2_CFLAGS): Add -specs.
+ (bispecs): Add rule.
+ * config/rs6000/libgcc-ppc64.ver: New file.
+ * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
+ (__floatdidf, __floatdisf): Optimize multiply.
+ (__fixunstfdi): New function.
+ * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
+ real and imag parts larger than one register.
+ (function_arg): Correct type of reg used when fp arg split partially
+ to stack.
+ * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
+ and __MACH__ or __powerpc64__.
+
+2004-02-06 Roger Sayle <roger@eyesopen.com>
+ Ulrich Weigand <uweigand@de.ibm.com>
+
+ * builtins.c (expand_builtin_signbit): Use extract_bit_field instead
+ of gen_highpart or gen_lowpart when the floating point format is
+ wider than the result mode.
+
+2004-02-06 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * dwarf2out.c (loclabel_num): Move into #ifdef
+ DWARF2_DEBUGGING_INFO.
+
+2004-02-06 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (build_super_template) the 'class' field of
+ 'struct _objc_super' shall be named 'super_class' #ifdef OBJCPLUS.
+ (get_super_receiver): Likewise.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c (check_eliminable_occurrences): Optimize the reset
+ of can_eliminate.
+ (eliminate_regs_in_insn): Likewise.
+
+2004-02-06 Daniel Berlin <dberlin@dberlin.org>
+ Josef Zlomek <zlomekj@suse.cz>
+
+ * dwarf2out.c (struct gcc_debug_hooks): Call dwarf2out_begin_function
+ at the beginning of function, call dwarf2out_var_location for
+ NOTE_INSN_VAR_LOCATION note.
+ (struct var_loc_node, struct var_loc_list_def, loclabel_num,
+ decl_loc_table): New.
+ (lookup_decl_loc): New function.
+ (add_var_loc_to_decl): New function.
+ (based_loc_descr): Added parameter can_use_fbreg, DW_OP_fbreg is used
+ only if can_use_fbreg.
+ (mem_loc_descriptor): Added parameter can_use_fbreg, pass it to other
+ functions.
+ (loc_descriptor): Likewise. Process VAR_LOCATION.
+ (concat_loc_descriptor): Call loc_descriptor with can_use_fbreg == true.
+ (loc_descriptor_from_tree): Call mem_loc_descriptor with
+ can_use_fbreg == true.
+ (add_location_or_const_value_attribute): Added parameter enum
+ dwarf_attribute attr, generate attribute ATTR. Create the location list.
+ (add_bound_info): Call loc_descriptor with can_use_fbreg == true.
+ (gen_formal_parameter_die): Call add_location_or_const_value_attribute
+ with attr == DW_AT_location.
+ (gen_subprogram_die): Generate the location list for DW_AT_frame_base
+ if frame_base_decl is defined and has a location list.
+ (gen_variable_die): Call add_location_or_const_value_attribute with
+ attr == DW_AT_location.
+ (dwarf2out_var_location): New function.
+ (dwarf2out_begin_function): New function.
+ (dwarf2out_init): Create decl_loc_table.
+
+2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * loop.c (force_movables): Transitively increase the priorities of
+ all insns forces by an insn, not just the first one.
+
+2004-02-06 Josef Zlomek <zlomekj@suse.cz>
+ Daniel Berlin <dberlin@dberlin.org>
+
+ Josef Zlomek <zlomekj@suse.cz>
+ * Makefile.in (var-tracking.o): New.
+ * common.opt (fvar-tracking): New.
+ * flags.h (flag_var_tracking): New.
+ * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added.
+ * opts.c (common_handle_option): Add OPT_fvar_tracking.
+ * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added.
+ * rtl.c (note_insn_name): Likewise.
+ * rtl.def (VAR_LOCATION): New.
+ * rtl.h (NOTE_VAR_LOCATION): New.
+ (NOTE_VAR_LOCATION_DECL): New.
+ (NOTE_VAR_LOCATION_LOC): New.
+ (enum insn_note): NOTE_INSN_VAR_LOCATION was added.
+ (variable_tracking_main): New exported function.
+ * timevar.def (TV_VAR_TRACKING): New.
+ * toplev.c (enum dump_file_index): Added DFI_vartrack.
+ (dump_file): "vartrack" was added (-dV).
+ (flag_var_tracking): New.
+ (f_options): "var-tracking" was added.
+ (rest_of_handle_variable_tracking): New function.
+ (rest_of_compilation): Run variable tracking.
+ (process_options): If user has not specified flag_var_tracking set it
+ according to optimize, debug_info_level and debug_hooks.
+ * tree.h (frame_base_decl): New.
+ * var-tracking.c: New file.
+ * config/ia64/ia64.c (ia64_flag_var_tracking): New variable.
+ (ia64_override_options): Set flags to run variable tracking in machine
+ dependent reorg instead of toplev.c.
+ (ia64_reorg): Run variable tracking if wanted.
+ * doc/invoke.texi: Mention variable tracking in -dV,
+ add and -fvar-tracking.
+ * doc/passes.texi: Added variable tracking pass.
+
+ Daniel Berlin <dberlin@dberlin.org>
+ * debug.h (struct gcc_debug_hooks): Added var_location debug hook.
+ * dbxout.c (dbx_debug_hooks): Likewise.
+ (xcoff_debug): Likewise.
+ * debug.c (do_nothing_debug_hooks): Likewise.
+ * dwarf2out.c (dwarf2_debug_hooks): Likewise.
+ * dwarfout.c (dwarf_debug_hooks): Likewise.
+ * sdbout.c (sdb_debug_hooks): Likewise.
+ * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
+ * final.c (final_scan_insn): Call var_location debug hook for each
+ NOTE_INSN_VAR_LOCATION.
+
+2004-02-06 Jan Hubicka <jh@suse.cz>
+
+ * flow.c (update_life_info): Allocate reg_deaths when called from
+ scheudler.
+ (attempt_auto_inc): Update life ranges accordingly.
+
+2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ PR debug/11816
+ * dwarf2out.c (gen_decl_die): Handle anonymous struct members.
+
+2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * cfganal.c (flow_call_edges_add): Never split a libcall block.
+
+2004-02-06 Daniel Berlin <dberlin@dberlin.org>
+
+ * dwarf2out.c (output_loc_list): Don't use deltas if we have
+ a separate line info table in use.
+ Use the correct size for terminators.
+ (output_die): Use offset, not delta.
+
+2004-02-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/invoke.texi: Remove the pni option from -mfpmath=.
+
+2004-02-06 Jan Hubicka <jh@suse.cz>
+
+ * recog.c (split_all_insns): Do not update reg info.
+ * regrename.c (regrename_optimize): Likewise.
+ * toplev.c (rest_of_handle_reorder_blocks): Likewise.
+ * flow.c (struct propagate_block_info): Add insn_num field.
+ (reg_deaths): New array.
+ (life_analysis): Free reg_deaths info.
+ (allocate_reg_life_data): Allocate reg_deaths array.
+ (propagate_one_insn): Use new array.
+ (init_propagate_block): Initialize it.
+ (free_propagate_block_info): Finish compuation of
+ REG_LIVE_LENGTH
+ (attempt_auto_inc): Sanity check that REG_INFO is not
+ computed at same time.
+ (mark_used_regs): Update new array.
+
+ * reg-stack.c (subst_stack_regs): Unshare clobbers before
+ substitution.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/s390/s390.md (*extendsiqi2_short_displ): Change to
+ *extendqisi2_short_displ.
+
+2004-02-06 Alan Modra <amodra@bigpond.net.au>
+
+ * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
+ * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
+ (emit_library_call_value_1): Likewise pass nargs.
+ * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
+ * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
+ * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
+ parameter instead of scanning TYPE_ARGS_TYPES to count args.
+ * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
+ prototype.
+ * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
+ (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
+ (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
+ * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
+ INIT_CUMULATIVE_ARGS.
+ * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
+ * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
+ config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
+ config/cris/cris.h, config/fr30/fr30.h, config/frv/frv.h,
+ config/h8300/h8300.h, config/i386/i386.h, config/i860/i860.h,
+ config/ia64/ia64.h, config/ip2k/ip2k.h, config/iq2000/iq2000.h,
+ config/iq2000/iq2000.c, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
+ config/m68k/m68k.h, config/mcore/mcore.h, config/mips/mips.h,
+ config/mmix/mmix.h, config/mn10300/mn10300.h, config/ns32k/ns32k.h,
+ config/pa/pa.h, config/pdp11/pdp11.h, config/s390/s390.h,
+ config/sh/sh.h, config/sparc/sparc.h, config/stormy16/stormy16.h,
+ config/v850/v850.h, config/vax/vax.h, config/xtensa/xtensa.h: Likewise.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * genemit.c (gen_exp) [CONST_INT]: Use const_int_rtx whenever
+ possible.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * reload1.c (eliminate_regs_in_insn): If a set has a REG_EQUAL
+ note containing (plus (reg) (const_int)), where reg is an
+ eliminable reg, then perform the register elimination without
+ depending on eliminate_regs().
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/arc/arc.c (arc_return_in_memory): Check the return
+ value of int_size_in_bytes against -1. Don't check
+ TREE_ADDRESSABLE.
+ * config/avr/avr.c (avr_return_in_memory): Check the return
+ value of int_size_in_bytes against -1.
+ * config/ip2k/ip2k.c (ip2k_return_in_memory): Likewise.
+ * config/m68hc11/m68hc11.c (m68hc11_return_in_memory):
+ Likewise.
+ * config/mcore/mcore.c (mcore_return_in_memory): Likewise.
+ * config/stormy16/stormy16.c (xstormy16_return_in_memory):
+ Likewise.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/frv/frv-protos.h: Remove the prototype for
+ frv_setup_incoming_varargs.
+ * config/frv/frv.c (TARGET_SETUP_INCOMING_VARARGS): New.
+ (frv_setup_incoming_varargs): Make it static.
+ * config/frv/frv.h (SETUP_INCOMING_VARARGS): Remove.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/fr30/fr30-protos.h: Remove the prototype for
+ fr30_setup_incoming_varargs.
+ Update the prototypes for fr30_num_arg_regs and
+ fr30_function_arg_partial_nregs.
+ * config/fr30/fr30.c (TARGET_STRUCT_VALUE_RTX): New.
+ (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ (fr30_setup_incoming_varargs): Make it static.
+ Add argument second_time. Don't do anything when second_time
+ is nonzero.
+ (fr30_num_arg_regs): Change the type of the first argument to
+ enum machine_mode.
+ (fr30_function_arg_partial_nregs): Change the type of the
+ second argument to enum machine_mode.
+ * config/fr30/fr30.h (STRUCT_VALUE): Remove.
+ (SETUP_INCOMING_VARARGS): Remove.
+
+2004-02-06 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/arc/arc-protos.h: Remove the prototype for
+ arc_setup_incoming_varargs.
+ * config/arc/arc.c (TARGET_ASM_EXTERNAL_LIBCALL): New.
+ (TARGET_SETUP_INCOMING_VARARGS): Likewise.
+ (arc_setup_incoming_varargs): Make it static.
+ (arc_external_libcall): Likewise.
+ * config/arc/arc.h (SETUP_INCOMING_VARARGS): Remove.
+ Remove the commented-out definition of
+ ASM_OUTPUT_EXTERNAL_LIBCALL.
+
+2004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
+
+ * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
+ to $$(slibdir) in the installation commands.
+
+2004-02-05 David Edelsohn <edelsohn@gnu.org>
+
+ * reload.c (refers_to_regno_for_reload_p): Index hard_regno_nregs
+ with inner_regno, not regno.
+ * rtlanal.c (refers_to_regno_p): Same.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config.gcc: Remove i370 support.
+
+2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * doc/install.texi: Update automake and autoconf version
+ requirements. Note where to find gcj automake version.
+
+2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ * Makefile.in (generate-manpages): Move dependencies to ...
+ (man): here.
+ * doc/makefile.texi: Document new targets.
+ * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
+
+2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
+
+ PR/13485
+ Makefile.in (srcextra): Add a level of indirection to ...
+ (gcc.srcextra): ... here.
+ (po-generated): Delete.
+ (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
+ options.c.
+ (start.encap): Remove superfluous lang.srcextra dependency.
+ objc/Make-lang.in (po-generated): Delete.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/ia64/ia64.c (REG_GP): Remove.
+
+2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
+
+2004-02-05 Devang Patel <dpatel@apple.com>
+
+ * dwarf2out.c (force_type_die): Look up input type itself
+ instead of root_type() of type.
+
+2004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
+
+ * config/s390/s390.md ("*tmqidi_ext"): New insn.
+ ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
+ pre-reload splitters are transformed to post-reload
+ define_insn_and_split patterns.
+ ("*tmqisi_ext"): Renamed old "*tmqi_ext".
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/cris/cris.h: Replace PROMOTE_PROTOTYPES with
+ TARGET_PROMOTE_PROTOTYPES.
+
+2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ PR middle-end/13750
+ Revert:
+ 2004-01-15 Geoffrey Keating <geoffk@apple.com>
+ PR pch/13361
+ * c-typeck.c (constructor_asmspec): Delete.
+ (struct initializer_stack): Delete field 'asmspec'.
+ (start_init): Delete saving of asmspec.
+ (finish_init): Don't update constructor_asmspec.
+ * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
+ * stmt.c (expand_asm): Duplicate strings from tree.
+ (expand_asm_operands): Likewise.
+ * tree.c (tree_size): Update computation of size of STRING_CST.
+ (make_node): Don't make STRING_CST nodes.
+ (build_string): Allocate string with tree node.
+ * tree.def (STRING_CST): Update comment.
+ * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
+ (tree_string): Place contents of string in tree node.
+ * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
+ from tree.
+
+2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
+ msgid.
+
+2004-02-05 Dorit Naishlos <dorit@il.ibm.com>
+
+ * config/rs6000/altivec.md (*movv4si_internal): At least one
+ operand must be altivec_register_operand.
+ (*movv8hi_internal1): Likewise.
+ (*movv16qi_internal1): Likewise.
+ (*movv4sf_internal1): Likewise.
+
+2004-02-05 David Edelsohn <edelsohn@gnu.org>
+
+ * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
+ * configure: Regenerate.
+
+2004-02-05 Jonathan Wakely <redi@gcc.gnu.org>
+
+ * doc/install.texi: Update description of --gxx-include-dir to
+ give correct default value.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.h (REG_OK_FOR_BASE_NONSTRICT_P): Replace
+ 8 with MAC_REG.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/pa/pa.c (emit_hpdiv_const): Replace gen_rtx with
+ gen_rtx_PARALLEL.
+
+2004-02-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * emit-rtl.c: Update the comment about the file.
+
+2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
+
+ * sourcebuild.texi (Test Idioms): Update testcase naming
+ conventions.
+
+2004-02-04 Per Bothner <per@bothner.com>
+
+ Partially revert/redo 2003-10-01 change; fix -fworking-directory.
+ * c-ppoutput.c (pp_dir_change): New function.
+ * c-common.h (pp_dir_change): New declaration.
+ * cpplib.h (struct cpp_options): Remove working_directory field.
+ * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
+ (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
+ Don't handle -fworking_directory here, but in c_common_post_options.
+ (read_original_directory): Don't back up when done.
+ Don't clear no-longer used working_directory flag.
+ * cpplib.h: Update declarations to match.
+ * c-lex.c (cb_dir_change): Move to c-opts.c.
+ (init_c_lex): Don't set dir_change callback here, since we want
+ to set it even if flag_preprocess_only.
+ * c-opts.c (cb_dir_change): Function moved from c-lex.c.
+ (c_common_post_options): Set dir_change callback.
+ Call pp_dir_change if approporiate.
+ (finish_options): Don't call cpp_find_main_file here. Hence remove
+ unneeded parameter and result. Do LC_RENAME for <built-in>.
+ (c_common_post_options): Call cpp_read_main_file here instead.
+ (c_common_init): Update accordingly.
+ (push_command_line_include): Don't cpp_push_main_file.
+ Do LC_RENAME rather than LC_LEASE to get back to main file.
+ Compared to pre-10-01 version, inline cpp_rename_to_main_file.
+ (c_common_parse_file): Call cpp_read_main_file for subsequent main
+ files, but call finish_options for all files.
+ * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
+ * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
+ cpp_find_main_file + cpp_push_main_file.
+ * c-lex.c (fe_file_change): Don't set main_input_filename here.
+ * opts.c (handle_options): Only set main_input_filename first time.
+
+2004-02-05 Ian Lance Taylor <ian@wasabisystems.com>
+
+ * config/arm/arm.h (REG_CLASS_NAMES): Add missing comma.
+
+2004-02-04 Geoffrey Keating <geoffk@apple.com>
+
+ * reload.c (find_equiv_reg): When checking for register overlap,
+ don't index hard_regno_nregs with a pseudo-reg.
+
+2004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_trampoline_template): Remove gen_rtx().
+
+2004-02-04 David Edelsohn <edelsohn@gnu.org>
+
+ * reload.c (refers_to_regno_for_reload_p): Test regno, not inner_regno,
+ against FIRST_PSEUDO_REGISTER.
+
+2004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * Makefile.in: Move target, host overrides after per-language
+ fragments.
+
+ * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
+ (GNATLIBCFLAGS): Remove -g.
+
+2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/alpha/alpha.c, config/arc/arc.c, config/avr/avr.c,
+ config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
+ config/ia64/ia64.c, config/ia64/unwind-ia64.c,
+ config/m32r/m32r.c, config/ns32k/ns32k.c, config/pa/pa.c,
+ config/pdp11/pdp11.c, config/rs6000/rs6000.c,
+ config/sparc/sparc.c, config/vax/vax.c: Revert the
+ replacements of "FALLTHRU" with "Fall through" done in the
+ previous patch.
+
+2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/darwin.c, config/darwin.h, config/freebsd-spec.h,
+ config/arm/arm.c, config/arm/arm.md,
+ config/cris/cris-protos.h, config/fr30/fr30.c,
+ config/fr30/fr30.h, config/h8300/h8300.c, config/i386/i386.h,
+ config/i860/i860.c, config/i860/i860.h, config/ia64/ia64-c.c,
+ config/ia64/ia64.c, config/ia64/ia64.h, config/ip2k/ip2k.h,
+ config/ip2k/ip2k.md, config/ip2k/libgcc.S,
+ config/m32r/linux.h, config/m32r/m32r.c, config/m32r/m32r.h,
+ config/m68k/m68k.c, config/m68k/netbsd-elf.h,
+ config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.md,
+ config/ns32k/netbsd.h, config/ns32k/ns32k.c,
+ config/ns32k/ns32k.h, config/pdp11/pdp11.h,
+ config/rs6000/darwin-ldouble.c, config/s390/s390.h,
+ config/s390/s390.md, config/sparc/netbsd-elf.h,
+ config/sparc/openbsd.h, config/sparc/sparc.c,
+ config/xtensa/lib2funcs.S: Fix comment formatting.
+
+2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/alpha/alpha.c, config/arc/arc.c,
+ config/arm/arm-cores.def, config/arm/arm.c, config/arm/arm.h,
+ config/arm/arm1026ejs.md, config/arm/arm1136jfs.md,
+ config/arm/arm926ejs.md, config/arm/vfp.md, config/avr/avr.c,
+ config/c4x/c4x.c, config/cris/cris.c, config/frv/frv.md,
+ config/i386/i386.c, config/i386/i386.h, config/i386/i386.md,
+ config/ia64/ia64.c, config/ia64/unwind-ia64.c,
+ config/iq2000/iq2000.c, config/m32r/m32r.c,
+ config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
+ config/ns32k/ns32k.c, config/pa/pa.c, config/pdp11/pdp11.c,
+ config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
+ config/rs6000/rs6000.h, config/sparc/sparc.c,
+ config/vax/vax.c: Fix comment typos. Follow spelling
+ conventions.
+
+2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
+
+ * alloc-pool.h, c-convert.c, c-lang.c, c-tree.h,
+ caller-save.c, df.h, genconfig.c, global.c, lcm.c,
+ ra-rewrite.c, ra.c, regclass.c, regs.h, resource.c,
+ sched-rgn.c, config/arm/aof.h, config/arm/cirrus.md,
+ config/arm/fpa.md, config/arm/iwmmxt.md,
+ config/arm/netbsd-elf.h, config/arm/netbsd.h,
+ config/m68hc11/m68hc11.md, config/mips/iris5.h,
+ config/mn10300/mn10300.md, config/rs6000/altivec.md,
+ config/sparc/netbsd-elf.h: Update copyright.
+
2004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
by reference if ARCH32.
2004-02-04 Aldy Hernandez <aldyh@redhat.com>
-
- * cgraphunit.c (cgraph_postorder): Fix typo in comment.
+
+ * cgraphunit.c (cgraph_postorder): Fix typo in comment.
2004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
pointer when all VALUE's locations has been invalidated.
(rtx_equal_for_memref_p): Simplify checking of VALUEs.
-2004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
+2004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
* doc/invoke.texi (x86 options): Fix spelling/wording.
2004-02-02 Richard Henderson <rth@redhat.com>
- PR target/13789
- * expr.c (store_expr): Use force_operand before emit_move_insn.
+ PR target/13789
+ * expr.c (store_expr): Use force_operand before emit_move_insn.
2004-02-02 Jeff Law <law@redhat.com>
Roger Sayle <roger@eyesopen.com>
gen_rtx.
2004-02-02 Eric Christopher <echristo@redhat.com>
- Zack Weinberg <zack@codesourcery.com>
+ Zack Weinberg <zack@codesourcery.com>
* c-opts.c (c_common_handle_option): Add -finput-charset.
- * c.opt: Ditto.
- * cppcharset.c (one_iso88591_to_utf8): Remove.
- (convert_iso88591_utf8): Ditto.
- (conversion_tab): Remove 8859-1 converter.
- (_cpp_input_to_utf8): Remove.
- (_cpp_init_iconv_buffer): Ditto.
- (_cpp_close_iconv_buffer): Ditto.
- (_cpp_convert_input): New function.
- (_cpp_default_encoding): Ditto.
- * cpphash.h: Add/remove prototypes for above.
- * cppfiles.c (read_file_guts): Use _cpp_convert_input.
- * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
- for narrow execution and input character sets.
- * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
- * doc/cppopts.texi: Document -finput-charset.
+ * c.opt: Ditto.
+ * cppcharset.c (one_iso88591_to_utf8): Remove.
+ (convert_iso88591_utf8): Ditto.
+ (conversion_tab): Remove 8859-1 converter.
+ (_cpp_input_to_utf8): Remove.
+ (_cpp_init_iconv_buffer): Ditto.
+ (_cpp_close_iconv_buffer): Ditto.
+ (_cpp_convert_input): New function.
+ (_cpp_default_encoding): Ditto.
+ * cpphash.h: Add/remove prototypes for above.
+ * cppfiles.c (read_file_guts): Use _cpp_convert_input.
+ * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
+ for narrow execution and input character sets.
+ * cpplib.c (cpp_push_buffer): Delete uses of removed functions.
+ * doc/cppopts.texi: Document -finput-charset.
2004-02-02 David Edelsohn <edelsohn@gnu.org>
2004-01-30 Fariborz Jahanian <fjahanian@apple.com>
- * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
+ * config/rs6000/rs6000.c (rs6000_emit_move): Remove #if 0.
Copy operands[1] to pseudo for simplify_gen_subreg.
2004-01-30 Kazu Hirata <kazu@cs.umass.edu>
commuting XOR with ASHIFTRT.
2004-01-30 Kazu Hirata <kazu@cs.umass.edu>
- Eric Botcazou <ebotcazou@libertysurf.fr>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
* config/sparc/sparc-protos.h: Remove the prototype for
sparc_builtin_saveregs.