2002-01-31  Zack Weinberg  <zack@codesourcery.com>

	* c-lex.c (yyparse): Call debug_hooks->start_source_file for
	the primary source file; this has not been done yet.
	* c-decl.c (c_expand_body): Reset input_filename from
	DECL_SOURCE_FILE (fndecl) before calling init_function_start.

2002-01-31  Kazu Hirata  <kazu@hxi.com>

	* rtlanal.c (subreg_regno_offset): Do not use
	SUBREG_REGNO_OFFSET.
	* system.h: Add SUBREG_REGNO_OFFSET to the GCC poison list.
	* doc/tm.texi (SUBREG_REGNO_OFFSET): Remove.

2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gccbug.in: Follow GNU Coding Standards for --version.  Use GCC
	version rather than GNATS version in --version output.

2002-01-31  Richard Sandiford  <rsandifo@redhat.com>

	* ifcvt.c (noce_process_if_block): Make a copy of the destination
	when copying back from a temporary.

2002-01-30  Richard Henderson  <rth@redhat.com>

	* ifcvt.c (dead_or_predicable): Handling merging when other_bb
	and new_dest are the same.

2002-01-30  Richard Henderson  <rth@redhat.com>

	PR opt/5076
	* rtl.h (NOTE_INSN_LOOP_END_TOP_COND): New.
	* rtl.c (note_insn_name): Update.
	* emit-rtl.c (remove_unnecessary_notes): Kill it.
	* stmt.c (expand_end_loop): Kill jump opt code.  Use LOOP_END_TOP_COND
	to perform loop rotation.
	(expand_exit_loop_top_cond): New.
	* tree.h (expand_exit_loop_top_cond): Declare it.
	* c-semantics.c (genrtl_while_stmt): Use it.
	(genrtl_for_stmt): Likewise.

2002-01-30  Alexandre Oliva  <aoliva@redhat.com>

	* config/mips/mips.h (PARM_BOUNDARY): Guarantee alignment of
	arguments to 64-bit boundaries on 64-bit ABIs.

2002-01-30  Steve Ellcey  <sje@cup.hp.com>

	* loop.c (loop_invariant_p): Special case pic_offset_table_rtx.

2002-01-31  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-decl.c (grokdeclarator): Handle type being a typedef for an
	invalid type.

2002-01-30  David O'Brien  <obrien@FreeBSD.org>

	* config.gcc: Include sparc/biarch64.h rather than sparc/sparc_bi.h.
	* config/sparc/sparc_bi.h: Remove file.
	* config/sparc/biarch64.h: New file (rename of sparc_bi.h).

2002-01-30  Richard Henderson  <rth@redhat.com>

	* sched-deps.c (sched_analyze): Make a call read the frame pointer.

2002-01-30  Zack Weinberg  <zack@codesourcery.com>

	* expmed.c (emit_store_flag): Call protect_from_queue on op0 and op1.

2002-01-28  Jason Merrill  <jason@redhat.com>

	* dwarf2out.c (dwarf_cfi_name): Add other DWARF 3 codes.
	(output_cfi): Likewise. Disable DW_CFA_GNU_negative_offset_extended.
	(reg_save): Use DW_CFA_offset_extended_sf instead.

	* dwarf2out.c (dwarf2out_finish): Don't abort if there were errors.

2002-01-29  Jakub Jelinek  <jakub@redhat.com>

	* cselib.c (cselib_record_sets): Use IF_THEN_ELSE result
	in cselib_lookup.

2002-01-29  Aldy Hernandez  <aldyh@redhat.com>

	* rs6000.md ("*call_value_local32"): Remove constraints.
	("*call_value_local64"): Same.
	("*call_value_indirect_nonlocal_aix32"): Same.
	("*call_value_nonlocal_aix32"): Same.
	("*call_value_indirect_nonlocal_aix64"): Same.
	("*call_value_nonlocal_aix64"): Same.
	("*call_value_nonlocal_sysv"): Same.

2002-01-29  Richard Henderson  <rth@redhat.com>

	* config/alpha/elf.h (SDB_DEBUGGING_INFO): Undef.

2002-01-29  Richard Henderson  <rth@redhat.com>

	* expr.c (force_operand): Ignore flag_pic for detecting pic
	address loads.
	* regclass.c (init_reg_sets_1): Test fixed_regs not flag_pic
	for determining if PIC_OFFSET_TABLE_REGNUM is call-clobbered.
	* resource.c (mark_target_live_regs): Use regs_invalidated_by_call
	instead of open-coded loop.
	* doc/tm.texi (PIC_OFFSET_TABLE_REGNUM): Clarify that it must
	be fixed when in use.

2002-01-29  Richard Henderson  <rth@redhat.com>

	* sched-int.h (struct deps_reg): Add uses_length, clobbers_length.
	* sched-rgn.c (propagate_deps): Update them.
	* sched-deps.c (sched_analyze_insn): Update them.  Flush the
	clobbers list when either gets too long.

2002-01-29  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.h (LIMIT_RELOAD_CLASS): Handle LEGACY_REGS
	and INDEX_REGS the same as GENERAL_REGS.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.

2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>

	* tree.c (build_nonstandard_integer_type): Correct prototype.

2002-01-29  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.md (movstrsico, movstrdix_64,
	movstrsix_31): Remove, replace by ...
	(movstrdi_short, movstrsi_short, movstrdi_long,
	movstrsi_long): ... these.  New.
	(movstrdi, movstrsi): Adapt.

	(rotldi3, rotlsi3, ashldi3, *ashldi3_31, *ashldi3_64,
	ashlsi3, lshrdi3, *lshrdi3_31, *lshrdi3_64, lshrsi3):
	Remove unnecessary CC clobber.
	(*ashrdi3_cc_31, *ashrdi3_cconly_31, *ashrdi3_cc_64,
	*ashrdi3_cconly_64, *ashrsi3_cc, *ashrsi3_cconly): New.

	(divmoddi4): Don't partially initialize TImode register.

2002-01-29  Geoffrey Keating  <geoffk@redhat.com>

	* doc/sourcebuild.texi (C Tests): Document gcc.dg/debug directory.

2002-01-29  Richard Henderson  <rth@redhat.com>

	* flow.c (print_rtl_and_abort): Remove.
	(print_rtl_and_abort_fcn): Remove.
	(verify_local_live_at_start): Use dump_bb instead.
	(verify_wide_reg): Likewise. Take a basic_block, not rtl endpoints.
	(verify_wide_reg_1): Return 2 on mode test failure.

2002-01-29  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR c/3325, c/3326, c/2511, c/3347
	* c-decl.c (enum_decl_context): Remove BITFIELD.
	(grokdeclarator): Take bitfield width as an input.
	Ensure bitfields are given the correct type.  Perform
	bitfield width validation with build_bitfield_integer_type
	rather than waiting for finish_struct.
	(grok_typename, grok_typename_in_parm_context, start_decl,
	push_parmdecl, grokfield, start_function): Update calls to
	grokdeclarator.
	(build_bitfield_integer_type): New function.
	(finish_struct): Move bitfield validation to grokdeclarator
	and build_bitfield_integer_type.
	* tree.c (build_nonstandard_integer_type): New function.
	* tree.h (build_nonstandard_integer_type): New prototype.
objc:
	* objc-act.c (objc_copy_list): Remove DECL_INITIAL kludge.

2002-01-29  Jakub Jelinek  <jakub@redhat.com>

	PR other/1502:
	* cppinit.c (cpp_handle_option): Add ignore argument, if it is zero,
	don't ignore unrecognized -W* options.
	(cpp_handle_options): Pass 1 as last argument to cpp_handle_option.
	* cpplib.h (cpp_handle_option): Adjust prototype.
	* c-decl.c (c_decode_options): Pass 0 as last argument to
	cpp_handle_option.

	PR c/2896:
	* gcc.c (cpp_unique_options): Split from cpp_options.
	(cpp_options): Source cpp_unique_options.
	(default_compilers): Use cpp_unique_options instead of cpp_options
	when used together with cc1_options.
	(static_specs): Add cpp_unique_options.
	* objc/lang-specs.h: Use cpp_unique_options instead of cpp_options
	when used together with cc1_options.

2002-01-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Update the prototype of
	output_a_shift.
	* config/h8300/h8300.c (output_a_shift): Remove an unused
	argument 'insn'.  Remove redundant code.
	* config/h8300/h8300.md: Adust to the new prototype of
	output_a_shift.

2002-01-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Update the prototypes of
	emit_a_rotate and expand_a_rotate.
	* config/h8300/h8300.c (emit_a_rotate): Change the type of the
	first argument to 'enum rtx_code'.
	(expand_a_rotate): Likewise.

2002-01-28  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Update the prototype of
	output_simode_bld.
	* config/h8300/h8300.c (output_simode_bld): Remove an argumen
	'log2'.
	* config/h8300/h8300.md: Adjust to the new prototype.

2002-01-28  Kazu Hirata  <kazu@hxi.com>

	* conifg/h8300/h8300.c (h8300_adjust_insn_length): Remove
	redundant code.

2002-01-28  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* emit-rtl.c (gen_rtx_REG): Check that the PIC_OFFSET_TABLE_REGNUM
	is a fixed register before returning pic_offset_table_rtx.
	* loop.c (scan_loop): Don't hoist insns that set pic_offset_table_rtx
	when PIC_OFFSET_TABLE_REG_CALL_CLOBBERED is defined.

2002-01-28  Jason Merrill  <jason@redhat.com>

	* dwarf2.h: Sync with src version.

2002-01-28  Paul Koning  <pkoning@equallogic.com>

	* builtin-types.def (BT_FN_VOID_CONST_PTR_VAR): Replace
	BT_FN_VOID_PTR_VAR.
	* builtins.def (BUILT_IN_PREFETCH): Change first argument to be const.
	* doc/extend.texi (__builtin_prefetch): Update documentation:
	first argument is now const void ptr.

2002-01-28  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Remove an unused prototype.

2002-01-28  Roman Zippel  <zippel@linux-m68k.org>

	* toplev.c (lang_independent_init): Round up identifier size.

2002-01-28  Richard Earnshaw  <rearnsha@arm.com>

	* config.gcc: Revert previous change.

2002-01-28  Andris Pavenis  <pavenis@latnet.lv>

	* config/i386/djgpp.h: Use STRIP_NAME_ENCODING in macro UNIQUE_SECTION

2002-01-28  Richard Earnshaw  <rearnsha@arm.com>

	* config.gcc (*-*-netbsdelf*): Set up generic parameters.
	(*-*-netbsd*): Always use collect2.  Remove collect2 settings from
	other non-elf netbsd config frags.
	* config/netbsd-aout.h (STARTFILE_SPEC): Don't pull in c++rt0 since
	collect2 will does that.
	* config/netbsd.h (LIBGCC_SPEC): Add white space before -lgcc, so that
	shared-lib frobbing will work.

2002-01-28  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h: Fix formatting.
	* config/h8300/h8300.md: Likewise.

2002-01-28  Loren J. Rittle  <ljrittle@acm.org>

	* fixinc/inclhack.def (strict_ansi_not): Add a bypass based on
	the old, removed AAA_standards fix.
	* fixinc/fixincl.x: Rebuilt.

2002-01-28  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Change to emit
	atexit call in crtbegin, hooked in after call to frame_dummy;
	register EH before registering __fini__start.

2002-01-28  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/altivec.h: Remove spurious semicolons.

2002-01-27  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Replace dead bit extraction patterns
	with ones that work.

Sun Jan 27 13:23:40 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (get_mem_attrs): Don't default alignment for non-BLKmode
	if not STRICT_ALIGNMENT.
	* rtl.h (MEM_ALIGN): Likewise.

2002-01-27  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	* doc/invoke.texi (-fdump-translation-unit): Revert this
	patch: 2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>

2002-01-27  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (define_constants): New.
	(anonymous patterns) Use defined constants appropriately.

2002-01-27  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (function_arg): Remove redundant code.

2002-01-26  Richard Henderson  <rth@redhat.com>

	* sched-deps.c (reg_pending_uses_head): New.
	(reg_pending_barrier): Rename from reg_pending_sets_all.
	(find_insn_list): Don't mark inline.
	(find_insn_mem_list): Remove.
	(add_dependence_list, add_dependence_list_and_free): New.
	(flush_pending_lists): Replace only_write param with separate
	for_read and for_write parameters.  Update all callers.  Use
	add_dependence_list_and_free.
	(sched_analyze_1): Do not add reg dependencies here; just set
	the pending bits.  Use add_dependence_list.
	(sched_analyze_2): Likewise.
	(sched_analyze_insn): Replace schedule_barrier_found with
	reg_pending_barrier.  Add all dependencies for pending reg
	uses, sets, and clobbers.
	(sched_analyze): Don't add reg dependencies for calls, just
	set pending bits.  Use regs_invalidated_by_call.  Treat
	sched_before_next_call as a normal list, not a fake insn.
	(init_deps): No funny init for sched_before_next_call.
	(free_deps): Free pending mems lists.  Don't zero reg_last.
	(init_deps_global): Init reg_pending_uses.
	(finish_deps_global): Free it.
	* sched-int.h (deps): Make in_post_call_group_p boolean.  Update docs.
	(find_insn_mem_list): Remove.
	* sched-rgn.c (concat_INSN_LIST, concat_insn_mem_list): New.
	(propagate_deps): Use them.  Zero temp mem lists.

2002-01-26  Richard Henderson  <rth@redhat.com>

	* Makefile.in (CRTSTUFF_CFLAGS): New.
	(crtbegin.o, crtend.o, crtbeginS.o, crtendS.o, crtbeginT.o): Use it.
	* config.gcc (alpha-linux, alpha-freebsd, alpha-netbsd): Use plain
	crtstuff.c instead of alpha assembly version.
	* crtstuff.c (CRT_CALL_STATIC_FUNCTION): Rewrite to assume the
	entire dummy function sequence.  Use FORCE_CODE_SECTION_ALIGN
	not FORCE_{INIT,FINI}_SECTION_ALIGN.
	(__do_global_dtors_aux): Mark used.
	(frame_dummy, __do_global_ctors_aux): Mark used.
	(fini_dummy, init_dummy): Remove.

	* config/alpha/crtbegin.asm: Remove file.
	* config/alpha/crtend.asm: Remove file.
	* config/alpha/t-crtbe: Remove file.
	* config/alpha/elf.h (CRT_CALL_STATIC_FUNCTION): New.
	(LINK_EH_SPEC): New.

	* config/cris/cris.h (CRT_CALL_STATIC_FUNCTION): Rewrite old
	FORCE_INIT_SECTION_ALIGN hack.  Register __fini_start before
	calling constructors.
	* config/cris/linux.h (CRT_CALL_STATIC_FUNCTION): Undef.

	* config/i386/i386.h (CRT_CALL_STATIC_FUNCTION): New.
	* config/i386/linux.h (CRT_CALL_STATIC_FUNCTION): Replace old
	CRT_END_INIT_DUMMY hack.
	* config/i386/sol2.h (FORCE_CODE_SECTION_ALIGN): Replace
	FORCE_{INIT,FINI}_SECTION_ALIGN.

	* config/mcore/mcore-elf.h (FORCE_CODE_SECTION_ALIGN): Replace
	FORCE_{INIT,FINI}_SECTION_ALIGN.

	* config/s390/s390.h (CRT_CALL_STATIC_FUNCTION): Update for new
	invocation sequence.
	* config/sh/sh.h (CRT_CALL_STATIC_FUNCTION): Likewise.

	* doc/tm.texi (CRT_CALL_STATIC_FUNCTION): Update.
	(FORCE_CODE_SECTION_ALIGN): New.

