OSDN Git Service

2001-05-03 David O'Brien <obrien@FreeBSD.org>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 7569d12..c17d210 100644 (file)
@@ -1,3 +1,749 @@
+2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/t-freebsd: Don't install "assert.h" in gcc.  Compile crtbeginS.o
+       and crtendS.o with PIC.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/larith.asm (__mulqi3): Fix multiplication of two
+       negative numbers.
+       (___subdi3, ___adddi3): Use x instead of y as index register.
+       (__init_bss_section, __map_data_section): Optimize for 68HC12.
+       (__memset, __memcpy): Likewise.
+       (regs): Put the soft registers in bss for 68HC12.
+       (abort): Use trap to abort for 68hc12.
+       (__mulhi3, __mulhi32): Use emul for 68hc12.
+       (__mulsi3): Avoid to use the tmp soft register for 68hc12.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.h (LIMIT_RELOAD_CLASS): Don't define.
+       * config/m68hc11/m68hc11-protos.h (limit_reload_class): Remove.
+       * config/m68hc11/m68hc11.c (limit_reload_class): Remove.
+       (m68hc11_override_options): Remove setting of flag_no_nonansi_builtin.
+       Set 68HC12 min offset to -65536.
+       (print_operand): Put parenthesis arround the operand if it refers 
+       to a symbol having the same name as a register.
+       (m68hc11_z_replacement): When z register is replaced by its 
+       equivalent soft register, force the insn to be re-recognized.
+       (m68hc11_check_z_replacement): Fix the test when destination is
+       the index register and z dies in the insn.
+       (m68hc11_reorg): Remove the REG_DEAD notes beforce recomputing them.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_override_options): Initialize
+       costs according to processor variant.
+       (m68hc11_shift_cost): New function to compute shift costs.
+       (m68hc11_rtx_costs): Define costs according to processor variant.
+       (m6811_cost): Costs for 68HC11.
+       (m6812_cost): Costs for 68HC12.
+       (COSTS_N_INSNS): Remove.
+
+       * config/m68hc11/m68hc11.h (RTX_COSTS): New.
+       (DEFAULT_RTX_COSTS): Remove.
+       (CONST_COSTS): Define costs according to OUTER_CODE.
+       (processor_costs): New struct to define costs.
+       (m68hc11_cost): Pointer to current costs.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (*addhi3_68hc12): Fix generation
+       and use m68hc11_notice_keep_cc when using leax/leay.
+       (addhi3 split): Reject split if the insn is handled by 
+       leax/leay above.
+       * config/m68hc11/m68hc11.c (m68hc11_split_move): For 68HC12 the
+       push must be handled in a special way if the source operand uses
+       sp as index register.
+       (m68hc11_notice_keep_cc): New function.
+       (m68hc11_gen_movhi): Use it when an insn changes a register but 
+       not the flags.
+       (m68hc11_gen_movqi): Fix move for 68HC12.
+       * config/m68hc11/m68hc11-protos.h (m68hc11_notice_keep_cc): Declare.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use LCT_CONST
+       and don't pass operands[0] to emit_library_call_value.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (tsthi_1): Use cpd for 68HC12.
+       (zero_extendsi split): Simplify and use (zero_extendhi).
+       (*addhi3): Remove 'w' constraint since stack pointer is handled 
+       by (addhi3_sp).
+       (*ashlhi3_2): Operand 2 is clobbered use '+' for its constraint.
+       (*ashlhi3, *ashrhi3, *lshrhi3): Likewise.
+       (*ashrhi3_const): Fix shift by 7.
+       (*lshrsi3_const16): Fix template.
+       (call, call_value): Fix constraint and predicate.
+
+2001-05-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/m68hc11/m68hc11.md (X_REGNUM, D_REGNUM): New constant.
+       (Y_REGNUM, SP_REGNUM, PC_REGNUM, A_REGNUM, B_REGNUM): Likewise.
+       (CC_REGNUM): Likewise.
+       (*unnamed splits): Use above constants instead of hard coded numbers.
+       (*adcq, *subcq, *addsi_carry, *rotlqi3_with_carry): Likewise.
+       (*rotlhi3_with_carry, *rotrhi3_with_carry): Likewise.
+       (*return_16bit, *unnamed peepholes): Likewise.
+
+2001-05-03  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc(rs6000-ibm-aix|powerpc-ibm-aix):  Do not include
+       rs6000/rs6000.h twice.
+
+2001-05-03  Mark Elbrecht  <snowball3@bigfoot.com>
+
+       * config/i386/djgpp.h (CPP_PREDEFINES): Define __GO32__.
+       (CPP_SPEC): Conditionally define MSDOS and GO32.
+       (SUBTARGET_SWITCHES): Ignore -mbnu210 and -mno-bnu210.
+       (SUBTARGET_OVERRIDE_OPTIONS): Warn that -mbnu210 and -mno-bnu210 are
+       ignored.
+       (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY): Remove.
+
+2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/mn10300.md: Sign-extend GEN_INT operands.
+
+2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * integrate.h (struct inline_remap): Add leaf_reg_map table.
+       * integrate.c (expand_inline_function): Use xcalloc to allocate
+       memory.
+       (copy_rtx_and_substitute): Use the leaf_reg_map for leaf
+       registers.
+
+2001-05-03  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-dump.c (dequeue_and_dump): Don't look at DECL_ASSEMBLER_NAME
+       if it is not set.
+
+2001-05-03  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/mn10300/mn10300.h (LINK_SPEC): Pass --relax to the
+       linker if -mrelax is given.
+       (TARGET_SWITCHES): Document -mrelax.
+
+       Re-installed 2001-01-09's patch:
+       * hwint.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT): Use long long
+       if it's wider than long and the target's long is wider than the
+       host's.
+
+2001-05-02  David O'Brien  <obrien@FreeBSD.org>
+
+       * config.gcc, config/rs6000/aix51.h, config/rs6000/mach.h:  Do not
+       directly include rs6000/rs6000.h.  Instead do it in tm.h.
+
+2001-05-02  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (STRING_OBJECT_CLASS_NAME): Default to
+       NSConstantString for NeXT-style runtimes.
+       (STRING_OBJECT_GLOBAL_NAME): New macro.
+       (enum objc_tree_index): Add values OCTI_CNST_STR_GLOB_ID and
+       OCTI_STRING_CLASS_DECL.
+       (constant_string_global_id): New macro.
+       (string_class_decl): Ditto.
+       (setup_string_decl): New function.
+       (build_objc_string_object): Use it to build a NeXT runtime
+       compatible string initializer.
+
+2001-05-02  Jakub Jelinek  <jakub@redhat.com>
+
+       * tradcpp.c (do_define): Make sure we don't walk past limit.
+
+2000-05-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c (rs6000_legitimate_address): Allow any stack
+       offsets if not REG_OK_STRICT.
+
+       * config/rs6000/rs6000.h (REG_OK_STRICT_FLAG): New macro.
+       (INT_REG_OK_FOR_INDEX_P): Likewise.
+       (INT_REG_OK_FOR_BASE_P): Likewise.
+       (REG_OK_FOR_INDEX_P): Use INT_REG_OK_FOR_INDEX_P.
+       (REG_OK_FOR_BASE_P): Use INT_REG_OK_FOR_BASE_P.
+       (LEGITIMATE_OFFSET_ADDRESS_P): Use INT_REG_OK_FOR_INDEX_P and
+        INT_REG_OK_FOR_BASE_P instead of REG_OK_FOR_INDEX_P and
+       REG_OK_FOR_BASE_P. Take an additional parameter.
+       (LEGITIMATE_INDEXED_ADDRESS_P): Likeewise.
+       (LEGITIMATE_INDIRECT_ADDRESS_P): Likewise.
+       (LEGITIMATE_LO_SUM_ADDRESS_P): Likewise.
+       (GO_IF_LEGITIMATE_ADDRESS): Move code into new function
+       rs6000_legitimate_address() and use it.
+       * config/rs6000/rs6000.c: Update all callers.
+       (rs6000_legitimate_address): New function.
+
+2001-05-02  David Edelsohn  <edelsohn@gnu.org>
+
+       * config/rs6000/rs6000.c (rs6000_emit_move): Merge
+       special_constant conditional blocks together.
+
+2001-05-02  Dale Johannesen  <dalej@apple.com>
+
+       * config/rs6000/rs6000.h (RS6000_ARG_SIZE): Remove unused NAMED
+       parameter.
+       (STRICT_ARGUMENT_NAMING): Define.
+       * config/rs6000/rs6000.c (function_arg_advance, function_arg,
+       function_arg_partial_nregs, setup_incoming_varargs): Remove
+       args logic which depends on "named" now that STRICT_ARGUMENT_NAMING
+       is defined.
+
+Wed May  2 13:09:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * config/i386/i386.h (FUNCTION_BOUNDARY): Result is unsigned.
+
+       * function.c (fixup_var_regs_1, case SUBREG): Use promoted mode
+       for replacement.
+
+       * expr.c (store_field): Do nothing except elaborate side-effects if
+       zero-bit field.
+
+2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-lex.c: NULL_PTR -> NULL.
+       * cse.c: Likewise.
+       * emit-rtl.c: Likewise.
+       * gcse.c: Likewise.
+       * genpeep.c: Likewise.
+       * jump.c: Likewise.
+       * mips-tdump.c: Likewise.
+       * reload1.c: Likewise.
+       * rtlanal.c: Likewise.
+       * stmt.c: Likewise.
+       * stor-layout.c: Likewise.
+       * toplev.c: Likewise.
+
+2001-05-01  Per Bothner  <per@bothner.com>
+
+       * expr.c (expand_expr):  When compiling LABELED_BLOCK_EXPR,
+       call do_pending_stack_adjust before emiting label.
+
+2001-05-01  Mark Mitchell  <mark@codesourcery.com>
+
+       * extend.texi: Fix typo.
+
+2001-05-01  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (build_module_descriptor): Clear DECL_CONTEXT
+       of UOBJC_MODULES_decl.
+       (generate_strings): Clear DECL_CONTEXT of new decl nodes.
+       (generate_descriptor_table): Ditto.
+       (generate_protocols): Ditto.
+       (generate_protocol_list): Ditto.
+       (generate_classref_translation_entry): Ditto.
+
+2001-05-01  Jeffrey Oldham  <oldham@codesourcery.com>
+
+       * invoke.texi (Optimize Options): Add documentation for `--param
+       max-delay-slot-insn-search' and `--param
+       max-delay-slot-live-search' and reorder --param section.
+       * params.def: Modify initial comment.
+       * params.h (param_info): Add `help' member.
+       * toplev.c (lang_independent_params): Include `help' description.
+       (display_help): Print --param parameters.
+
+2001-05-01  Zack Weinberg  <zackw@stanford.edu>
+
+       * config.gcc: Don't default xmake_file to ${cpu_type}/x-${cpu_type}.
+       Remove references to deleted files.
+       (*-*-openbsd): No need to override xmake_file.
+       (*-*-sysv4): Treat like *-*-sysv.
+
+       * configure.in: Probe for ldopen in various places, and set up
+       collect2 to be linked with them if found.
+       Don't dink with Windows registry stuff unless $host_os is a
+       Win32 os name.  Check to see if we need -ladvapi32.
+       * configure: Regenerate.
+
+       * Makefile: Get rid of CLIB and HOST_CLIB.
+       Substitute in COLLECT2_LIBS and link collect2 against its contents.
+       * build-make: Get rid of HOST_CLIB.
+
+       * config/a29k/x-unix, config/alpha/x-osf, config/i386/x-aix,
+       config/i386/x-osfrose, config/m68k/x-dpx2, config/mips/x-iris3,
+       config/mips/x-mips, config/mips/x-osfrose, config/mips/x-sony,
+       config/mips/x-sysv, config/rs6000/x-aix31, config/rs6000/x-aix41,
+       config/rs6000/x-rs6000: Delete.
+
+       * config/i386/x-cygwin, config/m68k/t-aux, config/mips/x-iris:
+       Don't set CLIB.
+
+       24 x-host fragments remain, 0 x-cpu, 3 top level.
+
+2001-05-01  Zack Weinberg  <zackw@stanford.edu>
+
+       * aclocal.m4 (gcc_AC_C_CHAR_BIT): Correct test program.
+       * configure: Regenerate.
+
+2001-05-01  Angela Marie Thomas <angela@cygnus.com>
+
+       * Makefile.in (install-headers): Remove redundant dependency.
+
+2001-05-01  Nathan Sidwell  <nathan@codesourcery.com>
+
+       * c-tree.texi (USING_STMT): Document.
+
+2001-05-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * bitmap.c: Change NULL_PTR to NULL or "(rtx*)0".
+       * c-common.c: Likewise.
+       * c-decl.c: Likewise.
+       * combine.c: Likewise.
+       * rs6000.c: Likewise.
+       * except.c: Likewise.
+       * explow.c: Likewise.
+       * expr.c: Likewise.
+       * fold-const.c: Likewise.
+       * function.c: Likewise.
+       * gcc.c: Likewise.
+       * gcse.c: Likewise.
+       * integrate.c: Likewise.
+       * loop.c: Likewise.
+       * objc/objc-act.c: Likewise.
+       * recog.c: Likewise.
+       * reg-stack.c: Likewise.
+       * reload.c: Likewise.
+       * reload1.c: Likewise.
+       * simplify-rtx.c: Likewise.
+       * stmt.c: Likewise.
+       * varasm.c: Likewise.
+
+2001-05-01  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * diagnostic.def: New file.
+       * diagnostic.h (diagnostic_t): New enum.
+       * Makefile.in (diagnostic.o): Depend on diagnostic.def
+
+2001-04-30  Zack Weinberg  <zackw@stanford.edu>
+
+       * tsystem.h: Test only POSIX for availability of string.h 
+       and time.h.
+       * config.gcc (all systems): If USG appeared in xm_defines,
+       change it to POSIX.  If both USG and POSIX appeared, just
+       delete USG. Remove unnecessary quotes around xm_defines
+       settings.
+       (m68k-crds-unos*): Don't #define unos - tested nowhere.
+       (m68k-apple-aux*): Don't #define AUX - tested nowhere.
+       (alpha*-*-linux*ecoff*, powerpc-*-linux*libc1,
+       powerpc-*-linux*): No need to set xm_defines - handled by
+       global settings for *-*-linux*.
+
+2001-04-30  Zack Weinberg  <zackw@stanford.edu>
+
+       * dbxout.c, mips-tfile.c, config/mips/mips.c, xcoffout.c:
+       Always include gstab.h, not system stab.h.  Don't provide
+       default definitions of N_CATCH or N_OPT.  Always use the
+       gstab.h variant of STAB_CODE_TYPE.
+       * final.c: Don't include stab.h/gstab.h at all, or provide
+       defaults for N_SLINE and N_SOL.
+
+       * xcoffout.c: Can assume N_MAIN, N_DSLINE, N_BSLINE, N_BINCL,
+       N_EINCL, N_EXCL, N_M2C, N_SCOPE, N_CATCH, and N_OPT are
+       available.
+       * sdbout.c: Always include gsyms.h instead of system syms.h.
+
+       * configure.in: No need to check for stab.h.
+       * configure, config.in: Regenerate.
+       * Makefile.in (final.o): Don't depend on gstab.h.
+
+2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+           Richard Henderson  <rth@redhat.com>
+
+       * extend.texi: Improve documentation of volatile asms.
+
+2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * c-tree.texi: Fix thinko.
+       * gcc.texi: Likewise.
+
+2001-04-30  Richard Henderson  <rth@redhat.com>
+
+       * c-common.c (c_promoting_integer_type_p): New function, from the
+       corpse of old macro.  Properly promote too-small enumerations and
+       booleans.  Adjust all callers.
+       * c-common.h (C_PROMOTING_INTEGER_TYPE_P): Remove.
+       (c_promoting_integer_type_p): Declare.
+       * c-decl.c: Adjust C_PROMOTING_INTEGER_TYPE_P invocations.
+       * c-typeck.c: Likewise.
+       (default_conversion): Remove now redundant boolean check.
+
+2001-04-30  Jan Hubicka  <jh@suse.cz>
+           Richard Henderson  <rth@redhat.com>
+
+       * regmove.c (try_apply_stack_adjustment): Remove now redundant
+       sanity checks.
+       (combine_stack_adjustments_for_block): Don't combine stack
+       allocation followed by deallocations.  Handle grow-up stacks.
+
+2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * fdl.texi: New file.
+       * c-tree.texi: Use the GFDL.
+       * gcc.texi: Likewise.
+
+2001-04-30  Stan Shebs  <shebs@apple.com>
+
+       * invoke.texi: Add a section documenting Objective-C options.
+
+2001-04-27  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * emit-rtl.c (try_split):  Copy EH notes to sequence.
+
+2001-04-30  Mark Mitchell  <mark@codesourcery.com>
+
+       * regmove.c (record_stack_memrefs): Catch all references to the
+       stack pointer.
+
+2001-04-29  Toomas Rosin <toomas at ns dot tklabor dot ee>
+
+       * Makefile.in(stmp-fixinc): quote shell assignment values
+
+2001-04-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-aux-info.c: NULL_PTR->NULL in calls to `concat'.
+
+       * gcc.c: Likewise.
+
+       * prefix.c: Likewise.
+
+2001-04-28  Stan Shebs  <shebs@apple.com>
+
+       * objc/objc-act.c (handle_class_ref): Rewrite to flush target
+       specific code and use new macro ASM_DECLARE_UNRESOLVED_REFERENCE.
+       * config/darwin.h (ASM_DECLARE_UNRESOLVED_REFERENCE): Define.
+       * tm.texi (ASM_DECLARE_UNRESOLVED_REFERENCE): Document.
+
+       * config/darwin.h (STANDARD_EXEC_PREFIX): Don't define.
+       (NEXT_OBJC_RUNTIME): Define.
+
+Sat Apr 28 21:02:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * rtl.h (simplify_gen_relational): Add cmp_mode parameter.
+       * simplify-rtx.c (simplify_gen_relational): Likewise.
+
+       * simplify-rtx.c (simplify_replace_rtx): Handle relationals and MEMs.
+
+       * i386.h (VALID_SSE_REG_MODE): Accept MMX modes if SSE2
+       * i386.md (movsi_1, movdi2, movdi_1_rex64): Handle SSE2 moves.
+
+       * i386.md (negsf2, negdf2, abssf2, absdf2): Force operands to
+       registers in SSE case; fix handling of the immediates.
+       (negsf2_ifs, abssf2_ifs): Tweak constraints; require
+       operands to be in regsiters before reload.
+       (negdf2_ifs, absdf2_ifs): Likewise; disable for 64bit
+       (negdf2_ifs_rex64, absdf2_ifs_rtx64): New.
+       (abstf,absxf,negtf,negxf splitters): Compute
+       properly the regnum for x86_64.
+       (avsdf2_if_rex64): New.
+
+Sat Apr 28 10:36:23 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * flow.c (propagate_block_delete_insn): Handle deletion of ADDR_VEC
+       and ADDR_DIFF_VEC insns when the proceeding CODE_LABEL was put
+       into the constant pool.
+       * jump.c (jump_optimize_1): Remove barrier successors after all
+       the LABEL_NUSES counds have been computed.
+       (delete_barrier_successors): When deleting a tablejump insn, also
+       delete the jump table it uses.
+       * varasm.c (force_const_mem): Set LABEL_PRESERVE_P when forcing a
+       label into memory.
+
+2001-04-28  Martin Kalen  <martin.kalen@todaysystems.com.au>
+
+       * pa.c (FRP): Remove erroneous white space in macro definition.
+
+2001-04-28  Andreas Jaeger  <aj@suse.de>
+
+       * invoke.texi: Use XX-bit instead of XXbit or XX bit where
+       appropriate.
+       * extend.texi: Likewise.
+       * tm.texi: Likewise.
+
+2001-04-28  Andreas Jaeger  <aj@suse.de>
+
+       * md.texi: Use XX-bit instead of XXbit or XX bit where
+       appropriate.
+
+2001-04-28  Jens Schweikhardt <schweikh@schweikhardt.net>
+
+       * gcc.c (process_command): Allow -l lib in addition to -llib
+       for POSIX compliance. This fixes PR c/2347.
+
+       * invoke.texi: Update section on Link Options accordingly.
+
+2001-04-27  Zack Weinberg  <zackw@stanford.edu>
+
+       * function.c (purge_addressof_1): Remove the duplicate
+       if (code == SET) block.  Fold the two if (code == ADDRESSOF)
+       blocks together.
+
+2001-04-28  Jason Merrill  <jason_merrill@redhat.com>
+
+       * except.c (expand_eh_region_start): Don't start a new block.
+       (expand_eh_region_end): Don't end a block.
+       * stmt.c (expand_end_bindings): Don't end EH blocks.
+       (expand_decl_cleanup): Starting an EH region won't change the block.
+       (mark_block_as_eh_region, mark_block_as_not_eh_region): Lose.
+       (is_eh_region): Lose.
+       * tree.h: Adjust.
+
+2001-04-27  Jeffrey Oldham  <oldham@codesourcery.com>
+
+       * except.c (expand_eh_region_end_cleanup): word_mode, not Pmode.
+
+       * collect2.c (main): Add `-L' case to remove duplicate entries.
+       (is_in_args): New function to check for a duplicate argument.
+       * defaults.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New macro.
+       * tm.texi (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES): New documentation.
+       * config/mips/iris6.h (LINK_ELIMINATE_DUPLICATE_LDIRECTORIES):
+       Define to be nonzero.
+
+2001-04-27  Andreas Jaeger  <aj@suse.de>
+           Richard Henderson  <rth@redhat.com>
+
+       * md.texi (Machine Constraints): Document additional i386
+       constraints and fix description of "A".
+
+Fri Apr 27 10:43:49 2001  Jeffrey A Law  (law@cygnus.com)
+
+       * tm.texi (TARGET_MEM_FUNCTIONS): Update text.
+
+2001-04-27  Jason Merrill  <jason_merrill@redhat.com>
+
+       * except.c (get_exception_filter): word_mode, not Pmode.
+
+2001-04-26  Geoffrey Keating  <geoffk@redhat.com>
+
+       * config/sparc/sparc.md (movsf_no_f_insn): Add more alternatives
+       common to other movsf patterns.  Move up so that in future
+       people who change the other patterns will change it too.
+       (movsf_lo_sum): Allow even for soft-float; add appropriate
+       constraints.
+       (movsf_high): Likewise.
+       (movsf_high+1): Allow even for soft-float.
+
+       * function.c (expand_function_end): Always clobber the
+       return registers, even if there is no return label.
+
+Thu Apr 26 20:28:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * (ix86_expand_fp_movcc): Re-enable SSE conditional move generation.
+
+Thu Apr 26 19:20:28 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * i386.md (abs/neg splitter): Fix calculation of sign bit for TFmodes
+       (pushqi2_rex64, pushhi2_rex64): Add.
+
+2001-04-26  Andrew Haley  <aph@cambridge.redhat.com>
+
+       * except.c (expand_eh_region_end_cleanup): Force pending stack
+       adjust before emitting label that branches around cleanup code.
+
+2001-04-26  H.J. Lu  (hjl@gnu.org)
+
+       * config.gcc (mips*-*-linux*): Add elfos.h to tm_file.
+
+       * config/mips/ecoff.h (STARTFILE_SPEC): Undefine before
+       define.
+       * config/mips/elf64.h (MAX_OFILE_ALIGNMENT): Likewise.
+       (ASM_OUTPUT_SECTION_NAME): Likewise.
+       (ASM_WEAKEN_LABEL): Likewise.
+       (UNIQUE_SECTION): Likewise.
+       (ASM_OUTPUT_CONSTRUCTOR): Likewise.
+       (ASM_OUTPUT_DESTRUCTOR): Likewise.
+       * config/mips/elf.h (MAX_OFILE_ALIGNMENT): Likewise.
+       (ASM_OUTPUT_SECTION_NAME): Likewise.
+       (ASM_WEAKEN_LABEL): Likewise.
+       (UNIQUE_SECTION): Likewise.
+       (ASM_OUTPUT_CONSTRUCTOR): Likewise.
+       (ASM_OUTPUT_DESTRUCTOR): Likewise.
+       * config/mips/linux.h (HANDLE_SYSV_PRAGMA): Likewise.
+       * config/mips/mips.h (DBX_CONTIN_LENGTH): Likewise.
+       (ASM_FILE_START): Likewise.
+       (ASM_OUTPUT_SOURCE_LINE): Likewise.
+       (ASM_DECLARE_OBJECT_NAME): Likewise.
+       (ASM_FILE_END): Likewise.
+       (ASM_DECLARE_FUNCTION_NAME): Likewise.
+       (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
+       (ASM_GENERATE_INTERNAL_LABEL): Likewise.
+       (ASM_OUTPUT_CASE_LABEL): Likewise.
+       (ASM_OUTPUT_SKIP): Likewise.
+       (ASM_OUTPUT_ASCII): Likewise.
+       (ASM_OUTPUT_IDENT): Likewise.
+       (READONLY_DATA_SECTION): Likewise.
+       (EXTRA_SECTIONS): Likewise.
+       (EXTRA_SECTION_FUNCTIONS): Likewise.
+       (SELECT_RTX_SECTION): Likewise.
+       (SELECT_SECTION): Likewise.
+
+       * config/mips/linux.h (INVOKE__main): Undefine.
+       (CTOR_LIST_BEGIN): Likewise.
+       (CTOR_LIST_END): Likewise.
+       (DTOR_LIST_BEGIN): Likewise.
+       (DTOR_LIST_END): Likewise.
+       (SET_ASM_OP): Defined it to ".dummy".
+       (ASM_OUTPUT_DEF): Defined.
+       (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Defined.
+
+2001-04-26  Nick Clifton  <nickc@cambridge.redhat.com>
+
+       * config/arm/arm.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define, if the
+       assembler supports .p2align.
+
+2001-04-26  Nathan Sidwell <nathan@codesourcery.com>
+
+       * c-lex.c (c_lex): Remove # from %o diagnostic formatting.
+
+2001-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * integrate.c (expand_inline_function): Check for error_mark_node
+       in actual argument.
+
+2001-04-26  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.h (CC1_CPU_SPEC): Fix deprecation warnings for
+       -m386 and -m486.
+
+2001-04-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (configargs.h): Define thread_model.
+       * configure: Rebuilt.
+       * gcc.c (main): Print it with -v.
+
+2001-04-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi: Document -Wmissing-braces, -dumpspecs,
+       -dumpmachine, -dumpversion, -fmem-report and -ftime-report.
+       * gcc.1: Regenerate.
+
+2001-04-25  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * dwarfout.c (is_pseudo_reg, type_main_variant, is_tagged_type,
+       is_redundant_typedef): Use static inline instead of inline static.
+
+Wed Apr 25 18:21:01 2001  Christopher Faylor <cgf@cygnus.com>
+
+       * config/i386/cygwin.h: Move W32API search to LINK_SPEC to ensure that
+       this directory is always searched.
+
+2001-04-25  Richard Henderson  <rth@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_epilogue): Properly compute size
+       of registers to restore along non eh_return path.
+
+2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * c-format.c (check_format_info_recurse): Handle
+       PLUS_EXPR for format string.
+
+2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/ia64/ia64.h (CC1_SPEC): Define.
+       * config/ia64/linux.h (CC1_SPEC): Define.
+
+Wed Apr 25 17:09:50 2001  J"orn Rennecke <amylaar@redhat.com>
+
+       * emit-rtl.c (constant_subword): Also do sign extension in
+       BITS_PER_WORD == 16 case.
+
+2001-04-25  Jason Merrill  <jason_merrill@redhat.com>
+
+       * loop.c (try_swap_copy_prop): Go back to checking insn.
+
+2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * emit-rtl.c (subreg_hard_regno): Only do HARD_REGNO_MODE_OK check
+       if check_mode is non-zero.
+
+2001-04-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.c (ix86_expand_int_movcc): If overlap between
+       out and comparison sequence has been detected, put result into
+       proper temporary pseudo.
+
+2001-04-24  Zack Weinberg  <zackw@stanford.edu>
+
+       * Makefile.in (LIB2FUNCS): Remove _varargs and __dummy.
+       * libgcc-std.ver: Remove __builtin_saveregs, __dummy, and __empty.
+       * libgcc2.c: Remove __dummy and __builtin_saveregs.
+       * libgcc2.h: Don't prototype __builtin_saveregs or __dummy.
+       * config/i860/varargs.asm: New file - preserve i860 __builtin_saveregs
+       for future reference.
+
+2001-04-24  Jason Merrill  <jason_merrill@redhat.com>
+
+       * except.c (reachable_handlers): Step out one level from a RESX.
+
+       * except.c (struct eh_region): Rename 'last' to 'resume'.
+       (mark_eh_region, duplicate_eh_region_1): Adjust.
+       (expand_eh_region_end_cleanup): Remember the jump, not the barrier.
+       (build_post_landing_pads): Likewise.
+       (expand_end_catch, expand_eh_region_end_allowed): Don't set it.
+       (expand_eh_region_end_must_not_throw): Likewise.
+       (connect_post_landing_pads): Thread (only) regions with non-deleted
+       resume insns.
+
+       * except.c (expand_eh_region_end_cleanup): Save the EH return data
+       registers around the cleanup.
+       (get_exception_filter): New fn.
+       (finish_eh_generation): Use it.
+
+2001-04-24  Nathan Sidwell <nathan@codesourcery.com>
+
+       * c-semantics.c (add_scope_stmt): Don't call
+       current_scope_stmt_stack multiple times.
+
+2001-04-24  Zack Weinberg  <zackw@stanford.edu>
+           Nathan Sidwell <nathan@codesourcery.com>
+
+       Lazy __FUNCTION__ generation.
+       * c-common.h (RID_FUNCTION_NAME, RID_PRETTY_FUNCTION_NAME,
+       RID_C99_FUNCTION_NAME): New _RIDs.
+       (CTI_FUNCTION_ID, CTI_PRETTY_FUNCTION_ID, CTI_FUNC_ID): Remove.
+       (CTI_FUNCTION_NAME_DECL, CTI_PRETTY_FUNCTION_NAME_DECL,
+       CTI_C99_FUNCTION_NAME_DECL, CTI_SAVED_FUNCTION_NAME_DECLS): New
+       global tree slots.
+       (function_id_node, pretty_function_id_node, func_id_node): Remove.
+       (c99_function_name_decl_node, function_name_decl_node,
+       pretty_function_name_decl_node, saved_function_name_decls):
+       Declare.
+       (struct language_function): Remove x_function_name_declared_p.
+       (make_fname_decl): Remove a parameter.
+       (declare_function_names): Remove prototype.
+       (start_fname_decls, finish_fname_decls): Prototype.
+       (fname_as_string): Likewise.
+       (fname_string, fname_decl): Likewise.
+       * c-common.c (make_fname_decl): Adjust.
+       (struct fname_var_t): New struct.
+       (fname_vars): New static array.
+       (declare_function_name): Remove.
+       (start_fname_decls, finish_fname_decls): New functions.
+       (fname_as_string): New function from remnants of
+       declare_function_name.
+       (fname_string, fname_decl): New functions.
+
+       * c-decl.c (c_function_name_declared_p): Remove.
+       (init_decl_processing): Don't generate __FUNCTION__ et al ids,
+       don't call declare_function_name. Call start_fname_decls.
+       (c_make_fname_decl): Adjust parameters. Generate the name. Don't
+       clobber the line number. Call finish_decl.
+       (start_function): Call start_fname_decls.
+       (finish_function): Call finish_fname_decls.
+       Remove c_function_name_declared_p.
+       (push_c_function_context): Don't push c_function_name_declared_p.
+       (pop_c_function_context): Don't pop c_function_name_declared_p.
+       (c_begin_compound_stmt): Don't check c_function_name_declared_p.
+       * c-parse.in (STRING_FUNC_NAME, VAR_FUNC_NAME): New tokens.
+       (program): Call finish_fname_decls for C.
+       (primary): Add VAR_FUNC_NAME.
+       (reswords): Add slots for __FUNCTION__ et al.
+       (rid_to_yy): Add mappings for __FUNCTION__ et al.
+       (yylexname): If it's a STRING_FUNC_NAME generate the function name
+       now. Don't look for VAR_DECLs containing __FUNCTION__ et al.
+       * c-semantics.c (prune_unused_decls): Remove.
+       (finish_stmt_tree): Don't call prune_unused_decls.
+       (genrtl_decl_stmt): Don't prune unused decls here.
+
 2001-04-24  Nick Clifton  <nickc@cambridge.redhat.com>
 
        * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the
@@ -44,8 +790,8 @@ Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
 
        * ABOUT-GCC-NLS: Now that gettext 0.10.37 is out,
        require it instead of the CVS version.
-        * cpperror.c (v_message): Put a blank before the macro
-        body to not confuse exgettext.
+       * cpperror.c (v_message): Put a blank before the macro
+       body to not confuse exgettext.
 
 2001-04-21  Mark Mitchell  <mark@codesourcery.com>
 
@@ -56,7 +802,7 @@ Mon Apr 23 14:32:12 CEST 2001  Jan Hubicka  <jh@suse.cz>
        (loop_delete_insns): New function.
        * unroll.c (initial_reg_note_copy): Copy INSN_LIST notes, even if
        we're not substituting into them yet.
-       
+
 2001-04-21  Kazu Hirata  <kazu@hxi.com>
 
        * config/h8300/h8300.c (general_operand_src): Fix a comment typo.
@@ -164,7 +910,7 @@ Thu Apr 19 19:15:26 2001  Jeffrey A Law  (law@cygnus.com)
        instead of OBJECT_SUFFIX.
        * collect2.c (find_a_file): Look for files matching the extension
        HOST_EXECUTABLE_SUFFIX instead of EXECUTABLE_SUFFIX.
-       * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on 
+       * gcc.c (DEFAULT_SWITCH_CURTAILS_COMPILATION): Depend on
        TARGET_EXECUTABLE_SUFFIX.
        (find_a_file): Use HOST_EXECUTABLE_SUFFIX.
        (make_relative_prefix): Likewise.
@@ -411,6 +1157,13 @@ Fri Apr 13 21:40:28 2001  Loren J. Rittle  <ljrittle@acm.org>
        * rtl.h (memory_address, force_reg, emit_queue, emit_move_insn,
        gen_move_insn): Delete redundant declarations.
 
+2001-04-13  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * Makefile.in (CFLAGS, BOOT_CFLAGS): Partly revert 2000-10-27 patch.
+       (stage1_build): Instead pass down STAGE1_CFLAGS here. Pass down
+       MAKEINFO and MAKEINFOFLAGS too.
+       (stage4_build): Correctly order -B flags.
+
 2001-04-13  Alan Modra  <amodra@one.net.au>
 
        * pa.c (hppa_init_pic_save): Set rtx_unchanging for
@@ -784,7 +1537,7 @@ Tue Apr 10 17:45:50 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
        * function.c (purge_single_hard_subreg_set): Only check REGNO if
        the subreg was a hard register. Pseudos are left as subregs.
 
-2001-04-29  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+2001-04-09  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
 
        * Makefile.in (LIB2FUNCS_STATIC_EXTRA): New macro.
        (LIB2ADD_ST): New macro, pass it to mklibgcc.