+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc: Add v850e1 target. Allow --with-cpu to accept
+ v850e1.
+ * config/v850/v850.h: Accept v850e1 as a default CPU.
+ Accept -mv850e1 as a command line option.
+ * doc/invoke.texi: Document new -mv850e1 command line switch.
+ * config/v850/t-v850: Treat -mv850e1 as a multilib alias for
+ -mv850e.
+
+2003-09-04 Nick Clifton <nickc@redhat.com>
+
+ * config.gcc (v850e-*-*): Use t-v850e makefile fragment.
+ * config/v850/t-v850: Only produce one extra multilib - for
+ the v850e.
+ * config/v850/t-v850e: New file: Only produce one extra
+ multilib - for the v850.
+
+2003-09-04 Jakub Jelinek <jakub@redhat.com>
+
+ * config/ia64/libgcc-ia64.ver: Export _Unwind_GetBSP@@GCC_3.3.2.
+ * config/ia64/unwind-ia64.c (_Unwind_GetBSP): New function.
+ * unwind.h (_Unwind_GetBSP): New prototype.
+ * libgcc-std.ver: Add empty GCC_3.3.2 version.
+ * mkmap-symver.awk: For symbol versions with no exported symbols,
+ don't put anything into version script, just change all symbol
+ versions which inherit from it to inherit from its ancestor.
+
+2003-09-04 Eric Christopher <echristo@redhat.com>
+
+ * config/mips/mips.c (mips_expand_prologue): Convert to
+ calls.struct_value_rtx hook.
+ (reg_or_const_float_1_operand): New.
+ * config/mips/mips.h: Update Comments.
+ (mips_arg): Add reg_or_const_float_1_operand.
+ * config/mips/mips.md (divdf3); Convert to expander.
+ (divsf3): Ditto.
+ (*divdf3): New pattern.
+ (*divsf3): Ditto.
+
+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.