2002-01-26  Richard Henderson  <rth@redhat.com>

	* config/cris/cris.c (cris_print_operand): Handle 64-bit CONST_INT.

2002-01-26  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_sa_mask): Mark RA for unicos here too.
	(alpha_sa_size): Use alpha_sa_mask to compute size of saved regs.

2002-01-26  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Remove bit extraction patterns that
	cannot be triggered.
	Restrict each bit extraction pattern to a variant on which the
	pattern is tested.

2002-01-26  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/include/texinfo.tex: Update to version 2002-01-04.07.

2002-01-26  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Remove bit test patterns that cannot
	be triggered.
	Restrict each bit test pattern to a variant on which the
	pattern is tested.

2002-01-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* builtins.c (expand_builtin_strncat): Remove redundant check for
	INTEGER_CST.

2002-01-25  David O'Brien  <obrien@FreeBSD.org>

	* config/i386/x86-64.h (DEFAULT_PCC_STRUCT_RETURN): Do not overide
	default setting.
	* config/i386/freebsd64.h (DEFAULT_PCC_STRUCT_RETURN): Do not override
	existing setting.

2002-01-25  Geoffrey Keating  <geoffk@redhat.com>

	* dbxout.c (dbxout_init): Use assemble_name rather than just
	stripping off the first character.
	(dbxout_source_file): Likewise.

2002-01-25  DJ Delorie  <dj@redhat.com>

	* config/sparc/sparc.c (sparc_emit_set_symbolic_const64): Compare
	using rtx_equal_p, not by comparing pointers.

2002-01-25  Steve Ellcey  <sje@cup.hp.com>

	* emit-rtl.c (gen_rtx_REG): Always return the same rtx
	for PIC_OFFSET_TABLE_REGNUM.
	(init_emit_once): Use gen_raw_REG to initialize pic_offset_table_rtx.

2002-01-25  David O'Brien  <obrien@FreeBSD.org>

	* config.gcc (x86_64-*-freebsd*): New target.
	(x86_64-*-netbsd*,x86_64-*-linux*): Use ${tm_file} rather than its
	value.
	(i[34567]86-*-freebsd*): Don't include svr4.h.
	* config/i386/freebsd64.h: New file.

2002-01-25  Douglas B Rupp  <rupp@gnat.com>

	* config/alpha/x-vms (version): Make static.

	* config/alpha/vms.h (MD_FALLBACK_FRAME_STATE_FOR): Fix error
	in previous checkin.

	* Makefile.in (install-headers-cp): New target.
	* config.gcc (alpha-dec-*vms*): Install headers with
	install-headers-cp

Fri Jan 25 22:42:49 CET 2002  Jan Hubicka  <jh@suse.cz>

	* unroll.c (unroll_loop): Lower final_value to nonmemory operand;
	avoid it's copies.

Fri Jan 25 08:26:19 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* builtins.c (expand_builtin_strncpy): Use integer_zerop instead
	of compare_tree_int.
	(expand_builtin_strncat): Likewise.
	* c-decl.c (finish_struct): Use tree_low_cst.
	* tree.h (compare_tree_int): Arg is unsigned HOST_WIDE_INT.
	* tree.c (compare_tree_int): Likewise.

2002-01-25  Ulrich Weigand  <uweigand@de.ibm.com>

	* reload1.c (eliminate_regs_in_insn): Recognize frame pointer
	adjustments even if they are implemented by more than two insns.

Fri Jan 25 20:43:56 CET 2002  Jan Hubicka  <jh@suse.cz>

	* df.c (df_ref_create, df_ref_record_1, df_ref_record): Kill BB arg.
	* df.h (struct ref): Kill B.
	(DF_REF_BB, DF_REF_BBNO): Use BLOCK_FOR_INSN.

	* basic-block.h (PROP_EQUAL_NOTES): New flag.
	* flow.c (propagate_one_insn): Use it.
	(mark_used_regs): Handle NIL.

2001-01-25  Geoffrey Keating  <geoffk@redhat.com>

	* config/stormy16/stormy16.md (tablejump_pcrel): Use a MEM
	to help folding.

2002-01-25  David Edelsohn  <edelsohn@gnu.org>

	* rs6000.md (prefetch): Make address V4SI mode so that the address
	is restricted to legitimate form for instruction.

2002-01-25  Bob Wilson  <bob.wilson@acm.org>

	* doc/install.texi (xtensa-*-elf): New target.
	(xtensa-*-linux*): New target.
	* doc/contrib.texi: Add myself.

2002-01-25  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow any general
	purpose register to hold an SImode (or smaller) value.

2002-01-25  Jakub Jelinek  <jakub@redhat.com>

	* unwind-dw2-fde-glibc.c: If inhibit_libc, use __register_frame*
	registry only.
	* crtstuff.c: Likewise.

2002-01-25  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (negation patterns): Tighten
	predicates to register_operand.

2002-01-24  Aldy Hernandez  <aldyh@redhat.com>

	* loop.c (emit_prefetch_instructions): Use the prefetch insn's
	mode, not Pmode.

	* builtins.c (expand_builtin_prefetch): Same.

2002-01-24  Alexandre Oliva  <aoliva@redhat.com>

	* config/sh/sh.md (sym_label2reg): Make sure all CONSTs have
	modes.

2002-01-24  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (print_operand): Remove support for
	operand character 'A'.
	* config/h8300/h8300.md (three anonymous patterns): Replace
	operand character 'A' with either 'T' or 'S'.

2002-01-24  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (print_operand): Remove support for
	operand character 'U'.

2002-01-24  Andris Pavenis  <pavenis@latnet.lv>

	* config/i386/t-djgpp: Use NATIVE_SYSTEM_HEADER_DIR.

2002-01-24  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_hard_regno_mode_ok): Allow SImode
	values to be assigned to the stack pointer.

2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>

	* emit_rtl.c (gen_lowpart_common): Conversion from const_int
	to const_double needs to be done right for big-endian systems.

2002-01-24  Jason Merrill  <jason@redhat.com>

	PR c++/2432
	* config/sparc/sparc.md (call-jump peepholes): Pass the right insn
	to can_throw_internal.

2002-01-23  Richard Henderson  <rth@redhat.com>

	* fold-const.c (fold): Change UINT_MAX test to check vs precision
	rather than TYPE_MAX_VALUE.  Fix indentation and a bogus negation.

