X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=b1e00d1212c5c78a55a24a948ab2442ed230ae15;hb=038a3e7a475cf0af637cf0a65a554511dee4aaf8;hp=09153542dc43ee2e77fd7fda666ff8d071a6fc59;hpb=49b4955bbd13d073ebcc503c266c030b9addcb21;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 09153542dc4..b1e00d1212c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,693 @@ +2000-05-20 Alexandre Oliva + + * ifcvt.c (if_convert): Scan and kill dead code. + + * emit-rtl.c (unshare_all_rtl): Store the copied rtx. + +2000-05-20 Zack Weinberg + + * 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 + + * 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 + + * 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 + + * mklibgcc.in: Restore rule to create ${dir}. + +Sat May 20 08:45:41 2000 H.J. Lu + + * 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 + + * Makefile.in (bootstrap): Unset LANG_LIB2FUNCS for stage 1. + +Sat May 20 07:27:35 2000 Alexandre Oliva + + * fold-const.c (make_range): Handle degenerated intervals. + Fixes c-torture/execute/991221-1.c + +Fri May 19 18:16:31 2000 Richard Kenner + + * 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 + Richard Henderson + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config/elfos.h (SELECT_SECTION): Don't access DECL_INITIAL of + a CONSTRUCTOR. + +2000-05-18 Chris Demetriou + + * gcc.texi (MULTILIB_EXCEPTIONS): Correct example and update + it to match the current practice. + +2000-05-18 Mark Mitchell + + * Makefile.in (STAGESTUFF): Fix typo in spelling of s-under. + +2000-05-18 Richard Henderson + + * 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 + + * config/mn10300/mn10300.c (expand_prologue, expand_epilogue): + 16-bit and 64-bit clean-up. + +2000-05-18 Mark Elbrecht + + * configure.in (*-pc-msdosdjgpp): Set float_format to none. + * configure: Rebuilt. + +2000-05-18 Zack Weinberg + + * 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 + + * jump.c (jump_optimize_1): Base minimum insn count during + find_cross_jump on BRANCH_COST. + +2000-05-18 Jakub Jelinek + + * 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 + + * 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 + + * 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 + + * 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 + Richard Henderson + + * 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 + + * 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 + + * 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 # 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * jump.c (jump_optimize_1): Remove inactive but real insns + in jump-to-next-insn optimization. + +2000-05-17 Richard Henderson + + * 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 + + * cpplex.c (expand_name_space): Don't use ptrdiff_t. + +2000-05-17 Zack Weinberg + + * 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 + + * system.h (offsetof): Define at the very end, to ensure we prefer + the platform's definition if available. + +2000-05-16 Bruce Korb + + * 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 + + * 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 + + * 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 + + * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Find libgcc1.c in + $(srcdir), not in the current directory. + +2000-05-16 Richard Henderson + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config/mn10300/mn10300.h (ASM_OUTPUT_DWARF2_ADDR_CONST): Remove. + +2000-05-15 Richard Henderson + + * toplev.c (rest_of_compilation): Run full jump pass before + find_basic_blocks of flow2. + +2000-05-15 Richard Henderson + + * 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 + + * 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 + + * varasm.c (output_constant_pool): Abort instead of converting + (improperly) deleted labels to zero. + +2000-05-16 Neil Booth + + * 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 + + * 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 + + * 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 + + * 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 + + * calls.c (expand_call): Move expand_start_target_temps call after + start_sequence(). + +2000-05-15 Neil Booth + + * 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 + + * 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 + + * 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 + + * mklibgcc.in (building libgcc1) [Xlibgcc1.a]: Do not use unset + variables $src and $dst. + +2000-05-13 Gabriel Dos Reis + + * 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 + + * ifcvt.c (if_convert): Do not free NULL. + 2000-05-12 Nick Clifton * config/fr30/fr30.c (fr30_move_double): New function: Emit code @@ -95,23 +785,23 @@ Fri May 12 19:03:58 2000 Philippe De Muyter 2000-05-12 Zack Weinberg - * 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 @@ -120,6 +810,11 @@ Fri May 12 19:03:58 2000 Philippe De Muyter (DWARF2_ASM_LINE_DEBUG_INFO): Define. (ASM_OUTPUT_DWARF2_ADDR_CONST): Define. +2000-05-11 Robert Lipe + + * fixinc/inclhack.def (hpux8_bogus_inlines): Delete bypass for SCO. + * fixincl.x: Regenerate. + 2000-05-11 Richard Henderson * calls.c: Revert both 05-09 patches. @@ -275,9 +970,9 @@ Wed 10 May 09:36:47 2000 Neil Booth Wed 10 May 09:08:30 2000 Neil Booth - * 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 @@ -989,17 +1684,17 @@ Thu May 4 09:45:12 2000 Richard Kenner MEM_COPY_ATTRIBUTES. 2000-05-03 Robert Lipe - - * 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 @@ -1025,14 +1720,14 @@ Thu May 4 09:45:12 2000 Richard Kenner Wed May 3 21:01:46 2000 Jason Eckhardt - * 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