+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>
+ Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
* doc/install.texi (Binaries): Add "Binaries for HP-UX 11.00 at
Aachen University of Technology".
* 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.
* 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.
Unicos/Mk versions.
(*divmodsi_internal, *divmoddi_internal): Disable for
TARGET_ABI_UNICOSMK.
- (unaligned_extend?idi, unaligned_load?i, unaligned_store?i): Split in
+ (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.