2002-01-24  Alexandre Oliva  <aoliva@redhat.com>

	* config/sh/sh.md (symGOT_load, sym2GOT, sym2GOTOFF): New expands.
	(symGOT2reg): Use them, then set as GOT value as unchanging.
	(symGOTOFF2reg): Set REG_EQUAL note.  Use a different pseudo
	as a temporary, if possible.
	(symPLT_label2reg): Enclose (pc) in UNSPEC_PIC.  Emit
	sym@PLT-(.LPCS#+2-.) instead of sym@PLT+.-(.LPCS#+2).

2002-01-23  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Fix xorqi and xorqi so that they will
	accept to accept 0x80 as operands[2].

2002-01-24  Alexandre Oliva  <aoliva@redhat.com>

	* config/sparc/sparc.md (fix_trunctfdi2): Correct typo in mode.

2002-01-23  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (call_value_osf_1_er peepholes): Fix typo.

2002-01-23  Aldy Hernandez  <aldyh@redhat.com>

	* c-parse.in (parmlist_or_identifiers): Add maybe_attribute.
	(parmlist_or_identifiers_1): Verify that only a parmlist follows
	an attribute.

2002-01-23  Richard Henderson  <rth@redhat.com>

	* expr.c (move_by_pieces_1): Extend size before negation.

	* config/m68k/t-m68kbare (MULTILIB_OPTIONS): Add 68040 and 68060.
	(MULTILIB_MATCHES): Remove 68040 and 68060 aliases.
	(MULTILIB_EXCEPTIONS): Ignore 68881 and soft-float for 68040 and 68060.
	* config/m68k/t-m68kelf: Likewise.

2002-01-23  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa/elf.h: New file.
	* config/xtensa/lib1funcs.asm: New file.
	* config/xtensa/lib2funcs.S: New file.
	* config/xtensa/linux.h: New file.
	* config/xtensa/t-xtensa: New file.
	* config/xtensa/xtensa-config.h: New file.
	* config/xtensa/xtensa-protos.h: New file.
	* config/xtensa/xtensa.c: New file.
	* config/xtensa/xtensa.h: New file.
	* config/xtensa/xtensa.md: New file.
	* config.gcc (xtensa-*-elf*): New target.
	(xtensa-*-linux*): New target.
	* cse.c (canon_hash): Compare rtx pointers instead of register
	numbers.  This is required for the Xtensa port.
	* integrate.c (copy_insn_list): Handle case where the static
	chain is in memory and the memory address has to be copied to
	a register.
	* doc/invoke.texi (Option Summary): Add Xtensa options.
	(Xtensa Options): New node.
	* doc/md.texi (Machine Constraints): Add Xtensa machine constraints.

2002-01-23  Zack Weinberg  <zack@codesourcery.com>

	* diagnostic.c (internal_error): Do ICE suppression only
	when ENABLE_CHECKING is not defined.

	* c-typeck.c (require_complete_type): Return error_mark_node
	if type is error_mark_node.

2002-01-23  Janis Johnson  <janis187@us.ibm.com>

	* toplev.c (process_options): Disable -fprefetch-loop-arrays with
	-Os and issue a warning.

2002-01-23  Zack Weinberg  <zack@codesourcery.com>

	* doc/fragments.texi, doc/hostconfig.texi: Update to reflect
	current (lack of) need for host configuration by hand.

	* doc/gccint.texi, doc/rtl.texi, doc/tm.texi: Adjust cross
	references.  Documentation of some target macros moved from
	hostconfig.texi to tm.texi.

2002-01-23  Will Cohen  <wcohen@redhat.com>

	* config/arm/arm.h (THUMB_FUNCTION_PROFILER): Define if not currently
	defined.

2002-01-23  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (*andorhi3): Accept 0x8000 as an
	operand[3].

2002-01-23  Jason Merrill  <jason@redhat.com>

	* tree.c (build1): Don't set TREE_READONLY on INDIRECT_REF.

	* function.c (assign_parms): Don't put args of inline functions
	into registers when not optimizing.

2002-01-23  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.md (UNSPEC_PROLOGUE_USE): New unspec constant.
	(prologue_use): New pattern.
	* config/arm/arm.c (expand_prologue): Use gen_prologue_use in
	preference to gen_rtx_USE.
	(thumb_expand_prologue): Use gen_prologue_use in preference to
	gen_rtx_USE.
	(thumb_expand_epilogue): Use gen_prologue_use in preference to
	gen_rtx_USE.

2002-01-23  Hans-Peter Nilsson  <hp@bitrange.com>

	* loop.c [!HAVE_prefetch] (CODE_FOR_prefetch): Define to 0.

2002-01-23  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR c/3504
	* doc/extend.texi: Correct documentation of __alignof__.

2002-01-22  Zack Weinberg  <zack@codesourcery.com>

	* params.h: Rename arguments of DEFPARAM so that it will be
	recognized as a translation keyword.

2002-01-22  Aldy Hernandez  <aldyh@redhat.com>

	* extend.texi: Document altivec functions.
	Fix N-bit adjectives in X86 builtin documentation.

2002-01-22  Alexandre Oliva  <aoliva@redhat.com>

	* reload.c (reg_overlap_mentioned_for_reload_p): Handle PLUS and
	auto_inc_dec values.

2002-01-22  Richard Earnshaw  <rearnsha@arm.com>

	* config/netbsd-aout.h (SWITCH_TAKES_ARG): Remove bogus white space
	after backslash.
	(ASM_DECLARE_OBJECT_NAME): Add missing backslash before final line.

2002-01-22  Alexandre Oliva  <aoliva@redhat.com>

	* config/i386/freebsd-aout.h (ASM_QUAD): Undefine.

2002-01-22  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (split_small_symbolic_mem_operand): Use
	copy_insn not copy_rtx.

2002-01-23  Alan Modra  <amodra@bigpond.net.au>

	* combine.c (simplify_and_const_int): Don't trunc_int_for_mode
	"nonzero" as that might add "1" bits.  Ensure "constop" is
	properly sign extened.
	(force_to_mode): Tweak for sign extended constop.

2002-01-22  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (some_small_symbolic_mem_operand) Use
	for_each_rtx instead of assuming we're already looking at the MEM.
	(split_small_symbolic_mem_operand): Likewise.
	* config/alpha/alpha.h (PREDICATE_CODES): Update.
	* config/alpha/alpha.md (small symbolic memory splitters): Update.

2002-01-22  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (divmodsi_internal_er): Generate lituse
	sequence number for the literal.
	(divmoddi_internal_er): Likewise.

2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR java/4972
	* aclocal.m4 (AM_ICONV): Put linking flags for libiconv
	in LIBICONV variable.
	* configure: Regenerated.

2002-01-22  Krister Walfridsson  <cato@df.lth.se>

	* dependence.c (build_def_use): Remove array_idx.

	* dwarfout.c (last_filename): Remove.
	(output_compile_unit_die): Remove last_filename.

2002-01-22  Roger Sayle  <roger@eyesopen.com>
	    Richard Henderson  <rth@redhat.com>

	PR opt/3640
	* fold-const.c (fold): Optimize unsigned comparisons against
	UINT_MAX (and similar unsigned constants).

2002-01-22  Janis Johnson  <janis187@us.ibm.com>

	* Makefile.in (loop.o): Depend on OPTABS_H.
	* loop.c (emit_prefetch_instructions): Check the prefetch operand
	against the predicate.

	PR target/5379
	* config/i386/i386.md (prefetch_sse): Specify "p" as a constraint
	for the address operand.

2002-01-22  Richard Henderson  <rth@redhat.com>

	* config/alpha/freebsd.h (FUNCTION_PROFILER): Remove.

2002-01-22  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR other/5450
	* config/i386/sysv4.h (CPP_SPEC): Define, and add CPU
	preprocessor flags.

2002-01-22  Jason Thorpe  <thorpej@wasabisystems.com>

	* config.gcc (x86_64-*-netbsd*): New target.
	* config/i386/netbsd64.h: New file.

2002-01-22  Aldy Hernandez  <aldyh@redhat.com>

	* regrename.c (kill_value): Fix typo.

2002-01-22  Aldy Hernandez  <aldyh@redhat.com>

	* doc/tm.texi: Remove STARTING_FRAME_PHASE.

	* config/rs6000/rs6000.h: Same.

	* function.c (instantiate_virtual_regs): Remove
	STARTING_FRAME_PHASE.
	(assign_stack_local_1): Same.
	Calculate frame phase.

2002-01-22  Nick Clifton  <nickc@redhat.com>

	* config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Move 'regno'
	variable declaration to outer scope in order to simplify
	future extensions.
	(HARD_REGNO_MODE_OK): Replace macro body with a with a call to
	arm_hard_regno_mode_ok.
	* config/arm/arm-protos.h: Add a prototype for
	arm_hard_regno_mode_ok.
	* config/arm/arm.c (soft_df_operand): Remove now redundant
	check for DImode values using IP_REGNUM.
	(nonimmediate_soft_df_operand): Remove now redundant check for
	DImode values using IP_REGNUM.
	(arm_hard_regno_mode_ok): New function. New check: make sure
	that DImode values are not stored in IP_REGNUM.

	* config/arm/arm.c (arm_expand_prologue): Replace REG_MAYBE_DEAD
	note with a USE.
	(thumb_expand_prologue): Replace REG_MAYBE_DEAD	note with a USE.

2002-01-22  Jason Merrill  <jason@redhat.com>

	* c-semantics.c (genrtl_compound_stmt): Only check nesting
	consistency if this COMPOUND_STMT is scoped.

2002-01-22  Kazu Hirata  <kazu@hxi.com>

	* predict.c: Fix formatting.
	* print-tree.c: Likewise.
	* protoize.c: Likewise.
	* real.h: Likewise.
	* rtl.h: Likewise.
	* sbitmap.h: Likewise.
	* scan.c: Likewise.
	* sched-deps.c: Likewise.
	* sched-vis.c: Likewise.
	* sdbout.c: Likewise.
	* sibcall.c: Likewise.
	* ssa.c: Likewise.
	* ssa-ccp.c: Likewise.
	* ssa-dce.c: Likewise.
	* stmt.c: Likewise.
	* stor-layout.c: Likewise.
	* system.h: Likewise.

Tue Jan 22 06:26:33 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* tree.c (int_fits_type_p): If bounds of a subtype are variable, see
	if fits in bounds of base type.

	* dwarf2out.c (equate_decl_number_to_die): Add "int" to decls.
	(loc_descriptor_from_tree, case CALL_EXPR, case ADDR_EXPR): New.
	(add_bound_info, default): If can't find a context, make a
	SAVE_EXPR.
	(dwarf2out_finish): Check for SAVE_EXPR in node->created_for.

2002-01-22  Hans-Peter Nilsson  <hp@axis.com>

	* c-typeck.c (parser_build_binary_op): If result from
	build_binary_op is ERROR_MARK just return error_mark_node without
	further processing.

2002-01-21  Jason Thorpe  <thorpej@wasabisystems.com>

	* config/netbsd.h (TARGET_HAS_F_SETLKW): define.
	Split a.out-specific bits into...
	* config/netbsd-aout.h: ...this.
	* config/netbsd-elf.h: New file.
	* config/alpha/netbsd-elf.h: Remove.
	* config/alpha/netbsd.h: Rewrite for a NetBSD/alpha ELF target.
	* config/i386/netbsd-elf.h (LIB_SPEC): Remove.
	(STARTFILE_SPEC): Remove redundant definition.
	(ENDFILE_SPEC): Likewise.
	(LINK_SPEC): Likewise.
	(CPP_SPEC): Likewise.
	(ASM_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(SWITCH_TAKES_ARG): Likewise.
	(TARGET_MEM_FUNCTIONS): Likewise.
	(CPP_PREDEFINES): Redefine.
	(ASM_FINAL_SPEC): Remove redefinition.
	(ASM_COMMENT_START): Redefine.
	(FUNCTION_PROFILER): Define.
	(TARGET_VERSION): Redefine.
	Comment and formatting cleanup.
	* config/i386/netbsd.h: Include <netbsd-aout.h>.
	* config/m68k/netbsd.h: Include <netbsd-aout.h>.
	* config/mips/netbsd.h: Rewrite for NetBSD/mips ELF target,
	big- or little-endian.
	* config/ns32k/netbsd.h: Include <netbsd-aout.h>.
	* config.gcc (*-*-netbsd*): Add definitions common to all
	NetBSD configs.
	(alpha*-*-netbsd*): Remove redundant xm_defines, gas, and
	gnu_ld definitions.  Add netbsd-elf.h to and remove
	alpha/netbsd-elf.h from tm_file.  Remove alpha/t-crtfm from
	tmake_file, and don't lose previous tmake_file contents.
	(arm*-*-netbsd*): Add netbsd-aout.h to tm_file.
	(i[34567]86-*-netbsdelf*): Remove redundant xm_defines, gas, and
	gnu_ld definitions.  Add netbsd-elf.h to tm_file.
	(mips-dec-netbsd*): Remove as alias for mipsel-*-netbsd*.
	(mipsel-*-netbsd*): Rename this to...
	(mips*-*-netbsd*): ...this.  Add elfos.h to tm_file.  Add
	mips/little.h to tm_file for mips*el-*.
	(powerpc-*-netbsd*): Remove redundant xm_defines definition.
	(sparc-*-netbsd*): Add netbsd-aout.h to tm_file.
	(vax-*-netbsd*): Add netbsd-aout.h to tm_file.

2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa-protos.h (reg_before_reload_operand): New function prototype.
	* pa.c (reg_before_reload_operand): New function implementation.
	* pa.md (decrement_and_branch_until_zero, movb): Use it.  Change "!*m"
	contraints to "*m".

2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* combine.c (simplify_and_const_int): Properly sign-extend CONSTOP.

2002-01-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa64-hpux.h (MD_EXEC_PREFIX): Set to "/usr/ccs/bin".
	(MD_STARTFILE_PREFIX): Set to "/usr/ccs/lib/pa20_64/".
	(MD_STARTFILE_PREFIX_1): Set to "/opt/langtools/lib/pa20_64/".
	(EH_FRAME_IN_DATA_SECTION): Define and update comment on init sections.
	(ENDFILE_SPEC): Undefine.
	(STARTFILE_SPEC): Redefine for PA.

2002-01-21  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/rs6000/t-ppccomm (CRTSTUFF_T_CFLAGS_S): Re-add -fPIC.

2002-01-21  Daniel Jacobowitz  <drow@mvista.com>

	* config.gcc: Add entries to supported PowerPC --with-cpu
	types.

2002-01-21  Jakub Jelinek  <jakub@redhat.com>

	* config/i386/i386.c (ix86_function_arg_regno_p): Never return
	true for 64-bit mode only SSE registers in 32-bit mode.

2002-01-21  Kazu Hirata  <kazu@hxi.com>

	* unwind-dw2.c: Fix formatting.
	* unwind-dw2-fde.c: Likewise.
	* unwind-dw2-fde.h: Likewise.
	* unwind-pe.h: Likewise.
	* varasm.c: Likewise.
	* varray.h: Likewise.

2002-01-21  Hans-Peter Nilsson  <hp@bitrange.com>

	Remove workaround for register stack overwrite bug in mmix.
	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Remove
	support for TARGET_REG_STACK_FILL_BUG.
	* config/mmix/mmix.h: Remove member has_call_without_parameters.
	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_REG_STACK_FILL_BUG):
	Delete.
	(TARGET_DEFAULT): Remove TARGET_MASK_REG_STACK_FILL_BUG.
	(TARGET_SWITCHES): Remove -mreg-stack-fill-bug-workaround and
	-mno-reg-stack-fill-bug-workaround.
	* config/mmix/mmix.md ("call", "call_value"): Don't set struct
	machine member has_call_without_parameters.
	* doc/invoke.texi (Option Summary) <MMIX Options>: Remove
	-mreg-stack-fill-bug-workaround	and
	-mno-reg-stack-fill-bug-workaround.
	(MMIX Options): Ditto.

2002-01-21  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (function_arg): Replace 0 with NULL_RTX
	as appropriate.
	Remove redundant code.

2002-01-21  Joseph S. Myers  <jsm28@cam.ac.uk>

	* config/alpha/alpha.h, config/arc/arc.h, config/avr/avr.h,
	config/c4x/c4x.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/fr30/fr30.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h,
	config/mips/mips.h, config/rs6000/rs6000.h, config/sparc/sparc.h,
	config/stormy16/stormy16.h, config/v850/v850.h: Remove commented
	out target macro definitions and non-target-specific comments
	mostly taken from old versions of the manual.

2002-01-20  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h: Fix comment formatting.
	* config/ia64/aix.h: Likewise.
	* config/ia64/ia64-protos.h: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/ia64/ia64intrin.h: Likewise.
	* config/ia64/linux.h: Likewise.
	* config/ia64/unwind-aix.c: Likewise.
	* config/ia64/unwind-ia64.c: Likewise.

2002-01-20  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c: Revise comments about shift code.

2002-01-20  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (function_arg): Update a comment.

2002-01-20  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Update the comments at the beginning
	of the file.

2002-01-20  Kazu Hirata  <kazu@hxi.com>

	* config/i370/i370.c: Fix comment formatting.
	* config/i370/i370.h: Likewise.
	* config/i370/i370.md: Likewise.
	* config/i370/linux.h: Likewise.

Sun Jan 20 18:40:14 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* reg-stack.c (subst_stack_regs): Properly check for deleted insn.

	* dwarf2out.c (loc_descriptor_from_tree): Add TRUTH_*_EXPR cases.
	(gen_struct_or_union_type_die): Don't SIGSEGV if no TYPE_STUB_DECL
	in incomplete case.

2002-01-20  Graham Stott  <grahams@redhat.com>

	* cfgloop.c (flow_loop_preheader_scan): Fix typo.

2002-01-19  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* config.gcc (hppa*64*-*-hpux11*): Fix tmake_file.

2002-01-19  Tom Rix  <trix@redhat.com>

	* config/rs6000/rs6000.md: Fix DF split for 64 bit hosts.

2002-01-18  Aldy Hernandez  <aldyh@redhat.com>

	* doc/tm.texi (STARTING_FRAME_PHASE): Document.

	* function.c (assign_stack_local_1): Adjust x_frame_offset with
	STARTING_FRAME_PHASE.
	(STARTING_FRAME_PHASE): New.
	(instantiate_virtual_regs): Check saneness of
	STARTING_FRAME_PHASE.

	* config/rs6000/rs6000.h (STARTING_FRAME_PHASE): New.

2002-01-19  Alexandre Oliva  <aoliva@redhat.com>

	* config/sh/sh.md (movdf_i4 split): Fix alter_subreg calls.

2002-01-18  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	* doc/install.texi (hppa*-hp-hpux11): Clarify that GCC 2.95.x cannot
	be used for bootstrapping GCC 3.0.

2002-01-18  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Fix an insn length.

2002-01-18  Kazu Hirata  <kazu@hxi.com>

	* bitmap.h: Fix comment formatting.
	* combine.c: Likewise.
	* cppfiles.c: Likewise.
	* c-pragma.h: Likewise.
	* c-typeck.c: Likewise.
	* df.c: Likewise.
	* dwarf2out.c: Likewise.
	* function.c: Likewise.
	* gcc.c: Likewise.
	* genattrtab.c: Likewise.
	* gthr-win32.h: Likewise.
	* haifa-sched.c: Likewise.
	* predict.c: Likewise.
	* rtlanal.c: Likewise.
	* rtl.h: Likewise.
	* unwind-dw2-fde.h: Likewise.
	* unwind-pe.h: Likewise.
	* vmsdbgout.c: Likewise.

Thu Jan 17 15:28:26 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* attribs.c (decl_attributes): Clear ATTR_FLAG_TYPE_IN_PLACE
	if type_required and passed decl.

2002-01-17  Aldy Hernandez  <aldyh@redhat.com>

	* config.gcc (cpu_type): Include altivec.h in powerpc
	extra_headers.
	Same for darwin.

	* config/rs6000/altivec.h: New.

2002-01-17  David Edelsohn  <edelsohn@gnu.org>

	* doc/install.texi (*-ibm-aix*): Update assembler and exception
	handling information.
	* doc/trouble.texi (Interoperation): Add libstdc++ information
	for AIX.
	(Misunderstandings): Add template instantiation and static template
	member information for AIX.

2002-01-17  Jason Merrill  <jason@redhat.com>

	* dbxout.c (dbxout_type): Support const and volatile.

	* except.c (add_partial_entry): Remove backwards compatibility code.
	(end_protect_partials): Likewise.

2002-01-17  Jakub Jelinek  <jakub@redhat.com>

	* config/ia64/ia64.md (prologue_use): New.
	* config/ia64/ia64.c (ia64_expand_prologue): Use
	gen_prologue_use instead of gen_rtx_USE.
	(group_barrier_needed_p): Handle CODE_FOR_prologue_use the same way
	as CODE_FOR_pred_rel_mutex.
	(ia64_sched_reorder2): Likewise.

2002-01-16  Eric Christopher  <echristo@redhat.com>

	* config/mips/r3900.h: Reformat.
	(SUBTARGET_CPP_SIZE_SPEC): Remove.
	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Ditto.
	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Default to "".
	(SUBTARGET_CPP_SIZE_SPEC): Rewrite.
	* config/mips/t-elf: Remove mips3 multilib.

2002-01-16  H.J. Lu <hjl@gnu.org>

	* config/mips/linux.h: Include "mips/abi64.h".

2002-01-16  H.J. Lu <hjl@gnu.org>

	* config/mips/t-linux: New.

	* config.gcc: Add mips/t-linux to tmake_file for mips*-*-linux*.

	* config/mips/linux.h: Don't include "gofast.h".
	(INIT_SUBTARGET_OPTABS): Removed.

2002-01-16  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Replace emit_a_shift with
	output_a_shift.
	* config/h8300/h8300.c: Likewise.
	* config/h8300/h8300.md: Likewise.

2002-01-16  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (pushqi1_h8300): Use a tab instead of
	spaces after an opcode name.
	(pushqi1_h8300hs): Likewise.
	(pushhi1_h8300hs): Likewise.

2002-01-16  Kazu Hirata  <kazu@hxi.com>

	* doc/extend.texi: Replace "option" with "attribute"
	appropriately.

2002-01-16  Jakub Jelinek  <jakub@redhat.com>

	* config/alpha/alpha.c (some_small_symbolic_mem_operand): Look into
	(and:DI () (const_int -8)).
	(split_small_symbolic_mem_operand): Split
	(mem (and:DI () (const_int -8)).

2002-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR target/5309:
	* config/sparc/sparc.c (ultrasparc_adjust_cost): Handle TYPE_IDIV the
	same way as TYPE_IMUL.
	(ultrasparc_sched_reorder): Likewise.
	* config/sparc/sparc.md (type): Add comment to update
	ultrasparc_sched_reorder when making changes.

2002-01-16  Kazu Hirata  <kazu@hxi.com>

	* doc/invoke.texi: Change the dump file name of block
	reordering pass from 28.bbro to 29.bbro.
	Mention -dk option.

Wed Jan 16 17:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>

	* i386.md (minsf splitter): Fix pasto.

2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_expand_prologue): Add REG_MAYBE_DEAD note
	to frame pointer initialisation instruction.
	(thumb_expand_prologue): Add REG_MAYBE_DEAD note to frame pointer
	initialisation instruction.
	(soft_df_operand): Do not accept the IP register.
	(nonimmediate_soft_df_operand): Do not accept the IP register.

2002-01-16  Jakub Jelinek  <jakub@redhat.com>

	PR target/5357:
	* config/sparc/sparc.c (sparc_override_options): Avoid MASK_V9 and
	MASK_V8 being both set.

2002-01-16  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.c (s390_emit_prologue): Do not emit USE
	insn for GOT register; add REG_MAYBE_DEAD notes instead.
	config/s390/s390.md (call, call_value): Add GOT register to
	CALL_INSN_FUNCTION_USAGE where needed.
	(call_exp, call_value_exp): New.

2002-01-16  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c: General formatting tidy up.

2002-01-16  Graham Stott  <grahams@redhat.com>

	* calls.c (try_to_integrate): Use "(size_t)" intermediate
	cast and when casting an integer literal to "rtx" pointer.
	(expand_call): Likewise.
	* flow.c (try_pre_increment): Likewise.
	(find_use_as_address): Likewise.
	* integrate.c (expand_iline_function): Likewise.
	* regmove.c (try_auto_increment): Likewise.

2002-01-16  Graham Stott  <grahams@redhat.com>

	* sched-rgn.c (passed): Use sbitmap_free.
	(header): Likewise.
	(inner): Likewise.
	(in_queue): Likewise.
	(in_stack): Likewise.

2002-01-15  Eric Christopher  <echristo@redhat.com>

	* flow.c (propagate_one_insn): Change to use fatal_insn.

2002-01-15  Kazu Hirata  <kazu@hxi.com>

	* expmed.c (extract_fixed_bit_field): Remove unused code.
	* system.h: Poison SLOW_ZERO_EXTEND.
	* doc/tm.texi: Remove.
	* config/1750a/1750a.h (SLOW_ZERO_EXTEND): Remove.
	* config/arm/arm.h: Likewise.
	* config/avr/avr.h: Likewise.
	* config/clipper/clipper.h: Likewise.
	* config/convex/convex.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/dsp16xx/dsp16xx.h: Likewise.
	* config/elxsi/elxsi.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/h8300/h8300.h: Likewise.
	* config/i370/i370.h: Likewise.
	* config/i386/i386.h: Likewise.
	* config/m68k/m68k.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/ns32k/ns32k.h: Likewise.
	* config/pdp11/pdp11.h: Likewise.
	* config/pj/pj.h: Likewise.
	* config/s390/s390.h: Likewise.
	* config/sh/sh.h: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/v850/v850.h: Likewise.
	* config/vax/vax.h: Likewise.
	* config/we32k/we32k.h: Likewise.

2002-01-15  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.md (altivec_stvx): Add parallels to stvx.
	(altivec_lvsl): Change constraint to b.
	(altivec_lvsr): Same.
	(altivec_lvebx): Same.
	(altivec_lvehx): Same.
	(altivec_lvewx): Same.
	(altivec_lvxl): Same.
	(altivec_lvx): Same.
	(altivec_stvx): Add parallel.
	(altivec_stvxl): Same.
	(altivec_stvehx): Same.
	(altivec_stvebx): Same.
	(altivec_stvebx): Same.

2002-01-15  Aldy Hernandez  <aldyh@redhat.com>

	* config.gcc: Change altivec.h to altivec-defs.h.

	* config/rs6000/altivec.h: Delete.

	* config/rs6000/altivec-defs.h: Add.

2002-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* vax.c (vax_rtx_cost): Return MAX_COST for unsupported MULT, UDIV
	and UMOD modes.

	* vax.h (INDEX_TERM_P): Restrict indexing to modes which have a size
	less than or equal to eight bytes.

	* vax.md (andsi3): Remove constraints and change SET destination
	operand type to nonimmediate_operand.
	(andhi3, andqi3): Likewise.  Don't clear high order bits of operand 1
	when it is a CONST_INT.

2002-01-15  Jason Merrill  <jason@redhat.com>

	* c-common.def (FILE_STMT): New code.
	* c-common.c (statement_code_p): It's a statement.
	* c-common.h (stmt_tree_s): Add x_last_filename.
	(FILE_STMT_FILENAME_NODE, FILE_STMT_FILENAME): New macros.
	(last_expr_filename): New macro.
	* c-semantics.c (begin_stmt_tree): Initialize it.
	(add_stmt): If the filename changed, also insert a
	FILE_STMT.
	(expand_stmt): Handle seeing one.

2002-01-15  Eric Christopher  <echristo@redhat.com>

	* flow.c (propagate_one_insn): Add error message and print out
	insn for debugging.

2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>

	* system.h (ASM_IDENTIFY_GCC, STDC_VALUE, TRAMPOLINE_ALIGN,
	ASM_IDENTIFY_GCC_AFTER_SOURCE): Poison.
	* config/pdp11/pdp11.h (TRAMPOLINE_ALIGN): Rename to
	TRAMPOLINE_ALIGNMENT.
	* config/arm/arm.h, config/mcore/mcore.h: Likewise.  Change value
	to be in bits.
	* config/i386/cygwin.h (PCC_BITFIELDS_TYPE_MATTERS): Rename to
	PCC_BITFIELD_TYPE_MATTERS.
	* config/interix.h (STDC_VALUE): Remove.  Use
	STDC_0_IN_SYSTEM_HEADERS.
	* config/darwin.h (ASM_IDENTIFY_GCC), config/dsp16xx/dsp16xx.h
	(ASM_IDENTIFY_GCC), config/stormy16/stormy16.h (ASM_IDENTIFY_GCC,
	ASM_IDENTIFY_GCC_AFTER_SOURCE): Remove.

2002-01-15  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	* doc/install.texi (hppa*-hp-hpux11): --enable-threads does
	not work on this platform currently.

2002-01-15  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-typeck.c (build_unary_op): Don't wrap msgid argument of
	readonly_warning in _().

2002-01-15  Douglas B Rupp  <rupp@gnat.com>

	* gcc.c (delete_if_ordinary): Backout previous change.

2002-01-15  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (print_operand): Remove support for
	unused operand characters.

	* read-rtl.c: Fix formatting.
	* real.c: Likewise.
	* recog.c: Likewise.
	* regclass.c: Likewise.
	* regmove.c: Likewise.
	* reg-stack.c: Likewise.
	* reload1.c: Likewise.
	* rtlanal.c: Likewise.

2002-01-15  Kazu Hirata  <kazu@hxi.com>

	* config/i386/i386.c: Fix formatting.

2002-01-15  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (process_init_element): Don't save_expr
	COMPOUND_LITERAL_EXPR if just its initializer will be used.

2002-01-15  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.c (rs6000_output_function_epilogue): Do not
	emit optional traceback table if optimize_size or TARGET_ELF.
	* config/rs6000/rs6000.md (prefetch): New.

2002-01-15  Andreas Jaeger  <aj@suse.de>

	* config.gcc (x86_64-*-*): Install mmintrin.h and xmmintrin.h.

2002-01-15  Kazu Hirata  <kazu@hxi.com>

	* mips-tfile.c: Fix formatting.

Tue Jan 15 00:56:11 CET 2002  Jan Hubicka  <jh@suse.cz>

	* unroll.c (final_reg_note_copy): Fix previous commit.

2002-01-14  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Remove the prototype for
	eq_operator.
	* config/h8300/h8300.c (eq_operator): Remove.

2002-01-14  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.md (prefetch): Tidy.
	(prefetch_3dnow): Fix locality operand.

2002-01-14  Richard Henderson  <rth@redhat.com>

	* config/mips/mips.h (HI_AND_FP_REGS): New register class.
	(CLASS_CANNOT_CHANGE_MODE): Disallow HI in little-endian mode.

2002-01-14  Hans-Peter Nilsson  <hp@bitrange.com>

	* reload1.c (reload_combine): Pass reg_sum replacement through
	copy_rtx in loop performing multiple changes.

2002-01-14  Jakub Jelinek  <jakub@redhat.com>

	* except.c (remove_unreachable_regions): New.
	(free_eh_status): Clear exception_handler_labels.
	(convert_from_eh_region_ranges): Call remove_unreachable_regions.
	(find_exception_handler_labels): Don't add the same label more than
	once.
	(remove_exception_handler_label): Don't die if
	find_exception_handler_labels hasn't been called for the current
	function yet.

Mon Jan 14 21:26:13 CET 2002  Jan Hubicka  <jh@suse.cz>

	* toplev.c (rest_of_compilation): Rebuild jump labels after
	gcse.

2002-01-14  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/extend.texi: Move documentation of X86 built-in functions
	here.
	* doc/invoke.texi: From here.
	* doc/sourcebuild.texi: Document location of documentation for
	machine built-in functions.

2002-01-13  Christopher Faylor  <cgf@redhat.com>

	* cppfiles.c (TEST_THRESHOLD): New macro.
	(SHOULD_MMAP): Ditto.
	(read_include_file): Use SHOULD_MMAP macro to decide when mmap should
	be used.

Mon Jan 14 20:23:34 CET 2002  Jan Hubicka  <jh@suse.cz>

	* unroll.c (final_reg_note_copy): Properly handle
	REG_LABEL
	(unroll_loops): Fix LOOP_CONDITION heuristics.

2002-01-14  Geoffrey Keating  <geoffk@redhat.com>

	* doc/invoke.texi (Xstormy16 Options): Add xstormy16 option.
	* doc/md.texi (Machine Constraints): Use @minus{} where appropriate.

Mon Jan 14 20:18:19 CET 2002  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c (try_forward_edges): Avoid infinite loop at infinite
	threaded loop.

2002-01-14  Tom Rix  <trix@redhat.com>

	* config/rs6000/rs6000.md: Fix typo with sradi.

2002-01-14  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.md (movstrdix_64, movstrsix_31, movstrdi_64,
	movstrsi_31, clrstrsi_64, clrstrsi_31): Improve RTL templates.
	(clrstrdi, clrstrsi): Adapt callers.

	(extendsidi2, zero_extendsidi2): Remove no-conflict blocks.

	(movti splitter): Never use register 0 as base register.

2002-01-14  Hartmut Penner  <hpenner@de.ibm.com>

	* combine.c (simplify_shift_const): Always generate new rtx
	for shift expression instead of reusing given expression.

Mon Jan 14 07:08:55 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/alpha/alpha.c (alpha_expand_mov): Don't call
	alpha_legitimize_address unless mode is Pmode.

2002-01-13  Geoffrey Keating  <geoffk@redhat.com>

	* doc/md.texi (Modifiers): Document the '*' constraint for the
	user.

	* doc/md.texi (Machine Constraints): Add constraints for xstormy16.
	* doc/extend.texi (Function Attributes): 'interrupt' is valid
	for xstormy16 too.

2002-01-13  Richard Henderson  <rth@redhat.com>

	* reload.c (find_reloads): Use a hard reg destination as reload reg
	for an input reload of the source.

2002-01-13  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Binaries): Make link to ftp.writtenword.com
	more generic.

