OSDN Git Service

include:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 85512bf..66792a3 100644 (file)
+2001-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-aux-info.c (affix_data_type): Use ATTRIBUTE_MALLOC.  Avoid
+       leak by passing malloc'ed pointer to reconcat, not concat.
+
+2001-09-24  DJ Delorie  <dj@redhat.com>
+
+       * varasm.c (array_size_for_constructor): Handle STRING_CSTs also.
+
+2001-09-24  Ulrich Weigand  <uweigand@de.ibm.com>:
+
+       * flow.c (delete_dead_jumptables): Delete jumptable if the only
+       reference is from the literal pool.
+
+2001-09-24  Janis Johnson  <janis187@us.ibm.com>
+
+       * doc/install.texi (Final install): Request additional information
+       in mail about successful builds. 
+
+2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (return_addr_rtx): Return NULL_RTX if count is not zero.  Use
+       initial value of return pointer register instead of value in frame-20.
+       Revise comments.
+
+2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * som.h (ASM_OUTPUT_EXTERNAL): Improve formatting.
+       (ASM_OUTPUT_EXTERNAL_LIBCALL): Only generate a .IMPORT statement for
+       the libcall if there isn't a referenced identifier for the symbol.
+
+2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.h (TRAMPOLINE_TEMPLATE): Add two words to the template for
+       non 64-bit machines.  Use these as a plabel for the trampoline.
+       (TRAMPOLINE_SIZE): Adjust size for new words.
+       (INITIALIZE_TRAMPOLINE): Initialize new words.
+       (TRAMPOLINE_ADJUST_ADDRESS): New.  Adjust address to make it a
+       pointer to the plabel in the trampoline.
+
+2001-09-24  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (function_arg): Pass floating arguments in both general and
+       floating registers in indirect (dynamic) calls when generating code
+       for the 32 bit ABI and the HP assembler.
+
+2001-09-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * doc/install.texi: Markup fixes.
+       Use Solaris 2, SunOS 4 as appropriate.
+       (Specific, *-*-solaris2*): Explain this.
+       Unconditionally warn against /usr/ucb tools.
+       Remove Sun as warning, obsolete.
+       Move X11 header bug workaround here, update patches.
+       (Specific, sparc-sun-solaris2*): Detail Sun as fix status.
+       (Specific, sparc-sun-solaris2.7): Update patch 106950 status.
+
+2001-09-23  Zack Weinberg  <zack@codesourcery.com>
+
+       * errors.h (warning, error, fatal, internal_error): Don't mark
+       with ATTRIBUTE_PRINTF_n.
+       * toplev.h (internal_error, fatal_io_error, warning, error,
+       pedwarn, pedwarn_with_file_and_line, warning_with_file_and_line,
+       error_with_file_and_line, sorry, error_for_asm, warning_for_asm):
+       Likewise.
+
+Sun Sep 23 18:19:48 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * function.c (pop_function_context_from): var_refs_queue
+       and temp slots now in GC memory.
+       (mark_function_status, free_after_compilation): Likewise;
+       also struct function now in GC memory.
+       (assign_stack_temp_for_type): struct temp_slot now in GC memory.
+       (combine_temp_slots): Likewise.
+       (schedule_fixup_var_refs): var_refs_queue now in GC memory.
+       (prepare_function_start): Use GC memory for struct function.
+       (mark_temp_slot): Deleted.
+       (gcc_mark_struct_function): struct function now in GC memory.
+
+       * fold-const.c (extract_muldiv, case PLUS_EXPR): Only adjust
+       code for division, not modulus.
+
+       * rtl.def (MEM): Remove obsolete part of comment.
+
+2001-09-22  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-format.c (init_function_format_info): Check __builtin_printf
+       and __builtin_fprintf even if -ffreestanding.  Check C99 functions
+       in gnu89 mode.
+
+Sat Sep 22 09:09:32 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * c-common.c (format_attribute_table): Remove decl.
+       * tree.h (format_attribute_table, lang_attribute_table): New decls.
+       (lang_attribute_common): Likewise.
+
+       * function.c (fix_lexical_address): Use set_mem_alias_set.
+       (expand_function_start): Likewise.
+       * config/alpha/alpha.h (SETUP_INCOMING_VARARGS): Likewise.
+
+       * varasm.c (output_constant): Fix unused variable warning.
+
+       * attribs.c: New file, from c-common.c.
+       (attribute_tables): Now four elements.
+       (format_attribute_table, lang_attribute_common): New variables.
+       (init_attributes): Reflect above changes.
+       (handle_mode_attribute): Delete check for wider than uintmax.
+       * c-common.c: Delete parts moved to attribs.c.
+       (enum attrs): Deleted; unused.
+       (c_format_attribute_table): New variable.
+       (c_common_lang_init): Initialize format_attribute_table with it.
+       * c-common.h (decl_attributes): Remove decl.
+       * tree.h (decl_attribute): Move it to here.
+       * Makefile.in (C_AND_OBJS_OBJS): Add attribs.o.
+       (attribs.o): New rule.
+
+2001-09-22  Andreas Jaeger  <aj@suse.de>
+
+       * builtins.c (c_getstr): Remove unused variable.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * reload1.c (reload): Use delete_insn instead of splatting
+       NOTE_INSN_DELETED.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * reload.c (push_secondary_reload): Don't check for "=" in output
+       constraint after ""->ALL_REGS check.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * predict.c (expected_value_to_br_prob): Use pc_set.
+
+       * optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
+       ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (LCT_RETURNS_TWICE): New.
+       * calls.c (emit_call_1): Set current_function_calls_setjmp for
+       ECF_RETURNS_TWICE.
+       (emit_library_call_value_1): Map LCT_RETURNS_TWICE
+       to ECF_RETURNS_TWICE.
+       * except.c (sjlj_emit_function_enter): Use LCT_RETURNS_TWICE for
+       call to setjmp.
+
+       * unwind-sjlj.c: Invent the setjmp.h declarations if inhibit_libc.
+
+       * config/stormy16/stormy16.h (DONT_USE_BUILTIN_SETJMP): New.
+       (JMP_BUF_SIZE): New.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * config/stormy16/stormy16.h (REG_CLASS_FROM_LETTER): Map 'd'
+       to R8_REGS.
+
+2001-09-21  Richard Henderson  <rth@redhat.com>
+
+       * tree.def (FDESC_EXPR): New.
+       * expr.c (expand_expr): Handle it.
+       * varasm.c (initializer_constant_valid_p): Likewise.
+       (output_constant): Likewise.
+       * defaults.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+       * config/ia64/ia64.h (TARGET_VTABLE_USES_DESCRIPTORS): New.
+       (ASM_OUTPUT_FDESC): New.
+       * doc/tm.texi: Document the new macros.
+
+21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
+
+       * cfgcleanup.c (merge_blocks_move_successor_nojumps): Don't leave
+       ADDR_VEC or ADDR_DIFF_VEC jump insns as part of the basic block
+       once merging is complete.
+
+Fri Sep 21 11:20:12 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * integrate.c (allocate_initial_values): Eliminate unused arg warning.
+
+21-09-2001  Richard Earnshaw  (reanrsha@arm.com)
+
+       * cfgcleanup.c (flow_find_cross_jump): Delete any REG_EQUAL notes
+       that would be invalid after a merge.
+
+Fri Sep 21 14:24:29 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (flow_delete_insn, flow_delete_insn_chain): Kill.
+       * cfg.c (delete_insn): Rename from ....; use remove_insn; do not
+       remove some labels.
+       (flow_delete_insn): This one.
+       (delete_insn_chain): Rename from ...; do not care labels.
+       (flow_delete_insn_chain): ... this one.
+       (flow_delete_block): Remove the insns one BB has been expunged.
+       (merge_blocks_nomove): Likewise.
+       (try_redirect_by_replacing_jump): Use delete_insn[_chain]; do not care
+       updating BB boundaries.
+       (tidy_fallthru_edge): Likewise.
+       (commit_one_edge_insertion): Likewise.
+       * cfgbuild.c (find_basic_block): Likewise.
+       (find_basic_blocks_1): Likewise.
+       * cfgcleanup.c (merge_blocks_move_predecessor_nojumps): Likewise.
+       (try_crossjump_to_edge): Likewise.
+       (try_optimize_cfg): Likewise.
+       * cse.c (delete_trivially_dead_insns): Likewise.
+       * df.c (df_insn_delete): Likewise.
+       * doloop.c (doloop_modify): Use delete_related_insns.
+       * emit-rtl.c (try_split): Likewise.
+       (remove_insn): Update BB boundaries.
+       * expect.c (connect_post_landing_pads): Use delete_related_insns.
+       * flow.c (delete_dead_jumptables): Use delete_insn[_chain]; do not care
+       updating BB boundaries.
+       (propagate_block_delete_insn): Likewise.
+       (propagate_block_delete_libcall): Likewise.
+       * function.c (delete_handlers): Use delete_related_insns.
+       (thread_prologue_and_epilogue_insns): Likewise.
+       * gcse.c (delete_null_pointer_checks): Use delete_related_insns.
+       * genpeep.c (gen_peephole): Use delete_related_insns.
+       * ifcvt.c (noce_process_if_block): Use delete_insn; do not care updating
+       BB boundaries.
+       (find_cond_trap): Likewise.
+       * integrate.c (save_for_inline): Use delete_related_insns.
+       (copy_insn_list): Likewise.
+       * jump.c (pruge_linie_number_notes): Likewise.
+       (duplicate_loop_exit_test): Likewise.
+       (delete_computation): Likewise.
+       (delete_related_insn): Rename from ...; use delete_insn
+       (delete_insn): ... this one.
+       (redirect_jump): Use delete_related_insns.
+       * loop.c (scan_loop): Likewise.
+       (move_movables): Likewise.
+       (find_and_verify_loops): Likewise.
+       (check_dbra_loop): Likewise.
+       * recog.c (peephole2_optimize): Likewise.
+       * reg-stack.c (delete_insn_for_stacker): Remove.
+       (move_for_stack_reg): Use delete_insn.
+       * regmove.c (combine_stack_adjustments_for_block): Likewise.
+       * reload1.c (delete_address_reloads): Use delete_related_insns.
+       (fixup_abnormal_edges): Use delete_insn.
+       * recog.c (emit_delay_sequence): Use delete_related_insns.
+       (delete_from-delay_slot): Likewise.
+       (delete_scheduled_jump): likewise.
+       (optimize_skip): Likewise.
+       (try_merge_delay_insns): Likewise.
+       (full_simple_delay_slots): Likewise.
+       (fill_slots_from_thread): Likewise.
+       (relax_delay_slots): Likewise.
+       (make_return_insns): Likewise.
+       (dbr_schedule): Likewise.
+       * rtl.h (delete_insn): Rename to delete_related_insns.
+       (delete_insn, delete_insn_chain): New prototypes.
+       * ssa-ccp (sse_fast_dce):  Remove deleting of DEF, as it is done
+       by df_insn_delete already.
+       * ssa-dce.c (delete_insn_bb): Use delete_insn.
+       * ssa.c (convert_from_ssa): Use delete_related_insns.
+       * unroll.c (unroll_loop): Likewise.
+       (calculate_giv_inc): Likewise.
+       (copy_loop_body): Likewise.
+
+       * i386-protos.h (ix86_libcall_value, ix86_function_value,
+       ix86_function_arg_regno_p, ix86_function_arg_boundary,
+       ix86_return_in_memory, ix86_function_value): Declare.
+       * i386.c (x86_64_int_parameter_registers, x86_64_int_return_registers):
+       new static valurables.
+       (x86_64_reg_class): New enum
+       (x86_64_reg_class_name): New array.
+       (classify_argument, examine_argument, construct_container,
+        merge_classes): New static functions.
+       (optimization_options): Enable flag_omit_frame_pointer and disable
+       flag_pcc_struct_return on 64bit.
+       (ix86_libcall_value, ix86_function_value,
+       ix86_function_arg_regno_p, ix86_function_arg_boundary,
+       ix86_return_in_memory, ix86_function_value): New global functions.
+       (init_cumulative_args): Refuse regparm on x86_64, set maybe_vaarg.
+       (function_arg_advance): Handle x86_64 passing conventions.
+       (function_arg): Likewise.
+       * i386.h (FUNCTION_ARG_BOUNDARY): New macro.
+       (RETURN_IN_MEMORY): Move offline.
+       (FUNCTION_VALUE, LIBCALL_VALUE): Likewise.
+       (FUNCTION_VALUE_REGNO_P): New macro.
+       (FUNCTION_ARG_REGNO_P): Move offline.
+       (struct ix86_args): Add maybe_vaarg.
+       * next.h (FUNCTION_VALUE_REGNO_P): Delete.
+       * unix.h (FUNCTION_VALUE_REGNO_P): Delete.
+
+2001-09-21  Hartmut Penner  <hpenner@de.ibm.com>
+
+       * s390.md: Changed attributes for scheduling.
+       * s390.c: (s390_adjust_cost, s390_adjust_priority)
+       Changed scheduling
+
+2001-09-21  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       Table-driven attributes.
+       * c-decl.c, config/alpha/alpha.c, config/arc/arc.c,
+       config/arm/arm.c, config/arm/pe.c, config/avr/avr.c,
+       config/avr/avr.h, config/d30v/d30v.h, config/fr30/fr30.h,
+       config/h8300/h8300.c, config/i386/cygwin.h, config/i386/winnt.c,
+       config/m32r/m32r.c, config/mcore/mcore.c, config/sh/sh.c,
+       config/stormy16/stormy16.h, config/v850/v850.c, doc/c-tree.texi,
+       doc/tm.texi, ggc-common.c, integrate.c, print-tree.c, tree.c,
+       tree.h: Rename DECL_MACHINE_ATTRIBUTES to DECL_ATTRIBUTES.
+       * tree.h (struct tree_decl): Change machine_attributes to
+       attributes.
+       * doc/c-tree.texi: Document that all attributes are now attached
+       to decls and types.
+       * c-common.c (add_attribute, attrtab, attrtab_idx,
+       default_valid_lang_attribute, valid_lang_attribute): Remove.
+       (attribute_tables, attributes_initialized,
+       c_common_attribute_table, default_lang_attribute_table): New
+       variables.
+       (handle_packed_attribute, handle_nocommon_attribute,
+       handle_common_attribute, handle_noreturn_attribute,
+       handle_unused_attribute, handle_const_attribute,
+       handle_transparent_union_attribute, handle_constructor_attribute,
+       handle_destructor_attribute, handle_mode_attribute,
+       handle_section_attribute, handle_aligned_attribute,
+       handle_weak_attribute, handle_alias_attribute,
+       handle_no_instrument_function_attribute,
+       handle_no_check_memory_usage_attribute, handle_malloc_attribute,
+       handle_no_limit_stack_attribute, handle_pure_attribute): New
+       functions.
+       (init_attributes, decl_attributes): Rewrite to implement
+       table-driven attributes.
+       * c-common.h (enum attribute_flags): Move to tree.h.
+       * c-format.c (decl_handle_format_attribute,
+       decl_handle_format_arg_attribute): Rename to
+       handle_format_attribute and handle_format_arg_attribute.  Update
+       for table-driven attributes.
+       * c-common.h (decl_handle_format_attribute,
+       decl_handle_format_arg_attribute): Remove prototypes.
+       (handle_format_attribute, handle_format_arg_attribute): Add
+       prototypes.
+       * c-decl.c (grokdeclarator): Handle attributes nested inside
+       declarators.
+       * c-parse.in (setattrs, maybe_setattrs): Remove.
+       (maybe_type_quals_setattrs): Rename to maybe_type_quals_attrs.
+       Update to handle nested attributes properly.
+       (maybe_resetattrs, after_type_declarator,
+       parm_declarator_nostarttypename, notype_declarator, absdcl1_noea,
+       absdcl1_ea, direct_absdcl1): Update to handle nested attributes
+       properly.
+       (make_pointer_declarator): Update to handle nested attributes
+       properly.
+       * doc/extend.texi: Update documentation of limits of attributes
+       syntax.  Warn about problems with attribute semantics in C++.
+       * target.h (struct target): Remove valid_decl_attribute and
+       valid_type_attribute.  Add attribute_table and
+       function_attribute_inlinable_p.
+       * target-def.h (TARGET_VALID_DECL_ATTRIBUTE,
+       TARGET_VALID_TYPE_ATTRIBUTE): Remove.
+       (TARGET_ATTRIBUTE_TABLE, TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P):
+       Add.
+       (TARGET_INITIALIZER): Update.
+       * integrate.c (FUNCTION_ATTRIBUTE_INLINABLE_P): Remove default
+       definition.
+       (function_attribute_inlinable_p): New function.  Check for the
+       presence of any machine attributes before using
+       targetm.function_attribute_inlinable_p.
+       (function_cannot_inline_p): Update.
+       * Makefile.in (integrate.o): Update dependencies.
+       * doc/tm.texi: Update documentation of target attributes and
+       example definition of TARGET_VALID_TYPE_ATTRIBUTE.
+       * tree.c (default_valid_attribute_p, valid_machine_attribute):
+       Remove.
+       (default_target_attribute_table,
+       default_function_attribute_inlinable_p): New.
+       (lookup_attribute): Update comment to clarify handling of multiple
+       attributes with the same name.
+       (merge_attributes, attribute_list_contained): Allow multiple
+       attributes with the same name but different arguments to appear in
+       the same attribute list.
+       * tree.h (default_valid_attribute_p): Remove prototype.
+       (struct attribute_spec): New.
+       (default_target_attribute_table): Declare.
+       (enum attribute_flags): Move from c-common.h.  Add
+       ATTR_FLAG_TYPE_IN_PLACE.
+       (default_function_attribute_inlinable_p): Declare.
+       * config/alpha/alpha.c (vms_valid_decl_attribute_p): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (vms_attribute_table): New.
+       * config/arc/arc.c (arc_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (arc_attribute_table, arc_handle_interrupt_attribute): New.
+       * config/arm/arm.c (arm_valid_type_attribute_p,
+       arm_valid_decl_attribute_p, arm_pe_valid_decl_attribute_p):
+       Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+       define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (arm_attribute_table, arm_handle_fndecl_attribute,
+       arm_handle_isr_attribute): New.
+       * config/avr/avr.c (avr_valid_type_attribute,
+       avr_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE, TARGET_VALID_TYPE_ATTRIBUTE): Don't
+       define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (avr_attribute_table, avr_handle_progmem_attribute,
+       avr_handle_fndecl_attribute): New.
+       * config/c4x/c4x.c (c4x_valid_type_attribute_p): Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (c4x_attribute_table, c4x_handle_fntype_attribute): New.
+       * config/h8300/h8300.c (h8300_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (h8300_attribute_table, h8300_handle_fndecl_attribute,
+       h8300_handle_eightbit_data_attribute,
+       h8300_handle_tiny_data_attribute): New.
+       * config/i386/i386-protos.h (ix86_valid_type_attribute_p,
+       i386_pe_valid_decl_attribute_p, i386_pe_valid_type_attribute_p):
+       Remove prototypes.
+       (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New
+       declarations.
+       * config/i386/i386.c (ix86_valid_type_attribute_p: Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE, TARGET_VALID_DECL_ATTRIBUTE): Don't
+       define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (ix86_attribute_table, ix86_handle_cdecl_attribute,
+       ix86_handle_regparm_attribute): New.
+       * config/i386/winnt.c (i386_pe_valid_decl_attribute_p,
+       i386_pe_valid_type_attribute_p): Remove.
+       (ix86_handle_dll_attribute, ix86_handle_shared_attribute): New.
+       * config/ia64/ia64.c (ia64_valid_type_attribute): Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (ia64_attribute_table): New.
+       * config/m32r/m32r.c (m32r_valid_decl_attribute, interrupt_ident1,
+       interrupt_ident2, model_ident1, model_ident2): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (init_idents): Update.
+       (m32r_attribute_table, m32r_handle_model_attribute): New.
+       * config/m68hc11/m68hc11.c (m68hc11_valid_type_attribute_p):
+       Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (m68hc11_attribute_table, m68hc11_handle_fntype_attribute): New.
+       * config/mcore/mcore.c (mcore_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (mcore_attribute_table, mcore_handle_naked_attribute): New.
+       * config/ns32k/ns32k.c (ns32k_valid_type_attribute_p): Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (ns32k_attribute_table, ns32k_handle_fntype_attribute): New.
+       * config/rs6000/rs6000.c (rs6000_valid_type_attribute_p): Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (rs6000_attribute_table, rs6000_handle_longcall_attribute): New.
+       * config/sh/sh.c (sh_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (sh_attribute_table, sh_handle_interrupt_handler_attribute,
+       sh_handle_sp_switch_attribute, sh_handle_trap_exit_attribute):
+       New.
+       * config/stormy16/stormy16.c (stormy16_valid_type_attribute):
+       Remove.
+       (TARGET_VALID_TYPE_ATTRIBUTE): Don't define
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (stormy16_attribute_table, stormy16_handle_interrupt_attribute):
+       New.
+       * config/v850/v850.c (v850_valid_decl_attribute): Remove.
+       (TARGET_VALID_DECL_ATTRIBUTE): Don't define.
+       (TARGET_ATTRIBUTE_TABLE): Define.
+       (v850_attribute_table, v850_handle_interrupt_attribute,
+       v850_handle_data_area_attribute): New.
+       * config/v850/v850-c.c (mark_current_function_as_interrupt):
+       Return void.  Call decl_attributes instead of
+       valid_machine_attribute.
+
+Fri Sep 21 01:49:41 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh-protos.h (sh_pr_n_sets): Declare.
+       * sh.c (calc_live_regs): If the initial value for PR has been copied,
+       look at the copy to determine if PR needs to be saved.
+       sh_pr_n_sets: New function.
+       * sh.h (RETURN_ADDR_RTX): Use get_hard_reg_initial_val.
+       (ALLOCATE_INITIAL_VALUE): Define.
+
+       * sh.c (initial_elimination_offset):
+       Fix RETURN_ADDRESS_POINTER_REGNUM case.
+
+Fri Sep 21 01:13:56 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * integrate.c (allocate_initial_values): New function.
+       * integrate.h (allocate_initial_values): Declare.
+       * local-alloc.c (local_alloc): Move call to allocate_reg_info from
+       here...
+       * reload1.c (reload): And initialization of reg_equiv_memory_loc
+       from here...
+       * toplev.c (rest_of_compilation): To here.
+       Call allocate_initial_values.
+       * tm.texi: add description for ALLOCATE_INITIAL_VALUE.
+
+Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * ggc-page.c (ggc_marked_p): Properly convert return to boolean.
+
+2001-09-20  DJ Delorie  <dj@redhat.com>
+
+       * c-typeck.c (really_start_incremental_init): Discriminate
+       between zero-length arrays and flexible arrays.
+       (push_init_level): Detect zero-length arrays and handle them
+       like fixed-sized arrays.
+       * expr.c (store_constructor): Handle zero-length arrays and
+       flexible arrays correctly.
+       * doc/extend.texi: Update zero-length array notes.
+
+2001-09-20  Jim Wilson  <wilson@redhat.com>
+
+       * config/ia64/ia64.c (itanium_split_issue): Allow max 2 FP per cycle.
+       (insn_matches_slot): Handle TYPE_L and TYPE_X slots when checking
+       for issue port conflicts.
+       (cycle_end_fill_slots): TYPE_L instructions take two slots.
+
+2001-09-20  Andrew MacLeod  <amacleod@redhat.com>
+
+       * testsuite/gcc.c-torture/execute/990208-1.x: New. XFAIL at -O3
+       on ia64.
+
+Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (hashtab.h): Include.
+       (int_const_binop): Remove FORSIZE arg and compute from type; all
+       callers changed.
+       Call size_int_type_wide for all single-word constants.
+       (size_htab_hash, size_htab_eq): New functions.
+       (size_int_type_wide): Rework to use hash table.
+       * ggc-common.c (hashtab.h): Include.
+       (struct d_htab_root): New struct.
+       (d_htab_roots): New variable.
+       (ggc_add_deletable_htab, ggc_htab_delete): New functions
+       (ggc_mark_roots): Handle deletable htabs.
+       * ggc-page.c (ggc_marked_p): New function.
+       * ggc-simple.c (ggc_marked_p): Likewise.
+       * ggc.h: Reformatting throughout.
+       (ggc_marked_p, ggc_add_deletable_htab): New declarations.
+       * tree.c (init_obstacks): Make type_hash_table a deletable root.
+       (type_hash_add): Allocate struct type_hash from GC memory.
+       (mark_hash_entry, mark_type_hash): Deleted.
+       (type_hash_marked_p, type_hash_mark): New functions.
+       * Makefile.in (ggc-common.o, fold-const.o): Include hashtab.h.
+
+Thu Sep 20 12:49:34 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * sh.c (shiftcosts): Don't use shiftcosts array for modes wider
+       than SImode.
+
+Thu Sep 20 09:00:27 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * stor-layout.c (layout_type, case ARRAY_TYPE): Kludge to disable
+       array-too-large test for signed sizetype.
+
+Thu Sep 20 12:19:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (indirect_jump): Allow Pmode operand.
+       (tablejump): LIkewise; perform expansion to 64bit mode.
+       * i386.c (symbolic_operand): Allow 64bit PIC references.
+       (pic_symbolic_operand): Likewise.
+       (ix86_find_base_term): Strip the 64bit PIC references.
+       (legitimate_pic_address_disp_p): Handle 64bit PIC.
+       (legitimize_pic_address): Likewise.
+       (i386_simplify_dwarf_addr): Strip down the 64bit PIC references.
+       * i386.h (CASE_VECTOR_MODE): Set to SImode for 64bit PIC compilation.
+
+2001-09-19  Alexandre Petit-Bianco  <apbianco@redhat.com>
+
+       * stringpool.c (get_identifier_with_length): New function.
+       * tree.h (get_identifier_with_length): New prototype.
+
+2001-09-19  Alan Modra  <amodra@bigpond.net.au>
+           David Edelsohn  <edelsohn@gnu.org>
+
+       Revert:
+       * config/rs6000/rs6000.c (logical_operand): CONST_INTs are
+       already sign-extended.
+
+       * config/rs6000/aix.h (INIT_TARGET_OPTABS): Define TFmode handlers.
+       * config/rs6000/rs6000.c (logical_operand): Always compare op as
+       HOST_WIDE_INT.
+       (rs6000_emit_set_long_const): Avoid unnecessary shift.
+       (output_profile_hook): Declare label_name const.
+       * config/rs6000/rs6000.md (boolcsi3, boolcdi3): Change predicates
+       to match constraints.
+
+2001-09-19  Stan Shebs  <shebs@apple.com>
+
+       * alias.c: Fix typos in comments.
+       * sched-rgn.c (init_ready_list): Ditto.
+       * unwind-dw2.c (uw_frame_state_for): Ditto.
+       * unwind-dw2-fde.c (_Unwind_Find_FDE): Ditto.
+       * unwind.inc (_Unwind_RaiseException_Phase2): Ditto.
+       * config/rs6000/rs6000.c (rs6000_adjust_priority): Ditto.
+
+2001-09-19  Richard Henderson  <rth@redhat.com>
+
+       * cfg.c (force_nonfallthru_and_redirect): Handle redirecting
+       to the exit block.
+       * Makefile.in (cfg.o): Depend on TM_P_H.
+
+2001-09-19  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (local_symbol_p): Split out from ...
+       (local_symbolic_operand): ... here.
+       (small_symbolic_operand): Check mode.
+       (global_symbolic_operand): New.
+       (input_operand): Reject symbolics if explicit relocs.
+       (call_operand): Tidy.
+       (alpha_legitimize_address): Use movdi_er_high_g.
+       (alpha_expand_mov): Likewise.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.h (PREDICATE_CODES): Update.
+       * config/alpha/alpha.md (UNSPEC_LITERAL, UNSPEC_LITUSE): New.
+       (UNSPEC_LDGP2, UNSPECV_PLDGP2): New.
+       (UNSPECV_LDGP2): Remove.
+       (all call patterns): Use 's' not 'i' for symbolic constraint.
+       (call_osf call_value_osf): Use call_operand.
+       (all osf call patterns): Use $gp.  New peepholes for explicit relocs.
+       (movdi_er_nofix, movdi_er_fix): Remove symbolic alternative.
+       (prologue_ldgp_1_er): Remove.
+       (ldgp_er_1, ldgp_er_2, prologue_ldgp_er_2): New.
+       (builtin_setjmp_receiver_er patterns): Use them.
+       (exception_receiver_er): Likewise.
+
+2001-09-19  Richard Henderson  <rth@redhat.com>
+
+       * cfgbuild.c (find_sub_basic_blocks): Handle insns that can throw.
+
+       * emit-rtl.c (try_split): Copy NORETURN, SETJMP, ALWAYS_RETURN
+       and NON_LOCAL_GOTO notes.
+       * recog.c (peephole2_optimize): Likewise.  Handle EH_REGION;
+       copy over CALL_INSN_FUNCTION_USAGE.
+
+2001-09-18  Catherine Moore  <clm@redhat.com>
+
+       * config/stormy16/stormy16.h (DEFAULT_PCC_STRUCT_RETURN):
+       Define as 0.
+
+2001-09-18  Ulrich Weigand  <uweigand@de.ibm.com>:
+
+       * config.gcc (s390-*-linux-*, s390x-*-linux*): Switch to
+       new-style tm_file specification.  Specify correct tm_p_file,
+       md_file, and out_file for s390x.
+
+       * config/s390/linux.h, linux64.h:  Don't include other target
+       macro header files.  Now handled via tm_file.
+
+       * config/s390/linux.h, s390.h:  (IEEE_FLOAT, TARGET_IEEE_FLOAT,
+       TARGET_IBM_FLOAT): Move from linux.h to s390.h to ensure they
+       are defined before use.
+
+Tue Sep 18 09:51:11 2001  Eric Christopher  <ecechristo@redhat.com>
+
+       * config/mips/mips.c (mips_asm_file_start): Conditionalize Elf
+       code generation only for Gnu assembler.
+
+2001-09-18  Catherine Moore  <clm@redhat.com>
+
+       * config/stormy16 (LIB_SPEC): Remove -lnosys.
+
+2001-09-18  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_frame_set): New.
+       (mips_emit_frame_related_store): When storing two 32-bit FPRs, use
+       a parallel frame-related expression with a set for each register.
+
+2001-09-18  Philip Blundell  <philb@gnu.org>
+
+       * config/arm/lib1funcs.asm (L_dvmd_lnx): Don't rely on kernel
+       header files.
+
+2001-09-17  Dale Johannesen  <dalej@apple.com>
+
+       * config/rs6000/rs6000.h (FIXED_REGISTERS): Use FIXED_R2.
+       * config/rs6000/aix.h (FIXED_R2): Define.
+       * config/rs6000/darwin.h (FIXED_R2): Define.
+       * config/rs6000/sysv4.h (FIXED_R2): Define.
+
+2001-09-17  Jeff Sturm  <jsturm@one-point.com>
+
+       * except.c (dw2_build_landing_pads): New local
+       clobbers_hard_regs.  Emit an ASM_INPUT as a scheduling
+       barrier after clobbers.  Fixes c++/4012.
+
+2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gcc.c (find_file): Use ACONCAT in lieu of alloca/strcpy/strcat.
+
+2001-09-17  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * dostage2, dostage3, listing, make-l2.com, makefile.vms,
+       patch-apollo-includes, vmsconfig.com: Remove obsolete files.
+
+2001-09-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-aux-info.c (affix_data_type): Use ASTRDUP in lieu of
+       alloca/strcpy.
+
+2001-09-17  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (_cpp_lex_direct): New.
+       * cpplex.c (_cpp_lex_token): Update.
+       (lex_token): Rename _cpp_lex_direct; lex into pfile->cur_token,
+       and increment that pointer.
+       * cppmacro.c (alloc_expansion_token): New.
+       (lex_expansion_token): Lex macro expansion directly into
+       macro storage.
+
+2001-09-16  Brad Lucier  <lucier@math.purdue.edu>
+
+       * Makefile.in: Make rtl-error.o depend on $(CONFIG_H).
+
+Sun Sep 16 21:59:46 CEST 2001  Jan hubicka  <jh@suse.cz>
+
+       * basic-block.h (free_bb_for_insn): Declare.
+       * bb-reorder.c (label_for_bb): Use block_label.
+       (emit_jump_to_block_after): Remove.
+       (insert_intra_1): Do not update block_for_insn.
+       (insert_inter_bb_scope_notes): Likewise; update bb->end
+       * cfg.c (free_bb_for_insn): New.
+       (try_rediret_by_replacing_jump): Avoid set_block_for_new_insns call.
+       (force_nonfallthru_and_redirect): Likewise; do not update BB boundaries.
+       (commit_one_edge_insertion): Likewise.
+       (commit_one_edge_insertion): Do not update BB boundary.
+       (commit_edge_insertions): Do not call compute_bb_for_insn.
+       * cfgbuild.c (find_basic_blocks): Do not free basic_block_for_insn.
+       * cfgcleanup.c (merge_blocks_move_predecessor): Use reorder_insns_nobb.
+       (merge_blocks_move_successor_nojumps): Likewise.
+       (try_crossjump_to_edge): Do not update block_for_insn.
+       * combine.c (combine_instructions): Remove compute_bb_for_insn call.
+       * df.c (df_pattern_emit_later): Do not update BB boundary.
+       (df_jump_pattern_emit_after): Likewise.
+       (df_insn_move_before): Use emit_insn_before.
+       * emit-rtl.c (try_split): Emit after trial to get bb boundary updated
+        properly.
+       (add_insn_after, add_insn_before, emit_insns_after): Update BB
+       boundaries and basic_block_for_insn.
+       (reorder_insns_nobb): Rename from reorder_insns.
+       (reorder_insns): New.
+       (emit_block_insn_before, emit_block_insn_after): Kill.
+       * flow.c (check_function_return_warnings): Do not call
+       compute_bb_for_insn; Do not free basic_block_for_insn.
+       (attempt_auto_inc): Do not update basic_block_for_insn.
+       * function.c (emit_return_into_block): Likewise;
+       do not update BB boundaries.
+       * gcse.c (handle_avail_expr): Do not update basic_block_for_insn.
+       (insert_insn_end_bb): Use emit_insn_before; Likewise.
+       (pre_insert_copy_insn): Likewise.
+       (update_ld_motion_notes): Likewise.
+       (insert_insn_start_bb): Likewise.
+       (replace_store_insn): Likewise.
+       * ifcvt.c (noce_process_if_block): Likewise.
+       (if_convert): Do not call compute_bb_for_insn.
+       * lcm.c (optimize_mode_switching): Do not update BB boundaries.
+       Use emit_insn_before and emit_insn_after.
+       * recog.c (split_all_insns): Do not update BB boundaries;
+       Do not call compute_bb_for_insn.
+       (peephole2_optimize): Do not update BB boundaries.
+       * reg-stack.c (emit_pop_insn): Use emit_insn_after and
+       emit_insn_before.
+       (emit_swap_insn): Likewise.
+       (convert_regs_1): Likewise.
+       * reload1.c (reload): Call compute_bb_for_insn.
+       * rtl.h (reorder_insns_nobb): Declare.
+       * ssa.c (rename_equivalent_regs): Use emit_insn_before.
+       * toplev.c (rest_of_compilation): Call free_bb_for_insn
+       at places CFG is invalidated; do not call compute_bb_for_insn.
+
+       * cfg.c (expunge_block): Invalidate BB structure.
+
+       * (merge_blocks_nomove): Update properly BLOCK_FOR_INSN
+       array.
+
+       * cfg.c (verify_flow_info): Verify the basic_block_for_insn array.
+
+2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (_cpp_lex_token): Update prototype.
+       * cpplex.c (_cpp_lex_token): New prototype.
+       * cpplib.c (skip_rest_of_line, check_eol, _cpp_handle_directive,
+       lex_macro_node, read_flag, do_pragma_poison): Update.
+       * cppmacro.c (cpp_get_token, parse_params,
+       lex_expansion_token): Update.
+
+2001-09-16  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppmain.c (scan_translation_unit): Don't worry about
+       putting a space after hashes.
+       * cpplib.c (directive_diagnostics): New.
+       (_cpp_handle_directive): Update to use directive_diagnostics.
+       (run_directive): Don't toggle prevent_expansion.
+       (do_line): Backup in case of the line extension.
+       * cpplib.h (cpp_lexer_pos): Remove.
+       * cppmacro.c (_cpp_create_definition): Precede a leading #
+       with whitespace.
+
+2001-09-15  Richard Henderson  <rth@redhat.com>
+
+       * c-typeck.c (comptypes): Handle zero-length arrays properly.
+
+2001-09-15  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * c-common.c (c_promoting_integer_type_p): Handle ?Imode types.
+
+2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       PR preprocessor/3571
+       * tradcpp.c (handle_directive): Skip non-vertical space.
+
+2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppmain.c (setup_callbacks): Set line callback only
+       if outputting preprocessed source.
+
+2001-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * collect2.c (main): Const-ification.
+       * gcc.c (translate_options, process_command): Use xstrdup in
+       lieu of xmalloc/strcpy.
+       (main): Use concat in lieu of xmalloc/strcpy/strcat.
+
+2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Fix
+       example.
+
+2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * scan-decls.c (scan_decls): Fix typo.
+
+2001-09-15  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (struct cpp_reader): Remove lexer_pos, directive_pos.
+       Split mlstring_pos into mls_line and mls_col.
+       * cppinit.c (cpp_create_reader): Initialize line to 1.
+       (cpp_destroy): Free tokenruns.
+       (push_include): Don't update lexer_pos.
+       * cpplex.c (unterminated, parse_string): Update.
+       (lex_token): Don't update lexer_pos, update.
+       * cpplib.c (if_stack): Save line instead of line + col.
+       (start_directive, _cpp_do__Pragma, do_else, do_elif,
+       push_conditional, _cpp_pop_buffer): Update.
+       * cppmacro.c (funlike_invocation_p): Don't save lexer_pos.
+       (_cpp_create_definition): Update.
+
+2001-09-15  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/abi64.h: Add support for MEABI.
+
+2001-09-15  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.md: Add unspec #2.
+       (reload_indi): Use.
+       (reload_outdi): Ditto.
+       (reload_outsi): Ditto.
+       (HILO_delay): New.
+
+2001-09-15  Eric Christopher  <echristo@redhat.com>
+           Jason Eckhardt  <jle@redhat.com>
+
+       * config.gcc: Add mipsisa32 target and mipsisa32-linux target.
+       * config/mips/isa32-linux.h: New file.
+       * config/mips/isa3264.h: Ditto.
+       * config/mips/mips-protos.h: Add mips_hard_regno_nregs.
+       * config/mips/mips.c (mips_hard_regno_nregs): Move here from mips.h.
+       (output_block_mode): Support MEABI.
+       (function_arg): Ditto. Fix floating point arg passing.
+       (mips_va_start): Ditto.
+       (override_options): Add isas 32 and 64, meabi, mips32 and mips64
+       processors.
+       (mips_asm_file_start): Add new section to pass abi to gdb.
+       (function_arg_pass_by_reference): Support MEABI.
+       (mips_parse_cpu): Support mips32 and mips64 processors.
+       * config/mips/mips.h: Support ABI_MEABI, TARGET_MIPS4KC,
+       TARGET_MIPS5KC.  Support isa32 and isa64.
+       (processor_type): Add r4kc, r5kc, r20kc.
+       (GENERATE_MULT3_SI): New.
+       (GENERATE_MULT3_DI): Ditto.
+       (GENERATE_MULT3): Remove.
+       (ISA_HAS_64BIT_REGS): Add isa == 64.
+       (ISA_HAS_8CC): Add mips_isa = 32 and 64.
+       (ISA_HAS_MADD_MSUB): New.
+       (ISA_HAS_CLZ_CLO): Ditto.
+       (ISA_HAS_DCLZ_DCLO): Ditto.
+       (ABI_GAS_ASM_SPEC): New.
+       (GAS_ASM_SPEC): Use. Add support for mips32, mips64.
+       (ASM_SPEC): Ditto.
+       (LINK_SPEC): Ditto.
+       (SUBTARGET_CC1_SPEC): Ditto.
+       (SUBTARGET_CPP_SIZE_SPEC): Ditto.
+       (PAD_VARARGS_DOWN): Support MEABI.
+       (HARD_REGNO_NREGS): Move to mips.c.
+       (ASM_OUTPUT_IDENT): Add #undef.
+       * config/mips/mips.md: Add r4kc, r5kc, r20kc.
+       (mulsi3): Use GENERATE_MULT3_SI.
+       (mulsi3_mult3): Ditto.  Support mips32, mips64.
+       (mul_acc_si): Use ISA_HAS_MADD_MSUB.
+       (mul_sub_si): New pattern.
+       (unnamed splitters): New.
+       (muldi3): Use GENERATE_MULT3_DI.
+       (muldi3_internal2): Ditto.
+       (movdicc): Support mips32.
+       * config/mips/t-isa3264: New file.
+
+2001-09-15  Hans-Peter Nilsson  <hp@axis.com>
+
+       * rtl.h (FIND_REG_INC_NOTE) [HAVE_PRE_INCREMENT
+       || HAVE_PRE_DECREMENT || HAVE_POST_INCREMENT
+       || HAVE_POST_DECREMENT]: Call find_regno_note for REGs.
+
+       * reorg.c (fill_slots_from_thread): After call to
+       steal_delay_list_from_target, update own_thread as new_thread may
+       have branched.
+
+2001-09-14  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpperror.c (print_location): Take line and column, for
+       default positioning use the previously lexed token.
+       (_cpp_begin_message): Take line and column.
+       (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
+       cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
+       * cpphash.h (_cpp_begin_message): Update prototype.
+       * cppinit.c (push_include): Don't set output line.
+       * cpplex.c (_cpp_lex_token): Callback for start of new output lines.
+       * cpplib.c (do_diagnostic, _cpp_pop_buffer): Update.
+       (do_pragma): Kludge for front ends.  Don't expand macros at all.
+       * cpplib.h (cpp_lookahead, cpp_token_with_pos, cpp_get_line): Remove.
+       (struct cpp_token): Remove output_line.
+       (struct cpp_callbacks): New member line_change.
+       * cppmacro.c (builtin_macro, paste_all_tokens, replace_args,
+       cpp_get_token): Preserve BOL flag.
+       (cpp_get_line): Remove.
+       (_cpp_backup_tokens): Remove useless abort().
+       * cppmain.c (cb_line_change): New.
+       (scan_translation_unit): Don't worry about starting new lines here.
+       * scan-decls.c (scan_decls): Update.
+       * c-lex.c (c_lex, init_c_lex): Update.
+       (cb_line_change, src_lineno): New.
+
+Fri Sep 14 13:54:50 EDT 2001  John Wehle  (john@feith.com)
+
+       * tree.c (append_random_chars): Generate the random
+       characters in a reproducable fashion.
+
+2001-09-14  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (internal_label_prefix): New.
+       (internal_label_prefix_len): New.
+       (override_options): Set them.
+       (local_symbolic_operand): New.
+       (legitimate_pic_address_disp_p): Use it.
+       (legitimize_pic_address): Likewise.
+
+2001-09-14  Marc Espie <espie@openbsd.org>
+
+       * config/i386/unix.h (ASM_OUTPUT_MI_THUNK):  Generate reference to GOT
+       correctly.
+
+2001-09-14  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * config/alpha/alpha.md (unaligned_extendhidi_be): Fix.
+       * config/alpha/unicosmk.h (INIT_TARGET_OPTABS): New.
+
+2001-09-14  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * rtlanal.c (subreg_regno_offset): Add semicolon to end of
+       invocation of SUBREG_REGNO_OFFSET.
+
+       * haifa-sched.c: Fix typo in FSF copyright statement.
+       * sched-deps.c: Fix typo in FSF copyright statement.
+       * sched-ebb.c: Fix typo in FSF copyright statement.
+       * sched-rgn.c: Fix typo in FSF copyright statement.
+       * sched-vis.c: Fix typo in FSF copyright statement.
+
+       * config.gcc: Move inclusion of arm elf specific header files
+       from the files themselves into the tm_file variable.  Make
+       sure that elfos.h is included before target specific elf
+       headers.
+       * config/arm/aout.h (NO_DOLLAR_IN_LABEL): Only define if not
+       already defined.
+       (ASM_OUTPUT_ASCII, ASM_OUTPUT_SKIP): Protect definition.
+       * config/arm.arm.h (TARGET_MEM_FUNCTIONS,
+       ASM_OUTPUT_CASE_LABEL): Protect definition.
+       (CC1_SPEC, FP_DEFAULT, ARM_FUNCTION_PROFILE): Only define if
+       not already defined.
+       * config/arm/conix-elf.h: (USER_LABEL_PREFIX,
+       LOCAL_LABEL_PREFIX, MAKE_DECL_ONE_ONLY, UNIQUE_SECTION):
+       Remove duplicate definition.
+       (READONLY_DATA_SECTION, SUBTARGET_EXTRA_SECTION,
+       (SUBTARGET_EXTRA_SECTION_FUNCTION, RDATA_SECTION_ASM_OP,
+       (RDATA_SECTION_FUNCTION): Remove redundant definition.
+       (STARTFILE_SPEC, ENDFILE_SPEC): Protect definition.
+       Remove inclusion of arm/elf.h.
+       * config/arm/unknown-elf.h: as for conix-elf.h.
+       (STARTFILE_SPEC): Include crti.o and crtn.o.
+       * config/arm/linux-elf.h: as for conix-elf.h.
+       * config/arm/ecos-elf.h: Remove inclusion of unknown-elf.h.
+       * config/arm/strongarm-elf.h: Remove inclusion of
+       unknown-elf.h.
+       * config/arm/xscale-elf.h: Remove inclusion of unknown-elf.h.
+       * config/arm/unknown-elf-oabi.h: Remove inclusion of
+       unknown-elf.h and elf.h.
+       * config/arm/uclinux-elf.h: Remove inclusion of linux-elf.h.
+       * config/arm/linux-gas.h (DBX_DEBUGGING_INFO,
+       ASM_WEAKEN_LABEL): Remove redundant definition.
+       * config/arm/elf.h: Test for inclusion of elfos.h
+       (USER_LABEL_PREFIX, ASM_DECLARE_RESULT, ASM_DECLARE_RESULT,
+       ASM_DECLARE_OBJECT_NAME, ASM_FINISH_DECLARE_OBJECT_NAME,
+       SUBTARGET_EXTRA_SECTION, SUBTARGET_EXTRA_SECTION_FUNCTION,
+       EXTRA_SECTIONS, INT_ASM_OP, ASM_WEAKEN_LABEL): Remove
+       redundant definition.
+       (TYPE_OPERAND_FMT, ASM_DECLARE_FUNCTION_NAME,
+       ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_INTERNAL_LABEL,
+       ASM_OUTPUT_ALIGNED_COMMON): Protect definition.
+       * t-arm-elf (EXTRA_MULTILIB_PARTS): Add crti.o and crtn.o.
+       Add rules to build crti.o and crtn.o
+       * crti.asm: New file.
+       * crtn.asm: New file.
+
+2001-09-13  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * c-parse.in (_yylex): Use _cpp_backup_tokens.
+       * cpphash.h (struct tokenrun): Add prev.
+       (struct lexer_state): Remove bol.
+       (struct cpp_reader): Remove old lookahead stuff, add lookaheads.
+       (_cpp_free_lookaheads, _cpp_release_lookahead, _cpp_push_token)
+       : Remove.
+       * cppinit.c (cpp_create_reader): Don't set bol.
+       (cpp_destroy): Don't free lookaheads.
+       * cpplex.c (lex_directive): Remove.
+       (next_tokenrun): Update.
+       (_cpp_lex_token): Clean up logic.
+       (lex_token): Update to return a pointer to lexed token, since it
+       can move to the start of the buffer.  Simpify newline handling.
+       * cpplib.c (SEEN_EOL): Update.
+       (skip_rest_of_line): Remove lookahead stuff.
+       (end_directive): Line numbers are already incremented.  Revert
+       to start of lexed token buffer if we can.
+       (_cpp_handle_directive, do_pragma, do_pragma_dependency,
+       parse_answer): Use _cpp_backup_tokens.
+       (run_directive, cpp_pop_buffer): Don't set bol, set saved_flags
+       instead.  Don't check for EOL.
+       (do_include_common, do_line, do_pragma_system_header): Use
+       skip_rest_of_line.
+       * cpplib.h (BOL, _cpp_backup_tokens): New.
+       * cppmacro.c (save_lookahead_token, take_lookahead_token,
+       alloc_lookahead, free_lookahead, _cpp_free_lookaheads,
+       cpp_start_lookahead, cpp_stop_lookahead, _cpp_push_token): Remove.
+       (builtin_macro): Don't use cpp_get_line.
+       (cpp_get_line): Short term kludge.
+       (parse_arg): Handle directives in arguments here.  Back up when
+       appropriate.  Store EOF at end of argument list.
+       (funlike_invocation_p): Use _cpp_backup_tokens.
+       (push_arg_context): Account for EOF at end of list.
+       (cpp_get_token): Remove lookahead stuff.  Update.
+
+2001-09-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-parse.in (yyerror): Const-ification and/or static-ization.
+       * c-typeck.c (push_member_name): Likewise.
+       * collect2.c (main): Likewise.
+       * dbxout.c (dbxout_parms): Likewise.
+       * diagnostic.c (format_with_decl): Likewise.
+       * dwarf2out.c (output_ranges): Likewise.
+       * dwarfout.c (fundamental_type_code): Likewise.
+       * except.c (dw2_output_call_site_table): Likewise.
+       * gcc.c (do_spec_1): Likewise.
+       * genopinit.c (optabs): Likewise.
+       * objc/objc-act.c (synth_id_with_class_suffix, start_class,
+       gen_declaration_1, handle_impent): Likewise.
+       * protoize.c (default_include, in_system_include_dir, abspath):
+       Likewise.
+       * sched-vis.c (visualize_stall_cycles): Likewise.
+       * sdbout.c (plain_type_1, sdbout_end_function,
+       sdbout_end_epilogue): Likewise.
+       * varasm.c (decode_reg_name): Likewise.
+
+       * 1750a.c (mod_regno_adjust): Likewise.
+       * alpha.c (alpha_write_one_linkage,
+       unicosmk_output_default_externs): Likewise.
+       * arm.c (arm_condition_codes): Likewise.
+       * arm.h (arm_condition_codes): Likewise.
+       * avr.c (output_movsisf, encode_section_info): Likewise.
+       * darwin.h (GEN_BINDER_NAME_FOR_STUB, GEN_SYMBOL_NAME_FOR_SYMBOL):
+       Likewise.
+       * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+       * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Likewise.
+       * m88k.c (output_function_profiler): Likewise.
+       * mips.c (mips_output_conditional_branch): Likewise.
+       * ns32k.c (ns32k_out_reg_names): Likewise.
+       * ns32k.h (ns32k_out_reg_names): Likewise.
+       * pj.c (pj_output_rval): Likewise.
+       * rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Likewise.
+       * sparc.c (sparc_flat_function_prologue,
+       sparc_flat_function_epilogue): Likewise.
+
+2001-09-13  Markus Werle <numerical.simulation@web.de>
+           Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
+       Aachen University of Technology".
+
+2001-09-13  Andreas Schwab  <schwab@suse.de>
+
+       * config/float-m68k.h: Define DECIMAL_DIG and FLT_EVAL_METHOD for
+       C99.
+
+2001-09-13  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (small_symbolic_operand): New.
+       (override_options): Set MASK_SMALL_DATA based on pic/PIC.
+       (some_operand, input_operand): Don't handle HIGH.
+       (alpha_legitimize_address): Use it.  Emit HIGH with PLUS gp.
+       (alpha_expand_mov): Likewise.
+       (print_operand) [H]: Just print HIGH symbol.
+       (print_operand_address): Handle small data.
+       * config/alpha/alpha.h (MASK_SMALL_DATA, TARGET_SMALL_DATA): New.
+       (TARGET_SWITCHES): Add -msmall-data/large-data.
+       (PIC_OFFSET_TABLE_REGNUM): New.
+       (PREFERRED_RELOAD_CLASS): Don't handle HIGH.
+       (PREDICATE_COES): Update.
+       * config/alpha/alpha.md (adddi_er_high): New.
+       (adddi_er_low): Handle small data.
+       * config/alpha/elf.h (DO_SELECT_SECTION): If SMALL_DATA,
+       prefer .sdata to .rodata.
+       (SELECT_RTX_SECTION): Likewise.
+
+2001-09-12  Josh Martin  <josh.martin@abq.sc.philips.com>
+
+       * fixinc/inclhack.def(hpux11_size_t): Keep HP-UX headers from
+       defining __size_t and leaving size_t undefined.
+
+2001-09-12  Diego Novillo  <dnovillo@redhat.com>
+
+       * basic-block.h (expunge_block): Declare.
+       * cfg.c (expunge_block): Remove static declaration.
+
+2001-09-12  Richard Henderson  <rth@redhat.com>
+
+       * integrate.c (copy_insn_list): Copy label name from
+       NOTE_INSN_DELETED_LABEL.
+
+2001-09-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (c_tree_code_name): Const-ification.
+       * c-decl.c (c_decode_option): Likewise.
+       * c-typeck.c (warn_for_assignment): Likewise.
+       * collect2.c (libexts, is_ctor_dtor, main, ignore_library):
+       Likewise.
+       * cppinit.c (output_deps): Likewise.
+       * dependence.c (dependence_string, direction_string): Likewise.
+       * dwarf2out.c (output_ranges): Likewise.
+       * fixinc/fixfixes.c (emit_gnu_type): Likewise.
+       * fixinc/gnu-regex.c (re_error_msgid): Likewise.
+       * gcc.c (standard_exec_prefix, standard_exec_prefix_1,
+       standard_startfile_prefix, standard_startfile_prefix_1,
+       standard_startfile_prefix_2, tooldir_base_prefix,
+       standard_bindir_prefix, find_a_file): Likewise.
+       * genattrtab.c (make_length_attrs): Likewise.
+       * gencheck.c (tree_codes): Likewise.
+       * genemit.c (gen_split): Likewise.
+       * genrecog.c (special_mode_pred_table): Likewise.
+       * graph.c (graph_ext): Likewise.
+       * protoize (default_include): Likewise.
+       * reload.c (reload_when_needed_name): Likewise.
+       * sched-vis.c (visualize_stall_cycles): Likewise.
+       * tlink.c (recompile_files): Likewise.
+       * toplev.c (decode_g_option): Likewise.
+       * tradcpp.c (output_deps): Likewise.
+       * varasm.c (decode_reg_name): Likewise.
+
+       * arm.c (arm_condition_codes, strings_fpa, thumb_condition_code):
+       Const-ification.
+       * arm.md: Likewise.
+       * avr.c (avr_regnames, encode_section_info): Likewise.
+       * c4x.c (float_reg_names): Likewise.
+       * darwin.h (ASM_GLOBALIZE_LABEL): Likewise.
+       * elfos.h (const_section): Likewise.
+       * i386.c (ix86_comp_type_attributes): Likewise.
+       * i386/win32.h (STRIP_NAME_ENCODING): Likewise.
+       * ia64/aix.h (UNIQUE_SECTION): Likewise.
+       * ia64.c (type_names): Likewise.
+       * m68hc11.c (reg_class_names): Likewise.
+       * m88k.c (m_options): Likewise.
+       * mips.c (mips_output_conditional_branch, mips_unique_section):
+       Likewise.
+       * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       * sparc.c (sparc_flat_function_prologue, sparc_flat_function_epilogue,
+       ultra_code_names): Likewise.
+       * sparc.h (OVERRIDE_OPTIONS): Likewise.
+
+2001-09-12  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.in (gcc_cv_as_shf_merge): Fix a typo.
+       Use --fatal-warnings option for gas.
+       * configure: Rebuilt.
+
+2001-09-12  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * doc/install.texi (Specific, alphaev5-cray-unicosmk*): Document.
+
+2001-09-11  Jim Wilson  <wilson@redhat.com>
+
+       * alias.c (clear_reg_alias_info): Only handle pseudo registers.
+
+2001-10-11  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * builtins.c (c_strlen): Treat an offset too large for a
+       HOST_WIDE_INT as out of range.
+
+Tue Sep 11 18:57:47 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (EDGE_CRITICAL): Remove; renumber other flags.
+       (EDGE_CRITICAL_P): New predicate.
+       * cfg.c (force_nonfallthru_and_redirect, split_edge): Kill EDGE_CRITICAL
+       handling.
+       (insert_insn_on_edge): Use EDGE_CRITICAL_P.
+       (dump_edge_info): Remove "crit".
+       * cfganal.c (mark_critical_edges): Kill.
+       * cfgbuild.c (find_basic_blocks): Remove mark_critical_edges call.
+       * cfgcleanup.c (cleanup_cfg): Likewise.
+       * profile.c (instrument_edges): Use EDGE_CRITICAL_P.
+       (find_spanning_tree): Likewise.
+       * reg-stack.c (convert_regs_1): Likewise.
+       * ssa.c (mark_regs_equivalent_over_bad_edges): Likewise.
+
+       * basic-block.h (create_basic_block_structure): New.
+       (create_basic_block): Update prototype.
+       (force_nonfallthru): New.
+       * bb-reorder.c (fixup_reorder_chain): Fixup use force_nonfallthru.
+       * cfg.c (create_basic_block_structure): Rename from create_basic_block;
+       handle updating of block_for_insn, creating of empty BBs and BBs at
+       the end of INSN chain.
+       (create_basic_block): New function.
+       (split_block): Use create_basic_block.
+       (force_nonfallthru_and_redirect): Break out from ...; cleanup
+       (redirect_edge_and_branch_force): ... here.
+       (force_nonfallthru): New.
+       (split_edge): Rewrite to use force_nonfallthru and create_block.
+       * cfgbuild.c (find_basic_blocks_1): Use create_basic_block_structure.
+       (find_basic_blocks): Free basic_block_for_insn.
+       * cfgcleanup.c (merge_blocks): Use force_nonfallthru.
+
+       * cfg.c: Fix formating.
+       * cfgcleanup.c: Fix formating.
+       (merge_blocks, tail_recursion_label_p): Return bool.
+       (merge_blocks_move_predecessor_nojumps,
+        merge_blocks_move_successor_nojumps): Return void.
+
+2001-09-11  Jakub Jelinek  <jakub@redhat.com>
+
+       * configure.in: Check whether assembler supports section merging.
+       * config.in: Rebuilt.
+       * configure: Rebuilt.
+       * varasm.c (variable_section, output_constant_pool): Pass alignment
+       to SELECT_SECTION and SELECT_RTX_SECTION.
+       (mergeable_string_section): New.
+       (mergeable_constant_section): New.
+       (default_elf_asm_named_section): Output SECTION_MERGE and
+       SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+       * output.h (mergeable_string_section): New.
+       (mergeable_constant_section): New.
+       (SECTION_MERGE, SECTION_STRINGS, SECTION_ENTSIZE): Define.
+       * toplev.c (flag_merge_constants): New.
+       (f_options): Add -fmerge-constants and -fmerge-all-constants
+       options.
+       (toplev_main): Default to -fno-merge-constants if not optimizing.
+       * flags.h (flag_merge_constants): Add extern.
+       * invoke.texi (-fmerge-constants, -fmerge-all-constants): Document.
+       * tm.texi (SELECT_SECTION, SELECT_RTX_SECTION): Document added third
+       argument.
+       * config/elfos.h (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START):
+       Define if assembler has working .subsection -1 support.
+       (SELECT_RTX_SECTION, SELECT_SECTION): Add third macro argument.
+       Put constant into special SHF_MERGE sections if the linker should
+       attempt to merge duplicates.
+       * config/ia64/sysv4.h (SELECT_RTX_SECTION, SELECT_SECTION): Add third
+       macro argument.
+       Put constant into special SHF_MERGE sections if the linker should
+       attempt to merge duplicates.
+       * config/alpha/elf.h: Likewise.
+       (ASM_SECTION_START_OP, ASM_OUTPUT_SECTION_START): Define if assembler
+       has working .subsection -1 support.
+       * config/nextstep.h: Add third argument to SELECT_RTX_SECTION and
+       SELECT_SECTION.
+       * config/svr3.h: Likewise.
+       * config/darwin.h: Likewise.
+       * config/arm/aof.h: Likewise.
+       * config/arm/linux-elf.h: Likewise.
+       * config/avr/avr.h: Likewise.
+       * config/c4x/c4x.h: Likewise.
+       * config/d30v/d30v.h: Likewise.
+       * config/i386/dgux.h: Likewise.
+       * config/i386/osfrose.h: Likewise.
+       * config/i386/sco5.h: Likewise.
+       * config/i386/svr3gas.h: Likewise.
+       * config/ia64/aix.h: Likewise.
+       * config/m32r/m32r.h: Likewise.
+       * config/m68k/m68k.h: Likewise.
+       * config/m88k/dgux.h: Likewise.
+       * config/m88k/m88k.h: Likewise.
+       * config/mcore/mcore-pe.h: Likewise.
+       * config/mips/mips.h: Likewise.
+       * config/pa/pa.h: Likewise.
+       * config/pa/pa-linux.h: Likewise.
+       * config/romp/romp.h: Likewise.
+       * config/rs6000/sysv4.h: Likewise.
+       * config/rs6000/xcoff.h: Likewise.
+       * config/s390/linux.h: Likewise.
+       * config/sparc/sparc.h: Likewise.
+       * config/sparc/sysv4.h: Likewise.
+       * config/stormy16/stormy16.h: Likewise.
+       * config/v850/v850.h: Likewise.
+       * config/vax/vms.h: Likewise.
+       * config/arm/arm.c (arm_elf_asm_named_section): Output SECTION_MERGE
+       and SECTION_STRINGS flags plus SECTION_ENTSIZE entity size.
+       * config/sparc/sparc.c (sparc_elf_asm_named_section): Use
+       default_elf_asm_named_section for SHF_MERGE sections.
+
+Tue Sep 11 17:55:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * bb-reorder.c (fixup_reorder_chain): Fallthru edge to exit block
+       is OK.
+
+2001-09-11  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (split_specs_attrs): Allow for empty attributes with
+       empty TREE_PURPOSE.  Fixes PR c/4294.
+
+Tue Sep 11 11:37:52 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * basic-block.h (cached_make_edge, make_single_succ): New.
+       (make_edge): Remove first parameter.
+       * bb-reroder.c (fixup_reorder_chain): Use make_single_succ_edge.
+       * cfg.c (cached_make_edge): Rename from make_edge; return newly
+       created edge; use obstack allocation.
+       (make_edge, make_single_succ_edge): New.
+       (first_removed_edge): New static variable.
+       (init_flow): Initialize first_removed_edge and n_edges.
+       (clear_edges): Use remove_edge.
+       (flow_delete_block): Likewise.
+       (remove_edge): Add removed edges to the removed edges list.
+       (split_block, redirect_edge_and_branch_force, split_edge):
+       Use make_edge.
+       * cfganal.c (flow_call_edges_add): Updaet make_edge call.
+       (add_noreturn_fake_exit_edges): Likewise.
+       (connect_infinite_loops_to_exit): Liekwise.
+       * cfgbuild.c (make_label_edge, make_edges, find_sub_basic_blocks):
+       Use cached_make_edge.
+       * cfgcleanup.c (try_crossjump_to_edge): Use make_single_succ_edge.
+       * profile.c (branch_prob): Update make_edge call.
+       * ssa-dce.c (ssa_eliminate_dead_code): Likewise.
+
+2001-09-11  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c: Tidy formatting.
+       (local_symbolic_operand): Verify mode.
+       (alpha_sa_mask): Ignore unicos for eh_return.
+       (alpha_expand_epilogue): Handle sp_adj2 zero, not NULL.
+       * config/alpha/alpha.md (umk divsi patterns): Remove.
+       (extendsfdf2): Remove unicos check.
+       (tablejump): Merge vms and unicos code; always use direct set
+       plus label_ref use.
+
+2001-09-11  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * config.gcc (alpha*-*-unicosmk*): New target.
+
+       * config/alpha/alpha-protos.h (symbolic_operand,
+       unicosmk_add_call_info_word, unicosmk_add_extern,
+       unicosmk_defer_case_vector, unicosmk_unique_section,
+       unicosmk_output_align, unicosmk_text_section, unicosmk_data_section,
+       unicosmk_asm_file_start, unicosmk_asm_file_end,
+       unicosmk_output_common): Declare.
+
+       * config/alpha/alpha.c (NUM_ARGS, override_options, call_operand,
+       direct_return, function_arg, alpha_va_start, alpha_va_arg,
+       alpha_does_function_need_gp, alpha_end_function): Support Cray
+       Unicos/Mk.
+       (alpha_init_machine_status, alpha_mark_machine_status,
+       alpha_free_machine_status, unicosmk_output_deferred_case_vectors,
+       unicosmk_gen_dsib, unicosmk_output_ssib, unicosmk_need_dex,
+       unicosmk_asm_named_section, unicosmk_insert_attributes,
+       unicosmk_section_type_flags, symbolic_operand,
+       unicosmk_output_module_name, unicosmk_output_default_externs,
+       unicosmk_output_dex, unicosmk_output_externs,
+       unicosmk_output_addr_vec, unicosmk_ssib_name,
+       unicosmk_initial_elimination_offset, unicosmk_asm_file_start,
+       unicosmk_asm_file_end, unicosmk_output_common,
+       unicosmk_section_type_flags, unicosmk_unique_section,
+       unicosmk_add_call_info_word, unicosmk_text_section,
+       unicosmk_data_section, unicosmk_extern_list, unicosmk_extern_head,
+       unicosmk_add_extern, unicosmk_dex, unicosmk_dex_list,
+       unicosmk_dex_count, unicosmk_special_name): New.
+       (TARGET_INSERT_ATTRIBUTES, TARGET_SECTION_TYPE_FLAGS): Define for
+       TARGET_ABI_UNICOSMK.
+       (get_aligned_mem, alpha_expand_unaligned_load,
+       alpha_expand_unaligned_store, alpha_expand_unaligned_load_words,
+       alpha_expand_unaligned_store_words): Support big-endian mode.
+       (print_operand): Likewise. New format specifier 't'. Use
+       TARGET_AS_SLASH_BEFORE_SUFFIX.
+       (alpha_is_stack_procedure): Rename from vms_is_stack_procedure.
+       (alpha_pv_save_size): Update with above change.
+       (alpha_sa_mask, alpha_sa_size, alpha_expand_prologue,
+       alpha_start_function, alpha_expand_epilogue): Likewise. Support Cray
+       Unicos/Mk.
+
+       * config/alpha/alpha.h (TARGET_ABI_UNICOSMK): New.
+       (TARGET_ABI_OSF): Exclude TARGET_ABI_UNICOSMK.
+       (TARGET_AS_SLASH_BEFORE_SUFFIX): New.
+       (EXTRA_CONSTRAINT): New constraint 'U'.
+       (PREDICATE_CODES): Add symbolic_operand.
+
+       * config/alpha/alpha.md (UNSPEC_UMK_LAUM, UNSPEC_UMK_LALM,
+       UNSPEC_UMK_LAL, UNSPEC_UMK_LOAD_CIW): New constants.
+       (mulsi3, *mulsi_se, mulvsi3): Disable for TARGET_ABI_UNICOSMK.
+       (integer division and modulus patterns): Split in default and
+       Unicos/Mk versions.
+       (*divmodsi_internal, *divmoddi_internal): Disable for
+       TARGET_ABI_UNICOSMK.
+       (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
+       little-endian and big-endian versions.
+       (ext, ins, msk): Likewise.
+       (extv, extzv, insv): Support big-endian mode.
+       (call, call_value, tablejump): Support TARGET_ABI_UNICOSMK.
+       (call_umk, call_value_umk, *call_umk, tablejump_umk,
+       *tablejump_umk_internal, *call_value_umk): New.
+       (*movdi_nofix): Add pattern for loading an address into a register on
+       TARGET_ABI_UNICOSMK.
+       (umk_laum, umk_lal, umk_lalm, *umk_load_ciw): New.
+       (umk_mismatch_args, arg_home_umk): New.
+       (various insns): Don't use mov, fmov, nop, fnop and unop.
+       (realign): Support TARGET_ABI_UNICOSMK.
+
+       * config/alpha/unicosmk.h: New file.
+       * config/alpha/t-unicosmk: New file.
+
+       * fixinc/inclhack.def (unicosmk_restrict): New.
+       * fixinc/fixincl.x: Regenerate.
+
+       * ginclude/stddef.h (size_t): Check for and define __SIZE_T__.
+       (wchar_t): Check for and define __WCHAR_T__.
+
+2001-09-11  Richard Sandiford  <rsandifo@redhat.com>
+
+       * combine.c (simplify_shift_const): Treat shifts by the mode
+       size as undefined.
+
+2001-09-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cpphash.h (struct tokenrun): New.
+       (struct cpp_context): New member bol.
+       (struct cpp_reader): New members.
+       (_cpp_init_tokenrun): New.
+       * cppinit.c (cpp_create_reader): Set up the token runs.
+       * cpplex.c (lex_directive, lex_token, next_tokenrun): New.
+       (lex_token): New internalised version of _cpp_lex_token.  Don't
+       handle directives or the multiple include opimisation here any
+       more.  Simply lex a token.
+       * cpplib.c (run_directive): Clear bol.
+       (_cpp_pop_buffer): Set bol.
+       * cppmacro.c (funlike_invocation_p): Keep tokens whilst parsing
+       arguments.
+
+2001-09-11  Michael Meissner  <meissner@redhat.com>
+
+       * config/mips/mips.h (CC1_SPEC): If -mgp32 default to -mfp32, and
+       give an error if the user uses -mfp32.
+       (CPP_FPR_SPEC): Define __mips_fpr to be 32 or 64 depending on the
+       default options.
+       (CPP_SPEC): Define __mips_fpr to be 32 or 64, depending on the
+       floating point register size.
+       (EXTRA_SPECS): Add CPP_FPR_SPEC.
+
+       * config/mips/netbsd.h (ASM_FINISH_DECLARE_OBJECT): Use
+       HOST_WIDE_INT_PRINT_DEC to properly print the result of
+       int_size_in_bytes.
+       * config/mips/elf.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+       * config/mips/elf64.h (ASM_FINISH_DECLARE_OBJECT): Ditto.
+
+2001-09-11  Hans-Peter Nilsson  <hp@axis.com>
+
+       * dbxout.c (dbxout_parms): Fix typo in comment.
+       * unroll.c (loop_find_equiv_value): Ditto.
+       * toplev.c (rest_of_compilation): Ditto.
+       * loop.c (scan_loop): Ditto.
+       * dwarf2out.c (struct dw_fde_struct): Ditto.
+
+2001-09-10  Zack Weinberg  <zackw@panix.com>
+
+       * cpplex.c (parse_identifier): Fast-path optimize.  Avoid
+       copying identifier when we're just going to throw it away.
+       (parse_identifier_slow): New routine to handle abnormal cases.
+       (_cpp_lex_token): Update call site.
+
+       * hashtable.c (ht_lookup): Don't assume that the string we've
+       been given is NUL-terminated.
+       * system.h: #define __builtin_expect(a, b) to (a) if not
+       GCC >=3.0.
+
+2001-09-10  Michael Meissner  <meissner@redhat.com>
+
+       * config.gcc (sparc64-*-solaris2): Add alias to be compatible with
+       binutils, gdb.
+
+2001-09-10  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/t-aix43 (SHLIB_INSTALL): Use mode 751 (a+x,r-o).
+
+Mon Sep 10 16:26:44 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * builtins.c (c_getstr): Correct thinko in last change and further
+       cleanup.
+
+2001-09-10  Tim Freeman <tim@fungibole.com>
+
+       * dwarf2out.c (incomplete_types, decl_scope_table): Make them
+       into varray's and register them as roots with the garbage
+       collector so they are not collected too soon.
+
+Mon Sep 10 14:21:26 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * Makefile.in (cfg.o, cfganal.o, cfgloop.o, cfgbuild.o, cfgcleanup.o):
+       New.
+       * basic-block.h (flow_obstack, label_value_list,
+       tail_recursion_label_list): Declare
+       (tidy_fallthru_edges): Declare.
+       (expunge_block, last_loop_beg_note): Delete.
+       (can_fallthru, flow_nodes_print, flow_edge_list_print): Declare.
+       * cfg.c: New file
+       (basic_block_for_insn, label_value_list): Move from flow.c; make global.
+       (n_basic_blocks, n_edges, basic_block_info, entry_exit_blocks,
+       init_flow, clear_edges, can_delete_note_p, can_delete_label_p,
+       flow_delete_insn, flow_delete_insn_chain, create_basic_block,
+       expunge_block, flow_delete_block, compute_bb_for_insn,
+       update_bb_for_insn, set_block_for_insn, set_block_for_new_insns,
+       make_edge, remove_edge, redirect_edge_succ, redirect_edge_succ_nodup,
+       redirect_edge_pred, split_block, marge_blocks_nomove, block_label,
+       try_redirect_by_replacing_jump, last_loop_beg_note,
+       redirect_edge_and_branch, redirect_edge_and_branch_force,
+       tidy_fallthru_edge, tidy_fallthru_edges, back_edge_of_syntactic_loop_p,
+       split_edge, insert_insn_on_edge, commit_one_edge_insertion,
+       commit_edge_insertions, dump_flow_info, debug_flow_info,
+       dump_edge_info, dump_bb, debug_bb, debug_bb_n, print_rtl_with_bb,
+       verify_flow_info, purge_dead_edges, purge_all_dead_edges):
+       Move here from flow.c
+       * cfganal.c: New file.
+       (forwarder_block_p, can_fallthru, mark_critical_edges,
+        mark_dfs_back_edges, need_fake_edge_p, flow_call_edges_add,
+        find_unreachable_blocks, create_edge_list, free_edge_list,
+        print_edge_list, verify_edge_list, find_edge_index, flow_nodes_print,
+        flow_edge_list_print, remove_fake_successors, remove_fake_edges,
+        add_noreturn_fake_exit_edges, connect_infinite_loops_to_exit,
+        flow_reverse_top_sort_order_compute, flow_depth_first_order_compute,
+        flow_dfs_compute_reverse_init, flow_dfs-compute_reverse_add_bb,
+        flow_dfs-compute_reverse_execute, flow_dfs_compute_reverse_finish);
+       Move here from flow.c
+       * cfgbuild.c: New file
+       (count_basic_blocks, find_label_refs, make_label_edge, make_eh_edge,
+        make_edges, find_basic_blocks_1, find_basic_blocks,
+        find_sub_basic_blocks): Move here from flow.c
+       * cfgcleanup.c: New file.
+       (try_simplify_condjump, try_forward_edges, tail_recursion_label_p,
+        merge_blocks_move_predecessor_nojumps,
+        merge_blocks_move_successor_nojumps, merge_blocks,
+        flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
+        try_crossjump_bb, try_optimize_cfg): Move here from flow.c
+       (delete_unreachable_blocks, cleanup_cfg): Likewise; return true
+       if succeeded.
+       * cfgloop.c: New file
+       (flow_loops_cfg_dump, flow_loop_nested_p, flow_loop_dump,
+        flow_loops_dump, flow_loops_free, flow_loop_entry_edges_find,
+        flow_loop_exit_edges_find, flow_loop_nodes_find,
+        flow_loop_pre_header_scan, flow_loop_pre_header_find,
+        flow_loop_tree_node_add, flow_loops_tree_build,
+        flow_loop_level_compute, flow_loops_level_compute, flow_loop_scan,
+        flow_loops_find, flow_loops_update, flow_loop_outside_edge_p):
+       Move here from flow.c
+       * flow.c: Remove everything moved elsewhere
+       * output.h (cleanup_cfg): Return bool.
+
+       * bb-reorder.c (reorder_block_def): Remove 'index'.
+       (insert_intra_1): Add argument BB, set block for new note.
+       (make_reorder_chain): Do not depdent on BB indexes.
+       (make_reorder_chain_1): Do not use BB indexes.
+       (label_for_bb): Likewise; set BB for new insn.
+       (emit_jump_to_block_after): Likewise.
+       (fixup_reoder_chain): Sanity check that all basic blocks
+       are chained; verify newly created insn chain; remove
+       undocnitional jump simplifying; Do not use BB indexes;
+       properly initialize count and frequency information;
+       dump reordered sequence.
+       (insert_intra_bb_scope_notes): update call of insert_intra_1.
+       (insert_inter_bb_scope_notes): Set block for new insn.
+       (reorder_basic_blocks): Dump flow info before reoredering.
+
+Mon Sep 10 06:47:35 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * alias.c (clear_reg_alias_info): Use K&R format definition.
+       Avoid unsigned warning.
+       * builtins.c: Use "unsigned int", not "unsigned".
+       (target_char_cast): Use host_integerp and tree_low_cst.
+       (expand_builtin_args_info, expand_builtin_frame_address): Likewise.
+       (c_strlen): Likewise; OFFSET now HOST_WIDE_INT.
+       (c_getstr): Likewise.
+       (std_expand_builtin_va_arg): Use int_size_in_bytes.
+       (builtin_memcpy_read_str): Avoid unsigned warning.
+       (expand_builtin_memcpy): Alignments are unsigned.
+       (expand_builtin_strncpy, expand_builtin_memset): Likewise.
+       (expand_builtin_expect_jump): Use integer_zerop and integer_onep.
+       * predict.c (expensive_function_p): LIMIT now unsigned.
+       * resource.c (mark_target_live_regs): Make some vars unsigned.
+       * sdbout.c: Use "unsigned int", not "unsigned".
+       (MAKE_LINE_SAFE): Add cast to avoid unsigned warning.
+       (sdbout_source_line): Likewise.
+       (sdbout_record_type_name): Remove "const" for NAME declaration.
+       * config/alpha/alpha.c (alpha_expand_block_move): Whitespace fixes.
+
+2001-09-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * calls.c (store_one_arg): Expand comment.
+
+2001-09-10  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * calls.c (store_one_arg): Make sure that the entire argument is
+       pushed if STACK_PARMS_IN_REG_PARM_AREA is defined.
+
+2001-09-09  Richard Henderson  <rth@redhat.com>
+
+       * emit-rtl.c (adjust_address): Fix mode for LO_SUM.
+
+Sun Sep  9 10:43:17 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * loop.c (combine_givs): Fix computing of benefit once giv is combined.
+
+2001-09-09  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.c (alpha_next_sequence_number): New.
+       (alpha_this_literal_sequence_number): New.
+       (alpha_this_gpdisp_sequence_number): New.
+       (some_operand, input_operand): Add HIGH.
+       (local_symbolic_operand): New.
+       (alpha_encode_section_info): New.
+       (alpha_legitimate_address_p): Allow LO_SUM.
+       (alpha_legitimize_address): Generate HIGH+LO_SUM.
+       (alpha_expand_mov): Likewise.
+       (secondary_reload_class): Check memory_operand not general_operand
+       for FP_REGS test.
+       (alpha_expand_unaligned_load): Force LO_SUM addresses into a register.
+       (alpha_expand_unaligned_store): Likewise.
+       (alpha_expand_unaligned_load_words): Likewise.
+       (alpha_expand_unaligned_store_words): Likewise.
+       (alpha_expand_block_clear): Likewise.
+       (print_operand): Handle %#, %*, %H.
+       (print_operand_address): Handle LO_SUM.
+       (find_lo_sum): New.
+       (alpha_does_function_need_gp): Use it.
+       (alpha_expand_block_move): Fix signed compare warnings.
+       (alpha_sa_mask, alpha_align_insns): Likewise.
+       * config/alpha/alpha-protos.h: Update.
+       * config/alpha/alpha.h (TARGET_EXPLICIT_RELOCS): New.
+       (MASK_EXPLICIT_RELOCS): New.
+       (TARGET_SWITCHES): Add -mexplicit-relocs.
+       (EXTRA_CONSTRAINT): Add 'T'.
+       (PREFERRED_RELOAD_CLASS): HIGH goes in GENERAL_REGS.
+       (ASM_APP_ON, ASM_APP_OFF): Turn on and off asm macro expansion.
+       (ENCODE_SECTION_INFO): Out line.
+       (REDO_SECTION_INFO_P): New.
+       (STRIP_NAME_ENCODING): New.
+       (ASM_OUTPUT_LABELREF): New.
+       (PRINT_OPERAND_PUNCT_VALID_P): Add #, *.
+       (PREDICATE_CODES): Update.
+       * config/alpha/alpha.md (divmodsi_internal_er, divmoddi_internal_er,
+       call_osf_1_er_noreturn, call_osf_1_er, movdi_er_low, movdi_er_nofix,
+       movdi_er_fix, prologue_ldgp_1_er, builtin_setjmp_receiver_sub_label_er,
+       builtin_setjmp_receiver_er, exception_receiver_1_er,
+       call_value_osf_1_er): New patterns.
+       (sibcall_osf_1, sibcall_value_osf_1): Remove register alternative.
+       (movqi, movhi, movsi): Add explicit $31 base register to lda.
+       * config/alpha/elf.h (ASM_FILE_START): Set nomacro if explicit relocs.
+       (FINAL_PRESCAN_INSN): New.
+
+Sat Sep  8 22:00:55 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * reg-stack.c (subst_stack_regs_pat): Fix fcmov reversal code.
+
+2001-09-08  Andreas Jaeger  <aj@suse.de>
+
+       * i386.h (TARGET_SWITCHES): Fix description.
+
+2001-09-07  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (num_insns_constant): Compute number of instructions
+       more accurately.
+
+       * doc/install.texi: Explain AIX exception handling work-around.
+       Update URL for AIX fixes.
+
+2001-09-07  Jim Wilson  <wilson@redhat.com>
+
+       * alias.c (clear_reg_alias_info): New.
+       * flow.c (attempt_auto_inc): Call clear_reg_alias_info.
+       * rtl.h (clear_reg_alias_info): Declare.
+
+2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * real.c (EMUSHORT,EMUSHORT_SIZE): Use HImode if no 16-bit type is
+       available.
+       (UEMUSHORT): New. Use instead of unsigned EMUSHORT.
+       (m16m,edivm,emulm): Change declaration to match definition.
+
+2001-09-07  Roman Lechtchinsky <rl@cs.tu-berlin.de>
+
+       * reload.c (push_reload): Check for subreg_lowpart_p instead of
+       SUBREG_BYTE being 0 when determining if the inner part of a subreg
+       can be reloaded.
+
+2001-09-07  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
+
+       * c-common.c (signed_or_unsigned_type): Handle machine mode types
+       which have no corresponding C type.
+       * fold_const.c (target_isinf,target_isnan,target_negative): Update
+       the representation of 64-bit doubles to work with 64-bit ints.
+
+2001-09-07  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/mips/mips.c (override_options): Do not override ISA when ABI
+       specified if MIPS_CPU_STRING_DEFAULT was specified.
+
+2001-09-07  Richard Henderson  <rth@redhat.com>
+
+       * loop.c (record_giv): Avoid simplifying MULT to ASHIFT.
+       (express_from_1): Wrap lines.
+       * rtlanal.c (commutative_operand_precedence): Rename from
+       operand_preference; export.
+       * rtl.h: Declare it.
+       * simplify-rtx.c (simplify_gen_binary): Tidy +/- const_int handling.
+       (simplify_binary_operation): Invoke simplify_plus_minus on
+       (CONST (PLUS ...)) as well.
+       (struct simplify_plus_minus_op_data): New.
+       (simplify_plus_minus_op_data_cmp): New.
+       (simplify_plus_minus): Use them.  Avoid infinite recursion with
+       simplify_binary_operation wrt CONST.
+
+Fri Sep  7 11:52:30 2001   Kazu Hirata  <kazu@hxi.com>
+
+       * h8300-protos.h (general_operand_dst_push): Remove.
+       * h8300.c (general_operand_dst_push): Likewise.
+       * h8300.h (OK_FOR_T): Likewise.
+       (EXTRA_CONSTRAINTS): Do not use OK_FOR_T.
+       * h8300.md (pushqi_h8300): New.
+       (pushqi_h8300hs): Likewise.
+       (pushqi): Likewise.
+       (pushhi_h8300): Likewise.
+       (pushhi_h8300hs): Likewise.
+       (pushhi): Likewise.
+
+Fri Sep  7 12:56:26 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * genattrtab.c (attr_printf): First arg is unsigned.
+       Clean up formatting of callers.
+
+2001-09-06  Aldy Hernandez  <aldyh@redhat.com>
+
+       * config/mips/mips.c (override_options): Allow abi32 with 64 bit
+       registers.
+
+2001-09-07  Andreas Jaeger  <aj@suse.de>
+
+       * i386.h (TARGET_SWITCHES): Fix descriptions.
+
+2001-09-07  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
+
+       * stor-layout.c (compute_record_mode): Check DECL_SIZE is set.
+
+2001-09-06  Ira Ruben  <ira@apple.com>
+
+       Remove OP_IDENTIFIER.
+       * tree.def (OP_IDENTIFIER): Remove.
+       * tree.c (tree_node_kind enum): Remove op_id_kind.
+       (tree_node_kind_names): Remove "op_identifiers".
+       (make_node): Remove OP_IDENTIFIER test.
+       (build_op_identifier): Removed because it isn't being used.
+       * print-tree.c (print_node): Remove OP_IDENTIFIER case.
+       * cp/pt.c (tsubst): Remove OP_IDENTIFIER case.
+
+2001-09-06  Richard Henderson  <rth@redhat.com>
+
+       * simplify-rtx.c (simplify_binary_operation): Revert last change.
+
+2001-09-06  Richard Henderson  <rth@redhat.com>
+
+       * simplify-rtx.c (simplify_binary_operation): Simplify contents
+       of CONST.
+
+2001-09-06  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c (rs6000_emit_prologue): Fix DWARF2 register
+       number used for CR register.
+
+Thu Sep  6 11:16:35 2001  Jeffrey A Law  (law@cygnus.com)
+                         Joern Rennecke (amylaar@cygnus.com)
+
+       * h8300-protos.h (h8300_return_addr_rtx): New prototype.
+       * h8300.c (initial_offset): Handle offset between RP and FP.
+       (h8300_return_addr_rtx): New function.
+       * h8300.h (FIRST_PSEUDO_REGISTER): Bump now that we have a
+       return register.
+       (FIXED_REGISTERS, CALL_USED_REGISTERS): Corresponding changes.
+       (REG_ALLOC_ORDER, RETURN_ADDRESS_POINTER_REGNUM): Likewise.
+       (REG_CLASS_CONTENTS, ELIMINABLE_REGS): Likewise.
+       (CAN_ELIMINATE, REGISTER_NAMES):
+       (RETURN_ADDR_RTX): Call h8300_return_addr_rtx.
+
 2001-09-06  Nathan Sidwell  <nathan@codesourcery.com>
 
        Remove TYPE_NONCOPIED_PARTS.
 
 2001-09-05  Ziemowit Laski  <zlaski@apple.com>
 
-        * objc/objc-act.c (build_message_expr): If a class method cannot
+       * objc/objc-act.c (build_message_expr): If a class method cannot
        be found, do not issue a warning if a corresponding instance
        method exists in the root class.
 
@@ -68,12 +1883,12 @@ Wed Sep  5 17:28:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
 2001-09-05  David Billinghurst <David.Billinghurst@riotinto.com>
 
-       * gcc.c: (process_command) Add parentheses around assignment 
+       * gcc.c: (process_command) Add parentheses around assignment
        used as truth value.
 
 2001-09-05  Richard Sandiford  <rsandifo@redhat.com>
 
-       * config/mips/mips.c (save_restore_insns): Don't mark any register
+       * config/mips/mips.c (save_restore_insns): Don't mark any register
        save slots as unchanging if current_function_calls_eh_return.
 
 2001-09-05  Richard Henderson  <rth@redhat.com>