OSDN Git Service

Add support for v850e1 processor - a variant of the v850e.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 28e64ef..1608f4f 100644 (file)
@@ -1,3 +1,311 @@
+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.