OSDN Git Service

* m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 033f74d..9525d42 100644 (file)
@@ -1,3 +1,434 @@
+Fri Jun 12 18:06:45 1998  Doug Evans  <devans@egcs.cygnus.com>
+
+       * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
+
+Fri Jun 12 14:57:59 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED.
+       (large_int): Likewise.
+       (pc_or_label_operand): Likewise.
+       (call_insn_operand): Likewise.
+       (consttable_operand): Likewise.
+       (m16_uimm3_b): Likewise.
+       (m16_simm4_1): Likewise.
+       (m16_nsimm4_1): Likewise.
+       (m16_simm5_1): Likewise.
+       (m16_nsimm5_1): Likewise.
+       (m16_uimm5_4): Likewise.
+       (m16_nuimm5_4): Likewise.
+       (m16_simm8_1): Likewise.
+       (m16_nsimm8_1): Likewise.
+       (m16_uimm8_1): Likewise.
+       (m16_nuimm8_1): Likewise.
+       (m16_uimm8_m1_1): Likewise.
+       (m16_uimm8_4): Likewise.
+       (m16_nuimm8_4): Likewise.
+       (m16_simm8_8): Likewise.
+       (m16_nsimm8_8): Likewise.
+       (m16_usym8_4): Likewise.
+       (m16_usym5_4): Likewise.
+       (mips_move_1word): Change type of variable `i' from int to size_t.
+       (mips_move_2words): Likewise.
+       (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED.
+       (function_arg_advance): Use HOST_PTR_PRINTF to print an address.
+       (function_arg): Likewise.
+       (function_arg_partial_nregs): Mark parameter `named' with
+       ATTRIBUTE_UNUSED.
+       (override_options): Use ISDIGIT instead of isdigit.
+       (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED.
+       (final_prescan_insn): Likewise for parameters `opvec' and `noperands'.
+       (save_restore_insns): Cast HOST_WIDE_INT arguments passed to
+       function `fatal' to long before printing.  Use
+       HOST_WIDE_INT_PRINT_DEC in fprintf.  Both changes done several
+       times in this function.
+       (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED.
+       (function_epilogue): Likewise for parameters `file' and `size'.
+       Print an int with "%d" not "%ld".
+       (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED.
+       (mips_function_value): Likewise for parameter `func'.
+       (function_arg_pass_by_reference): Likewise for parameters `cum'
+       and `named'.
+       (extend_operator): Likewise for parameter `mode'
+       (highpart_shift_operator): Likewise.
+
+       * mips.md (mul_acc_si): Remove unused variable `macc'.
+
+Fri Jun 12 09:33:44 1998  Richard Henderson <rth@cygnus.com>
+
+       * fold-const.c (fold): Revert last change.  It breaks constant
+       expressions somehow.
+
+Fri Jun 12 10:23:36 1998  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
+       prevent operands from being evaluated twice.
+
+Fri Jun 12 00:50:27 1998  Sergey Okhapkin <sos@prospect.com.ru>
+
+       * toplev.c (lang_options): Add -remap as a preprocessor option.
+
+Fri Jun 12 00:30:32 1998  John Wehle  (john@feith.com)
+
+       * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code
+       which set CC_REVERSED since reload should ensure that
+       the operands are already the correct type.
+
+Thu Jun 11 17:14:15 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
+       calling gen_rtx_SET.
+
+Thu Jun 11 18:45:49 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * config/rs6000/x-aix43 (AR): Delete.
+       (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
+
+Thu Jun 11 16:19:17 1998  David W. Schuler  <schuld@btv.ibm.com>
+
+       * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
+
+Thu Jun 11 12:40:27 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * mips.c (override_options): Replace word_mode with explicit
+       TARGET_64BIT check.
+
+Thu Jun 11 14:50:02 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * regmove.c (regmove_optimize): If we can't replace the
+       destination in an insn that sets the source, generate an explicit
+       move of the source to the destination.
+       (copy_src_to_dest): New function.
+       (toplevel): Include basic-block.h
+
+       * Makefile.in (regmove.o): Add basic-block.h dependencies.
+
+Thu Jun 11 10:30:09 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
+
+Wed Jun 10 23:39:32 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * rtl.h (rtx_def): Improve documentation.
+       (MEM_IN_STRUCT_P): Likewise.
+
+Wed Jun 10 23:23:17 1998  Graham  <grahams@rcp.co.uk>
+
+       * c-decl.c (start_decl): Correct test for -Wmain.
+
+       * c-decl.c (grokdeclarator): Remove unused variable "last".
+
+Wed Jun 10 14:52:27 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * expr.c (expand_builtin_setjmp): Store const1_rtx in target.
+       (expand_builtin_longjmp): Abort if value isn't const1_rtx.
+       Delete code storing value in static_chain_rtx.
+       (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target
+       to second expand_expr call.
+
+Wed Jun 10 13:08:41 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
+
+Wed Jun 10 13:41:23 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * cppmain.c (fatal): New function.
+       * configure.in (cpp_main): New configuration variable.
+       * configure: Regenerated.
+       * Makefile.in (CCCP): Use a configuration variable to select basex
+       for cccp.
+       (cppmain$(exeext)): Add @extra_cpp_objs@.
+
+Wed Jun 10 13:07:02 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * objc/objc-act.c: Add cpplib declarations.
+       (lang_decode_option): Initialize cpplib if necessary.
+       (lang_decode_option): New argc/argv interface. 
+       * tree.h (lang_decode_option): New argc/argv interface. 
+       * toplev.c (lang_options): Add cpp options.
+       (main): New interface for lang_decode_option.
+       * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler
+       unless -E, -M or -MM is specified.
+       * cpplib.h (cpp_handle_option): New function. 
+       * cpplib.c (cpp_handle_option): New function.
+       (cpp_handle_options): Now calls cpp_handle_option.
+       * c-tree.h (c_decode_option): New argc/argv interface. 
+       * c-lex.c (init_parse): cpplib now initialized in c_decode_option.
+       * c-lang.c (lang_decode_option): New argc/argv interface.
+       * c-decl.c: Add cpplib declarations.
+       (c_decode_option): New argc/argv interface.
+       (c_decode_option): Call cpp_handle_option.
+       (c_decode_option): Now returns number of strings processed.
+
+Wed Jun 10 09:47:13 1998  Richard Earnshaw (rearnsha@arm.com)
+
+       * unroll.c (verify_addresses): Use validate_replace_rtx to undo the 
+       changes.  Abort if the undo fails.
+
+Wed Jun 10 08:56:27 1998  John Carr  <jfc@mit.edu>
+
+       * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG
+       for each alternative.  Do not replace a CONST_INT with a REG unless
+       the reg is cheaper.
+
+Wed Jun 10 02:11:55 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * decl.c (init_decl_processing): Fix typo.
+
+       * mips.c (gpr_mode): New variable.
+       (override_options): Initialize gpr_mode.
+       (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
+       determine size and offset of general purpose registers save slots.
+       (save_restore_insns, mips_expand_prologue): Similarly.
+
+       * reload.c (find_reloads_toplev): Use gen_lowpart common to convert
+       between constant representations when we have (SUBREG (REG)) with
+       REG equivalent to a constant.
+
+Wed Jun 10 01:39:00 1998  Juha Sarlin <juha@c3l.tyreso.se> 
+
+       * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
+
+Tue Jun  9 22:05:34 1998  Richard Henderson  <rth@cygnus.com>
+
+       * fold-const.c (fold): Even with otherwise constant trees, look for
+       opportunities to combine integer constants.
+
+Wed Jun  3 23:41:24 EDT 1998  John Wehle  (john@feith.com)
+
+       * i386.c (notice_update_cc): Clear cc_status.value2 in the
+       case of UNSPEC 5 (bsf).
+
+       * i386.md (movsfcc, movdfcc, movxfcc): The floating point
+       conditional move instructions don't support signed integer
+       comparisons.
+
+Tue Jun  9 14:31:19 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
+       overlfows. 
+
+       * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
+       16,sp,sp' ratehr than 'add 16,sp'.  Patch courtesy of Biomedin
+       <glctr@abc.it>.
+
+Tue Jun  9 16:23:13 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * except.c (expand_start_catch): Rename to start_catch_handler.
+       (expand_end_catch): Delete function.
+       (expand_end_all_catch): Remove catch status that expand_end_catch
+       use to do.
+       * except.h (expand_start_catch): Rename prototype.
+       (expand_end_catch): Delete prototype.
+
+Tue Jun  9 12:57:32 1998  Mark Mitchell  <mark@markmitchell.com>
+
+       * invoke.texi: Add documentation for -mips4 and -mabi=*.
+
+Tue Jun  9 12:12:34 1998  Klaus Kaempf (kkaempf@progis.de)
+
+       * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors.
+       (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section.       
+       (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define.                
+
+Tue Jun  9 12:10:27 1998  John Carr  <jfc@mit.edu>
+
+        * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
+        as the threshold to permit splitting memory operations.
+
+Tue Jun  9 12:36:16 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mips.c (gpr_mode): New variable.
+       (override_options): Initialize gpr_mode.
+       (compute_frame_size): Use "gpr_mode" instead of "word_mode" to
+       determine size and offset of general purpose registers save slots.
+       (save_restore_insns, mips_expand_prologue): Similarly.
+
+       * Makefile.in (LIB2FUNCS_EH): Define.  Just "_eh" for now.
+       (LIBGCC2_CFLAGS): Remove -fexceptions.
+       (LIB2FUNCS): Remove "_eh".
+       (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in
+       it with -fexceptions.
+
+       * Makefile.in (local-alloc.o): Depend on insn-attr.h.
+       * local-alloc.c (block_alloc): Avoid creating false 
+       dependencies for targets which use instruction scheduling.
+
+Tue Jun  9 02:40:49 1998  Richard Henderson  <rth@cygnus.com>
+
+       * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
+       (ASM_FINISH_DECLARE_OBJECT): Define;
+       * mips/elf64.h: Likewise.
+
+Tue Jun  9 01:08:47 1998  Richard Henderson  <rth@cygnus.com>
+
+       * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
+
+Mon Jun 8 23:24:48 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Jun  8 23:24:58 1998  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
+       (mulsidi3_ppc64): Delete.
+
+Mon Jun  8 20:57:40 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (varasm.o): Depend on dbxout.h.
+       (cse.o): Depend on toplev.h and output.h.
+       (gcse.o): Depend on output.h.
+
+       * mips.c: Include system.h and toplev.h and remove redundant code.
+       Include output.h after tree.h so all its prototypes get activated.
+       * mips.md (table_jump): Remove unused variable `dest'.
+
+       * sparc.h: Add prototype for `v8plus_regcmp_op'.
+
+       * crtstuff.c (fini_dummy, init_dummy): Mark function definitions
+       with __attribute__ ((__unused__)).
+       (__frame_dummy): Provide prototype before use, wrap it with
+       EH_FRAME_SECTION_ASM_OP.
+
+       * cse.c: Move inclusion of <setjmp.h> above local headers.
+       Include toplev.h and output.h.
+
+       * dbxout.h: Add prototype for `dbxout_begin_function'.
+
+       * final.c (final_scan_insn): Wrap variable `max_skip' in macro
+       ASM_OUTPUT_MAX_SKIP_ALIGN.
+
+       * gcse.c: Include system.h and output.h.
+       (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data):
+       Make extern instead of static.
+       (compute_can_copy): Only declare variables `reg' and `insn' when
+       AVOID_CCMODE_COPIES is not defined.
+       (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED.
+       (hash_scan_clobber): Likewise for `x' and `insn'.
+       (hash_scan_call): Likewise.
+       (record_last_set_info): Likewise for `setter'.
+       (mark_call): Likewise for `pat'.
+       (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0.
+
+       * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the
+       length parameter so that it multiplies the number of elements by
+       the sizeof(element).
+
+       * output.h: Add prototype for `weak_finish'.
+
+       * recog.h: Likewise for `validate_replace_src'.
+
+       * rtl.h: Likewise for `optimize_save_area_alloca',
+       `fix_sched_param', `purge_addressof', `gcse_main',
+       `regmove_optimize', `dbr_schedule', `branch_prob' and
+       `end_branch_prob'.
+
+       * toplev.h: Likewise for `set_float_handler' and
+       `output_quoted_string'.
+
+       * varasm.c: Include dbxout.h.
+
+Mon Jun  8 18:12:06 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
+       GP_REG_P.  Use gr_regs instead of GR_REGS.
+
+Mon Jun  8 16:54:12 1998  Ken Raeburn   <raeburn@cygnus.com>
+                          Jeff Law      <law@cygnus.com>
+
+       * Revamped multiply support for MIPS chips.
+       * mips.c (extend_operator): New function.
+       (highpart_shift_operator): Likewise.
+       * mips.h: Declare new functions.
+       (PREDICATE_CODES): Add support for new predicates.
+       * mips.md (mulsi3 expander): Simplify.
+       (mulsi_mult3): Add another constraint alternative.  Support
+       3 operand multiply instructions as found on various mips
+       parts.
+       (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3.
+       (mul_acc_si): New pattern and associated splitters.
+       (mulsidi3 expander): Rework to use mulsidi3_64bit and
+       mulsidi3_internal.
+       (umulsidi3): New expander.
+       (mulsidi3_internal): Accept either sign or zero extended
+       operands and generate code as appropriate appropriately.
+       (mulsidi3_64bit): Similarly.
+       (smulsi3_highpart): Turn into an expander and generate code
+       to match new patterns.
+       (umulsi3_highpart): Likewise.
+       (xmulsi3_highpart_internal): New pattern.
+       (maddi patterns): Delete.  Replace with:
+       (mul_acc_di, mul-acc_64bit_di): New patterns.
+
+Mon Jun  8 14:16:15 EDT 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with
+       flag_new_exceptions runtime flag.
+       (struct old_exception_table): New struct which represents what
+       the exception table looks like without the new model.
+       (NEW_EH_RUNTIME): New value used as a tag in the exception table to
+       flag that this is a new style table.
+       * except.h: Remove compile time flag NEW_EH_MODEL.
+       (expand_builtin_eh_stub_old): New prototype.
+       * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD.
+       * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD.
+       * c-decl.c (init_decl_processing): Add new builtin function
+       __builtin_eh_stub_old.
+       * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL.
+       * flags.h (flag_new_exceptions): New runtime flag.
+       * toplev.c (flag_new_exceptions): Initialize default to 0, 
+       -fnew-exceptions sets to 1.
+       * except.c (output_exception_table_entry): Output New style exception 
+       identifier into table, and replace compile time flag NEW_EH_MODEL
+       with runtime flag flag_new_exceptions.
+       (output_exception_table): Replace compile time flag NEW_EH_MODEL.
+       (expand_builtin_eh_stub_old): Duplicates original functionality of
+       expand_builtin_eh_stub.
+       (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL.
+       * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs.
+       (old_find_exception_handler): New func, same as find_exception_handler
+       except it works on the old style exception table.
+       (__throw): Replace NEW_EH_MODEL. Detect new model based on presence
+       of identifier in the exception table, and call appropriate routines.
+
+Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * function.c: Define current_function_cannot_inline.
+       (push_function_context_to): Save it.
+       (pop_function_context_from): Restore it.
+       * function.h (struct function): Provide it a home.
+       * output.h: Declare it.
+       * integrate.c (function_cannot_inline_p): Check it.
+
+Mon Jun  8 10:43:15 1998  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (force_operand): Detect PIC address loads before 
+       splitting arithmetic.
+
+Mon Jun 8 09:22:38 PDT 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Mon Jun  8 02:55:56 1998  Graham  <grahams@rcp.co.uk>
+
+       * tree.c (tree_class_check): Add braces to eliminate ambigious
+       else warning.
+       (tree_check): Likewise.
+
+Mon Jun  8 02:49:23 1998  H.J. Lu  (hjl@gnu.org)
+
+       * reg-stack.c (subst_stack_regs_pat): Make sure the top of
+       stack is the destination for conditional move insn.
+
+Mon Jun  8 01:21:13 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * tree.h (TREE_VEC_END): Cast unused value to void.
+
+       * i386.c (print_operand): Use %lx for long operand.
+
+Mon Jun  8 00:04:07 1998  Richard Henderson  <rth@cygnus.com>
+
+       * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
+
 Sun Jun  7 14:15:45 1998  John Carr  <jfc@mit.edu>
 
        * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
@@ -10535,3 +10966,7 @@ Mon Aug 11 10:04:49 1997  Jeffrey A Law  (law@cygnus.com)
 Sun Aug 10 12:00:20 1997  Jeffrey A Law  (law@cygnus.com)
 
        * egcs project officially starts.
+
+Local Variables:
+add-log-time-format: current-time-string
+End: