OSDN Git Service

* toplev.c (wrapup_global_declarations): Fix final pass in
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b4d62d3..31fad7d 100644 (file)
@@ -1,3 +1,985 @@
+Thu Sep  4 10:43:24 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * toplev.c (wrapup_global_declarations): Fix final pass in
+       unit-at-atime mode.
+
+2003-09-04  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/extend.texi: Document removal of cast-as-lvalue extension in
+       C++.
+
+2003-09-04  Nicolas Roche  <roche@act-europe.fr>
+
+       * gcc.c (process_command): Fix typo.
+
+2003-09-03  David O'Brien  <obrien@FreeBSD.org>
+
+       optimization/11980
+       * config/i386/freebsd.h (SIZE_TYPE): Support TARGET_64BIT.
+       (PTRDIFF_TYPE): Likewise.
+       (WCHAR_TYPE_SIZE): Likewise.
+
+2003-09-03  DJ Delorie  <dj@redhat.com>
+
+       * targhooks.c: New file.
+       * targhooks.h: New file.
+       * Makefile.in: Add targhooks.o support.
+       (function.o): Depend on$(TARGET_H).
+       (stmt.o): Likewise.
+       (combine.o): Depend on $(TREE_H) and $(TARGET_H).
+       * builtins.c (apply_args_size, expand_builtin_apply_args_1,
+       expand_builtin_apply): Convert to calls.struct_value_rtx hook.
+       (expand_builtin_saveregs): Convert to
+       calls.expand_builtin_saveregs hook.
+       * c-decl.c (start_decl): Handle new calls.promote_prototypes hook
+       here, instead of ...
+       (get_parm_info) ... here.
+       (store_parm_decls_oldstyle): Convert to calls.promote_prototypes
+       hook.
+       (finish_function): Handle calls.promote_prototypes hook here too.
+       * c-typeck.c (convert_arguments): Convert to
+       calls.promote_prototypes hook.
+       (c_convert_parm_for_inlining): Likewise.
+       * calls.c (initialize_argument_information): Convert to
+       calls.promote_function_args hook.
+       (expand_call): Convert to calls.struct_value_rtx,
+       calls.strict_argument_naming,
+       calls.pretend_outgoing_varargs_named, and
+       calls.promote_function_return hooks.  Pass fndecl to
+       aggregate_value_p.  Initialize CUMULATIVE_ARGS before calling
+       hooks, so they can use that.
+       (emit_library_call_value_1): Likewise.
+       * combine.c (setup_incoming_promotions): Convert to
+       calls.promote_function_args hook.
+       * emit-rtl.c: Convert to calls.struct_value_rtx hook.
+       * expr.c (expand_assignment): Pass call to aggregate_value_p.
+       (expand_expr): Likewise.
+       * expr.h: Remove support for SETUP_INCOMING_VARARGS,
+       STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+       RETURN_IN_MEMORY macro defaults.
+       * final.c (profile_function): Convert to calls.struct_value_rtx
+       hook.
+       * function.c (aggregate_value_p): Accept function type tree as
+       second parameter; try to deduce fntype from it.  Convert to
+       calls.return_in_memory hook.
+       (assign_parms): Convert to calls.setup_incoming_varargs,
+       calls.strict_argument_naming, calls.promote_function_args,
+       calls.pretend_outgoing_varargs_named hooks.  Pass fndecl to
+       aggregate_value_p.
+       (expand_function_start): Likewise.  Convert to
+       calls.struct_value_rtx hook.
+       (expand_function_end): Convert to calls.promote_function_return hook.
+       (allocate_struct_function): Pass fndecl to aggregate_value_p.
+       * hard-reg-set.h: Update comments to new hook names.
+       * integrate.c (expand_inline_function): Pass fndecl to aggregate_value_p.
+       * reg-stack.c (stack_result): Likewise.
+       * rtl.h (struct_value_rtx, struct_value_incoming_rtx): Delete.
+       * stmt.c (expand_value_return): Convert to
+       calls.promote_function_return hook.
+       * target-def.h: Add TARGET_PROMOTE_FUNCTION_ARGS,
+       TARGET_PROMOTE_FUNCTION_RETURN, TARGET_PROMOTE_PROTOTYPES,
+       TARGET_STRUCT_VALUE_RTX, TARGET_RETURN_IN_MEMORY,
+       TARGET_EXPAND_BUILTIN_SAVEREGS, TARGET_SETUP_INCOMING_VARARGS,
+       TARGET_STRICT_ARGUMENT_NAMING,
+       TARGET_PRETEND_OUTGOING_VARARGS_NAMED, and TARGET_CALLS.
+       * target.h: Likewise.
+       * tree.h (aggregate_value_p): Also takes a tree to deduce function
+       attributes from (for target hooks).
+       * doc/tm.texi (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN,
+       PROMOTE_PROTOTYPES, RETURN_IN_MEMORY, STRUCT_VALUE_REGNUM,
+       STRUCT_VALUE, STRUCT_VALUE_INCOMING_REGNUM, STRUCT_VALUE_INCOMING,
+       EXPAND_BUILTIN_SAVEREGS, SETUP_INCOMING_VARARGS,
+       STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED): Convert
+       to hooks.
+       
+       * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Pass function
+       to aggregate_value_p.
+       * config/arm/arm.c (arm_init_cumulative_args,
+       arm_output_mi_thunk): Likewise.
+       * config/i386/i386.c (ix86_return_pops_args, x86_this_parameter):
+       Likewise.
+       * config/mips/mips.c (mips_save_reg_p, mips_expand_prologue,
+       mips_can_use_return_insn): Likewise.
+       * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Likewise.
+       * config/s390/s390.c (s390_output_mi_thunk): Likewise.
+       * config/sparc/sparc.c (sparc_output_mi_thunk): Pass function to
+       aggregate_value_p.
+       * config/story16/stormy16.c (xstormy16_asm_output_mi_thunk): Pass
+       function to aggregate_value_p.
+       * objc/objc-act.c (generate_struct_by_value_array): Pass NULL to
+       aggregate_value_p.
+       
+       * config/sh/sh-protos.h (sh_builtin_saveregs): Remove.
+       (sh_attr_renesas_p, sh_cfun_attr_renesas_p, sh_function_arg,
+       sh_function_arg_advance, sh_pass_in_reg_p): New.  * config/sh/sh.c
+       (sh_handle_renesas_attribute, sh_promote_prototypes,
+       sh_struct_value_rtx, sh_return_in_memory, sh_builtin_saveregs,
+       sh_setup_incoming_varargs, sh_strict_argument_naming,
+       sh_pretend_outgoing_varargs_named): New decls.
+       (targetm): Add new hooks.
+       (calc_live_regs): Save MACL and MACH if the function has the
+       renesas attribute.
+       (sh_expand_prologue): Support renesas attribute.
+       (sh_builtin_saveregs): Make static.
+       (sh_build_va_list): Support renesas attribute.
+       (sh_va_start): Likewise.
+       (sh_va_arg): Likewise.
+       (sh_promote_prototypes): New.
+       (sh_function_arg): New, moved from sh.h.  Support renesas
+       attribute.
+       (sh_function_arg_advance): Likewise.
+       (sh_return_in_memory): Likewise.
+       (sh_strict_argument_naming): Likewise.
+       (sh_pretend_outgoing_varargs_named): Likewise.
+       (sh_struct_value_rtx): New.
+       (sh_attribute): Add renesas attribute.
+       (sh_handle_renesas_attribute): New.
+       (sh_attr_renesas_p, sh_cfun_attr_renesas_p): New.
+       (sh_ms_bitfield_layout_p): Support renesas attribute also.
+       (sh_output_mi_thunk): Pass function to aggregate_value_p.  *
+       config/sh/sh.h (TARGET_SWITCHES): Add -mrenesas as an alias for
+       -mhitachi.
+       (STRUCT_VALUE_REGNUM, STRUCT_VALUE, RETURN_IN_MEMORY): Moved to
+       target hooks.
+       (sh_args): Add renesas_abi flag.
+       (INIT_CUMULATIVE_ARGS): Set it.  Pass fndecl to aggregate_value_p.
+       (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Move to sh.c.
+       (PASS_IN_REG_P): Support renesas attribute.  Pass DF and TF on the
+       stack for the renesas abi.
+       (STRICT_ARGUMENT_NAMING, PRETEND_OUTGOING_VARARGS_NAMED,
+       SETUP_INCOMING_VARARGS, EXPAND_BUILTIN_SAVEREGS,
+       PROMOTE_PROTOTYPES): Moved to sh.c.  * config/sh/sh.md (call): Set
+       call cookie to indicate renesas calls.
+       
+2003-09-03  Mostafa Hagog  <mustafa@il.ibm.com>
+
+       * gcse.c (replace_one_set): New function.
+       (pre_insert_copy_insn): Change the order of copying
+       to make copy propagation discover additional PRE opportunities.
+
+2003-09-03  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/11700.
+       * simplify-rtx.c (simplify_subreg): Check that the subreg offset
+       of a hard register is representable before trying to simplify it
+       using subreg_hard_regno.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (gcc_cv_ld_hidden): Disable unless using GNU ld.
+       * configure: Regenerate.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * intl.h (N_): Remove parentheses.
+
+2003-09-03  Bernardo Innocenti  <bernie@develer.com>
+
+       * config.gcc (m68k-*-linux*): Remove definition of LINUX_DEFAULT_ELF.
+       * config/i370/linux.h (LINUX_DEFAULT_ELF): Remove unconditional
+       definition and code blocks compiled when not defined.
+       * config/i386/linux.h (LINUX_DEFAULT_ELF): Likewise.
+       * config/i386/linux64.h (LINUX_DEFAULT_ELF): Likewise.
+       * config/sparc/linux.h: (LINUX_DEFAULT_ELF): Likewise.
+       * config/sparc/linux64.h: (LINUX_DEFAULT_ELF): Likewise.
+
+2003-09-03  Jeff Sturm  <jsturm@one-point.com>
+
+       * cgraphunit.c (visited_nodes): New static variable.
+       (record_call_1): Use walk_tree with visited_nodes.
+       (cgraph_create_edges): Use walk_tree with visited_nodes.
+       Setup/teardown visited_nodes hashtable.
+
+2003-09-03  Roger Sayle  <roger@eyesopen.com>
+
+       * toplev.c (flag_rounding_math): New global variable.
+       (f_options): Add to the list of language independent options.
+       * flags.h (flag_rounding_math): Prototype here.
+       (HONOR_SIGN_DEPENDENT_ROUNDING): Use flag_rounding_math instead.
+       * common.opt (frounding-math): New common command line option.
+       * opts.c (common_handle_option): Handle OPT_frounding_math.
+       (set_fast_math_flags): -ffast-math clears flag_rounding_math.
+
+       * doc/invoke.texi: Document this new command line option.
+
+2003-09-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * config/sol2.h (NO_IMPLICIT_EXTERN_C): Update comment.
+
+Wed Sep  3 16:55:25 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (c-objc-common.o): Kill gt-c-objc-common.h dependency.
+       * c-decl.c (finish_function):  Kill arguments, always use cgraph path.
+       * c-objc-common.c: Kill include of gt-c-objc-common.h
+       (expand_deferred_fns, deffer_fn): Kill function.
+       (deferred_fns): Kill variable.
+       (finish_cdtor): Update finish_function call.
+       (c_objc_common_finish_file): Always call cgraph code.
+       * c-parse.c: Regenerate.
+       * c-parse.y: Regenerate.
+       * c-tree.h (finish_function): Update prototype.
+       * objc-acct.c (build_module_descriptor, finish_method_def):
+       Update call of finish_function.
+       * cgraphunit.c (cgraph_default_inline_p, cgraph_analyze_function): Add
+       forward prototype.
+       (cgraph_finalize_function): In non-unit-at-a-time mode analyze the
+       function and assemble it if needed.
+       (cgraph_finalize_compilation_unit): Do nothing in non-unit-at-a-time
+       mode.
+       (cgraph_optimize): Likewise.
+       (cgraph_expand_function): In non-unit-at-a-time mode keep function body
+       even when it has no inline callees.
+       * c-parse.in: Update calls to finish_function.
+
+2003-09-03  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.h: Handle TARGET_CPU_iwmmxt.
+       Use #error to generate the message if TARGET_DEFAULT is not
+       recognised.
+
+2003-09-03  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.h (MASK_UNUSED1): Remove.
+       (MASK_XGOT, TARGET_XGOT): Define.
+       (TARGET_SWITCHES): Add an entry for -mxgot.
+       (ASM_SPEC): Map -mxgot to -xgot.
+       * config/mips/mips.c (mips_symbol_insns): Use TARGET_XGOT to decide
+       whether we're using a big-GOT sequences.
+       (mips_legitimize_const_move, mips_expand_call): Likewise.
+       (override_options): Revert 2003-01-09 change.
+       * doc/invoke.texi: Document -mxgot.
+
+2003-09-02  Jason Merrill  <jason@redhat.com>
+
+       * config/sol2.h (NO_IMPLICIT_EXTERN_C): Define here.
+       * config/sparc/sol2.h: Not here.
+
+2003-09-02  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_expr): The code following both_summands performs
+       the same task as simplify_gen_binary.  Replace all gotos to
+       both_summands with a call to simplify_gen_binary and delete the
+       now unused label.
+
+2003-09-02  Jason Merrill  <jason@redhat.com>
+
+       PR c++/7327
+       * config/sparc/sol2.h (NO_IMPLICIT_EXTERN_C): Define.
+
+2003-09-02  Jeff Sturm  <jsturm@one-point.com>
+
+       * cgraphunit.c (record_call_1): Use walk_tree_without_duplicates.
+       (cgraph_optimize_function): Set current_function_decl to the
+       fndecl we're integrating from.
+
+2003-09-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def: Break out _Complex math functions into their
+       own category.
+
+2003-09-02  Andreas Jaeger  <aj@suse.de>
+
+       * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_STMT): Cast properly.
+
+2003-09-02  Josef Zlomek  <zlomekj@suse.cz>
+
+       * cfgbuild.c (compute_outgoing_frequencies): Use NOTE instead of
+       finding the note again.
+
+2003-09-02  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Remove host-specific rewrites of target_alias.
+
+2003-09-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (genprogs): Fix typo.
+
+       * Makefile.in (gencheck.o): Remove build commands.
+       (dummy-conditions.o): Likewise.
+       (read-rtl.o): Likewise.
+       (gensupport.o): Likewise.
+       (genconfig$(build_exeext)): Remove rule.
+       (genconfig.o): Remove build commands.
+       (genflags$(build_exeext)): Remove rule.
+       (genflags.o): Remove build commands.
+       (gencodes$(build_exeext)): Remove rule.
+       (gencodes.o): Remove build commands.
+       (genconstants.o): Remove build commands.
+       (genemit$(build_exeext)): Remove rule.
+       (genemit.o): Remove build commands.
+       (genrecog$(build_exeext)): Remove rule.
+       (genrecog.o): Remove build commands.
+       (genextract$(build_exeext)): Remove rule.
+       (genextract.o): Remove build commands.
+       (genpeep$(build_exeext)): Remove rule.
+       (genpeep.o): Remove build commands.
+       (genattr$(build_exeext)): Remove rule.
+       (genattr.o): Remove build commands.
+       (genprognames): New variable.
+       (genprogs): Likewise.
+       (genobjs): Likewise.
+       (genprogs): New rule.
+       (genobjs): Likewise.
+       (genattrtab.o): Remove build commands.
+       (genautomata.o): Likewise.
+       (genoutput$(build_exeext)): Remove rule.
+       (genoutput.o): Remove build commands.
+       (gengenrtl.o): Likewise.
+       (genpreds.o): Likewise.
+       (gengtype.o): Likewise.
+       (genconditions.o): Likewise.
+       (gen-protos.o): Likewise.
+       (scan.o): Likewise.
+       (fix-header.o): Likewise.
+       (scan-decls.o): Likewise.
+       (check-g++): Combine with other check targets.
+       (check-gcc): Likewise.
+       (check-g77): Likewise.
+       (check-objc): Likewise.
+
+2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Remove host-specific stuff which is unused here
+       since the introduction of config.host.
+
+       * doc/fragments.texi: Mention config.host.
+       * doc/sourcebuild.texi: Mention config.host.  Give brief descriptions
+       of config.build, config.host, and config.gcc.
+
+2003-09-01  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-decl.c (pushdecl): Don't put variables on
+       C_TYPE_INCOMPLETE_VARS of a type unless that type is itself
+       incomplete.
+
+2003-09-01  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.host: New file.
+       * config.gcc: Remove some host-specific stuff and some
+       logic needed only for repeated invocation.
+       * configure.in: Use config.host.
+       * configure: Regenerate.
+
+2003-09-01  Josef Zlomek  <zlomekj@suse.cz>
+
+       * c-typeck.c (build_binary_op): Kill BIT_ANDTC_EXPR.
+       * convert.c (convert_to_integer): Kill BIT_ANDTC_EXPR.
+       * fold-const.c (int_const_binop): Kill BIT_ANDTC_EXPR.
+       (fold): Kill BIT_ANDTC_EXPR and label bit_and.
+       * tree.def (BIT_ANDTC_EXPR): Kill.
+
+2003-08-31  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * configure.in: Remove uses of "for x in .. ${foo}" idiom.
+       * configure: Regenerate.
+
+       * config.gcc:  Remove references to install_headers_dir, now unused
+       since introduction of config.build.
+       * config.gcc (i860-*-sysv4*): Don't set unused USG, SVR3 defines.
+
+       * doc/fragments.texi, doc/sourcebuild.texi: Mention new file
+       config.build.
+
+       * config.build: New file.
+       * config.gcc: Remove some build-specific stuff.
+       * configure.in: Use config.build.
+       * configure: Regnerate.
+
+2003-08-31  Steven Bosscher  <steven@gcc.gnu.org>
+           Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/11823
+       * stmt.c (expand_end_case_type): Only use jump tables for dense
+       switch statements when optimizing for size.
+
+2003-08-31  Olivier Hainque  <hainque@act-europe.fr>
+
+       * builtins.c (expand_builtin_setjmp): Use emit_jump to jump around
+       the != 0 case, which ensures pending stack adjustments are flushed.
+
+2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+
+       * configure.frag: Delete file.
+       * configure.in: Rename the substitution variables
+       dep_host_xmake_file and dep_tmake_file to xmake_file and
+       tmake_file respectively.  Do not expand $srcdir in the
+       value of these; leave that for Make.  Introduce a new
+       substitution varaible, all_lang_makefrags, which lists
+       subdirectory Make-lang.in files; exclude these from
+       all_lang_makefiles, which is now only for subdirectory
+       outputs.  Do not invoke configure.frag.  Do not set nor
+       AC_SUBST_FILE target_overrides, host_overrides, or
+       language_fragments. Create build subdirectories in
+       config.status extra commands.
+       * configure: Regenerate.
+       * Makefile.in: Update substitutions to match changes to
+       configure.  Use include directives instead of @-insertions
+       to read in host, target, and language fragments.
+       (Makefile rule): Do not invoke configure.frag.  Do not copy
+       config.status to config.run before executing it.  Set
+       CONFIG_HEADERS and CONFIG_FILES so that only Makefile gets
+       regenerated.
+       (cstamp-h rule): Set CONFIG_FILES as well as CONFIG_HEADERS.
+
+2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-tree.h: Delete COMPARE_DIFFERENT_TU from enumeration.
+       * c-typeck.c (same_translation_unit_p): New function.
+       (comptypes): Use it instead of flags parameter to identify
+       structure types from different translation units.
+       * c-decl.c (duplicate_decls): Always call comptypes with
+       COMPTYPE_STRICT flags argument.
+       (c_reset_state): Set BLOCK_SUPERCONTEXT of the block formed
+       to file_scope_decl.
+
+2003-08-30  Zack Weinberg  <zack@codesourcery.com>
+
+       * c-tree.h (C_TYPE_INCOMPLETE_VARS): New macro.
+       * c-decl.c (struct c_scope): Remove "incomplete" field.
+       (pushdecl): Attach variables with incomplete types to
+       the TYPE_MAIN_VARIANT of the incomplete type in question.
+       (finish_struct): Look at C_TYPE_INCOMPLETE_VARS for variables
+       to complete, not at current_scope->incomplete.  All such
+       variables do need completion.
+
+2003-08-30  Richard Earnshaw  <rearnsha@arm.com>
+       Nicolas Pitre <nico@cam.org>
+
+       * arm/lib1funcs.asm (RETCOND): Delete.
+       (RETLDM): New assembler macro.  Use it for returning with ldm/ldr.
+       (ARM_LDIV0, THUMB_LDIV0): Collapse multiple definitions.
+       (__ARM_ARCH__): Move here from ieee754-?f.S.
+       (RET, RETc): Clean up definitions.
+       (DIV_FUNC_END): Renamed from FUNC_END.  All uses changed.
+       (FUNC_END): New macro that marks the end of any function.
+       (ARM_FUNC_START): New macro that allows an assembler routine to be
+       implemented in ARM code even if a Thumb-only build.
+       Unconditionally include ieee754-?f.S.
+       * arm/ieee754-df.S: Delete macros moved to lib1funcs.asm.
+       Mark ends of functions.
+       Split into separate conditionally-compiled units.
+       Use RETLDM to return from routines.
+       * arm/ieee754-sf.S: Similarly.
+       * t-arm-elf (LIB1ASMFUNCS): Remove _ieee754_dp and _ieee754_sp.
+       Add _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi
+       _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2
+       _fixsfsi and _fixunssfsi.
+
+       * arm/ieee754-df.S (__muldf3): Fix bug when result of a
+       multiplication underflows to zero.
+       (__adddf3): Fix bug when using VFP ordering on little-endian
+       processors.
+       (__fixdfsi): Use rrx to extract the carry into a register instead of
+       MRS instruction.  Optimize later use of result.
+       * arm/ieee754-sf.S (__fixsfsi): Likewise.
+       (__fixunssfsi): Use a better sequence for handling negative-or-zero.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * tree-optimize.c: New file.
+       * Makefile.in (OBJS-archive): Add tree-optimize.o.
+       (tree-optimize.o): New.
+       * c-decl.c (store_parm_decls): Use allocate_struct_function.
+       (finish_function): Don't free_after_parsing or free_after_compilation.
+       (set_save_expr_context): Move to tree-optimize.c.
+       (c_expand_body_1): Use tree_rest_of_compilation.
+       * c-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+       * objc/objc-lang.c (LANG_HOOKS_RTL_EXPAND_STMT): New.
+       * c-objc-common.c (expand_deferred_fns): Don't emit unused inlines;
+       iterate until closure.
+       * langhooks-def.h (LANG_HOOKS_RTL_EXPAND_START,
+       LANG_HOOKS_RTL_EXPAND_STMT, LANG_HOOKS_RTL_EXPAND_END): New.
+       (LANG_HOOKS_RTL_EXPAND_INITIALIZER): New.
+       * langhooks.h (struct lang_hooks_for_rtl_expansion): New.
+       * toplev.h (tree_rest_of_compilation): Declare it.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * function.h (struct function): Add rtl_inline_init, saved_for_inline.
+       * integrate.c (save_for_inline): Set saved_for_inline.
+       * c-semantics.c (genrtl_scope_stmt): Check it.
+       * toplev.c (wrapup_global_declarations): Check it.
+       (rest_of_handle_inlining): Set and check rtl_inline_init.
+       (rest_of_compilation): Remove out of date comment.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * function.c (allocate_struct_function): New, split out of ...
+       (prepare_function_start, init_function_start): ... here.
+       * expr.c (init_expr): Use ggc_alloc_cleared.
+       * stmt.c (init_stmt_for_function): Likewise.
+       * tree.h (allocate_struct_function): Declare.
+
+2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Don't use negated character class in shell case
+       clause.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * function.h (struct function): Move function_frequency and
+       max_jumptable_ents before start of bit field members.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * builtins.c (expand_builtin_constant_p): Check cse_not_expected here,
+       (fold_builtin_constant_p) ... not here.
+
+2003-08-29  Richard Henderson  <rth@redhat.com>
+
+       * c-tree.h (C_DECL_FILE_SCOPE): Move ...
+       * tree.h (DECL_FILE_SCOPE_P): ... here, and rename.
+       * c-decl.c, c-objc-common.c, c-typeck.c: Update to match.
+
+2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.def: Fix typos.
+       (ATTR_MATHFN_FPROUNDING_STORE): New macro.
+       (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL, BUILT_IN_MODF,
+       BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO, BUILT_IN_REMQUOF,
+       BUILT_IN_REMQUOL, BUILT_IN_SINCOS, BUILT_IN_SINCOSF,
+       BUILT_IN_SINCOSL): Use ATTR_MATHFN_FPROUNDING_STORE.
+
+       * builtins.def (BUILT_IN_ERFC, BUILT_IN_ERFCF, BUILT_IN_ERFCL):
+       Use ATTR_MATHFN_FPROUNDING_ERRNO.
+
+2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc (i386-*-vsta): Fix obvious bogosity.
+
+       * fixinc/inclhack.def:  Remove special cases for unsupported
+       PTX 1 and PTX 2 (including i[34567]86-sequent-sysv3).
+       * fixinc/fixincl.x: Regenerate.
+
+2003-08-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * Makefile.in (cpp.info): Just state dependencies.
+       (gcc.info): Likewise.
+       (gccint.info): Likewise.
+       (gccinstall.info): Likewise.
+       (cppinternals.info): Likewise.
+       (cpp.dvi): Likewise.
+       (gcc.dvi): Likewise.
+       (gccint.dvi): Likewise.
+       (gccinstall.dvi): Likewise.
+       (cppinternals.dvi): Likewise.
+       (gcov.1): Likewise.
+       (cpp.1): Likewise.
+       (gcc.1): Likewise.
+       (gfdl.7): Likewise.
+       (gpl.7): Likewise.
+       (fsf-funding.7): Likewise.
+       ($(objdir)/%.info): New pattern rule.
+       (%.dvi): Likewise.
+
+2003-08-29  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * Makefile.in (restage1): Pass BOOT_CFLAGS to recursive make.
+       (restage2): Likewise.
+       (restage3): Likewise.
+       (restage4): Likewise.
+       (restageprofile): Likewise.
+       (restagefeedback): Likewise.
+       (bubblestrap): Likewise.
+
+2003-08-29  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * config.gcc: Narrow unsupported target match to avoid clobbering
+       i?86-sequent-sysv4*.
+
+2003-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (mathfn_built_in): Handle new math builtins.
+
+2003-08-28  Per Bothner  <per@bothner.com>
+
+       Fix (hopefully temporary) for breakage caused by my 08-21 patch.
+       * cpplex.c (_cpp_get_fresh_line):  Check for null buffer.
+       (_cpp_lex_buffer):  Likewise.
+       * cpptrad.c (_cpp_read_logical_line_trad):  Likewise.
+
+2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.md ("*mulsi3_sign"): New insn.
+       ("mulsidi3" expander, "mulsi_6432" insn): Remove, replace by ...
+       ("mulsidi3"): ... this new insn.
+       ("umulsidi3"): New insn.
+       ("divmoddi3", "divmodtidi3", "divmodtisi3"): Simplify by using
+       mixed-mode matching constraints.
+       ("udivmodsi4", "udivmoddisi3"): New insns.
+       ("udivsi3", "umodsi3"): Use only in ESA/390 mode.
+
+2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def (BT_INT_PTR, BT_FLOAT_PTR, BT_DOUBLE_PTR,
+       BT_LONGDOUBLE_PTR, BT_FN_FLOAT_FLOAT_FLOATPTR,
+       BT_FN_DOUBLE_DOUBLE_DOUBLEPTR,
+       BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLEPTR,
+       BT_FN_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_INTPTR,
+       BT_FN_LONGDOUBLE_LONGDOUBLE_INTPTR,
+       BT_FN_FLOAT_FLOAT_FLOAT_INTPTR, BT_FN_DOUBLE_DOUBLE_DOUBLE_INTPTR,
+       BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_INTPTR,
+       BT_FN_VOID_FLOAT_FLOATPTR_FLOATPTR,
+       BT_FN_VOID_DOUBLE_DOUBLEPTR_DOUBLEPTR,
+       BT_FN_VOID_LONGDOUBLE_LONGDOUBLEPTR_LONGDOUBLEPTR): New.
+       * builtins.def (BUILT_IN_FREXP, BUILT_IN_FREXPF, BUILT_IN_FREXPL,
+       BUILT_IN_MODF, BUILT_IN_MODFF, BUILT_IN_MODFL, BUILT_IN_REMQUO,
+       BUILT_IN_REMQUOF, BUILT_IN_REMQUOL, BUILT_IN_SINCOS,
+       BUILT_IN_SINCOSF, BUILT_IN_SINCOSL): New.
+       * tree.c: Assign new type_nodes.
+       * tree.h (tree_index): Add TI_FLOAT_PTR_TYPE, TI_DOUBLE_PTR_TYPE,
+       TI_LONG_DOUBLE_PTR_TYPE, TI_INTEGER_PTR_TYPE.
+       (float_ptr_type_node, double_ptr_type_node,
+       long_double_ptr_type_node, integer_ptr_type_node): New type_nodes.
+
+       * doc/extend.texi: Document new builtins.
+
+2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def (BT_FN_FLOAT_INT_FLOAT,
+       BT_FN_DOUBLE_INT_DOUBLE, BT_FN_LONGDOUBLE_INT_LONGDOUBLE): New.
+
+       * builtins.def (BUILT_IN_ERF, BUILT_IN_ERFC, BUILT_IN_ERFCF,
+       BUILT_IN_ERFCL, BUILT_IN_ERFF, BUILT_IN_ERFL, BUILT_IN_GAMMA,
+       BUILT_IN_GAMMAF, BUILT_IN_GAMMAL, BUILT_IN_J0, BUILT_IN_J0F,
+       BUILT_IN_J0L, BUILT_IN_J1, BUILT_IN_J1F, BUILT_IN_J1L,
+       BUILT_IN_JN, BUILT_IN_JNF, BUILT_IN_JNL, BUILT_IN_LGAMMA,
+       BUILT_IN_LGAMMAF, BUILT_IN_LGAMMAL, BUILT_IN_SIGNIFICAND,
+       BUILT_IN_SIGNIFICANDF, BUILT_IN_SIGNIFICANDL, BUILT_IN_TGAMMA,
+       BUILT_IN_TGAMMAF, BUILT_IN_TGAMMAL, BUILT_IN_Y0, BUILT_IN_Y0F,
+       BUILT_IN_Y0L, BUILT_IN_Y1, BUILT_IN_Y1F, BUILT_IN_Y1L,
+       BUILT_IN_YN, BUILT_IN_YNF, BUILT_IN_YNL): New.
+
+       * doc/extend.texi: Document new builtins.
+
+2003-08-28  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * fixinc/mkfixinc.sh: Remove special case code for unsupported
+       variants of i?86, powerpcle, and thumb.
+       * fixinc/mkfixinc.sh: Remove special case code for unsupported
+       arm and hppa variants.
+
+2003-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def (BT_FN_INT_FLOAT, BT_FN_INT_DOUBLE,
+       BT_FN_INT_LONGDOUBLE, BT_FN_LONG_FLOAT, BT_FN_LONG_DOUBLE,
+       BT_FN_LONG_LONGDOUBLE, BT_FN_LONGLONG_FLOAT,
+       BT_FN_LONGLONG_DOUBLE, BT_FN_LONGLONG_LONGDOUBLE,
+       BT_FN_FLOAT_FLOAT_LONGDOUBLE, BT_FN_DOUBLE_DOUBLE_LONGDOUBLE,
+       BT_FN_FLOAT_FLOAT_INT, BT_FN_DOUBLE_DOUBLE_INT,
+       BT_FN_LONGDOUBLE_LONGDOUBLE_INT, BT_FN_FLOAT_FLOAT_LONG,
+       BT_FN_DOUBLE_DOUBLE_LONG, BT_FN_LONGDOUBLE_LONGDOUBLE_LONG,
+       BT_FN_FLOAT_FLOAT_FLOAT_FLOAT, BT_FN_DOUBLE_DOUBLE_DOUBLE_DOUBLE,
+       BT_FN_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE_LONGDOUBLE): New.
+
+       * builtins.def (BUILT_IN_ACOS, BUILT_IN_ACOSF, BUILT_IN_ACOSH,
+       BUILT_IN_ACOSHF, BUILT_IN_ACOSHL, BUILT_IN_ACOSL, BUILT_IN_ASIN,
+       BUILT_IN_ASINF, BUILT_IN_ASINH, BUILT_IN_ASINHF, BUILT_IN_ASINHL,
+       BUILT_IN_ASINL, BUILT_IN_ATANH, BUILT_IN_ATANHF, BUILT_IN_ATANHL,
+       BUILT_IN_CBRT, BUILT_IN_CBRTF, BUILT_IN_CBRTL, BUILT_IN_COPYSIGN,
+       BUILT_IN_COPYSIGNF, BUILT_IN_COPYSIGNL, BUILT_IN_COSH,
+       BUILT_IN_COSHF, BUILT_IN_COSHL, BUILT_IN_DREM, BUILT_IN_DREMF,
+       BUILT_IN_DREML, BUILT_IN_EXP10, BUILT_IN_EXP10F, BUILT_IN_EXP10L,
+       BUILT_IN_EXP2, BUILT_IN_EXP2F, BUILT_IN_EXP2L, BUILT_IN_EXPM1,
+       BUILT_IN_EXPM1F, BUILT_IN_EXPM1L, BUILT_IN_FDIM, BUILT_IN_FDIMF,
+       BUILT_IN_FDIML, BUILT_IN_FMA, BUILT_IN_FMAF, BUILT_IN_FMAL,
+       BUILT_IN_FMAX, BUILT_IN_FMAXF, BUILT_IN_FMAXL, BUILT_IN_FMIN,
+       BUILT_IN_FMINF, BUILT_IN_FMINL, BUILT_IN_HYPOT, BUILT_IN_HYPOTF,
+       BUILT_IN_HYPOTL, BUILT_IN_ILOGB, BUILT_IN_ILOGBF, BUILT_IN_ILOGBL,
+       BUILT_IN_LDEXP, BUILT_IN_LDEXPF, BUILT_IN_LDEXPL, BUILT_IN_LLRINT,
+       BUILT_IN_LLRINTF, BUILT_IN_LLRINTL, BUILT_IN_LLROUND,
+       BUILT_IN_LLROUNDF, BUILT_IN_LLROUNDL, BUILT_IN_LOG10,
+       BUILT_IN_LOG10F, BUILT_IN_LOG10L, BUILT_IN_LOG1P, BUILT_IN_LOG1PF,
+       BUILT_IN_LOG1PL, BUILT_IN_LOG2, BUILT_IN_LOG2F, BUILT_IN_LOG2L,
+       BUILT_IN_LOGB, BUILT_IN_LOGBF, BUILT_IN_LOGBL, BUILT_IN_LRINT,
+       BUILT_IN_LRINTF, BUILT_IN_LRINTL, BUILT_IN_LROUND,
+       BUILT_IN_LROUNDF, BUILT_IN_LROUNDL, BUILT_IN_NEXTAFTER,
+       BUILT_IN_NEXTAFTERF, BUILT_IN_NEXTAFTERL, BUILT_IN_NEXTTOWARD,
+       BUILT_IN_NEXTTOWARDF, BUILT_IN_NEXTTOWARDL, BUILT_IN_POW10,
+       BUILT_IN_POW10F, BUILT_IN_POW10L, BUILT_IN_REMAINDER,
+       BUILT_IN_REMAINDERF, BUILT_IN_REMAINDERL, BUILT_IN_RINT,
+       BUILT_IN_RINTF, BUILT_IN_RINTL, BUILT_IN_SCALB, BUILT_IN_SCALBF,
+       BUILT_IN_SCALBL, BUILT_IN_SCALBLN, BUILT_IN_SCALBLNF,
+       BUILT_IN_SCALBLNL, BUILT_IN_SCALBN, BUILT_IN_SCALBNF,
+       BUILT_IN_SCALBNL, BUILT_IN_SINH, BUILT_IN_SINHF, BUILT_IN_SINHL,
+       BUILT_IN_TANH, BUILT_IN_TANHF, BUILT_IN_TANHL): New.
+
+       * doc/extend.texi: Document new builtins.
+
+2003-08-28  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (legitmate_constant_p): Use LARL on
+       zSeries machines even in 31-bit addressing mode.
+       (legitimate_reload_constant_p): Likewise.
+       (legitimize_pic_address): Likewise.
+       (legitimize_tls_address): Likewise.
+       (s390_split_branches): Likewise.
+       (s390_dump_pool): Likewise.
+       (s390_mainpool_finish): Likewise.
+       (s390_chunkify_start): Likewise.
+       (s390_select_rtx_section): Likewise.
+       * config/s390/s390.md ("doloop_si"): Likewise.
+       ("pool_start_31", "pool_end_31"): Likewise.
+       ("pool_start_64", "pool_end_64"): Likewise.
+       ("main_base_31_small", "main_base_31_large"): Likewise.
+       ("main_base_64"): Likewise.
+       ("reload_base_31", "reload_base_64"): Likewise.
+       ("*movsi_larl"): New insn.
+       ("cjump", "icjump"): Use long branches on zSeries machines.
+       ("jump"): Likewise.
+       ("call"): Use BRASL on zSeries machines.
+       ("call_value", "call_value_tls"): Likewise.
+       ("brasl", "bras", "basr_64", "basr_31", "bas_64", "bas_31"): Remove
+       and replace by ...
+       ("*bras", "*brasl", "*basr") ... these new insns.
+       ("brasl_r", "bras_r", "basr_64_r", "basr_31_r", "bas_64_r",
+       "bas_31_r"): Remove and replace by ...
+       ("*bras_r", "*brasl_r", "*basr_r") ... these new insns.
+       ("brasl_tls", "bras_tls", "basr_64_tls", "basr_31_tls",
+       "bas_64_tls", "bas_31_tls"): Remove and replace by ...
+       ("*bras_tls", "*brasl_tls", "*basr_tls") ... these new insns.
+       ("*return_si", "*return_di"): Remove and replace by ...
+       ("*return"): ... this new insn.
+       ("rotlsi3"): Allow on zSeries machines.
+
+       * config/s390/s390.c (legitimize_reload_constant_p): Use
+       LL/LH type instructions in z/Architecture mode.
+       * config/s390/s390.md ("*movsi_lli"): Likewise.
+       ("*andsi3_ni", "*andhi3_ni", "*andqi3_ni"): Likewise.
+       ("*iorsi3_ni", "*iorhi3_ni", "*iorqi3_ni"): Likewise.
+       ("*extendqisi2"): Use LB in z/Architecture mode.
+       ("*zero_extendqisi2_64", "*zero_extendqisi2_31"): Use LLGC in
+       z/Architecture mode.
+       ("zero_extendqihi2", "*zero_extendqihi2_64", "*zero_extendqihi2_31"):
+       Likewise.
+
+       * config/s390/s390.md ("*tmdi_ext"): Allow in both 64-bit
+       and 31-bit mode.
+       ("ptr_extend"): Allow only in 64-bit mode.
+
+2003-08-27  Daniel Jacobowitz  <drow@mvista.com>
+
+       * gcc.c (STANDARD_EXEC_PREFIX, STANDARD_STARTFILE_PREFIX)
+       (TOOLDIR_BASE_PREFIX, STANDARD_BINDIR_PREFIX): Remove unnecessary
+       definitions.
+       (main): Only use standard_startfile_prefix if native.
+       * doc/tm.texi (STANDARD_STARTFILE_PREFIX): Update.
+
+2003-08-27  Per Bothner  <pbothner@apple.com>
+
+       * cpperror.c (print_location):  Don't check for !pfile->buffer.  That
+       test fails following my 08-21 change, and it seems unnecessary anyway.
+       (cpp_error):  Likewise.
+
+2003-08-27  Jason Merrill  <jason@redhat.com>
+
+       * real.c (do_multiply): Initialize with memset.
+
+2003-08-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcov.c (typedef struct arc_info): New field cs_count.
+       (accumulate_line_counts): Find cycles correctly.
+
+2003-08-27  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (struct machine_function): Remove member
+       literal_pool_label.
+       (s390_optimize_prolog): Replace TEMP_REG argument with
+       TEMP_USED and BASE_USED.  Do not check get_pool_size ().
+       (general_s_operand): Accept all immediates before reload if
+       ALLOW_IMMEDIATE.  If not ALLOW_IMMEDIATE, reject literal pool
+       references.
+       (s390_output_symbolic_const): Remove UNSPEC_LTREL_OFFSET handling.
+       (find_constant_pool_ref): Ignore UNSPECV_POOL_ENTRY insns.
+       (s390_alloc_pool): New function.
+       (s390_new_pool): Call it.
+       (s390_dump_pool): Add REMOTE_LABEL argument.
+       (s390_chunkify_start): Add BASE_REG argument.  Do not check
+       get_pool_size ().
+       (s390_chunkify_finish): Add BASE_REG argument.  Adapt
+       s390_dump_pool call.
+       (s390_pool_count, s390_nr_constants): Remove.
+       (s390_output_constant_pool): Remove.
+       (s390_mainpool_start): New function.
+       (s390_mainpool_finish): New function.
+       (s390_mainpool_cancel): New function.
+       (s390_reorg): Implement main literal pool handling.
+       (s390_emit_prologue): Emit main_pool placeholder instead of
+       literal_pool_31 / literal_pool_64 insns.
+       * config/s390/s390.h (s390_pool_count, s390_nr_constants): Remove.
+       (ASM_OUTPUT_POOL_PROLOGUE, ASM_OUTPUT_SPECIAL_POOL_ENTRY): Remove.
+       * config/s390/s390.md (UNSPEC_MAIN_BASE): New symbolic constant.
+       ("main_base_31_small", "main_base_31_large"): New insns.
+       ("main_base_64",  "main_pool"): New insns.
+       ("literal_pool_31", "literal_pool_64"): Remove.
+
+2003-08-27  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * fixinc/inclhack.def (ptx_netswap): New disabled fix, ported from
+       fixinc.ptx.
+       * fixinc/inclhack.def (undefine_null):  Don't generate \r characters.
+       Prettify a little.
+       * fixinc/fixincl.x: Regenerate.
+
+2003-08-27  Richard Earnshaw  <rearnsha@arm.com>
+
+       * lib1funcs.asm (L_ieee754_sp): New.  Include ieee754-sf.S.
+       (L_ieee754_dp): New.  Include ieee754-df.S.
+       * arm/ieee754-sf.S: Rework to allow interworking, calling from Thumb,
+       and compilation in apcs-26 mode.
+       * arm/ieee754-df.S: Likewise.
+       * t-arm-elf (DPBIT, FPBIT, fp-bit.c dp-bit.c): Delete rules
+       (LIB1ASMFUNCS): Add _ieee754_sp and _ieee754_dp targets.
+
+2003-08-27  Nicolas Pitre  <nico@cam.org>
+
+       * arm/ieee754-sf.S: New.
+       * arm/ieee754-df.S: New.
+
+2003-08-27  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (expand_builtin_expect_jump): Save pending_stack_adjust
+       and restore it if returning NULL.
+
+2003-08-27  Richard Sandiford  <rsandifo@redhat.com>
+
+       * calls.c (initialize_argument_information): If an argument has no
+       stack space associated with it, and BLOCK_REG_PADDING is defined,
+       use it to decide at which end the argument should be padded.
+       * function.c (assign_parms): Allocate BLKmode stack slots.
+       * config/mips/mips-protos.h (mips_pad_arg_upward): Declare.
+       (mips_pad_reg_upward): Declare.
+       * config/mips/mips.h (PAD_VARARGS_DOWN): Use FUNCTION_ARG_PADDING.
+       (CUMULATIVE_ARGS): Remove num_adjusts and adjusts.
+       (FUNCTION_ARG_PADDING): Use mips_pad_arg_upward.
+       (BLOCK_REG_PADDING): Use mips_pad_reg_upward.
+       * config/mips/mips.c (struct mips_arg_info): Remove struct_p.
+       (mips_expand_call): Remove code for generating structure shifts.
+       (mips_arg_info): Don't set struct_p.  Don't set fpr_p for non-float
+       types unless using the EABI.
+       (function_arg_advance): Don't generate shift instructions.
+       (function_arg): Don't return them.  Don't short-circuit the
+       check for double structure chunks for DFmode arguments.
+       (mips_pad_arg_upward, mips_pad_reg_upward): New functions.
+       (mips_expand_prologue): Remove code to emit structure shifts.
+       * config/mips/irix6-libc-compat.c: Remove workarounds for buggy
+       structure passing (inet_ntoa, inet_lnaof, inet_netof).  Update
+       comments to say that only structure returns are a problem.
+
+2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * fixinc/tests/base/string.h, fixinc/tests/base/sys/regset.h:
+       Fix to match produced versions.
+       * fixinc/inclhack.def (longlong_t): New disabled test, ported
+       from fixinc.svr4.
+       * fixinc/inclhack.def (ptx_pwd_h): New disabled fix, ported
+       from fixinc.ptx.
+       * fixinc/inclhack.def (ptx_sys_mc_param_h): New disabled fix,
+       ported from fixinc.ptx.
+
+2003-08-26  Per Bothner  <pbothner@apple.com>
+
+       * cpplib.h (struct cpp_token):  Change type of field line to fileline.
+       (cpp_error_with_line):  Use fileline for appropriate parameter.
+       * cpphash.h (struct cpp_macro):  Change type of field line to fileline.
+       (struct cpp_reader):  Likewise for fields line and directive_line.
+       (_cpp_begin_message):  Use fileline for appropriate parameter.
+       * cpperror.c (print_location, _cpp_begin_message, cpp_error_with_line,
+       cpp_error):  Use fileline for appropriate parameters and variables.
+       (print_location):  New local lin, since it is not a fileline.
+
+2003-08-26  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/12002
+       * tree.h (SCALAR_FLOAT_TYPE_P, COMPLEX_FLOAT_TYPE_P): New macros.
+       (FLOAT_TYPE_P): Define in terms of these two new macros.
+       * fold-const.c (fold <PLUS_EXPR>): Don't convert x+x into x*2.0
+       for complex floating point types.
+
+2003-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (emit_prologue): Don't check literal pool size.
+       * config/s390/s390.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Call
+       s390_output_pool_entry.
+
+2003-08-26  Nathanael Nerode  <neroden@gcc.gnu.org>
+
+       * fixinc/inclhack.def (svr4_preproc_lint_on,
+       svr4_preproc_lint_off, svr4_preproc_machine): New disabled
+       fixes, ported from fixinc.svr4.
+
+2003-08-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * doc/install.texi (Prerequisites): Mention GNU make requirement.
+
+       * Makefile.in (AR_FOR_TARGET): Export it.
+       (AR_CREATE_FOR_TARGET): Likewise.
+       (AR_FLAGS_FOR_TARGET): Likewise.
+       (AR_EXTRACT_FOR_TARGET): Likewise.
+       (AWK): Likewise.
+       (BUILD_PREFIX): Likewise.
+       (BUILD_PREFIX_1): Likewise.
+       (DESTDIR): Likewise.
+       (GCC_FOR_TARGET): Likewise.
+       (INCLUDES): Likewise.
+       (INSTALL_DATA): Likewise.
+       (LIB1ASMSRC): Likewise.
+       (LIBGCC2_CFLAGS): Likewise.
+       (MACHMODE_H): Likewise.
+       (NM_FOR_TARGET): Likewise.
+       (RANLIB_FOR_TARGET): Likewise.
+       (libsubdir): Likewise.
+       (slibdir): Likewise.
+       (ORDINARY_FLAGS_TO_PASS): Remove stuff that we're
+       exporting.
+       (libgcc.a): Don't pass them here.
+       (stmp-multilib): Or here.
+       (install-libgcc): Or here.
+       (install-multilib): Or here.
+       (POSTSTAGE1_FLAGS_TO_PASS): Or here.
+       (stage1_build): Or here.
+
+2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("*llgt_sisi", "*llgt_sisi_split", "*llgt_didi",
+       "*llgt_didi_split", "*llgt_sidi", "*llgt_sidi_split"): New insns.
+
+2003-08-26  Andreas Krebbel <krebbel1@de.ibm.com>
+
+       * config/s390/s390.md ("*fmadddf", "*fmsubdf",
+       "*fmaddsf", "*fmsubsf"): New insns.
+
+2003-08-26  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (fold <MULT_EXPR>): Optimize (C1/X)*C2 into
+       (C1*C2)/X when unsafe math optimizations are allowed.
+       (fold <RDIV_EXPR>): Optimize C1/(X*C2) into (C1/C2)/X with unsafe
+       math optimizations.  Minor code clean-ups.  Recursively call
+       fold when constructing sub-expressions.
+
+2003-08-26  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_builtin_bitop): New function to perform constant
+       folding of ffs, clz, ctz, popcount and parity builtin functions
+       and their long and long long variants (such as ffsl and ffsll).
+       (fold_builtin): fold_builtin_bitop when appropriate.
+       * simplify-rtx.c (simplify_unary_operation): Honor both
+       CLZ_DEFINED_VALUE_AT_ZERO and CTZ_DEFINED_VALUE_AT_ZERO when
+       evaluating clz and ctz at compile-time, for operands wider
+       than HOST_WIDE_INT.
+
+2003-08-26  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * builtins.c (build_function_call_expr): Don't set
+       TREE_SIDE_EFFECTS here.
+       * expr.c (emit_block_move_via_libcall): Likewise.
+       (clear_storage_via_libcall): Likewise.
+       * tree.c (build): Set TREE_SIDE_EFFECTS for non-const, non-pure
+       CALL_EXPRs.
+
+       * gcse.c (is_too_expensive): New function.
+       (gcse_main, delete_null_pointer_checks, bypass_jumps): Use it.
+
 2003-08-25  Zack Weinberg  <zack@codesourcery.com>
 
        * config.gcc (hppa*-*-hpux11*, ia64*-*-hpux*): Remove
@@ -546,7 +1528,7 @@ Wed Aug 20 12:08:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
        * config/s390/s390.h: Prefix #include of s390/fixdfdi.h
        [under IN_LIBGCC2] with config/.
 
-2003-08-21  Per Bothner  <bothner@pbothner.com>
+2003-08-21  Per Bothner  <pbothner@apple.com>
 
        * cppfiles.c (stack_file):  Correctly pass return_at_eof parameter
        to cpp_push_buffer.
@@ -1300,7 +2282,7 @@ Wed Aug 20 12:08:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
        (get_identifier_with_length): Change  type of second argument to
        size_t in function definition.
        * hashtable.c (calc_hash): Change type of second argument to size_t.
-       (ht_lookup): Change type of third argument to size_t.  Reorganize
+       (ht_lookup): Change type of third argument to size_t.  Reorganize
        to speed-up the cases where the hash table slot is empty, or the
        first probe matches (i.e. there isn't a collision).
        * hashtable.h (ht_lookup): Adjust function prototype.
@@ -3383,7 +4365,7 @@ objc:
 
        * config/mmix/mmix-protos.h: Convert prototypes to ISO C90.
        * config/mmix/mmix.c: Convert functions to ISO C90.
-       (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
+       (mmix_eh_return_handler_rtx, mmix_output_shifted_value): Tweak
        formatting.
        (mmix_get_hard_reg_initial_val): Tweak section head comment.