OSDN Git Service

libffi:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index be5de23..6219b28 100644 (file)
@@ -1,9 +1,925 @@
-2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
 
-       * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
-       a literal.
-       * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
-       instead of a literal.
+       * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
+       Use it in _MIPS_SIM definition.
+       * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
+
+2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
+       virtual register, but only if file == asm_out_file.
+       * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
+       for ARG_POINTER_REGNUM.
+
+2003-10-20  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-common.c (registered_builtin_types): New static.
+       (c_common_type_for_mode): Consult registered_builtin_types.
+       (c_register_builtin_type): Add type to registered_builtin_types.
+       * optabs.c (init_floating_libfuncs): Initialize libfuncs for
+       all MODE_FLOAT modes, not just the ones corresponding to
+       float_type_node, double_type_node, and long_double_type_node.
+
+2003-10-20  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
+       * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
+
+2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
+       support new flag -minsert-sched-nops.
+       (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
+       * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
+       support new flag -minsert-sched-nops.
+       (is_cracked_insn, is_microcoded_insn): New functions.
+       (rs6000_sched_finish): New function.
+       (rs6000_issue_rate): Return 5 for power4.
+       (get_next_active_insn, insn_terminates_group_p): New
+       functions.
+       (is_costly_group, force_new_group): New functions.
+       (redefine_groups, pad_groups): New functions.
+       (rs6000_variable_issue): Use new functions.
+       * doc/invoke.texi (-minsert-sched-nops): Document new
+       option.
+
+2003-10-20  David S. Miller  <davem@redhat.com>
+
+       * config/sparc/sparc.md (type attribute): Add new insn types
+       fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
+       (patterns emitting VIS insns): Use them.
+       * config/sparc/ultra1_2.md: Add VIS scheduling rules.
+       * config/sparc/ultra3.md: Likewise.
+
+2003-10-20  Falk Hueffner  <falk@debian.org>
+
+       PR target/12654
+       * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
+       comparison against constant by adjusting the argument except for
+       EQ and NE.
+
+2003-10-19  Mark Mitchell  <mark@codesourcery.com>
+
+       * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
+       arm1136jfs, and armv6j.
+       * config/arm/arm.c (FL_ARCH6J): New macro.
+       (FL_VFPV2): Likewise.
+       (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
+       and arm1136jfs.
+       (all_architectures): Add entry for armv6j.
+       (arm_override_options): Add entries for arm926ejs, arm1026ejs,
+       arm1136js, and arm1136jfs.
+       * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
+       (TARGET_CPU_arm1026ej_s): Likewise.
+       (TARGET_CPU_arm1136j_s): Likewise.
+       (TARGET_CPU_arm1136jf_s): Likewise.
+       * doc/invoke.texi: Document new ARM cores and architecture
+       variants.
+
+2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * Makefile.in (toplev.o): Add value-prof.h dependency.
+       (value-prof.o): Add REGS_H dependency.
+       * common.opt (fprofile-values, fvpt): New.
+       * flags.h (flag_value_profile_transformations): Declare.
+       * opts.c (common_handle_option): Handle -fprofile_values and
+       -fvpt.
+       * profile.c (branch_prob): Don't remove death notes here.
+       * timevar.def (TV_VPT): New.
+       * value-prof.c: Include regs.h.
+       (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
+       gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
+       mod_subtract_transform, value_profile_transformations): New.
+       (insn_values_to_profile): Call insn_divmod_values_to_profile.
+       (find_values_to_profile): Add dumps.
+       * value-prof.h (value_profile_transformations): Declare.
+       * toplev.c: Include value-prof.h.
+       (rest_of_handle_value_profile_transformations): New.
+       (enum dump_file_index): Add DFI_vpt.
+       (dump_file): Add vpt dump.
+       (flag_value_profile_transformations): New.
+       (lang_independent_options): Add flag_profile_values and
+       flag_value_profile_transformations.
+       (rest_of_compilation): Call
+       rest_of_handle_value_profile_transformations.
+       (process_options): Let -fvpt imply -fprofile-values.
+       * doc/invoke.texi (-fvpt): Document.
+
+2003-10-19  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (print_reg): Do not abort on certain registers.
+
+       PR optimization/12612
+       * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
+       * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
+       match_scratch; avoid bogus paralles.
+
+       PR target/12674
+       * i386.c (ix86_function_regparm): Disable implicit register passing
+       conventions when profiling.
+
+2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
+           Richard Henderson  <rth@redhat.com>
+
+       PR optimization/8178
+       * config/i386/i386.md (*movsi_zero): Delete.
+       (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
+
+2003-10-19  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (fix_operator): New.
+       (divmod_operator): Tidy.
+       (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
+       * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
+       (PREDICATE_CODES): Update.
+       * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
+       (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
+       (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
+       (fix_truncsfdi_ieee): Likewise.
+       (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
+       (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
+       * config/alpha/alpha-protos.h: Update.
+
+2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
+       * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
+       * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
+       constant operands.
+
+2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * doc/extend.texi: Fix typos.
+       * doc/invoke.texi: Likewise.
+
+2003-10-18  Nicolas Pitre <nico@cam.org>
+
+       * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
+       XScale optimizations not arm_arch_xscale.
+       * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
+
+2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (shift_count_operand): Add prototype.
+       * config/s390/s390.c (shift_count_operand): New function.
+       (s390_extra_constraint): Use it to implement 'Y' constraint.
+       (print_shift_count_operand): New function.
+       (print_operand): Use it to implement '%Y'.
+       * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
+       (PREDICATE_CODES): Add shift_count_operand.
+       * config/s390/s390.md ("rotldi3"): Merge alternatives,
+       using "shift_count_operand" predicate and "Y" constraint,
+       and "%Y" to output the combined shift count.
+       ("rotlsi3"): Likewise.
+       ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
+       ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
+       "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
+       ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
+       ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
+       ("lshrsi3"): Likewise.
+
+2003-10-18  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
+       argument to asm_fprintf statement.
+
+2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
+
+       * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
+       (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
+       a "long long" argument.
+
+2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
+
+       * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
+       as well.
+
+2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * rtl.h (rtl_size): Declare.
+       (rtunion): Remove rtwint.
+       (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
+       (RTX_HDR_SIZE, RTX_SIZE): New macros.
+       (RTL_CHECK1): Adjust for new rtx_def layout.
+       (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
+       (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
+       (X0WINT): Remove.
+       (X0ANY): New macro.
+       * rtl.def: Adjust comments for new rtx_def layout.
+       * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
+       number of slots.
+       * rtl.c (rtx_size): New array.
+       (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
+       (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
+       (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
+       * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
+       * emit-rtl.c (copy_most_rtx): Likewise.
+       (copy_rtx_if_shared): Use RTX_SIZE.
+       (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
+       * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
+       * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
+       (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
+       an array.  Adjust output for new rtx_def layout.
+       * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
+       * reload1.c (eliminate_regs): Use RTX_SIZE.
+       * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
+       * gdbinit.in (pi): Likewise.
+
+2003-10-18  Jan Hubicka  <jh@suse.cz>
+
+       * integrate.c (copy_decl_for_inlining): Revert previous patch.
+
+2003-10-18  Jan Hubicka  <jh@suse.cz>
+
+       * integrate.c (copy_decl_for_inlining): Fix copying of copies.
+
+2003-10-18  Roger Sayle  <roger@eyesopen.com>
+
+       * libgcc.texi: Group multi-word types, such as "long double" and
+       "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
+       Document __unord?f2 as returning a non-zero value, not just one.
+
+2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
+
+       * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
+       ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
+
+2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
+       match_operand.
+
+2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * config/sparc/sparc.c (function_arg_record_value_1): New fourth
+       parameter packed_p.  Search for a DECL_PACKED field only if
+       packed_p is false.  Pass packed_p recursively.
+       (function_arg_record_value_2): Likewise.
+       (function_arg_record_value): Update calls to
+       function_arg_record_value_1 and function_arg_record_value_2.
+
+2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
+       was successfully forced to memory before using the result.
+
+2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR optimization/8178
+       * config/i386/i386.md (*movsi_zero): New insn to set
+       a register to zero on TARGET_USE_MOV0 targets.
+
+2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
+       (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
+
+2003-10-17  David Edelsohn  <edelsohn@gnu.org>
+
+       * doc/invoke.texi (gcse-las): Fix typo.
+
+2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * doc/install.texi: Remove first part of the sentence for
+       zsh not working.  Change gcc to GCC.
+
+       PR bootstrap/12546
+       * doc/install.texi: Document that zsh does not work when
+       configuring gcc.
+
+2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config/ptx4.h: Switch to DWARF 2; update comments.
+
+2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
+           Hartmut Penner  <hpenner@de.ibm.com>
+
+       PR 10404, partial 11591, partial 11601
+       * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
+       "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
+       "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
+       "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
+       "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
+       * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
+       (altivec_expand_stv_builtin): Adjust for the memory_operand.
+       (altivec_expand_builtin): Call altivec_expand_lv_builtin.
+       (altivec_init_builtins): Use `long int' for memory offsets.
+
+2003-10-17  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c  (common_handle_option): Handle OPT_fweb
+       * invoke.texi (-fweb): Add missing parts of documentation.
+
+2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
+       before redefinition.
+
+2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
+
+       * common.opt: Add description of the new -fgcse-las flag.
+       * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
+       * gcse.c (hash_scan_set): Handle the case of store expression and
+       insert the memory expression to the hash table, this way we make it
+       possible to discover redundant loads after stores and remove them.
+       (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
+       to pre_insert_copies, it is not the correct place to call it after
+       adding stores to be in the available expression hash table.
+       (pre_insert_copies): Added the call to update_ld_motion_stores when
+       one or more copies were inserted.
+       * opts.c (common_handle_option): Handle the -fgcse-las flag.
+       * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
+
+       * doc/invoke.tex: Document new -fgcse-las flag.
+
+2003-10-18  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
+       for posterity, then remove it.
+
+2003-10-17  Richard Earnshaw <rearnsha@arm.com>
+           Nathan Sidwell  <nathan@codesourcery.com>
+
+       * config/arm/arm.c (use_return_insn): Not a single instruction, if
+       there's a frame pointer.
+       (arm_output_epilogue): Protect stack pointer from being corrupted
+       on interrupt.
+
+2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
+
+2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * combine.c (simplify_set): Do not clear out undobuf.other_insn
+       already set elsewhere.
+
+2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * config/i386/i386.c (ix86_expand_prologue):  Use
+       gen_allocate_stack_worker.
+
+2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
+       without gas.
+       (mips-sgi-irix6*): Likewise.
+
+       * config/mips/iris6gas.h: New file.
+       * gcc/config.gcc (mips-sgi-irix6*): Use it.
+
+       * config/mips/mips.h (TARGET_IRIX): Provide default.
+       (TARGET_IRIX5): Likewise.
+       (TARGET_SGI_O32_AS): Likewise.
+       * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
+       (TARGET_IRIX5): Likewise.
+       * config/mips/iris6.h (TARGET_IRIX6): Remove.
+       (TARGET_IRIX5): Redefine as 0.
+
+       * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
+       linker workaround with TARGET_IRIX and mips_abi instead of
+       ASM_OUTPUT_UNDEF_FUNCTION.
+       (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
+       testing TARGET_IRIX and mips_abi explicitly.
+       * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
+       * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
+
+       * config/mips/mips.c (irix_output_external_libcall): Renamed from
+       mips_output_external_libcall.
+       Use new TARGET_IRIX in guard.
+       * config/mips/mips-protos.h (irix_output_external_libcall): Match
+       this.
+       * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
+
+       * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
+       Define as 0.
+
+       * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
+       depending on mips_abi.
+       * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
+       * config/mips/mips.c (mips_output_function_prologue): Test
+       FUNCTION_NAME_ALREADY_DECLARED at runtime.
+       (mips_output_function_epilogue): Likewise.
+       (build_mips16_function_stub): Likewise.
+       (build_mips16_call_stub): Likewise.
+       * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
+       default.
+
+       * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
+       IRIX 6 O32 assembler.
+       (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
+       (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
+       _MIPS_SIM for O32 ABI.
+       (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
+       (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
+       (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
+       Integrate O32 version.
+       (SUBTARGET_ASM_SPEC): Handle -mabi=32.
+       (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
+       O32 ABI.
+       (BSS_SECTION_ASM_OP_32): Define.
+       (BSS_SECTION_ASM_OP_64): Likewise.
+       (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
+       using them.
+       (TARGET_ASM_NAMED_SECTION): Reflect renaming.
+       Move up to allow override for O32 ABI without GNU as.
+       (EH_FRAME_SECTION_NAME): Define explicitly.
+       (MUST_USE_SJLJ_EXCEPTIONS): Define.
+       [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
+       DTORS_SECTION_ASM_OP): Dummy definitions.
+       (TARGET_ASM_NAMED_SECTION): Undef statically.
+       (EH_FRAME_SECTION_NAME): Likewise.
+       (ASM_OUTPUT_FILENAME): Integrate mips.h version.
+       (LINK_SPEC): Only use default options -call_shared -no_unresolved
+       without -r.
+       Don't pass -init, -fini with -mabi=32.
+       (COLLECT_PARSE_FLAG): Define.
+
+       * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
+       TARGET_IRIX.
+       Renamed to use irix_ prefix.
+       (iris6_asm_named_section): Likewise.
+       (iris_section_align_entry_eq): Likewise.
+       (iris_section_align_entry_hash): Likewise.
+       (iris6_file_start): Likewise.
+       (iris6_section_align_1): Likewise.
+       (iris6_file_end): Likewise.
+       (iris6_section_type_flags): Likewise.
+       (iris_section_align_htab): Likewise.
+       (iris_orig_asm_out_file): Likewise.
+       [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
+       (TARGET_ASM_FILE_END): Likewise.
+       (TARGET_SECTION_TYPE_FLAGS): Likewise.
+
+       * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
+       (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
+       override_options instead.
+       (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
+       (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
+       * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
+       flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
+       assemblers.
+       Likewise for constructor/destructor handling.
+       (override_options): Handle IRIX O32 assembler quirks.
+       [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
+       without gas.
+       (mips_file_start): Use new TARGET_IRIX.
+       (mips_declare_object_name): No special processing for IRIX O32
+       assembler.
+       (mips_finish_declare_object): Likewise.
+       (irix_asm_output_align): Renamed from iris6_asm_output_align.
+       Don't record alignment for O32 ABI.
+       (irix_file_start): Renamed from iris6_file_start.
+       Return early for O32 ABI.
+       (irix_file_end): Renamed from iris6_file_end.
+       Don't emit .section directives for O32 ABI.
+       * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
+       * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
+
+       * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
+       (MULTILIB_OSDIRNAMES): Likewise.
+
+2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * collect2.c (COLLECT_PARSE_FLAG): Provide default.
+       (main): Use it.
+       * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
+
+2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm-modes.def (CC_Nmode): New condition code mode.
+       * arm.c (thumb_condition_code): Delete.
+       (arm_select_cc_mode): Handle single-bit test for Thumb.
+       (arm_print_operand, cases 'd' and 'D'): Don't special case the
+       condition code logic for Thumb.
+       (get_arm_condition_code): Handle CC_Nmode.
+       (thumb_cbrch_target_operand): New function.
+       * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
+       * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
+       * arm.md: Add Thumb split patterns for zero_extract and
+       sign_extract.
+       (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
+       (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
+       (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
+       (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
+       (cbranchne_decr1): Re-work to use CC_Nmode.
+
+       * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
+       by the return instruction.  Add a use of the link register if it
+       wasn't stored.
+
+2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
+
+       * flow.c (init_propagate_block_info): Don't abort if a conditional
+       jump is not a comparison of a register.  Instead, just don't record
+       conditional life information.
+
+2003-10-16  Jan Hubicka  <jh@suse.cz>
+
+       PR optimization/12630
+       * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
+       for operands 7 and 8.
+
+2003-10-16  Kelley Cook  <kcook@gcc.gnu.org>
+
+       * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
+
+2003-10-16  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
+
+       * config/i386/winnt.c (gen_stdcall_suffix): Make static
+       (gen_fastcall_suffix): Likewise.
+       (i386_pe_dllexport_p): Likewise.
+       (i386_pe_dllimport_p): Likewise.
+       (i386_pe_mark_dllexport): Likewise.
+       (i386_pe_mark_dllimport): Likewise.
+       (i386_pe_asm_named_section): Fix formatting.
+
+2003-10-16  Zack Weinberg  <zack@codesourcery.com>
+
+       * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
+       * system.h: Declare snprintf if necessary.
+       * configure, config.in: Regenerate.
+
+2003-10-15  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
+       arguments if TARGET_ALTIVEC_ABI.
+
+2003-10-15  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
+       fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
+       fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
+       New functions.
+       (expand_builtin_memcpy): Use integer_zerop instead of testing
+       host_integerp and tree_low_cst directly.  Move misapplied hunk
+       for optimization wher SRC and DEST point to the same location.
+       (expand_builtin_mempcpy): From here.
+       (expand_builtin_memmove): Use integer_zerop instead of testing
+       host_integerp and tree_low_cst_directly.
+       (expand_builtin_memset): Likewise.
+       (expand_builtin_memcmp): Likewise (and for integer_onep).
+       (expand_builtin_strncmp): Likewise.
+       (fold_builtin): Call the appropriate fold_builtin_foo functions
+       to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
+       strcmp and strncmp.
+
+2003-10-15  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
+       prototype.  Clean up some whitespace.
+       * config/darwin.c: Use gen_rtx_FOO (...) rather than
+       gen_rtx (FOO, ...).
+       (machopic_non_lazy_ptr_name): Make static.
+       (name_needs_quotes): Allow '.' and '$' unquoted.
+       (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
+       case.
+
+2003-10-15  Gábor Lóki  <alga@rgai.hu>
+
+       * fold-const.c (tree_swap_operands_p): Disable some features
+       when optimizing for size.
+
+2003-10-15  David Daney  <ddaney@avtrex.com>
+
+       * config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): New
+       * config/mips/mips.h (DWARF_FRAME_REGNUM): Fixed to allow unwind
+       from leaf functions.
+       (DWARF_FRAME_RETURN_COLUMN): Ditto.
+       (SIGNAL_UNWIND_RETURN_COLUMN): New, used
+       by MD_FALLBACK_FRAME_STATE_FOR.
+       * testsuite/gcc.dg/cleanup-9.c: Added mips*-*-linux* target.
+
+2003-10-15  Zack Weinberg  <zack@codesourcery.com>
+
+       * genmodes.c: Include hashtab.h.
+       (modes_by_name, hash_mode, eq_mode, struct mode_adjust)
+       (adj_bytesize, adj_alignment, adj_format, new_adjust)
+       (_ADD_ADJUST, ADJUST_BYTESIZE, ADJUST_ALIGNMENT, ADJUST_FORMAT)
+       (print_maybe_const_decl, emit_mode_adjustments): New.
+       (known_modes): Rename to modes.
+       (find_mode): Kill class argument; look up in hash table.
+       (new_mode): Insert into hash table also.
+       (new_adjust): New.
+       (reset_float_format, make_partial_integer_mode)
+       (make_vector_mode): Tweak error reporting.
+       (reset_float_format): Correct type of fourth argument.
+       (emit_insn_modes_h): Add #defines to help make mode_size,
+       mode_base_align, and real_format_for_mode conditionally const.
+       (emit_mode_size, emit_mode_base_align): Use print_maybe_const_decl.
+       (emit_real_format_for_mode): Likewise, but temporarily disabled.
+       (emit_insn_modes_c): Call emit_mode_adjustments.
+       (main): Initialize modes_by_name.
+       * Makefile.in: Update dependencies.
+       * machmode.def: Document EXPR arguments and new ADJUST_* statements.
+       * machmode.h: Use CONST_MODE_SIZE and CONST_MODE_BASE_ALIGN in
+       declarations of mode_size and mode_base_align.  Declare
+       init_adjust_machine_modes.
+       * toplev.c (backend_init): Call init_adjust_machine_modes.
+
+2003-10-15  Olivier Hainque  <hainque@act-europe.fr>
+
+       * genmodes.c (calc_wider_mode): Allocate enough room for all the
+       entries we'll possibly assign in the sort buffer.
+
+2003-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config.gcc (s390x-ibm-tpf*): New target.
+       * doc/install.texi: Document it.
+       * config/s390/t-tpf: New file.
+       * config/s390/tpf.h: New file.
+
+2003-10-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       PR target/12598
+       * config/cris/cris.md (define_split "*mov_sidesi_biap_mem"+1)
+       (define_splits "*mov_sidesi_mem"+1, "casesi"+9, +10, +11, +12):
+       Use cris_mem_op and replace_equiv_address, not gen_rtx_MEM.
+       ("call", "call_value", define_split "*mov_sidesi_mem"+19, +20)
+       (define_split "*mov_sidesi_mem"+21, +22, +23, +24, +25, +26, +27)
+       (define_split "*mov_sidesi_mem"+28, +29, +30): Use
+       replace_equiv_address, not gen_rtx_MEM.
+       * config/cris/cris.c (cris_mem_op): New match_operator function.
+       (cris_notice_update_cc): Use replace_equiv_address, not
+       gen_rtx_MEM.
+       * config/cris/cris.h (PREDICATE_CODES): Add cris_mem_op.
+
+2003-10-15  Bernardo Innocenti <bernie@develer.com>
+
+       * config/m68k/m68k.h (MASK_SEP_DATA, TARGET_SEP_DATA,
+       MASK_ID_SHARED_LIBRARY, TARGET_ID_SHARED_LIBRARY): Move
+       definitions after the other flags.
+
+2003-10-14  Ziemowit Laski  <zlaski@apple.com>
+
+       * c-parse.in (methoddef, methodproto): Call objc_add_method()
+       instead of add_method().
+       * objc/objc-act.c (objc_check_decl): Do not check for
+       constant_string_type.
+       (add_method): Rename to objc_add_method().
+       (really_start_method): Call objc_add_method() instead of
+       add_method().
+       * objc/objc-act.h (add_method): Rename to objc_add_method().
+
+2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390-protos.h (s390_alc_comparison): Add prototype.
+       (s390_slb_comparison): Likewise.
+       * config/s390/s390.c (s390_alc_comparison, s390_slb_comparison):
+       New functions.
+       * config/s390/s390.h (PREDICATE_CODES): Add s390_alc_comparison
+       and s390_slb_comparison.
+       * config/s390/s390.md ("*adddi3_31", "*subdi3_31"): Do not use on
+       zSeries machines.
+       ("*adddi3_31z", "*subdi3_31z"): New insns.
+       ("*adddi3_alc_cc", "*adddi3_alc", "*subdi3_slb_cc", "*subdi3_slb",
+       "*addsi3_alc_cc", "*addsi3_alc", "*subsi3_slb_cc", "*subsi3_slb"):
+       New insns.
+
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Clean up some feedback echoes.
+       * configure: Regenerate.
+
+       * aclocal.m4: Properly quote names of macros being defined.
+
+       * config.gcc (am33_2.0-*-linux*): Use t-slibgcc-elf-ver.
+
+2003-10-14  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_expand_call): Force function address
+       to DImode.
+       * config/ia64/ia64.md (call_gp): Put DImode on operand 0.
+
+2003-10-14  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("muldf3", "*muldf3", "*muldf3_ibm",
+       "mulsf3", "*mulsf3", "*mulsf3_ibm"): Do not clobber CC.
+       ("divdf3", "*divdf3", "*divdf3_ibm", "divsf3", "*divsf3",
+       "*divsf3_ibm"): Likewise.
+
+2003-10-14  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc, config/m68hc11/t-m68hc11-gas: Replace uses of
+       target_alias with target_noncanonical.
+
+2003-10-14  Geoffrey Keating  <geoffk@apple.com>
+
+       * expr.c (block_move_libcall_safe_for_call_parm): Clean up,
+       and add case for machines where outgoing register parameters
+       get stack space.
+
+       * config/darwin.c (machopic_indirect_data_reference): Use a scratch
+       register when generating indirect address.
+
+2003-10-14  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_addimm_operand): MODE arguemnt is unused.
+       * arm.md (cbranchne_decr1): Fix bootstrap warning.
+
+2003-10-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixinc/inclhack.def (alpha_pthread_gcc): New fix.
+       * fixinc/fixincl.x: Regenerate.
+       * fixinc/tests/base/pthread.h [ALPHA_PTHREAD_GCC_CHECK]: New
+       testcase.
+       Fixes PR bootstrap/9330.
+
+2003-10-13  Eric Christopher  <echristo@redhat.com>
+
+       * config/frv/frv.c (frv_adjust_field_align): Redo check for
+       too wide bitfields.
+       (frv_hard_regno_mode_ok): Add SPR_P and AP_FIRST.
+       * config/frv/frv.h (FUNCTION_PROFILER): Remove abort call.
+       (SBSS_SECTION_ASM_OP): Remove.
+       (EXTRA_SECTIONS): Remove in_sbss.
+       (EXTRA_SECTION_FUNCTIONS): Remove SBSS_SECTION_FUNCTION.
+       (SBSS_SECTION_FUNCTION, sbss_section): Remove.
+       (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Change sbss_section to
+       named_section.
+
+2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * Makefile.in, configure.in, config.host, mkheaders.in: Replace
+       uses of ${target_alias} for directory names (and other places which
+       won't like the empty string) with ${target_noncanonical}.  Introduce
+       call early in configure.in to _GCC_TOPLEV_NONCANONICAL_TARGET so it's
+       available.
+       * configure: Regenerate.
+
+2003-10-13  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * config/arm/iwmmxt.md (cond_iwmmxt_movsi_insn): New pattern.
+       * config/arm/arm.md: For splits which rely on conditional moves,
+       remove ! TARGET_IWMMXT condition.
+
+2003-10-13  David S. Miller  <davem@redhat.com>
+
+       * ifcvt.c (num_removed_blocks): Rename to num_true_changes.
+       (find_cond_trap): Always increment if we emit a conditional
+       trap insn.
+
+2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (BUILD_RTL): Replace $(BUILD_PREFIX)insn-modes.o
+       with min-insn-modes.o.
+       (STAGESTUFF): Add min-insn-modes.c.
+       (genobjs): Add genmodes.o.
+       (print-rtl.o, print-rtl1.o): Depend on $(TM_P_H).
+       (insn-modes.o): Depend on $(TM_H) not $(GTM_H); also real.h.
+       (min-insn-modes.c, min-insn-modes.o): New rules.
+       (s-modes): Also generate min-insn-modes.c.
+       ($(BUILD_PREFIX_1)insn-modes.o): Kill.
+       * genmodes.c (struct mode_data): Add format field.
+       (blank_mode, validate_mode, complete_mode): Update to match.
+       (make_scalar_mode): Separate into make_int_mode and make_float_mode.
+       (_SCALAR_MODE): Kill.
+       (FLOAT_MODE, FRACTIONAL_FLOAT_MODE): Add format argument.
+       (emit_insn_modes_c_header): Adjust.
+       (emit_min_insn_modes_c_header, emit_real_format_for_mode)
+       (emit_min_insn_modes_c): New functions.
+       (emit_insn_modes_c): Call emit_real_format_for_mode.
+       (main): Add -m option to generate min-insn-modes.c.
+       * machmode.h: Update documentation.  Add format argument to
+       all uses of FLOAT_MODE.
+       * real.c: Don't define real_format_for_mode here.
+
+       * dwarfout.c: Move default definition of PRINT_REG...
+       * defaults.h: ...here.
+       * print-rtl.c: Include tm_p.h.
+       (DEBUG_PRINT_REG, DEBUG_REGISTER_NAMES, debug_reg_names, reg_names):
+       Kill.
+       (print_rtx): Use PRINT_REG, not DEBUG_PRINT_REG.  But surround
+       this entire block with #ifndef GENERATOR_FILE.
+       * regclass.c: Unconditionally define reg_names.
+       * config/mips/mips.h, config/rs6000/rs6000.h, config/sh/sh.h
+       Don't define DEBUG_REGISTER_NAMES.
+       * config/rs6000/darwin.h: Don't use DEBUG_REGISTER_NAMES in
+       redefinition of REGISTER_NAMES.
+       * config/i386/i386.h: Don't define DEBUG_PRINT_REG.
+
+       * combine.c: Change all preprocessor conditionals on
+       EXTRA_CC_MODES to use SELECT_CC_MODE instead; rearrange a bit
+       for clarity.
+       * genopinit.c: Remove mention of EXTRA_CC_MODES in comment.
+       * configure.in: Don't define EXTRA_CC_MODES.
+       * configure, config.in: Regenerate.
+       * doc/tm.texi: Remove documentation of EXTRA_CC_MODES.
+
+       * config/arc/arc.c, config/m32r/m32r.c, config/sparc/sparc.c:
+       May assume that GET_MODE_CLASS is accurate for extra CC modes
+       at all times.
+
+       * config/i860/i860.h (INIT_CUMULATIVE_ARGS): Pass correct
+       number of arguments to aggregate_value_p.
+
+       * genmodes.c (RESET_FLOAT_FORMAT, reset_float_format): New.
+       * machmode.def: Explain ARCH-modes.def.  Document
+       RESET_FLOAT_FORMAT.  Improve commentary on various mode
+       clusters.  Do not define OI, PQI, PHI, PSI, PDI, QF, HF, TQF,
+       XF, or TF modes here.  Remove backward-compatibility
+       definition of CC.
+
+       * config/alpha/alpha-modes.def: New file; define TF mode.
+       * config/arc/arm-modes.def: Define XF mode.
+       * config/c4x/c4x-modes.def: Define QF and HF modes.  Unset
+       float format for SF and DF modes.
+       * config/dsp16xx/dsp16xx-modes.def: New file; define HF mode.
+       * config/i386/i386-modes.def: Define XF and TF modes.
+       * config/i960/i960-modes.def: Define TF mode.
+       * config/ia64/ia64-modes.def: Define TF and OI modes.
+       * config/m68k/m68k-modes.def: New file; define XF mode.
+       * config/mips/mips-modes.def: New file; define TF mode, reset
+       formats for SF and DF modes.
+       * config/pa/pa-modes.def: Define TF mode.
+       * config/rs6000/rs6000.c: Define TF and PSI modes.
+       * config/s390/s390-modes.def: Define OI mode.
+       * config/sh/sh-modes.def: New file; define PSI mode.
+       * config/sparc/sparc-modes.def: Define TF mode.
+       * config/vax/vax-modes.def: New file; reset formats for SF and
+       DF modes.
+
+       * config/c4x/c4x.c (c4x_override_options): No need to mess
+       with real_format_for_mode or set REAL_MODE_FORMATs.
+       (c4x_immed_int_constant): Don't apply GET_MODE_CLASS to rtx
+       variable.
+       * config/i386/i386.c (override_options): No need to set
+       REAL_MODE_FORMATs here.
+       * config/i960/i960.c (i960_initialize): Likewise.
+       * config/m68k/m68k.c (m68k_override_options): Likewise.
+       * config/ia64/ia64.c (ia64_override_options): Set REAL_MODE_FORMAT
+       for TFmode only if not the default.
+       * config/mips/mips.c (override_options): Likewise.
+       * config/vax/vax.c (override_optionms): Set REAL_MODE_FORMAT for
+       DFmode only if not the default.
+
+       * config/i370/i370.h (RET_REG): Don't consider TFmode.
+       * config/m68hc11/m68hc11.c (print_operand): Don't consider XFmode.
+       * config/dsp16xx/dsp16xx.c (hard_regno_mode_ok): #if 0 out use
+       of modes that don't appear anywhere in the machine description.
+
+       * config/arc/arc-modes.def, config/arm/arm-modes.def
+       * config/c4x/c4x-modes.def, config/frv/frv-modes.def
+       * config/i386/i386-modes.def, config/i960/i960-modes.def
+       * config/ia64/ia64-modes.def, config/mmix/mmix-modes.def
+       * config/pa/pa-modes.def, config/pdp11/pdp11-modes.def
+       * config/rs6000/rs6000-modes.def, config/s390/s390-modes.def
+       * config/sparc/sparc-modes.def: Convert to new style for
+       declaring extra CC modes.
+
+2003-10-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * cpplex.c (_cpp_clean_line): In the common case of a line
+       with no trigraphs and no \-newline, avoid writing to memory.
+       (_cpp_skip_block_comment): Use a local 'cur' pointer instead
+       of the buffer member.  Make c an uchar to avoid unnecessary
+       sign extensions.
+
+2003-10-13  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Remove unnecessary test.
+       * configure: Regenerate.
+
+       * configure.in: Fix grammatical error.  Move UWIN host error to...
+       * config.host: Here.
+       * configure: Regenerate.
+
+2003-10-13  Andreas Krebbel  <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("*fmadddf4", "*fmsubdf4", "*fmaddsf4",
+       "*fmsubsf4"): Insns are now dependent on TARGET_FUSED_MADD instead
+       of flag_unsafe_math_optimizations.
+       * config/s390/s390.h ("MASK_NO_FUSED_MADD", "TARGET_NO_FUSED_MADD",
+       "TARGET_FUSED_MADD", "TARGET_SWITCHES"): Introduced new target flags
+       fused-madd and no-fused-madd.
+       * doc/invoke.texi: Documented the new options fused-madd and
+       no-fused-madd for S/390.
+
+2003-10-14  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Choose
+       MASK_ALIGN_NATURAL if rs6000_alignment_string not given.  Don't
+       assign DEFAULT_ABI.
+       (ADJUST_FIELD_ALIGN, ROUND_TYPE_ALIGN): Update comment.
+       * config/rs6000/rs6000.c: Formatting.
+       (rs6000_parse_alignment_option): Only set rs6000_alignment_flags
+       when rs6000_alignment_string given.
+
+2003-10-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/12538
+       * config/sparc/sparc.c (MUST_SAVE_REGISTER): Delete.
+       (sparc_flat_must_save_register_p): New function to decide whether
+       a register must be saved/restored in the function prologue/epilogue.
+       (sparc_flat_compute_frame_size): Use it instead of MUST_SAVE_REGISTER.
+
+2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * config/avr/avr.c, config/avr/avr-protos.h: Convert to
+       ISO C90 function declarations and definitions.
+       * config/sh/sh.c, config/sh/sh-protos.h: Likewise.
 
 2003-10-12  Nathanael Nerode  <neroden@gcc.gnu.org>
 
        * config/freebsd3.h, config/freebsd4.h, config/freebsd5.h,
        config/freebsd6.h: Remove now unnecessary files.
 
+2003-10-12  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * c-common.c (c_common_truthvalue_conversion): Warn if the
+       address of a non-weak function is used as a truth value.
+
+2003-10-12  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.c (WORD_REG_USED): Use SP_REG instead of
+       a literal.
+       * config/h8300/h8300.h (REGNO_OK_FOR_BASE_P): Use MAC_REG
+       instead of a literal.
+
 2003-10-12  Hans-Peter Nilsson  <hp@bitrange.com>
 
        * doc/extend.texi (Function Attributes): Mention the exceptional
        and the signed type would overflow.  Always negate real constants
        unless we honor -ftrapping-math.  Only convert -(A-B) into B-A
        if allowed by reorder_operands_p.  Add support for COMPLEX_CST.
-       Optimize negation through floating point extensions and 
+       Optimize negation through floating point extensions and
        sign-preserving built-in functions (as defined by negate_mathfn_p).
        (fold): Adjust calls to tree_swap_operands_p.
        (fold <NEGATE_EXPR>): Move the remaining negation optimizations
@@ -177,7 +1105,7 @@ Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
        point optimizations with -funsafe-math-optimizations.
 
 2003-10-11  Andrew Pinski <pinskia@physics.uc.edu>
-       
+
        * genmodes.c (emit_mode_mask) Change MASK to MODE_MASK.
 
 2003-10-11  Kazu Hirata  <kazu@cs.umass.edu>
@@ -249,7 +1177,7 @@ Sat Oct 11 12:24:23 CEST 2003  Jan Hubicka  <jh@suse.cz>
            Paul Dale  <pauli@snapgear.com>
 
        * config/m68k/lb1sf68.asm: Add __PIC__ and __ID_SHARED_LIBRARY__
-       support. 
+       support.
        * config/m68k/m68k-none.h (ASM_SPEC): Pass --pcrel to assembler on
        -fpic, -fPIC, -msep-data and -mid-shared-library.
        * config/m68k/m68k.c (m68k_library_id_string): New global variable.