OSDN Git Service

* config/m68k/m68k.c (output_move_const_into_data_reg,
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a09b228..0438374 100644 (file)
@@ -1,3 +1,383 @@
+2003-08-20  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (output_move_const_into_data_reg,
+       output_move_himode): unify MOTOROLA/MIT handling of moveq
+       * config/m68k/m68k.md (movsi_const0, anonymous define_insn):
+       Likewise
+
+2003-08-20  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): use %U in
+       label name
+       * config/m68k/m68k.c (m68k_output_function_epilogue): replace
+       HOST_WIDE_INT_PRINT_DEC with %wd
+
+2003-08-20  Loren James Rittle  <ljrittle@acm.org>
+
+       * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Handle
+       redefine warning.
+
+2003-08-20  Roger Sayle  <roger@eyesopen.com>
+
+       PR middle-end/11984
+       * fold-const.c (fold <PLUS_EXPR>): Check for integer constant
+       operands before calling tree_int_cst_lt when performing associative
+       transformations.
+
+2003-08-20  Jason Merrill  <jason@redhat.com>
+
+       * tree.h (IS_EXPR_CODE_CLASS): Also include 'r' and 's'.
+       (EXPR_CHECK): Don't check for 'r' or 's' if we're
+       checking IS_EXPR_CODE_CLASS.
+       * calls.c (calls_function_1): Likewise.
+       * fold-const.c (fold): Likewise.
+       * tree.c (iterative_hash_expr): Likewise.
+       * tree-inline.c (walk_tree, copy_tree_r): Likewise.
+
+2003-08-20  Gunther Nikl  <gni@gecko.de>
+
+       * config/m68k/m68k.c (m68k_output_mi_thunk): delete obsolete code
+       depending on MOTOROLA_BSR
+       * config/m68k/m68k.md (anonymous define_insn): Likewise
+
+2003-08-20  Jason Merrill  <jason@redhat.com>
+
+       * builtins.c (expand_builtin_mathfn): Use get_callee_fndecl.
+       (expand_builtin_mathfn2, expand_builtin, builtin_mathfn_code, 
+       fold_trunc_transparent_mathfn, fold_builtin): Likewise.
+       * dojump.c (do_jump): Likewise.
+       * fold-const.c (operand_equal_p, fold): Likewise.
+       (tree_expr_nonnegative_p): Likewise.
+
+       * stor-layout.c (do_type_align): Only copy DECL_USER_ALIGN from
+       TYPE_USER_ALIGN for FIELD_DECLs.
+       
+       * attribs.c (decl_attributes): Rebuild the function pointer type after
+       changing the target type.
+       * tree.c (get_qualified_type): Also check that the attributes match.
+
+2003-08-19  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       * Makefile.in (STAGESTUFF): Move cc1obj$(exeext) from here ...
+       * objc/config-lang.in (stagestuff): ... to here.
+
+2003-08-19  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/11946
+       * convert.c (convert_to_integer): Use CONVERT_EXPR (instead of
+       NOP_EXPR) when necessary.
+       * c-common.c (c_common_signed_or_unsigned_type): Correctly handle
+       types with precisions other than those given by native machine
+       modes.
+
+2003-08-19  Geoffrey Keating  <geoffk@apple.com>
+
+       * cpppch.c (cpp_valid_state): Re-add warning about PCH not used
+       because some macro is defined.
+
+       * config/darwin.h (LINK_COMMAND_SPEC): Add -arch and -arch_only
+       options.
+       * config/i386/darwin.h (ASM_SPEC): New.
+       (SUBTARGET_EXTRA_SPECS): New.
+       * config/rs6000/darwin.h (ASM_SPEC): New.
+       (SUBTARGET_EXTRA_SPECS): New.
+       * configure.in: Don't set CROSS or SYSTEM_HEADER_DIR when building
+       a cross-compiler between two different processors on Darwin.
+       * configure: Regenerate.
+
+2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtins.c: Fix comment typos.
+       * c-common.c: Likewise.
+       * c-decl.c: Likewise.
+       * c-pretty-print.c: Likewise.
+       * cfgbuild.c: Likewise.
+       * cfglayout.c: Likewise.
+       * cfgloopanal.c: Likewise.
+       * cgraphunit.c: Likewise.
+       * cppfiles.c: Likewise.
+       * dwarfout.c: Likewise.
+       * expr.c: Likewise.
+       * fold-const.c: Likewise.
+       * gcse.c: Likewise.
+       * ggc-page.c: Likewise.
+       * haifa-sched.c: Likewise.
+       * pretty-print.c: Likewise.
+       * tree.c: Likewise.
+       * tree.h: Likewise.
+       * value-prof.c: Likewise.
+
+2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-decl.c: Follow spelling conventions.
+       * cppfiles.c: Likewise.
+
+2003-08-19  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * c-common.c: Fix comment formatting.
+       * c-common.h: Likewise.
+       * c-decl.c: Likewise.
+       * cppinit.c: Likewise.
+       * cpplib.h: Likewise.
+       * emit-rtl.c: Likewise.
+       * input.h: Likewise.
+       * line-map.h: Likewise.
+       * opts.c: Likewise.
+       * opts.h: Likewise.
+       * simplify-rtx.c: Likewise.
+
+2003-08-19  Daniel Jacobowitz  <drow@mvista.com>
+
+       * unwind-c.c: Add libgcc-style exception.
+       * unwind-dw2.c: Likewise.
+       * unwind-pe.h: Likewise.
+       * unwind-sjlj.c: Likewise.
+       * unwind.inc: Likewise.
+
+2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR c/5582 PR c++/10538
+       * langhooks-def.h (lhd_decl_uninit): Declare.
+       (LANG_HOOKS_DECL_UNINIT): New macro.
+       (LANG_HOOKS_INITIALIZER): Adjust.
+       * langhooks.h (struct lang_hooks): Add new field
+       decl_uninit.
+       * langhooks.c (lhd_decl_uninit): Define.
+       * c-common.c (c_decl_uninit_1): New function.
+       (c_decl_uninit): New function.
+       (warn_init_self): Define.
+       * c-common.h (c_decl_uninit): Declare.
+       (warn_init_self): Declare.
+       * c.opt: Introduce -Winit-self.
+       * c-opts.c (c_common_handle_options): Set warn_init_self.
+       * c-lang.c (LANG_HOOKS_DECL_UNINIT): Define.
+       * objc/objc-lang.c  (LANG_HOOKS_DECL_UNINIT): Define.
+       * function.c (uninitialized_vars_warning): Call the language hook.
+       * doc/invoke.texi: Document -Winit-self.
+
+2003-08-19  Chris Demetriou  <cgd@broadcom.com>
+
+       * config/mips/mips.md: Adjust SI-mode "trap_if" instruction
+       to use better predicates and constraints.  Define new
+       instruction to handle "trap_if" with DI-mode arguments.
+       (conditional_trap): FAIL if trap code is not 0.
+
+2003-08-19  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/i386/i386.c (legitimate_pic_address_disp_p): Change the
+       strstr with $pb to a strcompare with "<pic base>"
+       (ix86_output_addr_diff_elt): Output the real pic base.
+
+2003-08-19  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * langhooks-def.h (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Fix spelling.
+       (LANG_HOOKS_INITIALIZER): Correct.
+       * c-lang.c: Likewise.
+
+2003-08-19  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_mark_needed_node): Call notice_global_symbol.
+       (cgraph_varpool_mark_needed_node): Likewise.
+       * cgraph.h (notice_global_symbol): Declare
+       * varasm.c (notice_global_symbol): Break out from ...
+       (assemble_start_function): ... here; update for variables.
+       (assemble_variable): Use notice_global_symbol.
+
+2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_va_arg): If EABI_FLOAT_VARARGS_P,
+       expect SFmode and DFmode arguments to be passed in FPRs,
+       regardless of the underlying type.
+
+2003-08-19  Richard Sandiford  <rsandifo@redhat.com>
+
+       PR target/11924
+       * config/mips/mips.c (INTERNAL_SYMBOL_P): New macro.
+       (mips_classify_symbol, m16_usym8_4, m16_usym5_4): Use it.
+
+2003-08-18  Matt Kraai  <kraai@alumni.cmu.edu>
+
+       PR c/11207
+       * c-typeck.c (set_init_index): Check for negative index.
+
+2003-08-18  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/crti.asm (_init, _fini): Add alternate code for new
+       call0 ABI.
+       * config/xtensa/crtn.asm (_init, _fini): Likewise.
+       * config/xtensa/lib1funcs.asm (__mulsi3, __udivsi3, __divsi3,
+       __umodsi3, __modsi3): Likewise.
+       * config/xtensa/t-xtensa (crti.o, crtn.o): Add $(GCC_CFLAGS) and
+       $(INCLUDES).
+
+2003-08-18  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/rs6000/spe.md ("*nabssf2_gpr"): New.
+
+2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Quote C code in braces.  Remove use of
+       fake const0_rtx operands.  Remove double backslashes.  Use \;.
+       Remove workarounds for bogus warnings.
+
+2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (muldf3, mulsf3): Don't call a gen_* function.
+       (muldf3_internal, muldf3_r4300): Select based on TARGET_4300_MUL_FIX
+       rather than TARGET_MIPS4300.
+       (mulsf3_internal, mulsf3_r4300): Likewise.
+
+2003-08-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md: Renumber unspecs.  Clean up comments.
+
+2003-08-17  Roger Sayle  <roger@eyesopen.com>
+
+       * simplify-rtx.c (associative_constant_p): New function to test
+       whether an RTX expression is an immediate constant.
+       (simplify_associative_operation): New function to perform some
+       reassociation optimizations of associative binary expressions.
+       (simplify_binary_operation): Use simplify_associative_operation
+       to simplify PLUS, MULT, AND, IOR, XOR, SMIN, SMAX, UMIN and UMAX.
+       Floating point expressions are only reassociated when unsafe
+       math optimizations are permitted.
+
+2003-08-17  Andreas Jaeger  <aj@suse.de>
+
+       * config/alpha/alpha.md: Remove usage of PARAMS.
+
+       * config/i386/cygwin.h: Convert K&R prototypes to ISO C90.
+       * config/i386/i386-interix.h: Likewise.
+       * config/i386/winnt.c: Likewise.
+       * config/i386/cygming.h: Likewise.
+       * config/i386/cygwin2.c: Likewise.
+       * config/darwin.c: Likewise.
+       * config/darwin-c.c: Likewise.
+       * config/darwin-protos.h: Likewise.
+       * config/darwin.h: Likewise.
+       * config/s390/s390-protos.h: Likewise.
+       * config/s390/s390.c: Likewise.
+       * config/ia64/ia64.c: Likewse
+       * config/ia64/ia64-protos.h: Likewise.
+       * config/ia64/ia64-c.c: Likewise.
+
+2003-08-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * config/sparc/sparc.c: Convert to ISO C.
+
+       * config/sparc/sparc-protos.h: Don't use the PARAMS macro.
+       * config/sparc/sparc.c: Likewise.
+
+2003-08-16  Nathan Sidwell  <nathan@codesourcery.com>
+
+       PR c++/11512
+       * stmt.c (expand_expr_stmt_value): Don't warn about any void
+       typed expression.
+
+2003-08-16  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_fntype_regparm): Rename from ...
+       (ix86_function_regparm): ... this one; add fastcall and local
+       functions.
+       (ix86_function_ok_for_sibcall): Update.
+       (ix86_return_pops_args): Likewise.
+       (init_cumulative_args): Likewise.
+       (x86_can_output_mi_thunk): Likewise.
+       (function_arg): Fix formating.
+       (x86_this_parameter): Fix fastcall.
+       (x86_output_mi_thunk): Likewise.
+
+       * cgraph.c (cgraph_mark_needed_node): Do not mark functions without
+       body as reachable; mark nested functions as needed too.
+       (dump_cgraph): Do not output global.calls.
+       * cgraph.h (cgraph_global_info): Kill.
+       * cgraphunit.c (cgraph_finalize_function): Enqueue needed functions.
+       (record_call_1): Speedup.
+       (cgraph_analyze_function): Break out from ...; compute inlining
+       parameters.
+       (cgraph_finalize_compilation_unit): ... here.
+       (cgraph_mark_inline): Kill computation of calls.
+       (cgraph_decide_inlining): Do not compute most of initial values.
+
+2003-08-14  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (negate_expr_p): MULT_EXPRs and RDIV_EXPRs are easy
+       to negate if either operand is easy to negate, if we don't care
+       about sign-dependent rounding.
+       (negate_expr): Make the logic to negate a REAL_CST explicit.
+       Attempt to negate a MULT_EXPR or RDIV_EXPR by negating an operand
+       that's easy to negate, if we don't honor sign-dependent rounding.
+       (fold <MULT_EXPR>): Optimize -A * B as A * -B if B is easy to
+       negate, and the symmetric A * -B as -A * B if A is easy to negate.
+       (fold <RDIV_EXPR>): Likewise, optimize -A/B and C/-D as A/-B and
+       -C/D if B and C are cheap to negate.  Add an explicit rule to
+       optimize X/-1.0 as -X when we don't care about signaling NaNs.
+
+2003-08-14  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (tm_file): Rename tm_include_list.
+       (tm_p_file): Rename tm_p_include_list.
+       (build_xm_file): Rename build_xm_include_list.
+       (host_xm_file): Rename host_xm_include_list.
+       (xm_file): Rename xm_include_list.
+       (xm_file_list): Add to be substituted.
+       (cs-config.h, cs-bconfig.h, cs-tconfig.h, cs-tm.h, cs-tm_p.h):
+       Update to match.
+       (bt-load.o): Add missing dependency on $(TM_H).
+       * configure.in: Prefix value of EXTRA_MODES_FILE with config/.
+       For each of tm_file, tm_p_file, xm_file, host_xm_file, and
+       build_xm_file, generate both *_file_list and *_include_list
+       values from it.  (xm_file_list was formerly not being generated.)
+       In *_include_list, prefix the names of all headers found in
+       $(srcdir)/config with config/.  In each loop, consider only
+       the special case files that can actually appear in that list.
+       AC_SUBST all *_file_list and all *_include_list variables; do
+       not AC_SUBST the plain *_file variables.
+       * configure: Regenerate.
+
+2003-08-14  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * cfg.c (dump_edge_info): Add name of loop_exit edge flag.
+
+2003-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa.c (pa_adjust_insn_length): Delete adjustment for delay slot in
+       direct calls.
+       (attr_length_call): Include it here.  Improve length estimate for
+       local calls.
+       (output_call): Use targetm.binds_local_p.
+
+2003-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (CASE_MATHFN): New helper macro.
+       (mathfn_built_in): Simplify and sort.
+
+       * protoize.c (substr): Delete, callers changed to `strstr'.
+
+2003-08-13  Zack Weinberg  <zack@codesourcery.com>
+
+       * config.gcc (iq2000*-*-elf*): Don't set xm_file.
+       * config/iq2000/xm-iq2000.h: Delete file.
+
+2003-08-13  Geoffrey Keating  <geoffk@apple.com>
+
+       * gengtype.c (walk_type): Process a subobject before processing
+       the pointer that points to the subobject.
+
+2003-08-13  Per Bothner  <pbothner@apple.com>
+
+       * regclass.c (init_reg_modes):  Make non-static.
+       Rename to init_reg_modes_once per new naming convention.
+       (init_regs):  Don't call init_reg_modes here.
+       * emit-rtl.c (init_emit_once):  Call init_reg_modes_once here instead.
+       * rtl.h (init_reg_modes_once):  New declaration.
+       * toplev.c (backend_init):  Call init_regs after init_emit_once.
+
+2003-08-13  Kaz Kojima  <kkojima@gcc.gnu.org>
+
+       * config/sh/linux.h (DBX_REGISTER_NUMBER): Define so to map a
+       special index for MD_FALLBACK_FRAME_STATE_FOR to itself.
+
 2003-08-13  J"orn Rennecke <joern.rennecke@superh.com>
 
        * sh.c (sh_get_pr_initial_val): Always wrap in unspec for TARGET_SH1.
 
 2003-08-09  Per Bothner  <pbothner@apple.com>
 
-        * cppinit.c (cpp_read_main_file):  Split out source-independent
-        initialization to separate function ...
-        (cpp_post_options):  New function.
-        * cppfiles.c (cpp_stack_file):  Rename public name to ...
-        (_cpp_stack_file):  New internal function name.
-        * cpplib.h:  Update accordingly.
-        * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
-        (cpp_read_main_file):  Don't initialize line here.
-        * c-opts.c (c_common_post_options):  Call cpp_post_options.
-        (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
-        * fix-header.c (read_scan_file):  Call cpp_post_options.
-       
+       * cppinit.c (cpp_read_main_file):  Split out source-independent
+       initialization to separate function ...
+       (cpp_post_options):  New function.
+       * cppfiles.c (cpp_stack_file):  Rename public name to ...
+       (_cpp_stack_file):  New internal function name.
+       * cpplib.h:  Update accordingly.
+       * cppinit.c:  (cpp_create_reader):  Initialize cpp_readers line here.
+       (cpp_read_main_file):  Don't initialize line here.
+       * c-opts.c (c_common_post_options):  Call cpp_post_options.
+       (c_common_parse_file):  Call cpp_read_main_file, not cpp_stack_file.
+       * fix-header.c (read_scan_file):  Call cpp_post_options.
+
 2003-08-09  Per Bothner  <per@bothner.com>
 
        * c-decl.c (SCOPE_LIST_APPEND):  Remove bogus line continuation.
 
 2003-08-08  Richard Henderson  <rth@redhat.com>
 
-        PR target/11535
-        * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove 
-        RETURN_ADDRESS_POINTER_REGNUM.
-        (ia64_expand_prologue): Don't frob it.
-        (ia64_output_function_epilogue): Likewise.
-        (ia64_return_addr_rtx): New.
-        (ia64_split_return_addr_rtx): New.
-        * config/ia64/ia64-protos.h: Update.
-        * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
-        (RETURN_ADDRESS_POINTER_REGNUM): Remove.
-        (GENERAL_REGNO_P): Don't check it.
-        (AR_*_REGNUM): Renumber.
-        (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
-        (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
-        (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
-        (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
-        (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
-        * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
-        (movdi_ret_addr): New.
+       PR target/11535
+       * config/ia64/ia64.c (ia64_initial_elimination_offset): Remove
+       RETURN_ADDRESS_POINTER_REGNUM.
+       (ia64_expand_prologue): Don't frob it.
+       (ia64_output_function_epilogue): Likewise.
+       (ia64_return_addr_rtx): New.
+       (ia64_split_return_addr_rtx): New.
+       * config/ia64/ia64-protos.h: Update.
+       * config/ia64/ia64.h (FIRST_PSEUDO_REGISTER): Decrement.
+       (RETURN_ADDRESS_POINTER_REGNUM): Remove.
+       (GENERAL_REGNO_P): Don't check it.
+       (AR_*_REGNUM): Renumber.
+       (FIXED_REGISTERS): Remove RETURN_ADDRESS_POINTER_REGNUM.
+       (CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS): Likewise.
+       (REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Likewise.
+       (ELIMINABLE_REGS, REGISTER_NAMES): Likewise.
+       (RETURN_ADDR_RTX): Use ia64_return_addr_rtx.
+       * config/ia64/ia64.md (UNSPEC_RET_ADDR): New.
+       (movdi_ret_addr): New.
 
 2003-08-08  Geoffrey Keating  <geoffk@apple.com>
 
 2003-08-08  Kelley Cook  <kelleycook@wideopenwest.com>
 
        * configure.in (gcc_cv_prog_cmp_skip): Flipflop make_compare_target
-       and gcc_cv_prog_cmp_skip. 
+       and gcc_cv_prog_cmp_skip.
        * configure: Regenerate.
 
 2003-08-08  Stan Cox  <scox@redhat.com>