1. 02 Dec, 2001 1 commit
    • rtl.h (mem_attrs): Rename decl to expr; adjust all users. · 998d7deb
              * rtl.h (mem_attrs): Rename decl to expr; adjust all users.
              (MEM_EXPR): Rename from MEM_DECL; adjust all users.
              * emit-rtl.c (set_mem_expr): Rename from set_mem_decl.
              * expr.h, final.c, reload1.c: Adjust users.
      
              * alias.c (nonoverlapping_component_refs_p): New.
              (decl_for_component_ref, adjust_offset_for_component_ref): New.
              (nonoverlapping_memrefs_p): Use them.
              * emit-rtl.c (component_ref_for_mem_expr): New.
              (set_mem_attributes): Use it.
              (set_mem_offset): New.
              * expr.c (expand_assignment): Call set_mem_attributes for
              inner references; adjust the memory offset as needed.
              * print-rtl.c (print_mem_expr): New.
              (print_rtx): Use it.
      
      From-SVN: r47534
      Richard Henderson committed
  2. 27 Nov, 2001 1 commit
    • Makefile.in (c-lang.o): Depends on langhooks-def.h. · ac79cd5a
      	* Makefile.in (c-lang.o): Depends on langhooks-def.h.
      	(expr.o, varasm.o): Depends on langhooks.h.
      	* c-common.c (c_safe_from_p): Always declare.
      	(c_expand_expr): Refine when declared.
      	* c-lang.c (c-common.h): Now include.
      	(LANG_HOOKS_SAFE_FROM_P): Define new hook.
      	(c_init): Don't set lang_safe_from_expr.
      	* expr.c (langhooks.h): Now include.
      	(lang_safe_from_p): No longer define.
      	(safe_from_p): Use lang hook.
      	(expand_expr): Set IGNORE if VOID_TYPE result of VIEW_CONVERT_EXPR too.
      	(expand_expr, case VIEW_CONVERT_EXPR): Pass ro_modifier down.
      	* expr.h (lang_expand_constant, lang_safe_from_p): Delete.
      	* langhooks-def.h (lhd_return_tree, lhd_safe_from_p): New decls.
      	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
      	* langhooks.c (lhd_return_tree, lhd_safe_from_p): New functions.
      	* langhooks.h (struct lang_hooks): New fields expand_constant
      	and safe_from_p.
      	* output.h (output_constant): Size arg is HOST_WIDE_INT.
      	* stmt.c (expand_decl_init): No longer need to expand constant
      	for CONST_DECL.
      	* stor-layout.c (put_pending_size): Don't check for SAVE_EXPR.
      	* toplev.c (lang_expand_constant): Delete var.
      	* tree.c (save_expr): Don't put another SAVE_EXPR around simple
      	operations on SAVE_EXPR.
      	* varasm.c (langhooks.h): Now include.
      	(compare_constant_1): Use lang_hooks, not lang_expand_constant.
      	(record_constant_1, output_addressed_constants): Likewise.
      	(initializer_constant_valid_p, output_constant): Likewise.
      	(output_constant_def): Process no-defer of string constant.
      	(output_addressed_constants, case ADDR_EXPR): Use handled_component_p.
      	(output_constant): Strip more conversions.
      	Track our size and pad for the rest.
      	(array_size_for_constructor): Remove code for non-byte STRING_CST.
      	(output_constructor): SIZE now HOST_WIDE_INT.
      	* cp/Make-lang.in (cp-lang.o): Depends on c-common.h.
      	* cp/cp-lang.c (c-common.h): Include.
      	(LANG_HOOKS_EXPAND_CONSTANT, LANG_HOOKS_SAFE_FROM_P): New hooks.
      	* cp/decl.c (cxx_init_decl_processing): Don't set lang_safe_from_p.
      	* cp/expr.c (init_cplus_expand): Don't set lang_expand_constant.
      
      From-SVN: r47376
      Richard Kenner committed
  3. 15 Nov, 2001 1 commit
    • alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P. · a06ef755
      	* alias.c (nonoverlapping_memrefs): Use REGNO_PTR_FRAME_P.
      	* emit-rtl.c (change_address): Fix typo in default alignment.
      	(adjust_address_1): Use mode of NEW, not MODE, when setting size.
      	* expr.c (highest_pow2_factor, case WITH_RECORD_EXPR): New case.
      	* rtl.h (REGNO_PTR_FRAME_P): New macro.
      
      	* expr.c (store_field): Pass tree instead of max size; callers changed.
      	Change handling of alignment.
      	Only copy to_rtx if is TARGET.
      	(expand_expr_unaligned): Delete; callers now use expand_expr.
      	(emit_cmp_insn): No longer take ALIGN parm; all callers changed.
      	(expand_assignment): Change handling of alignment.
      	Only copy to_rtx if was original.
      	(get_inner_reference): No longer return alginment; callers changed.
      	(expand_expr, case COMPONENT_REF): Change handling of alignment.
      	(expand_expr, case ADDR_EXPR): Make copy if not sufficiently aligned.
      	(compare_from_rtx): Delete ALIGN parm; all callers changed.
      	(do_compare_rtx_and_jump): Likewise.
      	* expr.h: Reflect above changes.
      	* tree.h: Likewise.
      	* dwarf2out.c (loc_descriptor_from_tree): Remove ALIGN parameter
      	to get_inner_reference.
      	* except.c: Remove ALIGN parameter in call to emit_cmp_and_jump_insns.
      	* explow.c: Likewise.
      	* loop.c: Likewise.
      	* optabs.c: Likewise.
      	(prepare_cmp_insn): Now static; remove ALIGN parm.  Callers changed.
      	(emit_cmp_and_jump_insns): Remove ALIGN parm; all callers changed.
      	* fold-const.c: Remove PALIGN in calls to get_inner_reference.
      	* function.c (assign_stack_temp_for_type): No longer static.
      	* optabs.h (emit_cmp_insn): Remove ALIGN parm.
      	(prepare_cmp_insn): Delete declaration.
      	* rtl.h (assign_stack_temp_for_type): Add declaration.
      	* config/d30v/d30v.c: Reflect above changes.
      	* config/i860/i860.c, config/ia64/ia64.c: Likewise.
      	* config/rs6000/rs6000.c, config/sh/sh.c: Likewise.
      	* ada/trans.c, ada/utils2.c: Remove PALIGN parameter to
      	get_inner_reference.
      
      From-SVN: r47075
      Richard Kenner committed
  4. 13 Nov, 2001 1 commit
  5. 11 Nov, 2001 1 commit
    • expmed.c (extract_bit_field): No longer pass in alignment. · 04050c69
      	* 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.
      
      From-SVN: r46926
      Richard Kenner committed
  6. 03 Nov, 2001 1 commit
  7. 25 Oct, 2001 1 commit
    • alias.c (can_address_p): No longer static. · 10b76d73
      	* 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.
      
      From-SVN: r46487
      Richard Kenner committed
  8. 23 Oct, 2001 1 commit
    • alias.c (can_address_p): Compnonents are not addressable if the containing type has alias set 0. · 8ac61af7
      	* 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.
      	* cp/cp-lang.c (cxx_get_alias_set): New function.
      	Point LANG_HOOKS_GET_ALIAS_SET to it.
      	* f/com.c (LANG_HOOKS_GET_ALIAS_SET): New macro.
      	(lang_get_alias_set): Delete.
      	* java/lang.c (lang_get_alias_set): Deleted.
      
      From-SVN: r46440
      Richard Kenner committed
  9. 20 Oct, 2001 1 commit
  10. 18 Oct, 2001 1 commit
    • emit-rtl.c (gen_reg_rtx): Also reallocate reg_decl array. · 0d4903b8
      	* 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.
      
      From-SVN: r46337
      Richard Kenner committed
  11. 17 Oct, 2001 1 commit
    • Makefile.in (print-rtl.o): Depend on TREE_H. · 738cc472
      	* 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.
      	* 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.
      
      From-SVN: r46313
      Richard Kenner committed
  12. 09 Oct, 2001 1 commit
    • acconfig.h: Fix comment formatting. · 19eb1ad7
      	* 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.
      
      From-SVN: r46131
      Kazu Hirata committed
  13. 01 Oct, 2001 2 commits
    • alias.c (get_alias_set): Try to replace PLACEHOLDER_EXPR. · f47e9b4e
      	* 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.
      
      From-SVN: r45931
      Richard Kenner committed
    • function.c (keep_stack_depressed): Don't use delete_insn. · 173b24b9
      	* 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.
      
      From-SVN: r45922
      Richard Kenner committed
  14. 22 Aug, 2001 2 commits
    • Makefile.in, [...]: replace "GNU CC" with "GCC". · 1322177d
      	* 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".
      
      From-SVN: r45105
      Lars Brinkhoff committed
    • expmed.c (mode_for_extraction): New function. · da920570
      	* 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.
      
      From-SVN: r45086
      Zack Weinberg committed
  15. 21 Aug, 2001 1 commit
    • stmt.c: Don't include insn-codes.h. · ad82abb8
      	* 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.
      
      From-SVN: r45078
      Zack Weinberg committed
  16. 18 Aug, 2001 1 commit
    • optabs.h (OTI_flodiv, [...]): Kill. · ef89d648
      	* 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.
      
      From-SVN: r45008
      Zack Weinberg committed
  17. 13 Aug, 2001 1 commit
    • expr.h: Split out optab- and libfunc-related code to... · e78d8e51
      	* 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.
      
      cp:
      	* Make-lang.in (cp/except.o): Add libfuncs.h to dependencies.
      	* except.c: Include libfuncs.h.
      java:
      	* Make-lang.in (java/decl.o): Update dependencies.
      	* decl.c: Include libfuncs.h, don't include toplev.h.
      
      From-SVN: r44858
      Zack Weinberg committed
  18. 20 Jul, 2001 1 commit
    • rtlanal.c (set_noop_p): Return true for noop jumps. · 371b8fc0
      	* 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
      
      From-SVN: r44210
      Jan Hubicka committed
  19. 18 Jul, 2001 1 commit
  20. 10 Jul, 2001 1 commit
    • target.h (struct gcc_target): New fields init_builtins and expand_builtin. · f6155fda
      	* 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.
      
      From-SVN: r43888
      Stan Shebs committed
  21. 09 Jul, 2001 2 commits
    • expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn. · fb7e77d7
      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.
      
      From-SVN: r43874
      Toon Moene committed
    • [multiple changes] · f1ec5147
      Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
      
      	* 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-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.
      
      From-SVN: r43861
      Richard Kenner committed
  22. 04 Jul, 2001 1 commit
    • emit-rtl.c (replace_equiv_address): New function. · 792760b9
      	* 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.
      
      From-SVN: r43762
      Richard Kenner committed
  23. 02 Jul, 2001 1 commit
    • emit-rtl.c (adjust_address): New function. · f4ef873c
      	* 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.
      
      From-SVN: r43702
      Richard Kenner committed
  24. 14 Apr, 2001 1 commit
  25. 12 Apr, 2001 1 commit
    • c-common.h (truthvalue_conversion, [...]): Delete redundant declarations. · 20e50c62
      	* c-common.h (truthvalue_conversion, type_for_mode,
      	type_for_size): Delete redundant declarations.
      
      	* c-lex.h (is_class_name): Likewise.
      
      	* c-tree.h (pedantic, convert, getdecls, gettags,
      	global_bindings_p, init_decl_processing, insert_block,
      	maybe_build_cleanup, poplevel, print_lang_decl,
      	print_lang_identifier, print_lang_type, pushdecl, pushlevel,
      	set_block, incomplete_type_error, build_function_call,
      	lvalue_or_else, mark_addressable): Likewise.
      
      	* expr.h (expand_tree_builtin): Likewise.
      
      From-SVN: r41309
      Kaveh R. Ghazi committed
  26. 11 Apr, 2001 1 commit
    • Makefile.in (ifcvt.o): Depend on toplev.h. · d6684bc8
      	* Makefile.in (ifcvt.o): Depend on toplev.h.
      
      	* c-semantics.c: Include expr.h.
      
      	* ifcvt.c: Include toplev.h.
      
      	* expr.h (rtx_equal_p): Delete prototype.
      
      	* rtl.h (exact_log2_wide, floor_log2_wide, permalloc,
      	protect_from_queue, gen_jump, gen_beq, gen_bge, gen_ble,
      	eliminate_constant_term, expand_complex_abs, find_single_use,
      	make_tree, init_expr_once, init_optabs, supports_one_only):
      	Likewise.
      
      	* tree.h (exact_log2_wide, floor_log2_wide, expand_null_return,
      	rest_of_type_compilation, emit_queue, do_pending_stack_adjust,
      	expand_assignment, store_expr, emit_line_note_after,
      	emit_line_note_force, split_specs_attrs, label_rtx): Likewise.
      
      	* toplev.h (exact_log2_wide, floor_log2_wide): Add prototype.
      
      cp:
      	* Make-lang.in (cp/semantics.o): Depend on $(EXPR_H).
      
      	* semantics.c: Include expr.h.
      
      java:
      	* Make-lang.in (java/boehm.o): Depend on toplev.h.
      
      	* boehm.c: Include toplev.h.
      
      From-SVN: r41256
      Kaveh R. Ghazi committed
  27. 04 Apr, 2001 1 commit
  28. 28 Mar, 2001 1 commit
  29. 22 Mar, 2001 1 commit
    • mkconfig.sh: Include insn-flags.h. · 5e7f4a4a
      	* mkconfig.sh: Include insn-flags.h.
      	* Makefile.in (CONFIG_H): Include insn-flags.h.
      	(lots of objects): Remove insn-codes.h and insn-flags.h.
      
      	* alias.c, bb-reorder.c, calls.c, do-loop.c, flow.c, haifa-sched.c,
      	integrate.c, jump.c, loop.c, predict.c, profile.c, reg-stack.c,
      	regmove.c, reorg.c, a29k/a29k.c, alpha/alpha.c, arc/arc.c, arm/arm.c,
      	avr/avr.c, clipper/clipper.c, convex/convex.c, d30v/d30v.c,
      	dsp16xx/dsp16xx.c, fr30/fr30.c, h8300/h8300.c, i370/i370.c,
      	i386/i386.c, i860/i860.c, ia64/ia64.c, m32r/m32r.c, m68hc11/m68hc11.c,
      	m68k/m68k.c, m88k/m88k.c, mcore/mcore.c, mn10200/mn10200.c,
      	mn10300/mn10300.c, ns32k/ns32k.c, pa/pa.c, pdp11/pdp11.c,
      	pj/pj.c, romp/romp.c, rs6000/rs6000.c, sh/sh.c, sparc/sparc.c,
      	v850/v850.c, vax/vax.c:
      	Don't include insn-flags.h.
      
      	* diagnostic.c, expr.h, reload.c, toplev.c:
      	Don't include insn-codes.h.
      
      	* builtins.c, combine.c, except.c, explow.c, expmed.c, expr.c,
      	final.c, function.c, optabs.c, recog.c, reload1.c, stmt.c,
      	c4x/c4x.c, i960/i960.c, mips/mips.c:
      	Don't include insn-codes.h or insn-flags.h.
      
      	* genemit.c, genopinit.c, genoutput.c: Don't include insn-codes.h
      	or insn-flags.h in the generated code.
      	* genflags.c (gen_proto): Use "struct rtx_def *" instead of "rtx".
      	(main): Forward declare struct rtx_def.
      
      From-SVN: r40754
      Richard Henderson committed
  30. 21 Mar, 2001 1 commit
    • i386.md (pophi1, [...]): Remove. · 566aa174
      	* i386.md (pophi1, popqi1, pushqi1): Remove.
      
      	* expr.c (emit_single_push_insn): New function.
      	(move_by_pieces): Accept NULL as destination for push instructions.
      	(gen_push_operand): Kill.
      	(emit_push_insn): Pass NULL when pushing; avoid updating of
      	stack_pointer_delta.
      	* expr.h (gen_push_operand): Kill.
      
      From-SVN: r40686
      Jan Hubicka committed
  31. 03 Dec, 2000 1 commit
    • bb-reorder.c (reorder_basic_blocks): Don't check for EH edges unless exception… · 250d07b6
      bb-reorder.c (reorder_basic_blocks): Don't check for EH edges unless exception handling is enabled...
      
              * bb-reorder.c (reorder_basic_blocks): Don't check for EH edges
              unless exception handling is enabled, and if not using sjlj.
      
              * builtins.c (expand_builtin_setjmp_setup): New.
              (expand_builtin_setjmp_receiver): New.
              (expand_builtin_setjmp): Split out _setup and _receiver functions.
              Move argument parsing in from ...
              (expand_builtin): ... here.
              * except.c (receive_exception_label): Branch around receiver
              unless new-style exceptions.  Call expand_builtin_setjmp_receiver.
              (start_dynamic_handler): Call expand_builtin_setjmp_setup.
              * expr.h: Update builtin setjmp decls.
      
      From-SVN: r37982
      Richard Henderson committed
  32. 29 Nov, 2000 1 commit
    • expr.h (store_by_pieces): Add prototype. · 57814e5e
      	* expr.h (store_by_pieces): Add prototype.
      	(can_store_by_pieces): Likewise.
      	* expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
      	(can_store_by_pieces): New.
      	(store_by_pieces): New.
      	(clear_by_pieces): New.
      	(clear_by_pieces_1): New.
      	(store_by_pieces_1): Renamed from clear_by_pieces, handle storing
      	arbitrary compiler generated constants into memory block.
      	(store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
      	* builtins.c (c_readstr): New.
      	(builtin_memcpy_read_str): New.
      	(expand_builtin_memcpy): If src is string constant and
      	emit_block_move would move it by pieces, compute integer constants
      	from the string and store it into memory block instead.
      	(builtin_strncpy_read_str): New.
      	(expand_builtin_strncpy): If N is not constant zero and c_strlen does
      	not return INTEGER_CST, don't optimize.
      	If N is larger than strlen(src) + 1, try to copy the string
      	including padding with store_by_pieces.
      	(expand_builtin_strcmp): If both arguments have side effects, don't
      	optimize.
      	(expand_builtin_fputs): If STR has side effects, don't optimize.
      
      	* gcc.c-torture/execute/string-opt-5.c: Add some strcmp and strncpy
      	tests.
      	* gcc.c-torture/execute/string-opt-6.c: New test.
      
      From-SVN: r37851
      Jakub Jelinek committed
  33. 03 Nov, 2000 1 commit
  34. 01 Nov, 2000 1 commit
  35. 18 Oct, 2000 1 commit
  36. 17 Sep, 2000 2 commits
    • Bring back equal forms for libcalls · ebb1b59a
      From-SVN: r36469
      Bernd Schmidt committed
    • splay-tree.c (splay_tree_predecessor): Fix typo in comment. · 8f17b5c5
      	* splay-tree.c (splay_tree_predecessor): Fix typo in comment.
      
      	Convert the C front-end to use function-at-a-time mode.
      	* c-common.h: Include splay-tree.h.
      	(C_DECLARED_LABEL_FLAG): New macro.
      	(struct language_function): Add x_scope_stmt_stack and
      	x_function_name_declared_p.
      	(RECHAIN_STMTS): Move definition.
      	(lang_statment_code_p): Likewise.
      	(lang_expand_stmt): Likewise.
      	(lang_expand_decl_stmt): New variable.
      	(lang_expand_function_end): Likewise.
      	(current_scope_stmt_stack): New function.
      	(add_decl_stmt): Likewise.
      	(add_scope_stmt): Likewise.
      	(mark_stmt_tree): Likewise.
      	(struct c_lang_decl): New structure.
      	(DECL_SAVED_TREE): Define.
      	(c_mark_lang_decl): New function.
      	(c_expand_start_cond): Change prototype.
      	(c_finish_then): New function.
      	(c_finish_else): Likewise.
      	(current_function_name_declared): Remove.
      	(set_current_function_name_declared): Likewise.
      	(mark_c_language_function): Declare.
      	(case_compare): Likewise.
      	(c_add_case_label): Likewise.
      	(c_expand_expr): Likewise.
      	(c_safe_from_p): Likewise.
      	* c-common.c (lang_expand_function_end): New variable.
      	(struct if_elt): Add if_stmt.
      	(c_expand_start_cond): Add the if-statement to the statement-tree,
      	rather than generating RTL.
      	(c_finish_then): New function.
      	(c_expand_start_else): Don't generate RTL.
      	(c_finish_else): New function.
      	(c_expand_expr_stmt): Don't generate RTL.
      	(statement_code_p): Add SCOPE_STMT.
      	(case_compare): New function.
      	(c_add_case_label): Likewise.
      	(mark_stmt_tree): Likewise.
      	(c_mark_lang_decl): Likewise.
      	(mark_c_language_function): Likewise.
      	(c_expand_expr): Likewise.
      	(c_safe_from_p): Likewise.
      	* c-decl.c (c_stmt_tree): New variable
      	(c_scope_stmt_stack): Likewise.
      	(c_function_name_declared_p): Likewise.
      	(lang_expand_expr_stmt): Remove.
      	(poplevel): Don't call output_inline_function for nested
      	functions.
      	(pushdecl): Don't set DECL_CONTEXT for a local declaration of an
      	`extern' function.
      	(redeclaration_error_message): Change means of computing whether
      	or not a function is nested.
      	(lookup_label): Don't call label_rtx.
      	(init_decl_processing): Add more GC roots.
      	(start_decl): Add DECL_STMTs to the statement-tree, rather than
      	calling rest_of_decl_compilation.
      	(finish_decl): Don't call expand_decl.
      	(store_parm_decls): Begin the statement-tree, but don't generate
      	RTL.
      	(finish_function): Tie off the statement-tree.  Call c_expand_body
      	if appropriate.
      	(c_expand_body): New function.
      	(push_c_function_context): Save more information.
      	(pop_c_function_contxt): Likewise.
      	(copy_lang_decl): Now that we use DECL_LANG_SPECIFIC, copy it.
      	(lang_mark_tree): Mark it.
      	(current_stmt_tree): Adjust.
      	(current_scope_stmt_stack): New function.
      	(do_case): Remove.
      	(set_current_name_declared): Likewise.
      	(c_begin_compound_stmt): Define.
      	(c_expand_decl_stmt): Likewise.
      	* c-lang.c: Include rtl.h and expr.h.
      	(lang_init): Set more language-specific hooks.
      	* c-lex.c: Include expr.h.
      	* c-parse.in: Changes throughout to add statements to the
      	statement-tree, rather than generating RTL after every statement.
      	* c-semantics.c (lang_expand_decl_stmt): Define.
      	(add_decl_stmt): New function.
      	(add_scope_stmt): Likewise.
      	(finish_stmt_tree): Tweak.
      	(genrtl_expr_stmt): Likewise.
      	(genrtl_decl_stmt): Handle local labels, and call
      	lang_expand_decl_stmt if required.
      	(genrtl_for_stmt): Fix line-number handling.
      	(genrtl_case_label): Handle cleanups.
      	(genrtl_asm_stmt): Don't call combine_strings.
      	(genrtl_compound_stmt): Simplify.
      	(expand_stmt): Handle SCOPE_STMTs.
      	* c-tree.h (struct lang_decl): New structure.
      	(C_DECLARED_LABEL_FLAG): Remove.
      	(c_begin_compound_stmt): Declare.
      	(c_expand_decl_stmt): Likewise.
      	(c_expand_start_case): Rename to c_start_case.
      	(c_finish_case): New function.
      	* c-typeck.c (start_init): Tweak setting of
      	constructor_incremental.
      	(c_expand_asm_operands): Tweak error-handling.  Add to the
      	statement-tree.
      	(c_expand_return): Add to the statement-tree.
      	(c_expand_start_case): Rename to ...
      	(c_start_case): ... this.
      	(struct c_switch): New type.
      	(switch_stack): New variable.
      	(do_case): Simplify.
      	(c_finish_case): New function.
      	* dependence.c: Include expr.h.
      	(enum dependence_type): Change spelling of enumerals.
      	(check_node_dependence): Adjust.
      	* expr.h (lang_safe_from_p): Declare.
      	(safe_from_p): Likewise.
      	* expr.c (lang_safe_from_p): New variable.
      	(safe_from_p): Give it external linkage.  Use lang_safe_from_p.
      	* stmt.c (expand_expr_stmt): Avoid clobberring of last_expr_type.
      	* toplev.c (rest_of_decl_compilation): Robustify.
      	* tree.c (contains_placeholder_p): Likewise.
      	* Makefile.in: Update dependencies.
      	* objc/objc-act.h: Adjust calculation of value for dummy_tree_code.
      	* objc/objc-act.c: Include rtl.h, expr.h, and c-common.h.
      	(objc_expand_function_end): New function.
      	(finish_method_def): Use it.
      	(init_objc): Initialize more language-specific hooks.
      	* objc/Make-lang.in: Update dependencies.
      
      	* cp-tree.h (struct cp_language_function): Remove
      	x_scope_stmt_stack and name_declared.
      	(current_scope_stmt_stack): Remove.
      	(function_name_declared_p): New macro.
      	(struct lang_decl_flags): Use c_lang_decl as a base class.
      	(context): Remove.
      	(struct lang_decl): Replace saved_tree with context.
      	(DECL_FRIEND_CONTEXT): Adjust accordingly.
      	(SET_DECL_FRIEND_CONTEXT): Likewise.
      	(DECL_VIRTUAL_CONTEXT): Likewise.
      	(DECL_SAVED_TREE): Remove.
      	(C_DECLARED_LABEL_FLAG): Likewise.
      	(cplus_expand_expr_stmt): Don't declare.
      	(add_decl_stmt): Likewise.
      	(add_scope_stmt): Likewise.
      	* decl.c (mark_stmt_tree): Remove.
      	(case_compare): Likewise.
      	(finish_case_label): Use c_add_case_label.
      	(init_decl_processing): Set more language-specific hooks.
      	(build_enumerator): Fix typo in comment.
      	(cplus_expand_expr_stmt): Remove.
      	(mark_lang_function): Use mark_c_language_function.
      	(lang_mark_tree): Use c_mark_lang_decl.
      	* decl2.c: Change order of inclusion.
      	* except.c: Likewise.
      	* expr.c (cplus_expand_expr): Remove handling of STMT_EXPR.  Fall
      	back on c_expand_expr.
      	* friend.c: Include expr.h.
      	* init.c: Change order of inclusion.
      	* Makefile.in: Update dependencies.
      	* lex.h (free_lang_decl_chain): Remove.
      	* optimize.c (maybe_clone_body): Use function_name_declared_p.
      	* pt.c (build_template_decl): Don't copy DECL_VIRTUAL_CONTEXT if
      	it doesn't exist.
      	(instantiate_decl): Use function_name_declared_p.
      	* semantics.c (lang_expand_expr_stmt): Remove.
      	(set_current_function_name_declared): Likewise.
      	(current_function_name_declared): Likewise.
      	(begin_compound_stmt): Use function_name_declared_p.
      	(add_decl_stmt): Remove.
      	(setup_vtbl_ptr): Use function_name_declared_p.
      	(add_scope_stmt): Remove.
      	(current_scope_stmt_stack): New function.
      	(cp_expand_stmt): Don't handle SCOPE_STMTs.
      	(expand_body): Use function_name_declared_p.
      	* tree.c (cp_statement_code_p): Don't include SCOPE_STMT.
      	* typeck.c: Change order of includes.
      	(convert_sequence): Remove.
      
      From-SVN: r36464
      Mark Mitchell committed