OSDN Git Service

* c-decl.c (c_decode_option): Don't handle -lang-objc.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index cbda5d0..fcaa6fb 100644 (file)
@@ -1,8 +1,688 @@
+2000-11-29  Neil Booth  <neilb@earthling.net>
+
+        * c-decl.c (c_decode_option): Don't handle -lang-objc.
+        * objc/lang-options.h: Remove -lang-objc.
+        * objc/lang-specs.h: Don't pass -lang-objc to cc1obj.
+        * objc/objc-act.c (lang_init_options): Set c_language.
+
+2000-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.c (can_store_by_pieces): Reinitialize max_size for reverse
+       tests.
+
+2000-11-29  Neil Booth  <neilb@earthling.net>
+
+        * c-pragma.c (init_pragma): Update for parse_in type change.
+
+2000-11-29  Laurynas Biveinis  <lauras@softhome.net>
+
+       * configure.in: recognize DOS-style absolute paths.
+
+2000-11-29  Jakub Jelinek  <jakub@redhat.com>
+
+       * expr.h (store_by_pieces): Add prototype.
+       (can_store_by_pieces): Likewise.
+       * expr.c (struct store_by_pieces): Renamed from clear_by_pieces.
+       (can_store_by_pieces): New.
+       (store_by_pieces): New.
+       (clear_by_pieces): New.
+       (clear_by_pieces_1): New.
+       (store_by_pieces_1): Renamed from clear_by_pieces, handle storing
+       arbitrary compiler generated constants into memory block.
+       (store_by_pieces_2): Renamed from clear_by_pieces_1, likewise.
+       * builtins.c (c_readstr): New.
+       (builtin_memcpy_read_str): New.
+       (expand_builtin_memcpy): If src is string constant and
+       emit_block_move would move it by pieces, compute integer constants
+       from the string and store it into memory block instead.
+       (builtin_strncpy_read_str): New.
+       (expand_builtin_strncpy): If N is not constant zero and c_strlen does
+       not return INTEGER_CST, don't optimize.
+       If N is larger than strlen(src) + 1, try to copy the string
+       including padding with store_by_pieces.
+       (expand_builtin_strcmp): If both arguments have side effects, don't
+       optimize.
+       (expand_builtin_fputs): If STR has side effects, don't optimize.
+
+2000-11-29  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (sibcall, sibcall_value, sibcall_insn, sibcall_value_insn):
+       Add use of link register.
+
+2000-11-29  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * extend.texi: Update documentation for default format attributes.
+
+Tue Nov 28 21:56:45 2000  Jeffrey A Law  (law@cygnus.com)
+
+       * pa/pa-64.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+       a list, to keep track of the sections.
+
+2000-11-28  Nick Clifton  <nickc@redhat.com>
+
+       * config/arm/arm.md (pic_load_addr): Split into
+       pic_load_addr_arm and pic_load_addr_thumb.
+
+       * config/arm/arm.c (legitimize_pic_address): Generate either
+       ARM or Thumb versions of pic_load_addr.
+       (arm_finalize_pic): Generate either ARM or Thumb versions of
+       pic_load_addr.
+
+2000-11-28  Richard Henderson  <rth@redhat.com>
+
+       * calls.c (expand_call): Defer const/pure NO_DEFER_POP until
+       after sibcall do_pending_stack_adjust.
+
+Wed Nov 29 00:08:23 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * jump.c (delete_insn): Check that REG_LABEL note actually contains
+       a CODE_LABEL.
+
+2000-11-28  Neil Booth  <neilb@earthling.net>
+
+       * c-common.h: Remove flag_digraphs.
+       * c-decl.c: Remove flag_digraphs.  
+       (c_decode_option): Don't set it. 
+       * c-lex.c (init_c_lex): Don't do anything for digraphs.
+
+2000-11-28  Richard Henderson  <rth@redhat.com>
+
+       * c-parse.in (finish_parse): Update for parse_in type change.
+       (_yylex): Likewise.
+
+2000-11-28  Neil Booth  <neilb@earthling.net>
+
+       * cppmacro.c (cpp_scan_buffer_nooutput): Take a boolean
+       indicating whether to scan all buffers on the stack or
+       just one.
+       * cppinit.c (do_includes): Update.
+       * cppmain.c (main): Update.
+       * cpplib.h: Update prototype.
+
+2000-11-28  Richard Henderson  <rth@redhat.com>
+
+       * genoutput.c (validate_insn_operands): New.
+       (gen_insn): Call it.
+
+       * config/alpha/alpha.md (divmodsi_internal): Renumber operands.
+       (divmoddi_internal): Likewise.
+       * config/arm/arm.md (andsi3_compare0_scratch): Likewise.
+       * config/i960/i960.md (branch patterns): Likewise.
+       * config/ia64/ia64.md (tbit_and_0): Likewise.
+       (tbit_and_1, tbit_or_0, tbit_or_1): Likewise.
+       * config/m68k/m68k.md (zero_extract memory patterns): Likewise.
+       * config/mips/mips.md (divmodsi4_internal): Likewise.
+       (divmoddi4_internal): Likewise.
+       * config/rs6000/rs6000.md (call patterns): Likewise.
+       * config/sh/sh.md (movsi_y): Likewise.
+       * config/sparc/sparc.md: Comment out if 0 v8p shift pattern.
+
+2000-11-28  Richard Henderson  <rth@redhat.com>
+
+       * config.gcc: Kill residual pyramid support.
+
+2000-11-28  Neil Booth  <neilb@earthling.net>
+
+       * c-lex.h (parse_in): Change parse_in to a cpp_reader *.
+       * c-decl.c (c_decode_option): Update to match.
+       * c-lex.c (init_c_lex, yyparse): Update to match.
+       * c-lang.c (lang_init_options): Use cpp_create_reader.
+       * cppinit.c (cpp_init): Rename initialize.
+       (cpp_reader_init): Rename cpp_create_reader.  Create the
+       reader.  Initialize cpplib if appropriate.
+       * cpplib.h (cpp_create_reader) New prototype.
+       (cpp_init, cpp_reader_init): Delete prototypes.
+       * cppmain.c (general_init, setup_callbacks): New functions.
+       (main): Use them.
+       * fix-header.c (scan_in): Change type to cpp_reader *.
+       (read_scan_file): Update for new cpplib interface and scan_in type.
+
+       * cp/decl.c (parse_in): Change to cpp_reader *.
+       (lang_decode_option): Update.
+       * cp/lex.c (lang_init_options): Use new cpplib interface.
+       (init_cp_pragma, finish_parse, handle_pragma_implementation): Update.
+       * cp/spew.c (read_token): Update.
+       * objc/objc-act.c (lang_init_options): Update new cpplib interface.
+
+2000-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * loop.c (load_mems): Avoid using next_label to find end_label. If
+       jumping outside of the loop (other than loop end), don't hoist MEMs
+       out of loop.
+
+2000-11-28  Jan Hubicka  <jh@suse.cz>
+
+       * calls.c (expand_call): Don't disable tail recursion based
+       on the loop nest.
+
+2000-11-28  Neil Booth  <neilb@earthling.net>
+
+       * tradcpp.c (enum node_type): New hash types T_ASSERT, T_UNASSERT.
+       (struct directive): Drop 4th argument from handlers.
+       (do_define, do_line, do_include, do_undef, do_else, do_elif,
+       do_endif): Similarly.
+       (do_assert, do_unassert, do_ifdef, do_ifndef): New handlers.
+       (do_ifxdef): Update as common handler of do_ifdef and do_ifndef.
+       (make_definition, make_undef): Take a const char*.
+       (make_assertion): New function.
+       (struct directive_table): Update.
+       (main): Handle -A command line argument.
+       (handle_directive): Drop fourth handler argument.
+
+2000-11-28  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * simplify-rtx.c (cselib_record_sets): Ignore sets whose destination
+       is anything but REG or MEM, but look inside STRICT_LOW_PART.
+
+Tue Nov 28 09:53:50 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * system.h (IS_DIR_SEPARATOR): Use uppercase macro name.
+       (IS_ABSOLUTE_PATHNAME): New macro.
+       * gcc.c (find_a_file, process_command, do_spec_1, main): Use it.
+
+2000-11-28  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/i386/i386.md (truncxfsf2_2): Fix predicate.
+
+2000-11-27  Jim Wilson  <wilson@redhat.com>
+
+       * reload1.c (reload): Use HOST_WIDE_INT for old_frame_size.
+
+2000-11-27  Matthias Klose  <doko@cs.tu-berlin.de>
+
+       * extend.texi (Nested Functions): Update URL of Usenix paper.
+
+2000-11-27  Mark Mitchell  <mark@codesourcery.com>
+
+       * function.c (free_after_compilation): Clear x_clobber_return_insn.
+
+2000-11-27  Neil Booth  <neilb@earthling.net>
+
+       * cppinit.c (cpp_reader_init): Remove handling of warn_paste   
+       command line options.
+       (cpp_handle_option): Similarly.
+       * cpplib.h (struct cpp_options): Remove warn_paste.
+       * cppmacro.c (paste_tokens): Apart from assembler, make
+       unpasteable token warning mandatory.
+
+2000-11-27  Neil Booth  <neilb@earthling.net>
+
+       * tradcpp.c (enum pending_dir_t, struct pending_dir): New.
+       (main): Allocate a pending directive set of these.  Use it.
+       Merge handling of -D and -U.  Update handling of pending
+       directives.  Free the memory after use.
+
+2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * flow.c (entry_exit_blocks): Add entry for cond_local_set.
+       (struct propagate_block_info): Add new member cond_local_set.
+       (propagate_block): Accept new arg cond_local_set.  All callers
+       changed.
+       (init_propagate_block_info): Likewise.
+       (calculate_global_regs_live): Allocate & free cond_local_set.  Always
+       rescan if there's overlap between cond_local_set and new_live_at_end.
+       (mark_set_1): Set bits either in cond_local_set or local_set, as
+       appropriate.
+       * basic-block.h (struct basic_block_def): New field cond_local_set.
+       (propagate_block, init_propagate_block_info): Update prototypes.
+
+Mon Nov 27 17:29:44 2000  kaz Kojima <kkojima@rr.iij4u.or.jp>
+
+       * gcc/config/sh/sh.md (udivsi3_i4, udivsi3_i4_single): Clobber
+       T register.
+
+2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.c (select_dominance_cc_mode): Handle new way that combine
+       canonicalizes conditional compares.
+       (arm_select_cc_mode): Likewise.
+       * arm.md: Garbage collect some dead code.
+       (cmp_and, cmp_ior): New patterns.
+       (splitter for conditional move with inverted false): Use cond_exec
+       and handle unordered comparisons.
+
+Mon Nov 27 17:22:56 MET 2000  Jan Hubicka  <jh@suse.cz>
+
+       * i386.c (ix86_force_to_memory, ix86_free_from_memory): New.
+       * i386-protos.h (ix86_force_to_memory, ix86_free_from_memory): Declare
+       * i386.md (float?i?f, int/fp operations): Rewrite spliters to use
+       ix86_force_to_memory and ix86_free_from_memory.
+
+2000-11-27  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.md (arm_adddi3, adddi_sesidi_di, adddi_zesidi_di, arm_addsi3,
+       arm_subsi3_insn, anddi_zesidi_di, arm_andsi3_insn, anddi_notdi_di,
+       anddi_notzesidi_di, anddi_notsesidi_di, arm_iorsi3, 
+       one_cmpldi2): Merge with splitters to create define_insn_and_split
+       patterns.  Remove redundant splits.
+       (peephole2 for add:SI of invalid immediate): New.
+       (peephole2 for minus:SI of invalid immediate): New.
+       (peephole2 for ior:SI of invalid immediate): New.
+       (peephole for merge of move and compare): Convert ot peephole2.
+       (addsf3, adddf3): Mark as commutative.
+
+       * arm.md (thumb peephole for merging stack adjustments): Convert to
+       peephole2.
+
+2000-11-27  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * haifa-sched.c (print_pattern): Prettier output for COND_EXEC.
+
+       * reload1.c (reload_cse_simplify_set): Pass down mode to cselib_lookup.
+       (reload_cse_simplify_operands): Do nothing about operands where both
+       the operand and the match_operand fail to give us a mode.
+       * simplify-rtx.c (wrap_constant): New function.
+       (entry_and_rtx_equal_p): Except integer constants to come wrapped in a
+       CONST describing the proper mode.
+       (rtx_equal_for_cselib_p): Pass down modes to recursive calls of
+       cselib_lookup.
+       (cselib_lookup_mem): Call wrap_constant on the rtx that is passed to
+       htab_find_slot_with_hash.
+       (cselib_lookup): Likewise.
+
+       Based on a patch from Geoff Keating <geoffk@redhat.com>:
+       * loop.c (basic_induction_var): If a REG is set from something
+       that is not a biv, then the REG is not a biv.  Even if it is
+       earlier set from something that is a biv.
+
+2000-11-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (extra_objs): Enclose extra_headers in quotes.
+       * configure: Rebuilt.
+
+2000-11-27  Neil Booth  <neilb@earthling.net>
+
+       * c-lex.c (cb_enter_file, cb_leave_file, cb_rename_file):
+       Combine into the new function cb_change_file.
+       (init_c_lex): Update.
+       * cppfiles.c (stack_include_file): Use _cpp_do_file_change.
+       (cpp_syshdr_flags): Delete.
+       * cpphash.h (_cpp_do_file_change): New prototype.
+       Move struct cpp_buffer here from...
+       * cpplib.h (struct cpp_buffer): ... here.
+       (enum cpp_fc_reason, struct cpp_file_loc,
+       struct_cpp_file_change, change_file): New.
+       (enter_file, leave_file, rename_file, cpp_syshdr_flags): Delete.
+       * cpplib.c (do_line): Update for new cb_change_file callback.
+       (_cpp_do_file_change): New function.
+       (_cpp_pop_buffer): Update to use it.
+       * cppmain.c (move_printer): Delete.
+       (main): Set up single callback cb_change_file.
+       (cb_enter_file, cb_leave_file, cb_rename_file): Delete.
+       (cb_change_file): New.
+       * fix-header.c (cur_file, cb_change_file): New.
+       (recognized_function, read_scan_file): Update.
+       * scan-decls.c (scan_decls): Update.
+       * scan.h (recognized_function): Update prototype.
+
+2000-11-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * tree.h (mark_tree_hashtable): New function.
+       * tree.c (mark_tree_hashtable_entry): New function.
+       (mark_tree_hashtable): Likewise.
+
+2000-11-27  Michael Meissner  <meissner@redhat.com>
+
+       * d30v-protos.h (srelational_si_operator): Correctly spell
+       function.
+       (urelational_si_operator): Ditto.
+       (relational_si_operator): Ditto.
+       (d30v_expand_prologue): Add prototype.
+       (d30v_expand_epilogue): Ditto.
+
+       * d30v.h (OPTIMIZATION_OPTIONS): Undo November 22nd change.
+
+       * d30v.md (movcccc_*): Delete now unused patterns.
+       (64 bit comparison splitters): Rewrite to use COND_EXEC instead of
+       IF_THEN_ELSE.
+       (define_cond_exec): Use 'b' to select branch flags.
+
+2000-11-26  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (expand_builtin_strncmp, expand_builtin_strncpy): New
+       functions.
+       (expand_builtin): Handle BUILT_IN_STRNCPY and BUILT_IN_STRNCMP.
+
+       * builtins.def (BUILT_IN_STRNCPY, BUILT_IN_STRNCMP): New entries.
+
+       * c-common.c (c_common_nodes_and_builtins): Declare builtin
+       strncpy and strncmp.
+
+       * extend.texi (strncmp, strncpy): Document new builtins.
+
+2000-11-26  Mark Mitchell  <mark@codesourcery.com>
+
+       * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Use a hash table, not
+       a list, to keep track of the sections.
+       * tm.texi (ASM_OUTPUT_SECTION_NAME): Document the fact that the
+       parameter provided will always be a canonical string.
+
+2000-11-26  Neil Booth  <neilb@earthling.net>
+
+       * cppmacro.c (cpp_scan_buffer_nooutput): Only scan the
+       current buffer.
+
+2000-11-26  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * makefile.vms: Remove EGCS references.
+
+2000-11-26  Ulrich Drepper  <drepper@redhat.com>
+
+       * dwarf2out.c (output_file_names): New function.  Compute minimal
+       combination of directory and file name table and emit them.
+       (output_line_info): Remove code to emit directory and file name
+       table and call output_file_names instead.
+       (file_info_cmp): Helper function to sort directory names.
+
+2000-11-26  Neil Booth <neilb@earthling.net>
+
+       * cpplib.h (struct cpp_reader): Remove lang_asm.
+       (struct cpp_options): Remove c89. New members lang,
+       extended_numbers.
+       * cppexp.c (parse_number): Use them. 
+       * cpphash.h (VALID_SIGN): Use them.
+       * cppinit.c (set_lang, cpp_start_read): Update.
+       * cpplex.c (parse_string, _cpp_lex_token): Update.
+       * cpplib.c (_cpp_handle_directive): Update.
+       * cppmacro.c (parse_args): Update.
+       * cppmain.c (scan_buffer): Update.
+
+Sun Nov 26 10:02:37 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * fold-const.c (fold, case CONVERT_EXPR): Always return tree of
+       proper type.
+
+2000-11-26  Neil Booth <neilb@earthling.net>
+
+       * Makefile.in: Remove MAYBE_CPPLIB and maybe_cpplib.
+       * c-decl.c: Remove parse_in declaration.
+       * c-lang.c: Similarly.
+       * c-lex.c: Similarly.
+       * c-parse.in: Similarly.
+       * c-pragma.c: Similarly.
+       * configure.in: Similarly.
+       * cp/Make-lang.in: Similarly.
+       * cp/spew.c: Similarly.
+       * cp/decl2.c: Remove check for lang-c++ option.
+       * cp/lang-specs.h: Remove -lang-c++ from cc1plus command line.
+       * cp/lex.c (lang_init_options): With cpp_reader_init, default to C++.
+       * c-lex.h: Add declaration of parse_in.
+       * cppinit.c: Call set_lang after allocating pfile->pending.
+       * configure: Regenerate.
+
+2000-11-25  Zack Weinberg  <zack@wolery.stanford.edu>
+
+       * combine.c (try_combine): Remove redundant test.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * c-common.h (DECL_C_HARD_REGISTER): New.
+       * c-decl.c (finish_decl): Set it for asm register variables.
+       * c-semantics.c (emit_local_var): Test it when instantiating one.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (c_expand_body): Use DECL_SOURCE_LINE rather than
+       lineno for the start of the function.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * dwarf2out.c (file_table, file_table_allocated): Remove.
+       (file_table_allocated): Remove.
+       (struct file_table): New.
+       (decl_file_table, line_file_table): New.
+       (print_dwarf_line_table): Use them.
+       (size_of_line_prolog): Likewise.
+       (output_line_info): Likewise.
+       (add_src_coords_attributes): Likewise.
+       (gen_subprogram_die): Likewise.
+       (gen_variable_die): Likewise.
+       (dwarf2out_add_library_unit_info): Likewise.
+       (dwarf2out_line): Likewise.
+       (lookup_filename): Take a struct file_table argument.
+       (init_file_table): New.
+       (dwarf2out_init): Use it.
+
+2000-11-25  Joseph S. Myers  <jsm28@cam.ac.uk>
+
+       * invoke.texi: Update sequence points references.
+
+2000-11-25  Neil Booth  <neilb@earthling.net>
+
+       * c-common.c: Remove USE_CPPLIB conditional inclusions.
+       * c-common.h: Similarly.
+       * c-decl.c: Similarly.
+       * c-lang.c: Similarly.
+       * c-lex.c: Similarly.
+       * c-parse.in: Similarly.
+       * c-pragma.c: Similarly.
+       * c-pragma.h: Similarly.
+       * gcc.c: Similarly.
+       * toplev.c: Similarly.
+       * cp/cp-tree.h: Similarly.
+       * cp/decl2.c: Similarly.
+       * cp/lang-specs.h: Similarly.
+       * cp/lex.c: Similarly.
+       * cp/lex.h: Similarly.
+       * cp/spew.c: Similarly.
+       * java/lang-options.h: Similarly.
+       * objc/lang-specs.h: Similarly.
+       * objc/objc-act.c: Similarly.
+
+       * configure.in: Remove configure option.
+       * config.in: Regenerate.
+       * configure: Regenerate.
+
+2000-11-25  Richard Henderson  <rth@redhat.com>
+
+       * haifa-sched.c (sched_analyze_1, sched_analyze_2, sched_analyze):
+       Revert 2000-11-22 change.
+
+2000-11-25  Bernd Schmidt  <bernds@redhat.co.uk>
+
+       * config/i386/i386.h (FIXED_REGS): Make the three flags registers
+       fixed.
+
+2000-11-25  Philipp Thomas  <pthomas@suse.de>
+       * configure.in (ALL_LINGUAS): Remove en_GB and add sv.
+       * configure: Rebuilt.
+
+2000-11-25  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.md (muldi3_v8plus): Remove H constraint.
+       Handle CONST_INT as second argument.
+       * config/sparc/sparc.c (set_extends): Remove first argument.
+       Properly handle AND, CONST_INT and CONST_DOUBLE, handle IOR, XOR and
+       MOV.
+       (sparc_check_64): Abort if first argument is not REG.
+       If it is DImode REG, look at the lower register of the register
+       pair.
+
+       * config/sparc/sparc.c (load_pic_register, restore_regs,
+       output_return, sparc_v8plus_shift, sparc_function_profiler,
+       sparc_function_block_profiler, sparc_block_profiler): Fix output
+       formatting.
+
+2000-11-25  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.h (TARGET_NONE): New.
+       (TARGET_SWITCHES): For all variant-selecting switch, use
+       TARGET_NONE to reset all other variant-selecting switch.  Added
+       empty strings to avoid warnings.
+       (TARGET_DEFAULT): Set to SH1_BIT.
+
+       * Makefile.in ($(INTL_TARGETS)): Added $(CONFIG_H) for
+       insn-codes.h.
+
+       * gcc/config/sh/sh.md (sibcalli, sibcalli_pcrel): New insns.
+       (sibcall_pcrel): New insn_and_split.
+       (sibcall, sibcall_value, sibcall_epilogue): New expands.
+
+       * config/sh/sh.md (GOTaddr2picreg, symGOT2reg, symGOTOFF2reg,
+       symPLT_label2reg, call, call_value): Don't set
+       current_function_uses_pic_offset_table.
+       * config/sh/sh.h (CONDITIONAL_REGISTER_USAGE): Don't mark
+       PIC_OFFSET_TABLE_REGNUM as call_used, so that calc_live_regs
+       takes it into account.
+       (FINALIZE_PIC): Delete, useless.
+       (LEGITIMATE_CONSTANT_P): Delete, unused.
+       * config/sh/sh.c (sh_expand_prologue): Don't use
+       current_function_uses_pic_offset_table.  Don't special-case
+       PIC_OFFSET_TABLE_REGNUM.  Initialize it if it's ever live and
+       PIC is enabled.
+       (sh_expand_epilogue, initial_elimination_offset): Don't
+       special case PIC_OFFSET_TABLE_REGNUM.
+
+2000-11-25  Alexandre Oliva  <aoliva@redhat.com>, NIIBE Yutaka  <gniibe@m17n.org>
+
+       * config/sh/sh-protos.h (symbol_ref_operand): Declare.
+       * config/sh/sh.md (UNSPEC_CALLER): New constant.
+       (calli_pcrel, call_valuei_pcrel): Use PIC_REG.
+       (call_pcrel, call_value_pcrel): New insn_and_splits.
+       (call, call_value): Use them.
+       (call_site): New expand.
+       (sym_label2reg, symPLT_label2reg): Adjust to hold call_sites.
+       * config/sh/sh.h (OUTPUT_ADDR_CONST_EXTRA) [UNSPEC_CALLER]:
+       Output call_site label.
+       (PREDICATE_CODES): Added symbol_ref_operand.
+       * config/sh/sh.c (symbol_ref_operand): Define.
+       * emit-rtl.c (try_split): Propagate CALL_INSN_FUNCTION_USAGE
+       to CALL_INSNs in the split sequence.
+
+2000-11-24  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc (v850-*-*): Define c_target_objs and
+        cxx_target_objs.
+
+       * config/v850/t-v850: Define how to build v850-c.o
+
+       * config/v850/v850.h (struct data_area_stack_element): Move
+       definition here from v850.c.
+
+       * config/v850v850.c: Include gcc.h to avoid compile time
+       warning.
+       (push_data_area): Move to v850-c.c.
+       (pop_data_area): Move to v850-c.c.
+       (mark_current_function_as_interrupt): Move to v850-c.c.
+       (GHS_default_section_names): Allow to be exported.
+       (GHS_current_section_names): Allow to be exported.
+       (data_area_stack_elements): Allow to be exported.
+       (ghs_pragma_section): Move to v850-c.c.
+       (ghs_pragma_interrupt): Move to v850-c.c.
+       (ghs_pragma_starttda): Move to v850-c.c.
+       (ghs_pragma_startsda): Move to v850-c.c.
+       (ghs_pragma_startzda): Move to v850-c.c.
+       (ghs_pragma_endtda): Move to v850-c.c.
+       (ghs_pragma_endsda): Move to v850-c.c.
+       (ghs_pragma_endzda): Move to v850-c.c.
+
+       * config/v850/v850-c.c: New file: Contains v850 specific
+       pragma parsing functions.
+
+2000-11-24  Nick Clifton  <nickc@redhat.com>
+
+       * config.gcc (extra_objs): Remove duplicate description.
+       (c_target_objs): New variable.  Contains target specific
+       object files for the gcc C compiler only.
+       (cxx_target_objs): New variable.  Contains target specific 
+       object files for the gxx C++ compiler only.
+
+       * configure.in (c_target_objs): Substitute in the makefile.
+       (cxx_target_objs): Substitute in the makefile.
+       * configure: Regenerate.
+
+       * Makefile.in (C_TARGET_OBJS): Define and initialise from
+       c_target_objs.
+       (CXX_TARGET_OBJS): Define and initialise from
+       cxx_target_objs.
+       (C_AND_OBJC_OBJS): Include C_TARGET_OBJS.
+
+       * cp/Make-lang.in (CXX_C_OBJS): Include CXX_TARGET_OBJS).
+
+       * tm.texi (REGISTER_TARGET_PRAGMAS): Add paragraph explaining
+       about how the use of the 'c_lex' function requires the use of
+       the target specific, language specific object files feature of
+       the configuration mechanism.
+
+Fri Nov 24 18:50:58 2000  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * gcc.c (process_command): Use F_OK, not R_OK.
+
+2000-11-24  Arno J. Klaassen  <arno@heho.snv.jussieu.fr>
+
+       * flow.c (print_rtl_and_abort): Remove ANSIism.
+
+Fri Nov 24 19:54:36 2000  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.h (GENERAL_REGISTER_P,
+       GENERAL_OR_AP_REGISTER_P, FP_REGISTER_P, XD_REGISTER_P,
+       FP_OR_XD_REGISTER_P, FP_ANY_REGISTER_P): New macros.  Use them
+       all over.
+       (SPECIAL_REG): Renamed to SPECIAL_REGISTER_P.
+       * config/sh/sh.c: Use new macros.
+       * config/sh/sh.md: Likewise.
+
+Fri Nov 24 19:46:16 2000  Alexandre Oliva  <aoliva@redhat.com>
+
+       * config/sh/sh.md: Clobber MACH_REG and MACL_REG in SImode,
+       instead of just MACH_REG in DImode.  Always refer to FPSCR_REG
+       in PSImode.
+
+Fri Nov 24 22:37:41 2000  Denis Chertykov  <denisc@overta.ru>
+
+       * config/avr/avr.c (out_tsthi,out_tstsi): Test simplification bug
+       fixed.
+       (machine_dependent_reorg): Wrong optimization based on
+       NOTICE_UPDATE_CC removed. 
+
+Fri Nov 24 19:48:09 2000  J"orn Rennecke <amylaar@redhat.com>
+
+       * jump.c (delete_computation): Re-instate deletion of feeding insn.
+       (delete_insn): Look for REG_LABEL notes.
+       (redirect_tablejump): Delete feeding insns.
+
 2000-11-24  Bernd Schmidt  <bernds@redhat.co.uk>
 
