X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=e07ca1c5e755418d64743a931c4a7b37442ac667;hb=d5e4720befb03664ef5ad3be4a38f5058d2181c3;hp=e7705dc9c9306ef2d6a4fa63410cbd5299f5c0fe;hpb=9ee7cac5988d4e6f22e0dfae2a63f9f4a88e1205;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e7705dc9c93..e07ca1c5e75 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,801 @@ +2000-08-25 Jakub Jelinek + + * config/i386/i386.c (ix86_expand_branch): Treat GE and GEU the same + way as LT and LTU when the second operand has 0 in low word. + +2000-08-26 Michael Hayes + + * basic-block.h (struct loop): Rename `exits' field to + `exit_edges'. Add `entry_edges' and `num_entries' fields. + + * flow.c (flow_loop_exit_edges_find): Rename from flow_loop_exits_find. + (flow_loop_entry_edges_find): Add. + (flow_edge_list_print): Rename from flow_exits_print. + (flow_loops_find): Call flow_loop_entry_edges_find. + (flow_loop_dump): Dump entry_edges list. + (flow_loops_free): Free entry_edges. + +2000-08-26 Michael Hayes + + * loop.c (loop_dump_aux, debug_loop): New functions. + (LOOP_BLOCK_NUM_1, LOOP_BLOCK_NUM, LOOP_INSN_UID): New macros. + + * flow.c (flow_loops_dump): Add callback parameter. + (flow_loop_dump): Add callback parameter and call it. Move + loop note debugging code to loop_dump_aux. + + * basic-block.h (flow_loop_dump): Add callback parameter + (flow_loops_dump): Likewise. + + * toplev.c (rest_of_compilation): Add NULL callback function pointer + to call to flow_loops_dump. + +2000-08-26 Michael Hayes + + * loop.c (count_loop_regs_set): Replace start and end arguments + with loop argument. All callers udated. + +2000-08-26 Michael Hayes + + * loop.c (constant_high_bytes): Delete. + +2000-08-26 Michael Hayes + + * loop.c (prescan_loop): Move checks for NOTE_INSN_LOOP_CONT + and NOTE_INSN_LOOP_VTOP to... + (find_and_verify_loops) ...here. + +Fri Aug 25 04:21:13 2000 Alexandre Oliva + + * crtstuff.c (CRT_CALL_STATIC_FUNCTION): Define default. + (fini_dummy, init_dummy): Use it. + +Fri 25-Aug-2000 08:03:27 BST Neil Booth + + * cpplex.c (is_macro_disabled): Caller has already checked + that we're not a preprocessed file. + +2000-08-24 Mark Mitchell + + * Makefile.in (C_AND_OBJC_OBJS): Remove c-iterate.o. + (c-iterate.o): Remove target. + * gcc/c-common.h (enum rid): Remove RID_ITERATOR. + * gcc/c-decl.c (init_decl_processing): Remove call to init_iterators. + (finish_decl): Don't handle iterators. + (grokdeclarator): Likewise. + * gcc/c-parse.gperf: Remove __iterator and __iterator__ keywords. + * gcc/c-gperf.h: Regenerated. + * gcc/c-iterate.c: Removed. + * gcc/c-lex.c (init_lex): Don't handle iterators. + * gcc/c-parse.in (primary): Remove pop_iterator_stack call. + (compstmt_primary_start): Remove push_iterator_stack call. + (stmt): Don't allow iterator statements. Replace iterator_expand + with expand_expr_stmt. + (all_iter_stmt): Remove. + (all_iter_stmt_simple): Likewise. + (all_iter_stmt_with_decl): Likewise. + * gcc/c-tree.h (ITERATOR_P): Remove. + (ITERATOR_BOUND_P): Likewise. + (init_iterators): Remove declaration. + (iterator_expand): Likewise. + (iterator_for_loop_start): Likewise. + (iterator_for_loop_end): Likewise. + (iterator_for_loop_record): Likewise. + (push_iterator_stack): Likewise. + (pop_iterator_stack): Likewise. + * gcc/c-typeck.c (decl_constant_value): Don't check ITERATOR_P. + (readonly_warning): Likewise. + * gcc/tree.h (ITERATOR_BOUND_P): Don't mention it. + +2000-08-24 Jim Wilson + + * c-common.c (decl_attributes, case A_ALIGN): Revert last change. + Copy type in a TYPE_DECL, just like pushdecl does. + +2000-08-24 Richard Henderson + + * toplev.c (main): Enable flag_reorder_blocks at -O2. + +2000-08-24 Zack Weinberg + + * ggc-page.c (alloc_page): If HAVE_MMAP_ANYWHERE and we're + asked for one page, allocate GGC_QUIRE_SIZE of them and put + the extras on the free list. + (release_pages): Clean up. + (ggc_set_mark): Don't adjust G.allocated here... + (sweep_pages): ... do it here. + +2000-08-24 Zack Weinberg + + * cppfiles.c (read_include_file): Rearrange initializations. + +2000-08-24 Richard Henderson + + * stmt.c (expand_asm_operands): Treat EXTRA_CONSTRAINT like g or X. + + * config/ia64/ia64-protos.h: Update. + * config/ia64/ia64.c (gr_register_operand): New. + (fr_register_operand, grfr_register_operand): New. + (gr_nonimmediate_operand, grfr_nonimmediate_operand): New. + (grfr_reg_or_8bit_operand): New. + (gr_reg_or_0_operand): Rename from reg_or_0_operand and + use gr_register_operand. + (gr_reg_or_5bit_operand, gr_reg_or_6bit_operand): Likewise. + (gr_reg_or_8bit_operand, gr_reg_or_8bit_adjusted_operand): Likewise. + (gr_reg_or_8bit_and_adjusted_operand): Likewise. + (gr_reg_or_14bit_operand, gr_reg_or_22bit_operand): Likewise. + (fr_reg_or_fp01_operand): Likewise. + (not_postinc_memory_operand): New. + (ia64_split_timode): Remove unused variables. + (rtx_needs_barrier): Check arguments to cmpxchg. + (builtin_description): Remove. + (bdesc_2argsi, bdesc_2argdi): Remove. + (ia64_init_builtins): Declare all builtins directly. + (ia64_expand_fetch_and_op): Rewrite to be called from + ia64_expand_builtin directly. Use expand_binop and co. + (ia64_expand_op_and_fetch): Likewise. + (ia64_expand_compare_and_swap): Likewise. + (ia64_expand_binop_builtin): Remove. + (ia64_expand_lock_test_and_set): New. + (ia64_expand_lock_release): New. + (ia64_expand_builtin): Use them. + * config/ia64/ia64.h (CONSTRAINT_OK_FOR_S): New. + (EXTRA_CONSTRAINT): Use it. + (PREDICATE_CODES): Update. + * config/ia64/ia64.md (*): Use gr_register_operand and co. + (mf): Indicate that we set memory as well as use it. + (fetchadd_acq_si): Show memory being modified as well. + (fetchadd_acq_di, cmpxchg_acq_si, cmpxchg_acq_di): Likewise. + (val_compare_and_swap_si, val_compare_and_swap_di): Remove. + (lock_test_and_set_si, lock_test_and_set_di): Remove. + (fetch_and_add_si, fetch_and_sub_si, fetch_and_or_si): Remove. + (fetch_and_and_si, fetch_and_xor_si, fetch_and_nand_si): Remove. + (fetch_and_add_di, fetch_and_sub_di, fetch_and_or_di): Remove. + (fetch_and_and_di, fetch_and_xor_di, fetch_and_nand_di): Remove. + (add_and_fetch_di, sub_and_fetch_di, or_and_fetch_di): Remove. + (and_and_fetch_di, xor_and_fetch_di, nand_and_fetch_di): Remove. + (add_and_fetch_si, sub_and_fetch_si, or_and_fetch_si): Remove. + (and_and_fetch_si, xor_and_fetch_si, nand_and_fetch_si): Remove. + * config/ia64/ia64intrin.h (*): Cast result to the appropriate + return type. Pretty print definitions. + +2000-08-24 Jim Wilson + + * config/ia64/ia64.md (movdi): Don't call gen_movdi_symbolic if + we have a SYMBOL_REF with SYMBOL_REF_FLAG set. + +2000-08-24 Jason Merrill + + * dwarf2out.c (AT_flag, AT_int, AT_unsigned, AT_string, AT_ref, + AT_loc, AT_addr, AT_lbl): Abort on unsuitable input. + (get_AT_low_pc, get_AT_hi_pc, get_AT_string, get_AT_flag, + get_AT_unsigned, get_AT_ref): Don't call them if get_AT fails. + +2000-08-24 Greg McGary + + * optabs.c (init_optabs): Initialize fixtab, fixtrunctab, floattab, + and extendtab within their proper array boundaries. + * emit-rtl.c (init_emit_once): Pass `const_tiny_rtx' with bounds + for the entire array. + + * config/arm/arm.c (arm_override_options): Use ARRAY_SIZE. + * config/alpha/alpha.c (alpha_lookup_xfloating_lib_func): Likewise. + * config/avr/avr.c (order_regs_for_local_alloc): Likewise. + * config/fr30/fr30.c (fr30_print_operand): Likewise. + * config/i386/dgux.c (output_options): Likewise. + * config/i386/dgux.h (ASM_FILE_START): Likewise. + * config/m88k/m88k.c (output_options): Likewise. + * config/m88k/m88k.h (ASM_FILE_START): Likewise. + * config/mcore/mcore.c (mcore_output_inline_const_forced, + layout_mcore_frame, handle_structs_in_regs): Likewise. + * config/mips/mips.c (output_block_move): Likewise. + * config/rs6000/rs6000.c (rs6000_override_options, + rs6000_file_start): Likewise. + * config/sparc/sparc.c (sparc_add_gc_roots): Likewise. + * fixinc/fixfixes.c (FIX_TABLE_CT): Likewise. + * fixinc/fixtests.c (TEST_TABLE_CT): Likewise. + * builtins.c (expand_builtin_setjmp): Likewise. + * expr.c (safe_from_p): Likewise. + * flow.c (life_analysis): Likewise. + * fold-const.c (size_int_type_wide): Likewise. + * gcc.c (translate_options, init_spec, set_spec, main): Likewise. + * genattrtab.c (make_length_attrs): Likewise. + * genopinit.c (gen_insn): Likewise. + * genrecog.c (NUM_KNOWN_PREDS, NUM_SPECIAL_MODE_PREDS): Likewise. + * global.c (global_alloc): Likewise. + * local-alloc.c (find_free_reg): Likewise. + * mips-tdump.c (print_symbol): Likewise. + * mips-tfile.c (parse_def, parse_input): Likewise. + * reload1.c (NUM_ELIMINABLE_REGS): Likewise. + * stmt.c (expand_nl_goto_receiver): Likewise. + * stor-layout.c (set_sizetype): Likewise. + * varasm.c (decode_reg_name): Likewise. + * toplev.c (decode_f_option, decode_W_option, + set_target_switch, print_switch_values): Likewise. + (NUM_ELEM): Remove macro. + (display_help, main): s/NUM_ELEM/ARRAY_SIZE/ + +2000-08-24 Greg McGary + + * tree.h (enum tree_index): New member `TI_MAIN_IDENTIFIER'. + (MAIN_NAME_P, main_identifier_node): New macros. + * c-common.c (c_common_nodes_and_builtins): Init main_identifier_node. + * c-decl.c (start_decl, grokdeclarator, start_function, + store_parm_decls, finish_function): Use MAIN_NAME_P. + * config/avr/avr.c (function_prologue, function_epilogue): Likewise. + * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Likewise. + * config/i386/win32.h (SUBTARGET_PROLOGUE): Likewise. + * config/pdp11/pdp11.c (output_function_prologue): Likewise. + +2000-08-24 Greg McGary + + * cppfiles.c (actual_directory): Don't write beyond `dir' + when it contains "". + * real.c (asctoeg): Stay within bounds of etens[][]. + +2000-08-24 Kaveh R. Ghazi + + * dependence.c (dependence_string, direction_string, + dump_one_node, dump_node_dependence): Hide unused identifiers. + (get_low_bound, normalize_coefficients): Match definition to + static prototype. + (get_one_coefficient): Initialize variables `value0_is_idx' and + `value1_is_idx'. + (ziv_test, gcd_test): Mark parameters with ATTRIBUTE_UNUSED. + (ziv_test): Delete variable `idx', use parameter `sub' instead. + (direction_merge): Avoid automatic aggregate initialization. + (have_dependence_p): Use `src' not `dest' to set `src_idx'. + Initialize variables `dest_idx' and `src_idx'. + (end_dependence_analysis): Avoid C89 style function definition. + +2000-08-24 Joseph S. Myers + + * c-common.c (time_char_table): Don't allow width with %F. + (check_format_info): Don't allow "Z" length with scanf. + +2000-08-24 Gabriel Dos Reis + + * diagnostic.c (finish_diagnostic): Define. + (output_do_printf): Use wrap_text instead of output_add_string. + (default_print_error_function): Avoid embedded '\n'. + + * diagnostic.h (flush_diagnostic_buffer): Declare. + +2000-08-23 Alexandre Oliva + + * dependence.c: Replace `[][]' with `[][MAX_SUBSCRIPTS]'. + +2000-08-23 Hans-Peter Nilsson + + * Makefile.in (GCC_PASSES): Add specs. + +2000-08-23 Jim Wilson + + * frame.h (IA64_UNW_EHANDLER, IA64_UNW_UHANDLER): New. + * config/ia64/frame-ia64.c (__get_personality): Return zero if neither + EHANDLER nor UHANDLER bit is set. + (__get_except_table): Likewise. + +2000-08-23 Nick Clifton + + * config/arm/lib1funcs.asm: Replace upper case condition codes + with lower case versions. + + * config/arm/arm.h (STRUCT_VALUE): Define. + (STRUCT_VALUE_REGNUM): Delete. + +2000-08-23 Zack Weinberg + + * cpphash.h (IN_I): New flag for directive table. + * cpplib.c (DIRECTIVE_TABLE): Mark #define, #undef, #ident, and + #pragma with IN_I. + (_cpp_check_directive): If -fpreprocessed, execute directives + marked with IN_I. Issue no warnings in this case. + * cpplex.c (_cpp_get_token): Expand no macros if -fpreprocessed. + +2000-08-23 Joseph S. Myers + + * c-common.c (print_char_table): Allow 'I' flag with %d, %i and + %u. + (check_format_info): Support printf 'I' flag; warn about it with + -pedantic. + +2000-08-23 Richard Earnshaw (rearnsha@arm.com) + + * arm.c (arm_expand_prologue): Ensure that the stack-adjustment + barrier can't be ignored by the alias analysis code. + +2000-08-12 Eli Zaretskii + + * fixinc/inclhack.def (sysv68_string): Fix the Sed script so it + works inside fixincl. + +Wed Aug 23 04:55:48 2000 Alexandre Oliva + + * simplify-rtx.c (simplify_rtx): Don't pass VOIDmode to + simplify_relational_operation() unless both operands are of + VOIDmode. + * cse.c (fold_rtx): Likewise. + +Tue Aug 22 23:53:27 EDT 2000 John Wehle (john@feith.com) + + * rtlanal.c (rtx_unstable_p): The pic register is stable + (within one function) and the actual rtx should be used + when checking the registers. + (rtx_addr_can_trap_p): Pic memory addresses can't trap. + + * alias.c (true_dependence, write_dependence_p): Fix + bug in previous patch. + + * i386.c (ix86_GOT_alias_set): New. + (legitimize_pic_address): Use it. + + * rtlanal.c (rtx_unstable_p): An unchanging MEM is + only stable if its address is stable. + (rtx_varies_p): An unchanging MEM can't vary if + its address doesn't vary. + +2000-08-22 Kaveh R. Ghazi + + * c-parse.in (unop +): Restrict -Wtraditional warnings to user code. + +2000-08-22 J. David Anglin + + * vax.h (ASM_SPEC): Pass `-J' to assembler. + * x-vax-gcc: New file for bootstrapping with gcc. + * x-vax: Use X_CFLAGS rather than X_CPPFLAGS to pass `-J'. + * configure.in: Use x-vax-gcc with gcc. + * configure: Rebuilt. + +Tue Aug 22 21:21:05 2000 J"orn Rennecke + + * toplev.c (rest_of_compilation): Rebuild label notes after + post-reload splitting pass if new labels have been created. + +2000-08-22 Gabriel Dos Reis + + * diagnostic.h (output_buffer_state): New macro. + * diagnostic.c (diagnostic_for_decl, sorry, + default_print_error_function, output_do_verbatim, + report_diagnostic, report_problematic_module): Use it. + (wrap_text): Tweak. + (output_format): Use wrap_text instead of maybe_wrap_text. + +2000-08-22 Nick Clifton + + * config/arm/lib1funcs.asm (ARM_DIV_MOD_BODY): New macro. + Common code for ARM divide and modulus functions. + (THUMB_DIV_MOD_BODY): New macro. Thumb equivalent of + ARM_DIV_MOD_BODY. + (FUNC_END): New macro: Common code at the end of the division and + modulo functions. + (THUMB_FUNCTION_START): New macro: Common code at the start of + Thumb functions. + (__divsi3, __udivsi3, __modsi3, __umodsi3): Use new macros. + +Tue Aug 22 20:34:52 2000 Kaz Kojima + + * config/sh/sh.md (cmpeqdi_t splitter): Fix a reverse testing. + + * config/sh/sh.c (prepare_scc_operands): Apply force_reg to + sh_compare_op1 when the mode is DImode and sh_compare_op1 isn't + const0_rtx. + +2000-08-22 Nick Clifton + + * config/arm/lib1funcs.asm (__umodsi3): Before performing any + restorative additions, test for bottom bits of IP being set, + rather than relying upon the RORs not matching. + (__modsi3): Ditto. + +2000-08-22 David Edelsohn + + * aix.h (ASM_DECLARE_FUNCTION_NAME): Call named_section() or + text_section() as appropriate instead of emitting text csect + pseudo-op directly. + (TEXT_SECTION_ASM_OP): Only require default 32-bit alignment. + (UNIQUE_SECTION): Define macro. + (ASM_OUTPUT_SECTION_NAME): Define macro. + * rs6000.c (rs6000_override_options): Disable -ffunction-sections + on AIX if debugging and -fdata-sections always. + +2000-08-22 Steven King + + * config/float-i386.h (LDBL_EPSILON): Remove __convert_long_double + machinery. + (LDBL_MAX): Same here. + +2000-08-22 Richard Henderson + + * flow.c (tidy_fallthru_edge): Update b->end properly. + +2000-08-22 Stan Cox + + * Makefile.in (OBJS): Add dependence.o. + * dependence.c: New file. + +2000-08-22 Alexandre Oliva , John David Anglin + + * calls.c (check_sibcall_argument_overlap_1): Adjust for + ARGS_GROW_DOWNWARD. + (check_sibcall_argument_overlap): Likewise. + +2000-08-22 Alexandre Oliva + + * invoke.texi (SH Options): Document -m4-nofpu, + -m4-single-only, -m4-single, -m4, -mbigtable, -mfmovd, + -mhitachi, -mnomacsave, -misize, -mpadstruct, -mspace. + +2000-08-22 Joseph S. Myers + + * c-common.c (check_format_info): Give the 'some locales' warning + for strftime %Ey rather than the unconditional 'only last 2 digits + of year' one. + +2000-08-22 Richard Henderson + + * alias.c (init_alias_analysis): Do not register + struct_value_incoming_rtx or static_chain_rtx as pointing + to stack memory. + +Tue Aug 22 01:44:43 2000 Jeffrey A Law (law@cygnus.com) + + * protoize.c (munge_compile_params): Fix typo and formatting buglets. + +2000-08-22 Gabriel Dos Reis + + * diagnostic.h (report_problematic_module): Declare. + * diagnostic.c (report_problematic_module): New function. + (report_error_function): Tweak. + +Tue Aug 22 02:31:26 2000 Richard Kenner + + * stmt.c (expand_goto_internal, fixup_gotos): Only check + TYPE_RETURNS_STACK_DEPRESSED for FUNCTION_TYPE. + +2000-08-21 Richard Henderson + + * flow.c (calculate_global_regs_live): Mark frame pointer live + everywhere before reload. + +2000-08-21 Jim Wilson + + * real.c (ereal_from_int, ereal_from_uint, significand_size): Handle + INTEL_EXTENDED_IEEE_FORMAT. + (toe64): Delete INTEL_EXTENDED_IEEE_FORMAT support. Unconditionally + clear last two bytes of output FP value. + +2000-08-21 Graham Stott + + * config/ia64/ia64.h (REDO_SECTION_INFO_P): Change decl to DECL. + +2000-08-21 Jakub Jelinek + + * unroll.c (loop_find_equiv_value): If ret is modified between + insn and loop_start, ret might not be equivalent to reg. + +2000-08-21 Joseph S. Myers + + * c-common.c (init_dollar_format_checking, + maybe_read_dollar_number, finish_dollar_format_checking): New + functions. + (dollar_arguments_used, dollar_arguments_count, + dollar_first_arg_num, dollar_max_arg_used, dollar_format_warned): + New variables. + (check_format_info): Support $ formats for scanf and printf width + and precision. Always increment format_chars to advance past the + '*' of precision, not just when the format parameters are + available to check. + +2000-08-21 Kaveh R. Ghazi + + * mips.c (block_move_loop, expand_block_move, + function_arg_partial_nregs, save_restore_insns, function_prologue, + mips_expand_prologue, RA_MASK): Avoid using the `U' integer + constant suffix. + (function_arg_advance, function_arg): Match argument to format + specifier `%p'. + +2000-08-21 Nix + + * gcc.c (do_spec_1): Implement %j spec flag. + Remove dead comment. + + * gcc.texi (The Configuration File): Document HOST_BIT_BUCKET. + * system.h (HOST_BIT_BUCKET): Default to "/dev/null". + * config/i386/xm-dos.h (HOST_BIT_BUCKET): Define as "NUL". + * config/i386/xm-os2.h, config/winnt/winnt.h: Likewise. + + * protoize.c (munge_compile_params): Use HOST_BIT_BUCKET (if + writable) instead of hardcoded value. + + * toplev.c (compile_file): Output to a file even if -fsyntax-only. + + * gcc.c, config/i386/xm-dos.h, config/i386/xm-os2.h: Kill + MKTEMP_EACH_FILE. + + * gcc.c (cc1_options): Do not process -o or run the assembler if + -fsyntax-only. + * objc/lang-spec.h: Likewise. + +2000-08-21 Eli Zaretskii + + * fixinc/fixincl.c (fix_with_system): Pipe the output of + "external" fixes through `cat', to avoid truncating the input + file by redirection. + +2000-08-21 Jakub Jelinek + + * config/i386/i386.md (lea_general_1): Copy insn condition to split + condition. + (lea_general_2, lea_general_3): Likewise. + +2000-08-21 Kaveh R. Ghazi + + * c-decl.c (duplicate_decls, define_label): Restrict -Wtraditional + warnings to user code. + + * c-lex.c (readescape, yylex): Likewise. + + * c-typeck.c (store_init_value, process_init_element): Likewise + (c_expand_start_case): Format. + +2000-08-18 Maciej W. Rozycki + + * mips/linux.h (LINK_SPEC): Use %(endian_spec). + + * mips/mips.h: Change LINKER_ENDIAN_SPEC to ENDIAN_SPEC + and linker_endian_spec to endian_spec. + (ENDIAN_SPEC): Add %{EB} and %{EL}. + (LINK_SPEC): Remove %{EB} and %{EL}. + (ASM_SPEC): Likewise. Use %(endian_spec). + +2000-08-21 Joseph S. Myers + + * c-tree.h (flag_hosted): Move declaration from here... + * c-common.h (flag_hosted): ... to here. + (flag_noniso_default_format_attributes): New declaration. + * c-decl.c (flag_noniso_default_format_attributes): New variable. + (c_decode_option): Set it appropriately for options choosing + language standard variant. + * c-common.c (init_function_format_info): Only provide default + format attributes if flag_hosted. Only provide the gettext + formats if flag_noniso_default_format_attributes. Update + comments. + (check_format_info): Disable treatment of %a as a scanf flag in + C99 mode. + +2000-08-21 Joseph S. Myers + + * c-common.c (scan_char_table): Add 'w' to flags for all formats + except 'n'. + (check_format_info): Set 'wide' for scanf format widths. Warn for + a zero scanf width. Make the check for writing into a constant + object at the first level of indirection; at later levels, warn if + any type qualifiers are encountered. + +Mon Aug 21 07:41:12 2000 Jeffrey A Law (law@cygnus.com) + + * reload.c (reload_inner_reg_of_subreg): New function broken out of + push_reload. + (push_reload): Use reload_inner_reg_of_subreg. + (combine_reloads): Do not combine reloads if the input reload + is a SUBREG in which the inner part will need reloading. + + * global.c (global_alloc): Avoid passing dumpfile argument to + reload routines. + * toplev.c (rest_of_compilation): Likewise. + * reload.h (reload): Remove dumpfile argument. Callers changed. + (debug_reload, debug_reload_to_stream): Move prototypes here. + * rtl.h (reload): Remove dumpfile argument. + * reload.c (debug_reload): Remove prototype. + (debug_reload_to_stream): Likewise. + * reload1.c: Avoid passing dumpfile around, rely on rtl_dump_file + instead. + +2000-08-21 Gabriel Dos Reis + + * diagnostic.c (context_as_prefix): Export. + (need_error_newline): Remove. + (lang_diagnostic_starter, lang_diagnostic_finalizer): New objects. + (error_module_changed, record_last_error_module, + error_function_changed, record_last_error_function): New functions. + (initialize_diagnostics): Default intialize + lang_diagnostic_starter, lang_diagnostic_finalizer. + (init_output_buffer): Tweak. + (file_name_as_prefix): New function. + (announce_function, default_print_error_function, + report_error_function, set_diagnostic_context): Tweak. + +2000-08-21 Richard Earnshaw + + * flow.c (init_propagate_block_info): Handle SUBREG in a jump + condition expression. + +2000-08-20 Richard Henderson + + * flow.c (merge_blocks_nomove): Don't seek back past the bb note. + +2000-08-20 Zack Weinberg + + * cppinit.c (cpp_init): Set global flag when called. + (cpp_reader_init): Bomb out if cpp_init hasn't been called. + +Sun Aug 20 01:41:35 2000 Dennis Chernoivanov + + * cpplex.c (cpp_scan_buffer): Move `output_line_command' just + before `process_directive' so that newlines won't be missed + for directives. + (cpp_printf): Increment `print->lineno' when newline is emitted. + + * cppmain.c (cb_ident): Likewise. + (cb_define): Likewise. + (cb_undef): Likewise. + (cb_include): Likewise. + (cb_def_pragma): Likewise. + (dump_macros_helper): Likewise. + +2000-08-20 Richard Henderson + + * config/ia64/ia64.c (emit_insn_group_barriers): Stop if ar.lc + assigned before a loop. + + * config/ia64/ia64.md (ashlsi3): Zero extend the shift count. + (ashrsi3, lshrsi3): Likewise. + +2000-08-20 Gabriel Dos Reis + + * c-lang.c: #include diagnostic.h + (c_tree_printer): New function. + (lang_init): Initialize lang_printer. + + * Makefile.in (c-lang.o): Depends on diagnostic.h + +2000-08-20 Gabriel Dos Reis + + * c-errors.c (pedwarn_c99): Adjust call to report_diagnostic. + + * diagnostic.c (default_diagnostic_starter, + default_diagnostic_finalizer): New functions. + (diagnostic_for_asm, diagnostic_for_decl): Tweak. + (pedwarn, pedwarn_with_file_and_line, error, + error_with_file_and_line, fatal, warning, + warning_with_file_and_line): Adjust call to report_diagnostic. + (report_diagnostic): Rework. + (set_diagnostic_context): New function. + + * diagnostic.h (struct diagnostic_context): New data structure. + (diagnostic_message, diagnostic_argument_list, + diagnostic_file_location, diagnostic_line_location, + diagnostic_is_warning, diagnostic_starter, diagnostic_finalizer, + diagnostic_finalizer, diagnostic_auxiliary_data): New macros. + (set_diagnostic_context): Declare. + (report_diagnostic): Change prototype. + +Sun 20-Aug-2000 09:25:45 BST Neil Booth + + * fix-header.c (main): Initialize cpplib. + +2000-08-19 Michael Meissner + + * ifcvt.c (find_if_block): Do not assume that a THEN block has any + instructions in it before checking for indirect jumps. + + * ifcvt.c (find_if_block): Do not consider a THEN block that ends + in a indirect jump as a potential for conditional execution. + + * d30v.h (d30v_init_expanders): Don't declare here. + * d30v-protos.h (d30v_init_expanders): Declare here with a valid + prototype. + +Sat 19-Aug-2000 21:11:45 BST Neil Booth + + * cpp.texi: Add @section for assertions. + +Sat Aug 19 12:37:08 EDT 2000 John Wehle (john@feith.com) + + * loop.c (scan_loop): Use CONST_CALL_P instead of + checking for REG_LIBCALL / REG_RETVAL. + +Sat Aug 19 09:18:47 2000 Jeffrey A Law (law@cygnus.com) + + * reload1.c (reload_as_needed): Accept dumpfile argument, + pass it to emit_reload_insns. + (emit_reload_insns): Add new dumpfile argument. If non-null + then dump the reloads for each insn into the dumpfile. + (reload): Pass dumpfile to reload_as_needed. + + * invoke.texi: Clean up linux-gnu vs linux comments. + +2000-08-19 Richard Henderson + + * config/ia64/ia64.c (reg_or_5bit_operand): New. + (ia64_depz_field_mask): New. + * config/ia64/ia64.h (CONSTRAINT_OK_FOR_R): New. + (PREDICATE_CODES): Update. + * config/ia64/ia64.md: Update commentary. + (depz_internal): New. + (ashlsi3): Implement directly. + (ashrsi3, lshrsi3): Simplify; rely on extv and extzv for constants. + (ashldi3): Use shladd. + * config/ia64/ia64-protos.h: Update. + +2000-08-18 Zack Weinberg + + * toplev.c (independent_decode_option): Always process -g. + Remove third argument, now unused. Adjust caller to match. + +2000-08-18 Richard Henderson + + * combine.c (make_compound_operation): Break after creating + the extraction. + +2000-08-18 Zack Weinberg + + * cpplib.c (cpp_register_pragma_space): Just return if the + namespace is already registered. + +2000-08-18 Ray Essick & Nick Clifton + + * config/mcore/mcore.md (rotlsi3): Allow allow rotations by a + constant amount. Do not generate ROTL instruction. + +Fri Aug 18 16:22:20 2000 Alexandre Oliva + + * config/sh/elf.h: Do not include sh/sh.h. + * config/sh/rtems.h: Likewise. + * config/sh/rtemself.h: Do not include sh/elf.h. + * configure.in: Get them included with `tm_file's. + * configure: Rebuilt. + + * config/sh/sh.md (fpu_switch0, fpu_switch1): Simplify. + * config/sh/sh.c (fpscr_set_from_mem): Use them. + +Fri Aug 18 14:23:18 2000 Richard Kenner + + * stor-layout.c (compute_record_type): Don't use mode of single + field as mode of record if not integer mode of same type. + + * regmove.c (perhaps_ends_bb_p): New function. + (optimize_reg_copy_1, optimize_reg_copy_2): Call it. + (optimize_reg_copy_3, fixup_match_2, regmove_optimize): Likewise. + (fixup_match_1): Likewise. + (fixup_match_1, combine_stack_adjustments_for_block): Add casts to + avoid signed/unsigned warnings. + + * function.c (fixup_var_refs_1, case MEM): Update CODE after + updating X. + +Fri 18-Aug-2000 18:33:45 BST Neil Booth + + * cpphash.h: Use HAVE_DESIGNATED_INITIALIZERS. + (_cpp_trigraph_map): Declaration moved from cpplex.c + + * cppinit.c: Define _cpp_trigraph_map. Use UCHAR_MAX + 1 + instead of 256. Use consistent test for designated initializers. + (cpp_init): Initialize trigraph_map. + (initialize_standard_includes, parse_option): Use memcmp + instead of strncmp. + + * cpplex.c (init_trigraph_map): Remove. + (trigraph_ok, trigraph_replace, lex_line): Refer to + _cpp_trigraph_map. + + * cpplib.c (str_match, WARNING, ERROR, ICE): Delete. + (do_unassert): Remove unused "next" local. + + * system.h (HAVE_DESIGNATED_INITIALIZERS): New prototype. + +2000-08-18 Emmanuel Marty + + * arm/lib1funcs.asm (_umodsi3 THUMB VARIANT): Restore deleted return + insn. + +2000-08-17 Richard Henderson + + * config/ia64/ia64.c (spill_restore_mem): Handle emitting + the first insn in a sequence. + Thu Aug 17 22:40:05 EDT 2000 John Wehle (john@feith.com) * alias.c (true_dependence, write_dependence_p): A read