Sun Jan 13 07:23:01 2002  Douglas B Rupp  <rupp@gnat.com>

	* Makefile.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.
	* mklibgcc.in (LIB2FUNCS): Split into LIB2FUNCS_1 and LIB2FUNCS_2.

	* config/alpha/x-vms (USE_COLLECT2): Set to empty.

Sun Jan 13 06:55:31 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* dwarf2out.c (mem_loc_descriptor, case ADDRESSOF): New case.

2002-01-12  Tom Rix  <trix@redhat.com>

	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Use ior for
	TARGET_POWERPC64.

2002-01-12  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (bdesc_2arg): Mark psadbw MASK_3DNOW_A.

	* doc/invoke.texi: Update Alpha options.

	* doc/invoke.texi: Update i386 built-in function lists.

Sat Jan 12 17:38:11 CET 2002  Jan Hubicka  <jh@suse.cz>

	* unroll.c (final_reg_note_copy): Avoid crash on REG_LABEL note
	referencing outside.

Sat Jan 12 08:54:51 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* diagnostic.c (warn_deprecated_use): Rework to lower indentation.
	* expr.c (emit_move_insn_1): Remove warning, use HOST_WIDE_INT for
	offsets, and change line folding.
	* optabs.c (expand_binop): Remove warnings.
	* sdbout.c (sdbout_record_type_name): Constify NAME to avoid warning.

2002-01-12  Graham Stott <grahams@redhat.com>

	* attribs.c (handle_deprecated_attribute): constify WHAT.
	* diagnostic.c (warn_deprecated_use): Add braces, fixes
	dangling else warning and constify WHAT.
	* except.h (struct function, struct inline_remap): Move
	struct tag forward defs before all prototypes.
	(duplicate_eh_regions): Whitespace.

2002-01-12  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.h (ARM_LEGITIMIZE_RELOAD_ADDRESS): Use
	MODE_BASE_REG_CLASS.
	(THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use MODE_BASE_REG_CLASS.

2002-01-12  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (override_options): If SSE, enable sse prefetch.
	(ix86_expand_vector_move): New.
	(bdesc_2arg): Remove andps, andnps, orps, xorps.
	(ix86_init_mmx_sse_builtins): Make static.  Remove composite builtins.
	Remove old prefetch builtins.  Special case the logicals removed above.
	(ix86_expand_builtin): Likewise.
	(safe_vector_operand): Use V4SFmode, not TImode.
	(ix86_expand_store_builtin): Remove shuffle arg.  Update callers.
	(ix86_expand_timode_binop_builtin): New.
	* config/i386/i386-protos.h: Update.
	* config/i386/i386.h (enum ix86_builtins): Update.
	* config/i386/i386.md: Correct predicates on MMX/SSE patterns.
	Use ix86_expand_vector_move in vector move expanders.
	(movti_internal, movti_rex64): Add xorps alternative.
	(sse_clrv4sf): Rename and adjust from sse_clrti.
	(prefetch): Don't work so hard.
	(prefetch_sse, prefetch_3dnow): Use PREFETCH rtx, not UNSPEC.
	* config/i386/xmmintrin.h (__m128): Use V4SFmode.
	(_mm_getcsr, _mm_setcsr): Fix typo in builtin name.

2002-01-11  Richard Henderson  <rth@redhat.com>

	* config/i386/mmintrin.h: New file.
	* config/i386/xmmintrin.h: New file.
	* config.gcc (i?86-*-*): Add extra_headers.
	* simplify-rtx.c (simplify_unary_operation): Handle saturating
	truncation codes.
	(simplify_binary_operation): Handle saturating arithmetic codes.
	* config/i386/i386.c (ix86_expand_sse_comi): Return the full result,
	not the lowpart subreg.
	(ix86_expand_builtin): Return a TImode dummy register instead of 0
	on error.
	* config/i386/i386.md (mmx_clrdi): Override memory attribute.

2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* conflict.c (conflict_graph_compute): Free regsets when finished.
	* ssa.c (compute_coalesced_reg_partition): Likewise.

2002-01-12  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* global.c (find_reg): Check for HARD_REGNO_CALL_PART_CLOBBERED
	every where we allocate a register.

2002-01-12  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* gcse.c (compute_pre_data, pre_gcse): Use sbitmap_free.
	* lcm.c (compute_earliest, compute_farthest): Likewise.

2002-01-11  Janis Johnson  <janis187@us.ibm.com>

	* expr.c (expand_assignment): Fix misuse of MEM_KEEP_ALIAS_SET.

2002-01-11  Janis Johnson  <janis187@us.ibm.com>

	* doc/rtl.texi (Insns): Fix 2 typos.

2002-01-11  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/invoke.texi: Avoid overfull hboxes.  Add summary of D30V
	options.  Use @table @gcctabopt for MMIX options.  Add index
	entries for MMIX options.  Start new paragraph with first
	heading of the machine-dependent options.

2002-01-11  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR other/5299
	* config/ns32k/ns32k.md: Fix spelling mistake of "than" in comments.
	* combine.c (force_to_mode): Same.
	* reload1.c (clear_reload_reg_in_use): Same.

2002-01-11  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_gen_constant): Correct test of 'remainder'
	and 'subtargets'.

