2001-11-13  Jeff Sturm  <jsturm@one-point.com>

	* doc/install.texi (sparc-*-linux*): Mention requirements for
	binutils and glibc.

2001-11-14  Joseph S. Myers  <jsm28@cam.ac.uk>

	* Makefile.in (POD2MAN): Don't include --section=1.
	(manext): Rename to man1ext.  All users changed.
	(man7ext): New.
	(man7dir): New.
	(generated-manpages): Also depend on $(docdir)/gfdl.7,
	$(docdir)/gpl.7, and $(docdir)/fsf-funding.7.
	($(docdir)/gcov.1, $(docdir)/cpp.1, $(docdir)/gcc.1): Include
	--section=1 in calls to $(POD2MAN).
	($(docdir)/gfdl.7, $(docdir)/gpl.7, $(docdir)/fsf-funding.7): New.
	(maintainer-clean, install, uninstall): Handle the new man pages.
	($(docdir)/cpp.info, cpp.dvi): Depend on fdl.texi.
	(installdirs): Create man7dir.
	* doc/cpp.texi: Include GFDL in this manual.  In the man page,
	refer to gfdl(7) for the GFDL.  Apply Front Cover and Back Cover
	texts to man page.  Include gpl(7), gfdl(7) and fsf-funding(7) in
	the SEE ALSO man page section.
	* doc/gcov.texi: Apply GFDL to man page.  Include gpl(7), gfdl(7)
	and fsf-funding(7) in the SEE ALSO man page section.
	* doc/invoke.texi: Apply GFDL to man page.  Include gpl(7),
	gfdl(7) and fsf-funding(7) in the SEE ALSO man page section.
	* doc/include/fdl.texi, doc/include/funding.texi,
	doc/include/gpl.texi: Adjust for conversion by texi2pod.pl.
	* doc/.cvsignore: Add gfdl.7, gpl.7 and fsf-funding.7.

2001-11-13  Richard Henderson  <rth@redhat.com>

	* dwarf2asm.c (dw2_force_const_mem): Set PUBLIC or STATIC
	as appropriate for the artificial decl.

2001-11-13  Richard Henderson  <rth@redhat.com>

	* loop.c (combine_movables): Turn off combination until
	move_movables validation bugs are fixed.

2001-11-13  DJ Delorie  <dj@redhat.com>

	* config.gcc (powerpc|rs6000): Set default cpp options based
	on --with-cpu settings.
	* config/rs6000/softfloat.h: New.

2001-11-13  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (shift_alg_si): Use special code for
	25-bit shifts on H8/S.
	(get_shift_alg): Generate special code for 25-bit shifts on
	H8/S.

2001-11-13  Jakub Jelinek  <jakub@redhat.com>

	* emit-rtl.c (adjust_address_1): Add ADJUST argument.
	(adjust_automodify_address_1): New.
	* expr.h (adjust_address, adjust_address_nv): Adjust.
	(adjust_automodify_address, adjust_automodify_address_nv): Define.
	(adjust_address_1): Update prototype.
	(adjust_automodify_address_1): Add prototype.
	* expr.c (move_by_pieces_1): Use adjust_automodify_address.
	(store_by_pieces_2): Likewise.

Tue Nov 13 05:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* Makefile.in (explow.o): Now depends on ggc.h.
	* explow.c (ggc.h): Include.
	(set_stack_check_libfunc): Mark stack_check_libfunc as ggc root.

	* Makefile.in (expr.o): Depends on insn-attr.h.
	* expr.c (insn-attr.h): New include.
	(force_operand): If INSN_SCHEDULING, deal with paradoxical SUBREG
	of MEM.
	(highest_pow2_factor, case INTEGER_CST): Handle negative values.
	(expand_expr): Remove unneeded mark_temp_addr_taken calls and
	clean up related usage in ADDR_EXPR.
	(expand_expr_unaligned): Likewise.

	* emit-rtl.c (change_address): Fix typo in alias setting.

2001-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (cfgcleanup.o): Depend on insn-config.h

2001-11-12  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR bootstrap/3451
	* c-pragma.c: Rename macros BAD, BAD2, BAD_ACTION to
	GCC_BAD, GCC_BAD2, GCC_BAD_ACTION.

2001-11-12  David O'Brien  <obrien@FreeBSD.org>

	* config.gcc (sparc-tti-*, sparc64-wrs-vxworks*, sparc-wrs-vxworks*,
	sparclite-wrs-vxworks*, sparc-*-aout*, sparc-*-netbsd*,
	sparc-*-chorusos*, sparc-*-linux*aout*, sparc-*-linux*libc1*,
	sparc-*-linux*, sparc-*-lynxos*, sparc-*-rtemsaout*, sparc-*-rtems*,
	sparc-*-rtemself*, sparc-*-solaris2*, sparc-*-sunos3*, sparc-*-sysv4*,
	sparc-*-vxsim*, sparclet-*-aout*, sparclite-*-coff*, sparclite-*-aout*,
	sparc86x-*-aout*, sparc86x-*-elf*, sparc64-*-aout*, sparc64-*-elf*,
	sparc64-*-linux*):  Include various CPU headers via tm_file.
	* config/svr3.h (ASM_OUTPUT_IDENT): Undef before defining it.
	(SELECT_SECTION): Likewise.
	(SELECT_RTX_SECTION): Likewise.
	* config/sparc/sparc_bi.h: New file.
	* config/sparc/aout.h: Don't include sparc/sparc.h and aoutos.h.
	* config/sparc/linux-aout.h: Likewise.
	* config/sparc/linux.h: Don't include sparc/sysv4.h.
	* config/sparc/linux64.h: Likewise.
	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.
	* config/sparc/lite.h:  Don't include sparc/sparc.h and gofast.h.
	* config/sparc/litecoff.h: Don't include sparc/lite.h, svr3.h,
	and dbxcoff.h
	(ASM_OUTPUT_IDENT): Do not #undef.
	(SELECT_SECTION): Likewise.
	(SELECT_RTX_SECTION): Likewise.
	* config/sparc/liteelf.h: Don't include gofast.h.
	* config/sparc/lynx-ng.h: Don't include sparc/sparc.h and lynx-ng.h.
	* config/sparc/lynx.h: Don't include sparc/sparc.h.
	* config/sparc/pbd.h: Likewise.
	* config/sparc/netbsd.h: Don't include sparc/sparc.h and netbsd.h.
	* config/sparc/rtems.h: Don't include sparc/aout.h and rtems.h.
	* config/sparc/rtemself.h: Don't include rtems.h.
	* config/sparc/sol2-64.h: Don't include sparc/sol2-sld-64.h.
	* config/sparc/sol2-sld-64.h (SPARC_BI_ARCH): Don't define, include
	sparc_bi.h instead.
	* config/sparc/sol2-sld.h: Don't include sparc/sol2.h.
	* config/sparc/sol2.h: Include sparc/sparc.h directly.
	* config/sparc/sp64-aout.h: Don't include sparc/sparc.h and aoutos.h.
	* config/sparc/sp64-elf.h: Don't include sparc/sol2.h.
	* config/sparc/sp86x-aout.h: Don't include sparc/sparc.h and gofast.h.
	* config/sparc/sp86x-elf.h: Don't include gofast.h.
	* config/sparc/splet.h: Don't include sparc/aout.h.
	* config/sparc/sun4o3.h: Don't include sparc/sparc.h.
	* config/sparc/sysv4.h: Don't include sparc/sparc.h directly.
	* config/sparc/vxsim.h: Don't include sparc/sysv4.h.
	* config/sparc/vxsparc.h: Don't include sparc/aout.h and gofast.h.
	* config/sparc/vxsparc64.h: Don't include gofast.h.
	(SPARC_BI_ARCH): Don't define.  sparc_bi.h will do it instead.

2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/standards.texi: Mention C99 TC1.

2001-11-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips-protos.h (mips_output_conditional_branch): Const-ify.
	* mips.c (mips_output_conditional_branch): Likewise.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (shift_alg_si): Use special code for
	15-bit logical shifts and 31-bit logical shifts.
	(get_shift_alg): Generate special code for 15-bit and 31-bit
	logical shifts.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (shift_alg_qi): Use rotations when
	doing 6-bit logical shifts on H8/S.
	(shift_alg_qi): Use special code for 21-bit shifts on H8/S.
	(get_shift_alg): Generate special code for 21-bit shifts on
	H8/S.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (get_shift_alg): Remove a redundant
	label.

Mon Nov 12 11:58:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (nonoverlapping_memrefs_p): Only update size from memref
	if both size and offset known.

2001-11-12  David O'Brien  <obrien@FreeBSD.org>

	* config/ia64/freebsd.h: Fix misspelling.

2001-11-12  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi: Move several chapters out to ...
	* doc/configterms.texi, doc/fragments.texi, doc/hostconfig.texi,
	doc/include/linux-and-gnu.texi, doc/interface.texi,
	doc/makefile.texi, doc/passes.texi, doc/portability.texi:
	... here.  New files.
	* doc/gcc.texi, doc/contrib.texi: Move section headings into
	contrib.texi.
	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

	* config/alpha/alpha-interix.h: Fix comment formatting.
	* config/alpha/alpha.c: Likewise.
	* config/alpha/alpha.h: Likewise.
	* config/alpha/alpha32.h: Likewise.
	* config/alpha/freebsd.h: Likewise.
	* config/alpha/unicosmk.h: Likewise.
	* config/alpha/vms.h: Likewise.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

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

2001-11-12  Jakub Jelinek  <jakub@redhat.com>

	* dbxout.c (dbxout_symbol_location): Avoid emitting invalid register
	numbers.

Mon Nov 12 05:18:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (set_mem_attributes): If making object, can set alignment
	from type.
	(replace_equiv_address): Call update_temp_slot_address.

	* dwarf2out.c (loc_descriptor_from_tree, case COMPOUND_EXPR): New case.

	* alias.c (nonoverlapping_memrefs_p): Handle DECL_RTL being a CONCAT.

2001-11-12  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (shift_alg_qi): New.
	(shift_alg_hi): Likewise.
	(shift_alg_si): Likewise.
	(get_shift_alg): Change the type of count to unsigned int.
	Use the tables.

2001-11-11  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in (c-lang.o): Depend on $(VARRAY_H).
	* c-decl.c (c_expand_body): Take argument can_defer_p.  Use it
	to decide whether to defer a function.
	(finish_function): Adjust.
	(c_expand_deferred_function): New function.
	* c-lang.c (deferred_fns): New variable.
	(c_init): Initialize it, and mark it as a root.
	(defer_fn): New function.
	(finish_file): Expand all deferred functions.
	* c-tree.h (defer_fn): Declare.
	(c_expand_deferred_function): Likewise.
	* objc/Make-lang.in (objc-act.o): Depend on $(VARRAY_H).
	* objc-act.c (deferred_fns): New variable.
	(objc_init): Initialize it, and mark it as a root.
	(defer_fn): New function.
	(finish_file): Expand all deferred functions.

2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* alpha.c (unicosmk_special_name): Prototype.
	(unicosmk_ssib_name): Delete unused variable.
	* alpha/unicosmk.h (common_section, ssib_section): Prototype.
	* alpha/vms.h (PREFIX): Undef before defining.
	* arm/pe.h (SUBTARGET_NAME_ENCODING_LENGTHS): Likewise.
	* i370/i370.c (mvs_hash_alias): Prototype.  Wrap with macro
	controlling usage.  Const-ify.
	(alias_number): Delete unused variable.
	* m32r/m32r.c (m32r_sched_init): Add missing argument.
	(m32r_expand_block_move): Fix uninitialized warnings.
	* mn10300/mn10300.h (REGNO_IN_RANGE_P): Fix 'unsigned >=0 is
	always true' warnings.
	* openbsd.h (TARGET_MEM_FUNCTIONS): Don't redefine.
	* sh/sh.c: Include "integrate.h".
	(output_far_jump): Fix uninitialized warning.
	* final.c (shorten_branches): Avoid automatic aggregate
	initialization.
	* integrate.c (subst_constants): Likewise.

2001-11-11  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (shift_alg): Remove SHIFT_MAX.
	(get_shift_alg): Remove redundant code.

2001-11-11  Kazu Hirata  <kazu@hxi.com>

	* config/pa/milli64.S: Fix comment formatting.
	* config/pa/pa-64.h: Likewise.
	* config/pa/pa-linux.h: Likewise.
	* config/pa/pa-protos.h: Likewise.
	* config/pa/pa.c: Likewise.
	* config/pa/pa.h: Likewise.
	* config/pa/pa32-linux.h: Likewise.
	* config/pa/pa32-regs.h: Likewise.
	* config/pa/pa64-hpux.h: Likewise.
	* config/pa/pa64-regs.h: Likewise.
	* config/pa/som.h: Likewise.

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

	* doc/gcc.texi: Move several chapters out to ...
	* doc/bugreport.texi, doc/contribute.texi, doc/frontends.texi,
	doc/service.texi, doc/standards.texi, doc/trouble.texi,
	doc/vms.texi: ... here.  New files.
	* Makefile.in ($(docdir)/gcc.info, gcc.dvi): Update dependencies.

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

	* ChangeLog.2, ChangeLog.3, ChangeLog.4, ChangeLog.5, ChangeLog,
	cfg.c, cfganal.c, cfgcleanup.c, cfglayout.c, cfgloop.c, cfgrtl.c,
	collect2.c, combine.c, config.in, configure, configure.in,
	conflict.c, dwarf2out.c, dwarfout.c, except.c, final.c, flow.c,
	genattrtab.c, ggc-page.c, jump.c, lcm.c, predict.c, reg-stack.c,
	reload1.c, rtlanal.c, sched-rgn.c, toplev.c, unwind-dw2-fde.h: Fix
	spelling errors.

Sun Nov 11 05:56:01 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/rs6000/rs6000.c (rs6000_hash_constant, toc_hash_eq):
	Adjust operand number in CONST_DOUBLE.

	* expmed.c (extract_bit_field): No longer pass in alignment.
	(extract_fixed_bit_field, extract_split_bit_field): Likewise.
	(store_bit_field, store_fixed_bit_field, store_split_bit_field):
	Likewise.
	* expr.c (store_constructor, store_constructor_field): Likewise.
	(store_field, emit_group_load, emit_group_store): Likewise.
	* expr.h (emit_group_load, emit_group_store): Delete ALIGN parm.
	(store_bit_field, extract_bit_field): Likewise.
	* calls.c, expr.c, function.c: Change calls to above functions.
	* ifcvt.c, stmt.c: Likewise.
	
	* alias.c (nonoverlapping_memrefs_p): Not overlapping if one base is
	constant and one is on frame.
	If know memref offset, adjust size from decl.

2001-11-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* alpha/unicosmk.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Fix
	format specifier warning.
	* convex.h (ASM_OUTPUT_BYTE): Likewise.
	* elfos.h (ALIGN_ASM_OP): Undef before defining.
	* i386/att.h (ASM_GENERATE_INTERNAL_LABEL): Fix format specifier
	warning.
	* i386/bsd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/gas.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386-interix.h (gen_stdcall_suffix): Prototype.
	* i386.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
	* i386elf.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_LONG_DOUBLE): Likewise.
	* i386/interix.c (gen_stdcall_suffix): Const-ify.
	* i386/next.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Fix format
	specifier warnings.
	* i386/osfrose.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/ptx4-i.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_LONG_DOUBLE): Likewise.
	* i386/sco5.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/sequent.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/sun386.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* i386/svr3dbx.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* m68k/3b1.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_LONG_DOUBLE,
	ASM_OUTPUT_FLOAT, ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* m68k/altos3068.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
	* m68k/amix.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
	Likewise.
	* m68k/atari.h (ASM_OUTPUT_ASCII, ASM_GENERATE_INTERNAL_LABEL):
	Likewise.
	* m68k/crds.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Likewise.
	* m68k/dpx2.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE, ASM_OUTPUT_FLOAT_OPERAND):
	Likewise.
	* m68k/hp320.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_BYTE):
	Likewise.
	* m68k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
	Likewise.
	* m68k/m68kv4.h (ASM_OUTPUT_ASCII): Delete unused variable.
	* m68k/mot3300.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
	* m68k/news.h (PRINT_OPERAND): Likewise.
	* m68k/next.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
	ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
	* m68k/next21.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
	* m68k/plexus.h (ASM_SPEC): Insert space between macro name and
	definition.
	* m68k/sgs.h (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_FLOAT, ASM_OUTPUT_ASCII, ASM_OUTPUT_FLOAT_OPERAND,
	ASM_OUTPUT_DOUBLE_OPERAND): Fix format specifier warnings.
	* m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Likewise.
	* m68k/tower-as.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_FLOAT, ASM_OUTPUT_BYTE,
	PRINT_OPERAND): Likewise.
	* m88k/m88k.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_BYTE):
	Likewise.
	* mips/elf.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
	* mips/elf64.h (PUT_SDB_SIZE, ASM_DECLARE_OBJECT_NAME): Likewise.
	* mips/iris5gas.h (PUT_SDB_SIZE): Likewise.
	* mips/linux.h (ASM_DECLARE_OBJECT_NAME): Likewise.
	* mips.c (mips_output_external_libcall): Mark parameter with
	ATTRIBUTE_UNUSED.
	(mips_asm_file_start): Move variable into the scope where it's
	used.
	* mips.h (PUT_SDB_INT_VAL, PUT_SDB_SIZE): Likewise.
	* mips/netbsd.h (ASM_DECLARE_OBJECT_NAME): Likewise.
	* mips/sni-gas.h (PUT_SDB_SIZE): Likewise.
	* ns32k/encore.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* ns32k.c (print_operand): Likewise.
	* pa.c (print_operand, output_div_insn): Likewise.
	* pa.h (ASM_OUTPUT_MI_THUNK, ASM_GENERATE_INTERNAL_LABEL,
	ASM_OUTPUT_BYTE, PRINT_OPERAND_ADDRESS): Likewise.
	* pa/pa64-hpux.h (UNIQUE_SECTION): Const-ify.
	* sparc/linux.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
	specifier warnings.
	* sparc/linux64.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	* sparc/pbd.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Don't list macro arguments in undef.
	* sparc/vxsim.h (ASM_GENERATE_INTERNAL_LABEL): Fix format
	specifier warnings.
	* svr3.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.

	* sdbout.c (sdbout_end_epilogue): Mark parameter with
	ATTRIBUTE_UNUSED.
	* varasm.c (assemble_global): Likewise.

2001-11-11  H.J. Lu <hjl@gnu.org>

	* config.gcc: Add "elfos.h svr4.h" to $tm_file for Linux/mips.

Sun Nov 11 01:26:00 CET 2001  Jan Hubicka  <jh@suse.cz>

	* final.c (*_MAX_SKIP): Use *_max_skip variables.
	* flags.h (align_loops_max_skip, align_jumps_max_skip,
	align_labels_max_skip): New global variables.
	* toplev.c (align_loops_max_skip, align_jumps_max_skip,
	align_labels_max_skip): New global variables.
	(toplev_main): Set new variables.
	* i386.c (override_options): Set max_skip values.

2001-11-10  Geoffrey Keating  <geoffk@redhat.com>

	* doc/tm.texi (Label Output): Document ASM_OUTPUT_LABEL_REF.
	* final.c (output_addr_const): Use ASM_OUTPUT_LABEL_REF.
	* config/stormy16/stormy16.c (xstormy16_print_operand): For '%C',
	don't print an @fptr for labels either.
	(xstormy16_output_addr_vec): Don't print @fptr here.
	* config/stormy16/stormy16.h (ASM_OUTPUT_LABEL_REF): New macro.

Sat Nov 10 08:50:50 2001  Jeffrey A Law  (law@cygnus.com)

	* ssa-ccp.c (examine_flow_edges): Use old-style definition, not
	an ANSI/ISO definitino.
	(ssa_const_prop): Likewise.

2001-11-10  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.c (rs6000_reg_names): Remove leading "v" or
	altivec registers.

2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cppexp.c (parse_number): Use ISXDIGIT/hex_value.
	* cpplex.c (hex_digit_value): Use hex_p/hex_value.
	* cppmain.c (general_init): Call hex_init.
	* tradcif.y (parse_number): Use TOLOWER/ISXDIGIT/hex_value/hex_p.

	* config.gcc (i[34567]86-dg-dgux*): Don't set `out_file'.

	* i386/dgux.h (ASM_FILE_START): Set to the meaningful portions
	of dgux.c:output_file_start().

	* i386/dgux.c: Delete file.

2001-11-09  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (decl_in_text_section): New.
	(current_file_function_operand): Use it.
	(alpha_encode_section_info, alpha_end_function): Likewise.

2001-11-07  David O'Brien  <obrien@FreeBSD.org>

	* config.gcc: Add FreeBSD/IA-64 target. Expand config/i64/elf.h headers.
	* config/i64/ia64.h (TARGET_VERSION,ASM_SPEC,LINK_SPEC): Remove,
	they are OS specific.  Use CPP_CPU_SPEC rather than CPP_PREDEFINES,
	so OS specific files and use CPP_PREDEFINES for their needs.
	* config/i64/elf.h (TARGET_VERSION): Add.  Also, move inclusion of
	target headers to tm_file.
	* config/ia64/aix.h (TARGET_VERSION): Likewise.
	* config/ia64/hpux.h (TARGET_VERSION): Likewise.
	* config/ia64/linux.h (TARGET_VERSION): Likewise.
	(FUNCTION_PROFILER): Remove.
	* config/ia64/ia64.h (FUNCTION_PROFILER): Update defintion using the
	version in config/ia64/linux.h.
	* config/ia64/freebsd.h: New file.
	* config/freebsd.h: Tidy up.
	(_USING_CONFIG_FREEBSD): Define.
	(FBSD_CPP_PREDEFINES): Add __KPRINTF_ATTRIBUTE__.
	(FBSD_CPP_SPEC): Define generic FreeBSD spec.
	(FBSD_STARTFILE_SPEC): Likewise.
	(FBSD_ENDFILE_SPEC): Likewise.
	(FBSD_LIB_SPEC): Likewise.
	(WCHAR_UNSIGNED): Undefine, FreeBSD's wchars are signed.
	(USER_LABEL_PREFIX): Define to ELF compatible value as some CPU headers
	set an ELF-improper one.

2001-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (emit_move_sequence): Use cint_ok_for_move to check whether a
	constant can be loaded in a single instruction to a register.  When
	loading immediate constants, use PLUS instead of HIGH/LO_SUM.  Use
	depdi for insertion of most significant 32-bits on 64-bit hosts.
	* pa.h (LEGITIMATE_CONSTANT_P): Accept constants that can be built
	with ldil/ldo/depdi instruction sequence on 64-bit hosts.
	* pa.md: New addmove pattern for adding constant_int to HImode
	register and moving result to HImode register.  Remove HImode HIGH
	and LO_SUM patterns.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in: Update.
	* c-decl.c (print_lang_decl, print_lang_type): Remove.
	(print_lang_identifier): Rename c_print_identifier.
	* c-lang.c (LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
	(print_lang_statistics, lang_print_xnode): Remove.
	* c-parse.in (set_yydebug): Rename c_set_yydebug.
	* c-tree.h (c_set_yydebug, c_print_identifier): New.
	* langhooks-def.h (lhd_print_tree_nothing, lhd_set_yydebug): New.
	LANG_HOOKS_PRINT_STATISTICS, LANG_HOOKS_PRINT_XNODE,
	LANG_HOOKS_PRINT_DECL, LANG_HOOKS_PRINT_TYPE,
	LANG_HOOKS_PRINT_IDENTIFIER, LANG_HOOKS_SET_YYDEBUG): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New members.
	(lang_print_tree_hook): New.
	* langhooks.c (lhd_print_tree_nothing, lhd_set_yydebug): New.
	* print-tree.c: Include langhooks.h.
	(print_node): Update.
	* toplev.c (decode_d_option): Update.
	* tree.c: Include langhooks.h.
	(dump_tree_statistics): Update.
	* tree.h (print_lang_statistics, print_lang_decl, print_lang_type,
	print_lang_identifier, set_yydebug, lang_print_xnode): Remove.
objc:
	* objc-act.c (LANG_HOOKS_PRINT_IDENTIFIER,
	LANG_HOOKS_SET_YYDEBUG): Override.
	(lang_print_xnode, print_lang_statistics): Remove.

2001-11-09  Richard Henderson  <rth@redhat.com>

	* dwarf2asm.c (dw2_force_const_mem): Invoke STRIP_NAME_ENCODING
	on the symbol string.

2001-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* pa/elf.h (ASM_DECLARE_FUNCTION_NAME,
	ASM_OUTPUT_EXTERNAL_LIBCALL): Undef before defining.
	* config.gcc (hppa1.1-*-rtems*): Remove duplicate clause.

	* clipper.h (ASM_OUTPUT_REG_POP): Fix typo.

	* tlink.c (recompile_files): Copy strings passed to `putenv'.

2001-11-09  Geoffrey Keating  <geoffk@redhat.com>

	* tree.h (TYPE_VOLATILE): Trap use not on TYPEs.
	(TYPE_READONLY): Likewise.

	* flow.c (insn_dead_p): Allow for AUTO_INC notes all the time.

	* config/stormy16/stormy16.h (ASM_SPEC): Revert last change,
	don't pass --gdwarf2 to the assembler if the compiler will also
	provide debug info.

	* config/stormy16/stormy16.c (xstormy16_expand_casesi): 
	Don't change INDEX.

Fri Nov  9 17:51:09 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (nonoverlapping_memrefs_p): New function.
	(true_dependence, canon_true_depenence, write_dependence_p): Call it.

	* emit-rtl.c (set_mem_attributes): Get alignments for constants.

2001-11-09  Aldy Hernandez  <aldyh@redhat.com>

        * rs6000.h (REG_CLASS_CONTENTS): Add VRSAVE bit to ALL_REGS.
	(CONDITIONAL_REGISTER_USAGE): Disable AltiVec registers unless
	generating altivec code.
	(FIXED_REGISTERS): VRSAVE is fixed.
	(CALL_USED_REGISTERS): VRSAVE is call used.

2001-11-09  Jason Eckhardt  <jle@rice.edu>

	* config/mips/mips.c (mips_output_conditional_branch): Do not hard
	code the branch target as ".+16/.+12", but rather use labels.

Fri Nov  9 11:27:42 2001  Jeffrey A Law  (law@cygnus.com)

	* config/pa/milli64.S: Use %r25 and %r0 instead of arg1 and r0  
	to work around limitations of certain versions of GAS.

	* pa.md (mulsi3): Remove PA64 hack to work around SUBREG issues.
	(muldi3): Update due to SUBREG_BYTE changes.
	(casesi): Similarly.

2001-11-09  Zack Weinberg  <zack@codesourcery.com>

	* doc/invoke.texi: Remove comment referring to -xf77-version.

2001-11-09  Kazu Hirata  <kazu@hxi.com>

	* config/convex/convex.c: Fix comment formatting.
	* config/convex/convex.h: Likewise.

2001-11-08  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (.po.pox): Look both in srcdir and builddir
	for $(PACKAGE).pot.
	(po/$(PACKAGE).pot): Don't move-if-change the new potfile over
	to the source directory.

2001-11-09 Ben Elliston  <bje@redhat.com>
	   Michael Meissner  <meissner@redhat.com>
           Andrew MacLeod  <amacleod@redhat.com>
	   Richard Henderson  <rth@redhat.com>
	   Nick Clifton  <nickc@redhat.com>
	   Catherine Moore  <clm@redhat.com>

	* m32r.c: Add support for m32rx processor.
	* m32r.h: Ditto.
	* m32r.md: Ditto.
	* t-m32r: Ditto.
	* m32r-protos.h: Add prototypes for m32rx functions.
	* doc/invoke.texi: Document -m32rx option.

2001-11-09  Jakub Jelinek  <jakub@redhat.com>

	* config/sparc/sparc.md (movdf): Avoid calling validize_mem during
	or after reload.

2001-11-09  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi2html: Use $MAKEINFO --no-split.

2001-11-09  Andreas Schwab  <schwab@suse.de>

	* Makefile.in ($(HOST_PREFIX_1)rtl.o,
	$(HOST_PREFIX_1)print-rtl.o, $(HOST_PREFIX_1)bitmap.o,
	$(HOST_PREFIX_1)vfprintf.o, $(HOST_PREFIX_1)doprint.o, 
	$(HOST_PREFIX_1)strstr.o, $(HOST_PREFIX_1)errors.o,
	$(HOST_PREFIX_1)ggc-none.o): Update dependencies.

2001-11-09  H.J. Lu <hjl@gnu.org>

	* config/mips/mips.c (mips_output_function_prologues): Cast
	`tsize' to long for output.

2001-11-09  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-lang.c (LANG_HOOKS_NAME): New.
	(lang_hooks): Constify.
	(c_init_options): Update.
	(lang_identify): Remove.
	* c-parse.in (language_string): Remove.
	* dbxout.c: Include langhooks.h.
	(dbxout_symbol_location): Update.
	* dwarf2out.c: Include langhooks.h.
	(gen_compile_unit_die): Update.
	* dwarfout.c: Include langhooks.h.
	(prototyped_attribute, output_compile_unit_die): Update.
	* langhooks-def.h (LANG_HOOKS_NAME, LANG_HOOKS_IDENTIFIER_SIZE): New.
	(LANG_HOOKS_INITIALIZER): Update.
	* langhooks.h (struct lang_hooks): New members.  Constify.
	* stringpool.c: Don't include toplev.h.
	(set_identifier_size): Remove.
	* toplev.c (toplev_main): Initialize identifier size.
	(print_version): Update.
	* tree.h (language_string, init_lex, lang_identify,
	set_identifier_size): Remove.
	* Makefile.in: Update dependencies.
	* config/darwin.c: Include langhooks.h.
	(func_name_maybe_scoped): Update.
	* config/darwin.h (ASM_END_FILE): Update.
	* config/nextstep.h (ASM_END_FILE): Update.
	* config/nextstep21.h (ASM_END_FILE): Update.
	* config/i386/sun386.h (ASM_END_FILE): Update.
	* config/rs6000/rs6000.c (ASM_END_FILE): Include langhooks.h.
	(rs6000_output_function_epilogue): Update.
objc:
	* objc-act.c (LANG_HOOKS_NAME): Override.
	(struct lang_hooks): Constify.
	(objc_init_options): Update.
	(lang_identify): Remove.

Fri Nov  9 00:25:18 EST 2001  John Wehle  (john@feith.com)

	* fold-const.c (lshift_double): Honor PREC.
	(rshift_double): Likewise.

2001-11-08  Kazu Hirata  <kazu@hxi.com>

	* config/1750a/1750a.c: Fix comment formatting.
	* config/1750a/1750a.h: Likewise.

2001-11-08  Phil Edwards  <pedwards@disaster.jaj.com>

	* configure.in (--enable-languages): Be more permissive about
	syntax.  Check for empty lists better.  Warn about $LANGUAGES.
	* configure: Regenerated.

2001-11-08  Richard Henderson  <rth@redhat.com>

	* dwarf2asm.c (dw2_force_const_mem): Fix typo.

2001-11-08  Geoffrey Keating  <geoffk@redhat.com>

	* config.gcc: Rename stormy16 to xstormy16.
	* config/stormy16/stormy-abi: Likewise.
	* config/stormy16/stormy16-protos.h: Likewise.
	* config/stormy16/stormy16.c: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/stormy16/stormy16.md: Likewise.

2001-11-06  Geoffrey Keating  <geoffk@redhat.com>

	* tree.h (TYPE_VOLATILE): Add enable-checking code.
	(TYPE_READONLY): Likewise.

Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* reload1.c (reload): Don't delete equiv insn if can throw.

	* expr.c (emit_block_move): If X is readonly emit CLOBBER for it.
	(clear_storage): Likewise, for OBJECT.

Thu Nov  8 16:23:51 2001  Jeffrey A Law  (law@cygnus.com)

	* pa.c (emit_move_sequence): Fix SUBREG expression to
	use proper byte offset when extending a constant from
	SImode to DImode.

2001-11-09  Jakub Jelinek  <jakub@redhat.com>

	* cfgrtl.c (purge_dead_edges): Remove REG_EH_REGION note for insns
	which cannot throw.

Thu Nov  8 18:00:55 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* explow.c (convert_memory_address, case SUBREG): Only return
	inner object if SUBREG_PROMOTED_VAR_P or known to be pointer.

2001-11-08  Richard Henderson  <rth@redhat.com>

	* Makefile.in (GCC_FOR_TARGET): Add build_tooldir/sys-include.
	(CROSS_SYSTEM_HEADER_DIR): Use build_tooldir not tooldir.
	(ORDINARY_FLAGS_TO_PASS, stmp-fixinc): Likewise.

2001-11-08  Aldy Hernandez  <aldyh@redhat.com>

        * config/rs6000/rs6000.h (ASM_CPU_SPEC): Add -maltivec.

2001-11-08  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2out.c (debug_str_hash): New.
	(struct indirect_string_node): New.
	(struct dw_val_struct): Change type of val_str to it.
	(DEBUG_STR_SECTION_FLAGS): Define.
	(add_AT_string): Push string into hashtable, increment reference
	counter.
	(AT_string): Return string from ht_identifier.
	(AT_string_form): New.
	(free_AT): For dw_val_class_str, just decrement reference counter.
	(size_of_string): Remove.
	(size_of_die): Use AT_string_form to decide what size the string
	occupies in DIE.
	(size_of_pubnames): Use strlen instead of size_of_string.
	(value_format): Use AT_string_form for dw_val_class_str.
	(output_die): Output DW_FORM_strp strings using
	dw2_asm_output_offset.
	(indirect_string_alloc, output_indirect_string): New.
	(dwarf2out_finish): Emit .debug_str strings if there are any.

2001-11-08  Andreas Franck  <afranck@gmx.de>

	* configure.in: Add AC_ARG_PROGRAM to support program name
	transformation with --program-prefix, --program-suffix and
	--program-transform-name.
	* configure: Regenerated.
	* Makefile.in (GCC_INSTALL_NAME, CPP_INSTALL_NAME,
	PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
	GCCBUG_INSTALL_NAME, GCC_CROSS_NAME, CPP_CROSS_NAME,
	PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): Handle
	program_transform_name the way suggested by autoconf.
	(GCC_TARGET_INSTALL_NAME): Define.
	(install-driver): Use the transformed target alias name.

2001-11-08  Richard Henderson  <rth@redhat.com>

	* config/mips/mips.c (save_restore_insns): Remove GP from the
	restore registers mask early instead of special casing it inside
	the loop.

2001-11-08  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cp/decl.c (shadow_warning): New function.
	(pushdecl): Improve -Wshadow warnings.  Don't give both a warning
	and an error when a block scope decl shadows a parameter.

2001-11-08  Richard Henderson  <rth@redhat.com>

	* config/fp-bit.h (usi_to_float): Define for US_SOFTWARE_GOFAST
	case as well.

2001-11-08  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.md (negdf2, negsf2): Use multiplication rather than subtraction
	to implement floating negation on processors prior to PA 2.0.

2001-11-08  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2asm.c (mark_indirect_pool_entry, mark_indirect_pool): New.
	(USE_LINKONCE_INDIRECT): Define.
	(dw2_output_indirect_constant_1): Try to output indirect constants
	into linkonce sections if possible.
	(dw2_force_const_mem): Likewise.  Register indirect_pool with GGC.
	(dw2_output_indirect_constants): Likewise.

2001-11-07  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.h (REG_ALLOC_ORDER): Add vrsave.

2001-11-07  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-decl.c (pushdecl): Remove file and line.
	* c-typeck.c (pop_init_level): Remove size.

2001-11-07  Aldy Hernandez  <aldyh@redhat.com>

	* doc/invoke.texi: Add -maltivec, -mno-altivec, and -mabi=altivec
	for rs6000.

	* config/rs6000/rs6000.h (MASK_ALTIVEC): New.
	(TARGET_ALTIVEC): New.
	(TARGET_SWITCHES): Add altivec.
	(FIRST_PSEUDO_REGISTER): Change to 109.
	(CALL_USED_REGISTERS): Same.
	(FIRST_ALTIVEC_REGNO): New.
	(LAST_ALTIVEC_REGNO): New.
	(ALTIVEC_REGNO_P): New.
	(UNITS_PER_ALTIVEC_WORD): New.
	(ALTIVEC_VECTOR_MODE): New.
	(FIXED_REGISTERS): Add altivec registers.
	(REG_ALLOC_ORDER): Same.
	(HARD_REGNO_NREGS): Adjust for altivec registers.
	(HARD_REGNO_MODE_OK): Same.
	(MODES_TIEABLE_P): Same.
	(REGISTER_MOVE_COST): Same.
	(REGNO_REG_CLASS): Same.
	(reg_class): Add ALTIVEC_REGS.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REG_CLASS_FROM_LETTER): Add 'v' constraint for ALTIVEC_REGS.
	(ALTIVEC_ARG_RETURN): New.
	(FUNCTION_VALUE): Handle VECTOR_TYPE.
	(LIBCALL_VALUE): Handle altivec vector modes.
	(VECTOR_MODE_SUPPORTED_P): New.
	(ALTIVEC_ARG_MIN_REG): New.
	(ALTIVEC_ARG_MAX_REG): New.
	(ALTIVEC_ARG_NUM_REG): New.
	(FUNCTION_VALUE_REGNO_P): Return true for altivec return register.
	(FUNCTION_ARG_REGNO_P): Support passing args in altivec registers.
	(REGISTER_NAMES): Add altivec regs.
	(DEBUG_REGISTER_NAMES): Same.
	(ADDITIONAL_REGISTER_NAMES): Same.
	(rs6000_builtins): New.
	(MD_EXPAND_BUILTIN): New.
	(MD_INIT_BUILTINS): New.
	(LEGITIMATE_OFFSET_ADDRESS_P): This addressing mode is not valid
	for AltiVec instructions.
	(LEGITIMATE_LO_SUM_ADDRESS_P): Same.
	(HARD_REGNO_MODE_OK): Altivec modes can only go in altivec
	registers.
	(SECONDARY_MEMORY_NEEDED): We need memory to copy vector modes.
	(TARGET_SWITCHES): Add no-altivec.
	(DATA_ALIGNMENT): Align vectors to 128 bits.
	(TARGET_OPTIONS): Add abi= option.
	Add rs6000_abi_string extern.
	(LOCAL_ALIGNMENT): New.
	(CPP_CPU_SPEC): Define __ALTIVEC__ when -maltivec.
	(MASK_ALTIVEC_ABI): New.
	(TARGET_ALTIVEC_ABI): New.
	(CONDITIONAL_REGISTER_USAGE): Set first 20 AltiVec registers to
	call-saved.
	(STACK_BOUNDARY): Adjust for altivec.
	(BIGGEST_ALIGNMENT): Same.
	(rs6000_args): Add vregno.
	(USE_ALTIVEC_FOR_ARG_P): New.
	(FIXED_REGISTERS): Add vrsave register.
	(CALL_USED_REGISTERS): Same.
	(CONDITIONAL_REGISTER_USAGE): Set VRSAVE info.
	(VRSAVE_REGNO): New.
	(reg_class): Add VRSAVE_REGS.
	(REG_CLASS_NAMES): Same.
	(REG_CLASS_CONTENTS): Same.
	(REGNO_REG_CLASS): Same.
	
	* config/rs6000/sysv4.h (STACK_BOUNDARY): Adjust for altivec.
	(ABI_STACK_BOUNDARY): Same.
	(BIGGEST_ALIGNMENT): Same.
	(ADJUST_FIELD_ALIGN): Remove undef.  Define anew.
	(ROUND_TYPE_ALIGN): Same.
	
	* config/rs6000/aix.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
	to 64.

	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
	to 64.

	* config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Change BIGGEST_ALIGNMENT
	to 64.

	* config/rs6000/rs6000.c (rs6000_expand_builtin): New.
	(altivec_expand_builtin): New.
	(altivec_init_builtins): New.
	(TARGET_EXPAND_BUILTIN): New.
	(TARGET_INIT_BUILTINS): New.
	(rs6000_init_builtins): New.
	(struct builtin_description): New.
	(bdesc_2arg): New.
	(rs6000_reg_names): Add altivec registers.
	(alt_reg_names): Same.
	(secondary_reload_class): Altivec regs can hold altivec regs and
	memory.
	(rs6000_emit_move): Force constants into memory for AltiVec moves.
	(print_operand): Add 'y' case for printing altivec memory
	operands.
	(rs6000_legitimize_address): Legitimize vector addresses into
	[REG+REG] or [REG].
	(altivec_expand_binop_builtin): New.
	New string rs6000_current_abi.
	(rs6000_override_options): Call rs6000_parse_abi_options.
	(rs6000_parse_abi_options): New.
	(function_arg_boundary): Vector arguments must be 16
	byte aligned.
	(function_arg_advance): Handle vector arguments.
	(function_arg_partial_nregs): Same.
	(init_cumulative_args): Same.
	(function_arg): Same.

	* config/rs6000/rs6000.md (altivec_lvx): New.
	(type): Add altivec attribute.
	(movv4si): New.
	(*movv4si_internal): New.
	(movv16qi): New.
	(*movv16qi_internal): New.
	(movv8hi): New.
	(*movv8hi_internal1): New.
	(movv4sf): New.
	(*movv4sf_internal1): New.
	(altivec_stvx): New.
	(vaddubm): New.
	(vadduhm): New.
	(vadduwm): New.
	(vaddfp): New.
	(vaddcuw): New.
	(vaddubs): New.
	(vaddsbs): New.
	(vadduhs): New.
	(vaddshs): New.
	(vadduws): New.
	(vaddsws): New.
	(vand): New.
	(vandc): New.
	(vavgub): New.
	(vavgsb): New.
	(vavguh): New.
	(vavgsh): New.
	(vavguw): New.
	(vavgsw): New.
	(vcmpbfp): New.
	(vcmpequb): New.
	(vcmpequh): New.
	(vcmpequw): New.
	(vcmpeqfp): New.
	(vcmpgefp): New.
	(vcmpgtub): New.
	(vcmpgtsb): New.
	(vcmpgtuh): New.
	(vcmpgtsh): New.
	(vcmpgtuw): New.
	(vcmpgtsw): New.
	(vcmpgtfp): New.
	(vcmpgefp): New.
	(vcmpgtub): New.
	(vcmpgtsb): New.
	(vcmpgtuh): New.
	(vcmpgtsh): New.
	(vcmpgtuw): New.
	(vcmpgtsw): New.
	(vcmpgtfp): New.
	(vmaxub): New.
	(vmaxsb): New.
	(vmaxuh): New.
	(vmaxsh): New.
	(vmaxuw): New.
	(vmaxsw): New.
	(vmaxfp): New.
	(vmrghb): New.
	(vmrghh): New.
	(vmrghw): New.
	(vmrglb): New.
	(vmrglh): New.
	(vmrglw): New.
	(vminub): New.
	(vminsb): New.
	(vminuh): New.
	(vminsh): New.
	(vminuw): New.
	(vminsw): New.
	(vminfp): New.
	(vmuleub): New.
	(vmulesb): New.
	(vmuleuh): New.
	(vmulesh): New.
	(vmuloub): New.
	(vmulosb): New.
	(vmulouh): New.
	(vmulosh): New.
	(vnor): New.
	(vor): New.
	(vpkuhum): New.
	(vpkuwum): New.
	(vpkpx): New.
	(vpkuhss): New.
	(vpkshss): New.
	(vpkuwss): New.
	(vpkswss): New.
	(vpkuhus): New.
	(vpkshus): New.
	(vpkuwus): New.
	(vpkswus): New.
	(vrlb): New.
	(vrlh): New.
	(vrlw): New.
	(vslb): New.
	(vslh): New.
	(vslw): New.
	(vsl): New.
	(vslo): New.
	(vsrb): New.
	(vrsh): New.
	(vrsw): New.
	(vsrab): New.
	(vsrah): New.
	(vsraw): New.
	(vsr): New.
	(vsro): New.
	(vsububm): New.
	(vsubuhm): New.
	(vsubuwm): New.
	(vsubfp): New.
	(vsubcuw): New.
	(vsububs): New.
	(vsubsbs): New.
	(vsubuhs): New.
	(vsubshs): New.
	(vsubuws): New.
	(vsubsws): New.
	(vsum4ubs): New.
	(vsum4sbs): New.
	(vsum4shs): New.
	(vsum2sws): New.
	(vsumsws): New.
	(vxor): New.

2001-11-07  Daniel Berlin  <dan@cgsoftware.com>

        * Makefile.in (df.o): Add fibheap.h to dependencies.
       
        * df.h: Add prototypes for transfer functions, iterative_dataflow
        functions.
        (enum df_flow_dir): New enum.
        (enum df_confluence_op): New enum.
        (struct df): Add inverse_rts_map.

        * df.c: Add sbitmap.h to the list of includes.
        (df_rd_global_compute): Removed.
        (df_ru_global_compute): Removed.
        (df_lr_global_compute): Removed.
        (df_rd_transfer_function): New function.
        (df_ru_transfer_function): New function.
        (df_lr_transfer_function): New function.
        (df_analyse_1): allocate/compute/free df->inverse_rts_map.
        Use iterative_dataflow_bitmap instead of df_*_global_compute.
        (iterative_dataflow_sbitmap): New function.
        (iterative_dataflow_bitmap): New function.

2001-11-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi: Move terminology and spelling conventions to
	htdocs/codingconventions.html.

2001-11-07  Graham Stott  <grahams@redhat.com>

	* cse.c (cse_insn): Emit BARRIER after unconditional jump.

Wed Nov  7 13:33:34 CET 2001  Jan Hubicka  <jh@suse.cz>

	* expmed.c (expand_mult): Force operand to register before computing
	cost.
	* i386.c (x86_decompose_lea): New global vairable.
	* i386.h (x86_decompose_lea): Declare.
	(TARGET_DECOMPOSE_LEA): New macro.
	(RTX_COST): Handle leas properly.

2001-11-06  Richard Henderson  <rth@redhat.com>

	* config/alpha/elf.h (DO_SELECT_SECTION): TREE_READONLY is not
	defined for a CONSTRUCTOR; don't check it.

2001-11-06  Danny Smith  <dannysmith@users.sourceforge.net>

	* gcov.c (output_data): Use IS_ABSOLUTE_PATHNAME to
	test for absolute pathnames.

2001-11-06  Olivier Hainque <hainque@act-europe.fr>

	* unwind-dw2.c (execute_cfa_program): Evaluate call frame
	instructions up to the target pc inclusive.

2001-11-06  Steve Christiansen  <smc@us.ibm.com>

	* loop.c (loop_regs_scan):  Don't invalidate PIC register.

2001-11-06  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.md(movdf_internal2): Add constraints for float
	to general register move.
	* config/mips/elf64.h: Add default ABI.

2001-11-06  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* alias.c:: Include langhooks.h.
	* emit-rtl.c: Similarly.
	* toplev.c: Similarly.
	* tree-inline.c: Similarly.
	* langhooks-def.h: New, the old langhooks.h.  Give the default
	hooks a common prefix.
	* langhooks.h: Contents extracted from toplev.h.
	* toplev.h: Move langhook stuff to langhooks.h.
	* langhooks.c: Give default hooks a common prefix.

	* c-lang.c: Include langhooks-def.h.
	* objc/objc-act.c: Similarly.
	* Makefile.in: Update.
	* objc/Make-lang.in: Update.

2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/install.texi: Document that configure options not listed in
	this file are unsupported.  Document --with-system-zlib.

Tue Nov  6 09:21:34 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* rtl.h (mem_for_const_double): New declaration.
	* varasm.c (mem_for_const_double): New function.
	* config/convex/convex.md (movdf): Use it.
	* config/m68k/hp320.h (LEGITIMATE_PIC_OPERAND_P): Likewise.
	* config/m68k/linux.h, config/m68k/m68k.h: Likewise.
	* config/m68k/m68kv4.h: Likewise.

	* config/alpha/alpha.h (SECONDARY_MEMORY_NEEDED): Adjust for addition
	of new GP reg classes.

	* expr.c (store_field): When making temp object for unaligned
	component, set it to alias set 0.

2001-11-06  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-common.c (c_expand_expr_stmt): Apply default conversions to
	non-lvalue arrays if C99.
	* c-typeck.c (default_conversion): Split out code handling
	array-to-pointer and function-to-pointer conversions into a
	separate default_function_array_conversion function.
	(default_function_array_conversion): New function.  Keep track of
	whether any NON_LVALUE_EXPRs were stripped.  Return non-lvalue
	arrays unchanged outside C99 mode instead of giving an error for
	them.
	(build_component_ref): Use pedantic_non_lvalue when handling
	COMPOUND_EXPR.  Don't handle COND_EXPR specially.
	(convert_arguments): Use default_function_array_conversion.
	(build_unary_op): For ADDR_EXPR, take a flag indicating whether
	non-lvalues are OK.
	(unary_complex_lvalue): Likewise.
	(internal_build_compound_expr): Use
	default_function_array_conversion.  Apply default conversions to
	function in compound expression.
	(build_c_cast, build_modify_expr, digest_init, build_asm_stmt):
	Use default_function_array_conversion.
	* doc/extend.texi: Update documentation of subscripting non-lvalue
	arrays.
	Fixes PR c/461.

2001-11-05  Zack Weinberg  <zack@codesourcery.com>

	* aclocal.m4: (AM_WITH_NLS): Don't look at ALL_LINGUAS.
	(AM_GNU_GETTEXT): Set CATALOGS to a list of .gmo files
	corresponding to the complete set of .po and .gmo files in
	the source directory's po subdir, modified by LINGUAS.  Don't
	look at ALL_LINGUAS.
	* configure.in: Don't set ALL_LINGUAS.
	* configure: Regenerate.

	* Makefile.in (.po.gmo): Don't move into source directory.
	(.po.pox): Clarify comments.
	(install-po): Look for .gmo files in both srcdir and objdir;
	don't fail if a file is totally missing.
	(distclean): rmdir ada subdirectory too.

2001-11-05  Geoffrey Keating  <geoffk@redhat.com>

	* config/rs6000/rs6000.c (rs6000_select_section): Handle
	CONSTRUCTORs _correctly_.

2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* c-decl.c (delete_block): Remove.
	* c-tree.h (delete_block): Remove.

2001-11-05  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* cppexp.c (lex, parse_defined): Update warning about defined.

2001-11-05  Geoffrey Keating  <geoffk@redhat.com>

	* config/rs6000/rs6000.c (rs6000_select_section): Handle
	CONSTRUCTORs too.

2001-11-05  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_return_in_memory): Cope with
	int_size_in_bytes returning -1.

	* config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Handle
	DECL being NULL.

Mon Nov  5 16:15:25 CET 2001  Jan Hubicka  <jh@suse.cz>

	* Makefile.in (bb-reoder.o): Add dependency on cfglayout.h;
	remove unneeded dependencies;
	(cfglayout.o): New.
	* cfglayout.c, cfglayout.h: New files; break out from ...
	* bb-reorder.c: ... here; Remove unneeded includes;

2001-11-04  Alan Modra  <amodra@bigpond.net.au>

	* config/rs6000/rs6000.md (load_toc_aix_{si,di}): Mark r2 as used.

2001-11-04  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.c (rs6000_emit_move): Handle 64-bit
	mode as well.  Do not explicitly create intermediate regs.

2001-11-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* arm/aof.h (aof_text_section, aof_data_section): Don't declare.
	(common_section): Delete unused variable.
	(ASM_OUTPUT_ASCII): Fix signed/unsigned warnings.
	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.
	* arm-protos.h (arm_poke_function_name, aof_add_import,
	aof_delete_import): Const-ify.
	* arm.c (legitimize_pic_address): Wrap variables in the macro
	controlling their usage.
	(arm_finalize_pic): Mark variable with ATTRIBUTE_UNUSED.
	(arm_poke_function_name, pic_chain, import, aof_add_import,
	aof_delete_import): Const-ify.
	* i386.c (ix86_osf_output_function_prologue): Const-ify.
	* i386/sysv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE,
	ASM_OUTPUT_LONG_DOUBLE): Fix format specifier warnings.
	* i860/fx2800.h (DBX_OUTPUT_STANDARD_TYPES): Const-ify.
	* i860/sysv3.h: Add missing comment closure.
	* m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Add missing semi-colon.
	* m88k/dgux.h (SELECT_RTX_SECTION): Add missing argument in call
	to symbolic_operand.

	* config.gcc (m680[02]0-*-*): Rename case from m68000-*-*.
	(i960-*-*): Set tmake_file.
	(sparc86x-*-elf*): Fix typo in header name.

	* sched-rgn.c (schedule_insns): Delete unused variable.

2001-11-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	PR c/2820
	* c-typeck.c (lookup_field): Rework to return a chain down to
	the looked-up field.
	(build_component_ref): Use the new lookup_field to handle
	nested anonymous entities correctly.

Sun Nov  4 11:53:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/sparc/sparc.c (sparc_emit_set_const32, GEN_HIGHINT64):
	Change parameters to gen_rtx_CONST_DOUBLE.
	(GEN_INT64, sparc_emit_set_const64): Likewise.
	* config/sparc/sparc.md (movdf split): Likewise.

2001-11-03  Geoffrey Keating  <geoffk@redhat.com>

	* unroll.c (calculate_giv_inc): Use find_last_value rather
	than just hoping the last instruction is the right SET.
	[Fixes 990604-1.c on stormy16.]

	* config/stormy16/stormy16.h (LIB_SPEC): Don't supply any libgloss
	library at all if -T is used.

	* config/stormy16/stormy16.c (stormy16_print_operand): Avoid
	some uses of uninitialized variables in error cases.

	* config/stormy16/stormy16.c (stormy16_output_shift): Don't
	look at 'temp' if we won't be using it.

	* config/stormy16/stormy16.h (CONST_COSTS): Define.
	(RTX_COSTS): Define.
	(ADDRESS_COST): Define.
	(MEMORY_MOVE_COST): Allow for memory_move_secondary_cost.

	* config/stormy16/stormy16.h (ASM_SPEC): Pass -g to the assembler.

	* config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Call
	stormy16_asm_output_mi_thunk.
	* config/stormy16/stormy16.c (stormy16_asm_output_mi_thunk): New
	function.
	* config/stormy16/stormy16-protos.h
	(stormy16_asm_output_mi_thunk): New prototype.

2001-11-04  Joseph S. Myers  <jsm28@cam.ac.uk>

	* ChangeLog.2, ChangeLog.4, ChangeLog.5, ChangeLog,
	FSFChangeLog.10, FSFChangeLog.11, alias.c, attribs.c,
	caller-save.c, calls.c, cfg.c, cfganal.c, cfgcleanup.c, cfgrtl.c,
	cppmacro.c, fold-const.c, ifcvt.c, local-alloc.c, profile.c,
	sched-int.h, toplev.c, config/alpha/alpha.c,
	config/alpha/alpha.md, config/c4x/c4x.h, config/cris/cris.h,
	config/cris/cris.md, config/i370/i370.md, config/i386/i386.c,
	config/i386/i386.h, config/i386/i386.md, config/i386/xm-djgpp.h,
	config/ia64/ia64.c, config/m68hc11/m68hc11.c, config/m68k/m68k.md,
	config/mcore/mcore.h, config/mmix/mmix.c, config/ns32k/ns32k.h,
	config/ns32k/ns32k.md, config/rs6000/rs6000.c,
	config/rs6000/sysv4.h, config/sh/sh.md: Fix spelling errors.

2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (dbxout.o): Depend on function.h.
	* collect2.c (is_in_list): Hide unused function.
	* dbxout.c: Include function.h.
	(source_label_number, dbxout_source_line, dbxout_source_file,
	dbxout_function_end, dbxout_begin_function): Wrap/move inside
	macros controlling usage.
	* gcc.c (TARGET_EXECUTABLE_SUFFIX): Undef before defining.
	* output.h (exports_section): Prototype.

	* convex.c (convex_output_function_prologue): Fix format specifier
	warning.
	(asm_declare_function_name): Fix signed/unsigned warning.
	(print_operand): Fix format specifier warning.
	* convex.h (S_REGNO_P, A_REGNO_P): Fix signed/unsigned warning.
	* dsp16xx-protos.h (uns_comparison_operator,
	num_1600_core_shifts): Prototype.
	* dsp16xx.c: Include tm_p.h, not dsp16xx-protos.h.
	(frame_size, frame_pointer_offset): Delete.
	(dsp16xx_output_function_prologue, dsp16xx_output_function_epilogue):
	Make static.  Fix format specifier warnings.
	* dsp16xx.h (IS_ACCUM_REG): Fix unsigned>=0 warning.
	(EXTRA_SECTION_FUNCTIONS): Prototype const_section.
	* dsp16xx.md: Add default case in switches.
	* fr30.h (IN_RANGE): Delete.
	* ia64.h (ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
	* mcore-protos.h (mcore_output_cmov): Const-ify.
	* mcore.c (mcore_output_cmov): Likewise.
	* mcore.h (switch_to_section): Make static and prototype.
	* mn10200.h (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Fix
	unsigned>=0 warnings.
	* mn10300.h (REGNO_IN_RANGE_P): Likewise.
	* rs6000-protos.h (read_only_data_section,
	read_only_private_data_section): Prototype.
	* rs6000.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
	* sh.c (sh_adjust_cost): Mark parameter with ATTRIBUTE_UNUSED.
	* sh.h (GENERAL_REGISTER_P): Fix unsigned>=0 warning.

2001-11-03  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* dwarf2asm.c (dw2_asm_output_pcrel): Mark parameters with
	ATTRIBUTE_UNUSED.
	* final.c (final_scan_insn): Add brackets around body of if-stmt.
	* gcc.c (convert_filename): Add static prototype.  Const-ify.
	Wrap variable in macros controlling its use.
	* output.h (sdata_section): Add prototype.

	* 1750a.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
	(ASM_OUTPUT_ASCII): Avoid signed/unsigned warning.
	* c4x.h (INIT_SECTION_FUNCTION): Add prototype.
	(ASM_FILE_START): Const-ify.
	(ASM_OUTPUT_BYTE_FLOAT, ASM_OUTPUT_SHORT_FLOAT): Fix format
	specifier warning.
	* c4x.md: Don't use the 'U' integer suffix.
	* clipper.md (clipper_movstr): Delete declaration.
	* d30v-protos.h (d30v_move_2words): Const-ify.
	(debug_stack_info): Add prototype.
	* d30v.c: Include "integrate.h".
	(d30v_function_arg_boundary, d30v_function_arg,
	d30v_function_arg_partial_nregs, d30v_function_arg_advance): Avoid
	signed/unsigned warnings.
	(d30v_print_operand_memory_reference, d30v_move_2words):
	Const-ify.
	* d30v.h (REG_CLASS_FROM_LETTER): Use unsigned array subscript.
	* fr30.c (fr30_pass_by_reference, fr30_pass_by_value): Prototype.
	* fr30.md: Const-ify.
	* h8300.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
	* i370.c (i370_label_scan, mvs_get_label): Make definition static.
	(mvs_get_label_page): Hide unused static function.
	* i860.c (current_function_original_name): Const-ify.
	* i860/sysv3.h (current_function_original_name): Likewise.
	* i860/sysv4.h (current_function_original_name): Likewise.
	* i960.md: Add default case in switches.  Remove unused variable.
	* i960/vx960-coff.h (MULTILIB_DEFAULTS): Undef before defining.
	* m32r.md: Const-ify.
	* m68hc11-protos.h (m68hc11_asm_file_start): Const-ify.
	* m68hc11.c: Include "reload.h".
	(static_chain_reg, print_options, m68hc11_asm_file_start):
	Const-ify.
	* m68hc11.md: Delete unused variable.  Const-ify.  Add parens
	around & in comparison.
	* mcore.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
	* mn10200.c (shift_mode): Remove trailing comma.
	* mn10300-protos.h (output_tst): Const-ify.
	* mn10300.c (output_tst): Likewise.
	* pa/long_double.h (ASM_OUTPUT_LONG_DOUBLE): Fix format specifier
	warnings.
	* pa-protos.h (output_ascii): Use regular char *, not unsigned.
	* pa.c (output_ascii): Likewise.
	* pa/som.h (EXTRA_SECTION_FUNCTIONS): Add prototype.
	* pdp11.md (expand_unop): Delete declarations.
	* pj-protos.h (pj_output_addsi3): Const-ify.
	* pj.c (pj_output_push_int, pj_output_load, pj_output_inc,
	pj_output_cnv_op, mode_to_char, pj_output_varidx, pj_print_cond,
	unique_src_operand): Add prototypes.
	(pj_output_store_into_lval): Make definition static.
	(pj_function_incoming_arg): Don't use unary plus.
	(pj_output_addsi3): Const-ify.
	* romp.md (get_symref): Delete declarations.
	* v850-c.c (mark_current_function_as_interrupt): Don't return
	value from void function.
	* v850.c: Include "integrate.h".
	* v850.h (ASM_OUTPUT_LABELREF): Const-ify.
	* vax-protos.h (const_section): Add prototype.

2001-11-03  Aldy Hernandez  <aldyh@redhat.com>

	* machmode.def: Add documentation for the seventh argument in
	vector modes.

2001-11-04  Hans-Peter Nilsson  <hp@bitrange.com>

	* doc/invoke.texi (MMIX Options) <-mno-knuthdiv>: Say remainder
	consistently.
	<-mno-toplevel-symbols>: Change @code{:} to @samp{:}.
	<-melf>: Don't have markup for ELF acronym.

2001-11-03  Hans-Peter Nilsson  <hp@bitrange.com>

	* config.gcc (mmix-*-*): New target.
	* doc/invoke.texi: Document MMIX options.
	* doc/contrib.texi: Add note about MMIX port to my entry.
	* config/mmix/t-mmix: New file.
	* config/mmix/mmix.h: New file.
	* config/mmix/mmix-protos.h: New file.
	* config/mmix/mmix.c: New file.
	* config/mmix/mmix.md: New file.
	* config/mmix/crti.asm: New file.
	* config/mmix/crtn.asm: New file.

2001-11-03  Kazu Hirata  <kazu@hxi.com>

	* config/sparc/linux-aout.h: Fix comment formatting.
	* config/sparc/linux.h: Likewise.
	* config/sparc/linux64.h: Likewise.
	* config/sparc/lynx.h: Likewise.
	* config/sparc/pbd.h: Likewise.
	* config/sparc/sol2-sld-64.h: Likewise.
	* config/sparc/sol2.h: Likewise.
	* config/sparc/sparc.c: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sparc.md: Likewise.
	* config/sparc/sunos4.h: Likewise.
	* config/sparc/vxsim.h: Likewise.
	* config/sparc/vxsparc.h: Likewise.
	* config/sparc/vxsparc64.h: Likewise.

Sat Nov  3 10:37:56 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* cselib.c (cselib_subst_to_values, case CONST_DOUBLE): Remove
 	reference to CONST_DOUBLE_MEM in comment.
	* emit-rtl.c (gen_rtx_CONST_DOUBLE): Remove one operand.
	(gen_rtx, case CONST_DOUBLE): Call it with one less operand.
	(init_emit_once): Don't clear CONST_DOUBLE_MEM.
	* function.c (pop_function_context_from): Don't call
	restore_varasm_status.
	* function.h (restore_varasm_status): Delete declaration.
	* gengenrtl.c (CONST_DOUBLE_FORMAT): Delete CONST_DOUBLE_MEM slot.
	* rtl.c: Likewise.
	* rtl.def (CONST_DOUBLE): Update comment.
	* rtl.h (CONST_DOUBLE_HIGH, CONST_DOUBLE_LOW): Update operand number.
	(CONST_DOUBLE_CHAIN): Likewise.
	(CONST_DOUBLE_MEM): Delete.
	(gen_rtx_CONST_DOUBLE): Update parameters.
	* varasm.c (struct varasm_status): x_pool_offset now HOST_WIDE_INT.
	Remove reference to CONST_DOUBLE_MEM.
	(const_alias_set): New variable.
	(immed_double_const): Change call to gen_rtx_CONST_DOUBLE.
	(immed_real_const_1): Adjust tests for 0, 1, and 2.
	Don't set CONST_DOUBLE_MEM.
	(clear_const_double_mem): Don't do anything with const_tiny_rtx.
	(output_constant_def): Don't look at TREE_CST_RTL if INTEGER_CST.
	Put constant in const_alias_set.
	(struct pool_constant): ALIGN now unsigned.
	OFFSET now HOST_WIDE_INT.
	Delete LABEL.
	(restore_varasm_status): Deleted.
	(mark_pool_constant): Mark desc->rtl.
	(force_const_mem): Rework to store rtl in hash table,
	not CONST_DOUBLE_MEM.
	Put constant in const_alias_set.
	(find_pool_constant): Check desc->rtl.
	(mark_constants, mark_constant): Don't special-case CONST_DOUBLE.
	(init_varasm_once): Initialize const_alias_set.

	* expr.c (expand_expr, case ADDDR_EXPR): If at top level, don't call
	force_const_mem.

	* reload.c (combine_reloads): Don't combine an output reload if there
	are other reloads around for part of the output.

	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGINGP_P if T is a
	constant expression.
	(set_mem_decl): New function.
	* expr.h (set_mem_decl): New declaration.
	* final.c (get_decl_from_op): Don't use ORIGINAL_REGNO if not pseudo.
	(output_asm_operand_names): Add tab.
	* reload1.c (alter_reg): Set decl of MEM from REG_DECL.

	* builtins.c (get_memory_rtx): Properly set MEM alias set and
	attributes.

2001-11-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/extend.texi, doc/gcc.texi, doc/install.texi, doc/tm.texi:
	Use "invalid" instead of "illegal".  Use @r in comments in
	examples.

2001-11-02  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-decl.c (pushdecl): Move block inside if conditional to remove
	possibility of a segfault.  Lookup block-level extern
	variables in enclosing scopes correctly.

	* testsuite/gcc.c-torture/compile/20001018-1.x: Remove XFAIL.

2001-11-02  Aldy Hernandez  <aldyh@redhat.com>

	* expmed.c (store_bit_field): Use simplify_gen_subreg to make
	SUBREG so we avoid SUBREGing memory.

	* expmed.c (store_bit_field): Same.

2001-11-02  DJ Delorie  <dj@redhat.com>

	* config/rs6000/rs6000.c (rs6000_emit_move): Make sure that
	using FP registers for DImode mem-mem moves is acceptable.

2001-11-02  Aldy Hernandez  <aldyh@redhat.com>

	* builtins.c (apply_args_size): Handle vector arguments.
	(apply_result_size): Same.

	* machmode.def: Set WIDER mode field for all vector entries.

2001-11-02  Graham Stott  <grahams@redhat.com>

	* recog.c (decode_asm_operands):  Check that the SRC is ASM_OPERANDS.

2001-11-01  Eric Christopher  <echristo@redhat.com>

	* config.gcc: Revert part of earlier patch.
	* config/mips/linux.h: Ditto.
	* df.c: Include tm_p.h to avoid warnings.
	* config/mips/mips.h (ABI_GAS_ASM_SPEC): Add defaults.  Adjust
	#if/#endif.
	* config/mips/mips.c: Define mips_abi regardless.
	(mips_output_function_prologues): Add long casts for .frame
	output.
	(override_options): Allow use of ABI_32.

2001-11-01  Kazu Hirata  <kazu@hxi.com>

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

2001-11-01  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-typeck.c (default_conversion): Retain the original expression
	codes.
	* gcc.dg/Wparentheses.c: New tests.

2001-11-01  David S. Miller  <davem@redhat.com>

	* doc/install.texi (Specific, sparc-sun-solaris2*): Bring
	64-bit Sparc description more in line with reality.

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

	* Makefile.in (GCOV_OBJS): Add version.o.
	* gcov.c: Include "version.h" and <getopt.h>.
	(gcov_version_string): Remove.
	(print_usage): Take a parameter to determine whether this is a
	call from --help or an error message.  Give fuller output that
	follows the GNU Coding Standards for --help.
	(print_version): New function.
	(options): New.
	(process_args): Use getopt_long.  Support long options.  Follow
	GNU Coding Standards for --help and --version.
	* doc/gcov.texi: Document long options.
	Addresses part of PR other/704.

2001-11-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (output_move_double): Fix typo in double load.

2001-11-01  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (h8300_encode_label): Compute a string
	before passing it to ggc_alloc_string.

2001-11-01  Kazu Hirata  <kazu@hxi.com>

	* config/m68k/3b1.h: Fix comment formatting.
	* config/m68k/3b1g.h: Likewise.
	* config/m68k/a-ux.h: Likewise.
	* config/m68k/amix.h: Likewise.
	* config/m68k/apollo68.h: Likewise.
	* config/m68k/atari.h: Likewise.
	* config/m68k/aux-exit.c: Likewise.
	* config/m68k/ccur-GAS.h: Likewise.
	* config/m68k/crds.h: Likewise.
	* config/m68k/dpx2.h: Likewise.
	* config/m68k/dpx2g.h: Likewise.
	* config/m68k/hp310.h: Likewise.
	* config/m68k/hp320.h: Likewise.
	* config/m68k/isi.h: Likewise.
	* config/m68k/linux.h: Likewise.
	* config/m68k/lynx.h: Likewise.
	* config/m68k/m68k-psos.h: Likewise.
	* config/m68k/m68k.c: Likewise.
	* config/m68k/m68k.h: Likewise.
	* config/m68k/m68k.md: Likewise.
	* config/m68k/m68kelf.h: Likewise.
	* config/m68k/m68kv4.h: Likewise.
	* config/m68k/mot3300.h: Likewise.
	* config/m68k/news.h: Likewise.
	* config/m68k/next.h: Likewise.
	* config/m68k/pbb.h: Likewise.
	* config/m68k/plexus.h: Likewise.
	* config/m68k/sgs.h: Likewise.
	* config/m68k/sun3.h: Likewise.
	* config/m68k/tower.h: Likewise.
	* config/m68k/vxm68k.h: Likewise.

2001-10-31  DJ Delorie  <dj@redhat.com>

	* config/mips/mips.h (mips_cache_flush_func): Prototype.
	(TARGET_OPTIONS): Support -mflush-func= and -mno-flush-func.
	(INITIALIZE_TRAMPOLINE): Use mips_cache_flush_func if nonzero.
	* config/mips/mips.c (mips_cache_flush_func): New.
	* doc/invoke.texi: Document the new options.

2001-10-31  Hans-Peter Nilsson  <hp@axis.com>

	* config.gcc (cris-*-linux*, tm_file): Rearrange order.
	* config/cris/linux.h (LIB_SPEC, STARTFILE_SPEC): Don't redefine.

	* config/cris/cris.h (EH_RETURN_DATA_REGNO): Fix formatting.

	* config/cris/cris.c: Include output.h after tree.h but before
	target.h.

2001-10-31  Zack Weinberg  <zack@codesourcery.com>

	* Makefile.in (INTL_TARGETS, POSUB): Delete all references.
	(INTL_SUBDIRS): Just intl.
	(.SUFFIXES): Add .gmo .po .pox.
	(native): Also depend on build-@POSUB@.
	(intl.all, intl.install): Depend on config.h and things it includes.
	(po-generated): New target; depend on c-parse.c and tradcif.c.
	(install-normal): Also depend on install-@POSUB@.
	(XGETTEXT, GMSGFMT, MSGMERGE, PACKAGE, CATALOGS): New variables.
	(build-, install-, build-po, update-po, install-po,
	.po.gmo, .po.pox, $(PACKAGE).pot, po/$(PACKAGE).pot): New rules.

	* aclocal.m4: Prefix each entry in CATALOGS with "po/"
	* configure.in: Don't munge XGETTEXT.  Don't generate
	po/Makefile.in.
	* configure: Regenerate.

	* exgettext: Delete.
	* config/m68k/m68k.h: Add doc strings for -msky and -mnosky.
	* objc/Make-lang.in: Replace $(INTL_TARGETS) with po-generated.

2001-10-31  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (two anonymous patterns): New.

2001-10-31  Aldy Hernandez  <aldyh@redhat.com>

	* tree.h (tree_index): Add support for V16QI and V8HI.
	(V8HI_type_node): New.
	(V16QI_type_node): New.

	* tree.c (build_common_tree_nodes_2): Same.

	* c-common.c (type_for_mode): Same.

2001-10-31  Kazu Hirata  <kazu@hxi.com>

	* config/i386/att.h: Fix comment formatting.
	* config/i386/beos-elf.h: Likewise.
	* config/i386/bsd.h: Likewise.
	* config/i386/bsd386.h: Likewise.
	* config/i386/crtdll.h: Likewise.
	* config/i386/cygwin.asm: Likewise.
	* config/i386/cygwin.h: Likewise.
	* config/i386/djgpp.h: Likewise.
	* config/i386/freebsd-aout.h: Likewise.
	* config/i386/freebsd.h: Likewise.
	* config/i386/gas.h: Likewise.
	* config/i386/i386-interix.h: Likewise.
	* config/i386/i386-protos.h: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i386/i386.h: Likewise.
	* config/i386/i386.md: Likewise.
	* config/i386/i386elf.h: Likewise.
	* config/i386/interix.c: Likewise.
	* config/i386/isc.h: Likewise.
	* config/i386/isccoff.h: Likewise.
	* config/i386/iscdbx.h: Likewise.
	* config/i386/linux.h: Likewise.
	* config/i386/lynx.h: Likewise.
	* config/i386/mingw32.h: Likewise.
	* config/i386/netbsd-elf.h: Likewise.
	* config/i386/next.h: Likewise.
	* config/i386/osf1elf.h: Likewise.
	* config/i386/osfrose.h: Likewise.
	* config/i386/sco5.h: Likewise.
	* config/i386/seq-gas.h: Likewise.
	* config/i386/seq-sysv3.h: Likewise.
	* config/i386/sequent.h: Likewise.
	* config/i386/sol2.h: Likewise.
	* config/i386/sun386.h: Likewise.
	* config/i386/uwin.asm: Likewise.
	* config/i386/uwin.h: Likewise.
	* config/i386/vxi386.h: Likewise.
	* config/i386/win32.h: Likewise.
	* config/i386/winnt.c: Likewise.
	* config/i386/xm-cygwin.h: Likewise.
	* config/i386/xm-mingw32.h: Likewise.

2001-10-31  Kazu Hirata  <kazu@hxi.com>

	* builtins.def: Fix comment typos.
	* config/alpha.c: Likewise.
	* config/arm/arm.c: Likewise.
	* config/avr/avr.h: Likewise.
	* config/d30v/d30v.c: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/d30v/d30v.md: Likewise.
	* config/dsp16xx/dsp16xx.c: Likewise.
	* config/fr30/fr30.c: Likewise.
	* config/fr30/fr30.md: Likewise.
	* config/i386/i386.c: Likewise.
	* config/i860/i860.c: Likewise.
	* config/i960/i960.c: Likewise.
	* config/ia64/ia64.c: Likewise.
	* config/mips/mips.c: Likewise.
	* config/pa/pa.c: Likewise.
	* config/rs6000/rs6000.c: Likewise.
	* config/s390/s390.c: Likewise.
	* config/sparc/sparc.c: Likewise.

2001-10-30  Kazu Hirata  <kazu@hxi.com>

	* config/mips/elf.h: Fix comment formatting.
	* config/mips/elf64.h: Likewise.
	* config/mips/iris5.h: Likewise.
	* config/mips/iris5gas.h: Likewise.
	* config/mips/iris6.h: Likewise.
	* config/mips/isa3264.h: Likewise.
	* config/mips/linux.h: Likewise.
	* config/mips/mips.c: Likewise.
	* config/mips/mips.h: Likewise.
	* config/mips/mips.md: Likewise.
	* config/mips/mips16.S: Likewise.
	* config/mips/netbsd.h: Likewise.
	* config/mips/osfrose.h: Likewise.
	* config/mips/r3900.h: Likewise.
	* config/mips/sni-svr4.h: Likewise.
	* config/mips/svr4-t.h: Likewise.
	* config/mips/ultrix.h: Likewise.

2001-10-30  Daniel Berlin  <dan@cgsoftware.com>

	* bitmap.c (bitmap_element_free): Don't forget to update head->indx
	when we update head->current.

2001-10-30  Neil Booth  <neil@daikokuya.demon.co.uk>

	* tree.c (id_string_size): Remove.
	(dump_tree_statistics): Update.
	* toplev.c (compile_file): If dumping stats, dump tree stats too.

Tue Oct 30 19:00:43 CET 2001  Jan Hubicka  <jh@suse.cz>

	* sched-rgn.c (schedule_insns): Fix comment.

2001-10-30  Zack Weinberg  <zack@codesourcery.com>

	* configure.in: Correct previous change: don't assume that
	gas's version number _isn't_ the last thing on the line, or
	isn't the only number on the line, either.
	* configure: Regenerate.

2001-10-30  Kazu Hirata  <kazu@hxi.com>

	* cfgcleanup.c: Fix a comment typo.

2001-10-30  Kazu Hirata  <kazu@hxi.com>

	* alias.c: Fix comment formatting.
	* recog.c: Likewise.
	* config/cris/cris.c: Likewise.
	* config/cris/cris.h: Likewise.
	* config/i960/i960.c: Likewise.
	* config/i960/i960.h: Likewise.

2001-10-30  Kazu Hirata  <kazu@hxi.com>

	* config/arm/arm.c: Fix a comment typo.
	* config/arm/arm.h: Likewise.
	* config/ia64/ia64.c: Likewise.

2001-10-30  Jakub Jelinek  <jakub@redhat.com>

	* emit-rtl.c (set_unique_reg_note): Don't create REG_EQUAL or
	REG_EQUIV notes for ASM_OPERANDS.  Return the new note (if any).
	* rtl.h (set_unique_reg_note): Change return value.
	* gcse.c (try_replace_reg): Use set_unique_reg_note.
	* cse.c (cse_insn): Likewise.
	* expr.c (emit_move_insn): Likewise.
	* explow.c (force_reg): Likewise.
	* local-alloc (update_equiv_regs): Likewise.
	* loop.c (move_moveables, load_mems): Likewise.
	* reload (find_reloads): Likewise.

2001-10-30  Paolo Bonzini  <bonzini@gnu.org>

	Localization fixes.
	* c-decl.c (parmlist_tags_warning, start_struct,
	check_for_loop_decls): Separate messages for struct, union and
	enum cases to allow for languages in which they have different
	genders.
	* c-format.c (scanf_flag_specs): Separate short and long name of
	the assignment suppression feature.
	(check_format_types): Localize "pointer" and "different types"
	strings.
	* c-lex.c (lex_number): Localize "an unsigned long int" and
	related strings.
	(lex_string) [MULTIBYTE_CHARS]: Use initial lowercase letter on
	warning message.
	* c-typeck.c (build_unary_up): Separate messages for increment and
	decrement cases to allow for languages in which they use different
	articles.  Localize the strings "increment" and "decrement" in one
	case.

Tue Oct 30 11:08:11 CET 2001  Jan Hubicka  <jh@suse.cz>

	* lcm.c (optimize_mode_switching):  Do not rebuild liveness information
	when no changes has been made.

	* gcse.c (reg_set_bitmap): Turn into reg_set.
	(modify_mem_list_set, canon_modify_mem_list_set)
	(clear_modify_mem_tables, free_modify_mem_tables): New.
	(gcse_main); Use free_modify_mem_tables.
	(free_gcse_mem): Likewise; free the bitmaps.
	(alloc_gcse_main): Initialize the bitmaps.
	(canon_list_insert): Set canon_modify_mem_list_set.
	(record_last_mem_set_info): Likewise; set modify_mem_list_set.
	(compute_hash_table): Use clear_modify_mem_tables.
	(reset_opr_set_tables): Likewise.
	(oprs_not_set_p): reg_set_bitmap is regset.
	(mark_set, mark_clobber): Likewise.

	* df.h (DF_EQUIV_NOTES): New constant.
	(df_insn_refs_record): Record uses inside or REG_EQUIV/EQUAL notes
	when asked for.

	* sched-rgn.c (CHECK_DEAD_NOTES): New constant.
	(init_regions, schedule_insns): Conditionalize the checking
	code by CHECK_DEAD_NOTES; avoid multiple calls to update_life_info.

Tue Oct 30 11:02:31 CET 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (movti_rex64 splitter): Fix condition.

2001-10-29  Zack Weinberg  <zack@codesourcery.com>

	* configure.in: Do not assume that gas's version number is the
	last thing on the first line of as --version output.
	* configure: Regenerate.

	* tradcpp.c: Include intl.h.  Rename WARNING, ERROR, FATAL to
	MT_WARNING, MT_ERROR, MT_FATAL.
	(main): Call gcc_init_libintl.
	(v_message): Call gettext on msgid and "warning: "
	* tradcif.y: Include intl.h.
	(yyerror): Make parameter definition consistent with
	prototype.  Call gettext on msgid argument.

2001-10-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* combine.c (num_sign_bit_copies): Avoid signed/unsigned
	warnings.

	* sparc/sol2.h: Include <sys/mman.h> when L_trampoline is defined.

Mon Oct 29 19:22:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* reload1.c (eliminate_regs): Test for reg_renumber being allocated
	before referencing it.

2001-10-26  DJ Delorie  <dj@redhat.com>

	* config/rs6000/sysv4.h (LINK_SPEC): Allow -msdata=none to
	override -G, and force -G0.

2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>

	* ChangeLog.2, ChangeLog.3, ChangeLog.4, FSFChangeLog.10,
	FSFChangeLog.11, c-common.c, c-common.def, c-common.h, c-decl.c,
	c-dump.c, c-typeck.c, except.c, sdbout.c, simplify-rtx.c,
	timevar.h, tree.h, varasm.c: Fix spelling errors and typos.

	* loop.h (struct induction): Rename ext_dependant to
	ext_dependent.
	* loop.c: Change all uses.
	(check_ext_dependant_givs): Rename to check_ext_dependent_givs.
	All callers changed.
	* timevar.c (DEFTIMEVAR): Fix spelling of identifier__ parameter.

2001-10-29  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-parse.in (expr_no_commas, primary), c-typeck.c
	(parser_build_binary_op): Use IS_EXPR_CODE_CLASS.

2001-10-29  David Edelsohn  <edelsohn@gnu.org>

	Undo assemble_name change in earlier patch.

Mon Oct 29 21:11:40 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* objc/objc-act.c (finish_message_expr): For the GNU runtime: when
	determining the type of the receiver, do not check that TREE_CODE
	of receiver is CALL_EXPR before calling receiver_is_class_object().
	(receiver_is_class_object): For the GNU runtime: recognize
	the case that the receiver is self in a class method context.
	Check that TREE_CODE of receiver is CALL_EXPR when checking that
	the receiver is a call to objc_get_class.

2001-10-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.md (floatunssisf2): Set subreg 0 of operand 2 to zero.

Mon Oct 29 07:23:33 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* Makefile.in (OBJS): Put all files in alphabetical order.

	* dwarf2out.c (add_const_value_attribute): Fix error in last
	change.

Mon Oct 29 12:43:06 CET 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (purge_all_dead_edges): Add update_life_p argument.
	* cfgcleanup.c (merge_blocks): Update the life flag after merging;
	fix warning.
	* cfgrtl.c (purge_all_dead_edges): Allow updating of liveness.
	(life_analysis): call purge_all_dead_edges after deleting noops.
	(delete_noop_move): Do not purge CFG.
	* toplev.c (rest_of_compilation): Update purge_all_dead_edges call.

2001-10-28  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
	* config/rs6000/darwin.h (RS6000_OUTPUT_BASENAME): Delete.
	(ASM_GLOBALIZE_LABEL): Use assemble_name.
	(ASM_OUTPUT_COMMON): Likewise.
	* config/rs6000/rs6000.c (print_operand): Use assemble_name.
	(rs6000_output_function_epilogue): Likewise.
	(output_mi_thunk): Fix typo.
	(rs6000_output_symbol_ref): Use assemble_name.
	(output_toc): Likewise.
	* config/rs6000/sysv4.h (RS6000_OUTPUT_BASENAME): Delete.
	* config/rs6000/xcoff.h (RS6000_OUTPUT_BASENAME): Delete;
	assemble_name calls STRIP_NAME_ENCODING.
	(ASM_OUTPUT_LABEL): Use assemble_name.
	(ASM_GLOBALIZE_LABEL): Likewise.
	(ASM_DECLARE_FUNCTION_NAME): Likewise.
	(ASM_OUTPUT_ALIGNED_COMMON): Indent pseudo-op.  Use assemble_name.
	(ASM_OUTPUT_LOCAL): Likewise.

Sun Oct 28 15:45:16 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* builtins.c (get_memory_rtx): Handle POINTERS_EXTEND_UNSIGNED case.
	(expand_builtin_apply, expand_builtin_return): Likewise.
	(expand_builtin_va_arg, expand_builtin_va_copy): Likewise.

2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>

	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
	ChangeLog.5, ChangeLog, FSFChangeLog.10, FSFChangeLog.11,
	c-common.c, c-common.h, c-parse.in, c-typeck.c, cfg.c, config.gcc,
	configure, configure.in, except.c, except.h, flow.c, function.c,
	gcc.c, gcse.c, genrecog.c, libgcc2.c, loop.c, loop.h, params.def,
	predict.def, predict.h, reg-stack.c, regmove.c, sched-deps.c,
	sched-int.h, sibcall.c, ssa.c, stringpool.c, toplev.c, tree.c,
	unroll.c: Fix spelling errors.

	* doc/extend.texi, doc/invoke.texi: Fix spelling.

	* doc/gcc.texi: Document use of "dependent" and American spelling.

Sun Oct 28 17:05:36 CET 2001  Jan Hubicka  <jh@suse.cz>

	* expr.c (emit_group_load): Support CONCATs by storing them to memory
	and reloading.

Sun Oct 28 09:59:54 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expr.c (store_constructor_field): Only call adjust_address on MEM.

Sun Oct 28 16:48:09 CET 2001  Jan Hubicka  <jh@suse.cz>

	* genrecog.c (write_switch):  Output if before switch for
	DT_elt_zero_wide_safe.

2001-10-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (toplev.o, halfpic.o): Depend on halfpic.h
	* i386/osfrose.h (SUBTARGET_SWITCHES): Add missing comma.
	(FUNCTION_PROFILER): Const-ify.
	* halfpic.c: Include "expr.h", "output.h" and "halfpic.h".
	(eliminate_constant_term, assemble_name, output_addr_const):
	Remove declarations.
	(ptr_half_pic_address_p, half_pic_hash): Prototype.
	(all_refs, half_pic_prefix, half_pic_hash, half_pic_declare,
	half_pic_external, half_pic_address_p, half_pic_ptr): Const-ify.
	* halfpic.h (ptr_half_pic_address_p, half_pic_finish): Prototype.
	(half_pic_declare, half_pic_external): Const-ify.
	* toplev.c: Include "halfpic.h".

2001-10-28  Joseph S. Myers  <jsm28@cam.ac.uk>

	* config/alpha/alpha.md, config/arm/arm.c, config/arm/arm.h,
	config/d30v/d30v.h, config/fr30/fr30.c, config/i370/x-oe,
	config/i386/i386.c, config/i386/i386-interix.h,
	config/i386/i386.md, config/i386/i386.h, config/i386/sco5.h,
	config/i860/i860.h, config/i860/i860.md, config/m68k/aux-exit.c,
	config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.md,
	config/ns32k/ns32k.h, config/pa/pa.c, config/rs6000/rs6000.c,
	config/sparc/sparc.c, config/m68hc11/m68hc11.c,
	config/cris/cris.c, config/cris/cris.h, config/s390/s390.c,
	config/s390/s390.h, config/stormy16/stormy16.h, doc/tm.texi: Fix
	spelling errors.

	* ChangeLog.0, ChangeLog.1, ChangeLog.2, ChangeLog.3, ChangeLog.4,
	ChangeLog.5, ChangeLog, ChangeLog.lib, FSFChangeLog.10, ONEWS,
	c-common.c, caller-save.c, cfg.c, cfgcleanup.c, cfgrtl.c,
	collect2.c, df.h, diagnostic.h, final.c, gcse.c, gthr.h,
	haifa-sched.c, jump.c, local-alloc.c, profile.c, protoize.c,
	regmove.c, reload1.c, rtlanal.c, sched-vis.c, ssa.c, stmt.c,
	system.h, toplev.c: Fix spelling errors.

Sat Oct 27 17:32:04 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gcse.c (insert_insn_end_bb): Don't assume PAT is a SET.

	* dwarf2out.c (reg_number): Abort if pseudo.
	(reg_loc_descriptor): Return 0 if pseudo.
	(is_based_loc): Return 0 if pseudo.
	(mem_loc_descriptor): Return 0 for pseudo and handle 0 return from
	recursive calls.
	(concat_loc_descriptor): Return 0 if either part's descriptor is 0.
	(loc_descriptor): Return 0 if can't find location and handle 0
	return from recursive calls.
	(loc_descriptor_from_tree): Likewise.
	Fix handling of indirect.
	Also return 0 for PLACEHOLDER_EXPR.
	Clean up COMPONENT_REF cases.
	(add_AT_location_descriptor): Simplify, but handle 0 return from
	loc_descriptor.
	(add_const_value_attribute): Avoid shift count warning.
	(add_bound_info): Remove test for PLACEHOLDER_EXPR here.
	Set comp_unit_die as context if not in function.

	* config/mips/mips-protos.h: Break up long lines.
	Remove needless #ifdef/#endif blocks.
	Don't declare functions declared in file made by genpreds or recog.h.
	* config/mips/mips.c (mips_output_function_prologue): TSIZE
	is now HOST_WIDE_INT; delete unneeded casts.
	* config/mips/mips.h: Don't use #elif.

	* expr.c (stor_constructor_field): Always call adjust_address.
	Copy TARGET before changing its alias set.
	(store_field): Likewise, for TO_RTX.
	(get_inner_reference): Stop at PLACEHOLDER_EXPR if can't find
	replacement.
	(safe_from_p, case ADDR_EXPR): Properly check for conflict.
	(find_placeholder): Return 0 if can't find object.
	(expand_expr, case PLACEHOLDER_EXPR): Abort if find_placeholder
	returns 0.

Sat Oct 27 16:31:23 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* ifcvt.c (if_convert): Call clear_aux_for_blocks.

Sat Oct 27 12:12:09 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps,
	merge_blocks_move_successors_nojumps): Set BB_UPDATE_LIFE.
	(merge_blocks): Properly udpate life after making edge nonfallthru.
	* cfgrtl.c (merge_blocks_nomove): Update global_live_at_end.

2001-10-26  Kazu Hirata  <kazu@hxi.com>

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

2001-10-26  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-typeck.c (convert_arguments): When comparing for enumeral
	type equality, use TYPE_MAIN_VARIANT.
	* gcc.dg/Wconversion.c: New tests.

2001-10-26  Kazu Hirata  <kazu@hxi.com>

	* s390/s390.c: Fix comment typos.
	* s390/s390.h: Likewise.
	* s390/s390.md: Likewise.

2001-10-26  Alexandre Oliva  <aoliva@redhat.com>

	* tree-inline.c (WALK_SUBTREE_TAIL): New macro.
	(walk_tree): Use it for tail calls where appropriate.

2001-10-26  Alexandre Oliva  <aoliva@redhat.com>

	* cse.c (check_for_label_ref): Don't require REG_LABEL notes for
	non-local label_refs.

2001-10-26  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (4 anonymous patterns): New.

2001-10-26  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (get_shift_alg): Clean up.  Return the
	algorithm through the shift_info structure.
	(emit_a_shift): Update the use of get_shift_alg.

2001-10-27  Daniel Berlin  <dan@cgsoftware.com>

	* sched-rgn.c: Remove bitset typedef.
	Change bitset to sbitmap in prototypes / variable types.
	Remove bbset_size.
	Remove edgeset_bits.
	Remove edgeset_size.
	s/BITSET_ADD/SET_BIT/g
	s/BITSET_INVERT/sbitmap_ones/g
	s/BITSET_INTER/sbitmap_a_and_b/g
	s/BITSET_UNION/sbitmap_a_or_b/g
	s/BITSET_DIFFER/sbitmap_difference/g
	s/bitset_member/TEST_BIT/g
	(BITSET_*): Removed.
	(bitset_member): Removed.
	(extract_bitlst): Rewrite, now that we have sbitmaps, we can use
	EXECUTE_IF_SET_IN_SBITMAP.
	(split_edges): Rewrite, use sbitmap functions instead of bitset
	operations.
	(schedule_region): Allocate/free sbitmaps, rather than bitsets.

2001-10-26  Andreas Schwab  <schwab@suse.de>

	* reload1.c (emit_input_reload_insns): Fix parens in last
	(undocumented) change that was supposed to change only whitespace.

Fri Oct 26 07:18:08 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* cfgcleanup.c (BB_SET_FLAG, BB_CLEAR_FLAG): Add cast to avoid warning.

	* local-alloc.c (update_equiv_regs): Don't make REG_EQUAL note for
	ASM_OPERANDS.

2001-10-26  Andreas Jaeger  <aj@suse.de>

	* flow.c (clear_log_links): Remove unused variable.
	* cfgcleanup.c (cleanup_cfg): Likewise.

2001-10-26  Alexandre Oliva  <aoliva@redhat.com>

	* tree-inline.c (remap_decl): Don't copy size and size_unit here.
	(remap_save_expr): Map a remapped SAVE_EXPR to error_mark_node.

2001-10-26  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.h (enum reg_class): Add R24_REG, R25_REG;
	rename PV_REG to R27_REG.
	(REG_CLASS_CONTENTS, REGNO_REG_CLASS): Update.
	(REG_CLASS_FROM_LETTER): Update.
	(PREFERRED_RELOAD_CLASS): Don't widen a reg class.
	* config/alpha/alpha.md (divsi3): Don't hard-code r24, r25, r27.
	(udivsi3, modsi3, umodsi3): Likewise.
	(divdi3, udivdi3, moddi3, umoddi3): Likewise.

2001-10-26  Richard Henderson  <rth@redhat.com>

	* cfg.c (clear_aux_for_blocks): Split out of ...
	(free_aux_for_blocks): here.
	(clear_aux_for_edges): Split from ...
	(free_aux_for_edges): here.
	* basic-block.h: Declare them.
	* lcm.c (compute_antinout_edge): Use them.
	(compute_laterin, compute_available, compute_nearerout): Likewise.
	(optimize_mode_switching): Likewise.

2001-10-26  Richard Henderson  <rth@redhat.com>

	* Makefile.in (unstage*): Remove as, ld, collect-ld before
	moving everything back to the main build directory.

2001-10-26  Christopher Faylor  <cgf@redhat.com>

	* config/i386/cygwin.h: Search target specific include directory, if
	appropriate.

2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* dwarf2out.c (PTR_SIZE, default_eh_frame_section): Move outside
	of macro guards. Fix #endif comment.

	* output.h (default_exception_section, default_eh_frame_section):
	Move prototypes outside of macro guard.

	* crtstuff.c: Fix #endif comment.

Thu Oct 25 12:21:58 2001  Jeffrey A Law  (law@cygnus.com)

	* doc/md.texi (movMM): Clarify semantics of storing into a
	non-paradoxical SUBREG.

2001-10-25  Zack Weinberg  <zack@codesourcery.com>

	* langhooks.c (lang_hook_default_clear_binding_stack): New.
	(lang_hook_default_get_alias_set): Move next to other alias
	hooks.
	* langhooks.h: Prototype lang_hook_default_clear_binding_stack.
	(LANG_HOOKS_CLEAR_BINDING_STACK): New macro.
	(LANG_HOOKS_INITIALIZER): Add it.
	* toplev.h (struct lang_hooks): Add clear_binding_stack.
	* toplev.c (compile_file):  Call lang_hooks.clear_binding_stack
	instead of a loop calling poplevel.

2001-10-25  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/mips/isa3264.h (SUBTARGET_CPP_SIZE_SPEC): Replace
	occurrences of #elif with #if...#endif.

2001-10-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* cris.h (EH_RETURN_DATA_REGNO): Fix unsigned>=0 warning.

Thu Oct 25 08:46:06 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (can_address_p): No longer static.
	* emit-rtl.c (get_mem_attrs): New parameter, MODE; all callers changed.
	Return 0 if all parameters are default values.
	(set_mem_attributes): Set MEM_KEEP_ALIAS_SET_P.
	(adjust_address_1): Try harder to compute a size.
	* expr.c (expand_assignment, store_constructor): If can't address,
	set MEM_KEEP_ALIAS_SET_P.
	(store_constructor_field): Don't change set if MEM_KEEP_ALIAS_SET_P.
	(store_field): Likewise.
	(store_constructor): Simplify call to store_constructor_field.
	* expr.h (can_address_p): New declaration.
	* gensupport.c (gen_rtx_CONST_INT): New function.
	* rtl.h (MEM_KEEP_ALIAS_SET_P): New macro.
	(MEM_SIZE): Get size from mode, if not set and not BLKmode.
	(MEM_COPY_ATTRIBUTES): Copy MEM_KEEP_ALIAS_SET_P.

	* stmt.c (expand_end_case): Remove orig_minval and use tree_low_cst.

2001-10-24  Christopher Faylor  <cgf@redhat.com>

	* config/i386/cygwin.h: Use proper path for mingw crt files when
	-mno-cygwin.

Wed Oct 24 18:43:42 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* dwarf2out.c (file_info_cmp): Always return consistent results.

2001-10-24  Roger Sayle <roger@eyesopen.com>

	* stmt.c (expand_end_case): Index jumptables from zero for
	suitably small values of minval.

2001-10-24  Jakub Jelinek  <jakub@redhat.com>

	* stor-layout.c (place_union_field): If any field was aligned with
	attribute aligned, set record type's TYPE_USER_ALIGN.
	(place_field): Likewise.
	(finalize_record_size): Don't clear TYPE_USER_ALIGN.
	(layout_type) [ARRAY_TYPE]: Copy element's TYPE_USER_ALIGN.

2001-10-24  Zack Weinberg  <zack@codesourcery.com>

	* c-common.h (struct c_common_identifier): Remove rid_code field.
	(C_RID_CODE): Use ->node.rid_code instead of ->rid_code.

	* c-typeck.c (constructor_designated): New local flag.
	(struct constructor_stack): Add "designated" field to match.
	(start_init): Clear it.
	(really_start_incremental_init, push_init_level): Push and
	clear it.
	(pop_init_level): Pop it.
	(set_designator): Set it.

	(pop_init_level): Suppress "missing initializer" warnings if
	constructor_designated is true.
	(process_init_element): Suppress warning about union
	initialization under traditional C, if constructor_designated
	is true.

Wed Oct 24 15:35:38 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* integrate.c (copy_rtx_and_substitute, case CALL): Fix error in last
	change.

Wed Oct 24 13:26:12 2001  Jeffrey A Law  (law@cygnus.com)

	* h8300.h (RETURN_ADDR_RTX): Remove old, incorrect definition.

2001-10-24  Dan Nicolaescu  <dann@ics.uci.edu>

	* ssa-ccp.c (ssa_ccp_substitute_constants): Don't do anything if
	the node was already a set to a constant.

Wed Oct 24 12:41:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (set_mem_attributes): Fix typo in last change.
	* print-rtl.c (print_rtx, case MEM): Improve display of MEM_DECL.

2001-10-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* s390/linux.h (ASM_OUTPUT_BYTE): Fix format specifier warnings.
	(ASM_OUTPUT_ASCII): Const-ify.  Fix signed/unsigned warning.
	(ASM_OUTPUT_MI_THUNK): Fix format specifier warnings.
	* s390.c (s390_final_chunkify): Don't use string concatenation.
	(s390_function_prologue, s390_function_epilogue): Const-ify.
	* s390.h (FUNCTION_PROFILER): Remove unused variable.

2001-10-24  Jakub Jelinek  <jakub@redhat.com>

	* c-decl.c (finish_decl): Don't add DECL_STMTs for nested function
	prototypes.

2001-10-23  Stan Shebs  <shebs@apple.com>

	* config/rs6000/x-darwin: Use -no-cpp-precomp instead of
	-traditional-cpp in first-stage compilation.

Tue Oct 23 21:45:40 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gensupport.c (target_flags): Add.

Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.

	* builtins.c (expand_builtin_setjmp): Only call convert_memory_address
	if needed.
	(expand_builtin_longjmp, expand_builtin_alloca): Likewise.
	* except.c (expand_builtin_frob_return_addr): Likewise.
	(expand_builtin_eh_return): Likewise.
	* stmt.c (expand_computed_goto): Likewise.
	* explow.c (memory_address): Likewise.
	(allocate_dynamic_stack_space): Clean up predicate testing.
	(probe_stack_range): Convert SIZE to Pmode.
	* calls.c (rtx_for_function_call): Only call convert_memory_address
	if needed.
	Pass function call operand as ptr_mode, not Pmode.
	* expr.c (expand_assignment): Clean up calls to convert_memory
	address by only doing so when needed and making offsets Pmode.
	(store_constructor, expand_expr, expand_expr_unaligned): Likewise.
	* function.c (assign_parms): Ensure address in MEM for RESULT_DECL
	is in Pmode, not ptr_mode.

2001-10-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* darwin-protos.h (constructor_section, destructor_section,
	mod_init_section, mod_term_section): Prototype.
	* darwin.c (machopic_finish, update_non_lazy_ptrs, update_stubs):
	Const-ify.
	* darwin.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_NAME):
	Likewise.
	(SECTION_FUNCTION): Prototype `FUNCTION'.  Delete
	objc_section_init declaration.
	(EXTRA_SECTION_FUNCTIONS): Prototype objc_section_init.
	(objc_section_init, try_section_alias): Make static.
	(alias_section): Make static and hide unused function.
	(ASM_GENERATE_INTERNAL_LABEL): Fix format specifier warning.

Tue Oct 23 13:05:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (can_address_p): Compnonents are not addressable if
	the containing type has alias set 0.
	(get_alias_set): Rework to use STRIP_NOPS.
	Only call front-end routine on object, type, or object with
	NOPs stripped, not inner values.
	Use language hook to call front-end routine.
	* builtins.c (get_memory_rtx): Always call set_mem_attributes.
	(expand_builtin_apply): Call set_mem_align on MEMs we make.
	Don't pass alignment to emit_block_move.
	(expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
	(expand_builtin_memset): Likewise, but for clear_storage.
	* c-common.c (lang_get_alias_set): Renamed to c_common_alias_set
	and remove C++ specific parts.
	* c-common.h (c_common_get_alias_set): Add declaration.
	* c-lang.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
	* calls.c (emit_call_1): Fix typo in sibcall_pop case.
	(save_fixed_argument_area): Call set_mem_align.
	Remove alignment in call to emit_block_move.
	(emit_library_call_value_1, store_one_arg): Likewise.
	(target_for_arg): Remove; disabled long ago.
	* emit-rtl.c (set_mem_attributes): Rework to only call get_mem_attrs
	once and similar cleanups.
	(offset_address): Use proper introductory comment.
	* expr.c (emit_block_move): Use alignment from that of MEM args, not
	from explicit operand; all callers changed.
	(clear_storage): Likewise.
	(expand_assignment): Don't call set_mem_alias_set on to_rtx.
	(store_field): Remove kludge on alias set used for to_rtx.
	(highest_pow2_factor, case *_DIV_EXPR): Never return 0.
	(expand_expr_unaligned): Call set_mem_attributes instead of
	set_mem_alias_set.
	* expr.h (emit_block_move, clear_storage): Remove ALIGN argument.
	* function.c (assign_stack_temp_for_type): Set MEM alignment.
	(expand_function_end): Track MEM attributes of trampolines.
	* ifcvt.c (noce_try_cmove_arith): Set alignment of new MEM.
	* integrate.c (copy_rtx_and_substitute, case CALL): Copy memory
	attributes from original.
	* langhooks.c (lang_hook_default_get_alias_set): New function.
	(hook_get_alias_set_0): New function.
	* langhooks.h (hook_get_alias_set_0): New declaration.
	(lang_hook_default_get_alias_set): Likewise.
	(LANG_HOOKS_GET_ALIAS_SET): New macro; add to initializer.
	* reload1.c (alter_reg): Use adjust_address_nv.
	* rtl.c (get_mode_alignment): Moved to here.
	* rtl.h (MEM_ALIGN): Take default from mode, if not BLKmode, and
	change default if unknown from 1 to BITS_PER_UNIT.
	* stor-layout.c (get_mode_alignment): Remove from here.
	* toplev.h (struct lang_hoks): Add get_alias_set field.
	* tree.h (lang_get_alias_set): Delete declaration.
	* config/arc/arc.c (arc_setup_incoming_varags): Set MEM alignment.
	* config/i386/i386.c (ix86_setup_incoming_varargs): Likewise.
	(ix86_va_arg): Likewise.
	* config/i960/i960.c (i960_setup_incoming_varargs): Likewise.
	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
	* config/sparc/sparc.c (sparc_va_arg): Likewise.
	* config/rs6000/rs6000.c (setup_incoming_varargs): Likewise.
	(expand_block_move_mem): Remove dead code.

2001-10-22  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-common.c (warn_div_by_zero): New.
	* c-common.h (warn_div_by_zero): New.
	* c-decl.c (c_decode_option): Take it on the command line.
	* c-typeck.c (build_binary_op): Warn about division by zero.
	* doc/invoke.texi: Document the new command line option, fix
	documentation of -Wmultichar.
	* testsuite/gcc.dg/divbyzero.c: New tests.
	* testsuite/gcc.dg/noncompile/20010524-1.c: Update.

Tue Oct 23 15:30:23 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_expand_int_movcc): Cleanup; use expand_simple_*op.

	* toplev.c (rest_of_compilation): Use CLEANUP_UPDATE_LIFE
	to avoid update_life_info call.
	* basic-block.h (CLEANUP_UPATE_LIFE): Define.
	* cfgcleanup.c (bb_flags): New enum.
	(BB_FLAGS, BB_SET_FLAG, BB_CLEAR_FLAG, FORWARDER_BLOCK_P): New macros.
	(notice_new_block, update_forwarder_flag): New functions.
	(try_simplify_condjump): Use FORWARDER_BLOCK_P.
	(try_forward_edges): Likewise; update flags.
	(merge_blocks): Likewise.
	(outgoing_edges_match): Likewise.
	(try_crossjump_to_edge): Likewise.
	(try_optimize_cfg): Likewise; initialize and clear the flags;
	recompute life info if needed.
	(cleanup_cfg): No need to clear aux pointers.

2001-10-23  Alexandre Oliva  <aoliva@redhat.com>

	* config/i386/i386.c (override_options): Default to minimum
	stack alignment when optimizing for code size.
	* doc/invoke.texi (-mpreferred-stack-boundary): Document the
	change.

	* config/i386/i386.c (override_options): Set upper limit of
	-mpreferred-stack-boundary to 12.

2001-10-22  Zack Weinberg  <zack@codesourcery.com>

	* recog.c (peephole2_optimize): Add default case to switch.

2001-10-23  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi (Sending Patches): Remove.

2001-10-22  Hans-Peter Nilsson  <hp@bitrange.com>

	* unwind-dw2-fde.c (fde_unencoded_compare): Derefer pc_begin
	fields when comparing.

2001-10-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* arm.h (HOST_INT, HOST_UINT): Delete.  Remove all uses.
	* arm.c (HOST_INT, HOST_UINT): Likewise.

2001-10-22  Stan Shebs  <shebs@apple.com>

	* config/darwin-protos.h (darwin_exception_section): Declare.
	(darwin_eh_frame_section): Declare.

Mon Oct 22 18:21:25 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (movti_rex64): Fix mode.

2001-10-22  Stan Shebs  <shebs@apple.com>

	* target.h (struct gcc_target): Add asm_out.exception_section,
	asm_out.eh_frame_section.
	* target-def.h (TARGET_ASM_EXCEPTION_SECTION): New macro.
	(TARGET_ASM_EH_FRAME_SECTION): New.
	(TARGET_INITIALIZER): Update.
	* output.h (default_exception_section): Declare.
	(default_eh_frame_section): Declare.
	* dwarf2out.c: Include target.h.
	(output_call_frame_info): Call target hook for eh frames.
	(default_eh_frame_section): New function.
	* except.c: Include target.h.
	(output_function_exception_table): Call target hook for exception
	section.
	* varasm.c (default_exception_section): Rename from
	exception_section, remove EXCEPTION_SECTION macro.

	* config/darwin.h (darwin_eh_frame_section): New function.
	(EXCEPTION_SECTION): Remove.
	(TARGET_ASM_EXCEPTION_SECTION): Define.
	* config/nextstep.h (EH_FRAME_SECTION_ASM_OP): Remove.
	(nextstep_exception_section): New function.
	(nextstep_eh_frame_section): New function.
	(TARGET_ASM_EXCEPTION_SECTION): Define.
	(TARGET_ASM_EH_FRAME_SECTION): Define.

	* config/pa/som.h (EXCEPTION_SECTION): Remove.
	(TARGET_ASM_EXCEPTION_SECTION): Define.
	* config/rs6000/sysv4.h, config/rs6000/xcoff.h
	(EXCEPTION_SECTION): Remove.
	(TARGET_ASM_EXCEPTION_SECTION): Define.
	* config/stormy16/stormy16.h: Remove comments referencing
	EXCEPTION_SECTION and EH_FRAME_SECTION_ASM_OP.

	* doc/tm.texi: Document TARGET_ASM_EXCEPTION_SECTION and
	TARGET_ASM_EH_FRAME_SECTION.

2001-10-22  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/mips/mips.md (mul_acc_si): Fix precedence of conditional
	terms.

	* c-format.c: Fix spelling typo in comment.

	* sched-int.h: Fix typo in GCC preamble.

2001-10-21  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR debug/4252
	* doc/invoke.texi: Remove references to -fdump-translation-unit.

2001-10-22  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (ix86_expand_clear): New.
	* config/i386/i386-protos.h: Declare it.
	* config/i386/i386.md (setcc peep2s): Use it.
	(movsi_xor): Unexport.

2001-10-22  Richard Henderson  <rth@redhat.com>

	* flow.c (clear_log_links): Use free_INSN_LIST_list, not
	free_EXPR_LIST_list for LOG_LINKS.

2001-10-21  Robert Lipe  <robertlipe@usa.net>

	* config/i386/i386.c (sco_asm_named_section): Delete.
	(sco_asm_out_constructor): Delete.
	* config/i386/sco5.h (ASM_QUAD): Undo damage from att.h.
	(ASM_OUTPUT_DOUBLE_INT): Likewise.
	(TARGET_ASM_CONSTRUCTOR): Delete.  Use default.
	(TARGET_ASM_NAMED_SECTION): Use default for ELF.
	(EXCEPTION_SECTION): Delete EH scn renaming hack.

2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-format.c (maybe_read_dollar_number): Use safe-ctype macros
	and/or fold extra calls into fewer ones.
	* collect2.c (dump_file): Likewise.
	* cppexp.c (parse_number): Likewise.
	* cpplex.c (_cpp_lex_direct): Likewise.
	* final.c (output_asm_insn, asm_fprintf): Likewise.
	* fix-header.c (inf_scan_ident, main): Likewise.
	* fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
	Likewise.
	* fold-const.c (real_hex_to_f): Likewise.
	* gen-protos.c (parse_fn_proto): Likewise.
	* genattrtab.c (check_attr_test, check_attr_value): Likewise.
	* genrecog.c (change_state, write_action): Likewise.
	* gensupport.c (shift_output_template): Likewise.
	* local-alloc.c (requires_inout): Likewise.
	* mips-tfile.c (IS_ASM_IDENT): Likewise.
	* protoize.c (is_id_char, main): Likewise.
	* real.c (asctoeg): Likewise.
	* recog.c (asm_operand_ok): Likewise.
	* reload.c (find_reloads): Likewise.
	* scan.c (scan_identget_token): Likewise.
	* sched-vis.c (print_value): Likewise.
	* stringpool.c (ggc_alloc_string): Likewise.
	* toplev.c (read_integral_parameter, decode_g_option): Likewise.
	* tradcif.y (parse_number, yylex, parse_escape): Likewise.
	* tradcpp.c (rescan): Likewise.
	* tree.c (clean_symbol_name): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* alpha.h (ASM_OUTPUT_ASCII): Likewise.
	* darwin.c (name_needs_quotes, func_name_maybe_scoped): Likewise.
	* dsp16xx.h (ASM_OUTPUT_ASCII): Likewise.
	* m88k.c (output_ascii): Likewise.
	* m88k.h (OVERRIDE_OPTIONS): Likewise.
	* mcore.h (REG_CLASS_FROM_LETTER): Likewise.
	* ns32k/encore.h (ASM_OUTPUT_ASCII): Likewise.
	* sh.h (REG_CLASS_FROM_LETTER): Likewise.

2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>

	* langhooks.c (lang_hook_default_do_nothing,
	lang_hook_default_decode_option): New defaults.
	* langhooks.h: Make hooks unconditional and non-NULL.
	* toplev.c (compile_file, toplev_main): Update.
	* toplev.h: Update comments.
	* objc/objc-act.c (lang_hooks): Update to new paradigm.

2001-10-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* arm.h (FUNCTION_ARG_REGNO_P): Use IN_RANGE.

	* system.h (IN_RANGE): New macro.

2001-10-21  Zack Weinberg  <zack@codesourcery.com>

	* aclocal.m4 (AM_WITH_NLS): Also create and substitute
	INTLDEPS variable, which does not include $LIBICONV.
	* Makefile.in: Use INTLDEPS in LIBDEPS.
	* configure: Regenerate.

2001-10-21  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_buffer): Delete read_ahead and extra_char.
	* cpplex.c (lex_percent, lex_dot): Remove.
	(get_effective_char, skip_block_comment, skip_line_comment,
	parse_identifier_slow, parse_number, parse_string, save_comment,
	_cpp_lex_direct): Update to do lookback freely.
	(IF_NEXT_IS, BACKUP): New macros.
	* cpplib.c (cpp_push_buffer): Don't set read_ahead and extra_char.
	* cppmacro.c (paste_tokens): Update.

2001-10-20  Nick Clifton  <nickc@cambridge.redhat.com>

	* doc/invoke.texi (i386 and x86-64 Options): Fix typo.

2001-10-20  Hans-Peter Nilsson  <hp@axis.com>

	* reload1.c (reload): Check CONSTANT_P before calling
	LEGITIMATE_PIC_OPERAND_P.
	* config/cris/cris.c (cris_legitimate_pic_operand): Revert
	workaround of 2001-10-13.

Sat Oct 20 15:16:10 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (split_di): Handle splitting of DFmode.

Sat Oct 20 07:27:14 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (set_mem_attributes): Alignment is in bits.
	(adjust_address_1, offset_address): Likewise.

	* final.c (output_asm_operand_names): New fcn, from output_asm_insn.
	(output_asm_insn): Call it for each line output.
	Don't record an operand more than once.

	* toplev.h (struct lang_hooks): HONOR_READONLY now bool.
	* main.c: Include config.h and system.h, but not ansidecl.h.
	* Makefile.in (main.o): Update accordingly.

Sat Oct 20 12:05:31 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.h (SSE_REGPARM_MAX): Set to 8 for x86_64.

Sat Oct 20 12:01:07 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (find_sub_basic_blocks): Use sbitmap parameter.
	* cfgbuild.c (find_bb_boundaries, compute_outgoing_frequencies):
	Break out from ...
	(find_sub_basic_blocks): ... here;
	(find_many_sub_basic_blocks): New.
	* recog.c (split_all_insns): Update find_sub_basic_blocks call.

	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Define sdata4.

	* i386.c (ix86_va_arg): Kill indirect_p handling; fix aliasing issues.:

	* i386.c (split_di, split_ti): Revamp to use simplify_subreg.

	* timevar.def (TV_LIFE, TV_LIFE_UPDATE, TV_MODE_SWITCH): new.
	* flow.c (update_life_info): Measure time.
	* c-decl.c: Include timevar.h
	(c_expand_body): Measure time.
	* toplev.c (rest_of_compilation): Measure time of mode switching
	separately.
	* Makefile.in (c-decl.o, cfgcleanup.o): Add dependency.

	* toplev.c (flag_asynchronous_unwind_tables): New global variable.
	(lang_independent_options): Add asynchronous-unwind-tables
	(toplev_main): flag_asynchronous_unwind_tables implies
	flag_unwind_tables.
	* flags.h (flag_asynchronous_unwind_tables): Declare.
	* dwarf2out.c (dwarf2out_stack_adjust): Take into account
	flag_asynchronous_unwind_tables.
	(output_call_frame_info): Likewise.
	* invoke.texi (-fasynchronous-unwind-tables): Document.
	* i386.c (optimization_options): Enable
	flag_asynchronous_unwind_tables.

	* i386.c (ix86_expand_setcc):  Always expect target to be QImode.
	* i386.md (s* expanders): Destination is QImode.

	* toplev.c (rest_of_compilation): Do not call clear_log_links.
	* rtl.h (clear_log_links): Kill.
	* flow.c (clear_log_links): Make static; accept blocks parameter;
	do no clear life info.
	(update_life_info): Call clear_log_links.

	* cfganal.c (forwarder_block_p): Avoid active_insn_p calls.

2001-10-20  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplex.c (handle_newline, skip_escaped_newlines,
	get_effective_char, skip_block_comment, skip_line_comment,
	parse_identifier_slow, parse_number, parse_string,
	_cpp_lex_direct): Update to do more stepping back.
	(trigraph_ok): Similarly.  Rename trigraph_p.
	(SAVE_STATE, RESTORE_STATE): Remove.
	(BUFF_SIZE_UPPER_BOUND): Tweak.  Add sanity check.

	* cpplib.c (destringize): Rename destringize_and_run, and
	call run_directive directly.
	(_cpp_do__Pragma): Simplify.

2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* pe.c (arm_pe_unique_section): Const-ify.
	* pe.h (TARGET_ASM_NAMED_SECTION): Undef before defining.
	(switch_to_section): Add static prototype.

	* output.h (drectve_section): Prototype.

2001-10-19  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config.gcc (i[34567]86-*-gnu*, arc-*-elf*, d30v-*,
	fr30-*-elf, hppa*64*-*-linux*, parisc*64*-*-linux*, hppa*-*-linux*,
	parisc*-*-linux*, i370-*-linux*, i[34567]86-*-chorusos*,
	i[34567]86-*-elf*, i[34567]86-ncr-sysv4*, i[34567]86-*-netware,
	i[34567]86-sequent-ptx4*, i[34567]86-sequent-sysv4*,
	i[34567]86-*-beoself*, i[34567]86-*-beos*, i[34567]86-*-freebsd*,
	i[34567]86-*-netbsdelf*, i[34567]86-*-linux*libc1,
	i[34567]86-*-linux*, i[34567]86-moss-msdos*, i[34567]86-*-moss*,
	i[34567]86-go32-rtems*, i[34567]86-*-rtems*, i[34567]86-*-rtemself*,
	i[34567]86-*-solaris2*, i[34567]86-*-sysv5*, i[34567]86-*-sysv4*,
	i[34567]86-*-udk*, i[34567]86-*-osf1*, i[34567]86-dg-dgux*,
	i860-alliant-*, i860-*-sysv4*, ia64*-*-aix*, ia64*-*-linux*,
	ia64*-*-hpux*, m32r-*-elf*, m88k-dg-dgux*, m88k-*-sysv4*, mcore-*-elf,
	mips*-*-linux*, mn10200-*-*, mn10300-*-*, pj*-linux*, pjl-*,
	powerpc64-*-linux*, powerpc-*-sysv*, powerpc-*-netbsd*,
	powerpc-*-chorusos*, powerpc-*-eabiaix*, powerpc-*-eabisim*,
	powerpc-*-elf*, powerpc-*-eabi*, powerpc-*-rtems*,
	powerpc-*-linux*libc1, powerpc-*-linux*, powerpc-wrs-vxworks*,
	powerpcle-wrs-vxworks*, powerpcle-*-sysv*, powerpcle-*-elf*,
	powerpcle-*-eabisim*, powerpcle-*-eabi*, powerpcle-*-solaris2*,
	rs6000-*-mach*, s390-*-linux*, s390x-*-linux*, sh-*-elf*,
	sh-*-rtemself*, sh-*-rtems*, sh-*-linux*, stormy16-*-elf,
	v850-*-rtems*, v850-*-*, x86_64-*-linux*), cris-*-aout, cris-*-elf,
	cris-*-none, cris-*-linux*: Update ${tmfile} list.
	(c4x-*-rtems*, c4x-*, i[34567]86-go32-rtems*, i[34567]86-*-rtemscoff*,
	i[34567]86-*-rtems*, i[34567]86-*-rtemself*, i[34567]86-*-osf1*,
	mn10200-*-*, mn10300-*-*, powerpc-*-beos*, powerpc-*-darwin*,
	powerpc-wrs-vxworks*, powerpcle-wrs-vxworks*, v850-*-rtems*,
	v850-*-*): Delete superflous ${cpu_type} setting.
	* config/linux.h: Delete svr4.h include.
	(SET_ASM_OP): Delete.
	* config/netware.h (INT_ASM_OP): Undef before define.
	* config/ptx4.h: Delete elfos.h include.
	(PREFERRED_DEBUGGING_TYPE): Undef instead of wrapping.
	* config/svr4.h: Delete elfos.h include. Update commentary.
	* config/arc/arc.h, config/d30v/d30v.h, config/fr30/fr30.h,
	config/m32r/m32r.h, config/m88k/sysv4.h, config/mn10200/mn10200.h,
	config/mn10200/mn10300.h, config/stormy16/stormy16.h,
	config/v850/v850.h: Delete svr4.h include.
	* config/i370/linux.h, config/i386/osf1elf.h, config/m68k/linux.h,
	config/m68k/m68kv4.h, config/m88k/sysv4.h,
	config/sparc/sysv4.h: Update includes.
	* config/i386/beos-elf.h, config/i386/netware.h, config/i386/ptx4-i.h,
	config/i386/rtemself.h, config/i386/sol2.h, config/i386/sysv4.h,
	config/i386/sysv5.h, config/i386/udk.h, config/ia64/linux.h,
	config/m88k/dguxbcs.h: Delete includes.
	* config/i386/dgux.h, config/i386/osf1elfgdb.h: Delete include.
	(PREFERRED_DEBUGGING_TYPE): Undef before defining it.
	* config/i860/fx2800.h (ASM_OUTPUT_SOURCE_LINE): Undef before defining
	it.
	* config/m88k/dgux.h: Delete include.
	(SDB_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE):  Undef before
	defining it.
	* config/pj/pj.h (ASM_GENERATE_INTERNAL_LABEL,
	ASM_OUTPUT_INTERNAL_LABEL, ASM_OUTPUT_SKIP): Undef before defining it.
	* config/sh/elf.h: Update include.
	(SDB_DEBUGGING_INFO, DWARF2_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE,
	DWARF2_ASM_LINE_DEBUG_INFO): Move behind includes.

2001-10-19  Catherine Moore  <clm@redhat.com>

	* config/stormy16/stormy-abi:  Updates to varargs descriptions.
	* config/stormy16/stormy16.c (stormy16_build_va_list):  Reverse
	base and count fields.
	(stormy16_expand_builtin_va_start):  last_reg_count changed to
	size_of_reg_args.  Use count + size in first comparison.

Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* langhooks.h (LANG_HOOKS_HONOR_READONLY): New macro.
	* toplev.h (struct lang_hooks): New field HONOR_READONLY.
	* emit-rtl.c (set_mem_attributes): Set RTX_UNCHANGING_P from
	TREE_READONLY and TYPE_READONLY if lang_hooks.honor_readonly.
	Set alignment from type if INDIRECT_REF.
	(adjust_address_1, offset_address): Simplify alignment compuitation.
	* expr.c (expand_expr, case INDIRECT_REF): Don't set RTX_UNCHANGING_P
	here; done by set_mem_attributes.

2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (rtlanal.o): Depend on $(TM_P_H).
	* arm-protos.h (rdata_section, zero_init_section, common_section):
	Prototype.
	* arm.h (ASM_OUTPUT_DEF_FROM_DECLS): Const-ify.
	* avr.h (ASM_OUTPUT_SKIP): Rename macro parameter to avoid
	traditional mode stringification.
	* function.c (thread_prologue_and_epilogue_insns): Wrap variable
	in macros controling its use.
	* rtlanal.c: Include tm_p.h.
	* varasm.c (asm_output_aligned_bss): Mark parameter with
	ATTRIBUTE_UNUSED.
	(assemble_constant_align, assemble_start_function, assemble_align,
	assemble_variable, assemble_trampoline_template,
	output_constant_def_contents): Wrap potentially empty if-stmt body
	in brackets.

2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* a29k-protos.h (literal_section): Prototype.
	* a29k.h (ASM_FILE_START): Don't discard pointer qualifier.
	* a29k.md: Ensure function pointers are prototyped.
	* genattrtab.c (write_eligible_delay): Mark parameter with
	ATTRIBUTE_UNUSED.

2001-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* calls.c (emit_call_1): Mark parameter with ATTRIBUTE_UNUSED.
	* 1750a.c (print_operand): Fix format specifier warning.
	* 1750a.h (ASM_FILE_START): Don't discard pointer qualifier.
	* 1750a.md: Likewise.
	* gcc.c (init_gcc_specs): Wrap with ENABLE_SHARED_LIBGCC.
	* genemit.c (output_add_clobbers): Mark parameter with
	ATTRIBUTE_UNUSED.
	* genrecog.c (write_subroutine): Likewise.
	* integrate.c (expand_inline_function): Delete unused variable.
	* varasm.c (remove_from_pending_weak_list): Wrap with
	ASM_WEAKEN_LABEL.

2001-10-19  Jakub Jelinek  <jakub@redhat.com>

	* simplify-rtx.c (simplify_plus_minus): Negate constant iff its neg
	field is different to previous argument's neg field.

	* config/alpha/alpha.c (summarize_insn): Don't abort on ASM_INPUT.

Fri Oct 19 15:24:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* final.c (get_decl_from_op): New function.
	(output_asm_insn): Call it; write "*" when item with decl is address.

2001-10-19  Janis Johnson  <janis187@us.ibm.com>

	* doc/install.texi (Specific, sparc-sun-solaris2*) Copy documentation
	about 64-bit support from the 3.0_branch version.

2001-10-19  Zack Weinberg  <zack@codesourcery.com>

	* aclocal.m4 (AM_WITH_NLS): AC_DEFINE HAVE_LIBINTL_H and
	USE_INCLUDED_LIBINTL when appropriate.
	* configure, config.in: Regenerate.
	* Makefile.in (datadir): Set to @datadir@.
	(intl.o): Also depend on $(CONFIG_H) and system.h.

	* intl.c: Factor out common gettext initialization sequence.
	(gcc_init_libintl):  New function.
	* intl.h: Include intl/libgnuintl.h if USE_INCLUDED_LIBINTL;
	otherwise include libintl.h if HAVE_LIBINTL_H; otherwise turn
	off NLS.  Add multiple include guard.  No need to #ifdef-guard
	an #undef.  Prototype gcc_init_libintl here.

	* collect2.c (main), cppmain.c (general_init), gcc.c (main),
	gcov.c (main), protoize.c (main), toplev.c (toplev_main):
	Use gcc_init_libintl.

2001-10-19  Catherine Moore  <clm@redhat.com>

	* config/stormy16/stormy16.h (ASM_COMMENT_START): Define.

	* config/stormy16/stormy16.c (stormy16_split_move):  Make
	sure that REG_INC notes are present for auto_inc operands.

2001-10-19  Andreas Jaeger  <aj@suse.de>

	* configure: Regenerated.
	* configure.in: Add x86_64 to switch statements.

2001-10-18  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (sibcall_osf_1): Load destination
	address into $27 explicitly.
	(sibcall_value_osf_1): Likewise.

Thu Oct 18 16:07:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array.
	(offset_address): New function.
	(free_emit_status): Free regno_decl.
	(init_emit): Pass proper number of elements to xcalloc.
	Allocate regno_decl.
	(mark_emit_status): Mark regno_decl values.
	* expr.c (highest_pow2_factor): New function.
	(expand_assigment): Use it and offset_address.
	Properly handle ptr_mode vs. Pmode in offset calculation.
	(store_constructor, expand_expr_unaligned): Likewise.
	(expand_expr, case COMPONENT_EXPR): Likewise.
	* expr.h (offset_address): New decl.
	* function.h (struct emit_status): Add regno_decl.
	(REGNO_DECL): New macro.
	* final.c (output_asm_name): Move in file and don't conditionalize
	on flag_print_asm_name.
	(output_asm_insn): Only call output_asm_name if flag_print_asm_name.
	Output names of operands, if known.
	* function.c (assign_parms): Set REGNO_DECL.
	* integrate.c (integrate_decl_tree): Likewise.
	* stmt.c (expand_decl): Likewise.
	* regclass.c (reg_scan_mark_refs): Propagate REGNO_DECL for copies.

2001-10-18  Alexandre Oliva  <aoliva@redhat.com>

	* attribs.c (handle_noinline_attribute): New function.
	(handle_used_attribute): Likewise.
	(c_common_attribute_table): Added noinline and used.
	* doc/extend.texi (Function Attributes): Document them.
	* c-decl.c (duplicate_decls): Propagate DECL_UNINLINABLE.
	Warn when merging inline with attribute noinline.
	(start_decl, start_function): Warn if inline and attribute
	noinline appear in the same declaration.

2001-10-17  Neil Booth  <neil@daikokuya.demon.co.uk>

	* config.gcc: Update c4x and i370 for C front end-specific
	dependencies.
	* config/c4x/c4x-c.c: New.
	* config/c4x/c4x-protos.h (c4x_handle_pragma): Remove.
	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
	New declarations.
	* config/c4x/c4x.c: Don't include c-lex.h or c-pragma.h.
	(code_tree, data_tree, pure_tree, noreturn_tree, interrupt_tree):
	Make extern.
	(c4x_init_pragma): Remove.
	(c4x_parse_pragma, c4x_pr_CODE_SECTION, c4x_pr_DATA_SECTION,
	c4x_pr_FUNC_IS_PURE, c4x_pr_FUNC_NEVER_RETURNS, c4x_pr_INTERRUPT,
	c4x_pr_ignored): Move to c4x-c.c.
	* config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
	* config/c4x/t-c4x: Update.
	* config/i370/i370-c.c: New.
	* config/i370/i370.c: Don't include c-lex.h or c-pragma.h.
	(i370_pr_map): Move to i370-c.c.
	* config/i370/t-i370: New.

	* doc/tm.texi: Update.

2001-10-17  Stan Shebs  <shebs@apple.com>

	* config/rs6000/rs6000.c: Make assorted mechanical formatting and
	typo fixes throughout.
	(machopic_output_stub): Remove some dead code.

2001-10-17  Richard Earnshaw <rearnsha@arm.com>

	* cpplex.c (_cpp_get_buff): Fix off-by-one error that caused memory
	leak.

Wed Oct 17 05:26:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* Makefile.in (print-rtl.o): Depend on TREE_H.
	* alias.c (get_alias_set): Make two passes over objects to first
	see if inner object is access via restricted pointer.
	Defer allocating alias set for restricted pointer until here.
	Call find_placeholder with second arg nonzero.
	Minor cleanups.
	* c-common.c (c_apply_type_quals_to_decl): Defer getting alias
	set for restricted pointer types.
	* emit-rtl.c (set_mem_attributes): Set more attributes.
	(set_mem_align, change_address, adjust_address_1): New functions.
	(change_address_1): Now static.
	(adjust_address, adjust_address_nv): Deleted.
	(replace_equiv_address): Call change_address_1.
	* expr.c (get_inner_reference): Handle PLACEHOLDER_EXPR.
	(find_placeholder): Get starting point from PLIST arg.
	(expand_expr, case PLACEHOLDER_EXPR): Initialize find_placeholder arg.
	* expr.h (set_mem_align, change_address, adjust_address_1): New decls.
	(adjust_address, adjust_address_nv): New macros.
	* print-rtl.c (tree.h): New include.
	(print_rtx, case MEM): Print all memory attributes.

2001-10-17  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (direct_call_operand): Don't fall off end.

2001-10-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* c-tree.texi: Eliminate duplicated word.
	* cpp.texi: Likewise.
	* install.texi: Likewise.
	* invoke.texi: Likewise.
	* tm.texi: Likewise.

2001-10-17  Michael Collison  <collison@isisinc.net>

	* dsp16xx.c: Fix comment formatting to match GNU standards.
	(dsp16xx_output_function_prologue): Change type of 'size'
	parameter from 'int' to HOST_WIDE_INT.
	(dsp16xx_output_function_epilogue): Change type of 'size'
	parameter from 'int' to HOST_WIDE_INT.

2001-10-16  Richard Henderson  <rth@redhat.com>

	* configure.in (HAVE_AS_GOTOFF_IN_DATA): New x86 check.
	* configure, config.in: Rebuild.

	* config/i386/i386.c (ix86_output_addr_vec_elt): New.
	(ix86_output_addr_diff_elt): New.
	* config/i386/i386.h (ASM_OUTPUT_ADDR_VEC_ELT): Use them.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
	(JUMP_TABLES_IN_TEXT_SECTION): New.
	* config/i386/i386.md (tablejump): Handle HAVE_AS_GOTOFF_IN_DATA.
	* config/i386/i386-protos.h: Update.

	* config/i386/386bsd.h, config/i386/beos-elf.h,
	config/i386/freebsd-aout.h, config/i386/freebsd.h,
	config/i386/i386-interix.h, config/i386/i386elf.h,
	config/i386/linux.h, config/i386/netbsd-elf.h,
	config/i386/netbsd.h, config/i386/openbsd.h,
	config/i386/ptx4-i.h, config/i386/rtemself.h,
	config/i386/sco5.h, config/i386/sysv4.h, config/i386/x86-64.h
	(ASM_OUTPUT_ADDR_DIFF_ELT, JUMP_TABLES_IN_TEXT_SECTION): Remove.

2001-10-16  Florian Weimer  <fw@deneb.enyo.de>

	* stmt.c (expand_asm_operands): Update commentary.

2001-10-16  Stan Shebs  <shebs@apple.com>

	* config/darwin.h (GCC_NAME): Remove, no longer used.
	(NO_MATH_LIBRARY): Ditto.
	(MATH_LIBRARY): Define to emptiness.
	(DWARF2_DEBUGGING_INFO): Define.
	(PREFERRED_DEBUGGING_TYPE): Define.
	(EXTRA_SECTION_FUNCTIONS): Add darwin_exception_section.
	(EXCEPTION_SECTION): Define.
	(ASM_PREFERRED_EH_DATA_FORMAT): Define.
	* config/darwin.c (darwin_encode_section_info): Handle case of
	DECL_INITIAL being error_mark_node.

2001-10-16  Richard Henderson  <rth@redhat.com>

	* alpha.c (current_file_function_operand): Don't fail for profiling.
	(direct_call_operand): New.
	* alpha-protos.h: Declare it.
	* alpha.h (EXTRA_CONSTRAINT): Use it.
	(PREDICATE_CODES): Add it.
	(ASM_OUTPUT_MI_THUNK): Remove.
	* alpha32.h (ASM_OUTPUT_MI_THUNK): Remove.
	* alpha.md (sibcall_osf_1, sibcall_value_osf_1): Add 's' alternative.

2001-10-16  Krister Walfridsson  <cato@df.lth.se>

	* config/i386/netbsd-elf.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define.
	(JUMP_TABLES_IN_TEXT_SECTION): Define.

Wed Oct 17 00:21:31 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* cfg.c (free_edge): Break out from ....
	(remove_edge): ... here.
	(clear_edges): Use free_edge.

	* att.h (ASM_QUAD): Add comment.
	* bsd.h, sco5.h, sun386.h (ASM_QUAD): Define.

Wed Oct 17 00:01:02 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (split_ti): New function.
	(ix86_split_to_parts): Support TImodes.
	* i386.h (VALID_INT_MODE_P): Add TImode.
	* i386.md (movdi splitter): Fix.
	(movti): Support 64bit integer registers.
	(movti_rex64): New function and splitter.

	* i386.c (*_cost): Add movsx/movzx cost.
	* i386.h (struct processor_costs): Add movsx/movzx fields.
	(RTX_COSTS): Handle zero/sign extend + avoid believing that
	64bit operations require split on 64bit machine.
	(CONST_COST): Make large 64bit constants expensive on 64bit compilation.

	* i386.c (ix86_setup_incoming_varargs): Fix mode of PLUS.
	(ix86_expand_move): Avoid pushes of memory if size does not match;
	move long constants to register.
	(x86_initialize_trampoline): Fix mode.
	* i386.h (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT):
	Use ASM_QUAD on 64bit.
	* i386.md (test pattern): Disallow impossible constants.
	(tablejump PIC expander): Fix emitting of sum.
	(movdicc_rex64): Rename to movdicc.
	* linux64.h (LINK_SPEC): Add missing '%'.

2001-10-16  Alexandre Oliva  <aoliva@redhat.com>

	* tree-inline.c (inlinable_function_p): Leave it up to the
	front-end to turn -finline-functions into DECL_INLINE set for all
	functions.

2001-10-16  Stan Shebs  <shebs@apple.com>

	* config/rs6000/darwin.h (ASM_COMMENT_START): Define.

2001-10-16  Alan Modra  <amodra@bigpond.net.au>

	* recog.c: Formatting and comment typo fixes.

	* configure.in (gcc_cv_as_bfd_srcdir): New.  Use it to find gas
	version in single tree build.
	* configure: Regenerate.

2001-10-15  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.md (cr_logical): Swap order of CODE and
	MODE arguments to gen_rtx and compare operand with const0_rtx.

2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* system.h: Poison old unused target macros.
	* config/dsp16xx.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
	* config/stormy16/stormy16.c: Update references to obsolete macros.
	* config/stormy16/stormy16.h: Similarly.
	* config/stormy16/stormy16.md: Similarly.
	* config/cris/cris.h: Similarly.

2001-10-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplib.c (struct pragma_entry): Store the name as a hashnode.
	(lookup_pragma_entry, insert_pragma_entry, do_pragma,
	cpp_register_pragma): Update accordingly.

2001-10-14  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-pragma.h (cpp_register_pragma_space): Remove.
	* cpplib.h (cpp_register_pragma_space): Remove.
	* cpplib.c (lookup_pragma_entry, insert_pragma_entry): New.
	(cpp_register_pragma_space): Remove.
	(cpp_register_pragma): Simplify using lookup_pragma_entry,
	add sanity checks.
	(do_pragma): Similarly.
	(_cpp_init_internal_pragmas): Don't register namespaces.

	* config/v850/v850.h (REGISTER_TARGET_PRAGMAS):
	Don't register namespaces.
	* cp/lex.c (init_cp_pragma): Similarly.
	* doc/tm.texi: Update.

2001-10-10  Craig Rodrigues  <rodrigc@gcc.gnu.org>

	PR c/4157
	* config/i386/cygwin.h: Add missing space to MINGW_INCLUDES

2001-10-13  Michael Collison  <collison@dhcp-12-114.townisp.com>

	* config/dsp16xx/dsp16xx.md: Rewrite for more efficient code and
	add scheduling support.
	* config/dsp16xx/dsp16xx.h: Rewrite for more efficient code.
	* config/dsp16xx/dsp16xx.c: Rewrite for more efficient code.
	* config/dsp16xx/dsp16xx-protos.h: Add new function prototypes.


2001-10-13  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/cris.c (cris_legitimate_pic_operand): Kludge around
	missing CONSTANT_P test in core GCC.

2001-10-12  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmain.c (struct printer): New member source.
	(scan_translation_unit): Fix spacing at start of lines.
	(cb_line_change): Update.

	* gcc.dg/cpp/spacing2.c: New test.

2001-10-12  Hans-Peter Nilsson  <hp@axis.com>

	* config/cris/arit.c: Use __builtin_labs, not abs.

	* config/cris/cris.h (SET_STRIPPABLE_EXECUTABLE): Don't define.

	* config/cris/cris.c (cris_target_asm_function_epilogue): Move
	misplaced sprintf and fprintf argument.

2001-10-12  Zack Weinberg  <zack@codesourcery.com>

	* ABOUT-NLS, aclocal.m4: Update i18n framework from gettext 0.10.40.
	* configure.in, Makefile.in: Take out obsolete check-po logic.
	* configure, config.in: Regenerate.

2001-10-12  Ziemowit Laski  <zlaski@apple.com>

	* objc/objc-act.c (finish_objc): Correct precondition for emitting
	symtab declarations.

2001-10-12  Stan Shebs  <shebs@apple.com>

	* config/rs6000/rs6000.c: Remove uses of "register" specifier in
	declarations of arguments and local variables.

2001-10-12  Christopher Faylor  <cgf@redhat.com>

	* config/i386/cygwin.h: Revert erroneous checkin of crtbegin and
	ENDFILE_SPEC definition.

2001-10-12  Kazu Hirata  <kazu@hxi.com>

	* gthr-dce.h: Fix comment formatting.
	* gthr-posix.h: Likewise.
	* gthr-single.h: Likewise.
	* gthr-solaris.h: Likewise.
	* gthr-vxworks.h: Likewise.
	* gthr-win32.h: Likewise.

2001-10-12  Jakub Jelinek  <jakub@redhat.com>

	* final.c (output_asm_insn): Make sure assembly dialects are
	terminated, not nested.  Output `|' and `}' characters if they
	don't appear inside assembly dialect selection.
	* config/i386/i386.md (rep_movdi_rex64, rep_movsi, rep_movsi_rex64,
	rep_movqi, rep_movqi_rex64, rep_stosdi_rex64, rep_stossi,
	rep_stossi_rex64, rep_stosqi, rep_stosqi_rex64, strsetsi_1,
	strsetsi_rex_1): Add {} braces.

2001-10-11  Zack Weinberg  <zack@codesourcery.com>

	* toplev.c (compile_file): Ignore return value from yyparse.
	Always pop any nested binding levels after yyparse returns.

2001-10-11  Richard Henderson  <rth@redhat.com>

	* doc/c-tree.texi (Expression trees): Add VTABLE_REF.

2001-10-11  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (add_const_value_attribute): If long < HOST_WIDE_INT,
	fall back to add_AT_long_long for large CONST_INT.

2001-10-11  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.md (setcc splitters): Add four splitters to
	simplify compound compares that simplify_comparison can't handle.

2001-10-11  Zack Weinberg  <zack@codesourcery.com>

	* cpplex.c (digraph_spellings, token_spellings): Make static.

2001-10-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* unroll.c (loop_iterations): Fixup last patch.

2001-10-11  Richard Henderson  <rth@redhat.com>

	* rtl.h (REG_VTABLE_REF): New.
	* rtl.c (reg_note_name): Add it.
	* combine.c (distribute_notes): Handle it.
	* final.c (final_scan_insn): Handle it.
	* tree.def (VTABLE_REF): New.
	* expr.c (expand_expr): Handle it.
	* varasm.c (assemble_vtable_entry, assemble_vtable_inherit): New.
	* output.h: Declare them.

2001-10-11  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (rtl_for_decl_location): If no DECL_RTL, look
	for a DECL_INITIAL.

2001-10-11  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/xcoff.h (UNALIGNED_DOUBLE_INT_ASM_OP): Only
	available in 64-bit mode.

2001-10-11  Hans-Peter Nilsson  <hp@axis.com>

	* config.gcc: Add cris-*-aout, cris-*-elf, cris-*-none,
	cris-*-linux* cases.
	* config/cris/cris-protos.h: New file.
	* config/cris/cris.c: New file.
	* config/cris/cris.h: New file.
	* config/cris/cris.md: New file.
	* config/cris/linux.h: New file.
	* config/cris/aout.h: New file.
	* config/cris/arit.c: New file.
	* config/cris/cris_abi_symbol.c: New file.
	* config/cris/mulsi3.asm: New file.
	* config/cris/t-aout: New file.
	* config/cris/t-cris: New file.
	* config/cris/t-elfmulti: New file.
	* config/cris/t-linux: New file.
	* doc/invoke.texi: Add CRIS options.
	* doc/install.texi (Specific): Add blurb for CRIS.

2001-10-10  Hartmut Schirmer <SchirmerH@Innovative-Systems.de>

	* config/float-i128.h: Make sure __STDC__VERSION__ is defined
	before using it.
	* config/float/i32.h: Likewise.
	* config/float-i386.h: Likewise.
	* config/float-i64.h: Likewise.
	* config/float-m68k.h: Likewise.
	* config/float-sh.h: Likewise.
	* config/float-sparc.h: Likewise.

2001-10-11  Hans-Peter Nilsson  <hp@axis.com>

	* doc/contrib.texi: Add note about CRIS port to my entry.

2001-10-11  Kazu Hirata  <kazu@hxi.com>

	* basic-block.h: Fix formatting.
	* bitmap.h: Likewise.
	* cpplib.h: Likewise.
	* c-tree.h: Likewise.
	* diagnostic.h: Likewise.
	* flags.h: Likewise.
	* ggc.h: Likewise.
	* longlong.h: Likewise.
	* real.h: Likewise.
	* reload.h: Likewise.
	* rtl.h: Likewise.
	* tree.h: Likewise.

2001-10-10  Richard Henderson  <rth@redhat.com>

	* c-parse.in (asm_operand): Allow named operands.
	* genconfig.c (max_recog_operands): Set to 29.
	* local-alloc.c (requires_inout): Skip multiple digits.
	* recog.c (asm_operand_ok): Likewise.
	(preprocess_constraints): Use strtoul for matching constraints.
	(constrain_operands): Likewise.
	* regmove.c (find_matches): Likewise.
	* reload.c (find_reloads): Likewise.
	* stmt.c (parse_output_constraint): Don't reject in-out
	constraint on operands > 9.  Reject '[' in constraint.
	(expand_asm_operands): Handle named operands.  Use strtoul
	for matching constraints.
	(check_operand_nalternatives): Split out from expand_asm_operands.
	(check_unique_operand_names): New.
	(resolve_operand_names, resolve_operand_name_1): New.

	* doc/extend.texi (Extended Asm): Document named operands.
	* doc/md.texi (Simple Constraints): Document matching constraints
	on operands > 9.

2001-10-10  Richard Henderson  <rth@redhat.com>

	* combine.c (try_combine): Handle a SEQUENCE of one insn.

	* i386.c (test splitter): Narrow tests vs paradoxical subregs.
	(jcc splitters): Add two splitters to simplify compound compares
	that simplify_comparison can't handle.

2001-10-10  Richard Henderson  <rth@redhat.com>

	* langhooks.c: Include langhooks.h.
	* Makefile.in (langhooks.o): Depend on it.

Wed Oct 10 23:49:06 EDT 2001  John Wehle  (john@feith.com)

	* rtlanal.c (noop_move_p): Insns with a REG_RETVAL note
	should not be considered as a no-op.
	* flow.c (delete_noop_moves): Handle REG_LIBCALL notes.

2001-10-10  Stan Shebs  <shebs@apple.com>

	* alias.c: Remove uses of "register" specifier in declarations
	of arguments and local variables.
	* c-common.c: Ditto.
	* c-convert.c: Ditto.
	* c-decl.c: Ditto.
	* c-format.c: Ditto.
	* c-semantics.c: Ditto.
	* c-typeck.c: Ditto.
	* caller-save.c: Ditto.
	* calls.c: Ditto.
	* cfg.c: Ditto.
	* cfgbuild.c: Ditto.
	* cfgrtl.c: Ditto.
	* collect2.c: Ditto.
	* combine.c: Ditto.
	* convert.c: Ditto.
	* cppexp.c: Ditto.
	* cppfiles.c: Ditto.
	* cse.c: Ditto.
	* dbxout.c: Ditto.
	* defaults.h: Ditto.
	* df.c: Ditto.
	* dwarf2out.c: Ditto.
	* dwarfout.c: Ditto.
	* emit-rtl.c: Ditto.
	* explow.c: Ditto.
	* expmed.c: Ditto.
	* expr.c: Ditto.
	* final.c: Ditto.
	* fix-header.c: Ditto.
	* floatlib.c: Ditto.
	* flow.c: Ditto.
	* fold-const.c: Ditto.
	* function.c: Ditto.
	* gcc.c: Ditto.
	* gcse.c: Ditto.
	* gen-protos.c: Ditto.
	* genattrtab.c: Ditto.
	* gencheck.c: Ditto.
	* genconfig.c: Ditto.
	* genemit.c: Ditto.
	* genextract.c: Ditto.
	* genflags.c: Ditto.
	* gengenrtl.c: Ditto.
	* genoutput.c: Ditto.
	* genpeep.c: Ditto.
	* genrecog.c: Ditto.
	* gensupport.c: Ditto.
	* global.c: Ditto.
	* gmon.c: Ditto.
	* graph.c: Ditto.
	* haifa-sched.c: Ditto.
	* hard-reg-set.h: Ditto.
	* hash.c: Ditto.
	* integrate.c: Ditto.
	* jump.c: Ditto.
	* lists.c: Ditto.
	* local-alloc.c: Ditto.
	* loop.c: Ditto.
	* mips-tdump.c: Ditto.
	* mips-tfile.c: Ditto.
	* optabs.c: Ditto.
	* prefix.c: Ditto.
	* print-rtl.c: Ditto.
	* read-rtl.c: Ditto.
	* real.c: Ditto.
	* recog.c: Ditto.
	* reg-stack.c: Ditto.
	* regclass.c: Ditto.
	* regmove.c: Ditto.
	* reload.c: Ditto.
	* reload1.c: Ditto.
	* reorg.c: Ditto.
	* resource.c: Ditto.
	* rtl.c: Ditto.
	* rtlanal.c: Ditto.
	* scan.c: Ditto.
	* sched-deps.c: Ditto.
	* sched-rgn.c: Ditto.
	* sdbout.c: Ditto.
	* simplify-rtx.c: Ditto.
	* stmt.c: Ditto.
	* stor-layout.c: Ditto.
	* toplev.c: Ditto.
	* tradcif.y: Ditto.
	* tradcpp.c: Ditto.
	* tree.c: Ditto.
	* unroll.c: Ditto.
	* varasm.c: Ditto.
	* xcoffout.c: Ditto.

2001-10-10  Richard Henderson  <rth@redhat.com>

	* rtl.h (can_reverse_comparison_p): Remove.

2001-10-10  Christopher Faylor <cgf@redhat.com>

	* config/i386/cygwin.h: Avoid adding include files if -nostdinc is
	used.

2001-10-10  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>

	* config/i386/mingw32.h (WIN32_NO_ABSOLUTE_INST_DIRS): New define.
	(Thanks to Chris Faylor for suggesting macro name).
	(CPP_PREDEFINES): Define __MINGW32__ but don't set value; add more
	WIN32 defines.
	(STANDARD_INCLUDE_DIR): Remove i386- from directory name.
	(STANDARD_INCLUDE_COMPONENT): Change to MINGW.
	(MATH_LIBRARY): Undef before definition.
	(OUTPUT_QUOTED_STRING): Likewise.
	* config/i386/cygwin.h: Use WIN32_NO_ABSOLUTE_INST_DIRS.

2001-10-10  Richard Henderson  <rth@redhat.com>

	* unwind-dw2-fde.c (fde_compare_t): Change return type to int.
	(fde_unencoded_compare): Likewise.  Don't use subtraction to get
	a tristate comparison value.
	(fde_single_encoding_compare, fde_mixed_encoding_compare): Likewise.

2001-10-10  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	PR c++/4512
	* unroll.c (loop_iterations): Ignore insns generated by loop
	unrolling.

	* config.gcc (mips*-*-gnu*): Delete support.
	* config/mips/gnu.h: Remove.

2001-10-10  Kazu Hirata  <kazu@hxi.com>

	* calls.c: Fix formatting.
	* c-decl.c: Likewise.
	* cfgcleanup.c: Likewise.
	* combine.c: Likewise.
	* cppfiles.c: Likewise.
	* cpplib.c: Likewise.
	* cppmacro.c: Likewise.
	* crtstuff.c: Likewise.
	* cse.c: Likewise.
	* dwarf2out.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.
	* gcse.c: Likewise.
	* genattrtab.c: Likewise.
	* ggc-page.c: Likewise.
	* integrate.c: Likewise.
	* libgcc2.c: Likewise.
	* loop.c: Likewise.
	* optabs.c: Likewise.
	* profile.c: Likewise.
	* protoize.c: Likewise.
	* real.c: Likewise.
	* recog.c: Likewise.
	* reload1.c: Likewise.
	* reload.c: Likewise.
	* reorg.c: Likewise.
	* resource.c: Likewise.
	* sched-rgn.c: Likewise.
	* sdbout.c: Likewise.
	* stmt.c: Likewise.
	* toplev.c: Likewise.
	* varasm.c: Likewise.

2001-10-10  Janis Johnson  <janis187@us.ibm.com>, Alexandre Oliva  <aoliva@redhat.com>

	* langhooks.c: Include rtl.h, insn-config.h and integrate.h.
	* Makefile.in (langhooks.o): Add dependencies.

Wed Oct 10 00:41:29 EDT 2001  John Wehle  (john@feith.com)

	* rs6000.c (rs6000_emit_load_toc_table): Don't
	strdup the toc label.
	(create_TOC_reference): Likewise.

2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>

	* config.gcc (i[34567]86-*-mingw32*): Make msvcrt-dependent
	version default.

2001-10-09  Danny Smith  <danny_r_smith_2001@yahoo.co.nz>

	* config/i386/i386.c (ix86_attribute_table): Correct
	min_len, max_len fields for dllimport, dllexport and shared.

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

	* doc/c-tree.texi, doc/cppinternals.texi, doc/extend.texi,
	doc/install.texi, doc/md.texi, doc/rtl.texi, doc/tm.texi:
	Consistently use "nonzero" instead of "non-zero".

2001-10-09  Kazu Hirata  <kazu@hxi.com>

	* acconfig.h: Fix comment formatting.
	* c-dump.h: Likewise.
	* c-tree.h: Likewise.
	* conditions.h: Likewise.
	* expr.h: Likewise.
	* function.h: Likewise.
	* gthr.h: Likewise.
	* hwint.h: Likewise.
	* integrate.h: Likewise.
	* intl.h: Likewise.
	* loop.h: Likewise.
	* optabs.h: Likewise.

2001-10-09  Kazu Hirata  <kazu@hxi.com>

	* c-common.h: Fix comment formatting.
	* c-dump.c: Likewise.
	* cfg.c: Likewise.
	* diagnostic.h: Likewise.
	* except.c: Likewise.
	* gcc.h: Likewise.
	* gcov-io.h: Likewise.
	* genattrtab.c: Likewise.
	* output.h: Likewise.
	* predict.h: Likewise.
	* reload1.c: Likewise.
	* reload.h: Likewise.
	* resource.h: Likewise.
	* scan.h: Likewise.
	* system.h: Likewise.
	* tree.h: Likewise.
	* tree-inline.c: Likewise.
	* tsystem.h: Likewise.
	* varasm.c: Likewise.
	* xcoffout.h: Likewise.

2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi: Document preference for "nonzero" over "non-zero".

2001-10-09  Joseph S. Myers  <jsm28@cam.ac.uk>

	* config/alpha/freebsd.h, config/alpha/lib1funcs.asm,
	config/i386/i386elf.h, config/i386/netbsd-elf.h,
	config/i386/netware.h, config/mcore/gfloat.h,
	config/mcore/mcore.c, config/mcore/mcore.h, config/mcore/mcore.md,
	config/netware.h, gccbug.in: Update FSF address.

2001-10-09  Kazu Hirata  <kazu@hxi.com>

	* c-common.c: Fix comment typos.
	* cfgrtl.c: Likewise.
	* collect2.c: Likewise.
	* cpplex.c: Likewise.
	* doloop.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.
	* expr.c: Likewise.
	* fold-const.c: Likewise.
	* gcc.c: Likewise.
	* gcov.c: Likewise.
	* gcse.c: Likewise.
	* global.c: Likewise.
	* ifcvt.c: Likewise.
	* loop.c: Likewise.
	* optabs.c: Likewise.
	* protoize.c: Likewise.
	* regclass.c: Likewise.
	* reorg.c: Likewise.
	* rtl.h: Likewise.
	* stmt.c: Likewise.
	* tree.h: Likewise.
	* doc/cpp.texi: Likewise.
	* doc/c-tree.texi: Likewise.
	* doc/extend.texi: Likewise.
	* doc/invoke.texi: Likewise.
	* doc/objc.texi: Likewise.
	* doc/tm.texi: Likewise.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* varasm.c (set_named_section_flags): Initialize "declared".

2001-10-08  Robert Lipe  <robertlipe@usa.net>

	* varasm.c (struct in_named_entry): Add declared.
	(named_section_first_declaration): New function.
	(default_elf_asm_named_section): Use it.
	* output.h (named_section_first_declaration): New.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* i386.md (movsi_xor): Export.
	(setcc peep2): Use it when available; add an alternative to
	match zero_extendhisi2_and.

2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* romp-protos.h (romp_initialize_trampoline): New function.
	* romp.c (romp_initialize_trampoline): Likewise.
	* romp.h (INITIALIZE_TRAMPOLINE): Define in terms of
	romp_initialize_trampoline.

2001-10-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* m68k/3b1.h (ASM_OUTPUT_SOURCE_LINE): Don't reference `last_linenum'.
	* m68k/auxas.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
	* m68k/crds.h (ASM_OUTPUT_SOURCE_LINE): Likewise.
	* m68k/mot3300.h (ASM_OUTPUT_SOURCE_LINE): Likewise.

2001-10-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* unroll.c (loop_iterations): Extend check for multiple back edges.

2001-10-08  Alexandre Oliva  <aoliva@redhat.com>

	* langhooks.h: New file.
	* Makefile.in (OBJS): Added langhooks.o.
	(c-lang.o): Depend on langhooks.h.
	(c-common.o): Don't depend on tree-inline.h.
	(tree-inline.o): Depend on toplev.h.
	(langhooks.o): New rule.
	* c-common.c: Don't include tree-inline.h.
	(c_mark_lang_decl): Mark argument c as unused.
	(c_common_lang_init): Don't initialize hooks here.
	* c-lang.c: Include langhooks.h, then override some macros.
	(lang_hooks): Initialize with macros in langhooks.h.
	(c_init): Don't initialize hooks here.
	* toplev.c (struct lang_hooks_for_tree_inlining): New struct.
	(struct lang_hooks): Add tree_inlining.  Refer to langhooks.h.
	* tree-inline.c: Include toplev.h.  Don't define hook variables.
	* tree-inline.h: Don't define hook types nor declare hook
	variables.  Move macros to...
	* langhooks.c: ... new file, as functions.  Adjust all callers.

2001-10-08  Jeffrey A Law  <law@cygnus.com>

	* sibcall.c (optimize_sibling_and_tail_recursive_calls): Call
	purge_mem_unchanging_flag on all instructions, not just on those
	before NOTE_INSN_FUNCTION_BEG.

2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmacro.c (_cpp_create_definition): Leave comments off.

	* doc/cpp.texi: Update.

2001-10-08  DJ Delorie  <dj@redhat.com>

	* c-decl.c (grokfield): Make sure the only unnamed fields
	we're allowing are either structs or unions.
	* doc/extend.texi: Add documentation for the unnamed field
	extension.

2001-10-08  Zack Weinberg  <zack@codesourcery.com>

	* aclocal.m4 (gcc_AC_PROG_GNAT): New.
	* configure.in: Use it.
	* configure: Regenerated.
	* config/pa/t-linux, config/pa/t-pa, config/pa/t-pa64,
	config/pa/t-pro: Set T_ADAFLAGS, not ADA_CFLAGS.

2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (open_file): Don't mark zero-length files
	never-reread here.  Don't output diagnostics here either.
	(stack_include_file): Mark them never-reread here.
	(_cpp_read_file): Update.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* config/i386/sol2.h (UNALIGNED_DOUBLE_INT_ASM_OP): New.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* expr.c (store_expr): When converting a CONST_INT for storage
	in a SUBREG, convert it to both SUBREG modes before stripping
	the SUBREG.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* varasm.c (restore_varasm_status): New.
	* function.h: Declare it.
	* function.c (pop_function_context_from): Call it.

2001-10-08  Richard Henderson  <rth@redhat.com>

	* c-common.h (struct c_lang_decl): Add declared_inline.
	* c-tree.h (DECL_DECLARED_INLINE_P): New.
	* c-lang.c (c_disregard_inline_limits): Use it.
	* c-decl.c (duplicate_decls): Likewise.
	(pushdecl, redeclaration_error_message): Likewise.
	(pushdecl): Allocate DECL_LANG_SPECIFIC if needed.
	(grokdeclarator): Likewise.  Set DECL_DECLARED_INLINE_P.
	Set DECL_INLINE if -finline-functions.
	(store_parm_decls): Don't allocate DECL_LANG_SPECIFIC here.

2001-10-08  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmacro.c (funlike_invocation_p): Move some logic to caller
	in enter_macro_context.  Create a padding token in its own context
	if necessary when the search for '(' fails.
	(enter_macro_context): Update.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* ChangeLog.2, c-decl.c, config/i386/i386.md, doc/gcc.texi, gcc.c,
	genmultilib, toplev.c: Fix spelling errors of "separate" as
	"seperate", and corresponding spelling errors of related words.

2001-10-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* builtins.c (expand_builtin_setjmp_receiver): Const-ify.
	* c-common.c (fname_var_t, c_tree_code_type, c_tree_code_length):
	Likewise.
	* c-dump.c (dump_option_value_info): Likewise.
	* c-format.c (format_length_info, format_char_info,
	format_flag_spec, format_flag_pair, format_kind_info): Likewise.
	* collect2.c (names): Likewise.
	* cppdefault.h (default_include): Likewise.
	* cppexp.c (suffix, vsuf_1, vsuf_2, vsuf_3): Likewise.
	* flow.c (life_analysis): Likewise.
	* gcc.c (dir_separator_str, modify_target, option_map,
	target_option_translations, spec_list_1, extra_specs_1,
	init_spec): Likewise.
	* gcov.c (gcov_version_string): Likewise.
	* genattr.c (write_units): Likewise.
	* genattrtab.c (make_length_attrs, write_function_unit_info): Likewise.
	* gengenrtl.c (rtx_definition, defs): Likewise.
	* genrecog.c (pred_table): Likewise.
	* global.c (global_alloc): Likewise.
	* lcm.c (optimize_mode_switching): Likewise.
	* local-alloc.c (find_free_reg): Likewise.
	* params.h (param_info): Likewise.
	* predict.c (predictor_info): Likewise.
	* protoize.c (unexpansion_struct): Likewise.
	* real.c (bmask): Likewise.
	* recog.h (insn_operand_data, insn_data): Likewise.
	* regclass.c (initial_fixed_regs, initial_call_used_regs): Likewise.
	* stmt.c (expand_nl_goto_receiver): Likewise.
	* toplev.c (da, debug_args, lang_opt, documented_lang_options,
	target_switches, target_options): Likewise.
	* tradcif.y (token, tokentab2, yylex): Likewise.
	* tree.h (attribute_spec): Likewise.

	* alpha.c (override_options, alpha_lookup_xfloating_lib_func):
	Likewise.
	* arc.c (arc_output_function_epilogue): Likewise.
	* arm.c (processors, all_cores, all_architectures,
	arm_override_options, isr_attribute_arg, isr_attribute_args,
	arm_isr_value): Likewise.
	* avr.c (mcu_type_s, reg_class_tab, order_regs_for_local_alloc):
	Likewise.
	* c4x.c (c4x_int_reglist): Likewise.
	* d30v.c (override_options): Likewise.
	* h8300.c (shift_insn): Likewise.
	* i386.c (size_cost, i386_cost, i486_cost, pentium_cost,
	pentiumpro_cost, k6_cost, athlon_cost, pentium4_cost, ix86_cost,
	ix86_expand_sse_comi, ix86_expand_sse_compare, override_options,
	builtin_description, bdesc_comi, bdesc_2arg, bdesc_1arg,
	ix86_init_mmx_sse_builtins, ix86_expand_builtin): Likewise.
	* i386.h (processor_costs, ix86_cost): Likewise.
	* m68hc11.c (m68hc11_cost, m6811_cost, m6812_cost): Likewise.
	* m68hc11.h (processor_costs, m68hc11_cost): Likewise.
	* m68k.c (codes_68881, codes_FPA): Likewise.
	* m88k.c (mode_from_align, max_from_align, all_from_align,
	best_from_align, m_options): Likewise.
	* m88k.h (ORDER_REGS_FOR_LOCAL_ALLOC): Likewise.
	* mcore.c (mode_from_align): Likewise.
	* mips/elf64.h (UNIQUE_SECTION): Likewise.
	* mips/iris6gld.h (UNIQUE_SECTION): Likewise.
	* mips.c (mips_sw_reg_names, mips_regno_to_class): Likewise.
	* mips.h (mips_regno_to_class): Likewise.
	* ns32k.c (scales): Likewise.
	* pa.c (import_string, magic_milli): Likewise.
	* rs6000.c (alt_reg_names, rs6000_override_options): Likewise.
	* sparc.c (leaf_reg_remap, sparc_override_options,
	reg_leaf_alloc_order, reg_nonleaf_alloc_order, reg_alloc_orders):
	Likewise.
	* sparc.h (sparc_cpu_select, leaf_reg_remap): Likewise.

2001-10-07  Dale Johannesen  <dalej@apple.com>

	* reload1.c (reload_reg_free_p): Teach register interference
	checking that multiple output reloads are emitted in
	reverse order.
	reload1.c (reload_reg_reaches_end_p):  Ditto.
	reload1.c (reloads_conflict):  Ditto.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/c-tree.texi, doc/tm.texi: Consistently put NULL and
	NULL_TREE inside @code.

2001-10-07  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/gcc.texi: Document consistent style of "32-bit",
	"Objective-C", and "@code{NULL}".

2001-10-06  Zack Weinberg  <zack@codesourcery.com>

	* cpplex.c (enum spell_type): Add SPELL_NUMBER.
	(cpp_token_len, cpp_spell_token, cpp_output_token,
	_cpp_equiv_tokens): Handle it.
	* cpplib.h (TTYPE_TABLE): Use SPELL_NUMBER for CPP_NUMBER and
	CPP_COMMENT, SPELL_NONE for CPP_PADDING and CPP_EOF.
	* cppexp.c (_cpp_parse_expr): Use the correct operator code in
	error messages.

Sat Oct  6 07:42:39 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gcc.c (default_compilers): Remove .ada.

2001-10-06  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

2001-10-06  Zack Weinberg  <zack@codesourcery.com>

	* gcc.c (main): Set this_file_error if the appropriate
	compiler for a language has not been installed.

2001-10-06  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.c (s390_va_arg): Use set_mem_alias_set.

2001-10-05  Joseph S. Myers  <jsm28@cam.ac.uk>

	* gccbug.in (CATEGORIES): Add ada.

2001-10-05  Catherine Moore  <clm@redhat.com>

	* config/stormy16/stormy-abi:  Document abi changes.
	* config/stormy16/stormy16.h (REG_ALLOC_ORDER): Redefine.
	(ICALL_REGS): New register class.
	(NUM_ARGUMENT_REGISTERS): Now 6.
	(DEFAULT_PCC_STRUCT_RETURN): Don't try to return structs
	in registers.
	(REG_CLASS_FROM_LETTER): Map 'z' to ICALL_REGS.
	* config/stormy16.md (call_internal, call_value_internal,
	indirect_jump): Use new 'z' constraint.

2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

2001-10-05  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (FRAME_BEGIN_LABEL): New.
	(output_call_frame_info): Use it instead of __FRAME_BEGIN__ and
	the gas section-name-as-label feature.

2001-10-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

Fri Oct  5 08:17:46 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/i386/i386.c (ix86_split_to_parts): Use trunc_int_for_mode
	to ensure valid SImode constants.

2001-10-05  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in (c-decl.o): Depend on tree-inline.h.
	(c-lang.o): Likewise, as well as insn-config.h and integrate.h.
	* c-decl.c: Include tree-inline.h.
	(c_expand_body): Call optimize_inline_calls. Determine whether
	a function is inlinable upfront, and only clear
	DECL_SAVED_TREE, DECL_INITIAL and DECL_ARGUMENTS if it isn't.
	* c-lang.c: Include tree-inline.h, insn-config.h and integrate.h.
	(c_disregard_inline_limits): New function.
	(inline_forbidden_p, c_cannot_inline_tree_fn): Likewise.
	(c_post_options): Enable tree inlining if inlining is enabled.
	Don't inline trees when instrumenting functions.
	(c_init): Initialize lang_disregard_inline_limits and
	lang_cannot_inline_tree_fn.
	* tree-inline.c (initialize_inlined_parameters): Handle calls
	with fewer arguments than declared parameters, and fewer
	parameters than passed arguments.  Don't assume value is a
	DECL.
	(declare_return_variable): Convert return value back to the
	original type, if it was promoted.
	(tree_inlinable_function_p): New function.
	(inlinable_function_p): Don't look at DECL_INLINE if we're
	inlining all functions.  Make it work with a NULL id.
	Re-check DECL_UNINLINABLE after language-specific checks.
	* tree-inline.h (tree_inlinable_function_p): Declare it.
	* integrate.c (save_for_inline): Don't bother to prepare argvec
	when not inlining.
	* cse.c (check_for_label_ref): Don't check deleted labels.

	* Makefile.in (tree-inline.o): Depend on newly-included headers.
	* tree-inline.c: Include headers needed for the functions moved in.
	(struct inline_data, INSNS_PER_STMT): Moved from cp/optimize.c.
	(remap_decl, remap_block, copy_scopy_stmt, copy_body_r): Likewise.
	(copy_body, initialize_inlined_parameters): Likewise.
	(declare_return_variable, inlinable_function_p): Likewise.
	(expand_call_inline, expand_calls_inline): Likewise.
	(optimize_inline_calls, clone_body): Likewise.
	(walk_tree, walk_tree_without_duplicates): Moved from cp/tree.c.
	(copy_tree_r, remap_save_expr): Likewise.

2001-10-04  Alexandre Oliva  <aoliva@redhat.com>

	* Makefile.in (OBJS): Added tree-inline.o.
	(c-common.o): Depend on tree-inline.h.
	(tree-inline.o): New target.
	* c-common.c: Include tree-inline.h.
	(c_mark_lang_decl): Don't mark saved_tree.
	(c_common_lang_init): Set lang_anon_aggr_type_p.
	* c-common.h (walk_tree_fn, DECL_SAVED_TREE): Moved to tree.h.
	(struct c_lang_decl): Moved saved_tree to tree_decl.
	* ggc-common.c: Mark saved_tree and inlined_fns of FUNCTION_DECLs.
	* integrate.h (function_attribute_inlinable_p): Declare it.
	* integrate.c (function_attribute_inlinable_p): Export it.
	* tree-inline.c: New file.  Define variables declared in...
	* tree-inline.h: New file.  Declare functions to be moved to
	tree-inline.c.  Define macros and declare types and hooks for
	language-specific tree inlining.
	(flag_inline_trees): Moved definition from cp/decl2.c.
	* tree.h (walk_tree_fn, DECL_SAVED_TREE): Moved from c-common.h.
	(TREE_READONLY_DECL_P, DECL_INLINED_FNS): Moved from cp/cp-tree.h.
	(struct tree_decl): Moved saved_tree from c_lang_decl and
	inlined_fns from C++'s lang_decl.

2001-10-04  Loren J. Rittle  <ljrittle@acm.org>

	* Makefile.in (STAGE2_FLAGS_TO_PASS): Remove patches which
	propagated HOST_CC, HOST_CFLAGS, HOST_LDFLAGS and HOST_CPPFLAGS.

2001-10-04  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

2001-10-04  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (init_cumulative_args): Remember to set
	cum->prototype.
	* config.gcc: Redo linux configuration. Add target_cpu_default
	of soft-float to all mipsisa32 combinations and tx39.
	* config/mips/linux.h: Remove include of mips.h.

2001-10-03  Loren J. Rittle  <ljrittle@acm.org>

	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CFLAGS,
	HOST_LDFLAGS and HOST_CPPFLAGS.

2001-10-03  Ziemowit Laski  <zlaski@apple.com>

	* c-parse.in (objc_inherit_code, objc_pq_context,
	objc_public_flag): Make static.
	(objc_interface_context, objc_implementation_context,
	objc_method_context, objc_ivar_chain, objc_ivar_context): Move to
	global tree array in objc/objc-act.[ch].
	(methoddef): Remove unnecessary code.

	* objc/objc-act.c: (hashed_attribute, hashed_entry, imp_entry):
	Hoist struct definitions to objc-act.h.
	(nst_method_hash_list, cls_method_hash_list, imp_list, imp_count,
	cat_count): Place declaration in objc-act.h.
	(objc_tree_index): Move enumeration to objc-act.h.
	(objc_global_trees): Place declaration and macro accessors in
	objc-act.h.
	(implementation_context): Remove duplicate; use
	objc_implementation_context instead:
	(method_context): Remove duplicate; use objc_method_context
	instead.
	(objc_ellipsis_node, objc_method_prototype_template,
	implemented_classes, function_type): Move global vars to
	objc_global_trees.
	(init_objc): Use LAST_BASE_TREE_CODE instead of LAST_CODE.
	(build_message_expr): Move actual construction of ObjC message
	send nodes to finish_message_expr.
	(finish_message_expr): New routine, contains code formerly in
	build_message_expr.
	* objc/objc-act.h (finish_message_expr): New prototype.
	(objc_ivar_chain, objc_method_context, objc_ellipsis_node): Remove
	declarations; these vars are now part of objc_global_trees.
	(objc_tree_index, objc_global_trees): Move definitions from
	objc-act.c.
	* objc/objc-tree.def: Update copyright info.

Wed Oct  3 12:22:11 EDT 2001  John Wehle  (john@feith.com)

	* dwarf2asm.c (unaligned_integer_asm_op): Abort if
	op is NULL.
	* sparc/sysv4.h (UNALIGNED_DOUBLE_INT_ASM_OP): Use
	only if TARGET_ARCH64.

2001-10-02  Bernd Schmidt  <bernds@redhat.com>

	* doc/extend.texi: Fix some problems with previous checkin.
	* doc/invoke.texi: Likewise.

2001-10-02  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h: Update comments.
	(cpp_context): Update.
	(spec_nodes): Remove n__Pragma.
	* cppinit.c (cpp_create_reader): Update.
	(builtin_array): Add _Pragma.
	* cpplib.h: Update comments.
	(NODE_DISABLED, BT_PRAGMA): New.
	(cpp_start_lookahead, cpp_stop_lookahead): Remove prototypes.
	* cppmacro.c (struct cpp_macro): Remove disabled.
	(builtin_macro): Return int, handle _Pragma, push the new token
	on the context stack.
	(funlike_invocation_p): Unconstify, update.
	(enter_macro_context): Handle builtins here.
	(replace_args, push_token_context, push_ptoken_context):
	Update for prototype changes.
	(_cpp_pop_context): Update.
	(cpp_get_token): Don't handle buitins, nor _Pragma here.
	(cpp_sys_macro_p): Update.
	(_cpp_free_definition): Clear disabled flag.
	(_cpp_create_definition): Upate.
	* cppmain.c: Update comments.

Tue Oct  2 12:46:01 CEST 2001  Bo Thorsen     <bo@suse.co.uk>,
				Andreas Jaeger <aj@suse.de>,
				Jan Hubicka    <jh@suse.cz>

	* doc/invoke.texi (i386 Options): Document x86-64 options.
	(i386 and x86-64 Options): Rename i386 options section.

	* config/i386/i386.h (TARGET_UNWIND_INFO): New.
	(TARGET_SWITCHES): Add -munwind-info.
	(MASK_NO_UNWIND_INFO): New.
	(NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define for
	biarch compilation.
	(ASM_OUTPUT_DOUBLE_INT): New.

	* config/i386/linux64.h: New spec file for Linux x86-64 support.
	* config.gcc: Fix tm_file settings for x86-64.
	* config/i386/x86-64.h: New file with OS independent x86-64
	definitions.
	* config/i386/biarch64.h: New file used to configure compiler
	to biarch/64bit compilation.

	* config/i386/i386.c: (override_options): Set flags default
	for 64bit compilation.

Tue Oct  2 12:46:01 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (legitimize_pic_address): Add missing bits of 64bit support.
	(ix86_expand_int_movcc): Optimize DImode conditional moves with
	constants on x86_64.
	(ix86_attr_length_immediate_default): Support MODE_DI.
	* i386.md (fixdi splitter): Add missing "&& 1" in splitter
	condition.
	(indirect_jump, tablejump): Turn into expander.

2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-common.c (c_format_attribute_table): Make format and
	format_arg attributes apply to function types rather than to
	decls.
	(is_valid_printf_arglist): Construct an attribute list and pass
	that to check_function_format rather than a name.
	* c-common.h (check_function_format): Adjust prototype.
	* c-decl.c (duplicate_decls): Preserve attributes from type of
	built-in decl when allowing for harmless conflict in types.
	* c-format.c (record_function_format,
	record_international_format, function_format_list,
	international_format_info, international_format_list): Remove.
	(function_format_info): Remove next, name and assembler_name.
	Make format_num and first_arg_num be unsigned HOST_WIDE_INT.
	(decode_format_attr): New.
	(handle_format_attribute): Handle receiving a type rather than a
	decl.  Call decode_format_attr.  Store format information in a
	function_format_info.
	(handle_format_arg_attribute): Correct comment.  Handle receiving
	a type rather than a decl.  Use unsigned HOST_WIDE_INT for
	arg_num.
	(check_format_info_recurse, check_format_info_main): Take argument
	numbers as unsigned HOST_WIDE_INT.
	(check_function_format): Take a list of attributes from the
	function type rather than a name or assembler name.  Check for
	format attributes in that list and the attributes on the type of
	the current function rather than looking through
	function_format_list.
	(check_format_info): Use unsigned HOST_WIDE_INT for argument
	numbers.
	(check_format_info_recurse): Take format_arg attributes from the
	type of the function calls rather than using
	international_format_list.  Allow for multiple format_arg
	attributes.
	* c-typeck.c (build_function_call): Pass type attributes to
	check_function_format rather than name or assembler name.  Don't
	require there to be a name or assembler name to check formats.

2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>

	* attribs.c (decl_attributes): Possibly call
	insert_default_attributes to insert default attributes on
	functions in a lazy manner.
	* builtin-attrs.def: New file; define the default format and
	format_arg attributes.
	* c-common.c (c_format_attribute_table): Move to earlier in the
	file.
	(c_common_nodes_and_builtins): Initialize format_attribute_table.
	(enum built_in_attribute, built_in_attributes,
	c_attrs_initialized, c_init_attributes,
	c_common_insert_default_attributes): New.
	(c_common_lang_init): Don't initialize format_attribute_table.  Do
	call c_init_attributes.
	* Makefile.in (c-common.o): Depend on builtin-attrs.def.
	* c-common.h (init_function_format_info): Don't declare.
	(c_common_insert_default_attributes): Declare.
	* c-decl.c (implicitly_declare, builtin_function): Call
	decl_attributes.
	(init_decl_processing): Don't call init_function_format_info.
	(insert_default_attributes): New.
	* c-format.c (handle_format_attribute,
	handle_format_arg_attribute): Be quiet about inappropriate
	declaration when applying default attributes.
	(init_function_format_info): Remove.
	* tree.h (enum attribute_flags): Add ATTR_FLAG_BUILT_IN.
	(insert_default_attributes): Declare.

2001-10-02  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-format.c (CPLUSPLUS_STD_VER): Define to STD_C94.

2001-10-01  Jim Wilson  <wilson@redhat.com>

	* sched-deps.c (add_dependence): When elide conditional dependence,
	check that insn doesn't modify cond2.

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

	* config/rs6000/rs6000.h (enum processor_type): Add support
	for 7400 (G4) and 7450.
	(RTX_COSTS): Ditto.
	* config/rs6000/rs6000.c (rs6000_override_options): Ditto.
	(rs6000_issue_rate): Ditto.
	(rs6000_adjust_cost): Fix cycle counts for compares.
	(debug_stack_info):  Fix an obvious typo.
	* config/rs6000/rs6000.md: Add functional units for 7400 and 7450.
	* doc/invoke.texi: Document.
	* config/rs6000/darwin.h (TARGET_DEFAULT): Set to be reasonable
	for Darwin.
	(PROCESSOR_DEFAULT): Ditto.

2001-10-01  Loren J. Rittle  <ljrittle@acm.org>

	* Makefile.in (STAGE2_FLAGS_TO_PASS): Propagate HOST_CC.
	(fixinc.sh): Map CC, CFLAGS and LDFLAGS to HOST_* versions for
	later recursive make invocation.

2001-10-01  Hans Boehm  <boehm@acm.org>

	* optabs.c (emit_libcall_block): When using non-call exceptions,
	don't add REG_LIBCALL reg notes to trapping calls.

2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>

	* flow.c (propagate_block_delete_libcall): Remove unused first arg
	(propagate_one_insn):  Update for above change

2001-10-01  David Billinghurst <David.Billinghurst@riotinto.com>

	* unwind-sjlj.c (_Unwind_GetRegionStart, _Unwind_GetDataRelBase,
	_Unwind_GetTextRelBase): Argument is unused.

Mon Oct  1 19:20:57 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR.
	Loop through NOPs, placeholders, and components.
	Don't go through NOPs if change mode.
	(record_alias_subset): Do nothing if SUBSET and SET are the same.
	* emit-rtl.c (set_mem_alias_set): Enable check.
	* expr.c (find_placeholder): New function.
	(expand_expr, case PLACEHOLDER_EXPR): Use it.
	(expand_expr, case COMPONENT_EXPR): Always copy OP0 when we need
	to modify it and avoid unneeded copies.
	* expr.h (expand_expr): Always define.
	(find_placeholder): New declaration.

2001-10-01  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("add-split"): Fix add split when
	operand 2 is the stack pointer.
	("addr-peephole"): Fix address computation peephole when operand 2
	is the stack pointer.

Mon Oct  1 09:26:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/i386/i386.c (ix86_va_arg): Call set_mem_alias_set.
	(ix86_setup_incoming_varargs): Likewise.

2001-10-01  Jason Merrill  <jason_merrill@redhat.com>

	* stor-layout.c (layout_type): Don't complain about too-large
	array here.

Mon Oct  1 06:43:41 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* function.c (keep_stack_depressed): Don't use delete_insn.

	* expr.h (set_mem_alias_set): Move decl to here.
	* rtl.h (mem_attrs): New typedef and struct.
	(union rtunion_def): Add field for mem_attrs.
	(X0MEMATTR, MEM_ATTRS): New macros.
	(MEM_ALIAS_SET): Use MEM_ATTRS.
	(MEM_DECL, MEM_OFFSET, MEM_SIZE, MEM_ALIGN): New macros.
	(MEM_COPY_ATTRIBUTES): Copy MEM_ATTRS.
	(set_mem_alias_set): Delete decl from here.

	* alias.c (set_mem_alias_set): Delete from here.
	* emit-rtl.c (mem_attrs_htab): New variable.
	(rtx_htab_mark, rtx_htab_mark_1): Deleted.
	(mem_attrs_htab_hash, mem_attrs_htab_eq): New functions.
	(mem_attrs_mark, get_mem_attrs): Likewise.
	(gen_rtx_MEM): Clear MEM_ATTRS.
	(set_mem_attributes): Move to here.
	(set_mem_alias_set): Likewise, and call get_mem_attrs.
	(init_emit_once): const_int_htab now deletable htab.
	Initialize mem_attrs_htab.
	* explow.c (set_mem_attributes): Delete from here.
	* function.c (put_var_into_stack): Clear MEM_ATTRS.
	(gen_mem_addressof): Likewise; rework to use set_mem_attributes.
	* ggc-common.c (ggc_mark_rtx_children, case MEM): New case.
	* reload1.c (reload): Rework changing REG to MEM.

2001-09-30  H.J. Lu <hjl@gnu.org>

	* acconfig.h (PREFIX_INCLUDE_DIR): New variable.
	* config.in: Rebuild.

2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("cmpqi_1"): Fix constraints.
	("tsthi_1"): Avoid allocation in register y.
	("*movqi_68hc12"): Reorganize and fix constraints.
	("zero_extendqisi2"): Prefer d over x and y for operand 1.
	("addqi3"): Likewise.
	("addhi3"): Fix constraints.
	("*logicalhi3_zexthi"): Disparage soft registers.

2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Fix move of sp
	to tmp reg.

2001-09-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.h(INCOMING_RETURN_ADDR_RTX): Remove so
	that we use setjmp/longjmp exceptions.

2001-09-30  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (POOL_ALIGN, POOL_FRONT, POOL_LIMIT, POOL_BASE,
	POOL_SIZE, POOL_ROOM, POOL_COMMIT, struct cpp_chunk,
	struct cpp_pool, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
	_cpp_pool_alloc, _cpp_next_chunk): Remove.
	(_cpp_extend_buff, BUFF_ROOM): Update.
	(_cpp_append_extend_buff): New.
	(struct cpp_reader): Remove macro_pool, add a_buff.
	* cppinit.c (cpp_create_reader): Initialize a_buff, instead of
	macro_pool.
	(cpp_destroy): Free a_buff instead of macro_pool.
	* cpplex.c (new_chunk, chunk_suitable, _cpp_next_chunk,
	new_chunk, _cpp_init_pool, _cpp_free_pool, _cpp_pool_reserve,
	_cpp_pool_alloc, ): Remove.
	(parse_number, parse_string): Update use of _cpp_extend_buff.
	(_cpp_extend_buff): Update.
	(_cpp_append_extend_buff, cpp_aligned_alloc): New.
	* cpplib.c (glue_header_name, parse_answer):
	Update use of _cpp_extend_buff.
	(cpp_register_pragma, cpp_register_pragma_space): Use
	_cpp_aligned_alloc.
	(do_assert, do_unassert): Check for EOL, update.
	* cppmacro.c (stringify_arg, collect_args): Update to use
	_cpp_extend_buff and _cpp_append_extend_buff.
	(save_parameter, parse_params, alloc_expansion_token,
	_cpp_create_definition): Rework memory management.

2001-09-29  Andris Pavenis  <pavenis@lanet.lv>

	* config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): Don't
	update md_exec_prefix.
	(UPDATE_PATH_HOST_CANONICALIZE): Don't free PATH as it can point
	to string constant.

2001-09-30  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.h (EXTRA_CC_MODES): Add CCLmode.
	(SELECT_CC_MODE): Use s390_select_ccmode.
	* config/s390/s390-protos.h (s390_select_ccmode): Add.
	* config/s390/s390.c (s390_select_ccmode): New.
	(s390_match_ccmode): Add CCLmode.
	(s390_branch_condition_mask, s390_branch_condition_mnemonic): New.
	(output_branch_condition, output_inverse_branch_condition): Removed.
	(print_operand): Use s390_branch_condition_mnemonic.
	* config/s390/s390.md (addsi3_cc, addsi3_cconly, addsi3_cconly2,
	subsi3_cc, subsi3_cconly): Use logical instructions and CCLmode.
	(bunordered, bordered, buneq, bungt, bunlt, bnuge, bunle, bltgt): New.

	* config/s390/s390.c (check_and_change_labels): Preserve CC mode
	when converting conditional branches to far branches.
	* config/s390/s390.md (cmpstr_const, cmpstr_64, cmpstr_31, cmpint_si,
	cmpint_di): Use CCSmode instead of CCUmode.

	* config/s390/s390.c (legitimate_la_operand_p): New.
	* config/s390/s390-protos.h (legitimate_la_operand_p): Add.
	* config/s390/s390.md (movsi): Convert load address patterns to
	arithmetic operations when necessary.
	(addaddr_picR, addaddr_picL, addaddr_picN): Removed.
	(do_la): Renamed to *do_la and use legitimate_la_operand_p.
	(*do_la_reg_0): Don't use before reload.

	* config/s390/s390.c (legitimize_address): Make more efficient
	use of two-register addressing mode.

	* config/s390/s390.c (s390_function_prologue): Fix incorrect prolog
	with -mno-backchain in some corner cases.

	* config/s390/s390.md (cmpsi_cct): Operands 0 and 1 do not commute.

2001-09-29  Alexandre Oliva  <aoliva@redhat.com>

	* reload.c (find_reloads): Mark new USE insns with QImode.
	(find_reloads_toplev, find_reloads_address, subst_reg_equivs,
	find_reloads_subreg_address): Likewise.
	* regrename.c (note_sets, clear_dead_regs): Abort if pseudos are
	encountered.
	* reload1.c (reload_combine_note_use): Likewise, inside USEs and
	CLOBBERs.
	(reload): Make sure there are no USEs with mode other than
	VOIDmode.  At the end, remove those marked with QImode.

2001-09-29  Per Bothner  <per@bothner.com>

	* cppdefault.c (cpp_include_defaults):  Also search PREFIX_INCLUDE_DIR.
	* Makefile.in (includedir):  Rename to local_includedir.
	(includedir):  Define as $(prefix)/include.
	* config.in (PREFIX_INCLUDE_DIR):  New variable.
	* configure.in (PREFIX_INCLUDE_DIR):  Test for new variable.

2001-09-29  Bernd Schmidt  <bernds@redhat.com>

	* config/i386/i386.c (init_mmx_sse_builtins): Fix type of storelps and
	storehps builtins.
	* doc/extend.texi (Vector Extensions): New node.
	* doc/invoke.texi (Machine Dependent Options): Add documentation for
	i386 -mmmx, -msse, -m3dnow.

Sat Sep 29 15:08:16 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* doc/invoke.texi (Optimize Options): Revert an accidental checkin.

2001-09-29  Hans-Peter Nilsson  <hp@axis.com>

	* cse.c (cse_insn) [HAVE_cc0]: Fix typo delete-insn -> delete_insn.

	* doc/invoke.texi (Optimize Options): Delete spurious @table.

2001-09-28  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_integer): Bound alignment check by
	BIGGEST_ALIGNMENT.

	* cfgrtl.c (redirect_edge_and_branch): Abort if redirect_jump fails.

2001-09-28  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/i386/sol2.h (CPLUSPLUS_CPP_SPEC): Define.

2001-09-25  Bernd Schmidt  <bernds@redhat.com>

	Mostly from Graham Stott  <grahams@redhat.com>
	* c-common.c (type_for_mode): Add support for V2SFmode.
	* tree.c (build_common_tree_nodes_2): Likewise.
	* tree.h (enum tree_index, global_trees): Likewise.
	* config/i386/i386.c (x86_3dnow_a): New variable.
	(override_options): Support 3Dnow extensions.
	(bdesc_2arg, bdesc_1arg): Some SSE instructions are also part of
	Athlon's version of 3Dnow.
	(ix86_init_mmx_sse_builtins): Create 3Dnow builtins.
	(ix86_expand_builtin): Handle them.
	(ix86_hard_regno_mode_ok): Support V2SFmode if using 3Dnow.
	* config/i386/i386.h (MASK_3DNOW, MASK_3DNOW_A, TARGET_3DNOW,
	TARGET_3DNOW_A): New macros.
	(TARGET_SWITCHES): Add 3Dnow switches.
	(VALID_MMX_REG_MODE_3DNOW): New macro.
	(VECTOR_MODE_SUPPORTED_P): Use it.
	(enum ix86_builtins): Add entries for 3Dnow builtins.
	* config/i386/i386.md (movv2sf_internal, movv2sf, pushv2sf, pf2id,
	pf2iw, addv2sf3, subv2sf3, subrv2sf3, gtv2sf3, gev2sf3, eqv2sf3,
	pfmaxv23sf3, pfminv2sf3, mulv2sf3, femms, prefetch_3dnow, prefetchw,
	pfacc, pfnacc, pfpnacc, pi2fw, floatv2si2, pavgusb, pfrcpv2sf2,
	pfrcpit1v2sf3, pfrcpit2v2sf3, pfrsqrtv2sf2, pfrsqit1v2sf3,
	pmulhrwvhi3, pswapdv2si2, pswapdv2sf2): New patterns.
	(mmx_pmovmskb, mmx_maskmovq, sse_movntdi, umulv4hi3_highpart,
	mmx_uavgv8qi3, mmx_uavgv4hi3, mmx_psadbw, mmx_pinsrw, mmx_pextrw,
	mmx_pshufw, umaxv8qi3, smaxv4hi3, uminv8qi3, sminv4hi3, sfence,
	sfence_insn, prefetch): Make these available if TARGET_SSE or
	TARGET_3DNOW_A.

Fri Sep 28 19:18:40 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386-protos.h (ix86_setup_incoming_varargs, ix86_va_arg,
	ix86_va_start, ix86_build_va_list): Declare.
	* i386.c (ix86_setup_incoming_varargs, ix86_va_arg,
	ix86_va_start, ix86_build_va_list): New global functions.
	* i386.md (sse_prologue_save_insn): New insn.
	(sse_prologue_save): New expander.
	* i386.h (EXPAND_BUILTIN_VA_ARG, EXPAND_BUILTIN_VA_START,
	BUILD_VA_LIST_TYPE, SETUP_INCOMING_VARARGS): New macros.

2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplex.c (new_buff, _cpp_get_buff, _cpp_extend_buff):
	Use size_t everywhere, make definitions consistent with
	prototypes.

Fri Sep 28 14:59:34 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* gcse.c (replace_store_insn): Use delete_insn.
	* loop.c (move_movables): Likewise; avoid delete_insn
	from clobbering notes moved elsewhere.
	(check_dbra_loop): Use delete_insn.
	* ssa.c (convert_from_ssa): Likewise.
	* cse.c (cse_insn): Use delete_insn.

2001-09-28  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_buff): Make unsigned.
	(_cpp_get_buff): Take length of size_t.
	(_cpp_unaligned_alloc): New.
	(BUFF_ROOM, BUFF_FRONT, BUFF_LIMIT): New.
	(struct cpp_reader): Remove ident_pool.  Add u_buff.
	* cppinit.c (cpp_create_reader): Initialize u_buff, not ident_pool.
	(cpp_destroy): Destroy u_buff, not ident_pool.
	* cpplex.c (parse_number, parse_string, save_comment,
	cpp_token_as_text): Update to use the unaligned buffer.
	(new_buff): Make unsigned.
	(_cpp_unaligned_alloc): New.
	* cpplib.c (glue_header_name): Update to use the unaligned buffer.
	* cppmacro.c (new_number_token, builtin_macro, stringify_arg):
	Similarly.
	(collect_args): Make unsigned.

2001-09-27  Zack Weinberg  <zack@codesourcery.com>

	* cpplex.c (cpp_output_token): Use a putc loop for
	SPELL_OPERATOR, and fwrite for SPELL_IDENT.

	* configure.in: Detect fwrite_unlocked and fprintf_unlocked.
	* configure, config.in: Regenerate.
	* system.h: Replace fwrite and fprintf with their unlocked
	variants if available.

2001-09-27  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (dwarf2out_frame_finish): Never elide .debug_frame
	in favour of .eh_frame.

2001-09-27  Aldy Hernandez  <aldyh@redhat.com>

	* config/rs6000/rs6000.h (FUNCTION_VALUE): Change hardcoded 33 and 3
	to macros.
	(LIBCALL_VALUE): Likewise.

2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h: Update comment.
	* cpplex.c: Update comments.
	(_cpp_can_paste): Remove.
	* cpplib.h (_cpp_can_paste): Remove.
	* cppmacro.c (paste_tokens, paste_all_tokens): Update to use the
	lexer rather than _cpp_can_paste.

2001-09-27  Neil Booth  <neil@daikokuya.demon.co.uk>

	* doc/cppinternals.texi: Update.

2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_pool): Remove locks and locked.
	(struct cpp_context): Add member buff.
	(struct cpp_reader): Remove member argument_pool.
	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
	* cppinit.c (cpp_create_reader, cpp_destroy): Argument_pool is dead.
	* cpplex.c (chunk_suitable): Remove pool argument.
	(MIN_BUFF_SIZE, BUFF_SIZE_UPPER_BOUND, EXTENDED_BUFF_SIZE): New.
	(new_buff, _cpp_extend_buff): Update.
	(_cpp_get_buff): Fix silly pointer bug.  Be more selective about
	which buffer is returned.
	(_cpp_next_chunk, _cpp_init_pool): Pool locking removed.
	(_cpp_lock_pool, _cpp_unlock_pool): Remove.
	* cppmacro.c (lock_pools, unlock_pools): Remove.
	(push_ptoken_context): Take a _cpp_buff.
	(enter_macro_context): Pool locking removed.
	(replace_args): Use a _cpp_buff for the replacement list with
	arguments replaced.
	(push_token_context): Clear buff.
	(expand_arg): Use _cpp_pop_context.
	(_cpp_pop_context): Free a context's buffer, if any.

2001-09-26  DJ Delorie  <dj@redhat.com>

	* c-typeck.c (digest_init): Check for sizeless arrays.

2001-09-26  Richard Henderson  <rth@redhat.com>

	* optabs.c (init_one_libfunc): Create a dummy function type
	instead of using error_mark_node.

2001-09-26  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct _cpp_buff, _cpp_get_buff, _cpp_release_buff,
	_cpp_extend_buff, _cpp_free_buff): New.
	(struct cpp_reader): New member free_buffs.
	* cppinit.c (cpp_destroy): Free buffers.
	* cpplex.c (new_buff, _cpp_release_buff, _cpp_get_buff,
	_cpp_extend_buff, _cpp_free_buff): New.
	* cpplib.h (struct cpp_options): Remove unused member.
	* cppmacro.c (collect_args): New.  Combines the old parse_arg
	and parse_args.  Use _cpp_buff for memory allocation.
	(funlike_invocation_p, replace_args): Update.

Wed Sep 26 13:20:51 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* final.c (final_scan_insn): Use delete_insn instead of delete_note.

2001-09-25  Andrew Haley  <aph@cambridge.redhat.com>

	* except.c (sjlj_mark_call_sites): Change address inside sequence.

2001-09-24  Andrew Haley  <aph@cambridge.redhat.com>

	* config/sh/linux.h (LINK_SPEC): Set dynamic-linker to agree with
	glibc.

2001-09-25  Janis Johnson  <janis187@us.ibm.com>
	    Jim Wilson  <wilson@redhat.com>

	* doc/install.texi (Specific, ia64-*-linux): Document.

Tue Sep 25 17:13:56 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* Makefile.in (cfgrtl.o): Add.
	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
	free_aux_for_edge): Declare.
	* cfg.c
	(HAVE_return): Undefine.
	* basic-block.h (alloc_block, alloc_aux_for_block, alloc_aux_for_blocks,
	free_aux_for_block, alloc_aux_for_edge, alloc_aux_for_edges,
	free_aux_for_edge): New global functions.
	(first_delete_block): New static variable.
	(init_flow): Clear first_delete_block.
	(basic_block_for_insn, label_value_list, tail_recursion_label_list,
	 can_delete_note_p, can_delete_label_p, commit_one_edge_insertion,
	 try_redirect_by_replacing_jump, last_loop_beg_note,
	 back_edge_of_syntactic_loop_p, force_nonfallthru_and_redirect,
	 delete_insn, delete_insn_chain, create_basic_block_structure,
	 create_basic_block, flow_delete_block, compute_bb_for_insn,
	 free_bb_for_insn, update_bb_for_insn, set_block_for_insn,
	 set_block_for_new_insns, split_block, merge_blocks_nomove,
	 block_label, try_redirect_by_replacing_jump, last_loop_beg_note,
	 redirect_edge_and_branch, force_nonfallthru_and_redirect,
	 force_nonfallthru, redirect_edge_and_branch_force, tidy_fallthru_edge,
	 tidy_fallthru_edges, split_edge, insert_insn_on_edge,
	 commit_one_edge_insertion, commit_edge_insertions, dump_bb, debug_bb,
	 debug_bb_n, print_rtl_with_bb, verify_flow_info, purge_dead_edges,
	 purge_all_dead_edges): Move to ....
	* cfgrtl.c: New file; .... Here.

	* bb-reorder.c (fixup_reorder_chain): Use alloc_aux_for_block.
	(reroder_basic_block): Use alloc_aux_for_blocks.
	* predict.c (estimate_bb_frequencies): Likewise; use
	alloc_aux_for_edges.
	* profile.c (compute_branch_probabilities): Likewise.
	(branch_prob): Likewise.
	* reg-stack.c (reg_to_stack): Likewise.

	* emit-rtl.c (emit_insns_after): Never return NULL.

	* basic-block.h (set_block_for_new_insns): Delete.
	* cfgrtl.c (set_block_for_new_insns): Delete.

	* cfgcleanup.c (try_optimize_cfg): Add fake exit edges for noreturn
	calls when crossjumping.

	* cfgcleanup.c (try_simplify_condjump): Cleanup invert_jump call.
	* unroll.c (copy_loop_body): Use delete_insn.

	* final.c (final, final_scan_insn): Use delete_insn/delete_note.
	* function.c (fixup_var_refs_insn, fixup_var_refs_1,
	keep_stack_depressed): Likewise.
	* gcse.c (cprop_cc0_jump): Likewise.
	* local-alloc.c (update_equiv_regs): Likewise.
	* loop.c (scan_loop, loop_delete_insns): Likewise.
	* regmove.c (try_auto_increment, fixup_match_1): Likewise.
	* reload1.c (reload, calculate_needs_all_insns, reload_as_needed,
	delete_output_reload, delete_address_reloads_1,
	reload_cse_delete_noop_set, reload_combine, reload_cse_move2add):
	Likewise.
	* sibcall.c (replace_call_placeholder): Likewise.
	* cse.c (cse_insn): Likewise.

2001-09-25  Bernd Schmidt  <bernds@redhat.com>

	From Graham Stott  <grahams@redhat.com>
	(def_builtin): Only define builtins appropriate for target_flags.  All
	callers changed.
	(builtin_decsription): Add new field mask which is used to determine
	when to define the builtin via the macro def_builtin.

	(bdesc_comi): Initialise new mask fields.
	(bdesc_2srg): Likewise.
	(bdesc_1arg): Likewise.

	* config/i386/i386.c (ix86_init_builtins): Correct return type
	building v4hi_ftype_v4hi_int_int tree node.
	(ix86_expand_sse_comi): Fix typo swapping operands.
	Don't swap comparision condition, it is already swapped.
	(ix86_expand_sse_compare): Before swapping operands
	move operand 1 into new rtx and not the target rtx.
	Don't swap comparison condition, it is already swapped.
	Always check whether we need to create a new TARGET.

	* config/i386/i386.md: (sse_comi) Fix typos.
	(sse_ucomi): Likewise.
	(cvtss2si): Fix operand 0 contraint.
	(cvttss2si): Likewise.
	(sse_unpckhps): Fix mode for operand 2.
	(sse_unpcklps): Likewise.

2001-09-25  Graham Stott  <grahams@redhat.com>

	* sibcall.c (skip_copy_to_return_value): Tighten return value
	copy check.

2001-09-24  David Edelsohn  <edelsohn@gnu.org>

	* rs6000.c (lwa_operand): Address must be word aligned.

Mon Sep 24 18:57:59 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* tree.c (type_hash_marked_p): Consider as marked if debug symbol
	number has been set.
	(type_hash_mark): Mark type itself.

2001-09-24  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-lex.c (cb_def_pragma): Update.
	(c_lex): Update, and skip padding.
	* cppexp.c (lex, parse_defined): Update, remove unused variable.
	* cpphash.h (struct toklist): Delete.
	(union utoken): New.
	(struct cpp_context): Update.
	(struct cpp_reader): New members eof, avoid_paste.
	(_cpp_temp_token): New.
	* cppinit.c (cpp_create_reader): Update.
	* cpplex.c (_cpp_temp_token): New.
	(_cpp_lex_direct): Add PREV_WHITE when parsing args.
	(cpp_output_token): Don't print leading whitespace.
	(cpp_output_line): Update.
	* cpplib.c (glue_header_name, parse_include, get__Pragma_string,
	do_include_common, do_line, do_ident, do_pragma,
	do_pragma_dependency, _cpp_do__Pragma, parse_answer,
	parse_assertion): Update.
	(get_token_no_padding): New.
	* cpplib.h (CPP_PADDING): New.
	(AVOID_LPASTE): Delete.
	(struct cpp_token): New union member source.
	(cpp_get_token): Update.
	* cppmacro.c (macro_arg): Convert to use pointers to const tokens.
	(builtin_macro, paste_all_tokens, paste_tokens, funlike_invocation_p,
	replace_args, quote_string, stringify_arg, parse_arg, next_context,
	enter_macro_context, expand_arg, _cpp_pop_context, cpp_scan_nooutput,
	_cpp_backup_tokens, _cpp_create_definition): Update.
	(push_arg_context): Delete.
	(padding_token, push_token_context, push_ptoken_context): New.
	(make_string_token, make_number_token): Update, rename.
	(cpp_get_token): Update to handle tokens as pointers to const,
	and insert padding appropriately.
	* cppmain.c (struct printer): New member prev.
	(check_multiline_token): Constify.
	(do_preprocessing, cb_line_change): Update.
	(scan_translation_unit): Update to handle spacing.
	* scan-decls.c (get_a_token): New.
	(skip_to_closing_brace, scan_decls): Update.
	* fix-header.c (read_scan_file): Update.

	* doc/cpp.texi: Update.

2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
	leak by passing malloc'ed pointer to reconcat, not concat.

2001-09-24  DJ Delorie  <dj@redhat.com>

	* varasm.c (array_size_for_constructor): Handle STRING_CSTs also.

2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:

	* flow.c (delete_dead_jumptables): Delete jumptable if the only
	reference is from the literal pool.

2001-09-24  Janis Johnson  <janis187@us.ibm.com>

	* doc/install.texi (Final install): Request additional information
	in mail about successful builds.

2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
	initial value of return pointer register instead of value in frame-20.
	Revise comments.

2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
	(ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
	the libcall if there isn't a referenced identifier for the symbol.

2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
	non 64-bit machines.  Use these as a plabel for the trampoline.
	(TRAMPOLINE_SIZE): Adjust size for new words.
	(INITIALIZE_TRAMPOLINE): Initialize new words.
	(TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
	pointer to the plabel in the trampoline.

2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (function_arg): Pass floating arguments in both general and
	floating registers in indirect (dynamic) calls when generating code
	for the 32 bit ABI and the HP assembler.

2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* doc/install.texi: Markup fixes.
	Use Solaris 2, SunOS 4 as appropriate.
	(Specific, *-*-solaris2*): Explain this.
	Unconditionally warn against /usr/ucb tools.
	Remove Sun as warning, obsolete.
	Move X11 header bug workaround here, update patches.
	(Specific, sparc-sun-solaris2*): Detail Sun as fix status.
	(Specific, sparc-sun-solaris2.7): Update patch 106950 status.

2001-09-23  Zack Weinberg  <zack@codesourcery.com>

	* errors.h (warning, error, fatal, internal_error): Don't mark
	with ATTRIBUTE_PRINTF_n.
	* toplev.h (internal_error, fatal_io_error, warning, error,
	pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
	error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
	Likewise.

Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* function.c (pop_function_context_from): var_refs_queue
	and temp slots now in GC memory.
	(mark_function_status, free_after_compilation): Likewise;
	also struct function now in GC memory.
	(assign_stack_temp_for_type): struct temp_slot now in GC memory.
	(combine_temp_slots): Likewise.
	(schedule_fixup_var_refs): var_refs_queue now in GC memory.
	(prepare_function_start): Use GC memory for struct function.
	(mark_temp_slot): Deleted.
	(gcc_mark_struct_function): struct function now in GC memory.

	* fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
	code for division, not modulus.

	* rtl.def (MEM): Remove obsolete part of comment.

2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-format.c (init_function_format_info): Check __builtin_printf
	and __builtin_fprintf even if -ffreestanding.  Check C99 functions
	in gnu89 mode.

Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* c-common.c (format_attribute_table): Remove decl.
	* tree.h (format_attribute_table, lang_attribute_table): New decls.
	(lang_attribute_common): Likewise.

	* function.c (fix_lexical_address): Use set_mem_alias_set.
	(expand_function_start): Likewise.
	* config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.

	* varasm.c (output_constant): Fix unused variable warning.

	* attribs.c: New file, from c-common.c.
	(attribute_tables): Now four elements.
	(format_attribute_table, lang_attribute_common): New variables.
	(init_attributes): Reflect above changes.
	(handle_mode_attribute): Delete check for wider than uintmax.
	* c-common.c: Delete parts moved to attribs.c.
	(enum attrs): Deleted; unused.
	(c_format_attribute_table): New variable.
	(c_common_lang_init): Initialize format_attribute_table with it.
	* c-common.h (decl_attributes): Remove decl.
	* tree.h (decl_attribute): Move it to here.
	* Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
	(attribs.o): New rule.

2001-09-22  Andreas Jaeger  <aj@suse.de>

	* builtins.c (c_getstr): Remove unused variable.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* reload1.c (reload): Use delete_insn instead of splatting
	NOTE_INSN_DELETED.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* reload.c (push_secondary_reload): Don't check for "=" in output
	constraint after ""->ALL_REGS check.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* predict.c (expected_value_to_br_prob): Use pc_set.

	* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
	ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* rtl.h (LCT_RETURNS_TWICE): New.
	* calls.c (emit_call_1): Set current_function_calls_setjmp for
	ECF_RETURNS_TWICE.
	(emit_library_call_value_1): Map LCT_RETURNS_TWICE
	to ECF_RETURNS_TWICE.
	* except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
	call to setjmp.

	* unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.

	* config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
	(JMP_BUF_SIZE): New.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
	to R8_REGS.

2001-09-21  Richard Henderson  <rth@redhat.com>

	* tree.def (FDESC_EXPR): New.
	* expr.c (expand_expr): Handle it.
	* varasm.c (initializer_constant_valid_p): Likewise.
	(output_constant): Likewise.
	* defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
	* config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
	(ASM_OUTPUT_FDESC): New.
	* doc/tm.texi: Document the new macros.

21-09-2001  Richard Earnshaw  (reanrsha@arm.com)

	* cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
	ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
	once merging is complete.

Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* integrate.c (allocate_initial_values): Eliminate unused arg warning.

21-09-2001  Richard Earnshaw  (reanrsha@arm.com)

	* cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
	that would be invalid after a merge.

Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
	* cfg.c (delete_insn): Rename from ....; use remove_insn; do not
	remove some labels.
	(flow_delete_insn): This one.
	(delete_insn_chain): Rename from ...; do not care labels.
	(flow_delete_insn_chain): ... this one.
	(flow_delete_block): Remove the insns one BB has been expunged.
	(merge_blocks_nomove): Likewise.
	(try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
	updating BB boundaries.
	(tidy_fallthru_edge): Likewise.
	(commit_one_edge_insertion): Likewise.
	* cfgbuild.c (find_basic_block): Likewise.
	(find_basic_blocks_1): Likewise.
	* cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
	(try_crossjump_to_edge): Likewise.
	(try_optimize_cfg): Likewise.
	* cse.c (delete_trivially_dead_insns): Likewise.
	* df.c (df_insn_delete): Likewise.
	* doloop.c (doloop_modify): Use delete_related_insns.
	* emit-rtl.c (try_split): Likewise.
	(remove_insn): Update BB boundaries.
	* expect.c (connect_post_landing_pads): Use delete_related_insns.
	* flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
	updating BB boundaries.
	(propagate_block_delete_insn): Likewise.
	(propagate_block_delete_libcall): Likewise.
	* function.c (delete_handlers): Use delete_related_insns.
	(thread_prologue_and_epilogue_insns): Likewise.
	* gcse.c (delete_null_pointer_checks): Use delete_related_insns.
	* genpeep.c (gen_peephole): Use delete_related_insns.
	* ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
	BB boundaries.
	(find_cond_trap): Likewise.
	* integrate.c (save_for_inline): Use delete_related_insns.
	(copy_insn_list): Likewise.
	* jump.c (pruge_linie_number_notes): Likewise.
	(duplicate_loop_exit_test): Likewise.
	(delete_computation): Likewise.
	(delete_related_insn): Rename from ...; use delete_insn
	(delete_insn): ... this one.
	(redirect_jump): Use delete_related_insns.
	* loop.c (scan_loop): Likewise.
	(move_movables): Likewise.
	(find_and_verify_loops): Likewise.
	(check_dbra_loop): Likewise.
	* recog.c (peephole2_optimize): Likewise.
	* reg-stack.c (delete_insn_for_stacker): Remove.
	(move_for_stack_reg): Use delete_insn.
	* regmove.c (combine_stack_adjustments_for_block): Likewise.
	* reload1.c (delete_address_reloads): Use delete_related_insns.
	(fixup_abnormal_edges): Use delete_insn.
	* recog.c (emit_delay_sequence): Use delete_related_insns.
	(delete_from-delay_slot): Likewise.
	(delete_scheduled_jump): likewise.
	(optimize_skip): Likewise.
	(try_merge_delay_insns): Likewise.
	(full_simple_delay_slots): Likewise.
	(fill_slots_from_thread): Likewise.
	(relax_delay_slots): Likewise.
	(make_return_insns): Likewise.
	(dbr_schedule): Likewise.
	* rtl.h (delete_insn): Rename to delete_related_insns.
	(delete_insn, delete_insn_chain): New prototypes.
	* ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
	by df_insn_delete already.
	* ssa-dce.c (delete_insn_bb): Use delete_insn.
	* ssa.c (convert_from_ssa): Use delete_related_insns.
	* unroll.c (unroll_loop): Likewise.
	(calculate_giv_inc): Likewise.
	(copy_loop_body): Likewise.

	* i386-protos.h (ix86_libcall_value, ix86_function_value,
	ix86_function_arg_regno_p, ix86_function_arg_boundary,
	ix86_return_in_memory, ix86_function_value): Declare.
	* i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
	new static valurables.
	(x86_64_reg_class): New enum
	(x86_64_reg_class_name): New array.
	(classify_argument, examine_argument, construct_container,
	 merge_classes): New static functions.
	(optimization_options): Enable flag_omit_frame_pointer and disable
	flag_pcc_struct_return on 64bit.
	(ix86_libcall_value, ix86_function_value,
	ix86_function_arg_regno_p, ix86_function_arg_boundary,
	ix86_return_in_memory, ix86_function_value): New global functions.
	(init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
	(function_arg_advance): Handle x86_64 passing conventions.
	(function_arg): Likewise.
	* i386.h (FUNCTION_ARG_BOUNDARY): New macro.
	(RETURN_IN_MEMORY): Move offline.
	(FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
	(FUNCTION_VALUE_REGNO_P): New macro.
	(FUNCTION_ARG_REGNO_P): Move offline.
	(struct ix86_args): Add maybe_vaarg.
	* next.h (FUNCTION_VALUE_REGNO_P): Delete.
	* unix.h (FUNCTION_VALUE_REGNO_P): Delete.

2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>

	* s390.md: Changed attributes for scheduling.
	* s390.c: (s390_adjust_cost, s390_adjust_priority)
	Changed scheduling

2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>

	Table-driven attributes.
	* c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
	config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
	config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
	config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
	config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
	config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
	doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
	tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
	* tree.h (struct tree_decl): Change machine_attributes to
	attributes.
	* doc/c-tree.texi: Document that all attributes are now attached
	to decls and types.
	* c-common.c (add_attribute, attrtab, attrtab_idx,
	default_valid_lang_attribute, valid_lang_attribute): Remove.
	(attribute_tables, attributes_initialized,
	c_common_attribute_table, default_lang_attribute_table): New
	variables.
	(handle_packed_attribute, handle_nocommon_attribute,
	handle_common_attribute, handle_noreturn_attribute,
	handle_unused_attribute, handle_const_attribute,
	handle_transparent_union_attribute, handle_constructor_attribute,
	handle_destructor_attribute, handle_mode_attribute,
	handle_section_attribute, handle_aligned_attribute,
	handle_weak_attribute, handle_alias_attribute,
	handle_no_instrument_function_attribute,
	handle_no_check_memory_usage_attribute, handle_malloc_attribute,
	handle_no_limit_stack_attribute, handle_pure_attribute): New
	functions.
	(init_attributes, decl_attributes): Rewrite to implement
	table-driven attributes.
	* c-common.h (enum attribute_flags): Move to tree.h.
	* c-format.c (decl_handle_format_attribute,
	decl_handle_format_arg_attribute): Rename to
	handle_format_attribute and handle_format_arg_attribute.  Update
	for table-driven attributes.
	* c-common.h (decl_handle_format_attribute,
	decl_handle_format_arg_attribute): Remove prototypes.
	(handle_format_attribute, handle_format_arg_attribute): Add
	prototypes.
	* c-decl.c (grokdeclarator): Handle attributes nested inside
	declarators.
	* c-parse.in (setattrs, maybe_setattrs): Remove.
	(maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
	Update to handle nested attributes properly.
	(maybe_resetattrs, after_type_declarator,
	parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
	absdcl1_ea, direct_absdcl1): Update to handle nested attributes
	properly.
	(make_pointer_declarator): Update to handle nested attributes
	properly.
	* doc/extend.texi: Update documentation of limits of attributes
	syntax.  Warn about problems with attribute semantics in C++.
	* target.h (struct target): Remove valid_decl_attribute and
	valid_type_attribute.  Add attribute_table and
	function_attribute_inlinable_p.
	* target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
	TARGET_VALID_TYPE_ATTRIBUTE): Remove.
	(TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
	Add.
	(TARGET_INITIALIZER): Update.
	* integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
	definition.
	(function_attribute_inlinable_p): New function.  Check for the
	presence of any machine attributes before using
	targetm.function_attribute_inlinable_p.
	(function_cannot_inline_p): Update.
	* Makefile.in (integrate.o): Update dependencies.
	* doc/tm.texi: Update documentation of target attributes and
	example definition of TARGET_VALID_TYPE_ATTRIBUTE.
	* tree.c (default_valid_attribute_p, valid_machine_attribute):
	Remove.
	(default_target_attribute_table,
	default_function_attribute_inlinable_p): New.
	(lookup_attribute): Update comment to clarify handling of multiple
	attributes with the same name.
	(merge_attributes, attribute_list_contained): Allow multiple
	attributes with the same name but different arguments to appear in
	the same attribute list.
	* tree.h (default_valid_attribute_p): Remove prototype.
	(struct attribute_spec): New.
	(default_target_attribute_table): Declare.
	(enum attribute_flags): Move from c-common.h.  Add
	ATTR_FLAG_TYPE_IN_PLACE.
	(default_function_attribute_inlinable_p): Declare.
	* config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(vms_attribute_table): New.
	* config/arc/arc.c (arc_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(arc_attribute_table, arc_handle_interrupt_attribute): New.
	* config/arm/arm.c (arm_valid_type_attribute_p,
	arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
	Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
	define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(arm_attribute_table, arm_handle_fndecl_attribute,
	arm_handle_isr_attribute): New.
	* config/avr/avr.c (avr_valid_type_attribute,
	avr_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
	define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(avr_attribute_table, avr_handle_progmem_attribute,
	avr_handle_fndecl_attribute): New.
	* config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(c4x_attribute_table, c4x_handle_fntype_attribute): New.
	* config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(h8300_attribute_table, h8300_handle_fndecl_attribute,
	h8300_handle_eightbit_data_attribute,
	h8300_handle_tiny_data_attribute): New.
	* config/i386/i386-protos.h (ix86_valid_type_attribute_p,
	i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
	Remove prototypes.
	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
	declarations.
	* config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
	define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(ix86_attribute_table, ix86_handle_cdecl_attribute,
	ix86_handle_regparm_attribute): New.
	* config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
	i386_pe_valid_type_attribute_p): Remove.
	(ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
	* config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(ia64_attribute_table): New.
	* config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
	interrupt_ident2, model_ident1, model_ident2): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(init_idents): Update.
	(m32r_attribute_table, m32r_handle_model_attribute): New.
	* config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
	Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
	* config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(mcore_attribute_table, mcore_handle_naked_attribute): New.
	* config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
	* config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
	* config/sh/sh.c (sh_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(sh_attribute_table, sh_handle_interrupt_handler_attribute,
	sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
	New.
	* config/stormy16/stormy16.c (stormy16_valid_type_attribute):
	Remove.
	(TARGET_VALID_TYPE_ATTRIBUTE): Don't define
	(TARGET_ATTRIBUTE_TABLE): Define.
	(stormy16_attribute_table, stormy16_handle_interrupt_attribute):
	New.
	* config/v850/v850.c (v850_valid_decl_attribute): Remove.
	(TARGET_VALID_DECL_ATTRIBUTE): Don't define.
	(TARGET_ATTRIBUTE_TABLE): Define.
	(v850_attribute_table, v850_handle_interrupt_attribute,
	v850_handle_data_area_attribute): New.
	* config/v850/v850-c.c (mark_current_function_as_interrupt):
	Return void.  Call decl_attributes instead of
	valid_machine_attribute.

Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>

	* sh-protos.h (sh_pr_n_sets): Declare.
	* sh.c (calc_live_regs): If the initial value for PR has been copied,
	look at the copy to determine if PR needs to be saved.
	sh_pr_n_sets: New function.
	* sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
	(ALLOCATE_INITIAL_VALUE): Define.

	* sh.c (initial_elimination_offset):
	Fix RETURN_ADDRESS_POINTER_REGNUM case.

Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>

	* integrate.c (allocate_initial_values): New function.
	* integrate.h (allocate_initial_values): Declare.
	* local-alloc.c (local_alloc): Move call to allocate_reg_info from
	here...
	* reload1.c (reload): And initialization of reg_equiv_memory_loc
	from here...
	* toplev.c (rest_of_compilation): To here.
	Call allocate_initial_values.
	* tm.texi: add description for ALLOCATE_INITIAL_VALUE.

Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* ggc-page.c (ggc_marked_p): Properly convert return to boolean.

2001-09-20  DJ Delorie  <dj@redhat.com>

	* c-typeck.c (really_start_incremental_init): Discriminate
	between zero-length arrays and flexible arrays.
	(push_init_level): Detect zero-length arrays and handle them
	like fixed-sized arrays.
	* expr.c (store_constructor): Handle zero-length arrays and
	flexible arrays correctly.
	* doc/extend.texi: Update zero-length array notes.

2001-09-20  Jim Wilson  <wilson@redhat.com>

	* config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
	(insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
	for issue port conflicts.
	(cycle_end_fill_slots): TYPE_L instructions take two slots.

2001-09-20  Andrew MacLeod  <amacleod@redhat.com>

	* testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
	on ia64.

Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* fold-const.c (hashtab.h): Include.
	(int_const_binop): Remove FORSIZE arg and compute from type; all
	callers changed.
	Call size_int_type_wide for all single-word constants.
	(size_htab_hash, size_htab_eq): New functions.
	(size_int_type_wide): Rework to use hash table.
	* ggc-common.c (hashtab.h): Include.
	(struct d_htab_root): New struct.
	(d_htab_roots): New variable.
	(ggc_add_deletable_htab, ggc_htab_delete): New functions
	(ggc_mark_roots): Handle deletable htabs.
	* ggc-page.c (ggc_marked_p): New function.
	* ggc-simple.c (ggc_marked_p): Likewise.
	* ggc.h: Reformatting throughout.
	(ggc_marked_p, ggc_add_deletable_htab): New declarations.
	* tree.c (init_obstacks): Make type_hash_table a deletable root.
	(type_hash_add): Allocate struct type_hash from GC memory.
	(mark_hash_entry, mark_type_hash): Deleted.
	(type_hash_marked_p, type_hash_mark): New functions.
	* Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.

Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>

	* sh.c (shiftcosts): Don't use shiftcosts array for modes wider
	than SImode.

Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
	array-too-large test for signed sizetype.

Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (indirect_jump): Allow Pmode operand.
	(tablejump): LIkewise; perform expansion to 64bit mode.
	* i386.c (symbolic_operand): Allow 64bit PIC references.
	(pic_symbolic_operand): Likewise.
	(ix86_find_base_term): Strip the 64bit PIC references.
	(legitimate_pic_address_disp_p): Handle 64bit PIC.
	(legitimize_pic_address): Likewise.
	(i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
	* i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.

2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* stringpool.c (get_identifier_with_length): New function.
	* tree.h (get_identifier_with_length): New prototype.

2001-09-19  Alan Modra  <amodra@bigpond.net.au>
	    David Edelsohn  <edelsohn@gnu.org>

	Revert:
	* config/rs6000/rs6000.c (logical_operand): CONST_INTs are
	already sign-extended.

	* config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
	* config/rs6000/rs6000.c (logical_operand): Always compare op as
	HOST_WIDE_INT.
	(rs6000_emit_set_long_const): Avoid unnecessary shift.
	(output_profile_hook): Declare label_name const.
	* config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
	to match constraints.

2001-09-19  Stan Shebs  <shebs@apple.com>

	* alias.c: Fix typos in comments.
	* sched-rgn.c (init_ready_list): Ditto.
	* unwind-dw2.c (uw_frame_state_for): Ditto.
	* unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
	* unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
	* config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.

2001-09-19  Richard Henderson  <rth@redhat.com>

	* cfg.c (force_nonfallthru_and_redirect): Handle redirecting
	to the exit block.
	* Makefile.in (cfg.o): Depend on TM_P_H.

2001-09-19  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (local_symbol_p): Split out from ...
	(local_symbolic_operand): ... here.
	(small_symbolic_operand): Check mode.
	(global_symbolic_operand): New.
	(input_operand): Reject symbolics if explicit relocs.
	(call_operand): Tidy.
	(alpha_legitimize_address): Use movdi_er_high_g.
	(alpha_expand_mov): Likewise.
	* config/alpha/alpha-protos.h: Update.
	* config/alpha/alpha.h (PREDICATE_CODES): Update.
	* config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
	(UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
	(UNSPECV_LDGP2): Remove.
	(all call patterns): Use 's' not 'i' for symbolic constraint.
	(call_osf call_value_osf): Use call_operand.
	(all osf call patterns): Use $gp.  New peepholes for explicit relocs.
	(movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
	(prologue_ldgp_1_er): Remove.
	(ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
	(builtin_setjmp_receiver_er patterns): Use them.
	(exception_receiver_er): Likewise.

2001-09-19  Richard Henderson  <rth@redhat.com>

	* cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.

	* emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
	and NON_LOCAL_GOTO notes.
	* recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
	copy over CALL_INSN_FUNCTION_USAGE.

2001-09-18  Catherine Moore  <clm@redhat.com>

	* config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
	Define as 0.

2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:

	* config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
	new-style tm_file specification.  Specify correct tm_p_file,
	md_file, and out_file for s390x.

	* config/s390/linux.h, linux64.h:  Don't include other target
	macro header files.  Now handled via tm_file.

	* config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
	TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
	are defined before use.

Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>

	* config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
	code generation only for Gnu assembler.

2001-09-18  Catherine Moore  <clm@redhat.com>

	* config/stormy16 (LIB_SPEC): Remove -lnosys.

2001-09-18  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (mips_frame_set): New.
	(mips_emit_frame_related_store): When storing two 32-bit FPRs, use
	a parallel frame-related expression with a set for each register.

2001-09-18  Philip Blundell  <philb@gnu.org>

	* config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
	header files.

2001-09-17  Dale Johannesen  <dalej@apple.com>

	* config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
	* config/rs6000/aix.h (FIXED_R2): Define.
	* config/rs6000/darwin.h (FIXED_R2): Define.
	* config/rs6000/sysv4.h (FIXED_R2): Define.

2001-09-17  Jeff Sturm  <jsturm@one-point.com>

	* except.c (dw2_build_landing_pads): New local
	clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
	barrier after clobbers.  Fixes c++/4012.

2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.

2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>

	* dostage2, dostage3, listing, make-l2.com, makefile.vms,
	patch-apollo-includes, vmsconfig.com: Remove obsolete files.

2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
	alloca/strcpy.

2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (_cpp_lex_direct): New.
	* cpplex.c (_cpp_lex_token): Update.
	(lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
	and increment that pointer.
	* cppmacro.c (alloc_expansion_token): New.
	(lex_expansion_token): Lex macro expansion directly into
	macro storage.

2001-09-16  Brad Lucier  <lucier@math.purdue.edu>

	* Makefile.in: Make rtl-error.o depend on $(CONFIG_H).

Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>

	* basic-block.h (free_bb_for_insn): Declare.
	* bb-reorder.c (label_for_bb): Use block_label.
	(emit_jump_to_block_after): Remove.
	(insert_intra_1): Do not update block_for_insn.
	(insert_inter_bb_scope_notes): Likewise; update bb->end
	* cfg.c (free_bb_for_insn): New.
	(try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
	(force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
	(commit_one_edge_insertion): Likewise.
	(commit_one_edge_insertion): Do not update BB boundary.
	(commit_edge_insertions): Do not call compute_bb_for_insn.
	* cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
	* cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
	(merge_blocks_move_successor_nojumps): Likewise.
	(try_crossjump_to_edge): Do not update block_for_insn.
	* combine.c (combine_instructions): Remove compute_bb_for_insn call.
	* df.c (df_pattern_emit_later): Do not update BB boundary.
	(df_jump_pattern_emit_after): Likewise.
	(df_insn_move_before): Use emit_insn_before.
	* emit-rtl.c (try_split): Emit after trial to get bb boundary updated
	 properly.
	(add_insn_after, add_insn_before, emit_insns_after): Update BB
	boundaries and basic_block_for_insn.
	(reorder_insns_nobb): Rename from reorder_insns.
	(reorder_insns): New.
	(emit_block_insn_before, emit_block_insn_after): Kill.
	* flow.c (check_function_return_warnings): Do not call
	compute_bb_for_insn; Do not free basic_block_for_insn.
	(attempt_auto_inc): Do not update basic_block_for_insn.
	* function.c (emit_return_into_block): Likewise;
	do not update BB boundaries.
	* gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
	(insert_insn_end_bb): Use emit_insn_before; Likewise.
	(pre_insert_copy_insn): Likewise.
	(update_ld_motion_notes): Likewise.
	(insert_insn_start_bb): Likewise.
	(replace_store_insn): Likewise.
	* ifcvt.c (noce_process_if_block): Likewise.
	(if_convert): Do not call compute_bb_for_insn.
	* lcm.c (optimize_mode_switching): Do not update BB boundaries.
	Use emit_insn_before and emit_insn_after.
	* recog.c (split_all_insns): Do not update BB boundaries;
	Do not call compute_bb_for_insn.
	(peephole2_optimize): Do not update BB boundaries.
	* reg-stack.c (emit_pop_insn): Use emit_insn_after and
	emit_insn_before.
	(emit_swap_insn): Likewise.
	(convert_regs_1): Likewise.
	* reload1.c (reload): Call compute_bb_for_insn.
	* rtl.h (reorder_insns_nobb): Declare.
	* ssa.c (rename_equivalent_regs): Use emit_insn_before.
	* toplev.c (rest_of_compilation): Call free_bb_for_insn
	at places CFG is invalidated; do not call compute_bb_for_insn.

	* cfg.c (expunge_block): Invalidate BB structure.

	* (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
	array.

	* cfg.c (verify_flow_info): Verify the basic_block_for_insn array.

2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (_cpp_lex_token): Update prototype.
	* cpplex.c (_cpp_lex_token): New prototype.
	* cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
	lex_macro_node, read_flag, do_pragma_poison): Update.
	* cppmacro.c (cpp_get_token, parse_params,
	lex_expansion_token): Update.

2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmain.c (scan_translation_unit): Don't worry about
	putting a space after hashes.
	* cpplib.c (directive_diagnostics): New.
	(_cpp_handle_directive): Update to use directive_diagnostics.
	(run_directive): Don't toggle prevent_expansion.
	(do_line): Backup in case of the line extension.
	* cpplib.h (cpp_lexer_pos): Remove.
	* cppmacro.c (_cpp_create_definition): Precede a leading #
	with whitespace.

2001-09-15  Richard Henderson  <rth@redhat.com>

	* c-typeck.c (comptypes): Handle zero-length arrays properly.

2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* c-common.c (c_promoting_integer_type_p): Handle ?Imode types.

2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR preprocessor/3571
	* tradcpp.c (handle_directive): Skip non-vertical space.

2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmain.c (setup_callbacks): Set line callback only
	if outputting preprocessed source.

2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* collect2.c (main): Const-ification.
	* gcc.c (translate_options, process_command): Use xstrdup in
	lieu of xmalloc/strcpy.
	(main): Use concat in lieu of xmalloc/strcpy/strcat.

2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
	example.

2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* scan-decls.c (scan_decls): Fix typo.

2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
	Split mlstring_pos into mls_line and mls_col.
	* cppinit.c (cpp_create_reader): Initialize line to 1.
	(cpp_destroy): Free tokenruns.
	(push_include): Don't update lexer_pos.
	* cpplex.c (unterminated, parse_string): Update.
	(lex_token): Don't update lexer_pos, update.
	* cpplib.c (if_stack): Save line instead of line + col.
	(start_directive, _cpp_do__Pragma, do_else, do_elif,
	push_conditional, _cpp_pop_buffer): Update.
	* cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
	(_cpp_create_definition): Update.

2001-09-15  Eric Christopher  <echristo@redhat.com>

	* config/mips/abi64.h: Add support for MEABI.

2001-09-15  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.md: Add unspec #2.
	(reload_indi): Use.
	(reload_outdi): Ditto.
	(reload_outsi): Ditto.
	(HILO_delay): New.

2001-09-15  Eric Christopher  <echristo@redhat.com>
	    Jason Eckhardt  <jle@redhat.com>

	* config.gcc: Add mipsisa32 target and mipsisa32-linux target.
	* config/mips/isa32-linux.h: New file.
	* config/mips/isa3264.h: Ditto.
	* config/mips/mips-protos.h: Add mips_hard_regno_nregs.
	* config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
	(output_block_mode): Support MEABI.
	(function_arg): Ditto. Fix floating point arg passing.
	(mips_va_start): Ditto.
	(override_options): Add isas 32 and 64, meabi, mips32 and mips64
	processors.
	(mips_asm_file_start): Add new section to pass abi to gdb.
	(function_arg_pass_by_reference): Support MEABI.
	(mips_parse_cpu): Support mips32 and mips64 processors.
	* config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
	TARGET_MIPS5KC.  Support isa32 and isa64.
	(processor_type): Add r4kc, r5kc, r20kc.
	(GENERATE_MULT3_SI): New.
	(GENERATE_MULT3_DI): Ditto.
	(GENERATE_MULT3): Remove.
	(ISA_HAS_64BIT_REGS): Add isa == 64.
	(ISA_HAS_8CC): Add mips_isa = 32 and 64.
	(ISA_HAS_MADD_MSUB): New.
	(ISA_HAS_CLZ_CLO): Ditto.
	(ISA_HAS_DCLZ_DCLO): Ditto.
	(ABI_GAS_ASM_SPEC): New.
	(GAS_ASM_SPEC): Use. Add support for mips32, mips64.
	(ASM_SPEC): Ditto.
	(LINK_SPEC): Ditto.
	(SUBTARGET_CC1_SPEC): Ditto.
	(SUBTARGET_CPP_SIZE_SPEC): Ditto.
	(PAD_VARARGS_DOWN): Support MEABI.
	(HARD_REGNO_NREGS): Move to mips.c.
	(ASM_OUTPUT_IDENT): Add #undef.
	* config/mips/mips.md: Add r4kc, r5kc, r20kc.
	(mulsi3): Use GENERATE_MULT3_SI.
	(mulsi3_mult3): Ditto.  Support mips32, mips64.
	(mul_acc_si): Use ISA_HAS_MADD_MSUB.
	(mul_sub_si): New pattern.
	(unnamed splitters): New.
	(muldi3): Use GENERATE_MULT3_DI.
	(muldi3_internal2): Ditto.
	(movdicc): Support mips32.
	* config/mips/t-isa3264: New file.

2001-09-15  Hans-Peter Nilsson  <hp@axis.com>

	* rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
	|| HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
	|| HAVE_POST_DECREMENT]: Call find_regno_note for REGs.

	* reorg.c (fill_slots_from_thread): After call to
	steal_delay_list_from_target, update own_thread as new_thread may
	have branched.

2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpperror.c (print_location): Take line and column, for
	default positioning use the previously lexed token.
	(_cpp_begin_message): Take line and column.
	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
	* cpphash.h (_cpp_begin_message): Update prototype.
	* cppinit.c (push_include): Don't set output line.
	* cpplex.c (_cpp_lex_token): Callback for start of new output lines.
	* cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
	(do_pragma): Kludge for front ends.  Don't expand macros at all.
	* cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
	(struct cpp_token): Remove output_line.
	(struct cpp_callbacks): New member line_change.
	* cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
	cpp_get_token): Preserve BOL flag.
	(cpp_get_line): Remove.
	(_cpp_backup_tokens): Remove useless abort().
	* cppmain.c (cb_line_change): New.
	(scan_translation_unit): Don't worry about starting new lines here.
	* scan-decls.c (scan_decls): Update.
	* c-lex.c (c_lex, init_c_lex): Update.
	(cb_line_change, src_lineno): New.

Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)

	* tree.c (append_random_chars): Generate the random
	characters in a reproducable fashion.

2001-09-14  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (internal_label_prefix): New.
	(internal_label_prefix_len): New.
	(override_options): Set them.
	(local_symbolic_operand): New.
	(legitimate_pic_address_disp_p): Use it.
	(legitimize_pic_address): Likewise.

2001-09-14  Marc Espie <espie@openbsd.org>

	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
	correctly.

2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
	* config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.

2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>

	* rtlanal.c (subreg_regno_offset): Add semicolon to end of
	invocation of SUBREG_REGNO_OFFSET.

	* haifa-sched.c: Fix typo in FSF copyright statement.
	* sched-deps.c: Fix typo in FSF copyright statement.
	* sched-ebb.c: Fix typo in FSF copyright statement.
	* sched-rgn.c: Fix typo in FSF copyright statement.
	* sched-vis.c: Fix typo in FSF copyright statement.

	* config.gcc: Move inclusion of arm elf specific header files
	from the files themselves into the tm_file variable.  Make
	sure that elfos.h is included before target specific elf
	headers.
	* config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
	already defined.
	(ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
	* config/arm.arm.h (TARGET_MEM_FUNCTIONS,
	ASM_OUTPUT_CASE_LABEL): Protect definition.
	(CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
	not already defined.
	* config/arm/conix-elf.h: (USER_LABEL_PREFIX,
	LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
	Remove duplicate definition.
	(READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
	(SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
	(RDATA_SECTION_FUNCTION): Remove redundant definition.
	(STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
	Remove inclusion of arm/elf.h.
	* config/arm/unknown-elf.h: as for conix-elf.h.
	(STARTFILE_SPEC): Include crti.o and crtn.o.
	* config/arm/linux-elf.h: as for conix-elf.h.
	* config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
	* config/arm/strongarm-elf.h: Remove inclusion of
	unknown-elf.h.
	* config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
	* config/arm/unknown-elf-oabi.h: Remove inclusion of
	unknown-elf.h and elf.h.
	* config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
	* config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
	ASM_WEAKEN_LABEL): Remove redundant definition.
	* config/arm/elf.h: Test for inclusion of elfos.h
	(USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
	ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
	SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
	EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
	redundant definition.
	(TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
	ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
	ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
	* t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
	Add rules to build crti.o and crtn.o
	* crti.asm: New file.
	* crtn.asm: New file.

2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-parse.in (_yylex): Use _cpp_backup_tokens.
	* cpphash.h (struct tokenrun): Add prev.
	(struct lexer_state): Remove bol.
	(struct cpp_reader): Remove old lookahead stuff, add lookaheads.
	(_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
	: Remove.
	* cppinit.c (cpp_create_reader): Don't set bol.
	(cpp_destroy): Don't free lookaheads.
	* cpplex.c (lex_directive): Remove.
	(next_tokenrun): Update.
	(_cpp_lex_token): Clean up logic.
	(lex_token): Update to return a pointer to lexed token, since it
	can move to the start of the buffer.  Simpify newline handling.
	* cpplib.c (SEEN_EOL): Update.
	(skip_rest_of_line): Remove lookahead stuff.
	(end_directive): Line numbers are already incremented.  Revert
	to start of lexed token buffer if we can.
	(_cpp_handle_directive, do_pragma, do_pragma_dependency,
	parse_answer): Use _cpp_backup_tokens.
	(run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
	instead.  Don't check for EOL.
	(do_include_common, do_line, do_pragma_system_header): Use
	skip_rest_of_line.
	* cpplib.h (BOL, _cpp_backup_tokens): New.
	* cppmacro.c (save_lookahead_token, take_lookahead_token,
	alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
	cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
	(builtin_macro): Don't use cpp_get_line.
	(cpp_get_line): Short term kludge.
	(parse_arg): Handle directives in arguments here.  Back up when
	appropriate.  Store EOF at end of argument list.
	(funlike_invocation_p): Use _cpp_backup_tokens.
	(push_arg_context): Account for EOF at end of list.
	(cpp_get_token): Remove lookahead stuff.  Update.

2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-parse.in (yyerror): Const-ification and/or static-ization.
	* c-typeck.c (push_member_name): Likewise.
	* collect2.c (main): Likewise.
	* dbxout.c (dbxout_parms): Likewise.
	* diagnostic.c (format_with_decl): Likewise.
	* dwarf2out.c (output_ranges): Likewise.
	* dwarfout.c (fundamental_type_code): Likewise.
	* except.c (dw2_output_call_site_table): Likewise.
	* gcc.c (do_spec_1): Likewise.
	* genopinit.c (optabs): Likewise.
	* objc/objc-act.c (synth_id_with_class_suffix, start_class,
	gen_declaration_1, handle_impent): Likewise.
	* protoize.c (default_include, in_system_include_dir, abspath):
	Likewise.
	* sched-vis.c (visualize_stall_cycles): Likewise.
	* sdbout.c (plain_type_1, sdbout_end_function,
	sdbout_end_epilogue): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* 1750a.c (mod_regno_adjust): Likewise.
	* alpha.c (alpha_write_one_linkage,
	unicosmk_output_default_externs): Likewise.
	* arm.c (arm_condition_codes): Likewise.
	* arm.h (arm_condition_codes): Likewise.
	* avr.c (output_movsisf, encode_section_info): Likewise.
	* darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
	Likewise.
	* i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
	* i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
	* m88k.c (output_function_profiler): Likewise.
	* mips.c (mips_output_conditional_branch): Likewise.
	* ns32k.c (ns32k_out_reg_names): Likewise.
	* ns32k.h (ns32k_out_reg_names): Likewise.
	* pj.c (pj_output_rval): Likewise.
	* rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
	* sparc.c (sparc_flat_function_prologue,
	sparc_flat_function_epilogue): Likewise.

2001-09-13  Markus Werle <numerical.simulation@web.de>
	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
	Aachen University of Technology".

2001-09-13  Andreas Schwab  <schwab@suse.de>

	* config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
	C99.

2001-09-13  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (small_symbolic_operand): New.
	(override_options): Set MASK_SMALL_DATA based on pic/PIC.
	(some_operand, input_operand): Don't handle HIGH.
	(alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
	(alpha_expand_mov): Likewise.
	(print_operand) [H]: Just print HIGH symbol.
	(print_operand_address): Handle small data.
	* config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
	(TARGET_SWITCHES): Add -msmall-data/large-data.
	(PIC_OFFSET_TABLE_REGNUM): New.
	(PREFERRED_RELOAD_CLASS): Don't handle HIGH.
	(PREDICATE_COES): Update.
	* config/alpha/alpha.md (adddi_er_high): New.
	(adddi_er_low): Handle small data.
	* config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
	prefer .sdata to .rodata.
	(SELECT_RTX_SECTION): Likewise.

2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>

	* fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
	defining __size_t and leaving size_t undefined.

2001-09-12  Diego Novillo  <dnovillo@redhat.com>

	* basic-block.h (expunge_block): Declare.
	* cfg.c (expunge_block): Remove static declaration.

2001-09-12  Richard Henderson  <rth@redhat.com>

	* integrate.c (copy_insn_list): Copy label name from
	NOTE_INSN_DELETED_LABEL.

2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* c-common.c (c_tree_code_name): Const-ification.
	* c-decl.c (c_decode_option): Likewise.
	* c-typeck.c (warn_for_assignment): Likewise.
	* collect2.c (libexts, is_ctor_dtor, main, ignore_library):
	Likewise.
	* cppinit.c (output_deps): Likewise.
	* dependence.c (dependence_string, direction_string): Likewise.
	* dwarf2out.c (output_ranges): Likewise.
	* fixinc/fixfixes.c (emit_gnu_type): Likewise.
	* fixinc/gnu-regex.c (re_error_msgid): Likewise.
	* gcc.c (standard_exec_prefix, standard_exec_prefix_1,
	standard_startfile_prefix, standard_startfile_prefix_1,
	standard_startfile_prefix_2, tooldir_base_prefix,
	standard_bindir_prefix, find_a_file): Likewise.
	* genattrtab.c (make_length_attrs): Likewise.
	* gencheck.c (tree_codes): Likewise.
	* genemit.c (gen_split): Likewise.
	* genrecog.c (special_mode_pred_table): Likewise.
	* graph.c (graph_ext): Likewise.
	* protoize (default_include): Likewise.
	* reload.c (reload_when_needed_name): Likewise.
	* sched-vis.c (visualize_stall_cycles): Likewise.
	* tlink.c (recompile_files): Likewise.
	* toplev.c (decode_g_option): Likewise.
	* tradcpp.c (output_deps): Likewise.
	* varasm.c (decode_reg_name): Likewise.

	* arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
	Const-ification.
	* arm.md: Likewise.
	* avr.c (avr_regnames, encode_section_info): Likewise.
	* c4x.c (float_reg_names): Likewise.
	* darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
	* elfos.h (const_section): Likewise.
	* i386.c (ix86_comp_type_attributes): Likewise.
	* i386/win32.h (STRIP_NAME_ENCODING): Likewise.
	* ia64/aix.h (UNIQUE_SECTION): Likewise.
	* ia64.c (type_names): Likewise.
	* m68hc11.c (reg_class_names): Likewise.
	* m88k.c (m_options): Likewise.
	* mips.c (mips_output_conditional_branch, mips_unique_section):
	Likewise.
	* rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
	* sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
	ultra_code_names): Likewise.
	* sparc.h (OVERRIDE_OPTIONS): Likewise.

2001-09-12  Jakub Jelinek  <jakub@redhat.com>

	* configure.in (gcc_cv_as_shf_merge): Fix a typo.
	Use --fatal-warnings option for gas.
	* configure: Rebuilt.

2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.

2001-09-11  Jim Wilson  <wilson@redhat.com>

	* alias.c (clear_reg_alias_info): Only handle pseudo registers.

2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* builtins.c (c_strlen): Treat an offset too large for a
	HOST_WIDE_INT as out of range.

Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
	(EDGE_CRITICAL_P): New predicate.
	* cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
	handling.
	(insert_insn_on_edge): Use EDGE_CRITICAL_P.
	(dump_edge_info): Remove "crit".
	* cfganal.c (mark_critical_edges): Kill.
	* cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
	* cfgcleanup.c (cleanup_cfg): Likewise.
	* profile.c (instrument_edges): Use EDGE_CRITICAL_P.
	(find_spanning_tree): Likewise.
	* reg-stack.c (convert_regs_1): Likewise.
	* ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.

	* basic-block.h (create_basic_block_structure): New.
	(create_basic_block): Update prototype.
	(force_nonfallthru): New.
	* bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
	* cfg.c (create_basic_block_structure): Rename from create_basic_block;
	handle updating of block_for_insn, creating of empty BBs and BBs at
	the end of INSN chain.
	(create_basic_block): New function.
	(split_block): Use create_basic_block.
	(force_nonfallthru_and_redirect): Break out from ...; cleanup
	(redirect_edge_and_branch_force): ... here.
	(force_nonfallthru): New.
	(split_edge): Rewrite to use force_nonfallthru and create_block.
	* cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
	(find_basic_blocks): Free basic_block_for_insn.
	* cfgcleanup.c (merge_blocks): Use force_nonfallthru.

	* cfg.c: Fix formating.
	* cfgcleanup.c: Fix formating.
	(merge_blocks, tail_recursion_label_p): Return bool.
	(merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps): Return void.

2001-09-11  Jakub Jelinek  <jakub@redhat.com>

	* configure.in: Check whether assembler supports section merging.
	* config.in: Rebuilt.
	* configure: Rebuilt.
	* varasm.c (variable_section, output_constant_pool): Pass alignment
	to SELECT_SECTION and SELECT_RTX_SECTION.
	(mergeable_string_section): New.
	(mergeable_constant_section): New.
	(default_elf_asm_named_section): Output SECTION_MERGE and
	SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
	* output.h (mergeable_string_section): New.
	(mergeable_constant_section): New.
	(SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
	* toplev.c (flag_merge_constants): New.
	(f_options): Add -fmerge-constants and -fmerge-all-constants
	options.
	(toplev_main): Default to -fno-merge-constants if not optimizing.
	* flags.h (flag_merge_constants): Add extern.
	* invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
	* tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
	argument.
	* config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
	Define if assembler has working .subsection -1 support.
	(SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
	Put constant into special SHF_MERGE sections if the linker should
	attempt to merge duplicates.
	* config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
	macro argument.
	Put constant into special SHF_MERGE sections if the linker should
	attempt to merge duplicates.
	* config/alpha/elf.h: Likewise.
	(ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
	has working .subsection -1 support.
	* config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
	SELECT_SECTION.
	* config/svr3.h: Likewise.
	* config/darwin.h: Likewise.
	* config/arm/aof.h: Likewise.
	* config/arm/linux-elf.h: Likewise.
	* config/avr/avr.h: Likewise.
	* config/c4x/c4x.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/i386/dgux.h: Likewise.
	* config/i386/osfrose.h: Likewise.
	* config/i386/sco5.h: Likewise.
	* config/i386/svr3gas.h: Likewise.
	* config/ia64/aix.h: Likewise.
	* config/m32r/m32r.h: Likewise.
	* config/m68k/m68k.h: Likewise.
	* config/m88k/dgux.h: Likewise.
	* config/m88k/m88k.h: Likewise.
	* config/mcore/mcore-pe.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/pa/pa.h: Likewise.
	* config/pa/pa-linux.h: Likewise.
	* config/romp/romp.h: Likewise.
	* config/rs6000/sysv4.h: Likewise.
	* config/rs6000/xcoff.h: Likewise.
	* config/s390/linux.h: Likewise.
	* config/sparc/sparc.h: Likewise.
	* config/sparc/sysv4.h: Likewise.
	* config/stormy16/stormy16.h: Likewise.
	* config/v850/v850.h: Likewise.
	* config/vax/vms.h: Likewise.
	* config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
	and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
	* config/sparc/sparc.c (sparc_elf_asm_named_section): Use
	default_elf_asm_named_section for SHF_MERGE sections.

Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
	is OK.

2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-common.c (split_specs_attrs): Allow for empty attributes with
	empty TREE_PURPOSE.  Fixes PR c/4294.

Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (cached_make_edge, make_single_succ): New.
	(make_edge): Remove first parameter.
	* bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
	* cfg.c (cached_make_edge): Rename from make_edge; return newly
	created edge; use obstack allocation.
	(make_edge, make_single_succ_edge): New.
	(first_removed_edge): New static variable.
	(init_flow): Initialize first_removed_edge and n_edges.
	(clear_edges): Use remove_edge.
	(flow_delete_block): Likewise.
	(remove_edge): Add removed edges to the removed edges list.
	(split_block, redirect_edge_and_branch_force, split_edge):
	Use make_edge.
	* cfganal.c (flow_call_edges_add): Updaet make_edge call.
	(add_noreturn_fake_exit_edges): Likewise.
	(connect_infinite_loops_to_exit): Liekwise.
	* cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
	Use cached_make_edge.
	* cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
	* profile.c (branch_prob): Update make_edge call.
	* ssa-dce.c (ssa_eliminate_dead_code): Likewise.

2001-09-11  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c: Tidy formatting.
	(local_symbolic_operand): Verify mode.
	(alpha_sa_mask): Ignore unicos for eh_return.
	(alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
	* config/alpha/alpha.md (umk divsi patterns): Remove.
	(extendsfdf2): Remove unicos check.
	(tablejump): Merge vms and unicos code; always use direct set
	plus label_ref use.

2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* config.gcc (alpha*-*-unicosmk*): New target.

	* config/alpha/alpha-protos.h (symbolic_operand,
	unicosmk_add_call_info_word, unicosmk_add_extern,
	unicosmk_defer_case_vector, unicosmk_unique_section,
	unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
	unicosmk_asm_file_start, unicosmk_asm_file_end,
	unicosmk_output_common): Declare.

	* config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
	direct_return, function_arg, alpha_va_start, alpha_va_arg,
	alpha_does_function_need_gp, alpha_end_function): Support Cray
	Unicos/Mk.
	(alpha_init_machine_status, alpha_mark_machine_status,
	alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
	unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
	unicosmk_asm_named_section, unicosmk_insert_attributes,
	unicosmk_section_type_flags, symbolic_operand,
	unicosmk_output_module_name, unicosmk_output_default_externs,
	unicosmk_output_dex, unicosmk_output_externs,
	unicosmk_output_addr_vec, unicosmk_ssib_name,
	unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
	unicosmk_asm_file_end, unicosmk_output_common,
	unicosmk_section_type_flags, unicosmk_unique_section,
	unicosmk_add_call_info_word, unicosmk_text_section,
	unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
	unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
	unicosmk_dex_count, unicosmk_special_name): New.
	(TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
	TARGET_ABI_UNICOSMK.
	(get_aligned_mem, alpha_expand_unaligned_load,
	alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
	alpha_expand_unaligned_store_words): Support big-endian mode.
	(print_operand): Likewise. New format specifier 't'. Use
	TARGET_AS_SLASH_BEFORE_SUFFIX.
	(alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
	(alpha_pv_save_size): Update with above change.
	(alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
	alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
	Unicos/Mk.

	* config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
	(TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
	(TARGET_AS_SLASH_BEFORE_SUFFIX): New.
	(EXTRA_CONSTRAINT): New constraint 'U'.
	(PREDICATE_CODES): Add symbolic_operand.

	* config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
	UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
	(mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
	(integer division and modulus patterns): Split in default and
	Unicos/Mk versions.
	(*divmodsi_internal, *divmoddi_internal): Disable for
	TARGET_ABI_UNICOSMK.
	(unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
	little-endian and big-endian versions.
	(ext, ins, msk): Likewise.
	(extv, extzv, insv): Support big-endian mode.
	(call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
	(call_umk, call_value_umk, *call_umk, tablejump_umk,
	*tablejump_umk_internal, *call_value_umk): New.
	(*movdi_nofix): Add pattern for loading an address into a register on
	TARGET_ABI_UNICOSMK.
	(umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
	(umk_mismatch_args, arg_home_umk): New.
	(various insns): Don't use mov, fmov, nop, fnop and unop.
	(realign): Support TARGET_ABI_UNICOSMK.

	* config/alpha/unicosmk.h: New file.
	* config/alpha/t-unicosmk: New file.

	* fixinc/inclhack.def (unicosmk_restrict): New.
	* fixinc/fixincl.x: Regenerate.

	* ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
	(wchar_t): Check for and define __WCHAR_T__.

2001-09-11  Richard Sandiford  <rsandifo@redhat.com>

	* combine.c (simplify_shift_const): Treat shifts by the mode
	size as undefined.

2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct tokenrun): New.
	(struct cpp_context): New member bol.
	(struct cpp_reader): New members.
	(_cpp_init_tokenrun): New.
	* cppinit.c (cpp_create_reader): Set up the token runs.
	* cpplex.c (lex_directive, lex_token, next_tokenrun): New.
	(lex_token): New internalised version of _cpp_lex_token.  Don't
	handle directives or the multiple include opimisation here any
	more.  Simply lex a token.
	* cpplib.c (run_directive): Clear bol.
	(_cpp_pop_buffer): Set bol.
	* cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
	arguments.

2001-09-11  Michael Meissner  <meissner@redhat.com>

	* config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
	give an error if the user uses -mfp32.
	(CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
	default options.
	(CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
	floating point register size.
	(EXTRA_SPECS): Add CPP_FPR_SPEC.

	* config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
	HOST_WIDE_INT_PRINT_DEC to properly print the result of
	int_size_in_bytes.
	* config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
	* config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.

2001-09-11  Hans-Peter Nilsson  <hp@axis.com>

	* dbxout.c (dbxout_parms): Fix typo in comment.
	* unroll.c (loop_find_equiv_value): Ditto.
	* toplev.c (rest_of_compilation): Ditto.
	* loop.c (scan_loop): Ditto.
	* dwarf2out.c (struct dw_fde_struct): Ditto.

2001-09-10  Zack Weinberg  <zackw@panix.com>

	* cpplex.c (parse_identifier): Fast-path optimize.  Avoid
	copying identifier when we're just going to throw it away.
	(parse_identifier_slow): New routine to handle abnormal cases.
	(_cpp_lex_token): Update call site.

	* hashtable.c (ht_lookup): Don't assume that the string we've
	been given is NUL-terminated.
	* system.h: #define __builtin_expect(a, b) to (a) if not
	GCC >=3.0.

2001-09-10  Michael Meissner  <meissner@redhat.com>

	* config.gcc (sparc64-*-solaris2): Add alias to be compatible with
	binutils, gdb.

2001-09-10  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).

Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* builtins.c (c_getstr): Correct thinko in last change and further
	cleanup.

2001-09-10  Tim Freeman <tim@fungibole.com>

	* dwarf2out.c (incomplete_types, decl_scope_table): Make them
	into varray's and register them as roots with the garbage
	collector so they are not collected too soon.

Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
	New.
	* basic-block.h (flow_obstack, label_value_list,
	tail_recursion_label_list): Declare
	(tidy_fallthru_edges): Declare.
	(expunge_block, last_loop_beg_note): Delete.
	(can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
	* cfg.c: New file
	(basic_block_for_insn, label_value_list): Move from flow.c; make global.
	(n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
	init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
	flow_delete_insn, flow_delete_insn_chain, create_basic_block,
	expunge_block, flow_delete_block, compute_bb_for_insn,
	update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
	make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
	redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
	try_redirect_by_replacing_jump, last_loop_beg_note,
	redirect_edge_and_branch, redirect_edge_and_branch_force,
	tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
	split_edge, insert_insn_on_edge, commit_one_edge_insertion,
	commit_edge_insertions, dump_flow_info, debug_flow_info,
	dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
	verify_flow_info, purge_dead_edges, purge_all_dead_edges):
	Move here from flow.c
	* cfganal.c: New file.
	(forwarder_block_p, can_fallthru, mark_critical_edges,
	 mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
	 find_unreachable_blocks, create_edge_list, free_edge_list,
	 print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
	 flow_edge_list_print, remove_fake_successors, remove_fake_edges,
	 add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
	 flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
	 flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
	 flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
	Move here from flow.c
	* cfgbuild.c: New file
	(count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
	 make_edges, find_basic_blocks_1, find_basic_blocks,
	 find_sub_basic_blocks): Move here from flow.c
	* cfgcleanup.c: New file.
	(try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
	 merge_blocks_move_predecessor_nojumps,
	 merge_blocks_move_successor_nojumps, merge_blocks,
	 flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
	 try_crossjump_bb, try_optimize_cfg): Move here from flow.c
	(delete_unreachable_blocks, cleanup_cfg): Likewise; return true
	if succeeded.
	* cfgloop.c: New file
	(flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
	 flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
	 flow_loop_exit_edges_find, flow_loop_nodes_find,
	 flow_loop_pre_header_scan, flow_loop_pre_header_find,
	 flow_loop_tree_node_add, flow_loops_tree_build,
	 flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
	 flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
	Move here from flow.c
	* flow.c: Remove everything moved elsewhere
	* output.h (cleanup_cfg): Return bool.

	* bb-reorder.c (reorder_block_def): Remove 'index'.
	(insert_intra_1): Add argument BB, set block for new note.
	(make_reorder_chain): Do not depdent on BB indexes.
	(make_reorder_chain_1): Do not use BB indexes.
	(label_for_bb): Likewise; set BB for new insn.
	(emit_jump_to_block_after): Likewise.
	(fixup_reoder_chain): Sanity check that all basic blocks
	are chained; verify newly created insn chain; remove
	undocnitional jump simplifying; Do not use BB indexes;
	properly initialize count and frequency information;
	dump reordered sequence.
	(insert_intra_bb_scope_notes): update call of insert_intra_1.
	(insert_inter_bb_scope_notes): Set block for new insn.
	(reorder_basic_blocks): Dump flow info before reoredering.

Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (clear_reg_alias_info): Use K&R format definition.
	Avoid unsigned warning.
	* builtins.c: Use "unsigned int", not "unsigned".
	(target_char_cast): Use host_integerp and tree_low_cst.
	(expand_builtin_args_info, expand_builtin_frame_address): Likewise.
	(c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
	(c_getstr): Likewise.
	(std_expand_builtin_va_arg): Use int_size_in_bytes.
	(builtin_memcpy_read_str): Avoid unsigned warning.
	(expand_builtin_memcpy): Alignments are unsigned.
	(expand_builtin_strncpy, expand_builtin_memset): Likewise.
	(expand_builtin_expect_jump): Use integer_zerop and integer_onep.
	* predict.c (expensive_function_p): LIMIT now unsigned.
	* resource.c (mark_target_live_regs): Make some vars unsigned.
	* sdbout.c: Use "unsigned int", not "unsigned".
	(MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
	(sdbout_source_line): Likewise.
	(sdbout_record_type_name): Remove "const" for NAME declaration.
	* config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.

2001-09-10  Richard Sandiford  <rsandifo@redhat.com>

	* calls.c (store_one_arg): Expand comment.

2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* calls.c (store_one_arg): Make sure that the entire argument is
	pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.

2001-09-09  Richard Henderson  <rth@redhat.com>

	* emit-rtl.c (adjust_address): Fix mode for LO_SUM.

Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* loop.c (combine_givs): Fix computing of benefit once giv is combined.

2001-09-09  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_next_sequence_number): New.
	(alpha_this_literal_sequence_number): New.
	(alpha_this_gpdisp_sequence_number): New.
	(some_operand, input_operand): Add HIGH.
	(local_symbolic_operand): New.
	(alpha_encode_section_info): New.
	(alpha_legitimate_address_p): Allow LO_SUM.
	(alpha_legitimize_address): Generate HIGH+LO_SUM.
	(alpha_expand_mov): Likewise.
	(secondary_reload_class): Check memory_operand not general_operand
	for FP_REGS test.
	(alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
	(alpha_expand_unaligned_store): Likewise.
	(alpha_expand_unaligned_load_words): Likewise.
	(alpha_expand_unaligned_store_words): Likewise.
	(alpha_expand_block_clear): Likewise.
	(print_operand): Handle %#, %*, %H.
	(print_operand_address): Handle LO_SUM.
	(find_lo_sum): New.
	(alpha_does_function_need_gp): Use it.
	(alpha_expand_block_move): Fix signed compare warnings.
	(alpha_sa_mask, alpha_align_insns): Likewise.
	* config/alpha/alpha-protos.h: Update.
	* config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
	(MASK_EXPLICIT_RELOCS): New.
	(TARGET_SWITCHES): Add -mexplicit-relocs.
	(EXTRA_CONSTRAINT): Add 'T'.
	(PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
	(ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
	(ENCODE_SECTION_INFO): Out line.
	(REDO_SECTION_INFO_P): New.
	(STRIP_NAME_ENCODING): New.
	(ASM_OUTPUT_LABELREF): New.
	(PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
	(PREDICATE_CODES): Update.
	* config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
	call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
	movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
	builtin_setjmp_receiver_er, exception_receiver_1_er,
	call_value_osf_1_er): New patterns.
	(sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
	(movqi, movhi, movsi): Add explicit $31 base register to lda.
	* config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
	(FINAL_PRESCAN_INSN): New.

Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.

2001-09-08  Andreas Jaeger  <aj@suse.de>

	* i386.h (TARGET_SWITCHES): Fix description.

2001-09-07  David Edelsohn  <edelsohn@gnu.org>

	* rs6000.c (num_insns_constant): Compute number of instructions
	more accurately.

	* doc/install.texi: Explain AIX exception handling work-around.
	Update URL for AIX fixes.

2001-09-07  Jim Wilson  <wilson@redhat.com>

	* alias.c (clear_reg_alias_info): New.
	* flow.c (attempt_auto_inc): Call clear_reg_alias_info.
	* rtl.h (clear_reg_alias_info): Declare.

2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
	available.
	(UEMUSHORT): New. Use instead of unsigned EMUSHORT.
	(m16m,edivm,emulm): Change declaration to match definition.

2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>

	* reload.c (push_reload): Check for subreg_lowpart_p instead of
	SUBREG_BYTE being 0 when determining if the inner part of a subreg
	can be reloaded.

2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* c-common.c (signed_or_unsigned_type): Handle machine mode types
	which have no corresponding C type.
	* fold_const.c (target_isinf,target_isnan,target_negative): Update
	the representation of 64-bit doubles to work with 64-bit ints.

2001-09-07  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.c (override_options): Do not override ISA when ABI
	specified if MIPS_CPU_STRING_DEFAULT was specified.

2001-09-07  Richard Henderson  <rth@redhat.com>

	* loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
	(express_from_1): Wrap lines.
	* rtlanal.c (commutative_operand_precedence): Rename from
	operand_preference; export.
	* rtl.h: Declare it.
	* simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
	(simplify_binary_operation): Invoke simplify_plus_minus on
	(CONST (PLUS ...)) as well.
	(struct simplify_plus_minus_op_data): New.
	(simplify_plus_minus_op_data_cmp): New.
	(simplify_plus_minus): Use them.  Avoid infinite recursion with
	simplify_binary_operation wrt CONST.

Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>

	* h8300-protos.h (general_operand_dst_push): Remove.
	* h8300.c (general_operand_dst_push): Likewise.
	* h8300.h (OK_FOR_T): Likewise.
	(EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
	* h8300.md (pushqi_h8300): New.
	(pushqi_h8300hs): Likewise.
	(pushqi): Likewise.
	(pushhi_h8300): Likewise.
	(pushhi_h8300hs): Likewise.
	(pushhi): Likewise.

Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* genattrtab.c (attr_printf): First arg is unsigned.
	Clean up formatting of callers.

2001-09-06  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.c (override_options): Allow abi32 with 64 bit
	registers.

2001-09-07  Andreas Jaeger  <aj@suse.de>

	* i386.h (TARGET_SWITCHES): Fix descriptions.

2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* stor-layout.c (compute_record_mode): Check DECL_SIZE is set.

2001-09-06  Ira Ruben  <ira@apple.com>

	Remove OP_IDENTIFIER.
	* tree.def (OP_IDENTIFIER): Remove.
	* tree.c (tree_node_kind enum): Remove op_id_kind.
	(tree_node_kind_names): Remove "op_identifiers".
	(make_node): Remove OP_IDENTIFIER test.
	(build_op_identifier): Removed because it isn't being used.
	* print-tree.c (print_node): Remove OP_IDENTIFIER case.
	* cp/pt.c (tsubst): Remove OP_IDENTIFIER case.

2001-09-06  Richard Henderson  <rth@redhat.com>

	* simplify-rtx.c (simplify_binary_operation): Revert last change.

2001-09-06  Richard Henderson  <rth@redhat.com>

	* simplify-rtx.c (simplify_binary_operation): Simplify contents
	of CONST.

2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
	number used for CR register.

Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
			  Joern Rennecke (amylaar@cygnus.com)

	* h8300-protos.h (h8300_return_addr_rtx): New prototype.
	* h8300.c (initial_offset): Handle offset between RP and FP.
	(h8300_return_addr_rtx): New function.
	* h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
	return register.
	(FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
	(REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
	(REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
	(CAN_ELIMINATE, REGISTER_NAMES):
	(RETURN_ADDR_RTX): Call h8300_return_addr_rtx.

2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>

	Remove TYPE_NONCOPIED_PARTS.
	* tree.h (TYPE_NONCOPIED_PARTS): Remove.
	(struct tree_type): Remove noncopied_parts.
	* c-tree.h (TYPE_ACTUAL_ARG_TYPES): Map onto TYPE_BINFO.
	* expr.c (save_noncopied_parts, init_noncopied_parts): Remove.
	(fixed_type_p): Remove.
	(expand_expr, INIT_EXPR): Don't deal with noncopied parts.
	(expand_expr, MODIFY_EXPR): Likewise.
	* ggc-common.c (ggc_mark_trees): Remove TYPE_NONCOPIED_PARTS.
	* doc/c-tree.texi: Remove TYPE_NONCOPIED_PARTS FIXME.

2001-09-06  Alan Modra  <amodra@bigpond.net.au>

	* config/rs6000/rs6000.c (mask_operand): Use signed vars to avoid
	compiler warnings.
	(mask64_operand): Likewise.
	(includes_rldic_lshift_p): Likewise.
	(includes_rldicr_lshift_p): Likewise.

2001-09-05  Ziemowit Laski  <zlaski@apple.com>

	* objc/objc-act.c (build_message_expr): If a class method cannot
	be found, do not issue a warning if a corresponding instance
	method exists in the root class.

2001-09-05  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_expand_mov): Initialize temp.

2001-09-05  Zack Weinberg  <zack@codesourcery.com>

	* function.c (ggc_mark_struct_function): Mark f->outer.
	* toplev.c (rest_of_compilation): Clear DECL_SAVED_INSNS here...
	* integrate.c (output_inline_function): ... not here.

Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* profile.c (branch_prob): Call add_noreturn_fake_exit_edges.

	* i386.c (size_cost): New static variable.
	(override_function): Use size_cost when -Os is specified.

	* i386.c (ix86_expand_prologue): Set use_fast_prologue_epilogue
	properly;  Use current_function_calls_eh_return.
	(ix86_expand_epilogue): Avoid dummy optimize_size tests;
	use leave to avoid dependency chain.

	* local-alloc.c (update_equiv_regs): Use CFG to iterate over INSN stream;
	get BB loop_depth instead of computing it from LOOP notes.

	* reg-stack.c (subst_stack_reg_pat): Handle reversal of conditional moves.

2001-09-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* som.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
	* pa.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
	UNALIGNED_DOUBLE_INT_ASM_OP): Define

2001-09-05  Jeffrey A Law  (law@cygnus.com)
	    Jason Merrill (jason@redhat.com)

	* stor-layout.c (layout_type): Complain if an array's size can
	not be represented in a size_t.

	* config/h8300/elf.h (ENDFILE_SPEC, STARTFILE_SPEC): Define.

2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>

	* gcc.c: (process_command) Add parentheses around assignment
	used as truth value.

2001-09-05  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (save_restore_insns): Don't mark any register
	save slots as unchanging if current_function_calls_eh_return.

2001-09-05  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_legitimate_address_p): New.
	* config/alpha/alpha-protos.h: Declare it.
	* config/alpha/alpha.h (GO_IF_LEGITIMATE_ADDRESS): Move to c file.
	(NONSTRICT_REG_OK_FOR_BASE_P): Rename from non-strict macro.
	(NONSTRICT_REG_OK_FP_BASE_P): Likewise.
	(STRICT_REG_OK_FOR_BASE_P): Rename from strict macro.
	(REG_OK_FOR_BASE_P): Select one of the above.

2001-09-05  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/t-elf (EXTRA_PARTS): Use EXTRA_MULTILIB_PARTS instead.
	(crti.o): Prefix name of object file with $(T).
	(crtn.o): Likewise.

2001-09-05  David S. Miller  <davem@redhat.com>

	* config/sparc/linux.h: Set CPLUSPLUS_CPP_SPEC.
	* config/sparc/linux64.h: Likewise.

2001-09-05  Andreas Jaeger  <aj@suse.de>

	* doc/invoke.texi (i386 Options): -mwide-multiply is not
	available anymore, remove the documentation.
	(i386 Options): Fix typo, cleanup index entries.

	* prefix.c (concat): Remove, we can use the version from liberty.

2001-09-05  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_expand_mov, alpha_expand_mov_nobwx):
	New functions split out of md file expanders.
	* config/alpha/alpha-protos.h: Declare them.
	* config/alpha/alpha.md (movqi, movhi, movsi, movdi): Use them.

2001-09-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmacro.c (funlike_invocation_p): No need to restore context.

2001-09-04  Richard Henderson  <rth@redhat.com>

	* reload.c (push_reload): Export.
	* reload.h (push_reload): Declare it.

	* config/alpha/alpha.h (LEGITIMIZE_ADDRESS): Move out o' line.
	(LEGITIMIZE_RELOAD_ADDRESS): Likewise.
	* config/alpha/alpha.c (alpha_legitimize_address): New.
	(alpha_legitimize_reload_address): Likewise.
	* config/alpha/alpha-protos.h: Declare them.

2001-09-04  Stan Shebs  <shebs@apple.com>

	* config/darwin.h (ASM_DECLARE_FUNCTION_NAME): Define.
	* config/darwin.c (machopic_stub_name): Account for internally
	generated lib calls such as memcpy.

2001-09-04  Richard Henderson  <rth@redhat.com>

	* unwind.h (_UA_END_OF_STACK): New flag.
	* unwind.inc (_Unwind_ForcedUnwind_Phase2): Set it.

Tue Sep  4 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)

	* h8300/elf.h (LINK_SPEC): Redefine appropriately for the H8.

2001-09-04  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (save_restore_insns): Change base_offset to
	fp_offset in second call to mips_emit_frame_related_store.

2001-09-04  Hans-Peter Nilsson  <hp@axis.com>

	* doc/rtl.texi: Mention that besides as a CODE_LABEL, a label can
	sometimes be represented as a NOTE of type
	NOTE_INSN_DELETED_LABEL.
	(Insns): Document NOTE_INSN_DELETED_LABEL.

2001-09-04  Nathan Sidwell  <nathan@codesourcery.com>

	* c-common.h (tree_dump_index): Add more comments.
	* c-dump.c (dump_files): Name flags `tree' rather than `ast'.
	(dump_option_value_info): New struct.
	(dump_options): New array.
	(dump_switch_p): Parse switch options symbolically.
	* doc/invoke.texi (-fdump-ast): Rename to ...
	(-fdump-tree): ... here. Document that options are symbolic, and
	not all are applicable.

2001-09-04  David S. Miller  <davem@redhat.com>

	* config/sparc/sparc.md (define_splits): Kill constraints.

	Cleanup redundant and unused insn attributes.
	* config/sparc/sparc.md (define_attr "insn"): Kill address, unary,
	binary, and move.  Mark ialu as default.
	(commented out define_function_unit "alu"): Kill.
	(define_attr "use_clobbered"): Kill.
	(whole file): Kill address insn type references.  Replace
	all unary/binary/move references with ialu.
	* config/sparc/sparc.c (whole file): Kill TYPE_ADDRESS
	references.  Replace TYPE_{UNARY,BINARY,MOVE} references with
	TYPE_IALU.

	Simplify length insn attribute and make more judicious use
	of insn attribute defaulting.
	* config/sparc/sparc.md (all insns with length > one): Mark as
	insn type multi if real instructions, else use default if
	it is a forced splitter.
	(all insns with length == one): Use default insn length.
	(all insns of type ialu): Use default insn type.

	Fix erroneous insn attribute settings.
	(addx): Set insn type to misc.
	(mulsidi3_sp64, const_mulsidi3_sp64, umulsidi3_sp64,
	const_umulsidi3_sp64): Set insn type to imul.

	Track SFmode vs DFmode insns according to UltraSPARC
	scheduling rules.
	* config/sparc/sparc.md ("fptype"): New attribute, default
	to "single".
	(all DFmode single insns): Mark as fptype "double".

2001-09-03  Jakub Jelinek  <jakub@redhat.com>

	* loop.c (express_from_1): Fix CONSTANT_P(a) case.

2001-09-03  Richard Henderson  <rth@redhat.com>

	* function.h (struct function): Add arg_pointer_save_area_init.
	* function.c (expand_function_end): Init arg_pointer_save_area.
	(get_arg_pointer_save_area): Do not init arg_pointer_save_area
	when called from a nested function.

2001-09-02  Angela Marie Thomas <angela@cygnus.com>

	* fixinc/Makefile.in: Regenerate fixincl.x only if maintainer-mode
	is enabled.

Sun Sep  2 18:37:54 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* reload1.c (fixup_abnormal_edges): Allow NOTEs in the sequence.

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

	* expr.c (push_block): Make sane use of STACK_GROWS_DOWNWARD.
	(emit_push_insn): Use specified padding direction when
	STACK_PUSH_CODE is POST_INC.

	* config/stormy16/stormy16.h (DWARF2_UNWIND_INFO): Define to 0.

2001-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* mips.h (INITIAL_ELIMINATION_OFFSET): Add missing `else abort'.

2001-09-01  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppinit.c (cpp_start_read): Free the imacros list as we
	traverse it.  Don't free the chains before returning.
	(_cpp_push_next_buffer): Only try pushing buffers if we've
	completed -imacros handling.

2001-08-31  Eric Christopher  <echristo@redhat.com>

	* gcc.c (handle_braces): Add explaination for abort.

2001-08-30  Roman Zippel  <zippel@linux-m68k.org>

	* expmed.c (store_bit_field): Update to patch from 2001-08-27:
	move adjustment of bitpos instead.

2001-08-31  Zack Weinberg  <zack@codesourcery.com>

	* function.c: Remove all_functions.  Make outer_function_chain
	static.
	(init_function_start): Don't add new function structure to
	all_functions.
	(find_function_data, push_function_context_to,
	pop_function_context_from, put_var_into_stack,
	trampoline_address): Update for changed structure element names.
	(push_function_context_to): Disentangle.
	(free_after_compilation): Also free F.
	(expand_dummy_function_end): Don't free cfun here.
	(put_var_into_stack): Comment why we can't use find_function_data here.
	(fix_lexical_addr, trampoline_address, ): Use find_function_data.
	(mark_function_chain): Split into maybe_mark_struct_function and
	ggc_mark_struct_function.  Export the latter.
	(init_function_once): Mark from cfun and outer_function_chain;
	not all_functions.

	* function.h (struct function): Kill next_global.  Rename next
	to outer.  All users updated to match.
	(all_functions, outer_function_chain): Don't declare.

	* ggc-common.c (ggc_mark_trees): Mark DECL_SAVED_INSNS.
	* integrate.c (output_inline_function): Clear DECL_SAVED_INSNS,
	don't touch f->inlinable, after calling rest_of_compilation.

	* tree.h: Forward-declare struct function.  Prototype
	ggc_mark_struct_function.

2001-08-31  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (*andorhi3): Fix typos.

2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* calls.c (emit_library_call_value): Don't use a fixed
	argument after VA_CLOSE, i.e. out of scope in traditional C.

	* emit-rtl.c (gen_rtvec): Likewise.

2001-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* Makefile.in (c-pragma.o): Depend on output.h.
	(reorg.o): Depend on except.h.

	* c-pragma.c: Include output.h.

	* reorg.c: Include except.h.

	* unwind-dw2.c: Call __builtin_alloca, not alloca.

2001-08-31  Richard Henderson  <rth@redhat.com>

	* sched-deps.c (add_dependence): Don't elide dependency if the
	conditional used by insn is modified in elem.

2001-08-31  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/v850/v850.h (OUTPUT_ADDR_CONST_EXTRA): Define.

2001-08-31  Diego Novillo  <dnovillo@redhat.com>

	* c-decl.c (c_decode_option): Skip '-f' prefix before calling
	dump_switch_p.

2001-08-31  Geoffrey Keating  <geoffk@redhat.com>

	* config/stormy16/stormy16.c (stormy16_asm_out_destructor): New
	function.
	(stormy16_asm_out_constructor): New function.
	(TARGET_ASM_CONSTRUCTOR): Define.
	(TARGET_ASM_DESTRUCTOR): Define.

2001-08-31  Andreas Jaeger  <aj@suse.de>

	* gcse.c (add_label_notes): REG_LABEL is an INSN_LIST.
	* loop.c (add_label_notes): Likewise.
	* reload.c (find_reloads): Likewise.
	* config/sh/sh.c (machine_dependent_reorg): Likewise.

2001-08-31  Jason Merrill  <jason_merrill@redhat.com>

	* unwind-pe.h (read_uleb128, read_sleb128): Move actual reading
	code here.  Take _Unwind_{W,Sw}ord*.
	(read_encoded_value_with_base): Use them.
	* unwind-dw2.c (_Unwind_FrameState): Make cfa_offset and cfa_reg
	words.
	(extract_cie_info): Simplify read_?leb128 handling.
	(execute_stack_op, execute_cfa_program): Likewise.
	* unwind-dw2-fde.c (get_cie_encoding): Likewise.

2001-08-31  Geoffrey Keating  <geoffk@redhat.com>

	* config/stormy16/stormy16.c (stormy16_expand_epilogue): Use
	the frame pointer to pop the stack if convenient.

	* config/stormy16/stormy16.c (stormy16_initialize_trampoline):
	Don't use post-increment before combine.
	* config/stormy16/stormy16.h (STATIC_CHAIN_REGNUM): Don't use
	a call-saved register.

2001-08-31  Andreas Jaeger  <aj@suse.de>

	* jump.c (mark_jump_label): Revert patch from 2001-08-28, the
	code was correct.

2001-08-30  Geoffrey Keating  <geoffk@redhat.com>

	* config/stormy16/stormy16.md (udivmodhi4): Express using UDIV/UMOD,
	not DIV/MOD, of course.

2001-08-30  Vladimir Makarov  <vmakarov@redhat.com>

	* rtl.def: Undo my patch commited 2001-08-27.

	* genattrtab.c: Ditto.

	* rtl.h: Ditto.

	* sched-int.h: Ditto.

	* target-def.h: Ditto.

	* target.h: Ditto.

	* haifa-sched.c: Ditto.

	* sched-rgn.c: Ditto.

	* sched-vis.c: Ditto.

	* Makefile.in: Ditto.

	* doc/md.texi: Ditto.

	* doc/tm.texi: Ditto.

	* doc/contrib.texi: Ditto.

	* doc/gcc.texi: Ditto.

	* genattrtab.h: Remove it.

	* genautomata.c: Remove it.

	* genattr.c: Undo my patch and Richard Henderson's patch commited
	2001-08-27.

Thu Aug 30 19:22:15 2001  J"orn Rennecke <amylaar@redhat.com>

	* config.gcc (h8300-*-elf*): New case.
	* h8300.h (CPP_SPEC): Add subtarget_cpp_spec.
	(SUBTARGET_CPP_SPEC): Define.
	(EXTRA_SPECS): Define.
	(SUBTARGET_EXTRA_SPECS): Define.
	* config/h8300/crti.asm, config/h8300/crtn.asm: New files.
	* config/h8300/elf.h, config/h8300/t-elf: Likewise.

Thu Aug 30 18:50:37 2001  J"orn Rennecke <amylaar@redhat.com>

	* t-h8300 (LIB1ASMFUNCS): Add _fixunssfdi and _fixunssfsi_asm.
	(LIB2FUNCS_EXTRA): Define.
	config/h8300/lib1funcs.asm: New part: L_fixunssfsi_asm .
	config/h8300/fixunssfsi.c: New file.

2001-08-30  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (zero_extendqihi2): Changes to
	define_expand to accommodate target-specific attributes.
	(anonymous zero_extendqihi2 patterns): New.

Thu Aug 30 18:10:56 2001  J"orn Rennecke <amylaar@redhat.com>

	* h8300.md (*andorhi3): New pattern.

Thu Aug 30 16:00:31 2001  J"orn Rennecke <amylaar@redhat.com>

	* h8300.c (dosize): Fix test for "sub".

Thu Aug 30 10:21:43 2001  J"orn Rennecke <amylaar@redhat.com>

	* c-typeck.c (pointer_diff): Try to eliminate common term before
	doing conversions.

2001-08-30  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_compute_initial_elimination_offset):
	Account for the saves of the FP registers.

	* config/arm/unknown-elf.h (TEXT_SECTION): Delete.
	(TEXT_SECTION_ASM_OP): Define.
	(INIT_SECTION_ASM_OP): Define.
	(FINI_SECTION_ASM_OP): Define.
	(SUBTARGET_EXTRA_SECTIONS): Remove trailing comma.
	(RDATA_SECTION_FUNCITON): Provide prototype.

2001-08-29  Geoffrey Keating  <geoffk@redhat.com>

	* reload1.c (move2add_note_store): Correct typo checking for
	argument pushes.

2001-08-29  Andrew MacLeod  <amacleod@redhat.com>

	* gcse.c (compute_hash_table): The SRC part of an insn with a RETVAL
	note should not be considered outside the libcall block.

2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* genattrtab.c (attr_printf): Use VA_OPEN/VA_FIXEDARG/VA_CLOSE.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (movsi_h8300hs): Make it 64-bit safe.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Add a prototype for
	emit_logical_op.
	* config/h8300/h8300.c (emit_logical_op): New.
	* config/h8300/h8300.md (andhi3): Use emit_logical_op.
	(andsi3): Likewise.
	(iorhi3): Likewise.
	(iorsi3): Likewise.
	(xorhi3): Likewise.
	(xorsi3): Likewise.

2001-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (move_operand): Cast GET_MODE_SIZE results to HOST_WIDE_INT for
	comparison with rtx INTVAL.
	(pa_output_function_prologue): Don't mix signed and unsigned in `?'
	expression.
	* pa.h (FUNCTION_ARG_SIZE): Likewise.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/lib1funcs.asm: Update the copyright.  Fix
	comment typos.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (anonymous movhi pattern): Don't move
	(reg n) to (mem (pre_dec (reg n))
	(anonymous movsi pattern): Likewise.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h (RETURN_ADDR_RTX): New.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (movsi_h8300hs): Optimize loading of
	several special constants.

2001-08-29  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/lib1funcs.asm: Fix comment typos.

2001-08-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* iris6.h (ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT):
	Fix format specifier warnings.

	* irix6-libc-compat.c (inet_ntoa, inet_lnaof, inet_netof,
	inet_makeaddr, semctl): Prototype.

	* mips.c (compute_frame_size): Fix signed/unsigned warnings.
	(save_restore_insns): Use base_offset, not gp_offset.

	* mips.h (GP_REG_OR_PSEUDO_STRICT_P): Fix signed/unsigned warning.
	(ASM_OUTPUT_BYTE): Fix format specifier warning.

2001-08-29  Richard Henderson  <rth@redhat.com>

	* bb-reorder.c (function_tail_eff_head): New.
	(record_effective_endpoints): Set it.
	(fixup_reorder_chain): Use it.

2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* dwarf2asm.c (dw2_asm_output_nstring): Fix typo in previous change.

2001-08-28  Dale Johannesen  <dalej@apple.com>

	* config/darwin.c (machopic_function_base_name): Add const
	qualifier to a string.
	(darwin_encode_section_info): Ditto.

2001-08-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* tree.c (default_valid_attribute_p): Don't use PARAMS on a
	function definition.

2001-08-28  Daniel Berlin  <dan@cgsoftware.com>

	* df.h (struct df): Add rts_order variable.

	* df.c (df_visit_next_rts): New function.
	(df_visit_next): Renamed to df_visit_next_rc
	(df_analyse_1): Allocate/compute/free rts_order as well.
	(df_rd_global_compute): Use df_visit_next_rc instead of
	df_visit_next.
	(df_ru_global_compute): Use df_visit_next_rts instead of
	df_visit_next.

	* flow.c (flow_reverse_top_sort_order_compute): New function.

	* basic-block.h: Add prototype.

2001-08-28  Daniel Berlin  <dan@cgsoftware.com>

	* ssa-ccp.c (ssa_ccp_df_delete_unreachable_insns): For unreachable
	blocks, the BB_REACHABLE is now set, rather than aux being
	non-NULL. Update the test to reflect this.

2001-08-28  Eric Christopher  <echristo@redhat.com>

	* config/mips/crtn.asm: Add comment explaining 16 byte alignment.
	config/mips/crti.asm: Ditto.

2001-08-28  Eric Christopher <echristo@redhat.com>
	    Richard Henderson <rth@redhat.com>

	* c-pragma.h (add_weak): Move prototype from here...
	* output.h (add_weak): ... to here.
	* varasm.c (add_weak): Fix typo.
	* config/mips/crti.asm: New file.
	* config/mips/crtn.asm: Ditto.
	* config/mips/elf.h (SBSS_SECTION_ASM_OP) Add #undef.
	(CTOR_LISTS_DEFINED_EXTERNALLY): Remove.
	(INVOKE__main): Ditto.
	(INIT_SECTION_ASM_OP): New.
	(FINI_SECTION_ASM_OP): Ditto.
	(STARTFILE_SPEC): Add crti.
	(ENDFILE_SPEC): Add crtn.
	* config/mips/elf64.h: Same.
	* config/mips/rtems64.h (INVOKE__main, NAME__MAIN, SYMBOL__MAIN):
	Remove.
	* config/mips/vxworks.h: Ditto.
	* config/mips/t-elf: Support crti and crtn.

2001-08-28  Alexandre Oliva  <aoliva@redhat.com>

	* jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
	INSN_LIST.

2001-08-28  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
	(one_cmplbi2 splitter): Remove redundant test.

2001-08-28  Dale Johannesen  <dalej@apple.com>

	* config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.

2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>

	* config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.

2001-08-28  Stan Shebs  <shebs@apple.com>

	* config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
	(UNALIGNED_SHORT_ASM_OP): Define.
	(UNALIGNED_INT_ASM_OP): Define.

2001-08-28  Will Cohen  <wcohen@redhat.com>

	* config/rs6000/rs6000.md (store_multiple): Correct RTL
	generation for first set.

2001-08-27  Roman Zippel  <zippel@linux-m68k.org>

	* flow.c (redirect_edge_succ_nodup): Return new edge.
	(try_simplify_condjump): Use new edge.
	* basic-block.h (redirect_edge_succ_nodup): Update prototype.

	* cse.c (cse_basic_block): Skip note instructions.

2001-08-27  Richard Henderson  <rth@redhat.com>

	* combine.c (combine_simplify_rtx): Don't reverse condition
	if there is no reverse for the condition.
	(simplify_comparison): Don't simplify subregs from INT to FP.

	* config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
	suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
	sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
	bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
	bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
	bunle_rev, bunlt_rev, bltgt_rev): New patterns.

2001-08-27  Roman Zippel  <zippel@linux-m68k.org>

	* config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
	bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
	(pushqi1): New.
	(adddi_dilshr32, adddi_dishl32): Only data register can be
	source for mem destination.

	* expmed.c (store_bit_field): Ignore adjustment to bitpos
	and use bitnum to decide about register move.

2001-08-27  Richard Henderson  <rth@redhat.com>

	* genattr.c (main): Emit state_t even when not doing scheduling.

2001-08-27  Roman Zippel <zippel@linux-m68k.org>
	    Richard Henderson  <rth@redhat.com>

	* gcse.c (reg_first_set, reg_last_set): Replace with ...
	(reg_avail_info, current_bb): ... these.
	(oprs_unchanged_p, record_last_reg_set_info): Use them.
	(compute_hash_table): Likewise.

2001-08-27  Roman Zippel <zippel@linux-m68k.org>

	* flow.c (verify_flow_info): Use checksums to verify edges.

2001-08-27  Richard Henderson  <rth@redhat.com>

	* genautomata.c (expand_automata): Always create a description.

2001-08-27  Geoffrey Keating  <geoffk@redhat.com>

	* optabs.c (expand_binop): Correctly handle the carry in multiword
	add/subtract operations.

2001-08-27  Fred Fish  <fnf@be.com>

	* ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
	__SIZE_TYPE__.

2001-08-27  Geoffrey Keating  <geoffk@redhat.com>

	* reload.c (find_reloads_toplev): Back out this change:

	Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>

	* reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
	mem if the address is a mode_dependent_address_p.

2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>

	* rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
	PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
	AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
	RTL constructions.

	* genattr.c (main): New variable num_insn_reservations.  Increase
	it if there is DEFINE_INSN_RESERVATION.  Output automaton based
	pipeline hazard recognizer interface.

	* genattrtab.h: New file.

	* genattrtab.c: Include genattrtab.h.
	(attr_printf, check_attr_test, make_internal_attr,
	make_numeric_value): Move protypes into genattrtab.h.  Define them
	as external.
	(num_dfa_decls): New global variable.
	(main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
	DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
	DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
	DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.

	* genautomata.c: New file.

	* rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.

	* sched-int.h: (curr_state): Add the external definition for
	automaton pipeline interface.
	(haifa_insn_data): Add comments for members blockage and units.

	* target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
	macros.
	(TARGET_SCHED): Use the new macros.

	* target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
	dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
	first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
	dfa_bubble): New members in gcc_target.sched.

	* haifa-sched.c (insert_schedule_bubbles_p): New variable.
	(MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
	(insn_queue): Redefine it as pointer to array.
	(NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
	INSN_QUEUE_SIZE.
	(max_insn_queue_index_macro_value): New variable.
	(curr_state, dfa_state_size, ready_try): New varaibles for
	automaton interface.
	(ready_element, ready_remove, max_issue): New function prototypes
	for automaton interface.
	(choose_ready): New function prototype.
	(insn_unit, blockage_range): Add comments.
	(unit_last_insn, unit_tick, unit_n_insns): Define them for case
	FUNCTION_UNITS_SIZE == 0.
	(insn_issue_delay, actual_hazard_this_instance, schedule_unit,
	actual_hazard, potential_hazard): Add comments.
	(insn_cost): Use cost -1 as undefined value.  Remove
	LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
	pipeline interface.
	(ready_element, ready_remove): New functions for automaton
	interface.
	(schedule_insn): Add new code for automaton pipeline interface.
	(queue_to_ready): Add new code for automaton pipeline interface.
	Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
	(debug_ready_list): Print newline when the queue is empty.
	(max_issue): New function for automaton pipeline interface.
	(choose_ready): New function.
	(schedule_block): Add new code for automaton pipeline interface.
	Print ready list before scheduling each insn.
	(sched_init): Add new code for automaton pipeline interface.
	Initiate insn cost by -1.
	(sched_finish): Free the current automaton state and finalize
	automaton pipeline interface.

	* sched-rgn.c: Include target.h.
	(init_ready_list, new_ready, debug_dependencies): Add new code for
	automaton pipeline interface.

	* sched-vis.c: Include target.h.
	(get_visual_tbl_length): Add code for automaton interface.
	(target_units, print_block_visualization):  Add comments.

	* Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
	USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
	(sched-rgn.o, sched-vis.o): Add new dependency file target.h.
	(getruntime.o, genautomata.o): New entries.
	(genattrtab.o): Add new dependency file genattrtab.h.
	(genattrtab): Add new dependencies.  Link it with `libm.a'.
	(getruntime.o, hashtab.o): New entries for canadian cross.

	* doc/md.texi: Description of automaton based model.

	* doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
	Add comments.
	(TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
	TARGET_SCHED_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
	TARGET_SCHED_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
	TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
	hook descriptions.
	(TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
	MAX_DFA_ISSUE_RATE): New macro descriptions.

	* doc/contrib.texi: Add dfa based scheduler contribution.

	* doc/gcc.texi: Add more information about genattrtab.

2001-08-27  Diego Novillo  <dnovillo@redhat.com>

	* flow.c (flow_loop_dump): Do not display insn UIDs if this is not
	an RTL basic block.

2001-08-27  Richard Henderson  <rth@redhat.com>

	* function.c (expand_function_end): Don't init arg_pointer_save_area.
	(get_arg_pointer_save_area): New.  Create an init it here.
	(fix_lexical_addr): Use it.
	* function.h: Declare it.
	* builtins.c (expand_builtin_setjmp_receiver): Use it.
	* stmt.c (expand_nl_goto_receiver): Use it.

2001-08-27  Richard Henderson  <rth@redhat.com>

	* final.c (final_scan_insn): Don't enter APP_ON mode for
	empty asm strings.

	* dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
	alignment for assemble_integer for DW_EH_PE_aligned.
	* except.c (output_function_exception_table): Likewise.

2001-08-26  Andreas Jaeger  <aj@suse.de>

	* c-tree.h: Add prototyp for c_sizeof_nowarn.

2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>

	* ssa-ccp.c (ssa_const_prop): Free ssa_edges.

2001-08-27  Alan Modra  <amodra@bigpond.net.au>

	* config/rs6000/rs6000.c (mask_operand): Rewrite without
	bit-shifting loop.
	(mask64_operand): Likewise.
	(rldic_operand): Delete.
	(includes_lshift64_p): Delete.
	(includes_rldic_lshift_p): New function.
	(includes_rldicr_lshift_p): New function.
	(print_operand): Don't call rldic_operand in case 'W'.
	* config/rs6000/rs6000-protos.h (rldic_operand): Remove.
	(includes_lshift64_p): Remove.
	(includes_rldic_lshift_p): Declare.
	(includes_rldicr_lshift_p): Declare.
	* config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
	* config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
	Replace match_operand rldic_operand predicate with
	const_int_operand.  Replace includes_lshift64_p condition with
	includes_rldic_lshift_p.
	<ashldi3_internal 64 bit rldicr patterns>: New.

2001-08-27  Andreas Jaeger  <aj@suse.de>

	* emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
	* errors.c: Likewise.
	* final.c: Likewise.
	* dwarf2asm.c: Likewise.
	* doprint.c (checkit): Likewise.
	* diagnostic.c: Likewise.
	* collect2.c: Likewise.
	* calls.c: Likewise.
	* c-semantics.c (build_stmt): Likewise.
	* c-format.c (status_warning): Likewise.
	* c-errors.c (pedwarn_c99): Likewise.
	* builtins.c (validate_arglist): Likewise.
	* config/pj/pj.c (pj_printf): Likewise.
	* fix-header.c: Likewise.
	* gcc.c: Likewise.
	* gcov.c (fnotice): Likewise.
	* gensupport.c (message_with_line): Likewise.
	* mips-tfile.c: Likewise.
	* protoize.c (notice): Likewise.
	* read-rtl.c (fatal_with_file_and_line): Likewise.
	* rtl-error.c: Likewise.
	* tradcpp.c: Likewise.
	* tree.c: Likewise.
	* cp/tree.c (build_min_nt): Likewise.
	(build_min): Likewise.
	* cp/lex.c: Likewise.
	* cp/errfn.c: Likewise.
	* cp/rtti.c (create_pseudo_type_info): Likewise.

Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>

	* df.c (df_uses_record): Return after recording all uses
	in ASM_OPERANDS.

2001-08-26  Daniel Berlin  <dan@cgsoftware.com>

	* df.c (df_insn_modify): Realloc the INSN table here, if
	necessary, here, too.

2001-08-26  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.c (mips_function_value): Handle complex return
	values.

2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>

	* reload1.c (reload): Make all entries in reg_equiv_memory_loc
	unshared.
	* reload.c (make_memloc): Copy result if it is still
	reg_equiv_memory_loc[regno] on return.
	(subst_reloads) [ENABLE_CHECKING]: Check that none of
	reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
	reg_equiv_mem are modified by the substitutions.

Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.c (expensive_function_p): New.
	* rtl.h (expensive_function_p): Declare.
	* i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
	(use_fast_prologue_epilogue): New static variable.
	(expand_prologue): Set it; emit short prologues if unset.
	(expand_epilogue): Likewise.

2001-08-22  Geoffrey Keating  <geoffk@redhat.com>

	* config.gcc: Add stormy16-*-elf case.
	* config/stormy16/stormy-abi: New file.
	* config/stormy16/stormy16-lib2.c: New file.
	* config/stormy16/stormy16-protos.h: New file.
	* config/stormy16/stormy16.c: New file.
	* config/stormy16/stormy16.h: New file.
	* config/stormy16/stormy16.md: New file.
	* config/stormy16/t-stormy16: New file.

Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.h (no-accumulate-outgoing-args): Use proper mask.

2001-08-24  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
	descriptor members are pointer size, not constant 4.
	* config/rs6000/rs6000.md (define_splits): Remove more unused
	constraints.

2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.

2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk

	* cp/rtti.c (VPARAMS): Fix parameter.

2001-08-24  Zack Weinberg  <zackw@panix.com>

	* expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
	to zero.
	(mode_for_extraction): No need for #ifdefs.  Add default-case abort
	to switch.
	(store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
	in if controlling use of insv.
	(extract_bit_field): Likewise, for extv and extzv.

Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.md (movcc peep2): Fix load of 0.

2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
	*_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.

2001-08-23  Jason Merrill  <jason_merrill@redhat.com>

	* c-pragma.h: Move weak_syms and weak_decls...
	* varasm.c: ...here.  Now static.
	(declare_weak, weak_finish, remove_from_pending_weak_list): Don't
	depend on HANDLE_PRAGMA_WEAK.

	* c-common.c (c_alignof, c_alignof_expr): Move here...
	* c-typeck.c: ...from here.
	* c-tree.h, c-common.h: Adjust.

2001-08-23  Bernd Schmidt  <bernds@redhat.com>

	* config/ia64/ia64.c (rws_update): If !pred, set write_count
	instead of incrementing it.

	* config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
	asm ready, don't try to move them all into the same array element.

Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* function.c (thread_prologue_and_epilogue_insns): Avoid
	fallthru flag on edge to exit.

	* i386.md (trunc?fsi splitter): Conditionionize for non-sse.

	* flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
	dead edges.

2001-08-23  Lars Brinkhoff  <lars@nocrew.org>

	* config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
	* config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
	* config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
	Remove prototype.

2001-08-23  Lars Brinkhoff  <lars@nocrew.org>

	* genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
	replace "GNU CC" with "GCC".

2001-08-23  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
	Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
	(ia64_secondary_reload_class): Need GR between AR/BR and anything.
	Need GR between FR and not GR_AND_FR.
	* config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
	* config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
	AR regs before GR regs.
	(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
	(PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
	(REGISTER_MOVE_COST): Update.
	(MEMORY_MOVE_COST): Add GR_AND_FR_REGS.

2001-08-23  Richard Henderson  <rth@redhat.com>

	* regclass.c (init_reg_sets_1): Don't assume cost 2 within
	a register class.

2001-08-22  Geoffrey Keating  <geoffk@redhat.com>

	* reload1.c (emit_reload_insns): Don't look for notes
	on a NULL store_insn.

2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* sparc.c (uns_small_int): Don't reference a constant >32-bit.
	(addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
	(sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
	format specifier warnings.
	(sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.

2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>

	* config/i386/i386-protos.h: Correct declaration of
	i386_pe_asm_named_section.

2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
	variable i.
	* pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.

2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpperror.c (print_location): Don't show _Pragma.
	* cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
	and file change callback generation here.
	(stack_include_file): Update use of cpp_push_buffer.
	* cpphash.h (_cpp_pop_file_buffer): Update prototype.
	(struct cpp_buffer): Remove type, pfile members.
	* cppinit.c (cpp_handle_option): Use free_chain.
	* cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
	(skip_escaped_newlines, get_effective_char, lex_percent): Take
	a cpp_reader rather than a cpp_buffer.
	(skip_escaped_newlines, get_effective_char, skip_block_comment,
	skip_line_comment, parse_string, lex_percent, lex_dot,
	_cpp_lex_token): Update accordingly.
	* cpplib.c (_cpp_pop_buffer): Don't do file change callback
	generation here.
	(cpp_push_buffer): Update prototype.
	(run_directive): Update use of cpp_push_buffer.
	(_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
	handle_assertion): Update use of run_directive.
	* cpplib.h (enum cpp_buffer_type): Remove.
	(cpp_push_buffer): Update prototype.
	* fix-header.c (read_scan_file): Update.

2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* gcc.c (struct prefix_list): Change prefix to const char *.

2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.

2001-08-22  Jason Merrill  <jason_merrill@redhat.com>

	* explow.c (set_mem_attributes): Avoid returning a bogus alias set
	from a new MEM.

	* jump.c (squeeze_notes): Take parms by reference.  Handle END being
	a squeezable note.
	* rtl.h: Adjust.
	* ifcvt.c (dead_or_predicable): Adjust.
	* loop.c (find_and_verify_loops): Adjust.
	* stmt.c (expand_end_case): Adjust.
	* flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
	head and end insn pointers in the basic block, not just local copies.
	(merge_blocks_move_predecessor_nojumps): Likewise.

2001-08-22  Lars Brinkhoff  <lars@nocrew.org>

	* Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
	bitmap.h, builtin-types.def, builtins.c, builtins.def,
	c-aux-info.c, c-common.c, c-common.def, c-common.h,
	c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
	c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
	c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
	caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
	conditions.h, config.gcc, configure.frag, configure.in,
	conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
	cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
	dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
	doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
	dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
	emit-rtl.c, errors.c, errors.h, except.c, except.h,
	exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
	fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
	function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
	gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
	gencheck.c, gencodes.c, genconfig.c, genemit.c,
	genextract.c, genflags.c, gengenrtl.c, genmultilib,
	genopinit.c, genoutput.c, genpeep.c, genrecog.c,
	gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
	ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
	graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
	gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
	gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
	hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
	integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
	libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
	machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
	mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
	mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
	params.h, predict.c, predict.def, predict.h, prefix.c,
	prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
	read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
	regclass.c, regmove.c, regrename.c, regs.h, reload.c,
	reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
	rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
	sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
	sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
	ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
	stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
	tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
	tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
	unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
	unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
	xcoffout.h: replace "GNU CC" with "GCC".

2001-08-21  Richard Henderson  <rth@redhat.com>

	* final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
	(final_scan_insn): Consider jump tables data even if we have no
	independent text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
	ADDR_VEC_ALIGN.
	* config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
	(ASM_OUTPUT_CASE_END): Remove.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
	* config/ia64/ia64.md (tablejump): Decode pc-relative references.
	* config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.

2001-08-21  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
	at barrier insns.  Emit stop bits before barriers.

	* flow.c (flow_find_cross_jump): Don't consider unconditional
	return insns for commoning.

	* final.c (compute_alignments): Fix typo.

	* expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
	(CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
	(store_bit_field): Use mode_for_extraction more places.
	(extract_bit_field): Likewise.

2001-08-21  Zack Weinberg  <zackw@panix.com>

	* caller-save.c: Don't include insn-codes.h.
	(reg_save_code, reg_restore_code): Make arrays of int.
	All uses updated to match.
	(insert_save, insert_restore): No need to initialize "code"
	variable upon declaration.
	* Makefile.in: update dependencies; fix typo in clean rule.

2001-08-21  Richard Henderson  <rth@redhat.com>

	* ifcvt.c (find_if_block): Allow join_bb as EXIT.
	(merge_if_block): Handle fallout from same.

2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* builtins.c (type_to_class): Fix typo in last change.

2001-08-21  Richard Henderson  <rth@redhat.com>

	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
	ia64_asm_output_label.

	* config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
	copy of gp while the real gp register contains garbage.

2001-08-21  Zack Weinberg  <zackw@panix.com>

	* expmed.c (mode_for_extraction): New function.
	(store_bit_field, extract_bit_field): Use it.
	* expr.h: Prototype it and provide an enum for its first argument.

	* combine.c, function.c, recog.c: Don't include insn-codes.h.
	Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
	and digging through the insn_data tables.
	* Makefile.in: Update dependencies.

2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (stack_include_file): line-map.c now handles include
	depth.
	(handle_missing_handler): Similarly.
	(_cpp_execute_include): Similarly.
	(_cpp_pop_file_buffer): Similarly.
	* cpphash.h (struct cpp_reader): Remove system_include_depth,
	buffer_stack_depth and include_depth.
	* cpplib.c (do_include_common): line-map.c now handles include depth.
	(cpp_push_buffer): Similarly.
	(_cpp_pop_buffer): Similarly.
	* cppmacro.c (builtin_macro): Update.
	* line-map.c (init_line_maps): Set depth.
	(add_line_map): Increment "used" earlier.  Update and use the
	include depth.
	(trace_include): Use the include depth.
	* line-map.h (struct line_maps): New member depth.

2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (stack_include_file): Don't handle -H here.
	* cppinit.c (cpp_start_read): Set include tracing after
	cpp_post_options and after stacking the main file.
	* line-map.c (trace_include): New.
	(init_line_maps, add_line_map): Update.
	* line-map.h (struct line_maps): New member trace_includes.

2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppfiles.c (stack_include_file): Harmonize system headerness tests.
	* cppfiles.c (stack_include_file): Only stack a file if there
	is something to do.  Return a boolean indicating whether a
	buffer was stacked or not.
	(_cpp_execute_include): Similarly.
	(_cpp_read_file): Similarly.
	* cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.

2001-08-21  Sam Steingold  <sds@gnu.org>

	* tradcpp.c (rescan): define obufp_before_macroname before RECACHE
	(RECACHE): keep obufp_before_macroname up to date

2001-08-21  Zack Weinberg  <zackw@panix.com>

	* stmt.c: Don't include insn-codes.h.
	(expand_end_case): Machine specific logic moved to expr.c.
	No need to worry about __builtin_classify_type.
	(check_for_full_enumeration_handling, emit_case_nodes):
	Kill #if 0 blocks.

	* builtins.o (expand_builtin_classify_type): Split up so code
	can be shared with fold_builtin_classify_type.
	(type_to_class, fold_builtin_classify_type): New functions.
	(fold_builtins): Handle __builtin_classify_type.

	* expr.c (do_tablejump): Now static.
	(case_values_threshold, try_casesi, try_tablejump): New;
	code mostly from stmt.c (expand_end_case).
	(expr.h): Update prototypes.

	* Makefile.in (stmt.o): Update dependencies.

2001-08-21  Will Cohen  <wcohen@redhat.com>

	* configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
	declaration of variable i.
	* configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
	declaration of variable i.

2001-08-21  Richard Henderson  <rth@redhat.com>

	* crtstuff.c: Fix thinko last change.  Move list tails to start
	of CRT_END section.  Tidy ifdefs.
	(__EH_FRAME_BEGIN__): Always static for ELF.
	(__do_global_ctors_1): Rename from __frame_dummy.
	* config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
	name change; don't hide __EH_FRAME_BEGIN__.

2001-08-21  Richard Henderson  <rth@redhat.com>

	* gdbinit.in: Move break on exit after break on fancy_abort.

	* config/ia64/ia64.c (ia64_return_in_memory): True for variable
	sized types.

2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (_cpp_push_next_buffer): New.
	* cppinit.c (do_includes): Remove.
	(push_include, free_chain, _cpp_push_next_buffer): New.
	(cpp_start_read): Use them to rework command line option handling.
	(cpp_handle_option): Combine handling of -include and -imacros.
	* cpplex.c (_cpp_lex_token): Push a new -include buffer if
	appropriate.  Always insert missing \n at EOF.
	* cpplib.c (start_directive): Get the directive position right.
	* cppmain.c (cb_file_change): Always print the first line, unless
	preprocessed.

2001-08-20  Andreas Jaeger  <aj@suse.de>

	* profile.c (compute_branch_probabilities): Remove extra new-line
	in error message.
	* flow.c (verify_flow_info): Likewise.

2001-08-20  Diego Novillo  <dnovillo@redhat.com>

	* basic-block.h (basic_block): Add new field 'flags'.
	(BB_REACHABLE): Define.
	(expunge_block): Declare.
	* flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
	(EXIT_BLOCK_PTR): Ditto.
	(expunge_block): Remove static declaration.
	(cleanup_cfg): Clear bb->aux on every basic block.
	(find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
	computing reachability.
	(delete_unreachable_blocks): Delete block b if b->flags has
	BB_REACHABLE unset.

2001-08-20  Diego Novillo  <dnovillo@redhat.com>

	* doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.

2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* sparc.c (sparc_variable_issue): Fix typo in last change.

2001-08-20  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.

2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.h (RETURN_IN_MEMORY): Improve comment.

2001-08-20  Janis Johnson  <janis187@us.ibm.com>

	* doc/invoke.texi (Profiling options): Clarify the interactions
	between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.

2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>

	* crtstuff.c (__do_global_ctors): Fix typo in preprocessing
	command.

2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* gcc.c (make_relative_prefix): Allocate a sufficiently large
	buffer.

2001-08-20  Richard Henderson  <rth@redhat.com>

	* final.c (end_final): Fix typo last change.

2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppinit.c (init_standard_includes): The returned buffer
	is already malloc-ed.
	* gcc.c (add_prefix): Similarly.
	* prefix.c (translate_name): Update to support clear buffer
	ownership rules.
	(update_path): Similarly.  Be sure to free any newly allocated
	key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
	(tr): New function.
	* prefix.h (update_path): Update prototype and document.
	* config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
	up and update to new buffer ownership rules.
	* doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.

Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* final.c (compute_alignments): New function.
	(init_insn_lengths): Do not care label_align.
	(LABEL_ALIGN_AFTER_BARRIER): Default to 1.
	(LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
	(JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
	(shorted_branches): Realloc label_align array; do
	not call init_insn_lengths; Do not care about loop alignments.
	* output.h (compute_alignments): Declare.
	* toplev.c (rest_of_compilation): Call compute_alignments.
	* tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.

	* predict.c (block_info_def): Add npredecesors, remove nvisited;
	change visited to tovisit.
	(propagate_freq): Use faster traversing algorithm.
	(estimate_loops_at_level, estimate_bb_frequencies): Change visited
	to tovisit; reverse meaning.

	* predict.c (struct block_info_def): Remove nvisited.
	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
	(estimate_bb_frequencies): Call mark_dfs_back_edges.

2001-08-19  Geoffrey Keating  <geoffk@redhat.com>

	* doc/invoke.texi (MIPS Options): Document -mfused-madd.
	* config/mips/mips.h (MASK_NO_FUSED_MADD): New.
	(TARGET_FUSED_MADD): New.
	(TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
	* config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
	the multiply-add instructions.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
	is aligned to pointer size.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
	display markers during final schedule.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* function.c (gen_mem_addressof): Don't call get_alias_set if no decl.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
	in the same string.
	(ASM_NAME_TO_STRING): Remove.
	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
	in the same string.  Remove support for expressions.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.md (tablejump): Make an expander; handle
	pic relative addressing here.
	(tablejump_1): Rename from tablejump_pic.
	(casesi): Remove.

2001-08-19  Richard Henderson  <rth@redhat.com>

	* regclass.c (fix_register): Fix typo.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* config/ia64/unwind-ia64.c (UNW_REG_B0): New.
	(struct _Unwind_Context): Expand br_loc to hold it.
	(uw_frame_state_for): Handle leaf functions better.
	(uw_update_reg_address): Update for br_loc change.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* crtstuff.c: Move list heads before code that uses them.
	(__JCR_LIST__): Remove initial null.
	(frame_dummy, __frame_dummy): Do java registration here ...
	(__do_global_ctors_aux): ... not here.

	* config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
	(__do_global_dtors_aux): Update to match.
	(__JCR_LIST__, __do_jv_register_classes): New.
	(.init): Call it.
	* config/ia64/crtend.asm (__JCR_END__): New.
	(__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
	instead of an indirect LTOFF22 reloc.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
	* regclass.c (init_reg_sets_1): Fix typo.
	* config/ia64/ia64.c (ar_pfs_reg_operand): New.
	(ia64_expand_call): Pass ar.pfs to sibcall expanders.
	(ia64_compute_frame_size): Make ar.unat live when in use.
	(ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
	for ar.pfs; remove ar.unat handling.
	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
	call-saved.
	(PREDICATE_CODES): Add ar_pfs_reg_operand.
	* config/ia64/ia64-protos.h: Update decls.
	* config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
	(sibcall_pic): Likewise.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
	pred_rel_mutex when searching for insn_group_barrier.
	* config/ia64/ia64.md (cycle_display): Combine the expander
	and insn patterns.

	* config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
	bit before asm as needed.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* timevar.def (TV_MACH_DEP): New.
	* toplev.c (rest_of_compilation): Use it.
	* config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.

2001-08-18  Zack Weinberg  <zackw@panix.com>

	* unwind-dw2.c (execute_stack_op): Add default aborts to
	the inner switches to prevent warnings.

2001-08-18  Richard Henderson  <rth@redhat.com>

	* timevar.h (struct timevar_time_def): Change element type to float.
	(ticks_to_msec, clocks_to_msec): Likewise.
	(TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
	(get_time): Likewise.
	(timevar_print): Adjust zero check and printing to match.

2001-08-18  Zack Weinberg  <zackw@panix.com>

	* doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
	doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
	Eliminate overfull or underfull hboxes.

2001-08-18  Zack Weinberg  <zackw@panix.com>

	* cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.

2001-08-18  Zack Weinberg  <zackw@panix.com>

	* haifa-sched.c: Convert to target hooks.  Macros replaced
	are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
	MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
	MD_SCHED_FINISH, and HAVE_cycle_display.
	* target-def.h (TARGET_SCHED_ADJUST_COST,
	TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
	TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
	TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
	TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
	New hook #defines to be overridden.
	(TARGET_SCHED): Bring them all together.
	(TARGET_INITIALIZER): Update.
	* target.h: Don't forward declare struct rtx_def.  Use 'rtx'
	instead of 'struct rtx_def *' throughout.
	(struct sched): New set of hooks for the scheduler.
	* Makefile.in (haifa-sched.o): Depend on target.h.
	* doc/tm.texi: Document the new scheduler hooks, together in
	their own section, instead of scattered around.
	Fix a bunch of underfull/overfull hboxes.

	* a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
	ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
	sparc.h: Don't define any of the old scheduler macros.

	* a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
	ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
	sparc.c: Create hook functions from code extracted from
	corresponding target header, or make existing hooks static, as
	appropriate.  Set the appropriate entries in targetm.

	* alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
	i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
	rs6000-protos.h, s390-protos.h, sparc-protos.h:
	Remove prototypes for functions which are now static.

	* d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
	related gunk; the Haifa scheduler is now the only choice.

2001-08-18  Zack Weinberg  <zackw@panix.com>

	* optabs.h (OTI_flodiv, flodiv_optab): Kill.
	* genopinit.c: Put floating point divide insns in sdiv_optab.
	* expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
	* config/gofast.h, config/c4x/c4x.h,
	config/ia64/hpux_longdouble.h, config/mips/mips.h,
	config/pa/long_double.h, config/rs6000/sysv4.h,
	config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
	* optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
	(init_optabs): Use init_optabv for overflow-trapping optabs.
	Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
	cmp_optab RTX codes so have_insn_for can find them.

	* optabs.c (expand_simple_binop, expand_simple_unop,
	have_insn_for, gen_sub3_insn): New interfaces.
	* expr.h: Prototype new functions.
	(enum optab_methods): Move here from optabs.h.

	* builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
	loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
	Use new	functions instead of working directly with optabs.
	* doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
	unroll.c: Don't include optabs.h.
	* caller-save.c, combine.c, function.c, stmt.c: Just include
	insn-codes.h, not optabs.h.
	* Makefile.in: Update dependencies.

	* combine.c (make_compound_operation, simplify_comparison):
	Fix typos testing for this or that instruction.

2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>

	* mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
	generating libgcc.a.

2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* except.c (TYPE_HASH): Delete.

	* objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
	HOST_WIDE_INT.

	* tree.c (TYPE_HASH): Delete.

	* tree.h (TYPE_HASH): Define.

2001-08-18  Graham Stott  <grahams@redhat.com>

	* config/mips/mips.md (adddi3_internal_2+1): Remove constraints from
	define_split.
	(adddi3_internal_2+2): Likewise.
	(eh_set_lr_di+1): Likewise.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
	UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
	* dwarf2asm.c: ... here.
	* dwarfout.c: Remove them.

	* varasm.c (assemble_integer): Add align parameter.
	(assemble_real, output_constant, output_constructor): Likewise.
	* output.h: Update decls.
	* dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
	config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
	config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
	config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
	config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
	Update all callers.

	* final.c (end_final): Abort profile block generation if we
	havn't layed it out properly.
	* output.h (assemble_eh_integer): Remove stale decl.
	* varasm.c (assemble_zeros): Tidy; use assemble_integer.
	(min_align): New.
	(assemble_integer): Handle unaligned data.
	(assemble_real): Abort on unaligned data.
	(output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
	anything useful.
	(default_dtor_section_asm_out_destructor): Use assemble_align.
	(default_named_section_asm_out_constructor): Likewise.
	(default_ctor_section_asm_out_constructor): Likewise.
	* config/darwin.c (machopic_asm_out_constructor): Likewise.
	(machopic_asm_out_destructor): Likewise.
	* config/nextstep.c (nextstep_asm_out_constructor): Likewise.
	(nextstep_asm_out_destructor): Likewise.
	* config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
	(vms_asm_out_destructor): Likewise.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* config/mips/iris6.h (TARGET_IRIX6): New.
	(current_section_name, current_section_flags): New.
	(ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
	(MAX_OFILE_ALIGNMENT): New.
	(ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
	* config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
	(copy_file_data): Split out from
	(mips_asm_file_end): ... here.
	(mips_asm_file_start): Remove extra .section directive.  Use
	tmpfile instead of mips_make_temp_file.
	(mips_unique_section): Use const char * as needed for warnings.
	(iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
	re-add align parameter.
	(iris6_asm_named_section): New.
	(iris_section_align_entry_eq, iris_section_align_entry_hash): New.
	(iris6_asm_output_align, iris6_section_align_1): New.
	(iris6_asm_file_start, iris6_asm_file_end): New.
	* config/mips/mips-protos.h: Update decls.

2001-08-17  Janis Johnson  <janis187@us.ibm.com>

	* doc/install.texi (Install GCC): Add links to build status pages.
	(Specific): Ditto.
	(Final install): Ditto; request updates for specific info

2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpperror.c (print_location):  Don't take a file name; use the
	line map instead.
	(_cpp_begin_message): Similarly.
	(cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
	cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
	(cpp_pedwarn_with_file_and_line): Remove.
	* cppfiles.c (stack_include_file): Update; set filename to stdin
	here when appropriate.
	* cpphash.h (struct cpp_buffer): Remove nominal_fname.
	(_cpp_begin_message): Don't take a file name.
	* cppinit.c: Add comment.
	* cpplex.c: Fix end-of-directive indicator.
	* cpplib.c: Don't include intl.h.
	(run_directive, do_diagnostic): Update.
	(do_line): Update to not use nominal_fname.
	(cpp_push_buffer): Don't take a filename.
	* cpplib.h (struct ht): Remove.
	(cpp_push_buffer): Don't take a filename.
	(cpp_pedwarn_with_file_and_line): Remove.
	* cppmacro.c (struct cpp_macro): Remove file.
	(builtin_macro): Update.
	(_cpp_create_definition): Update.
	* cppmain.c: Correct comment.
	* fix-header.c (read_scan_file): Update.

2001-08-17  Kazu Hirata  <kazu@hxi.com>

	* sbitmap.c: Fix comment formatting.
	* sched-deps.c: Likewise.
	* sibcall.c: Likewise.
	* simplify-rtx.c: Likewise.
	* ssa.c: Likewise.
	* ssa-ccp.c: Likewise.
	* stor-layout.c: Likewise.
	* timevar.c: Likewise.
	* toplev.c: Likewise.
	* unwind-dw2.c: Likewise.
	* unwind-dw2-fde.c: Likewise.
	* varasm.c: Likewise.

2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
	or larger than an integer in memory.

2001-08-17  Zack Weinberg  <zackw@panix.com>

	* system.h: Forward-declare struct rtx_def, struct rtvec_def,
	and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
	* rtl.h: Don't forward-declare union tree_node here.  Don't
	typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
	and tree respectively.
	* tree.h: Don't forward-declare struct rtx_def here.  Don't
	typedef tree here.  Change all uses of struct rtx_def *,
	struct rtvec_def *, or union tree_node * to use rtx, rtvec,
	and tree respectively.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
	config/mips/openbsd.h: Fix typos last change.

2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/invoke.texi (Optimize Options): The default for
	-finline-limit is 600.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* varasm.c (text_section): Allow TEXT_SECTION to override the
	printing of TEXT_SECTION_ASM_OP.
	* dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
	(DATA_SECTION, BSS_SECTION): Remove.
	* dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
	RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
	Rename from s/_NAME//.
	* config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
	(ASM_DECLARE_FUNCTION_NAME): Move file switching ...
	(TEXT_SECTION): ... here.  New.
	* config/mips/elf.h (TEXT_SECTION): New; no file switching.
	* config/mips/elf64.h, config/mips/netbsd.h: Likewise.
	* config/mips/openbsd.h: Likewise.
	* config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
	(mips_asm_file_end): Likewise test.
	(mips_output_function_epilogue): Likewise.  Switch back to data
	section after emitting the function.

	* doc/tm.texi (Sections): Document TEXT_SECTION.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
	(dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.

2001-08-17  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
	* crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
	__JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
	Add aligned attribute.

2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>

	* config/sh/sh.md: Add modes to unspecs in first insn to match
	those in the second.

	* Makefile.in: Fix collect2 copy for Cygwin.

Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>

	Install the proper patch.
	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
	(expand_function_start): Likewise.
	* stmt.c (expand_decl): Likewise.
	* varasm.c (make_decl_rtx): Likewise.

Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* final.c: Undo my previous accidental checkin.
	* output.h: Likewise.
	* tm.texi: Likewise.

2001-08-16  Richard Henderson  <rth@redhat.com>

	* varasm.c (named_section_flags): Remove align parameter.
	* varasm.c, dwarf2out.c: Update all callers.
	* output.h: Update prototypes.

	* target.h (target.asm_out.named_section): Remove align parameter.
	* varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
	config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
	config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
	config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
	config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.

	* varasm.c (in_named_entry_eq, in_named_entry_hash): New.
	(get_named_section_flags, set_named_section_flags): New.
	(named_section_flags): Use them.
	(named_section): Do decl vs section flags check here...
	(default_section_type_flags): ... not here.
	(init_varasm_once): Create in_named_htab.
	(resolve_unique_section): Mark reloc unused.

2001-08-16  Richard Henderson  <rth@redhat.com>

	* varasm.c (force_const_mem): Keep pool alignment in bits.
	(output_constant_pool): Use assemble_align.

2001-08-16  Zack Weinberg  <zackw@panix.com>

	* doc/tm.texi: Remove extra @table command.

2001-08-16  Zack Weinberg  <zackw@panix.com>

	* final.c (shorten_branches): Clear the end of the label_align
	array only if we made it larger.  Break up messy expressions
	for clarity.

	* diagnostic.c (internal_error): Check for error recursion
	before doing ICE suppression.

	* timevar.c: Timing variables now count in milliseconds.
	(init_timevar): Set up ticks_to_msec and clocks_to_msec here.
	(get_time): Not here.
	(timevar_print): Don't print any timer whose user, cpu, and
	wall times are all zero as displayed.
	* timevar.h: Update comment aboout units.  Make timevar
	counters unsigned.

Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* function.c (put_var_into_stack): Temporarily clear DECL_RTL.
	(assign_params): Avoid setting DECL_RTL to unfinished RTX.
	(expand_function_start): Likewise.
	* stmt.c (expand_decl): Likewise.
	* varasm.c (make_decl_rtx): Likewise.

2001-08-16  Jason Merrill  <jason_merrill@redhat.com>

	* stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
	(finalize_record_size): Don't set TYPE_USER_ALIGN.

2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
	variables.

2001-08-16  Andreas Jaeger  <aj@suse.de>

	* config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
	prototype.

Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)

	* rtl.h (only_sets_cc0_p): New prototype.
	* jump.c (sets_cc0_p): Handle INSN.
	(only_sets_cc0_p): New function.
	* flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
	(tidy_fallthru_edge): Likewise.
	* integrate.c (copy_insn_list): Likewise.
	* unroll.c (unroll_loop): Likewise.
	(copy_loop_body): Likewise.

2001-08-15  Jason Eckhardt  <jle@redhat.com>

	* config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".

Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.c (struct block_info_def): Remove nvisited.
	(propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
	(estimate_bb_frequencies): Call mark_dfs_back_edges.

	* i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
	(ix86_adjust_cost): Teach scheduler that latency to load operand can
	be masked.

Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.def: Update hitrates.

2001-08-15  Richard Henderson  <rth@redhat.com>

	* except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.

Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)

	* flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
	note from its associated jump.

2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
	also on 64-bit s390x targets.

2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/arm.c (arm_compute_initial_elimination_offset): New
	function.
	(arm_expand_prologue): Handled nested functions which take a
	variable argument list.
	* config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
	macro with an invocation of
	arm_compute_initial_elimination_offset.
	* config/arm/arm-protos.h: Prototype
	arm_compute_initial_elimination_offset.

2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Specific, avr): Fix markup.
	(Specific, c4x): Ditto.

2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>

	* predict.c (dump_prediction): Change `bool' parameter to `int'.

2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>

	* Makefile.in (OBJS): Add rtl-error.o
	(rtl-error.o): New rule.
	(diagnostic.o): Adjust dependency.
	diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
	error_for_asm, _fatal_insn, _fatal_insn_not_found,
	warning_for_asm): Move to...
	rtl-error.c: ...here.  New file.

2001-08-14  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
	if USING_SJLJ_EXCEPTIONS.

2001-08-14  Steve Ellcey <sje@cup.hp.com>

	* tlink.c (scan_linker_output): Check string for unsatisfied in
	addition to undefined and unresolved.

2001-08-14  Graham Stott  <grahams@redhat.com>

	* libgcc2.c (*): Replace EH_FRAME_SECTION with
	EH_FRAME_SECTION_NAME.

Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* genattrtab.c (simplify_test_exp_in_temp): New function.
	(simplify_test_exp): Avoid explicit use of temporary obstack.
	(simplify_cond, insert_right_side, evaluate_eq_attr,
	simplify_and_tree, simplify_or_tree, eliminate_known_true):
	Use simplify_test_exp_in_temp.
	(optimize_attrs): Iterate until expression stabilizes.

2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:

	* glimits.h: Remove the __LONG_MAX__ special case for s390x.
	* config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.

2001-08-13  Richard Henderson  <rth@redhat.com>

	* config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
	(DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
	* config/arm/conix-elf.h: Likewise.

2001-08-13  Geoffrey Keating  <geoffk@redhat.com>

	* config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
	in gcc.c.
	* config/rs6000/sysv4.h (LINK_SPEC): Likewise.

	* gcse.c (hash_scan_set): Expressions that are set as part of
	jump instructions are not available.

2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.c (print_operand, s390_function_prologue,
	s390_va_start): Fixed HOST_WIDE_INT type mismatch.

2001-08-13  Richard Henderson  <rth@redhat.com>

	* config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
	* defaults.h (EH_FRAME_SECTION_NAME): Respect it.
	* doc/tm.texi (Exception Region Output): Document it.

2001-08-13  Geoffrey Keating  <geoffk@redhat.com>

	* config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
	DWARF2 instead of stabs by default.

2001-08-13  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/rs6000.c: Include optabs.h.

2001-08-13  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/eabi.asm: Define 64-bit versions of FPR
	save/restore routines.
	* ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.

2001-08-13  Andreas Jaeger  <aj@suse.de>

	* gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
	the english is correct.

2001-08-13  Zack Weinberg  <zackw@panix.com>

	* expr.h: Split out optab- and libfunc-related code to...
	* optabs.h, libfuncs.h: ... these new headers.

	* Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
	(OPTABS_H): New.
	(various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
	dependencies.
	* mkconfig.sh: Don't include insn-codes.h from config.h.

	* reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
	enum insn_code is available.  Move reload_in_optab and
	reload_out_optab array declarations to optabs.h.
	* regmove.c (gen_add3_insn): Move to optabs.c, export from
	there, prototype in expr.h.
	* gencodes.c: Cleanup: zap global variables, don't use
	printf where puts will do, don't bother defining MAX_INSN_CODE
	which nothing uses, let CODE_FOR_nothing get its value implicitly.

	* genemit.c, genopinit.c: Include optabs.h in generated file.
	* genoutput.c: Include insn-codes.h in generated file.
	* builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
	expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
	reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
	config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
	config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
	config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
	Include optabs.h.
	* builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
	optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
	config/m88k/m88k.c, config/sparc/sparc.c:
	Include libfuncs.h.
	* reload.c: Include expr.h and optabs.h before reload.h.
	* config/alpha/alpha.c: Include tree.h before reload.h.
	* config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
	and reload.h in that order.
	* config/sparc/sparc.c: Include debug.h.
	* recog.c: Include insn-codes.h.

2001-08-13  Andreas Jaeger  <aj@suse.de>

	* config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
	s390*linux.

2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>

	* dwarf2out.c (output_cfa_loc): Fix typo in comment.
	* gcc.c (init_spec): Fix typo in comment.
	* varasm.c (data_section): Fix typo in comment.

Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.c (dump_prediction): New argument "USED".
	(combine_predictions_for_insn): Determine the used heuristics,
	output the case no heuristic applied.
	* predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.

2001-08-13  Andreas Jaeger  <aj@suse.de>

	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
	register %rip.

2001-08-13  Kazu Hirata  <kazu@hxi.com>

	* jump.c: Fix formatting.

2001-08-13  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.md (zero_extendqihi2): Correct the insn
	length.

2001-08-12  Geoffrey Keating  <geoffk@redhat.com>

	* loop.c (check_dbra_loop): Use condjump_label to compute
	jump_label.

	* rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
	to better document the files they're in.

2001-08-12  Zack Weinberg  <zackw@panix.com>

	* recog.h (struct insn_operand_data): Shrink 'mode' field
	to 16 bits.

2001-08-12  Kazu Hirata  <kazu@hxi.com>

	* gcc.c: Fix comment formatting.
	* gccspec.c: Likewise.
	* gcov.c: Likewise.
	* gcse.c: Likewise.
	* genemit.c: Likewise.
	* gengenrtl.c: Likewise.
	* genrecog.c: Likewise.
	* gensupport.c: Likewise.
	* ggc-page.c: Likewise.
	* global.c: Likewise.
	* graph.c: Likewise.
	* ifcvt.c: Likewise.
	* integrate.c: Likewise.
	* lcm.c: Likewise.
	* libgcc2.c: Likewise.
	* loop.c: Likewise.
	* mbchar.c: Likewise.
	* optabs.c: Likewise.
	* predict.c: Likewise.
	* prefix.c: Likewise.
	* profile.c: Likewise.
	* protoize.c: Likewise.
	* real.c: Likewise.
	* recog.c: Likewise.
	* regclass.c: Likewise.
	* regmove.c: Likewise.
	* reg-stack.c: Likewise.
	* reload1.c: Likewise.
	* resource.c: Likewise.
	* rtlanal.c: Likewise.
	* rtl.c: Likewise.

2001-08-12  Kazu Hirata  <kazu@hxi.com>

	* doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
	a tree representing a constant is passed to the macro.

2001-08-12  Richard Henderson  <rth@redhat.com>

	* config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
	(rs6000_elf_asm_out_destructor): New.
	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
	(DTORS_SECTION_ASM_OP): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	(ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.

2001-08-12  David Edelsohn  <edelsohn@gnu.org>

	Revert:
	2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
	* gcc.c (set_collect_gcc_options): New function, split out from
	main.
	Ignore elided switches.
	(do_spec_1): Invoke before executing command.
	(set_input): Export.
	Move declaration ...
	* gcc.h (set_input): ... here.
	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
	file.

2001-08-12  Richard Henderson  <rth@redhat.com>

	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
	thinko wrt TARGET_RELOCATABLE.

2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>

	* fix-header.c (cb_file_change): Update prototype.

2001-08-11  Zack Weinberg  <zackw@panix.com>

	* toplev.c (set_float_handler): Make static.
	* toplev.h: Don't prototype set_float_handler.

	* simplify-rtx.c: Don't include setjmp.h.
	(simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
	New functions.
	(simplify_unary_operation, simplify_binary_operation): Use them,
	via do_float_handler.

	* fold-const.c: Don't include setjmp.h.
	(exact_real_inverse_1): New function.
	(exact_real_inverse): Use it, via do_float_handler.

	* varasm.c: Don't include setjmp.h.
	(assemble_real_1): New function.
	(assemble_real): Use it, via do_float_handler.
	Call internal_error if we get a trap here.

	* c-parse.in, cse.c, cselib.c, config/i386/i386.c,
	config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.

2001-08-11  Zack Weinberg  <zackw@panix.com>

	* defaults.h: Define PREFERRED_STACK_BOUNDARY to
	STACK_BOUNDARY if not already defined.

	* calls.c, function.c, reload1.c, explow.c: Don't default
	PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
	PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.

	* explow.c (allocate_dynamic_stack_space): Change unsafe #if
	to run-time test.

	* doc/tm.texi: Document that STACK_BOUNDARY is required;
	clarify difference between it and PREFERRED_STACK_BOUNDARY.

2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppmacro.c (enter_macro_context): Push macro expansions even
	if empty.

2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* config/rs6000/rs6000.c: Include integrate.h to silence warning.
	(rs6000_elf_section_type_flags): Actually return a value.

2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>

	* s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
	Clean up code: add missing comments and prototypes, fix warnings,
	remove obsolete code, fix spacing to conform to coding style.

2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>

	* config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
	and TARGET_ASM_CLOSE_PAREN.
	(regclass_map): CC register belongs to class NO_REGS.
	(legitimize_pic_address): Don't generate unnecessary moves
	(to avoid confusing loop optimization).
	(check_and_change_labels): Replace jump_long by indirect_jump.
	(s390_final_chunkify): Don't start a new literal pool on section
	switch in 64-bit code.
	(s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.

	* config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
	(MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
	(HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
	modes correctly.
	(reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
	(EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
	(CONST_COSTS): Fixed incorrect costs.

	* config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
	Use emit_jump instead of emit_jump_insn (gen_jump).
	(divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
	(to avoid confusing flow analysis).
	(tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
	(casesi, casesi_jump): New.
	(jump_long): Removed.  Functionality merged into indirect_jump.
	(indirect_jump): Accept address_operand, not just register_operand.
	(cjump_long, icjump_long): Use same logic as indirect_jump.
	(builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
	Fixed broken setjmp/longjmp handling.
	(do_builtin_setjmp_setup): Removed.

	* config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
	broken GNU as versions that don't accept .quad with large
	negative values.  Use hexadecimal output instead.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
	FUNCTION_EPILOGUE): Removed.  Now in targetm.

	* config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.

	* config/s390/fixdfdi.h: Add missing copyright statement.
	Fix type conflicts on 64-bit.  Add missing SFmode routines.

	* s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
	email address.

2001-08-11  Richard Henderson  <rth@redhat.com>

	* rtl.h (REG_EH_RETHROW): Remove.
	* rtl.c (reg_note_name): Update.
	* combine.c (distribute_notes): Don't check for it.

2001-08-11  Richard Henderson  <rth@redhat.com>

	* combine.c (distribute_notes): Place REG_SETJMP.

2001-08-11  Richard Henderson  <rth@redhat.com>

	* doc/extend.texi (Arrays and pointers implementation): Discourage
	relying on sign-extension of pointers.

2001-08-11  H.J. Lu <hjl@gnu.org>

	* config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
	in_dtors.
	(EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
	RDATA_SECTION_ASM_OP.

2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Specific, c4x): Fix cross-reference to the
	main manual to work both for info and HTML versions.

2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
	    Matt Kraai <kraai@alumni.carnegiemellon.edu>

	* cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
	* cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
	(struct cpp_pool): New member first.
	* cppinit.c (append_include_chain): Plug memory leaks.
	* cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
	Allocate pragma structures from the (aligned) macro pool to
	avoid leaking memory.
	* cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
	so we don't leak memory.
	* hashtable.c (ht_destroy): New.
	* hashtable.h (ht_destroy): New.

2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
	    Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* c-lex.c (map): Make const.
	(cb_file_change): Update for callback passing a line map.
	Don't assume we have a previous map.  Remove sanity check
	about popping too many files.
	* cpperror.c (print_location): Make map const.
	* cppfiles.c (stack_include_file): Update; line maps now hold sysp.
	(cpp_make_system_header): Similarly.
	(search_from): Similarly.
	(_cpp_execute_include): Don't remember where we came from.
	* cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
	(struct cpp_reader): Make map const.
	(CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
	* cpplib.c (do_line): Update; line maps now hold sysp.
	(cpp_push_buffer): Similarly.
	(_cpp_do_file_change): Similarly; callback with map instead.
	(cpp_get_line_maps): Constify return value.
	(_cpp_pop_buffer): Update.
	* cpplib.h (struct cpp_file_change): Remove.
	(struct cpp_callbacks): Update.
	(cpp_get_line_maps): Constify return value.
	* cppmacro.c (_cpp_create_definition): Update.
	* cppmain.c (struct printer): Constify map.
	(maybe_print_line): Similarly.
	(print_line): Similarly.  Deduce flags 1 and 2 here.
	(cb_file_change): Update.
	* line-map.c (free_line_maps): Warn regardless.
	(add_line_map): Return pointer to const.  When passed NULL to_file
	with LC_LEAVE, use the obvious values for the return point so the
	caller doesn't have to figure them out.
	(lookup_line): Return pointer to const.
	(print_containing_files): Take pointer to const.
	* line-map.h (struct line_map): New members reason, sysp.
	(add_line_map): Return pointer to const.
	(lookup_line): Similarly.
	(print_containing_files): Take pointer to const.

2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
	    Richard Henderson  <rth@redhat.com>

	* regmove.c (regmove_optimize): Avoid setting a register twice in
	a parallel set.

2001-08-10  Richard Henderson  <rth@redhat.com>

	* doc/extend.texi (Arrays and pointers implementation): Document
	behavior of pointer/integer conversion.

2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>

	* glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.

2001-08-10  Richard Henderson  <rth@redhat.com>

	* doc/extend.texi (C Implementation): New chapter.
	* doc/gcc.texi (Top): Link it in.

2001-08-10  Andrew Cagney  <ac131313@redhat.com>

	* doc/install.texi (Specific): Fix CVS merge botch.

2001-08-10  Richard Henderson  <rth@redhat.com>

	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
	ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.

2001-08-10  Zack Weinberg  <zackw@stanford.edu>

	* calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
	if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
	this macro is now required.

	* cselib.c (cselib_process_insn), flow.c (propagate_block),
	loop.c (find_and_verify_loops), reload.c (reload): Check
	for rtx code of CALL_INSN, not CALL, when deciding if we
	need to check for REG_SETJMP note.

	* gcse.c (compute_hash_table, compute_store_table): Update
	the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
	logic.

	* config/avr/avr.c: Fix typo.
	* config/convex/convex.c (expand_movstr): Use adjust_address.
	* config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
	variable.
	* config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
	* config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
	Fix typo.
	* config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
	Do define STACK_BOUNDARY.
	* config/i370/i370.c: Include expr.h.
	* config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
	config/pa/som.h, config/v850/v850.h: Take in_ctors and
	in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
	and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
	* config/m88k/m88k.c: Include c-tree.h after expr.h.
	* config/pdp11/pdp11.c: Include expr.h and toplev.h.
	* config/romp/romp.c: Include expr.h after tree.h.
	Include toplev.h.
	(output_fpop): Use xmalloc, not oballoc.
	* config/we32k/we32k.c: Include expr.h.

2001-08-10  Kazu Hirata  <kazu@hxi.com>

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

2001-08-08  Jason Merrill  <jason_merrill@redhat.com>

	* c-common.h (RETURN_NULLIFIED_P): Lose.
	* c-semantics.c (genrtl_return_stmt): Don't check it.

2001-08-10  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (mips_add_large_offset_to_sp): New function.
	(mips_annotate_frame_insn): New function.
	(mips_emit_frame_related_store): New function.
	(save_restore_insns): Don't mark instructions that set up the base
	registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
	the store instructions instead.
	(mips_expand_prologue): If the stack size is moved into a temporary
	register, do not mark that move as frame-related.  Add a
	REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.

2001-08-10  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (save_restore_insns): Don't mark the RA's
	stack slot as unchanging if current_function_calls_eh_return.

2001-08-10  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
	access the second half of the TFmode scratch operand.

2001-08-10  Anthony Green  <green@redhat.com>

	* java/class.c (emit_register_classes): Conditionalize code on
	JCR_SECTION_NAME.

2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Specific, avr): Fix cross-reference to the
	main manual to work both for info and HTML versions.

2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* stmt.c (expand_null_return_1): Remove code to generate simple returns
	and "use_goto" argument.
	(expand_null_return, expand_value_return): Update all callers.
	* function.c (expand_function_end): Remove code to generate simple
	return.
	* config/vax/vax.md (epilogue): New expander for function return.
	* doc/md.texi (epilogue): Remove "if defined".

2001-08-09  Zack Weinberg  <zackw@stanford.edu>

	* Makefile.in: Partially revert my previous change:
	put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
	of the hashtab.o and safe-ctype.o rules.

2001-08-09  Richard Henderson  <rth@redhat.com>

	* Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
	(USE_COLLECT2): Remove duplicate definition.
	* config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
	(use_collect2): Remove dead code.
	* configure.in (use_collect2): Remove will_use_collect2 and
	maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
	* configure: Rebuild.

	* target.h (targetm.asm_out.constructor): New.
	(targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
	* target-def.h (TARGET_ASM_CONSTRUCTOR): New.
	(TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
	* varasm.c (in_ctors, in_dtors): New.
	(assemble_constructor, assemble_destructor): Remove.
	(default_stabs_asm_out_destructor): New.
	(default_named_section_asm_out_destructor): New.
	(dtors_section, default_dtor_section_asm_out_destructor): New.
	(default_stabs_asm_out_constructor): New.
	(default_named_section_asm_out_constructor): New.
	(ctors_section, default_ctor_section_asm_out_constructor): New.
	* output.h: Update declarations.
	* c-decl.c (c_expand_body): Use target hooks instead of
	assemble_constructor and assemble_destructor.
	* profile.c (output_func_start_profiler): Likewise.
	* objc/objc-act.c (finish_objc): Likewise.
	(build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
	for the constructor.
	* objc/Make-lang.in (objc-act.o): Depend on TARGET_H.

	* crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
	(DTORS_SECTION_ASM_OP): Likewise.
	(__CTOR_LIST__): Use attribute section when possible.
	(__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.

	* defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
	ASM_OUTPUT_CONSTRUCTOR.

	* config/darwin.c (machopic_asm_out_constructor): New.
	(machopic_asm_out_destructor): New.
	* config/darwin-protos.h: Update declarations.
	* config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	* config/nextstep.c (nextstep_asm_out_constructor): New.
	(nextstep_asm_out_destructor): New.
	* config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	* config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
	ASM_OUTPUT_*STRUCTOR.
	* config/i386/aix386ng.h: Likewise.

	* config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
	(EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
	* config/lynx.h: Likewise.
	* config/netware.h: Likewise.
	* config/psos.h: Likewise.
	* config/alpha/alpha-interix.h: Likewise.
	* config/alpha/elf.h: Likewise.
	* config/arc/arc.h: Likewise.
	* config/arm/aof.h: Likewise.
	* config/arm/coff.h: Likewise.
	* config/arm/elf.h: Likewise.
	* config/c4x/c4x.h: Likewise.
	* config/h8300/h8300.h: Likewise.
	* config/i386/cygwin.h: Likewise.
	* config/i386/djgpp.h: Likewise.
	* config/i386/i386-coff.h: Likewise.
	* config/i386/i386-interix.h: Likewise.
	* config/i386/sco5.h: Likewise.
	* config/i386/vsta.h: Likewise.
	* config/i386/win32.h: Likewise.
	* config/i960/i960-coff.h: Likewise.
	* config/ia64/sysv4.h: Likewise.
	* config/m68hc11/m68hc11.h: Likewise.
	* config/m68k/coff.h: Likewise.
	* config/m68k/mot3300.h: Likewise.
	* config/m88k/m88k.h: Likewise.
	* config/mcore/mcore-pe.h: Likewise.
	* config/mcore/mcore.h: Likewise.
	* config/mips/elf.h: Likewise.
	* config/mips/elf64.h: Likewise.
	* config/mips/iris6.h: Likewise.
	* config/pa/pa64-hpux.h: Likewise.
	* config/rs6000/sysv4.h: Likewise.
	* config/sh/sh.h: Likewise.
	* config/sparc/litecoff.h: Likewise.

	* config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
	(CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
	* config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	* config/a29k/a29k.c: Move include of tree.h.
	* config/a29k/udi.h: Delete file.
	* config/alpha/alpha.c (vms_asm_out_constructor): New.
	(vms_asm_out_destructor): New.
	* config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
	(EXTRA_SECTION_FUNCTIONS): Likewise.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	* config/c4x/c4x.c: Move include of tree.h.
	* config/clipper/clipper.c (clix_asm_out_constructor): New.
	(clix_asm_out_destructor): New.
	* config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	* config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR): New.
	* config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
	(sco_asm_out_constructor): New.
	* config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
	* config/i386/svr3gas.h: Remove stack grows up code.
	Remove code duplicated from i386/sysv3.h.
	(TARGET_ASM_CONSTRUCTOR): New.
	(ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
	(DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
	* config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR): New.
	* config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
	(m68hc11_asm_out_destructor): New.
	* config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
	(TARGET_ASM_DESTRUCTOR): New.
	* config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
	* config/m68k/dpx2.h: Properly undef all the bits inherited from
	config/svr3.h pertaining to section manipulation.
	* config/m68k/dpx2g.h: Remove #if 0 code.
	* config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
	* config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
	(ASM_OUTPUT_CONSTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR): New.
	* config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
	(m88k_svr3_asm_out_constructor): New.
	(m88k_svr3_asm_out_destructor): New.
	* config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
	* config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
	* config/rs6000/aix.h: Likewise.
	* config/mips/rtems64.h: Don't undef removed constructor related bits.
	* config/mips/vxworks.h: Likewise.
	* config/rs6000/lynx.h: Likewise.
	* config/sh/elf.h: Likewise.
	* config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
	(DTORS_SECTION_ASM_OP): New.
	* config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	* config/sparc/sol2-sld-64.h: Likewise.
	* config/vax/vax.c (vms_asm_out_constructor): New.
	(vms_asm_out_destructor): New.
	* config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
	(ASM_OUTPUT_DESTRUCTOR): Remove.
	(TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.

	* doc/tm.texi (@node Initialization): Update.

2001-08-09  Richard Henderson  <rth@redhat.com>

	* config/alpha/crtbegin.asm (__JCR_LIST__): New.
	(__do_global_dtors_aux): Use gp-relative static data to avoid
	one dynamic relocation.
	(__do_frame_setup): Register Java classes.
	* config/alpha/crtend.asm (__JCR_END__): New.

2001-08-09  Zack Weinberg  <zackw@stanford.edu>

	* Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
	(CONFIG_H, TCONFIG_H, TM_P_H): Update.
	(GEN, STAGESTUFF): Add new files.
	(insn-constants.h, s-constants, tm-preds.h, s-preds,
	genconstants, genpreds, genconstants.o, genpreds.o): New rules.
	(hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
	* mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
	as well as insn-codes.h and insn-flags.h in config.h; and no
	extra headers in tconfig.h and hconfig.h.

	* gencodes.c: Eliminate code to generate predicate declarations
	or #defines for md-file constants.
	* genconstants.c, genpreds.c: New files.

	* i386.md: Re-order guard expressions such that TARGET_64BIT
	comes first, when this permits better optimization.  Add
	TARGET_64BIT to more x86-64 patterns.  Add comment explaining
	why this is desirable.

2001-08-09  Jakub Jelinek  <jakub@redhat.com>

	* config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
	(find_fde_for_dso): Remove.
	(_Unwind_IteratePhdrCallback): New.
	(_Unwind_FindTableEntry): Use dl_iterate_phdr.
	* config/ia64/crtbegin.asm (__ia64_app_header): Remove.

Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
	(move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.

2001-08-09  Graham Stott  <grahams@redhat.com>

	* sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
	(vis_no_unit): Use it.
	(visualize_no_unit): Add the insn only if room exists.

2001-08-09  Graham Stott  <grahams@redhat.com>

	* predict.c (estimate_probability): Replace magic numbers with
	appropriate enumeration.

2001-08-09  Graham Stott  <grahams@redhat.com>

	* cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
	parameter.
	(EXTRACT_FLAGS): Likewise.

2001-08-09  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.c	(mips_legitimate_address_p): Check for
	CONST_INT in last patch.

2001-08-08  Anthony Green  <green@redhat.com>

	* java/class.c (emit_register_classes): Use assemble_jcr if
	possible.  Keep the original mechanism as a fallback.
	* defaults.h (JCR_SECTION_NAME): Define if we have named section
	and weak symbol support.
	* crtstuff.c (__JCR_LIST__): Define.
	(__JCR_END__): Define.
	(_Jv_RegiserClasses): Define weak symbol if possible.
	(__do_global_ctors_aux): Register classes for ELF targets with
	weak symbol support.

2001-08-08  Kazu Hirata  <kazu@hxi.com>

	* dbxout.c: Fix comment formatting.
	* dependence.c: Likewise.
	* df.c: Likewise.
	* diagnostic.c: Likewise.
	* dominance.c: Likewise.
	* doprint.c: Likewise.
	* dwarf2out.c: Likewise.
	* dwarfout.c: Likewise.
	* emit-rtl.c: Likewise.
	* except.c: Likewise.
	* explow.c: Likewise.
	* expmed.c: Likewise.
	* expr.c: Likewise.
	* flow.c: Likewise.
	* fold-const.c: Likewise.
	* function.c: Likewise.

2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* global.c (retry_global_alloc): Avoid shadowing allocno.

2001-08-08  Mark Mitchell  <mark@codesourcery.com>

	* except.c (remove_fixup_regions): Fix typo.

2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>

	* emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
	unsigned HOST_WIDE_INT to avoid warning.
	* final.c (final): Cast INSN_UID to unsigned to avoid warning.
	* flow.c (set_block_for_new_insns): Likewise.

Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* sibcall.c (return_value_pseudo): New static variable.
	(skip_copy_to_return_value): Handle return_value_pseudo.
	(call_ends_block_p): Ensure that return_value_pseudo is set.
	(optimize_sibling_and_tail_recursive_call): Discover the
	load of pseudo return value in alternate exit block.

Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* calls.c (ECF_ALWAYS_RETURN): New constant.
	(emit_call_1): Add REG_ALWAYS_RETURN note if needed.
	(expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
	(emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
	* flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
	* rtl.c (reg_note_name): New name.
	* rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.

2001-08-07  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.

2001-08-08  Jason Merrill  <jason_merrill@redhat.com>

	* alias.c (get_alias_set): Return a previously calculated
	alias set for a VAR_DECL.
	* function.c (gen_mem_addressof): Calculate the alias set before
	touching the RTL.

Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.def: Set hitrates according our experimental run.

Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.h (HARD_REGNO_RENAME_OK): New macro.

2001-08-08  H.J. Lu <hjl@gnu.org>

	* config/mips/mips.c (mips_unique_section): New. Copied from
	config/mips/elf.h.

	* config/mips/mips-protos.h (mips_unique_section): New
	prototype.

	* config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.

	* config/mips/little.h: New. Generic little endian mips
	targets. Only mips*-*-linux* is converted to use it so far.

	* config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
	(WCHAR_TYPE): Defined
	(WCHAR_TYPE_SIZE): Likewise.
	(INIT_SUBTARGET_OPTABS): Likewise.
	(BSS_SECTION_ASM_OP): Likewise.
	(SBSS_SECTION_ASM_OP): Likewise.
	(ASM_OUTPUT_ALIGNED_BSS): Likewise.
	(ASM_DECLARE_OBJECT_NAME): Likewise.
	(UNIQUE_SECTION): Likewise.
	(EXTRA_SECTIONS): Likewise.
	(ASM_OUTPUT_CONSTRUCTOR): Likewise.
	(ASM_OUTPUT_DESTRUCTOR): Likewise.
	(ASM_OUTPUT_DEF): Likewise.
	(HANDLE_SYSV_PRAGMA): Removed.
	(NO_IMPLICIT_EXTERN_C): Likewise.
	(TARGET_MEM_FUNCTIONS): Likewise.
	(STARTFILE_SPEC): Likewise.
	(ENDFILE_SPEC): Likewise.
	(LIB_SPEC): Likewise.
	(INVOKE__main): Likewise.
	(CTOR_LIST_BEGIN): Likewise.
	(CTOR_LIST_END): Likewise.
	(DTOR_LIST_BEGIN): Likewise.
	(DTOR_LIST_END): Likewise.
	(SET_ASM_OP): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Likewise.
	(ASM_OUTPUT_DEF): Likewise.
	(ASM_OUTPUT_IDENT): Likewise.

	* config/mips/mips.h (ASM_SPEC): Undefine before define.
	(CPLUSPLUS_CPP_SPEC): Likewise.
	(ASM_APP_ON) Redefine only if not defined.
	(ASM_APP_OFF): Likewise.
	(ASM_OUTPUT_SOURCE_LINE): Likewise.
	(ASM_OUTPUT_IDENT): Likewise.

	* config.gcc: Update tm_file for Linux/mips.

2001-08-08  Bernd Schmidt  <bernds@redhat.com>

	* cselib.c (cselib_record_sets): If insn is predicated, turn
	sources into IF_THEN_ELSEs.

	* config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
	Turn into define_insn_and_split.

	* sched-deps.c: Include "cselib.h".
	(add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
	Use cselib to turn memory addresses into VALUEs.
	(sched_analyze): Call cselib_init/cselib_finish if necessary.
	* sched-int.h (struct sched_info): New member USE_CSELIB.
	* sched-ebb.c (ebb_sched_info): Initialize it.
	* sched-rgn.c (rgn_sched_info): Likewise.
	* Makefile.in (sched-deps.o): Update dependencies.

	* cselib.h (cselib_subst_to_values): Declare.
	* cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
	that have no value and autoincs to be handled by generating a new
	dummy value.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* final.c (shorten_branches): Update the INSN_ADDRESSES of insns
	within fixed length SEQUENCE.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
	(diagnostic_prefixing_rule): Likewise.
	(diagnostic_line_cutoff): Likewise.
	(diagnostic_kind_count): Likewise.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* alias.c (find_base_decl): Delete redundent assignment.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
	(abs): Uppercase and paranthesize macro parameter.
	(MEM_DEPENDENCY): Add whitespace.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
	failure check for CONST_INT

2001-08-08  Graham Stott  <grahams@redhat.com>

	* flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
	(libcall_dead_p): Likewise.

	(mark_used_regs): Constify fmt.
	(find_use_as_address): Likewise.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
	 parameter.

2001-08-08  Graham Stott  <grahams@redhat.com>

	* combine.c (combine_simplify_rtx): Update comment and
	remove erroneous test.

2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cppinit.c (cpp_finish): Pop the final buffer without comment.
	* cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
	take care to avoid multiple no-newline at EOF warnings in that
	case.

Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* calls.c (expand_call): Do not emit INSN_SETJMP note.
	(emit_library_call_value_1): Likewise.
	(emit_call_1): Emit REG_SETJMP note.
	* cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
	of INSN_SETJMP
	* cselib.c (cselib_process_insn): Likewise.
	* flow.c (propagate_block): Likewise.
	* loop.c (find_and_verify_loops): Likewise.
	* reload.c (find_equiv_regs): Likewise.
	* reload1.c (reload): Likewise.
	* resource.c (mark_referenced_resources,
	mark_set_resources): Likewise.
	* sched-deps (sched_analyze_insn, sched_analyze): Likewise.
	* final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
	* haifa-sched.c (unlink_other_notes): Likewise.
	(reemit_notes): Likewise.
	* sched-ebb.c (sched_ebb): Likewise.
	* sched-rgc.c (sched_region): Likewise.
	* rtl.c (note_insn_name): Likewise.
	(reg_note_name): Add REG_SETJMP
	* rtl.h (reg_note): Add REG_SETJMP.
	(insn_note): Remove NOTE_INSN_SETJMP.

	* profile.c (branch_prob): Add fake edges for setjmp.

2001-08-07  Daniel Jacobowitz  <drow@mvista.com>

	* config.gcc: Quote target_cpu_default2 correctly for
	powerpc*-*-* targets.

2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplib.h, line-map.h: Update comments.
	* cppmain.c (printer_init): Move inline.
	(maybe_print_line, print_line): Take a map pointer.
	(cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
	(cb_file_change): Don't use prior value of print.map.

2001-08-07  David Edelsohn  <edelsohn@gnu.org>

	* doc/install.texi: Document fine-grained multilib configuration.

Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rtlanal.c (find_first_parameter_load): Call note_stores
	only on the instructions.

Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* alias.c (nonlocal_mentioned_p):
	Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
	* calls.c (emit_call_1): Likewise.
	* cse.c (cse_insn, invalidate_skipped_block): Likewise.
	* cselib.c (cselib_process_insn): Likewise.
	* df.c (df_insns_modify): Likewise.
	* flow.c (need_fake_edge_p): Likewise.
	(propagate_one_insn): Likewise.
	* haifa-sched.c (reemit_notes): Likewise.
	* integrate.c (copy_insn_list): Likewise.
	* jump.c (delete_prior_computation): Likewise.
	* local-alloc.c (validate_equiv_mem): Likewise.
	* loop.c (scan_loop): Likewise.
	* predict.c (estimate_probability): Likewise.
	* reload.c (reload): Likewise.
	* sched-deps (sched_analyze): Likewise.
	* rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
	* gcse.c (compute_hash_table): Likewise.
	(mark_call): Likewise.
	(store_killed_in_insn): Likewise.

2001-08-07  Jason Merrill  <jason_merrill@redhat.com>

	* c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.

2001-08-06  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_gc_entry): Remove.
	* output.h: Likewise.

2001-08-06  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_constructor): Take a symbol_ref and a
	priority instead of a bare string.  Move priority handling
	here from cp/decl2.c.
	* output.h: Update decls.

	* c-decl.c (c_expand_body): Update calls to assemble_constructor
	and assemble_destructor.
	* profile.c (output_func_start_profiler): Likewise.
	* objc/objc-act.c (finish_objc): Likewise.
	(build_module_descriptor): Return the symbol not the symbol name.

2001-08-06  David Edelsohn  <edelsohn@gnu.org>

	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
	* config/rs6000/linux64.h (RS6000_MCOUNT): Define.
	({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
	* config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
	* config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
	* config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.

2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpperror.c (print_containing_files): Moved to line-map.c.
	(print_location): line-map.c handles re-listing or otherwise.
	* cpphash.h (struct lexer_state): Remove next_bol.
	(struct cpp_buffer): Remove include_stack_listed.
	* cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
	Remove faked buffer handling.
	(_cpp_do_file_change): Tweak.
	* cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
	* cppmain.c (struct printer): Remove filename.
	(print_line, cb_file_change): Update accordingly.
	* line-map.c: Include intl.h.
	(init_line_maps): Initialize last_listed.
	(free_line_maps): Sanity check, warn if ENABLED_CHECKING.
	(add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
	(print_containing_files): New.
	* line-map.h (struct line_maps): New member last_listed.
	(print_containing_files, INCLUDED_FROM): New.
	* Makefile.in: Update.
	* po/POTFILES.in: Add line-map.c.

2001-08-06  Richard Henderson  <rth@redhat.com>

	* except.c (convert_from_eh_region_ranges_1): Never mark
	USE or CLOBBER insns as throwing.

	* expr.c (store_constructor): Don't clobber memory targets.

2001-08-06  Andreas Jaeger  <aj@suse.de>

	* profile.c (branch_prob): Remove unused variable insn.

	* Makefile.in (local-alloc.o): Add dependency on except.h.

	* local-alloc.c: Include except.h for can_throw_internal prototype.

2001-08-06  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
	* function.c (expand_main_function): Implement it.
	* doc/tm.texi: Document it.

2001-08-06  Stan Shebs  <shebs@apple.com>

	* doc/install.texi: Document powerpc-*-darwin* details.

2001-08-06  Daniel Berlin  <dan@cgsoftware.com>

	* config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
	(ASM_CPU_SPEC): Move back to rs6000.h
	#undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.

	* config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.

	* config/rs6000/linux.h: Remove vtable thunks stuff we accidently
	readded.

	* config/rs6000/linux64.h: Ditto.

	* config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
	to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
	nothing.

	Remove accidently readded definitions of FUNCTION_PROLOGUE,
	FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN

	* config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
	to rs6000.h

2001-08-05  Richard Henderson  <rth@redhat.com>

	* local-alloc.c (update_equiv_regs): Do not move insns that
	can throw.

2001-08-05  Jan Hubicka  <jh@suse.cz>

	* Makefile.in (reload1.o): Add dedendancy on except.h
	* basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
	prototypes.
	* flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
	indicating wehther edges has been cleaned up.
	* reload1.c: Inlucde except.h
	(fixup_abnormal_edges): Accept deleted insns.
	* toplev.c (rest_of_compilation): Purge dead edges unconditionally
	after combine.

2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpplib.c (do_line): Correct line number after pop_buffer.

2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR preprocessor/3824
	* line-map.c: Update comments.
	* line-map.h: Update comments.
	* tradcif.y: Don't consider large numbers unsigned.

2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR preprocessor/3081
	* c-lex.c (map): New.
	(cb_file_change): Update map and use it.
	(cb_def_pragma, cb_define, cb_undef): Use map and line.
	(c_lex): Update to use map.
	* cpperror.c (print_location): Move to using logical line numbers.
	* cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
	(cpp_make_system_header): Similarly.
	(_cpp_execute_include): Stop line numbering hacks.  Store the
	line we will return to.
	* cpphash.h (CPP_BUF_LINE): Remove.
	(struct cpp_buffer): Remove lineno and pseudo_newlines.
	Add map and return_to_line.
	(_cpp_do_file_change): Update.
	* cppinit.c (cpp_start_read): Update line kludge.
	* cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
	(trigraph_ok): Use logical line numbers for diagnostics.
	(skip_block_comment): Likewise.
	(skip_whitespace): Likewise.
	(skip_line_comment): Use pfile->line instead.
	(_cpp_lex_token): Update to use logical line numbering exclusively.
	Handle BOL locally.  Accept new lines in directives, but keep
	pfile->line decremented.  Diagnostics use logical lines.  Update
	directive handling.
	* cpplib.c (SEEN_EOL): New.
	(skip_rest_of_line, check_eol): Use it.
	(end_directive): Increase line number when accepting the newline
	at the end of a directive.
	(run_directive): Simplify.
	(do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
	(_cpp_do_file_change): Update to take buffer line number as an
	argument, and store the current map in the cpp_reader.  Remove
	line number kludges.
	(_cpp_do__Pragma): Restore output position after a _Pragma.
	(cpp_push_buffer): Don't set output line or lineno.
	(_cpp_pop_buffer): Transfer more info from a faked buffer.
	Remove line kludge.  Set output_line.
	* cppmacro.c (builtin_macro): Update handling of __LINE__.
	(parse_arg): Use logical lines.
	(save_lookahead_token): Save EOFs too now.
	* cppmain.c (struct printer): Fix comments.
	(printer_init): Simplify, let caller do errors.
	(scan_translation_unit, check_multiline_token, dump_macro): Update.
	(maybe_print_line): Simplify.
	(print_line): Don't print a linemarker if -P.
	(cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
	(cb_file_change): Simplify.
	* line-map.h (LAST_SOURCE_LINE): Fix.
	(CURRENT_LINE_MAP): New.

2001-08-05  Bernd Schmidt  <bernds@redhat.com>

	* doloop.c (doloop_modify_runtime): Properly compute number of
	iterations if loop was unrolled.

	* alias.c (rtx_equal_for_memref_p): VALUEs are only identical
	if their CSELIB_VAL_PTRs are.

	* config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
	(setup_spill_pointers): Initialize it.
	(spill_restore_mem): Set it.
	(do_spill, do_restore): Use it to add REG_INC note.
	* config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.

	* config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
	asms if other insns are available.

	* config/ia64/ia64.c (condop_operator): New predicate.
	* config/ia64/ia64.h (PREDICATE_CODES): Add it.
	* config/ia64/ia64.md (cond_opsi2_internal and splitters): New
	patterns.

	* expr.c (expand_expr, case COND_EXPR): Prefer working with a
	temporary register than directly using a MEM.

2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>

	* config/sh/sh.c (sh_asm_named_section): Fix typo in align
	parameter in last change.

2001-08-04  Zack Weinberg  <zackw@panix.com>

	* sparc.md: Don't use #if inside C test expression.

2001-08-04  Richard Henderson  <rth@redhat.com>

	* i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.

2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_reader): New member directive_line.
	* cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
	* cpplib.c (do_define, do_undef, do_ident, do_include_common,
	do_pragma): Pass line to callbacks.
	(start_directive): Record line of directive.
	* cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
	cb_include): Similarly.
	* c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
	Similarly.

2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>

	* config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
	comment.

Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.

	* reload1.c (fixup_abnormal_edges): New static function.
	(reload): Use it.

	* flow.c (need_fake_edge_p): New function.
	(flow_call_edges_add): Fix handling of noreturn and sibling calls;
	avoid call insn to be very last insn in the insn stream.

	* profile.c (branch_prob): Call flow_call_edges_add instead of
	doing that by hand; cleanup cfg to re-merge basic blocks once
	we are done.

2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
	are also on line-map.h.
	* cppfiles.c (stack_include_file): Update.
	* cpphash.h (struct cpp_buffer): New member return_at_eof.
	(_cpp_pop_buffer): New.
	* cppinit.c (cpp_destroy, cpp_finish): Update.
	(do_includes): Mark each buffer to return at EOF.
	* cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
	return as requested.
	* cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
	(cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
	* cpplib.h (cpp_pop_buffer): Remove.
	(cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
	* cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
	buffers.
	* cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
	to pop buffers.
	(do_preprocessing): Update.
	* fix-header.c (read_scan_file): Update.  No need to pop buffers.
	* c-parse.in (_yylex): Similarly.
	* scan-decls.c (scan_decls): Similarly.
	* line-map.h: Update comments.

	* objc/Make-lang.in (objc-act.o): Update dependencies.

2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
	and soft register for operand 0.
	("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.

2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
	register for operand 0.
	("bitcmpqi_z_used"): Allow memory for operand 0.
	(split "bitcmpqi"): New split to handle address reg as operand 1.

2001-08-04  Andreas Jaeger  <aj@suse.de>

	* gcse.c: Revert Daniel's last patch.

2001-08-03  Zack Weinberg  <zackw@stanford.edu>

	* sparc-protos.h: Add prototypes for fp_zero_operand and
	reg_or_0_operand.
	* sh-protos.h: Add prototype for fpul_operand.

2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>

	* doc/extend.texi (Other Builtins): Fix typo in last change.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* target.h (gcc_target): Add asm_out.named_section,
	section_type_flags, have_named_sections.
	* target-def.h (TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.

	* Makefile.in (toplev.o): Depend on TARGET_H.
	(varasm.o, dbxout.o): Likewise.
	* c-common.c (decl_attributes): Check targetm.have_named_sections
	instead of ifdef ASM_OUTPUT_SECTION_NAME.
	* dbxout.c (dbxout_function_decl): Likewise.
	(dbxout_function_end): Likewise.
	* toplev.c (compile_file): Likewise.
	* varasm.c (exception_section): Likewise.
	* cp/decl2.c (finish_objects): Likewise.

	* defaults.h (EH_FRAME_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
	(UNIQUE_SECTION_P): Remove.
	* dwarf2out.c (SECTION_FORMAT): Remove.
	(ASM_OUTPUT_SECTION): Remove.
	(output_call_frame_info): Use named_section_flags.
	(output_comp_unit, dwarf2out_start_source_file): Likewise.
	(dwarf2out_end_source_file, dwarf2out_define): Likewise.
	(dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
	* varasm.c (in_eh_frame, eh_frame_section): Remove.
	(named_section_flags): New.
	(named_section): Use it and targetm.section_type_flags.
	(resolve_unique_section): New.
	(assemble_start_function): Use it.
	(asm_emit_uninitialised, assemble_variable): Likewise.
	(default_section_type_flags): New.
	(default_no_named_section, default_elf_asm_named_section): New.
	(default_coff_asm_named_section, default_pe_asm_named_section): New.
	* output.h: Update varasm.c decls.
	(SECTION_*): New flags.

	* crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
	(__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.

	* config/elfos.h (UNIQUE_SECTION_P): Remove.
	* config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
	* config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/win32.h: Likewise.
	* config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
	* config/mips/elf.h, config/mips/elf64.h: Likewise.
	* config/mips/iris6gld.h, config/mips/mips.h: Likewise.
	* config/pa/pa64-hpux.h,

	* config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	* config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
	* config/alpha/vms.h, config/arm/coff.h: Likewise.
	* config/arm/conix-elf.h, config/arm/elf.h: Likewise.
	* config/arm/linux-elf.h, config/arm/pe.h: Likewise.
	* config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
	* config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
	* config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
	* config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
	* config/i386/sco5.h, config/i386/win32.h: Likewise.
	* config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
	* config/mcore/mcore.h, config/mips/elf.h: Likewise.
	* config/mips/elf64.h, config/mips/iris6.h: Likewise.
	* config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
	* config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
	* config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
	* config/sparc/sysv4.h: Likewise.

	* config/nextstep.h: Error until named sections implemented.

	* config/a29k/a29k.c (a29k_asm_named_section): New.
	* config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
	(vms_section_type_flags, vms_asm_named_section): New.
	* config/arm/arm.c (arm_elf_asm_named_section): New.
	* config/avr/avr.c (asm_output_section_name): Remove.
	* config/avr/avr-protos.h: Update.
	* config/c4x/c4x.c (c4x_asm_named_section): New.
	* config/h8300/h8300.c (h8300_asm_named_section): New.
	* config/i386/i386.c (sco_asm_named_section): New.
	* config/i386/winnt.c (SECTION_PE_SHARED): New.
	(i386_pe_section_type_flags): New.
	(i386_pe_asm_named_section): New.
	* config/i386/i386-protos.h: Update.
	* config/m68k/m68k.c (m68k_coff_asm_named_section): New.
	* config/mcore/mcore.c (mcore_asm_named_section): New.
	* config/mips/mips.c (iris6_asm_named_section): New.
	* config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
	instead of UNIQUE_SECTION_P.
	* config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
	(xcoff_asm_named_section): New.
	* config/sh/sh.c (sh_asm_named_section): New.
	* config/sparc/sparc.c (sparc_elf_asm_named_section): New.

	* config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
	(EH_FRAME_SECTION_NAME): New.
	(EXCEPTION_SECTION): New.
	* config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
	(DEBUG_*_SECTION): Remove.
	* config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
	* config/mips/iris6.h (DEBUG_*_SECTION): Remove.
	(EH_FRAME_SECTION_ASM_OP): Remove.

	* doc/tm.texi (UNIQUE_SECTION_P): Remove.
	(ASM_OUTPUT_SECTION_NAME): Remove.
	(TARGET_ASM_NAMED_SECTION): New.
	(TARGET_HAVE_NAMED_SECTIONS): New.
	(TARGET_SECTION_TYPE_FLAGS): New.
	(EH_FRAME_SECTION_ASM_OP): Remove.
	(EH_FRAME_SECTION_NAME): New.

2001-08-03  Zack Weinberg  <zackw@stanford.edu>

	* builtins.c (fold_builtin_constant_p): Return integer_zero_node
	for complex expressions when cfun == 0.
	* doc/extend.texi: Document that __builtin_constant_p can be
	used in data initializers as well as functions.

2001-08-03  Alexandre Oliva  <aoliva@redhat.com>

	* config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
	variable I locally, instead of expecting a declaration in the
	calling context.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* except.c (collect_one_action_chain): Add an explicit cleanup
	action if regions surrounding a catch were encoded entirely
	within the call-site entry.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* dbxout.c (dbxout_symbol_location): Flatten subregs first;
	don't take REGNO of a non-register.

2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
	__GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
	(__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
	(__gthread_mutex_init_function): New function for mutex initialization.

2001-08-03  Daniel Berlin  <dan@cgsoftware.com>

	* Makefile.in: Revert screwed up commit.

2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
	* config/m68hc11/larith.asm (_exit): Split in several sub-sections
	merged by linker script to get a final _exit().
	(__do_global_dtors): New for destructor handling in specific exit
	section.
	(__do_global_ctors): New for constructors in specific install section.
	(__map_data_section): Map data sections before running constructors.
	* config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
	(CTORS_SECTION_ASM_OP): Define to put in readonly section.
	(DTORS_SECTION_ASM_OP): Likewise.
	(CTORS_SECTION_FUNCTION): Define to force a reference to
	__do_global_ctors.
	(DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.

2001-08-03  Daniel Berlin  <dan@cgsoftware.com>

	* ChangeLog: Fix date on previous ChangeLog entry for GCSE.

	* Makefile.in: Add df.h to gcse.c dependencies.

2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* varasm.c (output_constant_def_contents): Use for the length of a
	string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
	depending on which is larger.

2001-08-03  Daniel Berlin  <dan@cgsoftware.com>

	* gcse.c: Include df.h for use as a dataflow analyzer.
	Remove regvec.
	Declaration of reg_set_info: gone.
	New df_analyzer variable used by store motion.
	(reg_set_info): Deleted.
	(mark_mem_regs): New function, analyze regs used by a mem.
	(store_ops_ok): Use dataflow analyzer results to determine if
	necessary regs are changed in the block.
	(find_moveable_store): Remove check for symbol ref, we can handle
	much more complex expressions now.
	(compute_store_table): Remove most of the code, it's unnecessary
	now that the dataflow analyzer records the info for us.
	(store_killed_after): Add parameter to say whether to do the
	store_ops_okay test, used to speed up testing when we already know
	the answer, and just want to know if the store itself was killed.
	(build_store_vector): Largely rewritten to calculate the various
	vectors properly, and somewhat optimized.
	(store_motion): Init the df_analyzer, get REG_DEF chains.
	Also handle trapping expressions (since mems almost always trap)
	(simple_mem): Redefine what a simple mem is.

2001-08-03  DJ Delorie  <dj@redhat.com>

	* ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
	set from a constant part of the condition.

2001-08-01  Andrew Cagney  <ac131313@redhat.com>

	* mkdeps.c (deps_add_default_target): Make local variable
	``start'' a const char pointer.
	* dwarf2out.c (compute_section_prefix): Localize use of ``p''.

2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* doc/install.texi (Configuration): Fix markup.
	(Specific, i?86-*-udk): Likewise.
	(Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
	--with-gnu-ld.
	Document --enable-threads and --enable-libgcj status.
	(Specific, mips-sgi-irix*): Canonicalize triples.
	(Specific, mips-sgi-irix5): Warn about problems with this config.
	Mention required GNU as patch.
	Native assembler problems are fixed.
	(Specific, mips-sgi-irix6): Update O32 ABI support status.
	Document --enable-threads and --enable-libgcj status.

2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* Makefile.in, mklibgcc.in: Restore changes with fixed invocation
	of mkinstalldirs.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
	constant data.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* rtlanal.c (find_first_parameter_load): Stop if we
	reach a CODE_LABEL at BOUNDARY.

2001-08-03  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md (force_movdi): New insn.
	* config/alpha/alpha.c (alpha_expand_prologue): Use it.
	Tweek FRP marking of VMS prologue insns.
	* config/alpha/vms.h (EPILOGUE_USES): New.

2001-08-02  Richard Henderson  <rth@redhat.com>

	* Makefile.in, mklibgcc.in: Revert mkinstalldirs change.

2001-08-02  Lars Brinkhoff  <lars@nocrew.org>

	* combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
	simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
	config/convex/convex.h, config/d30v/d30v.c,
	config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
	config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
	config/mips/mips.h, config/mn10200/mn10200.h,
	config/mn10300/mn10300.h, config/pdp11/pdp11.md,
	config/v850/v850.h, config/vax/openbsd.h,
	config/vax/openbsd1.h, config/vax/ultrix.h,
	config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
	config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
	cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
	doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
	doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
	in comments and documentation.

2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* line-map.c: New.
	* line-map.h: New.
	* Makefile.in (line-map.o): New.
	(LIBCPP_OBJS, LIBCPP_DEPS): Update.
	* c-lex.c (cb_file_change): Update for new cpp_file_change structure.
	* cpperror.c (print_containing_files): Similarly.
	(print_location): Update.  Don't output a space before _Pragma.
	* cppfiles.c (stack_include_file): Set to line 1 immediately.
	(stack_include_filee, cpp_make_system_header): Update.
	(_cpp_execute_include): Get logical line number right for calling
	as-yet-unterminated #include.
	* cpphash.h (struct cpp_reader): Add line_maps.
	(_cpp_do_file_change): Update.
	* cppinit.c (cpp_create_reader): Initialize line maps.
	(cpp_destroy): Destroy line maps.
	(cpp_start_read): Get logical line number right.
	* cpplex.c (parse_string): Only warn once for multi-line strings.
	Use boolean variable for null warning.
	* cpplib.c (_cpp_handle_directive): End the directive if it isn't
	already.
	(do_include_common): End the directive early.
	(do_line): Don't warn about out-of-range lines in preprocessed
	source.  Update.  Remove unused variables.
	(_cpp_do_file_change): Update for new line mapping.
	(pragma_cb): New typedef.
	(cpp_register_pragma): Stop looking ahead before calling the
	handler.  Clean up.
	(do_pragma_system_header): End directive early.
	(cpp_get_line_maps): New.
	(cpp_pop_buffer): Fudge logical line.  Update.
	* cpplib.h: Include line-map.h
	(enum cpp_fc_reason): Remove.
	(struct cpp_file_change): Update.
	(cpp_get_line_maps): New.
	* cppmain.c (struct_printer): New member map.
	(cb_file_change): Update for new mappings.
	* fix-header.c (cb_file_change): Similarly.

2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* Makefile.in (libgcc.mk): Define mkinstalldirs.
	* mklibgcc.in: Use mkinstalldirs instead of mkdir.

2001-08-02  Lars Brinkhoff  <lars@nocrew.org>

	* config/vax/vax.c: include expr.h.

2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>

	* Makefile.in ($(srcdir)/configure): Only rebuild in
	maintainer mode.
	($(srcdir)/config.in): Only define in maintainer mode.
	($(srcdir)/cstamp-h.in): Only define in maintainer mode.

2001-08-02  David Edelsohn  <edelsohn@gnu.org>

	* doc/install.texi (Install GCC: Binaries): Update Bull info.

2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* gcc.c (set_collect_gcc_options): New function, split out from
	main.
	Ignore elided switches.
	(do_spec_1): Invoke before executing command.
	(set_input): Export.
	Move declaration ...
	* gcc.h (set_input): ... here.
	* config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
	file.

2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>

	Kill -fhonor-std.
	* doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
	interaction.
	* doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.

2001-08-02  Richard Sandiford  <rsandifo@redhat.com>

	* mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
	for the unnamed instructions it expands to.

2001-08-02  Richard Henderson  <rth@redhat.com>

	* regclass.c (call_really_used_regs): Conditionally define.
	(init_reg_sets_1): Don't use it if not defined.
	(fix_register): Similarly, don't set it.

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

	* params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
	Correct comment that had been missed in the previous change.

2001-08-01  Stan Shebs  <shebs@apple.com>

	* config/darwin.c (machopic_stub_name): Try matching by name.
	(update_stubs): New function.
	(darwin_encode_section_info):  Call it and update_non_lazy_ptrs
	unconditionally.

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

	* except.c (output_function_exception_table): Use assemble_align.
	* varasm.c (assemble_eh_label): Remove.
	(assemble_eh_align, assemble_eh_integer): Remove.

2001-08-01  Robert Lipe  <robertl@caldera.com>

	* dwarfout.c: Remove reference to README.DWARF.

2001-08-01  Andrew MacLeod  <amacleod@redhat.com>

	* regclass.c (call_really_used_regs): New array for registers which
	are actually used by a call.
	(init_reg_sets_1): Initialize regs_invalidated_by_call with the
	new array.
	(fix_register): Set call_really_used too.
	* config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
	* doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.

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

	* read-rtl.c (read_name): Consider \r whitespace.

2001-07-11  Andrew Cagney  <ac131313@redhat.com>

	* config.gcc: Recognize powerpc-*-netbsd*.

	* doc/install.texi (Host/target specific installation notes for
	GCC): Mention powerpc-*-netbsd*.

	* config/rs6000/netbsd.h: New file.
	(STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
	(LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
	(ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
	(LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
	(TARGET_VERSION): Redefine.

	* config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
	mcall-netbsd as a match for mcall-sysv.
	(EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
	(ncrti.S, ncrtn.S): New targets.
	($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.

	* config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
	"netbsd' as a V4 ABI.
	(ASM_SPEC): Check for -mcall-netbsd.
	(CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
	(CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
	(LIB_SPEC, ENDFILE_SPEC): Ditto.
	(LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
	(ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
	(LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
	(SUBTARGET_EXTRA_SPECS): Add NetBSD specs.

	* doc/invoke.texi (Option Summary): Add -mcall-netbsd.
	(RS/6000 and PowerPC Options): Mention -mcall-netbsd.

2001-08-01  Mark Kettenis  <kettenis@gnu.org>

	* unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
	only if NO_BASE_OF_ENCODED_VALUE isn't defined.
	* unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
	including "unwind-pe.h".

Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rs6000.md (define_splits): Kill unused constraints.

Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
			      Jan Hubicka  <jh@suse.cz>

	* function.c (thread_prologue_and_epilogue_insns): Kill code
	dealing with non-existent CFG.

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

	* alias.c: Fix comment formatting.
	* bitmap.c: Likewise.
	* builtins.c: Likewise.
	* calls.c: Likewise.
	* c-common.c: Likewise.
	* c-decl.c: Likewise.
	* c-dump.c: Likewise.
	* c-lex.c: Likewise.
	* collect2.c: Likewise.
	* combine.c: Likewise.
	* conflict.c: Likewise.
	* cppfiles.c: Likewise.
	* cppinit.c: Likewise.
	* cpplex.c: Likewise.
	* cpplib.c: Likewise.
	* cppmacro.c: Likewise.
	* cppspec.c: Likewise.
	* c-pragma.c: Likewise.
	* crtstuff.c: Likewise.
	* cse.c: Likewise.
	* cselib.c: Likewise.
	* c-semantics.c: Likewise.
	* c-typeck.c: Likewise.

2001-08-01  H.J. Lu <hjl@gnu.org>

	* config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.

2001-08-01  H.J. Lu <hjl@gnu.org>

	* gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.

2001-08-01  Ziemowit Laski  <zlaski@apple.com>

	* c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
	contextualizing Objective-C class name lookup by the lexer.
	(typespec_reserved_nonattr): Disable ObjC class name lookup after
	seeing a TYPESPEC.
	(protocoldef): Add support for forward @protocol declarations.
	(yylexname): Suppress ObjC class name lookup in certain contexts;
	re-enable after lookup is complete.
	(_yylex): Re-enable ObjC class name lookup when certain
	punctuation marks are seen.

	* objc/objc-act.c (check_protocol_recursively): New function used
	for finding circular dependencies in protocols.
	(objc_declare_protocols): New function for handling forward
	@protocol declarations.
	(receiver_is_class_object): Detect the case when 'self' is used
	inside of a class method.
	(build_message_expr): Issue a warning if class method is desired
	but instance method is found instead.
	(conforms_to_protocol): Streamline.
	(objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
	protocol Foo, even if 'Bar foo' does not.
	(check_protocols): Streamline.
	(start_protocol): Add checks for circular and duplicate protocol
	definitions.
	(encode_aggregate_within): For typedefs of structs, encode the
	underlying struct.
	* objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
	(objc_declare_protocols): New prototype.

2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
	* cpplex.c (handle_newline): Update prototype.  Maintain logical
	line number.
	(skip_escaped_newlines, skip_block_comment, parse_string):
	Update accordingly.
	(_cpp_lex_token): Update, and store token position within the token.
	* cpplib.h (struct cpp_token): Add line and column entries.
	* cppmacro.c (replace_args): Position stringified tokens correctly.

2001-08-01  Andreas Jaeger  <aj@suse.de>

	* basic-block.h: Add prototype for last_loop_beg_note.

2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>

	* expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
	RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
	comment.
	(expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
	while handling WITH_CLEANUP_EXPR node. Use second operand calling
	expand_decl_cleanup.
	* tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
	the first RTX.
	(simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
	operand while calling simple_cst_equal.
	* tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
	operand is the cleanup expression, the third is the RTL_EXPR.
	* tree.h (WITH_CLEANUP_EXPR_RTL): New macro.

2001-07-31  Jeff Sturm  <jsturm@one-point.com>

	* except.c (duplicate_eh_regions): Test n_array[i] for NULL.

2001-07-31  matthew green  <mrg@eterna.com.au>

	* config.gcc (i386-*-netbsdelf): New description.
	* config/i386/netbsd-elf.h: New file.

2001-07-30  Geoffrey Keating  <geoffk@redhat.com>

	* loop.c (check_dbra_loop): Use single_set to compute
	jump_label.

2001-07-31  Daniel Berlin  <dan@cgsoftware.com>

	PowerPC reorg and support for powerpc64-*-linux*.

	Also fixes emitting of constants on 32 bit and 64 bit
	platforms.

	* config.gcc: powerpc64-*-linux* is a new target.
	Things that needed aix.h now also include xcoff.h

	* config/rs6000/rs6000.h: Split XCOFF specific stuff into
	xcoff.h.
	Move AIX specific stuff into aix.h.
	(TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
	with more than just XCOFF now.
	(SET_ASM_OP): Remove, now defined where needed.
	(FUNCTION_PROLOGUE): New macro definition.
	(FUNCTION_EPILOGUE): New macro definition.
	(ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.

	* config/rs6000/xcoff.h: New file.

	* config/rs6000/linux64.h: New file.

	* config/rs6000/darwin.h: Copy needed AIX alignment definitions.

2001-07-31  Alan Modra  <amodra@bigpond.net.au>

	* rs6000.c (print_operand_address): Handle ELF syntax.
	(output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
	* rs6000.md (load_toc_aix_di): Handle ELF syntax.
	* rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.

2001-07-31  David Edelsohn  <edelsohn@gnu.org>

	* rs6000.c (rs6000_override_options): Only disable
	flag_function_sections for XCOFF.
	(exact_log2_cint_operand): New predicate.
	(reg_or_{add,sub}_cint64_operand): New predicates.
	(add_operand): Compare CONST_INT with fewer function calls.
	(rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
	(print_operand, case 'p'): Ensure positive operand.
	(rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
	* rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
	(PREDICATE_CODES): Add new predicates.
	* rs6000.md (addsi3): Split 32-bit constants more correctly.
	(divsi3, modsi3): Ensure positive power-of-2.
	(adddi3): Use new predicate.  Split 32-bit constants more
	correctly.  Re-arrange splitter to handle any constant.
	(subdi3): Use new predicate.
	(divdi3, moddi3): Ensure positive power-of-2.
	(movdi): Use rs6000_emit_set_const.
	(load_toc_v4_pic_di): Delete.

2001-07-31  Graham Stott <grahams@redhat.com>

	* function.c (pad_below): Revert 2001-07-26 patch.

Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* reg-stack (convert_regs_1): Fix best edge condition.

Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* jump.c (duplicate_loop_exit_test): Better test for jumps
	entering the loop; create loop pre_header.

2001-07-31 Hartmut Penner <hpenner@de.ibm.com>

	* doc/install.texi: Add s390 and s390x as new targets.
	* doc/invoke.texi: Add documentation of S/390 and zSeries
	target options.
	* doc/md.texi: Add documentation of S/390 and zSeries constraints.

2001-07-30  Roman Zippel  <zippel@linux-m68k.org>

	* config/m68k/m68k.md: Replace all general_operand with
	nonimmediate_operand for all destinations.
	* config/m68k/m68k.c (not_sp_operand): Likewise.

Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)

	* flow.c (merge_blocks): Return 1 if an extra jump is inserted.

2001-07-30  Richard Henderson  <rth@redhat.com>

	* config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
	* config/mips/iris6.h (DEBUG_RANGES_SECTION): New.

2001-07-30  Roman Zippel  <zippel@linux-m68k.org>

	* config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
	Add missing doc strings
	* config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
	* config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise

Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386.c (ix86_output_main_function_alignment_hack): New function.
	(TARGET_ASM_FUNCTION_PROLOGUE): Default to it.

	* flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
	edges by EDGE_DFS_BACK flag.
	(dump_edge_info): Add dfs_back flag.
	* basic-block.h (EDGE_DFS_BACK): New constant.
	(mark_dfs_back_edges): Declare.
	* alias.c (loop_p): Remove.
	(mark_constant_function): Use mark_dfs_back_edges.

	* reg-stack.c (block_info_def): Add predecessors counter and stack_out.
	(reg_to_stack): Call mark_dfs_back_edges; count the predecessors.
	(compensate_edge): Break out from ...
	(convert_regs_1): ... here; do smart choosing of stack_out to copy.
	(convert_regs_2): Set block_done once block is really done;
	Do updating of the predecessors counts.

	* toplev.c (rest_of_compilation): Recompute block_for_insn
	before post-reload cfg_cleanup.
	* function.c (thread_prologue_epilogue_insns):
	Call set_block_for_new_insns when emitting prologue directly.

2001-07-30  Andreas Jaeger  <aj@suse.de>

	* jump.c: Add prototype for mark_modified_reg.

	* cse.c (set_live_p): Add unused attribute.

	* gcov.c (calculate_branch_probs): Use gcov_type to avoid
	overflow.
	(scan_for_source_files): Use long for count to avoid overflow.
	(output_data): Likewise.
	(output_data): Don't use string concatatenation to silence gcc
	-traditional.

	* predict.c: Fix typos and grammar.

	* gcse.c (insert_insn_end_bb): Remove unused variables.

Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
	(attempt_auto_inc): LIkewise.
	(mark_used_reg): Likewise.
	(try_pre_increment_1): Likewise.
	* regclass.c (regclass): Likewise.
	* global.c (allocno_compare): Update comment; change scaling factor.
	* local-alloc.c (QTY_CMP_PRI): Likewise.
	* regs.h (REG_FREQ_FROM_BB): New.
	(REG_FREQ_MAX): Likewise.

2001-07-30  H.J. Lu <hjl@gnu.org>

	* config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
	-D_GNU_SOURCE.

2001-07-30  H.J. Lu  (hjl@gnu.org)

	* config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
	(ASM_DECLARE_FUNCTION_SIZE): Likewise.
	(FUNCTION_NAME_ALREADY_DECLARED): Likewise.

2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
	as -mthumb-interwork when -mcpu=arm7 is specified.

Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.def (noreturn, loop branch, loop exit): Mark as first
	match heuristics.

Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* combine.c (try_combine): Avoid barrier after noop jumps.

2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* cpphash.h (struct cpp_reader): Remove import_warning.
	* cpplib.c (skip_rest_of_line): Don't bother turning off
	macro expansion.
	(parse_include): Move include handling to...
	(do_include_common): ... here.  Move import warning from...
	(do_import): ... here.
	(do_pragma_poison): Don't do a callback for poison identifiers.
	* cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
	* cppmain.c (setup_callbacks): Similarly.

Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
	handle multiple sets.
	* except.c (sjlj_mark_call_sites): .... here.
	* gcse.c (insert_insn_end_bb): Use find_first_parameter_load.

Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>

	Suggested by Richard Henderson and Richard Kenner:
	* combine.c (recog_for_combine): Use the fake recog
	only if instruction does not match.
	* rtl.h (NOOP_MOVE_INSN_CODE): New.
	* rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.

	* combine.c (try_combine): Discover noop jump as direct jump.

2001-07-29  Daniel Berlin  <dan@cgsoftware.com>

	* df.c (df_rd_global_compute): Add successors to worklist, not
	current item.
	(df_ru_global_compute): Ditto.

2001-07-27  Daniel Berlin  <dan@cgsoftware.com>

	* regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
	increment REG_N_SETS.

2001-07-26  Daniel Berlin  <dan@cgsoftware.com>

	* sbitmap.h: New prototype for sbitmap_a_xor_b.

	* sbitmap.c (sbitmap_a_xor_b): New function.
	ifdef the basic block stuff on IN_GCC.

2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* cppexp.c (parse_defined): Always record the macro name.
	(lex): Don't worry about identifiers, or special-case
	CPP_NOT here.
	(_cpp_parse_expr): Figure out at the end of the routine
	whether we saw a valid !defined() expression.
	* cppfiles.c (stack_include_file): Update for mi_valid.
	(_cpp_pop_file_buffer): Similarly.
	* cpplex.c (_cpp_lex_token): Similarly.
	* cpphash.h (enum mi_state, enum mi_ind, mi_state,
	mi_if_not_defined, mi_lexed): Remove.
	(mi_valid): New.
	* cpplib.c (do_if): Simplify.
	(do_endif, push_conditional, _cpp_handle_directive): Update
	for renaming of mi_state to mi_valid.
doc:
	* cpp.texi: Add index entries for digraphs, and add comment
	that C++ refers to them as alternative tokens.

Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (CLEANUP_PRE_LOOP): New.
	* except.c (finish_eh_generation): Update call of cleanup_cfg.
	* sibcall.c (optimize_sibling_calls): Likewise.
	* toplev.c (rest_of_compilation): Likewise.
	* flow.c (try_forward_edges): Take argument MODE;
	do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
	(try_optimize_cfg): Update call of try_forward_edges.

Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
				Jan Hubicka  <jh@suse.cz>

	* (validate_replace_rtx_1): Fix simplification of MINUS.

2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>

	PR preprocessor/3669
	* cppinit.c (init_dependency_output): Turn off dump requests
	if sending dependencies to stdout.

2001-07-28  Richard Henderson  <rth@redhat.com>

	* flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
	not optimizing.

2001-07-28  Golubev I. N.  <gin@mo.msk.ru>

	* config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.

2001-07-28  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
	is VAR_DECL first to prevent an ICE.

2001-07-28  Richard Henderson  <rth@redhat.com>

	* varasm.c (immed_real_const_1): Don't elide special cases for
	nested functions.
	(clear_const_double_mem): Clear const_tiny_rtx too.

2001-07-28  Richard Henderson  <rth@redhat.com>

	* dwarf2out.c (dw_val_class_offset): New.
	(struct dw_ranges_struct, dw_ranges_ref): New.
	(ranges_table, ranges_table_allocated): New.
	(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
	(add_AT_offset, add_ranges, output_ranges): New.
	(print_die, output_die): Handle dw_val_class_offset.
	(attr_checksum, size_of_die, value_format): Likewise.
	(gen_lexical_block_die): Handle non-contiguous blocks.
	(gen_block_die): Likewise.
	(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
	if needed.  Dump the ranges table.
	* final.c (final_start_function): Remove unnecessary notes and
	rebuild the block tree before numbering the blocks.
	* function.c (reorder_blocks_0): Walk the existing block tree
	to unmark all blocks.
	(reorder_blocks_1): Create block fragments when duplicate block
	notes are seen.
	(reorder_fix_fragments): New.
	(reorder_blocks): Call it.
	* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.

2001-07-28  Richard Henderson  <rth@redhat.com>

	* emit-rtl.c (adjust_address): Make a copy of the memory address.

2001-07-28  Richard Henderson  <rth@redhat.com>

	* flow.c (add_to_mem_set_list): New function.
	(init_propagate_block_info): Use it.
	(mark_set_1): Likewise.
	(insn_dead_p): Canonicalize memory address for dead store
	comparison.  Allow wider mode stores to kill narrower mode stores.
	(invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
	(invalidate_mems_from_set): Don't handle MEMs.

2001-07-28  Kazu Hirata  <kazu@hxi.com>

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

Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (EDGE_FREQUENCY): New macro.
	* bb-reorder (fixup_reorder_chain): Set counts and frequencies
	for new BB/edges.
	* flow.c (find_sub_basic_blocks): Likewise.
	(try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
	(redirect_edge_and_branch): Use EDGE_FREQUENCY.

	* predict.c (DEF_PREDICTOR): New argument FLAGS.
	(HITRATE): New macro.
	(PRED_FLAG_FIRST_MATCH): New constant.
	(predictor_info): New field flgags.
	(combine_predictions_for_insn): Use DS theory to combine
	probabilities; set the edge probabilities when finished.
	(estimate_probability): Avoid duplicated matches
	of LOOP_BRANCH heuristics for nested loops; update comment.
	* predict.def: Add flags for each prediction, set probabilities
	according to B&L paper.
	* predict.h (DEF_PREDICTOR): New argument FLAGS.

	* profile.c (compute_branch_probabilities):  Cleanup way the edge
	probabilities are computed and REG_BR_PROB notes are dropped; if
	values does not match, emit error.
	(init_branch_prob): Do error instead of warning when profile driven
	feedback is missing or corrupt.

2001-07-27  DJ Delorie  <dj@redhat.com>

	* ifcvt.c (noce_get_alt_condition): If the condition is a compare
	against a constant, try to adjust the compare to have the desired
	constant in it so that min/max optimizations happen more often.

Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (last_loop_beg_note): New function.
	(redirect_edge_and_branch): Use it.
	(split_edge): Likewise.

	* alias.c (loop_p): Avoid uninitialized memory access.

	* flow.c (try_forward_edges): Avoid accessing freed memory.

	* flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
	variable access.

2001-07-26  Andrew Haley  <aph@redhat.com>
	Joern Rennecke <amylaar@redhat.com>

	* config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
	(SUBTARGET_CPP_ENDIAN_SPEC): New.
	(SUBTARGET_CPP_SPEC): New.
	(CPP_SPEC): Remove.
	* config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
	(SUBTARGET_CPP_PTR_SPEC): New.
	(CPP_DEFAULT_CPU_SPEC): New.
	(EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
	(CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
	SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
	(SUBTARGET_CPP_SPEC): Define as an empty string.

2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Configuration): Properly link the host
	specific instructions also when generating HTML.

Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)

	* flow.c (redirect_edge_and_branch_force): Test
	target->global_live_at_start.

2001-07-26  Richard Henderson  <rth@redhat.com>

	* simplify-rtx.c (avoid_constant_pool_reference): Export.
	* rtl.h (avoid_constant_pool_reference): Declare it.
	* dwarf2out.c (add_location_or_const_value_attribute): Use it.
	(add_const_value_attribute): Use add_AT_unsigned for unsigned values.

Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rtl.h (cleanup_barriers): Declare.
	* jump.c (cleanup_barriers): New function.
	* toplev.c (rest_of_compilation): Call cleanup_barriers
	before loop optimizer and after bb_reorder.

	* flow.c (back_edge_of_syntactic_loop_p): New.
	(split_edge): Use it.

2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* glimits.h (_MACH_MACHLIMITS_H_): Delete.

Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>

	* cse.c (cse_process_notes): Replace any registers if the address
	remains valid.

Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)

	* basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
	(PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
	(propagate_block): Update prototype.
	* flow.c (update_life_info): Simplify the CFG and
	recalculate the global regs which are alive when
	removing dead code during a global update.
	(propagate_block): Return non-zero if an INSN is
	deleted.

2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	* Makefile.in (LIBICONV): Define.

2001-07-26  Catherine Moore  <clm@redhat.com>

	* config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
	of conditional to avoid tree checking errors.

2001-07-26  Kazu Hirata  <kazu@hxi.com>

	* regmove.c (regmove_optimize): Don't replace a reg with
	another reg of a different mode.

2001-07-26  Andrew MacLeod  <amacleod@redhat.com>

	* params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
	limit length of dependency flush list.
	* params.h (MAX_PENDING_LIST_LENGTH): Define.
	* sched-int.h  (struct deps): Add pending_flush_length field.
	* sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
	has 1 element in it.
	(sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
	(sched_analyze): After a jump, if the pending memory flush list is too
	large, flush the pending lists.
	(init_deps): Initialize pending_flush_length to 0.
	* doc/invoke.texi (max_pending_list_length): Document parameter.

2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>

	* toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
	* dbxout.c (dbxout_global_decl): Move outside #ifdef.
	* Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.

2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* cpphash.h (struct_lexer_state): Delete was_skipping.
	Move skipping here from struct cpp_reader.
	* cpplex.c (parse_identifier): Update.
	(_cpp_lex_token): Don't skip tokens in a directive.
	* cpplib.c (struct if_stack): Update.
	(start_directive, end_directive): Don't change skipping state.
	(_cpp_handle_directive): Update.
	(do_ifdef, do_ifndef, do_if, do_elif): Similarly.
	(do_else, do_endif): Update; only check for excess tokens if not
	in a skipped conditional block.
	(push_conditional): Update for new struct if_stack.

2001-07-26  Graham Stott  <grahams@redhat.com>

	* function.c (locate_and_pad_parm): Also pad initial offset
	so that the total argument size also includes the padding.

2001-07-26  Graham Stott <grahams@redhat.com>

	* gensupport.c (alter_output_for_insn): Correct enable checking failure
	change XSTR to XTMPL.

	(process_one_cond_exec): Likewise

2001-07-25  Richard Henderson  <rth@redhat.com>

	* varasm.c (assemble_variable): Create DECL_RTL before setting
	TREE_ASM_WRITTEN.

Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* predict.c (estimate_probability): Avoid duplicated predictions.

	* loop.c (find_and_verify_loops): Grok multiple barriers.

Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.

	* dbxout.c: Consistently use putc instead of fputc.
	(print_wide_int): New function; call instead of direct fprintf.
	(dbxout_type_index): Adjust calls of CHARS to be more accurate.
	(dbxout_type_fields, dbxout_type_method_1): Likewise.
	(dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
	(print_int_cst_octal): Likewise.
	(print_octal): Show we wrote characters.
	(dbxout_type): Set have_used_extensions in more places.

2001-07-25  Catherine Moore  <clm@redhat.com>

	* config/v850/v850.c (v850_va_arg):  Use addr
	instead of valist to build incr.

Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (delete_dead_jumptables): New function.
	(life_analyzis): Call it.
	* bb-reorder.c (skip_insns_after_block): Handle contradictory
	sequences.

2001-07-25  Richard Henderson  <rth@redhat.com>

	* except.c (reachable_handlers): Handle a region being removed
	out from under a RESX.

2001-07-25  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_emit_conditional_move): Always
	swap GE/GT if it is an fp comparison.

2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>

	* alias.c (rtx_equal_for_memref_p): Allow strings as types in
	operands.

Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)

	* ssa.c (rename_insn_1): Do not wrap an assignment to a
	paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
	glitch.

	* ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
	throw an exception.
	(visit_expression): When attempting to simplify an expression,
	retrieve any modes for arguments before they are simplified
	to constants.

2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
	    Janis Johnson  <janis@us.ibm.com>

	* stmt.c (expand_goto): A nonlocal goto can be a call too.
	* builtins.c (expand_builtin_longjmp): Reverse label and static chain
	pointer parameters to match documented usage of nonlocal_goto.
	* config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
	parameters to their correct order.
	* config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
	parameters to their correct order.

2001-07-25  Andrew MacLeod  <amacleod@redhat.com>

	* config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.

2001-07-25  Jan Hubicka  <jh@suse.cz>
	    Richard Henderson  <rth@redhat.com>

	* flow.c (find_sub_basic_blocks): Fix handling of the last BB in
	the sequence.
	(make_edges): New argument update_p; populate the edge cache if set.
	(find_basic_blocks): Update make_edges invocation.

2001-07-24  Joel Sherrill <joel@OARcorp.com>

	* config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.

2001-07-24  Joel Sherrill <joel@OARcorp.com>

	* config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
	-Acpu and -Amachine.h.
	* config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
	Corrected header to say ELF not a.out.
	* config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
	when given -msoft-float.

2001-07-24  Joel Sherrill <joel@OARcorp.com>

	* config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
	extra multilib parts like arm-elf.
	(i960-*-coff*, i960-*-rtems): Should not use collect2.
	(m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
	crtfini.o as extra multilib parts.

2001-07-24  Joel Sherrill <joel@OARcorp.com>

	* configure.in: Add rtems as a supported thread model.
	* gthr-rtems.h: Add missing entry point __gthread_active_p.
	* configure: Rebuilt.

2001-07-24  Lars Brinkhoff  <lars@nocrew.org>

	* stor-layout.c (get_mode_alignment): make it work when
	BITS_PER_UNIT is not a power of two.
	* builtins.c (get_pointer_alignment): Likewise.

2001-07-24  Richard Henderson  <rth@redhat.com>

	* simplify-rtx.c (avoid_constant_pool_reference): Coerce
	the retrieved constant into the expected mode.

Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (try_simplify_condjump): Avoid duplicated edges.
	(verify_flow_info): Check for duplicated edges; clarify
	error reporting.

	* flow.c (block_label): Update basic_block_for_insn.
	(commit_edge_insertions): Call compute_bb_for_insn.

	* flow.c (purge_dead_edges): Handle conditional jumps and conditional
	returns too.

	* flow.c (redirect_edge_and_branch,
	try_optimize_cfg): Use redirect_edge_succ_nodup
	(redirect_edge_succ_nodup): New.
	* basic_block.h (redirect_edge_succ_nodup): Declare.

	* toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
	after gcse.

Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (try_forward_edges): Accept fallthru edge; Update comment.
	(try_crossjump_to_edge): Update commetns.
	(try_crossjump_bb): Likewise.

2001-07-24  Richard Henderson  <rth@redhat.com>

	* combine.c (distribute_notes): Move set of need_refresh
	for noop_move_p down to catch all cases.

Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* recog.c (split_all_insns_noflow): New.
	* rtl.h (split_all_insns_noflow): Declare.
	* ia64.c (ia64_reorg): Use split_all_insns_noflow.
	* m68hc11.c (m68hc11_reorg): Likewise.
	* sh.c (machine_dependent_reorg): Likewise.
	* toplev.c (rest_of_compilation): Likewise for last split_all_insns
	call.

2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>

	* config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
	(ashlsi3_n splitter): Likewise.
	(lshrsi3_n splitter): Likewise.

	(GOTaddr2picreg): Make const SImode.
	(sym_label2reg): Likewise.
	(symGOT2reg): Likewise.
	(symGOTOFF2reg) Likewise.

	(casesi_worker_0): Make unspec SImode.

2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>

	* config/sh/sh.c (barrier_align): Check that an operand really is
	an insn before extracting its INSN_CODE.

2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>

	* config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
	dangling else.

	* config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
	for SImode to prevent overflow.

2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/mips/irix6-libc-compat.c: New file.
	* config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
	* doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
	passing workaround.

2001-07-24  lars brinkhoff  <lars@nocrew.org>

	* rtl.texi (REG_POINTER): Document.
	(Machine Modes): Document BImode, OImode, PQImode, PHImode,
	QFmode, HFmode, TQFmode, QCmode, and HCmode.

Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (delete_noop_moves): Do not confuse libcall regions.

2001-07-23  Richard Henderson  <rth@redhat.com>

	* flow.c (try_simplify_condjump): Use tidy_fallthru_edge.

2001-07-23  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300-protos.h: Add a prototype for
	general_operand_dst_push.
	* config/h8300/h8300.c (general_operand_dst_push): New.
	* config/h8300/h8300.h (OK_FOR_T): New.
	(EXTRA_CONSTRAINT): Use it.
	* config/h8300/h8300.md (movqi_push): Remove and integrate into
	the existing movqi pattern.
	(movhi_push): Likewise.

	* reload.c: Fix comment typos.

Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* gcse.c (cprop_insn): Update call of cprop_cc0_jump.

2001-07-23  H.J. Lu  (hjl@gnu.org)

	* doc/extend.texi: Update __builtin_return_address and
	__builtin_frame_address.

2001-07-23  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.c (ix86_expand_setcc): Don't use method 0
	before CSE.
	* config/i386/i386.md: New setcc+movzbl peephole2.

2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* objc/Make-lang.in (objc-act.o): Depend on debug.h.
	* objc/objc-act.c: Include debug.h.
	(synth_module_prologue): Save and restore debug hooks too.

2001-07-23  lars brinkhoff  <lars@nocrew.org>

	* tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
	and C4X_FLOAT_FORMAT.
	(BOOL_TYPE_SIZE): Document.

Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>

	* unroll.c (loop_iterations): Fix miscalculation of initial
	giv offset.

2001-07-13  Andrew Haley  <aph@redhat.com>

	* doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
	* config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
	* config/sh/sh.c (sh_can_redirect_branch): New function.
	* config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
	* reorg.c (steal_delay_list_from_target): Use
	MD_CAN_REDIRECT_BRANCH to see if redirection is possible.

Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (try_simplify_condjump): Unlink insn chain on
	fallthru edge; use can_fallthru.

Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (find_sub_basic_block): Declare.
	* flow.c (make_edges): New arguments MIN and MAX;
	(find_sub_basic_blocks): Revamp to use make_edges
	and purge_dead_edges.
	(find_basic_blocks): Update call of find_sub_basic_block.

	* recog.c (split_all_insns): Always expect CFG to be consistent;
	call find_sub_basic_blocks in case something has changed.
	* toplev.c (rest_of_compilation): Always call split_all_insns once CFG
	has been built.

	* basic-block.h (delete_noop_moves): Declare.
	* combine.c (combine_instructions): Call it.
	(recog_for_combine): Tolerate noop moves
	(distribute_notes): Force refresh when register dies at noop move.
	* flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
	too.
	(life_analysis): Update delete_noop_moves call.
	(set_noop_p): Move too ...
	* rtlanal.c (noop_move_p): ... here.
	* rtl.h (noop_move_p): Declare.

	* basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
	* toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
	after combine.
	* gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
	(cprop_jump): Likewise; call purge_dead_edges if substitution succeeded.

2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>

	* reload.c (push_reload): Fix typo in comment.
	(find_reloads_address): Ditto.
	(reg_overlap_mentioned_for_reload_p): Ditto in head comment.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* flow.c: Grammar check and clarify a lot of comments.
	(try_simplify_condjump): Rename variables to be clearer.
	(try_forward_edges): Skip complex and fallthru edges.
	Rearrange tests to avoid duplicate checks.
	(flow_find_cross_jump): Likewise.
	(outgoing_edges_match): Allow match if neither branch has
	probability data.  Loosen probability match to 5%.
	(try_crossjump_to_edge): Hoist repeated indirection into
	local variables.
	(try_crossjump_bb): Don't check complex edges.  Eliminate
	redundant crossjump tests.
	(try_optimize_cfg): Fix use of bool.  Reorganize cheaper
	checks before more expensive checks.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
	INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
	arguments.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
	(const_sint32_operand): Likewise.
	* m68k.md (anon mulsi pattern): Use const_int_operand not
	const_sint32_operand.
	(umulsi3_highpart): Zero extend a constant input.
	(smulsi3_highpart): Don't bother checking SImode constant.
	(const_umulsi3_highpart): Give op3 DImode.
	(const_smulsi3_highpart): Likewise.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* flow.c (split_block): Make sure bb_note is included in the
	new block when splitting before a label.

Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (redirect_edge_and_branch_force,
	redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
	* flow.c (redirect_edge_and_branch_force,
	redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
	(redirect_edge_and_branch_force): Fix copying of lifeness information.
	(block_label): Handle EXIT_BLOCK_PTR by returning NULL.
	* ifcvt.c (dead_or_predictable): Take BB as an new destination
	instead of label; update CFG after transformation.
	(find_if_case_1): Update call, use redirect_edge_and_branch_force
	for finishing the transformation; handle even case where ELSE
	does not follow THEN.
	(find_if_case_2): Update call of dead_or_predictable; simplify
	CFG update.

	* emit-rtl.c (split_branch_probability): New global variable.
	(try_split): Take care to set split_branch_probability and
	create REG_BR_PROB note for new jump insns.
	* md.texi (define_split): Document new feature.

	* i386.c (ix86_split_fp_branch): Redistribute branch probability notes.

2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>

	* varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
	(asm_out_file): Remove redundant declaration.
	(assemble_asm): Remove old #if 0 block.
	(assemble_variable): Remove end of function; debug output is
	now handled with global_decl.  Remove old #if 0 block.  Update.
	Remove saved_in_section and associated no-op code.
	* Makefile.in (varasm.o): Correct dependencies.

Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>

	* config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
	the definition in defaults.h.

Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* jump.c: Update comments.
	(delete_barrier_successors, delete_unreferenced_labels,
	delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
	delete_labelref_insn, redirect_tablejump, jump_optimize_1,
	jump_optimize, jump_optimize_minimal): Kill.
	(rebuild_jump_labels): Move code from jump_optimize_1.
	(purge_line_number_notes): Likewise.
	(copy_loop_headers): Likewise.
	* reg-stack.c: Update comment.
	* stmt.c: Likewise.
	* rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
	JUMP_AFTER_REGSCAN): Kill.
	* toplev.c (rest_of_compilation): Use cleanup_cfg, call
	purge_line_number_notes and copy_loop_headers.

2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
	   Richard Henderson  <rth@redhat.com>

	* dbxout.c (dbxout_global_decl): New.
	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
	* sdbout.c (sdbout_finish): New.
	(sdbout_debug_hooks): Use it, add comments.
	(sdbout_global_decl): Defer initialised public vars to
	sdbout_finish.
	* varasm.c (assemble_variable): Don't output debug information
	for file-scope variables.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (get_trap_mode_suffix): New.
	(get_round_mode_suffix): New.
	(print_operand): Use them for [/].  Remove support for [&'`()+].
	* config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
	* config/alpha/alpha.md (attr round_suffix): New.
	(attr trap_suffix): New.
	(all insns): Set them appropriately.  Use %/ instead of the
	myriad punctuators.

2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.

2001-07-22  Richard Henderson  <rth@redhat.com>

	* regrename.c (regrename_optimize): Compute nregs for each
	potential target register.

2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
	   Richard Henderson  <rth@redhat.com>

	* dbxout.c (dbxout_global_decl): New.
	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
	* sdbout.c (sdbout_finish): New.
	(sdbout_debug_hooks): Use it, add comments.
	(sdbout_global_decl): Defer initialised public vars to
	sdbout_finish.
	* varasm.c (assemble_variable): Don't output debug information
	for file-scope variables.

2001-07-21  H.J. Lu  (hjl@gnu.org)

	* config/mips/mips.c (mips_cpu): Moved into ...
	(override_options): Here.

	* config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
	mips_tune.
	(mips_cpu): Removed.

2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
	("iorqi3"): Likewise.
	("xorqi3"): Likewise.
	("*addhi3"): Fix constraint to avoid reloading in a soft register.
	("*subhi3_sp): Likewise.
	("*subhi3"): Likewise.
	("extendhisi2"): Accept D, X and Y as source operand to avoid
	reload problems.

2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>

	* doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
	* config/freebsd.h: Likewise.
	* config/linux.h: Likewise.
	* config/openbsd.h: Likewise.
	* config/alpha/linux-elf.h: Likewise.
	* config/arm/linux-elf.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/ia64/aix.h: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/mips/linux.h: Likewise.
	* config/pj/pj.h: Likewise.
	* config/rs6000/linux.h: Likewise.
	* config/sparc/linux.h: Likewise.
	* config/sparc/linux64.h: Likewise.

2001-07-20  Bruce Korb  <bkorb@gnu.org>

	* fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
	because getc() and char* may disagree on signedness.

2001-07-20  Richard Henderson  <rth@redhat.com>

	* doc/rtl.texi (REG_DEAD): Update for current semantics.

	* flow.c (try_redirect_by_replacing_jump): Correctly compute which
	insns to delete in the presence of cc0 in a jump insn.

Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
				Jan Hubicka  <jh@suse.cz>

	* m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
	of doing the change by hand.

Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* rtlanal.c (set_noop_p): Return true for noop jumps.

	* expr.c (emit_single_push_insn): Add call to push expander.
	* expr.h (optab_index): Add OTI_push
	(push_optab): New constant.
	* genopinit.c (optabs): Add push_optab.
	* optabs.c (init_optab): Init push optab.
	* md.texi (push??1): Document

2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
	expand to emit the pattern; put a REG_INC note for push/pop
	instructions.
	("movdf", "movdf_internal"): Likewise.
	("movsi", "movsi_internal"): Likewise.
	("movsf", "movsf_internal"): Likewise.
	("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.

2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
	gen_highpart.

2001-07-20  Daniel Berlin  <dan@cgsoftware.com>

	* params.def: Change default max inline insns to 100.

2001-07-20  Diego Novillo  <dnovillo@redhat.com>

	* combine.c (combine_simplify_rtx): Generate a new shift operation
	when simplifying the first operand of a (neg (ashift)) expression.

2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* regclass.c (N_REG_INTS): Use only 32 bits per element.

2001-07-20  Kelley Cook  <kelley.cook@home.com>

	* doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
	information.   Move rest into ...
	(*-*-solaris): ... here.  Eliminate redundant information and
	reword necessary packages section.  Delete 4.x assembler bug info.
	(sparc-sun-*): Merge into ...
	(sparc-sun-sunos*): here.

2001-07-20  Catherine Moore  <clm@redhat.com>

	* config/v850/v850.md (casesi): Generate LABEL_REF
	with Pmode.

Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
	* i386.c (ix86_zero_extend_to_Pmode): Make global.
	* i386.md (strclrsi expander): Use it.

Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* integrate.c (copy_insn_list): handle
	NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
	(copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
	identically as to CODE_LABEL.

	* fold-const (fold): Convert A/B/C to A/(B*C) and
	A/(B/C) to (A/B)*C

	* except.c (connect_post_landing_pads): Delete the RESX insns.

2001-07-20  Aldy Hernandez  <aldyh@redhat.com>

	* config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.

	* config/mips/mips.md (nmadd/nmsub): Use macro.

2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>

	* cppinit.c (remove_dup_dir): Make static.
	(remove_dup_dirs): Make static. Only warn about preempting a
	system directory with a non-system directory.

2001-07-19  Geoffrey Keating  <geoffk@redhat.com>

	* ifcvt.c (noce_try_store_flag_constants): Correct order
	of parameters to trunc_int_for_mode.

2001-07-19  Mark Mitchell  <mark@codesourcery.com>

	* reorg.c (fill_simple_delay_slots): If an instruction might throw
	an exception that will be caught within this function, do not fill
	its delay slot with any subsequent instruction.

2001-07-19  Steve Ellcey <sje@cup.hp.com>

	* tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
	* optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
	pointer extension instruction.
	* combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
	* simplify-rtx.c (simplify_unary_operation) Likewise.
	* explow.c (convert_memory_address) Check value of
	POINTERS_EXTEND_UNSIGNED to avoid some conversions when
	less than zero.
	* config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
	MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
	* config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
	Add Multilib Support.
	(POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
	* config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
	Add Multilib Support.
	(POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
	support.
	* config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
	* config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
	a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.

2001-07-19  Alexandre Oliva  <aoliva@redhat.com>

	* simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
	old and new operands in `<', `3' and `b'.

2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
	(final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
	(toplev.o): Don't depend on xcoffout.h.
	* c-decl.c: Include debug.h
	(duplicate_decls): Use debug hook.
	* dbxout.c (dbxout_source_file, dbxout_args): Make static.
	(dbx_debug_hooks, xcoff_debug_hooks): Update.
	(dbxout_types): Remove.
	* dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
	* debug.c (do_nothing_debug_hooks): Update.
	(debug_true_tree, debug_nothing_rtx): New.
	* debug.h (struct rtx_def): New.
	(struct gcc_debug_hooks): New hooks ignore_block,
	outlining_inline_function and label.
	(debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
	dwarf2out_frame_finish): New.
	* dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
	Make static, update prototype.
	(dwarf2_debug_hooks): Update.
	* dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
	dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
	* dwarfout.c (dwarf_debug_hooks): Update.
	* emit-rtl.c: Include debug.h.
	(remove_unnecessary_notes): Use debug hook.
	* final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
	(final_scan_insn): Use debug hook.
	* integrate.c (output_inline_function): Use debug hook.
	* sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
	(sdb_debug_hooks): Update.
	* sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
	* toplev.c: Don't include xcoffout.h.
	(note_outlining_of_inline_function, debug_ignore_block): Remove.
	* toplev.h (note_outlining_of_inline_function, debug_ignore_block):
	Remove.
	* tree.h (dwarf2out_do_frame): Remove.

2001-07-19  Catherine Moore  <clm@cygnus.com>

	* config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.

2001-07-19  Geoffrey Keating  <geoffk@redhat.com>

	* reload1.c (eliminate_regs_in_insn): When updating a set
	to the frame pointer to the hardware frame pointer, perform
	the update always not just when REPLACE is set.

	* reload1.c (choose_reload_regs): Don't inherit a reload
	that crosses multiple registers if registers past the first
	don't fit in the desired class.

	* ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
	when negating constants.

2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>

	* tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
	* doc/tree.texi: Ditto.

2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
	    Jakub Jelinek  <jakub@redhat.com>

	* unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
	(extract_cie_info): Handle "eh" augmentation properly,
	remember eh_ptr.
	(struct frame_state, __frame_state_for): New.

2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
	HANDLE_SYSV_PRAGMA): Define.
	* mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
	previous args.
	(copy_object): Caller changed.

2001-07-19  Andreas Schwab  <schwab@suse.de>

	* configure.in (assembler dwarf2 debug_line support): Define nop
	insn for m68k.
	* configure: Regenerated.

2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
	dwarfout.h.
	* dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
	to conditionally compiled block.
	(dbx_debug_hooks, xcoff_debug_hooks): Update.
	* dbxout.h (dbxout_function): Remove.
	* debug.c (do_nothing_debug_hooks): Update.
	* debug.h (struct gcc_debug_hooks): New hooks function_decl,
	global_decl, deferred_inline_function.
	* dwarf2out.c (dwarf2_debug_hooks): Update.
	(dwarf2out_global_decl): New.
	* dwarfout.c: Don't include dwarfout.h.
	(dwarfout_global_decl, dwarfout_function_decl,
	dwarfout_deferred_inline_function): New.
	(dwarf_debug_hooks): Update.
	* dwarfout.h: Remove.
	* final.c: Don't include dwarfout.h.
	* sdbout.c (sdbout_global_decl): New.
	(sdbout_debug_hooks): Update.
	* toplev.c: Don't include dwarfout.h.
	(check_global_declarations, rest_of_compilation): Use new debug hooks.
	(note_deferral_of_defined_inline_function): Remove.
	* toplev.h (note_deferral_of_defined_inline_function): Remove.
	* ch/Makefile.in (lex.o): No dependence on dwarfout.h.
	* ch/lex.c: Don't include dwarfout.h.
	* cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
	(semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
	* cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
	* cp/optimize.c: Include debug.h.
	(maybe_clone_body): Use debug hook.
	* cp/semantics.c: Include debug.h.
	(expand_body): Use debug hook.
	* po/POTFILES.in: Remove dwarfout.h.

2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>

	* c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
	* c-parse.in (yyerror, _yylex): Similarly.
	* cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
	Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
	Update comments.
	* cpplib.h (CPP_INT, CPP_FLOAT): Remove.
	* cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.

2001-07-18  Jeff Sturm  <jsturm@one-point.com>

	* dwarf2out.c (dwarf2out_abstract_function): Don't emit
	in-class declaration at -g1.  Fixes c++/2814.

2001-07-18  Richard Henderson  <rth@redhat.com>

	* doc/md.texi (reload_in/out): Document restrictions in predicates
	and constraints for these patterns.  Document empty string matching
	ALL_REGS.

2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.

Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* cse.c: Undo my previous patch.

2001-07-18  Tom Tromey  <tromey@redhat.com>

	For PR java/2812:
	* configure: Rebuilt.
	* configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
	instead.
	* aclocal.m4 (AM_ICONV): New macro from Bruno Haible.

Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
				Jan Hubicka  <jh@suse.cz>

	* flow.c (redirect_edge_and_branch): Bail out on complex edges.
	(try_optimize_cfg): Do not remove tail recursive labels before sibcall.
	* jump.c (mark_jump_label): Do not forward branches.

Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* cse.c (delete_trivially_dead_insns): Delete the libcall block
	when return value is unused.

Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.

Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>

	* gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
	on error.  We can't blindly return the result of
	pthread_mutex_trylock because it returns a positive number on
	error, while we must return -1 on error.
	(__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
	fixes.
	Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.

2001-07-18  Andreas Jaeger  <aj@suse.de>

	* integrate.c (output_inline_function): Correct type of debug_hooks.

2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>

	* combine.c (combine_simplify_rtx): DIV can be treated
	associatively for floats if unsafe math optimisations are enabled.

2001-07-17  Richard Henderson  <rth@redhat.com>

	* reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.

2001-07-17  Richard Henderson  <rth@redhat.com>

	* calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
	don't force the function address into a register.
	(expand_call, emit_library_call_value_1): Update callers.
	* builtins.c (expand_builtin_apply): Likewise.
	* expr.h (prepare_call_address): Update decl.

2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>

	* config.gcc: For *-*-chorusos triplet, get chorus.h file from
	config directory.
	* config/i386/chorus.h: Move up.
	* config/sparc/chorus.h: Likewise.
	* config/rs6000/chorus.h: Likewise.
	* config/chorus.h: Moved here.

2001-07-17  Andreas Schwab  <schwab@suse.de>

	* configure.in  (assembler eh_frame optimization): Handle big
	endian.
	* configure: Regenerated.

Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* expr.c (epxand_expr): Convert divisions into multiplications by
	reciprocals if -ffast-math.

2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>

	* dbxout.c (dbxout_really_begin_function): Rename to
	dbxout_begin_function.
	(dbx_debug_hooks, xcoff_debug_hooks): Update.
	(dbxout_begin_function): Remove.
	(dbxout_function): Update.
	(dbxout_source_line): Update prototype.
	* dbxout.h (dbxout_begin_function): Remove.
	* debug.c (do_nothing_debug_hooks): Update.
	(debug_nothing_tree): Update.
	(debug_nothing_charstar_rtx): Remove.
	* debug.h (union tree_node): Declare.
	(struct rtx_def): Remove.
	(gcc_debug_hooks): New hooks begin_prologue, end_prologue,
	begin_function.  Change source_line prototype.
	(debug_nothing_tree): New.
	(debug_nothing_charstar_rtx): Delete.
	(dwarf2out_begin_prologue): Moved from ...
	* tree.h: ... here.
	* dwarf2out.c (dwarf2_debug_hooks): Update.
	(dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
	debug info, call dwarf2out_source_line.
	(dwarf2out_souce_line): Update prototype.
	* dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
	Change prototype, make static.
	(dwarfout_source_line): Update prototype.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_begin_function): Remove.
	* final.c (final_start_function, final_scan_insn): Use appropriate
	debug hooks, update to use notice_source_line.
	(output_source_line): Rename notice_source_line.  Don't call the
	source_line debug hook.
	* sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
	make static, update prototype.
	(sdbout_mark_begin_function): Rename sdbout_begin_function, update
	prototype.
	(sdbout_end_prologue): New.
	(sdbout_source_line): Update prototype.
	(sdbout_debug_hooks): Update.
	(sdbout_symbol): Remove unused var.
	* sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
	Delete.
	* varasm.c: Include debug.h.
	(assemble_start_function): Use begin_function debug_hook.
	* xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
	update with prototype.
	(xcoffout_source_line): Update prototype.
	* xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
	update prototype.
	(xcoffout_source_line): Update prototype.

2001-07-17  Richard Henderson  <rth@redhat.com>

	* c-typeck.c (build_binary_op): Do not shorten unsigned
	right shift after sign extension.

Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* combine.c (combine_simplify_rtx): Attempt to simplify
	a*(b/c) as (a*b)/c for floats in unsafe_math mode.

	* simplify-rtx.c (avoid_constatn_pool_reference): New static function.
	(simplify_binary_operation, simplify_unary_operation,
	 simplify_relational_operation): Use it.

	* combine.c (combine_simplify_rtx): Don't do associative law
	on divisions; allow associative law on floats.

2001-07-17  H.J. Lu <hjl@gnu.org>
	    Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	* c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
	ASM_OUTPUT_WEAK_ALIAS are defined.
	* defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
	* config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
	Moved ...
	* config/mips/iris5.h: ... here.
	(HANDLE_SYSV_PRAGMA): Defined as 1.
	* varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
	* doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
	symbol.

2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-parse.in (all_prefix_attributes): New variable.
	(PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
	(maybe_resetattrs): New production.
	(c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
	maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
	notype_initdcl, nested_function, notype_nested_function,
	component_decl, components, components_notype,
	component_declarator, component_notype_declarator,
	absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
	ivars, mydecl, myparm): Update.  Avoid prefix attributes just
	after a comma being applied to more than one declarator.
	* doc/extend.texi (Attribute Syntax): Update.  Remove
	documentation of bugs that are no longer present.

2001-07-13  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h: Change TUNE_MIPS* options to use
	mips_tune.
	(EXTRA_SPECS): Add cc1_cpu_spec.
	* config/mips/mips.md (muldf3): Fix typo.

2001-07-16  Richard Henderson  <rth@redhat.com>

	* config/m68k/m68k.c: Include expr.h and reload.h.
	(print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
	[general int]: Use HOST_WIDE_INT_PRINT_DEC.

2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
	    Richard Henderson  <rth@redhat.com>

	* cse.c (set_live_p): Take INSN argument for cc0; update callers.
	(insn_live_p): Fix fall off end of function.
	(dead_libcall_p): Remove COUNTS argument; update callers.
	(delete_trivially_dead_insns): Remove unused variables.

2001-07-17  Andreas Jaeger  <aj@suse.de>

	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
	x86-64 pic support.

	* lcm.c (optimize_mode_switching): Avoid warning for unused
	variable if !NORMAL_MODE.

	* flow.c (try_crossjump_to_edge): Remove unused variable.

2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
	atexit declaration in stdlib.h.

2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>

	* fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h

Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
	* except.c (finish_eh_generation): Update call of cleanup_cfg;
	do rebuild_jump_labels instead of jump_optimize
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
	* toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
	* flow.c (try_optimize_cfg): Remove unneeded code_labels.

	* flow.c: Include timevar.h
	(find_basic_block): Push/pop timevar;
	(cleanup_cfg): Likewise.
	* timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
	* Makefile: Add dependencies on timevar.h

	* integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
	(copy_insn_list): Avoid killing of BASIC_BLOCK notes.

	* rtl.h (delete_trivially_dead_insns): Add new parameter.
	* toplev.c (rest_of_compilation): Update calls.
	* cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
	(delete_trivially_dead_insns): ... here; accept new argument
	preserve_basic_blocks; preserve basic blocks if set.

	* reg-stack.c (stack_regs_mentioned): Return 0 if
	stack_regs_mentioned_data is not initialized.
	(reg_to_stack): Make stack_regs_mentioned survive after the
	reg-stack is completted; do not call cleanup_cfg.
	* toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
	make cleanup_cfg after bb-reorder to output to debug file.

2001-07-16  Richard Henderson  <rth@redhat.com>

	* regclass.c (init_reg_sets): Use only 32 bits per initializer
	from int_reg_class_contents.

2001-07-16  Richard Henderson  <rth@redhat.com>

	* hard-reg-set.h (regs_invalidated_by_call): Declare.
	* regclass.c (regs_invalidated_by_call): Move from cse.c.
	(init_reg_sets_1): Move initialization from cse_main.
	* cse.c (regs_invalidated_by_call): Move to regclass.c.
	(cse_main): Move its initialization also.
	* df.c (df_insn_refs_record): Use regs_invalidated_by_call.
	* flow.c (propagate_one_insn): Likewise.
	* gcse.c (compute_hash_table): Likewise.
	(compute_kill_rd, compute_store_table): Likewise.
	* sched-deps.c (sched_analyze_1): Likewise.

Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>

	* gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
	gen_rtx_SET.

2001-07-16  Steve Ellcey <sje@cup.hp.com>

	* dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
	in if statement so we don't access undefined memory.

2001-07-16  Daniel Berlin  <dan@cgsoftware.com>

	* gcse.c: Update comment at top.
	Update comment on mem handling.
	mem_last_set, mem_first_set, mem_set_in_block: gone.
	Declaration of reg_set_info: gone.
	(oprs_unchanged_p): Don't use mem_*set_* anymore. They are
	pointless with load_killed_in_block_p (they are *more*
	conservative then it, not less, and less accurate).
	(oprs_not_set_p): Ditto.
	(alloc_gcse_mem): Don't allocate mem_set_in_block
	(free_gcse_mem): Don't free it, either.
	(record_last_mem_set_info): Update comment in front, remove
	mem_*set_* stuff. Note the reason we don't handle stores directly
	here.
	(compute_hash_table): Update comments to reflect reality. Remove
	mem_*set_* references.
	(reset_opr_set_tables): Remove mem_*set_* references.
	(mark_call): Ditto.
	(mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
	(mark_clobber): Ditto (on both parts, we double set here too).
	(expr_killed_p): Remove mem_set_in_block test.
	(compute_transp): Remove mem_set_in_block test.

	* ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
	of edge, and removal of phi alternative to dump file.
	(ssa_ccp_substitute_constants): Add note about register now being
	constant, and which uses were replaced in what insns to dump file.

2001-07-16  Andreas Jaeger  <aj@suse.de>

	* gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
	variables of type HOST_WIDEST_INT.

	* libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
	(__bb_exit_func): Correct type of count_max to avoid overflow.
	(num_digits): Handle long long argument.

	* combine.c (gen_lowpart_for_combine): Remove unused variable.

2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>

	* output.h (sdb_begin_function_line): Restore as an extern
	variable.
	* sdbout.c (sdb_begin_function_line): Make extern.

2001-07-15  Richard Henderson  <rth@redhat.com>

	* machmode.def (Pmode): Redefine if GENERATOR_FILE.
	* genrecog.c (maybe_both_true_mode): New.
	(maybe_both_true_2): Use it.
	(write_switch): Don't put Pmode in a switch.
	* rtl.c (mode arrays): Don't explicitly size them.

Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* toplev.c (rest_of_compilation): Fix register_life_up_to_date
	handling; move unconditional splitting before mode switching.

	* i386.md (type): Add fistp type.
	(i387, length_attr, scheduling definitions): Handle this type.
	(fix_trunc?f?i2): Revamp to use mode switching.
	(fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
	* i386.h (fp_cw_mode): New enum
	(OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
	MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.

Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* Makefile.in (integrate.o): Add debug.h.
	* integrate.c (debug.h): Add.
	(output_inline_function): Save, reset, and restore debug_hooks.

2001-07-15  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
	instead of COMPARE for the EQUIV expression.

2001-07-15  Richard Henderson  <rth@redhat.com>

	* flow.c (redirect_edge_and_branch_force): Initialize
	global_live_at_start and global_live_at_end.
	(allocate_bb_life_data): Export.
	* basic-block.h (allocate_bb_life_data): Declare.
	* toplev.c (rest_of_compilation): Call it.

2001-07-15  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
	(alpha_tablejump_best_label): New.
	* config/alpha/alpha-protos.h: Declare them.
	* config/alpha/alpha.md: Use braced strings for code blocks.
	(tablejump_osf): Break out add with r29.
	(tablejump_osf_internal): Remove.
	(tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
	use alpha_tablejump_addr_vec and alpha_tablejump_best_label.

Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
	of the movable.

	* toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.

	* i386-protos.h (ix86_split_fp_branch): Update prototype.
	(ix86_fp_jump_nontrivial_p): New.
	* i386.md (fp_jcc_?): Update call of split_fp_branch;
	use ix86_fp_jump_nontrivial_p.
	* i386.c (ix86_fp_jump_nontrivial_p): New.
	(ix86_split_fp_branch): Accept code instead of rtx.
	(ix86_expand_compare): Expand comparison early in case
	doing so is resonably cheap.

2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
	not 'machine'.
	(CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
	(CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.

2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>

	* dbxout.c (dbxout_source_line): Make static, update prototype.
	(dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
	(dbxout_init, dbxout_finish, dbxout_source_line,
	dbxout_begin_block, dbxout_end_block): Update for new prototypes.
	* dbxout.h (dbxout_source_line): Delete.
	* debug.c (debug_nothing_file, debug_nothing_file_int,
	debug_nothing_file_charstar_rtx): New.
	(do_nothing_debug_hooks): Update.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* debug.h (struct rtx_def): Declare.
	(gcc_debug_hooks): New hooks source_line, end_epilogue
	and end_function.
	(debug_nothing_void, debug_nothing_charstar_rtx,
	dwarf2out_end_epilogue): New.
	(debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
	* dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
	(dwarf2_debug_hooks): Update.
	(dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
	dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
	* dwarf2out.h (dwarf2out_source_line): Remove.
	* dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
	Make static, update prototype.
	(dwarfout_init, dwarfout_finish, dwarfout_source_line,
	dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
	dwarfout_end_function): Remove.
	* final.c (profile_function): Use debug hooks for ending functions
	and epilogues.
	(output_source_line, final_end_function): Update prototype,
	use debug hooks.
	(final_start_function, final_scan_insn): Update.
	* output.h (sdb_begin_function_line): Remove.
	(final_end_function): Update prototype.
	* sdbout.c (sdb_begin_function_line): Make static.
	(PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
	(sdbout_source_line): New.
	(sdbout_end_epilogue, sdbout_end_function): Make static, update
	prototypes.
	(sdb_debug_hooks): Update.
	(sdbout_init, sdbout_source_line,
	sdbout_begin_block, sdbout_end_block): Update for new prototypes.
	* sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
	* toplev.c (compile_file, rest_of_compilation): Update.
	* tree.h (dwarf2out_end_epilogue): Move to debug.h.
	* xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
	Update for prototype changes.
	* xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
	xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.

2001-07-15  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.h (TARGET_ABI_OSF): New.
	(TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
	* config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
	* config/alpha/alpha.c: Likewise.
	* config/alpha/alpha.md: Likewise.
	* config/alpha/alpha32.h: Likewise.
	* config/alpha/vms.h: Likewise.
	(OPEN_VMS): Remove.

2001-07-14  Richard Henderson  <rth@redhat.com>

	* config/alpha/alpha.md: Use define_constants for unspec values.
	Substitute throughout.

2001-07-14  Tim Josling  <tej@melbpc.org.au>

	* tree.def (EXPON_EXPR) remove. Never supported anyway.

2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.md: Remove unused constraints from define_split's.

2001-04-14  Richard Henderson  <rth@redhat.com>

	* ifcvt.c (find_cond_trap): Test for exit block.

Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>

	Re-install recently reverted patch.
	* emit-rtl.c (try_split): Update mark_jump_label call.
	* flow.c (find_sub_basic_blocks): Likewise.
	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
	jump_back_p): Kill.
	(mark_all_labels): Kill second parameter.
	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
	(rebuild_jump_labels, jump_optimize_minimal): Update call
	of jump_optimize_1.
	(jump_optimize_1): Kill crossjumping code.
	(mark_jump_label): Kill cross_jump parameter.
	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
	 splitting.
	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
	DFI_bpro.
	(dump_file_info): Likewise.
	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
	reorganize passes to do reg-stack first, bb-reorder second.
	* invoke.texi (-d letters doc): Remove the jump2 pass.

2001-07-14  Richard Henderson  <rth@redhat.com>

	* ifcvt.c (find_cond_trap): New.
	(find_if_header): Call it.
	(merge_if_block): Relax existing jump sanity check.
	* jump.c (jump_optimize_1): Remove conditional trap handling.

2001-07-14  Alan Modra  <amodra@bigpond.net.au>

	* config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
	millicode.
	(insn_refs_are_delayed): Correct comment.
	* config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
	* config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
	instead of r31.  Make associated insn !TARGET_64BIT, and
	provide an additional 64-bit insn that clobbers r2.
	(divsi3): Likewise.
	(udivsi3): Likewise.
	(modsi3): Likewise.
	(umodsi3): Likewise.

Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* bb-reorder.c (skip_insn_after_block): Get past the line number notes.

	* flow.c (redirect_edge_and_branch_force, split_edge,
	try_crossjump_to_edge): Use set_block_for_new_insns.
	* bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.

2001-07-13  H.J. Lu  (hjl@gnu.org)

	* config/elfos.h (UNIQUE_SECTION): Enable .bss section with
	the correct patch.

2001-07-13  Geoffrey Keating  <geoffk@redhat.com>

	Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.

2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-common.c (decl_attributes): Take a pointer to the node to
	which attributes are to be attached, and a flags argument.
	* c-common.h (enum attribute_flags): New.
	(decl_attributes): Update prototype.
	* c-decl.c (start_decl, push_parm_decl, finish_struct,
	finish_enum, start_function): Update calls to decl_attributes.
	* c-parse.in (component_declarator, component_notype_declarator,
	label): Update calls to decl_attributes.

Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>

	* config/avr/avr.md (strlenhi): PARALLEL keyword removed.
	* config/avr/avr.c (legitimate_address_p): Return value changed
	from letter to register classes. For better debugging.

2001-07-13  Kazu Hirata  <kazu@hxi.com>

	* jump.c (reversed_comparison_code_parts): Fix comment typos.

2001-07-13  H.J. Lu  (hjl@gnu.org)

	* config/elfos.h (UNIQUE_SECTION): Enable .bss section.

2001-07-13  Marc Espie  <espie@cvs.openbsd.org>

	* config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
	correctly for shared configurations.
	* config/t-libgcc-pic:  New.
	* config/{i386,m68k,sparc}/t-openbsd:  New.
	* config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
	Support -shared.  Support debugging libraries with -g.
	* config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
	frame information does not emit pointer diffs.
	* config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
	emit pointer diffs.

2001-07-13  Geoffrey Keating  <geoffk@redhat.com>

	Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.

2001-07-13  David Edelsohn  <edelsohn@gnu.org>

	* combine.c (try_combine): Ensure const_int pow2 is positive.

2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>

	* config.gcc: Add configuration for s/390.
	* config/s390/s390.c: New. Subroutines for code generation.
	* config/s390/s390.h: New. Definitions for s/390.
	* config/s390/s390-protos.h: New. Prototypes.
	* config/s390/linux.h: New. Definitions for linux for s/390.
	* config/s390/linux64.h: New. Definitions for linux for zSeries.
	* config/s390/t-linux: New. Makefile fragment.
	* config/s390/s390.md: New. Machine description for s/390 and zSeries.
	* config/s390/fixdfdi.h: New. Fix L_fix*di.

Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* emit-rtl.c (try_split): Update mark_jump_label call.
	* flow.c (find_sub_basic_blocks): Likewise.
	* jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
	jump_back_p): Kill.
	(mark_all_labels): Kill second parameter.
	(jump_optimize, jump_optimize_1): Kill cross_jump parameter.
	(rebuild_jump_labels, jump_optimize_minimal): Update call
	of jump_optimize_1.
	(jump_optimize_1): Kill crossjumping code.
	(mark_jump_label): Kill cross_jump parameter.
	* rtl.h (mark_jump_label, jump_optimize): Update prototypes.
	(JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
	* reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
	 splitting.
	* toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
	DFI_bpro.
	(rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
	reorganize passes to do reg-stack first, bb-reorder second.
	* invoke.texi (-d letters doc): Remove the jump2 pass.

2001-07-12  Steve Ellcey <sje@cup.hp.com>

	* toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.

Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (try_optimize_cfg): Delete whole chain of trivially dead
	basic blocks.
	(verify_flow_info): Make diagnostics prettier.

Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (find_basic_blocks_1): Do not emit NOP after call.

	* flow.c (outgoing_edges_match): Return early if condition reversal
	failed.

2001-07-06  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (print_operand): Extend '%D' to memory operands.
	(mips_move_2words): When splitting a move into two instructions,
	prefix the second address operand with '%D'.

2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (final.o): Depend on debug.h.
	* dbxout.c (dbxout_begin_block, dbxout_end_block): New.
	(dbx_debug_hooks): Add new hooks.
	(xcoff_debug_hooks): New.
	* debug.c (debug_nothing_file_int_int): New.
	(do_nothing_debug_hooks): Update.
	* debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
	(debug_nothing_file_int_int): New.
	* dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
	static, update prototype.
	(dwarf2_debug_hooks): Update.
	* dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
	* dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
	static, update prototype.
	(dwarf_debug_hooks): Update.
	* dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
	* final.c: Include debug.h.
	(final_scan_insn): Use debug hooks when beginning and ending blocks.
	* sdbout.c (sdbout_begin_block, sdbout_end_block): Make
	static, update prototype.
	(sdb_debug_hooks): Update.
	* sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
	* toplev.c: Distinguish between xcoff and dbx.

	* f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
	Call all debug hooks, not just dwarf ones.

2001-07-11  Timothy Wall  <twall@redhat.com>

	* config.gcc: Add configuration for AIX5/IA64.
	* config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
	* config/ia64/crt[in].asm: New.  Generic static ctor/dtor
	support prefix/suffix code.
	* config/ia64/t-aix: New.  Makefile fragment.
	* config/ia64/unwind-aix.c: New.  Unwind table entry lookup.

2001-07-11  Kazu Hirata  <kazu@hxi.com>

	* recog.c (validate_change): Fix a comment typo.

2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
	* c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
	hooks directly.
	* dbxout.c (dbx_debug_hooks): Add new hooks.
	(dbxout_start_new_source_file): Rename dbxout_start_source_file,
	make static.
	(dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
	make static.
	* dbxout.h (dbxout_start_new_source_file,
	dbxout_resume_previous_source_file): Delete.
	* debug.c (do_nothing_debug_hooks): Add new hooks.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* debug.h (gcc_debug_hooks): New hooks define, undef,
	start_source_file and end_source_file.
	(debug_nothing_init_finish): Rename debug_nothing_file_charstar.
	(debug_nothing_int_charstar, debug_nothing_int): New.
	* dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
	the conditionally compiled section.
	(dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Make static.
	* dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
	dwarf2out_define, dwarf2out_undef): Remove.
	* dwarfout.c (dwarf_debug_hooks): Add new hooks.
	(dwarfout_start_source_file, dwarfout_end_source_file,
	dwarfout_define, dwarfout_undef): Make static.
	(dwarfout_start_source_file_check,
	dwarfout_end_source_file_check): New.
	(dwarfout_define, dwarfout_finish): Update.
	* dwarfout.h (dwarfout_start_new_source_file,
	dwarfout_resume_previous_source_file, dwarfout_define,
	dwarfout_undef): Remove.
	* sdbout.c (sdb_debug_hooks): Add new hooks.
	(sdbout_start_new_source_file): Rename sdbout_start_source_file,
	make static.
	(sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
	make static, take an arg.
	* sdbout.h (sdbout_start_new_source_file,
	sdbout_resume_previous_source_file): Delete.
	* toplev.c (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.
	* toplev.h (debug_start_source_file, debug_end_source_file,
	debug_define, debug_undef): Delete.

	* java/jcf-parse.c: Include debug.h.
	(parse_class_file): Update to use debug hooks directly.
	* java/Make-lang.in (jcf-parse.o): Depend on debug.h.

Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* alias.c (set_mem_alias_set): New function.
	* rtl.h (set_mem_alias_set): Declare it.
	* builtins.c (expand_builtin_return_addr): Call it instead of
	using MEM_ALIAS_SET accessor.
	(expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
	(get_memory_rtx, expand_builtin_va_arg): Likewise.
	(expand_builtin_va_copy):Likewise.
	* caller-save.c (setup_save_areas): Likewise.
	* calls.c (compute_argument_addresses): Likewise.
	* explow.c (set_mem_attributes): Likewise.
	* expr.c (emit_single_push_insn, emit_push_insn): Likewise.
	(expand_assignment, store_constructor_field, store_field): Likewise.
	(expand_expr_unaligned): Likewise.
	* function.c (assign_stack_temp_for_type): Likewise.
	(put_reg_into_stack, gen_mem_addressof): Likewise.
	* ifcvt.c (noce_try_cmove_arith): Likewise.
	* reload1.c (reload, alter_reg): Likewise.
	* config/alpha/alpha.c (get_aligned_mem): Likewise.
	(alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
	(alpha_expand_unaligned_store): Likewise
	(alpha_expand_unaligned_load_words): Likewise.
	(alpha_expand_unaligned_store_words): Likewise.
	(alpha_expand_block_clear, alpha_expand_prologue): Likewise.
	(alpha_expand_epilogue): Likewise.
	* config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
	* config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
	* config/i386/i386.c (legitimize_pic_address): Likewise.
	* config/i960/i960.c (setup_incoming_varargs): Likewise.
	* config/ia64/ia64.c (spill_restore_mem): Likewise.
	* config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
	* config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
	* config/mips/mips.c (mips_va_arg): Likewise.
	* config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
	* config/pa/pa.c (hppa_builtin_saveregs): Likewise.
	* config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
	(setup_incoming_varargs, rs6000_va_arg): Likewise.
	(rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
	(rs6000_emit_epilogue): Likewise.
	* config/sh/sh.c (sh_builtin_saveregs): Likewise.
	* config/sparc/sparc.c (sparc_va_arg): Likewise.
	* config/v850/v850.c (v850_va_arg): Likewise.

Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (merge_blocks_move_successor_nojumps): Do not crash
	when fallthru edge is present.
	(mege_blocks): Handle case where creation of jump insn
	is required.

	* basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
	CLEANUP_POST_REGSTACK): New constants.
	* except.c (finish_eh_generation): Update call of cleanup_cfg,
	* jump.c (rtx_renumbered_equal_p): Handle 't' fields.
	* output.h (cleanup_cfg): Update prototype.
	* reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
	* sibcall.c (optimize_sibling_and_tail_recursive_call): Update
	cleanup_cfg call; kill missleading comment.
	* toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
	* flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
	parameter; control optimizations performed using it.
	(flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
	try_crossjump_bb): New functions.

2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (pa_output_function_prologue): Delete prototype.  Make function
	extern.
	* pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
	pa_output_function_prologue.
	* pa-protos.h (pa_output_function_prologue): New prototype.

2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* stmt.c (emit_case_nodes): Widen high and low instead of new_bound
	and low to get correct sign extension in low+high test.

2001-07-11  Janis Johnson <janis@us.ibm.com>

	* gcov.c (arcdata): Use gcov_type to fix branch percentage
	for large hit count.

	* profile.c (branch_prob): Fix .bbg info for computed gotos
	and C++ EH code.

2001-07-11  Mark Mitchell  <mark@codesourcery.com>

	* stmt.c (parse_output_constraint): New function, split out
	from ...
	(expand_asm_operands): ... here.  Use parse_output_constraint.
	* tree.h (parse_output_constraint): Declare it.

2001-07-11  Richard Henderson  <rth@redhat.com>

	* bitmap.c: Comment some functions; fiddle whitespace.
	(bitmap_free): Don't export.
	(bitmap_element_allocate): Use memset.
	* bitmap.h (bitmap_free): Don't declare.

2001-07-11  Daniel Berlin  <dan@cgsoftware.com>

	* gcse.c, lcm.c, sched-deps.c:
	s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g

	* flow.c (flow_loops_find): Free dom if we found no loops, since
	we aren't going to save it.

	* lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
	done.

Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)

	* ssa-ccp.c (ssa_fast_dce): Free worklist when completed.

Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
	#ifndef DWARF2_DEBUGGING_INFO.

2001-07-11  Richard Sandiford  <rsandifo@redhat.com>

	* simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.

2001-07-11  Richard Sandiford  <rsandifo@redhat.com>

	* config/mips/mips.c (gen_int_relational): Tell the caller not to
	reverse a branch if a NE comparison is implemented with GTU.

2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
	    H.J. Lu  <hjl@gnu.org>

	* mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
	constant addresses.
	(call_internal2): Likewise.
	(call_value_internal1): Likewise.
	(call_value_internal2): Likewise.
	(call_value_multiple_internal1): Likewise.
	(call_value_multiple_internal2): Likewise.

2001-07-10  Kazu Hirata  <kazu@hxi.com>

	* calls.c (emit_library_call_value_1): Fix a comment typo.
	* dwarf2out.c (mem_loc_descriptor): Likewise.
	* config/i386/i386.c (ix86_expand_aligntest): Likewise.

2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>

	* simplify-rtx.c (simplify_subreg): Fix typo in comment

Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* recog.c (offsettable_address_p): Handle LO_SUM case.
	* config/mips/mips.c (double_memory_operand): Use adjust_address_nv
	instead of plus_constant.

2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
	fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.

Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
	adjust_address_nv instead of plus_constant.

2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
	dwarf2out.o): Depend on debug.h, wrap long lines.
	* dbxout.c: Include debug.h.
	(dbx_debug_hooks): New.
	(dbxout_init): Make static, take just 2 args.
	(dbxout_finish): Make static.
	* dbxout.h (dbxout_init, dbxout_finish): Delete.
	* debug.c: New file.
	* debug.h: New file.
	* dwarf2out.c: Include debug.h.
	(dwarf2_debug_hooks): New.
	(dwarf2out_init): Make static.
	(dwarf2out_finish): Make static, take 2 args.
	* dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
	* dwarfout.c: Include debug.h.
	(dwarf_debug_hooks): New.
	(dwarfout_init): Make static.
	(dwarfout_finish): Make static, take 2 args.
	* dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
	* sdbout.c: Include debug.h.
	(sdb_debug_hooks): New.
	(sdbout_init): Make static, take 2 args.
	* sdbout.h (sdbout_init): Delete.
	* toplev.c: Include debug.h.
	(debug_hooks): New.
	(compile_file): Set deubg_hooks based on command line options.
	Use the hooks unconditionally rather than conditional compilation.

Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)

	* ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
	first_insn_after_basic_block_note instead.

	* df.c (df_bb_refs_unlink): #if 0 out for now.

2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com

	* ssa.h: Add prototype for ssa_const_prop
	* ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
	(ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
	(ssa_fast_dce): Remove unused variable

2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* diagnostic.c (finish_diagnostic): Rename to
	diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
	calls thourghout.

2001-07-10  Jason Merrill  <jason_merrill@redhat.com>

	* dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
	.loc support.

	* collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
	(dump_file): Only pad the demangled name with spaces if the
	mangled name was padded with spaces.

2001-07-10  Bernd Schmidt  <bernds@redhat.com>

	* bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
	edge detection.

Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
	extraction if no direct load if either EXPAND_CONST_ADDRESS or
	EXPAND_INITIALIZER.

	* emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
	whether can put offset inside LO_SUM to check mode alignment, not size.

2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>

	* doc/tm.texi (Misc): Fix thinko.

2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>

	* regmove.c (replace_in_call_usage): Fix warnings.
	* sched-deps.c (add_dependence): Fix warnings.
	* simplify-rtx.c (simplify_subreg): Likewise.
	Return NULL_RTX instead of NULL.

	* reg-stack.c (emit_swap_insn): Eliminate warnings.
	(subst_asm_stack_regs): Likewise.

	* combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
	warnings.

	* dwarf2out.c (output_call_frame_info): Declare i as int.
	(build_abbrev_table): Declare n_alloc as int.
	(dwarf2out_finish): Initialize die.
	* except.c: Declare sjlj_funcdef_number as unsigned.
	(connect_post_landing_pads): Declare j as unsigned.
	(convert_to_eh_region_ranges): Initialize call_site.
	(output_function_exception_table): Initialize tt_format_size.
	* expr.c (move_by_pieces_1): Initialize to1.
	(store_constructor): Initialize minelt and maxelt.
	* flow.c (mark_regs_live_at_end): Declare i as unsigned.
	* function.c (instantiate_decls): Avoid signed/unsigned warning.

	* c-decl.c (combine_parm_decls): Unused, remove.
	* c-tree.h: Remove prototype for combine_parm_decls.

	* reload.c (push_reload): Fix warning.
	(regno_clobbered_p): Likewise.
	* reload1.c (replace_pseudos_in_call_usage): Likewise.
	(reload_combine): Likewise.

	* bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
	* bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
	warnings.
	* bitmap.c (bitmap_operation): Change user.
	* bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.

2001-07-10  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.c (override_options): Fix typo.

2001-07-09  Stan Shebs  <shebs@apple.com>

	* target.h (struct gcc_target): New fields init_builtins and
	expand_builtin.
	* target-def.h (TARGET_INIT_BUILTINS): New macro.
	(TARGET_EXPAND_BUILTIN): New macro.
	(TARGET_INITIALIZER): Add them.
	* builtins.c: Include target.h.
	(expand_builtin): Use targetm.expand_builtin.
	(default_init_builtins): New function.
	(default_expand_builtin): New function.
	* expr.h (default_init_builtins): Declare.
	(default_expand_builtin): Declare.
	* c-common.c (c_common_nodes_and_builtins): Use
	targetm.init_builtins.
	* defaults.h (MD_INIT_BUILTINS): Remove.
	* Makefile.in (builtins.o): Depend on target.h.

	* config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/arm/arm.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(c4x_init_builtins): Make endlink arg a local.
	(c4x_print_operand): Fix typos in adjust_address usages.
	* config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
	* config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	(ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
	(ix86_init_builtins): Call new function only if TARGET_MMX.
	* config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
	* config/i386/i386.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
	(TARGET_EXPAND_BUILTIN): Define.
	* config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
	(MD_EXPAND_BUILTIN): Remove.

	* doc/tm.texi: Document these changes.

2001-07-09  Diego Novillo  <dnovillo@redhat.com>

	* basic-block.h (tree_node): Forward declare if needed.
	(struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
	(BLOCK_HEAD_TREE): Define.
	(BLOCK_END_TREE): Define.
	(struct loops): Rename field 'tree' to 'tree_root'.
	* flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
	'end_tree'.
	(flow_loops_tree_build): Rename reference to field 'tree' to
	'tree_root'.
	(flow_loops_level_compute): Ditto.
	* predict.c (estimate_bb_frequencies): Ditto.
	* tree.h (struct tree_common): Add field 'aux'.

2001-07-09  Stan Shebs  <shebs@apple.com>

	* config/darwin.c (darwin_encode_section_info): Don't mark any
	DECL_EXTERNAL node as defined.

2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>

	* pa.c (pa_init_machine_status, pa_mark_machine_status,
	pa_free_machine_status, hppa_init_pic_save): Delete.
	(hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
	(hppa_profile_hook): Use hppa_pic_save_rtx.
	* pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
	hppa_init_pic_save): Delete.
	(hppa_pic_save_rtx): Declare.
	* pa.md (call, call_value, sibcall, sibcall_value,
	builtin_setjmp_receiver): Use hppa_pic_save_rtx.

2001-07-09  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
	* config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.

2001-07-09  Andreas Jaeger  <aj@suse.de>

	* output.h: Add declaration of final_forward_branch_p.

	* config/i386/i386.c (output_fix_trunc): Remove unused variable.

	* varray.c: Include errors.h for internal_error and trim_filename
	declarations.

	* Makefile.in (varray.o): Add errors.h.

2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>

	* expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
	* optabs.c (have_add2_insn): Check whether the add insn chosen
	really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
	* reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.

Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)

	* Makefile.in (OBJS): Add ssa-ccp.o
	(ssa-ccp.o): Add dependencies.
	* toplev.c (DFI_ssa_ccp): New dump file enum.
	(dump_file): Add entry for dumping after SSA CCP.
	(flag_ssa_ccp): New flag variable.
	(f_options): Add -fssa-ccp.
	(rest_of_compilation): Run SSA CCP if requested.
	* timevar.def (TV_SSA_CCP): New timevar.
	* ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
	* doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
	Fix minor typo in SSA DCE documentation.
	* doc/invoke.texi: Add documentation for new flag -fssa-ccp.
	Add documentation for new dump option.  Renumber dump files
	appropriately.

Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* emit-rtl.c (gen_highpart_mode): New.
	* rtl.h (gen_highpart_mode): Declare.
	* sparc.md (insn splitters): Use gen_highpart_mode, whenever the
	operand can be VOIDmode constant.

Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (redirect_edge_and_branch_force): New.
	(can_fallthru): Ensure that basic blocks are succeeding.
	(try_optimize_cfg): Do not delete basic block if it is the last one.

	* flow.c (try_redirect_by_replacing_jump): Do not remove
	jumps with side effects, unlink chain on fallthru edge;
	set block for new jump instruction; avoid basic block to
	over by line number note.

	* flow.c (try_simplify_condjump): Verify that the condjump
	is not always falling through.

	Re-install patch:
	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.

	* flow.c (forwarder_block_p): Fix for fallthru blocks.
	(try_redirect_by_replacing_jump): Update properly the count
	and frequency information.

Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (adjust_address, adjust_address_nv): Handle an
	address that is a LO_SUM specially.
	* explow.c (plus_constant_wide, case LO_SUM): Deleted.

	* c-lang.c (start_cdtor): Remove extra parameter from start_function.

	* emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
	(operand_subword): Use them.
	(change_address_1): Renamed from change_address; new arg VALIDATE.
	* expr.h: Reflect above changes; change_address now macro.
	* alias.c (canon_rtx): Use replace_equiv_address_nv instead of
	making MEM.
	* cselib.c (add_mem_for_addr): Likewise.
	* expr.c (protect_from_queue, emit_move_insn_1): Likewise.
	* regmove.c (try_apply_stack_adjustment): Likewise.
	* reload.c (push_reload, make_memloc): Likewise.
	* reload1.c (eliminate_regs): Likewise.
	* simplify-rtx.c (simplify_replace_rtx): Likewise.
	* caller-save.c (setup_save_areas): Use adjust_address_nv instead of
	adjust_addess.
	* combine.c (make_extraction, simplify_shift_const): Likewise.
	(gen_lowpart_for_combine): Likewise.
	* cse.c (gen_lowpart_if_possible): Likewise.
	* function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
	* expr.c (expand_expr, case COMPONENT_REF): Likewise.
	* optabs.c (gen_move_insn): Likewise.
	* reload1.c (alter_reg): Likewise.
	* simplify-rtx.c (simplify_subreg): Likewise.
	* stmt.c (expand_anon_union_decl): Likewise.
	* recog.c (validate_replace_rtx_1): Likewise.
	(expr.h): Include.
	* Makefile.in (recog.o): Add $(EXPR_H).
	* explow.c (stabilize): Call replace_equiv_address.
	* expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
	* final.c (alter_subreg): OFFSET is HOST_WIDE_INT.

2001-07-03  Andrew Haley  <aph@redhat.com>

	* expmed.c (store_fixed_bit_field): Don't use a mode bigger than
	the mode of the memory location.

2001-07-09  Bo Thorsen  <bo@suse.co.uk>

	* config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.

2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>

	* final.c (output_addr_const): Use target opening and
	closing parentheses.
	* target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
	defaults, add to TARGET_ASM_OUT.
	* target.h (struct gcc_target): Add open_paren and close_paren.
	* doc/md.texi: Update.
	* doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
	TARGET_ASM_CLOSE_PAREN.
	* config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
	Override.
	* config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
	Override.
	* config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
	* config/a29k/a29k.h: Similarly.
	* config/alpha/alpha.h: Similarly.
	* config/arc/arc.h: Similarly.
	* config/arm/aof.h: Similarly.
	* config/arm/aout.h: Similarly.
	* config/avr/avr.h: Similarly.
	* config/c4x/c4x.h: Similarly.
	* config/clipper/clipper.h: Similarly.
	* config/convex/convex.h: Similarly.
	* config/d30v/d30v.h: Similarly.
	* config/dsp16xx/dsp16xx.h: Similarly.
	* config/elxsi/elxsi.h: Similarly.
	* config/fr30/fr30.h: Similarly.
	* config/h8300/h8300.h: Similarly.
	* config/i370/i370.h: Similarly.
	* config/i386/i386.h: Similarly.
	* config/i860/i860.h: Similarly.
	* config/i960/i960.h: Similarly.
	* config/ia64/ia64.h: Similarly.
	* config/m32r/m32r.h: Similarly.
	* config/m68hc11/m68hc11.h: Similarly.
	* config/m68k/m68k.h: Similarly.
	* config/m88k/m88k.h: Similarly.
	* config/mcore/mcore.h: Similarly.
	* config/mips/mips.h: Similarly.
	* config/mn10200/mn10200.h: Similarly.
	* config/mn10300/mn10300.h: Similarly.
	* config/ns32k/ns32k.h: Similarly.
	* config/pa/pa.h: Similarly.
	* config/pdp11/pdp11.h: Similarly.
	* config/pj/pj.h: Similarly.
	* config/romp/romp.h: Similarly.
	* config/rs6000/rs6000.h: Similarly.
	* config/sh/sh.h: Similarly.
	* config/sparc/sparc.h: Similarly.
	* config/v850/v850.h: Similarly.
	* config/vax/vax.h: Similarly.
	* config/we32k/we32k.h: Similarly.

2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/c-tree.texi: Document representation of attributes.

2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/tm.texi: Update some places for the rename of target to
	targetm.  Fix typo.

2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* target.h (struct gcc_target): Add insert_attributes.
	* target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
	(TARGET_INITIALIZER): Update.
	* tree.c, tree.h (default_insert_attributes): New function.
	Update comments on other default functions to refer to targetm,
	not target.
	* doc/tm.texi (INSERT_ATTRIBUTES): Update to document
	TARGET_INSERT_ATTRIBUTES.
	(SET_DEFAULT_DECL_ATTRIBUTES): Remove.
	* c-common.c (decl_attributes): Use targetm.insert_attributes.
	Don't use PRAGMA_INSERT_ATTRIBUTES.
	* Makefile.in (c-common.o): Depend on $(TARGET_H).
	* c-decl.c (start_decl, start_function): Don't call
	SET_DEFAULT_DECL_ATTRIBUTES.
	* config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
	declare.
	* config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
	(c4x_check_attribute): Avoid modifying attribute list itself.
	(c4x_set_default_attributes): Rename to c4x_insert_attributes.
	Make static.
	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
	* config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
	declare.
	* config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
	(sh_pragma_insert_attributes): Rename to sh_insert_attributes.
	Make static.
	* config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
	* config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
	declare.
	* config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
	(v850_set_default_decl_attr): Rename to v850_insert_attributes.
	Adjust parameters.  Make static.

2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>

	* c-common.c (decl_attributes): Only take a single attributes
	parameter.
	* c-common.h (decl_attributes): Update prototype.
	* c-decl.c (start_decl, start_function): Only take a single
	attributes parameter.  Update calls to decl_attributes.
	(finish_struct, finish_enum): Update calls to decl_attributes.
	(push_parm_decl): Expect unified list of attributes.  Update call
	to decl_attributes.
	* c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
	notype_nested_function, component_declarator,
	component_notype_declarator, label): Update calls to
	decl_attributes.
	(absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
	lists that are passed to push_parm_decl.
	* c-tree.h (start_function, start_decl): Update prototypes.
	* config/sh/sh-protos.h, config/sh/sh.c
	(sh_pragma_insert_attributes): Only take a single attributes
	parameter.
	* config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
	* doc/tm.texi (INSERT_ATTRIBUTES): Update.
	* objc/objc-act.c (define_decl, generate_objc_symtab_decl,
	build_module_descriptor, generate_static_references,
	generate_strings, build_selector_translation_table,
	generate_descriptor_table, generate_protocols,
	generate_ivars_list, generate_dispatch_table,
	generate_protocol_list, generate_category,
	generate_shared_structures, really_start_method, add_objc_decls,
	generate_classref_translation_entry): Update calls to start_decl
	and start_function.
	(build_tmp_function_decl, start_method_def): Unify attribute lists
	that are passed to push_parm_decl.

2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>

	* final.c (no_asm_to_stream): New.
	(final_scan_insn): Use target structures for prologue ends
	and epilogue starts.
	* output.h (no_asm_to_stream): New.
	* target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
	TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
	(TARGET_ASM_OUT): Update.
	* target.h (struct gcc_target): New members function_end_prologue
	and function_begin_epilogue.
	* config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
	* config/alpha/alpha-protos.h (output_end_prologue): Delete.
	* config/alpha/alpha.c (output_end_prologue): Rename to
	alpha_output_function_end_prologue.  Use in target struct
	and make static.
	* config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
	* config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
	* config/ia64/ia64.c (ia64_output_end_prologue): Rename to
	ia64_output_function_end_prologue.  Use in target struct
	and make static.
	(ia64_function_prologue, ia64_funciton_epilogue): Rename
	mistyped prototypes.
	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
	* config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
	Delete.
	* config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
	an use in target struct, make static.
	* config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
	Delete.

2001-07-08  Richard Henderson  <rth@redhat.com>

	* stmt.c (emit_case_nodes): Convert modes properly in low+high test.

2001-07-08  Richard Henderson  <rth@redhat.com>

	* config/i386/i386.md: Remove constraints strings from define_split
	and define_peephole2 patterns.
	(eh_return_si, eh_return_di): Split eh_return_1 for modes.
	(eh_return): Use them.

2001-07-08  Richard Henderson  <rth@redhat.com>

	* doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
	Document MD_FALLBACK_FRAME_STATE_FOR.

2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
	Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
	elimination.
	* config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.

2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>

	* config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
	of the label inside NAME as opposed to just the end of NAME.

2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>

	* config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
	* config/alpha/alpha.c (alpha_init_machine_status,
	alpha_mark_machine_status, alpha_free_machine_status): Delete.
	(TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
	(vms_valid_decl_attribute_p): Make static, conditionally compile.
	* config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.

2001-07-06  Stan Shebs  <shebs@apple.com>

	* target.h (targetm): Rename global from "target", so as not to
	conflict with local variables.
	* c-decl.c: Ditto.
	* c-typeck.c: Ditto.
	* final.c: Ditto.
	* tree.c: Ditto.
	* cp/decl.c: Ditto.
	* cp/decl2.c: Ditto.
	* cp/typeck.c: Ditto.
	* 1750a/1750a.c: Ditto.
	* a29k/a29k.c: Ditto.
	* arc/arc.c: Ditto.
	* arm/arm.c: Ditto.
	* avr/avr.c: Ditto.
	* clipper/clipper.c: Ditto.
	* convex/convex.c: Ditto.
	* d30v/d30v.c: Ditto.
	* dsp16xx/dsp16xx.c: Ditto.
	* elxsi/elxsi.c: Ditto.
	* fr30/fr30.c: Ditto.
	* h8300/h8300.c: Ditto.
	* i370/i370.c: Ditto.
	* i386/i386.c: Ditto.
	* i860/i860.c: Ditto.
	* i960/i960.c: Ditto.
	* ia64/ia64.c: Ditto.
	* m32r/m32r.c: Ditto.
	* m68hc11/m68hc11.c: Ditto.
	* m68k/m68k.c: Ditto.
	* m88k/m88k.c: Ditto.
	* mips/mips.c: Ditto.
	* ns32k/ns32k.c: Ditto.
	* pa/pa.c: Ditto.
	* pdp11/pdp11.c: Ditto.
	* romp/romp.c: Ditto.
	* rs6000/rs6000.c: Ditto.
	* sh/sh.c: Ditto.
	* sparc/sparc.c: Ditto.
	* vax/vax.c: Ditto.
	* we32k/we32k.c: Ditto.
	* doc/tm.texi: Update the manual to match.

2001-07-06  Richard Henderson  <rth@redhat.com>

	* except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
	DWARF2_UNWIND_INFO not just whether it is defined.

2001-07-06  Diego Novillo  <dnovillo@redhat.com>

	* combine.c (combine_simplify_rtx): Also recompute 'mode' if the
	call to simplify_binary_operation returns a new pattern.

2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>

	* glimits.h (__SHRT_MAX__): New.
	(SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
	(SHRT_MAX): Define in terms of __SHRT_MAX__.

2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>

	* alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
	avoid warnings.

2001-07-06  Richard Henderson  <rth@redhat.com>

	* bitmap.c (bitmap_release_memory): Move adjacent to the
	allocation functions.
	(bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
	the implementation.  Binary search for the set bit.
	(bitmap_union_of_diff): Allocate the temporary on the stack
	instead of using xmalloc.

2001-07-06  Richard Henderson  <rth@redhat.com>

	* genrecog.c (validate_pattern): Warn for constraints in
	define_{expand,split,peephole2}.  Remove strict_low_part
	before looking up match_dup.

2001-07-06  DJ Delorie  <dj@redhat.com>

	* doc/gcc.texi (Makefile): Rename to be a more general purpose
	chapter about various build hints and history.  Add section
	talking about the various types of native and cross builds.

2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>

	* Makefile.in (final.o): Depend on target.h.
	* final.c: Include target.h.
	(default_function_pro_epilogue): New.
	(final_start_function): Use target structure for function prologues.
	(final_end_function): Use target structure for function epilogues.
	* fold-const.c (real_hex_to_f): Constify s and p.
	* output.h (default_function_pro_epilogue): New.
	* real.h (real_hex_to_f): Update prototype.
	* target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
	TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
	(TARGET_INITIALIZER): Update.
	* target.h (gcc_target): Add struct asm_out.
	* doc/tm.texi: Update.

config:
	Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
	TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
	in cpu/cpu.c, or rename old functions consistently.  Take
	a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
	redundant macros and prototypes.  Make new functions static.

	* 1750a/1750a.c: Similarly.
	* 1750a/1750a.h: Similarly.
	* a29k/a29k-protos.h: Similarly.
	* a29k/a29k.c: Similarly.
	* a29k/a29k.h: Similarly.
	* arc/arc-protos.h: Similarly.
	* arc/arc.c: Similarly.
	* arc/arc.h: Similarly.
	* arm/arm-protos.h: Similarly.
	* arm/arm.c: Similarly.
	* arm/arm.h: Similarly.
	* avr/avr-protos.h: Similarly.
	* avr/avr.c: Similarly.
	* avr/avr.h: Similarly.
	* clipper/clipper-protos.h: Similarly.
	* clipper/clipper.c: Similarly.
	* clipper/clipper.h: Similarly.
	* convex/convex.c: Similarly.
	* convex/convex.h: Similarly.
	* d30v/d30v-protos.h: Similarly.
	* d30v/d30v.c: Similarly.
	* d30v/d30v.h: Similarly.
	* d30v/d30v.md: Similarly.
	* dsp16xx/dsp16xx-protos.h: Similarly.
	* dsp16xx/dsp16xx.c: Similarly.
	* dsp16xx/dsp16xx.h: Similarly.
	* elxsi/elxsi.c: Similarly.
	* elxsi/elxsi.h: Similarly.
	* fr30/fr30.c: Similarly.
	* fr30/fr30.md: Similarly.
	* h8300/h8300-protos.h: Similarly.
	* h8300/h8300.c: Similarly.
	* h8300/h8300.h: Similarly.
	* i370/i370-protos.h: Similarly.
	* i370/i370.c: Similarly.
	* i370/i370.h: Similarly.
	* i386/i386.c: Similarly.
	* i386/osf1elf.h: Similarly.
	* i386/osfrose.h: Similarly.
	* i860/i860-protos.h: Similarly.
	* i860/i860.c: Similarly.
	* i860/i860.h: Similarly.
	* i960/i960-protos.h: Similarly.
	* i960/i960.c: Similarly.
	* i960/i960.h: Similarly.
	* ia64/ia64-protos.h: Similarly.
	* ia64/ia64.c: Similarly.
	* ia64/ia64.h: Similarly.
	* m32r/m32r-protos.h: Similarly.
	* m32r/m32r.c: Similarly.
	* m32r/m32r.h: Similarly.
	* m68hc11/m68hc11-protos.h: Similarly.
	* m68hc11/m68hc11.c: Similarly.
	* m68hc11/m68hc11.h: Similarly.
	* m68k/crds.h: Similarly.
	* m68k/dpx2.h: Similarly.
	* m68k/m68k-protos.h: Similarly.
	* m68k/m68k.c: Similarly.
	* m68k/m68k.h: Similarly.
	* m68k/news.h: Similarly.
	* m88k/m88k-protos.h: Similarly.
	* m88k/m88k.c: Similarly.
	* m88k/m88k.h: Similarly.
	* mips/mips-protos.h: Similarly.
	* mips/mips.c: Similarly.
	* mips/mips.h: Similarly.
	* ns32k/merlin.h: Similarly.
	* ns32k/ns32k.c: Similarly.
	* ns32k/ns32k.h: Similarly.
	* ns32k/tek6000.h: Similarly.
	* pa/pa-protos.h: Similarly.
	* pa/pa.c: Similarly.
	* pa/pa.h: Similarly.
	* pdp11/2bsd.h: Similarly.
	* pdp11/pdp11-protos.h: Similarly.
	* pdp11/pdp11.c: Similarly.
	* pdp11/pdp11.h: Similarly.
	* romp/romp-protos.h: Similarly.
	* romp/romp.c: Similarly.
	* romp/romp.h: Similarly.
	* rs6000/rs6000-protos.h: Similarly.
	* rs6000/rs6000.c: Similarly.
	* rs6000/rs6000.h: Similarly.
	* rs6000/sysv4.h: Similarly.
	* sh/sh-protos.h: Similarly.
	* sh/sh.c: Similarly.
	* sh/sh.h: Similarly.
	* sparc/sparc-protos.h: Similarly.
	* sparc/sparc.c: Similarly.
	* sparc/sparc.h: Similarly.
	* vax/vax.c: Similarly.
	* vax/vax.h: Similarly.
	* vax/vms.h: Similarly.
	* we32k/we32k.c: Similarly.
	* we32k/we32k.h: Similarly.

Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)

	* basic-block.h (first_insn_after_basic_block_note): Declare.
	* flow.c (first_insn_after_basic_block_note): Define.  Moved
	from...
	* ssa.c (first_insn_after_basic_block_note): Remove.
	* ssa-dce.c (find_inherently_necessary): Consider BARRIERs
	necessary.
	(ssa_eliminate_dead_code): Properly update the CFG and PHI
	nodes when we find a dead conditional branch.  Insert BARRIERs
	after any blocks with no successors, but which do not have
	any BARRIERs.

2001-07-06  Zack Weinberg  <zackw@stanford.edu>

	* varray.c (varray_check_failed): Use internal_error.

2001-07-05  Andrew Haley  <aph@redhat.com>

	* Makefile.in (LIB2_DIVMOD_FUNCS): New.
	(LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
	* mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.

2001-07-02  Jason Merrill  <jason_merrill@redhat.com>

	* dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
	reference if the target constant is also a SYMBOL_REF.

2001-07-05  Eric Christopher  <echristo@redhat.com>

	* config/mips/mips.h (MASK_MIPS3900): Remove.
	(MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
	MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
	(TARGET_MIPS3900): Change to use mips_arch.
	(TARGET_MIPS4000): New.
	(TARGET_MIPS4100): New.
	(TARGET_MIPS4300): New.
	(TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
	(SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
	for -mipsX.
	(GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
	(ISA_HAS_BRANCHLIKELY): To here.
	(CC1_CPU_SPEC):	 New.
	(CC1_SPEC): Use here.  Remove 4650 and 3900 options.
	(mips_arch_string): Declare.
	(mips_arch): Declare.
	(TARGET_OPTIONS): Add -march and -mtune.

	* config/mips/mips.c (mips_arch_string): New.
	(mips_arch): New.
	(override_options): Handle -march for codegen and -mtune
	for scheduling. Use mips_arch. Move tx39 target default here.
	(mips_parse_cpu): Move error message to override_options.

	* config/mips/r3900.h (TARGET_DEFAULT): Remove.

	* config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.

	* doc/invoke.texi (Option Summary): Add -march and -mtune entries.
	(MIPS Options): Ditto.	Change mcpu entry to historical text.

2001-07-05  H.J. Lu  (hjl@gnu.org)

	* config/mips/mips.c (mips_parse_cpu): New function to parse
	-march=*/-mcpu=*.

2001-07-05  Jim Wilson  <wilson@redhat.com>

	* config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
	* config/ia64/t-ia64: Likewise.
	(LIB1ASMFUNCS): Update comment.

2001-07-05  David Edelsohn  <edelsohn@gnu.org>

	* doc/install.texi (Install GCC: Binaries): Fix typo.

2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
	reference using the stack pointer, adjust it since we push Y
	temporarily.
	("*ashrsi3"): Likewise.
	("*lshrsi3"): Likewise.

2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>

	* config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
	when -fomit-frame-pointer is used.

2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>

	* flow.c: Reverse Jan Hubicka's patch of 02July2001.
	(try_redirect_by_replacing_jump): Reverse updating properly the
	count and frequency information.  Reverse removing cc0 setter.
	(forwarder_block_p): Reverse fixing for fallthru blocks.

2001-07-05  DJ Delorie  <dj@redhat.com>

	* gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
	(translate_options): If the above is defined, use it to map
	given options to new options.
	* doc/tm.texi: Document it.

2001-07-05  Brad Lucier <lucier@math.purdue.edu>
	    Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/invoke.texi (Optimize Options): Document that -fgcse may
	cause programs using computed gotos to run more slowly.

2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* doc/install.texi (Specific): Markup, spelling and typo fixes.
	Fixed sorting.
	Consistently require binutils 2.11.2, not prereleases.
	(Specific, decstation-*): Canonicalize as mips-dec-*.
	(Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
	always necessary.
	(Specific, m68k-altos): Removed reference to README.altos, deleted.
	(Specific, mips-*): Reword MIPS C compiler requirements.
	(Specific, powerpc*-*-*): New, mention --with-cpu once.
	(Specific, sunv5): Removed, obsolete.

2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>

	* dwarf2out.c (output_loc_list): Use an all ones mask for
	.text asm output and don't rely on long long
	literals. Reformat some long lines.

2001-07-05  Andreas Jaeger  <aj@suse.de>

	* doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
	section.

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

	* dwarf2out.c (dwarf2out_define): Update comment.
	(dwarf2out_undef): Ditto.
	(dwarf2out_start_source_file): Ditto.
	(dwarf2out_end_source_file): Ditto.
	(dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
	since we never call the start/end debug hook for the primary file.

2001-07-04  Kazu Hirata  <kazu@hxi.com>

	* config/h8300/h8300.c (get_shift_alg): Remove an extra operand
	from shll.

2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>

	* cppinit.c (remove_dup_dirs): Inform if a system include
	directory is being reordered.
	* doc/invoke.texi (Directory Options): GCC warns if you hide a
	system include.
	* doc/cpp.texi (Search Paths): Likewise.
	* doc/gcc.texi (Interoperation): Remove information about
	-I/usr/include.

2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>

	* varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
	(VARRAY_TOP_CHAR_PTR): Likewise.

2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* gcc.c (process_command): Don't assign elements of a const char*.

Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (change_address): Don't abort if invalid address while
	reload is in progress.

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

	* c-lex.c (cb_file_change): Pass line number to
	debug_start_source_file.
	(cb_undefine): Pass correct line number to debug_undef.

	* toplev.c (debug_start_source_file): Add line number to
	parameters. Pass it along to dwarf2out_start_source_file.
	(decode_g_option): Stop resetting debug level back to normal when
	we change debug formats, unless the current level is
	none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
	3).

	* toplev.h (debug_start_source_file): Add line number to
	parameters.

	* dwarf2out.h (dwarf2out_start_source_file): Add line number to
	parameters.

	* dwarf2out.c (dwarf2out_start_source_file): Add line number to
	parameters.
	Output debug_macinfo data for starting file if requested.
	(dwarf2out_end_source_file): Output debug_macinfo data for ending
	file if requested.
	(dwarf2out_define): Output debug_macinfo data for defining a macro
	if requested.
	(dwarf2out_undef): Output debug_macinfo data for undefining a
	macro if requested.
	(DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
	(DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
	(macinfo_section_label): New. DWARF2 macro info section label.
	(dwarf2out_init): If we want macro info, output the start label
	for the section.
	(dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
	attribute to the compilation unit die pointing to the macro info.

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

	* dwarf2out.c (new_loc_list): Move to inside #ifdef
	DWARF2_DEBUGGING_INFO.
	(add_loc_descr_to_loc_list): Ditto.
	(output_loc_list): Ditto.
	Also, fix thinko in curr not being initialized.
	(gen_internal_sym): Ditto.

Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (replace_equiv_address): New function.
	* expr.h (replace_equiv_address): New declaration.
	* explow.c (validize_mem): Call it instead of change_address and
	also call if -fforce-addr and address is constant.
	* expr.c: Replace more calls to change_address with adjust_address
	and/or replace_equiv_address or to validize_mem.
	* function.c, regmove.c, config/alpha/alpha.c: Likewise.
	* config/arm/arm.md, config/clipper/clipper.md: Likewise.
	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
	* config/i370/i370.md, config/i860/i860.md: Likewise.
	* config/i960/i960.md, config/mips/mips.c: Likewise.
	* config/mips/mips.md, config/pa/pa.md: Likewise.
	* config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
	* config/rs6000/rs6000.md, config/sh/sh.md: Likewise.

2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.

	* bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
	function.

2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/include: New directory.
	* doc/fdl.texi: Move to doc/include/fdl.texi.
	* doc/texinfo.tex: Move to doc/include/texinfo.tex.
	* doc/include/funding.texi, doc/include/gpl.texi: New files.
	* doc/gcc.texi: Use funding.texi and gpl.texi.
	* Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
	$(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
	Update dependencies and use -I $(docdir)/include.

2001-07-04  Anthony Green  <green@redhat.com>

	* config/v850/t-v850 (v850-c.o): Add missing dependencies.

2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (sparc64-*-*): Remove garbage.

Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>

	* i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
	Fix typo in last change to use adjust_address.

2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi (Specific): Update information for *-*-solaris*.

Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* explow.c (plus_constant_wide): Reinitialize Y for restart.

2001-07-03  Stan Shebs  <shebs@apple.com>

	* config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
	case for flag_no_mach_text_sections.
	(EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
	* config/darwin.c (flag_no_mach_text_sections): Remove.
	* config/darwin-protos.h (darwin_init_pragma): Remove decl.

Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* explow.c (plus_constant_wide, case PLUS): Call find_constant_term
	and avoid checking for constant as first operand.
	* recog.c (find_constant_term_loc): No longer static.
	(adj_offettable_operand): Delete.
	* rtl.h (adj_offsettable_operand): Delete declaration.
	(find_constant_term): Add declaration.
	* caller-save.c: Replace calls to adj_offsettable_operand with calls
	to adjust_address.
	* config/arm/arm.c, config/c4x/c4x.c: Likewise.
	* config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
	* config/i386/i386.c, config/i386/i386.md: Likewise.
	* config/i860/i860.c, config/i960/i960.c: Likewise.
	* config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
	* config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
	* config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
	* config/mips/mips.c, config/mips/mips.md: Likewise.
	* config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
	* config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
	* config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
	* config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
	* config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
	* config/ns32k/ns32k.md: Likewise.

2001-07-03  Zack Weinberg  <zackw@stanford.edu>

	* rtl.c (copy_rtx): Handle 'T' format letter.
	* gensupport.c (collect_insn_data): Likewise.
	* print-rtl.c (print_rtx): Print 'T' slots like 's'.

2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>

	* doc/invoke.texi (Directory Options): Specifiy range for <N> in
	-B option.  Use 'dir' not 'foo' as example directory name.

2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
	Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.

2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/cppinternals.texi: Improve formatting and logical markup.

2001-07-03  Andreas Jaeger  <aj@suse.de>

	* Makefile.in (insn-recog.o): Add dependency on reload.h.

	* genrecog.c (write_header): Include reload.h for prototypes in
	insn-recog.c.

2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>

config:
	* i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
	VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
	* i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
	i386_pe_valid_type_attribute_p): Add.
	* i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
	* i386/winnt.c (i386_valid_decl_attribute_p): Return directly.

Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* explow.c (plus_constant_wide, case LO_SUM): New case.
	(plus_constant_for_output_wide): Delete.
	* rtl.h (plus_constant_for_output): Delete.
	* alias.c (canon_rtx, init_alias_analysis): Call plus_constant
	instead of plus_constant_for_output.
	* recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
	* config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
	* config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
	* config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
	* config/sparc/sparc.md: Likewise.
	Convert some change_address calls to adjust_address.

2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>

	* doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
	doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
	documentation of -std and -Wwrite-strings.

2001-07-02  Geoffrey Keating  <geoffk@redhat.com>

	* cse.c (canon_hash): Don't register registers in very small
	register classes, as extending their lifetime might cause
	reload to fail.

Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>

	* flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.

	* flow.c (forwarder_block_p): Fix for fallthru blocks.
	(try_redirect_by_replacing_jump): Update properly the count
	and frequency information.

Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)

	* toplev.c (dump_file_index): Move SSA dumps just after first
	jump dump.
	(dump_file): Corresponding changes.
	(rest_of_compilation): Move SSA path to just after the first
	jump pass.
	* doc/gcc.texi (Passes): Update due to movement of SSA path.
	* doc/invoke.texi: Update dump file #s as they were completely
	out of date with reality.

2001-07-02  Geoffrey Keating  <geoffk@redhat.com>

	* doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.

	* expr.c (emit_move_insn_1): Deal with non-default
	STACK_PUSH_CODE.

	* expr.c (emit_single_push_insn): Fix warning.

2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>

	* expr.c (emit_move_insn_1): Avoid modifying
	cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.

Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* emit-rtl.c (adjust_address): New function.
	* expr.h (adjust_address): Add declaration.
	* builtins.c: Replace some calls to change_address with calls to it
	or to validize_mem.
	* caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
	* function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
	* config/arm/arm.c, config/convex/convex.c: Likewise.
	* config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
	* config/i386/i386.c, config/i386/i386.md: Likewise.
	* config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
	* config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
	* config/m88k/m88k.c, config/mips/mips.md: Likewise.
	* config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
	* config/sh/sh.c, config/sparc/sparc.md: Likewise.

2001-07-02  Jim Wilson  <wilson@redhat.com>

	* config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.

2001-07-02  Steve Ellcey  <sje@cup.hp.com>

	* config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
	* config/ia64/lib1funcs.asm: Change macro names to match t-ia64.

2001-07-02  Zack Weinberg  <zackw@stanford.edu>

	* cppinit.c (lang_defaults): New table.
	(set_lang): Just read from lang_defaults into the live options
	structure.

2001-07-02  Zack Weinberg  <zackw@stanford.edu>

	* Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
	* doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
	* doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.

2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* doc/install.texi: Various spelling and markup fixes.
	(Installing GCC): Component specific installation instructions are
	gone.
	Fix reference.
	Warn about removing old install dir in the presence of shared libs.
	(Configuration): Invoke with options target to match configure
	--help.
	Consistently refer to gas, gld pathnames.
	Invert --enable-multilib documentation.
	Remove references to old compiler versions.

Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.

2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
	section.
	(Specific, mips*-sgi-irix5): Note IDO download.
	Reworded MIPS C hints.
	Use GNU as instead of GAS.
	Markup fixes.
	Removed SGI Freeware reference, IRIX 6 only.
	(Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
	Note N64 library requirement/workaround.
	Update O32 hints.
	Complete list of structure passing bug victims.

2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>

	* doc/install.texi: Remove CVS Id.

2001-07-02  Andreas Jaeger  <aj@suse.de>

	* ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
	(find_inherently_necessary): Remove unused variable.

2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>

	* c-common.h (TDI_inlined): New ast dump phase.
	(dump_flag_name): New function.
	* c-dump.c (dump_files): Add inlined phase.
	(dump_flag_name): Define.
	* doc/invoke.texi (-fdump-ast-inlined): Document.

Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* stor-layout.c (layout_decl): Revert change to handling of alignment
	in packed types.

Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
	for FIELD_DECL.

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

	* doc/tm.texi (FUNCTION_ARG): Document that the last call
	is special.

2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>

	* tlink.c (recompile_files): Remove COMPILER_PATH and
	LIBRARY_PATH from the environment.

2001-07-01  Zack Weinberg  <zackw@stanford.edu>

	* c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
	RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
	enumerators.
	(OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.

	* c-parse.in (OBJC_STRING): Kill.
	(objc_string): Decompose to [objc_string] '@' STRING.
	(reswords): Take the leading '@' off all the Objective C keywords.
	(objc_rid_sans_at): Kill.
	(init_reswords): Don't initialize it.
	(yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
	(_yylex): Kill reconsider label.  Look ahead one token after
	an '@'; if we get an identifier, check whether it's an
	Objective C @-keyword.  If so, return the keyword.  Otherwise,
	put back the token and return the '@' as a terminal.

	* cpplib.c (lex_macro_node): Remove unnecessary check for
	leading '@' on identifier.  Clarify control flow and commentary.

Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* cse.c (new_label_ref): Variable deleted.
	(insert): Remove set of new_label_ref.
	(check_for_label_ref): New function.
	(cse_basic_block): Don't check new_label_ref; call check_for_label_ref.

See ChangeLog.5 for earlier changes.
