+2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
+
+ * ifcvt.c (if_convert): Scan and kill dead code.
+
+ * emit-rtl.c (unshare_all_rtl): Store the copied rtx.
+
+2000-05-20 Zack Weinberg <zack@wolery.cumb.org>
+
+ * diagnostic.c: Eliminate implicit int.
+ * except.c, gcc.c: Add static prototypes.
+ * final.c (final_end_function): Mark file arg ATTRIBUTE_UNUSED.
+ * gensupport.c (process_rtx): Use XVEC to initialize vector
+ slot of 'split'.
+
+ * print-rtl.c: If DEBUG_REGISTER_NAMES, define static
+ debug_reg_names instead of static reg_names. If not, define
+ global reg_names.
+ * regclass.c: Don't define global reg_names unless
+ DEBUG_REGISTER_NAMES is defined.
+
+ * reload1.c (order_regs_for_reload): Remove unused variable.
+ * varasm.c: Include output.h after defaults.h. Define
+ eh_frame_section as function of no args, not of unspecified args.
+
+ * gcc.c: Constify argbuf; arguments to store_arg,
+ process_command, main; elements of struct command and struct
+ switchstr; local variables in execute, process_command, main.
+
+2000-05-20 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/inclhack.def: many applications of c_fix=format + tests
+ * fixinc/check.diff: regenerated
+ * fixinc/fixincl.x: regenerated
+
+Sat May 20 09:30:55 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * alias.c: Clarify some comments.
+ (record_base_value): REGNO is unsigned.
+ * rtl.h (record_base_value): Likewise.
+
+ * alias.c (aliases_everything_p): Don't special-case QImode here.
+ * c-common.c (c_get_alias_set): Do it here.
+ Handle BIT_FIELD_REF by getting alias info for arg.
+ Use POINTER_TYPE_P.
+
+2000-05-20 Alexandre Oliva <aoliva@cygnus.com>
+
+ * mklibgcc.in: Restore rule to create ${dir}.
+
+Sat May 20 08:45:41 2000 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.in (libgcc.mk): Depend on xgcc$(exeext) for
+ GCC_FOR_TARGET used by MULTILIBS.
+ * mklibgcc.in: Make sure each .o file depends on the
+ directory it will be in.
+ Make the multilib directory depends libgcc.
+
+Sat May 20 08:29:28 2000 H.J. Lu <hjl@gnu.org>
+
+ * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1.
+
+Sat May 20 07:27:35 2000 Alexandre Oliva <aoliva@cygnus.com>
+
+ * fold-const.c (make_range): Handle degenerated intervals.
+ Fixes c-torture/execute/991221-1.c
+
+Fri May 19 18:16:31 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * cse.c (cse_basic_block): Only call find_reg_note if REG_NOTES not 0.
+ * reload.c (find_equiv_reg): Likewise.
+ * alias.c (init_alias_analysis): Likewise.
+ Only call prologue_epilogue_contains on insns.
+ * basic-block.h (REG_SET_TO_HARD_REG_SET): Call new function.
+ * bb-reorder.c (hard-reg-set.h): Include earlier.
+ * haifa-sched.c (hard-reg-set.h): Likewise.
+ * ifcvt.c (hard-reg-set.h): Likewise.
+ * local-alloc.c (hard-reg-set.h): Likewise.
+ * loop.c (hard-reg-set.h): Likewise.
+ * predict.c (hard-reg-set.h): Likewise.
+ * regrename.c (hard-reg-set.h): Likewise.
+ * flow.c (hard-reg-set.h): Likewise.
+ (reg_set_to_hard_reg_set): New function.
+ * bitmap.c (regs.h, basic-block.h): No longer include.
+ (bitmap.h): Now include.
+ * conflict.c (hard-reg-set.h): Include.
+ * profile.c (hard-reg-set.h): Likewise.
+ * print-rtl.c (hard-reg-set.h): Likewise.
+ * sbitmap.c (hard-reg-set.h): Likewise.
+ * toplev.c (hard-reg-set.h): Likewise.
+ * unroll.c (hard-reg-set.h, basic-block.h): Likewise.
+ * hard-reg-set.h (reg_names): Now constant.
+ * regs.h (reg_names): Likewise.
+ * regclass.c (reg_names): Likewise.
+ * loop.h (basic-block.h): No longer include.
+ (bitmap.h): Now include.
+ * reload1.c (order_regs_for_reload): Avoid loop over reg sets.
+ * Makefile.in (LOOP_H, sbitmap.o, profile.o): Reflect above changes.
+ (toplev.o, print-rtl.o, conflict.o, unroll.o, bitmap.o): Likewise.
+
+2000-05-19 Jan Hubicka <jh@suse.cz>
+ Richard Henderson <rth@cygnus.com>
+
+ * basic-block.h (struct edge_def): New field "count".
+ (struct basic_block_def): Likewise.
+ * flow.c (entry_exit_blocks): Add count fileds.
+ (split_edge): Keep count information up-to-date.
+ (dump_edge_info, dump_flow_info): Dump count fields.
+
+ * final.c (count_instrumented_edges): Rename to edge from arc.
+ (end_final): Update users.
+ * profile.c: Include expr.h, basic-block.h.
+ (struct adj_list, ARC_TARGET, ARC_SOURCE, ARC_COUNT): Kill.
+ (struct bb_info, label_to_bb, label_to_bb_size, bb_graph): Kill.
+ (ignore_next_note, return_label_execution_count): Kill.
+ (bbg_file_name, da_file_name): Kill.
+ (edge_info, bb_info): New structures.
+ (EDGE_INFO, BB_INFO, GCOV_INDEX_TO_BB, BB_TO_GCOV_INDEX): New macros.
+ (count_instrumented_edges, total_num_edges): Rename to edge from arc.
+ (total_num_edges_instrumented): Likewise.
+ (init_arc, expand_spanning_tree): Kill.
+ (fill_spanning_tree, tablejump_entry_p): Kill.
+ (instrument_edges): Rewrite from instrument_arcs to use
+ commit_edge_insertions infrastructure.
+ (compute_branch_probabilities): Remove arguments; rewrite for
+ CFG infrastructure; use rtl_dump_file directly.
+ (branch_prob, find_spanning_tree): Likewise.
+ (union_groups, find_group): New.
+ (init_branch_prob): Make bbg_file_name and da_file_name local.
+ (end_branch_prob): Use rtl_dump_file directly.
+ (init_edge_profiler): Rename to edge from arc.
+ (output_arc_profiler): Kill.
+ (gen_edge_profiler): New.
+ (output_func_start_profiler): Turn off profiling. Make the
+ constructor static when we can.
+ * rtl.h (branch_prob, end_branch_prob): Update prototypes.
+
+ * toplev.c (DFI_flow): Remove.
+ (DFI_cfg, DFI_life): New.
+ (dump_file): Update accordingly.
+ (compile_file): Call end_branch_prob if profile_arc_flag too.
+ (rest_of_compilation): Move flow1 cfg creation to DFI_cfg. Do edge
+ profiling after the CFG is built. Move flow1 life analysis to
+ DFI_life. Always estimate remaining probabilities.
+
+2000-05-19 Richard Henderson <rth@cygnus.com>
+
+ * ifcvt.c (find_if_case_2): Don't allow THEN to be EXIT.
+
+ * flow.c (make_edges): The sibling call edge to exit is abnormal.
+
+2000-05-19 Richard Henderson <rth@cygnus.com>
+
+ * jump.c (redirect_jump): Add delete_unused argument. Don't
+ remove labels and code following when LABEL_NUSES goes to zero.
+ (invert_jump): Likewise.
+ (jump_optimize_1): Fix redirect/invert arguments.
+ (do_cross_jump, thread_jumps): Likewise.
+ * flow.c (split_edge): Likewise.
+ * reorg.c (optimize_skip): Likewise.
+ (reorg_redirect_jump, relax_delay_slots, dbr_schedule): Likewise.
+ * profile.c (instrument_arcs): Likewise.
+ * loop.c (find_and_verify_loops): Likewise. Fix indentation.
+ * rtl.h: Update prototypes.
+
+Fri May 19 12:05:13 2000 Clinton Popetz <cpopetz@cygnus.com>
+
+ * ssa.c (convert_from_ssa): Tell life_analysis we need death
+ notes.
+ (make_regs_equivalent_over_bad_edges): Only look at abnormal
+ critical edges.
+
+2000-05-19 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpphash.c (funlike_macroexpand): Make sure not to walk p1
+ past l1 when deleting whitespace and markers.
+
+ * cpplex.c (_cpp_scan_until): Clear AUX field of tokens.
+ * cpplib.c (do_unassert): Put the list to compare against on
+ the stack.
+
+2000-05-19 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/README: cleaned up old documentation
+ * fixinc/check.diff: regenerated & verified on OSR5 on ix86
+ * fixinc/check.tpl: compute the list of needed directories
+ emit "#if defined(name)" because of conflict
+ omit machine name differences from output differences
+ * fixinc/inclhack.def( m88k_multi_incl ): Use `wrap' function
+ (machine_name): change test text to use `sed' markers
+ * fixinc/fixincl.x: regen
+
+Fri May 19 06:49:35 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of
+ a CONSTRUCTOR.
+
+2000-05-18 Chris Demetriou <cgd@sibyte.com>
+
+ * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update
+ it to match the current practice.
+
+2000-05-18 Mark Mitchell <mark@codesourcery.com>
+
+ * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under.
+
+2000-05-18 Richard Henderson <rth@cygnus.com>
+
+ * rtlanal.c (insn_dependant_p, insn_dependant_p_1): New.
+ * rtl.h (insn_dependant_p): Declare it.
+ * loop.c (strength_reduce): Use it.
+
+2000-05-18 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.c (expand_prologue, expand_epilogue):
+ 16-bit and 64-bit clean-up.
+
+2000-05-18 Mark Elbrecht <snowball3@bigfoot.com>
+
+ * configure.in (*-pc-msdosdjgpp): Set float_format to none.
+ * configure: Rebuilt.
+
+2000-05-18 Zack Weinberg <zack@wolery.cumb.org>
+
+ * genopinit.c: Use $ for escape sequences in optab patterns.
+ Remove backslashes from optab patterns. Change $A, $B, $C to
+ expand to (int) whatever instead of just whatever; remove
+ explicit (int) from all optab patterns.
+
+ * gensupport.c (xmalloc, xrealloc, xstrdup): Provide.
+ * genattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c,
+ genextract.c, genflags.c, genopinit.c, genoutput.c, genpeep.c,
+ genrecog.c: Remove private copies of xmalloc, xrealloc, and
+ xstrdup.
+
+2000-05-18 Richard Henderson <rth@cygnus.com>
+
+ * jump.c (jump_optimize_1): Base minimum insn count during
+ find_cross_jump on BRANCH_COST.
+
+2000-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ * print-rtl.c (print_rtx): Only print note line number as string
+ if between NOTE_INSN_BIAS and NOTE_INSN_MAX.
+ * final.c (final_scan_insn): Do nothing for note line number 0.
+
+2000-05-18 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc-common.c (ggc_mark_rtx_children): Mark NOTE_EXPECTED_VALUE
+ from NOTE_INSN_EXPECTED_VALUE notes and NOTE_SOURCE_FILE from
+ NOTE_INSN_DELETED_LABEL.
+
+2000-05-18 Nick Clifton <nickc@cygnus.com>
+
+ * config/arm/unknown-elf.h (UNIQUE_SECTION): Place constant,
+ uninitialised data in .rodata not .bss, and do not interpret an
+ error in the initialisation value as meaning that the variable
+ should be placed in the .bss section.
+
+Thu May 18 12:10:18 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * configure.in (NO_MINUS_C_MINUS_O): Test `$ac_cv_prog_cc_${ac_cc}_c_o',
+ not `$ac_cv_prog_cc_cc_c_o'.
+ * configure: Regenerated.
+
+2000-05-18 Chris Demetriou <cgd@sibyte.com>
+ Richard Henderson <rth@cygnus.com>
+
+ * c-common.h (enum c_tree_index): Add g77 type entries.
+ (g77_integer_type_node, g77_uinteger_type_node): New.
+ (g77_longint_type_node, g77_ulongint_type_node): New.
+ * c-decl.c (init_decl_processing): Initialize them.
+
+2000-05-18 Richard Henderson <rth@cygnus.com>
+
+ * config/h8300/h8300.md (subs patterns): Use %G to negate.
+
+ * config/h8300/h8300.c (ok_for_bclr): Take a HOST_WIDE_INT.
+ (small_power_of_two): Likewise; use exact_log2.
+ (adds_subs_operand, one_insn_adds_subs_operand): Remove.
+ (output_adds_subs): Remove.
+ (two_insn_adds_subs_operand): New.
+ (split_adds_subs): New.
+ * config/h8300/h8300-protos.h: Update.
+ * config/h8300/h8300.h (CONST_OK_FOR_J): Cast to uns HOST_WIDE_INT.
+ (CONST_OK_FOR_L): Match strict adds operands.
+ (CONST_OK_FOR_N): Match struct subs operands.
+ * config/h8300/h8300.md (adds_subs insns): Remove.
+ (addhi patterns): Output adds/subs directly.
+ (addsi_h8300h): Likewise.
+ (addhi/addsi splitters): New. Decompose two_insn_adds_subs_operand.
+
+2000-05-18 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cppexp.c (parse_assertion): New.
+ (lex): Call it for CPP_HASH. Remove CPP_ASSERTION case.
+ (_cpp_parse_expr): Remove case '#'. Don't set
+ parsing_if_directive.
+ * cpphash.c (collect_objlike_expansion,
+ collect_funlike_expansion, collect_params,
+ _cpp_create_definition): The list no longer has a trailing
+ VSPACE token.
+ * cpphash.h (enum node_type): Add T_ASSERTION.
+ (struct hashnode): Remove aschain, add pred.
+ (struct predicate): New.
+ Update prototypes.
+
+ * cpplex.c (expand_token_space): Handle both offset and
+ nonoffset lists.
+ (init_token_list, _cpp_free_token_list, _cpp_parse_assertion): Delete.
+ (_cpp_init_toklist, _cpp_clear_toklist, _cpp_free_toklist,
+ _cpp_slice_toklist, _cpp_squeeze_toklist, _cpp_equiv_tokens,
+ _cpp_equiv_toklists): New.
+ (_cpp_scan_line): Rename to _cpp_scan_until; add ability to
+ stop at any single-character token, not just newline.
+ (_cpp_lex_token): Remove special cases for #define and #if.
+ (cpp_get_token): Expect # as a separate token type. Remove
+ DIRECTIVE case.
+ (_cpp_get_directive_token): Remove DIRECTIVE case.
+ (_cpp_lex_line, _cpp_lex_file, _cpp_init_input_buffer): Update.
+
+ * cpplib.c (_cpp_check_directive): Set dirno and
+ SYNTAX_INCLUDE bit of flags, not dir_handler and dir_flags.
+ (_cpp_handle_directive): Run # <number> through the same logic
+ as normal directives.
+ (do_define): Don't set parsing_define_directive. Use
+ _cpp_scan_until. The list does not have a VSPACE at the end.
+ (do_if): Save, clear, and restore only_seen_white around
+ _cpp_parse_expr.
+ (skip_if_group): s/CPP_DIRECTIVE/CPP_HASH/
+ (do_assert, do_unassert): Rewrite.
+
+ * cpplib.h (TTYPE_TABLE): Remove CPP_ASSERTION.
+ (LIST_OFFSET): New flag.
+ (struct cpp_toklist): Replace dir_handler and dir_flags with
+ dirno and flags.
+ (struct cpp_reader): Remove parsing_if_directive and
+ parsing_define_directive.
+
+2000-05-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fixinc/inclhack.def (broken_cabs): Update fix to handle comments
+ following the cabs decl which terminate on the following line.
+ Add the corresponding test_text case.
+
+2000-05-18 Neil Booth <NeilB@earthling.net>
+
+ * cppinit.c (cpp_reader_init): Initialise col_adjust and
+ default tab stop size.
+ (no_num, OPT_ftabstop): New.
+ (handle_option): Handle "ftabstop=" command-line option.
+ (print_help): Document it.
+ * cpplex.c (COLUMN): Remove.
+ (handle_newline): Reset col_adjust.
+ (skip_whitespace): Update col_adjust as tabs encountered.
+ (_cpp_lex_line): Update to use col_adjust. Call
+ skip_whitespace for all whitespace.
+ * cpplib.h (struct cpp_options): New member tabstop.
+ (struct cpp_reader): New member col_adjust.
+ (CPP_BUF_COL): Update.
+ (CPP_BUF_COLUMN): New.
+ * cpp.texi: Document "-ftabstop=" command line option.
+
+Wed May 17 18:19:41 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * configure.in (NO_MINUS_C_MINUS_O): Macro made availabe for AC_OUTPUT
+ files.
+ * configure: Rebuilt.
+
+Wed May 17 18:06:12 2000 John David Anglin <dave@hiauly1.hia.nrc.ca>
+
+ * mklibgcc.in Add missing -DL$name when compiling modules in libgcc1.c.
+
+ * tree.c (build_common_tree_nodes): Do not build TI nodes unless
+ HOST_BITS_PER_WIDE_INT is >= 64.
+
+2000-05-17 Richard Henderson <rth@cygnus.com>
+
+ * jump.c (jump_optimize_1): Remove inactive but real insns
+ in jump-to-next-insn optimization.
+
+2000-05-17 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (rest_of_compilation): Don't call optimize_mode_switching
+ unless OPTIMIZE_MODE_SWITCHING. Conditionally set no_new_pseudos.
+ Don't call recompute_reg_usage if no_new_pseudos is true.
+ * lcm.c (optimize_mode_switching): Move ifdefs outside function.
+ Return true if we did work; update global life information.
+ * basic-block.h (optimize_mode_switching): Update decl.
+
+2000-05-17 Neil Booth <neilb@earthling.net>
+
+ * cpplex.c (expand_name_space): Don't use ptrdiff_t.
+
+2000-05-17 Zack Weinberg <zack@wolery.cumb.org>
+
+ * cpplib.c: New feature, #pragma system_header.
+ * cpp.texi: Document special treatment of system headers, and
+ the various mechanisms to get a header that special treatment.
+
+2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * system.h (offsetof): Define at the very end, to ensure we prefer
+ the platform's definition if available.
+
+2000-05-16 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/fixincl.c: improve the debug displays, ignore SIGPIPE
+ * fixinc/server.c: likewise
+ * fixinc/fixfixes.c( char_macro_def_fix ): fix regex
+ + #ifdef debugging code + use #def constant for
+ sub-pattern count
+ * fixinc/inclhack.def( hpux11_fabsf ): Keep HP-UX 11 from stomping
+ on C++ math namespace
+
+2000-05-17 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * fixinc/fixfixes.c (char_macro_use_fix, char_macro_def_fix):
+ Don't check the return value of sprintf. Use asprintf to avoid
+ buffer overflows.
+
+Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
+
+ * flags.h (warn_unused_function, warn_unused_label,
+ warn_unused_parameter, warn_unused_variable, warn_unused_value):
+ Replace ``warn_unused''.
+ (set_Wunused): Add declaration.
+ * toplev.c (set_Wunused): New function.
+ (warn_unused_function, warn_unused_label, warn_unused_parameter,
+ warn_unused_variable, warn_unused_value): New variables.
+ (W_options): Add -Wunused-function, -Wunused-function,
+ -Wunused-label, -Wunused-parameter, -Wunused-variable and
+ -Wunused-value. Delete -Wunused. Handled in decode_W_option.
+
+ * toplev.c (decode_W_option): Update -Wunused flags by calling
+ set_Wunused.
+ * c-decl.c (c_decode_option): Ditto for -Wall.
+
+ * stmt.c (expand_expr_stmt, expand_expr_stmt,
+ warn_about_unused_variables): Replace warn_unused with more
+ explicit warn_unused_value et.al.
+ * function.c (expand_function_end): Ditto.
+ * c-typeck.c (internal_build_compound_expr,
+ internal_build_compound_expr): Ditto.
+ * c-decl.c (poplevel, pop_label_level): Ditto.
+ * toplev.c (check_global_declarations): Replace warn_unused with
+ check for either warn_unused_function or warn_unused_variable.
+
+ * gcc.1, invoke.texi (Warning Options): Document
+ -Wunused-function, -Wunused-function, -Wunused-label,
+ -Wunused-parameter, -Wunused-variable and -Wunused-value options.
+
+Wed May 17 10:28:12 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in
+ $(srcdir), not in the current directory.
+
+2000-05-16 Richard Henderson <rth@cygnus.com>
+
+ * config/ia64/crtbegin.asm (__dso_handle): Mark hidden if the
+ assembler supports it.
+ (.fini, .init): Use a gp-relative indirect call.
+ (__do_global_dtors_aux): Preserve the gp; rebundle.
+ (__do_frame_setup): Likewise.
+ * config/ia64/crtend.asm (.IA_64.unwind): Don't terminate with -1.
+ (.init): Use a gp-relative indirect call.
+ (__do_global_ctors_aux): Preserve the gp.
+
+2000-05-16 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (commit_one_edge_insertion): Be prepared for a return
+ insn to be inserted on the edge with a normal jump.
+ * jump.c (jump_optimize_1): Don't look to create return isns.
+
+ * flow.c (flow_delete_insn): Don't adjust reference count of notes.
+ * jump.c (jump_optimize_1): Likewise.
+ (returnjump_p): Verify the argument is a JUMP_INSN.
+ * rtl.def (NOTE): Add 5th element for NOTE_INSN_DELETED_LABEL.
+
+2000-05-16 Nick Clifton <nickc@cygnus.com>
+
+ * config/m32r/m32r.c (small_insn_p): Use INSN_P() to replace
+ GET_RTX_CLASS (GET_CODE ()) == 'i'.
+ (large_insn_p): Ditto.
+ (m32r_is_insn): New function: Return true if the insn contains
+ an executable instruction.
+ (m32r_adjust_insn): Use m32r_is_insn.
+ (m32r_sched_reorder): Use m32r_is_insn.
+ (m32r_sched_variable_issue): Use m32r_is_insn.
+
+2000-05-16 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+
+ * rs6000/rs6000.c (rs6000_select_section): Treat CONSTRUCTOR like
+ VAR_DECL.
+
+ * rs6000/sysv4.h (ASM_OUTPUT_DWARF_ADDR): Delete unused variable.
+
+ * rs6000/sysv4.h (CPP_OS_LINUX_SPEC): Define __unix and __linux
+ according to given options.
+
+Tue May 16 12:17:31 2000 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.h (PREFERRED_RELOAD_CLASS): Do not prefer DATA_REGS
+ if X has VOIDmode either.
+ (LIMIT_RELOAD_CLASS): Similarly.
+
+ * mn10200.md (indirect_jump, tablejump): Use "register_operand",
+ not "general_operand" to match the processor's capabilities.
+
+2000-05-16 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/README: corrected return address
+ * fixinc/check.diff: regenerate, now that test works
+ * fixinc/fixfixes.c(format_fix,format_write): reformatted
+ (char_macro_def_fix,char_macro_use_fix): corrected and
+ rewrote to use regex to parse the text
+ * fixinc/inclhack.def: more testing
+ * fixinc/fixincl.x: regenerated
+
+ * fixinc/inclhack.def: added several "test_text" attributes
+ changed several fixes to use `c_fix = format'
+ re-alphabetized the fixes
+
+ * fixinc/check.diff: regenerate
+ * fixinc/fixincl.x: regenerate
+ * fixinc/check.tpl: added `sparc' and `netinet' to the list
+ of created dirs
+
+
+2000-05-16 Alexandre Oliva <aoliva@cygnus.com>
+
+ * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove.
+
+2000-05-15 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (rest_of_compilation): Run full jump pass before
+ find_basic_blocks of flow2.
+
+2000-05-15 Richard Henderson <rth@cygnus.com>
+
+ * jump.c: Fix typos and clarify commentary from last change.
+ (any_condjump_p): Verify SET_SRC is an IF_THEN_ELSE.
+ (safe_to_remove_jump_p): Remove.
+ (condjump_label): Use pc_set.
+
+2000-05-15 Richard Henderson <rth@cygnus.com>
+
+ * ifcvt.c (cond_exec_process_insns): Drop USE and CLOBBER insns
+ that get in the way after reload.
+ (cond_exec_process_if_block): Skip a label heading THEN block.
+
+2000-05-15 Richard Henderson <rth@cygnus.com>
+
+ * varasm.c (output_constant_pool): Abort instead of converting
+ (improperly) deleted labels to zero.
+
+2000-05-16 Neil Booth <NeilB@earthling.net>
+
+ * cpplex.c (parse_string2): Update comment.
+ (cpp_lex_line): No special assertion treatment for '('.
+ * cpplib.c (DIRECTIVE_TABLE): Remove SYNTAX_ASSERT.
+ * cpplib.h (SYNTAX_ASSERT): Remove.
+
+Mon May 15 21:45:36 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * jump.c (condjump_p): Mark as depreached.
+ (any_condump_p): New.
+ (any_uncondump_p): New.
+ (pc_set): New.
+ (safe_to_remove_jump_p): New.
+ * rtl.h (any_condump_p, any_uncondjump_p, pc_set
+ safe_to_remove_jump_p): Declare.
+
+Mon May 15 21:07:20 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * calls.c: Re-install both patches reverted by last patch.
+ (struct arg_data): New field tail_call_reg.
+ (initialize_argument_information): Initialize tail_call_reg
+ (load_register_parameters): New argument flags, use
+ tail_call_reg when emiting tail call sequence.
+ (expand_call): Update call of load_register_parameters;
+ copy unadjusted_args_size to adjusted_args_size.
+
+Mon May 15 19:01:42 MET DST 2000 Jan Hubicka <jh@suse.cz>
+
+ * loop.c (scan_loop, strength_reduce, loop_optimize): Change unroll_p
+ and bct_p parameters to flags.
+ * loop.h (LOOP_UNROLL, LOOP_BCT): New constants.
+ * rtl.h (loop_optimize): Update prototype.
+ * toplev.c (rest_of_compilation): Update call of loop_optimize.
+
+2000-05-15 Jakub Jelinek <jakub@redhat.com>
+
+ * calls.c (expand_call): Move expand_start_target_temps call after
+ start_sequence().
+
+2000-05-15 Neil Booth <NeilB@earthling.net>
+
+ * cpphash.c (trad_stringify, warn_trad_stringify,
+ collect_params): Make some pointers pointers to const.
+ * cpplex.c (auto_expand_name_space) Guaranteed to always
+ expand by at least one character.
+ (SPELL_CHAR, SPELL_NONE): Temporarily reverse order.
+ (struct token_spelling): Use const U_CHAR * rather than PTR.
+ (expand_name_space): Fix up token pointers if name space
+ is moved when expanding.
+ (INIT_NAME, cpp_scan_line, parse_name, parse_number,
+ parse_string2, save_comment, spell_token, cpp_output_list):
+ Update so the routines handle tokens with a direct pointer to
+ their text, rather than an offset into the token's list's namebuf.
+ (_cpp_lex_line): Rearrange for clarity.
+
+ * cpplib.c (_cpp_check_directive): Similarly.
+ (do_define): Make SYM a pointer to const.
+ * cpplib.h (struct cpp_name): Replace offset with direct pointer.
+ (CPP_INT, CPP_FLOAT): Spelling type should be SPELL_IDENT.
+ (TOK_OFFSET): Delete.
+ (TOK_NAME): Update.
+
+2000-05-14 Geoffrey Keating <geoffk@cygnus.com>
+
+ * config/rs6000/rs6000.h (RETURN_ADDRESS_OFFSET): Correct for
+ 64-bit ABI.
+
+ * config/rs6000/rs6000.c (logical_operand): Rewrite to take MODE
+ into account.
+ (logical_u_operand): Delete.
+ (non_logical_cint_operand): Rewrite to take MODE into account.
+ (non_logical_u_cint_operand): Delete.
+ (boolean_operator): New function.
+ (print_operand): Add new %q operand.
+ * config/rs6000/rs6000.h (PREDICATE_CODES): Add boolean_operator,
+ remove logical_u_operand and non_logical_u_cint_operand,
+ update logical_operand and non_logical_cint_operand.
+ * config/rs6000/rs6000.md: Rewrite the patterns for performing
+ logical operations to use %q.
+
+ * config/rs6000/rs6000.md (movsi): Don't modify RTL in-place.
+ (movdi): Make similar to movsi.
+ * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): There
+ is no such thing as a DImode CONST_DOUBLE.
+ * config/rs6000/rs6000.c (output_toc): Likewise.
+
+ * config/rs6000/rs6000.c (output_cbranch): Don't output prediction
+ codes when old mnemonics are in use. Print register names
+ for cc registers when requested.
+
+ * optabs.c (expand_float): Don't allow mode widening that causes
+ double rounding.
+
+ * invoke.texi (RS/6000 and PowerPC Options): Update -m64/-m32
+ flags to their current names -maix64 and -maix32.
+
+2000-05-14 Bruce Korb <bkorb@gnu.org>
+
+ * fixinc/fixfixes.c(wrap_fix): new fix - inserts text before
+ and/or after current text of file
+ * fixinc/fixlib.c(must_malloc):
+ * fixinc/fixlib.h(must_malloc): + reformatting
+ * fixinc/inclhack.def: replace the "1i" and "$a" sed commands
+ with usages of ``c_fix = wrap;''
+ Add several tests and use the ``c_fix = format'' fixer more.
+ * fixinc/fixincl.x: regen
+ * fixinc/check.diff: regen
+ * fixinc/check.tpl: emit the associated header with the missing
+ test message
+
+Sun May 14 17:58:59 2000 Hans-Peter Nilsson <hp@axis.com>
+
+ * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset
+ variables $src and $dst.
+
+2000-05-13 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * diagnostic.h (DIAGNOSTICS_SHOW_PREFIX_ONCE): New macro.
+ (DIAGNOSTICS_SHOW_PREFIX_NEVER): Likewise.
+ (DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE): Likewise.
+ (struct output_buffer: emitted_prefix_p, prefixing_rule): New
+ fields.
+ (set_message_prefixing_rule): Declare.
+
+ * diagnostic.c: (current_prefixing_rule): New variable.
+ (set_message_prefixing_rule): Define.
+ (output_set_prefix): Adjust buffer->emitted_prefix_p.
+ (init_output_buffer): Adjust Initialization.
+ (output_emit_prefix): Rewrite. Take prefixing rules into account.
+
+Sat May 13 11:05:47 2000 Philippe De Muyter <phdm@macqel.be>
+
+ * ifcvt.c (if_convert): Do not free NULL.
+
2000-05-12 Nick Clifton <nickc@cygnus.com>
* config/fr30/fr30.c (fr30_move_double): New function: Emit code
2000-05-12 Zack Weinberg <zack@wolery.cumb.org>
- * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
- CTRL_defn_fix): Delete.
- (fix_char_macro_defines, fix_char_macro_uses): Rename to
- char_macro_def_fix and char_macro_use_fix, respectively. Put
- them into the FIXUP_TABLE. Get the string to search for from
- a c_fix_arg.
+ * fixinc/fixfixes.c (IO_use_fix, IO_defn_fix, CTRL_use_fix,
+ CTRL_defn_fix): Delete.
+ (fix_char_macro_defines, fix_char_macro_uses): Rename to
+ char_macro_def_fix and char_macro_use_fix, respectively. Put
+ them into the FIXUP_TABLE. Get the string to search for from
+ a c_fix_arg.
- (format_write): New function.
- (format_fix): Use it.
+ (format_write): New function.
+ (format_fix): Use it.
- (FIX_PROC_HEAD): Constify text parameter.
- (machine_name_fix): Constify all char *s.
- * fixtests.c (skip_quote): Remove double static.
+ (FIX_PROC_HEAD): Constify text parameter.
+ (machine_name_fix): Constify all char *s.
+ * fixtests.c (skip_quote): Remove double static.
- * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
- ctrl_use_quotes): Update for new scheme.
- * fixincl.x: Regenerate.
+ * inclhack.def (io_def_quotes, io_use_quotes, ctrl_def_quotes,
+ ctrl_use_quotes): Update for new scheme.
+ * fixincl.x: Regenerate.
2000-05-12 Alexandre Oliva <aoliva@cygnus.com>
(DWARF2_ASM_LINE_DEBUG_INFO): Define.
(ASM_OUTPUT_DWARF2_ADDR_CONST): Define.
+2000-05-11 Robert Lipe <robertlipe@usa.net>
+
+ * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO.
+ * fixincl.x: Regenerate.
+
2000-05-11 Richard Henderson <rth@cygnus.com>
* calls.c: Revert both 05-09 patches.
Wed 10 May 09:08:30 2000 Neil Booth <NeilB@earthling.net>
- * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
- when removing escaped newlines. Reverse sense of test for
- escaped newline.
+ * cpplex.c (_cpp_lex_line): Maintain PREV_WHITESPACE flag
+ when removing escaped newlines. Reverse sense of test for
+ escaped newline.
2000-05-09 Richard Henderson <rth@cygnus.com>
MEM_COPY_ATTRIBUTES.
2000-05-03 Robert Lipe <robertlipe@usa.net>
-
- * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
- to suppress libgcc1.
- (i[34567]86-*-sco3.2v5*) Likewise.
- (i[34567]86-*-sco3.2v4*) Likewise.
- (i[34567]86-*-sco) Likewise.
- (i[34567]86-*-solaris2) Likewise.
- (i[34567]86-*-sysv5*) Likewise.
- (i[34567]86-*-sysv4*) Likewise.
- (i[34567]86-*-udk*) Likewise.
- (i[34567]86-*-sysv*) Likewise.
+
+ * configure.in (i[34567]86-*-isc*) [tmake_file]: Add t-i386bare
+ to suppress libgcc1.
+ (i[34567]86-*-sco3.2v5*) Likewise.
+ (i[34567]86-*-sco3.2v4*) Likewise.
+ (i[34567]86-*-sco) Likewise.
+ (i[34567]86-*-solaris2) Likewise.
+ (i[34567]86-*-sysv5*) Likewise.
+ (i[34567]86-*-sysv4*) Likewise.
+ (i[34567]86-*-udk*) Likewise.
+ (i[34567]86-*-sysv*) Likewise.
2000-05-03 Zack Weinberg <zack@wolery.cumb.org>
Wed May 3 21:01:46 2000 Jason Eckhardt <jle@cygnus.com>
- * bb-reorder.c (struct reorder_block_def): Member succ removed.
- (REORDER_BLOCK_SUCC): Removed.
- (enum reorder_skip_type): Removed.
- (skip_insns_between_block): Renamed to skip_insns_after_block.
- Removed second argument. Removed dead code and cleaned up.
- (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
- (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
- second parameter to skip_insns_after_block.
+ * bb-reorder.c (struct reorder_block_def): Member succ removed.
+ (REORDER_BLOCK_SUCC): Removed.
+ (enum reorder_skip_type): Removed.
+ (skip_insns_between_block): Renamed to skip_insns_after_block.
+ Removed second argument. Removed dead code and cleaned up.
+ (make_reorder_chain): Removed use of REORDER_BLOCK_SUCC.
+ (reorder_basic_blocks): Remove use of REORDER_SKIP_AFTER. Removed
+ second parameter to skip_insns_after_block.
Wed May 3 13:29:54 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>