2002-01-11  Andreas Jaeger  <aj@suse.de>,
	    Brad Lucier <lucier@math.purdue.edu>

	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove wrong
	mcpu.

Fri Jan 11 07:35:12 2002  Douglas B Rupp  <rupp@gnat.com>

	* config/alpha/vms.h: (MD_FALLBACK_FRAME_STATE_FOR): Fix errors.
	Protect with IN_LIBGCC.
	(LINK_EH_SPEC): Add required trailing space.

Fri Jan 11 09:25:05 2002  Nicola Pero  <n.pero@mi.flashnet.it>

	* c-tree.h: Move function declarations so that they are listed
	under the filename which contains them.
	(check_identifier, finish_decl_top_level,
	lookup_name_current_level_global, shadow_record_fields): Remove.

2002-01-11  Andreas Jaeger  <aj@suse.de>

	* config/i386/i386.h (CPP_CPUCOMMON_SPEC): Remove duplicated
	march.

2002-01-10  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (print_operand): Add 'J'.
	* config/alpha/alpha.md (call_osf_1_er, call_value_osf_1_er): Take a
	new operand with the sequence number for the lituse.  When splitting
	the insns, use gen_movdi_er_high_g and generate a sequence number.
	(gen_movdi_er_high_g): Print the sequence number if non-zero.

2002-01-10  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.c (altivec_init_builtins): Add support for
	lvebx, lvehx, lvewx, lvxl, lvx, stvx, stvebx, stvehx, stvewx,
	stvxl.
	(altivec_expand_builtin): Same.
	(altivec_expand_stv_builtin): New.

	* config/rs6000/rs6000.h (rs6000_builtins): Same.

	* config/rs6000/rs6000.md ("altivec_lvebx"): New.
	("altivec_lvehx"): New.
	("altivec_lvewx"): New.
	("altivec_lvxl"): New.
	("altivec_lvx"): New.
	("altivec_stvx"): New.
	("altivec_stvebx"): New.
	("altivec_stvehx"): New.
	("altivec_stvewx"): New.
	("altivec_stvxl"): New.

2002-01-10  Richard Henderson  <rth@redhat.com>

	* cfgrtl.c (delete_insn): Assert insn hasn't been deleted yet.
	* reload1.c (delete_output_reload): Zap spill_reg_store.  Take
	care not to delete instructions twice.

2002-01-10  Zack Weinberg  <zack@codesourcery.com>

	* toplev.c: Don't declare environ (it's not used anywhere).
	* configure.in: Don't check for declaration of environ.
	* config/i386/xm-mingw32.h: Don't #define environ.
	* config.in, configure: Regenerate.

2002-01-10  Zack Weinberg  <zack@codesourcery.com>

	* configure.in: Set stage1_cflags for powerpc-*-darwin*.
	* configure: Regenerate.

	* config/interix.h: Set DO_GLOBAL_CTORS_BODY and
	DO_GLOBAL_DTORS_BODY here, not in xm-interix.h.
	* config/alpha/vms.h: Set INCLUDE_DEFAULTS here, not in
	alpha/xm-vms.h.
	* config/m68k/t-next: Set OTHER_FIXINCLUDES_DIRS and
	LIMITS_H_TEST here, not in m68k/x-next.
	* config/rs6000/beos.h: Set STANDARD_INCLUDE_DIR and
	SYSTEM_INCLUDE_DIR here, not in rs6000/xm-beos.h.

	* config/x-interix: Don't set RANLIB, RANLIB_TEST, SHELL,
	LIBGCC2_INCLUDES, or SYSTEM_HEADER_DIR.
	* config/alpha/x-vms: Don't set USE_COLLECT2.  Add comments.

	* config/i386/x-djgpp: Renamed i386/t-djgpp.
	* config/m88k/x-dolph: Renamed m88k/t-dolph.
	* config/m88k/x-texXD88: Renamed m88k/t-texXD88.
	* config/pa/x-pa-mpeix: Renamed pa/t-mpeix.  Update for
	replacement of quadlib.asm with quadlib.c.

	* config/x-interix3, config/xm-interix.h, config/i386/x-beos,
	config/i386/xm-osf1elf.h, config/rs6000/x-darwin,
	config/rs6000/xm-beos.h: Delete file.

	* config.gcc: Update to match above changes.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h: Fix comment typos.
	* config/h8300/h8300.md: Likewise.
	* config/h8300/lib1funcs.asm: Likewise.

2002-01-10  Dale Johannesen  <dalej@apple.com>

	PR optimization/5269
	* unroll.c (precondition_loop_p): Make *increment be the correct
	sign when n_iterations known, to avoid confusing caller.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* doc/extend.texi (deprecated): Fix a typo.

Thu Jan 10 22:35:54 CET 2002  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (update_br_prob_note): Declare.
	* cfgcleanup.c (try_simplify_condjump): Call update_br_prob_note.
	(try_forward_edges): Care negative frequencies and update note.
	(outgoing_edges_match): Tweek conditional merging heuristics.
	(try_crossjump_to_edge): use update_br_prob_note.
	* cfglayout.c (fixup_reorder_chain): Likewise.
	* cfrtl.c (update_br_prob_note): New.
	* ifcvt.c (dead_or_predicable): Call update_br_prob_note.

	* i386.c (ix86_decompose_address): Return -1 if address contains
	shift.
	(legitimate_address_p): Require ix86_decompose_address to return 1.

	* gcse.c (hash_scan_set): Use CONSTANT_INSN_P.
	(cprop_insn): Likewise.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* toplev.c: Fix formatting.
	* tree.c: Likewise.
	* tree-dump.c: Likewise.
	* unroll.c: Likewise.
	* unwind-dw2.c: Likewise.
	* unwind-dw2-fde.c: Likewise.
	* unwind-dw2-fde-glibc.c: Likewise.
	* unwind-sjlj.c: Likewise.

2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/invoke.texi: Document PDP-11 options.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h: Fix formatting.

2001-01-10  Ira Ruben	<ira@apple.com>

	Add __attribute__ ((deprecated)).
	* extend.texi: Document __attribute__ ((deprecated)).
	* invoke.texi: Document -Wno-deprecated-declarations.
	* testsuite/g++.dg/other/deprecated.C: New C++ test.
	* testsuite/gcc.dg/deprecated.c: New C test.
	* attribs.c (enum attrs): Declare handle_deprecated_attribute().
	(c_common_attribute_table): Add "deprecated" entry.
	(handle_deprecated_attribute): New function.
	* c-decl.c (deprecated_states): New enum.
	deprecated_state: State of "deprecated" handling.
	(start_decl): Set deprecated_state based on attributes.
	(grokdeclarator): Test for deprecated uses, propagate attribute.
	* c-typeck.c (build_component_ref): Test for deprecated fields.
	(build_external_ref): Test for deprecated primaries.
	* diagnostic.c (warn_deprecated_use) New function to issue
	warnings about __attribute__ ((depricated)) references.
	* flags.h (warn_deprecated_decl): Extern declared for
	-W[no-]deprecated-declarations option.
	* print-tree.c (print_node): Show deprecated flag status.
	* toplev.c (warn_deprecated_decl): Defined.
	(W_options): Added "deprecated-declaration".
	* toplev.h (warn_deprecated_use): Extern declared.
	* tree.h (struct tree_common): Define deprecated_flag.
	(TREE_DEPRECATED): New macro to access flag.
	* cp/call.c (build_call): Test for deprecated calls.
	* cp/class.c (add_implicitly_declared_members): Set global
	flag to tell grokdeclarator to not issue deprecated warnings.
	* cp/cp-tree.h: Add extern for adding_implicit_members.
	* cp/decl.c (deprecated_states): New enum.
	(start_decl): Set deprecated_state based on attributes.
	(grokdeclarator): Test for deprecated uses, propagate attribute.
	* cp/lex.c (do_identifier): Test for deprecated primaries.
	* cp/typeck.c (build_component_ref): Test for deprecated fields.

2001-01-10  Ira Ruben	<ira@apple.com>

	Fix to assign attributes to inline member functions.
	* cp/decl.c (start_method): Handle attrlist.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* combine.c (expand_field_assignment): Use subreg_lsb().

2002-01-10  David Edelsohn  <edelsohn@gnu.org>

	* alias.c (find_base_value): Add cases for HIGH, PRE_INC, PRE_DEC,
	POST_INC, POST_DEC, PRE_MODIFY, and POST_MODIFY.
	(find_base_term): Add cases for TRUNCATE, PRE_MODIFY, and POST_MODIFY.
	Recurse for any operand of AND as long as constant is non-zero.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md: Remove constraints from expanders.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* varasm.c: Fix formatting.
	* varray.c: Likewise.
	* vmsdbgout.c: Likewise.
	* xcoffout.c: Likewise.

Thu Jan 10 17:19:12 CET 2002  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c (try_forward_edges): Properly initialize nthreaded_edges;
	update edge probabilities to match.

2002-01-10  Joseph S. Myers  <jsm28@cam.ac.uk>

	* Makefile.in ($(docdir)/gccint.info, gccint.dvi): Add additional
	dependencies.
	* doc/languages.texi, doc/sourcebuild.texi: New files.
	* doc/configfiles.texi: Make a subsubsection.  Update.
	* doc/configterms.texi: Add @node.  Remove warning that this isn't
	instructions for building GCC.
	* doc/makefile.texi: Make a subsection.
	* doc/gccint.texi: Update.

Thu Jan 10 16:39:58 CET 2002  Jan Hubicka  <jh@suse.cz>

	* i386.md (sse_mov?fcc_const0_?): Fix constraints.

Thu Jan 10 12:45:50 2002  Nicola Pero  <n.pero@mi.flashnet.it>

	* doc/cpp.texi: Document the __OBJC__ preprocessor macro.

Thu Jan 10 11:19:18 CET 2002  Jan Hubicka  <jh@suse.cz>

	* optabs.c (expand_fix): Look for wider integer modes first.

	* i386.md (mov?f): Avoid the fake const double trick for medium
	memory model.
	(min?f*/max?f*): Prohibit memory operands for i387 variant.
	(fop_df_4): Disable for SSE compilation.

2002-01-10  Graham Stott  <grahams@redhat.com>

	* dwarf2out.c (indirect_string_alloc, output_indirect_string):
	Move prototype into DWARF2_DEBUGGING_INFO conditional block.

2002-01-10  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (extendsidi2_fix): Penalize f/f alternative.

2002-01-10  Richard Henderson  <rth@redhat.com>

	* regrename.c (find_oldest_value_reg): Fix typo in mode change check.
	(copyprop_hardreg_forward_1): Likewise.  Use mode_change_ok.

2002-01-10  Kazu Hirata  <kazu@hxi.com>

	* combine.c (can_combine_p): Fix a comment typo.

2002-01-09  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (s-gencheck, s-options, s-specs): Handle an
	empty list correctly.  Change loop index $t to $f for
	consistency with rest of Makefile.

2002-01-08  Aldy Hernandez  <aldyh@redhat.com>

	* testuite/gcc.dg/altivec-4.c: Add test for mtvscr, dssall,
	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.

	* config/rs6000/rs6000.c (altivec_expand_builtin): Add support for
	mtvscr, dssall, mfvscr, dss, lvsl, lvsr, dstt, dst, dstst, dststt.
	(altivec_init_builtins): Same.
	(altivec_expand_unop_builtin): Return NULL_RTX on error.
	(altivec_expand_binop_builtin): Same.
	(altivec_expand_ternop_builtin): Same.
	(bdesc_dst): New.

	* config/rs6000/rs6000.md ("altivec_mtvscr"): New.
	("altivec_vctuxs"): Fix typo.
	("altivec_vnmsubfp"): Same.
	("altivec_dssall"): New.
	("altivec_mfvscr"): New.
	("altivec_dss"): New.
	("altivec_lvsl"): New.
	("altivec_lvsr"): New.
	("altivec_dstt"): New.
	("altivec_dstst"): New.
	("altivec_dststt"): New.
	("altivec_dst"): New.

	* config/rs6000/rs6000.h (rs6000_builtins): Add mtvscr, dssall,
	mfvscr, dss, lvsl, lvsr, dstt, dstst, dststt, dst.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (prologue_mcount): Remove lituse_jsr reloc.

2002-01-10  Hans-Peter Nilsson  <hp@bitrange.com>

	* config/mmix/mmix.c (mmix_asm_identify_gcc): Remove unused
	function.
	* config/mmix/mmix-protos.h (mmix_asm_identify_gcc): Don't
	prototype.
	* config/mmix/mmix.h (ASM_IDENTIFY_GCC): Remove unused macro.

2002-01-09  Kazu Hirata  <kazu@hxi.com>

	* read-rtl.c: Fix formatting.
	* real.c: Likewise.
	* regclass.c: Likewise.
	* regrename.c: Likewise.
	* reg-stack.c: Likewise.
	* reload1.c: Likewise.
	* reload.c: Likewise.
	* rtl.c: Likewise.

2002-01-09  Kazu Hirata  <kazu@hxi.com>

	* rtlanal.c (find_reg_fusage): Use XEXP instead of SET_DEST
	to extract items in the expr_list chain.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* config/vax/vax.c (vax_rtx_cost): Never abort.

	* config/vax/vax.h (REAL_ARITHMETIC): Define.

2002-01-09  Jan Hubicka  <jh@suse.cz>

	* gcse.c (cprop_jump): Delete insn if simplified jump is no-op.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* config/arm/arm.c (arm_gen_constant): Use trunc_int_for_mode.
	Unify code from various alternatives.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* regrename.c (copy_value): Ignore the copy if the source register
	is present in the value chain with a narrower mode.

2002-01-09  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>

	* real.c (c4xtoe, toc4x): Do some special conversion on long doubles
	for the c4x target. Also improve layout.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* config/m32r/m32r.c (move_src_operand): Fix 32-bit int test.
	* config/m32r/m32r.md (and ior xor splitters): Swap operands
	to match insn patterns.

2002-01-09  Richard Henderson  <rth@redhat.com>

	* regrename.c (find_oldest_value_reg): Use gen_rtx_raw_REG.
	(copyprop_hardreg_forward_1): Likewise.

2002-01-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.md (decrement_and_branch_until_zero): Change predicate for
	operand 0 from register_operand to reg_or_nonsymb_mem_operand.

2002-01-09  Bryce McKinlay  <bryce@waitaki.otago.ac.nz>

	* ginclude/stddef.h: Define _BSD_WCHAR_T_DEFINED_ if _BSD_WCHAR_T_
	gets undefined. For Darwin.

