+2000-10-18 Chandrakala Chavva <cchavva@redhat.com>
+
+ * expmed.c (expand_mult): Don't do synth_mult optimization for -ftrapv.
+ Use smulv_optab for -ftrapv.
+ (expand_mult_highpart): Use unsigned multiply.
+ (expand_divmod): Special-case division by -1.
+ For EXACT_DIV_EXPR, do right shift first, then the multiply.
+ For complex divide, use abs with unsigned result.
+ * expr.c (force_operand): Use unsigned multiply.
+ (expand_expr): Use overflow-trapping optabs for signed types if
+ flag_trapv.
+ If flag_trapv, don't generate a recursive call with EXPAND_SUM
+ if the type is signed and the original call wasn't EXPAND_SUM or
+ EXPAND_INITIALIZER.
+ * expr.h (addv_optab, subv_optab, smulv_optab, sdivv_optab): Declare.
+ (negv_optab, absv_optab): Declare.
+ * flags.h (flag_trapv): Declare.
+ * genopinit.c (optabs): Add entries for addv_optab, subv_optab,
+ smulv_optab, sdivv_optab, negv_optab and absv_optab.
+ (gen_insn): Interpret '$P' as requiring an integer mode,
+ including partial integer modes.
+ * loop.c (emit_iv_add_mult): Use unsigned expand_mult_add.
+ (product_cheap_p): Use unsigned expand_mult.
+ * optabs.c (addv_optab, subv_optab, smulv_optab, sdivv_optab): Define.
+ (negv_optab, absv_optab): Define.
+ (expand_binop): Use overflow-trapping optabs for signed types if
+ flag_trapv.
+ Handle negv_optab libe neg_optab.
+ (expand_abs): Take result_unsignedp argument instead of unsignedp one.
+ Use overflow-trapping optabs for signed result if flag_trapv.
+ (expand_complex_abs): Use overflow-trapping optabs for signed types if
+ flag_trapv.
+ Don't open-code complex absolute-value operation for flag_trapv.
+ (init_optabs): Initialize addv_optab, subv_optab, smulv_optab,
+ sdivv_optab, negv_optab and absv_optab.
+ * toplev.c (flag_trapv): Define.
+ (lang_independent_options f_options): Include flag_trapv.
+ * tree.h (TYPE_TRAP_SIGNED): Define.
+ * libgcc2.c (__addvsi3, __addvdi3, __subvsi3,__subvsi3, __subvdi3,
+ __mulvsi3, __negvsi2, __negvdi2, __absvsi2, __absvdi2, __mulvdi3):
+ New functions.
+ * Makefile.in: add _absvsi2 _absvdi2 _addvsi3 _addvdi3 _subvsi3
+ _subvdi3 _mulvsi3 _mulvdi3 _negvsi2 _negvdi2.
+
+2000-10-18 Geoffrey Keating <geoffk@cygnus.com>
+ David V. Henkel-Wallace <gumby@cygnus.com>
+
+ * config/i386/t-netware: Bring in from the Red Hat tree.
+ * config/i386/netware.h: Likewise.
+ * config/netware.h: Likewise.
+ * config/rs6000/netware.h: Delete.
+ * configure.in: Add i[34567]86-*-netware.
+ * configure: Hand-edit to match configure.in change.
+
+2000-10-18 Mark Mitchell <mark@codesourcery.com>
+
+ * c-common.h (flag_no_builtin): Declare.
+ (flag_no_nonansi_builtin): Likewise.
+ (c_common_nodes_and_builtins): Change prototype.
+ * c-common.c (flag_no_builtin): New variable.
+ (flag_no_nonansi_builtin): Likewise.
+ (c_common_nodes_and_builtins): Remove parameters. Adjust
+ accordingly.
+ * c-decl.c (flag_no_builtin): Remove.
+ (flag_no_nonansi_builtin): Likewise.
+ (init_decl_processing): Adjust call to
+ c_common_nodes_and_builtins.
+
+2000-10-18 Marc Espie <espie@openbsd.org>
+
+ * tm.texi (LIBGCC_SPEC): Synch with reality.
+
+2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (check_format_types): Check for writing through a
+ NULL pointer argument.
+
+2000-10-18 Hans-Peter Nilsson <hp@axis.com>
+
+ * tm.texi (Exception Region Output): Document
+ DWARF_CIE_DATA_ALIGNMENT.
+ * dwarf2out.c (DWARF_CIE_DATA_ALIGNMENT): Wrap definition in
+ #ifndef.
+ [ENABLE_CHECKING] (reg_save): Abort if offset is not a multiple of
+ DWARF_CIE_DATA_ALIGNMENT.
+
+2000-10-18 Michael Hayes <mhayes@cygnus.com>
+
+ * basic-block.h (struct loop): Delete fields pre_header_root
+ and pre_header_trace and replace with pre_header_edges
+ and num_pre_header_edges.
+ * flow.c (flow_loop_dump): Dump pre_header_edges.
+ (flow_loops_free): Free pre_header_edges.
+ (flow_loop_pre_header_scan): Calculate pre_header_edges.
+
+2000-10-18 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * contrib.texi: Update references to steering committee members
+ and Jeff Law's entry.
+
+2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (CPLUSPLUS_STD_VER, C_STD_VER, C_STD_NAME): Define.
+ (maybe_read_dollar_number, check_format_info_main): Use them for
+ pedantic warning messages.
+
+2000-10-18 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (check_format_info_main): Minor cleanup: move
+ variables into inner scopes; initialize declarations where
+ appropriate; don't hardcode "scanf" name on warning for zero
+ width.
+
+2000-10-17 Mark Mitchell <mark@codesourcery.com>
+
+ * c-common.c (back_end_hook): New variable.
+ * c-common.h (back_end_hook): Declare it.
+ * c-lang.c (finish_file): Use it.
+
+ * emit-rtl.c (init_emit_once): Initialize the const_int_htab
+ earlier.
+
+2000-10-18 Jan Hubikca <jh@suse.cz>
+
+ * i386.c (ix86_comparison_operator, put_condition_code,
+ ix86_match_ccmode, ix86_cc_mode): Handle CCRCmode.
+ (ix86_expand_strlensi_unroll_1): Use CCRCmode.
+ * i386.h (EXTRA_CC_MODES): Add CCRCmode.
+ * i386.md (adddi and negdi splitter): Use CCRCmode.
+ (add?i_3, add?i_4, add?i_5): Use CCRCmode; swap operands
+ (subsi3_carry): add '*'
+ (addsi3_carry_rc, subsi3_carry_rc, x86_movsicc_0_m1_rc): New.
+ (cmp to add peep2): Use CCRCmode; swap operands.
+
+2000-10-18 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.c: Fix a comment typo.
+ (round_frame_size): New.
+ (compute_saved_regs): Likewise.
+ (push): Likewise.
+ (pop): Likewise.
+ (push_order): Remove.
+ (pop_order): Likewise.
+ (function_prologue): Rearrange code for readability.
+ (function_epilogue): Likewise.
+
+ * config/h8300/h8300.md: Remove an unnecessary sign_extend
+ expander that is used when not optimizing. Output a tab after
+ each assembly insns.
+
+ * reorg.c: Fix formatting.
+
+2000-10-17 Joern Rennecke <amylaar@redhat.co.uk>
+
+ * reload1.c (move2add_note_store): Check for simple
+ auto-inc in destination.
+
+2000-10-17 Michael Chastain <chastain@redhat.com>
+
+ * config/i386/i386-aout.h: define INT_ASM_OP.
+
+Tue Oct 17 20:11:08 2000 Alan Modra <alan@linuxcare.com.au>
+
+ * pa.c (print_operand): Handle case 'c' for .vtable_inherit
+
+Tue Oct 17 20:05:51 2000 Martin Buchholz <martin@xemacs.org>
+
+ * i370.md: Fix spelling typo.
+
+2000-10-17 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * function.c (locate_and_pad_parm): Don't align stack unconditionally.
+ Fixes execute/20001017-1.c on powerpc-linux-gnu.
+
+ * expr.c (store_constructor): Apply MEM_ALIAS_SET to MEMs only.
+ * rs6000/rs6000.c (rs6000_hash_constant): Use X0INT to access a
+ LABEL_REF.
+
+ * rs6000/rs6000.h (NO_DOLLAR_IN_LABEL, DOLLARS_IN_IDENTIFIERS,
+ ENCODE_SECTION_INFO, ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Move from
+ here...
+ * rs6000/aix.h: ...to here.
+ * rs6000/linux.h (ASM_APP_ON, ASM_APP_OFF): Define to Linux-style.
+
+2000-10-17 Jakub Jelinek <jakub@redhat.com>
+
+ * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Reload gp if needed.
+
+ * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Always use call, make
+ sure linker can relax even the delay slot mov %g1,%o7, fix output
+ formating.
+
+2000-10-17 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md: Remove an unnecessary zero_extend
+ expander that is used when not optimizing. Output a tab after
+ each assembly insns.
+
+2000-10-17 Chandrakala Chavva <cchavva@redhat.com>
+
+ * gcc.c: New options --target-help.
+ (process_command): Added code to parse this new option.
+ * toplev.c (display_target_options): New function to support the
+ above new option.
+ * cppinit.c (new_pending_directive) : New option OPT_target__help.
+ (cpp_handle_option): Support this new option.
+ * invoke.texi: Added notes about --target-help option.
+
+2000-10-17 Graham Stott <grahams@redhat.com>
+
+ * config/i386/i386.md (testqi_1): Add missing operand prefix
+ for operand 0.
+ * config/i386/i386-protos.h: Add missing prototype.
+
+2000-10-17 Diego Novillo <dnovillo@cygnus.com>
+
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Symbol
+ _GLOBAL_OFFSET_TABLE should not have a $ prefix when
+ using -mintel-syntax.
+
+2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (FMT_FLAG_DOLLAR_MULTIPLE): Define.
+ (format_types): Use it for printf.
+ (maybe_read_dollar_number): Add parameter for the kind of format
+ involved. Warn for multiple use for arguments if this is
+ inappropriate for the kind of format involved.
+ (check_format_info_main): Update calls to maybe_read_dollar_number.
+
+2000-10-17 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * inclhack.def (hpux_maxint): Also apply fix to values.h.
+ * fixincl.x: Rebuilt.
+
+2000-10-17 Alexandre Oliva <aoliva@redhat.com>
+
+ * genrecog.c (write_switch): Return the first condition that needs a
+ label.
+
+2000-10-17 Bernd Schmidt <bernds@redhat.co.uk>
+
+ * c-tree.h (warn_sequence_point): Move declaration to...
+ * c-common.h (warn_sequence_point): ... here.
+ * c-decl.c (warn_sequence_point): Move definition to...
+ * c-common.c (warn_sequence_point): ... here.
+ (struct reverse_tree): New.
+ (reverse_list, reverse_max_depth): New static variables.
+ (build_reverse_tree, common_ancestor, modify_ok
+ verify_sequence_points): New functions.
+ (c_expand_expr_stmt): Call verify_sequence_points if -Wsequence-point.
+ * c-typeck.c (check_modify_expr): Delete.
+ (build_modify_expr): Don't call it.
+
+2000-10-17 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.h (warn_missing_format_attribute): New variable.
+ * c-decl.c (warn_missing_format_attribute): New variable.
+ (c_decode_option): Decode -Wmissing-format-attribute and
+ -Wno-missing-format-attribute.
+ * c-common.c (check_function_format): If
+ -Wmissing-format-attribute, give a warning where a vprintf or
+ vscanf function is called by a function without its own printf or
+ scanf attribute.
+ * toplev.c (documented_lang_options): Add
+ -Wmissing-format-attribute.
+ * invoke.texi: Document -Wmissing-format-attribute.
+
+2000-10-17 Marc Espie <espie@openbsd.org>
+
+ * invoke.texi (-shared): Insist on requiring code generation flags
+ to be used along with -shared, and document the subtle failure that
+ may occur otherwise.
+
+2000-10-16 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * pa.md (return_internal): Move `use' after `return'.
+
+2000-10-16 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+ * machmode.def: Correct comment.
+
+2000-10-16 Rodney Brown <RodneyBrown@mynd.com>
+
+ * print-rtl.c (print_rtx_head): Constify.
+ * rtl.h (print_rtx_head): Similarly.
+
+ * config/pa/pa/pa-protos.h (output_64bit_and, output_64bit_ior):
+ Constify char * return value.
+ * config/pa/pa/pa.c
+ (output_64bit_and, output_64bit_ior): Constify char * return value.
+ (pa_can_combine_p): Make static.
+ (function_arg): Decorate unused `named' argument. Fix comment typo.
+ (function_arg_partial_nregs): Decorate unused `named' argument.
+
+2000-10-16 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (format_check_results): New structure.
+ (finish_dollar_format_checking): Adjust to take a
+ format_check_results * parameter.
+ (check_format_info, check_format_info_recurse,
+ check_format_info_main): Split check_format_info into three
+ functions, the main checking going in check_format_info_main.
+ Recurse when any reduction of the format string argument towards a
+ string literal is done; go down both branches of a conditional
+ expression. Don't warn for extra format arguments or empty format
+ strings if they only occur in some branches of a conditional
+ expression.
+
+2000-10-16 Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.c: Remove obstack. Include ggc.h.
+
+2000-10-16 Jakub Jelinek <jakub@redhat.com>
+
+ * rtlanal.c (may_trap_p): Check operand modes of COMPARE.
+
+2000-10-15 Diego Novillo <dnovillo@cygnus.com>
+
+ * i386.md (*movsi_or): Switch operand order for intel syntax.
+
+2000-10-14 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * PROBLEMS: Remove.
+
+ * gcc.texi (Contributing): Update.
+
+2000-10-13 Diego Novillo <dnovillo@cygnus.com>
+
+ * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Output final jump using
+ appropriate assembler dialect.
+
+2000-10-13 Alexandre Oliva <aoliva@redhat.com>
+
+ * c-common.c (c_expand_builtin): PARAMS-ize prototype.
+
+2000-10-12 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * config/avr/avr.c (output_movhi, output_movsisf): Fix loading
+ constants 1 and 2 to NO_LD_REGS.
+
+2000-10-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * Makefile.in (c-parse.c, tradcif.c): Create atomically.
+
+ * objc/Make-lang.in (objc-parse.c): Likewise.
+
+2000-10-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c: Include obstack.h
+ (minipool_obstack, minipool_startobj): Define.
+ (arm_add_gc_roots): Initialize them.
+ (create_fix_barrier): Use our new obstack.
+ (push_minipool_barrier, push_minipool_fix): Likewise.
+ (arm_reorg): Release obstack memory.
+
+2000-10-13 Jakub Jelinek <jakub@redhat.com>
+
+ * config/sparc/sparc.md (nonlocal_goto_receiver): Remove.
+ (prologue, exception_receiver, builtin_setjmp_receiver): New
+ patterns.
+ * config/sparc/sparc.h (FINALIZE_PIC): Remove.
+ * config/sparc/sparc-protos.h (finalize_pic): Remove.
+ (load_pic_register): New prototype.
+ * config/sparc/sparc.c (pic_setup_code): Remove.
+ (finalize_pic): Rename to...
+ (load_pic_register): ...this function.
+ Don't look for nonlocal_goto_receivers and emit pic setup code
+ directly. Don't check current_function_uses_pic_offset_table.
+
+2000-10-13 Richard Earnshaw <rearnsha@arm.com>
+
+ * tree.h (struct obstack): Declare.
+
+2000-10-12 Mark Mitchell <mark@codesourcery.com>
+
+ Remove obstacks.
+ * Makefile.in (ggc-callbacks.o): Remove target.
+ (flow.o): Depend on GGC_H.
+ * alias.c (init_alias_analysis):
+ Remove ggc_p conditionals.
+ (end_alias_analysis): Likewise.
+ * basic-block.h (init_flow): New function.
+ (allocate_reg_life_data): Declare.
+ * bb-reorder.c (function_obstack): Replace with ...
+ (flow_obstack): ... new variable.
+ (fixup_reorder_chain): Use it.
+ * c-decl.c (ggc_p): Remove.
+ (caller-save.c): Don't call oballoc/obfree.
+ * combine.c (struct
+ undobuf): Remove storage.
+ (try_combine): Don't call oballoc.
+ (undo_all): Don't call obfree.
+ * cse.c (insert): Use xmalloc, not
+ oballoc.
+ (cse_main): Adjust accordingly.
+ * dwarf2out.c (save_rtx): Remove
+ obstack code.
+ (dwarf2out_init): Remove ggc_p conditionals.
+ * emit-rtl.c (rtl_obstack): Remove.
+ (gen_rtx_CONST_INT): Remove ggc_p conditionals.
+ (make_insn_raw): Likewise.
+ (emit_insn_before): Likewise.
+ (emit_insn_after): Likewise.
+ (emit_insn): Likewise.
+ (gen_sequence): Likewise.
+ (copy_insn_1): Remove handling of `b' RTL components.
+ (init_emit_once): Remove ggc_p conditionals.
+ * except.c (create_rethrow_ref): Don't fool with obstacks.
+ (add_partial_entry): Likewise.
+ (call_get_eh_context): Likewise.
+ (begin_protect_partials): Likewise.
+ (protect_with_terminate): Likewise.
+ * explow.c
+ (plus_constant_wide): Likewise.
+ * expr.c (init_expr_once):
+ Likewise.
+ (emit_block_move): Likewise.
+ (clear_storage): Likewise.
+ (expand_expr): Likewise.
+ * flow.c (function_obstack): Remove.
+ (flow_obstack): New variable.
+ (flow_firstobj): Likewise.
+ (create_base_block): Use the flow_obstack.
+ (split_block): Likewise.
+ (split_edge): Likewise.
+ (calculate_global_regs_live): Likewise.
+ (allocate_bb_life_data): Make it static. Likewiwse.
+ (init_flow): New function.
+ (size_int_type_wide): Remove ggc_p conditionals.
+ * function.c
+ (push_function_context_to): Don't call save_tree_status.
+ (pop_function_context_from): Or restore_tree_status.
+ (assign_stack_local_1): Don't call push_obstacks.
+ (find_fixup_replacement): Use xmalloc.
+ (fixup_var_refs_insns): Free the storage.
+ (insns_for_mem_walk): Don't mess with obstacks.
+ (instantiate_decls): Likewise.
+ (trampoline_address): Likewise.
+ (expand_function_end): Likewise.
+ * function.h (sturct function):
+ Remove obstack-related variables.
+ (save_tree_status): Don't declare.
+ (restore_tree_status): Likewise.
+ * gcse.c (compute_can_copy):
+ Don't call oballoc/obfree.
+ * genattrtab.c (operate_exp): Remove
+ ggc_p conditionals.
+ (simplify_cond): Likewise.
+ (simplify_test_exp): Don't mess with obstacks.
+ (optimize_attrs): Likewise.
+ * gengenrtl.c (gendef): Don't include
+ ggc_p conditionals.
+ * ggc-callbacks.c (ggc_p): Remove.
+ * ggc-none.c (ggc_p): Remove.
+ * ggc.h (ggc_p): Don't declare.
+ * integrate.c (save_for_inline): Don't mess with obstacks.
+ (integrate_decl_tree): Likewise.
+ (output_inline_function): Likewise.
+ * lists.c
+ (init_EXPR_INSN_LIST_cache): Likewise.
+ * loop.c (temp_obstack):
+ Remove.
+ (rtl_obstack): Likewise.
+ (init_loop): Don't mess with obstacks.
+ (reg_address_cost): Free BIVs and GIVs.
+ (check_insns_for_bivs): Use xmalloc, not oballoc.
+ (find_mem_givs): Likewise.
+ (record_biv): Likewise.
+ (general_induction_var): Likewise.
+ (product_cheap_p): Likewse.
+ * optabs.c (init_one_libfunc): Remove
+ ggc_p conditional.
+ * print-tree.c (debug_tree): Don't use
+ oballoc/obfree.
+ (print_node): Likewise.
+ * profile.c (output_func_start_profiler):
+ Remove call to temporary_allocation.
+ * reload1.c
+ (eliminate_regs_in_insn): Don't mess with obstacks.
+ * resource.c
+ (mark_target_live_regs): Use xmalloc.
+ (free_resource_info): Free the memory.
+ * rtl.c (rtl_obstack):
+ Remove.
+ (rtvec_alloc): Don't mess with obstacks.
+ (rtx_alloc): Likewise.
+ (rtx_free): Remove.
+ (copy_rtx): Don't handle `b' cases.
+ (read_rtx): Use a local rtl_obstack.
+ * rtl.h (oballoc): Remove.
+ (obfree): Likewise.
+ (pop_obstacks): Likewise.
+ (push_obstacks): Likewise.
+ (allocate_bb_life_data): Likewise.
+ (allocate_reg_life_data): Likewise.
+ (rtx_free): Likewise.
+ * sdbout.c (sdbout_queue_anonymous_type):
+ Use tree_cons, not saveable_tree_cons.
+ * simplify-rtx.c
+ (cselib_init): Don't mess with obstacks.
+ * stmt.c
+ (mark_block_nesting): Mark the label_chain.
+ (epxand_label): Use ggc_alloc, not oballoc.
+ (clear_last_expr): Don't mess with obstacks.
+ (expand_decl_cleanup): Likewise.
+ (expand_dcc_cleanup): Likewise.
+ (expand_dhc_cleanup): Likewise.
+ (expand_anon_union_decl): Likewise.
+ (add_case_node): Use xmalloc, not oballoc.
+ (free_case_nodes): New function.
+ (expand_end_case): Call it.
+ * stor-layout.c (layout_type): Don't
+ mess with obstacks.
+ (layout_type): Likewise.
+ * toplev.c (wrapup_global_declarations):
+ Likewise.
+ (compile_file): Remove ggc_p conditionals.
+ (rest_of_compilation): Call init_flow. Remove ggc_p conditionals.
+ (decode_f_option): Remove ggc_p conditionals.
+ * tree.c
+ (function_maybepermanent_obstack): Remove.
+ (maybepermanent_obstack): Likewise.
+ (function_obstack): Likewise.
+ (tmeporary_obstack): Likewise.
+ (momentary_obstack): Likewise.
+ (temp_decl_obstack): Likewise.
+ (saveable_obstack): Likewise.
+ (rtl_obstack): Likewise.
+ (current_obstack): Likewise.
+ (expression_obstack): Likewise.
+ (struct obstack_stack): Likewise.
+ (obstack_stack): Likewise.
+ (obstack_stack_obstack): Likewise.
+ (maybepermanent_firstobj): Likewise.
+ (temporary_firstobj): Likewise.
+ (momentary_firstobj): Likewise.
+ (temp_decl_firstobj): Likewise.
+ (momentary_function_firstobj): Likewise.
+ (all_types_permanent): Likewise.
+ (struct momentary_level): Likewise.
+ (momentary_stack): Likewise.
+ (init_obstacks): Remove initialization of removed obstacks.
+ (save_tree_status): Remove.
+ (restore_tree_status): Likewise.
+ (temporary_allocation): Liekwise.
+ (end_temporary_allocation): Liekwise.
+ (resume_temporary_allocation): Likewise.
+ (saveable_allocation): Likewise.
+ (push_obstacks): Likewise.
+ (push_obstacks_nochange): Likewise.
+ (pop_obstacks): Likewise.
+ (allocation_temporary_p): Likewise.
+ (permanent_allocation): Likewise.
+ (preserve_data): Likewise.
+ (preserve_initializer): Likewise.
+ (rtl_in_current_obstack): Likewise.
+ (rtl_in_saveable_obstack): Likewise.
+ (oballoc): Likewise.
+ (obfree): Likewise.
+ (savealloc): Likewise.
+ (expralloc): Likewise.
+ (print_obstack_name): Likewise.
+ (debug_obstack): Likewise.
+ (object_permanent_p): Likewise.
+ (push_momentary): Likewise.
+ (perserve_momentary): Likewise.
+ (clear_momentary): Likewise.
+ (pop_momentary): Likewise.
+ (pop_momentary_nofree): Likewise.
+ (suspend_momentary): Likewise.
+ (resume_momentary): Likewise.
+ (make_node): Don't set TREE_PERMANENT.
+ (copy_node): Remove ggc_p conditionals. Don't set TYPE_OBSTACK.
+ Don't set TREE_PERMANENT.
+ (get_identifier): Remove ggc_p conditionals.
+ (build_string): Likewise.
+ (make_tree_vec): Likewise.
+ (build_decl_list): Remove.
+ (build_expr_list): Likewise.
+ (tree_cons): Remove ggc_p conditionals.
+ (decl_tree_cons): Remove.
+ (expr_tree_cons): Likewise.
+ (perm_tree_cons): Likewise.
+ (temp_tree_cons): Likewise.
+ (saveable_tree_cons): Likewise.
+ (build1): Remove ggc_p conditionals.
+ (build_parse_node): Likewise.
+ (build_type_attribute_variant): Don't mess with obstacks.
+ (build_type_copy): Likewise.
+ (type_hash_canon): Likewise.
+ (build_pointer_type): Likewise.
+ (build_reference_type): Likewise.
+ (build_index_type): Likewise.
+ (build_range_type): Likewise.
+ (dump_tree_statistics): Don't print obstack information.
+ * tree.h
+ (struct tree_common): Remove permanent_flag.
+ (TREE_PERMANENT): Remove.
+ (TREE_SET_PERMANENT): Likewise.
+ (TYPE_OBSTACK): Likewise.
+ (struct tree_type): Remove obstack.
+ (oballoc): Remove.
+ (savealloc): Likewise.
+ (build_decl_list): Likewise.
+ (build_expr_list): Likewise.
+ (perm_tree_cons): Likewise.
+ (temp_tree_cons): Likewise.
+ (saveable_tree_cons): Likewise.
+ (decl_tree_cons): Likewise.
+ (expr_tree_cons): Likewise.
+ (suspend_momentary): Likewise.
+ (allocation_temporary_p): Likewise.
+ (resume_momentary): Likewise.
+ (push_obstacks_nochange): Likewise.
+ (permanent_allocation): Likewise.
+ (push_momentary): Likewise.
+ (clear_momentary): Likewise.
+ (pop_momentary): Likewise.
+ (end_temporary_allocation): Likewise.
+ (pop_obstacks): Likewise.
+ (push_obstacks): Likewise.
+ (pop_momentary_nofree): LIkewise.
+ (preserve_momentary): Likewise.
+ (saveable_allocation): Likewise.
+ (temporary_allocation): Likewise.
+ (resume_temporary_allocation): Likewise.
+ (perserve_initializer): Likewise.
+ (debug_obstack): Likewise.
+ (rtl_in_current_obstack): Likewise.
+ (rtl_in_saveable_obstack): Likewise.
+ (obfree): Likewise.
+ * varasm.c (current_obstack): Remove.
+ (saveable_obstack): Remove.
+ (rtl_obstack): Remove.
+ (immed_double_const): Don't mess with obstacks.
+ (immed_real_cons): Likewise.
+ (output_constant_def): Likewise.
+ (init_varasm_status): Use xcalloc.
+ (mark_pool_constant): Mark the pool constant itself.
+ (free_varasm_status): Free memory.
+ (decode_rtx_const): Call bzero directly, rather than expanding it
+ inline.
+ (record_rtx_const): Don't mess with obstacks.
+ (force_const_mem): Likewise.
+ * config/arm/arm.c (arm_encode_call_attribute): Remove ggc_p
+ conditionals.
+ (aof_pic_entry): Likewise.
+ * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
+ * config/m32r/m32r.c (m32r_encode_section_info): Likewise.
+ * config/pa/pa.c (saveable_obstack): Remove.
+ (rtl_obstack): Likewise.
+ (current_obstack): Likewise.
+ (output_call): Don't mess with obstacks.
+ (hppa_encode_label): Remove ggc_p conditionals.
+ * config/romp/romp.c (get_symref): Don't mess with obstacks.
+ * config/rs6000/rs6000.c (output_toc): Remove ggc_p conditional.
+ (rs6000_encode_section_info): Likewise.
+ * config/sh/sh.c (get_fpscr_rtx): Likewise.
+
+Thu Oct 12 16:02:31 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * i386.md (adddi3, subdi3 splitters): Update for new pattern.
+ (addsi3_cc, addqi3_cc, subsi3_cc): Remove
+ (addsi3_carry): Canonicalize.
+ (addqi_5): Remove '*'.
+ (sbb pattern): Canonicalize.
+
+ * i386.md (cmp to inc/add peep2): New.
+
+2000-10-12 Richard Earnshaw <rearnsha@arm.com>
+
+ * bb-reorder.c (reorder_basic_blocks): Allocate an aux block for
+ the exit block.
+
+2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * gcc.texi: Merge in contents of README.TRAD and TESTS.FLUNK.
+ * README.TRAD, TESTS.FLUNK: Remove.
+
+2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (decl_attributes): Don't allow strftime formats with
+ first_arg_num nonzero.
+ (check_format_info): Set wanted_type and wanted_type_name to zero
+ before they are possibly assigned and used.
+
+2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (scanf_flag_specs): Add flags ' and I.
+ (strftime_flag_pairs): Disallow any pair of the _, - and 0 flags,
+ or the ^ and # flags together.
+ (scan_char_table): Handle the ' and I flags.
+ (format_types): Add ' and I flags for scanf.
+
+2000-10-12 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (print_char_table): Use the unpromoted type for
+ lengths "h" and "hh" with conversions dioxXu.
+ (check_format_types): Apply the default argument promotions where
+ the wanted type is not a pointer target.
+
+2000-10-11 Michael Meeks <mmeeks@gnu.org>
+ Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-typeck.c (check_modify_expr): New function.
+ (build_modify_expr): Call it if warn_sequence_point.
+ * c-decl.c (warn_sequence_point): New variable.
+ (c_decode_option): Handle -Wsequence-point and
+ -Wno-sequence-point. Enable -Wsequence-point as part of -Wall.
+ * c-tree.h (warn_sequence_point): Declare.
+ * invoke.texi (-Wsequence-point): Document.
+ * toplev.c (documented_lang_options): Add -Wsequence-point and
+ -Wno-sequence-point.
+ Original work by Michael Meeks, 16 Jun 1998.
+
+Wed Oct 11 06:15:41 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * tree.c (get_narrower): Don't look at precision of field if
+ not laid out yet.
+
+Tue Oct 10 23:14:33 2000 Denis Chertykov <denisc@overta.ru>
+
+ * config/avr/avr.c (valid_machine_decl_attribute): Allow `extern'
+ declaration for data with "progmem" attribute.
+
+2000-10-09 Marek Michalkiewicz <marekm@linux.org.pl>
+
+ * config/avr/avr.c (out_shift_with_cnt): Use AS2 macro.
+ Correct insn length if shift count is a memory operand.
+ * config/avr/avr.md: New define_peephole2 to use *reload_inqi.
+ (*iorhi3_clobber): Change lo8 to hi8.
+ (zero_extendhisi2): Change %B0 to %A1.
+ (ashlhi3, ashrhi3): Correct insn length.
+ (andhi3, abssf2, extendqisi2, extendhisi2): Change "cc"
+ from "clobber" to "set_n" in some alternatives.
+
+2000-10-10 Jakub Jelinek <jakub@redhat.com>
+
+ * reload1.c (calculate_needs_all_insns): If deleting an instruction,
+ remove its insn_chain structure as well.
+
+2000-10-09 J. David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * dbxout.c (dbxout_source_line): Remove extra tab.
+
+2000-10-09 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * config/elfos.h (UNIQUE_SECTION): Apply STRIP_NAME_ENCODING on name.
+
+2000-10-09 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (LANG_LIB2FUNCS): Remove.
+ (LIB2FUNCS): Remove _pure.
+ (LIB2ADD): Remove LANG_LIB2FUNCS.
+ (stage_a): Don't set LANG_LIB2FUNCS.
+ * libgcc2.c (__terminate): Mark noreturn.
+ (__pure_virtual): Remove.
+ * mklibgcc.in: Remove LIB2ADD .txt processing.
+
+2000-10-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (push_multi): Revert unintended change.
+
+2000-10-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c: Miscellaneous white space and comment clean-ups. No
+ functional change.
+ * arm.md: Likewise.
+
+2000-10-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-common.c (c_expand_builtin_printf): Set the TREE_TYPE of a new
+ STRING_CST by calling combine_strings.
+
+2000-10-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (thumb_expand_movstrqi): Rewrite to support SSA form.
+ (thumb_output_move_mem_multiple): Support new insn format.
+ * arm.md (movmem12b): Use SSA compatible format.
+ (movmem8b): Likewise.
+
+2000-10-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.md (predicable): New attribute, default to "no".
+ (all patterns): Mark as predicable if appropriate.
+ (conditional execution splits): Split using predication format.
+ (define_cond_exec): Define.
+ * arm.c (arm_print_operand): handle insn predicate.
+
+2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * README.NS32K: Remove file.
+
+2000-10-09 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
+
+ * README-bugs: Remove file.
+
+2000-10-08 Philipp Thomas <pthomas@suse.de>
+ * aclocal.m4 (AM_GNU_GETTEXT): Fix non portable use of == operator
+ for test.
+ * configure: Rebuilt.
+
+2000-10-08 Philipp Thomas <pthomas@suse.de>
+ * aclocal.m4 (AM_WITH_NLS): When not using included gettext,
+ disable catalog building if no suitable program was found.
+ Move warning message from here
+ (AM_GNU_GETTEXT): To here.
+ * configure: Rebuilt.
+
+2000-10-08 Philipp Thomas <pthomas@suse.de>
+ * aclocal.m4 (GCC_PATH_PROG): New. Like AC_PATH_PROG but uses
+ different cache variables.
+ (GCC_PATH_PROG_WITH_TEST): New. Like AM_PATH_PROG_WITH_TEST but
+ uses different cache variables.
+ (AM_WITH_NLS): Use GCC_PATH_PROG and GCC_PATH_PROG_WITH_TEST.
+ * configure: Regenerated.
+
+2000-10-08 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
+ * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}.
+ * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command.
+ Use SHLIB_EXT.
+
+ * config/t-linux (SHLIB_EXT): New.
+ (SHLIB_LINK): Use the entire build command, with substitutions.
+ (SHLIB_LIBS): Remove.
+ * config/alpha/t-osf4: Likewise.
+ * config/mips/t-iris6: Likewise.
+ * config/sparc/t-sol2: Likewise, but move shlib stuff...
+ * config/sparc/t-slibgcc-sld: ...here.
+ * config/sparc/t-slibgcc: New file.
+
+2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * tm.texi (INTMAX_TYPE, UINTMAX_TYPE): Define.
+ * c-common.h (enum c_tree_index): Add CTI_INTMAX_TYPE and
+ CTI_UINTMAX_TYPE.
+ (intmax_type_node, uintmax_type_node): Define.
+ * c-common.c (decl_attributes): If pedantic, warn if `mode'
+ attributes create a type wider than intmax_t.
+ (T_IM, T_UIM): Define properly.
+ * c-decl.c (INTMAX_TYPE, UINTMAX_TYPE): Define if not already
+ defined.
+ (init_decl_processing): Initialize intmax_type_node and
+ uintmax_type_node.
+ * c-lex.c (lex_number): When pedantic and warning for integer
+ constants that are too large, in C99 mode warn for those that have
+ a type wider than long long.
+
+2000-10-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (FMT_FLAG_ARG_CONVERT, FMT_FLAG_SCANF_A_KLUDGE,
+ FMT_FLAG_FANCY_PERCENT_OK): Define.
+ (format_char_info): Add flag "4" to comment.
+ (format_flag_spec, format_flag_pair): New structures.
+ (format_kind_info): Add additional fields to control format
+ checking.
+ (printf_flag_specs, printf_flag_pairs, scanf_flag_specs,
+ scanf_flag_pairs, strftime_flag_specs, strftime_flag_pairs): New
+ arrays.
+ (time_char_table): Use "4" flag to handle %Ey.
+ (format_types): Add entries for new fields.
+ (get_flag_spec): New function.
+ (check_format_info): Increase size of flag_chars[] to 256.
+ Control format checking using the new fields of a format_kind_info
+ and the new tables; remove all conditionals on printf_format_type,
+ scanf_format_type or strftime_format_type. Handle all details of
+ bad combinations of flags (including width, precision and strftime
+ modifiers) through data rather than ad hoc code. Handle all
+ details of standard versions in which flags appeared through
+ data. Use the "4" flag.
+
+2000-10-07 Will Cohen <wcohen@redhat.com>, Kazu Hirata <kazu@hxi.com>
+
+ * config/h8300/h8300.md: Remove the memory alternative and correct
+ the insn lengths in the templates for sign extention and zero
+ extention.
+
+2000-10-07 Richard Henderson <rth@cygnus.com>
+
+ * calls.c (expand_call): Disallow sibcalls to noreturn functions.
+ * flow.c (make_edges): Revert last change.
+
+ * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Don't test
+ TREE_THIS_VOLATILE.
+ * config/pa/pa.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
+
+2000-10-06 David O'Brien <obrien@dragon.nuxi.com>
+
+ * config/alpha/elf.h: Standardize the formatting.
+
+2000-10-06 David O'Brien <obrien@FreeBSD.org>
+
+ * config/alpha/elf.h: Protect the ASM_OUTPUT_IDENT definition with an
+ #undef.
+
+2000-10-06 Richard Henderson <rth@cygnus.com>
+
+ * function.c (diddle_return_value): Examine
+ current_function_return_rtx instead of the DECL_RESULT.
+ (expand_function_end): Handle reloading DECL_RESULT from memory
+ into a hard register. Query promote_mode for sign of mismatched
+ modes.
+
+2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
+
+ * haifa-sched.c (schedule_insns): Fix typo in freeing
+ forward_dependency_cache.
+
+2000-10-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/sh/sh.md (calli_pcrel, call_valuei_pcrel): Add
+ `TARGET_SH2' as a condition.
+
+2000-10-06 Vladimir Makarov <vmakarov@touchme.toronto.redhat.com>
+
+ * haifa-sched.c (anti_dependency_cache, output_dependency_cache,
+ forward_dependency_cache): New variables.
+ (add_dependence, remove_dependence): Use anti_dependency_cache and
+ output_dependency_cache.
+ (compute_block_forward_dependences): Use forward_dependency_cache.
+ (schedule_insns): Allocate and free memory for anti/output/forward
+ dependencies caches.
+
+2000-10-06 Alexandre Oliva <aoliva@redhat.com>
+
+ * config/sh/sh.md (call, call_value): Use `TARGET_SH2' instead of
+ `! TARGET_SH1'. Reindent.
+
+2000-10-06 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * builtins.c (is_valid_printf_arglist, expand_builtin_printf):
+ Move functions from here ...
+
+ * c-common.c (is_valid_printf_arglist, c_expand_builtin_printf):
+ ... to here.
+ (c_expand_builtin): New function.
+ (init_function_format_info): Don't set `check_function_format_ptr'.
+ (c_common_nodes_and_builtins): Set built_in_class type for
+ printf/__builtin_printf to BUILT_IN_FRONTEND.
+ (c_expand_expr): Handle CALL_EXPRs that are front-end builtins.
+
+ * c-common.h (build_function_call): Declare.
+
+ * expr.c (expand_expr): Pass builtins with class BUILT_IN_FRONTEND
+ to `lang_expand_expr' rather than `expand_builtin'.
+
+ * tree.c (check_function_format_ptr): Delete.
+
+ * tree.h (check_function_format_ptr): Likewise.
+
+2000-10-06 Hans-Peter Nilsson <hp@bitrange.com>
+
+ * dwarf2out.c (build_cfa_loc): Correct to use DW_OP_regx or
+ DW_OP_bregx when cfa->reg > 31.
+
+ * frame-dwarf2.c (decode_stack_op) [case DW_OP_regx]: Add missing
+ break.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * c-decl.c (warn_missing_noreturn): Remove.
+ (c_expand_body): Don't set or check can_reach_end.
+ * c-tree.h (warn_missing_noreturn): Move ...
+ * flags.h: ... here.
+ (can_reach_end): Remove.
+ * flow.c (check_function_return_warnings): New.
+ (make_edges): No edge to exit for noreturn sibcalls.
+ * function.c (expand_function_end): Save the return value
+ clobber instruction.
+ (mark_function_status): Mark it.
+ * function.h (struct function): Add x_clobber_return_insn.
+ * jump.c (can_reach_end): Remove.
+ (calculate_can_reach_end): Remove.
+ (jump_optimize_1): Don't call it.
+ * output.h (check_function_return_warnings): Declare.
+ * toplev.c (warn_missing_noreturn): Move from c-decl.c
+ (rest_of_compilation): Call check_function_return_warnings.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (NM_FOR_TARGET): New.
+ (libgcc.mk): Pass SHLIB_MKMAP, SHLIB_MAPFILES.
+ (libgcc.a, stmp-multilib): Pass NM_FOR_TARGET.
+ * mklibgcc.in: If SHLIB_MKMAP, build libgcc.map. Depend the
+ shared library build on that and EXTRA_MULTILIB_PARTS.
+ * mkmap-flat.awk: New file.
+ * mkmap-symver.awk: New file.
+ * libgcc-std.ver: New file.
+ * config/libgcc-glibc.ver: New file.
+ * config/ia64/libgcc-ia64.ver: New file.
+ * config/t-linux (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ (SHLIB_LINK): Add --version-script.
+ * config/ia64/t-ia64 (SHLIB_MAPFILES): Add libgcc-ia64.ver.
+ * config/mips/t-iris6 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ * config/sparc/t-sol2 (SHLIB_MKMAP, SHLIB_MAPFILES): New.
+ (SHLIB_LINK): Add -M.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * Makefile.in (LIB2FUNCS): Add _clz.
+ * libgcc2.c (__ffsdi2): Use count_trailing_zeros.
+ (__clz_tab): Put in its own unit, non-static.
+ * libgcc2.h: Always include longlong.h.
+
+ * longlong.h [alpha] (count_leading_zeros): Use cmpbge with
+ a zero instead of -1.
+ (count_trailing_zeros): Likewise.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * config/alpha/alpha.c (alpha_emit_setcc): Don't swap GT tests
+ when second op1 is const0_rtx. Validate op0 as a register.
+ * config/alpha/alpha.md (setcc_internal): Don't allow constants
+ in the first argument of the compare.
+ (setcc_swapped_internal): Likewise.
+ (setne_internal): Likewise.
+
+2000-10-05 Geoff Keating <geoffk@cygnus.com>
+
+ * tree.c (tree_size): New function split out of copy_node.
+ (make_node): Remove obstack handling. Use tree_size.
+ (copy_node): Use tree_size.
+ * tree.h: Prototype tree_size.
+
+2000-10-05 Richard Henderson <rth@cygnus.com>
+
+ * diagnostic.c (output_format): Add missing break.
+
+2000-10-05 Jim Wilson <wilson@cygnus.com>
+
+ * function.c (fixup_var_refs_1, case SET): When gen_move_insn returns a
+ SEQUENCE, call emit_insn_before, copy PATTERN and REG_NOTES of last
+ sequence insn to INSN, and delete last sequence insn.
+
2000-10-05 Phil Edwards <pme@gcc.gnu.org>
* gcc.c (main): Include generated configargs.h header
* configure.in (sparc-*-solaris2*): Disable 32-to-64 cross
compilation for solaris versions 2.7 and greater.
+2000-10-02 Marc Espie <espie@openbsd.org>
+
+ * config/alpha.h (WORD_SWITCH_TAKES_ARG): add -rpath to default,
+ instead of redefining from scratch.
+
2000-10-02 David O'Brien <obrien@dragon.nuxi.com>
* config/i386/freebsd.h (NO_PROFILE_COUNTERS): Define.