+2000-08-13 Ralf Gütlein <ralf.guetlein@aranea.de>
+
+ * h8300.md: Remove obsolete peepholes.
+
+2000-08-13 Kazu Hirata <kazu@hxi.com>
+
+ * invoke.texi (H8/300 Options): Fix typos.
+ * config/h8300.c: Fix formatting.
+ * config/h8300.h: Fix comment typos.
+ (OVERRIDE_OPTIONS): Fix formatting.
+
+ * function.c: Fix formatting.
+
+ * cse.c: Fix formatting.
+
+2000-08-13 Geoff Keating <geoffk@cygnus.com>
+
+ * flow.c (attempt_auto_inc): Remove unused variable `bb'.
+ (attempt_auto_inc): Suppress parentheses warning.
+ * function.c (put_reg_into_stack): Remove unused variable `unsigned_p'.
+ * loop.c (load_mems): Remove `u' suffix in two places.
+ * config/rs6000/rs6000.c: Remove unnecessary `u' suffixes from
+ hex constants.
+ * config/rs6000/rs6000.h: Likewise.
+ * config/rs6000/sol-c0.c: Prototype some functions. Remove the
+ __eabi dummy routine.
+ * config/rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Remove unused
+ variable `buf_ptr'.
+
+ * config/rs6000/rs6000.c (rs6000_select_section): Rewrite to
+ not put stuff in .sdata unnecessarily.
+ (rs6000_unique_section): New function.
+ * config/rs6000/rs6000-protos.h: Add rs6000_unique_section.
+ * config/rs6000/sysv4.h (UNIQUE_SECTION): Define.
+
+ * c-typeck.c (build_array_ref): Don't complain about non-lvalue
+ arrays in C99. Don't try to look at DECL_REGISTER of a
+ COMPONENT_REF. Don't complain twice about the same error.
+
+ * fixinc/inclhack.def (aix_pthread): New fix.
+ (aix_sysmachine): New fix.
+ * fixinc/fixincl.x: Regenerate.
+
+ * expr.c (expand_expr): Call convert_modes when turning a large
+ multiply into a small one.
+
+2000-08-12 Geoff Keating <geoffk@cygnus.com>
+
+ * tree.h (DECL_OFFSET_ALIGN): Make the off_align field of
+ the tree structure an exponent rather than an explicit alignment
+ so it doesn't overflow.
+ (SET_DECL_OFFSET_ALIGN): New macro.
+ * stor-layout.c (place_union_field): Use SET_DECL_OFFSET_ALIGN
+ rather than DECL_OFFSET_ALIGN.
+ (place_field): Likewise.
+ * expmed.c (store_bit_field): Abort on align==0 to avoid
+ antisocial machine behaviour.
+
+2000-08-12 Richard Henderson <rth@cygnus.com>
+
+ * sibcall.c (uses_addressof): Accept both addressof and
+ current_function_internal_arg_pointer inside a mem.
+ (optimize_sibling_and_tail_recursive_call): Fail tail recursion
+ if current_function_uses_addressof.
+ * stmt.c (expand_return): Kill tail recursion and HAVE_return
+ optimizations.
+
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.md (addsi3): Remove expander.
+ (subsi3, mulsi3, negsi2, one_cmplsi2): Likewise.
+ (*addsi3_shladd): New.
+
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.c (do_spill): Pass cfa offset to move expander.
+ (do_restore): Likewise.
+ (gen_movdi_x, gen_fr_spill_x, gen_fr_restore_x): New.
+ (ia64_expand_prologue, ia64_expand_epilogue): Use them.
+ (rtx_needs_barrier): Track actual bit manipulation for
+ ar.unat moves, gr_spill, and gr_restore.
+ (emit_insn_group_barriers): Special case gr_spill/gr_restore.
+ (process_set): Don't handle varargs spills.
+ * config/ia64/ia64.md (gr_spill): Accept cfa offset. Emit
+ .mem.offset here instead of in process_set.
+ (gr_restore): Likewise.
+
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64.h (PROMOTE_MODE): Only extend to SImode.
+
+2000-08-11 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * gcc.texi (The Configuration File): Document
+ COLLECT2_HOST_INITIALIZATION, GCC_DRIVER_HOST_INITIALIZATION, and
+ UPDATE_PATH_HOST_CANONICALIZATION.
+
+2000-08-11 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-parse.in (cast_expr): Avoid -Wstrict-prototype warnings for
+ unprototyped function pointer casts on integer constants.
+
+2000-08-11 Laurynas Biveinis <lauras@softhome.net>
+
+ * fixproto: Recognize DOS paths with drive letters as absolute paths.
+
+2000-08-11 Nathan Sidwell <nathan@codesourcery.com>
+
+ * extend.texi (Volatiles): Fix typos.
+
+2000-08-11 Kazu Hirata <kazu@hxi.com>
+
+ * flow.c: Fix formatting.
+
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * reload.c (push_secondary_reload): When invoking a reload_{in,out}
+ pattern, always allocate a tertiary scratch register.
+
+ * config/alpha/alpha.md (reload_inqi): Use a DImode scratch.
+ (reload_inhi): Likewise.
+
+2000-08-11 Richard Henderson <rth@cygnus.com>
+
+ * function.c (put_reg_into_stack): Allow type to be NULL.
+ (schedule_fixup_var_refs): Likewise.
+ (gen_mem_addressof): Allow decl to be NULL.
+ (put_addressof_into_stack): Likewise.
+
+ * flow.c (merge_blocks_nomove): Be more careful about
+ locating the beginning of block A.
+
+ * combine.c (simplify_shift_const): Obey SHIFT_COUNT_TRUNCATED.
+
+Thu Aug 10 22:47:09 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
+
+ * configure.in:
+ * configure:
+ * gthr-posix.h:
+ * config.in: Reverted the check for <sched.h>.
+
+2000-08-10 Chris Demetriou <cgd@sibyte.com>
+
+ * mips/elf.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME): New
+ macros define the name of CTOR and DTOR sections.
+ (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+ DTOR_LIST_END): Change to use attributes to specify
+ sections.
+ * mips/elf64.h (CTOR_SECTION_NAME, DTOR_SECTION_NAME,
+ (CTOR_LIST_BEGIN, CTOR_LIST_END, DTOR_LIST_BEGIN,
+ DTOR_LIST_END): Same as in mips/elf.h.
+
+2000-08-10 Drew Moseley <dmoseley@redhat.com>
+
+ * config/mn10300/mn10300.h: Added no-crt0 option for explicitly
+ disabling just crt0.o.
+
+2000-08-10 Richard Earnshaw <rearnshaw@arm.com> & Nick Clifton <nickc@cygnus.com>
+
+ * arm.h (CPP_SPEC): Use sub-spec cpp_interwork.
+ (CPP_INTERWORK_SPEC, CPP_INTERWORK_DEFAULT_SPEC): New sub-specs.
+ (EXTRA_SPECS): Add them.
+ * arm/lib1funcs.asm: Support builds for interworking.
+ Use macros to eliminate duplicated pieces of code.
+
+2000-08-10 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.c (expand_a_rotate): New.
+ (emit_a_rotate): Likewise.
+ (h8300_adjust_insn_length): Add support for the rotate insns.
+ * h8300.md (rotlqi3): New.
+ (*rotlqi3_1): Likewise.
+ (rotlhi3): Likewise.
+ (*rotlhi3_1): Likewise.
+ (rotlhi3): Likewise.
+ (*rotlhi3_1): Likewise.
+ * h8300-proto.h: Add prototypes for expand_a_rotate and
+ emit_a_rotate.
+
+ * h8300.c: Fix comment typos.
+ (dosize): Declare the variable amount as unsigned.
+ (get_shift_alg): Fix a comparison between signed and unsigned.
+ (emit_a_shift): Likewise.
+ (h8300_adjust_insn_length): Simplify the code.
+
+ * c-decl.c: Fix formatting.
+
+2000-08-10 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-lex.c (parse_float, yylex): For -Wtraditional, issue a
+ warning about non-traditional numeric constant suffixes.
+
+ * cppexp.c (parse_number): Likewise.
+
+ * invoke.texi: (-Wtraditional): Document new behavior.
+
+Thu Aug 10 00:11:04 2000 Ovidiu Predescu <ovidiu@cup.hp.com>
+
+ * gthr-posix.h: Include auto-host.h. Conditionally include
+ <sched.h>.
+ * configure.in: Check for the <sched.h> header file.
+ * config.in: Added define for HAVE_SCHED_H.
+
+2000-08-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-typeck.c (process_init_element): For -Wtraditional, warn about
+ initialization of unions.
+
+ * invoke.texi (-Wtraditional): Document new behavior.
+
+2000-08-09 Zack Weinberg <zack@wolery.cumb.org>
+
+ * configure.in (--enable-c-cpplib): Uncomment. Use AC_DEFINE
+ instead of extra_c_flags.
+ (--enable-c-mbchar): Use AC_DEFINE instead of extra_c_flags.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+
+ * cpperror.c (cpp_type2name): New function.
+ * cpplex.c (lex_line): If we issued an error for an invalid
+ preprocessing directive, discard that logical line.
+ * cpplib.c (do_line): Call a hook function if the current file
+ is renamed by #line.
+ (do_ident): Pass the contents of the string, not the entire
+ token, to the callback function.
+ * cpplib.h (CPP_LAST_PUNCTUATOR): New #define.
+ (cb.rename_file): New hook function.
+ (cb.ident): Adjust prototype.
+ (cpp_type2name): Prototype.
+ * cppmacro.c (dump_macro_args): Correct precedence lossage.
+
+ * cppmain.c (cb_ident): Update for changed interface.
+ (cb_rename_file): New function.
+ (main): Set rename callback.
+
+2000-08-09 Alexandre Oliva <aoliva@redhat.com>
+
+ * caller-save.c (mark_referenced_regs): Mark partially-overwritten
+ multi-word registers.
+
+2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-common.c (combine_strings, check_format_info): Refer to ISO C
+ or ISO C89 instead of ANSI C.
+ * c-decl.c (grokdeclarator, xref_tag, finish_struct,
+ build_enumerator, do_case): Likewise.
+ * c-lex.c (parse_float, yylex): Likewise.
+ * c-parse.in: Likewise.
+ * c-typeck.c (common_type, build_array_ref, build_binary_op,
+ build_unary_op, pedantic_lvalue_warning, build_conditional_expr,
+ build_c_cast, convert_for_assignment, set_init_index,
+ set_init_label, c_expand_start_case): Likewise.
+ * toplev.c (documented_lang_options, display_help): Likewise.
+
+2000-08-08 Kazu Hirata <kazu@hxi.com>
+
+ * h8300.c: Fix formatting.
+ * h8300.h: Likewise.
+ * h8300.md: Likewise.
+ (movsi_h8300hs): Fix formatting of the resulting assembly code.
+
+ * reload1.c: Fix formatting.
+
+2000-08-08 Rodney Brown <RodneyBrown@mynd.com>
+
+ * alpha/alpha.c (alpha_emit_xfloating_libcall):
+ Use GEN_CALL_VALUE define.
+ * alpha/alpha.md (untyped_call): Use GEN_CALL define.
+ * clipper/clipper.md (untyped_call): Likewise.
+ * dsp16xx/dsp16xx.md (untyped_call): Likewise.
+ * fx80/fx80.md (untyped_call): Likewise.
+ * mips/mips.md (untyped_call): Likewise.
+ * ns32k/ns32k.md (untyped_call): Likewise.
+ * pa/pa.md (untyped_call): Likewise.
+ * romp/romp.md (untyped_call): Likewise.
+ * sparc/sparc.md (untyped_call): Likewise.
+
+2000-08-08 Jason Eckhardt <jle@cygnus.com>
+
+ * config/i860/i860.c (singlemove_string): Do not generate assembler
+ pseudo instructions that must be expanded (that is, with signed
+ constants larger than 16 bits).
+
+2000-08-08 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
+ PROP_AUTOINC at -O0. Don't collect alias info at -O0.
+ (init_propagate_block_info): Don't kill memory stores at -O0.
+ (mark_set_1, mark_used_regs): Likewise.
+
+2000-08-08 David Edelsohn <edelsohn@gnu.org>
+
+ * rs6000.c (optimization_options): Decorate 'level' as
+ ATTRIBUTE_UNUSED.
+ (mask64_operand): Remove sign-extend thinko.
+ (rldic_operand): New function.
+ (load_multiple_operation): regno's are unsigned ints.
+ (store_multiple_operation): Likewise.
+ (lmw_operation): Likewise.
+ (stmw_operation): Likewise.
+ (includes_lshift_p): shift_mask is unsigned int.
+ (includes_lshift64_p): New function.
+ (addrs_ok_for_quad_peep): unsigned int reg1.
+ (print_operand): Consistently add "else" after
+ output_operand_lossage().
+ (print_operand, case 'b'): Fold in case 'W'.
+ (print_operand, case 'W'): Print rldic MB value.
+ (output_epilogue): Update Objective-C language string.
+ (output_toc): unsigned HOST_WIDE_INT low, compare unsigned.
+ * rs6000.h (PREDICATE_CODES): Add rldic_operand.
+ * rs6000.md (ashldi3): Add rldic instruction.
+ (iordi3, xordi3): Remove redundant "else if CONST_DOUBLE".
+ (cmpsi_internal2, cmpdi_interal2): Use 'b' output template
+ modifier.
+
+2000-08-08 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/ia64-protos.h: Remove duplicates. Update
+ for massive code rearrangements.
+ * config/ia64/ia64.c (ia64_arpfs_regno): Remove.
+ (ia64_rp_regno, ia64_fp_regno, ia64_input_regs): Remove.
+ (ia64_local_regs, ia64_need_regstk): Remove.
+ (ar_ccv_reg_operand): New.
+ (ia64_gp_save_reg): New.
+ (struct ia64_frame_info): Combine most of the size elements;
+ add new gr save elements.
+ (find_gr_spill): New.
+ (next_scratch_gr_reg): New.
+ (mark_reg_gr_used_mask): New.
+ (ia64_compute_frame_size): Rewrite. Allocate special AR regs
+ to GR backing store regs when possible.
+ (ia64_initial_elimination_offset): New.
+ (ia64_rap_fp_offset): Remove.
+ (save_restore_insns): Remove.
+ (setup_spill_pointers): New.
+ (finish_spill_pointers): New.
+ (spill_restore_mem): New.
+ (do_spill, do_restore): New.
+ (ia64_expand_prologue): Rewrite to use them.
+ (ia64_expand_epilogue): Likewise.
+ (ia64_direct_return): Update for current_frame_info changes.
+ (ia64_function_prologue): Simplify .prologue emission. Emit
+ .spill when needed.
+ (ia64_setup_incoming_varargs): Don't ever emit rtl.
+ (ia64_dbx_register_number): New.
+ (ia64_initialize_trampoline): New.
+ (ia64_secondary_reload_class): Request GR_REGS for integer
+ arithmetic destined for FR_REGS.
+ (ia64_init_machine_status): Don't reset return_address_pointer_rtx.
+ (ia64_mark_machine_status): Mark ia64_gp_save.
+ (rws_access_regno): Rename from rws_access_reg; don't treat
+ predicates specially.
+ (rws_access_reg): New. Update all callers.
+ (rtx_needs_barrier): Remove dead unspecs.
+ (ia64_epilogue_uses): Mark ar.pfs and ar.unat live on exit.
+ (ia64_encode_section_info): Silence signed/unsigned warnings.
+ (spill_offset, sp_offset, spill_offset_emitted): Remove.
+ (tmp_reg, tmp_saved): Remove.
+ (process_set): Rewrite to expect complicated bits via
+ REG_FRAME_RELATED_EXPR.
+ (ia64_expand_fetch_and_op): Use emit_move_insn; be explicit
+ in the use of ar.ccv; never set RTX_UNCHANGING_P.
+ (ia64_expand_op_and_fetch): Likewise.
+ (ia64_expand_compare_and_swap): Likewise.
+ (ia64_expand_builtin): Likewise.
+ * config/ia64/ia64.h (AR_UNAT_REGNUM): New.
+ (FIRST_PSEUDO_REGISTER): Update.
+ (AR_M_REGNO_P): Update.
+ (FIXED_REGS): Don't mark three local registers as used.
+ (EXTRA_CC_MODES): New.
+ (SELECT_CC_MODE): New.
+ (HARD_REGNO_NREGS): Allow DImode in p0; handle CCImode.
+ (HARD_REGNO_MODE_OK): Disallow CCImode from non-predicates.
+ (FRAME_GROWS_DOWNWARD): Unset.
+ (STARTING_FRAME_OFFSET): Zero.
+ (ELIMINABLE_REGS): Eliminate from the soft to hard frame pointer.
+ (INITIAL_ELIMINATION_OFFSET): Defer to out of line function.
+ (HARD_FRAME_POINTER_REGNUM): New.
+ (CAN_DEBUG_WITHOUT_FP): Define.
+ (TRAMPOLINE_TEMPLATE): Remove.
+ (TRAMPOLINE_SIZE): Lower to 32.
+ (TRAMPOLINE_ALIGNMENT): Lower to 64.
+ (INITIALIZE_TRAMPOLINE): Defer to out of line function.
+ (PREDICATE_CODES): Update.
+ (struct machine_function): Add ia64_gp_save.
+ * config/ia64/ia64.md: Purge unused unspecs.
+ (movsi patterns): Allow moves to/from AR_M_REGS.
+ (movdi patterns): Allow moves to/from p0.
+ (call patterns): Move most setjmp hackery to ia64_gp_save_reg.
+ (gr_spill, gr_restore): Indicate ar.unat read/written.
+ (nonlocal_goto): Don't pass old frame_pointer.
+ (nonlocal_goto_receiver): Remove.
+ (exception_receiver): New.
+ (builtin_setjmp_setup): New.
+ (builtin_setjmp_receiver): New.
+ * config/ia64/lib1funcs.asm (__ia64_save_stack_nonlocal): Bundle.
+ (__ia64_nonlocal_goto): Bundle. Don't kill r7.
+ (__ia64_restore_stack_nonlocal): Likewise.
+ (__ia64_trampoline): New.
+ * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Defer to out of line
+ function.
+ * config/ia64/t-ia64 (LIB1ASMFUNCS): Add __trampoline.
+
+2000-08-08 Richard Henderson <rth@cygnus.com>
+
+ * frame.h (ia64_frame_state): Add my_psp.
+ * libgcc2.c (ia64_throw_helper): Add throw_sp argument.
+ (__throw): Pass it in. Don't clobber r7.
+ * config/ia64/frame-ia64.c (init_ia64_reg_loc): Mark inline.
+ (execute_one_ia64_descriptor) [mem_stack_v]: Sets psp.when
+ and nothing to do with sp.
+ (normalize_reg_loc): Use frame->my_psp.
+ (frame_translate): Handle frame-pointer-less functions. Set
+ spill_base correctly, in absence of being told.
+ (__build_ia64_frame_state): New sp argument. Fill in frame->my_sp.
+ (__ia64_backtrace_helper): New sp argument. Use
+ builtin_return_address instead of label addresses.
+ (print_record) [mem_stack_v]: No size member.
+
+2000-08-08 Richard Henderson <rth@cygnus.com>
+
+ * regclass.c (choose_hard_reg_mode): Iterate over all CC modes.
+
+2000-08-08 Richard Henderson <rth@cygnus.com>
+
+ * tm.texi (LOCAL_REGNO): Document.
+ * flow.c (LOCAL_REGNO, EPILOGUE_USES): Provide default.
+ (mark_regs_live_at_end): Don't mark LOCAL_REGNO registers.
+ * reload1.c (reload): Likewise when considering nonlocal labels.
+
+ * config/ia64/ia64.h (LOCAL_REGNO): New.
+ * config/sparc/sparc.h (LOCAL_REGNO): New.
+
+2000-08-08 Joseph S. Myers <jsm28@cam.ac.uk>
+
+ * c-lex.c (yylex): Don't allow integer suffixes 'LUL', 'Ll', 'lL'.
+
+2000-08-07 Nick Clifton <nickc@redhat.com>
+
+ * config/mips/mips.c: Fix compile time warning messages.
+ * config/mips/mips-protos.h: Add prototype for equality_op.
+
+ * mn10300.h (TARGET_SWITCHES): Document `-mam33'.
+
2000-08-07 Graham Stott <grahams@cygnus.co.uk>
+ * mn10300.md: Use nonimmediate_operand instead of general_operand
+ on output operands.
+
* mn10300.h (PREFERRED_RELOAD_CLASS): Limit memory reloads.
2000-08-07 Alexandre Oliva <aoliva@redhat.com>
(f_options): Added dce entry.
* invoke.texi: Document -fdce. Emphasize experimental status of
-fssa.
- * dce: New file.
+ * dce.c: New file.
2000-08-01 Zack Weinberg <zack@wolery.cumb.org>