+       * config/i386/i386.md (call_pop_0, call_pop_1, call_value_pop_0,
+       call_value_pop_1): Make sure operand numbers are contiguous.
+
+       * fold-const.c (fold_range_test): Avoid crash if LHS or RHS is null.
+
+       * reload1.c (conflicts_with_override): New function.
+       (emit_input_reload_insns): Use it to tighten test for validity
+       of substituting into output of previous insn.
+
+       * haifa-sched.c (struct ready_list): New.
+       (ready_lastpos, ready_add, ready_remove_first, ready_sort): New static
+       functions.
+       (schedule_insn): Replace args READY and N_READY with a pointer to a
+       ready_list; return void.  Use the new functions to access the ready
+       list.  All callers changed.
+       (queue_to_ready, debug_ready_list): Likewise.
+       (schedule_block): Initialize a ready_list structure.  Use new
+       functions to access it.
+       (max_priority): Remove unused variable.
+       (schedule_insn): Don't set it.
+
+       * c-common.c (verify_tree): Don't recurse into CONSTRUCTORs.
+
        * combine.c (cant_combine_insn_p): New function.
        (try_combine): Use it.
 
+       * Makefile.in (c-common.o): Depend on $(OBSTACK_H).
+       * c-common.c (c-obstack.c): Include "obstack.h".
+       (struct reverse_tree): Delete.
+       (reverse_list, reverse_max_depth): Delete.
+       (build_reverse_tree, common_ancestor, modify_ok): Delete functions.
+       (struct tlist, struct tlist_cache): New.
+       (tlist_obstack, tlist_firstobj, warned_ids, save_expr_cache): New.
+       (add_tlist, merge_tlist, verify_tree, warning_candidate_p,
+       warn_for_collisions, warn_for_collisions_1, new_tlist): New
+       static functions.
+       (verify_sequence_points): Rewritten.
+       * fold-const.c (fold): Don't lose possibly important sequence
+       points when removing one arm of TRUTH_ORIF_EXPRs or TRUTH_ANDIF_EXPRs.
+
 2000-11-24  Richard Sandiford  <rsandifo@redhat.com>
 
        * gcc/cse.c (cse_insn): Removed conversion of REG_EQUIV to REG_EQUAL