2002-01-09  Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>

	* config/c4x/c4x.h: Use PUSH_ARGS and PUSH_ROUNDING for stack passing.

2002-01-09  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>

	* config/c4x/c4x/md: Remove extraneous constraints from define_splits.

2002-01-08  Richard Henderson  <rth@redhat.com>

	* regrename.c (copy_value): Ignore overlapping copies.

2002-01-08  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_split_conditional_move): Call copy_rtx
	as needed to avoid shared structure.

2002-01-08  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (get_shift_alg): Fix 15-bit LSHIFTRT on
	H8/300H and H8/S.

2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/tm.texi (EASY_DIV_EXPR, IMPLICIT_FIX_EXPR,
	LONGJMP_RESTORE_FROM_STACK, MAX_INT_TYPE_SIZE): Remove
	documentation of obsolete macros.
	* system.h: Poison these macros.
	* config/1750a/1750a.h, config/a29k/a29k.h, config/alpha/alpha.h,
	config/arc/arc.h, config/arm/arm.h, config/avr/avr.h,
	config/c4x/c4x.h, config/clipper/clipper.h,
	config/convex/convex.h, config/cris/cris.h, config/d30v/d30v.h,
	config/dsp16xx/dsp16xx.h, config/elxsi/elxsi.h,
	config/fr30/fr30.h, config/h8300/h8300.h, config/i370/i370.h,
	config/i386/i386.h, config/i860/i860.h, config/i960/i960.h,
	config/ia64/ia64.h, config/m32r/m32r.h, config/m68hc11/m68hc11.h,
	config/m68k/m68k.h, config/m88k/m88k.h, config/mcore/mcore.h,
	config/mips/mips.h, config/mmix/mmix.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/ns32k/ns32k.h, config/pa/pa.h,
	config/pdp11/pdp11.h, config/pj/pj.h, config/romp/romp.h,
	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.h,
	config/sparc/sparc.h, config/stormy16/stormy16.h,
	config/v850/v850.h, config/vax/vax.h, config/we32k/we32k.h: Remove
	definitions and commented out definitions of obsolete macros.
	* config/mips/iris5.h (MAX_WCHAR_TYPE_SIZE): Don't define in terms
	of MAX_INT_TYPE_SIZE.

2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.c (s390_preferred_reload_class): Never
	return ADDR_REGS if it isn't a subset of the given class.
	* config/s390/s390.h (REGISTER_MOVE_COST): Penalize not just
	FP_REGS, but all superclasses as well.

	* config/s390/s390.c (s390_function_profiler): Fix thinko.

	* config/s390/s390.md (cmpdi_ccu_mem, cmpsi_ccu_mem,
	cmphi_ccu_mem, cmpqi_ccu_mem): First operand of compare
	must not be a const_int.

2002-01-08  Richard Henderson  <rth@redhat.com>

	* Makefile.in (toplev.o): Depend on options.h.
	(gcc.o): Depend on specs.h.

2002-01-08  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (store_expr): Convert VOIDmode constants back to target's
	mode.

2002-01-08  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/invoke.texi: Markup gcc as @command.  Refer to
	http://gcc.gnu.org/onlinedocs/gcc/Contributors.html instead
	of http://gcc.gnu.org/thanks.html.

2002-01-08  Dale Johannesen  <dalej@apple.com>

	* config/rs6000/rs6000.md: Add missing int register
	target case to movdf_low.

2002-01-08  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (cs-tconfig.h): Don't depend on $(CONFIG_H) or
	except.h.  Remove commands to define USING_SJLJ_EXCEPTIONS.
	(cppinit.o): Depend on except.h.
	(gencheck.h, options.h, specs.h, s-gencheck, s-options,
	s-specs): New rules.

	* configure.in: Don't AC_DEFINE_UNQUOTED PACKAGE or VERSION.
	Don't create specs.h/options.h/gencheck.h here.  Remove
	unnecessary variable settings from last argument of AC_OUTPUT.
	* config.in, configure: Regenerate.
	* intl.c: Hardcode package name as "gcc".

	* cppinit.c: Include except.h.
	(builtin_array): Define __USING_SJLJ_EXCEPTIONS__ when
	appropriate.
	* unwind-dw2.c, unwind-sjlj.c, config/ia64/unwind-ia64.c:
	Use #if(n)def __USING_SJLJ_EXCEPTIONS, not #if
	(!)USING_SJLJ_EXCEPTIONS.
	* doc/cpp.texi: Document __USING_SJLJ_EXCEPTIONS__.

2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/tm.texi (ASM_OUTPUT_EH_REGION_BEG, ASM_OUTPUT_EH_REGION_END,
	ASM_OUTPUT_LABELREF_AS_INT, DOESNT_NEED_UNWINDER, EH_TABLE_LOOKUP,
	OBJC_SELECTORS_WITHOUT_LABELS, OMIT_EH_TABLE): Remove
	documentation of obsolete macros.
	* system.h: Poison these macros.
	* config/d30v/d30v.h, config/ns32k/encore.h,
	config/stormy16/stormy16.h: Remove definitions and commented out
	definitions of obsolete macros.

Tue Jan  8 15:56:41 2002  Nicola Pero  <nicola@brainstorm.co.uk>

	* objc/objc-act.c (handle_class_ref): Mark the declaration of
	%sobjc_class_ref_%s as used - to prevent unwanted compiler
	warnings.

2002-01-08  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/linux.h (ASM_OUTPUT_LABELREF): Remove.
	* config/s390/s390.c (s390_emit_epilog): Add REG_FRAME_RELATED_EXPR
	to insn adjusting stack/frame pointer.
	* config/s390/s390.md (reload_la_64, reload_la_31): Do not
	accept operands that cause the insn to be non-splittable.

2002-01-08  Graham Stott  <grahams@redhat.com>

	* c-tree.h (C_TYPE_FIELDS_READONLY): Uppercase macro parameter.
	(C_TYPE_FIELDS_VOLATILE): Likewise.
	(C_TYPE_BEING_DEFINED): Likewise.
	(C_IS_RESERVED_WORD): Likewise.
	(C_TYPE_VARIABLE_SIZE): Likewise.
	(C_DECL_VARIABLE_SIZE): Likewise.
	(C_MISSING_PROTOTYPE_WARNED): Likewise.
	(C_SET_EXP_ORIGINAL_CODE): Likewise.
	(C_TYPEDEF_EXPLICITLY_SIGNED): Uppercase macro parameter and remove
	parenthesis.
	(C_DECL_ANTICIPATED): Likewise.
	(c_build_type_variant): Add parenthesis.

2002-01-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gcc.c (option_map): Remove --version.
	(process_command): Handle -fversion following the GNU Coding
	Standards.  Partially addresses PR other/704.

2002-01-08  Graham Stott  <grahams@redhat.com>

	* combine.c (combine_instructions): Fix typo.

2002-01-08  Graham Stott  <grahams@redhat.com>

	* debug.h: Use "tree" and "rtx" throughout.

	* debug.c: Likewise.

2002-01-08  Nick Clifton  <nickc@cambridge.redhat.com>

	* dbxout.c (dbxout_symbol_location): If a symbol ref is in the
	constant pool, use the pool's version of the symbol instead.

2002-01-07  Richard Henderson  <rth@redhat.com>

	* regrename.c (find_oldest_value_reg): Ignore the value chain if
	the original register was copied in a mode with a fewer number of
	hard registers than the desired mode.
	(copyprop_hardreg_forward_1): Likewise.
	(debug_value_data): Fix loop test.
	* toplev.c (parse_options_and_default_flags): Reenable
	-fcprop-registers at -O1.

2002-01-07  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.c (bdesc_2arg): Add altivec predicates.
	(altivec_init_builtins): New node v4si_ftype_v16qi_v16qi.

	* config/rs6000/rs6000.h (rs6000_builtins): Add enums for altivec
	predicates.

	* config/rs6000/rs6000.md: Add altivec predicate patterns.

2002-01-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (FUNC_BEGIN_PROLOG_LABEL, current_function_number): Define.
	(pa_output_function_prologue): Output local label at the beginning of
	the prologue when profiling.
	(hppa_profile_hook): Use the local label rather than the function label.
	* pa.h (PROFILE_BEFORE_PROLOGUE): Define.

2002-01-07  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.c (print_operand): Remove extra space.
	(altivec_expand_unop_builtin): Fix thinko.
	(altivec_expand_binop_builtin): Same.
	(altivec_expand_ternop_builtin): Same.
	(altivec_expand_builtin): Same.

2002-01-07  Richard Henderson  <rth@redhat.com>

	* config/rs6000/xcoff.h (ASM_FILE_START): Reverted to profile_flag.

2002-01-07  Jason Merrill  <jason@redhat.com>

	* unwind-dw2.c (execute_cfa_program): Use < again.

2002-01-07  Jakub Jelinek  <jakub@redhat.com>

	* predict.c (combine_predictions_for_insn): Avoid division by zero.

2002-01-07  Jakub Jelinek  <jakub@redhat.com>

	* simplify-rtx.c (simplify_plus_minus): Bump n_ops for NOT.
	Don't allow -1 - x -> ~x simplifications in the first pass.

2002-01-07  Aldy Hernandez  <aldyh@redhat.com>

	* rs6000.c (altivec_expand_ternop_builtin): Don't die on invalid
	arguments.
	(altivec_expand_binop_builtin): Same.
	(altivec_expand_unop_builtin): Same.
	(print_operand): Fix typo.
	(bdesc_1arg): Add vupk* variants.

	* rs6000.h (rs6000_builtins): Add vupk* enums.

	* rs6000.md: Add altivec_vupk* variants.

2002-01-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi, doc/gccint.texi, doc/cppinternals.texi,
	doc/install.texi, doc/invoke.texi, doc/rtl.texi: Update copyright
	and last update dates.

2002-01-07  Janis Johnson  <janis187@us.ibm.com>

	* doc/rtl.texi (Flags): Clean up documentation of RTL flags

2002-01-07  Marek Michalkiewicz  <marekm@amelek.gda.pl>

	* config/avr/avr.c (avr_mcu_types): Add new MCU types.
	* config/avr/avr.h (CPP_SPEC): Likewise.
	(LINK_SPEC): Likewise.
	(CRT_BINUTILS_SPECS): Likewise.
	* config/avr/t-avr (MULTILIB_MATCHES): Likewise.
	* doc/invoke.texi (AVR Options): Document them.

Mon Jan  7 11:59:34 CET 2002  Jan Hubicka  <jh@suse.cz>

	* unroll.c (copy_loop_body): Always properly update JUMP_LABEL and
	LABEL_NUSES.

