+2003-10-09 Bob Wilson <bob.wilson@acm.org>
+
+ * config/xtensa/xtensa.c (xtensa_dbx_register_number): Change first
+ FP register number to 48 and MAC16 accumulator to 0x210.
+
+2003-10-09 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Remove redundant thread_file setting clauses for
+ various *-*-linux* targets.
+
+2003-10-09 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config/h8300/h8300.md (define_asm_attributes): New.
+
+2003-10-09 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (prepare_float_lib_cmp): Always attach a REG_EQUAL note
+ to the comparison, as emit_libcall_block calls copy_rtx on equiv.
+
+2003-10-09 Dorit Naishlos <dorit@il.ibm.com>
+
+ * haifa-sched.c (ok_for_early_schedule): New function.
+ (early_queue_to_ready): New function.
+ (schedule_block): Allow early removal of insns from Q.
+ (schedule_insn): Update INSN_TICK in case of premature
+ issue.
+ * common.opt (sched_stalled_insns): New flag.
+ (sched_stalled_insns_dep): New flag.
+ * flags.h: Same above flags.
+ * opts.c: Same as above.
+ * toplev.c: Same as above.
+ * target.h (targetm.sched.is_costly_dependence): New
+ hook.
+ * target-def.h: Same as above.
+ * config/rs6000/rs6000.h: (rs6000_sched_costly_dep):
+ Support new flag -msched-costly-dep.
+ (DEFAULT_SCHED_COSTLY_DEP): Define.
+ * config/rs6000/rs6000.c:
+ (rs6000_is_costly_dependence): New function.
+ (is_load_insn, is_store_insn): New functions.
+ (is_load_insn1, is_store_insn1, is_mem_ref): New
+ functions.
+ * doc/invoke.texi (-fsched-stalled-insns-dep)
+ (-fsched-stalled-insns, -msched-costly-dep): Document
+ options.
+ * doc/tm.texi (is_costly_dependence): Define new
+ scheduler target hook.
+
+2003-10-09 Jason Merrill <jason@redhat.com>
+
+ PR c++/6392
+ * c-common.c (c_build_qualified_type): Look through arrays first.
+ (c_apply_type_quals_to_decl): Look through arrays.
+
+ * c-common.c (c_apply_type_quals_to_decl): Unset TREE_READONLY for
+ types with constructors.
+
+ * coverage.c (build_ctr_info_value): Use build_decl to make a
+ VAR_DECL.
+ (create_coverage): Likewise.
+
+ * stmt.c (resolve_asm_operand_names): Call check_unique_operand_names
+ here.
+ (expand_asm_operands): Not here.
+ (parse_input_constraint): No longer static.
+ * tree.h: Declare it.
+
+2003-10-08 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/t-linux (SHLIB_LINK): Override to use a linker script
+ libgcc_s.so.
+ (SHLIB_INSTALL): Likewise.
+
+2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * doc/install.texi: Remove reference to removed 'pthreads' thread
+ option.
+
+2003-10-08 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/rs6000.md ("abssi2_isel"): Add early clobber to
+ operand 2.
+
+2003-10-08 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config.gcc: Don't accept --enable-threads=pthreads. Clean
+ up related case statements.
+ * configure.in: Don't accept --enable-threads=pthreads,
+ decosf1, mach, or os2 (none of which work anyway). Alphabetize
+ supported thread files in case clause.
+ * configure: Regenerate.
+
+2003-10-08 Geoffrey Keating <geoffk@apple.com>
+
+ * function.c (pad_to_arg_alignment): Move 'boundary_in_bytes'
+ definition to above SPARC_STACK_BOUNDARY_HACK.
+
+2003-10-08 Jason Merrill <jason@redhat.com>
+
+ * c-pretty-print.c (pp_c_postfix_expression)
+ <COMPOUND_LITERAL_EXPR>: Fix thinko.
+
+2003-10-08 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * mklibgcc.in: Don't hide undefined or typeless symbols.
+
+2003-10-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR optimization/12142
+ * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
+ uses of the register in the SET_SRC. Remove unnecessary argument.
+ * pa.c (legitimize_pic_address): Before reload, use a scratch register
+ for the intermediate result in loading the address of a SYMBOL_REF.
+ Set the MEM_NOTRAP_P flag for the MEM. Add a REG_EQUAL to the insn
+ which loads the SYMBOL_REF address.
+
+2003-10-08 Timo Kokkonen <tjko@iki.fi>
+ Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR bootstrap/12490
+ * scan-decls.c (MAX_EXTERN_C_BRACES): New preprocessor constant
+ to define the size of the extern_C_braces array. Set it to 200.
+ (scan_decls): Abort when extern_C_braces_length is out-of-bounds.
+
+2003-10-08 Carlo Wood <carlo@alinoe.com>
+
+ * Makefile.in (gengtype-lex.c): flex 2.5.4[a] doesn't understand
+ a space after the -o option. flex 2.5.31 understands both, with
+ and without the space. Removed that space.
+
+2003-10-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_frame_info): Add cprestore_size field.
+ (compute_frame_size): Initialize it. Remove the .cprestore slot
+ from args_size.
+ (mips_output_function_prologue): Simplify accordingly.
+ (mips_debugger_offset): Change the mips16 frame pointer offset from
+ current_function_outgoing_args to cfun->machine->frame.args_size.
+ (mips_initial_elimination_offset): Likewise.
+ (mips_expand_prologue): Likewise.
+ (mips_expand_epilogue): Likewise.
+
+2003-10-08 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (EXTRA_CONSTRAINT): Add 'W' constraint.
+ (EXTRA_MEMORY_CONSTRAINT): Define.
+ (CAN_ELIMINATE): Remove lwu workaround.
+ * config/mips/mips.md (*zero_extendsidi2_mem): Enable for mips16 too.
+ Use a 'W' constraint for the source operand.
+
+2003-10-08 Kazu Hirata <kazu@cs.umass.edu>
+
+ * genopinit.c (main): Output code to declare undefined
+ variables.
+
+2003-10-07 Kelley Cook <kcook@gcc.gnu.org>
+
+ * gengtype-lex.l: Remove -Wtraditional cruft.
+ * Makefile.in (gengtype-lex.c): Likewise.
+
+2003-10-07 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * cfgloopmanip.c (fix_irreducible_loops): Initialize e correctly.
+
+2003-10-07 Jason Merrill <jason@redhat.com>
+
+ PR c++/12519
+ * c-semantics.c (genrtl_cleanup_stmt): Ignore the CLEANUP_DECL if
+ it isn't a decl.
+
+2003-10-07 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc.c (cpp_options): Only pass -fworking-directory for -g* if
+ not overridden.
+ Fixes PR bootstrap/12173.
+
+2003-10-07 Zack Weinberg <zack@codesourcery.com>
+
+ * errors.c: Don't include coretypes.h or tm.h.
+ (trim_filename): Use IS_DIR_SEPARATOR.
+ * Makefile.in: Update dependencies of errors.o and
+ $(BUILD_PREFIX_1)errors.o.
+
+2003-10-07 Geoffrey Keating <geoffk@apple.com>
+
+ * function.c (pad_to_arg_alignment): Take STACK_POINTER_OFFSET into
+ account when aligning arguments.
+ * calls.c (STACK_POINTER_OFFSET): Move default from here ...
+ * defaults.h (STACK_POINTER_OFFSET): ... to here.
+ * config/sparc/sparc.h (STACK_BOUNDARY): Add comment about how
+ it's wrong when TARGET_ARCH64 && TARGET_STACK_BIAS.
+ (SPARC_STACK_BOUNDARY_HACK): Define.
+ * config/rs6000/rs6000.c (function_arg): On non-SVR4 systems,
+ arrange for vector parameters to varargs functions to be passed
+ in both memory and GPRs when appropriate.
+ (rs6000_va_arg): Vector arguments passed in memory are 16-byte
+ aligned.
+
+ * hooks.c (hook_bool_tree_true): New.
+ (hook_rtx_tree_int_null): New.
+ (hook_rtx_rtx_null): Use NULL, not 0.
+ * hooks.h: Add 'extern' to everything.
+ (hook_bool_tree_true): New.
+ (hook_rtx_tree_int_null): New.
+ * targhooks.c (hook_bool_CUMULATIVE_ARGS_true): New.
+ * targhooks.h (hook_bool_CUMULATIVE_ARGS_true): New.
+ * config/rs6000/rs6000-protos.h (setup_incoming_varargs): Remove
+ prototype.
+ * config/rs6000/rs6000.c (rs6000_return_in_memory): New.
+ (setup_incoming_varargs): Prototype.
+ (TARGET_PROMOTE_FUNCTION_ARGS): Define.
+ (TARGET_PROMOTE_FUNCTION_RETURN): Define.
+ (TARGET_STRUCT_VALUE_RTX): Define.
+ (TARGET_RETURN_IN_MEMORY): Define.
+ (TARGET_SETUP_INCOMING_VARARGS): Define.
+ (TARGET_STRICT_ARGUMENT_NAMING): Define.
+ (TARGET_PRETEND_OUTGOING_VARARGS_NAMED): Define.
+ (init_cumulative_args): Use rs6000_return_in_memory.
+ (setup_incoming_varargs): Make 'static'.
+ * config/rs6000/rs6000.h (PROMOTE_FUNCTION_ARGS): Delete.
+ (PROMOTE_FUNCTION_RETURN): Delete.
+ (STRUCT_VALUE): Delete.
+ (RETURN_IN_MEMORY): Delete.
+ (SETUP_INCOMING_VARARGS): Delete.
+
+2003-10-07 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/invoke.texi (Warning Options): Simplify and clarify the
+ descriptions of -Wnonnull and -Winit-self.
+
+2003-10-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * optabs.c (init_intraclass_conv_libfuncs): Fix order of array
+ indicees for floating-point conversersion libcalls.
+
+2003-10-07 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * Makefile.in: Add more comments separating large conceptually
+ separate sections.
+
+ * configure.in: Clean up thread file logic.
+ * configure: Regenerate.
+
+2003-10-07 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (READONLY_DATA_SECTION_ASM_OP): Define.
+ (switch_to_section): Handle in_readonly_data.
+ * config/i386/winnt.c (i386_pe_asm_named_section): Handle
+ readonly data.
+
+2003-10-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (cmpsi2_addneg): New ARM pattern. Add peephole2 to generate
+ it.
+ (cbranchne_decr1): New Thumb pattern.
+ * arm.c (arm_addimm_operand): New insn predicate.
+ * arm-protos.h: Add a prototype for it.
+ * arm.h (PREDICATE_CODES): Add it.
+
+2003-10-07 Dorit Naishlos <dorit@il.ibm.com>
+
+ * sched-int.h (sched_info): New field
+ sched_max_insns_priority.
+ * sched-rgn.c (init_ready_list): Add invocations to
+ targetm.sched.adjust_priority.
+ (sched_max_insns_priority): Init new field.
+ * sched-ebb.c (sched_max_insns_priority): Init new field.
+ * haifa-sched.c (set_priorities): Set
+ sched_info->sched_max_insns_priority.
+ * config/rs6000/rs6000.h:
+ (rs6000_sched_restricted_insns_priority_str): Support new
+ flag -mprioritize-restricted-insns.
+ (DEFAULT_RESTRICTED_INSNS_PRIORITY): Define.
+ * config/rs6000/rs6000.c (is_dispatch_slot_restricted): New
+ function.
+ (rs6000_adjust_priority): Change priority of restricted
+ insns, using above new function and new flag.
+ * doc/invoke.texi (-mprioritize-restricted-insns): Document
+ new option.
+
+2003-10-07 Zack Weinberg <zack@codesourcery.com>
+
+ * expr.c (cmpstr_optab, cmpmem_optab): New.
+ * genopinit.c: Initialize them.
+ * optabs.h: Declare them.
+ * optabs.c (init_optabs): Clear them.
+ (prepare_cmp_insn): Use cmpstr_optab and cmpmem_optab to find
+ block memory compare insns, not conditional chains. Restructure
+ the fallback generation of a call to memcmp/bcmp for better
+ readability.
+
+2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): New macro.
+ (mips_save_restore_fn): New typedef.
+ (mips_add_large_offset_to_sp, mips_emit_frame_related_store): Remove.
+ (mips_set_frame_expr, mips_frame_set): Move above prologue code.
+ (save_restore_insns): Remove, replacing with...
+ (mips_save_restore_reg, mips_for_each_saved_reg): ...these new fns.
+ (mips_save_reg, mips_restore_reg): New function.
+ (mips_expand_prologue, mips_expand_epilogue): Rework.
+ * config/mips/mips.h (MIPS_TEMP1_REGNUM, MIPS_TEMP2_REGNUM): Remove.
+ (MIPS_PROLOGUE_TEMP_REGNUM, MIPS_EPILOGUE_TEMP_REGNUM): New macros.
+ (MIPS_PROLOGUE_TEMP, MIPS_EPILOGUE_TEMP): New macros.
+
+2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_expand_prologue): Remove unused
+ traversal of function arguments.
+
+2003-10-07 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/invoke.texi: Remove documentation of -mentry.
+ * config/mips/mips.c (mips_entry_string, mips_entry): Remove.
+ (override_options, mips_save_reg_p): Remove handling.
+ (compute_frame_size, mips_output_function_prologue): Likewise.
+ (mips_expand_prologue, mips_expand_epilogue): Likewise.
+ * config/mips/mips.h (mips_entry_string): Remove declaration.
+ (TARGET_OPTIONS): Remove -mentry.
+ * config/mips/mips16.S: Remove mention of -mentry.
+
+2003-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * libfuncs.h (LTI_extendsfdf2, LTI_extendsfxf2, LTI_extendsftf2)
+ (LTI_extenddfxf2, LTI_extenddftf2, LTI_truncdfsf2, LTI_truncxfsf2)
+ (LTI_trunctfsf2, LTI_truncxfdf2, LTI_trunctfdf2, LTI_floatsisf)
+ (LTI_floatdisf, LTI_floattisf, LTI_floatsidf, LTI_floatdidf)
+ (LTI_floattidf, LTI_floatsixf, LTI_floatdixf, LTI_floattixf)
+ (LTI_floatsitf, LTI_floatditf, LTI_floattitf, LTI_fixsfsi, LTI_fixsfdi)
+ (LTI_fixsfti, LTI_fixdfsi, LTI_fixdfdi, LTI_fixdfti, LTI_fixxfsi)
+ (LTI_fixxfdi, LTI_fixxfti, LTI_fixtfsi, LTI_fixtfdi, LTI_fixtfti)
+ (LTI_fixunssfsi, LTI_fixunssfdi, LTI_fixunssfti, LTI_fixunsdfsi)
+ (LTI_fixunsdfdi, LTI_fixunsdfti, LTI_fixunsxfsi, LTI_fixunsxfdi)
+ (LTI_fixunsxfti, LTI_fixunstfsi, LTI_fixunstfdi, LTI_fixunstfti)
+ (extendsfdf2_libfunc, extendsfxf2_libfunc, extendsftf2_libfunc)
+ (extenddfxf2_libfunc, extenddftf2_libfunc, truncdfsf2_libfunc)
+ (truncxfsf2_libfunc, trunctfsf2_libfunc, truncxfdf2_libfunc)
+ (trunctfdf2_libfunc, floatsisf_libfunc, floatdisf_libfunc)
+ (floattisf_libfunc, floatsidf_libfunc, floatdidf_libfunc)
+ (floattidf_libfunc, floatsixf_libfunc, floatdixf_libfunc)
+ (floattixf_libfunc, floatsitf_libfunc, floatditf_libfunc)
+ (floattitf_libfunc, fixsfsi_libfunc, fixsfdi_libfunc, fixsfti_libfunc)
+ (fixdfsi_libfunc, fixdfdi_libfunc, fixdfti_libfunc, fixxfsi_libfunc)
+ (fixxfdi_libfunc, fixxfti_libfunc, fixtfsi_libfunc, fixtfdi_libfunc)
+ (fixtfti_libfunc, fixunssfsi_libfunc, fixunssfdi_libfunc)
+ (fixunssfti_libfunc, fixunsdfsi_libfunc, fixunsdfdi_libfunc)
+ (fixunsdfti_libfunc, fixunsxfsi_libfunc, fixunsxfdi_libfunc)
+ (fixunsxfti_libfunc, fixunstfsi_libfunc, fixunstfdi_libfunc)
+ (fixunstfti_libfunc): Delete.
+ * optabs.h (struct optab_handlers): Break out of struct optab.
+ (struct convert_optab, convert_optab, enum convert_optab_index,
+ convert_optab_table, sext_optab, zext_optab, trunc_optab,
+ sfix_optab, ufix_optab, sfixtrunc_optab, ufixtrunc_optab,
+ sfloat_optab, ufloat_optab): New.
+ (set_conv_libfunc): Prototype.
+ (GEN_FCN): Use C90 indirect call syntax, remove unnecessary cast.
+ (trunc_optab): Renamed btrunc_optab.
+ * builtins.c (expand_builtin_mathfn): Update to match.
+ * optabs.c (extendtab, fixtab, fixtrunctab, floattab): Delete.
+ (convert_optab_table, new_convert_optab, init_convert_optab)
+ (init_interclass_conv_libfuncs, init_intraclass_conv_libfuncs)
+ (set_conv_libfunc): New.
+ (can_extend_p, gen_extend_insn, can_fix_p, can_float_p)
+ (expand_float, expand_fix): Use new conversion optabs,
+ not old insn code tables or long chains of ifs.
+ (init_optabs): No need to clear old insn code tables.
+ Initialize the new optabs, not the old libfunc array entries.
+ Don't handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ * genopinit.c: Initialize conversion optabs, not the
+ former insn code tables. Remove unnecessary casts.
+ Handle FIXUNS_TRUNC_LIKE_FIX_TRUNC here.
+ * expr.c (convert_move): Remove redundant check that
+ to_real==from_real. Use the conversion optabs instead
+ of long chains of tests of modes. Move partial-integer-mode
+ interconversion above all integer conversion. Do not recurse
+ on a value forced into a register in the original mode.
+
+ * config/gofast.h, config/frv/frv.c, config/ia64/ia64.c
+ * config/mips/mips.c, config/pa/pa.c, config/rs6000/rs6000.c
+ * config/sparc/sparc.c: Use set_conv_libfunc to adjust entries
+ in new conversion optabs; do not reference the old libfunc
+ array entries. No need to include libfuncs.h.
+
+2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * config/i386/i386.c (ix86_expand_setcc): Annotate the floating
+ point comparison sequence with a REG_EQUAL note that describes
+ the comparison's semantics.
+
+2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * expr.c (expand_expr <COND_EXPR>): Handle the void type semantics
+ of COND_EXPR when expanding the "A op 0 ? FOO : A" optimizations.
+
+2003-10-06 Roger Sayle <roger@eyesopen.com>
+ Zack Weinberg <zack@codesourcery.com>
+
+ * optabs.c (prepare_float_lib_cmp): Avoid searching for REG_RETVAL
+ instruction by using LCT_CONST and then calling emit_libcall_block
+ ourselves.
+
+2003-10-06 Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
+
+ PR optimization/11974
+ * optabs.c (expand_unop): Promote libcall outmode according to
+ hard_libcall_value.
+
+2003-10-06 Zack Weinberg <zack@codesourcery.com>
+
+ * real.h (REAL_MODE_FORMAT): New macro.
+ * c-cppbuiltin.c, optabs.c, real.c, config/alpha/alpha.c
+ * config/c4x/c4x.c, config/i370/i370.c, config/i386/freebsd.h
+ * config/i386/i386.c, config/i960/i960.c, config/ia64/ia64.c
+ * config/m68k/m68k.c, config/mips/mips.c, config/rs6000/rs6000.c
+ * config/vax/vax.c: Use REAL_MODE_FORMAT instead of referring
+ directly to real_format_for_mode array, wherever possible.
+
+2003-10-06 Devang Patel <dpatel@apple.com>
+
+ * dwarf2out.c (is_main_source): Remove variable.
+ (dwarf2out_start_source_file): Do not check is_main_source.
+ Do not reset is_main_source.
+ (dwarf2out_init): Do not initialize is_main_source.
+
+2003-10-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
+
+ * fixinc/inclhack.def (stdio_va_list): Removed _ap fix.
+ (irix_stdio_va_list): Don't require leading printf, IRIX 6.5.21
+ introduced some multi-line prototypes.
+ * fixinc/fixincl.x: Regenerate.
+
+2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.h (PREDICATE_CODES): Add stack_operand.
+ * config/mips/mips.c (stack_operand): New predicate.
+ * config/mips/mips.md: Use it for the destination of mips16 insns
+ that store $31.
+
+2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md (*lowsi): Renamed from lowsi.
+ (*lowdi): Likewise lowdi.
+ (*lowsi_mips16, *lowdi_mips16): New patterns.
+ * config/mips/mips.c (mips_const_insns, mips_output_move): Remove
+ mips16 CONSTANT_RELOC handling.
+ (mips_delegitimize_address): Adjust for new sdata representation.
+
+2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_arg_info): If MUST_PASS_IN_STACK,
+ skip any remaining register arguments.
+
+2003-10-06 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * reload.c (find_reloads_subreg_address): Use correct offset for
+ paradoxical MEM subregs on big-endian targets.
+
+2003-10-06 Andrew Haley <aph@redhat.com>
+
+ * tree.c (get_callee_fndecl): Call
+ lang_hooks.lang_get_callee_fndecl.
+ * langhooks-def.h (LANG_HOOKS_GET_CALLEE_FNDECL): New.
+ (lhd_get_callee_fndecl): New.
+
+2003-10-06 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ error in calculating the length of the string.
+ (machopic_stub_name): Likewise.
+
+2003-10-06 Roger Sayle <roger@eyesopen.com>
+
+ * optabs.c (prepare_float_lib_cmp): Attach a REG_EQUAL note
+ describing the return value of the comparison libcall to the
+ REG_RETVAL instruction of the emitted sequence.
+
+2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/12215
+ * cse.c (cse_set_around_loop): Emit the move at the beginning
+ of the next basic block for trapping sets.
+
+2003-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR optimization/11637
+ * combine.c (adjust_for_new_dest): New function to adjust the
+ notes and LOG_LINKS when the dest of an insn has changed.
+ (try_combine): Use it when deleting the first insn of a two-insn
+ parallel or splitting a two-load parallel.
+
+2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_classify_constant): Only allow UNSPECs
+ if TARGET_EXPLICIT_RELOCS.
+
+2003-10-06 Mark Mitchell <mark@codesourcery.com>
+
+ PR bootstrap/12512
+ * Makefile.in (info): Use double-colon rules.
+ (dvi): Likewise.
+ (generated-manpages): Likewise.
+ * configure.in: Do not create lang.info, lang.dvi, or
+ lang.generated-manpages hooks.
+ * configure: Regenerated.
+ * objc/Make-lang.in (objc.info): Remove.
+ (objc.dvi): Remove.
+ (objc.generated-manpages): Remove.
+ * doc/sourcebuild.texi: Update description of info, dvi, and
+ generated-manpages hooks.
+
+2003-10-06 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.md: Merge mips16 lw/srl pattern with its splitter.
+
+2003-10-05 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name): Fix off by one
+ errors in memcpy destinations.
+ (machopic_stub_name): Likewise.
+
+2003-10-05 Andrew Pinski <apinski@apple.com>
+
+ * config/darwin.c (machopic_non_lazy_ptr_name):
+ Change strcat to memcpy and add length together.
+ (machopic_stub_name): Likewise.
+
+2003-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Handle new
+ signal trampoline codes.
+
+2003-10-05 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.md (*divsf3): Move description of
+ SB-1 F2 erratum from here to...
+ (divsf3): Here. Disable if TARGET_FIX_SB1 is set and
+ flag_unsafe_math_optimizations is not.
+
+2003-10-05 Aldy Hernandez <aldyh@redhat.com>
+
+ * config/rs6000/linuxspe.h: Define TARGET_SPE_ABI, TARGET_SPE,
+ TARGET_E500, TARGET_ISEL, and TARGET_FPRS.
+
+2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-pretty-print.c: Fix comment typos.
+ * c-pretty-print.h: Likewise.
+ * calls.c: Likewise.
+ * cfgloopmanip.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * cppfiles.c: Likewise.
+ * final.c: Likewise.
+ * function.c: Likewise.
+ * gcov-io.h: Likewise.
+ * gcse.c: Likewise.
+ * genoutput.c: Likewise.
+ * loop.c: Likewise.
+ * postreload.c: Likewise.
+ * reg-stack.c: Likewise.
+ * regmove.c: Likewise.
+ * sched-int.h: Likewise.
+ * sched-rgn.c: Likewise.
+ * simplify-rtx.c: Likewise.
+ * tree-inline.c: Likewise.
+ * config/m68hc11/m68hc11.h: Likewise.
+ * config/mmix/mmix.c: Likewise.
+ * config/mn10300/mn10300.md: Likewise.
+ * config/sh/sh.h: Likewise.
+
+2003-10-05 Richard Henderson <rth@redhat.com>
+
+ * tree-inline.c (remap_type): New.
+ (remap_decl): Use it. Remap DECL_SIZE*.
+ (copy_body_r): Use it.
+ (walk_tree): Walk TREE_TYPE too.
+ (copy_tree_r): Don't walk subtrees of types.
+ * tree.c (variably_modified_type_p): Restructure. Consider integer
+ types with non-const bounds variably modified.
+
+2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/invoke.texi: Fix typos.
+
+2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * fold-const.c: Follow spelling conventions.
+ * function.c: Likewise.
+ * config/c4x/c4x.h: Likewise.
+ * config/c4x/c4x.md: Likewise.
+ * config/frv/frv.md: Likewise.
+ * config/rs6000/aix.h: Likewise.
+ * config/rs6000/linux64.h: Likewise.
+ * config/xtensa/xtensa.c: Likewise.
+
+2003-10-05 Kazu Hirata <kazu@cs.umass.edu>
+
+ * c-pretty-print.c: Fix comment formatting.
+ * cfglayout.c: Likewise.
+ * cfgloopanal.c: Likewise.
+ * cppcharset.c: Likewise.
+ * dbxout.c: Likewise.
+ * ggc-page.c: Likewise.
+ * ggc.h: Likewise.
+ * target.h: Likewise.
+
+2003-10-04 Kelley Cook <kelleycook@wideopenwest.com>
+
+ * gengtype-lex.l: Recognize typedef of functions without PARAMS macro.
+
+2003-10-04 Nathanael Nerode <neroden@gcc.gnu.org>
+
+ * config/v850/v850-c.c, config/v850/v850-protos.h, config/v850/v850.c:
+ Convert to ISO C90 function declarations and definitions.
+
+2003-10-04 Zack Weinberg <zack@codesourcery.com>
+
+ * libfuncs.h
+ (LTI_eqhf2, LTI_nehf2, LTI_gthf2, LTI_gehf2, LTI_lthf2)
+ (LTI_lehf2, LTI_unordhf2, LTI_eqsf2, LTI_nesf2, LTI_gtsf2)
+ (LTI_gesf2, LTI_ltsf2, LTI_lesf2, LTI_unordsf2, LTI_eqdf2)
+ (LTI_nedf2, LTI_gtdf2, LTI_gedf2, LTI_ltdf2, LTI_ledf2)
+ (LTI_unorddf2, LTI_eqxf2, LTI_nexf2, LTI_gtxf2, LTI_gexf2)
+ (LTI_ltxf2, LTI_lexf2, LTI_unordxf2, LTI_eqtf2, LTI_netf2)
+ (LTI_gttf2, LTI_getf2, LTI_lttf2, LTI_letf2, LTI_unordtf2)
+ (eqhf2_libfunc, nehf2_libfunc, gthf2_libfunc, gehf2_libfunc)
+ (lthf2_libfunc, lehf2_libfunc, unordhf2_libfunc, eqsf2_libfunc)
+ (nesf2_libfunc, gtsf2_libfunc, gesf2_libfunc, ltsf2_libfunc)
+ (lesf2_libfunc, unordsf2_libfunc eqdf2_libfunc, nedf2_libfunc)
+ (gtdf2_libfunc, gedf2_libfunc, ltdf2_libfunc, ledf2_libfunc)
+ (unorddf2_libfunc eqxf2_libfunc, nexf2_libfunc, gtxf2_libfunc)
+ (gexf2_libfunc, ltxf2_libfunc, lexf2_libfunc, unordxf2_libfunc
+ (eqtf2_libfunc, netf2_libfunc, gttf2_libfunc, getf2_libfunc)
+ (lttf2_libfunc, letf2_libfunc, unordtf2_libfunc):
+ Delete.
+ * optabs.h (OTI_eq, OTI_ne, OTI_gt, OTI_ge, OTI_lt, OTI_le)
+ (OTI_unord, eq_optab, ne_optab, gt_optab, ge_optab, lt_optab)
+ (le_optab, unord_optab): New.
+
+ * optabs.c (prepare_float_lib_cmp): Rewrite. Get the libfuncs
+ from the code_to_optab table, not a giant switch; use
+ swap_condition; do widening only if a comparison function that
+ we can call exists in a wider mode, not if a cmp_optab insn or
+ libfunc exists in a wider mode; call protect_from_queue
+ exactly once on each operand.
+ (init_optabs): Initialize the new optabs, not the deleted libfuncs.
+
+ * config/gofast.h, config/ia64/ia64.c, config/mips/mips.c
+ * config/pa/pa.c, config/rs6000/rs6000.c, config/sparc/sparc.c:
+ Set floating point comparison libfuncs using set_optab_libfunc
+ on the appropriate optab.
+
+ * config/ia64/ia64.c (ia64_hpux_init_libfuncs): Fix typo.
+ * config/rs6000/rs6000.c (rs6000_init_libfuncs): Correct ABI
+ selector conditionals.
+
+2003-10-04 Stephane Carrez <stcarrez@nerim.fr>
+
+ * config/m68hc11/t-m68hc11-gas (MULTILIB_MATCHES): m68hcs12 is
+ identical to m68hc12 as far as libraries are concerned.
+
+2003-10-04 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR c/12446
+ * c-typeck.c (convert_for_assignment): Issue an error for
+ array to pointer assignment after default conversion.
+ (digest_init): Likewise.
+
+2003-10-04 Fariborz Jahanian <fjahanian@apple.com>
+
+ * c-decl.c (duplicate_decls): retain DECL_COMMON of old declaration
+
+2003-10-03 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * doc/extend.texi (Function Attributes): Fix title of GNU C
+ Preprocessor manual.
+ (C++ Extensions): Fix reference to "Predefined Macros" in the
+ GNU C Preprocessor manual.
+
+2003-10-04 Richard Earnshaw <reanrsha@arm.com>
+
+ * doc/extend.texi: Document how GCC estimates and relies on the size
+ of an asm.
+
+2003-10-04 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/mips/mips.c (mips_pad_arg_upward): Pad floating-point
+ arguments downward for big-endian o64.
+
+2003-10-03 Robert Bowdidge <bowdidge@apple.com>
+
+ * ggc-page.c (ggc_pch_write_object): Replace fseek() with fwrite() in
+ PCH generation, avoiding too-frequent flushes when writing to NFS
+ file system.
+
+2003-10-03 Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (lookup_category): Mark as 'inline'.
+
+2003-10-03 Alexander Malmberg <alexander@malmberg.org>
+ Ziemowit Laski <zlaski@apple.com>
+
+ * objc/objc-act.c (add_method_to_hash_list, lookup_category):
+ New functions.
+ (lookup_method_in_hash_lists): New parameter indicating whether
+ we are messaging 'Class' or 'id'.
+ (check_duplicates): Likewise; do not assume all methods will
+ be either class or instance methods.
+ (generate_category, finish_class): Use lookup_category().
+ (add_method): Use add_method_to_hash_list(); insert instance
+ methods of root classes into the global class method hash table.
+ (add_category): Use lookup_category(); avoid constructing
+ duplicate categories.
+ (really_start_method): Add method to corresponding @interface,
+ if not already there (and if the @interface exists).
+ (finish_message_expr, finish_objc): Adjust calls to
+ check_duplicates().
+
+2003-10-03 Roger Sayle <roger@eyesopen.com>
+
+ PR optimization/9325, PR java/6391
+ * fold-const.c (fold_convert): For floating point to integer
+ conversions, return the maximum/minimum representable integer
+ value if the real constant overflows the destination type.
+ * tree.c (real_value_from_int_cst): Allow the type to be NULL,
+ meaning don't truncate the result to a floating point mode.
+ Simplify the logic by calling real_from_integer directly.
+ * simplify-rtx.c (simplify_unary_operation): Implement the
+ same semantics for folding floating point to integer conversions
+ in RTL.
+
+2003-10-03 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.c (mips_emit_prefetch): Restructure
+ to avoid use of arrays, handle indexed prefetch.
+ * config/mips/mips.h (ISA_HAS_FP4, ISA_HAS_PREFETCH): Update comments.
+ (ISA_HAS_PREFETCHX): New deffine.
+ * config/mips/mips.md ("type" attr): Add new "prefetchx" value,
+ update comments.
+ (prefetch_indexed_di, prefetch_indexed_si): New insns.
+
+2003-10-03 Jeff Sturm <jsturm@one-point.com>
+ Roger Sayle <roger@eyesopen.com>
+
+ PR optimization/12289
+ * calls.c (emit_call_1): Pretend to have popped the arguments
+ to noreturn and longjmp functions instead of ignoring them.
+ (expand_call): Don't adjust stack_pointer_dela while
+ inhibit_defer_pop is set.
+
+2003-10-03 Andreas Schwab <schwab@suse.de>
+
+ PR bootstrap/12276
+ * configure.in: Check for libunwind on the host only if building
+ a native compiler.
+ * configure: Regenerated.
+
+2003-10-03 Paolo Carlini <pcarlini@unitus.it>
+
+ * unwind-pe.h (read_encoded_value_with_base): Constify u and
+ its inizialization cast.
+
+2003-10-03 Richard Sandiford <rsandifo@redhat.com>
+
+ PR target/12485
+ * config/mips/mips.c (mips_load_got): GOT accesses can't trap.
+
+2003-10-02 Mark Mitchell <mark@codesourcery.com>
+
+ PR optimization/12180
+ * tree-inline.c (inline_forbidden_p_1): Do not permit inlining of
+ functions containing calls to __builtin_next_arg.
+
+2003-10-02 Chris Demetriou <cgd@broadcom.com>
+
+ * config/mips/mips.c (mips_emit_prefetch): Use operand 3
+ in instructions being output.
+ * config/mips/mips.md (prefetch_si_address): Change third
+ operand's constraint letter to 'I'.
+ (prefetch_di_address): Likewise.
+ (prefetch_si, prefetch_di): Set third operand to const0_rtx.
+
+2003-10-02 Zack Weinberg <zack@codesourcery.com>
+
+ * system.h: Poison macros obsoleted by earlier patch.
+ * config/cris/cris.c: C90-ify a function definition.
+
+2003-10-02 Josef Zlomek <zlomekj@suse.cz>
+
+ PR/12292
+ * combine.c (make_field_assignment): Check whether rtx's code
+ is CONST_INT before using INTVAL.
+
+2003-10-02 Josef Zlomek <zlomekj@suse.cz>
+
+ * cgraph.c (cgraph_node): Use INSERT instead of 1 in
+ htab_find_slot_with_hash.
+ (cgraph_node_for_identifier): Use NO_INSERT.
+ (cgraph_remove_node): Use NO_INSERT.
+ (cgraph_varpool_node): Use INSERT.
+ (cgraph_varpool_node_for_identifier): Use NO_INSERT.
+
+2003-10-02 Josef Zlomek <zlomekj@suse.cz>
+
+ Waldek Hebisch <hebisch@math.uni.wroc.pl>
+ PR/12072
+ * varasm.c (compare_constant): Fix thinko.
+
+2003-10-02 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/frv/frv.c (frv_issue_rate): New function.
+ (frv_pack_insns): Use it.
+ (TARGET_SCHED_ISSUE_RATE): Define.
+
2003-10-02 Steven Bosscher <s.bosscher@student.tudelft.nl>
* config/mcore/mcore.c: Convert to ISO C90 function declarations