OSDN Git Service

Fix multi-reg inheritance problems (only a fix small additional fix for yesterday...
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index fcaa6fb..ee903e9 100644 (file)
@@ -1,3 +1,347 @@
+2000-12-02  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * reload1.c (free_for_value_p): New function, frontend to
+       reload_reg_free_for_value_p.  All callers of the latter now call
+       this function with an additional mode argument.
+
+2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * install.texi (Configurations): Remove obsolete documentation for
+       hppa*-*-*.
+
+2000-12-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * install.texi (Installation): Remove obsolete description for
+       libstdc++ which is now an integral part of GCC.
+       
+2000-12-01  Jim Blandy  <jimb@redhat.com>
+
+       * dbxout.c (dbxout_parms): Correctly describe parameters passed by
+       invisible reference in registers, but then spilled to the stack.
+       Remove code to emit a second stab for such parameters; it attempts
+       to describe the value's location by introducing a synthetic C++
+       `reference' type, and then saying the stack slot has that
+       reference type.  This loses type information (breaking GDB's
+       `ptype' command, among other things) just to describe a location
+       which stabs can represent correctly in other ways.
+
+2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * final.c (output_addr_const) <PLUS>: Don't assume at least one
+       operand is a CONST_INT.
+
+       * config/sh/sh.c (reg_class_from_letter): Assign `k' to SIBCALL_REGS.
+       (machine_dependent_reorg): Split all insns.
+       * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Compute
+       reg_class_contents[SIBCALL_REGS].
+       (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add SIBCALL_REGS.
+       * config/sh/sh.md (calli_pcrel, call_pcrel, call_valuei_pcrel,
+       call_value_pcrel, call, call_value, sibcall): Match even when
+       not optimizing.
+       (sibcalli_pcrel, sibcall_pcrel): Likewise.  Use constraint `k'
+       for call address.
+       (sibcalli): Likewise.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c (warn_format, warn_format_y2k,
+       warn_format_extra_args, warn_format_nonliteral): Define.
+       (check_format_info): Check warn_format_nonliteral and
+       warn_format_extra_args.
+       (check_format_info_main): Check warn_format_y2k.
+       (set_Wformat): New function.
+       * c-common.h (warn_format_y2k, warn_format_extra_args,
+       warn_format_nonliteral, set_Wformat): Declare.
+       * c-decl.c (warn_format): Remove definition.
+       (c_decode_option): Handle -Wformat-nonliteral,
+       -Wno-format-extra-args and -Wno-format-y2k, and negated versions.
+       Use set_Wformat.
+       * invoke.texi: Document these new options and -Wformat=2.
+       * toplev.c (documented_lang_options): Add these new options.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * builtins.def (BUILT_IN_IMAXABS): Add.
+       * builtins.c (expand_builtin): Also abort on BUILT_IN_IMAXABS.
+       * c-common.c (c_common_nodes_and_builtins): Create builtin
+       functions __builtin_imaxabs, and plain imaxabs unless
+       flag_no_nonansi_builtin outside C99 mode.
+       (expand_tree_builtin): Handle BUILT_IN_IMAXABS.
+       * extend.texi: Document builtin imaxabs.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-common.c: Include "defaults.h".
+       (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Define.
+       (c_common_nodes_and_builtins): Create string_type_node,
+       const_string_type_node, wint_type_node, intmax_type_node,
+       uintmax_type_node, default_function_type, ptrdiff_type_node and
+       unsigned_ptrdiff_type_node.
+       * c-common.h (identifier_global_value): Declare.
+       * c-decl.c (WINT_TYPE, INTMAX_TYPE, UINTMAX_TYPE): Don't define.
+       (init_decl_processing): Don't create string_type_node,
+       const_string_type_node, wint_type_node, intmax_type_node,
+       uintmax_type_node, default_function_type, ptrdiff_type_node and
+       unsigned_ptrdiff_type_node.
+       (identifier_global_value): New function.
+
+2000-12-01  Neil Booth  <neilb@earthling.net>
+
+        * cppinit.c (initialize): Forgotten prototype.
+        * cpplex.c (_cpp_lex_token): Loop until not skipping.
+        Always clear PREV_WHITE upon meeting a new line.
+        * cpplib.c (end_directive): Set pfile->skipping after
+        skip_rest_of_line.
+        * cpplib.h (cpp_reader): Remove macro_pos.
+        * cppmacro.c (cpp_get_line): Don't do anything special inside
+        macros.  
+        (parse_arg): Add PREV_WHITE if a token appears after new lines.
+        (funlike_invocation_p): Save and restore the output position
+        over a successful check for a '('.
+        (enter_macro_context): Delete uses of macro_pos.
+        (cpp_get_token): Don't use pfile->skipping.
+
+2000-12-01  Phil Edwards  <pme@sources.redhat.com>
+
+       * diagnostic.c:  Fix typos in comments.
+       * diagnostic.h:  Likewise.
+
+2000-11-30  Phil Edwards  <pme@sources.redhat.com>
+
+       * rtl.texi (Machine Modes):  Document BImode and OImode.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * gcc.c (default_compilers): Add suffixes .mi, .cp, .ii, .FOR and
+       .FPP.
+
+2000-12-01  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * c-decl.c (grokdeclarator): If pedantic, warn about arrays with
+       incomplete element type.
+       (grokparms): Before checking for incomplete parameter type, check
+       the type isn't error_mark_node.
+
+2000-12-01  Jakub Jelinek  <jakub@redhat.com>
+
+       * builtins.c (target_char_cast): New function.
+       (expand_builtin_strchr): Use it.
+       (expand_builtin_strrchr): Use it.
+       (builtin_memset_read_str): New function.
+       (expand_builtin_memset): Use target_char_cast.
+       Try to optimize memset with second argument non-zero using
+       store_by_pieces.
+
+2000-11-30  Marek Michalkiewicz  <marekm@linux.org.pl>
+
+       * install.texi (avr): Replace incomplete list of supported MCU
+       types with a link to the current one ...
+       * invoke.texi (AVR Options): ... here.  Update -mmcu= to list
+       all supported MCU types.  Document -minit-stack= default.
+       Document new options -mno-tablejump, -mtiny-stack.
+       * md.texi (AVR family):  Fix typo in 'w' constraint letter
+       description.  Document 'q'.  Update 'O'.
+
+2000-12-01  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * combine.c (cant_combine_insn_p): Only disallow insns involving
+       hard regs if they are reg-reg moves.
+       (try_combine, can_combine_p, combinable_i3pat): Delete old
+       SMALL_REGISTER_CLASSES tests.
+
+2000-12-01  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.c (shiftcosts): Don't get INTVAL before testing
+       whether X is a CONST_INT.
+       (addsubcosts): Likewise.
+
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA): Use INTVAL instead of
+       mis-used XINT.
+       (ARG_POINTER_REGNUM): Set to AP_REG.
+
+2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md (fpu_switch0, fpu_switch1, movpsi, fpu_switch,
+       splits): Only match on TARGET_SH4.
+
+       * combine.c (try_combine): Disregard USEs when updating LOG_LINKS
+       of subsequent insns.
+
+2000-11-30  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Disable.
+       * config/alpha/alpha32.h (ASM_OUTPUT_MI_THUNK): Likewise.
+
+2000-11-30  Richard Henderson  <rth@redhat.com>
+
+       * config/alpha/elf.h (ASM_OUTPUT_SECTION_NAME): Copy elfos.h defn.
+       (DO_SELECT_SECTION): New.
+       (SELECT_SECTION): Use it.
+       (UNIQUE_SECTION_P): New.
+       (UNIQUE_SECTION): New.
+
+2000-11-30  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-common.c (status_warning) [! ANSI_PROTOTYPES]: Load status
+       from va_list before using it.
+
+2000-11-30  Michael Matz  <matzmich@cs.tu-berlin.de>
+
+       * flow.c (make_edge): Early out, if no flags to set.
+       (calculate_global_regs_live): Clear out garbage only when necessary.
+
+       * simplify-rtx.c (varray_type used_regs): New.
+       (clear_table): Use it to only clear necessary items.
+       (cselib_lookup, cselib_record_set): Remember newly set items.
+       (cselib_update_varray_sizes, cselib_init): Initialize and grow
+       used_regs.
+
+       * local-alloc.c (update_equiv_regs): New local `cleared_regs'.
+       Move clearing of dead regs out of insn-loop.
+
+2000-11-30  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (expand_call): Emit queued insns before creating
+       the tail recursion sequence.
+
+2000-11-30  J. David Anglin  <dave.anglin@nrc.ca>
+            Bruce Korb  <bkorb@gnu.org>
+
+       * fixinc/inclhack.def(): prevent dual double definition protection
+       * fixinc/fixincl.x: regenerate
+
+2000-11-29  Loren J. Rittle  <ljrittle@acm.org>
+
+        * fixinc/Makefile.in (fixincl.x): Explicitly state the
+        location of the generated file.
+
+2000-11-30  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * README.FRESCO: Remove obsolete file.
+
+2000-11-30  Mark Kettenis  <kettenis@gnu.org>
+
+       * configure.in: Reorganize handling of *-*-gnu*, to share target
+       specific make details with Linux.  Update comments to clarify
+        the distinction between GNU/Linux and GNU/Hurd.
+       * config/t-gnu (LIBGCC1, CROSS_LIBGCC1, CRTSTUFF_T_CFLAGS,
+       TARGET_LIBGCC2_CFLAGS): Remove.  We now use the settings from
+       config/t-linux for the Hurd.
+
+2000-11-30  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
+
+       * config/mn10200/udivmod.c, config/mn10200/divmod.c,
+       config/mn10200/udivmodsi4.c: Moved from here.
+       * config/udivmod.c, config/divmod.c, config/udivmodsi4.c: To here.
+       * config/mn10200/t-mn10200 (LIB2FUNCS_EXTRA): Use the generic
+       C division functions.
+       * config/m68hc11/t-m68hc11-gas (LIB2FUNCS_EXTRA): Likewise.
+
+Thu Nov 30 01:12:52 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (conditional moves): Avoid holes in operand list.
+       (mod, umod patterns): Similarly.
+       (variable extract/shift patterns): Similarly.
+
+2000-11-30  Neil Booth  <neilb@earthling.net>
+
+        * objc/objc-act.c (lang_init, finish_file, maybe_objc_comptypes,
+        maybe_objc_check_decl, build_objc_string_object,
+        objc_declare_alias, objc_declare_class, build_message_expr,
+        build_protocol_expr, build_selector_expr, build_encode_expr,
+        get_class_ivars, start_class, start_protocol): Remove
+        redundant code, assuming doing_objc_thang is true.
+
+2000-11-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * pa.c (restore_unscaled_index_insn_codes): Delete procedure.
+       (record_unscaled_index_insn_codes): Likewise.
+       (unscaled_index_insn_codes): Delete.
+       (max_unscaled_index_insn_codes_uid): Delete.
+       (output_function_prologue, output_function_epilogue, pa_reorg):
+       Don't use the unscaled index insn hack.
+
+       * pa.md: Remove hack from all index insns to reverse the operand
+       order of frame and stack pointer references incorrectly created
+       in the reload pass.
+
+       * function.h (emit_status): Delete member regno_pointer_flag and
+       rename regno_pointer_flag_length to regno_pointer_align_length.
+       Delete define for REGNO_POINTER_FLAG.
+       * integrate.h (inline_remap): Delete member regno_pointer_flag.
+       Add member x_regno_reg_rtx.
+       * rtl.h (rtx_def): Use frame_related bit to indicate register is
+       a pointer in REG expressions.  Define REG_POINTER macro.
+       * alias.c (find_base_value, find_base_term): Use REG_POINTER
+       instead of REGNO_POINTER_FLAG.
+       * combine.c (nonzero_bits, num_sign_bit_copies): Likewise.
+       * emit-rtl.c (gen_reg_rtx): Use regno_pointer_align_length instead
+       of regno_pointer_flag_length.  Remove code which refers to
+       regno_pointer_flag.
+       (mark_reg_pointer): Use REG_POINTER.
+       (free_emit_status): Remove code which refers to regno_pointer_flag.
+       (init_emit, mark_emit_status): Likewise.
+       * flow.c (dump_flow_info): Likewise.
+       * function.c (preserve_temp_slots): Likewise.
+       * integrate.c (expand_inline_function, copy_rtx_and_substitute):
+       Use x_regno_reg_rtx instead of regno_pointer_flag for function
+       pointer determination in map.
+       * loop.c (strength_reduce, maybe_eliminate_biv_1): Use REG_POINTER.
+       * predict.c (estimate_probability): Likewise.
+       * regclass.c (record_address_regs, reg_scan_mark_refs): Likewise.
+       * unroll.c (unroll_loop): Use x_regno_reg_rtx instead of
+       regno_pointer_flag for function pointer determination in map.
+       * convex.h (RTX_COSTS): Don't test regno_pointer_flag and use
+       REG_POINTER.
+       * pa.c (hppa_legitimize_address, emit_move_sequence, basereg_operand):
+       Use REG_POINTER.
+       (restore_unscaled_index_insn_codes): Revise comment.
+
+       * expr.c (do_compare_and_jump): Add missing TYPE_MODE in statement.
+
+2000-11-30  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * extend.texi: Update documentation for attributes.
+
+2000-11-29  David O'Brien  <obrien@FreeBSD.org>
+
+       * config/alpha/elf.h (IDENT_ASM_OP): Protect the #define.
+       (ASM_DECLARE_OBJECT_NAME): Same.
+       (ASM_FILE_END): Same.
+       (ASM_FINISH_DECLARE_OBJECT): Same.
+       (ASM_IDENTIFY_GCC): Same.
+       (ASM_IDENTIFY_LANGUAGE): Same.
+       (ASM_OUTPUT_CONSTRUCTOR): Same.
+       (ASM_OUTPUT_DEF): Same.
+       (ASM_OUTPUT_DESTRUCTOR): Same.
+       (ASM_OUTPUT_EXTERNAL_LIBCALL): Same.
+       (ASM_OUTPUT_SECTION_NAME): Same.
+       (ASM_WEAKEN_LABEL): Same.
+       (BSS_SECTION_ASM_OP): Same.
+       (COMMON_ASM_OP): Same.
+       (CONST_SECTION_ASM_OP): Same.
+       (CONST_SECTION_FUNCTION): Same.
+       (CTORS_SECTION_ASM_OP): Same.
+       (DTORS_SECTION_ASM_OP): Same.
+       (ESCAPES): Same.
+       (FINI_SECTION_ASM_OP): Same.
+       (IDENT_ASM_OP): Same.
+       (IDENT_ASM_OP): Same.
+       (INIT_SECTION_ASM_OP): Same.
+       (INT_ASM_OP): Same.
+       (MAX_OFILE_ALIGNMENT): Same.
+       (SBSS_SECTION_ASM_OP): Same.
+       (SDATA_SECTION_ASM_OP): Same.
+       (SECTION_FUNCTION_TEMPLATE): Same.
+       (SELECT_SECTION): Same.
+       (SE_CONST_SECTION): Same.
+       (SIZE_ASM_OP): Same.
+       (SKIP_ASM_OP): Same.
+       (STRING_ASM_OP): Same.
+       (STRING_LIMIT): Same.
+       (TYPE_ASM_OP): Same.
+       (TYPE_OPERAND_FMT): Same.
+
 2000-11-29  Neil Booth  <neilb@earthling.net>
 
         * c-decl.c (c_decode_option): Don't handle -lang-objc.