2002-01-07  Graham Stott  <grahams@redhat.com>

	* config/i386/i386.h: Update copyright date.
	(HALF_PIC_PTR): Add parenthesis.
	(OPTIMIZATION_OPTIONS): Whitespace, add parenthesis and wrap.
	(CONSTANT_ALIGNMENT): Add parenthesis.
	(DATA_ALIGNMENT): Likewise.
	(LOCAL_ALIGNMENT): Likewise.
	(FUNCTION_ARG_BOUNDARY): Whitespace, add parenthesis and wrap.
	(IS_STACK_MODE): Uppercase macro parameter, add parenthesis and wrap.
	(CONDITIONAL_REGISTER_USAGE): Wrap in do {...} while (0).
	(HARD_REGNO_NREGS): Add paranethesis.
	(VALID_SSE_REG_MODE): Whitespace.
	(VALID_MMX_REG_MODE): Whitespace.
	(VALID_FP_MODE_P): Uppercase macros parameter and whitespace.
	(ix86_hard_regno_mode_ok): Add parenthesis.
	(HARD_REGNO_CALLER_SAVE_MODE): Whitespace.
	(RETURN_IN_MEMORY): Whitespace.
	(N_REG_CLASSES): Add parenthesis.
	(INTEGER_CLASS_P): Add parenthesis and wrap.
	(FLOAT_CLASS_P): Likewise.
	(SSE_CLASS_P): Likewise.
	(MMX_CLASS_P): Likewise.
	(MAYBE_INTEGER_CLASS_P): Likewise.
	(MAYBE_FLOAT_CLASS_P): Likewise.
	(MAYBE_SSE_CLASS_P): Likewise.
	(MAYBE_MMX_CLASS_P): Likewise.
	(Q_CLASS_P): Likewise.
	(GENERAL_REGNO_P): Uppercase macro parameter.
	(REX_INT_REGNO_P): Uppercase macro parameter and wrap.
	(FP_REGNO_P): Likewise.
	(ANY_FP_REGNO_P): Uppercase macro parameter.
	(SSE_REGNO_P): Likewise.
	(SSE_REGNO): Likewise.
	(SSE_REG_P): Likewise.
	(SSE_FLOAT_MODE_P): Likewise.
	(MMX_REGNO_P): Likewise.
	(MMX_REG_P):Likewise.
	(STACK_REG_P): Likewise.
	(NON_STACK_REG_P): Likewise.
	(STACK_TOP_P): Likewise.
	(CONVERT_HARD_REGISTER_TO_SSA_P): Add parenthesis.
	(PREFERRED_RELOAD_CLASS): Add parenthesis and whitespace.
	(SECONDARY_MEMORY_NEEDED): Likewise.
	(SECONDARY_OUTPUT_RELOAD_CLASS): Whitespace.
	(MD_ASM_CLOBBERS): Whitespace and wrap.
	(MUST_PASS_IN_STACK): Whitespace and wrap.
	(RETURN_POPS_ARGS): Add parenthesis.
	(INIT_CUMULATIVE_ARGS): Likewise.
	(FUNCTION_ARG): Likewise.
	(FUNCTION_OK_FOR_SIBCALL): Add parenthesis and whitespace.
	(SETUP_INCOMING_VARARGS): Likewise.
	(BUILD_VA_LIST_TYPE):  Add parenthesis.
	(EXPAND_BUILTIN_VA_START): Uppercase macro paremeters and add
	parenthsis.
	(EXPAND_BUILTIN_VA_ARG): Likewise.
	(FUNCTION_PROFILER): Wrap in do { ... } while (0) and add parenthesis.
	(INITIALIZE_TRAMPOLINE): Add parenthesis.
	(INITIAL_ELIMINATION_OFFSET): Likewise.
	(REGNO_OK_FOR_INDEX_P): Add parenthesis.
	(REGNO_OK_FOR_BASE_P): Likewise.
	(REGNO_OK_FOR_SIREG_P): Add parenthesis and wrap.
	(REGNO_OK_FOR_DIREG_P): Likewise.
	(REG_OK_FOR_INDEX_P): Whitespace.
	(REG_OK_FOR_BASE_P): Whitespace.
	(GO_IF_LEGITIMATE_ADDRESS): Wrap in do { ... } while (0) and add
	parenthesis.
	(FIND_BASE_TERM): Fix typo.
	(LEGITIMIZE_ADDRESS): Wrap in  { .. } while (0) and add parenthesis.
	(REWRITE_ADDRESS): Uppercase macro parameter and whitespace.
	(SYMBOLIC_CONST; Whitespace.
	(GO_IF_MODE_DEPENDENT_ADDRESS):Wrap in  { .. } while (0) and wrap.
	(ENCODE_SECTION_INFO): Whitespace.
	(FINALIZE_PIC): Remove do { ... } while (0).
	(PROMOTE_MODE): Wrap in do { ... } while (0).
	(CONST_COSTS): Whitespace.
	(RTX_COSTS): Add paramethesis, whitespace and wrap.
	(REGISTER_MOVE_COST): Add parenthesis.
	(MEMORY_MOVE_COST): Likewise.
	(EXTRA_CC_MODES): Whitespace.
	(SELECT_CC_MODE): Add parenthesis and whitespace.
	(DBX_REGISTER_NUMBER): Uppercase macro parameter and add parenthsis.
	(ASM_PREFERRED_EH_DATA_FORMAT): Add parenthesis and whitespace.
	(ASM_OUTPUT_LABEL): Add paramethesis.
	(ASM_OUTPUT_REG_PUSH): Add parenthesis and whitespace.
	(ASM_OUTPUT_REG_POP): Likewise.
	(ASM_OUTPUT_ADDR_VEC_ELT): Add parenthesis.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.

	* config/i386/i386.c: Update copyright.
	(CHECK_STACK_LIMIT): Add parenthesis.
	(AT_BP): Uppercase macro parameter.
	(x86_64_int_parameter_registers): Constify.
	(x86_64_int_return_registers): Likewise.
	(ix86_compare_op0): Use rtx.
	(construct_container): Constify INTREG parameter.
	(function_arg): Use rtx.

	* diagnostic.h: Update copyright date.
	(output_buffer_state): Add parenthesis.
	(output_buffer_format_args): Likewise.

	* combine.c (combine_instructions): Replace XEXP (links, 0)
	with link.

2002-01-06  H.J. Lu <hjl@gnu.org>

	* cfgcleanup.c (thread_jump): Fix 2 typos.

2002-01-06  Aldy Hernandez  <aldyh@redhat.com>

	* config.gcc: Add support for --enable-altivec.

2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	* emit-rtl.c (gen_highpart): Add check for NULL_RTX.

2002-01-06  Jakub Jelinek  <jakub@redhat.com>

	* objc/objc-act.c (handle_impent): Use assemble_variable to emit
	__objc_class_name_*.

2002-01-06  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	* doc/install.texi (sparcv9-*-solaris2*): Add documentation.

2002-01-06  Richard Henderson  <rth@redhat.com>

	* reorg.c (emit_delay_sequence): Remove death notes, not merely
	nop them out.  Increment label reference count for REG_LABEL.
	(fill_slots_from_thread): Frob label reference count around
	delete_related_insns.

2002-01-05  Richard Henderson  <rth@redhat.com>

	* cfgcleanup.c (try_forward_edges): Detect infinite loops while
	jump threading.

2002-01-05  Richard Henderson  <rth@redhat.com>

	* c-decl.c (c_expand_body): Don't call outlining_inline_function.
	* integrate.c (output_inline_function): Likewise.
	* toplev.c (rest_of_compilation): Do it here instead.  Move call
	to remove_unnecessary_notes after emitting abstract instance.
	Force an emitted nested function to have its parent emited as well.
	* dwarf2out.c (loc_descriptor_from_tree): Read mode after checking
	for null.
	(rtl_for_decl_location): Do not look at reload data structures
	before reload has run.

2002-01-05  Kazu Hirata  <kazu@hxi.com>

	* cse.c: Fix formatting.
	* dwarf2asm.c: Likewise.
	* dwarf2out.c: Likewise.
	* explow.c: Likewise.
	* expmed.c: Likewise.
	* function.c: Likewise.
	* gcov.c: Likewise.
	* gencheck.c: Likewise.
	* genrecog.c: Likewise.
	* ggc-common.c: Likewise.
	* ggc-page.c: Likewise.
	* global.c: Likewise.

2002-01-05  Kazu Hirata  <kazu@hxi.com>

	* combine.c: Fix formatting.

2002-01-05  Craig Rodrigues  <crodrigu@bbn.com>

	PR middle-end/1557
	* config/ia64/ia64.h (RENAME_EXTENDED_BLOCKS): Remove.

2002-01-05  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.h (TARGET_POWERPC): For IN_LIBGCC2, define
	as 1 for __powerpc64__ as well.

	* config/rs6000/t-aix43 (T_ADAFLAGS): Define.

	* alias.c (find_base_value, PLUS/MINUS): If we found a base,
	return it.

2002-01-05  Daniel Berlin  <dan@dberlin.org>

	* lcm.c: Revert change, due to performance regression it causes on
	SPEC because it's slightly more conservative (sigh, I hate
	edge-based LCM).

Sat Jan  5 11:52:05 CET 2002  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c (try_forward_edges): Allow multiple jump threading.

2002-01-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

2002-01-05  Hans-Peter Nilsson  <hp@bitrange.com>

	* doc/invoke.texi (Option Summary) <MMIX Options>: Document
	-mbranch-predict, -mreg-stack-fill-bug-workaround and their
	negatives.
	(MMIX Options): Ditto.  Fix item/itemx typo for -mno-zero-extend.
	* config/mmix/mmix.c (mmix_target_asm_function_prologue): Rework
	kludge for pre-october-14th mmix versions to handle new-found bug
	with PUSHJ/PUSHGO and the register stack.
	* config/mmix/mmix.h (struct machine_function): Rename member
	has_call_value_without_parameters to has_call_without_parameters.
	All referers changed.
	(TARGET_MASK_REG_STACK_FILL_BUG, TARGET_DEFAULT
	TARGET_MASK_BRANCH_PREDICT): New macros.
	(TARGET_SWITCHES): New options -mreg-stack-fill-bug-workaround,
	-mno-reg-stack-fill-bug-workaround.
	* config/mmix/mmix.md ("call"): Set struct machine member
	has_call_without_parameters.

Sat Jan  5 02:20:22 CET 2002  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c (thread_jump): Fix handling of reversed branches.

Sat Jan  5 01:35:29 CET 2002  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c: Include tm_p.h
	(mark_effect): Fix handling of hard register; fix handling of SET

2002-01-04  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (anonymous patterns): Check that
	operands are registers before using REGNO on them.

2002-01-03  Roland McGrath  <roland@frob.com>

	* doc/invoke.texi (RS/6000 and PowerPC Options): Add -mcall-gnu.

2002-01-04  Jakub Jelinek  <jakub@redhat.com>

	* tree.h (expand_expr_stmt_value): Add maybe_last argument.
	* c-common.h (genrtl_expr_stmt_value): Likewise.
	* stmt.c (expand_expr_stmt): Pass 1 as maybe_last.
	(expand_expr_stmt_value): Add maybe_last argument.
	Don't warn about statement with no effect if it is the last statement
	in expression statement.
	* c-semantics.c (genrtl_expr_stmt): Pass 1 as maybe_last.
	(genrtl_expr_stmt_value): Add maybe_last argument, pass it down to
	expand_expr_stmt_value.
	(expand_stmt) [EXPR_STMT]: Pass 1 as maybe_last to
	genrtl_expr_stmt_value if t is the last EXPR_STMT in its scope.
	* expr.c (expand_expr) [LABELED_BLOCK_EXPR, LOOP_EXPR]: Pass 1
	as maybe_last to expand_expr_stmt_value.

Fri Jan  4 11:45:05 2002  Jeffrey A Law  (law@redhat.com)

	* c-common.c (c_expand_start_cond): Expect the IF_STMT node to
	be passed in, do not build it.
	(c_begin_if_stmt): New function.
	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
	* c-common.h (c_expand_start_cond): Update prototype.
	(c_begin_if_stmt): Prototype new function.
	(c_begin_while_stmt, c_finish_while_stmt_cond): Likewise.
	* c-parse.in (if_prefix): Use c_begin_if_stmt,
	c_begin_while_stmt and c_finish_while_stmt_cond.

2002-01-04  William Cohen  <wcohen@redhat.com>

	* config/pa/elf.h (ASM_FILE_START): Reverted to profile_flag.
	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
	* config/pa/som.h (ASM_FILE_START): Likewise.

2001-01-04  Daniel Berlin  <dan@cgsoftware.com>

	* lcm.c: Include df.h.
	Add available_transfer_function prototype.
	(compute_available): Rework to use iterative dataflow framework.
	(struct bb_info): s/bb_info/lcm_bb_info/g to avoid conflict
	with bb_info in df.h
	(available_transfer_function): New function.

	* Makefile.in (lcm.o): add df.h to dependencies.

2002-01-04  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (some_operand): Accept HIGH.
	(input_operand): Likewise; accept simple references to globals.
	(alpha_const_ok_for_letter_p): New, outlined from alpha.h.
	(alpha_const_double_ok_for_letter_p): Likewise.
	(alpha_extra_constraint): Likewise.
	(alpha_preferred_reload_class): Likewise.  Do not force
	symbolic constants to memory.
	(alpha_legitimate_address_p): Accept simple references
	to small_symbolic_operand.
	(alpha_legitimize_address): New arg scratch.  Be prepared to be
	called when no_new_pseudos.  Emit simple symbolic references.
	Split integers into low, high, and rest.
	(alpha_expand_mov): Use alpha_legitimize_address.
	(some_small_symbolic_mem_operand): New.
	(split_small_symbolic_mem_operand): New.
	* config/alpha/alpha-protos.h: Update.
	* config/alpha/alpha.h (CONST_OK_FOR_LETTER_P): Out-line.
	(CONST_DOUBLE_OK_FOR_LETTER_P): Likewise.
	(EXTRA_CONSTRAINT): Likewise.
	(PREFERRED_RELOAD_CLASS): Likewise.
	(LEGITIMIZE_ADDRESS): Update for alpha_legitimize_address change.
	(PREDICATE_CODES): Update.
	* config/alpha/alpha.md: New post-reload splitters to convert
	simplfied symbolic operands to the form that references $29.
	(divide expanders): Use emit_move_insn, not gen_movdi_er_high_g.
	(movdi_er_nofix, movdi_er_fix): Accept any symbolic operand.

2002-01-03  Richard Henderson  <rth@redhat.com>

	* local-alloc.c (function_invariant_p): Update commentary.

2002-01-04  H.J. Lu <hjl@gnu.org>

	* toplev.c (rest_of_compilation): Fix a typo when calling
	cleanup_cfg.

2002-01-03  Kazu Hirata  <kazu@hxi.com>

	* c-common.c: Fix formatting.
	* diagnostic.c: Likewise.
	* doloop.c: Likewise.
	* dwarf2out.c: Likewise.

2002-01-03  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (output_logical_op): Use 'not.w' instead
	of 'neg.w' when xoring with 0x0000ffff or 0xffff0000.

2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpperror.c: Update comments and copyright.
	* cppexp.c, cppfiles.c, cpphash.c, cpphash.h, cppinit.c,
	cpplex.c, cpplib.c, cpplib.h, cppmacro.c, cppmain.c: Similarly.

2002-01-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* collect2.c (main): Use strcmp when testing for "-shared".

2002-01-03  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmacro.c: Don't include intl.h.  Update comments.
	(new_number_token): Allocate enough buffer for 64-bit unsigned
	integers; update prototype.
	* cppmain.c: Update comments.

2002-01-03  William Cohen  <wcohen@redhat.com>

	* function.h (struct function): Add profile.
	(current_function_profile): New.
	doc/extend.texi: Update documentation.
	* final.c (final_start_function): Use current_function_profile
	instead of profile_flag.
	(profile_after_prologue): Likewise.
	* function.c (expand_function_start): Likewise.
	(expand_function_start): Likewise.
	* config/alpha/alpha.c (direct_call_operand):
	(alpha_does_function_need_gp): Likewise.
	(alpha_expand_prologue): Likewise.
	* config/arm/arm.c (arm_expand_prologue): Likewise.
	thumb_expand_prologue: Likewise.
	* config/d30v/d30v.c (d30v_stack_info): Likewise.
	* config/fr30/fr30.c (MUST_SAVE_RETURN_POINTER): Likewise.
	(fr30_expand_prologue): Likewise.
	* config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise.
	* config/i386/i386.c (ix86_osf_output_function_prologue): Likewise.
	* config/i386/i386.h (FINALIZE_PIC): Likewise.
	* config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise.
	* config/i960/i960.c (i960_output_function_prologue): Likewise.
	* config/ia64/ia64.c (ia64_compute_frame_size): Likewise.
	* config/m32r/m32r.c (MUST_SAVE_RETURN_ADDR): Likewise.
	(m32r_expand_prologue): Likewise.
	* config/m88k/m88k.c (m88k_layout_frame): Likewise.
	(m88k_expand_prologue): Likewise.
	* config/m88k/m88k.h (ADJUST_INSN_LENGTH): Likewise.
	* config/mips/mips.c (compute_frame_size): Likewise.
	(mips_expand_prologue): Likewise.
	(mips_can_use_return_insn): Likewise.
	* config/pa/elf.h (ASM_FILE_START): Likewise.
	* config/pa/pa-linux.h (ASM_FILE_START): Likewise.
	* config/pa/pa64-hpux.h (ASM_FILE_START): Likewise.
	* config/pa/som.h (ASM_FILE_START): Likewise.
	* config/romp/romp.c (romp_using_r14): Likewise.
	* config/rs6000/rs6000.c (first_reg_to_save): Likewise.
	(rs6000_stack_info): Likewise.
	* config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	* config/rs6000/xcoff.h (ASM_FILE_START): Likewise.
	* config/v850/v850.c (compute_register_save_size): Likewise.

2002-01-03  Jakub Jelinek  <jakub@redhat.com>

	* simplify-rtx.c (simplify_binary_operation) [DIV]: If
	gen_lowpart_common fails, use gen_lowpart_SUBREG.

2002-01-03  Turly O'Connor  <turly@apple.com>

	* darwin.c (machopic_output_possible_stub_label): Don't generate
	stub routines for pseudo-stubs which we've just defined.

2002-01-03  Kazu Hirata  <kazu@hxi.com>

	* builtins.c: Fix formatting.
	* c-typeck.c: Likewise.
	* combine.c: Likewise.
	* expr.c: Likewise.
	* loop.c: Likewise.

2002-01-03  Andreas Schwab  <schwab@suse.de>

	* cppfiles.c (_cpp_pop_file_buffer): Change return type to bool
	and return true if _cpp_push_next_buffer pushed a new include
	file.
	* cpplib.c (_cpp_pop_buffer): Only call obstack_free if
	_cpp_pop_file_buffer did not push a new file.
	* cpphash.h (_cpp_pop_file_buffer): Update declaration.

2002-01-02  Eric Christopher  <echristo@redhat.com>

	* final.c (final_scan_insn): Change 0 -> NULL_RTX in
	FIND_REG_INC_NOTE call. Update copyright.
	* loop.c (canonicalize_condition): Ditto.
	* reorg.c (delete_scheduled_jump): Ditto.

2002-01-03  Kazu Hirata  <kazu@hxi.com>

	* gcse.c: Fix formatting.

