OSDN Git Service

* config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 33a8b9e..61ef47e 100644 (file)
@@ -1,3 +1,418 @@
+2001-08-13  Andreas Jaeger  <aj@suse.de>
+
+       * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
+       s390*linux.
+
+2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+       * dwarf2out.c (output_cfa_loc): Fix typo in comment.
+       * gcc.c (init_spec): Fix typo in comment.
+       * varasm.c (data_section): Fix typo in comment.
+
+Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
+
+       * predict.c (dump_prediction): New argument "USED".
+       (combine_predictions_for_insn): Determine the used heuristics,
+       output the case no heuristic applied.
+       * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
+
+2001-08-13  Andreas Jaeger  <aj@suse.de>
+
+       * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
+       register %rip.
+
+2001-08-13  Kazu Hirata  <kazu@hxi.com>
+
+       * jump.c: Fix formatting.
+
+2001-08-13  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
+       length.
+
+2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
+
+       * loop.c (check_dbra_loop): Use condjump_label to compute
+       jump_label.
+
+       * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
+       to better document the files they're in.
+
+2001-08-12  Zack Weinberg  <zackw@panix.com>
+
+       * recog.h (struct insn_operand_data): Shrink 'mode' field
+       to 16 bits.
+
+2001-08-12  Kazu Hirata  <kazu@hxi.com>
+
+       * gcc.c: Fix comment formatting.
+       * gccspec.c: Likewise.
+       * gcov.c: Likewise.
+       * gcse.c: Likewise.
+       * genemit.c: Likewise.
+       * gengenrtl.c: Likewise.
+       * genrecog.c: Likewise.
+       * gensupport.c: Likewise.
+       * ggc-page.c: Likewise.
+       * global.c: Likewise.
+       * graph.c: Likewise.
+       * ifcvt.c: Likewise.
+       * integrate.c: Likewise.
+       * lcm.c: Likewise.
+       * libgcc2.c: Likewise.
+       * loop.c: Likewise.
+       * mbchar.c: Likewise.
+       * optabs.c: Likewise.
+       * predict.c: Likewise.
+       * prefix.c: Likewise.
+       * profile.c: Likewise.
+       * protoize.c: Likewise.
+       * real.c: Likewise.
+       * recog.c: Likewise.
+       * regclass.c: Likewise.
+       * regmove.c: Likewise.
+       * reg-stack.c: Likewise.
+       * reload1.c: Likewise.
+       * resource.c: Likewise.
+       * rtlanal.c: Likewise.
+       * rtl.c: Likewise.
+
+2001-08-12  Kazu Hirata  <kazu@hxi.com>
+
+       * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
+       a tree representing a constant is passed to the macro.
+
+2001-08-12  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
+       (rs6000_elf_asm_out_destructor): New.
+       * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
+       (DTORS_SECTION_ASM_OP): Remove.
+       (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
+       (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
+
+2001-08-12  David Edelsohn  <edelsohn@gnu.org>
+
+       Revert:
+       2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+       * gcc.c (set_collect_gcc_options): New function, split out from
+       main.
+       Ignore elided switches.
+       (do_spec_1): Invoke before executing command.
+       (set_input): Export.
+       Move declaration ...
+       * gcc.h (set_input): ... here.
+       * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
+       file.
+
+2001-08-12  Richard Henderson  <rth@redhat.com>
+
+       * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
+       thinko wrt TARGET_RELOCATABLE.
+
+2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * fix-header.c (cb_file_change): Update prototype.
+
+2001-08-11  Zack Weinberg  <zackw@panix.com>
+
+       * toplev.c (set_float_handler): Make static.
+       * toplev.h: Don't prototype set_float_handler.
+
+       * simplify-rtx.c: Don't include setjmp.h.
+       (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
+       New functions.
+       (simplify_unary_operation, simplify_binary_operation): Use them,
+       via do_float_handler.
+
+       * fold-const.c: Don't include setjmp.h.
+       (exact_real_inverse_1): New function.
+       (exact_real_inverse): Use it, via do_float_handler.
+
+       * varasm.c: Don't include setjmp.h.
+       (assemble_real_1): New function.
+       (assemble_real): Use it, via do_float_handler.
+       Call internal_error if we get a trap here.
+
+       * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
+       config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
+
+2001-08-11  Zack Weinberg  <zackw@panix.com>
+
+       * defaults.h: Define PREFERRED_STACK_BOUNDARY to
+       STACK_BOUNDARY if not already defined.
+
+       * calls.c, function.c, reload1.c, explow.c: Don't default
+       PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
+       PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
+
+       * explow.c (allocate_dynamic_stack_space): Change unsafe #if
+       to run-time test.
+
+       * doc/tm.texi: Document that STACK_BOUNDARY is required;
+       clarify difference between it and PREFERRED_STACK_BOUNDARY.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+
+       * cppmacro.c (enter_macro_context): Push macro expansions even
+       if empty.
+
+2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * config/rs6000/rs6000.c: Include integrate.h to silence warning.
+       (rs6000_elf_section_type_flags): Actually return a value.
+
+2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
+       Clean up code: add missing comments and prototypes, fix warnings,
+        remove obsolete code, fix spacing to conform to coding style.
+
+2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
+       and TARGET_ASM_CLOSE_PAREN.
+       (regclass_map): CC register belongs to class NO_REGS.
+       (legitimize_pic_address): Don't generate unnecessary moves
+       (to avoid confusing loop optimization).
+       (check_and_change_labels): Replace jump_long by indirect_jump.
+       (s390_final_chunkify): Don't start a new literal pool on section
+       switch in 64-bit code.
+       (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
+
+       * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
+       (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
+       (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
+       modes correctly.
+       (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
+       (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
+       (CONST_COSTS): Fixed incorrect costs.
+
+       * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
+       Use emit_jump instead of emit_jump_insn (gen_jump).
+       (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
+       (to avoid confusing flow analysis).
+       (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
+       (casesi, casesi_jump): New.
+       (jump_long): Removed.  Functionality merged into indirect_jump.
+       (indirect_jump): Accept address_operand, not just register_operand.
+       (cjump_long, icjump_long): Use same logic as indirect_jump.
+       (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
+       Fixed broken setjmp/longjmp handling.
+       (do_builtin_setjmp_setup): Removed.
+
+       * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
+       broken GNU as versions that don't accept .quad with large
+       negative values.  Use hexadecimal output instead.
+       (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
+       (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
+       FUNCTION_EPILOGUE): Removed.  Now in targetm.
+
+       * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
+
+       * config/s390/fixdfdi.h: Add missing copyright statement.
+       Fix type conflicts on 64-bit.  Add missing SFmode routines.
+
+       * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
+       email address.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * rtl.h (REG_EH_RETHROW): Remove.
+       * rtl.c (reg_note_name): Update.
+       * combine.c (distribute_notes): Don't check for it.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * combine.c (distribute_notes): Place REG_SETJMP.
+
+2001-08-11  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (Arrays and pointers implementation): Discourage
+       relying on sign-extension of pointers.
+
+2001-08-11  H.J. Lu <hjl@gnu.org>
+
+       * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
+       in_dtors.
+       (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
+       RDATA_SECTION_ASM_OP.
+
+2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific, c4x): Fix cross-reference to the
+       main manual to work both for info and HTML versions.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Matt Kraai <kraai@alumni.carnegiemellon.edu>
+
+       * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
+       * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
+       (struct cpp_pool): New member first.
+       * cppinit.c (append_include_chain): Plug memory leaks.
+       * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
+       Allocate pragma structures from the (aligned) macro pool to
+       avoid leaking memory.
+       * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
+       so we don't leak memory.
+       * hashtable.c (ht_destroy): New.
+       * hashtable.h (ht_destroy): New.
+
+2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
+           Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
+
+       * c-lex.c (map): Make const.
+       (cb_file_change): Update for callback passing a line map.
+       Don't assume we have a previous map.  Remove sanity check
+       about popping too many files.
+       * cpperror.c (print_location): Make map const.
+       * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
+       (cpp_make_system_header): Similarly.
+       (search_from): Similarly.
+       (_cpp_execute_include): Don't remember where we came from.
+       * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
+       (struct cpp_reader): Make map const.
+       (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
+       * cpplib.c (do_line): Update; line maps now hold sysp.
+       (cpp_push_buffer): Similarly.
+       (_cpp_do_file_change): Similarly; callback with map instead.
+       (cpp_get_line_maps): Constify return value.
+       (_cpp_pop_buffer): Update.
+       * cpplib.h (struct cpp_file_change): Remove.
+       (struct cpp_callbacks): Update.
+       (cpp_get_line_maps): Constify return value.
+       * cppmacro.c (_cpp_create_definition): Update.
+       * cppmain.c (struct printer): Constify map.
+       (maybe_print_line): Similarly.
+       (print_line): Similarly.  Deduce flags 1 and 2 here.
+       (cb_file_change): Update.
+       * line-map.c (free_line_maps): Warn regardless.
+       (add_line_map): Return pointer to const.  When passed NULL to_file
+       with LC_LEAVE, use the obvious values for the return point so the
+       caller doesn't have to figure them out.
+       (lookup_line): Return pointer to const.
+       (print_containing_files): Take pointer to const.
+       * line-map.h (struct line_map): New members reason, sysp.
+       (add_line_map): Return pointer to const.
+       (lookup_line): Similarly.
+       (print_containing_files): Take pointer to const.
+
+2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
+           Richard Henderson  <rth@redhat.com>
+
+       * regmove.c (regmove_optimize): Avoid setting a register twice in
+       a parallel set.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (Arrays and pointers implementation): Document
+       behavior of pointer/integer conversion.
+
+2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
+
+       * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * doc/extend.texi (C Implementation): New chapter.
+       * doc/gcc.texi (Top): Link it in.
+
+2001-08-10  Andrew Cagney  <ac131313@redhat.com>
+
+       * doc/install.texi (Specific): Fix CVS merge botch.
+
+2001-08-10  Richard Henderson  <rth@redhat.com>
+
+       * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
+       ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
+
+2001-08-10  Zack Weinberg  <zackw@stanford.edu>
+
+       * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
+       if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
+       this macro is now required.
+
+       * cselib.c (cselib_process_insn), flow.c (propagate_block),
+       loop.c (find_and_verify_loops), reload.c (reload): Check
+       for rtx code of CALL_INSN, not CALL, when deciding if we
+       need to check for REG_SETJMP note.
+
+       * gcse.c (compute_hash_table, compute_store_table): Update
+       the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
+       logic.
+
+       * config/avr/avr.c: Fix typo.
+       * config/convex/convex.c (expand_movstr): Use adjust_address.
+       * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
+       variable.
+       * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
+       * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
+       Fix typo.
+       * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
+       Do define STACK_BOUNDARY.
+       * config/i370/i370.c: Include expr.h.
+       * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
+       config/pa/som.h, config/v850/v850.h: Take in_ctors and
+       in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
+       and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
+       * config/m88k/m88k.c: Include c-tree.h after expr.h.
+       * config/pdp11/pdp11.c: Include expr.h and toplev.h.
+       * config/romp/romp.c: Include expr.h after tree.h.
+       Include toplev.h.
+       (output_fpop): Use xmalloc, not oballoc.
+       * config/we32k/we32k.c: Include expr.h.
+
+2001-08-10  Kazu Hirata  <kazu@hxi.com>
+
+       * config/h8300/h8300.h: Fix formatting.
+
+2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
+
+       * c-common.h (RETURN_NULLIFIED_P): Lose.
+       * c-semantics.c (genrtl_return_stmt): Don't check it.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
+       (mips_annotate_frame_insn): New function.
+       (mips_emit_frame_related_store): New function.
+       (save_restore_insns): Don't mark instructions that set up the base
+       registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
+       the store instructions instead.
+       (mips_expand_prologue): If the stack size is moved into a temporary
+       register, do not mark that move as frame-related.  Add a
+       REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.c (save_restore_insns): Don't mark the RA's
+       stack slot as unchanging if current_function_calls_eh_return.
+
+2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mips/mips.md (reload_outcc): Use HARD_REGNO_NREGS to
+       access the second half of the TFmode scratch operand.
+
+2001-08-10  Anthony Green  <green@redhat.com>
+
+       * java/class.c (emit_register_classes): Conditionalize code on
+       JCR_SECTION_NAME.
+
+2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * doc/install.texi (Specific, avr): Fix cross-reference to the
+       main manual to work both for info and HTML versions.
+
+2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * stmt.c (expand_null_return_1): Remove code to generate simple returns
+       and "use_goto" argument.
+       (expand_null_return, expand_value_return): Update all callers.
+       * function.c (expand_function_end): Remove code to generate simple
+       return.
+       * config/vax/vax.md (epilogue): New expander for function return.
+       * doc/md.texi (epilogue): Remove "if defined".
+
 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
 
        * Makefile.in: Partially revert my previous change:
        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
        (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
        * config/c4x/c4x.c: Move include of tree.h.
-       * config/clipper/clipper.c (clix_asm_out_constructor): New.     
+       * config/clipper/clipper.c (clix_asm_out_constructor): New.
        (clix_asm_out_destructor): New.
        * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
        (ASM_OUTPUT_DESTRUCTOR): Remove.
@@ -1741,6 +2156,22 @@ Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
        * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
        variable access.
 
+2001-07-26  Andrew Haley  <aph@redhat.com>
+       Joern Rennecke <amylaar@redhat.com>
+
+       * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
+       (SUBTARGET_CPP_ENDIAN_SPEC): New.
+       (SUBTARGET_CPP_SPEC): New.
+       (CPP_SPEC): Remove.
+       * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
+       (SUBTARGET_CPP_PTR_SPEC): New.
+       (CPP_DEFAULT_CPU_SPEC): New.
+       (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
+       SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+       (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
+       SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
+       (SUBTARGET_CPP_SPEC): Define as an empty string.
+
 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
 
        * doc/install.texi (Configuration): Properly link the host