OSDN Git Service

PR c/9506
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 2fcc66f..1fa4038 100644 (file)
@@ -1,3 +1,377 @@
+2003-01-31  Jan Hubicka  <jh@suse.cz>
+
+       PR c/9506
+       * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
+
+2003-01-31  Loren J. Rittle <ljrittle@acm.org>
+
+       * gcc.dg/struct-ret-libc.c: New test.
+
+2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
+       duplicated code.
+
+2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
+       (BINFO_ELTS): New #define.
+       * stor-layout.c (finalize_record_size): Don't set them.
+       * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
+       BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
+       (BINFO_LANG_ELTS): New #define.
+       * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
+       * java/class.c (make_class): Use BINFO_ELTS.
+       (set_super_info): Likewse.
+       (add_interface_do): Likewise.
+       * objc/objc-act.c (start_class): Use BINFO_ELTS.
+
+2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
+
+       * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
+       (times): Don't ever declare if not HAVE_TIMES.
+       (clock): Don't ever declare if not HAVE_CLOCK.
+
+2003-01-30  Richard Henderson  <rth@redhat.com>
+
+       * flow.c (update_life_info): Zap life info after cleanup_cfg.
+       (regno_uninitialized): Use correct live at function entry set.
+       (regno_clobbered_at_setjmp): Likewise.
+
+       * expr.c (store_expr): Promote all MEM intermediates to regs.
+
+2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/arm/arm.c: Fix comment typos.
+       * config/arm/arm.h: Likewise.
+       * config/arm/netbsd-elf.h: Likewise.
+       * config/arm/netbsd.h: Likewise.
+
+2003-01-30  Geoffrey Keating  <geoffk@apple.com>
+
+       * gengtype.c (struct walk_type_data): Add needs_cast_p.
+       (walk_type): Set needs_cast_p in walk_type_data.
+       (write_types_process_field): Supply casts when required to suppress
+       warnings.
+       (write_root): Cast gt_pch_n_S to suppress warning.
+       * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
+       * cp/Make-lang.in: Remove -Wno-error from cp/decl.o.
+       * config/rs6000/rs6000.c (print_operand): Mask off high bits only
+       when they might exist.
+       * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
+       insn-conditions.o, and rs6000.o.
+
+2003-01-30  Richard Henderson  <rth@redhat.com>
+
+       * ggc-page.c (G.context_depth_allocations): New.
+       (G.context_depth_collections): New.
+       (alloc_page): Set G.context_depth_allocations.
+       (ggc_collect): Set G.context_depth_collections.
+       (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
+       (ggc_pop_context): Early exit for no allocations or collections.
+
+2003-01-30  Richard Henderson  <rth@redhat.com>
+
+       * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
+
+2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_compute_initial_elimination_offset): If optimizing for
+       size, the link register is always saved if any other register is
+       saved.
+
+2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300-protos.h: Update the prototype for
+       compute_plussi_cc.
+       (cpp_reader): Declare before it is used.
+       * config/h8300/h8300.c (compute_plussi_cc): Change the return
+       type to int.
+       * config/h8300/h8300.md (monitor_prologue): Call abort() if we
+       see an unknown H8 variant.
+
+2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
+
+       PR target/9316 
+       * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
+       * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
+       * config/rs6000/t-rtems: New file. multilib variants to match OS.
+       * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
+       rs6000/t-ppcgas so we get the desired multilibs.
+
+2003-01-30  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.c (arm_output_epilogue): Update stack pointer
+       when popping saved IP register off the stack.
+
+2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/rs6000/aix43.h: Fix comment typos.
+       * config/rs6000/aix51.h: Likewise.
+       * config/rs6000/aix52.h: Likewise.
+       * config/rs6000/altivec.h: Likewise.
+       * config/rs6000/rs6000.c: Likewise.
+       * config/rs6000/rs6000.h: Likewise.
+       * config/rs6000/rs6000.md: Likewise.
+       * config/rs6000/spe.md: Likewise.
+
+2003-01-29  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-common.c (builtin_define_float_constants): Define
+       __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
+
+2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/sh/lib1funcs.asm: Fix comment typos.
+       * config/sh/linux.h: Likewise.
+       * config/sh/sh.c: Likewise.
+       * config/sh/sh.md: Likewise.
+
+2003-01-30  Loren James Rittle  <ljrittle@acm.org>
+
+       * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
+
+2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/fp-bit.h (__make_dp): Declare if TMODES.
+
+2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
+       general_operand_src and general_operand_dst.
+
+2003-01-29  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (function_arg_pass_by_reference):
+       Return true for variable sized types.
+       (rs6000_va_arg): Handle variable sized types passed by reference
+       on non-SVR4 ABI.
+
+2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (arm_legtimize_address): New function.
+       * arm-protos.h (arm_legtimize_address): Add prototype.
+       * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
+       (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
+       do ... while (0)
+
+2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+
+       PR bootstrap/9296
+       * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
+       depended on it being defined until now.
+
+2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+
+       PR target/9295
+       * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
+       RTEMS code knows which C++ initialization style the toolset
+       configuration is using.
+
+2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+
+       PR bootstrap/9293
+       * config/m68k/t-crtstuff: Replace spaces with tabs, add 
+        $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
+
+2003-01-29  Joel Sherrill  <joel@OARcorp.com>
+
+       PR bootstrap/9292
+       * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
+       RTEMS threads.
+       * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
+
+2003-01-29  Nick Clifton  <nickc@redhat.com>
+
+       * Makefile.in (c-parse.o): Locate source file in $(parsedir)
+       not $(srcdir).
+
+2003-01-29  Andrew Haley  <aph@redhat.com>
+
+       * tree-inline.c (walk_tree): Add CHAR_TYPE.
+
+Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (subdi3_carry_rex64): Fix typo.
+
+2003-01-28  Stan Shebs  <shebs@apple.com>
+
+       * coretypes.h (cpp_reader): Forward declare struct.
+       * c-pragma.h (cpp_reader): Remove forward declaration.
+       * hashtable.h (cpp_reader): Likewise.
+       * scan.h (cpp_reader): Likewise.
+       * tree.h (cpp_reader): Likewise.
+       * config/darwin-protos.h (cpp_reader): Likewise.
+       * config/arm/arm-protos.h (cpp_reader): Likewise.
+       * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
+       struct cpp_reader in prototypes.
+
+2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
+
+       * doc/install.texi: Add documentation for installation into
+       tooldirs and with DESTDIR.
+
+2003-01-28  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc (ia64*-*-aix*): Remove.
+       * config/ia64/aix.h, config/ia64/t-aix: Remove file.
+       * config/ia64/unwind-aix.c: Remove file.
+
+2003-01-28  Andreas Schwab  <schwab@suse.de>
+
+        * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
+        register.
+        * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
+        * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
+
+2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
+
+       * combine.c (nonzero_bits): Fix check for negative divide operands.
+
+2003-01-28  Richard Henderson  <rth@redhat.com>
+
+       * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
+       * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
+
+2003-01-28  Richard Henderson  <rth@redhat.com>
+
+       * cse.c (find_best_addr): Kill !ADDRESS_COST code.
+
+       * config/cris/cris.c (cris_address_cost): Make static.
+       (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
+       * config/cris/cris.h (ADDRESS_COST): Remove.
+       * config/cris/cris-protos.h: Update.
+
+2003-01-23  Mike Stump  <mrs@apple.com>
+
+       * regclass.c (init_reg_autoinc): New function.
+       (regclass): Move initialization of forbidden_inc_dec_class from
+       here...
+       (init_regs): to here.  Avoids reinitialization for each function,
+       saving compilation time.
+
+2003-01-28  Jason Merrill  <jason@redhat.com>
+
+       * cpplib.h (struct cpp_options): Add warn_deprecated field.
+       * cppinit.c (cpp_create_reader): Turn it on by default.
+       * c-opts.c (c_common_decode_option): Set it.
+       * cpplib.c (do_pragma_once): Only complain about #pragma once
+       if warn_deprecated is set.
+
+2003-01-28  Dale Johannesen  <dalej@apple.com>
+
+       * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
+       * loop.c (scan_loop):  Move movables on -Os rich-register targets.
+       * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
+
+2003-01-28  Richard Henderson  <rth@redhat.com>
+
+       * target.h (targetm.address_cost): New.
+       * target-def.h (TARGET_ADDRESS_COST): New.
+       (TARGET_RTX_COSTS): Uncomment.  Oops.
+       * cse.c (address_cost): Use new target hook.
+       (default_address_cost): New.
+       * output.h (default_address_cost): Declare.
+       * hooks.c (hook_int_rtx_0): New.
+       * hooks.h (hook_int_rtx_0): Declare.
+       * loop.c (combine_givs_p): Remove if 0 code.
+       * system.h (ADDRESS_COST): Poison.
+
+       * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
+       config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
+       config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
+       config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
+       config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
+       config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
+       config/xtensa/xtensa.c, config/xtensa/xtensa.h
+       (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
+       (ADDRESS_COST): Remove.
+
+       * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
+       config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
+       config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
+       config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
+       config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
+       config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
+       config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
+       config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
+       config/mips/mips.c, config/mips/mips.h, 
+       config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
+       config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h, 
+       config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
+       config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
+       config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
+       config/vax/vax.c, config/vax/vax.h
+       (foo_address_cost): Make static.
+       (TARGET_ADDRESS_COST): New.
+       (ADDRESS_COST): Remove.
+
+       * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
+       config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
+       config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
+       config/stormy16/stormy16.h
+       (ADDRESS_COST): Move code ...
+       (foo_address_cost): ... here.
+       (TARGET_ADDRESS_COST): New.
+
+       * config/m32r/m32r.c (m32r_address_cost): Remove.
+       * config/m32r/m32r-protos.h: Update.
+
+       * config/mmix/mmix.c (mmix_address_cost): Remove.
+       * config/mmix/mmix-protos.h: Update.
+
+       * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
+       mn10300_address_cost; move unsig allocation ...
+       (mn10300_address_cost): ... here.
+       (TARGET_ADDRESS_COST): New.
+       * config/mn10300/mn10300-protos.h: Update.
+       * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
+
+       * doc/tm.texi: Update.
+
+2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * haifa-sched.c (schedule_insn): Return necessary cycle advance
+       after issuing the insn.
+       (rank_for_schedule): Make a insn with /S the highest priority
+       insn.
+       (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
+       (choose_ready): Check SCHED_GROUP_P.
+       (schedule_block): Advance cycle after issuing insn if it is
+       necessary.  Don't reorder insns if there is an insn with /S.
+       (set_priorities): Ignore schedule groups.
+
+       * sched-deps.c (remove_dependence, group_leader): Remove the
+       functions.
+       (add_dependence): Ignore schedule groups.
+       (set_sched_group_p): Don't make copy of dependencies from previous
+       insn of the schedule group.  Add anti-dependency to the previous
+       insn of the schedule group.
+       (compute_forward_dependences): Ignore schedule groups.
+
+       * sched-ebb.c (init_ready_list): Ignore schedule groups.
+
+       * sched-rgn.c (init_ready_list): Ditto.
+       (can_schedule_ready_p): Ditto.
+       
+2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
+       register to another one.
+
+2003-01-28  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (default_must_pass_in_stack): Fix typo in !type case.
+
+2003-01-28  Roger Sayle  <roger@eyesopen.com>
+
+       * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
+
 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
 
        * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
@@ -340,13 +714,13 @@ Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
 
 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
 
-        * reload.c (maybe_memory_address_p): New function.
-        (find_reloads_address): Use it instead of memory_address_p.
+       * reload.c (maybe_memory_address_p): New function.
+       (find_reloads_address): Use it instead of memory_address_p.
 
 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
 
        * final.c (shorten_branches): Align the address of code label
-        when computing initial lengths and addresses.
+       when computing initial lengths and addresses.
 
 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
 
@@ -4106,7 +4480,7 @@ Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
        * alloc-pool.c: New file.
        * alloc-pool.h: New file.
 
-2002-12-18  Loren James Rittle  <rittle@labs.mot.com>
+2002-12-18  Loren James Rittle  <ljrittle@acm.org>
 
        * gcc.c (validate_switches): Robustify against skipping past '\0'.