2002-01-03  Graham Stott  <grahams@redhat.com>

	* mkconfig.sh: Output to config.h, hconfig.h and tconfig.h
	forward defs for struct tags rtx_def, union_tree, rtvec_def
	also output corresponding typedefs for rtx, tree, and rtvec.

	* system.h: Move forward defs for struct tags rtx_def, union_tree,
	rtvec_def along with corresponding typedefs for rtx, tree, and
	rtvec to config.h, hconfig.h, tconfig.h.

2002-01-03  Graham Stott  <grahams@redhat.com>

	* tree.h: Update copyright date.
	(IS_EXPR_CODE_CLASS): Add parenthesis.
	(TREE_SET_CODE): Add whitespace.
	(TREE_CHECK): Add parenthesis.
	(TREE_CLASS_CODE): Add parenthesis and wrap long line.
	(CST_OR_CONSTRUCTOR_CHECK):
	(EXPR_CHECK): Add parenthis, whitespace and wrap line.
	(TREE_SYMBOL_REFERENCED): Whitespace.
	(INT_CST_LT): Likewise.
	(INT_CST_LT_UNSIGNED): Likewise.
	(tree_real_cst): Unwrap comment.
	(tree_string): Likewise.
	(tree_complex): Likewise.
	(IDENTIFIER_POINTER): correct cast.
	(SAVE_EXPR_CONTEXT): Whitespace.
	(EXPR_WFL_FILENAME_NODE): Likewise.
	(EXPR_WFL_FILENAME): Remove parenthesis.
	(DECL_ORIGIN): Add parenthesis.
	(DECL_FROM_INLINE): Use NULL_TREE.
	(build_int_2): Whitespace.
	(build_type_variant): Add parenthesis.

	* gcc/jcf-parse.c: Update copyright date.
	(yyparse): Constify resource_filename.

2002-01-03  Graham Stott  <grahams@redhat.com>

	* rtl.h: Update copyright date.
	(RTL_CHECK1): Wrap long line.
	(RTL_CHECK2): Likewise.
	(RTL_CHECKC1): Wrap long line and whitespace.
	(RTL_CHECKC2): Likewise.
	(XWINT): Whitespace.
	(XINT): Likewise.
	(XSTR): Likewise.
	(XEXP): Likewise.
	(XVEC): Likewise.
	(XMODE): Likewise.
	(XBITMAP): Likewise.
	(XTREE): Likewise.
	(XBBDEF): Likewise.
	(XTMPL): Likewise.
	(X0WINT): Likewise.
	(X0INT):Likewise.
	(X0UINT): Likewise.
	(X0STR): Likewise.
	(X0EXP): Likewise.
	(X0VEC): Likewise.
	(X0MODE): Likewise.
	(X0BITMAP): Likewise.
	(X0TREE): Likewise.
	(X0BBDEF): Likewise.
	(X0ADVFLAGS): Likewise.
	(X0CSELIB): Likewise.
	(X0MEMATTR): Likewise.
	(XCWINT): Likewise.
	(XCINT): Likewise.
	(XCUINT): Likewise.
	(XCSTR): Likewise.
	(XCEXP): Likewise.
	(XCVEC): Likewise.
	(XCMODE): Likewise.
	(XCBITMAP): Likewise.
	(XCTREE): Likewise.
	(XCBBDEF): Likewise.
	(XCADVFLAGS): Likewise.
	(XCCSELIB): Likewise.
	(XC2EXP): Likewise.
	(INSN_UID): Likewise.
	(PREV_INSN): Likewise.
	(PATTERN): Likewise.
	(INSN_CODE): Likewise.
	(PUT_REG_NOTE_KIND): Likewise.
	(CODE_LABEL_NUMBER): Likewise.
	(NOTE_SOURCE_FILE): Likewise.
	(NOTE_BLOCK): Likewise.
	(NOTE_EH_HANDLER): Likewise.
	(NOTE_RANGE_INFO): Likewise.
	(NOTE_LIVE_INFO): Likewise.
	(NOTE_BASIC_BLOCK): Likewise.
	(NOTE_EXPECTED_VALUE): Likewise.
	(NOTE_LINE_NUMBER): Likewise.
	(LABEL_NAME): Likewise.
	(LABEL_NUSES): Likewise.
	(LABEL_ALTERNATE_NAME): Likewise.
	(ADDRESSOF_DECL): Likewise.
	(JUMP_LABEL): Likewise.
	(LABEL_NEXTREF): Likewise.
	(REGNO): Likewise.
	(ORIGINAL_REGNO: Likewise.
	(HARD_REGISTER_NUM_P): Add parenthesis.
	(SUBREG_REG): Whitespace.
	(SUBREG_BYTE): Likewise.
	(ASM_OPERANDS_TEMPLATE): Remove parenthesis.
	(ASM_OPERANDS_OUTPUT_CONSTRAINT): Likewise.
	(ASM_OPERANDS_OUTPUT_IDX): Likewise.
	(ASM_OPERANDS_INPUT_VEC): Likewise.
	(ASM_OPERANDS_INPUT_CONSTRAINT_VEC): Likewise.
	(ASM_OPERANDS_INPUT): Likewise.
	(ASM_OPERANDS_INPUT_LENGTH): Likewise.
	(ASM_OPERANDS_INPUT_CONSTRAINT_EXP): Likewise.
	(ASM_OPERANDS_INPUT_CONSTRAINT): Likewise.
	(ASM_OPERANDS_INPUT_MODE): Likewise.
	(ASM_OPERANDS_SOURCE_FILE): Likewise.
	(ASM_OPERANDS_SOURCE_LINE): Likewise.
	(MEM_SET_IN_STRUCT_P): Minor reformat.
	(TRAP_CONDITION): Whitespace.
	(TRAP_CODE): Likewise.
	(COND_EXEC_TEST): Likewise.
	(COND_EXEC_CODE): Likewise.
	(FIND_REG_INC_NOTE): Uppercase macro args and add parenthesis.
	(PHI_NODE_P): Add parenthesis.
	(plus_constant): Whitespace and add parenthesis.

2002-01-03  Kazu Hirata  <kazu@hxi.com>

	* config/avr/avr.c: Fix comment typos.
	* config/c4x/c4x.md: Likewise.
	* config/dsp16xx/dsp16xx.h: Likewise.
	* config/dsp16xx/dsp16xx.md: Likewise.
	* config/i386/i386.md: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/m68hc11/m68hc11.md: Likewise.
	* config/mmix/mmix.c: Likewise.
	* config/mn10200/mn10200.c: Likewise.
	* config/romp/romp.c: Likewise.
	* config/sh/sh.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/stormy16/stormy16.md: Likewise.

2002-01-03  Graham Stott  <grahams@redhat.com>

	* loop.h: Update copyright date.
	(LOOP_MOVABLES): Fix typo.
	(LOOP_REGS): Likewise.
	(LOOP_IVS): Likewise.

2002-01-03  Graham Stott  <grahams@redhat.com>

	* cppinit.c: Update copyright date.
	Don't include output.h
	* Makefile.in: Update copyright date.
	Update dependency.

2002-01-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR c/5226
	* invoke.texi (-mthreads): Remove from documented RS/6000 options.
	(-pthread) Add to RS/6000 options.

2002-01-02  Kazu Hirata  <kazu@hxi.com>

	* except.c: Fix comment typos.
	* loop.c: Likewise.
	* varasm.c: Likewise.
	* doc/tm.texi: Fix a typo.

2002-01-02  Jakub Jelinek  <jakub@redhat.com>

	* c-typeck.c (output_init_element): Allow initializing static storage
	duration objects with compound literals.

2002-01-02  Richard Henderson  <rth@redhat.com>

	* objc/objc-act.c (hack_method_prototype): Clear current_function_decl
	after abusing it.

2002-01-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc.c (default_compilers): Const-ify.
	* mips-tdump.c (stab_names): Likewise.
	* mips-tfile.c (map_coff_types, map_coff_storage,
	map_coff_sym_type, map_coff_derived_type, stabs_symbol,
	pseudo_ops_t, pseudo_ops): Likewise.
	* protoize.c (default_include): Likewise

	* real.c (GET_REAL, PUT_REAL): Don't cast away const-ness.
	(ezero, ehalf, eone, etwo, e32, elog2, esqrt2, epi): Const-ify.
	Add array size in declaration.
	(endian, emov, eisneg, eisinf, eisnan, eiisnan, eiisneg, emovi,
	emovo, emovz, eiisinf, ecmpm, eaddm, esubm, m16m, edivm, emulm,
	esub, eadd, eadd1, ediv, emul, e53toe, e64toe, e113toe, e24toe,
	etoe113, etoe64, etoe53, etoe24, ecmp, eround, ltoe, ultoe,
	eifrac, euifrac, e24toasc, e53toasc, e64toasc, e113toasc, etoasc,
	efloor, efrexp, eldexp, eremain, dectoe, etodec, ibmtoe, etoibm,
	c4xtoe, etoc4x, uditoe, ditoe, etoudi, etodi, esqrt, etens,
	emtens, make_nan): Const-ify.
	(TFbignan, TFlittlenan, XFbignan, XFlittlenan, DFbignan,
	DFlittlenan, SFbignan, SFlittlenan): Make static and const-ify.

2002-01-02  Joseph S. Myers  <jsm28@cam.ac.uk>

	* config.gcc (ia64-*-*): Set extra_headers.
	(alpha*-dec-osf*): Likewise.  Don't use alpha/t-osf.
	* config/alpha/t-osf: Remove.
	* config/ia64/t-ia64 (EXTRA_HEADERS): Remove.

2002-01-02  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/t-aix43: Revert previous change.

2002-01-02  Jason Merrill  <jason@redhat.com>

	* c-decl.c (c_expand_body): Call outlining_inline_function when
	emitting an inline function out of line.

2002-01-02  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (limbo_die_node): Add created_for member.
	(new_die): New argument created_for.  Update all callers.
	(mark_limbo_die_list): New.
	(dwarf2out_init): Register limbo_die_list as a root.
	(dwarf2out_finish): Force insert limbo dies into their function
	context.

2002-01-02  Nathan Sidwell  <nathan@codesourcery.com>

	PR c++/5089
	* doc/invoke.texi (-Wold-style-cast): Only warn about non-void casts.

2002-01-02  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/fixunssfsi.c: Update copyright.
	Fix comment typos.
	Fix formatting.
	* config/h8300/h8300.c: Update copyright.
	Eliminate warnings.

2002-01-02  Kazu Hirata  <kazu@hxi.com>

	* config/romp/romp.c: Fix comment formatting.
	* config/romp/romp.h: Likewise.
	* config/romp/romp.md: Likewise.
	* config/s390/s390.c: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/stormy16/stormy16.h: Likewise.

2002-01-02  Alexandre Oliva  <aoliva@redhat.com>

	* c-common.h (genrtl_expr_stmt_value): Declare.
	* c-semantics.c (genrtl_goto_stmt): Redirect to...
	(genrtl_goto_stmt_value): ... this new function.  Pass new
	argument down to expand_expr_stmt_value, taking
	TREE_ADDRESSABLE into account.
	* c-common.c (c_expand_expr): Mark the last EXPR_STMT of a
	STMT_EXPR as addressable, i.e., one whose result we want.
	* expr.c (expand_expr): Don't save expression statement value
	of labeled_blocks or loop_exprs.
	* stmt.c (expand_expr_stmt): Redirect to...
	(expand_expr_stmt_value): ... this new function.  Use new
	argument to tell whether to save expression value.
	(expand_end_stmt_expr): Reset last_expr_type and
	last_expr_value if we don't have either.
	* tree-inline.c (declare_return_variable): Mark its use
	statement as addressable.
	* tree.h: Document new use of TREE_ADDRESSABLE.
	(expand_expr_stmt_value): Declare.

2002-01-01  Tom Rix  <trix@redhat.com>

	* config/rs6000/rs6000.c (rs6000_emit_set_long_const): Fix for use by
	rs6000_emit_allocate_stack.

2002-01-01  Joseph S. Myers  <jsm28@cam.ac.uk>

	* configure.in: Prepend ${srcdir}/config/${cpu_type}/ instead of
	${srcdir}/ginclude/ to every entry in extra_headers.
	* configure: Regenerate.
	* ginclude/math-3300.h: Rename to config/m68k/math-3300.h.
	* ginclude/math-68881.h: Rename to config/m68k/math-68881.h.
	* ginclude/ppc-asm.h: Rename to config/rs6000/ppc-asm.h.
	* ginclude/proto.h: Rename to config/convex/proto.h.

Tue Jan  1 17:12:56 2002  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* attribs.c (handle_vector_size_attribute): Use host_integerp
	and tree_int_cst; remove warnings.
	* caller-save.c (insert_restore): Add cast to get rid of warning.
	(insert_save): Likewise.
	* emit-rtl.c (adjust_address_1, offset_address): Likewise.
	* regmove.c (find_matches): Add temporary var to kill a warning.

2002-01-01  Douglas B Rupp  <rupp@gnat.com>

	* config/alpha/vms.h (DWARF2_UNWIND_INFO, EH_RETURN_HANDLER_RTX,
	LINK_EH_SPEC, MD_FALLBACK_FRAME_STATE_FOR): Define.
	* config/alpha/t-vms (EXTRA_PARTS): Add vms-dwarf2eh.o
	(vms-dwarf2eh.o): Add Makefile rule.
	* config/alpha/vms-ld.c (main): Handle vms-dwarf2eh.o.
	* config/alpha/vms-dwarf2eh.asm: New file.

	* gcc.c (delete_if_ordinary): Delete all versions.

2002-01-01  Hans-Peter Nilsson  <hp@bitrange.com>

	* config/mmix/mmix.md: Update FIXME to not mention
	define_constants.
	(MMIX_rJ_REGNUM): New define_constants constant.
	("movqi", "movsi", "movdi", "*movdicc_real_foldable",
	"*movdicc_real"): Adjust contraints formatting.
	("*bCC_foldable"): Add %+ for P in output format and delete FIXME
	for branch prediction.
	("*bCC", "*bCC_inverted_foldable", "*bCC_inverted"): Add %+ in
	output template.
	("*call_real", "*call_value_real", "nonlocal_goto_receiver",
	"*nonlocal_goto_receiver_expanded"): Use MMIX_rJ_REGNUM instead of
	number.  Delete related FIXMEs.
	* config/mmix/mmix.h (MMIX_INCOMING_RETURN_ADDRESS_REGNUM): Change
	from number to MMIX_rJ_REGNUM.
	(TARGET_MASK_BRANCH_PREDICT): New.
	(TARGET_DEFAULT): Change to TARGET_MASK_BRANCH_PREDICT.
	(TARGET_SWITCHES): Update comment.  Correct -mno-toplevel-symbols
	value.  Add -mbranch-predict and -mno-branch-predict.
	(TARGET_VERSION): Drop date.
	(ADDITIONAL_REGISTER_NAMES): Use MMIX_rJ_REGNUM, not number.
	* config/mmix/mmix.c (mmix_encode_section_info): Correct condition
	for finding out global symbols.
	(mmix_asm_output_labelref): Revert condition for global symbol.
	(mmix_print_operand): <case '+'>: Emit P for a likely branch.
	(mmix_print_operand_punct_valid_p): A '+' is valid.

See ChangeLog.6 for earlier changes.
