OSDN Git Service

* tree.c (make_node): Call bzero instead of inline clear.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index bb45298..ab5938e 100644 (file)
@@ -1,3 +1,783 @@
+Sat Jan  9 18:35:29 1999  Richard Henderson  <rth@cygnus.com>
+
+       * tree.c (make_node): Call bzero instead of inline clear.
+       (copy_node, make_tree_vec, build1): Likewise.
+       (get_identifier): Call strlen instead of inline count.
+       (maybe_get_identifier): Likewise.
+
+Sun Jan 10 14:04:51 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md: (in_annul_slot_3): Allow unarycc and binarycc
+       operations in 3rd annulled delay slot.
+       (*lshrqi3_const_set): Disallow c constraint for operand0.
+       (modhi3+1, modhi3+2): Set attribute type to multi.
+       * config/c4x/c4x.c (c4x_S_constraint): Removed space in middle of 
+       != operator.
+
+Sat Jan  9 11:44:55 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * gansidecl.h: Allow attribute unused on labels only when we are
+       version 2.93 or higher.  Not all versions of 2.92 have this feature.
+
+       * version.c: Bump minor number to 93.
+
+Fri Jan  8 10:51:13 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * config/m68k/m68k.h: Declare output_function_epilogue.
+       * recog.h: Declare next_insn_tests_no_inequality.
+
+Fri Jan  8 01:43:53 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * stmt.c (optimize_tail_recursion): New function, extracted from ...
+       (expand_return): Use optimize_tail_recursion.
+       * tree.h (optimize_tail_recursion): Declare.
+
+       * toplev.c (compile_file): Move call to output_func_start_profiler
+       to after the loop to emit deferred functions.
+
+Thu Jan  7 19:52:53 1999  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * system.h (abort): Supply more detailed information on how to
+       report an Internal Compiler Error.
+
+Thu Jan  7 11:26:17 1999  Mark Mitchell  <mark@markmitchell.com>
+
+       * calls.c (store_unaligned_arguments_into_pseudos): Use xmalloc to
+       allocate memory that will live beyond this function.
+       (expand_call): Free it here.
+
+Thu Jan  7 03:08:17 1999  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.h (PREFERRED_RELOAD_CLASS): Select GENERAL_REGS for 
+       integer data not destined for fp regs.
+       (LEGITIMIZE_RELOAD_ADDRESS): New.
+
+Thu Jan  7 03:03:42 1999  Stan Cox  <scox@cygnus.com>
+                         Richard Henderson  <rth@cygnus.com>
+
+       Support for Hypersparc and Sparclite86x:
+       * sparc.h (TARGET_CPU_hypersparc, TARGET_CPU_sparclite86x): New.
+       (CPP_CPU32_DEFAULT_SPEC): Fix up for the new targets.
+       (ASM_CPU32_DEFAULT_SPEC): Likewise.
+       (TARGET_CPU_DEFAULT): Likewise.
+       (enum processor_type): Likewise.
+       (CPP_ENDIAN_SPEC): Handle little endian data.
+       (LIBGCC2_WORDS_BIG_ENDIAN): Likewise.
+       (ADJUST_COST): Call sparc_adjust_cost.
+       * sparc.c (sparc_override_options): Fix up for the new targets.
+       (supersparc_adjust_cost): Make static.
+       (hypersparc_adjust_cost): New.
+       (ultrasparc_adjust_cost): Make static.
+       (sparc_adjust_cost): New.
+       * sparc.md (attr cpu): Add hypersparc and sparclite86x.
+       (function_unit): Add hypersparc scheduling rules.
+
+       * configure.in (with_cpu handler): Recognize hypersparc.
+
+Thu Jan  7 23:54:05 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c: Added space after negation operator.
+       * config/c4x/c4x.h: Likewise.
+       * config/c4x/c4x.md: Likewise.
+
+Thu Jan  7 23:39:27 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.c (c4x_preferred_reload_class): Always return class.
+
+Thu Jan  7 00:29:25 199  Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+       * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases,
+       when a test can't be performed due to limited width of
+       HOST_BITS_PER_WIDE_INT, use the more conservative approximation.
+       Fix UDIV case for cases where the first operand has the highest bit
+       set.
+
+Thu Jan  7 00:01:38 1999  Lutz Vieweg <lkv@mania.robin.de>
+
+       * pa.h (reg_class): Add FPUPPER_REGS.
+       (REG_CLASS_NAMES): Similarly.
+       (REG_CLASS_CONTENTS): Similarly
+       (REGNO_REG_CLASS): Handle FPUPPER_REGS.
+       (FP_REG_CLASS_P): Likewise.
+       (REG_CLASS_FROM_LETTER): Similarly.
+       (CLASS_MAX_NREGS): Similarly.
+
+1999-01-06  Brendan Kehoe  <brendan@cygnus.com>
+
+       * fixincludes: For HP/UX 10.20, also look in curses_colr/curses.h
+       for a typedef of bool.  Make sure to have a copy of the file is
+       in place before we look to fix it.  Fix typo in variable name to
+       FILE.
+
+Wed Jan  6 07:51:05 1999  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (expand_builtin) [case BUILT_IN_CONSTANT_P]: Use
+       value_mode for the return mode.
+
+Wed Jan  6 17:55:19 1999  Robert Lipe  <robertlipe@usa.net>
+
+       * configure.in: New flag --with-dwarf2.   If set, enables DWARF-2
+       debugging as default.
+
+       * config/tm-dwarf2.h: New file.
+
+Wed Jan  6 16:08:54 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * h8300.h (ASM_OUTPUT_LABELREF): Define.
+
+       * pa.h (DONT_RECORD_EQUIVALENCE): Kill.
+       * local-alloc.c (update_equiv_regs): Corresponding changes.
+       * tm.texi (DONT_RECORD_EQUIVALENCE): Kill.
+
+       * calls.c (special_function_p): Push alloca test inside the large
+       conditional which excludes functions not at file scope or not
+       extern.  
+
+       * calls.c (special_function_p): New function broken out of
+       expand_call.
+       (precompute_register_parameters): Likewise.
+       (store_one_arg): Likewise.
+       (store_unaligned_argumetns_into_pseudos): Likewise.
+       (save_fixed_argument_area): Likewise.
+       (restore_fixed_argument_area): Likewise.
+       (expand_call): Corresponding changes.
+       
+Wed Jan  6 10:43:29 1999  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * config/m68k/m68k.c (const_uint32_operand): Remove CONSTANT_P_RTX
+       handling.
+       (const_sint32_operand): Likewise.
+
+Wed Jan  6 09:44:51 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * toplev.h: In addition to checking _JBLEN, also check if `setjmp'
+       is a macro when deciding if we can use `jmp_buf' in prototypes.
+
+Thu Jan  7 00:12:24 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * config/c4x/c4x.md (addqi3): If the destination operand is
+       a hard register other than an extended precision register,
+       emit addqi3_noclobber.
+       (*addqi3_noclobber_reload): New pattern added so that reload
+       will recognise a store of a pseudo, equivalent to the sum
+       of the frame pointer and a constant, as an add insn.
+
+Wed Jan  6 03:18:53 1999  Mark Elbrecht  <snowball3@usa.net.
+
+       * configure.in (pc-msdosdjgpp): Set x_make to x-go32.
+       * configure: Rebuilt.
+       * i386/xm-go32.h: Define LIBSTDCXX.
+       * i386/x-go32: New.
+       * i386/go32.h (MD_EXEC_PREFIX): Define.
+       (FILE_NAME_ABSOLUTE_P): Define.
+       (LINK_COMMAND_SPEC): Define.
+
+Wed Jan  6 02:23:36 1999  "Charles M. Hannum" <root@ihack.net>
+
+       * expr.c (store_expr): If the lhs is a memory location pointed
+       to be a postincremented (or postdecremented) pointer, always
+       force the rhs to be evaluated into a pseudo.
+
+Wed Jan  6 00:54:21 1999  Geoff Keating  <geoffk@ozemail.com.au>
+
+       * real.c (mtherr): Print more reasonable warning messages.
+
+Tue Jan  5 21:57:42 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * Makefile.in (gcc.o, prefix.o, cccp.o, cpplib.o): Depend on prefix.h.
+
+       * cccp.c: Include prefix.h, don't prototype prefix.c functions.
+       (new_include_prefix): Constify char* parameters.
+
+       * cppfiles.c (read_name_map): Likewise.
+       (append_include_chain): Likewise.  Also, use a writable char* copy
+       of parameter `dir' which we then modify, rather than using the
+       parameter itself to store the new writable string.
+       (remap_filename): Constify some variables.  Also, use a writable
+       char* to store an allocated string which we will be modifying.
+
+       * cpplib.c: Include prefix.h, don't prototype prefix.c functions.
+       (cpp_start_read): Constify variable `str'.
+
+       * cpplib.h (append_include_chain): Constify a char* parameter.
+
+       * gcc.c Include prefix.h, don't prototype prefix.c functions.
+       (add_prefix, save_string): Constify char* parameters.
+       (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
+
+       * prefix.c: Include prefix.h.
+       (get_key_value, translate_name, save_string, update_path,
+       set_std_prefix): Constify various char* parameters and variables.
+       (save_string): Use xmalloc, not malloc.
+       (translate_name): Use a writable temporary variable to create and
+       modify a string before setting it to a const char*.
+       
+       * prefix.h: New file to prototype functions exported from prefix.c.
+
+Mon Jan  4 15:37:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.c (skip_if_group): Split out the logic that handles
+       directive recognition to its own function.  Don't use
+       parse markers; use a bare pointer into the buffer.  Use
+       copy/skip_rest_of_line instead of doing it by hand.  Remove
+       `return on any directive' mode which was never used, and take
+       only one argument.
+       (consider_directive_while_skipping): New function, subroutine
+       of skip_if_group.  Logic streamlined a bit.
+       (conditional_skip, do_elif, do_else): Call skip_if_group with
+       only one argument.
+
+Mon Jan  4 15:27:30 1999  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.c (do_undef): EOF immediately after '#undef FOO' is not an
+       error.
+
+Mon Jan  4 11:55:51 1999  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * extend.texi (Bound member functions): Document.
+
+Mon Jan  4 11:01:48 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * mips-tdump.c (st_to_string, sc_to_string, glevel_to_string,
+       lang_to_string, type_to_string): Make return type const char*.
+       (print_symbol): Apply `const' keyword to a char*.
+       (print_file_desc): Cast structure member `crfd' to ulong when
+       comparing against one.
+
+       * mips-tfile.c (pfatal_with_name): Apply `const' keyword to char*.
+       (fatal, error): Add ATTRIBUTE_PRINTF_1 to prototypes.
+       (progname, input_name): Apply `const' keyword to a char*.
+       Don't redundantly include sys/stat.h.
+       (alloc_info): Apply `const' keyword to a char*.
+       (st_to_string, sc_to_string): Likewise.
+       (hash_string): Cast variable `hash_string' to a symint_t when
+       comparing against one.
+       (add_string): Cast PAGE_USIZE to Ptrdiff_t when comparing against one.
+       Likewise cast it to long when comparing against one.
+       (add_local_symbol): Apply `const' keyword to a char*.
+       (add_ext_symbol): Likewise.
+       (add_unknown_tag): Likewise.
+       (add_procedure): Cast a printf-style field width to an int.
+       (add_file): Cast PAGE_USIZE to long when comparing against one
+       (parse_begin): Cast a printf-style field width to an int.
+       (parse_bend): Likewise.
+       (parse_def): Likewise.
+       (parse_end): Likewise.
+       (mark_stabs): Mark parameter `start' with ATTRIBUTE_UNUSED.
+       (parse_stabs_common): Fix format specifier.
+       (parse_input): Change type of variable `i' to Size_t.
+       (write_object): Fix arguments to match format specifiers.
+       Cast variable `num_write' to long when comparing against one.
+       (read_seek): Cast variable `sys_read' to symint_t when comparing
+       against one.  Fix arguments to match format specifiers.  Cast
+       variable `size' to long when comparing against one.
+       (copy_object): Cast result of `sizeof' to int when comparing
+       against one.  Fix arguments to match format specifiers.  Cast
+       variable `ifd' to long when comparing against a signed value.
+       Likewise, likewise.
+       
+Mon Jan  4 10:30:33 1999  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * c-common.c (decl_attributes): Allow applying attribute `unused'
+       on a LABEL_DECL.
+
+       * c-parse.in (label): Parse attributes after a label, and call
+       `decl_attributes' to handle them.
+
+       * gansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define.
+
+       * genrecog.c (OUTPUT_LABEL, write_tree_1, write_tree): When
+       generating labels, mark them with ATTRIBUTE_UNUSED_LABEL.
+
+       * invoke.texi: Note that labels can be marked `unused'.
+
+Sun Jan 3 23:32:18 PST 1999 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sun Jan  3 23:00:42 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * optabs.c (emit_cmp_and_jump_insns): Use CONSTANT_P canonicalizing
+       RTL for a compare/jump sequence.
+       
+Sun Jan  3 22:58:15 1999  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * optabs.c (emit_cmp_insn): Abort if asked to emit non-canonical RTL
+       for a target with HAVE_cc0 defined.
+       (emit_cmp_and_jump_insns): New function.
+       * expr.h (emit_cmp_and_jump_insns): Prototype it.
+       * loop.c (check_dbra_loop): Use it to replace calls
+       to emit_cmp_insn and emit_jump_insn and to canonicalise
+       the comparison if necessary.
+       * unroll.c (unroll_loop): Likewise.
+
+Sun Jan  3 21:01:04 1999  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * fixincludes (sys/utsname.h): Provide forward declaration of
+       struct utsname on Ultrix V4.[35].
+
+       * mips.md (div_trap): Use local labels instead of dot-relative
+       branches.
+
+Sun Jan  3 20:40:34 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * pa.md (branch, negated branch): Handle (const_int 0) as first
+       source operand.
+       * pa.c (output_cbranch): Likewise.
+
+Sun Jan  3 03:20:38 1999  David Edelsohn  <edelsohn@mhpcc.edu>
+
+       * rs6000.c (rs6000_stack_info): Undo spurious part of last
+       change.
+
+1999-01-01  Manfred Hollstein  <manfred@s-direktnet.de>
+
+       * extend.texi (__builtin_constant_p): Add missing @smallexample.
+
+Fri Jan  1 11:48:20 1999  Jeffrey A Law  (law@cygnus.com)
+
+       * i386.md (doubleword shifts): Fix dumb mistakes in previous change.
+
+Wed Dec 30 23:38:55 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * m68k.md (adddi_dilshr32): Allow all operands to be registers too.
+       (adddi_dishl32): Similarly.
+
+       * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers
+       for each insn in the skipped block.
+
+       * reload1.c (reload_as_needed): Verify that the insn satisfies its
+       constraints after replacing a register address with an autoincrement
+       address for reload inheritance purposes.
+
+       * i386.md (doubleword shifts): Avoid namespace pollution.
+
+Wed Dec 30 23:00:28 1998  David O'Brien <obrien@NUXI.com>
+
+       * configure.in (FreeBSD ELF): Needs special crt files.
+
+Wed Dec 30 22:50:13 1998  Geoffrey Noer  <noer@cygnus.com>
+
+       * i386/xm-cygwin.h: change DIR_SEPARATOR to forward slash.
+
+1998-12-30  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
+
+       * loop.c (check_dbra_loop): While reversing the loop, if the
+       comparison value has a VOID mode use the mode of the other operand
+       to compute the mask.
+
+Wed Dec 30 22:24:00 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * rs6000.md ({save,restore}_stack_function): Take 2 operands to
+       avoid warnings in compiling explow.c.
+
+       (patch from Ken Raeburn, raeburn@cygnus.com)
+       * rs6000.c (rs6000_stack_info): Force 8-byte alignment of
+       fpmem_offset.  Compute total size after that, and then
+       rs6000_fpmem_offset using both values.
+
+Mon Dec 28 19:26:32 1998  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
+
+       * gcc.texi (Non-bugs): ``Empty'' loops will be optimized away in
+       the future; indeed that already happens in some cases.
+
+Tue Dec 29 11:58:53 1998  Richard Henderson  <rth@cygnus.com>
+
+       * sparc.c (input_operand): Recognize (const (constant_p_rtx)).
+       (arith_operand): Remove constant_p_rtx handling.
+       (const64_operand, const64_high_operand): Likewise.
+       (arith11_operand, arith10_operand, arith_double_operand): Likewise.
+       (arith11_double_operand, arith10_double_operand, small_int): Likewise.
+       (small_int_or_double, uns_small_int, zero_operand): Likewise.
+       * sparc.h (PREDICATE_CODES): Likewise.
+
+       * rtl.h (CONSTANT_P): Remove CONSTANT_P_RTX.
+
+Tue Dec 29 11:32:54 1998  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>:
+
+       * rtl.def (CONSTANT_P_RTX): Clarify commentary.
+       * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Rework to
+       consider constant CONSTRUCTOR constant and to defer some cases
+       to cse.
+       * cse.c (fold_rtx, case CONST): Add handling for CONSTANT_P_RTX.
+       * regclass.c (reg_scan_mark_refs, case CONST): Likewise.
+
+Tue Dec 29 11:30:10 1998  Richard Henderson  <rth@cygnus.com>
+
+       * expr.c (init_expr_once): Kill can_handle_constant_p recognition.
+       * cse.c (fold_rtx, case 'x'): Remove standalone CONSTANT_P_RTX code.
+
+       * alpha.c (reg_or_6bit_operand): Remove CONSTANT_P_RTX handling.
+       (reg_or_8bit_operand, cint8_operand, add_operand): Likewise.
+       (sext_add_operand, and_operand, or_operand): Likewise.
+       (reg_or_cint_operand, some_operand, input_operand): Likewise.
+       * alpha.h (PREDICATE_CODES): Likewise.
+
+Sat Dec 26 23:26:26 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Dec 26 09:17:04 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * gengenrtl.c (gencode): Always use bzero to clear memory instead
+       of dangerous casts and stores.
+
+       * Makefile.in (compare, gnucompare): Add missing else true clauses.
+
+Fri Dec 25 23:00:56 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * alpha.md (builtin_longjmp): Add missing "DONE".
+
+Thu Dec 24 10:39:57 1998  Stan Cox  <scox@cygnus.com>
+
+       * gcc.c (execute): Enable -pipe with win32.
+
+Wed Dec 23 10:27:44 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * config/arm/t-arm-elf: Add multiplib option for leading
+       underscores.
+
+       * config/arm/thumb.h (ASM_OUTPUT_LABELREF): Use variable
+        'user_label_prefix' rather than macro USER_LABEL_PREFIX.
+
+       (thumb_shiftable_const): Use macro 'BASE_REG_CLASS' rather
+       than variable 'reload_address_base_reg_class'.  [Note this
+       change is unrelated to the others in this patch].
+
+       * config/arm/unknown-elf.h (USER_LABEL_PREFIX): Default to no
+        leading underscore.
+
+Wed Dec 23 09:51:32 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * alias.c (record_alias_subset): Remove ignored `&'.
+       (init_alias_once): Likewise.
+
+       * c-lex.c (UNGETC): Cast first argument of comma expression to void.
+
+       * config/mips/mips.c (mips_asm_file_end): Cast the result of
+       fwrite to `int' when comparing against one.
+
+       * config/mips/mips.h (CAN_ELIMINATE): Add parens around && within ||.
+       (INITIAL_ELIMINATION_OFFSET): Add braces to avoid ambiguous `else'.
+
+       * cse.c (rehash_using_reg): Change type of variable `i' to
+       unsigned int.
+
+       * dwarf2out.c (initial_return_save): Cast -1 to unsigned before
+       assigning it to one.
+
+       * except.c (duplicate_eh_handlers): Remove unused variable `tmp'.
+
+       * final.c (final_scan_insn): Likewise for variable `i'.
+       (output_asm_insn): Cast a char to unsigned char when used as an
+       array index.
+
+       * gcse.c (compute_pre_ppinout): Cast -1 to SBITMAP_ELT_TYPE when
+       assigning it to one.
+
+       * loop.c (strength_reduce): Remove unused variables `count' and `temp'.
+
+       * recog.c (preprocess_constraints): Cast a char to unsigned char
+       when used as an array index.
+
+       * regmove.c (find_matches): Likewise.
+
+       * reload1.c (calculate_needs): Add default case in switch.
+       (eliminate_regs_in_insn): Initialize variable `offset'.
+       (set_offsets_for_label): Change type of variable `i' to unsigned.
+       (reload_as_needed): Wrap variable `i' in macro check on
+       AUTO_INC_DEC || INSN_CLOBBERS_REGNO_P.
+
+       * scan-decls.c (scan_decls): Mark parameters `argc' and `argv'
+       with ATTRIBUTE_UNUSED.  Cast variable `start_written' to size_t
+       when comparing against one.
+
+       * stor-layout.c (layout_decl): Cast maximum_field_alignment to
+       unsigned when comparing against one.  Likewise for
+       GET_MODE_ALIGNMENT().
+       (layout_record): Cast record_align to int when comparing against a
+       signed value. 
+       (layout_type): Cast TYPE_ALIGN() to int when comparing against a
+       signed value.
+
+       * tree.c (get_identifier): Cast variable `len' to unsigned when
+       comparing against one.
+       (maybe_get_identifier): Likewise
+
+Wed Dec 23 00:10:01 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * toplev.c (rest_of_compilation): Do not set reload_completed.
+       * reload1.c (reload): Set reload_completed before calling
+       cleanup_subreg_operands.
+
+Tue Dec 22 23:58:31 1998  Richard Henderson  <rth@cygnus.com>
+
+       * reload1.c (emit_reload_insns): Check `set' not null before use.
+
+Tue Dec 22 15:15:45 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * rtlanal.c (multiple_sets): Change type of 'found' from 'rtx' to
+       'int'. 
+
+Tue Dec 22 13:55:44 1998  Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
+
+       * halfpic.c (half_pic_encode): Delete redundant code.
+
+Tue Dec 22 13:02:22 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * toplev.c (main): Delete handling of -dM as a preprocessor
+       option.
+
+Mon Dec 21 17:39:38 1998  Michael Meissner  <meissner@cygnus.com>
+
+       * toplev.c (main): Don't emit any warnings when using -dD, -dM, or
+       -dI, which are handled by the preprocessor.
+
+Sun Dec 20 16:13:44 1998  John F. Carr  <jfc@mit.edu>
+
+       * configure.in: Handle Digital UNIX 5.x the same as 4.x.
+       * i386/sol2.h: Define LOCAL_LABEL_PREFIX as ".".
+
+Sun Dec 20 07:39:52 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Dec 19 22:24:22 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Dec 19 21:41:32 PST 1998 Jeff Law  (law@cygnus.com)
+
+       * version.c: Bump for snapshot.
+
+Sat Dec 19 09:52:27 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * genattr.c (fatal): Qualify a char* with the `const' keyword.
+       
+       * genattrtab.c (fatal, attr_printf, attr_string, write_attr_set,
+       write_unit_name, write_eligible_delay, expand_units,
+       make_length_attrs, write_attr_case, find_attr,
+       make_internal_attr): Likewise.
+       * gencheck.c (tree_codes): Likewise.
+       * gencodes.c (fatal): Likewise.
+       * genconfig.c (fatal): Likewise.
+       * genemit.c (fatal): Likewise.
+       * genextract.c (fatal, walk_rtx, copystr): Likewise.
+       * genflags.c (fatal): Likewise.
+       * genopinit.c (fatal, optabs, gen_insn): Likewise.
+       * genoutput.c (fatal, error, predicates): Likewise.
+       * genpeep.c (fatal): Likewise.
+       * genrecog.c (fatal, decision, pred_table, add_to_sequence,
+       write_tree_1, write_tree, change_state, copystr, indents): Likewise.
+
+Thu Dec 17 18:21:49 1998  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (with-fast-fixincludes): Fix whitespace.
+       * configure: Rebuilt.
+
+       * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific
+       asm() etc. function declarations in __DECC.
+
+Thu Dec 17 13:57:23 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * expr.c (emit_move_insn_1): Only emit a clobber if the target
+       is a pseudo register.
+
+Thu Dec 17 13:50:29 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * gcse.c: Include expr.h in order to get the prototype for
+       get_condition() which is used in delete_null_pointer_checks(). 
+
+Thu Dec 17 15:58:26 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * hwint.h: New file to consolidate HOST_WIDE_INT (etc) macros.
+
+Thu Dec 17 12:31:12 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * Makefile.in (INTERNAL_CFLAGS): Add SCHED_CFLAGS.
+       (ALL_CFLAGS): Delete SCHED_CFLAGS.
+
+1998-12-17  Vladimir N. Makarov  <vmakarov@cygnus.com>
+
+       * config/i60/i960.md (extendqihi2): Fix typo (usage ',' instead of
+       ';').
+
+1998-12-17  Michael Tiemann  <tiemann@axon.cygnus.com>
+
+       * i960.md (extend*, zero_extend*): Don't generate rtl that looks
+       like (subreg:SI (reg:SI N) 0), because it's wrong, and it hides
+       optimizations from the combiner.
+
+Thu Dec 17 08:27:03 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (combine_givs_used_by_other): Don't depend on n_times_set.
+
+Wed Dec 16 17:30:35 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * toplev.c (main): Disable optimize_size if a specific
+       optimization level is requested.  Always set optimization
+       level to 2 if -Os is specified.
+
+Wed Dec 16 16:33:04 1998  Dave Brolley  <brolley@cygnus.com>
+
+       * objc/lang-specs.h: Pass -MD, -MMD and -MG to cc1obj if configured with
+       cpplib.
+       * cpplib.c (cpp_start_read): If in_fname is not initialized, try to
+       initialize it using fname.
+
+1998-12-16  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.c (do_include): Treat #include_next in the
+       primary source file as #include plus warning.  Treat
+       #include_next in a file included by absolute path as an
+       error.  fp == CPP_NULL_BUFFER is a fatal inconsistency.
+
+Wed Dec 16 12:28:54 1998  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * cccp.c: Don't define MIN/MAX anymore.
+       * cpplib.c: Likewise.
+       * machmode.h: Likewise.
+       * system.h: Provide definitions for MIN/MAX.
+
+Tue Dec 15 23:47:42 1998  Zack Weinberg  <zack@rabi.phys.columbia.edu>  
+
+       * fix-header.c: Don't define xstrdup here.
+
+Wed Dec 16 05:11:04 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.c (consec_sets_giv): New argument last_consec_insn.
+       (strength_reduce): Provide / use it.
+
+Wed Dec 16 17:24:07 1998  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
+
+       * loop.h (loop_info): New field 'vtop'.
+       * loop.c (check_dbra_loop):  Use loop_info->vtop rather than
+       scanning loop for vtop.
+       * unroll.c (subtract_reg_term, find_common_reg_term): New functions.
+       (loop_iterations): Use them to determine if loop has a constant
+       number of iterations.  Set loop_info->vtop.  Don't subtract
+       common reg term from initial_value and final_value if have a
+       do-while loop.
+
+Tue Dec 15 13:49:55 1998  Jeffrey A Law  (law@cygnus.com)
+
+       * mn10200.md (addsi3 expander): Use "nonmemory_operand" for operand 2.
+
+       * mn10300.md (bset, bclr): Operand 0 is a read/write operand.
+
+       * mn10200.md (abssf2, negsf2): New expanders.
+
+       * mn10300.md (absdf2, abssf2, negdf2, negsf2): New expanders.
+
+Tue Dec 15 11:55:30 1998  Nick Clifton  <nickc@cygnus.com>
+
+       * integrate.c (copy_rtx_and_substitute): If a SUBREG is
+       replaced by a CONCAT whoes components do not have the same
+       mode as the original SUBREG, use a new SUBREG to restore the
+       mode. 
+
+       * emit-rtl.c (subreg_realpart_p): Cope with subregs containing
+       multiword complex values.
+
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cppalloc.c: Add xstrdup here.
+       * cpplib.h: Remove savestring prototype.
+       * cpplib.c: Remove savestring function. s/savestring/xstrdup/
+         throughout. 
+       * cppfiles.c: s/savestring/xstrdup/ throughout.
+
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpplib.c: Make all directive handlers read their own
+          arguments.
+         (struct directive): Remove last two arguments from FUNC
+          member prototype. Remove `command_reads_line' member
+          entirely.
+         (directive_table): Remove initializations of
+          command_reads_line flag.  Pretty-print.
+         (eval_if_expression, do_define, do_line, do_include,
+          do_undef, do_error, do_pragma, do_ident, do_if, do_xifdef,
+          do_else, do_elif, do_sccs, do_assert, do_unassert,
+          do_warning): Take only two args.
+
+         (cpp_define): Call do_define with two args and the text to
+         define stuffed into a buffer.
+         (make_assertion): Call do_assert with two args.
+         (handle_directive): Call do_line with two args. Call
+         kt->func with two args.  Remove command_reads_line
+         processing.
+         (do_define, do_undef, do_error, do_warning, do_pragma,
+         do_sccs): Read the rest of the line here.
+         (do_ident): Gobble rest of line, as cccp does.
+         (cpp_undef): New function.
+         (cpp_start_read): Call cpp_undef instead of do_undef.
+
+1998-12-15  Zack Weinberg  <zack@rabi.phys.columbia.edu>
+
+       * cpphash.h (union hash_value): Remove `keydef' member, add a
+          `struct hashnode *aschain' member for #assert.  
+
+         * cpplib.c (struct tokenlist_list, struct
+          assertion_hashnode): Delete structure definitions.
+          (assertion_install, assertion_lookup, delete_assertion,
+          check_assertion, compare_token_lists, reverse_token_list,
+          read_token_list, free_token_list): Delete functions.
+          (parse_assertion): New function.  
+         (cpp_cleanup): Don't destroy the assertion_hashtable.
+
+          (do_assert): Gut and rewrite.  #assert foo (bar) places
+          entries for `#foo' and `#foo(bar)' in the macro hash table,
+          type T_ASSERT.  The value union's `aschain' member is used
+          to chain all answers for a given predicate together.
+          (do_unassert): Also rewritten.  Take an un-asserted
+          answer off the chain from its predicate and call
+          delete_macro on the hashnode, or walk a predicate chain
+          calling delete_macro on all the entries.
+          (cpp_read_check_assertion): Simply call parse_assertion to
+          get the canonical assertion name, and look that up in the
+          hash table.
+
+       * cpplib.h (ASSERTION_HASHNODE,ASSERTION_HASHSIZE,assertion_hashtab):
+       Removed.
+
+       * cpphash.c (install): Use bcopy instead of an explicit loop
+          to copy the macro name.
+
+       * cppexp.c (cpp_lex): Convert the result of
+          cpp_read_check_assertion to a `struct operation' directly;
+          don't go through parse_number.
+
+Tue Dec 15 18:27:39 1998  J"orn Rennecke <amylaar@cygnus.co.uk>
+
+       * loop.h (struct induction): Delete times_used member.
+       * loop.c (n_times_set): Rename to set_in_loop.  Changed all users.
+       (n_times_used): Rename to n_times_set.  Changed all users.
+       (scan_loop): Free reg_single_usage before strength reduction.
+       (record_giv, combine_givs): Remove handling of times_used member.
+       (combine_givs_used_once): Rename to:
+       (combine_givs_used_by_other) .  Changed all callers.
+
+Tue Dec 15 01:45:26 1998  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c (gen_struct_or_union_type_die): Check AGGREGATE_TYPE_P
+       instead of TREE_CODE_CLASS == 't'.
+       (gen_type_die): Likewise.
+       (scope_die_for): Ignore FUNCTION_TYPE "scopes".
+
+Mon Dec 14 16:23:27 1998  Jim Wilson  <wilson@cygnus.com>
+
+       * real.c (endian): Disable last change unless
+       HOST_BITS_PER_WIDE_INT is greater than 32.
+
+Mon Dec 14 17:13:36 EST 1998  Andrew MacLeod  <amacleod@cygnus.com>
+
+       * output.h (force_data_section): New prototype.
+       * varasm.c (force_data_section): New function to force the
+       data section, regardless of what in_section thinks.
+       * dwarf2out.c (output_call_frame_info): Call force_data_section
+       since varasm may not realize we've changes sections.
+
 Mon Dec 14 14:09:34 1998  Nick Clifton  <nickc@cygnus.com>
 
        * reload1.c (reload): Delete REG_RETVAL and REG_LIBCALL notes