OSDN Git Service

2001-12-06 H.J. Lu <hjl@gnu.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 45aea6a..697824e 100644 (file)
@@ -1,3 +1,844 @@
+2001-12-06  H.J. Lu <hjl@gnu.org>
+
+       * Makefile.in (.po.gmo): Use "-test -d po || mkdir po" to
+       reduce noise.
+       (.po.pox): Likewise.
+       (o/$(PACKAGE).pot): Likewise.
+
+2001-12-06  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree.c (get_callee_fndecl): Move DECL_ABSTRACT_ORIGIN-following...
+       * tree-inline.c (expand_call_inline): ... here.
+
+2001-12-06  H.J. Lu <hjl@gnu.org>
+
+       * Makefile.in (.po.gmo): Use "-mkdir po" for parallel build.
+       (.po.pox): Likewise.
+       (o/$(PACKAGE).pot): Likewise.
+
+2001-12-06  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc: Include dbxelf.h before elfos.h.
+       * elfos.h: Don't include dbxelf.h, let config.gcc handle it.
+
+2001-12-06  Zack Weinberg  <zack@codesourcery.com>
+
+       * cppfiles.c (open_file): If we've opened a directory by
+       mistake, close it.
+       (find_include_file): Avoid turning / into // or // into ///.
+
+2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm.h (STRUCT_VALUE): Suppress definition.
+       (STRUCT_VALUE_REGNUM): Restore definition.
+
+2001-12-06  Andrew MacLeod <amacleod@redhat.com>
+
+       * flow.c (find_regno_partial): Return register, not the expression
+       the register is in.
+
+Thu Dec  6 09:24:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.c (handle_epilogue_set): Check for FP setting case when
+       SP is set from FP in same insn.
+
+2001-12-06  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm.c (load_multiple_sequence): Pass pointer to
+        RTX when calling alter_subreg().
+       (store_multiple_sequence): Pass pointer to RTX when calling
+        alter_subreg().
+
+Thu Dec  6 06:55:13 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.c (assing_parms): Fix typo in last change.
+       * config/clipper.c (clipper_builtin_saveregs): Remove Checker code.
+       * config/m88k/m88k.c (m88k_builtin_saveregs): Likewise.
+       * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
+       * config/sparc/sparc.c (sparc_builtin_saveregs): Likewise.
+
+2001-12-06  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_unique_section): Simplify and
+       correct code selecting section.
+
+Thu Dec  6 12:45:33 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * final.c (count_basic_block, add_bb, add_bb_string):
+       Kill.
+       (end_final, final_start_function, final, final_scan_insn,
+       leaf_function_p): Kill BB profiler related code.
+       * flags.h (profile_block_flag): Kill.
+       * libgcc2.c (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE,
+       BB_BUCKETS, BBINBUFSIZE, bb_edge, bb_func_mode, bb_func,
+       __bb, bb_src, bb_dst, bb_tracefile, bb_hashbuckets,
+       bb_func_head, bb_callcount, bb_mode, bb_stack, bb_stacksize
+       reported, GOPENDECOMPRESS, GOPENCOMPRESS, gopen, gclose,
+       __bb_exit_trace_func, __bb_init_prg, __bb_trace_func,
+       __bb_trace_func_ret, __bb_init_file, __bb_trace_ret,
+       __bb_init_trace_func): Kill.
+       * toplev.c (profile_block_flag): Kill.
+       (indepdendent_decode_option, process_options): Kill -a related code.
+       * alpha.c (direct_call_operand): Likewise.
+       * arm.c (arm_expand_prologue, thumb_expand_prologue,
+       thumb_expand_epilogue): Likewise.
+       * c4x.c (c4x_expand_prologue, c4x_null_epilogue_p): Likewise.
+       * c4x.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * d30v.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+       * i386.c (ix86_can_use_return_insn_p, ix86_expand_prologue,
+       ix86_expand_epilogue, ix86_expand_epilogue): Kill BB profiler related
+       code.
+       (ix86_output_function_block_profiler, ix86_output_block_profiler): Kill.
+       * i386.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * fr30.c (fr30_expand_prologue): Kill BB profiler related code.
+       * i960.c (i960_output_function_prologue): Kill BB profiler related
+       code.
+       * ia64.c (ia64_compute_frame_size): Likewise.
+       * ia64.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * m32r.c (m32r_expand_prolofue): Kill BB profiler related code.
+       * m68hc11.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * m68k.c (m68k_output_function_epilogue): Kill BB profiler related code.
+       * m68k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * m88k.c (output_options, m88k_layout_frame, m88k_expand_prologue):
+       Kill BB profiler related code.
+       * m88k.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * mips.c (mips_expand_prologue): Kill BB profiler related code.
+       * mmix.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * rs6000.c (rs6000_override_options): Kill BB profiler related code.
+       * s960.c (s390_function_prologue): Kill BB profiler related code.
+       * s960.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * linux-aout.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * linux.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * linux64.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * sol2.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * sparc.c (sparc_override_options, eligible_for_sibcall_delay,
+       sparc_nonflat_function_epilogue): Kill BB profiler related code.
+       (sparc_function_block_profiler, sparc_block_profiler,
+       sparc_function_block_profiler_exit): Kill.
+       * sparc.h (OVERRIDE_OPTIONS): Kill BB profiler related code.
+       (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * sun4o3.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * sunos4.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Kill.
+       * stormy16.h (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+       * doc/invoke.texi: Kill documentation of -a and -ax.
+       * tm.texi (FUNCTION_BLOCK_PROFILER, BLOCK_PROFILER,
+       FUNCTION_BLOCK_PROFILER_EXIT, MACHINE_STATE_SAVE,
+       MACHINE_STATE_RESTORE): Kill.
+
+2001-10-26  Steve Christiansen  <smc@us.ibm.com>
+
+       * doc/rtl.texi: Use a table to display RTL format characters.
+
+2001-12-06  Bo Thorsen  <bo@suse.co.uk>
+
+       * config/i386/linux64.h (LINK_SPEC): Correct name of dynamic linker.
+
+Wed Dec  5 19:18:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.c (keep_stack_depressed): Check global_live_at_start
+       of EXIT_BLOCK for temp register and verify it isn't in equiv_reg_src.
+
+2001-12-05  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc (powerpc-*-freebsd*): Use the proper tmake_file files,
+       as set by the generic FreeBSD configure framework.
+
+2001-12-04  Jason Merrill  <jason@redhat.com>
+
+       * langhooks.h (struct lang_hooks_for_tree_inlining): Add
+       start_inlining, end_inlining.
+       * tree-inline.c (expand_call_inline): Call them.
+       * langhooks-def.h (LANG_HOOKS_TREE_INLINING_START_INLINING): Define.
+       (LANG_HOOKS_TREE_INLINING_END_INLINING): Define.
+       (LANG_HOOKS_TREE_INLINING_INITIALIZER): Add them.
+       * langhooks.c (lhd_tree_inlining_start_inlining): New fn.
+       (lhd_tree_inlining_end_inlining): New fn.
+
+2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-common.c (shadow_warning): New function, moved from cp/decl.c.
+       * c-common.h (shadow_warning): New.
+       * c-decl.c: Include c-common.h.
+       (warn_if_shadowing): New, broken out of pushdecl.
+       (pushdecl): Use warn_if_shadowing.
+       (store_parm_decls): Prevent duplicate -Wshadow warnings.
+
+Wed Dec  5 17:59:19 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config/alpha/vms.h (SIZE_TYPE, PTRDIFF_TYPE): Remove, were disabled.
+       (DOLLARS_IN_IDENTIFIERS, LINK_SPEC): Remove duplicate.
+       (LIB_SPEC): Remove.
+       
+Wed Dec  5 16:03:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * doc/c-tree.texi (RECORD_TYPE, UNION_TYPE): Expand on definition.
+       (QUAL_UNION_TYPE): New type.
+
+       * varasm.c (output_constant, case ERROR_MARK): New case.
+
+       * attribs.c (handle_no_check_memory_usage_atribute): Deleted.
+       (c_com): Delete its reference.
+       * builtins.c: Delete memory checking code.
+       * calls.c, expr.c, function.c, stmt.c: Likewise.
+       * builtins.c (expand_builtin_arg_info): Remove reference to
+       EXPAND_MEMORY_USE_* modifiers.
+       * explow.c (expr_size): Likewise.
+       * expr.c (expand_expr, expand_increment): Likewise.
+       * expr.h (ARGS_SIZE_RTX): Likewise.
+       * function.c (assign_parms, expand_pending_sizeso): Likewise.
+       * c-decl.c (duplicate_decls): Don't handle DECL_NO_CHECK_MEMORY_USAGE.
+       * expr.c (in_check_memory_usage): Delete.
+       (get_push_address, get_memory_usage_from_modifier): Delete.
+       (expand_assigment): Use EXPAND_WRITE on destination.
+       (expand_expr): Delete ro_modifier.
+       * expr.h (expand_modifier): Delete EXPAND_MEMORY_* entries and
+       add EXPAND_WRITE.
+       (memory_use_mode): Delete.
+       * flags.h (flag_check_memory_usage): Deleted.
+       (flag_prefix_function_name): Likewise.
+       * function.c (expand_function_start): Don't set
+       current_function_check_memory_usage.
+       * function.h (check_memory_usage): Delete.
+       * libfuncs.h, optabs.c: Delete chkr_* stuff.
+       * stmt.c (expand_asm_opernd): Change EXPAND_MEMORY_USE_WO to
+       EXPAND_WRITE.
+       * toplev.c (flag_check_memory_usage): Deleted.
+       (flag_prefix_function_name): Likewise.
+       (f_options, process_options): Delete references to above.
+       * tree.h (DECL_NO_CHECK_MEMORY_USAGE): Deleted.
+       * varasm.c (CHKR_PREFIX): Deleted.
+       (make_decl_rtl): Remove flag_prefix_function_name handling.
+       (assemble_name): Likewise.
+       * doc/extend.texi: Remove no_check_memory_usage attribute.
+       * doc/invoke.texi: Remove -fcheck-memory-usage
+       and -fprefix-function-name.
+
+2001-12-05  Andreas Schwab  <schwab@suse.de>
+
+       * Makefile.in (STMP_FIXPROTO, STMP_FIXINC): Use substituted values
+       from autoconf.
+
+2001-12-05  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config.gcc: Include arm/xscale-coff.h before arm/arm.h.
+
+2001-12-05  William Cohen  <wcohen@redhat.com>
+
+       * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Correct typo in
+       instruction.
+
+2001-12-05  Daniel Berlin  <dan@cgsoftware.com>
+
+       * config/rs6000/rs6000.h (enum rs6000_builtins): Add more altivec
+       builtins. 
+
+       * config/rs6000/rs6000.md: Modeling of 7450 altivec changed to
+       better reflect reality (change from Apple's tree).
+       Add more of altivec instructions.
+       Add ftruncv4sf2 pattern.
+       Remove more unspecs (vector merge instructions, etc).
+
+       * config/rs6000/rs6000.c (bdesc_3arg): New, for 3 argument altivec
+       builtins. 
+       (bdesc_1arg): New, for 1 argument altivec builtins.
+       (altivec_expand_builtin): Handle unary and ternary ops.
+       (altivec_init_builtins): Ditto.
+
+Wed Dec  5 09:33:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/alpha/vms.h (ADA_LONG_TYPE_SIZE): New macro.
+       * doc/tm.texi (ADA_LONG_TYPE_SIZE): Document it.
+
+2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * gcse.c (store_killed_in_insn): Consider pure calls
+       as potential store killers in addition to normal calls.
+
+2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (expand_expr): When checking promoted value, use
+       DECL_MODE (exp) and not mode.
+
+2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-typeck.c (output_init_element): Call digest_init
+       just once, not in each if branch and check its return value for
+       error_mark_node.
+
+2001-12-05  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-decl.c (pushdecl): Only increase n_incomplete if pushed decl's
+       type is RECORD_TYPE, UNION_TYPE or ARRAY_TYPE thereof.
+       (finish_struct): Break the loop if n_incomplete went to 0.
+       For ARRAY_TYPE, if it is not TYPE_DECL, layout the decl too.
+
+Wed Dec  5 07:41:13 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config/alpha/alpha.c (alpha_va_start): Update VMS case.
+
+Wed Dec  5 07:27:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+                         Douglas B. Rupp  <rupp@gnat.com>
+       
+       * vmsdbg.h, vmsdbgout.c: Add documentation and minor cleanups.
+       * doc/invoke.texi: Add -gvms.
+       * doc/passes.texi: Add mention of vmsdbgout.c.
+       * doc/tm.texi: Document VMS debugging output.
+
+Wed Dec  5 06:26:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.h (tree, rtx): Remove no-longer-needed definitions.
+
+       * function.c (keep_stack_depressed): Refine check for register
+       clobbered over call.
+
+       * expr.c (store_expr): When copying string constant into array,
+       use functions that update memrefs instead of computations on
+       addresses to better track MEMs.  Also properly handle 32/64 pointers.
+       (expand_expr): Use TARGET even if not reg for multi-word CONSTRUCTOR.
+       (expand_expr, case CONSTRUCTOR): Fix errors in parms to assign_temp.
+
+       * emit-rtl.c (component_ref_for_mem_expr): Try harder to find decl
+       underneath COMPONENT_REFs.
+       (set_mem_attributes): Also strip VIEW_CONVERT_EXPR.
+
+2001-12-05  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * toplev.c (display_target_options): Don't print twice.
+
+Wed Dec  5 00:42:16 EST 2001  John Wehle  (john@feith.com)
+
+       * emit-rtl.c (set_unique_reg_note): Don't set
+       a REG_EQUAL or REG_EQUIV note if multiple sets
+       are present.
+
+2001-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * cfgrtl.c (verify_flow_info): Allow jump table data in fallthru if
+       CASE_DROPS_THROUGH.
+
+2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       * rtl.h (initialize_uninitialized_subregs): New prototype.
+       * toplev.c (rest_of_compilation): Call initialize_uninitialized_subregs
+       when optimization is on.
+       * flow.c (find_regno_partial): Find subregs within an expression.
+       (initialize_uninitialized_subregs): Initialize live on entry registers
+       which are used in subreg expressions.
+
+2001-12-04  Phil Edwards  <pme@gcc.gnu.org>
+
+       * Makefile.in:  Add INSTALL_SCRIPT using INSTALL definition.
+
+2001-12-04  DJ Delorie  <dj@redhat.com>
+
+       * fixinc/fixincl.c (initialize): Avoid problemsome macro
+       parameter names (PR 3388).
+
+2001-12-05  Alan Modra  <amodra@bigpond.net.au>
+
+       * config/rs6000/rs6000.c (rs6000_legitimize_address): Fix typo.
+       * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Here too.
+
+2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.def (COMPOUND_LITERAL_EXPR): New.
+       * c-common.c (c_expand_expr): Handle COMPOUND_LITERAL_EXPR.
+       (c_staticp): New function.
+       * c-common.h (COMPOUND_LITERAL_EXPR_DECL): New.
+       (c_staticp): Declare.
+       * c-typeck.c (default_function_array_conversion, build_unary_op):
+       Don't handle CONSTRUCTOR specially.
+       (lvalue_p, mark_addressable): Handle COMPOUND_LITERAL_EXPR.
+       * c-decl.c (build_compound_literal): New function.
+       * c-tree.h (build_compound_literal): Declare.
+       * c-parse.in (primary): Use build_compound_literal.
+       * c-lang.c (LANG_HOOKS_STATICP): Define.
+       * objc/objc-lang.c (LANG_HOOKS_STATICP): Likewise.
+       * doc/c-tree.texi: Document COMPOUND_LITERAL_EXPR.
+       * doc/extend.texi: Update documentation of compound literals.
+       Fixes PR c/4787.
+
+2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * langhooks.h (struct lang_hooks): Add staticp.
+       * langhooks-def.h (lhd_staticp, LANG_HOOKS_STATICP): New.
+       (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_STATICP.
+       * langhooks.c (lhd_staticp): New function.
+       * tree.c (staticp): Call lang_hooks.staticp for language-specific
+       tree codes.
+
+2001-12-04  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppspec.c (lang_specific_driver): Set is_cpp_driver.
+       * gcc.c (process_command): Ensure the cpp driver sees
+       --help and --target-help, and that the help is printed
+       exactly once.
+
+2001-12-04  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Display count unsigned.
+
+2001-12-04  Hans-Peter Nilsson  <hp@axis.com>
+
+       * config/cris/cris.h (OPTIMIZATION_OPTIONS): Don't unset
+       flag_strict_aliasing.  Use separate assignment statements.
+
+2001-12-04  Zack Weinberg  <zack@codesourcery.com>
+
+       * build-make, cross-make: Delete file.
+       * configure.in: Set and substitute CROSS, ALL,
+       SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_PREFIX_1, HOST_CC,
+       HOST_CFLAGS, STMP_FIXINC, and STMP_FIXPROTO depending on
+       whether build == host and host == target.  Do not
+       AC_SUBST_FILE build_overrides or cross_overrides.  Do not
+       AC_SUBST cross_defines or extra_c_flags.
+       * Makefile.in (NATIVE_SYSTEM_HEADER_DIR): New.
+       (SYSTEM_HEADER_DIR, HOST_PREFIX, HOST_CC, HOST_PREFIX,
+       HOST_PREFIX_1, HOST_CFLAGS, ALL, INTERNAL_CFLAGS): Set
+       partially or completely with autoconf-substituted @variable@
+       notation.
+       (INSTALL_TARGET, @cross_defines@, @cross_overrides@,
+       @build_overrides@, @extra_c_flags@, all.build, install-build,
+       install-cross-rest, install-float-h-cross): Deleted.
+       (install-normal): Rename to install.  Delete old "install"
+       indirection rule.
+
+2001-12-04  Andrew MacLeod  <amacleod@redhat.com>
+
+       * stmt.c (expand_return): Clear destination instead of clobbering it 
+       when setting a return value via bitsets.
+
+2001-12-04  Alexandre Oliva  <aoliva@redhat.com>
+
+       * tree.c (get_callee_fndecl): Only use DECL_ABSTRACT_ORIGIN if
+       it has DECL_SAVED_TREE.
+       
+       * c-decl.c (duplicate_decls): Revert rth's patch.  If newdecl
+       is in a different binding level, get its abstract origin to be
+       olddecl.
+       * tree-inline.c (expand_call_inline): Move DECL_INITIAL sanity
+       check earlier.
+       * tree.c (get_callee_fndecl): Follow DECL_ABSTRACT_ORIGIN if
+       DECL_INITIAL is NULL.
+
+2001-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * flow.c (ior_reg_cond): Return NULL if ! add and rtx wasn't optimized.
+       Return correct value if one of the subexpressions was optimized to
+       0 resp. 1.  Optimize (x | A) | x and (x & A) | x.
+       (and_reg_cond): Similarly.
+
+2001-12-04  Jakub Jelinek  <jakub@redhat.com>
+
+       * function.c (assign_parms): Set last_named only for last named
+       argument.
+
+2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/install.texi: Use the GFDL.  Include years from old install
+       manual in copyright notice.  Include copyright and GFDL notice on
+       HTML index page.  Include usual footer on testing.html.
+       * doc/install.texi2html: Build gfdl.html.  Use -I
+       $SOURCEDIR/include.
+       * doc/include/fdl.texi: Adapt for use in the install manual.
+
+2001-12-04  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * doc/install.texi: Document that installed native compiler for
+       building cross compilers should be GCC 2.95 or later.
+
+2001-12-03  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.h (CALL_REALLY_USED_REGISTERS): New macro.
+       * config/mips/mips.md: Check TARGET_DEBUG_D_MODE before split
+       patterns.
+
+2001-12-03  Janis Johnson  <janis187@us.ibm.com>
+
+       * rtl.def (PREFETCH): New rtx code.
+       * doc/rtl.texi (PREFETCH): Add documentation.
+       * function.c (instantiate_virtual_regs_1): Handle PREFETCH rtx.
+       * rtlanal.c (reg_referenced_p): Ditto.
+       * sched-vis.c (print_exp):  Ditto.
+       * ssa-dce.c (find_inherently_necessary):  Ditto.
+
+       * config/ia64/ia64.h (SIMULTANEOUS PREFETCHES): Define.
+         (PREFETCH_BLOCK): Define.
+       * config/ia64/ia64.md (itanium_class): Add lfetch.
+         (prefetch, prefetch_internal): New.
+
+       * builtin-types.def (BT_FN_VOID_PTR_INT_INT): New.
+       * builtins.def (BUILT_IN_PREFETCH): New.
+       * builtins.c (expand_builtin_expect): New.
+         (expand_builtin): Call it.
+       * doc/extend.texi: Document __builtin_expect.
+
+       * config/i386/i386.md (prefetch): Rename as prefetch_sse to avoid
+         conflicts with new generic prefetch functionality.
+       * config/i386/i386.c (ix86_expand_builtin): Use new name for
+         prefetch_sse.
+
+2001-12-02  Ziemowit Laski  <zlaski@apple.com>
+
+       * objc/Make-lang.in: Update copyright.
+       (OBJC_OBJS): Add objc-lang.o.
+       (objc-lang.o): New rule.
+       * objc/config-lang.in: Fix file description and update
+       copyright.
+       * objc/objc-act.c: Do not include langhooks.h and
+       langhooks-def.h
+       (lang_hooks): Move (along with LANG_HOOKS...) to objc-lang.c.
+       (objc_post_options): Move to objc-lang.c.
+       (objc_init_options): Move to objc-lang.c.
+       (objc_init): Make non-static.
+       (objc_decode_option): Make non-static.
+       (HASHFUNCTION): Remove macro.
+       (hash_func): New function.
+       (hash_enter): Replace HASHFUNCTION with hash_func.
+       (hash_lookup): Replace HASHFUNCTION with hash_func.
+       (maybe_objc_tree_codes): New function.
+       (init_objc): Move ObjC tree code initialization to
+       maybe_objc_tree_codes().
+       * objc/objc-act.h (GCC_OBJC_ACT_H): New include guard.
+       (objc_init): New public prototype.
+       (objc_decode_option): New public prototype.
+       (maybe_add_objc_tree_codes): New public prototype.
+       * objc/objc-lang.c: New file.
+       (lang_hooks): Moved from objc-act.c.
+       (objc_post_options): Moved from objc-act.c.
+       (objc_init_options): Moved from objc-act.c.
+
+2001-12-03  Geoff Keating  <geoffk@redhat.com>
+
+       * emit-rtl.c (gen_lowpart_common): Avoid unwanted sign-extension
+       of array elements.
+
+2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       PR c/4988
+       * gcc.c (process_command): Don't add a preprocessor option for
+       --help and --target-help; cc1 is enough.
+
+2001-12-03  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-decl.c (grokdeclarator): Use ISO word.
+       * cppinit.c: Remove leading capital from diagnostic messages, as
+       per GNU coding standards.
+       * emit-rtl.c: Similarly.
+       * final.c: Similarly.
+       * gcc.c: Similarly.
+       * tradcpp.c: Similarly.
+       * config/arm/arm.c: Similarly.
+       * config/arm/arm.h: Similarly.
+       * config/avr/avr.c: Similarly.
+       * config/avr/avr.h: Similarly.
+       * config/c4x/c4x.c: Similarly.
+       * config/cris/cris.c: Similarly.
+       * config/cris/cris.h: Similarly.
+       * config/d30v/d30v.c: Similarly.
+       * config/dsp16xx/dsp16xx.c: Similarly.
+       * config/dsp16xx/dsp16xx.h: Similarly.
+       * config/h8300/h8300.c: Similarly.
+       * config/i386/i386.c: Similarly.
+       * config/i386/xm-djgpp.h: Similarly.
+       * config/i960/i960.h: Similarly.
+       * config/m32r/m32r.c: Similarly.
+       * config/m68hc11/m68hc11.c: Similarly.
+       * config/m88k/m88k.c: Similarly.
+       * config/m88k/m88k.h: Similarly.
+       * config/mcore/mcore.c: Similarly.
+       * config/mcore/mcore.h: Similarly.
+       * config/mips/mips.c: Similarly.
+       * config/mmix/mmix.c: Similarly.
+       * config/pa/pa.c: Similarly.
+       * config/rs6000/rs6000.c: Similarly.
+       * config/rs6000/sysv4.h: Similarly.
+       * config/s390/s390.c: Similarly.
+       * config/sparc/sparc.c: Similarly.
+       * config/v850/v850-c.c: Similarly.
+       * config/v850/v850.c: Similarly.
+
+2001-12-03  Zack Weinberg  <zack@codesourcery.com>
+
+       * rs6000.h (RETURN_IN_MEMORY): Cast result of
+       int_size_in_bytes to unsigned HOST_WIDEST_INT so that -1 > 8.
+
+Mon Dec  3 09:18:34 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.md (negsf2): Use -0x8000 instead of 0x8000 for
+       bit twiddling constant.
+
+Mon Dec  3 16:16:37 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * gcse.c (delete_null_pointer_checks_1): Do not use delete_list;
+       call purge_dead_edges after removing.
+       (delete_null_pointer_checks): Do not handle delete_list.
+
+       * cfgbuild.c (inside_basic_block_p, control_flow_insn_p): Break out from ...
+       (count_basic_blocks): ... here.
+       (find_basic_blocks, find_bb_boundaries): Cleanup.
+
+       * stor-layout.c (fixup_signed_type, fixup_unsigned_type): Avoid
+       overflow for types greater then 2 * HOST_WIDE_INT.
+
+       * reload.c (find_reloads): Update the duplicates after swapingg.
+
+Mon Dec  3 13:52:19 CET 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (movabsqi*): Use 'b' prefix instead of 'q'.
+
+2001-12-02  Zack Weinberg  <zack@codesourcery.com>
+
+       * config/rs6000/rs6000.h (MASK_ALTIVEC_ABI,
+       MASK_LONG_DOUBLE_128): Delete.
+       (MASK_AIX_STRUCT_RET, MASK_AIX_STRUCT_RET_SET,
+       TARGET_AIX_STRUCT_RET): New flags.
+       (TARGET_SWITCHES): Remove entries for -mlong-double-128 and
+       -mlong-double-64.  Add entries for -m(no-)aix-struct-return
+       and -m(no-)svr4-struct-return.
+       (TARGET_OPTIONS): Add entry for -mlong-double-.
+       (rs6000_long_double_size_string, rs6000_long_double_type_size,
+       rs6000_altivec_abi): Declare.
+       (TARGET_LONG_DOUBLE_128, TARGET_ALTIVEC_ABI,
+       LONG_DOUBLE_TYPE_SIZE): Change definitions to match.
+       (RETURN_IN_MEMORY): If !TARGET_AIX_STRUCT_RET, return
+       structures of size <= 8 bytes in registers.
+       (PRINT_OPERAND_PUNCT_VALID_P): Take out '$' and '*'.
+
+       * config/rs6000/rs6000.c (rs6000_long_double_size_string,
+       rs6000_long_double_type_size, rs6000_altivec_abi): New
+       globals.
+       (rs6000_override_options): Set rs6000_long_double_type_size
+       from rs6000_long_double_size_string, if nonzero.  Set the
+       MASK_AIX_STRUCT_RET bit in target_flags from DEFAULT_ABI, if
+       not already set.
+       (rs6000_parse_abi_options): Set rs6000_altivec_abi, not a
+       target_flags bit.
+       (rs6000_init_builtins): This hook now takes no arguments.
+
+       * config/rs6000/netbsd.h, config/rs6000/linux.h: Define
+       DRAFT_V4_STRUCT_RET to 1.
+
+2001-12-03  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-typeck.c (really_start_incremental_init, push_init_level):
+       Avoid constructor_max_index being other than an INTEGER_CST.
+
+2001-12-02  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Display count
+       unsigned.
+       (ASM_GENERATE_INTERNAL_LABEL): Same.
+       (UNIQUE_SECTION): Fix typo.
+
+2001-12-02  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (duplicate_decls): Conditionalize DECL_SAVED_TREE copy.
+
+2001-12-02  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
+       (MEM_EXPR): Rename from MEM_DECL; adjust all users.
+       * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
+       * expr.h, final.c, reload1.c: Adjust users.
+
+       * alias.c (nonoverlapping_component_refs_p): New.
+       (decl_for_component_ref, adjust_offset_for_component_ref): New.
+       (nonoverlapping_memrefs_p): Use them.
+       * emit-rtl.c (component_ref_for_mem_expr): New.
+       (set_mem_attributes): Use it.
+       (set_mem_offset): New.
+       * expr.c (expand_assignment): Call set_mem_attributes for
+       inner references; adjust the memory offset as needed.
+       * print-rtl.c (print_mem_expr): New.
+       (print_rtx): Use it.
+
+Sun Dec  2 09:22:25 2001  Douglas B. Rupp  <rupp@gnat.com>
+
+       * config/x-interix3 (SYSTEM_HEADER_DIR): Put back default.
+
+       * config/alpha/vms.h (VMS_DEBUGGING_INFO): New macro.
+       (PREFERRED_DEBUGGING_TYPE): Define as VMS_AND_DWARF2_DEBUG.
+       (ASM_SPEC): Don't redefine.
+       (OPTIMIZATION_OPTIONS, OVERRIDE_OPTIONS, LINK_SPEC): Define.
+       * config/alpha/t-vms (EXTRA_PARTS): Use; add rule for vms-dwarf2.asm.
+       * config/alpha/vms-dwarf2.asm: New file.
+
+       * Makefile.in (OBJS): Add vmsdbgout.c and its rule.
+       * c-lex.c (init_c_lex): Test for VMS_AND_DWARF2_DEBUG.
+       * debug.h (gcc_debug_hooks): Add vmsdbg_debug_hooks.
+       (vmsdbgout_after_prologue): New declaration.
+       * defaults.h (VMS_DEBUGGING_INFO): Add to PREFERRED_DEBUGGING_TYPE.
+       * dwarf2.h (dwarf_attribute): New DW_AT_VMS_rtnbeg_pd_address.
+       * dwarf2out.c (dwarf2out_do_frame): Test for VMS_AND_DWARF2_DEBUG.
+       (dwarf2out_frame_finish): Test for VMS_AND_DWARF2_DEBUG.
+       (dwarf_attr_name): Use DW_AT_VMS_rtnbeg_pd_address.
+       (add_name_and_src_coords_attributes): Test VMS_DEBUGGING_INFO
+       * final.c (final_start_function): Test for VMS_AND_DWARF2_DEBUG.
+       Test VMS_DEBUGGING_INFO.
+       (final_end_function): Test for VMS_AND_DWARF2_DEBUG.
+       (final_scan_insn): Test for VMS_AND_DWARF2_DEBUG and VMS_DEBUG.
+       * flags.h (debug_info_type): Add VMS_DEBUG and VMS_AND_DWARF2_DEBUG.
+       * toplev.c (compile_file): Test VMS_DEBUGGING_INFO, VMS_DEBUG, and
+       VMS_AND_DWARF2_DEBUG.
+       (rest_of_type_compilation): Test for VMS_AND_DWARF2_DEBUG.
+       (decode_g_option): Add "vms" to debug_type_names.
+       (process_options): Set vmsdbg_debug_hooks if -gvms.
+       (lang_independent_init): Emit line number for VMS unless -g0.
+       * tree.c: (build_complex_type): Test for VMS_AND_DWARF2_DEBUG.
+       * vmsdbg.h, vmsdbgout.c: New files.
+
+Sun Dec  2 09:03:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * cfgbuild.c (SET_STATE): Add cast to eliminate warning.a
+
+2001-12-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cfgrtl.c (purge_all_dead_edges): Initialize variable.
+       * dwarf2out.c (is_cxx): Prototype.
+       * local-alloc.c (block_alloc): Avoid 'unsigned>=0 is always true'
+       warning.
+       * objc/objc-act.c (defer_fn): Avoid signed/unsigned warning.
+
+Sun Dec  2 07:12:30 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * libgcc2.c (__bb_exit_func): Fix line wrap problems.
+
+2001-12-02  Geoff Keating  <geoffk@redhat.com>
+
+       * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Simplify.
+       * config/rs6000/rs6000.c (rs6000_emit_move): Use adjust_address
+       rather than simplify_subreg.  Check for volatile-ness.  Check that
+       we're not splitting one slow operation into two slow operations.
+
+2001-12-02  David Edelsohn  <edelsohn@gnu.org>
+
+       * emit-rtl.c (gen_lowpart_common): Cast array element to HOST_WIDE_INT
+       before shifting.
+
+2001-12-02  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-decl.c (duplicate_decls, push_parm_decl): Remove leading
+       capital from diagnostics.
+       * c-lex.c (cb_file_change): Similarly.
+       * c-parse.in : Similarly.
+       * cfgrtl.c (verify_flow_info): Similarly.
+       * collect2.c: Similarly.
+       * cppfiles.c (find_include_file): Similarly.
+       * cppinit.c (cpp_handle_option): Similarly.
+       * cpplex.c (cpp_spell_token): Similarly.
+       * cppmain.c (do_preprocessing): Similarly.
+       * gcc.c (translate_options, process_command, do_spec1,
+       main, pfatal_execute): Similarly.
+       * genattr.c (main): Similarly.
+       * genattrtab.c (check_attr_test, operate_exp, simplify_test_exp,
+       write_test_expr, main): Similarly.
+       * gencodes.c (main): Similarly.
+       * genconfig.c (main): Similarly.
+       * genconstants.c (main): Similarly.
+       * genemit.c (main): Similarly.
+       * genextract.c (main): Similarly.
+       * genflags.c (main): Similarly.
+       * genopinit.c (main): Similarly.
+       * genoutput.c (process_template, main): Similarly.
+       * genpeep.c (main): Similarly.
+       * genrecog.c (main): Similarly.
+       * gensupport.c (is_predicable, identify_predicable_attribute,
+       alter_predicate_for_insn, init_md_reader_args, main): Similarly.
+       * ggc-page.c (alloc_anon): Similarly.
+       * mips-tfile.c (add_string, add_procedure, add_file, read_line,
+       parse_begin, parse_bend, parse_def, parse_end, parse_file,
+       parse_stabs_common, parse_stabs, write_varray, write_object,
+       read_seek, copy_object, main, error): Similarly.
+       * profile.c (compute_branch_probabilities): Similarly.
+       * reg-stack.c (check_asm_stack_operands): Similarly.
+       * reload.c (find_reloads): Similarly.
+       * reload1.c (spill_failure, failed_reload): Similarly.
+       * rtl-error.c (_fatal_insn_not_found): Similarly.
+       * toplev.c (read_integral_parameter, crash_signal,
+       decode_f_option, set_target_switch, parse_options_and_default_flags)
+       : Similarly.
+       * tradcif.y (parse_number, yylex): Similarly.
+       * tradcpp.c (main, fancy_abort): Similarly.
+       * tree.c (tree_check_failed): Similarly.
+       * varray.c (varray_check_failed): Similarly.
+       * xcoffout.c (xcoff_output_standard_types): Similarly.
+objc:
+       * objc-act.c (get_object_ref, lookup_and_install_protocols,
+       build_objc_string_object, objc_declare_alias, build_ivar_chain,
+       finish_message_expr, build_protocol_expr, is_public,
+       start_class): Similarly.
+
+2001-12-01  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-decl.c (duplicate_decls, parmlist_tags_warning): Remove
+       trailing period from diagnostics.
+       * c-lex.c (cb_file_change): Similarly.
+       * cppmacro.c (check_trad_stringification): Similarly.
+       * gcc.c (do_spec_1): Similarly.
+       * genattr.c (main): Similarly.
+       * genattrtab.c (main, operate_exp, make_length_attrs): Similarly.
+       * gencodes.c (main): Similarly.
+       * genconfig.c (main): Similarly.
+       * genconstants.c (main): Similarly.
+       * genemit.c (main): Similarly.
+       * genextract.c (main): Similarly.
+       * genopinit.c (main): Similarly.
+       * genoutput.c (main): Similarly.
+       * genpeep.c (main): Similarly.
+       * genrecog.c (main): Similarly.
+       * mips-tfile.c (add_file, error): Similarly.
+       * profile.c (init_branch_prob): Similarly.
+       * reload1.c (spill_failure): Similarly.
+       * stmt.c (parse_output_constraint): Similarly.
+       * varasm.c (assemble_variable): Similarly.
+
+2001-12-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * m68k.c (init_FPA_table): Provide static prototype.
+       * mips/abi64.h (mips_function_value): Move prototype to ...
+       * mips-protos.h (mips_function_value): ... here.
+       * mips.c: Include halfpic.h.
+       * output.h (rdata_section): Prototype.
+
+       * h8300.c (h8300_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+       * m88k.c (m88k_svr3_asm_out_constructor,
+       m88k_svr3_asm_out_destructor): Wrap with CTOR_LIST_BEGIN &&
+       !OBJECT_FORMAT_ELF.
+       * mcore.c (mcore_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+       * sh.c (sh_asm_named_section): Wrap with !OBJECT_FORMAT_ELF.
+       * sparc.c (sparc_elf_asm_named_section): Wrap with OBJECT_FORMAT_ELF.
+
+2001-12-01  Geoff Keating  <geoffk@redhat.com>
+
+       * config/rs6000/rs6000.h (LEGITIMATE_LO_SUM_ADDRESS_P): Complex
+       LO_SUM addresses less than word size are not legitimate,
+       because they lead to invalid SUBREGs.
+       * config/rs6000/rs6000.c (rs6000_legitimize_address): Likewise.
+
 2001-12-01  Olivier Hainque <hainque@act-europe.fr>
 
        * unroll.c (loop_iterations): Give up on jumps with null JUMP_LABEL
 
 2001-11-30  Daniel Berlin  <dan@cgsoftware.com>
 
-       * config/rs6000/rs6000.c (altivec_expand_builtin): add 
-       ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf, 
+       * config/rs6000/rs6000.c (altivec_expand_builtin): add
+       ALTIVEC_BUILTIN_LD_INTERNAL_4sf and ALTIVEC_BUILTIN_ST_INTERNAL_4sf,
        *_16qi,_8hi, rename existing V4SI ones to *_4si.
        (altivec_init_builtins): Ditto.
        (bdesc_2arg): Rename CODE_FOR_* to match changes in MD file.
-       
+
        * config/rs6000/rs6000.md: Add attribute types vecsimple,
-       veccomplex, vecfloat, and vecperm, for altivec instructions.  
+       veccomplex, vecfloat, and vecperm, for altivec instructions.
        Modify altivec patterns to use approriate attribute type.
        Modify altivec patterns to match RTL operations where approriate
        (IE no unspec where we can avoid it).
        Add vector unit scheduling for ppc7450.
-       Rename patterns to what they are where approriate 
+       Rename patterns to what they are where approriate
        (altivec_vaddfp->addv4sf3, etc)
 
        * config/rs6000/rs6000.h (enum rs6000_builtins): Change VRS->VSR.
 
        * config/rs6000/sysv4.h: Add -mcpu=7450.
 
-       * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed 
+       * testsuite/gcc.dg/altivec-1.c: Update test to take into account renamed
        _builtin_altivec_ld_interal function.
 
 2001-11-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
        strchr, strrchr, isascii, gettimeofday.
        * config.in, configure: Regenerate.
 
-2001-11-30  Zoltan Hidvegi <hzoli@hzoli.2y.net>
+2001-11-30  Zoltan Hidvegi  <hzoli@hzoli.2y.net>
 
        * unroll.c (unroll_loop): Correct special exit cases.
 
 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
 
        * config/rs6000/rs6000.h (STARTING_FRAME_OFFSET): Adjust for altivec.
-        (STACK_DYNAMIC_OFFSET): Same.
+       (STACK_DYNAMIC_OFFSET): Same.
 
 2001-11-30  Richard Henderson  <rth@redhat.com>
 
 
 2001-11-30  Aldy Hernandez  <aldyh@redhat.com>
 
-        * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
-        (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
-        the values in call_used_registers.
+       * config/rs6000/rs6000.h (CALL_REALLY_USED_REGISTERS): New.
+       (CONDITIONAL_REGISTER_USAGE): Set call_really_used_registers to
+       the values in call_used_registers.
 
 Fri Nov 30 12:48:26 2001  Jeffrey A Law  (law@cygnus.com)
 
@@ -334,7 +1175,7 @@ Wed Nov 28 10:42:19 CET 2001  Jan Hubicka  <jh@suse.cz>
        * toplev.c: Update comment.
        * doc/passes.texi: Update.
 objc:
-       * ojbc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
+       * objc-act.c (LANG_HOOKS_TREE_INLINING_CANNOT_INLINE_TREE_FN,
        LANG_HOOKS_TREE_INLINING_DISREGARD_INLINE_LIMITS,
        LANG_HOOKS_TREE_INLINING_ANON_AGGR_TYPE_P): Override.
        (objc_init): Update to use c_objc_common_init.