aboutsummaryrefslogtreecommitdiff
path: root/gcc-1.40/ChangeLog
diff options
context:
space:
mode:
authorAndrew Lee <alee14498@protonmail.com>2021-08-15 00:34:05 -0400
committerAndrew Lee <alee14498@protonmail.com>2021-08-15 00:34:05 -0400
commit60cc83bf91bfc9bb02f6304b5d6c8234ba6d210f (patch)
treefdc0be85a1ca35e34c3ae2c805fe9b718e3c1091 /gcc-1.40/ChangeLog
parentdd8dfab51b832a654365ed00c06bf802ff628bfa (diff)
downloadlinux-0.01-distro-60cc83bf91bfc9bb02f6304b5d6c8234ba6d210f.tar.gz
linux-0.01-distro-60cc83bf91bfc9bb02f6304b5d6c8234ba6d210f.tar.bz2
linux-0.01-distro-60cc83bf91bfc9bb02f6304b5d6c8234ba6d210f.zip
Added gccHEADmaster
Diffstat (limited to 'gcc-1.40/ChangeLog')
-rw-r--r--gcc-1.40/ChangeLog7378
1 files changed, 7378 insertions, 0 deletions
diff --git a/gcc-1.40/ChangeLog b/gcc-1.40/ChangeLog
new file mode 100644
index 0000000..c0ce575
--- /dev/null
+++ b/gcc-1.40/ChangeLog
@@ -0,0 +1,7378 @@
+Sat Jun 1 01:10:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * Version 1.40 released.
+
+ * i386.md (divmodsi4, udivmodsi4): Add separate define_expands
+ to force duplicated args into registers.
+
+Thu May 30 00:32:18 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * expr.c (expand_expr):
+ Don't lose volatility of fields in COMPONENT_REF.
+
+ * fixincludes (stdtypes.h): Handle wchar_t like the other types.
+
+Tue May 28 12:34:24 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * cse.c (canon_hash): Don't hash hard regs if SMALL_REGISTER_CLASSES.
+ * tm-i386.h (SMALL_REGISTER_CLASSES): Define it.
+
+ * expr.c (store_one_arg): Set used after calling push_rounding.
+
+ * tm-decstatn.h (CPP_PREDEFINES): Add __ versions of macros.
+
+ * tm-apollo68.h (LIB_SPEC): Renamed from LINK_SPEC.
+
+Sun May 26 00:52:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * cse.c (refers_to_mem_p): Handle constants as addresses.
+
+Thu May 23 12:35:25 1991 John Vasta (vasta at apollo.hp.com)
+
+ * tm-apollo68.h (STARTFILE_SPEC): Remove unneeded
+ conditional and use correct file for ANSI mode.
+ (LIB_SPEC): Deleted.
+ (LINK_SPEC): Specify -e switch.
+
+Wed May 22 14:35:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * tm-i386isc.h (STARTFILE_SPEC): Add missing %s.
+
+ * tm-vaxv.h (ASM_OUTPUT_LOCAL): Use data_section.
+
+Mon May 20 12:38:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * Makefile (float.h): Pass certain vars down to nested make.
+
+ * hard-params.c [NO_LONG_DOUBLE]: Inhibit handling of long double.
+
+ * m68k.md (trunc*): Clear cc if use wider insn.
+
+Sun May 19 14:45:46 1991 Ron Guilmette (rfg at ncd.com)
+
+ * Makefile.in (clean): Delete stage1...stage4.
+ (realclean): Delete cexp.output.
+
+ * fixincludes: Handle BSD43__IO* and BSD43_CTRL like IO* and CTRL.
+
+Sun May 19 15:00:05 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * fixincludes (machine/cpu.h):
+ Create in proper dir. Fix mips/cpu.h too.
+
+Fri May 17 15:41:22 1991 James Van Artsdalen (james at bigtex.cactus.org)
+
+ * tm-i386v4.h (ASM_OUTPUT_COMMON): Don't attempt alignment on a
+ three byte boundary.
+
+Thu May 16 12:46:37 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * expr.c (convert_to_mode): Don't use gen_lowpart on most constants.
+
+Mon May 13 23:42:03 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * expmed.c (store_bit_field, extract_bit_field):
+ Temporarily set volatile_ok when checking predicates.
+
+ * explow.c (force_not_mem): Do nothing for BLKmode.
+
+ * tree.c (real_value_from_int_cst): Add parens to fix misparsings.
+
+Sun May 12 22:39:42 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * tree.c (real_value_from_int_cst): Make MASK unsigned.
+
+Wed May 8 11:19:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * rtl.c (reg_note_name): Put in REG_UNSET. Remove dead ones.
+
+ * tree.c (real_value_from_int_cst): Avoid converting unsigned to float.
+
+ * stor-layout.c (round_size): Cast to int when comparing modes.
+
+ * tm-ultrix.h (CPP_PREDEFINES): Define __vax.
+
+Mon May 6 13:29:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * out-i386.c (fp_top_dead_p1): Look past any number of labels.
+
+ * tm-aix386.h (ASM_FILE_START): Discard directories from .file arg.
+
+Sat May 4 14:36:26 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_SPEC): Always define _HPUX_SOURCE.
+ Move other standard predefs with underscores here.
+ (CPP_PREDEFINES): Standard predefs moved from here.
+
+ * hard-params.c (EPROP): Avoid comparing a with out if bad is 1.
+
+Thu May 2 14:43:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * math-68881.h (pow): Negate x if negative when taking log.
+
+ * c-decl.c (finish_enum): Don't store the enum as the type of any of
+ its enumerator values.
+
+Wed May 1 15:02:15 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * c-decl.c (finish_enum): Rewrite handling of min and max values.
+ Rewrite handling of flag_short enums.
+ * stor-layout.c (round_size): New subroutine.
+
+ * out-i386.c (fp_top_dead_p1): Use mentions_fp_top to check dest.
+
+Tue Apr 30 14:41:58 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * expr.c (expand_call): Copy value to mem via a pseudo.
+
+ * tm-decstatn.h (CPP_PREDEFINES): Define __mips and __LANGUAGE_C.
+
+ * fixincludes (machine/cpu.h): Delete superfluous `static'.
+
+ * Makefile (maketest): Don't stop on error in `if' statement.
+
+Mon Apr 29 12:29:16 1991 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil)
+
+ * cccp.c (hack_vms_include_specification): Modified conversion of
+ unix filenames to VMS filenames, if no VMS device or directory is
+ present and a unix style directory name is present. In this case, use
+ the first unix directory name as the VMS device spec. This is only
+ used in '#include <...>' type includes, when the include file has
+ not been found in the standard locations.
+
+Mon Apr 29 22:18:47 1991 James Van Artsdalen (james at bigtex.cactus.org)
+
+ * tm-att386.h (ASM_OUTPUT_LOCAL): Align static local variables.
+
+Mon Apr 29 13:50:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns): When changing the mode,
+ make a REG, not a SUBREG.
+
+ * out-i386.c (print_operand): For non-'c', print prefix for LABEL_REF.
+
+ * c-decl.c (pushdecl): Just a warning for type of extern not global.
+
+Wed Apr 17 12:44:16 1991 Richard Stallman (rms at apple-gunkies)
+
+ * stmt.c (use_variable, use_variable_after): Handleg subregs.
+
+Sat Apr 13 10:10:28 1991 Eric Youngdale (youngdale@v6550c.nrl.navy.mil)
+
+ * cccp.c (hack_vms_include_specification) Made parsing more
+ intelligent when confronted with something like:
+ "SYS$SYSROOT:[SYSLIB.]/foo.h". Previously this routine would
+ return a file specification that had a syntax error. This example
+ will now parsed to "SYS$SYSROOT:[SYSLIB]foo.h".
+
+Fri Apr 12 02:37:07 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * expmed.c (store_bit_field): Don't die if VALUE is constant
+ for a field bigger than a word.
+
+ * tm-sparc.h (FUNCTION_BLOCK_PROFILER): Must set %o0 to the address
+ LPBX0 by adding in the low part of the address before calling
+ ___bb_init_func.
+
+ * cccp.c (skip_to_end_of_comment): Handle warn_comment.
+
+ * out-m68k.c (output_move_double): Really test HOST_WORDS_BIG_ENDIAN.
+
+ * config.gcc (i386-isc): New target.
+ * tm-i386isc.h: New file.
+
+ * m68k.md (dbra patterns): Use `=' in constraint of op 0.
+
+Sat Mar 30 15:16:16 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * ns32k.md (andcbhi3, andcbqi3): Constraint shouldn't say commutative.
+
+ * tm-mips.h, tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
+ Use CONST_DOUBLE_LOW and CONST_DOUBLE_HIGH.
+
+Fri Mar 29 16:17:59 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * tm-hp9k2bsd.h: New file.
+ * config.h (hp9k200-bsd): New target.
+
+Thu Mar 28 16:31:50 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * tm-vax.h (CHECK_FLOAT_VALUE): Change float max to ...444e+38.
+
+Wed Mar 27 19:57:33 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * integrate.c (access_parm_map): Use /, not %, in setting WORD.
+
+Sun Mar 24 23:47:19 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * gcc.c (store_arg): Use xrealloc.
+ (xrealloc, xmalloc): Change error message.
+
+Sat Mar 23 03:42:20 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * gnulib.c [GNULIB_NEEDS_DOUBLE]: Override FLOAT_ARG_TYPE, FLOATIFY.
+
+Fri Mar 22 00:46:42 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * integrate.c (frame_pointer_sum_p): New function.
+ (copy_rtx_and_substitute): Use that.
+
+ * cccp.c (bzero, etc.): Don't test for BSD--it's never defined.
+
+Tue Mar 19 21:25:52 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu)
+
+ * gstab.h: Renamed from stab.h.
+ * dbxout.c, symout.c, final.c: Include under that name.
+
+ * stddef.h (wchar_t): New typedef.
+
+Sun Mar 17 21:01:56 1991 Richard Stallman (rms@mole.ai.mit.edu)
+
+ * fixincludes (dnetdb.h): Fix missing semi in nodeent.
+ (rusers.h): Code to fix this file was duplicated.
+
+Sat Mar 16 15:25:56 1991 Richard Stallman (rms@mole.ai.mit.edu)
+
+ * toplev.c (compile_file): Write out all static consts that are used.
+
+Thu Mar 14 16:56:03 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-att386.h (ASM_OUTPUT_SKIP): Delete duplicate #define.
+
+ * out-sparc.c (output_block_move):
+ Conditionalize templates at end on NO_UNDERSCORES.
+
+Tue Mar 12 23:48:11 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes: Quote the # in an echo.
+
+Sun Mar 10 20:11:04 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (emit_library_call): Support GNULIB_NEEDS_DOUBLE.
+ * tm-i860.h (GNULIB_NEEDS_DOUBLE): Define it.
+
+Sun Mar 3 15:13:50 1991 Michael Meissner (meissner at osf.org)
+
+ * out-mips.c (function_arg_partial_nregs): Fix passing two
+ structures, each of which contains two doubles to a function which
+ returns a structure -- the problem was caused when the 1.37.1 code
+ was modified to have two fields for the FUNCTION_ARG routines,
+ arg_number which is the number of arguments, and arg_words which is
+ the total number of words passed, instead of the old arg_number
+ which counted the words. The function_arg_partial_nregs routine was
+ returning -1 for the second call. In 1.37.1, the macro
+ FUNCTION_ARG_PARTIAL_NREGS was only called one time, if it returned
+ non-zero. This no longer seems the case for 1.39.
+
+Sun Mar 10 19:06:36 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-harris.h (ASM_FILE_START): Output a .file.
+
+ * tm-mips.h (TARGET_MEM_FUNCTIONS): Define on certain systems.
+
+Fri Mar 8 15:51:15 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gcc.c (delete_temp_files): Delete only ordinary files.
+
+Thu Mar 7 17:51:11 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-typeck.c (build_array_ref): Notice if array expression
+ is const or volatile.
+
+Tue Mar 5 14:21:57 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-decl.c (store_parm_decls): If -traditional,
+ allow unsigned int in prototype in place of int.
+
+ * stmt.c (fixup_gotos): Handle jumping to end of rtl.
+
+ * tm-mips-news.h (DECSTATION): Definition deleted.
+ (MIPS_NEWS): Define it.
+
+ * config.gcc (i860-gas): New target.
+ * tm-i860g.h: New file.
+
+Mon Mar 4 00:39:11 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes: Fix typos handling size_t and ptrdiff_t.
+
+ * out-mips.c: Include sys/types.h.
+
+Sun Mar 3 01:11:46 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (include_defaults, cplusplus_include_defaults):
+ Use CC_INCLUDE_DIR.
+ (CC_INCLUDE_DIR): Define by default as /use/include.
+ * tm-mips.h (CC_INCLUDE_DIR): Define, if MIPS_BSD43.
+ (CPP_SPEC): Don't do -I to handle -ZSYSV, -ZBSD43.
+
+Sat Mar 2 16:22:59 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (expand_call): Use argpos, not i, where appropriate.
+
+Wed Feb 27 15:46:54 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gnulib.c (FLOAT_ARG_TYPE, FLOATIFY): New macros.
+ (__*sf*): Use them for `float' args.
+
+ * stmt.c (fixup_gotos): Check that jump into bindings
+ really comes from before the start of the bindings.
+ Use TREE_REGDECL to indicate error message printed.
+
+Tue Feb 26 15:46:35 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Check for errors before warnings.
+
+Mon Feb 25 20:46:43 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (SDB_NO_FORWARD_REFS): Renamed from MAYBE.
+ (plain_type_1): Don't call sdb_record_type_name if no forward refs.
+
+ * integrate.c (expand_inline_function): Copy REG_USERVAR_P to new regs.
+ (copy_rtx_and_substitute): Likewise.
+
+ * c-typeck.c (digest_init): Handle STRING_CST before same-type case.
+
+ * make-cc1.com, make-cccp.com: Set default dir for batch use.
+
+Sun Feb 24 17:14:09 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-sparc.c (output_fp_move_double): Typo choosing inc_reg.
+ If we use %g1, then put that into the memref.
+
+ * loop.c (check_dbra_loop): Win if loop biv is used only for counting.
+
+Sat Feb 23 13:36:13 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (sdbout_one_type): Changed #ifndef MAYBE controlling
+ call to sdbout_field_types into #ifdef. It seems it was backwards.
+
+ * c-decl.c (grokdeclarator): Error for `signed void', etc.
+ Warning for `signed my_int', and only if pedantic.
+
+Fri Feb 22 12:45:06 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-i386sco.h (STRUCT_RETURN_CALLER_POP): Define it.
+
+ * stmt.c (expand_end_loop): Don't be fooled by notes at loop end.
+
+Thu Feb 21 21:34:12 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-sun2os4.h (LINK_SPEC): New macro.
+ * tm-sun386i.h (LINK_SPEC): Undef before redefining.
+
+Mon Feb 11 00:06:19 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (libg): Rule deleted.
+ (install): Don't create libg.a.
+
+ * out-mips.c (mips_asm_file_start, make_temp_file): New functions.
+ * tm-mips.h (ASM_FILE_START): Use those functions.
+
+ * gcc.c (do_spec_1): Handle %G.
+ (LIBG_SPEC): New macro.
+ (link_spec): Use %G.
+ * tm-mips.h (LIBG_SPEC): Define this as empty string.
+
+Sun Feb 10 23:03:45 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * integrate.c (copy_parm_decls): Set TREE_INLINE before pushdecl.
+
+Sat Feb 9 16:31:28 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (eliminate_biv, can_eliminate_biv_p):
+ For compare insn and constant coeffs, check for overflow.
+ For variable coeffs, or variable endpoint, don't allow inequality.
+
+Fri Feb 8 18:04:43 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (libg): Put one (null) member in the library.
+
+Thu Feb 7 22:20:24 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-i386v4.h (ASM_OUTPUT_COMMON): Override; put alignment in output.
+
+ * tm-news.h (FUNCTION_PROLOGUE): Correct syntax of link insn.
+ (PRINT_OPERAND_ADDRESS): Use period, not colon, before index reg width.
+
+Wed Feb 6 23:59:42 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * config.gcc (mips-sysv): Use xm-umips.h.
+ * tm-mips-sysv.h (TARGET_MEM_FUNCTIONS): Define it.
+
+Tue Feb 5 00:45:58 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-parse.y (combine_strings): Finish fixing wide strings.
+
+ * reload1.c (possible_group_p): New subroutine.
+ (reload): Don't kill last group when looking for a non-group.
+
+ * expmed.c (expand_divmod): If emit a cmp, must copy op0 to a reg.
+
+ * expr.c (expand_builtin): For ffs, get mode from TREE_TYPE.
+
+ * tm-att386.h (ASM_OUTPUT_SKIP): In text seg, make explicit zeros.
+
+Mon Feb 4 17:39:36 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-typeck.c (digest_init): Error if init array with another array.
+
+Sun Feb 3 22:05:40 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * m68k.md (extend QI to HI): Typo in clr insn.
+
+ * c-parse.y (combine_strings): Subtract properly from LEN when copying.
+ (init_lex, yylex): max_wide is now measured in wide chars, not bytes.
+
+Sat Feb 2 12:32:41 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * xm-m68k.h (HOST_WORDS_BIG_ENDIAN): Define it.
+
+Thu Jan 31 00:33:33 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-aix386.h (ASM_OUTPUT_LOCAL): Ok to use bss, since no shared libs.
+ (LINK_SPEC): Pass through all -K and -T options.
+ * xm-aix386.h (TRUE, FALSE): Undef if already def, to avoid warning.
+
+ * c-decl.c (pushdecl): Don't make an extern global for -traditional
+ if it uses any local types.
+
+ * tm-sun386i.h (PCC_BITFFIELD_TYPE_MATTERS): Use 1 as value.
+ (LINK_SPEC): Copy definition from xm-sun386i.h.
+ * xm-sun386i.h (LINK_SPEC): Definition deleted.
+
+ * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Once again always redefine.
+
+Wed Jan 30 16:27:14 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes (sys/stdtypes.h): Edit this to handle _SIZE_T, etc.
+
+Mon Jan 28 12:48:20 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (loop_reg_used_before_p): Scan explicitly, don't use luids.
+
+Thu Jan 24 18:15:08 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (expand_expr, case for ARRAY_REF): Use build_pointer_type.
+
+ * loop.c (strength_reduce): Substitute regs inside some reg notes.
+
+Wed Jan 16 15:34:38 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Version 1.39 released.
+
+ * config.gcc (i386-esix): New alternative.
+ * tm-i386esix.h: New file.
+
+ * expr.c (expand_call): Don't put libcall notes on const function call
+ unless there is a suitable value-copying insn at the end.
+
+ * config.gcc (delta68k): New alternative.
+ * tm-delta68k.h, xm-delta68k.h: New files.
+
+Tue Jan 15 01:37:21 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (scan_loop): Condition for movability was wrong.
+ A reg that isn't necessarily set may be unsafe
+ even if used only inside the loop.
+ However, a reg used only in the same basic block after the set is safe.
+ So is a reg that isn't a user-level variable.
+
+ * combine.c (try_distrib): Don't push + thru negative-count shift.
+ * tm-vax.h (NEGATIVE_SHIFT_COUNT): Define to enable that change.
+
+Mon Jan 14 18:17:58 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * stmt.c (assign_parms) [FIRST_PARM_CALLER_OFFSET]:
+ If that's negative, adjust first_parm_offset rather than
+ stack_args_size for size of structure value address.
+ (Kludge to make sparc work.)
+
+ * fixincludes-V4: Handle #lint.
+
+ * tm-i386sco.h (CPP_PREDEFINES): Get rid of the %-spec.
+ (CPP_SPEC): Override this; handle -scointl here.
+
+Sun Jan 13 23:06:25 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes (sys/file.h): Fix incorrect conditional in Ultrix.
+
+Sat Jan 12 14:25:02 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * i386.md (movsf, movdf): Change constraints to ensure opt reload.
+
+Fri Jan 11 13:22:22 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-tower-as.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP):
+ Use %u.
+ (PUT_SDB_START_DIM): New macro.
+ (PUT_SDB_DIM): Deleted.
+
+ * tm-next.h (LIB_SPEC, STARTFILE_SPEC): Don't support -p.
+
+Thu Jan 10 13:05:46 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-sun2.h (CC1_SPEC): Define to ignore -sun2 and -target.
+ (WORD_SWITCH_TAKES_ARG): Define to recognize -target.
+ (LIB_SPEC): Define; handle -a.
+ * tm-sun3os4.h: New file.
+
+ * tm-mips-news.h (CPP_SPEC): Update include directory version.
+ (MACHINE_TYPE): Change this string.
+
+ * tm-next.h (LIB_SPEC): Use -lsys_s, not -lc.
+
+ * Makefile (gnulib): Depend on config.status.
+
+Mon Jan 7 15:03:53 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-typeck.c (process_init_constructor): Error if values
+ provided for an array of empty elements.
+ Rename variable `error' to `error_flag'.
+
+ * out-i386.c (function_epilogue) [STRUCT_RETURN_CALLER_POP]:
+ Don't pop struct value arg if -fpcc-struct-return.
+ * expr.c (expand_call) [STRUCT_RETURN_CALLER_POP]:
+ Change handling of structure_value_addr.
+
+ * cse.c (cse_insn): In special case for (set REG0 REG1),
+ change any REG_EQUIV notes to REG_EQUAL.
+
+Sun Jan 6 13:51:59 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-sun386i.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
+
+ * out-i386.c (fp_top_dead_p1): Follow jump only if optimizing.
+
+Fri Jan 4 23:17:41 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-att386.h (ASM_OUTPUT_LOCAL): Change back to data section.
+
+Thu Jan 3 13:31:41 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (move_movables): Do reg substitutions on REG_EQUAL, REG_EQUIV.
+
+ * out-i386.c (fp_top_dead_p1): Follow one jump or label.
+
+ * rtl.c (read_rtx): Cast type of NULL vector.
+
+Wed Jan 2 18:59:34 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-i386.c (fp_call_internal): Use fp_top_dead_p1, not top_dead_p.
+ * reload1.c (emit_reload_insns): Undo previous change.
+
+Tue Jan 1 12:01:43 1991 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * integrate.c (expand_inline_function):
+ Handle parms passed in reg but stored in memory.
+
+ * ecoff-cmp: Specify `c' in option to tail.
+
+ * reload1.c (emit_reload_insns) [PRESERVE_DEATH_INFO_REGNO_P]:
+ Move notes to output reload even if dest is reg.
+ Check for notes matching by hard reg, even if different origin.
+ Really scan all the output reload insns.
+
+Mon Dec 31 16:04:11 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * stupid.c (stupid_find_reg): Don't use reg if OVERLAPPING_REGNO_P.
+
+ * i386.md (push for SFmode): Operand of fst was missing.
+ * out-i386.c (fp_call_internal): Discard result if unused.
+
+Sat Dec 29 16:37:10 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (install): Use basename on eachfile; BSD make adds dirs.
+
+ * cccp.c (macroexpand): Test traditional when computing expansion size.
+
+Thu Dec 27 23:42:42 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * reload.c (find_reloads_address_1): For auto-increment, save the reg
+ before replacing it with something being reloaded.
+
+Fri Dec 21 18:31:38 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Version 1.38.
+
+ * tm-i386vgas.h (STARTFILE_SPEC, LIB_SPEC): Deleted.
+
+Sun Dec 16 18:10:20 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-i386vgas.h (ASM_OUTPUT_LABELREF): Do prepend `_' again.
+
+ * tm-sun3.h (ASM_OUTPUT_FLOAT*, ASM_OUTPUT_DOUBLE*):
+ Use double_is_minus_zero to test for -0.0.
+ * out-m68k.c (double_is_minus_zero): New function.
+
+Fri Dec 14 00:57:30 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-sun3.h (ASM_OUTPUT_FLOAT*, ASM_OUTPUT_DOUBLE*):
+ Use `iszero' and `signbit' to check for -0.0.
+
+ * recog.c (offsettable_address_p): Use OFFSETTABLE_ADDRESS_P.
+ * tm-i860.h (OFFSETTABLE_ADDRESS_P): Define this.
+
+Wed Dec 12 16:11:05 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gvarargs.h: Avoid duplicate inclusion using _VARARGS_H.
+
+ * c-decl.c (grokdeclarator): Always promote short even if -mshort.
+
+Tue Dec 11 23:12:51 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (convert_move): Do compare before slt.
+ Handle destination not valid in slt.
+
+Mon Dec 10 00:27:04 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-sparc.c (output_fp_move_double): Bugs in last change:
+ Use adj_offsettable_operand when possible.
+ Choose a reg other than fp to increment.
+
+Sun Dec 9 23:21:05 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (collect_expansion): Don't check for /* */ concat here.
+ (macroexpand): Always use raw arg if traditional.
+
+Wed Dec 5 13:52:16 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * optabs.c (expand_binop): Handle insn_before == 0.
+
+ * Makefile (includes): Export LIB.
+
+Tue Dec 4 21:27:00 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (consec_sets_giv): Give proper type to force, force2.
+
+Mon Dec 3 15:57:19 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (special_symbol): Use time_t as type of t.
+
+Sun Dec 2 16:43:31 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * config.gcc (tower): New alternative.
+ * tm-tower.h, tm-tower-as.h, xm-tower.h: New files.
+
+ * stddef.h (ptrdiff_t): Prevent redefinition, as with size_t.
+ (size_t): Define all the macros used to prevent redefinition.
+
+Fri Nov 30 14:25:49 1990 Michael Meissner (meissner at osf.org)
+
+ * out-mips.c (init_cumulative_args, function_arg_advance,
+ function_arg, function_arg_partial_nregs): Type CUMULATIVE_ARGS is
+ now a pointer to a structure instead of a structure. New field
+ arg_words tracks number of words consumed so far and arg_number just
+ tracks physical numbers of arguments. Make four single precision
+ floating point arguments passed via prototypes use $f12, $f14, $6,
+ and $7, just like mips cc.
+
+ * tm-mips.h (INIT_CUMULATIVE_ARGS, FUNCTION_ARG_ADVANCE,
+ FUNCTION_ARG, FUNCTION_ARG_PARTIAL_NREGS): Type CUMULATIVE_ARGS is
+ now a pointer to a structure instead of a structure, and storage is
+ allocated via alloca.
+
+Thu Nov 29 22:03:57 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-vax.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+
+Tue Nov 27 12:03:36 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Don't alter if already set.
+
+Tue Nov 27 12:28:45 1990 Michael Meissner (meissner at osf.org)
+
+ * out-mips.c (function_arg, function_arg_advance): Pass single
+ precision floating point numbers to prototyped functions by assuming
+ only one word is passed rather than two unless the argument is
+ passed in a floating point register. This behavior matches the MIPS
+ C compiler.
+
+ * tm-mips.h (CPP_SPEC): Add -D_MIPSEB -D_SYSTYPE_SYSV -D_LANGUAGE_C
+ to SGI's CPP_SPEC.
+ (MIPS_DEBUGGING_INFO): New macro.
+ (PUT_SDB_*): Write debug information to the temporary file that
+ buffers the text section, instead of using the current output file.
+
+ * tm-iris.h (CPP_PREDEFINES): Move -D_LANGUAGE_C from CPP_PREDEFINES
+ to CPP_SPEC since it's in the compiler name space, -ansi should not
+ disable it.
+
+Mon Nov 26 18:37:39 1990 Michael Meissner (meissner at osf.org)
+
+ * mips.md (stack compressor peephole): Remove check against
+ stack_args_preallocated, since nobody sets it.
+ (anonymous add/subtract patterns): Explicitly use the assembler
+ temporary register if adding/subtracting a constant that won't fit
+ in 16 bits -- Silicon Graphics asm complains.
+ (fix_truncdfsi2, fix_truncsfsi2) Rewrite so that optimization of
+ repeated conversions of the same number do not generate an insn not
+ found error message (the generated insn was optimized to a gp->gp
+ register move inside of a parallel with a clobber of a hard fp
+ register). The new insns describe the machine more faithfully, and
+ allow things like clobbering the fp register containing the value,
+ if it is the last use rather than using a specific hard register.
+ (fixuns_truncsfsi2, fixuns_truncdfsi2): New patterns to
+ automatically convert {single,double} precision to unsigned.
+ (anonymous move df/sf patterns): Put the operands to mfc1 in the
+ order the assembler likes them (always put gp reg first, even if
+ moving from gp register to fp register).
+ (wild_insn): Remove bogus insn which is commented out.
+ (jump): Remove TARGET_PIC code for now.
+
+ * out-mips.c (toplevel, function_epilogue, mips_asm_file_end,
+ mips_output_external): If optimizing for the global pointer, emit
+ all code after processing the entire program, rather than emitting
+ the code at the end of the function. Also, properly sized .extern's
+ are emitted for variables that are not defined in the current
+ module. This is because the MIPS assembler uses single pass
+ semantics, and will emit a 2 instruction sequence for externals it
+ doesn't know anything about, and GCC emits data definitions at the
+ end of the program. You can't just emit a properly sized .extern
+ either, because the assembler will complain if it sees an .extern
+ followed by a definition. The ADDRESSABLE bit in the identifier
+ node for the external name is used to indicate whether a definition
+ for the name exists or not. This replaces code which told the
+ assembler to preprocess the source, and include the same source
+ twice.
+ (sym_lineno): Add a new variable to keep trace of labels emitted
+ after each .loc for Silicon Graphics.
+ (function_prologue, function_epilogue, toplevel): Explicitly use
+ temporary registers for stack frames > 32K, since the Silicon
+ Graphics system doesn't automatically use $at if the value overflows,
+ also save an instruction or two for large stack frames.
+ (init_cumulative_args): Fix to work with the method types G++
+ produces as well as normal function types.
+ (compare_collect): In debug code, print the mode symbolically.
+ (trace): Take two additional arguments which are passed to fprintf.
+ (override_options): Remove unsupported -mpic code.
+
+ * tm-decstatn.h (toplevel): Add a GNU copyright.
+
+ * tm-iris.h (toplevel): Add a GNU copyright.
+ (CPP_SPEC): If -ansi, define __EXTENSIONS__.
+ (SGI_TARGET): Define this for other mips files.
+ (LABEL_AFTER_LOC): New macro to put a label after .loc.
+ (SET_FILE_NUMBER): New macro to force .file/.loc file # to be 1.
+ (ADJUST_STACK_SIZE): Don't deal with variable arguments.
+
+ * tm-mips.h (*_SPEC): Add #ifdef's so other files can define their
+ own, without #undef.
+ (LINK_SPEC, ASM_SPEC): Pass -EB/-EL to assembler, linker so cross
+ compilers can be made from little endian mips to big endian mips and
+ vica versa. Generate an error message if the wrong flag is used.
+ Do not pass -EB/-EL to Silicon Graphics assembler/linker.
+ (CPP_SPEC, MACHINE_NAME): Add Silicon Graphics defaults.
+ (MIPS_TEMP?_REGNUM): New macros for temporary registers used in the
+ prologue and epilogue if the stack frame is > 32K.
+ (ASM_OUTPUT_LABEL): If optimizing the global pointer, set the
+ addressable bit in the indentifier node, so that mips_asm_file_end
+ and mips_output_external can figure out if a particular identifier
+ really is external to the compiliation unit.
+ (ASM_OUTPUT_COMMON): Same change as ASM_OUTPUT_LABEL.
+ (ASM_OUTPUT_LOCAL): Same change as ASM_OUTPUT_LABEL.
+ (MACHINE_TYPE): Key off of OSF_OS and SGI_TARGET macros.
+ (TARGET_DEFAULT): For OSF/1 make -mgas and -G 0 default.
+ (STACK_POINTER_OFFSET): Define as 0.
+ (external variables): Declare flag_omit_frame_pointer,
+ sdb_label_count, mips_section_threshold, and sym_lineno.
+ (STACK_ARGS_ADJUST): Protect with an #ifndef.
+ (FUNCTION_PROFILER): Talk to the MIPS profiling routines the same
+ way the MIPS compiler does.
+ (INDIRECTABLE_ADDRESS_P): Allow disp+reg in addition to reg+disp.
+ (ASM_FILE_START): If optimizing for the global pointer, create a
+ temporay stream to hold text until program ends. Put gcc_compiled.
+ in the data section.
+ (ASM_DECLARE_FUNCTION_NAME): Switch file streams used to the text
+ stream if optimizing for the global pointer.
+ (ASM_FILE_END): New macro to invoke mips_asm_file_end function.
+ (ASM_OUTPUT_SOURCE_LINE): Invoke macro LABEL_AFTER_LOC after .loc,
+ so that Silicon Graphics can put out a label after each .loc.
+ (ASM_OUTPUT_SOURCE_FILENAME): Invoke macro SET_FILE_NUMBER to set
+ the file number, so Silicon Graphics can hardwire this to 1.
+ (LABEL_AFTER_LOC, SET_FILE_NUMBER): Provide defaults if not Silicon
+ Graphics.
+ (ASM_OUTPUT_ASCII): Assign parameter to local variable, and remove
+ special \a, \v support.
+ (ASM_OUTPUT_IDENT): Dump #ident directives into .data.
+
+Mon Nov 26 16:50:57 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (main): Handle -w.
+ (warning): Do nothing if -w.
+ * gcc.c (compilers): Pass -w to cpp.
+
+Sun Nov 25 16:37:10 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (emit_push_insn): Don't pad at all if space already allocated
+ and padding is upward.
+
+ * gcc.c (do_spec_1): Handle %W{...}.
+ (compilers): Use %W{...} when passing -o option.
+
+Sat Nov 24 16:50:11 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * va-mips.h (va_list): Don't typedef if _VA_LIST_ is defined.
+
+Wed Nov 21 15:57:48 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (expand_expr, expand_assignment):
+ Check for TREE_THIS_VOLATILE in ARRAY_REF.
+ expand_assignment failed to handle volstruct at all.
+
+Tue Nov 20 17:47:22 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-sparc.c (output_fp_move_double): Handle reg+reg address
+ when moving each word separately.
+
+ * ns32k.md (addsi3): Don't use `addr' for very large displacements.
+
+ * recog.c (address_operand): Don't allow volatile mem as indirect.
+
+Mon Nov 19 14:55:44 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-sparc.c (output_fp_move_double): Don't assume arrays are aligned.
+
+Sun Nov 18 19:21:10 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (emit_push_insn): set extra to 0 once the padding is done,
+ to avoid padding twice.
+
+Thu Nov 15 21:56:07 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * math-68881.h (HUGE_VAL): Add extra braces on Sun.
+
+Wed Nov 14 14:30:29 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Don't ignore prototype if -traditional.
+
+Tue Nov 13 18:16:47 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-i860.c (output_block_move): Move .Lm%3 down one insn.
+
+Wed Nov 7 00:01:18 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-parse.y (component_decl_list): Allow missing semi at end.
+
+Tue Nov 6 20:49:57 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (expand_builtin): For ffs, use mode of operand.
+
+ * xm-iris.h (alloca): Don't define it.
+ * tm-iris.h (CPP_SPEC): Define variant symbols starting with _.
+ Define __EXTENSIONS__.
+
+ * config.gcc (editing .gdbinit): Search current dir, not just srcdir.
+
+Sun Nov 4 12:55:03 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * i386.md (extend*): Take out last change.
+ Unix assembler rejects movsx...
+
+ * expr.c (expand_expr): Special case for ignored volatile
+ failed to return.
+
+Fri Nov 2 15:30:48 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * va-i860.h (_VA_LIST): New macro avoids duplicate typedefs.
+
+ * gnulib2.c (__builtin_saveregs): Add version for i860.
+
+ * out-i860.c (output_block_move): Rearrange the copy loop.
+ Now uses two labels and a more complicated lead-in.
+
+Thu Nov 1 18:15:11 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * config.gcc (sun3, etc.): Assume os4 as default for Sun 3 and Sun 4.
+
+ * math-68881.h (HUGE_VAL): Alternate definition for Suns.
+
+ * tm-i386v.h (STARTFILE_SPEC, LIB_SPEC): Handle -posix.
+ (CPP_SPEC): New macro.
+ (LIB_SPEC): Handle -shlib.
+
+Wed Oct 31 22:12:33 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * config.gcc (ultrix): New alternative.
+
+ * i386.md (extend*): Change opcode to movsx. Was movs.
+
+Tue Oct 30 17:03:46 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-aix386.h (ASM_FILE_START): Don't do .noopt or .optim.
+
+ * cccp.c (make_definition): Convert newline to newline-newline.
+
+Mon Oct 29 11:43:46 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes: Fix missing semi in rusers.h.
+
+Sun Oct 28 17:23:50 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (macarg1): Don't skip the char after */.
+
+ * Makefile: Put an `else' in every shell `if'.
+
+ * m68k.md (zero-extend QI): Use gen_rtx, not change_address.
+
+ * Makefile (USER_H): List va-*.h explicitly.
+ (toplev.o): Depend on RTL_H.
+ (expr.o): Depend on typeclass.h.
+ (stamp-*): Depend on move-if-change.
+ (install): Depend on various header files and gcc.1.
+ (gcc.o): Depend on gvarargs.h and obstack.h.
+
+ * i860.md (movsf): Handle moving CONST_DOUBLE to cpu reg.
+
+Fri Oct 26 11:16:03 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (libg): Add else to the if.
+
+Thu Oct 25 21:17:05 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * integrate.c (access_parm_map): Handle refs to all words of DF reg.
+
+Wed Oct 24 13:50:13 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-typeck.c (build_array_ref): Use main variant for value type.
+
+ * expr.c (expand_expr): For ARRAY_REF, preserve const and volatile.
+
+ * cccp.c (macarg1): Skip the */ that ends a comment.
+
+ * cccp.c (rescan): Use newline_fix testing for comments before #.
+ (handle_directive): Likewise, in comments before directive name.
+ (rescan): Process macro when terminated by comment.
+ Ignore backslash-newline in C++ comment.
+
+Tue Oct 23 20:35:13 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (collect_expansion): Remove newline from error message.
+ Error for ## at beginning or end of definition.
+
+ * m68k.md (zero-extend QI): When pushing, store value at 1(sp).
+
+Mon Oct 22 13:07:31 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (rescan): In the loop that handles numbers, discard \newline.
+
+ * cccp.c (S_ISREG): Fix typo: do use the argument.
+
+ * xm-sparc.h (alloca.h): Don't include if alloca already defined.
+
+Sun Oct 21 16:28:04 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * reload.c (find_equiv_regs): Reject reg that overlaps goal.
+
+ * expmed.c (extract_bit_field): For big fields, make sure
+ value really goes in the target.
+
+Fri Oct 19 13:21:25 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fold-const.c (split_tree): Use NEGATE_EXPR to negate *conp.
+
+ * expr.c (emit_push_insn): Allow const0_rtx for multi-word constant.
+
+Thu Oct 18 17:38:17 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * reload1.c (choose_reload_regs): Cast reg class used as index.
+
+Wed Oct 17 00:21:25 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * stmt.c (push_structure_value, pop_structure_value): New fns.
+ * expr.c (expand_call): Use them if structure value needed.
+
+ * gcc.c (do_spec_1): Null-terminate error message.
+
+ * sdbout.c (sdbout_symbol): Handle subreg as DECL_RTL.
+ This happens for vars from the parms of inline functions.
+ * dbxout.c (dbxout_symbol): Likewise.
+
+Tue Oct 16 13:22:05 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expmed.c (extract_bit_field, store_bit_field):
+ Handle fields wider than a word.
+ Restrict special case for word-sized field to aligned words.
+
+ * stddef.h (size_t): Also inhibit if _SIZE_T_.
+
+ * cccp.c (macarg1): If traditional, let backslash quote always.
+
+ * fixincludes (CTRL): Don't put quotes around a quote.
+
+Sun Oct 14 21:28:32 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * flow.c (life_analysis): No hard regs for any pseudos live at setjmp.
+
+ * c-decl.c (duplicate_decls): Don't suppress warning for fn defn
+ after implicit declaration, if fn has already been defined.
+
+Thu Oct 11 13:15:36 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (saveregs_value): New variable.
+ (init_expr): Init the variable.
+ (expand_builtin): Don't call __builtin_saveregs twice in one function.
+
+ * va-*.h: Rename all structure fields to start with __.
+ * va-pyr.h: Rename variables also.
+ (va_start): Delete the unmatched {.
+ (va_end): Now a nop.
+
+Wed Oct 10 22:01:59 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * va-sparc.h (__va_ctl): Rename fields to start with __.
+
+Tue Oct 9 14:47:53 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * flow.c (propagate_block): Include NOTE at end of block in scan.
+
+ * fixincludes: Fix missing semicolon in rstat.h.
+
+Mon Oct 8 13:09:40 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (eliminate_biv): Handle mult_val < 0 by reversing compare.
+
+ * cccp.c (main): Handle .S when removing suffix for deps output.
+
+Sun Oct 7 23:33:24 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-i386v.h (STARTFILE_SPEC): Handle -p here.
+ (LIB_SPEC): Not here.
+
+Sun Sep 30 21:35:52 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * print-tree.c (print_node_brief): Declare i for printing REAL_CST.
+
+Sat Sep 29 18:40:08 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * fixincludes: For link pointing outside /usr/include,
+ use $x rather than $dest.
+
+Wed Sep 26 12:44:54 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-mips-news.h: New file.
+
+ * out-i860.c (output_size_for_block_move): Don't decrement.
+ (output_block_move): Decrement initial storing address instead.
+
+ * c-parse.y (yylex): Always try unsigned int if `u' is written.
+
+ * tm-seq386.h (LINK_SPEC): Define it.
+
+ * c-typeck.c (build_unary_op): Don't let &* make an lvalue.
+
+Sun Sep 23 14:59:21 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (S_ISREG): Define it unless overridden.
+ (main, finclude): Use that.
+
+ * reload1.c (reload): If insn after a function call uses the
+ function value, and that reg is spilled, and the insn might
+ use it for reloading, add an extra need.
+ (reload_as_need): Detect such insns for new arg to choose_reload_regs.
+ (choose_reload_regs): In that case, don't choose function value reg.
+
+ * tm-convex1.h, tm-convex2.h (CPP_SPEC): Define __NO_INLINE_MATH.
+
+Sat Sep 22 14:01:00 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tree.c (build_index_type): Don't hash variable-bound type.
+
+ * tm-aix386.h (LIB_SPEC): Different library name for -p. Always -lc.
+ (LINK_SPEC): Don't pass -lg or -g.
+ (CPP_PREDEFINES): Define _I386 and _AIX; don't define unix.
+ (SDB_DEBUGGING_INFO): Define it.
+ (DBX_DEBUGGING_INFO): Undefine it.
+ (ASM_FILE_START): Output .noopt if not optimizing.
+ (PCC_BITFIELD_TYPE_MATTERS): Define it.
+ (FUNCTION_PROFILER): Add definition.
+
+Thu Sep 20 13:16:39 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-hp9k320.h (PROFILE_BEFORE_PROLOGUE): Define it.
+ (FUNCTION_PROFILER): Don't redefine if not HPUX_ASM.
+
+Tue Sep 18 22:46:02 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (sdbout_one_type): Don't output undefined structs, etc.
+
+Mon Sep 17 13:35:45 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * mips.md (movdf): Move words in opposite order if overlap.
+
+Sun Sep 16 16:27:29 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * toplev.c (rest_of_decl_compilation): Output TYPE_DECL here for sdb
+ only if top_level.
+
+ * expr.c (expand_builtin): Error for __builtin_nextarg
+ if function definition doesn't have `...'.
+
+ * c-typeck.c (build_conditional_expr): Don't skip arg promotion.
+
+Fri Sep 14 17:26:59 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (plain_type_1): Save up array dims on the way out
+ in the reverse order.
+ (plain_type): Print the innermost ones, reversing them.
+
+Thu Sep 13 16:00:05 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gstdarg.h: New name for stdarg.h.
+ * Makefile (install): Rename gstdarg.h while installing it.
+
+ * fixincludes: Discard `.' from value of `files'.
+
+ * sdbout.c (PUT_SDB_LAST_DIM): Get rid of SDB_DELIM.
+ (plain_type): Output accumulated array dims and size.
+ (plain_type_1): Eliminate arg NOSIZE. Save up dims and size.
+ Call self rather than plain_type for pointers and functions.
+ (sdbout_array_type, sdbout_array_depth): Functions deleted.
+
+Wed Sep 12 18:47:30 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expmed.c (expand_divmod): Use divmod insn for divide if appro.
+
+Tue Sep 11 13:24:58 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gnulib.c (_bb_init_func): Library member now named _bb.
+
+Mon Sep 10 13:07:39 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (plain_type_1): New argument NOSIZE. Inhibits size output.
+ (sdbout_array_type): Call plain_type_1 directly; set NOSIZE.
+
+ * sdbout.c (sdbout_array_type): New argument DEPTH.
+ Don't output more than SDB_MAX_DIM dimensions.
+ (sdbout_array_depth): New function.
+ (plain_type_1): Start DEPTH by calling sdbout_array_depth.
+
+Sun Sep 9 18:05:56 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-mips.h (CPP_SPEC): Error for -EL and -EB.
+
+ * sdbout.c (plain_type_1): Test KNOWN_TYPE_TAG with TREE_ASM_WRITTEN.
+ (sdbout_symbol): Call sdbout_one_type before the switch.
+ (sdbout_field_types): Look at targets of pointers.
+ (sdbout_one_type): Call sdbout_field_types.
+
+ * stor-layout.c (layout_record): Update size_unit adding var to var.
+
+ * tm-i386v4.h: New file.
+
+Fri Sep 7 13:10:24 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (STDC_VALUE): New macro, defaulting to 1.
+ (intialize_builtins): Use that.
+
+ * print-tree.c (print_node): Correct first_rtl for SAVE_EXPR.
+
+ * m68k.md (movqi): `st' does not set cc's.
+
+Wed Sep 5 16:18:04 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (includes): Use proper directory.
+
+Tue Sep 4 13:01:37 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-decl.c (store_parm_decls): Let extra_warnings control
+ warnings about parms not declared.
+
+ * local-alloc.c (block_alloc): Don't try to lower qty_birth
+ if reg_qty is negative.
+
+ * flow.c (life_analysis): Move code to detect stack-adjust insns.
+ It was unreachable.
+
+ * reload1.c (reload): Don't complete group with explicitly used reg.
+
+Mon Sep 3 14:37:41 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * Makefile (RANLIB): Don't specify the directory.
+
+ * local-alloc.c (reg_classes_overlap_p): Cast enums to ints.
+
+Fri Aug 31 17:09:38 1990 Michael Meissner (meissner at osf.org)
+
+ * mips.md (anonymous add insn before addsi3): Allow offsets from the
+ frame pointer to be >16 bits, just like the stack pointer. This is
+ to prevent insn's not found generated when optimizing programs that
+ have stack frames more than 32K, and the optimizer wants to load the
+ address of an array into a register, it does so by generating a PLUS
+ insn with the appropriate offset. This PLUS insn is never checked
+ to see if the machine can handle the offset.
+ (anonymous subtract insn before subsi3): same change as above.
+ (addsi3): Don't accept large constants with a !n constraint. Just
+ reject any large constants, the anonymous add pattern before addsi
+ will catch references to the stack and frame pointers.
+ (subsi3): Same change as addsi3.
+
+Sat Sep 1 16:14:31 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * expr.c (convert_move): Don't forget to set `target'.
+
+Fri Aug 31 14:37:36 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (sdbout_begin_block): Delete excess arg to sdbout_block.
+
+Wed Aug 29 17:01:55 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * local-alloc.c (combine_regs): Don't combine regs if classes
+ fail to overlap usefully, if either reg says preferred or nothing.
+ (reg_classes_overlap_p): New function.
+
+Tue Aug 28 21:28:54 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * sdbout.c (plain_type_1): Output .dim X,Y...; for multi-dim array.
+ (sdbout_array_dim): New recursive subroutine.
+ (PUT_SDB_DIM): Macro eliminated.
+ (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): New macros.
+ * tm-3b1.h: Override PUT_SDB_START_DIM.
+
+Sun Aug 26 21:28:20 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cccp.c (make_definition): Eliminate any backslash-newline.
+
+Sat Aug 25 17:20:47 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * tm-att386.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): New macros.
+ (BSS_SECTION_ASM_OP): New macro.
+ (ASM_OUTPUT_LOCAL): Call bss_section, don't just print .bss.
+
+Fri Aug 24 17:16:28 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * cse.c (rtx_cost): Cost of MEM depends on number of words.
+
+ * i860.md (movsf, movdf): Allow moving G to m in constraints.
+ * tm-i860.h (CONST_COSTS): Make SFmode constant cheaper.
+
+Thu Aug 23 14:19:20 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-typeck.c (digest_initializer): No pedantic warning for string
+ and array of unsigned char.
+
+ * tree.c (get_identifier): Do id_clash_len stuff if length equals that.
+
+Wed Aug 22 15:06:11 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * loop.c (scan_loop): Don't use REG_EQUAL notes as invariants
+ unless they come with REG_RETVAL notes.
+
+Tue Aug 21 20:03:51 1990 Michael Meissner (meissner at osf.org)
+
+ * Makefile (install): Add code to build libg.a if it doesn't exist
+ when installing GCC.
+
+ * out-mips.c (toplevel): add external declaration for asm_out_file,
+ and 2 new FILE *'s (asm_out_data_file, asm_out_text_file) so we can
+ switch between two files when optimizing for the global pointer.
+ Also add a structure type to hold the linked list of externs that
+ GCC wishes to emit.
+
+ Everything between the function prologue and epilogue are written to
+ a temporary file, which is written to the normal output file after
+ the entire program is processed. This is needed because the MIPS
+ assembler assumes that all externals should be referenced with a 2
+ instruction sequence instead of the faster 1 instruction sequence
+ off of the GP, unless a proper .extern proceeds any use. We can't
+ emit the .extern because the assembler will complain if later there
+ is a definition for the variable, such as GCC puts out at the end of
+ the program.
+
+ (compare_collect): print mode symbolically in debug code.
+
+ (mips_output_external): Remove code which used the preprocessor to
+ handle the global pointer, and remember all externs in a linked list
+ for use at the end of the program.
+
+ (mips_asm_file_end): If optimizing the global pointer, emit all
+ externals which don't have definitions as the appropriate sized
+ .extern, and then emit the code for functions that was written to a
+ temporary file, so that the code comes after the appropriate
+ definition or declaration.
+
+ (function_epilogue): If optimizing for the global pointer, switch
+ the current output file to the data file after all of the epilogue
+ is written out.
+
+ * tm-mips.h (ASM_SPEC): Duplicate ASM_SPEC into 2 #ifdef sections (one
+ for the little endian DECstation, and the other for everybody else
+ who uses the MIPS in a big endian mode), and pass the appropriate
+ -EL and -EB switches to the assembler. This allows building a cross
+ compiler for a different endian MIPS.
+
+ (LINK_SPEC): Pass -EL and -EB to linker, just like ASM_SPEC.
+
+ (MACHINE_TYPE): For DECstation, specify "Ultrix Dec Mips" instead of
+ just "Dec Mips".
+
+ (FUNCTION_PROFILER): Call _mcount in the appropriate MIPS fashion.
+
+ (ASM_FILE_START): If optimizing for the global pointer, open a
+ temporary file to write the code to (see out-mips.c above).
+
+ (ASM_DECLARE_FUNCTION_NAME): If optimizing for the global pointer,
+ switch the current output file to asm_out_text_file.
+
+ (ASM_OUTPUT_COMMON): Remove the old code which used the preprocessor
+ to optimize for the global pointer.
+
+Tue Aug 21 17:44:49 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * make-cc1.com: Compile and link version.c.
+
+ * expr.c (convert_move): Handle expand_unop retval not same as target.
+
+ * reload.c (find_reloads): For register letters, don't win if BLK.
+
+ * flow.c (mark_set_1, mark_used_regs): Update reg_first_use.
+ (allocate_for_life_analysis): Allocate and clear it.
+ * local-alloc.c (block_alloc): Calculate INSN_MAP.
+ Get first use of each reg from reg_first_use.
+
+ * tm-vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Distinguish C from C++.
+ (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Add a const data section.
+ (ASM_OUTPUT_EXTERNAL): Use that section.
+ (SELECT_SECTION): Go to that section when appropriate.
+
+Mon Aug 20 13:00:53 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * gcc.c (process_command): Split -oFOO into two arguments.
+
+ * out-mips.c, tm-mips.h: Changes by Meissner.
+
+ * stmt.c (expand_asm_operands): Handle COMPONENT_REF and
+ ARRAY_REF directly as output operands. Avoids crash if BLKmode.
+
+ * tm-i386vgas.h: New file, copied from tm-i386gas.h.
+ (ASM_OUTPUT_LABELREF): Eliminate leading underscores.
+ (STARTFILE_SPEC, LIB_SPEC): Define as in tm-i386v.h.
+ (PCC_BITFIELD_TYPE_MATTERS): Likewise.
+ * config.gcc (i386-sysv-gas): Use the new file.
+
+ * tm-i860.h (PRINT_OPERAND): Convert double to float
+ for SFmode operand.
+ (PRINT_OPERAND_EXTRACT_FLOAT): New macro.
+
+Sun Aug 19 17:23:10 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * c-parse.y (lineno): Delete definition--it's in toplev.
+
+ * output.h: Make all variables extern.
+
+ * tm-hp9k320bsd.h (CPP_SPEC): Def __HAVE_68881__ like __HAVE_FPU__.
+
+ * fixincludes: Handle uses of _IO* followed by spaces.
+ Change redirections for cd when testing that directory exists.
+
+Thu Aug 16 22:44:35 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-sparc.c (output_scc_insn): Clear CC_IN_FCCR after
+ operation since setting a register to the result of a
+ floating-point comparision affects the INTEGER condition code
+ register.
+
+ * stmt.c: fixup_gotos must ignore blocks started after the goto.
+ (block_start_count): New variable, and slot in some structures.
+ (expand_function_start): Initialize it.
+ (expand_start_bindings): Increment it and store in struct nesting.
+ (expand_goto): Store it in struct goto_fixup.
+ (fixup_gotos): Compare fixup's count with block's count.
+
+Wed Aug 15 16:46:04 1990 Richard Stallman (rms at mole.ai.mit.edu)
+
+ * out-i860.c (output_size_for_block_move): Do subtract ALIGN.
+
+Mon Aug 13 17:45:13 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Typo testing offset alignment.
+
+ * config.gcc (sun3-mach): New alternative.
+ * tm-sun3mach.h: New file.
+
+ * m68k.md (bfextu patterns): Set CC_NOT_NEGATIVE.
+
+Sun Aug 12 14:25:23 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tree.h (enum built_in_function): Delete comma after last name.
+ * c-parse.h (enum rid): Likewise.
+ * expr.h (enum optab_methods): Likewise.
+
+ * config.gcc (genix): Set target_machine.
+ * tm-genix.h (ASM_OUTPUT_DOUBLE): New overriding definition.
+
+Thu Aug 9 15:19:17 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_SPEC): Define _HPUX_SOURCE if not ANSI.
+ (CPP_PREDEFINES): Don't define it here.
+ Do define alternatives with __ prepended.
+
+ * tm-mips.h (CPP_SPEC): Don't do -I if -nostdinc.
+
+Wed Aug 8 13:35:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (do_define, do_undef): Warn if macro name is `defined'.
+
+ * tm-mips.h (ASM_INT_OP): Add missing space.
+
+ * tm-sun386i.h (ASM_IDENTIFY_GCC): If profiling, put a NOP after
+ gcc_compiled.
+
+Tue Aug 7 12:19:46 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-mips.c (need_ent_after_loc): Variable deleted.
+ (function_prologue): Output initial .ent and initial label.
+ * tm-mips.h: Add extern declarations.
+ (ASM_SPEC): No -nocpp if optimizing.
+ (STACK_ARGS_ADJUST): Round size up to 16. Nothing else.
+ (PRINT_OPERAND_ADDRESS): Eliminate irrelevant things
+ such as scaled indexing.
+ (ASM_OUTPUT_SOURCE_FILENAME): Simplify code.
+ (ASM_OUTPUT_SOURCE_LINE): Flush code to handle need_ent_after_loc.
+ (ASM_DECLARE_FUNCTION_NAME): Likewise.
+ (*_SECTION_ASM_OP): Delete the \n.
+
+ * pyr.md (extendsfdf2, truncsfdf2, float*, fix*): Use `&'.
+
+Mon Aug 6 12:46:07 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Don't warn if initialized fcn is extern.
+ (start_decl): Don't warn at all for initialized extern.
+
+ * final.c (final_start_function): Handle PROFILE_BEFORE_PROLOGUE.
+ (profile_function): New subroutine.
+
+ * tm-i386sco.h: New file.
+ * config.gcc (i386-sco): New alternative.
+
+Sun Aug 5 12:36:46 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_record, layout_union): Test value of
+ PCC_BITFIELD_TYPE_MATTERS for being nonzero, if it is defined.
+ * tm-*.h: Define with value 1.
+ * tm-vax.h (PCC_BITFIELD_TYPE_MATTERS): Depends on -mvaxc-alignment.
+
+ * proto.h: New file.
+ * Makefile.in (USER_H): Add that file.
+
+ * loop.c (other_reg_use_p): Change && to || in test at beginning.
+
+Fri Aug 3 00:18:35 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (ENDFILE_SPEC): New macro.
+ (do_spec_1): Handle %E.
+ (link_spec): Use %E.
+
+ * xm-i386.h (alloca): Define without arg.
+
+ * Makefile (RANLIB): New var, used in various places.
+
+ * gnulib2.c (__bb_init_func): Add dummy function to prevent warning.
+
+ * Makefile (install): Look for ranlib in both places.
+ (stage1, ...): Likewise. And run ranlib even after ln.
+
+Tue Jul 31 23:59:45 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-encore.h (FUNCTION_PROFILER): Override, putting `.' in label.
+
+Mon Jul 30 13:52:45 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gnulib2.c (__floatdidf): Fix typo.
+
+Sun Jul 29 16:05:27 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-vms.h (ASM_OUTPUT_EXTERNAL): Check TREE_READONLY.
+
+ * xm-vms.h (alloca): Use built-in alloca.
+
+Fri Jul 27 15:07:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst): Handle (ASHIFT 1 x) in (EQ (AND ... y) 0)
+ only if little-endian.
+
+Thu Jul 26 17:22:56 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (ASM_OUTPUT_SOURCE_LINE): Delete pic stuff (was for v2).
+
+ * fold-const.c (rshift_double): Reset carry after each shift of
+ one bit.
+
+Wed Jul 25 16:21:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-vms.h (ASM_OUTPUT_EXTERNAL): Use assemble_name.
+
+Tue Jul 24 15:35:04 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (build_binary_op_nodefault): Allow compare of any
+ pointer with const void *, etc.
+
+ * reload1.c (reload): Don't use fixed reg or frame pointer in group.
+
+ * c-decl.c (grokdeclarator): Error for initialized parm.
+
+Mon Jul 23 14:33:53 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (install): chmod only the header files.
+
+Sat Jul 21 13:58:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (O_RDONLY): Define it if not defined.
+
+ * c-decl.c (finish_decl): No error for nonstatic incomplete array.
+
+Sat Jul 14 14:59:33 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (compilers): Pass -P to cpp.
+
+ * tm-mips.h (ASM_OUTPUT_SOURCE_LINE): Handle TARGET_GAS, TARGET_PIC.
+
+Thu Jul 12 12:28:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED.
+
+ * stmt.c (group_case_nodes): Don't group across an overflow.
+
+ * combine.c (subst, case LSHIFT): Use gen_lowpart_for_combine.
+
+Wed Jul 11 15:17:32 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst, case LSHIFT):
+ Fix condition for (lshift ... (sign_extend ...)).
+
+Tue Jul 10 17:02:54 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (pushdecl): No shadow warning if TREE_INLINE is set.
+ * integrate.c (copy_parm_decls): Set TREE_INLINE in the copies.
+ (copy_decl_tree): Likewise.
+
+ * c-parse.y (yylex): Terminate token_buf after integer.
+
+Mon Jul 9 16:56:55 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): Don't check args[i].partial when bumping
+ negative args_size up to 0.
+
+ * sparc.md (call recognizers): Don't allow address arithmetic.
+
+Sun Jul 8 14:22:22 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (build_c_cast): Reinsert missing default_conversion call.
+
+ * gnulib.c (__bb_init_func): Ensure this defines >=1 symbol.
+
+Fri Jul 6 12:28:44 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (build_indirect_ref):
+ No error if result is incomplete array.
+
+ * m68k.md (casesi2 recognizer): Handle new ASM_RETURN_CASE_JUMP macro.
+
+ * expmed.c (store_bit_field, extract_bit_field): New arg TOTAL_SIZE.
+ Don't extract a bigger unit from memory than this.
+ * expr.c: Callers changed.
+ (store_field): New arg TOTAL_SIZE; callers changed.
+
+ * xm-ns32k.h: Use built in alloca.
+ * ns32k.md (movsf): Output float constants only if GAS_SYNTAX.
+ (call, call_value): Support JSR_ALWAYS.
+ Change handling of bsr for GAS_SYNTAX.
+
+Thu Jul 5 15:05:19 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * mips.md (divdf3): Fix spacing in output.
+ (movdf): Fix bad output storing CPU regs into memory.
+ * out-mips.c (function_prologue): Bug testing fmask.
+ (function_epilogue): Bug in spacing in output.
+
+ * c-typeck.c (build_conditional_expr): Handle ((void *) 0).
+ Allow 0 versus function pointer.
+
+Tue Jul 3 21:43:40 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (finish_struct): Lay out any array typedefs now completed.
+ (layout_array_type): New function.
+ (grokdeclarator): Don't warn for incomplete array in typedef.
+
+ * tm-*.h (ASM_OUTPUT_COMMON): Use %u, not %d.
+ (ASM_OUTPUT_LOCAL, ASM_OUTPUT_SKIP): Likewise.
+
+Mon Jul 2 12:07:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (tstsf): Clobber reg 0 in SImode.
+
+Sun Jul 1 14:28:58 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stddef.h: Check __SIZE_T also.
+
+ * toplev.c: Include types.h first.
+
+ * i386.md (trunc*2): Don't allow moving symbolic constant to memory.
+ Use wider move only for symbolic constant.
+
+ * tm-convex.h (LINK_SPEC): Posix link flags.
+ * tm-convex.h (STARTFILE_SPEC): Posix start files.
+ * tm-convex[12].h (CPP_SPEC): Posix defines.
+ * tm-convex[12].h (LIB_SPEC): Posix libraries.
+ * tm-conv[12]os7.h: New files.
+ * config.gcc: use tm-conv*os7 if /usr/include/stdlib.h isn't there.
+
+ * xm-convex.h (S_IFMT, S_IFREG): make visible if hidden for posix.
+ * xm-convex.h (_PROTO): define to keep 8.0 includes from screwing up.
+
+ * tm-convex.h (ASM_OUTPUT_{FLOAT,DOUBLE}, PRINT_OPERAND):
+ use %e instead of %#g, which is broken or non-posix.
+
+ * tm-convex.h (current_section_is_text): make extern.
+ * out-convex.c (current_section_is_text): define here.
+ * tm-convex.h (OVERRIDE_OPTIONS), out-convex.c (override_options):
+ useless; remove.
+ * tm-convex.h (CPP_PREDEFINES): remove parsec, long gone from
+ system includes.
+
+Fri Jun 29 12:42:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-vax.h (LEGITIMATE_CONSTANT_P): Fix typo.
+
+ * out-mips.c (function_arg_partial_nregs): Round size up to words.
+
+Thu Jun 28 12:50:44 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (cse_insn): Replace src only with general_operand
+ unless moving to a register.
+
+ * expr.c (expand_expr): Use assign_stack_local for constructors.
+
+ * Makefile (STAGESTUFF): Change names of stamp files.
+
+ * pyr.md (tstqi): Change comma to semicolon.
+
+ * out-mips.c (init_cumulative_args): Fix name of debug_tree.
+
+ * vax.md (movsi special case): Fix assembler syntax.
+ * tm-vax.h (LEGITIMATE_CONSTANT_P): Add missing backslashes.
+ * tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1.
+
+Wed Jun 27 14:04:51 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (emit_move_insn): Force constants to mem only if predicate
+ fails.
+ * out-vax.c (supergeneral_operand): New function.
+ * vax.md (movsi): Use that predicate.
+
+ * out-mips.c (function_prologue): Don't use sp_str in .frame.
+ Use sw rather than sd in cases 5 and 7.
+
+Tue Jun 26 14:21:36 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * rtl.h (EXTERNAL_SYMBOL_P): New macro.
+ * varasm.c (make_decl_rtl): Set it if variable is external.
+ * tm-vms.h (NO_EXTERNAL_INDIRECT_ADDRESS): Define this.
+ * tm-vax.h (INDIRECTABLE_CONSTANT_ADDRESS_P): New macro.
+ Value depends on NO_EXTERNAL_INDIRECT_ADDRESS.
+ (INDIRECTABLE_ADDRESS_P, LEGITIMATE_CONSTANT_P): Value depends...
+ (NONINDIRECT_ADDRESS_P): New macro.
+ (GO_IF_NONINDEXED_ADDRESS): Use NONINDIRECT_ADDRESS_P sometimes.
+ * vax.md (movsi special case): New pattern for loading
+ illegitimate constants.
+ * out-vax.c (print_operand_address): Handle reg+(reg+const).
+
+ * tm-sparc.h (LINK_SPEC): Delete spurious `-'.
+ * tm-sun386i.h (LINK_SPEC): Define it, handling -Bstatic and aliases.
+ * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND): Delete spurious `\n'.
+ (ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+
+Mon Jun 25 18:45:51 1990 Michael Meissner (meissner at osf.org)
+
+ * sdbout.c: If not on a COFF system, define COFF symbols by hand.
+
+ * out-mips.c (legitimize_constant_expr): Delete unused function.
+ (output_load_immediate, addr_compensate): Delete unused functions.
+ (compare_restore): Redo code based on eliminating peepholes.
+ (function_prologue): New function, emit correct entry sequence.
+ (function_epilogue): New function, emit correct exit sequence.
+ Also output .ent, .frame, .mask, .fmask, and .end, for back tracing.
+ (mips_fix_frame_pointer): New function to eliminate frame.
+ (function_arg_partial_nregs, function_arg, function_arg_advance):
+ (init_cumulative_args): New funtions.
+
+ * stdarg.h (va_arg): Alternate definition for mips.
+ * va-mips.h: Total rewrite.
+ These changes in tm-mips.h have not yet been done.
+ * tm-mips.h (ASM_OUTPUT_DOUBLE): Put floating point out in hex.
+ (ASM_OUTPUT_FLOAT): Put floating point out in hex.
+ (PRINT_OPERAND): Add 'D', 'L', and 'M' codes.
+ (STRUCTURE_SIZE_BOUNDARY): Set this to 8 for MIPS cc compatibility.
+ (CC1_SPEC): Add -O1 which is same as -O.
+ (CC1_SPEC): Add -O3 which is -O2 + -finline-functions.
+ (TARGET_SWITCHES): Use hex for options.
+ (TARGET_SWITCHES): Rename -munix to -mmips-as.
+ (TARGET_SWITCHES): Add -mgas as oppisite of -mmips-as.
+ (TARGET_SWITCHES): Add -mpic, -mpic-large-object (but no code yet).
+ (TARGET_SWITCHES): Make -mdebug* comments match reality.
+ (PROMOTE_PROTOTYPES): Define this macro.
+ (FIXED_REGISTERS): Allow $f0, $f2, and $f14 to be allocated.
+ (NO_LIBG): Define this macro.
+ (TARGET_VERSION): Be more specific about which vendors MIPS system.
+ (ASM_FILE_START): Call ASM_OUTPUT_SOURCE_FILENAME, print_options.
+ (ASM_OUTPUT_SOURCE_FILENAME): Emit correct .file directive.
+ (ASM_OUTPUT_SOURCE_LINE): Emit correct .loc directive.
+ (EXTRA_SECTIONS): Add rdata_section.
+ (SELECT_SECTION, SELECT_SECTION_MODE): Use .rdata if feasible.
+ (SDB_DEBUGGING): Define this, but only line #'s supported now.
+ (FRAME_POINTER_REQUIRED): Allow no frame ptr in leaf procedures.
+ (GO_IF_LEGITIMATE_ADDRESS): Don't allow REG+70000 as address.
+ (various): Use MIPS profiling (no _mcount).
+ (various): Add new macros to classify registers.
+ (NO_UNDERSCORES): Define this for G++.
+
+ * mips.md (peepholes): Merge 4 peepholes, delete 24 unneeded ones.
+ Replaced with an anonymous pattern for a test insn.
+ (call_value): Change to a define_insn.
+ (movsi, movhi, movqi): Don't fall through at end, to avoid a warning.
+ (movsf special case for immediate args): Pattern deleted.
+ (movdf special case for immediate args): Pattern deleted.
+ (movsf, movdf): Use new macros to distinguish fp regs.
+ Add letter `y' to constraints.
+ (cmpsi): Allow arith_operand for second operand.
+ (hi and qi tests): Patterns deleted.
+ (jump): Handle TARGET_PIC.
+ (tablejump): Pattern moved.
+ (conditional branches): Align the comments that are output.
+ (call, call_value): Make predicates more specific.
+ Don't output any comments.
+
+ * out-mips.c: Include flags.h. Include tree.h at beginning.
+ Define numerous variables counting things used in this compilation.
+ (my_print_rtx): Deleted. Callers use debug_rtx.
+ (output_load_immediate): Simply output an li instruction.
+ (print_options): Body rewritten. Now always defined, but body
+ is in an #if 0.
+ (abort_show_logged, my_print_insncode): Functions deleted.
+ (abort_with_insn): Now use `error' to print the message.
+ (mips_section_get): Function deleted.
+ (override_options): Update mips_section_threshold, once and for all.
+
+Mon Jun 25 16:54:13 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (output_inline_function): Pass dummies for new args
+ to init_function_start.
+
+ * stddef.h: Check _T_SIZE as well as _SIZE_T.
+
+Sun Jun 24 17:15:34 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (init_function_start): New args give file/line for first note.
+ * c-decl.c (store_parm_decls): Pass them.
+ * final.c (final_start_function): For sdb, don't output a line number,
+ just set last_linenum.
+
+ * tm-att386.h (ASM_OUTPUT_LOCAL): Put it in .bss section.
+
+Fri Jun 22 12:40:07 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (handle_directive): Always ignore empty directive.
+
+ * tree.h (BUILT_IN_NEXT_ARG): Define it.
+ * c-decl.c (init_decl_processing): Declare __builtin_next_arg.
+ * expr.h (current_function_arg_offset_rtx): Declare it.
+ * stmt.c (assign_parms): Set that variable at end.
+ * expr.c (expand_builtin): Implement __builtin_next_arg.
+ * stdarg.h (va_start): Use __builtin_next_arg.
+ * function.c (push_function_context, pop_function_context):
+ Save and restore current_function_arg_offset_rtx.
+ * function.h (struct function): New field for this.
+
+Wed Jun 20 15:26:16 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-apollo68.h (FUNCTION_ARG_PADDING): Never pad.
+ (STACK_BOUNDARY): Make it 32.
+ (CPP_SPEC): Add spaces. Define _APOLLO_SOURCE if not -ansi.
+
+ * expr.c (expand_call): If have STACK_BOUNDARY and push insns,
+ compute stack_align when size is rounded, and use later
+ to push the space for the rounding.
+
+Tue Jun 19 15:41:53 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * genextract.c (gen_peephole): Use sizeof (rtx), not UNITS_PER_WORD.
+
+ * reload1.c (reload_inheritance_insn): New variable.
+ (reg_reloaded_insn): New variable.
+ (choose_reload_regs): Update those variables.
+ (emit_reload_insns): Use them to remove deaths from insns
+ that used input reloads.
+ (reload_as_needed): Clear reg_reloaded_insn when necessary.
+
+Mon Jun 18 13:25:59 1990 Michael Meissner (meissner at osf.org)
+
+ * mips.md (probe): Make a single insn, just a memref.
+
+ * mips.md (ashlqi3, ashlhi3, one_cmplqi2, one_cmplhi2): Deleted.
+ (ashlsi3, ashrsi3, lshrsi3, neg*, one_cmplsi2): Simplified.
+ Don't output comments. Use more specific predicates.
+
+ * mips.md (movsf, movdf): Use L, M codes to avoid #ifdef's.
+ Also simplify and don't output comments.
+ (anonymous patterns for those insns): Deleted.
+ (loading floating constant): New patterns added.
+ (move qi to si pattern): Deleted; ridiculous.
+ (movdi, movsi, movhi, movqi): No need to check for moving reg to self.
+
+ * mips.md (nop): Use .set noreorder to placate assembler.
+
+Sun Jun 17 01:19:26 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (stamp-*.c, stamp-*.h): Remove .c or .h from names.
+
+ * tm-i860.h (GO_IF_LEGITIMATE_ADDRESS): Displacement must be multiple
+ of the alignment of the operand.
+
+ * i860.md (signed bit field recognizers): Don't shift by >31 bits.
+
+ * out-i860.c (output_delayed_branch): Pass register properly to
+ load_opcode.
+
+ * sdbout.c (sdbout_symbol): Get right regno for var-length object.
+
+ * c-decl.c (duplicate_decls): Types don't "match" if one is error.
+
+ * cexp.y (yylex): Ignore carriage return.
+ * cccp.c (initialize_char_syntax): Likewise.
+
+Sun Jun 17 01:19:26 1990 Michael Meissner (meissner at osf.org)
+
+ * mips.md (general/fp reg move patterns): Use codes L, M, D.
+ (movdi): Likewise. And don't output useless comments.
+ Use the assembler temp reg for non-offsettable address.
+ (movsi, movhi, movqi): Output nothing for move from reg to itself.
+ Output li to load a constant. Use `move' instead of `add'.
+ Don't output useless comments.
+ (load-address pattern): Deleted; handled by addsi3 pattern.
+
+ * mips.md (addsi3, mulsi3): Make both input predicates arith_operand
+ since they are commutative.
+ (andsi3, iorsi3, xorsi3): Likewise.
+
+ * tm-mips.h (MOST_SIGNIFICANT_WORD, LEAST_SIGNIFICANT_WORD): New.
+
+ * tm-mips.h (PRINT_OPERAND): New codes D, L, M.
+ * mips.md (anddi3, iordi3, xordi3): Use earlyclobber to stop overlap.
+ Use new print code D.
+
+ * mips.md (andsi3, iorsi3, xorsi3): Make predicates more specific.
+ (andhi3, ..., andqi3, ...): Patterns deleted.
+ (patterns for nor): New anonymous patterns.
+ * out-mips.c (uns_arith_operand): New function.
+
+ * mips.md (trunc*, zero_extend*, extend*, fix_trunc*, float*):
+ Use more specific predicates.
+
+ * mips.md (addhi3, ..., addqi3, ...): Patterns deleted.
+ (addsi3, subsi3, mulsi3, divsi3): Make predicates more specific.
+ Delete useless comments from assembler code.
+ Use more generic op codes rather than special cases such as addiu.
+ (divmodsi4, udivmodsi4, udivsi3, modsi3, umodsi3): New patterns.
+ (abssf2, absdf2): New patterns.
+
+Sat Jun 16 22:52:44 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (process_init_constructor): Handle unions.
+ (digest_init): Use that for union inits.
+
+Wed Jun 6 19:20:20 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (move_movables): In insn-deleting loop, check p != 0.
+
+Sun Jun 3 22:44:12 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Warn about extern with initializer.
+
+Sat Jun 2 14:46:18 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Handle const and volatile with parm
+ specified as function type.
+
+ * varasm.c (immed_real_const_1): Don't confuse -0.0 with 0.0.
+
+ * tm-sun3.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Handle -0.0.
+ (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
+ Note: Sun 4 (under SunOS 4) seems to work okay without this change.
+ Perhaps printf works better in that version.
+
+Fri Jun 1 13:38:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): For const function, pop stack before and aft.
+
+Thu May 31 12:59:28 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): Don't round stack block if size negative.
+
+ * fold-const.c (fold): Preserve sign on constant when other terms
+ cancel (after call to split_tree).
+
+Wed May 30 20:49:10 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (primary, fndef): Use YYFAIL, since YYERROR was changed.
+
+ * out-m68k.c (output_move_double): Don't test HOST_WORDS_BIG_ENDIAN
+ since that only exists in version 2.
+ * tm-m68k.h (PRINT_OPERAND_EXTRACT_FLOAT): New macro wasn't mentioned.
+ Don't test HOST_WORDS_BIG_ENDIAN.
+ (PRINT_OPERAND_PRINT_FLOAT): New macro wasn't mentioned before.
+ (PRINT_OPERAND): Use them.
+
+Tue May 29 21:35:23 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * optabs.c (expand_float): Don't use hard reg for intermediate result.
+
+ * c-parse.y (yylex): Fix typo in handling of ERANGE.
+
+ * sparc.md (tstdf, tstsf): Use a CLOBBER, not a USE, on f0.
+
+ * sparc.md (eager branch peepholes): Fix typos.
+ * tm-sparc.h (OUTPUT_JUMP): Define this.
+
+ * print-tree.c (print_lang_identifier): New function.
+
+Sat May 26 13:42:04 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sdbout.c (sdb_begin_function_line): Now -1 if not in use.
+ (sdbout_end_function): Set it to -1.
+
+Fri May 25 00:18:29 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * print-tree.c: Total rewrite.
+
+Thu May 24 21:26:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (macarg): When popping frame, free via free_ptr, not buf.
+
+Tue May 22 21:41:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (finish_decl): Discard any variable sizes in the decl.
+
+ * pyr.md (mulsi3, adddi3, ...): Use symmetrical predicates in
+ commutative patterns.
+ (tsthi, tstqi): Set CC_NO_OVERFLOW
+ * out-pyr.c (notice_update_cc): Don't do that here for
+ explicit cc-setting insns.
+
+Sat May 19 12:41:44 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i386gas.h (ASM_OUTPUT_ALIGN): Use log as arg to .align.
+ (ASM_OUTPUT_ALIGN_CODE): Likewise.
+
+Wed May 16 16:09:47 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-pyr.h (FIXED_REGISTERS, CALL_USED_REGISTERS):
+ Reserve register lr15 as fixed, for test instructions.
+ * pyr.md (tsthi, tstqi): Use cvtXw into lr15 rather than test.
+
+ * expr.c (expand_expr): Make sure a volatile value is referenced
+ even if value is ignored.
+
+ * c-typeck.c (truthvalue_conversion): Result COND_EXPR gets type int.
+ (invert_truthvalue): Simplify COND_EXPR.
+
+Tue May 15 16:51:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (complete_array_type): Compensate for wide string constants.
+
+Mon May 14 15:31:07 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (combine_strings): Fix errors computing wide string length.
+
+Sat May 12 15:17:37 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (trunc**): Use long move if source is constant.
+ * out-i386.c (PRINT_REG): Handle CODE == 'k'.
+
+ * ns32k.md (signed bitfield extract): Don't output assembler comment.
+
+Fri May 11 14:45:06 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i860.h (ASM_OUTPUT_CASE_LABEL): Align to multiple of 4.
+
+Thu May 10 23:43:31 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-i860.c (single_insn_src_p, strict_single_insn_src_p):
+ Correct conditions for needing multiple instructions.
+ (output_delayed_branch): Likewise.
+
+Tue May 8 13:54:37 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-ultrix.h: New file.
+
+Mon May 7 18:47:47 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (test... recognizers): Output symbolic constant first.
+
+Sat May 5 12:18:05 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * rtlanal.c (dead_or_set_p): Compare register numbers, not addresses.
+
+Thu May 3 16:56:43 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expmed.c (store_bit_field): Maximum size for loading mem struct
+ into reg comes from the mode of the value to be stored.
+ Alignment is no restriction if it matches BIGGEST_ALIGNMENT.
+ Always do the real work in SImode if couldn't use MEM.
+ (extract_bit_field): Likewise.
+
+ * tm-sparc.h (PRINT_OPERAND): Handle new codes I and U.
+ * sparc.md (delay slot peepholes): Use them to handle CC_NO_OVERFLOW.
+ (negated jump recognizer): Likewise.
+ * sparc.md (addcc and subcc recognizers): Test for validity of
+ ignoring overflow with ignore_overflow_conditional_p.
+ * out-sparc.c (ignore_overflow_conditional_p): New function.
+
+ * pyr.md (bitw recognizer): Set CC_NO_OVERFLOW.
+
+Mon Apr 30 01:39:14 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (build_int): Make arg unsigned.
+
+ * cccp.c (macarg1): `\' not special outside strings.
+
+ * c-typeck.c (build_unary_op): In increment ops,
+ typo checking for ptr to void/function.
+ Check original type for this and for amount of increment.
+
+Sat Apr 28 16:43:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (build_indirect_ref): Error if target is incomplete type.
+
+Fri Apr 27 13:02:10 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (order_regs_for_reload): Count multi-word pseudos right.
+
+ * flow.c (mark_set_1): Handle nested SUBREG, SIGN_EXTRACT,
+ STRICT_LOW_PART, etc. Also, always set subreg_p when setting
+ a bit field, even if modes are same.
+
+Thu Apr 26 17:52:17 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (handle_directive): Don't pass directive through if no_output.
+
+Tue Apr 24 13:40:25 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * pyr.md (addsi3): Use general_operand for both inputs.
+
+ * i860.md: Add missing = in some output constraints.
+
+Mon Apr 23 16:37:21 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst): When checking reg_last_set, verify nonzero.
+
+ * ns32k.md (ashlhi3): Avoid using %1.
+
+Sat Apr 21 21:05:51 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (assign_parms): Don't make entry_parm and stack_parm valid.
+ Leave them explicit stack slots.
+ (validize_mem): Copy it, don't alter it.
+
+Thu Apr 19 15:23:51 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-sparc.c (find_addr_reg): Avoid using frame pointer.
+
+Sun Apr 15 13:42:24 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (emit_library_call): Precompute reg and partial of all parms,
+ to do it in proper order.
+
+ * integrate.c (save_for_inline): Copy reg notes after all insns.
+
+ * final.c (final_scan_insn): No block profiling before jump table.
+
+Sat Apr 14 00:19:47 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (tstdf): Clobber reg in SImode, like cmpdf.
+ (blt, ble): New define_expands. RTL like before except,
+ for floats, reverse prev compare or test and do bgt/bge.
+
+Thu Apr 12 21:27:18 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): New variable argpos counts args in the
+ order written. For comparison with n_named_args.
+
+ * c-decl.c (duplicate_decls): Preserve DECL_INITIAL from old
+ function def to new one.
+
+ * cccp.c (macroexpand): Count Newline Space as part of whitespace
+ sequence when stringifying.
+
+Tue Apr 10 21:08:06 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (do_line): No error if string follows number without space.
+
+Mon Apr 9 15:37:11 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (install): Turn off x bit on headers and man page.
+
+ * i860.md (cmpeqsf, etc.): Change opcode name to pfeq.ss, etc.
+
+ * tm-m68k.h (PRINT_OPERAND_PRINT_FLOAT): Delete spurious backslash.
+
+ * c-decl.c (store_parm_decls): Don't do storedecls in prototype case.
+ That was discarding the enumerators already pushdecl'd.
+
+ * tm-m68k.h (NOTICE_UPDATE_CC): Undo last change.
+
+Sun Apr 8 19:00:09 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-m68k.c (output_move_double, standard_68881_constant_p):
+ Do word-swap when cross-compiling from little-endian machine.
+
+Sat Apr 7 00:45:49 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sparc.md (addcc and subcc patterns): Set CC_NO_OVERFLOW.
+
+ * out-mips.c (output_load_immediate): Fix bug for values
+ between -2**15 and -2**16; don't use addi.
+
+Thu Apr 5 14:00:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stdarg.h (va_start): Round initial pointer value down
+ to double boundary. This is to eliminate big-endian adjustment.
+
+ * c-typeck.c (build_c_cast): Reject array types for result.
+
+ * fixincludes: Don't ignore errors when making dirs.
+ But check whether dir already exists.
+
+Wed Apr 4 01:59:03 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Complain if fn defn has `typedef' etc.
+
+Tue Apr 3 22:09:12 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expmed.c (store_bit_field): Don't do big-endian adjust twice.
+ Do this by changing the mode whenever it is done.
+ Some places must now cope with subregs.
+ (extract_bit_field): Likewise.
+
+Fri Mar 30 15:54:43 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (c_build_type_variant): New function.
+ (grokdeclarator): Call that, for ARRAY_TYPE only, in fields and vars.
+ * c-decl.c, c-typeck.c: All calls to build_type_variant use that now.
+
+Wed May 2 16:34:25 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-sun3.h (CC1_SPEC): Ignore -target.
+ (WORD_SWITCH_TAKES_ARG): Define it.
+ * tm-sparc.h (CC1_SPEC): Ignore -target and -dalign.
+ (WORD_SWITCH_TAKES_ARG): Define it.
+
+Thu Mar 29 15:34:53 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * final.c (end_final): For basic block profiling, don't output
+ source file name. Instead, append ".d", and remove ".c".
+ * gnulib.c (__bb_init_func): New name for __bb_init_function.
+ Conditionalize on mc68000, not m68k.
+ Fix other typos.
+ * Makefile (LIBFUNCS): Add _bb_init_func.
+
+ * xm-sun386i.h (LINK_SPEC): Handle -static.
+
+Wed Mar 28 16:21:53 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (duplicate_decls): Preserve DECL_FRAME_SIZE from definition
+ past subsequent declarations.
+
+ * c-decl.c (xref_tag): If global_binding_level, make nodes permanent.
+
+ * expr.c (expand_call): Handle STACK_BOUNDARY when using push insns.
+
+ * stmt.c (assign_parms): Note how PUSH_ROUNDING affects stack
+ parm size.
+
+ * tm-mips.h (STRUCTURE_SIZE_BOUNDARY): Changed from 16 to 8.
+
+Tue Mar 27 14:24:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m68k.md (movsi, movhi, movstricthi, movqi, movstrictqi):
+ Avoid both clr and st on volatile mem, but only on 68000.
+ (SImode store 0 recognizer): Likewise.
+
+Mon Mar 26 15:01:02 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m68k.md (movqi): Don't use `st' insn on volatile memory.
+
+ * tm-m68k.h (NOTICE_UPDATE_CC): addq and subq do update cc's
+ even if destination is an address register.
+
+ * cccp.c (discard_comments): Handle backslash-newline.
+
+Sun Mar 25 20:21:58 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (handle_directive): Discard backslash-newline within <...>.
+
+Fri Mar 23 00:52:34 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): Warn if array element is incomplete.
+
+ * xm-hp9k320.h (USE_C_ALLOCA): Define if not compiling with GCC.
+
+ * expr.c (emit_call_1): Pass FUNTYPE directly to RETURN_POPS_ARGS.
+
+Thu Mar 22 22:33:36 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (get_parm_info): Void parm is special only if no name.
+
+ * loop.c (may_not_optimize): Static var replaces local `may_not_move'.
+ (strength_reduce): Don't accept those regs as givs.
+
+Wed Mar 21 17:14:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ns32k.md (stack adjust insn): Don't use cmpd or cmpqd on Sequent.
+ * tm-sequent.h (SEQUENT_ADJUST_STACK): Define this.
+
+ * Makefile (gnulib): Use OLDAR, not AR.
+ (OLDAR): New variable.
+
+ * expr.c (expand_call): Don't reuse pending_stack_adjust for argblock
+ if inhibit_defer_pop.
+
+Tue Mar 20 02:41:15 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * va-sparc.h: New file, handles changed calling convention.
+
+ * expr.c (push_block): New argument EXTRA. All callers changed.
+ (emit_push_insn): Use that for the padding when using push_block.
+
+ * ns32k.md (ashlsi3): `return' was missing.
+
+ * tm-sparc.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG):
+ Only word-aligned BLKmodes can go in registers.
+ (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
+ * tm-spur.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Likewise.
+ * expr.c (expand_call): If encounter a stack parm before offset
+ gets up to zero, make it zero.
+ * stmt.c (assign_parms): Likewise.
+
+Mon Mar 19 00:06:35 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * assert.h (__assert) [not __GNUC__]: Rename arg to avoid stringify.
+
+ * gcc.c (main): Handle SIGPIPE.
+
+Sat Mar 17 14:13:43 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (general_induction_var): When adding sub-giv to ARG,
+ don't produce an add_val that can't be the source of an add insn.
+
+Fri Mar 16 15:26:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-vms.h (NO_DOLLAR_IN_LABEL): Define this.
+
+ * sparc.md (andncc, orncc, xorncc patterns): Delete `%' in constraint.
+
+Thu Mar 15 22:02:02 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expmed.c (extract_bit_field, store_bit_field):
+ When changing mode of a reg to SImode, also do big-endian correction.
+ Consistently use BYTES_BIG_ENDIAN to decide how bits are numbered.
+ Fix stray ref to CODE_FOR_extzv in case for extv.
+
+ * c-typeck.c (build_unary_op): Allow function type args to `!',
+ since they convert to pointers.
+
+ * stmt.c (init_function_start): Set max_structure_value_size to -1.
+
+Sun Mar 11 18:39:40 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (spill_hard_reg):
+ Typo: index regs_explicitly_used with regno.
+
+ * cse.c (cse_insn): When replacing constant with reg+const,
+ don't make a REG_EQUIV note unless there already is one.
+
+ * gcc.c (fatal): Flush spurious arg to delete_temp_files.
+
+ * Makefile (gnulib, stamp-gnulib2): Ignore error in ranlib.
+
+Sat Mar 10 16:07:27 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (other_reg_use_p): New name for only_reg_use_p.
+ Return 0 if IN == EXPR.
+ (check_eliminate_biv, strength_reduce): Re-invert the test
+ using other_reg_use_p.
+
+Thu Mar 8 02:17:50 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ns32k.md (movsi, movdi): Handle floating point registers.
+
+ * reload.c (find_reloads_toplev): Do BYTES_BIG_ENDIAN offset
+ only within a word.
+
+ * stdarg.h: Use _VA_LIST_ as macro to indicate already loaded.
+
+ * tm-alliant.h (FUNCTION_PROLOGUE): Use `linkl' on 68020.
+
+Tue Mar 6 23:44:15 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (macroexpand): Fix bug in scanning strings for stringify.
+
+Fri Mar 2 00:27:14 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-mips.c (tree_code_name): Declaration deleted.
+
+Thu Mar 1 22:59:18 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * assert.h (__assert): Don't call abort; use 0 as value.
+ * gnulib.c (__eprintf): Call abort here.
+
+Wed Feb 28 13:11:24 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (install): When installing $${eachfile}, use basename.
+
+Fri Feb 23 13:21:27 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (readescape): For x, avoid overflow when shifting in if.
+
+Thu Feb 22 19:09:48 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes: Delete directories before creating them.
+ When making internal symbolic directory links, chase
+ chain of existing links to the end.
+
+ * dbxout.c (dbxout_type): Always use main variant.
+
+Wed Feb 21 00:25:39 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Version 1.37.1 released.
+
+ * tm-mips.h (ASM_OUTPUT_ADDR_VEC_ELT and ASM_OUTPUT_ADDR_DIFF_ELT):
+ Start label names with $.
+
+Sun Feb 18 13:58:04 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
+ Start name with $.
+
+ * integrate.c (expand_inline_function): Round up size of parm_map.
+
+Sat Feb 17 20:56:05 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_SPEC): Remove _INCLUDE__STDC__.
+
+Sun Feb 11 20:11:25 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Version 1.37 released.
+
+ * c-decl.c (complete_array_type): In permanent type, add perm nodes.
+
+ * out-i386.c (print_operand_address): Handle a MULT by itself.
+
+Sat Feb 10 14:35:03 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ns32k.md (movsf): Convert double constant to float.
+
+Fri Feb 9 00:02:43 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (duplicate_decls): Don't lose alignment of OLDDECL.
+
+ * cccp.c (handle_directive): Keep comments by copying them explicitly.
+
+ * cccp.c (rescan): When scanning for open-paren after macro name,
+ discard comments if appropriate.
+
+Thu Feb 8 14:19:41 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (build_enumerator): Error if value outside range of int.
+
+ * tm-hp9k320.h (CPP_SPEC): Define _INCLUDE__STDC__ if not traditional.
+ * tm-hp9k310.h: Missing file brought back.
+
+Mon Feb 5 12:49:36 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (spill_hard_reg): Return 1 if reg is explicitly used.
+ (reload): Cancel dummy reloads using regs subject to spill.
+
+Sun Feb 4 12:37:00 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-3b1g.h: New file.
+ * config.gcc (3b1g, 3b1-gas): New alternative.
+
+ * tm-att386.h (ASM_OUTPUT_COMMON): Don't use rounded size.
+
+Fri Feb 2 17:04:37 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (copy_for_inline): Use real width of rtunion in bcopy.
+ * emit-rtl.c (copy_rtx_if_shared): Likewise.
+
+ * assert.h (assert) [__STDC__]: Use comma operator to avoid warning.
+
+ * c-decl.c (grokdeclarator): Traditionally change return type float
+ to double.
+
+ * cse.c (predecide_loop_entry): Give up unless simple jump enters loop.
+
+Thu Feb 1 02:02:21 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-convex.h (FASCIST_ASSEMBLER, VTABLE_USES_MASK, VINDEX_MAX):
+ New definitions to control c++ files.
+
+ * reload1.c (inc_for_reload): Forget reg_last_reload_reg
+ for the reg being inc'd.
+
+ * limits.h (INT_MIN): Define so it has type `int', not unsigned.
+ (CHAR_MIN, SCHAR_MIN, SHRT_MIN): Put arens around value.
+
+Wed Jan 31 12:54:07 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (FUNCTION_PROLOGUE): Use CONST_OK_FOR_LETTER_P to see
+ if can update fp in one addiu insn.
+
+ * reload1.c (reload): Reject fixed regs when finding groups to spill.
+
+ * assert.h (assert) [NDEBUG]: Make value nonempty.
+ (assert) [no NDEBUG]: Split into a version for __STDC__ and one not.
+ (_assert) [__STDC__]: Pass expression and file separately to _eprintf.
+ (_assert) [not __STDC__]: Likewise, but implemented differently.
+ * gnulib.c (__eprintf): Handle 3 args plus format string.
+
+ * tm-i386.h (STACK_BOUNDARY): Define it.
+
+Sat Jan 27 17:58:30 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * hard-params.c: Use explicit file name to include self.
+
+Fri Jan 26 01:38:29 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (rescan): Set beg_of_line when string ends at newline.
+ (skip_quoted_string): Don't swallow newline that ends a string.
+ (handle_directive): No need to back up here.
+ Pass LIMIT as second arg to skip_quoted_string.
+
+ * cccp.c (rescan): If traditional, end preproc number after expt sign.
+
+Thu Jan 25 01:57:34 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (general_induction_var): Reject widening multiply.
+
+ * i860.md (andsi3): Truncate xop2 constant to 16 bits.
+
+Wed Jan 17 12:33:52 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (CC1_SPEC): Don't complain about -g.
+
+ * c-typeck.c (build_compound_expr): Delete special case
+ that ignores expressions without side effects.
+
+ * stor-layout.c (layout_type): Struct requires BLKmode if any field
+ crosses a word boundary.
+
+ * reload1.c (choose_reload_regs): Refix Sequent problem correctly.
+
+Tue Jan 16 12:03:42 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (unary_expr): If sizeof or alignof gets a comma expr
+ which has array or function type, coerce it to pointer.
+
+ * fold-const.c (combine): Propagate carry when subtracting from 0.
+
+ * fold-const.c (fold): For x++==const, do arith in type of const.
+
+Mon Jan 15 19:24:04 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cexp.y (exp): Accept unary +.
+
+Sun Jan 14 12:18:49 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fold-const.c (lshift_double, rshift_double, lrotate_double):
+ (rrotate_double): Don't shift more than width of operand.
+
+Fri Jan 12 18:50:43 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * recog.c (next_insns_test_no_inequality): Return 1 at end of rtl.
+
+Thu Jan 11 14:09:47 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (skip_if_group): Skip strings even if -traditional.
+ (handle_directive): Likewise, when handling copy_command.
+
+ * i860.md (movsf): Ensure F to f is reloaded via r.
+
+Wed Jan 10 15:03:08 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile [3b1]: Propose redefinition of CCLIBFLAGS.
+
+ * reload1.c (choose_reload_regs): Break down hairy if expression.
+
+ * loop.c (loop_skip_over): Do nothing if don't find expected compare.
+
+Sun Jan 7 00:58:06 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc: Add i386-mach.
+ * xm-i386.h: Use built-in alloca if compiling with GCC.
+
+ * optabs.c (emit_cmp_insn): Set CLASS after MODE.
+
+Sat Jan 6 15:33:32 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-mips.c (function_arg, function_arg_advance):
+ Define typedef for CUMULATIVE_ARGS, and use it here.
+
+ * cccp.c (main): Recognize `.C' for -M.
+
+ * c-parse.y (yylex): Put 0 at end of wide string.
+
+ * tm-mips.h (CC1_SPEC): Don't distort meaning of -O.
+
+Fri Jan 5 12:12:31 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (link_command_spec): If LIBS_COMPILED_WITH_GCC, gnulib is last.
+
+Thu Jan 4 23:58:59 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (c-parse.tab.o): Add explicit compilation cmd.
+
+Wed Jan 3 00:27:53 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (install): Use nested foreach-loop to expand va*.h.
+
+Mon Jan 1 19:36:49 1990 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (store_one_arg): Round size up for move_block_to_reg.
+ (expand_call): Round up when emitting USE insns.
+ * stmt.c (assign_parms): Round size up for move_block_from_reg.
+
+ * reload1.c (alter_reg): Undo big-endian conversion from
+ assign_stack_local.
+
+Sun Dec 31 20:10:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tree.h (struct tree_common): Declare `code' as char, not int.
+
+Thu Dec 28 13:49:43 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gnulib.c (__fixunsdfsi): Turn large numbers to small for conversion.
+
+ * Makefile (includes): Set variable LIB. Run from `./'.
+
+Wed Dec 27 18:54:25 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (CCLIBFLAGS): Add -O.
+ (gnulib): Remove -O here.
+ (HARD_PARAMS_FLAGS): Like CCLIBFLAGS but no -O.
+ (hard-params, hard-params.o): Use that.
+
+ * loop.c (can_eliminate_biv_p, eliminate_biv): If add_val non zero,
+ it must be a constant or register.
+
+Mon Dec 25 00:02:31 1989 Torbj|rn Granlund (tege at zevs.sics.se)
+
+ * tm-pyr.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Should not be defined.
+ The cvtdw instruction causes a trap for floating point values
+ that are out-of-range for a signed int.
+
+ * out-pyr.c (has_direct_base): Don't accept 0 as a base, if there
+ is a register displacement. This is a workaround of a bug in
+ /bin/as. (/bin/as changes things like "cmpw 8(reg),0(reg)" into
+ "cmpw 8(reg),(reg)", which is invalid assembler.)
+
+Sun Dec 24 11:51:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (emit_move_insn): Lossage validating mem addr of constant.
+
+ * varasm.c (record_constant_1): Missing `return' in ADDR_EXPR case.
+
+Sat Dec 23 10:54:22 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ns32k.md (extract byte from register): Delete #if conditionals.
+ Assume 32532 always.
+ (adjust stack): Likewise.
+
+Thu Dec 21 10:24:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i860.md (load DF constant to reg): Typo: extra percent sign.
+ (floatsidf2): Two words of a double were backwards.
+
+ * reload1.c (alter_reg):
+ Always do big-endian correction on slot address.
+
+ * gnulib.c (__fixunsdfsi): Don't rely on host compiler for unsigned.
+
+ * i386.md (float push recognizers): Don't pop fpreg if not dead.
+
+Sun Dec 17 12:13:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_PREDEFINES): Add __hp9000s300, _HPUX_SOURCE.
+
+Sat Dec 16 17:49:30 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (strength_reduce): When writing insn to init a biv,
+ update life range of reg used to init it.
+
+ * combine.c (try_combine): Do combine (y = x, x = y).
+
+ * loop.c (strength_reduce): When finding initial value of a biv,
+ notice assignments to subregs of it, etc.
+
+Fri Dec 15 00:42:31 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m68k.md (fpa float and float-trunc): Accept general_operand.
+
+ * integrate.c (expand_inline_function):
+ Put caller's line number after inline stuff.
+ Put callee's line number before parm manipulation.
+
+ * If local-alloc assumes a reg does not conflict,
+ don't use it as dummy reload.
+ * local-alloc.c (wipe_dead_reg): Add REG_UNSET note.
+ * reload.c (find_dummy_reload): Check for that note.
+
+ * vax.md (casesi): New pattern for super-trivial cse case.
+
+ * jump.c (jump_optimize): Realize that more things can follow
+ the NOTE_INSN_FUNCTION_END note. Change in two places,
+ for optimized and one for unoptimized.
+
+Sat Dec 9 15:21:07 1989 Richard M. Stallman (rms at ccvi)
+
+ * expr.c (expand_expr): For conversion ops, copy CONST_INT to reg
+ to avoid lossage on VOIDmode in convert_move or expand_float.
+ * optabs.c (expand_float): Abort if FROM has VOIDmode.
+
+ * final.c (final_scan_insn): Delete unused label.
+
+Thu Dec 7 01:42:30 1989 Richard M. Stallman (rms at ccvi)
+
+ * sdbout.c (MAKE_LINE_SAFE): Ensure arg is > sdb_begin_function_line.
+ (sdbout_begin_block, sdbout_end_block, sdbout_end_function): Use it.
+
+ * jump.c (jump_optimize): Leave block-beg, block-end notes
+ in old context when swapping two ranges of insns.
+ (squeeze_block_notes): New function.
+
+ * expr.c (expand_call): For pcc struct, return reg mode is Pmode.
+
+ * c-typeck.c (build_conditional_expr):
+ Only explicit ints allow predetermined choice.
+
+Wed Dec 6 19:02:07 1989 Richard M. Stallman (rms at ccvi)
+
+ * toplev.c: Undef FFS after including param.h.
+
+Tue Dec 5 16:01:18 1989 Richard M. Stallman (rms at ccvi)
+
+ * mips.md (movsf): Use mtc1 where needed.
+
+ * reload1.c (choose_reload_regs): If run out of spill regs,
+ set must_reuse and try again.
+
+Mon Dec 4 00:18:24 1989 Richard M. Stallman (rms at ambroise)
+
+ * reload1.c (alter_reg):
+ Don't set spill_stack_slot_width if from_reg is -1.
+
+ * cse.c (cse_end_of_basic_block): Typos checking NOTE insns.
+
+ * math-68881.h (pow): Add parens around `&'.
+
+ * loop.c (can_eliminate_biv_p, eliminate_biv):
+ In COMPARE, verify the biv is one of the arguments.
+ (strength_reduce): When eliminating biv, check for use
+ in a giv in an address, just as in check_eliminate_biv.
+
+ * stupid.c (reg_order): Make it int, in case reg # is large.
+ (stupid_reg_compare, stupid_life_analysis): Implement this.
+
+Sun Dec 3 14:17:36 1989 Richard M. Stallman (rms at ambroise)
+
+ * tm-att386.h (ASM_OUTPUT_LOCAL): Don't generate .lcomm.
+ Go back to putting the variable in the data section.
+
+ * expr.c (do_jump): Cast XVECLEN to int for subtracting 1.
+
+ * reload.c (decompose): Handle SUBREGs.
+
+ * c-typeck.c (build_modify_expr): Prevent -Wall warning
+ when we generate a COMPOUND_EXPR for (?:)=.
+
+Mon Nov 27 15:39:40 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile [pyramid]: Use CLIB, not ALLOCA, to access libPW.a.
+ Use -lc explicitly first.
+
+ * pyr.md (SI test recognizer): Fix syntax error,
+
+ * c-decl.c (grokdeclarator): Don't test size of error_mark_node
+ as type of a field.
+
+Sun Nov 26 12:36:01 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * tm-mips.h (CONST_OK_FOR_LETTER_P): Delete extra paren.
+
+Wed Nov 22 12:56:41 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * pyr.md (mode conversion peepholes): Set CC_NO_OVERFLOW.
+ * out-pyr.c (consecutive_operands): Don't expect wrap from reg15 to 16.
+
+ * Makefile: Fix directions for pyramid.
+
+ * tm-mips.h (CONST_OK_FOR_LETTER_P): Define `K'.
+ (SMALL_INT): Range is 16 bits, not 17.
+ (SMALL_INT_UNSIGNED): New macro.
+ * mips.md (andsi3, iorsi3, xorsi3): Use `K', not `I'.
+
+ * mips.md (negsi2): Accept general_operand as input.
+
+Tue Nov 21 10:57:45 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * mips.md (one_cmpl*): Accept general_operand as input.
+
+Mon Nov 20 11:18:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_expr): For MINUS_EXPR, don't explicitly negate int
+ constant if it is in a mode too wide for host machine int.
+
+ * cse.c (fold_rtx): Simulate negative shift counts.
+
+Sun Nov 19 14:36:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-pyr.c (notice_update_cc): Set CC_NO_OVERFLOW in many cases.
+
+ * cse.c (fold_rtx, fold_cc0): Handle float trap.
+
+Sat Nov 18 00:17:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (output_constant): Handle float trap in fprintf.
+ * toplev.c (float_signal): Don't print message.
+ * fold-const.c (combine): Print it here.
+
+ * sparc.md (extend patterns): Handle CONST_INT as operand.
+
+ * out-i386.c (singlemove_string): Fix paren error.
+
+Fri Nov 17 12:19:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_increment): For pre-increment, copy the rtx to return.
+
+ * c-parse.y (compstmt): There may be implicit decls, so check
+ and maybe keep the level.
+
+ * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+ Use call_used_regs, not a private copy.
+
+Thu Nov 16 00:28:29 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c: Keep track of paradoxical subregs of each pseudo,
+ and make extra stack space for their sake.
+ (reload): Record max size paradoxical subreg for each pseudo.
+ (scan_paradoxical_subreg): New subroutine for that.
+ (reload): Make stack slots big enough for that size.
+
+ * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Define it,
+ so we can output a no-op before each function.
+
+ * tm-pyr.h (INIT_CUMULATIVE_ARGS): Simplify.
+ Pass function type to aggregate_value_p.
+
+ * fold-const.c (fold):
+ For foo++ > const, don't change if foo++ could overflow.
+
+ * loop.c (eliminate_biv):
+ Fix typo; check both coeffs when comparing givs.
+
+Wed Nov 15 00:12:59 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (copy_for_inline): Correctly handle RTL type "u".
+
+ * jump.c (delete_insn): Extra test for PREV != 0.
+
+Tue Nov 14 17:31:08 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-sun3.h (LINK_SPEC): Specify -L to control choice of -lm.
+
+ * tm-pyr.h (INIT_CUMULATIVE_ARGS):
+ If -fpcc-struct-return, always do the scalar thing.
+
+ * function.c (expand_function_end): Use FUNCTION_OUTGOING_VALUE.
+
+Sat Nov 11 00:18:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-sun386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
+ (ASM_OUTPUT_LOCAL): Likewise. Also, generate .lcomm
+ rather than a .data area symbol.
+ * tm-att386.h: Likewise.
+
+Fri Nov 10 15:04:15 1989 Richard Stallman (rms at rice-chex)
+
+ * caller-save.c (emit_mult_restore, emit_mult_save):
+ Improve arithmetic for address to save at.
+
+Thu Nov 9 00:14:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-pyr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
+ Don't use obsolete pushw and popw insns.
+ (ASM_OUTPUT_ALIGN): Ensure arg in range 2 to 5.
+ * pyr.md (tstdi): Pattern deleted.
+ (SImode test recognizer): Output ucmpw if jump is unsigned.
+
+ * out-sparc.c (operands_satisfy_eager_branch_peephole):
+ Check for moves between FP and non-FP regs; they take two insns.
+ * sparc.md (eager branch peepholes): Likewise.
+ (Ordinary delayed branch peepholes): Similar check.
+ * out-sparc.c (single_insn_extra_test): New subroutine.
+
+Wed Nov 8 18:19:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst): In (sign_extend:M (subreg:N (and:M .. <const>) 0))
+ insist that constant be positive in mode N.
+
+Tue Nov 7 23:25:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * rtl.h: Undefine FFS in case it was defined by the system.
+
+Mon Nov 6 14:43:55 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i860.h, tm-m88k.h, tm-pyr.h, tm-spur.h (INIT_CUMULATIVE_ARGS):
+ Test aggregate_value_p, not just BLKmode.
+
+ * gnulib2.c (__builtin_saveregs): Moved from gnulib.c.
+ Code added for mips.
+
+ * pyr.md (conditional branch recognizers): Don't simplify if not -O.
+
+ * out-pyr.c (extend_and_branch): Handle two constant operands.
+
+ * integrate.c (function_cannot_inline_p): Don't inline if alloca used.
+
+Sun Nov 5 02:59:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Always make a LET_STMT and notes for the top level of a function
+ if it has any subblocks.
+ * c-decl.c (struct binding_level): New field keep_if_subblocks.
+ (poplevel): Obey the new field.
+ (keep_next_if_subblocks): New variable.
+ (pushlevel): Use that variable.
+ (store_parm_decls): Set that variable.
+ (compstmt): Pass nonzero to expand_end_bindings
+ for the new kept binding levels.
+ (kept_level_p): New function.
+
+ * xm-mips.h: Define USE_C_ALLOCA if compiling with CC.
+
+ * tm-alliant.h (CHECK_FLOAT_VALUE): Define this.
+
+ * expr.c (expand_call): Make valreg 0 if passing structure address.
+
+Sat Nov 4 23:27:02 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * caller-save.c (emit_mult_save, emit_mult_restore):
+ Test regs for suitability as address before using as temps.
+
+ * cccp.c (make_definition, do_define): Better error checks for name.
+
+Fri Nov 3 01:05:04 1989 Torbj|rn Granlund (tege at echnaton)
+
+ * pyr.md (tstdi): New pattern. Use 64-bit shift with count zero.
+
+ * pyr-tm.h: -mretd pops args with the retd insn.
+
+ * pyr.md (peep-holes for loop optimizations): Use the R output
+ format in PRINT_OPERAND, don't use output_branch.
+ * out-pyr.c: No need for functions output_branch, output_inv_branch.
+
+ * tm-pyr.h (ASM_OUTPUT_ALIGN): Don't truncate alignment to two.
+
+Wed Nov 1 00:38:27 1989 Torbj|rn Granlund (tege at echnaton.sics.se)
+
+ * out-pyr.c (output_inv_branch): When reversing test operands, ne
+ remains ne, and eq eq eq.
+
+ * pyr.md: Cleanup output code for compare patterns.
+
+ * pyr.md (return): Adjust frame pointer if
+ current_function_pretend_args_size != 0.
+
+ * pyr.md (extendsidi2): Use general_operand for the input operand.
+
+ * pyr.md, out-pyr.c: Output shift insns with output_shift.
+
+ * tm-pyr.h, out-pyr.c: Make NOTICE_UPDATE_CC understand how
+ condition codes are really set. Define flag CC_VALID_FOR_UNSIGNED
+ with to make it possible not to reset cc after each compare or
+ test.
+ * pyr.md: Don't use CC_STATUS_INIT for most patterns.
+
+ * out-pyr.c (already_sign_extended): Cleanup, correct, optimize.
+
+ * out-pyr.c: rename radr_diff to constant_diff.
+
+ * out-pyr.c (movdi_possible): Don't combine moves from memory to
+ memory, because of possible address aliasing. Don't combine moves
+ with register destination if the source operands are depending on
+ the destination of the first move, as in
+
+ movw (pr3),pr3
+ movw 4(pr3),pr4.
+
+ * out-pyr.c (consecutive_operands): Handle SUBREG in addition to REG.
+
+ * out-pyr.c (output_move_double): movl of immediate *sign* extends.
+
+Tue Oct 31 22:51:39 1989 Torbj|rn Granlund (tege at echnaton.sics.se)
+
+ * pyr.md (cmpsi): Don't expand this. It's just slower.
+
+ * out-pyr.c (extend_and_branch): Handle only QImode and HImode.
+ Flush code specific for SImode.
+
+ * out-pyr.c (extend_and_branch): To make zero extensions to HImode
+ of constants not crash:
+ * out-pyr.c (ensure_extended): Call extend_const if it's a
+ CONST_INT. Don't call extend_const from extend_and_branch.
+ * pyr.md, out-pyr.md: Use global variable test_mode to determine the
+ mode of tests and compares. Set in define_expands for tests and
+ compares. Used in extend_and_branch.
+ * out-pyr.c: Pass mode between extend_and_branch and ensure_extended.
+
+ * out-pyr.c (extend_and_branch): Accept SUBREG whereever REG is
+ accepted.
+ * out-pyr.c (weird_memory_memory): Accept SUBREG whereever REG is
+ accepted.
+
+Thu Nov 2 13:02:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gnulib2.c (lshrdi2, and other shifts): Take second arg as long long.
+
+ * out-i386.c (fp_pop_int): Use %L0 in fistp insn.
+
+Wed Nov 1 00:05:59 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (init_function_start): Init max_parm_reg.
+
+ * varasm.c (compare_constant_1): For ADDR_EXPR, compare symbol name.
+ (record_constant_1): Likewise.
+
+ * out-sparc.c (output_mul_by_constant): Constant zero is legitimate.
+
+ * caller-save.c (emit_mult_restore, emit_mult_save):
+ Handle stack addresses which are invalid.
+
+ * cse.c (use_related_value): Don't abort if offset is 0.
+
+Tue Oct 31 15:08:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc (pyramid): Set $machine to pyr.
+
+ * Makefile: Change temp file names from tmp-insn-* to tmp-*.
+
+ * expr.c (expand_call): OK_DEFER_POP for is_const was once too many.
+
+Sun Oct 29 00:53:46 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (yylex): Prevent warning for numbers that underflow.
+
+ * stmt.c (assign_parms): Convert stack addresses to valid addresses.
+ (validize_mem): New subroutine.
+
+ * stmt.c (check_for_full_enumeration_handling): Accept enum type
+ as argument (since was finding it incorrectly).
+ Delete special case for constant index.
+ (expand_end_case): Pass enum type; check for constant index.
+
+ * cexp.y (initialize_random_junk): Test DOLLARS_IN_IDENTIFIERS
+ for nonzeroness.
+
+Fri Oct 27 16:25:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-next.h (__inline): define as macro for old 1.34 Next uses.
+
+Wed Oct 25 17:59:33 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * stmt.c: Include recog.h.
+
+Tue Oct 24 19:23:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (try_combine): Don't move a volatile asm.
+
+Mon Oct 23 01:45:34 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (try_combine): Don't install a subreg relating two modes
+ that aren't tieable.
+
+ * gnulib2.c (__fixdfdi): Declare __fixunsdfdi.
+
+ * combine.c: Make uid_cuid an int *.
+ (combine_instructions): Allocate as such.
+ * loop.c: Make uid_luid an int *.
+ (loop_optimize): Allocate as such.
+
+Sun Oct 22 16:34:28 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (fixup_var_refs_1): New insn before a CALL goes before
+ the preceding USEs.
+
+Sat Oct 21 00:51:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-pyr.c (extend_and_branch): Allow SUBREG like REG.
+ * pyr.md (mem-reg and reg-mem HI, QI patterns):
+ Don't match unless one arg is MEM.
+
+ * out-sparc.c (output_fp_move_double): Use ldd only when safe,
+ on same conditions used for std.
+
+ * Makefile (gnulib): Fix comments for editing for hpux.
+
+Fri Oct 20 00:27:00 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-i386.c (singlemove_string): Handle ordinary constants as input.
+
+ * reload1.c (choose_reload_regs): Arg of HARD_REGNO_MODE_OK
+ was the pseudo; should be the reload reg.
+
+ * tm-decstatn.h (CPP_PREDEFINES): Add bsd4_2, ultrix, MIPSEL,
+ host_mips, R3000, LANGUAGE_C, SYSTYPE_BSD.
+ * tm-mips.h (CPP_PREDEFINES): Add host_mips, R3000, MIPSEB, LANGUAGE_C.
+ (CPP_SPEC): Remove those from here.
+ Define __SYSTYPE_*__ always. Define SYSTYPE_* only if not -ansi.
+ No CPP_SPEC needed for decstation.
+ Correct typos in option tests.
+
+Thu Oct 19 18:16:40 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-m68k.h, tm-alliant.h (PRINT_OPERAND):
+ Don't print :l for address if :w was already printed.
+
+Wed Oct 18 13:03:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (FUNCTION_PROLOGUE): Get rid of __0__gcc macro.
+ Store that value in frame_stack_difference.
+ (FUNCTION_EPILOGUE): Get rid of __0__gcc macro.
+ (FIX_FRAME_POINTER_ADDRESS): Use frame_stack_difference.
+ * out-mips.c (frame_stack_difference): Define here.
+
+ * gcc.c (compilers): Define __GNUG__ if g++.
+
+Tue Oct 17 01:17:07 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i860.h (HAVE_PRE_INCREMENT): Undefine this.
+
+ * mips.md (movsf): New alternatives for r registers.
+ * tm-mips.h (FUNCTION_PROLOGUE): Handle big stack frames.
+ * out-mips.c (function_arg): Handle mode distinction for floating args.
+
+ * pyr.md (mtstsw pattern): Accept general_operand.
+
+ * i860.md (movsf): New alternatives: allow loading r from F.
+ Prefer f-reg as reload when moving m from F.
+ * tm-i860.h (PRINT_OPERAND): Handle CONST_DOUBLE if SFmode.
+
+Sun Oct 15 19:45:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i860.md (movhi, movqi): Support moves to/from fp regs.
+
+ * sparc.md (cse'd multiply): New pattern for mult. by -1.
+
+ * out-i860.c (load_opcode, store_opcode): Handle DImode and fp reg.
+
+ * expr.c (emit_library_call, expand_call): Make a SEQUENCE for
+ any needed USE insns and pass them to emit_call_1.
+ (emit_call_1): Place the passed SEQUENCE immediately before the
+ generated CALL_INSN even if gen_call made more than one insn.
+
+Fri Oct 13 00:12:46 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * recog.c (constrain_operands): Add case for `&'.
+
+ * expmed.c (extract_bit_field): With structure reg fetched from mem,
+ don't put in subreg if mode already correct.
+ (store_bit_field): Typo: had extzv, wanted insv.
+
+ * stmt.c (expand_function_start): Call init_recog.
+
+Thu Oct 12 01:48:30 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (macarg1): Count newlines even after backslash.
+
+ * c-decl.c (pushdecl): Don't warn for explicit extern
+ followed by static. That case is useful for incomplete arrays.
+
+ * tm-sparc.h (SELECT_RTX_SECTION): Test was backwards.
+
+Wed Oct 11 00:35:25 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-seq386.h (DBX_DEBUGGING_INFO): Override this.
+ (HARD_REGNO_MODE_OK): Override this.
+
+Mon Oct 9 01:09:25 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i860.md (movdi): accept F source in 2nd alternative.
+ Accept G source in 3rd.
+ (adddi3, subdi3): Typo in opcode of output.
+
+Sun Oct 8 01:38:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (ASM_SPEC): Pass -nocpp to as.
+
+ * c-decl.c (grokdeclarator): Ignore variant differences
+ when preserving typedef types from being altered.
+
+Sat Oct 7 00:46:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xm-mips.h: Use __builtin_alloca.
+
+Fri Oct 6 00:30:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (find_equiv_reg): Do let xregno be a pseudo reg,
+ but don't call HARD_REGNO_NREGS in that case.
+
+Thu Oct 5 00:30:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (find_equiv_reg): Don't let xregno be a non-hard reg.
+ Don't do OVERLAPPING_REGNO_P on a pseudo reg number.
+
+ * i386.md (trunchiqi2, etc.): Output %1 with size of destination.
+ * out-i386.c (PRINT_REG): Support 'b' as CODE.
+
+ * combine.c (try_distrib): Make sure we don't move a reg use
+ across a store into that reg.
+
+ * reload1.c (order_regs_for_reload): Rate fixed regs at LARGE+2,
+ and explicitly used regs at LARGE+1.
+
+ * stor-layout.c (build_int): When memoizing, make permanent nodes.
+
+Wed Oct 4 19:40:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * xm-i860.h: Missing file added.
+
+Mon Oct 2 16:26:33 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns): Reject any OLDEQUIV that is
+ in use in any other reload of this insn.
+
+ * expr.c (expand_call): Don't put on notes for const functions
+ if there aren't real insns to hold them.
+
+Sun Oct 1 19:50:59 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (expand_inline_function): Handle PARALLEL in CALL_INSNs
+ when setting follows_call.
+
+ * i860.md (pfeq, pfgt and pfle patterns): Add f0 as 3rd arg.
+
+ * integrate.c (save_for_inline): Don't delete NOTE_INSN_FUNCTION_END.
+
+Fri Sep 29 08:56:30 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-next.h (LINK_SPEC): Typo for -Z option.
+
+Thu Sep 28 12:57:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (decompose): Handle case of pseudo with no hard reg.
+
+Wed Sep 27 01:20:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * explow.c (round_push): Fix typo: return fast if ALIGN is 1.
+
+ * varasm.c (in_text_section): New function.
+ * tm-3b1.h (ASM_OUTPUT_SKIP): Use that.
+
+Tue Sep 26 02:40:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (commontype): If one arg is error_mark_node, return other.
+
+Sun Sep 24 00:21:24 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (poplevel): When popping a local extern decl,
+ save the TREE_USED bit in the identifier.
+ * toplev.c (compile_file): Check that, printing "not used" warnings.
+
+ * tree.c (make_node): Always put PARM_DECL in saveable_obstack.
+
+ * Version 1.36 released.
+
+ * genextract.c (main): Pass `insn' as arg to `fatal_insn_not_found'.
+
+ * tahoe.md (casel patterns): Use %@ for operand of .align.
+ * tm-tahoe.h (PRINT_OPERAND): %@ prints `1'.
+ * tm-harris.h (PRINT_OPERAND): Redefine it; %@ prints `2'.
+
+ * config.gcc (decstation): New entry.
+
+ * tm-harris.h: New file, using tm-tahoe.h.
+
+ * tm-decstatn.h, tm-mips-bsd.h, tm-mips-sysv.h: New files.
+
+Sat Sep 23 00:28:14 1989 Alain Lichnewsky (lich at glenlivet)
+
+ * added -Zxxx flag in tm-mips.h. (-Z stands for systype)
+
+ used as -ZSYSV or -ZBSD43 on RISC_OS. I suppose
+ that at somepoint -ZPOSIX might be required for Ultrix.
+
+ * changed command issued to loader to set -systype and to get
+ crt1 crtn instead of crt0.
+
+ * changed predefines for cpp to agree with RISC-OS
+
+ * tm-mips.h checks for machine type ( defined(ultrix) == DECSTATION)
+ so that user does not have to go in and change tm-mips.h anymore
+
+ * cpp defines mips host_mips unix and SYSTYPE_SYSV
+ or SYSTYPE_BSD43.
+
+Fri Sep 22 00:31:29 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * pyr.md (andsi3): Flush spurious paren.
+
+ * Makefile (hard-params): Don't use LIBS or LIBDEPS.
+
+ * rtl.c (init_rtl):
+ Use malloc to allocate the string for format of CONST_DOUBLE.
+ Don't fail to store in rtx_format.
+
+Thu Sep 21 00:33:13 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * print-tree.c (dump): Move decl of P in REAL_CST case.
+
+ * fold-const.c (fold): For ABS_EXPR, handle REAL_IS_NOT_DOUBLE.
+
+ * c-convert.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
+
+ * mips.md (movdi): Handle constant with or without WORDS_BIG_ENDIAN.
+ For alternative 2, output just 2 store insns, not 3.
+
+ * dbxout.c (dbxout_symbol): Optionally go to .data for
+ a static file-scope variable.
+ * tm-vax.h: Define DBX_STATIC_STAB_DATA_SECTION to request this.
+
+ * varasm.c (output_constant, force_const_mem):
+ ASM_OUTPUT_DOUBLE_INT now takes rtx as argument.
+
+ * gvarargs.h [__NeXT__]: Undefine macros defined by stdardg.h.
+ Define _VARARGS_H.
+
+ * stddef.h (size_t): Don't define it if _SIZE_T macro is defined.
+ (NULL): Undef any previous defn.
+
+ * cexp.y (NULL): Don't define if already defined.
+
+ * emit-rtl.c (force_next_line_note): New function.
+ * stmt.c (expand_function_start): Call that just before returning.
+
+Wed Sep 20 01:22:16 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (asm_clobbers):
+ Allow string concatenation: call combine_strings.
+
+Mon Sep 18 00:04:06 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): If calling const function, don't defer
+ pops for this call.
+
+ * c-parse.y (yylex): When float constant ends in `f',
+ actually truncate to a single-float.
+
+Sun Sep 17 01:36:43 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (SWITCH_TAKES_ARG): -A takes an arg.
+ (link_spec): Inhibit start files when -A.
+
+ * convex.md (call, call_value): Supply dummy arg to RETURN_POPS_ARGS.
+
+ * gnulib2.c (__fixunsdfdi): After removing top half, A can be neg.
+ (__cmpdi2, __ucmpdi2): Was misusing macros HIGH and LOW--
+ use .s.high and .s.low to extract words from long_long.
+
+ * Makefile (gnulib2): Run `./gcc'.
+
+ * Makefile (float.h): Use `make', not `$(MAKE)'.
+ (hard-params.o): Use `$(srcdir)' in deps as in commands.
+
+ * out-tahoe.c (output_move_double): Handle constant operand 1.
+
+Sat Sep 16 01:15:24 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns): Put death note for input reload reg
+ even if reload was inherited.
+
+ * out-i860.c (output_block_move): Typo loading size of block.
+
+ * m68k.md (dbra patterns): Do CC_STATUS_INIT.
+
+ * cse.c (fold_rtx): Check GET_MODE_CLASS before floating negate.
+
+Fri Sep 15 00:39:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst): Don't combine (subreg (mem))
+ if subreg's mode is wider than mem's mode.
+
+Thu Sep 14 04:33:51 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (clean): Delete temp files used in making gnulib.
+
+ * tm-next.h (LINK_SPEC): Pass -Z and -seglinkedit options.
+
+Tue Sep 12 01:06:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for ints.
+
+ * mips.md (cmpsi + bleu peephole): Should output unsigned insn.
+
+ * expmed.c (store_bit_field, extract_bit_field): If loading mem
+ into reg for bit field insn, don't use a larger mode than insn wants.
+
+ * Makefile (stamp-gnulib2): Depend on gcc, cc1, cpp to avoid
+ wrong order of making when parallel.
+
+ * Makefile (float.h): Do use $(MAKE) to run recursive make.
+
+Mon Sep 11 00:49:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (main): Test for missing arg after -o, etc.
+
+ * tm-next.h: Nearly completely new.
+
+ * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move after config.h.
+
+ * cccp.c: Cast some args to strcpy and strcat.
+
+ * genoutput.c (error): Declare arg S.
+
+ * tm-pyr.h, pyr.md, out-pyr.c, xm-pyr.h: New files.
+ * config.gcc: New item for pyr.
+
+ * gvarargs.h: If __pyr__, use va-pyr.h.
+
+Sun Sep 10 00:48:43 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (inc_for_reload): Really return the first of the insns.
+
+ * stor-layout.c (build_int): Memoize size nodes for sizes <= 32.
+
+ * loop.c (check_dbra_loop): Don't reverse a biv that is used
+ in between its update and the loop endtest insn.
+
+Sat Sep 9 02:10:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (genop): Don't use `combine' for nonexplicit constants.
+ Handle some identity elements, etc., directly.
+ (layout_basetypes): Function deleted.
+ (layout_record): Ignore any TYPE_DECLs in the fieldlist.
+ Don't do PCC_BUTFIELD_TYPE_MATTERS hack on field with ERROR_MARK type.
+ (layout_union): Delete error check for base types.
+ Ignore any TYPE_DECLs in the fieldlist.
+ (layout_type): Copy layout info directly into all variants of type.
+ Delete unused local `x'.
+
+ * mips.md (movdi): Handle constant source operand.
+ (movsi): Some output code moved to output_load_immediate.
+ * out-mips.c (output_load_immediate): New function.
+
+ * config.gcc (iris): Use tm-iris.h and xm-iris.h.
+
+ * integrate.c (copy_for_inline): Copy all nonconstant MEM addresses.
+
+ * tm-3b1.h (ASM_OUTPUT_SPACE): New override defn, to output explicit
+ bytes of 0 if in text segment.
+
+Fri Sep 8 19:15:08 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (try_combine): Don't do i3dest stuff if i3 isn't a SET.
+
+Thu Sep 7 00:16:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (function_cannot_inline_p): Fn is "not even close"
+ only if > 3 * max_insns.
+
+ * toplev.c (fatal_insn_not_found): New fn.
+ * genextract.c (main): Make insn_extract call that fn.
+
+ * integrate.c (expand_inline_function): Don't abort about bad offset
+ in a parm whose type is error_mark_node.
+ Make another syntax level to hold parm destructors.
+
+ * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
+ Increment push_loc after, not before, each reg save or restore.
+ When storing reg 9 or 29, use offset tsize-4.
+ Make tsize larger by 4 initially.
+ (STARTING_FRAME_OFFSET): -8, not -4.
+
+ * gcc.c (choose_temp_base): Make use of TMPDIR and P_tmpdir
+ if they exist.
+
+ * toplev.c, gcc.c, cccp.c, gen*.c (fancy_abort):
+ New function which can be used to replace `abort'.
+
+ * toplev.c (main): Save argv, argc in save_argv, save_argc.
+
+ * jump.c (delete_insn): Always advance NEXT across deleted insns,
+ in case not optimizing. Fixes setting current_function_returns_null.
+
+ * symout.c: Include stddef.h with <...>.
+
+Wed Sep 6 00:39:35 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (find_exec_file): Was using `argbuf[0]' where wanted `prog'.
+
+ * combine.c (combine_instructions): Dont call record_dead_and_set_regs
+ if insn has become a NOTE.
+
+ * reload.c (combine_reloads): Update reload_when_needed.
+
+ * jump.c (delete_insn): If delete label on ADDR_VEC, delete table too.
+ (jump_optimize): If ADDR_DIFF_VEC label has 1 ref, delete it and table.
+
+ * gunlib2.c (__fixunsdfdi, __floatdfdi): Make the long long,
+ and/or its two halves, unsigned.
+
+ * reload1.c (reload): When setting double_reg_address_ok,
+ require it to be offsettable.
+ * out-sparc.c (output_fp_move_double): Now safe to use std
+ for all reg+reg addresses.
+
+ * vax.md: Add another simplified-casesi pattern for operand 0 constant.
+
+ * cse.c (fold_rtx): Don't truncate VAL at end if WIDTH is 0.
+ Don't alter WIDTH for that purpose based on the operands.
+
+ * stmt.c (warn_if_unused_value): && or || is ok if 2nd op has effect.
+
+ * c-parse.y (ALIGNOF unary_expr): Find a larger value if possible.
+
+ * reload.c (combine_reloads): Don't combine an output address reload.
+ (find_reloads): Call combine_reloads after setting reload_when_needed.
+ (find_reloads_address): Update OPERAND if copy the operand.
+
+ * cccp.c (macroexpand): Missing arg no error in 1-arg macro if -trad.
+
+Tue Sep 5 14:12:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (find_dummy_reload): Don't use the output reg if it is
+ a fixed reg which can overlap with other regs.
+
+ * cse.c (exp_equiv_p): Two vectors must have same length.
+
+ * tree.def (WITH_CLEANUP_EXPR): Print-name string was wrong.
+
+ * optabs.c (expand_fix): Undo previous change (unsigned conversion).
+ It doesn't work.
+
+ * gcc.c: Pass -i option to cpp. It takes an arg.
+
+ * cccp.c (cplusplus_include_defaults) [VMS]: Typo in array indices.
+
+ * Makefile (gnulib): Create it in tmpgnulib, then rename at the end.
+
+ * i860.md (movdi from constant pattern): Fix `st' opcode typos.
+
+ * Makefile (hard-params*): Use CCLIBFLAGS, not CFLAGS.
+
+Fri Sep 1 03:43:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-i386gas.h (ASM_OUTPUT_ALIGN): .align arg isn't a log, in gas.
+ (ASM_OUTPUT_ALIGN_CODE): Align labels, etc. to 4-byte boundary.
+
+ * integrate.c (save_for_inline): Delete NOTE_INSN_DELETED notes.
+
+ * Makefile (clean): Delete dbr and jump2 dumps.
+
+ * Makefile (gnulib, gnulib2): Compile in main dir, not libtemp subdir.
+ This avoids trouble with -I options, etc.
+
+Thu Aug 31 15:07:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns):
+ Be specific moving REG_DEAD notes to an output reload.
+ Sometimes move them to output-operand-address reloads.
+
+ * out-sparc.c (output_fp_move_double): Very cautious about std.
+ Use it only for something visibly aligned, or for an array element.
+
+ * cccp.c (main) [VMS]: Remove dirs and extension from PROGNAME.
+ (pfatal_with_name) [VMS]: Return VMS system call error code as status.
+ (cplusplus_include_defaults) [VMS]: Add GNU_GXX_INCLUDE.
+
+ * xm-vms.h (FATAL_EXIT_CODE): Now (44 | 0x10000000).
+
+ * expr.c (do_store_flag): Allow more values of STORE_FLAG_VALUE.
+
+ * gnulib2.c (__fixunsdfdi): Explicitly cast doubles to `long int'
+ to avoid infinite recursion.
+
+Wed Aug 30 13:28:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (skip_consec_insns): Skip NOTEs.
+
+ * loop.c (general_induction_var): If G or V is a nonreplaceable giv,
+ give up. If G is allocated here, consider it replaceable.
+
+ * stupid.c: Make uid_suid, reg_where_born and reg_where_dead
+ vectors of ints, not short.
+
+Tue Aug 29 00:21:13 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-iris.h: Fix typo in formfeed char.
+
+ * out-i860.c (singlemove_string): Add missing `.l' to `st', `ld'.
+
+ * loop.c (general_induction_var): Don't set G from 2nd op. of MINUS,
+ since that would negate the result.
+
+Mon Aug 28 00:16:36 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * dbxout.c (dbxout_symbol): When we need a pointer type, don't
+ record it in TYPE_POINTER_TO, lest it not live as long as its target.
+
+ * tm-hp9k320.h (CPP_PREDEFINES): Delete __hp9000s300 and _HPUX_SOURCE.
+
+ * Makefile (gnulib): Deleted stamp-gnulib2 in wrong dir.
+ (hard-params.o): Copy it into current dir before compiling.
+ (STAGESTUFF): Include the stamp-*.[ch] files.
+
+Sun Aug 27 13:59:39 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * out-i860.c (output_size_for_block_move): Typo in CC_KNOW_HI_R31.
+
+ * integrate.c (expand_inline_function): Ignore insns to set value reg
+ if we don't want the value.
+
+ * varasm.c (make_function_rtl, make_decl_rtl): Use DECL_ASSEMBLER_NAME.
+
+ * Makefile (stamp-gnulib2): Don't explicitly delete old members,
+ just replace them.
+
+ * m68k.md, alliant.md (trunchiqi): Use movew if moving from memory
+ or from a const_int.
+
+ * integrate.c (expand_inline_function): Set first_parm_offset
+ later on, after computing the args, in case those args
+ contain inline function calls.
+
+ * alliant.md (movqi): Like recent change in m68k.md.
+
+Sat Aug 26 00:26:03 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_PREDEFINES): Take out m68k and mc68000.
+ * tm-news.h (CPP_PREDEFINES): Add mc68000.
+
+Fri Aug 25 15:37:35 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * optabs.c (expand_fix): Can convert to unsigned int
+ by subtracting 2**(N-1), converting to signed, and adding 2**(N-1).
+
+ * reload.c (find_reloads_address): For out-of-range stack slot,
+ reload the displacement into a reg.
+ (find_reloads_toplev): For subreg of a reg with a reg_equiv_address,
+ turn the whole thing into a memref.
+
+Thu Aug 24 14:07:03 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * c-decl.c (grokdeclarator): If function is declared `extern inline',
+ set current_extern_inline.
+ (start_function): In that case, set TREE_EXTERN in function decl.
+ * toplev.c (rest_of_compilation): In that case, don't really compile.
+ (compile_file): Don't output such functions at the end either.
+
+ * c-typeck.c (build_function_call): Do set NAME if we have one.
+
+ * Prevent any variability in results of qsort.
+ * stupid.c (stupid_reg_compare): Compare by regno as last resort.
+ * global-alloc.c (allocno_compare): Same idea.
+ * local-alloc.c (qty_compare_1): Same idea.
+ * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Same idea.
+
+ * cccp.c (macroexpand): If read one arg, but it's whitespace,
+ consider that 0 args for checking number of args.
+ Improve plurals in error messages.
+
+ * expr.h (inhibit_defer_pop): New name for current_args_size,
+ now declared here.
+ (NO_DEFER_POP, OK_DEFER_POP): Moved here.
+ * expr.c: Names related to current_args_size renamed.
+ (clear_current_args_size): Deleted.
+ * stmt.c (expand_function_start): Init inhibit_defer_pop here.
+
+ * stmt.c (expand_start_stmt_expr): Do NO_DEFER_POP.
+ (expand_end_stmt_expr): Do OK_DEFER_POP, and don't do deferred pops.
+
+ * Makefile (c-parse.tab.c): Pass -o option to Bison.
+
+Wed Aug 23 23:14:06 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * expmed.c (store_bit_field, extract_bit_field):
+ Use GET_MODE_WIDER_MODE to scan possible modes for bestmode.
+
+ * Makefile (stamp-gnulib2): Discard error messages from `ar d'.
+
+Tue Aug 22 00:31:51 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * final.c (output_source_line): In COFF, don't output `.ln 0'.
+
+ * Makefile (stamp-gnulib2): Depend on gnulib. For parallel make.
+
+ * stmt.c (uninitialized_vars_warning): Don't crash if DECL_RTL is 0.
+
+ * i386.md (truncdfsf2): Pay attention whether stack top is dead.
+
+Mon Aug 21 22:02:40 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * reload1.c (choose_reload_regs): Don't use regno uninitialized,
+ in the code that does find_equiv_reg.
+
+Sun Aug 20 00:06:47 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * m68k.md (movqi): Was outputting bad code for areg->mem and mem->areg.
+
+ * explow.c (memory_address): Handle a hard reg in wrong reg class.
+
+ * stmt.c (expand_function_end): Set REG_FUNCTION_VALUE_P in return
+ reg when returning address of structure value block.
+
+ * integrate.c (save_for_inline): Preserve integrated bit on insns.
+
+Sat Aug 19 14:20:07 1989 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+
+ * combine.c (subst): Don't change (subreg:M (mem:N ...)) to
+ (mem:M ...) if address is mode-dependent.
+
+ * config.gcc: Copy and alter Makefile for any srcdir except `.'.
+ In that case, make a .gdbinit as well.
+
+ * sparc.md (andcbsi3, iorcbsi3, xorcbsi3): These are not commutative.
+
+ * vax.md (cmpv and cmpzv patterns): Use COMPARE, not MINUS.
+
+Fri Aug 18 12:24:52 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * alliant.md (movqi): Change move to mov in assembler code.
+
+ * integrate.c (expand_inline_function):
+ Handle args passed in regs and copied to slots reached via arg ptr.
+
+ * out-sparc.c (output_delayed_branch):
+ Do alter_subreg on operands of delay insn.
+
+ * reload1.c (choose_reload_regs): Look for a reg to share
+ before one that we won't share.
+
+ * expr.h: Define OPTAB_MUST_WIDEN.
+ * optabs.c (expand_binop): Handle that case.
+ * expmed.c (expand_shift): Use that when widening lshift to ashift.
+
+ * optabs.c (emit_cmp_insn): Use CONST0_RTX, not individual vars.
+
+ * gnulib2.c (lsh*di3, ash*di3): Return right away if count is zero.
+ Otherwise tried to shift by 32.
+ Also replace constant 32 by something symbolic.
+
+ * final.c (output_source_line): Output line number in COFF
+ even if wrong file.
+
+Thu Aug 17 15:16:34 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * Makefile (version.o): Make this a target; specify source file.
+ (obstack.o): Likewise.
+
+ * config.gcc (i860): New alternative.
+
+ * i860.md (movstrsi): Record the alignment as operand 3.
+ Renumber following (internal) operands.
+ * out-i860.c (output_block_move): Rewrite as in out-sparc.c.
+ (output_size_for_block_move): Likewise. And don't
+ subtract alignment from the size.
+
+Wed Aug 16 13:27:12 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * loop.c (combine_movables): Don't combine zero-extend
+ registers that live outside the loop.
+
+ * integrate.c (expand_inline_function): Use copy_to_mode_reg
+ to set up this_struct_value_rtx, to handle sums right.
+
+ * Makefile: Use $(srcdir) in bison output files used as deps.
+ Supply some missing deps.
+ (*.info, doc): *.info files go in srcdir.
+
+Tue Aug 15 00:11:12 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * i860.md, tm-i860.h, out-i860.c: New files.
+
+ * c-decl.c (duplicate_decls): Fix bug determining whether NEWDECL
+ is a definition or just a decl.
+ Combine code to preserve various things from old definition
+ through a declaration.
+
+ * config.gcc: Scan all args at beginning, setting variables.
+ Arg of form -srcdir=... sets srcdir explicitly.
+ srcdir now doesn't contain a slash, and is used with a slash.
+
+ * Makefile (install): Copy header files and gcc.1 from srcdir.
+ But copy float.h from current dir. (Remove that from USER_H.)
+ (various): Use new variable INCLUDES to get the -I options.
+ Add -I. at the beginning of these.
+ (gnulib, gnulib2): Likewise, use SUBDIR_INCLUDES.
+ Also, get source file from srcdir.
+ Also, depend on $(CONFIG_H).
+ (alloca.o): Get alloca.c from srcdir.
+
+ * reload1.c (emit_reload_insns): Bug in last change:
+ don't fail to set this_reload_insn.
+
+ * Makefile (Bison rules): Specify $(srcdir) for target and source.
+ (Explicit C rules): Specify $(srcdir)/ for source in commands.
+ Use sed to eliminate `./' in normal case.
+ (insn-*.c): Use $(srcdir) to run move-if-change.
+
+ * config.gcc: Check . and .. for the sources.
+ If in .., use that when making links.
+ Also, copy Makefile, alter srcdir in it, and add a VPATH.
+
+ * stmt.c (expand_end_case): When converting CONST_INT index
+ to an INTEGER_CST, sign-extend if signed type.
+
+Mon Aug 14 13:51:08 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * c-decl.c (duplicate_decls): Warn for qualifier mismatch
+ only if pedantic; don't consider it a type mismatch.
+ Merge the qualifiers of the two decls if the types match.
+
+ * expmed.c (store_bit_field): For insv, memref displacement
+ always counts in bytes, regardless of unit fetched.
+ When checking predicate of op0, accept any mode.
+
+ * optabs.c (expand_float): One call to can_float_p had args backwards.
+
+ * loop.c (check_dbra_loop): Set the JUMP_LABEL of the new jump insn.
+ Increment label's use count rather than storing 2.
+
+ * Makefile: Instead of $<, which fails in certain makes,
+ use $@ and then substitute in the name with sed.
+
+ * out-sparc.c (output_scc_insn): Handle CC_REVERSED for ordered tests.
+ Use orcc insns to store the result and set cc's for it.
+
+ * sparc.md (scc combination patterns):
+ Use operands[0] as basis for recorded cc value.
+
+ * gnulib2.c (floatdidf, fixdfdi, fixunsdfdi): New functions.
+
+ * gnulib.c (floatdidf, fixdfdi, fixunsdfdi): Deleted.
+ (union longlong, union double_di): Deleted.
+ (HIGH, LOW): Deleted.
+ These were deleted because most did not handle full range of DI
+ and they didn't use the right calling convention for DI.
+
+Sun Aug 13 13:06:45 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * c-typeck.c (comptypes): Qualifiers must match.
+ (Was already true for scalars.)
+ Also, array elt qualifiers must match.
+
+ * tm-apollo68.h (STRUCT_VALUE): Make it 0.
+ (This was done before and lost.)
+ * out-i386.c (function_epilogue): Use ret $4 to pop structure address.
+ (This was done before and lost.)
+
+ * out-i386.c (call_top_dead_p): Don't fail to check
+ the rtx code of the insns themselves.
+ (This was done before and lost.)
+
+ * out-sparc.c (output_block_move): If align is 8, make it 4.
+
+ * typeclass.h: New file.
+ * expr.c: Include it.
+ (expand_builtin): Use those codes in __builtin_classify_type.
+
+ * Makefile (all, lang-c): Reinstall gnulib2.
+
+ * Makefile (gnulib2): Don't give up if `ar d' fails.
+
+ * expr.c (emit_library_call): New 2nd arg NO_QUEUE.
+ All callers changed to pass it.
+ * optabs.c (expand_binop, expand_unop): Don't call emit_queue.
+ Instead, pass 1 for NO_QUEUE to emit_library_call.
+
+Sat Aug 12 12:05:22 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns): Decision for where to put input
+ reload insn is now common to ordinary case and auto-increment.
+ Likewise, updating these positions afterward.
+
+ * stmt.c (assign_parms): Treat last named arg as nameless.
+ * expr.c (expand_call): Likewise.
+
+ * explow.c (copy_to_mode_reg): Use force_operand for PLUS or MULT.
+ (copy_addr_to_reg): Use copy_to_mode_reg.
+
+ * expmed.c (store_bit_field): Handle case where insv rejects memrefs.
+
+ * tm-convex.h (ASM_OUTPUT_ALIGN): Magic to handle the fact
+ that this is not called when LOG is 0.
+
+Fri Aug 11 16:39:51 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * emit-rtl.c (get_lowpart): For multi-word, in error check,
+ test the unit size of the containing mode.
+
+ * cccp.c (macroexpand, dump_all_macros): Return void.
+ (macroexpand): Cast sprintf arg to char*.
+ (error, warning, error_with_line): Declare first arg char*.
+
+Thu Aug 10 21:42:13 1989 Richard Stallman (rms at hobbes.ai.mit.edu)
+
+ * expr.c (expand_call):
+ Use force_operand to copy arithmetic to register.
+
+ * dbxout.c (dbxout_symbol): Go back to N_FUN for const variable.
+
+ * integrate.c (expand_inline_function): Use proper machine mode
+ for a structure value in memory at address passed by caller.
+
+Wed Aug 9 15:21:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc: Delete unnecessary variable assignments in case stmt.
+ (isi68-nfp): New alternative.
+
+ * combine.c (try_combine): Don't substitute for a register
+ which is being explicitly clobbered.
+
+ * This change was requested for C++.
+ * varasm.c (decode_reg_name, make_decl_rtl): Arg ASMSPEC now char *.
+ * toplev.c (rest_of_decl_compilation): Likewise.
+ * c-decl.c (finish_decl): Change call to rest_of_decl_compilation.
+
+ * tree.h (struct tree_decl): Pack machine_mode into 8 bits.
+
+ * explow.c (memory_address, copy_to_reg):
+ Use force_operand to copy arithmetic to register.
+
+ * tm-isi68-nfp.h: New file.
+ * tm-isi68.h: Allow overriding TARGET_DEFAULT, and let that
+ change CPP_SPEC and LINK_SPEC.
+ (ASM_FILE_START): No `.globl fltused' if soft-float.
+
+Tue Aug 8 21:50:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (const_hash): For constructor, mask TREE_TYPE to HASHBITS
+ bits and take modulo, so we don't get negative numbers.
+
+ * varasm.c (record_constant_1, compare_constant_1):
+ Record and compare the width of an integer.
+
+ * varasm.c (assemble_function, assemble_variable, get_or_assign_label):
+ (force_const_mem): Don't call ASM_OUTPUT_ALIGN if boundary is 1.
+
+ * c-decl.c (duplicate_decls): Consider const and volatile as part of
+ type when checking for match and when installing new type into OLDDECL.
+
+ * expr.c (do_store_flag): Make sure target fits operand predicate.
+ Also, omit the AND insn when true-value is 1
+ and the mode we get is wider than the one we want.
+
+ * genrecog.c (main): Make insn-recog.c include real.h.
+
+Mon Aug 7 16:58:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * genemit.c (main): Define `operands' as `emit_operands',
+ not `recog_operands'.
+
+ * reload1.c (emit_reload_insns): Don't copy back a dead output reg.
+
+Sun Aug 6 13:56:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sdbout.c (plain_type_1, sdbout_one_type): Use the main variant.
+ (sdbout_type_fields): No need to check TREE_ASM_WRITTEN here,
+ since sdbout_one_type does that.
+
+ * expr.c (do_store_flag): Ensure the CLOBBER doesn't clobber an input.
+
+ * fold-const.c (fold_convert): Attempt to avoid overflow
+ when converting real to integer. Use unsigned conversion for
+ low part; always convert as positive and then change sign;
+ subtract high part before converting low part.
+ Also, check for real values out of range for chosen int type;
+ warn and do not convert.
+
+ * tm-hp9k320.h (CPP_SPEC) [not HPUX_ASM]: Don't define mc68000 here.
+ (CPP_PREDEFINES): Remove mc68k, add m68k and mc68000.
+ [HPUX_ASM]: Define CPP_SPEC here as in the other case,
+ but add __HPUX_ASM__ to each alternative.
+
+ * tm-m68k.h (FUNCTION_EPILOGUE): Call new hook FUNCTION_EXTRA_EPILOGUE.
+ * tm-altos3068.h (FUNCTION_EXTRA_EPILOGUE): Define it.
+
+ * Makefile: Use $< wherever appropriate.
+ Also put definitions of customization vars before the comments
+ saying how to override them.
+
+Sat Aug 5 14:15:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (sne): Typo in opcode name.
+
+ * tree.h (struct tree_identifier): Delete redundant/unused error_locus.
+
+Fri Aug 4 00:04:10 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (const_hash, compare_constant_1, record_constant_1):
+ Compare types only for record constructors, not for array constructors.
+
+ * dbxout.c (dbxout_parms): When outputing parm from home in local slot,
+ with address from the RTL, don't do big-endian correction on it.
+
+ * c-typeck.c (build_unary_op): Do default conversion for unary +.
+
+ * cccp.c (rescan): Accept comments between macro and its args.
+
+ * c-decl.c (lang_decode_option): -traditional implies writable strings.
+
+ * cccp.c (trigraph_pcp): Make warning msg more accurate.
+
+ * c-typeck.c (c_expand_asm_operands): Delete the default promotion
+ which was inserted mysteriously since 1.35.
+
+ * global-alloc.c (global_conflicts): Allocate regs_set only once.
+ Make it twice as big since clobbers are stored twice.
+
+ * sparc.md (block move patterns): Record and use alignment operand.
+ * out-sparc.c (output_block_move): Get alignment from there.
+ (output_size_for_block_move): Greatly simplified.
+
+ * tm-i386v.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
+
+ * stor-layout.c (layout_record): Anonymous bitfields don't affect
+ overall structure alignment, in PCC_BITFIELD_TYPE_MATTERS case.
+
+ * loop.c (strength_reduce): Prevent hard reg from becoming biv or giv.
+
+ * combine.c (subst): Simplify (eq (neg ...) (const_int 0)).
+
+Thu Aug 3 13:08:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (fold_rtx): For (op var const) special cases, also check
+ for constant as first argument.
+
+ * c-decl.c (pushtag): For global_binding_level, make permanent nodes.
+
+ * expr.c (do_store_flag): Put the CLOBBER before the comparison.
+
+ * expr.c (emit_push_insn): Conditionalize recent changes
+ on no FIRST_PARM_CALLER_OFFSET, so they don't happen on sparc.
+
+ * out-sparc.c (gen_scc_insn):
+ Don't be confused by CLOBBER emitted by do_store_flag.
+ Skip past such insns looking for last_insn.
+ Don't alter last_insn; instead, patch it to a NOTE and emit new insn.
+
+ * varasm.c (const_hash, compare_constant_1, record_constant_1):
+ For a CONSTRUCTOR, hash/compare/record type as well as elts.
+
+ * cse.c (cse_insn): July 18 change was wrong.
+ Now, invalidate at the beginning any regs explicitly clobbered
+ so they will not be substituted for if they appear as inputs.
+ * sparc.md (movstrsi): Copy addresses to temp regs, then use them.
+
+ * loop.c (record_giv): When comparing life spans for setting
+ ->forces, use luids consistently, not uids.
+
+ * sparc.md (ashlsi3, ashrsi3, lshrsi3): Truncate constants mod 32.
+
+Wed Aug 2 17:50:30 1989 Richard Stallman (rms at sugar-bombs)
+
+ * mips.md (patterns to move a subreg): Deleted.
+
+Sun Jul 30 19:23:13 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (process_command): Skip `-b' like `-B', in 2nd scan.
+
+ * xm-sunos4.h: Deleted.
+ * tm-sparc.h, tm-sun3.h: Define LINK_SPEC here instead.
+ * tm-sun4os3.h: Undef it here.
+ * tm-sun3os3.h, tm-sun3os3nf.h: New files to undef LINK_SPEC.
+ * config.gcc: Use those new files where needed.
+
+ * config.gcc: Delete sun3-fpa and sun3-os4-fpa.
+ * tm-sun3-fpa.h: Deleted.
+
+ * cccp.c (do_include): Mention even non-ex files for -M.
+
+ * out-mips.c (addr_compensate): Handle HImode.
+ * mips.md (Set HI from subreg of SI rule):
+ Allow operand in memory.
+
+ * mips.md (cmpqi, cmphi): Patterns deleted.
+ (cmpsi, cmpsf, cmpdf): Change predicates to register_operand.
+
+ * cexp.y (rule for ?:): Result is unsigned if either operand is.
+
+ * expr.c (emit_push_insn): If PARTIAL > 0, load the partial regs
+ at the end, in case the rest of the push does a function call.
+
+ * reload1.c (alter_frame_pointer_addresses):
+ After altering a PLUS, re-fetch CODE before scanning subexps.
+
+ * stmt.c (assign_parms): Don't copy the arg pointer value
+ if it is also the frame pointer. If we do copy it,
+ inhibit REG_EQUIV notes for parms copied into pseudo regs
+
+ * integrate.c (copy_for_inline, copy_rtx_and_substitute):
+ Set up filename and lineno fields of copy of ASM_OPERANDS.
+
+Sat Jul 29 18:58:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (expand_inline_function): Handle struct-value-addr
+ passed in memory just like that passed in reg:
+ in either case, translate the pseudo-reg made in
+ expand_function_start.
+ (function_cannot_inline_p): Permit inlining in that case.
+ But reject it if using pcc-style return convention.
+
+ * stor-layout.c (layout_type): Consider STRICT_ALIGNMENT
+ for ARRAY_TYPE just as for RECORD_TYPE.
+
+Wed Jul 26 12:54:59 1989 Richard M. Stallman (rms at mipos3)
+
+ * cse.c (fold_rtx): If WIDTH is zero for binary operator,
+ look at the modes of the original operands.
+
+ * cse.c (cse_insn): Set prev_insn_explicit_cc0, for (set (cc0) INT).
+ (predecide_loop_entry): Likewise.
+ (fold_rtx): Look at it, for (if_then_else (cc0) ...).
+
+ * expr.c (expand_builtin): Pass back return value from
+ __builtin_saveregs.
+
+ * stmt.c (assign_parms): Allow arg pointer reg not to be fixed.
+ If it is not, copy it to a pseudo reg and use that later on.
+
+Tue Jul 25 15:42:04 1989 Richard M. Stallman (rms at mipos3)
+
+ * expr.c (expand_builtin): New builtin __builtin_classify_type.
+ * tree.h, c-decl.c: Additional support.
+
+ * flow.c (mark_used_regs): Treat arg pointer like stack pointer.
+
+ * expr.c (emit_library_call):
+ Pass (tree)0 as TYPE arg to FUNCTION_ARG, etc.
+
+Mon Jul 24 11:18:10 1989 Richard M. Stallman (rms at mipos3)
+
+ * loop.c (regs_match_p): Fix braino.
+
+ * integrate.c (copy_for_inline, copy_rtx_and_substitute):
+ Make ASM_OPERANDS constraint vector be shared like operand vector.
+
+ * xm-iris.h: New file.
+
+ * Makefile (stage4): New target.
+
+ * gnulib2.c (badd, bsub, bmul, bdiv): If want long value from
+ arithmetic, widen the operands first.
+ (__div_internal aka bdiv): Rename to __bdiv.
+
+ * sparc.md (seq combination patterns): Fully initialize cc_status.
+
+ * expr.c (emit_push_insn): Like July 19 change, for BLKmode.
+
+ * stmt.c (expand_function_end): Stack-restore for alloca
+ is now done after the return_label.
+
+ * loop.c (scan_loop): Set MAYBE_NEVER for conditional jump to loopbeg.
+
+ * integrate.c (copy_rtx_and_substitute): Allow mapping of hard regs.
+ (expand_inline_function): Always create parm_map.
+ Handle structure value that way if nec. even if no parms.
+ Otherwise, find the pseudo used in the function to hold the
+ structure address, and map it to a new pseudo.
+
+ * expr.c (expand_call):
+ Use mark_addressable to make FNDECL addressable.
+ * c-typeck.c (mark_addressable): No longer static.
+
+ * cse.c (cse_insn): Modify last change: don't canon_reg
+ for hard regs inside clobbers.
+
+ * expr.c (expand_assignment): ALIGN arg to store_field comes from
+ the structure, not from the value stored.
+
+Fri Jul 21 16:23:45 1989 Richard M. Stallman (rms at mipos3)
+
+ * stmt.c (warn_if_unused_value): Don't warn for a cast
+ around a MODIFY_EXPR.
+
+ * tm-hp9k320.h (PCC_STATIC_STRUCT_RETURN): Undefine it.
+ (CPP_PREDEFINES): Add some.
+
+ * combine.c (simplify_and_const_int):
+ Simplify (and (ashiftrt (zero_extend FOO) N) M).
+
+ * optabs.c (expand_binop): When widening,
+ for some operations we need not actually extend.
+
+Thu Jul 20 16:16:35 1989 Richard M. Stallman (rms at mipos3)
+
+ * Makefile (insn-emit.o): Depend on insn-codes.h.
+
+ * stmt.c (check_for_full_enumeration_handling):
+ Handle all cases for TYPE_NAME of enum type.
+
+Wed Jul 19 17:00:39 1989 Richard M. Stallman (rms at mipos3)
+
+ * fold-const.c (fold_convert): Don't fail to force_fit_type.
+
+ * expr.c (emit_push_insn): When pushing only part of scalar on stack,
+ adjust stack offset not to count the words not pushed.
+
+ * stmt.c (expand_function_end): Always put return structure address
+ in return register.
+
+ * c-typeck.c (process_init_constructor): Assume 0 for nameless field.
+
+ * recog.c (general_operand, memory_operand):
+ Check validity of mem address using the mode of the MEM.
+
+ * fixincludes: When calling egrep, use redirect, not -s.
+
+Tue Jul 18 11:18:55 1989 Richard M. Stallman (rms at mipos3)
+
+ * Makefile (bootstrap*): Pass value of libdir down.
+
+ * cse.c (cse_insn): Do canon_reg on any CLOBBERs and USEs.
+
+ * cse.c (cse_insn): Don't use no_labels_between_p to check
+ for jump to following label; find following label and compare.
+
+ * combine.c (try_combine): Don't substitute into subreg(x)=y
+ if modes of x and y are not tieable.
+
+ * out-i386.c (call_top_dead_p): Don't fail to check
+ the rtx code of the insns themselves.
+
+ * i386.md (tstsf, tstdf): Don't discard TOS if not dead.
+
+ * stupid.c: Don't use regs with PRESERVE_DEATH_INFO_REGNO_P
+ for pseudos which live across jumps or labels.
+ (stupid_life_analysis): Update last_jump_suid, last_label_suid.
+ (stupid_mark_refs): Use those to set reg_crosses_blocks.
+ (stupid_find_reg): Check that data, passed from stupid_life_analysis.
+
+ * toplev.c (main): Avoid using caddr_t.
+
+ * mips.md (inverted bgeu peephole): Typo in opcode.
+
+Mon Jul 17 12:29:45 1989 Richard M. Stallman (rms at mipos3)
+
+ * i386.md (mulb patterns): Turned off due to assembler bug.
+
+ * rtl.c (read_name): Use 0, not NULL, for character.
+
+ * alliant.md (movqi): Typos in mov opcodes.
+
+ * tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
+ Use CONST_DOUBLE_LOW, etc.
+
+ * stmt.c (expand_function_end): Check value of EXIT_IGNORE_STACK,
+ not just whether defined.
+
+ * i386.md (seq, etc.): New patterns.
+ * expr.c (do_store_flags): If result is wrong mode,
+ ensure rest of bits are cleared.
+ Before storing low part of TARGET, emit a CLOBBER for it.
+
+ * i386.md (load address): Use an immediate add if possible.
+
+ * i386.md (ashlsi3): Don't generate leal; shift is faster.
+
+ * Now struct_value_rtx is 0 to treat it as a parm.
+ * expr.c (expand_call): Implement that.
+ * integrate.c (expand_inline_function): Don't freak out.
+ * tm-apollo68.h (STRUCT_VALUE): Make it 0.
+
+ * On 386, called function must pop the structure value address.
+ * tm-i386.h (STRUCT_VALUE): Don't change this.
+ Address is now pushed but not counted as a parm.
+ * out-i386.c (function_epilogue): Use ret $4 to pop that address.
+ * output.h: Declare the current_function_... variables.
+ * final.c: Include output.h.
+
+ * varasm.c (make_decl_rtl): Insert missing `else', validating reg decl.
+
+Fri Jul 14 14:12:17 1989 Richard M. Stallman (rms at mipos3)
+
+ * out-sparc.c, out-spur.c (output_move_double):
+ Fixed typo, addreg0 => addreg1.
+
+ * c-decl.c (lang_decode_option): Handle -fshort-enums.
+ (finish_enum): In that case, give enum minimum number of bytes.
+ * toplev.c (main): Default flag_short_enums.
+ * toplev.c, flags.h (flag_short_enums, flag_signed_char):
+ Define those flags here, not in c-decl.c and c-tree.h.
+
+ * i386.md (mulqi3, umulqi3): New patterns.
+
+ * c-convert.c (convert_to_integer): Tighter restrictions on
+ distributing truncation through max, min, and multiplication.
+ If operands were extended from unsigned, make the operation
+ unsigned.
+
+ * cccp.c (main): Fix bug where #include <...>, when -I- was used,
+ failed to search standard dirs and/or searched some dirs
+ intended only for #include "...".
+
+ * tm-mips.h (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE):
+ Increment push_loc after store or load, not before.
+
+Thu Jul 13 11:24:30 1989 Richard M. Stallman (rms at mipos3)
+
+ * emit-rtl.c (add_insn_after): Don't update last_insn
+ if insn is in a sequence. Instead, update end of sequence.
+
+ * stmt.c (fixup_var_refs): Update end of stacked sequence.
+
+ * stmt.c (expand_function_start): Set result rtl before assign_parms.
+
+ * optabs.c (emit_unop_insn): Set PREV_INSN after preliminaries.
+
+ * stmt.c (warn_if_unused_value): Do CONVERT_EXPR like NOP_EXPR.
+
+ * stmt.c (expand_function_start): Make sure parm_birth_insn
+ is a NOTE.
+
+ * Makefile (clean): Delete tmp-insn-*.
+
+Wed Jul 12 14:24:12 1989 Richard M. Stallman (rms at mipos3)
+
+ * i386.md (mulqi3): Restrict operand 2 to `q' reg.
+
+ * reload1.c (choose_reload_regs): Check HARD_REGNO_MODE_OK
+ for regs to be inherited.
+ Also check HARD_REGNO_MODE_OK at end for modes of both
+ reload_in and reload_out as well as reload_mode.
+
+ * Makefile (maketest): Update for config subdir.
+
+Tue Jul 11 16:29:57 1989 Richard M. Stallman (rms at mipos3)
+
+ * integrate.c (copy_decl_tree): Copy TREE_USED of each LET_STMT.
+
+ * make-cc1.com: Changes by Angel Li.
+ Define variables CC, CFLAGS, LDFLAGS, LIBS.
+ Use LIBR library, not LIB. Specify a /INC in CFLAGS.
+ Use MCR to run the gen* files. Add some comments.
+ * make-cccp.com: Similar.
+ * config-gcc.com: New file.
+
+ * stmt.c (assign_parms): Compute parm alignment from passed type.
+
+ * c-typeck.c (actualparameterlist): Instead of truncating
+ and then promoting for PROMOTE_PROTOTYPES, go straight to int.
+
+ * c-parse.y (setspecs): Save old current_declspecs on a stack.
+ (decl, component_decl): Restore from that stack.
+
+Wed Jul 5 15:01:00 1989 Richard Stallman (tiemann at yahi)
+
+ * tm-aix386.h, xm-aix386.h: New files.
+
+ * loop.c (check_dbra_loop): Handle either test or compare
+ for insn two before loop end; detect and reject anything else.
+
+ * expr.c (expand_call, expand_builtin): If alloca is done,
+ set current_function_calls_alloca.
+ * stmt.c (expand_function_end): If so, generate code to save and
+ restore the stack pointer, if not EXIT_IGNORE_STACK.
+
+ * ns32k.md (movsi): Fixes for moving from fp or sp.
+
+ * tm-mips.h (ASM_OUTPUT_ASCII): Start new .ascii every 256 chars.
+
+Tue Jul 4 11:01:00 1989 Richard Stallman (tiemann at yahi)
+
+ * reload1.c (choose_reload_targets): Don't depend on
+ reload_spill_index when cancelling invalid inheritance.
+ Also, abort if trying to preserve death info
+ on a spill reg used in operand addressing.
+
+ * fold-const.c (fold): Don't fold "foo"[n] here.
+ * expr.c (expand_expr): Do it here.
+ Handle wide strings correctly.
+
+ * i386.md (movsf,movdf): Disallow mem-mem moves.
+ Enable mem-to-reg moves.
+
+ * c-decl.c (finish_{struct,enum}): Warn if inside parm decls.
+ (in_parm_level_p, declare_parm_level): Record when inside.
+ * c-parse.y (parmlist, parmlist_or_identifiers): Call
+ declare_parm_level.
+
+ * c-decl.c (parmlist_tags_warning): Revise warning message text.
+
+ * tm-hp9k320.h (ASM_SPEC): Pass -V switch to assembler.
+
+ * tm-sun386.h (ASM_START_FILE): Truncate filename to 14 chars.
+
+ * c-typeck.c (decl_constant_value): Use only literal values.
+
+Sat Jul 1 17:29:54 1989 Richard Stallman (tiemann at yahi)
+
+ * integrate.c (copy_rtx_and_substitute): Don't make nested SUBREGs.
+
+ * stmt.c (expand_function_start): Set new global
+ current_function_returns_pointer.
+
+ * stmt.c (get_frame_size): Return the size, not the offset.
+ * integrate.c (expand_inline_function): When setting FP_DELTA,
+ compensate for this change.
+ * tm-alliant.h,tm-mips.h,tm-sparc.h,tm-tahoe.h
+ (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Compensate.
+
+ * out-mips.c (function_arg): Return 0 for BLKmode.
+
+ * tm-mips.h (FUNCTION_INCOMING_ARG): Delete; no register windows.
+ * out-mips.c (function_inarg): Delete; no longer used.
+
+ * mips.md (addsi3): Use register_operand for operands 0,1.
+ (load address): New pattern, following movsi.
+ (fix_trunc*): Use trunc insn, not cvt.
+ (cmpfs + bgt peephole): Operands were backwards in template.
+
+ * gcc.c (main): Record in explicit_link_files which input files go
+ straight to linker. If linker is not run, complain about them.
+ (execute): Increment execution_count, to show we were called.
+
+ * gcc.c (validate_all_switches): Check ASM_SPEC, CC1_SPEC, etc.,
+ so we find all switches that could be valid.
+
+ * varasm.c (output_constructor): Position fields according to
+ DECL_OFFSET; don't try to compute alignment here.
+
+ * tm-sparc.h (PCC_BITFIELD_TYPE_MATTERS): Define this.
+
+ * reload1.c (emit_reload_insns): Fix stupid error in last change.
+
+ * c-decl.c (duplicate_decls): If redeclaring builtin, give error is
+ type mismatched; otherwise warn only if -W.
+
+ * jump.c (jump_back_p): Verify that PREV is not null.
+
+Mon Jun 26 13:50:28 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (choose_reload_regs): If number of reloads needing
+ spill regs exceeds n_spills, don't inherit any reloads.
+
+ * sdbout.c (sdbout_record_type_name): Dumb error in last change.
+
+ * reload1.c (emit_reload_insns): Extend last change: don't use
+ equiv reg if reg is in use at same stage of insn, either.
+
+Sun Jun 25 00:00:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (emit_reload_insns): Don't use an equivalent register
+ to reload from, if that register was used for reloading
+ earlier in this insn.
+
+ * sdbout.c (sdbout_record_type_name): Handle a TYPE_DECL as the
+ type name. Get rid of TYPE_TAG_NAME as separate macro.
+
+ * optabs.c (emit_cmp_insn): Args to memcmp are addresses, not blocks.
+
+ * reload1.c (choose_reload_regs): Typo, clearing reload_override_in.
+
+ * tm-i386.h: Add register classes SIREG and DIREG.
+ (enum reg_class, REG_CLASS_NAMES): Define class names.
+ (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Define their contents.
+ (REG_CLASS_FROM_LETTER): Define letters `S' and `D'.
+
+Sat Jun 24 00:17:16 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (keep_next_level): New function.
+ (struct binding): New slot `keep' says make a LET_STMT for this level.
+ (pushlevel, poplevel): Implement that.
+ * c-parse.y (stmt exprs): Call keep_next_level.
+
+ * sdbout.c (plain_type_1): Handle REFERENCE_TYPE, METHOD_TYPE.
+ Correct for size less than 0.
+ (plain_type): Correct for size less than 0.
+
+ * global-alloc.c (mark_reg_set): For CLOBBERs, call mark_reg_clobber.
+
+ * reload1.c (order_regs_for_reload): Among regs explicitly used,
+ prefer those used less often.
+
+ * reload1.c (choose_reload_regs): If we find alternate place
+ to reload from, verify it after all reloads assigned.
+ New variable reload_override_in used for this.
+
+ * combine.c (record_dead_and_set_regs): Look inside SIGN_EXTEND and
+ STRICT_LOW_PART for place being set.
+ (subst): When using reg_last_set to find what a register contains,
+ verify the entire register was set.
+
+ * toplev.c (rest_of_decl_compilation): Report invalid register name.
+
+Fri Jun 23 13:19:41 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-hp9k3bsd.h: New file.
+ * config.gcc: New target hp9k320-bsd.
+
+ * gcc.c (record_temp_file): Don't add a name twice to one queue.
+
+ * stmt.c (expand_expr_stmt): Call warn_if_unused_value.
+ (warn_if_unused_value): Code extracted from expand_expr_stmt.
+ Recurse to handle COMPOUND_EXPR. Don't warn about COND_EXPR.
+
+ * tm-encore.h (DBX_REGISTER_NUMBER): Override tm-ns32k.h;
+ return operand unchanged.
+
+ * reload1.c (emit_reload_insns): Don't use recog_memoized
+ on an asm.
+
+ * jump.c (delete_insn): Update last_insn.
+ * emit-rtl.c (set_last_insn): New function.
+
+ * reload1.c (reload): Put a note at end of insn chain.
+
+ * gcc.c: Put cpp output of .S file into a .s file.
+
+Thu Jun 22 22:14:35 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * optabs.c (expand_binop, expand_unop): Emit queue before library call.
+ It is done within emit_library_call, and cse screws up if there is a
+ queued insn in the middle of a cse-able sequence.
+
+Wed Jun 21 11:57:22 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (CPP_PREDEFINES): Define -Dunix.
+
+ * reload.c (combine_reloads): Combined reload needed for entire insn.
+
+ * c-parse.y (yylex): Braino checking for out-of-range escape seq.
+
+ * stor-layout.c (layout_union): Handle PCC_BITFIELD_TYPE_MATTERS.
+ (layout_struct): Don't let a bitfield cross the storage unit
+ of its type, if PCC_BITFIELD_TYPE_MATTERS.
+
+Tue Jun 20 00:03:48 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (get_or_assign_label): Let CONSTANT_ALIGNMENT specify
+ alignment of the constant.
+ CONSTANT_ALIGNMENT is a new optional macro.
+
+ * varasm.c (force_const_mem, get_or_assign_label):
+ Make buffer bigger.
+
+ * toplev.c (print_target_switch_defaults): New fn called for -version.
+
+ * toplev.c (compile_file): Detect error closing output file.
+
+ * stor-layout.c (fixup_unsigned_type): Don't shift by 32.
+
+ * stmt.c (emit_case_nodes): Pass UNSIGNEDP along to emit_cmp_insn.
+
+ * stmt.c (expand_end_case): If index is narrow and cannot be
+ directly compared, widen it just once.
+
+ * c-parse.y (yylex): Support multi-character constants.
+ Thorough rewrite of char constant parsing.
+
+ * c-decl.c (pushdecl): Replace local extern function decl with
+ previous global decl if latter is inline, or builtin, or has
+ more arg type info.
+
+ * hard-params.c (xmalloc): Define it, for alloca.c.
+
+ * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Override -D in Makefile.
+
+ * expmed.c (store_fixed_bit_field): Avoid shift by 32.
+
+ * stmt.c (expand_function_start): Emit a NOTE_INSN_FUNCTION_BEG.
+ * final.c (final_scan_insn): For SDB output, do the
+ sdbout_begin_function at that note.
+
+ * reload1.c (choose_reload_regs): If a reload reg inherits
+ from a previous reload, verify safety after all reloads are assigned.
+
+ * c-decl.c (build_enumerator): Remove no-op casts.
+
+ * reload.c (find_reloads): If an earlyclobber operand matches
+ an input operand it is constrained to match, that's not a problem.
+ If an earlyclobber operand loses due to earlyclobber, its matching
+ input operand also loses.
+
+ * reload1.c (choose_reload_regs): Don't use result of find_equiv_reg
+ if that reg is used for reloading in an earlier part of the insn.
+
+ * cse.c (fold_rtx): If WIDTH is 0, don't try sign-extending ARG0, ARG1.
+
+ * Makefile (hard-params*): Use $(OLDCC).
+
+ * c-typeck.c (c_alignof): No warning for -pedantic.
+
+ * c-parse.y (readescape): Don't have both error and warning
+ on one hex escape.
+
+ * c-parse.y (yylex): Treat vertical tab as white space.
+ (skip_white_space): Likewise.
+
+ * c-parse.y (datadef): If pedantic, warn for stray semicolon.
+
+ * expr.c (expand_increment): Pass accurate unsignedp arg
+ to expand_binary_op.
+
+Mon Jun 19 13:36:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc (news, news-gas): Use xm-m68k.h.
+
+ * final.c (output_asm_label, output_addr_const): Make buf bigger.
+
+ * cexp.y (main): Handle EOF on input.
+ (lookup, warning): Provide as a dummy.
+ (is_idchar, is_idstart): Declare as unsigned char.
+
+ * cexp.y (parse_escape): Use TARGET_NEWLINE, etc., as values.
+ Support hex escapes. Warn if octal or hex escape doesn't fit in char.
+
+ * cexp.y (yylex): Sign-extend char constants if appropriate.
+
+ * genemit.c: Make insn-emit.c include insn-flags.h.
+
+ * gcc.c: Move record_temp_file past page which declares vflag.
+
+ * integrate.c (expand_inline_function): If copying an insn with
+ a REG_EQUIV note, make a similar note.
+
+ * Allow reload regs to be reused for parts of an insn.
+ * reload.c (find_reloads): Classify each reload for which part
+ of the insn it is needed in.
+ (find_reloads_address, etc.): Pass down the overall operand
+ that this is part of, to record it on address reloads.
+ (push_reload): Record that for each reload.
+ * reload1.c (reload): Compute maximum needs of any part of the insn.
+ (choose_reload_regs): Part of old choose_reload_targets.
+ Hairier criteria for inheriting reloads and for which ones are
+ available for the next insn to inherit.
+ (emit_reload_insns): The rest of old choose_reload_targets.
+ Emit reload insns in proper order according to where they are needed.
+ * Record `reload_reg_in_use' separately for each part of the insn.
+ (mark_reload_reg_in_use): New function.
+ (reload_reg_free_p, reload_reg_free_before_p): New functions.
+ (reload_reg_reaches_end_p): New function.
+
+ * expr.c (expand_expr): Emit queue in X+=(Y?Z:A) optimization.
+
+ * rtlanal.c (rtx_equal_p): Check vectors have same length.
+
+Sun Jun 18 12:16:14 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (expand_expr_stmt): Maybe warn if top-level operator
+ makes an unused result.
+
+ * gcc.c (delete_temp_files, delete_failure_queue):
+ If -v, report failures in unlink.
+
+ * Makefile (includes): New target to run fixincludes.
+ (install): Swap arms of if-statement.
+
+Sat Jun 17 12:41:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_union): Arg to error_with_decl was missing.
+
+ * ns32k.md (movsf): Use CONST_DOUBLE_LOW to extract from CONST_DOUBLE.
+
+ * loop.c (consec_sets_giv): Change type of force, force2.
+
+ * combine.c (dump*): Declare arg as FILE*.
+
+ * Makefile (clean): Delete hard-params.
+
+ * flow.c (life_analysis): Use a special obstack for the temporary
+ regsets.
+
+ * m68k.md (clr pattern): On 68000, use moveq to clear data reg.
+
+ * gvarargs.h: File varargs.h renamed.
+ The old name conflicted with <varargs.h>, now that -I. is used.
+ * tree.c, expr.c, emit-rtl.c: Change #include commands.
+ * Makefile (install): Install gvarargs.h under name varargs.h.
+ * gcc.c: Include gvarargs.h, not system's varargs.h.
+
+ * Makefile: Use -I$(srcdir) before -I$(srcdir)/config.
+ * config/tm.h: Deleted; didn't work if config was a symlink.
+
+ * cse.c (cse_insn): Record location of inner_dest
+ so it can be replaced properly if a new MEM rtx is made.
+
+Fri Jun 16 14:17:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * make-cc1.com: Compile and link rtlanal.c.
+
+ * c-typeck.c (build_array_ref): Call fold on the array ref.
+ * fold-const.c (fold): Simplify array ref of string constant.
+
+ * stmt.c (expand_asm_operands): Fix error message.
+
+ * Makefile (gnulib2): Remove old members before compiling new.
+ Fix stupid errors.
+ * gnulib2.c (__cmpdi2, __ucmpdi2): Typos in names of interface unions.
+
+ * genconfig.c (main): Don't write MAX_CLOBBERS_PER_INSN; obsolete.
+ Add 3 to MAX_RECOG_OPERANDS.
+
+ * cse.c (fold_cc0): Extra arg specifies machine mode.
+ Callers changed.
+ (cse_insn): Record original mode of each src for this purpose.
+
+Thu Jun 15 12:35:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gnulib2.c (_cmpdi2, _ucmpdi2): Moved here from gnulib.c.
+ Use long long for argument type.
+
+ * rtlanal.c (may_trap_p): Moved here from loop.c.
+ Return 1 for division by explicit zero.
+
+ * reload1.c (eliminate_frame_pointer, alter_frame_pointer_addresses):
+ Rerecognize insns which are changed by this.
+
+ * i386.md (call_value): Don't return prematurely.
+
+ * alliant.md (movqi): Handle moving Aregs to mem and vice versa.
+ (bftst -> btst): Restrict to bitpos less than 8
+ so operand may be non-offsettable.
+ (nop): New pattern.
+ (return): Was disabled; now deleted.
+ * tm-alliant.h (PRINT_OPERAND_PUNCT_VALID_P): Define it.
+ * out-alliant.c (output_btst): Same change as in out-m68k.c
+
+ * alliant.md, out-alliant.c: Offsetable -> offsettable.
+
+ * c-parse.y (rule for stmt_exprs): Make the LET_STMT volatile.
+
+ * c-decl.c (duplicate_decls): Don't save inline function data
+ from previous definition if a new *definition* is seen.
+
+ * integrate.c (access_parm_map): Handle subregs and constants.
+
+ * stmt.c (expand_return): Don't crash if DECL_RTL (DECL_RESULT()) is 0.
+
+ * tm-tahoe.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+
+ * tm-mips.h (CONSTANT_P): Deleted; duplicates rtl.h.
+
+Fri Jun 9 01:39:30 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (float.h): Avoid using $(MAKE).
+
+ * Don't cram two things into STMT_BODY of a LET_STMT.
+ * tree.h (struct bind_stmt): New field, subblocks.
+ (STMT_SUBBLOCKS): New macro to access it.
+ * print-tree.c (walk): Print new field.
+ * tree.c (build_let_stmt): Store the old BODY arg into subblocks field.
+ * c-parse.y (stmt expr rule): Put rtl expr alone into body field.
+ * dbxout.c (dbxout_block): Recurse on subblocks, not body.
+ * sdbout.c, symout.c: Likewise.
+ * integrate.c (copy_decl_tree): Likewise.
+ * stmt.c (setjmp_protect, uninitialized_vars_warning): Likewise.
+ * expr.c (expand_expr): For LET_STMT, simply use its body.
+
+ * machmode.def: Add sixth arg to each entry.
+ * tree.h, rtl.h, rtl.c: Add arg to DEF_MACHMODE.
+ * rtl.h (GET_WIDER_MODE): New macro; table in rtl.c.
+ * expr.c (expand_expr): Use that for widening multiply.
+
+ * stmt.c (fixup_var_refs_1): When converting MEM to QImode for
+ bit field, adjust the address if possible to make bitpos
+ less than 8.
+ * m68k.md (bftst -> btst): Restrict to bitpos less than 8
+ so operand may be non-offsettable.
+
+ * cccp.c (do_line): Accept and pass on 3rd arg for enter or leave file.
+
+ * out-m68k.c (output_btst): Handle COUNT bigger than size of unit.
+
+ * cccp.c (CHECK_DEPTH): Macro to detect instack overflow.
+ (finclude, macroexpand, expand_to_temp_buffer): Use that.
+
+ * cccp.c (rescan): Don't check for disabled macro if traditional.
+ (macroexpand): Don't disable macro if traditional.
+
+ * sdbout.c (sdbout_one_type): Take out last change; assembler barfs.
+
+ * c-parse.y (maybe_attribute): Eliminate #-syntaxes.
+ Make ATTRIBUTE the name for __attribute.
+
+ * c-parse.gperf: Add __attribute{,__} and __signed{,__}.
+ * c-parse.y: Install results of that change.
+
+ * Fix bug in sizeof ({...}).
+ * c-decl.c (poplevel): Set TREE_USED. Return the LET_STMT.
+ * c-parse.y (stmt-expr rule): Put the RTL_EXPR in the LET_STMT,
+ clear its TREE_USED, and use it as the result.
+ * expr.c (expand_expr): Allow LET_STMT as an expr.
+ Set its TREE_USED and expand the TREE_VALUE of its body.
+ * dbxout.c (dbxout_block): Ignore LET_STMT if TREE_USED not set.
+ * sdbout.c, symout.c: Likewise.
+
+Thu Jun 8 00:06:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (yylex): Extend ERANGE-inhibitor for 0.0
+ to 0.0e0 as well.
+
+ * flow.c (life_analysis): Prevent allocation of regs live at setjmp
+ on certain machines. Controlled by LONGJMP_RESTORE_FROM_STACK.
+ Sets reg_live_length to -1.
+ * local-alloc.c (block_alloc): Be prepared for that.
+ * tm-vax.h (LONGJMP_RESTORE_FROM_STACK): Define it.
+
+ * gnulib2.c (all interfaces): Declare args and values as long long,
+ and split them using unions.
+
+ * loop.c (check_dbra_loop): Don't reverse loop if there are two
+ refs to varying addresses. Consider foo[i] = foo[i-1].
+ (count_nonfixed_refs): Subroutine to count them.
+
+ * cexp.y: Distinguish signed and unsigned.
+ An integer value is now represented by a struct.
+ All rules for arithmetic changed.
+ (yylex): Adapt to change in yylval data type.
+
+ * limits.h (LONG_MIN): Make sure it's a signed long.
+
+ * sdbout.c (sdbout_one_type): Output types of fields first,
+ if they are structs. Don't go through pointers.
+ (sdbout_field_types): Subroutine for that
+
+Wed Jun 7 13:00:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes: Switch to /usr/include before doing vuid_event.h.
+ Use $2 as output directory for sed.
+
+ * tm-i386.h (FUNCTION_PROFILER): Put counter address in %edx.
+ * tm-i386v.h (LIB_SPEC): Use -L/usr/lib/libp if profiling.
+
+ * expr.c (expand_increment): Typo testing for BImode component.
+
+ * convex changes from csmith:
+ * tm-convex.h: use EXTRA_SECTIONS to do .bss.
+ out-convex.c: set_section, align_section are now unused.
+ * convex.md: add pattern to pick an A-reg destination for sums
+ whose source involves a dedicated A reg (frame or arg pointer)
+ * convex.md: immediate and, or, xor instructions store a 32-bit
+ result. Fix instructions that assumed it was 64.
+
+ * mips.md (probe): New pattern to create stack space.
+
+ * Makefile (float.h): Ignore errors from hard-params.
+ Specify ./ to run it.
+
+Tue Jun 6 15:45:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * out-tahoe.c: Rename `offsetable' to `offsettable'.
+
+ * tahoe.md (nop): New pattern.
+
+ * i386.md (umul...): Constrain operand 1 as `0', not `a'.
+ `a' sometimes wanted two a-regs for operands 0 and 1.
+
+ * cccp.c: Forward-declare some structs.
+
+ * c-decl.c: Rearrange fcn fwd decls and struct decls.
+
+ * expr.c: Move some fcn fwd decls after structs their args use.
+ * genpeep.c, genextract.c: Likewise.
+
+ * loop.c: Forward-declare some structs.
+
+ * stmt.c: Move decls of structs before those of static functions.
+
+ * loop.c (strength_reduce): Delete extra arg to check_eliminate_biv.
+
+ * integrate.c (expand_inline_function): Supply missing arg
+ to convert_to_mode.
+
+ * gcc.c (handle_braces): Supply missing arg to do_spec_1.
+
+ * explow.c (lookup_static_chain): Accept a context arg.
+
+ * expmed.c (store_split_bit_field): Pass ALIGN arg
+ to extract_fixed_bit_field.
+
+ * expr.c (expand_assignment): Convert TYPE_ALIGN to bytes.
+ (store_constructor, expand_expr): Likewise.
+
+ * m68k.h: NO_ADDSUB_Q conditionals turn off all addq, subq insns.
+ (Fully supported only with MOTOROLA and HPUX_ASM flags.)
+
+ * jump.c (do_cross_jump): Don't die if LABEL is 0.
+
+ * tm-mips.h (PRINT_OPERAND_PUNCT_VALID_P): New macro.
+ * tm-iris.h: New file. Unsplit lines accidentally split.
+
+Mon Jun 5 15:39:30 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (output_inline_function): Call init_function_start,
+ not expand_function_start.
+ * emit-rtl.c (restore_reg_data): No need to init reg_rtx_no.
+
+ * stmt.c (init_function_start): Set current_function_returns_struct.
+
+ * rtlanal.c (reg_set_between_p): New fn analogous to reg_used_between_p
+ * loop.c (strength_reduce): Reject biv initial value which is altered
+ subsequently before actual loop start.
+
+ * rtlanal.c: New file split out from rtl.c.
+ Has things not used in the gen files.
+
+ * loop.c (strength_reduce): Reject biv initial value in a hard reg
+ clobbered by an intervening function call.
+
+ * tree.c (get_identifier): New flag needed to enable id-clash warnings.
+ (start_identifier_warnings): Set that flag.
+ * c-decl.c (init_decl_processing): Call that, after making built-ins.
+
+Sat Jun 3 14:41:34 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * final.c (final_scan_insn): No basic block profiling at jump tables.
+
+ * stmt.c (expand_decl): Probe the stack to make pages exist.
+ * expr.c (expand_builtin): Likewise, for alloca.
+
+ * move-if-change: Specify /bin/sh.
+
+ * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): Don't accept PLUS
+ with constant operands but not inside CONST.
+
+ * integrate.c (output_inline_function, save_for_inline):
+ Save stack_slot_list, and restore it for actual output.
+ * emit-rtl.c (gen_inline_header_rtx): New arg for this.
+
+ * emit-rtl.c (restore_reg_data): Initialize reg_rtx_no.
+ (restore_reg_data_1): Handle reg_rtx_no jumping past
+ reg_pointer_flag_length.
+
+ * reload1.c (alter_reg): Do nothing if regno_reg_rtx has 0.
+
+ * integrate.c (copy_rtx_and_substitute): Typos for stack parm
+ addresses in PLUS case.
+
+ * genoutput.c (gen_insn, gen_peephole): Make output_n fns static.
+ (output_prologue): Use new macro DEFAULT_MACHINE_INFO if defined.
+
+ * tree.h (enum machine_mode): Define MAX_MACHINE_MODE as in rtl.h.
+
+Fri Jun 2 15:40:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (do_include): A file included via a system header file
+ counts as a system header file for -M.
+
+ * gnulib2.c: Support boolean ops and shifts.
+
+ * loop.c (emit_iv_inc): Use emit_iv_init_code.
+
+ * rtl.h (CONST0_RTX): Don't try to cast abort.
+
+ * tm-news.h (PRINT_OPERAND_ADDRESS): Fix typo `reg_name'.
+ Delete two garbage lines.
+
+ * loop.c (eliminate_biv): Use emit_iv_init_code to compute comparison
+ value. If value is constant, recognize the insn, and if that fails,
+ put the value in a register.
+
+Thu Jun 1 16:56:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * print-tree.c (dump): Don't die if rtx components are null.
+
+ * expmed.c (expand_mult_add): New fn to do A * X + B.
+ (make_tree): New subroutine.
+ * loop.c (emit_iv_init_code): Use that. Much simpler now.
+
+Tue May 30 17:20:40 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fold-const.c (fold): Use TREE_SET_CODE to store in tree codes.
+
+ * tree.h (struct tree_common): Make `code' an unsigned int.
+ (TREE_CODE, TREE_SET_CODE): Put in casts.
+
+ * optabs.c (emit_cmp_insn): Supply all the args in recursive calls.
+
+ * toplev.c (report_error_function): Fix typo; METHOD_TYPE missing.
+
+ * fixincludes: Add code to make internal non-directory links.
+
+Mon May 29 21:36:28 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (find_exec_file): Try both with and without machine_suffix.
+ (find_file): Use machine_suffix here too.
+
+Sat May 27 00:02:26 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (decompose): OFFSET wasn't initialized.
+
+ * cse.c (cse_main): Assign monotonic cuids.
+ (make_regs_eqv, CHEAPER): Use cuids, not uids.
+ (cse_end_of_basic_block): Return a cuid, not a uid.
+
+ * expr.c (expand_builtin): For BUILTIN_SAVEREGS, range of regs
+ moved included one extra previous insn.
+
+ * emit-rtl.c (emit_line_note): Don't check -g here.
+ (emit_note): For line number when no -g, increment cur_insn_uid anyway.
+ * stmt.c (expand_start_case): Always output a NOTE_INSN_DELETED.
+
+ * loop.c (loop_optimize): Don't count line-number NOTEs for luids.
+ Prevents -g from affecting optimization decisions.
+
+Fri May 26 17:31:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * local-alloc.c (block_alloc): Don't count notes in insn_number.
+ Prevents -g from affecting order of allocation.
+
+Thu May 25 14:12:19 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * local-alloc.c (block_alloc): Clear full length of regs_live_at.
+
+ * ns32k.md (cmpsi): Make this the first cmp pattern.
+
+ * jump.c (do_cross_jump): Skip NOTEs while checking for existing label.
+
+ * cse.c (cse_insn): When no-oping a jump, decrement use count of label.
+ (cse_basic_block): If label use count is 0, go past it.
+
+ * integrate.c (access_parm_map): New fn, broken out of
+ copy_rtx_and_substitute, handles case of mem ref to stack arg.
+ (copy_rtx_and_substitute): Call it.
+ Also use it for address of a stack arg.
+
+ * gen*.c (fatal): Declare 1st arg as string.
+
+Wed May 24 00:13:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * optabs.c (init_optabs): Handle movdi and movdf insns.
+
+ * final.c (end_final): Realign locn ctr after outputting string.
+
+ * tm-sparc.h (LINK_SPEC): Link bb_link.o before standard lib.
+
+ * tm-sun386i.h (LINK_SPEC): Accept and ignore -sun386.
+
+ * gcc.c (find_exec_file): Use machine_suffix.
+ (process_command): Set that for -b option.
+
+ * integrate.c (function_cannot_inline_p): No size limit
+ for functions declared inline.
+
+ * loop.c (skip_consec_insns): New fn, skip several insns or libcalls.
+ (force_movables): New fn, part of scan_loop broken out.
+ (ignore_some_movables): New fn, ignore a movable whose insn
+ is within another movable's libcall.
+ (scan_loop): Call those three.
+ Don't handle m->consec for zero-extend movables, since always 0.
+
+Tue May 23 12:58:24 1989 Joe Weening (weening at gang-of-four.stanford.edu)
+
+ * config/alliant.md:
+ Removed operand classes 'x', 'y', 'G', 'H'.
+ Added "%." to many opcodes to simplify comparison with m68k.md.
+ Changed TARGET_68881 to TARGET_CE.
+ Changed floating-point insns to better describe the Alliant CE.
+ Most args to floating-point insns are now nonimmediate_operand.
+ Removed special insns for pushing doublewords onto stack.
+ Added non-CE versions of movsf and movdf to avoid using FP
+ registers in this case.
+ (float*i*f2): Don't allow immediate ops.
+ (sne): Fix typo, fsne => fsneq.
+ (call, call_value): Changed to always pop args from stack
+ upon return; this gives better code than before and conforms
+ to Alliant calling standard.
+ Incorporated some recent changes to m68k.md.
+
+ * config/out-alliant.c:
+ (regno_reg_class): Removed FPA reg classes.
+ (output_move_const_double): Function not needed, removed.
+
+ * config/tm-alliant.h:
+ Removed FPA registers and reg classes.
+ Target flags: changed TARGET_68881 to TARGET_CE, removed
+ TARGET_RTD, TARGET_REGPARM, TARGET_FPA.
+ Removed TARGET_CE test in several places since we need to
+ use FP regs even for non-CE programs.
+ (TARGET_VERSION, CPP_SPEC): Define for Alliant.
+ (CONDITIONAL_REGISTER_USAGE): Removed, not needed.
+ (FRAME_POINTER_REQUIRED): Defined.
+ (RETURN_POPS_ARGS): Defined.
+ (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P):
+ Use fp0 to return floating-point values.
+ (FUNCTION_ARG): Remove TARGET_REGPARM code.
+ (FUNCTION_ARG_PARTIAL_NREGS): Always 0.
+ (FUNCTION_PROFILER): Define for Alliant.
+ (FUNCTION_EPILOGUE): Remove use of rtd instruction.
+ Renamed CC_IN_68881 to CC_IN_FP.
+ (NOTICE_UPDATE_CC): Incorporate changes that were made
+ in tm-m68k.h.
+
+ * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+
+Tue May 23 12:58:24 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sdbout.c: Don't include c-tree.h.
+
+ * tree.c (build_index_type): Use sizetype for min and max values.
+ Convert maxval rather than clobbering it.
+
+ * tm-hp9k320.h: Finish unterminated comment.
+
+ * sdbout.c (sdbout_parms): Use gen_fake_label for anonymous parm.
+
+Sun May 21 12:58:06 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (aggregate_value_p): New fn says whether expression is a type
+ that functions cannot return as a scalar.
+ (assign_parms, expand_function_start): Use that.
+ * expr.c (expand_call): Likewise.
+
+ * gcc.c (delete_failure_queue): New subroutine.
+ (delete_temp_files): No longer delete the failure queue.
+ (main): Delete failure queue after each failing compilation.
+
+Sat May 20 13:16:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (force_const_mem): New optional macro SELECT_RTX_SECTION.
+
+ * mips.md: Change %u0 to %:.
+ (movsi): Add constraint alternative accepting address arg.
+
+ * fold-const.c (mul_double): Special case for 2nd arg 2, 4, 8.
+ (combine): Special case shortcuts for plus, minus, mult, div.
+
+ * stmt.c (expand_function_start): Simplify hairy statement for 3B1.
+ * expr.c (expand_call): Likewise.
+
+ * math-68881.h: New file.
+
+ * m68k.md (movqi): Handle moving aregs to mem and vice versa.
+
+ * dbxout.c (dbxout_type): Don't test use_gdb_dbx_extensions
+ in cases that occur in C.
+
+ * stmt.c (expand_function_{start,end}): Make DECL_RESULT's rtl 0
+ when function returns no value.
+
+ * tree.c (build_decl): Initialize DECL_PRINT_NAME, DECL_ASSEMBLER_NAME.
+
+ * c-decl.c (store_parm_decls): Call init_function_start.
+
+Thu May 18 00:41:37 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (expand_null_return_1): New arg USE_GOTO says jump to
+ return_label even if could otherwise use a return insn.
+ Make a return_label if we need one and don't have one already.
+ If have parm cleanups, always jump to cleanup_label.
+ (expand_null_return): Pass 1 for USE_GOTO if cleanups pending.
+ (expand_return): Set LAST_INSN if have local cleanups or parm cleanups.
+ Use that if jumping to tail-recursion label.
+ Optimization for returning a comparison is safe for local cleanups
+ but don't do it if there are parm cleanups.
+ Calling expand_null_return_1, pass 1 for USE_GOTO if local cleanups.
+ (this_contour_has_cleanups_p): New function.
+
+ * stmt.c (init_function_start): New function, beginning of
+ expand_function_start broken out.
+ Use DECL_PRINT_NAME to get function's name.
+ (expand_function_start): Now two args, function and PARMS_HAVE_CLEANUPS
+ Compute RETURN_LABEL sooner; make one if parm cleanups.
+ If parms have cleanups, put scalar return value in pseudo-reg.
+ Don't mark that pseudo with REG_FUNCTION_VALUE_P.
+ (expand_function_end): Simplify decisions about output of return_label
+ and return insn.
+ If DECL_RESULT is pseudo-reg, copy it to real return reg.
+
+ * stmt.c (expand_function_end): Handle ordinary struct values
+ like pcc, but only if unoptimized.
+ (expand_function_start): Make a return_label for ordinary struct value.
+
+ * stor-layout.c (layout_type): Handle METHOD_TYPE like FUNCTION_TYPE.
+ (layout_decl): Allow TYPE_DECL.
+
+ * stor-layout.c (layout_basetypes): Code for basetypes broken
+ out of layout_record. Sets the type size tentatively.
+ (layout_record): Start with that tentative size.
+ Also, don't do anything with CONST_DECL members.
+
+ * stor-layout.c (layout_union): Simpler error report for static memb.
+
+ * reload1.c (eliminate_frame_pointer): Reduce PUSH_ROUNDING
+ conditional to apply only to push instructions.
+
+ * expr.c (expand_call): Fix stupid errors handling MAX_PARM_BOUNDARY.
+ * stmt.c (assign_parms): Likewise.
+
+ * toplev.c (announce_function, report_error_function):
+ (error_with_decl, warning_with_decl): Use DECL_PRINT_NAME.
+
+ * toplev.c (compile_file): Subtract integration_time from parse_time.
+
+ * toplev.c (compile_file): Don't output read-only static variables
+ at end of compilation if address was not used.
+
+ * toplev.c (rest_of_compilation): Handle flag_syntax_only.
+
+ * toplev.c (main): Handle -g0 and -G0 options.
+ For -g and -G, set use_gdb_dbx_extensions.
+
+ * toplev.c (main): Set `progname'.
+ (pfatal_with_name, fatal_io_error, {error,warning}_with_file_and_line):
+ (sorry): Print value of `progname', not "cc1".
+
+ * tree.def: Delete FRIEND_DECL. Add PUSH_EXPR and POP_EXPR.
+
+ * tree.c (simple_cst_equal): Handle INDIRECT_REF.
+
+ * tree.c (lvalue_p): Handle METHOD_TYPE. Handle NEW_EXPR.
+
+ * tree.c (copy_list): New function.
+
+ * tree.h (struct tree_decl): New fields print_name and assembler_name.
+ (DECL_PRINT_NAME, DECL_ASSEMBLER_NAME): New accessors.
+
+ * c-decl.c (LONG_DOUBLE_TYPE_SIZE): New compilation parameter.
+
+Wed May 17 22:07:17 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
+
+ * dbranch.c (emit_delay_sequence): Reset insn code to -1 when
+ turning insn into a sequence so that it won't think that it matches
+ something in the md file.
+
+ * dbranch.c (insn_eligible_p): Call refers_to_regno_p with a
+ non-zero range.
+
+ * dbranch.c (pnote): Modified to make sure instruction clobbered
+ register is a set, rather than, say, a clobber.
+
+Wed May 17 14:01:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sdbout.c (sdbout_parms): Handle parm with no name.
+
+ * loop.c (combine_movables): Test for overlap of zero-extend regs
+ was screwed up.
+
+ * c-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
+ since c defines sizeof (char) as 1.
+ (pointer_int_sum, pointer_diff): Use c_sizeof{,_nowarn}.
+
+Tue May 16 16:27:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (choose_reload_targets): Don't reuse regs
+ mentioned in reload_reg_rtx.
+
+ * tm-tahoe.h, tahoe.md, out-tahoe.c, xm-tahoe.h: New files.
+
+Mon May 15 16:25:12 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes: Exit with explicit status 0 at end.
+ cd to /usr/include before cd to subtree root in case of relative link.
+ Create dir $LIB earlier.
+ When checking for a link, treat .. like an absolute target.
+
+ * symout.c (symout_block_symbols): Give every local decl a typespec.
+ * cexp.y (parse_number):
+ * flow.c (life_analysis, dump_flow_info):
+
+ * loop.c (consec_sets_invariant_p): Logic error accepted consec sets
+ of which only one was invariant.
+
+ * expr.c (expand_expr): Use no subtargets inside loops.
+ * stmt.c (inside_loop): New function.
+
+Sun May 14 00:11:07 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tree.h: Declare long long types.
+
+ * c-parse.y (combine_strings): Make string contents saveable.
+
+ * tree.c (savealloc): New function.
+
+ * m68k.md (movdi): % missing in fmove%.d.
+
+ * c-parse.y (yylex): Detect overflow past 64-bits.
+ Detect specially numbers not fitting in signed long long.
+
+Sat May 13 13:16:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (alter_frame_pointer_addresses): Preserve volatility.
+
+ * varasm.c (output_constructor): Die if BITS_PER_UNIT is too big
+ for this function to work.
+
+ * genpeep.c (match_rtx): For match_operator, match the operands, too.
+
+ * varasm.c (output_constant): Use ASM_OUTPUT_DOUBLE_INT for DImode.
+
+ * stor-layout.c (make_signed_type, make_unsigned_type):
+ (fixup_unsigned_type): Use HOST_BITS_PER_INT.
+
+ * stor-layout.c (layout_type): Use TFmode if appro.
+
+ * optabs.c (emit_cmp_insn): Use mode sizes to check cmpstrqi, cmpstrhi.
+
+ * c-typeck.c (get_floating_type): Compare MODE against modes of types.
+ (signed_type, unsigned_type, signed_or_unsigned_type, type_for_size):
+ Handle long long types.
+ (digest_init): Don't assume width of `char' is BITS_PER_UNIT.
+
+ * c-parse.y (yylex): For truncating chars, use width of `char' type.
+ Allow `ll' in int constants and make long long.
+ Also make long long if constant won't fit in an int.
+
+ * c-decl.c (SHORT_TYPE_SIZE): Round up when dividing.
+
+Fri May 12 22:36:21 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * real.h: Allow multiple inclusion.
+
+ * tm-sun386i.h (DBX_REGISTER_NUMBER): Bizarre renumbering.
+
+Thu May 11 00:36:21 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes: Fix non-ansi declaration of sprintf in X11/Xmu.h
+
+ * c-parse.y (stmt from expr): Do default conversion if useful
+ for sake of ({...}).
+
+ * sparc.md (andcc recognizer): Operand missing in subreg.
+
+Wed May 10 17:20:38 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * rtl.c (read_name): Error if name is missing.
+ (dump_and_abort): Don't print char args if -1.
+
+ * i386.md (umulqihi3): Operand numbers were missing.
+
+ * reload1.c (choose_reload_targets): Allow spill reg in find_equiv_reg
+ if it's free and correct class.
+
+ * cse.c (canon_hash): Handle empty strings.
+
+ * cccp.c (macroexpand): Newline newline treated like real white space
+ when stringifying.
+
+ * Rename *offsetable* to *offsettable*.
+
+Tue May 9 22:54:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (finish_type): Layout any variants of the type.
+
+Tue May 9 12:30:28 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
+
+ * final.c (final_scan_insn, final): Added an argument to
+ final_scan_insn to disallow peephole processing (to turn it off
+ during delayed branch scheduling).
+
+ * final.c (final_scan_insn): Made insn not matching any MD rtl a
+ criteria for delayed branch case. Moved delayed branch case to just
+ before real insn recognition to reduce the number of insns on which
+ recog_memoized is called.
+
+Mon May 8 15:02:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes (LIB): Allow overriding.
+
+ * cccp.c: Don't search /usr/include/CC by default.
+
+Mon May 8 13:09:21 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
+
+ * print-tree.c (dump): Fixed typo; IDENTIFIER ==> IDENTIFIER_NODE.
+
+Sun May 7 12:44:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * print-tree.c (dump): TYPE_NAME may be IDENTIFIER or TYPE_DECL.
+
+Sat May 6 00:13:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tree.def: Define EXACT_DIV_EXPR, for when remainder known as 0.
+ * fold-const.c (combine, fold, div_and_round_double): Handle new code.
+ * expr.c (expand_expr): Likewise.
+ * c-typeck.c (pointer_diff): Use EXACT_DIV_EXPR.
+
+ * integrate.c (expand_inline_function): Use size of passed type
+ for allocating stack slot with that type.
+
+ * c-parse.y (maybe_attribute, attribute*): New syntax for Apollos.
+ These tokens currently not generated.
+
+Fri May 5 18:43:01 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * toplev.c [USG]: Undefine FLOAT for sake of sys/param.h on hpux.
+
+ * optabs.c (expand_binop): If backtracking, don't delete insns made
+ for -fforce-mem.
+
+Thu May 4 01:57:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (find_reloads): Don't compare an earlyclobber operand
+ with itself.
+
+ * reload.c (immune_p): Constants and stack slots don't overlap.
+
+ * Put no-ops in front of loops and labels,
+ to prevent confusion in the debugger.
+ * c-parse.y (loops and labels): Call emit_nop.
+ * stmt.c (emit_nop): New function--sometimes emit a no-op.
+ * *.md (nop): New insn.
+
+ * expr.c (expand_call): Typo in arg to FIRST_PARM_CALLER_OFFSET.
+
+Wed May 3 01:34:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (scan_loop): Scanning around end of loop
+ should not set maybe_never.
+
+ * Rename SELECT_VARIABLE_SECTION to SELECT_SECTION.
+ * varasm.c (get_or_assign_label): Use SELECT_SECTION if defined.
+ * varasm.c: Use EXTRA_SECTION_FUNCTIONS if defined (new macro).
+
+ * mips.md: Change %u to %u0 to avoid error check.
+
+ * tm-mips.h (TARGET_VERSNUM): Inc. to 1 08.
+ (TARGET_VERSION): Change strings.
+ (AL_DEBUG): Don't define it.
+ (HARD_REGNO_MODE_OK): Add some casts to int.
+ (STACK_ARGS_ADJUST): Name was misspelled.
+ (PRINT_OPERAND_ADDRESS): Just abort for MEM, POST_INC, etc.
+ (EXTRA_SECTIONS, SELECT_VARIABLE_SECTION, SELECTORS_EXTRA_SECTIONS,
+ SELECT_VARIABLE_CONST_SECTION): New macros.
+ (ASM_FILE_END): Change function name.
+ * out-mips.c (function_arg_advance): Delete debugging printfs.
+ (function_inarg, function_arg): Likewise.
+ (compare_collect, compare_restore): Add some.
+
+ * reload1.c (reload): Fix handling of caller_save_needed.
+
+ * stmt.c (expand_function_start): Clear caller_save_needed.
+
+ * stmt.c (emit_case_nodes): Some compiler has trouble with calling
+ a function pointer.
+ * gnulib.c: likewise.
+
+Tue May 2 15:32:25 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (combine_movables): For zero extend,
+ do each from-mode separately.
+
+Mon May 1 00:18:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-apollo68.h: New file.
+
+ * c-parse.y (is_reserved_word, hash): Add keywords `__asm__', etc.
+ * c-parse.gperf: Corresponding changes.
+
+ * c-parse.y (check_newline): Set main_input_filename before
+ considering optional arguments.
+
+ * final.c (final_scan_function): Return next insn to process.
+ Usually that's the following insn; occasionally, previous compare.
+
+ * c-decl.c (DOUBLE_TYPE_SIZE): Wrong value.
+
+ * reload.c (decompose): Failed to return value.
+
+ * Support local specified-register variables.
+ * varasm.c (decode_reg_name): New function, cvt asmspec to regnum.
+ (make_decl_rtl): Call that.
+ * toplev.c (rest_of_decl_compilation): Handle local specified-register
+ declarations.
+
+ * i386.md (tstqi, trunc*qi): Constrain to `q' regs.
+
+ * loop.c (scan_loop, move_movables): ->global for zero-extend register
+ now means register is used outside range from where it is set
+ to the following label. Non-global zero-extend regs
+ may be entirely cleared.
+
+ * loop.c (combine_movables): Loop that combines matching movables
+ broken out from scan_loop.
+ Now also combine non-global zero-extend registers with each other
+ if their lifespans don't overlap.
+
+ * c-typeck.c (build_unary_op, ADDR_EXPR of a COMPONENT_REF):
+ Always convert to desired result type.
+
+Sun Apr 30 12:58:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (init_decl_processing): New macros parameterize int types.
+ CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
+ FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE.
+
+ * fixincludes: Use sed instead of ex. No problem with split lines.
+
+ * print-tree.c (dump): Print type's name, if any.
+
+ * c-parse.y: Use __inline, not plain inline.
+
+ * toplev.c: New option -fdelayed-branch.
+ (compile_file): Open and close dbranch dump file.
+ Collect and print dbranch time.
+ (rest_of_compilation): Optionally do dbranch scheduling,
+ only if HAVE_DELAYED_BRANCH.
+ (main): Handle -dd.
+
+ * rtl.c (copy_rtx): Handle null pointers as code `e'.
+
+ * final.c (dbr_sequence_length): New function.
+ (final_scan_insn): Most of `final' broken out.
+ Add support for SEQUENCE insns.
+ last_ignored_compare and new_block now top-level static.
+
+ * c-parse.y (MAX_WORD_LENGTH): Long enough for __volatile.
+
+Sat Apr 29 13:03:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (asm statements): Output line numbers.
+
+ * loop.c (emit_iv_init_code, emit_iv_inc, eliminate_biv): Copy
+ additive term rtx's to prevent sharing between insns.
+
+ * c-parse.y (check_newline): Increment input_file_stack_tick.
+ * toplev.c (report_error_function): Describe input stack only if
+ changed.
+
+ * c-decl.c (finish_struct): Reject zero width for named field.
+
+ * tm-sun3.h (CC1_SPEC): Prevent error on `-sun3'.
+ * tm-sparc.h (CC1_SPEC): Prevent error on `-sun4'.
+
+ * Makefile (cleanconfig): cleanlinks renamed; also delete gnulib.
+ (gnulib): Delete stamp-gnulib2 since gnulib2 should be redone after.
+
+Fri Apr 28 00:38:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc (genix): Correct xm file name.
+
+ * tm-genix.h: Undefine ASM_SPEC inherited from tm-encore.h.
+
+ * Makefile: Make float.h using hard-params.
+ (clean): Delete float.h.
+
+ * hard-params.c: New program.
+
+ * varasm.c (assemble_variable): Use SELECT_VARIABLE_SECTION if defined.
+ (in_section): Use EXTRA_SECTIONS if defined.
+
+ * toplev.c (compile_file): Call ASM_FILE_END if defined.
+
+ * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Let config override.
+
+ * loop.c (emit_iv_init_code): Force A to a reg if it isn't.
+
+Thu Apr 27 12:51:14 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-mips.h (ASM_START_FILES): Don't call print_options.
+ Don't call the funny abort-functions.
+ * out-mips.c: Delete funny debugging functions and aborts.
+ (print_options): #if 0.
+ (compare_restore): Test for COMPARE, not MINUS.
+ (mips_section_get, mips_output_external, mips_asm_final): New fns.
+
+ * input.h: New file with *input_filename, lineno and input_file_stack.
+ Included in toplev.c and c-parse.y.
+ * c-decl.c (finish_function): LINENO is now arg.
+ * c-parse.y: Calls changed.
+
+ * c-parse.y (check_newline): Handle `1' or `2' from cpp
+ by pushing or popping input_file_stack.
+ * toplev.c (compile_file): Push main input file on input_file_stack.
+ (report_error_function): If in include file, print the chain
+ of include-locations.
+
+ * cccp.c (output_line_command): New arg says whether entering or
+ leaving a file. Output `1' or `2' on #-line if so. Callers changed.
+
+ * gnulib2.c: Little-endian fixes from csmith@convex.com.
+
+ * fixincludes: Wrong quoting in `echo' command.
+
+ * tm-mips.h (REG_P): Duplicate defn deleted.
+ (PRINT_OPERAND): `\' was missing.
+
+Wed Apr 26 02:44:59 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (handle_directive): Preprocess even #pragma, but copy
+ to output file afterward.
+ (do_pragma): Use standard calling convention.
+ (install_builtins, special_symbol): Define __INCLUDE_LEVEL__.
+
+ * cccp.c (do_include): Don't forget to close file.
+
+ * final.c (output_asm_insn): Use PRINT_OPERAND_PUNCT_VALID_P
+ to validate punctuation after percent.
+ * tm-m68k.h, tm-alliant.h, tm-ns32k.h, tm-vax.h, tm-i386.h:
+ Define PRINT_OPERAND_PUNCT_VALID_P.
+
+ * Version 1.35 released.
+
+ * c-decl.c (grokdeclarator): Use INT_CST_LT only on int constants.
+
+Tue Apr 25 15:47:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload.c (find_reloads_address_1): Always return a value.
+
+ * flow.c (mark_set_1): Look inside zero_extract, sign_extract.
+
+ * expr.c (emit_library_call) [STACK_ARGS_ADJUST]:
+ Fix typo for `struct args_size'.
+
+Mon Apr 24 00:12:18 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * flow.c (mark_set_1): Look inside strict_low_part.
+
+ * c-typeck.c (decl_constant_value): Don't use var's init if volatile.
+
+ * print-tree.c (dump): Don't call walk on rtx's.
+
+ * integrate.c (expand_inline_function): Convert expanded arg from
+ passed mode to nominal mode.
+
+Sun Apr 23 13:14:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * fixincludes: fix _IO macros if split across two lines.
+ Fix typo: EOF was indented.
+
+ * gnulib2.c: New file with DImode library routines.
+ * Makefile (gnulib2): Put them into gnulib.
+ Must be explicitly requested.
+
+Fri Apr 21 13:45:45 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (main): Don't turn on trigraphs for -Wtrigraphs or -Wall;
+ use -trigraphs for that.
+
+ * cccp.c (main): Use -trigraphs to enable trigraphs.
+ * gcc.c: Pass -trigraphs to cpp; don't pass -T.
+
+ * Makefile: Variable srcdir relates location of sources
+ to current directory. Default is `.'.
+
+ * integrate.c (expand_inline_function): When copying expanded arg,
+ use mode it's passed in, not arg's nominal mode.
+
+ * dbxout.c (dbxout_block): Print generated name with assemble_name.
+
+Thu Apr 20 12:36:09 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stdarg.h: check __sparc__ instead of sparc.
+
+Tue Apr 18 18:58:03 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-next.h (STARTFILE_SPEC): Define it.
+
+Mon Apr 17 19:56:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * dbxout.c (dbxout_block): Use ASM_GENERATE_INTERNAL_LABEL to format
+ the labels LBB... and LBE...
+
+Sun Apr 16 23:57:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * mips.md: Change MINUS to COMPARE where appropriate.
+
+Sat Apr 15 16:11:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (finish_struct, redeclaration_error_message):
+ Rename variables named OLD and NEW.
+
+ * sparc.md (cse'd mult pattern): Handle memory operands.
+ Optimize small integer operands.
+
+ * stmt.c (expand_decl): On sparc, ensure dynamic arrays of doubles
+ are properly aligned, despite unaligned STACK_POINTER_OFFSET.
+
+Fri Apr 14 10:59:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_call): Bugs treating struct value address as param:
+ do so only if it's supposed to be pushed;
+ decode value of FUNCTION_ARG properly.
+
+ * tm-altos3068.h (CPP_SPEC): Some braces were dropped.
+
+ * gcc.c (pexecute): Print message when exec fails.
+ (perror_exec): New fn.
+ (perror_with_name,pfatal_with_name): Change message syntax.
+
+ * tm-hp9k320.h (ASM_IDENTIFY_GCC): Define as no-op.
+
+Wed Apr 12 00:20:31 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (cse_insn): Can record constant value being stored in
+ a bit field, if we can tell that truncation won't change it.
+
+ * m68k.md (bfset, bfclr, bfchg insns): Do CC_STATUS_INIT
+ since the cc's are set from the old contents.
+
+ * gcc.c (compilers): Running `as', put -o option before input file.
+
+ * gcc.c: Delete output file only if that file's compilation fails.
+ * gcc.c (record_temp_file): Changed args: always_delete, fail_delete.
+ (store_arg): Likewise. Callers changed.
+ (clear_failure_queue): Called after each compilation.
+
+Tue Apr 11 01:18:53 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (subst): (SET (ZERO_EXTRACT) (OR (ZERO_EXTRACT) const))
+ optimization was sometimes invalid.
+
+ * tm-m68k.h (NOTICE_UPDATE_CC): A doubleword move that requires 2 insns
+ does not set the cc's usefully.
+
+ * Makefile (cleanlinks): Just do `clean', not `realclean'.
+ (realclean): Delete config links also.
+
+ * expr.c (expand_call): Handle case where return value is in memory
+ but TARGET is a register.
+
+ * c-typeck.c (build_binary_op_nodefault): New arg ERROR_CODE
+ is passed to binary_op_error instead of CODE.
+ All callers changed.
+ (binary_op_error): CODE = NOP_EXPR is new special case.
+ (truthvalue_conversion): Call build_binary_op_nodefault directly
+ and specify NOP_EXPR for the error code.
+
+ * c-decl.c (xref_tag): If pedantic, warn on fwd ref to enum.
+
+Mon Apr 10 19:44:48 1989 Chris Smith (csmith at mozart)
+
+ * tm-convex.h (PCC_BITFIELD_TYPE_MATTERS): It doesn't,
+ but set it anyway. It makes for better code on this
+ word machine.
+
+ * convex.md (one_compl*): add not:QI and not:HI, which
+ do get used after all.
+
+ * tm-convex.h (A_REG_P, S_REG_P): define new macros
+ convex.md: use them
+
+ * convex.md (addsi3): tidy up constraints.
+
+ * tm-convex.h (REG_OK_FOR_INDEX_P): stack pointer is not ok.
+
+ * convex.md: add a pattern to push REG+CONST so we can
+ prefer an A reg.
+
+ * tm-convex.h (tstqi): should sign extend, not zero extend.
+
+ * expr.c (convert_move): Extending narrow to DI via SI,
+ operand of extendsidi2 was wrong.
+
+ * emit-rtl.c (gen_lowpart): Handle CONST_DOUBLE.
+
+Mon Apr 10 05:19:39 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * recog.c (nonmemory_operand): Test constant operands
+ as general_operand does.
+
+ * tm-m68k.h (PRINT_OPERAND): Limit effect of code `d'
+ to constant addresses.
+
+ * loop.c (can_eliminate_biv_p, eliminate_biv): Don't rely on givs with
+ nonconstant coefficients, since the coeffs could be zero.
+
+ * loop.c (can_eliminate_biv_p): Check each giv for ! ignore
+ before assuming it can be used.
+ (check_eliminate_biv): New fn, a piece of strength_reduce broken out.
+
+ * cccp.c (error_from_errno): New fn, like error and perror_with_name.
+ (do_include): Call that if open fails.
+ (finclude): Print I/O error msg before closing desc.
+
+ * c-decl.c (shadow_tag): If more than one tag or structure,
+ or anything other than a tag, warning.
+
+ * c-parse.y (components): Just warn if memb decl has no member,
+ and only if pedantic.
+
+ * loop.c (strength_reduce): Print uids, not luids, for dump.
+ (record_giv): giv_count field counts only DEST_REG givs.
+ (check_dbra_loop): src_two_before_end was set wrong.
+
+ * loop.c (record_giv): New arg LOOP_END; all callers changed.
+ Don't mark giv replaceable if used past LOOP_END.
+ (find_mem_givs): New arg LOOP_END; all callers changed.
+
+ * out-i386.c (FP_CALL): Make this a `return' stmt.
+
+Fri Apr 7 11:56:58 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_expr, case ..._DECL): Preserve mode thru
+ calling change_address.
+
+ * expr.c (emit_library_call): Typo: ARGNUM => COUNT.
+
+ * expr.c (preexpand_calls, expand_call): Take note of RETURN_IN_MEMORY.
+ * stmt.c (assign_parms): Likewise.
+ * integrate.c (function_cannot_inline_p): Likewise.
+
+ * STACK_ARGS_ADJUST: Arg is now a `struct arg_data' and it should
+ be updated in place.
+ * tm-mips.h: Define it.
+ * expr.c (expand_call): Adapt to this. Assume padding comes after args
+ so turn off the feature of changing the args' offsets.
+ (emit_library_call): Adapt to this.
+
+ * tm-mips.h (PRINT_OPERAND): Use CONST_DOUBLE_{LOW,HIGH}.
+ Truncate SFmode constants to single precision.
+
+ * c-typeck.c (mark_addressable): Fix test for local vs global reg var.
+
+ * config.gcc: Change `:-' to `-' in var refs.
+ Shell on convex doesn't handle `:-'.
+
+Thu Apr 6 00:09:01 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (expand_inline_function): Compare actual's mode
+ against formal's DECL_ARG_TYPE's mode, not TREE_TYPE's mode.
+
+ * c-decl.c (implicitly_declare): Make the decl permanent if
+ in global binding level. (Can happen for certain invalid input.)
+
+ * c-typeck.c (build_modify_expr): Block path that made a MODIFY_EXPR
+ containing an ERROR_MARK.
+
+ * config/tm.h: New file.
+
+ * loop.c (only_reg_use_p): Fix bugs in recursion, add some fast
+ special cases. Comment on return value was backwards.
+ (strength_reduce): Negate the value of only_reg_use_p.
+
+ * genoutput.c (output_prologue): Output `#include hard-reg-set.h'.
+ * Makefile: insn-output.o depends on that.
+
+ * toplev.c (main): Typo recognizing -Wswitch.
+
+ * config.gcc (mips): New alternative.
+ * tm-mips.h, out-mips.c, mips.md, va-mips.h: New files.
+ * varargs.h: Include va-mips.h if on mips.
+
+Wed Apr 5 16:58:04 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (duplicate_decls): Rename OLD, NEW to OLDDECL, NEWDECL.
+
+ * stmt.c (expand_function_start): Ref subr instead of
+ current_function_decl; should make no difference.
+
+ * stmt.c (assign_parms): Do extra padding for some parms,
+ controlled by MAX_PARM_BOUNDARY.
+ * expr.c (expand_call): Same thing for caller side.
+ Note this is implemented only for machines that lack push insns.
+ Also, in both cases, it doesn't handle variable-size args.
+
+Tue Apr 4 12:22:06 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (find_file): Try STANDARD_EXEC_PREFIX for startfiles too.
+
+ * varasm.c (make_decl_rtl): Delete never-executed clause.
+
+ * spur.md (movqi, loadhi, extend*, zero_extendhisi):
+ Make subregs with C code, not RTL patterns, so we can
+ avoid generating subreg of subreg.
+
+ * optabs.c (emit_cmp_insn): Not all clauses always succeed,
+ so stop using `else' structure.
+
+ * stmt.c (expand_return): Avoid moving void to void, in cleanups case.
+
+Mon Apr 3 18:04:33 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * m68k.md (cmphi): Don't allow a-reg vs a-reg, since that sign-extends.
+ If there is one a-reg, make sure it is not last.
+
+Sun Apr 2 13:02:26 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (agg_mode): Use highest mode that has desired size.
+ Allow all integer modes, but reject sizes > MAX_FIXED_MODE_SIZE.
+ (That defaults to the size of DImode.)
+
+ * machmode.def: Add PSI, PDI and XF, CXF modes.
+
+Sat Apr 1 00:50:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * ns32k.md (ashd, lshd): Delete patterns that logand the count with 31.
+ The shift count is not truncated on this machine.
+
+ * combine.c (subst): Simplify nested or's, nested xor's.
+ (try_distrib): XOR doesn't distribute through anything.
+
+ * rtl.c (rtx_equal_p): Don't die on null pointers.
+
+ * loop.c (eliminate_biv): Use COMPARE, not MINUS, in generated compare.
+
+ * loop.c (invariant_p): Mem refs in constant pool are invariant.
+
+ * c-decl.c (redeclaration_error_message): If -traditional, allow
+ redeclarations of typedef provided they agree.
+
+ * c-decl.c (start_decl): Do expand_decl on the decl that pushdecl
+ returns. If there was a prev. decl with a different type,
+ we have changed its type and cleared its old rtl, so it need new rtl.
+
+Sat Apr 1 00:50:11 1989 Matthew Self (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (convert_move): Modified to use mode classes
+ instead of refering to specific machine modes.
+
+ * expr.c (do_jump): Converted to use CONST0_RTX macro.
+ do_jmp no longer refers to any machine modes directly except
+ for VOIDmode!
+
+ * expr.c (compare, compare1): Modified to use CONST0_RTX
+ macro. No longer refers to any machine modes directly
+ except VOIDmode and BLKmode!
+
+ * machmode.def: Documented assumptions made about the order
+ of machine modes during mode widening.
+
+ * optabs.c (expand_binop, expand_twoval_binop, expand_unop,
+ emit_cmp_insn): Added mode widening which is independent of
+ specific machine modes. It assumes that we may widen to any
+ higher numbered mode of the same mode class.
+ NOTE: the checks for VOIDmode ops which were present in
+ QI and HI to SI widening are now present in all widening.
+ I assume this is correct. Also, widening is now possible
+ from QI to HI. This may or may not be a good thing....
+
+ * rtl.h (CONST0_RTX): Added definition of new macro
+ CONST0_RTX (mode).
+
+ * rtl.h (GET_NOTE_INSN_NAME, GET_REG_NOTE_NAME): New macros.
+ * rtl.c (note_insn_name, reg_note_name): New tables.
+ * rtl.def (NOTE): Change last field from `i' to `n'.
+ * rtl.c (print_rtx): Print mode of INSN_LIST or EXPR_LIST as reg-note.
+ Print operand code `n' as name of kind of note.
+ (read_rtx): treat `n' like `i'.
+
+ * loop.c (struct induction): Add `mode' field.
+ (strength_reduce, record_giv): Set the `mode' field in V.
+ (can_eliminate_biv_p, eliminate_biv): Use that field.
+
+ * loop.c (struct iv_class): `init_insn' records what inits the biv.
+ Replaces `init_val_set' flag.
+ (strength_reduce): Update and test `init_insn' instead.
+ Use of a biv between its init and the start of the loop
+ does not preclude its elimination from the loop.
+ Setting a giv is ok for eliminating a biv, even if giv is "ignore",
+ since that just means giv will be combined with another.
+ Handle some DEST_ADDR givs for that purpose.
+ Test for giv-setting before check can_eliminate_biv_p.
+ New error check for replaceable giv whose value needed after loop.
+ (only_reg_use_p): New fn.
+
+ * expr.c (expand_expr): PLUS, MINUS with EXPAND_SUM:
+ Associate even harder.
+
+ * loop.c (strength_reduce): Treat all constant biv init vals like ints.
+
+ * loop.c (strength_reduce): Clear all_reduced when v->ignore is set;
+ the code to check this later didn't always do the job.
+
+ * loop.c (verify_loop): Set loop_continue.
+ (scan_loop): mention its value.
+ * rtl.h: Define NOTE_INSN_LOOP_CONT.
+ * stmt.c (expand_loop_continue_here): Output one.
+
+Fri Mar 31 10:08:29 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (pointer_int_sum, pointer_diff): Treat const void * like
+ void *.
+
+ * rtl.c (rtx_addr_varies_p): Don't die on null exp.
+ * cse.c (refers_to_mem_p, refers_to_p): Likewise.
+
+ * gcc.c (validate_switches, validate_all_switches): New fns.
+ Mark a switch as valid if any compiler spec or the linker spec
+ matches it, even for languages not being used.
+
+Thu Mar 30 00:22:14 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * loop.c (loop_optimize, move_movables): when moving a `clr' insn used
+ in zero-extension, sometimes change it to an `and' so that the
+ significant low bits are not clobbered.
+
+ * cccp.c: Implement __BASE_FILE__ and #once.
+ (savestring): New fn.
+ (struct file_name_list): new name for struct directory_stack.
+ (enum node_type): Add T_ONCE, T_BASE_FILE.
+ (directive_table): Add #pragma once.
+ (initialize_builtins): Add __BASE_FILE__.
+ (special_symbol): Handle __BASE_FILE__, together with __FILE__.
+ (do_include): Ignore the file if it's on the #pragma once list.
+ (do_once): New fn; add current file to #pragma once list.
+
+ * cccp.c (do_include): Don't add non-ex files to list of deps.
+
+ * config.gcc: Use {...:-...}, not {...=...}.
+
+ * c-parse.y: Add precedence for IF/ELSE, and for parens;
+ avoids some conflicts.
+
+ * tm-newsgas.h: Include tm-news.h and define USE_GAS.
+
+ * tm-news.h: New name for tm-news800.h.
+ If not USE_GAS, define SONY_ASM.
+ Don't define USE_GAS by default.
+ (CPP_PREDEFINES): Various alternatives depending on processor type.
+ (ASM_FORMAT_PRIVATE_NAME): Override this.
+ (ASM_IDENTIFY_GCC): Override; output nothing.
+ (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Round fsize up to % 4.
+ Max for halfword link insn is 32k, not 64k.
+ (FUNCTION_EPILOGUE): Don't output move.l if no regs to restore.
+ (PRINT_OPERAND_ADDRESS): Change handling of tableref pc-rel addresses.
+ * m68k.md (movhi): Add SONY_ASM conditional.
+
+ * cse.c (cse_insn): If replacing a dest address, preserve MEM_IN_STRUCT
+
+ * gcc.c (error, fatal): alternate varargs defns if HAVE_VPRINTF.
+
+Wed Mar 29 09:54:13 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gcc.c (process_command): Check WORD_SWITCH_TAKES_ARG, so that
+ -Tdata can be handled right.
+
+ * stmt.c (check_for_full_enumeration_handling): new fn, for warn_switch
+ (expand_end_case): Call it, if orig index was enum.
+ * toplev.c (main): Handle -Wswitch.
+ * c-parse.y (SWITCH stmt): Pass orig switch expr to expand_end_case.
+
+ * tm-*.h, out-*.c: Uniformly use reg_names, not reg_name, and don't
+ define any duplicates.
+ * final.c: Delete reg_name.
+
+ * c-parse.y (is_reserved_word): Add keywords __asm and __inline;
+ also __const and __volatile.
+ (yylex): Keywords that start with `__' are recognized regardless of
+ -traditional or -ansi.
+
+ * c-parse.y (check_newline): Always recognize #ident.
+ Macro IDENT_DIRECTIVE is no more.
+ If ASM_OUTPUT_IDENT is undefined, don't output anything for #ident.
+ * tm-3b1.h: Don't define IDENT_DIRECTIVE or ASM_OUTPUT_IDENT.
+ * tm-encore.h, tm-i386gas.h, tm-i368v.h, tm-sun386i.h, tm-vaxv.h:
+ Don't define IDENT_DIRECTIVE; define ASM_OUTPUT_IDENT to output in
+ default way.
+
+ * expr.h (RETURN_IN_MEMORY): New macro, default defn here.
+ * expr.c (expand_call): Use it to control where to return value.
+ * stmt.c (expand_function_start): Likewise.
+
+ * out-sparc.c (find_addr_reg): Abort if none found.
+ Eliminate confusion; do only one change between tests for PLUSness.
+ (output_move_double): Arg to find_addr_reg is address, not mem ref.
+ * out-m68k.c, out-spur.c, out-i386.c, out-alliant.c: Likewise.
+
+ * jump.c (find_cross_jump): Don't let either E1 or E2 be included
+ in the range of matching insns preceding the other (E2 or E1).
+
+ * c-parse.y (check_newline): No error for `#pragma\n'.
+
+ * Makefile (gcc.o): Control STANDARD_STARTFILE_PREFIX here.
+
+ * stmt.c (walk_fixup_memory_subreg): handle null.
+
+ * tm-sparc.h (FUNCTION_BLOCK_PROFILER): Change LPBnn to LPYnn,
+ to avoid conflict with final.c.
+
+Tue Mar 28 15:23:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (do_include): If fail, print system error message.
+ (perror_with_name): Use more standard error format. Inc. `errors'.
+
+ * dbxout.c (dbxout_function): Output any temporary types
+ that were made by dbxout itself.
+
+ * stmt.c: always use an epilogue if pcc-struct-return.
+ (expand_function_start): Compute return_label after testing that.
+ (expand_function_end): Output a return insn after pcc-struct-return
+ processing, if there is a return insn.
+ (expand_null_return): Don't output a return insn, in that case.
+ Simplify the conditions--depends entirely on HAVE_return.
+
+ * tm-m68k.h (FUNCTION_BLOCK_PROFILER): Use jsr, not call.
+
+ * reload.c (find_reloads): Certain mem addresses will be offsetable
+ after reloading; in particular, those where reg_equiv_address applies.
+
+ * loop.c (check_dbra_loop): Change MINUS to COMPARE.
+
+ * c-typeck.c (convert_for_assignment): Return THE standard error_mark.
+
+Thu Mar 23 09:39:02 1989 Richard M. Stallman (rms at watson)
+
+ * c-parse.y (components): Error if empty.
+
+ * dbxout.c (dbxout_symbol): Output const variables as N_STSYM.
+
+ * varasm.c (force_const_mem): Use ASM_OUTPUT_DOUBLE_INT if defnd.
+
+ * c-decl.c (grokdeclarator): Warn about `long long long'.
+
+ * reload1.c (reload): When changing REG to MEM, clear REG_USERVAR_P.
+ * final.c (alter_subreg): Preserve volatile bit of MEM.
+
+ * m68k.md (cmpsi, cmphi): Permit cmpm.
+
+ * gcc.c (find_file): Use standard_startfile_prefix_2.
+ Now search /usr/local/lib/, /lib/ and /usr/lib/.
+
+ * tm-m68k.h (PRINT_OPERAND): Support code `d'.
+ * m68k.md (cmpsi, cmphi, cmpqi): Use it for all mem addresses.
+
+ * final.c (output_asm_insn): Don't allow %LETTER without an
+ operand number.
+ * tm-m68k.h, m68k.md, tm-hp9k320.h, tm-news*.h: Use %@ instead of %s.
+ * tm-alliant.h, alliant.md: Likewise.
+ * i386.md, out-i386.h: Put `0' after each %L, %W, %B, %S, %Q, %R.
+
+ * stmt.c (expand_end_stmt_expr): Pop pending stack args.
+
+ * varasm.c (assemble_variable): For 0-size common variable,
+ allocate at least 1 byte.
+
+ * tm-encore.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Use 0f, not 0l,
+ for doubles.
+
+Mon Mar 13 10:24:56 1989 Richard M. Stallman (rms at ccvi)
+
+ * out-i386.h (function_prologue, function_epilogue):
+ Use call_used_regs, not a copy, so -f options work.
+ Save regs in the opposite order.
+ Save regs even starting from 0 if they happen to be call-saved.
+
+ * Bug fixes from Rob McMahon.
+
+ * loop.c (strength_reduce): When inserting insn to set
+ nonreplaceable giv, put it after all the consecutive insns
+ that compute it.
+
+ * reload.c (find_reloads): When forcing const to mem,
+ use the insn's operand mode, not the const's mode.
+
+ * reload1.c (choose_reload_targets): Use wider of inmode and outmode
+ when determining have_groups.
+
+ * reload1.c (choose_reload_targets): typo checked wrong insn with
+ constraint_accepts_reg_p.
+
+ * reload1.c (choose_reload_targets): Enable #if-0'd code for
+ forgetting old reloads in case of output reload from a non-spill-reg.
+
+Sun Mar 12 00:04:49 1989 Richard M. Stallman (rms at ccvi)
+
+ * c-parse.y (yyerror): Add forward-decl here.
+ * c-tree.h: Delete decl here.
+
+ * New macro USE_C_ALLOCA.
+ * cse.c (cse_main): Do alloca (0) to clear out C alloca.
+ * flow.c (life_analysis):
+ * local-alloc.c (local_alloc):
+ * reload1.c (reload_as_needed): likewise.
+
+ * loop.c (emit_iv_init_code, eliminate_biv):
+ Always put constant in a PLUS last.
+
+ * gcc.c (make_switch): Unused function deleted.
+
+ *gcc.c (switches): Each switch has a `used' field.
+ (process_command): Init it to 0 when making `switches'.
+ (do_spec_1, handle_braces, give_switch): Set to 1 when switch is used.
+ (main): If it remains 0 at the end, print error message.
+
+ * expr.c (convert_move, convert_to_mode): Don't truncate a MEM in
+ place if it is volatile.
+
+ * loop.c (strength_reduce): When reducing a giv, if the biv is
+ incremented between the giv's creation and its use, increment
+ the reduced giv var *after* its use.
+
+ * c-decl.c (duplicate_decls): Warn about proto vs nonproto
+ only if no other errors apply.
+
+ * jump.c (invert_exp): Don't crash if arg is null.
+
+ * alliant.md (float*i*f2): Don't allow immediate ops.
+ (sne): Fix typo, fsne => fsneq.
+
+ * expr.c (store_one_arg, expand_call): When size doesn't matter,
+ pass const0_rtx, not (rtx) 0.
+
+ * expr.c (do_jump): Args to invert_exp were missing.
+
+ * gcc.c (store_arg): Now 2 separate args for delete-on-success
+ and delete-on-failure. All calls changed.
+ (do_spec_1): DELETE_THIS_FILE is meaningful for output files.
+
+ * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
+
+Sat Mar 11 10:30:41 1989 Richard M. Stallman (rms at ccvi)
+
+ * tm-*.h, xm-*.h, *.md: Moved to subdir `config'.
+ * output-*.c: Moved to `config/out-*.c'.
+ * Makefile (.c.o): Define rule to use -Iconfig when compiling.
+ (various): Delete the commands from some compilation rules.
+ Put -Iconfig in other compilation commands.
+ Also some reordering of variable defs and comments for cleanliness.
+ (realclean): Change a shell comment to a Make comment.
+
+ * fold-const.c (fold): Simplify and extend TRUTH_... operators
+ knowing that args must be ints and values will be 0 or 1.
+
+ * gcc.hlp: New file (for VMS).
+
+ * reload1.c (reload): Don't let two 2-groups overlap.
+
+ * reload.c (push_reloads): When a plain reg matches a reload
+ for an increment, don't change the reload_in to a plain reg.
+ Leave the increment there.
+
+ * integrate.c (expand_inline_function): Don't try to inline
+ unless the parm machine modes really match what's expected.
+
+ * stmt.c (emit_case_nodes): default_label is an rtx, not tree.
+
+ * tm-next.h (DOLLARS_IN_IDENTIFIERS): Define it as 1.
+
+ * output-sparc.c (output_move_double): Don't trust random structs
+ to be double-word aligned.
+
+ * gcc.c: Pass -Wcomments to cpp.
+
+ * rtl.def (ASM_OPERANDS): New operands, source file and line.
+ * rtl.h (ASM_OPERANDS_*): New macros for components of ASM_OPERANDS.
+ * stmt.c (expand_asm_operands): Use new fields, not REG_ASM_* notes.
+ * toplev.c (error_for_asm): likewise.
+ * rtl.h (enum reg_note): Delete REG_ASM_FILE, REG_ASM_LINE.
+
+ * combine.c (try_combine): Check explicitly for volatility in I2, I1.
+
+Fri Mar 10 19:30:10 1989 Richard M. Stallman (rms at ccvi)
+
+ * c-parse.y (GOTO stmt): Set TREE_USED for the label.
+ * c-decl.c (poplevel): Warn about unused label.
+
+ * c-decl.c (warn_pointer_arith, warn_strict_prototypes): New vars.
+ (lang_decode_options): Options to set them.
+ * c-typeck.c (pointer_int_sum, c_sizeof): Maybe warn if bad target.
+ * c-decl.c (grokparms): Maybe warn if nonprototype fn decl.
+
+ * flags.h, toplev.c (warn_shadow): New flag.
+ * toplev.c (main): Decode it.
+ * c-decl.c (pushdecl): Maybe warn about any shadowing.
+ Existing parm-shadowing warning now disabled if shadowing decl
+ is also a parm.
+
+ * flags.h, toplev.c (warn_id_clash, id_clash_len): New flags.
+ * toplev.c (main): Decode -Wid-clash-LEN.
+ * tree.c (get_identifier): Implement warning if two idents match.
+
+ * toplev.c (compile_file): Warn about statics defined and unused.
+
+ * rtl.h (CONST0_RTX): New macro.
+
+ * recog.c (offsetable_address_p): New 1st arg says whether to demand
+ a strictly valid address.
+ (offsetable_memref_p): Pass nonzero.
+ * stmt.c (optimize_bit_field): Pass zero.
+
+ * cccp.c (main): Allow -Wcomment like -Wcomments.
+ * c-decl.c (lang_decode_options): Likewise.
+
+Sun Mar 5 15:02:59 1989 Randall Smith (randy at apple-gunkies.ai.mit.edu)
+
+ * m68k.md [tstdf, cmp[sd]f, truncdfsf2, floatsi[sd]f2, add[sd]f3,
+ sub[sd]f3, mul[sd]f3, div[sd]f3, neg[sd]f2, abs[sd]f2]: Made sure
+ that the test function's in the match_operands of the define_expand
+ and define_insn's matched, and made that test function
+ "register_operand" when both define_insn's really needed registers
+ in that spot.
+
+Sat Mar 4 00:25:37 1989 Richard M. Stallman (rms at c2v)
+
+ * expr.c (emit_push_insn): Don't ever bypass the big-endian
+ padding at the end.
+
+ * cccp.c (deps_output): Break line if would otherwise exceed 75 chars.
+ Make a name for that value 75.
+
+ * combine.c (subst): Handle general case of (subreg (sign_extend X)).
+
+ * tm-sun386i.h (CPP_PREDEFINES): Define `sun'.
+
+ * fixincludes: change `find' calls to find dirs thru symlinks.
+
+ * flow.c (mark_set_1): (set (subreg (reg N))...)
+ does make reg N significant for this basic block.
+
+Fri Mar 3 13:55:25 1989 Richard M. Stallman (rms at c2v)
+
+ * c-decl.c (parmlist_tags_warning): Print an explanation
+ for the first such warning.
+
+ * i386.md (extendsfdf): Let op 1 match op0 if that is an fp reg.
+
+ * expr.c (expand_call): Fix stupid errors copying pcc struct value.
+
+ * varasm.c (output_constructor): Discard NOP_EXPRs from build_c_cast.
+
+Thu Feb 23 05:55:57 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Version 1.34 released.
+
+ * c-typeck.c (build_c_cast): If EXPR is an error mark, return that.
+
+ * fold-const.c (div_and_round_double): Abort if divisor is 0.
+ (combine): Likewise, for real constants.
+ (real_zerop): New subroutine.
+ (fold): Don't try to fold division if divisor is 0.
+ Don't try to fold reals if can't do arithmetic on them.
+ Don't try to compare reals for TRUTH_..._EXPR if can't do arith.
+ Use real_zerop to test reals for zeroness.
+ For TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, can simplify based on
+ first operand alone.
+
+ * c-typeck.c (store_init_value): Fix error msg text.
+
+ * tm-sparc.h (FUNCTION_PROFILER): Use `mcount'.
+ * tm-sun4os3.h (FUNCTION_PROFILER): Override it; use `.mcount'.
+
+Wed Feb 22 04:33:22 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-hp9k320.h (CPP_SPEC, CPP_PREDEFINES): Make handling of
+ -Dmc68000 depend on TARGET_DEFAULT.
+
+ * tm-sparc.h (FUNCTION_PROFILER): Missing newline in fprintf.
+
+ * integrate.c (expand_inline_function): Don't map struct-value-address
+ in memory if fn does not use it.
+
+ * c-parse.y (check_newline): At skipline, detect eof.
+
+ * stmt.c (uninitialized_vars_warning): Change text of warning.
+
+Tue Feb 21 03:58:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-sparc.c (output_mul_insn): Handle case of both args
+ in reg 8, or both in reg 9.
+
+ * tm-sparc.h (ASM_SPEC): Define, to handle -pipe.
+
+ * tm-sparc.h (FUNCTION_PROFILER): Add omitted fprintf args.
+ (BLOCK_PROFILER): Likewise. Use tempvar.
+
+ * m68k.md (QImode btst): Allow nonoffsetable mem refs.
+
+Mon Feb 20 00:32:42 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * flow.c (mark_used_regs): Don't record about global reg vars.
+
+ * config.gcc (convex-*): tm file names are tm-convex1.h, tm-convex2.h.
+
+ * tm-vax.h, tm-ns32k.h, tm-alliant.h: Define PCC_STATIC_STRUCT_RETURN.
+
+ * gcc.c (compilers): Pass `-a' to cc1.
+ * tm-sun3.h, tm-sparc.h (LIB_SPEC): Define, to handle `-a'.
+
+ * expr.c (emit_push_insn): Copy stack addresses to be passed to bcopy;
+ old method of preadjustment is broken by changes in emit_library_call.
+
+ * c-decl.c (finish_decl): New temp `temporary'; don't get confused
+ about whether allocation was temporary.
+
+Sun Feb 19 17:03:35 1989 Chris Smith (csmith at mozart)
+
+ * tm-convex.h: define PCC_STATIC_STRUCT_RETURN
+
+ * convex.md:
+ remove pshea patterns, movsi does it better.
+ add ashift:DI abs:DF abs:SF
+ (tstdi): use a clobbered register instead of a bogus DImode zero.
+ (trunchiqi2): delete noninstruction cvth.b
+ (udivsi3, udivhi3, udivqi3): deleted, expand_divmod does it now.
+ (call, call_value): delete stupid call/ret -> jump optimization.
+ (call, call_value): flush call_ap_check, use reg_mentioned_p instead.
+
+ * convex.md: (movxx): swap constraint alternatives so that the
+ leftmost alternative is (set =g r). This makes (set mem const)
+ get combinable input reloads of const instead of uncombinable
+ output reloads to mem. They still do not combine, but wtf,
+ I'll inch up on it.
+
+ * output-convex.c: (const_double_{high,low}_int): new routines
+ to pick apart const_doubles for assembler.
+
+Sun Feb 19 01:40:17 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sparc.md (shift memory right 24 bits): Another `a1' typo.
+
+ * config.gcc (convex-*): Delete troublesome whitespace.
+
+ * c-decl.c (grokparms): Delete redundant `parm != 0' tests.
+
+ * stmt.c (fixup_memory_subreg): Slight simplification.
+
+ * tm-sparc.h (FUNCTION_PROFILER): Fill delay slot.
+ (FUNCTION_BLOCK_PROFILER): Use sethi.
+ (BLOCK_PROFILER): Use %g2, not %g0. Use sethi.
+
+Sat Feb 18 02:11:25 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_expr): Ignore const array's initial value
+ if it's an error_mark.
+ * c-decl.c (finish_decl): Set DECL_INITIAL to an error_mark
+ if the decl is a permanent node.
+
+ * cccp.c (rescan): If traditional, if macro ends inside string,
+ keep scanning for the end of the string.
+ (handle_directive): A line of just `#' becomes blank.
+ (collect_expansion): \ in strings traditionally doesn't hide macro arg.
+
+ * m68k.md, alliant.md (addsi3): New alternative a=r+a, in addition
+ to old a=a+r, needed since reload-insns are not commuted.
+
+Fri Feb 17 03:15:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-m68k.h (PCC_STATIC_STRUCT_RETURN): Define it.
+ * toplev.c, flags.h: New var flag_pcc_struct_return.
+ * stmt.c (expand_function_start): Obey new flag and new variable.
+ * expr.c (expand_call): Obey new flag and new variable.
+ * varasm.c (assemble_static_space): New function.
+
+ * stmt.c (expand_return): If we need cleanups, compute retval first
+ into pseudo reg, then do the cleanups, then copy it to return reg.
+
+Thu Feb 16 02:59:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * regclass.c (init_reg_sets_1): Win if STATIC_CHAIN_REGNUM undefined.
+
+ * expr.c (expand_call): Handle conflict between two precomputed
+ args that are both function calls returning structures.
+
+ * loop.c (move_movables): Bkwds test of m->partial, for a matching reg.
+
+ * expr.c (emit_library_call, expand_call): Handle STACK_ARGS_ADJUST.
+
+Wed Feb 15 01:59:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * toplev.c (flag_caller_saves): New var, for -fcaller-saves.
+ DEFAULT_CALLER_SAVES controls initial value.
+ * global-alloc.c (find_reg): Do caller saves only if flag set.
+ * local-alloc.c (find_free_reg): Do caller saves only if flag set.
+ * tm-alliant.h, tm-convex.h: Define DEFAULT_CALLER_SAVES.
+
+Wed Feb 15 01:59:15 1989 Chris Smith (rms at sugar-bombs.ai.mit.edu)
+
+ * caller-save.c: New file.
+ * regs.h (CALLER_SAVE_PROFITABLE): New macro.
+ (reg_n_calls_crossed): new int-vector replaces reg_crosses_calls.
+ * flow.c (allocate_for_life_analysis, propagate_block, dump_flow_info):
+ Use reg_n_calls_crossed.
+ * stupid.c (stupid_mark_refs, stupid_life_analysis): Likewise.
+ * global-alloc.c (find_reg): Sometimes allocate call-clobbered regs
+ for call-crossing pseudos.
+ New arg ACCEPT_CALL_CLOBBERED; callers changed.
+ * local-alloc.c (find_free_reg): Similar changes.
+ (qty_n_calls_crossed): New int-vector replaces qty_crosses_calls.
+ (alloc_qty, local_alloc, combine_regs, find_free_reg): change that var.
+ * regclass.c (call_fixed_regs, call_fixed_reg_set): new vars.
+ (init_reg_sets_1): Initialize them.
+ * reload1.c (reload): Call caller-saves processing if needed.
+
+Wed Feb 15 01:59:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (expand_expr): INTEGER_CST for DImode: don't handle
+ endianness here. So CONST_DOUBLE_LOW is always the low word.
+ * varasm.c (force_const_mem): Handle it here.
+
+ * expr.c (convert_move): widening followed by extendsidi2 had braino.
+
+ * integrate.c: Don't include ctype.h; not needed and kills Sun cpp.
+
+ * m68k.md (cmpsf, cmpdf and their recognizers):
+ Replace MINUS with COMPARE.
+ Also, use VOIDmode for COMPAREs, not SF or DF.
+
+ * optabs.c (sign_expand_binop): Handle ops such as division where
+ an unsigned char could be widened and handled with signed int insns.
+ * expmed.c (expand_divmod): Use that.
+
+ * c-typeck.c (digest_init): Allow for type variants in validating
+ initialization from a string constant.
+
+ * c-typeck.c (decl_constant_value): Disable opt. if pedantic or
+ outside functions, so that validity of program is never affected.
+
+ * fold-const.c (fold): Signedness-test for ABS_EXPR was backwards.
+
+Tue Feb 14 01:30:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (main): Don't omit normal output, if we want deps on
+ a separate stream.
+
+ * c-decl.c (grokdeclarator): Don't record any arg types for functions
+ if -traditional.
+
+ * print-tree.c (prtypeinfo): Mention permanent attribute.
+
+ * tm-next.h: New file.
+
+ * c-typeck.c (decl_constant_value): The DECL_INITIAL may be ERROR_MARK.
+
+ * c-decl.c (duplicate_decls): For fns, new static decl overrides
+ old non-static one.
+
+ * emit-rtl.c (gen_lowpar, gen_highpart): Use change_address, so we
+ preserve volatility, etc.
+
+ * stmt.c (expand_expr_stmt): Use emit_filename, emit_lineno
+ as file and line for any warning.
+ * emit-rtl.c (emit_line_note): Set those vars.
+
+ * c-decl.c (store_parm_decls): If -Wimplicit, warn of arg with no decl.
+
+ * recog.c (offsetable_address_p): Use strict_memory_address_p,
+ since called from reload.c.
+
+Mon Feb 13 03:11:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sparc.md (compare-to-reg patterns): Some still had MINUS.
+
+ * toplev.c (main): Warn if `-a' on system that can't handle it.
+
+ * stmt.c (expand_asm_operands): Delete unused local `val'.
+ (pushcase_range): Likewise for `value'.
+ (fixup_var_refs): Likewise for `insn'.
+ * emit-rtl.c (start_sequence): Likewise for `save'.
+ * loop.c (scan_loop): Likewise for `before_start'.
+ * expr.c (expand_expr): Delete label `binop1'.
+
+ * reload1.c (constraint_accepts_reg_p): Handle SUBREGs of REGs.
+
+Sun Feb 12 05:37:46 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * gnulib.c (__bb_init_func): New function
+
+ * tm-m68k.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): Defined.
+
+Sat Feb 11 00:05:55 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-sparc.h (FUNCTION_PROFILER): Make it really work.
+ (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
+
+ * final.c (final): Use BLOCK_PROFILER at start of each basic block.
+ (final_start_function): Use FUNCTION_BLOCK_PROFILER if -a.
+ (end_final): New fn to output the block-profiling tables.
+ * toplev.c (profile_block_flag): Set if -a.
+ (compile_file): Call end_final.
+
+ * combine.c (try_combine): Avoid combining in most cases if I3
+ has an inc or dec and I1 or I2 uses the same register.
+
+ * tree.c (size_in_bytes, int_size_in_bytes): Use type's main variant.
+
+ * c-typeck.c (actualparameterlist): Error if parm type is incomplete.
+
+ * expr.c (expand_call): Ignore args that have incomplete type.
+
+Fri Feb 10 02:26:02 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-parse.y (case stmts): strip dummy NOP_EXPRs.
+
+ * reload1.c (reload_as_needed): Clear reg_{has,is}_output_reload here,
+ (choose_reload_targets): not here.
+
+Thu Feb 9 01:35:55 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-sparc.c (output_mul_by_constant): Forget cc status.
+
+ * stmt.c (assign_parms): Don't put volatile parms in regs.
+
+ * vax.md (jlbs/jlbc recognizers): Move them before jbc/jbs recognizers.
+
+ * cse.c (fold_rtx): Handle (EQ (COMPARE ...) (CONST_INT 0)).
+
+ * c-typeck.c (default_conversion, digest_init): For static const
+ nonvolatile scalar variable, use its initial value if known.
+
+ * expr.c (expand_expr: case COMPONENT_REF): If containing structure
+ comes out volatile, leave the component MEM volatile too.
+
+ * hard-reg-set.h: Fix multi-word case macros to swallow semicolon.
+
+ * c-typeck.c (default_conversion): In array=>ptr, volatility
+ of target type comes from TREE_THIS_VOLATILE, not TREE_VOLATILE.
+
+ * reload1.c (forget_old_reload_1, choose_reload_targets):
+ New array reg_is_output_reload is converse of reg_has_output_reload.
+ forget_old_reload_1 needs both.
+
+Wed Feb 8 01:26:24 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * reload1.c (forget_old_reloads_1): New fn, guts of forget_old_reloads.
+ Do process a spill reg if it isn't used for reloading in this insn.
+ (forget_old_reloads): Deleted, replaced with note_stores.
+ (reload_as_needed): Undo Feb 1 change.
+ Call forget_old_reloads_1 on pseudos autoincremented and not reloaded.
+
+ * c-typeck.c (convert_for_assignment): Handle variant types.
+
+ * c-decl.c (lang_decode_option): -Wall implies -Wunused.
+
+Tue Feb 7 01:32:28 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * combine.c (try_combine): Don't try adding outputs to an asm_operands.
+
+ * cse.c (CHEAPER): Don't ever let a hard reg get ahead of a pseudo.
+
+ * stmt.c (fixup_gotos): Don't crash on undef label if THISBLOCK is 0.
+
+ * c-decl.c (parmlist_tags_warning): New fn.
+ * c-parse.y (parmlist, parmlist_or_identifiers): Call it,
+ to warn about any tags defined inside the parmlist.
+ * c-decl.c (grokparms): Don't warn about ptr to incomplete type.
+ The new warning is better.
+
+Mon Feb 6 01:11:36 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (store_constructor): Incorrect ALIGN arg in store_field calls.
+
+ * c-parse.y (%union): Delete unused alternative.
+
+ * c-decl.c (grokparms): Use main variant to test for ptr to incomplete.
+
+ * c-decl.c (finish_enum): Delete superfluous init for `pair'.
+
+ * cse.c (fold_rtx): Optimize X+0, X-0 in floating point.
+ Fix typo in PLUS case; omitted value to compare GET_MODE_CLASS against.
+ (equiv_constant): Allow CONST_DOUBLE.
+
+ * cse.c: Optimize past if-statements that are known to fail.
+ (cse_insn): If condjump becomes uncond to end of this block,
+ set cse_skip_to_next_block.
+ (cse_basic_block): If that happens, ignore rest of block, and maybe
+ treat next block as part of this one (if tables have room).
+ Resume insn that starts next basic block to be scanned.
+ (cse_main): Make room for at least 500 qtys.
+ (cse_end_of_basic_block): Subroutine broken out of cse_main.
+
+ * c-parse.y (hash, is_reserved_word): Rewrite: new hash technique.
+
+ * c-decl.c (duplicate_decls): Be smart about proto vs nonproto mismatch
+ involving a function definition.
+
+Sun Feb 5 17:31:12 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * alliant.md (movdi): Typo in `fmoved'.
+ (ftruncsf2): Handle moving into fp reg.
+
+ * jump.c (jump_optimize): Typo in testing PRESERVE_DEATH_INFO_REGNO_P.
+
+ * reload1.c (choose_reload_targets): Move all death notes to the
+ output reload insn.
+
+ * m68k.md (fix_truncsfsi2,fix_truncdfsi2): Use accurate rtl pattern.
+
+ * loop.c (delete_insn_forces): Use presence of REG_RETVAL to check
+ for value-of-library-call insn.
+
+Sat Feb 4 18:17:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (expand_inline_function): Make addresses of stack
+ slots valid somehow.
+
+ * tm-3b1.h (DIVSI3_LIBCALL, etc.): Define these macros; avoid gnulib.
+
+ * expmed.c (store_bit_field): Avoid (subreg (mem)) when converting
+ VALUE1 to SImode.
+
+ * jump.c (jump_optimize): Do delete USE and CLOBBER insns.
+ This is needed for proper jump optimization.
+
+ * rtl.def (COMPARE): New code.
+ * *.md (compare and related patterns): Use COMPARE, not MINUS:VOID.
+ * loop.c (eliminate_biv, can_eliminate_biv_p): Likewise.
+ * cse.c (fold_rtx, fold_cc0, cse_insn):
+ * output-m88k.c (output_{f,}compare, output_store):
+ * output-sparc.c (strict_single_insn_op_p, single_insn_src_p, safe_insn_src_p):
+ * combine.c (subst):
+ * jump.c (jump_back_p):
+
+Fri Feb 3 18:34:27 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-i386.c (notice_update_cc): If arith insn sets the cc's,
+ discard all remnants of previous cc value and flags.
+
+ * sparc.md (ashiftrt mem by 24): Fix typo `a1'.
+
+Thu Feb 2 14:55:44 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-sparc.c (output_mul_insn): Clear the CC status.
+
+Wed Feb 1 20:01:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Version 1.33 released.
+
+ * reload1.c (reload_as_needed): On entering new basic block,
+ if it didn't need reload regs, forget all inherited contents of those.
+
+ * tm-alliant.h (NOTICE_UPDATE_CC): Floating moves don't set the cc's.
+ Also delete the clauses and tests for FPA regs.
+
+Tue Jan 31 21:51:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * config.gcc: Handle convex-c1, convex-c2.
+ * tm-convex1.h, tm-convex2.h: New files that include tm-convex.h.
+ * tm-convex.h: Define switches -mnoc1, -mnoc2.
+
+ * config.gcc: rename `nofp' to `nfp', to match the file names.
+
+Mon Jan 30 22:12:15 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-sparc.c (output_delay_insn): Extract the operands,
+ call alter_subreg, constrain_operands and NOTICE_UPDATE_CC.
+ So callers other than output_eager_then_insn don't lose.
+ (output_eager_then_insn): No need to do that stuff.
+
+ * symout.c (symout_block_symbols): Handle (MEM (REG)) for
+ variable-sized arrays.
+
+ * tm-encore.h (ASM_SPEC): Always pass -j; avoid jump-range lossage.
+
+Sun Jan 29 17:06:26 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * alliant.md: Fix refs to CONST_DOUBLEs to use CONST_DOUBLE_{HIGH,LOW}.
+
+ * combine.c (subst): (minus (zero_extend ...) (const_int ...)) opt.
+ now limited to within the context of (set (cc0) ...).
+
+Sat Jan 28 14:26:08 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (fold_cc0): Missing `&' extracting CONST_DOUBLEs.
+ (fold_rtx): Don't put CONST_DOUBLEs together into a (CONST (PLUS...)).
+
+ * output-convex.c (gen_cmp): Recognize CONST_DOUBLE as a constant.
+
+ * tree.c (build_real_from_int_cst): Typo in REAL_ARITHMETIC case.
+
+ * Makefile (bootstrap2): Don't use bootstrap3 as subroutine.
+
+ * varasm.c (force_const_mem): Put the CONST_DOUBLE on the chain
+ if its MEM is stored in it; so it can be cleared at end of function.
+
+ * stmt.c (emit_case_nodes): Put a compare before each cond-jump.
+ Two cond-jumps after one cond is invalid and makes cse produce garbage.
+
+Fri Jan 27 01:05:01 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tm-sun2.h (CPP_SPEC): Define __HAVE_68881__ only if -m68881.
+
+ * c-decl.c (start_decl): Don't expand_decl if DECL already has rtl.
+ (grokparms): If just declaring fcn, incomplete parm type is just
+ a warning, and don't discard the specified type.
+
+ * expmed.c (expand_divmod): Be smarter about not clobbering args
+ with intermediate results; one mem can clobber another, and a reg
+ can clobber a mem.
+
+ * tm-i386.h (FUNCTION_PROFILER): Use LPREFIX. May actually work now.
+ * tm-i386gas.h: Include tm-bsd386.h, not tm-att386.h.
+ This means changing asm syntax.
+ #undef DBX_NO_XREFS and DBX_CONTIN_LENGTH.
+
+ * sparc.md (eager branch peepholes): Don't forget 2nd arg to
+ safe_insn_src_p.
+ Don't print warnings.
+ * output-sparc.c: (strict_single_insn_op_p): Return 0 for floating
+ REG or MEM, since copying that may take 2 insns.
+ (operands_satisfy_eager_branch_peephole): require delay insn to
+ be strict_single_insn_op_p as well as safe_insn_src_p.
+ (operand_clobbered_before_used_after): Don't print warnings.
+
+ * varasm.c (decode_rtx_const): Clear entire structure incl. gaps.
+ Avoids spurious hash mismatches.
+ (force_const_mem): If CONST_DOUBLE, store its CONST_DOUBLE_MEM field.
+ Also look in that field rather than hashing, to save time.
+
+ * c-typeck.c (build_c_cast): If value is literal, mark NOP_EXPR as so.
+ (store_init_value): Change error msg.
+
+ * c-decl.c (duplicate_decls): Classify prototype vs nonprototype
+ mismatches better.
+
+ * tm-3b1.h: Fix comment.
+
+Wed Jan 25 12:46:50 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (cleanlinks): Use -f.
+
+Tue Jan 24 17:54:16 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (canon_hash): Fix paren error in last change.
+
+ * varasm.c (immed_real_const_1): Missing arg to bcmp.
+
+Mon Jan 23 02:43:45 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_type): BLKmode elts force array to be BLKmode.
+
+ * genpeep.c, genoutput.c, genemit.c: Put `#include "real.h"' in output.
+
+ * stmt.c (expand_expr_stmt): No "no effect" warning for error-mark.
+
+ * varargs.h: Rename implicit arg name to __builtin_va_alist
+ which triggers code in assign_parms. Does this really matter?
+
+ * sparc.md (sne): New define_expand.
+ (seq recognizers): Handle sne as well.
+ * output-sparc.c ({strict_,}single_insn_src_p):
+ Some NEG and MINUS insns are actually 2 asm insns.
+ (safe_insn_src_p): No floating arith is safe; they can trap.
+ (eq_or_neq): New fn, for seq/sne recognizers.
+
+ * c-decl.c (grokdeclarator, size of array type):
+ Strip from SIZE any NOP_EXPRs that don't change anything.
+
+ * reload.c, recog.c: Include real.h so constraint macros can examine
+ CONST_DOUBLEs.
+
+Sun Jan 22 04:12:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-decl.c (init_decl_processing): Define __builtin_saveregs.
+ * tree.h: likewise.
+ * expr.c (expand_builtin): Handle it.
+
+ * tm-sparc.h: Define TARGET_EAGER and -meager.
+ * sparc.md (eager branch peepholes): Reenable, but test TARGET_EAGER.
+ Change fb insns to use %F. Delete `,a' from some of them.
+ * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
+
+ * xm-vms.h (const): Define it as empty.
+
+ * make-cccp.com: Move the rename of cexp_tab.c.
+ Compile cccp.c with no macro definitions.
+
+ * cccp.c (main): VMS conditional for setting max_include_len.
+
+Sat Jan 21 12:53:00 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varargs.h (va_start): On sparc, call __builtin_saveregs.
+ Delete the old conditional that used va-sparc.h.
+ Rename macros and locals to start with two underscores.
+ * va-sparc.h: File deleted.
+
+ * c-decl.c (store_parm_decls): Initialize OTHERS.
+
+ * stmt.c (assign_parms): Obey layout_decl.
+
+Fri Jan 20 02:19:32 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cse.c (fold_rtx): For SYMBOL_REF and LABEL_REF, mask address
+ to 16 bits.
+
+ * tree.h (NUM_TREE_CODES): NUM_TREE_CODE renamed.
+
+Thu Jan 19 13:53:24 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (mark_addressable): For global reg var, report error.
+ Now returns an int; value of 0 means caller should fail.
+ All calls (in this file) changed.
+
+ * stor-layout.c (layout_decl): Don't let an more than 1 word
+ of any aggregate go in any 1 register. (Needed for machines whose
+ integer regs are 64 bits).
+
+ * tm-convex.h, xm-convex.h, convex.md, output-convex.c: new files.
+
+ * expr.c (convert_move): Use extendqidi2, etc. for converting
+ small ints to double ints. Use zero_extendsidi2 rather than
+ clearing the high half.
+
+Wed Jan 18 01:20:52 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (make_decl_rtl): If global `register' decl is invalid,
+ make ordinary non-register rtl.
+
+ * output-sparc.c (operand_clobbered_before_used_after): new fn.
+ (reg_clobbered_p, safe_insn_src_p): New fns.
+ (single_insn_src_p): Treat constants all as ok, even though not
+ always literally so. Also accept some SIGN_EXTENDs and ZERO_EXTENDs.
+ (strict_single_insn_src_p): New fn, like above but is strict
+ about constants and constant memory addresses.
+ (relop): New fn.
+ (output_move_double): Don't make a MEM, and don't use %m.
+ (output_delayed_branch): New name for output_delay_insn.
+ Now handle non-small constant operands.
+ Avoid duplicate loads of g1 for constant addresses.
+ Use recog_operand directly for output of the delay insn.
+ (output_delay_insn): Now a completely new fn.
+ (output_eager_then_insn, next_real_insn_no_labels): New fns.
+ (operands_satisfy_eager_branch_peephole): New fn.
+
+ * sparc.md: New peepholes for testing a recently used operand.
+ New peepholes for delayed branches, incl. conditional ones.
+ ** Some of them commented out because they seem not to work.
+ (andcc recognizer): Fix typo, missing %.
+ (bgt): Change bgt to bg in output.
+ (reversed jumps): Replace with one pattern using match_operand.
+ It uses %F to output the condition.
+ (movsi): For round-valued immed const, use just a sethi.
+ For other immed, use explicit sethi and or.
+ (movhi, movqi): use `move' for reg source or small int source.
+ For other immed, use explicit sethi and or.
+ (movsi, etc.): Handle all constant addresses like SYMBOL_REFs.
+ (movsf): Delete never-used duplicate code for constant addresses.
+ (addsi3, subsi3, cse'd multiply): Use sethi and or, rather than set.
+ (andsi3, iorsi3, xorsi3): Likewise.
+ (jump): Make an annulled branch.
+
+ * tm-sparc.h (PROMOTE_PROTOTYPES): Define this.
+ (GO_IF_LEGITIMATE_ADDRESS): Now accept all constant addresses;
+ also cleaned up.
+ (NOTICE_UPDATE_CC): Don't change the G1 status when storing in memory.
+ Assume all PARALLEL insns are peepholes.
+ (PRINT_OPERAND): New codes C and N for outputting conditions,
+ either forward or reversed. Also F for reversed floating.
+
+ * jump.c (delete_for_peephole): New function to delete range of insns.
+ * genpeep.c (gen_peephole): Output code to use this.
+
+ * Makefile (install): Fix typo, had $${name} for $${file}.
+
+Tue Jan 17 00:00:12 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * i386.md (ashlsi3): Use addl or leal for special cases.
+
+ * c-decl.c (grokdeclarator): Make a non-global VAR_DECL public
+ if it is external.
+
+ * masm386.c: Clean up formatting.
+
+ * cse.c (fold_rtx): Typo simplifying x|0 or x^0
+ when the 0 comes second.
+
+ * expmed.c (store_fixed_bit_field): For halfwords, verify that
+ the field fits in an *aligned* halfword.
+ (extract_fixed_bit_field): likewise.
+
+ * expmed.c (store_split_bit_field): New arg align, passed in from
+ store_fixed_bit_field and passed back to it.
+ (extract_split_bit_field): likewise.
+
+ * expr.c: Reinsert changes from Jan 2, mysteriously deleted Jan 3.
+ Also changes from Dec 23, Dec 28 and Dec 29.
+
+ * tm-i386.h: Likewise for changes from Dec 30.
+
+ * c-typeck.c (build_component_ref): If field's type is error-mark,
+ return an error-mark.
+
+Mon Jan 16 14:16:54 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * genpeep.c (main): Output code to exit early if insn is followed
+ by a barrier.
+ (gen_peephole): Reject barriers just like labels.
+
+ * stmt.c (do_jump_if_equal): New arg UNSIGNEDP, for emit_cmp_insn.
+ Caller changed. Now static.
+
+ * final.c (final): Set INSN_DELETED_P in insns when output.
+
+ * final.c (final): Re-set BODY if peephole does anything.
+
+ * c-decl.c (grokparms): Ignore anything but PARM_DECLs in the list.
+ (store_parm_decls): If we had a prototype, separate out anything other
+ than a PARM_DECL declared in it, and pushdecl those at the end,
+ after DECL_ARGUMENTS is set.
+
+ * stmt.c (expand_end_case): Do stack adjusts after computing index.
+
+ * expr.c (store_one_arg): Handle padding for case of BLKmode
+ for which space was preallocated.
+
+ * integrate.c (copy_rtx_and_substitute): When copying asm insn,
+ preserve sharing of the input-operand vectors.
+ (expand_inline_function): Clear {orig,copy}_asm_operands_vector
+ to make that mechanism work.
+ (save_for_inline, copy_for_inline): Likewise.
+
+ * stmt.c (expand_asm_operands): Reject `+' in constraints.
+ Every output constraint requires `='; inputs reject it.
+
+ * stmt.c (expand_function_end): Arg to fixup_gotos was missing.
+
+Sun Jan 15 00:28:23 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c, gcc.c (main): Handle SIGPIPE.
+ (pipe_closed): New fn; report suitable fatal error.
+
+ * loop.c (loop_optimize): Initialize moved_once.
+
+ * gcc.c (do_spec): Don't call `execute' if value != 0.
+ Delete redundant second call to do_spec_1.
+
+ * toplev.c (compile_file): Make declared-but-not-defined warnings
+ only if -Wunused.
+
+ * stmt.c (emit_case_nodes): Fix typo setting gen_ble_pat.
+
+ * tm-sparc.h ({U,}MODSI3_LIBCALL): Name was wrong.
+
+ * gcc.c (env_exec_prefix refs): Don't try to open via it if it's null.
+
+ * output-sparc.c (output_store, output_load_{fixed,floating}):
+ Fixed confusions between the mem ref and its address.
+
+ * cse.c (canon_hash): global_regs has entries only for hard regs.
+ * flow.c (insn_dead_p, mark_set_p, mark_used_regs): Likewise.
+
+ * cse.c (fold_rtx): More simplifications for MULT, IOR, AND, XOR
+ DIV and shifts with one arg 0 or 1.
+
+Sat Jan 14 11:41:11 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (build_array_ref): If pedantic, check for regdecl arrays.
+
+ * fixincludes: Make all subdirs in advance, so no need for `dirname'.
+
+ * genpeep.c (gen_peephole): Delete code to increment LABEL_NUSES;
+ instead, clear JUMP_LABEL for any jumps being deleted.
+ No need to test INSN1 for being a label, since not called then.
+ [If any of the matched insns is a JUMP_INSN, set want_jump,
+ and in that case make the matched peephole a JUMP_INSN itself.]
+ That's in an #if 0 now; it's good in jump, but not in final.
+
+ * jump.c (jump_optimize): Don't do peepholes here.
+ * final.c (final): Do them here.
+
+ * jump.c (jump_optimize): In optimizing `if (foo) bar; else break;',
+ don't try to invert anything but a standard-looking conditional jump.
+
+ * jump.c (jump_optimize): Do peepholes on ALL BUT the first pass.
+
+ * gcc.c (env_exec_prefix): New var used like user_exec_prefix
+ but set from envvar GCC_EXEC_PREFIX.
+
+Fri Jan 13 13:21:59 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * genpeep.c (gen_peephole): Test INSN1 for a label at the very start,
+ then test following insns at the end of the loop.
+
+ * sparc.md (call recognizers): do CC_STATUS_INIT, for %g1.
+
+Thu Jan 12 02:13:49 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (make_decl_rtl): Recognize more error cases for reg vars:
+ BLKmode, or initializer given.
+ Distinguisn missing asm from invalid name.
+
+ * expr.c (expand_call): Never return 0; return const0_rtx instead.
+ This makes expand_expr more uniform.
+
+ * c-decl.c (grokparms): For ptr to incomplete type, just warn;
+ don't change the parm's type.
+
+ * stmt.c (expand_return): Set RETVAL_RHS so as to recognize
+ tail-recursive fcn returning void.
+ Unconditionally test value of expand_expr for being a REG.
+
+ * reload.c (find_reloads): Don't process insns that have
+ no constraint alternatives. No more need for have_constraints.
+
+ * recog.c (constrain_operands): New local var nalternatives.
+ Don't bother checking the insn if nalternatives is 0.
+
+Wed Jan 11 01:27:48 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Implement global register decls.
+
+ * varasm.c (make_decl_rtl): Handle global register vars.
+ (make_function_rtl): Set function_defined: after 1st function dfn.
+ (assemble_variable): Ignore global register vars.
+
+ * c-decl.c (grokdeclarator): Don't reject global register decls.
+ (builtin_function): Use make_decl_rtl, not make_function_rtl,
+ to avoid setting function_defined.
+
+ * regclass.c (init_reg_class{,_1}): Init and process global_regs.
+ They are fixed, and call-clobbered.
+
+ * flow.c (insn_dead_p): Storing one of global_regs is never dead.
+ (mark_used_regs, mark_set_1): A global reg is never dead.
+
+ * cse.c (canon_hash): Consider global regs volatile.
+
+
+ * expr.c (do_jump): Know how to invert jumps which are sequences.
+
+ * dbxout.c, symout.c, final.c: On USG, use our own stab.h.
+
+ * tm-i386gas.h: New file for GAS on sysV (with DBX debugging info).
+
+ * m68k.md (bfchg and bfins patterns): Make # alternatives uniform.
+ * alliant.md: Likewise; also in movdf patterns.
+
+ * genoutput.c (output_epilogue): Spurious `break' disabled
+ error check for mismatched # of alternatives.
+ (output_epilogue, scan_operands): Errors in input are not fatal.
+
+ * flow.c (regno_uninitialized): Avoid crash if no basic blocks.
+
+ * sparc.md (move insns): Delete special patterns that handled
+ symbolic constant addresses. The main move patterns now do this.
+ * output-sparc.c (output_store, output_load_{fixed,floating}):
+ Subroutines to do the work for this; has the code from those
+ special patterns. Also fixed bugs in testing against cc_status.mdep.
+
+ * output-sparc.c (output_delay_insn): Clear the CC status.
+ This is necessary for %g1 in the case of a call insn.
+
+ * tm-i386.h (REG_CLASS_CONTENTS): INDEX_REGS is now all but ESP.
+ (REGNO_REG_CLASS): Corresponding change.
+ (REG_CLASS_FROM_LETTER): Eliminate `x' letter since not used.
+
+ * optabs.c (emit_cmp_insn): New arg ALIGN, used for BLKmode.
+ All callers changed.
+ Pass alignment (as rtx) as 4th arg to cmpstr gen functions.
+ Use cmpstrhi if available.
+ * expr.c (compare): Only this call passes a nonzero ALIGN.
+
+ * expr.c (emit_push_insn, emit_block_move): Pass alignment (as rtx)
+ as 4th arg to movstr gen functions.
+
+Tue Jan 10 23:43:05 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stor-layout.c (layout_type): Use BLKmode, if a struct isn't
+ aligned well enough for a scalar mode.
+
+ * expr.c (expand_expr): For static CONSTRUCTOR, ensure memory
+ address is made valid.
+
+ * genpeep.c (match_rtx): For MATCH_OPERATOR, set max_opno, n_operands.
+
+Mon Jan 9 17:07:56 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * varasm.c (output_constant): Split strings every 2000 chars.
+
+ * stmt.c (expand_end_case): Test bkwds, handling constant switch arg.
+
+Fri Jan 6 09:11:20 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * output-sparc.c (output_delay_insn): Add parens to first if test.
+ (output_move_double): Turn addr for `sethi' into MEM for %m.
+
+ * c-typeck.c (convert_for_assignment): move test for ERROR_MARK.
+
+ * c-parse.y (unary_expr): Allow cast_expr as arg of unary op.
+
+ * stmt.c (expand_decl): Don't abort if FUNCTION_DECL lacks rtl;
+ assemble_variable is called after this.
+
+ * c-parse.y (primary -> identifier): Separate case for undeclared
+ identifier outside of functions; avoids confusing error msgs.
+
+Thu Jan 5 01:24:47 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * Makefile (install): Ignore errors in all `if' commands.
+ Create $(libdir) if nec.
+
+ * Makefile (insn-*.[ch]): Put in empty commands. May help Ultrix Make.
+
+ * stmt.c (emit_case_nodes): New arg UNSIGNEDP says do unsigned jumps.
+ Arg INDEX is an rtx, not a tree.
+ (expand_end_case): Pass that arg.
+ (node_has_{low,high}_bound): check for overflow, avoid confusion.
+
+Wed Jan 4 02:24:21 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * sparc.md (movdi, movdf): Use `&' constraint when loading reg from;
+ otherwise can lose on (set (reg X) (mem (plus (reg X) (reg X+1)))).
+
+ * expr.c (emit_push_insn): For memory scalar partially going in regs,
+ copy each word to reg before pushing. Avoids memory-to-memory move.
+ Make the displaced address valid.
+ Also delete unfinished STACK_OFFSET variable.
+
+ * c-parse.y (check_newline): Read just one #-directive and return.
+ This prevents lossage when toplev.c calls it to get the main input file
+ name, and it gets a following #ident as well.
+
+ * c-decl.c (lang_decode_option): Set warn_cast_qual for -Wcast-qual.
+ * c-typeck.c (build_c_cast): Issue some warnings if set.
+
+ * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Missing `;'.
+
+Tue Jan 3 18:07:31 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (emit_library_call): Do force_operand on each operand
+ if it isn't a REG, MEM or constant.
+ Do this, or mode conversions, earlier, before loading any hard regs.
+
+ * m68k.md (addsi3) [SGS]: Put a zero displacement in the `lea'.
+
+ * c-typeck.c (default_conversion): Don't lose `const' or `volatile'
+ when converting array type to pointer.
+
+Mon Jan 2 01:18:01 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expmed.c (store_bit_field, store_fixed_bit_field): New arg,
+ alignment in bytes the structure is known to have.
+ (store_fixed_bit_field): Handle working in halfwords,
+ in case the pointer isn't known to have fullword alignment.
+ * expmed.c (extract_bit_field, extract_fixed_bit_field): likewise.
+ (extract_bit_field): fix unsignedp arg to extract_fixed_bit_field.
+ * expr.c (store_field): New arg, passed to {store,extract}_bit_field
+ (expand_assignment, store_constructor): Pass that arg.
+ (expand_expr): Pass new arg to extract_bit_field.
+
+ * m68k.md (casesi_2 recognizer): Offset always 6 for 3b1.
+
+ * c-typeck.c (convert_for_assignment): Strip from rhs no-op NOP_EXPRs
+ put on by build_c_cast (to make the result not an lvalue).
+ (build_modify_expr, build_compound_expr): likewise.
+ (build_conditional_expr): likewise.
+ (actualparameterlist, build_function_call): likewise.
+ (default_conversion, truthvalue_conversion): likewise.
+
+ * loop.c (move_movables): If reg has moved out of one loop,
+ divide `savings' by 2.
+
+Sun Jan 1 03:00:07 1989 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * c-typeck.c (truthvalue_conversion): Distribute the conversion
+ into the arms of a COND_EXPR.
+
+ * cse.c (fold_rtx): Don't fold a MINUS with VOIDmode
+ into a symbolic constant--it's incorrect.
+
+ * cse.c (cse_insn): If SRC is a subreg with known value, simplify it.
+
+ * integrate.c (copy_rtx_and_substitute): Allow a ref to a part of
+ MEM parm whose actual parm is a reg, provided it refs
+ the low part of the MEM.
+ (function_cannot_inline_p): Don't inline functions which have
+ aggregate parameters and take their addresses. This could produce
+ refs to non-low-parts, which copy_rtx_and_substitute can't handle.
+
+ * c-typeck.c (build_modify_expr): If lhs is COND_EXPR,
+ make a COMPOUND_EXPR to ensure the rhs is computed before the branch.
+
+ * Implement -pipe.
+ * gcc.c (do_spec_1): `|' is now a special delimiter
+ which goes in the argbuf.
+ When a newline is preceded by a `|', delete it if no -pipe.
+ Otherwise, don't execute yet, and keep scanning.
+ (do_spec): At end, if we have stuff with no newline, execute it.
+ (handle_braces): Implement %{|foo:...}.
+ (execute): If argbuf contains some `|'s, run several processes
+ and pipe them together.
+ (pexecute): new subroutine to make one of the processes.
+ (find_exec_file): new fn to search for program to execute.
+ (record_temp_file): new arg FAIL_ONLY.
+ (store_arg): 2nd arg == 3 means delete file on failure.
+ This is used for output files.
+ (delete_temp_files): delete certain files only if fail.
+
+ * cccp.c (include_defaults): /usr/include before /usr/local/include.
+
+ * recog.c (asm_noperands): 1-off in loop checking CLOBBERS
+ when no output operands and PARALLEL.
+
+ * expmed.c (negate_rtx): Sign-extend the high bits rather than clear.
+
+ * cse.c (fold_rtx): fold negation of real values.
+ (fold_cc0): fold comparisons on real values.
+
+ * Makefile (install): Use $(INSTALL) for gcc.1 and files in USER_H.
+
+ * Handle floating-point problems for cross-compilation.
+
+ * real.h (CONST_DOUBLE_LOW, etc.): new macros to access CONST_DOUBLE.
+ * varasm.c (immed_double_const, decode_rtx_const): Use these.
+ ({force,clear}_const_double_mem): Likewise.
+ * output-*.c (output_move_double): Use these.
+ * output-m68k.c (standard_{68881,sun_fpa}_constant_p): Likewise.
+ * tm-*.h (PRINT_OPERAND): Use these.
+ * output-i386.c (print_operand): Use these.
+ * final.c (output_addr_const): Likewise.
+ * emit-rtl.c (gen_rtx): Delete special code for CONST_DOUBLE.
+
+ * real.h (union real_extract): Portable type for storing real as ints.
+ * varasm.c (immed_double_const, decode_rtx_const): Use these.
+
+ * varasm.c (immed_real_const_1, decode_rtx_const):
+ Don't assume REAL_VALUE_TYPE is 2 ints long.
+ * emit-rtl.c (init_emit_once): Likewise.
+
+ * real.h (REAL_VALUE_TYPE): Define as `double' if not defined.
+ (REAL_IS_NOT_DOUBLE): Define this if default REAL_VALUE_TYPE not used.
+ (REAL_VALUES_EQUAL, REAL_VALUES_LESS): Define, if not already defined.
+ (REAL_VALUE_LDEXP, REAL_VALUE_ATOF): Likewise.
+ * tree.h (struct tree_real_cst): Use REAL_VALUE_TYPE for the value.
+
+ * rtl.c (init_rtl): Increase length of CONST_DOUBLE if REAL_VALUE_TYPE
+ needs more space. Change the rtx_format element to match.
+ * varasm.c (immed_real_const_1): 1st arg now has REAL_VALUE_TYPE.
+ (force_const_mem): Assume a CONST_DOUBLE contains REAL_VALUE_TYPE.
+ * emit-rtl.c (init_emit_once): Likewise.
+ And use REAL_VALUE_ATOF to get a floating zero.
+ * optabs.c (expand_float): Use REAL_VALUE_TYPE, REAL_VALUE_LDEXP.
+ * c-parse.y (yylex): Likewise, and use REAL_VALUE_ATOF.
+ * fold-const.c (split_tree): Don't accept REAL_CSTs.
+ (combine, fold_convert, fold): Use REAL_ARITHMETIC if defined;
+ else don't fold reals if they are not doubles.
+ * tree.c (build_real_from_int_cst): Likewise.
+ * print-tree.c (dump) [REAL_IS_NOT_DOUBLE]: output float value
+ in hex, since we don't know how to do it right.
+
+Sat Dec 31 14:15:13 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * optabs.c (init_optabs): Handle new macros {U,}MULSI3_LIBCALL,
+ DIVSI3_LIBCALL, MODSI3_LIBCALL.
+ * tm-sparc.h: Define {,U}{MUL,DIV,MOD}SI3 to call Sun's library direct.
+
+ * tm-sun3-nfp.h, tm-sun3-fpa.h: New files.
+
+Fri Dec 30 00:14:36 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * cccp.c (main): Certain envvars specify a file to write deps info to.
+
+ * toplev.c (compile_file): Warn about undefined fns declared static.
+
+ * m68k.md (casesi_2 recognizer) [SGS] RTX_INTEGRATED_P test backwards.
+ * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Likewise. Also missing `\'.
+
+ * reload1.c (count_occurrences): New function.
+ (choose_reload_targets): Don't delete a reload if the same reg
+ is used elsewhere in the current insn.
+ (delete_output_reload): code split out from choose_reload_targets.
+
+ * c-typeck.c (build_c_cast): Always put on some operator,
+ so the cast is never an lvalue for strict ANSI.
+
+ * c-typeck.c (initializer_constant_valid_p): Don't depend on
+ distinction between NOP_EXPR and CONVERT_EXPR.
+
+ * c-convert.c: Fns reordered; new comments.
+
+ * fold-const.c (fold): If simplifying a NOP_EXPR within a BIT_AND_EXPR,
+ return a NOP_EXPR.
+ New var TYPE holds type of expr.
+
+ * c-parse.y (expr_no_commas): Split off cast_expr and unary_expr,
+ to reject `sizeof (int) foo'.
+
+ * toplev.c (main): Treat plain `-' as input filename.
+
+ * final.c (final): If an insn's output routine returns 0,
+ it means to output the deleted compare insn immediately preceding.
+
+ * m68k.md (branch insns): Use 0 as 3rd arg for OUTPUT_JUMP
+ rather than explicitly clearing the overflow flag.
+
+ * tm-i386.h (OUTPUT_JUMP): Really use NO_OV; don't abort.
+ * i386.md (branch insns): Put real data (sometimes 0) in 3rd arg
+ of OUTPUT_JUMP. 0 means preceding test may not be deleted.
+ (lea pattern): Clear the cc's.
+ * output-i386.c (notice_update_cc): various arith insns set the cc's.
+
+Thu Dec 29 13:22:01 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * stmt.c (expand_decl_init): Do nothing for static decls.
+
+ * reload.c (find_reloads_address{,_1}): Return 1 iff entire arg
+ was reloaded as a whole, else 0.
+ (find_reload): If find_reloads_address returns 1, don't let that MEM
+ satisfy a `>' or `<' constraint.
+
+ * m68k.md (cmpmb): Delete special pattern, make cmpqi handle it.
+ The special pattern couldn't handle reloading the incremented register.
+
+ * integrate.c (copy_rtx_and_substitute): Test BYTES_BIG_ENDIAN,
+ not BITS...
+
+ * combine.c (subst): Consider big-endian correction
+ when simplifying (subreg (mem ...) ...).
+
+ * reload.c (find_reloads): Don't crash if matching operands in `asm'
+ are both read or both write.
+
+ * expr.c (emit_push_insn): Address for movstr must be XINNER, not X.
+
+ * toplev.c (main): Typo parsing `-fno...'.
+
+Wed Dec 28 13:07:21 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * toplev.c (rest_of_compilation): `volatile' fns need jump_optimize
+ for warnings, as if -Wreturn-type.
+ * c-typeck.c (c_expand_return): Warn about `return' in a `volatile' fn.
+ * c-decl.c (finish_function): Warn if `volatile' fn can drop thru end.
+
+ * cse.c (canon_reg): Handle nulls as subexpressions.
+ (fold_rtx, canon_hash, mention_regs, exp_equiv_p): Likewise.
+ * loop.c (invariant_p, replace_regs, replace_call_address, may_trap_p,
+ {basic,general}_induction_var): Likewise.
+
+ * expr.c (expand_call): Handle `const' functions:
+ Local IS_CONST is 1 if function is const.
+ Attach REG_RETVAL and REG_LIBCALL notes around the call.
+ Copy fn address to register outside of those notes.
+ Likewise precompute all parms outside them.
+
+ * expr.c (expand_call): If fn is volatile, emit barrier after the call.
+
+ * c-decl.c (grokdeclarator): Allow function declared const or volatile.
+
+Sat Dec 24 18:40:12 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * integrate.c (function_cannot_inline_p): If STRUCT_VALUE_INCOMING
+ or STRUCT_VALUE is defined, can't inline functions returning BLKmode.
+
+Fri Dec 23 13:26:26 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * expr.c (store_constructor): Compute array's size
+ with int_size_in_bytes.
+
+ * varasm.c (assemble_variable): If shared data, go to data section
+ before outputting an uninitialized symbol.
+
+ * tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Missing backslash.
+ (SHARED_SECTION_ASM_OP): Macro defined.
+ * tm-seq386.h (SHARED_SECTION_ASM_OP): Macro defined.
+
+ * c-typeck.c (c_expand_asm_operands): Warn if output op is `const'.
+
+ * Fix problem where a stmt expr in an initialization
+ refers to the variable it is initializing.
+ * stmt.c (expand_decl_init): New fn split out from `expand_decl'.
+ * c-decl.c (finish_decl): Call that.
+ Don't call expand_decl if already done.
+ (start_decl): Call expand_decl if type is complete already.
+
+ * Makefile (install): Typo in ranlib command.
+
+Thu Dec 22 15:57:12 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+
+ * tree.h (tree_identifier): New field.
+ (IDENTIFIER_ERROR_LOCUS): Accessor for it.
+ * c-parse.y (primary => IDENTIFIER):
+ Undeclared variable gets one err msg per function it appears in.
+
+ * ns32k.md (andsi3): Delete extra brace.
+
+ * alliant.md, xm-alliant.h, tm-alliant.h, output-alliant.c: New files.
+
+ * combine.c (SUBST, SUBST_INT): Store new field `is_int'.
+ (copy_substitutions): Don't copy an int as an rtx.
+
+ * Makefile (INSTALL): Install gcc.1 properly.
+
+ * tm-ns32k.h (FUNCTION_PROLOGUE, ASM_OUTPUT_ALIGN_CODE):
+ Add missing backslashes.
+
+See file OChangeLog.
+
+Local Variables:
+mode: indented-text
+left-margin: 8
+fill-column: 76
+version-control: never
+End: