]> gcc.gnu.org Git - gcc.git/blobdiff - gcc/ChangeLog
* invoke.texi (-Wtraditional): Update WRT function macros.
[gcc.git] / gcc / ChangeLog
index 90d37d2b7fe37db19b689219f8a94450fa7119ed..d9f819616ba48372171535ba40316e9a95a4a017 100644 (file)
@@ -1,3 +1,878 @@
+2000-05-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * invoke.texi (-Wtraditional): Update WRT function macros.
+
+Tue May 30 09:57:32 2000  Philippe De Muyter  <phdm@macqel.be>
+
+       * except.c (free_exception_table): Do not free NULL.
+
+2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.c (do_if): Don't save and restore only_seen_white here.
+       * cppexp.c (_cpp_parse_expr): Save and restore only_seen_white
+       and skipping here.
+
+2000-05-29  Richard Earnshaw (rearnsha@arm.com)
+
+       * flow.c (mark_used_reg): If a register is unconditionally live, 
+       remove any conditional death information.
+
+2000-05-29  Richard Henderson  <rth@cygnus.com>
+
+       * final.c (current_output_insn): New.
+       (final_scan_insn): Set it.
+       * output.h: Declare it.
+
+2000-05-29  Richard Henderson  <rth@cygnus.com>
+
+       * stor-layout.c (finalize_record_size): Fix typo.
+
+       * jump.c (redirect_jump): Don't emit NOTE_INSN_FUNCTION_END
+       if nlabel is null.
+
+2000-05-29  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplib.h (cpp_reader): Remove if_stack.  Change
+       potential_control_macro to a cpp_hashnode *.  Add skipping flag.
+       * cpphash.h (struct ihash): Change control_macro to a
+       cpp_hashnode * and shorten name to cmacro.
+       Add NEVER_REINCLUDE constant.
+
+       * cppfiles.c (redundant_include_p): Drop cpp_reader argument.
+       Examine the cmacro node directly, no need to call cpp_defined.
+       (_cpp_execute_include, read_include_file): Set cmacro to
+       NEVER_REINCLUDE, not U"".
+       * cpplex.c (cpp_push_buffer): Don't set new->if_stack.
+       (cpp_get_token): If pfile->skipping is true, discard text and
+       keep scanning until we hit a directive; don't expand macros.
+
+       * cpplib.c (struct if_stack): Remove if_succeeded, add
+       was_skipping. Change control_macro to a cpp_hashnode * and
+       shorten name to cmacro.  Remove typedef IF_STACK.
+       (parse_ifdef), detect_if_not_defined): Return a cpp_hashnode *.
+       (conditional_skip, skip_if_group,
+       consider_directive_while_skipping): Delete.
+       (push_conditional): New.
+       (_cpp_handle_directive): Don't process directives other than
+       conditionals if we are skipping.
+
+       (do_ifdef, do_ifndef, do_if, do_else, do_elif, do_endif):
+       Update to new scheme.
+       (validate_else): Skip rest of line here, unconditionally.
+       (_cpp_unwind_if_stack): The stack is per-buffer.  Force
+       pfile->skipping off.
+
+       (all): Remove `scare quotes' from error messages.
+
+2000-05-29  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (emit_return_into_block): New line_note arg; emit it.
+       (thread_prologue_and_epilogue_insns): Attempt to locate a line note
+       for the close brace to accompany HAVE_return.  Move all line notes
+       following the epilogue to before the NOTE_INSN_EPILOGUE_BEG.
+
+2000-05-29  Richard Henderson  <rth@cygnus.com>
+
+       * longlong.h [__alpha] (count_leading_zeros): New.
+       (count_trailing_zeros): New.
+       (COUNT_LEADING_ZEROS_0): New.
+
+       * config/alpha/alpha.c (alpha_zero_comparison_operator): New.
+       (alpha_split_conditional_move): New.
+       * config/alpha/alpha-protos.h: Prototype them.
+       * config/alpha/alpha.h (PREDICATE_CODES): Update.
+       (CPP_CPU_DEFAULT_SPEC): Fix typo for EV67.
+       * config/alpha/alpha.md: Update ffs cix commentary.
+       (*ze_and_ne): New.
+       (*nabssf2, *nabsdf2): New.
+       (*mov[qhsd]icc_internal): Use add_operand.
+       (if_then_else constant splitters): New.
+       (*cmp_sadd_di, *cmp_sadd_si, *cmp_sadd_sidi): New.
+       (*cmp_ssub_di, *cmp_ssub_si, *cmp_ssub_sidi): New.
+
+2000-05-29  Richard Henderson  <rth@cygnus.com>
+
+       * combine.c (force_to_mode) [MINUS]: Convert subtraction from
+       a constant to NEG or NOT when conditions allow.
+
+       * combine.c (combine_simplify_rtx): Don't create an if_then_else
+       unless both args are general_operand.  Don't canonicalize plus
+       to ior unless it helps.
+
+       * toplev.c (rest_of_compilation): Set no_new_pseudos after flow1;
+       instead track register_life_up_to_date.  Toggle no_new_pseudos
+       around if_convert.  
+
+2000-05-28  Geoff Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.c (output_cbranch): Escape '%' characters
+       so output_operand doesn't see them.
+
+Sun May 28 18:37:07 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * lcm.c (make_preds_opaque): Fix comment.
+       (optimize_mode_switching): Use NORMAL_MODE instead of 
+       MODE_USES_IN_EXIT_BLOCK.  Change leftover instance of
+       FP_MODE_NONE to no_mode.  Rename MODE_AT_ENTRY to NORMAL_MODE.
+       Handle insertions before an existing NOTE_INSN_BASIC_BLOCK.
+       * tm.texi (OPTIMIZE_MODE_SWITCHING): Refer to NORMAL_MODE.
+       (MODE_USES_IN_EXIT_BLOCK): Delete.
+       (MODE_AT_ENTRY) Rename to NORMAL_MODE.
+       * sh.h (MODE_USES_IN_EXIT_BLOCK): Delete.
+       (MODE_AT_ENTRY): Rename to NORMAL_MODE.
+       (MODE_NEEDED): Don't look for USE.
+       (EPILOGUE_USES): Define.
+
+Sun May 28 23:26:59 2000  Philippe De Muyter <phdm@macqel.be>
+
+       * mklibgcc.in (all): Variable initialised to `libgcc'.
+
+2000-05-28  Gabriel Dos Reis  <gdr@codesourcery.com>
+
+       * toplev.h (skip_leading_substring): New macro.
+       * toplev.c (decode_f_option): Use skip_leading_substring instead
+       of strncmp.
+       (decode_W_option): Likewise.
+
+2000-05-28  Nick Clifton  <nickc@cygnus.com>
+
+       * tm.texi (CONDITIONAL_REGISTER_USAGE): Document that it can
+       modify reg_names.
+
+2000-05-28  Richard Henderson  <rth@cygnus.com>
+
+       * regclass.c (record_operand_costs): Protect reg_changes_size
+       with CLASS_CANNOT_CHANGE_SIZE.
+
+       * loop.c (instrument_loop_bct): Set JUMP_LABEL on the new insn.
+
+2000-05-28  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (diddle_return_value): A pcc-style struct return
+       returns a pointer.
+
+2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cppfiles.c: Read files in, using mmap if possible, then
+       prescan them separately.
+       (read_file, read_with_read): New functions.
+       * cpplex.c: Don't define UCHAR_MAX.
+       (_cpp_read_and_prescan): Rename to _cpp_prescan.  Don't read
+       the file here.
+
+       * cppinit.c (handle_option): Automatically define __cplusplus,
+       __OBJC__, __ASEEMBLER__, _LANGUAGE_FORTRAN here when we see
+       the respective -lang switch.
+
+       * cpphash.h (enum node_type, struct hashnode, _cpp_lookup
+       prototype): Move to...
+       * cpplib.h: ... here.  Rename struct hashnode to struct
+       cpp_hashnode and give it a typedef.  Rename _cpp_lookup to
+       cpp_lookup.  Add 'fe_value' slot, a union tree_node *.
+
+2000-05-27  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.md (movsi): Constify 'name'.
+
+       * regclass.c [CLASS_CANNOT_CHANGE_SIZE]
+       (class_can_change_size): New variable.
+       (reg_changes_size): New variable.
+       (init_reg_sets_1): Initialise class_can_change_size.
+       (record_operand_costs): Remove subreg_changes_size.
+       Don't pass it around.  Instead update reg_changes_size.
+       (regclass): Initialise and free reg_changes_size.  If a register
+       changes size, don't preference it to a class that contains
+       registers that can't change size.
+       (record_reg_classes): Don't look at subreg_changes_size.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * print-rtl.c (reg_names): Remove const.
+       * regclass.c (reg_names): Likewise.
+       * regs.h (reg_names): Likewise.
+       * hard-reg-set.h (reg_names): Likewise.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/rs6000/rs6000.md (untyped_call): Use GEN_CALL.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (alpha_does_function_need_gp): Test
+       TARGET_PROFILING_NEEDS_GP in the if, instead of with an ifdef.
+       (alpha_expand_prologue): Emit prologue_mcount if needed.
+       * config/alpha/alpha.h (TARGET_PROFILING_NEEDS_GP): Default to 0.
+       * config/alpha/alpha.md (prologue_mcount): New.
+       * config/alpha/linux.h (FUNCTION_PROFILER): Remove.
+       (TARGET_PROFILING_NEEDS_GP): Undef before redefining.
+       * config/alpha/netbsd.h: Likewise.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
+       change to config/elfos.h.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (resource.o): Depend on except.h.
+       * except.h (output_exception_table_data): Prototype.
+       * genconfig.c (gen_peephole2): Prototype.
+       * genemit.c (main): Include ggc.h.
+       * genoutput.c: Revert parts of last change: include errors.h
+       (main): Set progname.
+       * recog.c: Include hard-reg-set.h before recog.h.
+       * resource.c: Include except.h.
+
+       * config/alpha/alpha-protos.h (alpha_arg_info_reg_val): Protect
+       with RTX_CODE.
+       (alpha_write_linkage): Protect with BUFSIZ.
+       (alpha_need_linkage): Update prototype.
+       * config/alpha/alpha.c (function_arg): Move VMS code here.
+       (alpha_links_base): Remove.
+       (alpha_links): New.
+       (mark_alpha_links_node, mark_alpha_links): New.
+       (alpha_write_one_linkage): New.
+       (alpha_need_linkage): Use a splay tree.  Build the linkage symbol.
+       (alpha_write_linkage): Use splay_tree_foreach.
+       * config/alpha/alpha.md (call_vms): Use alpha_need_linkage
+       to get the linkage symbol.
+       (call_value_vms): Likewise.
+       * config/alpha/elf.h (output_file_directive): Remove decl.
+       (ctors_section, dtors_section): Prototype.
+       (sbss_section, sdata_section): Prototype.
+       * config/alpha/vms.h (FUNCTION_ARG): Remove.
+       (readonly_section, link_section, literals_section): Prototype.
+       (ctors_section, dtors_section): Prototype.
+       (vms_valid_decl_attribute_p): Remove decl.
+       (alpha_arg_type, alpha_arg_info_reg_val): Likewise.
+
+2000-05-27  Geoff Keating  <geoffk@cygnus.com>
+
+       * reload.c (get_secondary_mem): Don't widen floating-point modes.
+
+       * combine.c (subst): Honour CLASS_CANNOT_CHANGE_SIZE when
+       substituting the REG in a (subreg:X (reg:Y ...)).
+
+2000-05-28  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (_cpp_lex_line): Merge vertical space.  Flag
+       first token of a line BOL.  Update EOF code for this.
+       Remove illegal directive check - it appears in the (not
+       yet committed) caller.
+       * cpplib.h (BOL): New flag.
+
+2000-05-28  Neil Booth  <NeilB@earthling.net>
+
+       * cpplex.c (_cpp_init_toklist): No comment space to initialise.
+       (_cpp_free_toklist): No comment space to free.
+       (expand_comment_space): Remove.
+       (save_comment_space): Place the comment in the current token and
+       not in a separate comment space.
+       (_cpp_lex_line): Save comments during plain code and #define
+       directives only.
+       * cpplib.h (struct _cpp_toklist): Remove comment space.
+
+2000-05-28  Neil Booth  <NeilB@earthling.net>
+
+       * cppexp.c (parse_assertion): Supply extra argument to
+       _cpp_init_toklist.
+       * cpplib.c (do_assert, do_unassert): Similarly.
+       * cpphash.h (_cpp_init_toklist) Update.
+       (_cpp_expand_token_space): New.
+       (DUMMY_TOKEN, NO_DUMMY_TOKEN): New.
+       * cpplex.c (_cpp_init_toklist): New argument.
+       (parse_string2): New argument multiline_ok.
+       (spell_token): Take a const cpp_token *.
+       (INIT_NAME): Replace with INIT_TOKEN_NAME.  Update tokens_used.
+       (SPELL_ macros): Replace with enum.
+       (expand_token_space): Replace with _cpp_expand_token_space.
+       Take COUNT argument.
+       (IS_DIRECTIVE): Update.
+       (_cpp_lex_line): Update token structure before parsing number.
+       Don't assume start at beginning of token list.
+       (save_comment): Use INIT_TOKEN_NAME.
+
+2000-05-27  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * configure.in (stage1_warn_cflags): Add -Wstrict-prototypes
+       -Wmissing-prototypes.
+       * configure: Regenerate.
+       * gcc.texi: Remove explanation of MD_CALL_PROTOTYPES.
+
+       * builtins.c, calls.c: Change all instances of gen_call_* or
+       gen_sibcall_* to GEN_CALL_* and GEN_SIBCALL_*.
+       * calls.c (struct_value_size_rtx): Separate definition from
+       initialization to avoid unused variable warning.
+
+       * genflags.c (gen_macro): New function.
+       (gen_proto): Call it for gen_call_* and gen_sibcall_*.
+       (gen_nonproto): Delete.
+       (gen_insn): Put all insns on the same obstack.
+       (main): Generate prototypes for everything unconditionally.
+
+       * configure.in: Add AC_CHECK_TYPE(ssize_t).  Remove commented 
+       out check for wchar_t.
+       * acconfig.h: Add template for ssize_t.  Remove @TOP@.
+       * system.h: Add infrastructure for defining missing   
+       TYPE_MAX/TYPE_MIN macros.  Use it to provide fallback  
+       definitions of UCHAR_MAX and SSIZE_MAX.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+       * Makefile.in (libgcc2.ready): Rename to libgcc.ready.
+       Depend on $(LANGUAGES) as well as $(GCC_PATCHES) and fixed
+       headers.
+       (clean): No need to delete libgcc1.a, libgcc1-asm.a,
+       libgcc2.a, or libgcc1.null.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * Makefile.in (recog.o): Don't depend on resource.h.
+       * recog.c: Don't include resource.h.
+       (recog_last_allowed_insn): Remove.
+       (recog_next_insn): Remove.
+       (struct peep2_insn_data): New.
+       (peep2_insn_data, peep2_current): New.
+       (peep2_next_insn): New.
+       (peep2_regno_dead_p, peep2_reg_dead_p): New.
+       (peep2_find_free_register): New.
+       (peephole2_optimize): Track life information by insn as we go.
+       * recog.h: Update declarations.
+       * resource.c (find_free_register, reg_dead_p): Remove.
+       * resource.h: Remove their declarations.
+       * toplev.c: Include hard-reg-set.h before recog.h.
+
+       * genconfig.c (max_insns_per_peep2): New.
+       (gen_peephole2): New.
+       (main): Call it.
+       * genemit.c (output_peephole2_scratches): Generate calls to
+       peep2_find_free_register; adjust surrounding code.
+       (main): Have insn-emit.c include hard-reg-set.h before recog.h.
+       * genrecog.c (change_state): Don't track last_insn.
+       (write_action): Write into *_pmatch_len before accepting.
+       (write_tree): Adjust peephole2_insns and subroutines to match.
+
+       * config/i386/i386.md (all peepholes): Use peep2_regno_dead_p.
+
+       * config/alpha/alpha.c (hard_fp_register_operand): Mind the mode.
+       (hard_int_register_operand): New.
+       * config/alpha/alpha-protos.h: Declare it.
+       * config/alpha/alpha.h (PREDICATE_CODES): Update.
+       * config/alpha/alpha.md (peep2 patterns): Use hard_int_register_operand
+       as needed; use peep2_reg_dead_p instead of dead_or_set_p.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * function.c (thread_prologue_epilogue_insns): Don't move the
+       line note at the head of the chain.  Only force a lineno note
+       before the end of block 0.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * gensupport.c (collect_insn_data): Record the maximum number
+       of alternatives, not the last seen.
+
+       * genoutput.c: Don't include errors.h.
+       (struct data): Add lineno member.
+       (have_error): New.
+       (scan_operands): Use message_with_line instead of error.
+       (validate_insn_alternatives): Likewise.
+       (gen_insn): Accept and store the pattern's line number.
+       (gen_peephole, gen_expand, gen_split): Likewise.
+       (main): Don't set progname.  Pass line_no to gen_foo.
+
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/d30v/d30v.c (d30v_print_operand): Handle ':'.
+       * config/d30v/d30v.h (PRINT_OPERAND_PUNCT_VALID_P): Accept ':'.
+       * config/d30v/d30v.md (attr predicable): New.
+       (all insn patterns): Mark non-predicable patterns; use %: on the rest.
+       (andsi3*): Unify into one pattern.
+       (iorsi3*, xorsi3*): Likewise.
+       (peephole2 patterns): Use peep2_reg_dead_p; verify not a
+       conditional return.
+       (old cond_exec patterns): Remove.
+       (define_cond_exec): New.
+
+Sat May 27 11:01:27 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * tree.h (TREE_CODE_LENGTH): New macro.
+       * c-common.c (c_find_base_decl): Use it.
+       * expr.c (safe_from_p): Likewise.
+       * print-tree.c (print_node): Likewise.
+       * tree.c (make_node, copy_node, get_identifier): Likewie.
+       (first_rtl_op, contains_placeholder_p, substitute_in_expr): Likewise.
+       (build, build_nt, build_parse_node, simple_cst_equal): Likewise.
+       * fold-const.c (make_range): Likewise.
+       (fold): Likewise; also use first_rtl_op.
+       * c-iterate.c (collect_iterators): Use first_rtl_op.
+       * calls.c (calls_function_1): Likewise; also rename TYPE to CLASS.
+       Use IS_EXPR_CODE_CLASS.
+       (preexpand_calls): Likewise.
+       * ggc-common.c (ggc_mark_trees): Rework to use first_rtl_op
+       and TREE_CODE_LENGTH.
+       * stmt.c (warn_if_unused_value): If no operands, no unused value.
+
+2000-05-26  Geoffrey Keating  <geoffk@cygnus.com>
+
+       * config/rs6000/rs6000.md (movsi_internal1): Use '%a1' rather
+       than '%1(%*)'.
+       (movdi_internal64): Likewise.
+
+       * config/rs6000/rs6000.md: Correct order of operands for DImode
+       boolean patterns.
+
+       * config/rs6000/rs6000.c (boolean_or_operator): New function.
+       * config/rs6000/rs6000-protos.h (boolean_or_operator): Prototype it.
+       * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_or_operator.
+       * config/rs6000/rs6000.md: Use boolean_or_operator instead of
+       boolean_operator for the boolean patterns without NOTs.
+
+       * config/rs6000/rs6000.c (reg_or_logical_cint_operand): Rename
+       from reg_or_u_cint_operand.  Change comment and behaviour.
+       (logical_operand): Clean up, add assertion.
+       (non_logical_cint_operand): Also check for
+       reg_or_logical_cint_operand.
+       * config/rs6000/rs6000.h (PREDICATE_CODES): Update.
+       * config/rs6000/rs6000.md (iorsi3): Use reg_or_logical_cint_operand
+       in the expander.
+       (xorsi3): Likewise.
+       (iordi3): Likewise.
+       (xordi3): Likewise.
+
+2000-05-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (struct record_layout_info): Rename to (struct
+       record_layout_info_s).
+       * stor-layout.c (start_record_layout): Replace
+       `record_layout_info' with `record_layout_info_s'.
+
+2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
+
+       * flow.c (find_label_refs): New function.
+       (find_basic_blocks_1): Call it for each alternative of a call 
+       placeholder.
+
+2000-05-26  Richard Earnshaw  <rearnsha@arm.com>
+
+       * ifcvt.c (cond_exec_get_condition): Set test_if to the SET_SRC
+       of get_pc.
+
+2000-05-25  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/alpha.c (alpha_comparison_operator): Don't be
+       so strict about DImode.
+       (alpha_swapped_comparison_operator): Likewise.
+       * config/alpha/alpha.md (*setne_internal): Name it.  Allow
+       any integer output mode.
+       (*setcc_internal): Likewise.
+       (*setcc_swapped_internal): Likewise.
+       (*movdicc_internal, *movdicc_lbc, *movdicc_lbs): Name them.
+       (*mov[qhs]icc_internal): New.
+       (*mov[qhs]icc_lbc, *mov[qhs]icc_lbs): New.
+
+2000-05-25  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
+
+       * vax.h (CPP_SPEC): Define __GFLOAT and GFLOAT when -mg is specified.
+
+2000-05-25  Richard Henderson  <rth@cygnus.com>
+
+       * bb-reorder.c (reorder_block_def): Reorder elements for size.
+       Remove add_jump; add next; replace flags with visited.
+       (rbd_init): Remove.
+       (REORDER_BLOCK_HEAD, REORDER_BLOCK_VISITED): Remove.
+       (REORDER_BLOCK_FLAGS, REORDER_BLOCK_INDEX): Remove.
+       (REORDER_BLOCK_ADD_JUMP, REORDER_BLOCK_EFF_HEAD): Remove.
+       (REORDER_BLOCK_EFF_END, REORDER_BLOCK_SCOPE): Remove.
+       (RBI): New.
+       (reorder_index, reorder_last_visited): Remove.
+       (skip_insns_after_block): Rewrite to use a switch.
+       (get_common_dest): Remove.
+       (chain_reorder_blocks): Remove.
+       (record_effective_endpoints): Split out from reorder_basic_blocks.
+       (make_reorder_chain): Likewise.  Loop until all blocks are placed.
+       (make_reorder_chain_1): Renamed from old make_reorder_chain.
+       Only construct the reorder chain, do not move insns.  Try harder
+       to tail recurse.
+       (label_for_bb, emit_jump_to_block_after): New.
+       (fixup_reorder_chain): Use them.  Do bulk block movement.  Examine
+       and adjust the jump insns appropriately.  Fixup basic_block_info.
+       (verify_insn_chain): Always define.
+       (relate_bbs_with_scopes): Call xmalloc, not xcalloc.  Fix thinko
+       in allocation size.
+       (make_new_scope): Don't write zeros to calloc'd space.
+       (build_scope_forest): Rely on xrealloc to DTRT.
+       (reorder_basic_blocks): Don't build loop nest.  Don't fail if
+       profile_arc_flag.  Streamline EH test.
+
+       * flow.c (redirect_edge_succ, redirect_edge_pred): New.
+       * basic-block.h: Declare them.
+
+2000-05-25  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * emit-rtl.c (reset_used_decls): New function.
+       (unshare_all_rtl_again): Call it.
+
+2000-05-25  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * cpplex.c (maybe_macroexpand): Warn about function-like
+       macros used in non-function context, if -Wtraditional.
+
+2000-05-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * recog.c (peephole2_optimize): Use INSN_P.
+
+2000-05-25  Richard Henderson  <rth@cygnus.com>
+
+       * ifcvt.c (seq_contains_jump): New.
+       (noce_try_store_flag_constants): Use it to fail conversion.
+       (noce_try_store_flag_inc, noce_try_store_flag_mask): Likewise.
+
+2000-05-25  Mark Mitchell  <mark@codesourcery.com>
+
+       * except.h (can_throw): Declare it.
+       * except.c (can_throw): Give it external linkage.
+       * resource.c (find_dead_or_set_registers): Use can_throw.
+       
+2000-05-25  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (mark_set_1): Don't record conditionally dead memory.
+
+2000-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * combine.c (try_combine): Use any_condjump_p, any_uncondjump_p
+       and pc_set at the place of simplejump_p and condjump_p.
+       * cse.c (record_jump_equiv): Likewise.
+       * emit-rtl.c (emit): Likewise.
+       * explow.c (find_next_ref): Likewise.
+       * flow.c (tidy_fallthru_edge): Likewise.
+       (init_propagate_block_info): Likewise.
+       * gcse.c (delete_null_pointer_checks): Likewise.
+       * ifcvt.c (cond_exec_get_condition, noce_get_condition,
+       dead_or_predicable): Likewise.
+       * integrate.c (copy_insn_list): Likewise.
+       * loop.c (scan_loop, verify_dominator, find_and_verify_loops,
+       for_each_insn_in_loop, check_dbra_loop, get_condition,
+       insert_bct, load_mems): Likewise.
+       * resource.c (find_dead_or_set_registers): Likewise.
+       * sibcalls.c (simplejump_p): Likewise.
+       * unroll.c (copy_loop_body, reg_dead_after_loop): Likewise.
+
+2000-05-25  David Edelsohn  <edelsohn@gnu.org>
+
+       * rs6000.c (expand_block_move): Add 64-bit PowerPC doubleword move
+       to STRING case.  Use doubleword STRING move for TARGET_POWERPC64
+       when unaligned.
+       * rs6000.h (CONST_OK_FOR_LETTER_P, 'J'): unsigned HOST_WIDE_INT.
+       (RETURN_ADDR_RTX): Use COUNT and FRAME, not count and frame.
+       (LEGITIMIZE_RELOAD_ADDRESS): unsigned HOST_WIDE_INT high.
+       * rs6000.md: Name various internal patterns.
+
+2000-05-25  Jan Hubicka  <jh@suse.cz>
+
+       * jump.c (invert_exp_1): Remove first argument, use pc_set
+       to get the expression.
+       (redirect_exp): Make static; redirect only the pc_set expression,
+       remove first argument.
+       (invert_exp): Remove first argument, make static.
+       (jump_optimize): Use any_condjump_p, any_uncondjump_p and
+       any_onlyjump at most places where we originaly did condjump_p
+       and simplejump_p.
+       (jump_back_p, follow_jumps, thread_jumps): Likewise.
+       (delete_barrier_succesors): Use pc_set.
+       (invert_jump_1, invert_jump, redirect_jump_1, redirect_jump): Update
+       calls of invert_exp and redirect_exp.
+       * rtl.h (redirect_exp, invert_exp): Remove.
+       * unroll.c (copy_loop_body): Use invert_jump and redirect_jump.
+
+2000-05-25  Richard Henderson  <rth@cygnus.com>
+
+       * stmt.c (expand_end_bindings): Fix thinko last change.
+
+2000-05-25  Andrew MacLeod  <amacleod@cygnus.com>
+           Andrew Haley  <aph@cygnus.com>
+
+       * except.c  (func_eh_entry): Add emitted field.
+       (new_eh_region_entry): Set emitted field to 0;
+       (output_exception_table_entry): Only emit previously un-emitted data,
+       and send it to the eh_data section.
+       (output_exception_table): Break out common parts. Output
+       exception table for entire compilation unit to eh_data section.
+       (output_exception_table_data): Common parts of output_exception_table.
+       Send output to eh_data section.
+       (output_function_exception_table): Output exception table data for
+       a single function to eh_data section.
+       (free_exception_table): New external to free the table.
+       * except.h (free_exception_table): Add prototype.
+       (output_function_exception_table): Add prototype.
+       * final.c (final_end_function): Output function exception table
+       for IA64_UNWIND_INFO.
+       (final_scan_insn): Emit any unwind directives for an insn.
+
+       * frame-dwarf2.c: New file containing all DWARF 2 specific code
+       from frame.c.
+       * frame.c: Remove all DWARF 2 specific code.
+       * config/ia64/frame-ia64.c: New file.
+       (gthread_stuff): Make all gthread available with 
+       IA64_UNWIND_INFO.
+       (dwarf_fde): Define an IA64 struct for dwarf_fde.
+       (__register_frame_info, __register_frame): Move to common area of file.
+       (__register_frame_info_table, __register_frame_table): Move to common i
+       area.
+       (__deregister_frame_info, __deregister_frame): Move to common area.
+       (__frame_init, find_fde): New versions for IA64_UNWIND_INFO.
+       (read_uleb128): New version for ia64.
+       (get_unwind_record): Read the next IA-64 unwind record.
+       (read_R_record): Read a region header record.
+       (process_a_b_reg_code): X record helper.
+       (read_X_record): Read an X format record.
+       (read_B_record): Read a B format record.
+       (P3_record_types): List of record types matching the P3 format.
+       (P7_record_types): List of record types matching the P7 format.
+       (P8_record_types): List of record types matching the P8 format.
+       (read_P_record): Read a P format record.
+       (init_ia64_reg_loc): Set default fields for a register.
+       (init_ia64_unwind_frame): Set defaults for all register records.
+       (execute_one_ia64_descriptor): Execute one descriptor record.
+       (rse_address_add): Calculate the position of a local reg in memory.
+       (normalize_reg_loc): Turn a location descriptor into a memory address.
+       (maybe_normalize_reg_loc): Only normalize a descriptor if it falls 
+       within a specified PC offset range.
+       (get_real_reg_value): Given a register location, retrieve its value.
+       (set_real_reg_value): Change the value of a register location.
+       (copy_reg_value): Copy reg values, if needed.
+       (copy_saved_reg_state): Copy all registers that need to be copied.
+       (process_state_between): Normalize all frame register records that
+       fall within the specified PC range.
+       (frame_translate): Take a processed frame description, and turn 
+       everything into addresses.
+       (build_ia64_frame_state ): Find and create frame state record for a PC.
+       (get_personality): Get the personality routine for a given frame.
+       (get_except_table): Get the exception table for a given frame.
+       (record_name): Unwind record names for debugging.
+       (print_record): Print and unwind record.
+       (print_all_records): Print an entire unwind image.
+       (__ia64_backtrace): Print a backtrace.
+       (ia64_backtrace_helper): New function.
+       (__register_frame_info_aux): New function.
+       * config/ia64/crtend.asm (__do_frame_setup_aux): New function.
+
+       * frame.h (enum unw_record_type): New unwind record types.
+       (struct unw_p_record, unw_b_record, unw_x_record) : New unwind records.
+       (struct unw_r_record, unwind_record): New unwind record structs.
+       (struct unwind_info_ptr): Unwind information layout.
+       (IA64_UNW_LOC_TYPE_*): Macros for different types for location 
+       descriptors.
+       (struct ia64_reg_loc): Register location description.
+       (struct ia64_frame_state): Location of all registers in a frame.
+       (struct object): Add pc_base and fde_end for IA64_UNWIND_INFO.
+       * libgcc2.c (__ia64_personality_v1): Personality routine.
+       (__calc_caller_bsp): Calculate the bsp register for the caller's
+       frame.
+       (ia64_throw_helper): Figure out who to return to and set up the 
+       registers.
+       (__throw): Throw routine.
+
+       * output.h (assemble_eh_align, assemble_eh_label): New functions
+       to generate EH info where we want it.   
+       (assemble_eh_integer): New function.
+       * toplev.c (compile_file): Output module level exception table for
+       non-ia64 targets.
+       (main): Set exceptions_via_longjump and flag_new_exceptions based 
+       on IA64_UNWIND_INFO too.
+
+       * varasm.c (assemble_eh_label): Generate a label via
+       ASM_OUTPUT_EH_LABEL if it has been specified.
+       (assemble_eh_align): Generate an alignment directive via 
+       ASM_OUTPUT_EH_ALIGN if it has been specified.
+       (assemble_eh_label): Generate an integer value via
+       ASM_OUTPUT_EH_type if they have been specified.
+       * config/ia64/ia64.c (rtx_needs_barrier): Add flushrs.
+       (ia64_init_builtins): Add __builtin_ia64_bsp
+       and __builtin_ia64_flushrs.     
+       (ia64_expand_builtin): Add IA64_BUILTIN_BSP and
+       IA64_BUILTIN_FLUSHRS.
+       * config/ia64/ia64.h (ia64_builtins): Add IA64_BUILTIN_BSP and
+       IA64_BUILTIN_FLUSHRS.
+
+       * config/ia64/ia64.md (flushrs): New insn to flush the register
+       stack.  Add to unspec list.
+
+       * config/ia64/crtbegin.asm (frame_object): Change size.
+       (__do_frame_setup_aux): New function.
+       * config/ia64/crtend.asm: call __do_frame_setup_aux.
+       * config/ia64/t-ia64 (LIB2ADDEH): Add.
+       * Makefile.in (LIB2ADDEH): Add.
+       (LIB2ADD): Use LIB2ADDEH.
+       
+2000-05-24  Richard Henderson  <rth@cygnus.com>
+
+       * recog.c (offsettable_address_p): If mode size is zero, assume
+       BIGGEST_ALIGNMENT.
+
+2000-05-24  J. David Anglin  <dave@hiauly.hia.nrc.ca>
+
+       * configure.in: Check for -Wno-long-long option support and improve
+       handling of warning CFLAGS for stages 1 and 2.
+       * Makefile.in (WARN_CFLAGS): Move definition to configure.in.
+       * configure: Regenerate.
+
+Wed May 24 19:37:53 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * gcc.texi: Remove contributor list.  Instead include contrib.texi.
+       * contrib.texi: New file.
+
+Thu May 25 02:27:22 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (basic_induction_var): Avoid double recording of an increment.
+
+Thu May 25 02:19:27 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * Back out this patch:
+       Tue Dec  7 19:22:06 1999  Richard Henderson  <rth@cygnus.com>
+         * loop.h (struct induction): Add multi_insn_incr.
+         * loop.c (basic_induction_var): New multi_insn_incr argument.
+         Set it if we search back through previous insns for the biv.
+         (record_biv): New multi_insn_incr argument; fill in struct induction.
+         (strength_reduce): Discard an iv with multiple bivs, any of
+         which require multiple insns to increment.
+
+       * loop.c (check_insn_for_bivs): Remove bits copied from above patch.
+
+Thu May 25 02:09:10 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * rtl.h (loc_mentioned_in_p): Declare.
+       * reload.c (loc_mentioned_in_p): Moved from here...
+       * rtlanal.c (loc_mentioned_in_p): to here.  No longer static.
+       Fix loop increment for 'E' handling.
+       * loop.c (strength_reduce): When doing biv->giv conversion,
+       take multi-insn biv increments into account.
+
+2000-05-24  Jason Merrill  <jason@casey.soma.redhat.com>
+
+       * stmt.c (expand_end_bindings): Look through NOTEs to find a
+       BARRIER.
+
+2000-05-24  Mark Mitchell  <mark@codesourcery.com>
+
+       * calls.c (expand_call): Handle cleanups in tail-recursion
+       arguments analagously to cleanups in sibling calls.
+
+2000-05-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * simplify-rtx.c: Rename macro SIGN_EXTEND to HWI_SIGN_EXTEND.
+       All callers changed.
+
+2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * expr.c (expand_assignment, store_expr, expand_expr,
+       expand_expr_unaligned): Set in_check_memory_usage while emitting
+       chkr_check_addr libcall.
+
+2000-05-24  Nick Clifton  <nickc@cygnus.com>
+
+       * fold-const.c (extract_muldiv): When constructing a
+       multiplier/divisor, do not expect const_binop to correctly
+       determine if overflow has occured, so check explicitly.
+
+2000-05-24  Alexandre Oliva  <aoliva@cygnus.com>
+
+       * c-decl.c (build_enumerator): Don't modify the value's type,
+       convert it.
+
+2000-05-24  Andreas Jaeger  <aj@suse.de>
+
+       * mips.h (LINKER_ENDIAN_SPEC): Pass -EL to linker by default.
+
+2000-05-24  Eric Christopher <echristo@cygnus.com>
+
+       * configure.in: Redefine inhibit_libc conditions.
+       * libgcc2.c: Remove inhibit_libc conditional define.
+       * configure: Regenerate.
+
+2000-05-24  Phil Edwards  <pme@sourceware.cygnus.com>
+
+       * configure.in:  For --enable-languages=LIST, check for empty LIST.
+       * configure:  Regenerate.
+
+2000-05-24  Lars Brinkhoff  <lars@nocrew.org>
+
+       * pdp11.h (STACK_BOUNDARY): Define.
+
+2000-05-24  Jakub Jelinek  <jakub@redhat.com>
+
+       * ifcvt.c (if_convert): Update life info globally.
+
+2000-05-24  Alexandre Oliva  <oliva@lsd.ic.unicamp.br>
+
+       * emit-rtl.c (unshare_all_decls): New function.
+       (unshare_all_rtl): Call it.
+
+2000-05-23  Nick Clifton  <nickc@cygnus.com>
+
+       * configure.in: Treat 'strongarm' as if it were 'arm' when
+       determining cpu type.
+
+       * configure: Regenerate.
+
+       * config/arm/arm.c: Change 'char *' to 'const char *' for cases
+       where constant strings are involved.
+
+       * config/arm/arm.h (arm_condition_codes): Change type to 'const
+       char *'.
+
+       * config/arm/arm-protos.h: Change 'char *' to 'const char *' for
+       cases where constant strings are involved.
+
+Tue May 23 15:08:31 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * config/sh/sh.c (gen_far_branch, split_branches): Update
+       to reflect new prototypes for redirect_jump and invert_jump.
+       (sh_insn_length_adjustment): Get rid of const warnings.
+
+2000-05-23  Kazu Hirata  <kazu@hxi.com>
+
+       * invoke.texi (Options for Debugging Your Program or GCC): Update
+       the names of dump files.
+
+Tue May 23 13:58:52 2000  Philippe De Muyter  <phdm@macqel.be>
+
+       * configure.in (NO_MINUS_C_MINUS_O): Fix thinko in previous fix.
+       * configure: Regenerated.
+
+2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * simplify-rtx.c (SIGN_EXTEND): New macro.
+       (simplify_unary_operation, simplify_binary_operation, 
+       simplify_relational_operation): Use SIGN_EXTEND.  Make low
+       halves of (low, high) pairs unsigned if they weren't already.       
+       (simplify_ternary_operation): Cast INTVAL to unsigned before
+       comparing to a MODE_BITSIZE.
+
+2000-05-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * aclocal.m4 (gcc_AC_CHECK_DECL, gcc_AC_CHECK_DECLS): New macros
+       rewritten from the internals of gcc_AC_NEED_DECLARATION{S}.
+       
+       * configure.in (gcc_AC_CHECK_DECLS): Call this instead of
+       gcc_AC_NEED_DECLARATIONS.
+
+       * dwarfout.c: Don't prototype time().
+
+       * gcc.c: Check HAVE_DECL_* instead of NEED_DECLARATION_*.
+
+       * system.h: Likewise.
+
+       * toplev.c: Likewise.
+
+2000-05-23  Zack Weinberg  <zack@wolery.cumb.org>
+
+       * c-decl.c (pushdecl): Invert sense of test for non-global types.
+
+Tue May 23 18:11:42 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * reload1.c (reload_cse_move2add): Honor TRULY_NOOP_TRUNCATION.
+
 2000-05-23  Jonathan Larmour  <jlarmour@redhat.co.uk>
 
        * config/mips/elf64.h (CTOR_LISTS_DEFINED_EXTERNALLY): Define
This page took 0.05745 seconds and 5 git commands to generate.