Annotation of GNUtools/cc/ChangeLog.1, revision 1.1

1.1     ! root        1: Thu May 10 22:48:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !             2: 
        !             3:        * rtl.def (DEFINE_DELAY): Change description to describe annulling.
        !             4: 
        !             5:        * genattr.c (main): Write out definitions for annulling, if present.
        !             6: 
        !             7:        * genattrab.c (expand_delays): Build internal attributes for
        !             8:        which insns can be annulled in a delay slot.
        !             9:        (gen_delay): Validate number of elements in DEFINE_DELAY list.
        !            10:        (write_eligible_delay): Write out routines for validating annulled
        !            11:        insns as well as those in normal delay slot.
        !            12:        (main): Call write_eligible_delays to output annulling information,
        !            13:        if it exists for this machine.
        !            14: 
        !            15:        * out-m68k.c (not_sp_operand): New function.
        !            16:        * m68k.md (andsi3): Don't allow sp as ourput to avoid reload
        !            17:        inefficiency.
        !            18: 
        !            19:        * calls.c (struct arg_data): Delete field STORED; add fields
        !            20:        PASS_ON_STACK and SAVE_AREA.
        !            21:        (prepare_call_address): Static chain value can't have QUEUED.
        !            22:        (expand_call): Rework to support additional calling sequence options.
        !            23: 
        !            24:        Major changes include:
        !            25:        Call FUNCTION_ARG_PASS_BY_REFERENCE to determine whether an 
        !            26:        object should be passed by invisible reference.
        !            27:        Handle arguments passed both on stack and in a register; this can be
        !            28:        used to allow arguments that are hard to compute directly into
        !            29:        registers to be passed.
        !            30:        Support option (ACCUMULATE_OUTGOING_ARGS) where the largest amount
        !            31:        of stack for outgoing arguments is computer and pushed during the
        !            32:        function prologue.  Stack space usage is tracked and any location
        !            33:        that would need to be reused will be saved and restored.
        !            34:        If preallocating arg block, compute address where each arg will be
        !            35:        placed and pass it as target to expand_expr.
        !            36: 
        !            37:        Other changes:
        !            38:        Use virtual regs to see if structure value address isn't stable.
        !            39:        If inlined, return TARGET if TARGET and TEMP are equivalent.
        !            40:        UNNAMED_ARGS_IN_REGISTERS is redundant with the NAMED parameter to
        !            41:        FUNCTION_ARG and has been deleted.
        !            42:        Use virtual_outgoing_stack_rtx instead of FIRST_PARM_CALLER_OFFSET.
        !            43:        Use locate_and_pad_parm to compute any needed padding for argument.
        !            44:        If REG_PARM_STACK_SPACE is defined, allocate backing stack locations
        !            45:        for args passed in registers; these are not included in the length
        !            46:        of stack space required unless OUTGOING_REG_PARM_STACK_SPACE is also
        !            47:        defined.
        !            48:        When precomputing register parameters, can stop computation when we
        !            49:        obtain any rtx, not necessarily a register.
        !            50:        No longer need code to protect data written below bottom of stack;
        !            51:        this is taken care of by preexpanding calls in argument.
        !            52:        target_for_arg no longer needed; its function is performed by
        !            53:        store_one_arg.
        !            54:        Always copy function return result to our target since they cannot
        !            55:        possibly be the same.
        !            56:        (target_for_arg): No longer used.
        !            57:        (store_one_arg): Save and restore in-use argument list location.
        !            58:        Support args passed both in register and on stack.
        !            59:        No need for explicit code for preallocated area; now pass location
        !            60:        as target to expand_expr; only copy if result in different place.
        !            61:        Put sequence point after expanding one value.
        !            62: 
        !            63:        * cse.c (struct write_data): Add bit to indicate stack pointer changed.
        !            64:        (canon_hash): Allow recording of stack pointer.
        !            65:        (cse_insn): Indicate stack pointer invalidated by subroutine calls.
        !            66:        Pass stack push and pop operations to note_mem_written.
        !            67:        Process stack pointer assignment as normal operation.
        !            68:        Finish change of April 7th that excludes ap and fp from being marked
        !            69:        as clobbered by calls.  Also exclude sp; if it is clobbered by a
        !            70:        call, an explicit CLOBBER will be written.
        !            71:        (note_mem_written): Look for adjustment of stack pointer.
        !            72:        (invalidate_from_clobbers): Invalidate stack pointer, if required.
        !            73: 
        !            74:        * emit-rtl.c (gen_inline_header_rtx): Add field for outgoing args size.
        !            75:        (copy_rtx_if_shared): Check for any virtual register instead of frame
        !            76:        or argument pointer.
        !            77:        (init_emit): Start normal pseudos after virtual pseudos.
        !            78:        Copy the unique virtual regs into regno_reg_rtx.
        !            79:        (init_emit_once): Incoming and outgoing static chain can be the same;
        !            80:        inlining of nested functions won't need the distinction.
        !            81:        Create unique copies of virtual registers.
        !            82: 
        !            83:        * explow.c (memory_address): Don't worry about refs to fp or ap;
        !            84:        force_reg knows how to handle them correctly.
        !            85:        (fix_lexical_addr): Moved to function.c
        !            86:        (adjust_stack, anti_adjust_stack): Do nothing for adjustment of zero.
        !            87:        (allocate_dynamic_stack_space): New function copied from
        !            88:        expand_builtin.  Handle STACK_POINTER_OFFSET via
        !            89:        virtual_stack_dynamic_rtx.  When STACK_POINTER_OFFSET is defined,
        !            90:        perform alignment by always reserving a multiple of STACK_BOUNDARY
        !            91:        stack bits.  This avoids concern about whether sp itself or the top of
        !            92:        stack needs to be aligned; if we start with an aligned stack, we keep
        !            93:        it aligned.
        !            94:        (round_push): Use ADD and AND rather than DIV and MULT.
        !            95: 
        !            96:        * expr.c (init_expr): Initialize some more vars.
        !            97:        (push_block): Use virtual_outgoing_args_rtx so don't need
        !            98:        STACK_POINTER_OFFSET here.
        !            99:        Merge extra and size more efficiently; no need to call force_operand
        !           100:        since memory_address is called.
        !           101:        (emit_push_insn): Pass type for FUNCTION_ARG_PADDING.
        !           102:        Use REG_PARM_STACK_SPACE instead of FIRST_PARM_CALLER_OFFSET.
        !           103:        To see if must copy address, check if it is a virtual register that
        !           104:        will be mapped to sp; only need check if not accumulating space
        !           105:        space for outgoing parms.
        !           106:        Ignore EXTRA if argument block has already been allocated.
        !           107:        (emit_library_call): Major rework to support calling sequences similar
        !           108:        to expand_call in calls.c, but only support a very small subset of
        !           109:        the conventions; abort if something outside our subset occurs.
        !           110:        Abort if incorrect mode is passed; we can't convert here since we don't
        !           111:        know the signedness.
        !           112:        (store_field): Check for virtual registers instead of hard registers
        !           113:        when seeing if stable.
        !           114:        (safe_from_p): Location in outgoing stack area is known to be safe.
        !           115:        (expand_builtin, BUILT_IN_ALLOCA): Use allocate_dynamic_stack_space.
        !           116: 
        !           117:        * expr.h: Define current_function_outgoing_args_size and
        !           118:        locate_and_pad_parm; delete definition of get_structure_value_addr.
        !           119:        (ARGS_SIZE_RTX): Always return a valid operand.
        !           120:        (ARGS_SIZE_TREE): New macro.
        !           121:        (FUNCTION_ARG_PADDING): Accept MODE and TYPE like other
        !           122:        FUNCTION_ARG_... macros.
        !           123:        (FUNCTION_ARG_BOUNDARY): Provide default for new macro.
        !           124:        (MUST_PASS_IN_STACK): New macro.
        !           125:        (allocate_dynamic_stack_space): New function.
        !           126:        * tm-3b1.h, tm-3b1g.h, tm-apollo68.h, tm-crds.h, tm-mot3300.h:
        !           127:        Change definition of FUNCTION_ARG_PADDING to use TYPE instead of SIZE.
        !           128: 
        !           129:        * function.c (current_function_outgoing_args_size): New var.
        !           130:        (arg_pointer_save_area, virtuals_instantiated): Likewise.
        !           131:        (invalid_stack_slot): No longer used.
        !           132:        (push_function_context, pop_function_context): Save and restore
        !           133:        outgoing args size and arg pointer save area.
        !           134:        No longer save or restore invalid_stack_slot.
        !           135:        (pop_function_context): Set up variables whose value is constant
        !           136:        throughout rtl generation.
        !           137:        (get_frame_size): No longer adjust by STARTING_FRAME_OFFSET.
        !           138:        (assign_stack_local): Use virtual_stack_vars_rtx instead of fp
        !           139:        until virtuals have been instantiated, then use fp.
        !           140:        Remove reference to obsolete invalid_stack_slot.
        !           141:        Can no longer be called with size == 0.
        !           142:        (assign_outer_stack_loc): Use virtual_stack_vars_rtx instead of fp.
        !           143:        Remove references to obsolete invalid_stack_slot.
        !           144:        Push to obstack of containing function when allocating rtx.
        !           145:        (put_var_into_stack): Only switch obstacks around making of
        !           146:        queue entry.
        !           147:        Replace call to parm_stack_loc with reference to info in proper
        !           148:        function.
        !           149:        (fixup_stack_1): Handle any virtual register instead of handling
        !           150:        just fp.
        !           151:        (instantiate_virtual_regs, instantiate_virtual_regs_1): New functions.
        !           152:        (use_variable, use_variable_after): Check for virtual register
        !           153:        instead of checking against ap and fp.
        !           154:        (parm_stack_loc): Function deleted.
        !           155:        (assign_parms): No longer need internal_arg_pointer.
        !           156:        Accept SECOND_TIME argument that suppresses rtl generation and
        !           157:        assignments to DECL_RTL.  Used by integrate.c to recompute vars.
        !           158:        Don't use FIRST_PARM_OFFSET here; use virtual_incoming_args_rtx.
        !           159:        Replace test for nonstable incoming arg pointer.
        !           160:        If structure value address is treated as the first argument, add
        !           161:        it into the list of arguments; this means we can have a RESULT_DECL
        !           162:        in with the PARM_DECL's.
        !           163:        DECL_OFFSET is no longer needed by integrate.c.
        !           164:        Handle args passed by invisible reference.
        !           165:        Support new macro, SETUP_INCOMING_VARARGS, to save all registers used
        !           166:        for args including and beyond those for the current arg.  Used for
        !           167:        non-ANSI varargs.
        !           168:        Pass locate_and_pad_parm data it needs to handle reg->stack boundary
        !           169:        if register parameters have assigned stack space.
        !           170:        If we received the function's incoming structure pointer as a
        !           171:        normal argument, update DECL_RTL of DECL_RESULT.
        !           172:        Round total argument size if required; similarly, always use at
        !           173:        least REG_PARM_STACK_SPACE bytes if defined.
        !           174:        (locate_and_pad_parm): Do not need PARM.
        !           175:        Major rework to do much of the job of aligning and padding stack
        !           176:        location.  Now a void function wich is passed pointers to struct 
        !           177:        args_size vars that are set to the argument position, size, and
        !           178:        initial offset.
        !           179:        Accept flag denoting if a parm was passed in a register and also
        !           180:        the current function declaration.
        !           181:        If register parameters are assigned stack locations and there is a
        !           182:        minimum required size for the area assigned to register parameters,
        !           183:        pad the stack position when a parameter not assigned to a register
        !           184:        is encountered.
        !           185:        Remove redundant code in MAX_PARM_BOUNDARY case.
        !           186:        (lookup_static_chain): Use virtual_stack_vars_rtx instead of fp.
        !           187:        (fix_lexical_addr): Move from explow.c.
        !           188:        If referencing variable that lives in the incoming argument area
        !           189:        of its parent and a separate ap is required, allocate a save area in
        !           190:        the parent for it and use it here.  If no separate ap is require,
        !           191:        compute offset between ap and fp.
        !           192:        (trampoline_address): No need to push obstacks here.
        !           193:        (init_function_start): Initialize new vars; delete obsolete vars.
        !           194:        (expand_function_start): Don't need to handle case where incoming
        !           195:        structure return address is passed as hidden parameter here; now done
        !           196:        completely in assign_parms.
        !           197:        (expand_function_end): Save ap if a save area was made for it.
        !           198:        Set REG_FUNCTION_VALUE_P when copying address of returned
        !           199:        structure.
        !           200:        Be consistent in use of FUNCTION_... macros vs. hard_function_value.
        !           201: 
        !           202:        * function.h (outgoing_args_size, arg_pointer_save_area): New fields.
        !           203:        (invalid_stack_slot): Obsolete, deleted.
        !           204: 
        !           205:        * integrate.c: Major rework and simplification.
        !           206:        Split up vars into two classes.  Those used for expand_inline_function
        !           207:        and children are now part of struct inline_remap.  Most of the others
        !           208:        are for save_for_inline and its children.
        !           209:        (function_cannot_inline_p): The only type of arguments that will
        !           210:        cause us to reject inlining are variable-sized arguments; also
        !           211:        reject functions that return variable-sized objects.
        !           212:        For now, don't inline a nested function.  We'll support this shortly.
        !           213:        Use current_function_returns_pcc_struct instead of duplicating test.
        !           214:        (save_for_inline): No need to set TREE_VOLATILE for parms.
        !           215:        Save outgoing args size in header.
        !           216:        Use unique copy of virtual reg rtx's.
        !           217:        Handle any required fixups for INSN_LIST forward-references.
        !           218:        Don't bother resetting dead static vars when we are done.
        !           219:        Need not save current_function_pretend_args_size.
        !           220:        (copy_for_inline): First copy all insns, then all REG_NOTES to avoid
        !           221:        problems with forward references.
        !           222:        (struct inline_remap): Move all previously-static vars used by
        !           223:        expand_inline_function and children into this structure.  This avoids
        !           224:        potential problems due to recursive calls to expand_inline_function.
        !           225:        (expand_inline_function and children): Allocate a struct inline_remap
        !           226:        and pass to all children.
        !           227:        (expand_inline_function): Rework parameter handling by looking at
        !           228:        DECL_RTL and using it to determine what types of mappings need to be
        !           229:        done.  Support objects passed by invisible reference.  Put any
        !           230:        constant memory addresses into const_equiv_map.  parm_map is no longer
        !           231:        used.
        !           232:        Likewise for the return value: consult DECL_RTL (DECL_RESULT)).
        !           233:        Don't allocate space for called function's frame until referenced.
        !           234:        No longer need special handling for insn following CALL.
        !           235:        Ignore USE whose argument has REG_FUNCTION_VALUE_P true.
        !           236:        Ignore setting function register if we don't have a mapping for it
        !           237:        (e.g., we are ignoring the result of the call).
        !           238:        Look at new SET_SRC for constant equivalences.  Some new ones may
        !           239:        have resulted from constant folding.
        !           240:        Pass both new and old rtx to try_constants.
        !           241:        Discard NOTE_INSN_DELETED notes.
        !           242:        Copy insns first, then REG_NOTES, to avoid problems with forward refs.
        !           243:        (copy_parm_decls): Compute new address of parameter using the
        !           244:        constant equivalence map, which will contain the remapping of
        !           245:        the frame and argument pointer.
        !           246:        (copy_decl_tree): Likewise.
        !           247:        (copy_rtx_and_substitute): Handle references to frame and argument
        !           248:        pointers by allocating a space equal to the size of the frame and
        !           249:        incoming arguments, respectively, and setting a pseudo to point to
        !           250:        the start of each area.  Set up an equivalence in CONST_EQUIV_MAP
        !           251:        between fp or ap and the actual address.  Return the pseudo.
        !           252:        Don't need to deal with possibility of (SUBREG (CONST_INT)) since
        !           253:        we are only replacing register with other registers here.
        !           254:        No longer need to special-case PLUS and MEM;  subst_constants will do
        !           255:        this work.
        !           256:        Update detection of sets of ap and fp.
        !           257:        (try_constants, subst_constants): Accept old and new rtx.  They will
        !           258:        be isomorphic, with only register numbers changed.  Use old rtx to
        !           259:        look up register in CONST_EQUIV_MAP and new rtx for substitution.
        !           260:        Correctly handle SUBREG of CONST_INT and CONST_DOUBLE.
        !           261:        Fix typos in handling of PLUS.
        !           262:        (access_parm_map, copy_address): Delete functions.
        !           263:        (try_fold_cc0): Handle both compare and test.
        !           264:        (fold_out_cnst_cc0): Rework to simplify and remove dubious cases.
        !           265:        (output_inline_function): Call assign_parms to perform any needed
        !           266:        setups.
        !           267:        Need not restore pretend arg size (will be computed by assign_parms).
        !           268:        Restore outgoing argument size.
        !           269: 
        !           270:        * output.h (current_function_outgoing_args_size): New var.
        !           271: 
        !           272:        * rtl.h (OUTGOING_ARGS_SIZE): New field in INLINE_HEADER.
        !           273:        (PRETEND_ARGS_SIZE): No longer needed.
        !           274:        (virtual_..., VIRTUAL_...): Define virtual register numbers and rtx.
        !           275: 
        !           276:        * rtlanal.c (rtx_equal_p): Update comment on use of
        !           277:        REG_FUNCTION_VALUE_P.
        !           278: 
        !           279:        * stmt.c (expand_goto): Just restore fp; non-local goto handler
        !           280:        will restore ap if needed.
        !           281:        (expand_return): Don't use STARTING_FRAME_OFFSET here.
        !           282:        (expand_end_bindings): Adjust fp in nonlocal-goto handler.  If needed,
        !           283:        reload ap from its save area in the frame; allocate save area if none.
        !           284:        (expand_decl): Use new function allocate_dynamic_stack_space.
        !           285: 
        !           286:        * toplev.c (rest_of_compilation): Instantiate virtual registers.
        !           287:        Clear rtx_equal_function_value_matters immediately after possibly
        !           288:        saving current routine for inlining.
        !           289: 
        !           290:        * stupid.c (stupid_life_analysis): Don't try to allocate virtual
        !           291:        registers (which don't exist any more).
        !           292: 
        !           293: Thu May 10 13:59:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           294: 
        !           295:        * reload1.c (modes_equiv_for_class_p): Don't compare HARD_REGNO_NREGS.
        !           296: 
        !           297:        * combine.c (subst): Simplify
        !           298:        (sign_extend:M (subreg:N (ashiftrt:M (sign_extend:M (any:N ...))))).
        !           299: 
        !           300:        * fixincludes: Verify that a link leads back to /usr/include
        !           301:        by checking name of dir it arrives in.  If so, use rest of dirname
        !           302:        as target for new link.
        !           303: 
        !           304:        * Makefile.in (tmpgnulib): Put dummy entry in loop with LIBFUNCS_EXTRA
        !           305:        so loop is never null.  Then ignore that entry when it comes up.
        !           306: 
        !           307:        * gcc.c (default_compilers): Add explicit suffix to arg of -dumpbase.
        !           308: 
        !           309: Tue May  8 13:54:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           310: 
        !           311:        * tm-ultrix.h: New file.
        !           312: 
        !           313: Mon May  7 18:47:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           314: 
        !           315:        * i386.md (test... recognizers): Output symbolic constant first.
        !           316: 
        !           317: Sun May  6 22:51:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           318: 
        !           319:        * function.c (fixup_memory_subreg): Make a sequence if -fforce-addr.
        !           320: 
        !           321:        * fixincludes: When going to directory of link name, don't lose  
        !           322:        if name has no directory.
        !           323:        Move the code to fix netinet/ip.h; was in the middle of something.
        !           324: 
        !           325:        * Makefile.in (tmpgnulib): Test LIBFUNCS_EXTRA for nonempty.
        !           326: 
        !           327: Sun May  6 08:29:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           328: 
        !           329:        * Makefile.in (LIBFUNCS): Remove extraneous "\".
        !           330: 
        !           331:        * Makefile.in (stamp-gnulib2): Move "-" to proper line.
        !           332: 
        !           333:        * gnulib2.c (clear_cache): Ignore routine unless INSN_CACHE_SIZE
        !           334:        is defined (avoids cpp-detected divide-by-zero).
        !           335: 
        !           336:        * expr.c (safe_from_p): Don't blow up when passed a null tree.
        !           337: 
        !           338:        * varasm.c (get_pool_size): New function to return constant pool size.
        !           339: 
        !           340: Fri May  4 16:11:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           341: 
        !           342:        * expr.c (safe_from_p): If EXP has some rtx, just check it.
        !           343:        Handle TREE_LIST, RTL_EXPR, and WITH_CLEANUP_EXPR.
        !           344:        Note that CALL clobbers memory and hard registers.
        !           345:        Look at enclosed object for SUBREG, but SUBREG of a hard reg is unsafe.
        !           346: 
        !           347:        * expr.c (store_constructor): Now that safe_from_p has been applied
        !           348:        to the target, need not avoid hard register targets.
        !           349:        Abort if called with neither ARRAY_TYPE or RECORD_TYPE.
        !           350: 
        !           351:        * reload.c (find_equiv_reg): Handle goal of (plus (sp) (const)).
        !           352: 
        !           353:        * Makefile.in (STAGESTUFF): Include hard-params.
        !           354: 
        !           355: Fri May  4 15:33:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           356: 
        !           357:        * gcc.c (add_prefix): New arg WARN.  Record in prefix_list.
        !           358:        (main): Calls changed.  Pass nonzero for -B prefixes.
        !           359:        Later, call unused_prefix_warning.
        !           360:        (unused_prefix_warning): Warn about prefixes never used.
        !           361: 
        !           362: Thu May  3 16:56:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           363: 
        !           364:        * print-tree.c (print_node): Align the `align' line with the others.
        !           365: 
        !           366:        * expmed.c (store_bit_field): Maximum size for loading mem struct
        !           367:        into reg comes from the mode of the value to be stored.
        !           368:        Alignment is no restriction if it matches BIGGEST_ALIGNMENT.
        !           369:        Always do the real work in SImode if couldn't use MEM.
        !           370:        (extract_bit_field): Likewise.
        !           371: 
        !           372:        * combine.c (subst): Handle (sign_extend:M (subreg (sign_extract:M)))
        !           373:        on big-endian machine like corresponding zero_extend case.
        !           374: 
        !           375:        * combine.c (try_combine): Use rtl_equal_p instead of == when
        !           376:        testing for sources and destinations that match.
        !           377: 
        !           378:        * pyr.md (bitw recognizer): Set CC_NO_OVERFLOW.
        !           379: 
        !           380: Thu May  3 13:03:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           381: 
        !           382:        * expr.c (expand_expr, case COND_EXPR): Can always use original
        !           383:        target if specified.
        !           384:        In "X ? A + B : A" case, use safe_from_p to see if target conflicts
        !           385:        with B.
        !           386: 
        !           387:        * cse.c (cse_insn): Don't rewrite (set REG0 REG1) if REG1 is a hard
        !           388:        register even if is REG0 cheaper.
        !           389: 
        !           390: Thu May  3 12:04:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           391: 
        !           392:        * reload1.c (reload): Handle multiple size groups for one class.
        !           393: 
        !           394:        * stdarg.h: Typo in conditional.
        !           395: 
        !           396: Wed May  2 16:34:25 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           397: 
        !           398:        * tm-sun3.h (CC1_SPEC): Ignore -target.
        !           399:        (WORD_SWITCH_TAKES_ARG): Define it.
        !           400:        * tm-sparc.h (CC1_SPEC): Ignore -target and -dalign.
        !           401:        (WORD_SWITCH_TAKES_ARG): Define it.
        !           402: 
        !           403: Wed May  2 09:38:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           404: 
        !           405:        * cse.c (cse_insn): Always replace registers with oldest equivalent,
        !           406:        including the case when the destination is present in the source.
        !           407: 
        !           408: Tue May  1 15:55:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           409: 
        !           410:        * gnulib2.c (__adddi3, __subdi3): New, simpler algorithm.
        !           411: 
        !           412: Tue May  1 14:48:03 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           413: 
        !           414:        * Makefile.in: Insert "else true;" in *_ALLOCA macros.
        !           415: 
        !           416:        * stor-layout.c (mode_for_size): No longer static.
        !           417:        Accept LIMIT parameter to limit mode to MAX_FIXED_MODE_SIZE.
        !           418:        (layout_decl, layout_type): Pass appropriate limit parameter to
        !           419:        mode_for_size.
        !           420: 
        !           421: Tue May  1 13:09:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           422: 
        !           423:        * stmt.c (assign_parms): Don't make entry_parm and stack_parm valid.
        !           424:        Leave them explicit stack slots.
        !           425:        * explow.c (validize_mem): Copy it, don't alter it.
        !           426: 
        !           427:        * out-m68k.c (standard_68881_constant_p): Handle HOST_WORDS_BIG_ENDIAN.
        !           428: 
        !           429:        * integrate.c (save_for_inline): Copy reg notes after all insns.
        !           430: 
        !           431:        * combine.c (subst): When checking reg_last_set, verify nonzero.
        !           432: 
        !           433:        * gcc.c (default_compilers): Use %b, not %i, after -dumpbase.
        !           434: 
        !           435:        * stor-layout.c (make_unsigned_type): Change like make_signed_type.
        !           436: 
        !           437: Tue May  1 07:36:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           438: 
        !           439:        * tm-m68k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Allocate space
        !           440:        for local variables even if no frame pointer; adjust size to account
        !           441:        for place where old frame pointer would have been placed.
        !           442:        (INITAL_FRAME_POINTER_OFFSET): Add frame size instead of subtracting
        !           443:        it and perform adjustment described above.
        !           444: 
        !           445:        * expr.c (validate_subtarget): Deleted.
        !           446:        (expand_expr): Replace calls to validate_subtarget with safe_from_p.
        !           447: 
        !           448: Mon Apr 30 01:39:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           449: 
        !           450:        * Makefile.in (install-headers): Simplify loop by cd'ing to srcdir.
        !           451: 
        !           452:        * stor-layout.c (layout_type): Get alignment of all scalar types
        !           453:        from the mode.
        !           454:        (make_signed_type): Get rid of ptr_size_node, function_size_node.
        !           455:        * tm-*.h (POINTER_BOUNDARY): Deleted.
        !           456: 
        !           457:        * c-typeck.c (build_unary_op): For ADDR_EXPR of COMPONENT_REF,
        !           458:        mark the PLUS_EXPR constant if appropriate.
        !           459:        (parser_build_binary_op): Record C_SET_EXP_ORIGINAL_CODE here.
        !           460:        (build_binary_op): Not here.
        !           461: 
        !           462:        * fold-const.c (size_int): Make arg unsigned.
        !           463: 
        !           464:        * varasm.c (output_addressed_constants): Fixed typo.
        !           465: 
        !           466:        * cccp.c (macarg1): `\' not special outside strings.
        !           467: 
        !           468:        * c-typeck.c (build_unary_op): In increment ops,
        !           469:        typo checking for ptr to void/function.
        !           470:        Check original type for this and for amount of increment.
        !           471: 
        !           472: Sat Apr 28 16:43:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           473: 
        !           474:        * c-typeck.c (build_indirect_ref): Error if target is incomplete type.
        !           475: 
        !           476: Fri Apr 27 13:56:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           477: 
        !           478:        * reload1.c (order_regs_for_reload): Count multi-word pseudos right.
        !           479: 
        !           480: Thu Apr 26 17:52:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           481: 
        !           482:        * cccp.c (handle_directive): Don't pass directive through if no_output.
        !           483: 
        !           484:        * c-parse.y (yylex): Large hex constants are signed if -traditional.
        !           485: 
        !           486: Tue Apr 24 13:57:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           487: 
        !           488:        * i860.md, m88k.md: Add missing = in some output constraints.
        !           489: 
        !           490:        * tm-ns32k.h (POINTER_BOUNDARY): Now 32.
        !           491: 
        !           492:        * out-*.c (output_move_double): Use split_double.
        !           493:        * final.c (split_double): New function, handles byte-order differences.
        !           494: 
        !           495:        * stmt.c (expand_decl): Check size for integer, not "constant".
        !           496:        * stor-layout.c (layout_decl, layout_type): Likewise.
        !           497:        * c-decl.c (finish_decl): Likewise.
        !           498:        * c-typeck.c (digest_init): Likewise.
        !           499:        * varasm.c (assemble_variable, output_constructor): Likewise.
        !           500:        (decode_addr_const): Distinguish getting rtl by code alone.
        !           501:        (output_addressed_constants): No need to abort.
        !           502:        In ADDR_EXPR case, check TREE_CODE_CLASS.
        !           503: 
        !           504:        * c-tree.h (C_DECLARED_LABEL_FLAG): New flag.
        !           505:        * c-parse.y (label declarations): Set it.
        !           506:        * c-decl.c (pop_label_level, lookup_label): Use it.
        !           507: 
        !           508:        * expr.c (string_constant): Accept variable offsets.
        !           509:        (expand_expr): Check for explicit integers, not constants, in sizes.
        !           510:        (safe_from_p): No need to check TREE_CONSTANT.
        !           511: 
        !           512:        * Makefile.in (prefix): Now replaces /usr/local instead of adding on.
        !           513: 
        !           514: Mon Apr 23 02:01:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           515: 
        !           516:        * cplus-tree.h (DECL_FRIENDLIST): Use DECL_INITIAL.
        !           517: 
        !           518:        * expr.c (expand_assignment): Use expr_size to compute size.
        !           519: 
        !           520: Sun Apr 22 21:53:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           521: 
        !           522:        * expr.c (expand_assignment, expand_expr): Check for COMPONENT_REF
        !           523:        before testing DECL_BIT_FIELD.
        !           524: 
        !           525:        * stor-layout.c (convert_units): Deleted.  All calls eliminated.
        !           526: 
        !           527:        * TREE_CONSTANT renamed from TREE_LITERAL.
        !           528:        * TYPE_READONLY split off from TREE_READONLY.
        !           529:        * TREE_SIDE_EFFECTS renamed from TREE_VOLATILE.
        !           530:        * TYPE_VOLATILE split off from TREE_VOLATILE/TREE_THIS_VOLATILE.
        !           531: 
        !           532: Sun Apr 22 15:26:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           533: 
        !           534:        * loop.c (strength_reduce): Avoid problems in biv elimination by not
        !           535:        being forced to use giv's that have complex new_reg values while the
        !           536:        underlying giv is marked maybe_dead; clear maybe_dead in this case.
        !           537: 
        !           538:        * loop.c: Make verification of loops take linear, not quadratic, time.
        !           539:        (verify_loop, can_jump_in_range_p): Deleted.
        !           540:        (prescan_loop): New function, contents are from old verify_loop.
        !           541:        (scan_loop): Call prescan_loop.
        !           542:        (find_and_verify_loops, mark_loop_jump): New functions.
        !           543:        (loop_optimize): Allocate new tables and call find_and_verify_loops
        !           544:        once instead of calling verify_loop for each loop.
        !           545:        Use data from find_and_verify_loops instead of scanning all insns.
        !           546: 
        !           547:        * expr.c (safe_from_p): New function.
        !           548:        (validate_subtarget): Use safe_from_p.
        !           549:        (expand_expr, case CONSTRUCTOR): Likewise.
        !           550: 
        !           551:        * expr.c (store_expr): Handle cases where EXP is a compound
        !           552:        or conditional expression specially to avoid unnecessary temporaries.
        !           553: 
        !           554: Sun Apr 22 00:15:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           555: 
        !           556:        * tree.h (struct tree_type): Delete size_unit.
        !           557:        (struct tree_decl): Delete size_unit and voffset_unit.
        !           558:        Reduce lang_flags to save 1 word.
        !           559: 
        !           560:        * function.c (init_function_start): Don't use DECL_RESULT_TYPE.
        !           561:        * integrate.c (expand_inline_function): Likewise.
        !           562:        * c-decl.c (start_function, duplicate_decls): Likewise.
        !           563:        * tree.h (struct tree_decl): Delete voffset.
        !           564:        (DECL_RESULT_TYPE): Deleted.
        !           565: 
        !           566:        * objc-actions.c (encode_field_decl, objc_copy_list):
        !           567:        Switch to DECL_FRAME_SIZE.
        !           568:        * cplus-class.c (finish_struct): Likewise.
        !           569:        * cplus-decl2.c (grokbitfield): Switch to DECL_BIT_FIELD.
        !           570:        * c-parse.y, cplus-parse.y, objc-parse.y: Likewise.
        !           571: 
        !           572:        * tree.h (TYPE_NO_FORCE_BLK): New flag in types.
        !           573:        * stor-layout.c (layout_type): Use it.
        !           574:        * tree.h (DECL_TOO_LATE): New flag.
        !           575:        * stmt.c (expand_end_bindings, expand_goto_internal): Use it.
        !           576:        * tree.h (TREE_PACKED): Deleted.
        !           577: 
        !           578:        * cplus-typeck.c (unary_complex_lvalue): Confusing use of
        !           579:        DECL_SIZE_UNIT; not clear what to do.
        !           580:        * cplus-tree.c (layout_vbasetypes): Likewise.
        !           581:        * cplus-class.c (modify_vtable_entry): Likewise.
        !           582: 
        !           583:        * cplus-parse.y (YYDEBUG): Force it on.
        !           584:        (print_parse_statistics, init_parse): No-op if not YYDEBUG.
        !           585: 
        !           586:        * fold-const.c (fold): REAL_INFINITY affects reals, not ints.
        !           587: 
        !           588:        * protoize.c (edit_fn_declaration): Make arg volatile to stop warning.
        !           589: 
        !           590: Sat Apr 21 03:04:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           591: 
        !           592:        * expmed.c (store_bit_fields): Adjust for elimination of BImode.
        !           593: 
        !           594:        * c-parse.y (simple_if, stmt): Store stmt_count in proper place,
        !           595:        which is slot 1 of the if.
        !           596:        (simple_if, lineno_stmt, stmt): Output the note at beginning of
        !           597:        stmt, not in lineno_stmt.  Use emit_line_note.
        !           598:        (simple_if): Set if_stmt_*, then use lineno_stmt directly.
        !           599:        (lineno_stmt): Before most uses, call skip_white_space.
        !           600:        (finput): Move to top of file.
        !           601: 
        !           602:        * cplus-class.c (build_instantiated_decl): Fix typo.
        !           603: 
        !           604:        * cplus-tree.h (C_TYPE_FIELDS_READONLY): Use lang_flag_1.
        !           605:        (TYPE_HAS_CONSTRUCTOR, TYPE_HAS_DESTRUCTOR, TYPE_NEEDS_CONSTRUCTOR):
        !           606:        (TYPE_NEEDS_DESTRUCTOR): Advance each to next lang_flag.
        !           607:        * tree.h (TREE_LANG_FLAG_5, TREE_LANG_FLAG_6): Define them.
        !           608: 
        !           609:        * config.gcc: Delete ./Makefile.in iff not in the source dir.
        !           610: 
        !           611:        * Makefile.in (for-bootstrap): New target.
        !           612: 
        !           613:        * dbxout.c (dbxout_finish_symbol, dbxout_type, dbxout_prepare_symbol):
        !           614:        Add temporary conditionals on WINNING_GDB.
        !           615: 
        !           616:        * print-tree.c (print_node): Print the TYPE_SYMTAB_ADDRESS.
        !           617: 
        !           618:        * Makefile.in (protoize.o, unprotoize.o, SYSCALLS.c.X):
        !           619:        Include from or look in dir $(srcdir).
        !           620: 
        !           621: Fri Apr 20 16:30:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           622: 
        !           623:        * varasm.c (output_constructor): Backward test for bit-field.
        !           624: 
        !           625:        * Makefile.in (stamp-*): Delete .c or .h from these names.
        !           626: 
        !           627: Fri Apr 20 15:56:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           628: 
        !           629:        * cplus-typeck.c (compparms, comp_target_parms, build_modify_expr_1):
        !           630:        (build_modify_expr): Clean parens in complicated if.
        !           631:        * cplus-decl.c (finish_decl, grokdeclarator): Likewise.
        !           632: 
        !           633: Fri Apr 20 14:42:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           634: 
        !           635:        * tm-3b1.h (ASM_SPEC, PRINT_OPERAND_ADDRESS): Support 68020, 68881.
        !           636:        Useful even though this isn't one.
        !           637:        (ASM_OUTPUT_OPCODE): Convert fbne to fbneq.  Don't change ftst.
        !           638:        (REGISTER_NAMES): Define it.  Fpreg names not same as hp.
        !           639: 
        !           640:        * stor-layout.c (mode_for_size): Don't check MAX_FIXED_MODE_SIZE.
        !           641:        (layout_type): Check it here when appropriate.
        !           642: 
        !           643:        * loop.c (strength_reduce): Clean parens in complicated if.
        !           644: 
        !           645:        * fold-const.c (mul_double, const_binop): Add parens around shifts.
        !           646: 
        !           647: Thu Apr 19 03:03:39 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           648: 
        !           649:        * machmode.def: Delete unused modes.
        !           650: 
        !           651:        * stor-layout.c (mode_for_size): Accepts mode class as arg.
        !           652:        Calls changed.
        !           653:        (layout_type): Can now use mode_for_size for floating types.
        !           654: 
        !           655:        * stor-layout.c (layout_type): Get mode of function type from size.
        !           656:        * c-decl.c, cplus-decl.c (grokdeclarator): Don't worry about
        !           657:        mode of a function type.
        !           658:        * calls.c (prepare_call_address): No values contain static chains.
        !           659: 
        !           660:        * tree.h (struct tree_decl, struct tree_common): Rename the flag bits.
        !           661:        * cplus-tree.h: References here changed.
        !           662: 
        !           663:        * tree.h (DECL_BIT_FIELD): New macro, with new flag.
        !           664:        * print-tree.c: Print it.
        !           665:        * stor-layout.c (layout_decl): Use on input instead of TREE_PACKED.
        !           666:        Clear it if field happens to be aligned.
        !           667:        * expr.c, tree.c, varasm.c, symout.c, objc-actions.c, c-typeck.c:
        !           668:        Use this to distinguish bit-fields.
        !           669:        * c-decl.c, cplus-class.c (finish_struct): Set this for bit-fields.
        !           670: 
        !           671:        * c-typeck.c (build_binary_op): Make NON_LVALUE_EXPR, not NOP_EXPR.
        !           672: 
        !           673:        * out-sparc.c (find_addr_reg): Avoid using frame pointer. 
        !           674: 
        !           675:        * config.gcc: Delete all formfeeds from Makefile.
        !           676: 
        !           677:        * stor-layout.c (layout_decl): Delete `bitsize'.
        !           678:        (layout_record): Test size for CONST_INT, not TREE_LITERAL.
        !           679:        (layout_type): Simplify array case.
        !           680: 
        !           681:        * fold-const.c (size_binop): Division not special case.
        !           682: 
        !           683: Wed Apr 18 16:05:23 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           684: 
        !           685:        * c-typeck.c (datatype): Function deleted.
        !           686:        (build_binary_op_nodefault, pointer_int_sum, pointer_diff):
        !           687:        Don't use it.
        !           688:        * cplus-typeck.c (build_binary_op_nodefault, pointer_int_sum):
        !           689:        (pointer_diff): Likewise.
        !           690:        (convert_for_assignment): Likewise.  Took some work.
        !           691:        (datatype): Function deleted.
        !           692: 
        !           693:        * c-typeck.c (common_type): Renamed from commontype.
        !           694:        (function_types_compatible_p): New function.
        !           695:        (compparms): Deleted.
        !           696:        (self_promoting_args_p): Renamed from compparms1.
        !           697:        * cplus-typeck.c (common_type, self_promoting_args_p): Likewise.
        !           698:        * c-typeck.c (build_function_call): Eliminate local value_type.
        !           699: 
        !           700:        * c-typeck.c (parser_build_binary_op): Detect +/- within boolean.
        !           701: 
        !           702:        * c-typeck.c (convert_arguments): Renamed from actualparameterlist.
        !           703:        Push results on front, and reverse at end.
        !           704:        * cplus-typeck.c: Likewise.  All calls changed.
        !           705: 
        !           706:        * tree.h (STMT_BIND_SIZE): Deleted.
        !           707:        (struct tree_bind_stmt): Deleted that slot.
        !           708:        * tree.c (build_let_stmt): Don't set it.
        !           709: 
        !           710:        * print-tree.c (print_node): Call print_lang_identifier.
        !           711:        * c-decl.c, cplus-ptree.c (print_lang_identifier): New function.
        !           712: 
        !           713:        * gnulib2.c (__clear_cache): New function.
        !           714: 
        !           715: Tue Apr 17 16:57:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           716: 
        !           717:        * cplus-tree.c (build_member_type): Use TYPE_HASH, not TREE_UID.
        !           718:        (TYPE_HASH): Use the address.  Delete the duplicate definition.
        !           719: 
        !           720:        * c-typeck.c (build_unary_op): Bug in pedantic warning about ++.
        !           721: 
        !           722:        * tree.h (TYPE_SEP, TYPE_SEP_UNIT): Deleted.
        !           723:        * stor-layout.c (layout_type): Don't set them.
        !           724:        (mode_for_size): New name for agg_mode; code cleaned up.
        !           725:        * c-tree.h (C_TYPE_FIELDS_READONLY): Use TREE_LANG_FLAG_1.
        !           726: 
        !           727:        * fold-const.c (size_int, size_binop): New names for build_int
        !           728:        and genop, moved here.  All callers changed.
        !           729:        (const_binop): New name for combine, and now static.
        !           730:        * stmt.c (expand_end_case, group_case_nodes, node_has_low_bound):
        !           731:        (node_has_high_bound): Don't call `combine' directly.
        !           732: 
        !           733:        * tree.h (DECL_VOFFSET, DECL_VOFFSET_UNIT): Deleted.
        !           734:        * tree.c (staticp): Don't use DECL_VOFFSET.
        !           735:        * stor-layout.c (layout_*): Don't use it or set it.
        !           736:        (layout_record): Simplify: Keep all sizes in units of 1.
        !           737: 
        !           738:        * tree.c (debug_tree, print_node, print_node_brief, indent_to):
        !           739:        New functions to print a tree.
        !           740:        * c-decl.c (print_lang_decl, print_lang_type): Define as no-op.
        !           741:        * cplus-ptree.c (print_lang_type): Complete rewrite.
        !           742:        Most other functions deleted.
        !           743:        * tree.c (print_node): Call print_lang_* unconditionally.
        !           744: 
        !           745:        * tree.c (TYPE_HASH): Now use the address.
        !           746: 
        !           747: Mon Apr 16 16:27:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           748: 
        !           749:        * final.c: Check LEAF_REGISTERS, not LEAF_REGS.
        !           750: 
        !           751:        * real.h (*_FLOAT_FORMAT): Change enums to macros.
        !           752:        (REAL_INFINITY): Define it if IEEE format.
        !           753: 
        !           754:        * c-decl.c (c_decode_options): Handle -Wconversion here.
        !           755:        * toplev.c (main): Not here.
        !           756: 
        !           757:        * tm-*.h (INITIAL_FRAME_POINTER_OFFSET): Count get_frame_size.
        !           758: 
        !           759: Mon Apr 16 15:05:49 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           760: 
        !           761:        * loop.c (eliminate_biv): Build COMPARE with VOIDmode, not mode
        !           762:        of operands.
        !           763: 
        !           764: Mon Apr 16 14:55:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           765: 
        !           766:        * jump.c: Include real.h.
        !           767: 
        !           768: Sun Apr 15 20:30:24 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           769: 
        !           770:        * c-typeck.c (pedantic_lvalue_warning): New function.
        !           771:        (build_component_ref): Handle COMPOUND_VALUE and COND_EXPR by moving
        !           772:        reference inside it and calling pedantic_lvalue_warning.
        !           773:        (build_unary_op): Incrementing a cast-expression is warning, not
        !           774:        error; call new pedantic_lvalue_warning.
        !           775:        (unary_complex_lvalue): Use of compound or conditional expression as
        !           776:        lvalue is warning, not error.
        !           777:        (build_modify_expr): Likewise.
        !           778:        * cplus-typeck.c: Likewise.
        !           779: 
        !           780: Sun Apr 15 12:27:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           781: 
        !           782:        * cse.c (fold_rtx, fold_cc0): Check TARGET_FLOAT_FORMAT,
        !           783:        not FLOAT_NOT_IEEE.
        !           784:        * jump.c (jump_back_p): Likewise.  FLOAT_NOT_IEEE is now gone.
        !           785: 
        !           786:        * cccp.c (collect_expansion): Handle warn_stringify.
        !           787:        (main): Set it for -Wtraditional.
        !           788: 
        !           789:        * function.c (init_function_start):
        !           790:        Set current_function_returns_pointer here.
        !           791:        (expand_function_start): Not here.
        !           792: 
        !           793:        * expr.c (emit_library_call): Precompute reg and partial of all parms,
        !           794:        to do it in proper order.
        !           795: 
        !           796:        * final.c (final_scan_insn): Typo in deleting obvious no-ops.
        !           797: 
        !           798:        * expr.c (emit_push_insn): Change #if to ordinary if.
        !           799: 
        !           800: Sat Apr 14 13:20:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           801: 
        !           802:        * expr.c (do_jump): In COMPONENT_REF, check TYPE is nonzero.
        !           803: 
        !           804:        * tm-i386.h (ASM_OUTPUT_ADDR_DIFF_ELT): Delete spurious `abort ()'.
        !           805: 
        !           806:        * emit-rtl.c (reverse_comparison): New function.
        !           807:        (get_last_insn_anywhere): New function.
        !           808:        * i386.md (ble, blt): New define_expands.
        !           809: 
        !           810:        * Makefile.in (LANGUAGES): New parameter chooses languages to build.
        !           811:        (native): Use that.
        !           812:        (c, c++, objc): Targets for use in LANGUAGES.
        !           813: 
        !           814:        * Makefile.in (install): Split up.
        !           815:        (install-cross, install-headers, install-gnulib, install-proto):
        !           816:        (install-man, $(libsubdir)): New targets.
        !           817: 
        !           818:        * Makefile.in (native): New target, split from start.encap.
        !           819:        (tmpgnulib): Split out from gnulib.portable.
        !           820:        (gnulib.convert): Makes tmpgnulib, then converts.
        !           821:        (LIBCONVERT): New parameter.
        !           822:        (GCC_FOR_TARGET): New parameter.
        !           823:        (hard-params.o, hard-params, stamp-gnulib2): Use that.
        !           824: 
        !           825:        * cse.c (fold_cc0): Compare equivalence classes of non-constants.
        !           826:        Waiting for papers from Steven McCanne.
        !           827: 
        !           828: Fri Apr 13 14:12:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           829: 
        !           830:        * stor-layout.c (layout_type): If record is BLKmode because not
        !           831:        aligned, set TREE_PACKED.  Don't force BLKmode due to field
        !           832:        with TREE_PACKED. 
        !           833: 
        !           834:        * cse.c (fold_rtx): Use dconst1, not atof.
        !           835:        * varasm.c (output_constant): Likewise.
        !           836: 
        !           837:        * c-parse.y (yylex): Handle SIGFPE in atof.
        !           838: 
        !           839:        * tm-tti68k.h: New file.
        !           840: 
        !           841:        * toplev.c, flags.h (flag_pretend_float): New flag.
        !           842: 
        !           843:        * regclass.c (reg_class_record): Handle `E' constraint, for float
        !           844:        constants but only if can examine their bits.
        !           845:        * reload.c (find_reloads): Likewise.
        !           846:        * recog.c (constrain_operands): Likewise.
        !           847:        * out-m68k.c (output_move_double): Abort on float constant
        !           848:        if can't examine the bits.
        !           849:        (standard_68881_constant_p): Fail if can't examine the bits.
        !           850:        (standard_sun_fpa_constant_p): Likewise.
        !           851: 
        !           852:        * m68k.md (DFmode move recognizers): Use `E', not `F'.
        !           853:        * tm-m68k.h (PREFERRED_RELOAD_CLASS): Handle float constants.
        !           854: 
        !           855:        * tm-next.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
        !           856:        (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND): Use REAL_VALUE_ISINF.
        !           857:        * tm-sun3.h, tm-sparc.h: Likewise.
        !           858: 
        !           859:        * xm-vax.h (HOST_FLOAT_FORMAT): Define it.
        !           860:        * tm-vax.h (TARGET_FLOAT_FORMAT): Define it.
        !           861: 
        !           862:        * real.h (enum float_format): Define codes for formats.
        !           863:        (HOST_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): New macros, defaulted here.
        !           864:        (REAL_IS_NOT_DOUBLE, REAL_VALUE_TYPE): Override if formats differ.
        !           865:        (REAL_VALUE_ISINF): New macro.
        !           866:        * xm-vax.h (isinf): Define as macro.
        !           867: 
        !           868:        * Makefile.in (LIBFUNCS_EXTRA): New variable.
        !           869:        (gnulib.portable): Compile those files.
        !           870: 
        !           871:        * Makefile.in (AUX_OUTPUT2): New variable.
        !           872:        (OBJS): Use it.
        !           873:        (aux-output2.o): New target.
        !           874: 
        !           875:        * Makefile.in (RANLIB, RANLIB_TEST): New variables.
        !           876: 
        !           877:        * Makefile.in (AR_FLAGS, OLDAR_FLAGS): New variables.
        !           878:        (gnulib.portable, stamp-gnulib2): Use them.
        !           879: 
        !           880:        * i386.md: Add patterns for `bt' insns.
        !           881: 
        !           882: Fri Apr 13 12:54:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           883: 
        !           884:        * c-decl.c (builtin_function): Now returns decl that was made.
        !           885: 
        !           886:        * config.gcc: Support both -host= and +host=.
        !           887: 
        !           888: Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           889: 
        !           890:        * Changes from Data General.
        !           891: 
        !           892:        * syms.h: New file.
        !           893:        * sdbout.c: Include that if not USG.
        !           894: 
        !           895:        * tree.h (enum built_in_function): Added BUILT_IN_STRCPY and
        !           896:        BUILT_IN_STRCMP.
        !           897:        * c-decl.c (init_decl_processing): Create additional pointer and
        !           898:        function types.  Declare strcpy, strcmp, memcpy, memcmp built-in.
        !           899:        * expr.c (expand_builtin): Support strcpy, strcmp, memcpy, memcmp.
        !           900:        If special handler breaks out of switch, do library call.
        !           901:        By default, print error message and do library call.
        !           902:        (get_pointer_alignment, string_constant): New functions.
        !           903: 
        !           904:        * dbranch.c: Put entire contents in conditional on HAVE_DELAYED_BRANCH.
        !           905:        (init_flags, enote): Clear and set memr.
        !           906:        (enote): Don't move a store across a fetch.
        !           907:        (insn_eligible_p): Check enote before volatility and dependencies.
        !           908:        Check for volatility if memw or memr.
        !           909:        (loads_from_mem_p): New function.
        !           910: 
        !           911:        * Makefile.in (dbranch.o): New target.
        !           912:        (OBJS): Add dbranch.o.
        !           913: 
        !           914: Thu Apr 12 22:39:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           915: 
        !           916:        * calls.c (expand_call): Count args in order written, with argpos.
        !           917: 
        !           918: Thu Apr 12 22:01:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           919: 
        !           920:        * expmed.c (synth_mult): Ensure OPS is always valid in returned alg.
        !           921: 
        !           922:        * local-alloc.c (block_alloc): If we have an operand that is an
        !           923:        address, look inside it for registers to combine with.
        !           924: 
        !           925:        * reload.c (combine_reloads): If the output reload is for an
        !           926:        earlyclobber operand, can't combine it.
        !           927:        Try to use a register that dies in an insn for a single output reload
        !           928:        if the insn has only one output.
        !           929: 
        !           930: Thu Apr 12 21:27:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           931: 
        !           932:        * c-decl.c (duplicate_decls): Preserve DECL_INITIAL from old
        !           933:        function def to new one.
        !           934: 
        !           935: Thu Apr 12 07:55:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           936: 
        !           937:        * expr.c (expand_assignment): Order of source and destination to
        !           938:        bcopy/memcpy was reversed.
        !           939: 
        !           940: Wed Apr 11 17:29:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           941: 
        !           942:        * tm-i386.h (ABC_REGS): New register class.
        !           943:        (REG_CLASS_CONTENTS, REG_CLASS_NAMES, enum reg_class): Changed.
        !           944:        * i386.md (divsi3, etc.): Exclude register d from constraints.
        !           945: 
        !           946:        * c-parse.y (save_filename, save_lineno): New nonterminals
        !           947:        to record text location at start of statement.
        !           948:        (lineno_stmt): New nonterminal, outputs line note before statement.
        !           949:        (lineno_decl): Likewise for decl, to avoid conflicts.
        !           950:        (stmt): Don't emit line notes at start of statement.
        !           951:        (simple_if): Collect file and line using save_filename, save_lineno.
        !           952: 
        !           953:        * Changes from Data General.
        !           954: 
        !           955:        * cccp.c (main, do_include): Implement -H to print header names.
        !           956: 
        !           957:        * c-parse.y (component_decl_list): Parse even if final `;' missing.
        !           958: 
        !           959: Wed Apr 11 16:49:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           960: 
        !           961:        * gcc.c: Fix miscellaneous typos.
        !           962: 
        !           963: Wed Apr 11 12:59:57 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           964: 
        !           965:        * config.gcc: Typos in setting pass1done, testing it,
        !           966:        and calling sed for usage msg.
        !           967: 
        !           968:        * cccp.c (macroexpand): Count Newline Space as part of whitespace
        !           969:        sequence when stringifying.
        !           970: 
        !           971:        * expmed.c (expand_mult): Handle synth_mult returning no operations.
        !           972: 
        !           973: Tue Apr 10 21:08:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           974: 
        !           975:        * cccp.c (do_line): No error if string follows number without space.
        !           976: 
        !           977: Tue Apr 10 20:52:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           978: 
        !           979:        * recog.c (apply_change_group): Return a zero if rejected changes.
        !           980: 
        !           981:        * loop.c (update_giv_derive): If a giv is only set conditionally, it
        !           982:        may only derive other givs in its own basic block.
        !           983: 
        !           984: Tue Apr 10 13:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           985: 
        !           986:        * tm-ctix.h:  New file.  Waiting for papers from Ronald Cole.
        !           987:        [email protected].
        !           988: 
        !           989:        * cse.c (rtx_cost): Use new macro RTX_COSTS.
        !           990:        (COSTS_N_INSNS): New macro for use in RTX_COSTS.
        !           991: 
        !           992:        * config.gcc: Fix typos in conditionals and case.  Also usage message.
        !           993:        Missing backslashes in `echo | tee'.
        !           994:        Unset various vars after pass 1.
        !           995: 
        !           996:        * c-typeck.c (build_c_cast): Complain if function type specified.
        !           997: 
        !           998:        * expmed.c (synth_mult): Accept max_cost as arg and cut off there.
        !           999:        Pass it along recursively, making it smaller.
        !          1000:        Eliminate quadratic loop, thus postponing powers of 2.
        !          1001:        Costs are now signed.  Initialize best_alg->cost from max_cost
        !          1002:        and change to -1 only before returning.
        !          1003:        (expand_mult): Pass cost of multiply as max cost.
        !          1004:        Use synth_mult only if optimizing.
        !          1005:        In alg_compound case, sign was backward.
        !          1006:        Use TEM as target for force_operand there, to get better output.
        !          1007: 
        !          1008: Tue Apr 10 07:09:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1009: 
        !          1010:        * expr.c (expand_expr, case COND_EXPR): Add missing argument to
        !          1011:        operand_equal_p.
        !          1012:        Check for (X ? unop A : A) in addition to (X ? A + B : A).
        !          1013: 
        !          1014:        * Makefile.in (protoize, unprotoize): Compile with GCC, not just link.
        !          1015: 
        !          1016:        * fold-const.c (fold): Fix typo in converting conditional to COND.
        !          1017: 
        !          1018:        * expr.c (expand_expr): Treat (A ? 1 : 0) as A when A is a comparison.
        !          1019:        (do_jump): Special-case (A ? 1 : 0) and (A ? 0 : 1).
        !          1020: 
        !          1021:        * expr.c (store_expr): Fix typo in checking mode of target.
        !          1022: 
        !          1023: Mon Apr  9 18:33:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1024: 
        !          1025:        * integrate.c (expand_inline_function): Clear out parm_copies.
        !          1026: 
        !          1027: Mon Apr  9 18:00:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1028: 
        !          1029:        * tree.def: SAVE_EXPR now has three operands.
        !          1030:        * tree.h: Add new field SAVE_EXPR_CONTEXT; SAVE_EXPR_RTL remains last.
        !          1031:        * tree.c (save_expr): Set context to current function.
        !          1032:        (decl_function_context): Context is in SAVE_EXPR_CONTEXT if SAVE_EXPR.
        !          1033:        * calls.c (expand_call): Call make_tree to build an RTL_EXPR instead
        !          1034:        of explicitly making SAVE_EXPR.
        !          1035:        * cplus-typeck.c (c_expand_return): Use make_tree instead of SAVE_EXPR.
        !          1036:        * c-parse.y, objc-parse.y: Don't call mark_addressable here.
        !          1037:        * expr.c (expand_expr, ..._DECL cases): If non-local, make addressable.
        !          1038:        (expand_expr, case SAVE_EXPR): If defined in containing function, put
        !          1039:        put into stack.
        !          1040:        * function.c (put_var_into_stack): Use SAVE_EXPR_RTL for SAVE_EXPR.
        !          1041:        * print-tree.c (dump): SAVE_EXPR_RTL is now third operand.
        !          1042:        * stmt.c (expand_asm_operands): Call save_expr instead of making
        !          1043:        tree node directly.
        !          1044: 
        !          1045: Mon Apr  9 00:08:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1046: 
        !          1047:        * Makefile.in (install): Turn off x bit on SYSCALLS.c.X.
        !          1048: 
        !          1049:        * i860.md (cmpeqsf, etc.): Change opcode name to pfeq.ss, etc.
        !          1050: 
        !          1051:        * tm-m68k.h (PRINT_OPERAND_PRINT_FLOAT): Delete spurious backslash.
        !          1052: 
        !          1053:        * c-decl.c (store_parm_decls): Don't do storedecls in prototype case.
        !          1054:        That was discarding the enumerators already pushdecl'd.
        !          1055: 
        !          1056:        * gcc.c (exec_prefix, startfile_prefix): Record prefix search paths.
        !          1057:        (find_a_file): New function to search a path.
        !          1058:        (find_exec_file): Deleted; find_a_file used instead.
        !          1059:        (find_file): Just call find_a_file.
        !          1060:        (add_prefix): Add name to a prefix path.
        !          1061:        (process_command): Call that.
        !          1062: 
        !          1063:        * gcc.c (spec_list): Generalize asm_spec, etc., to arbitrary names.
        !          1064:        (set_spec): New function.  Set the old specific vars and spec list.
        !          1065:        (do_spec_1): Handle `%(' and `%[' for general specs.
        !          1066: 
        !          1067:        * ns32k.md (ashlhi3): Use %0, not %1.
        !          1068: 
        !          1069:        * cplus-tree.h (TREE_ANON_UNION_ELEM, DECL_ANON_UNION_ELEM):
        !          1070:        regdecl_attr is now in decl, not common.
        !          1071:        (TREE_PARMLIST): Use external_attr.
        !          1072:        (TREE_VIA_PUBLIC): Use static_attr.
        !          1073: 
        !          1074: Sun Apr  8 23:43:59 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1075: 
        !          1076:        * fold-const (fold): Two conversions in a row are needed if from a
        !          1077:        pointer type to an integer type of a different precision.
        !          1078: 
        !          1079:        * flow.c (mark_used_regs): When replacing addition with register
        !          1080:        in auto-increment creation, mark that insn must be re-recognized.
        !          1081: 
        !          1082: Sun Apr  8 13:56:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1083: 
        !          1084:        * tm-m68k.h (ASM_OUTPUT_FLOAT): Defn depends on CROSS_COMPILER.
        !          1085:        (PRINT_OPERAND): Depends on CROSS_COMPILER and HOST_WORDS_BIG_ENDIAN.
        !          1086:        (PRINT_OPERAND_EXTRACT_FLOAT, PRINT_OPERAND_PRINT_FLOAT):
        !          1087:        These new subroutines contain the code that depends.
        !          1088: 
        !          1089:        * xm-m68k.h, xm-mips.h, xm-pyr.h, xm-tahoe.h (HOST_WORDS_BIG_ENDIAN):
        !          1090:        New macro, defined in these files.
        !          1091: 
        !          1092:        * config.gcc: Define macro CROSS_COMPILE if making cross-compiler.
        !          1093:        * Makefile.in (INTERNAL_CFLAGS): Include CROSS.
        !          1094: 
        !          1095:        * config.gcc: Decode -host argument.  Set $host and $target.
        !          1096:        Rename vars for files to link to, to tm_file, xm_file, etc.
        !          1097:        Let $host override xm_file value.
        !          1098:        Mention $host in messages and config.status if diff from $target.
        !          1099:        Check for errors in args at beginning of processing.
        !          1100: 
        !          1101:        * expmed.c (expand_shift): Make no insns if count is 0.
        !          1102: 
        !          1103:        * cse.c (rtx_cost): Increase default cost of mult and div.
        !          1104: 
        !          1105:        * expmed.c (synth_mult): New function.  Finds best way to multiply
        !          1106:        by given constant, and the cost.
        !          1107:        (expand_mult): Use that.
        !          1108:        (init_expmed): Init new vars add_cost, shift_cost, mult_cost,
        !          1109:        and negate_cost.  mult_is_cheap has been deleted.
        !          1110: 
        !          1111:        * expmed.c (store_bit_field): Don't use insv if unit for copying
        !          1112:        mem to reg won't hold the entire field.
        !          1113: 
        !          1114: Sun Apr  8 12:54:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1115: 
        !          1116:        * expr.c (expand_expr, case COND_EXPR): Add OK_DEFER_POP to path with
        !          1117:        only OK_DEFER_POP.
        !          1118: 
        !          1119: Sun Apr  8 12:50:54 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1120: 
        !          1121:        * i386.md (insv): Use SImode for operand 0.
        !          1122: 
        !          1123: Sat Apr  7 15:24:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1124: 
        !          1125:        * emit-rtl.c (gen_lowpart, gen_highpart): When checking mode class,
        !          1126:        check for not MODE_FLOAT.
        !          1127:        * cse.c (fold_rtx): Likewise when avoiding x-x -> 0 for IEEE float.
        !          1128:        * jump.c (jump_back_p): Likewise.
        !          1129:        * optabs.c (emit_cmp_insn): Likewise, comparing result of libcall.
        !          1130:        * expr.c (move_block_to_reg, emit_push_insn): Likewise,
        !          1131:        when putting floats in memory.
        !          1132: 
        !          1133:        * machmode.def (PSImode, PDImode): Class is now MODE_PARTIAL_INT.
        !          1134:        * expr.c (convert_to_mode): Don't treat them as ints.
        !          1135: 
        !          1136:        * fixincludes: When making directory links, assume any relative path
        !          1137:        is within /usr/include.
        !          1138: 
        !          1139: Sat Apr  7 14:56:27 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1140: 
        !          1141:        * function.c (assign_stack_local, assign_outer_stack_local):
        !          1142:        Don't use division for rounding to avoid problems with negative
        !          1143:        dividends; use logical operations instead.
        !          1144:        No need to ever align stricter than BIGGEST_ALIGNMENT.
        !          1145: 
        !          1146: Sat Apr  7 14:38:36 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1147: 
        !          1148:        * expr.c (expand_expr, case CONSTRUCTOR:): Finish Jan 12 change
        !          1149:        in store_expr by calling store_constructor if target is a temp.
        !          1150: 
        !          1151:        * cse.c (cse_insn): For regs invalidated by calls, go back to
        !          1152:        checking for fp and ap explicitly, not fixed_regs.
        !          1153: 
        !          1154: Sat Apr  7 14:06:43 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1155: 
        !          1156:        * recog.h: Define num_validated_changes and cancel_changes.
        !          1157:        * recog.c (validate_change, apply_change_group, cancel_changes):
        !          1158:        Support changes both within an insn and within a MEM.
        !          1159: 
        !          1160: Sat Apr  7 00:45:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1161: 
        !          1162:        * sparc.md (addcc and subcc patterns): Set CC_NO_OVERFLOW.
        !          1163: 
        !          1164: Fri Apr  6 15:20:51 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1165: 
        !          1166:        * cccp.c (lookup_import): Return -1 for not found to agree with
        !          1167:        the open system call.  Use -2 for duplicate.
        !          1168:        (do_include): -2 now means duplicate; previously, -1 meant not found
        !          1169:        from open and duplicate from lookup_import.
        !          1170: 
        !          1171: Fri Apr  6 00:06:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1172: 
        !          1173:        * c-decl.c (poplevel): Use DECL_INITIAL to detect undef label.
        !          1174: 
        !          1175:        * sparc.md (peephole for returning sum): Use more restrictive preds.
        !          1176: 
        !          1177:        * reload1.c (choose_reload_regs): When testing reload reg
        !          1178:        for HARD_REGNO_MODE_OK, use SImode instead of VOIDmode.
        !          1179: 
        !          1180: Thu Apr  5 14:00:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1181: 
        !          1182:        * cccp.c (main, include_defaults): Use STANDARD_INCLUDE_DIR
        !          1183:        instead of /usr/include.
        !          1184:        * Makefile.in (cccp.o): Specify STANDARD_INCLUDE_DIR.
        !          1185: 
        !          1186:        * varasm.c (assemble_variable): No sdb output for initialized global.
        !          1187:        * toplev.c (compile_file): Output it here, at end of run.
        !          1188: 
        !          1189:        * stdarg.h (va_start): Round initial pointer value down
        !          1190:        to double boundary.  This is to eliminate big-endian adjustment.
        !          1191: 
        !          1192:        * fixincludes: Delete netinet/ip.h and sundev/vuid_event.h
        !          1193:        if no changes are needed.
        !          1194: 
        !          1195:        * c-typeck.c (build_c_cast): Reject array types for result.
        !          1196:        * cplus-typeck.c (build_c_cast): Likewise.
        !          1197: 
        !          1198:        * tm-*.h (ASM_OUTPUT_SKIP): Print size as unsigned.
        !          1199:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
        !          1200: 
        !          1201:        * fold-const.c (fold): Simplify double truncation, double extension,
        !          1202:        or extension followed by truncation.
        !          1203: 
        !          1204:        * fixincludes: Don't ignore errors when making dirs.
        !          1205:        But check whether dir already exists.
        !          1206: 
        !          1207:        * cse.c (fold_rtx): Don't simplify real*0, because of nans.
        !          1208: 
        !          1209:        * real.h (dconst0, dconst1, dconstm1): Declare them.
        !          1210:        * tree.c (real_zerop, real_onep): New functions.
        !          1211:        * fold-const.c (fold): Check for trivial +, -, * with reals.
        !          1212:        Also use dconst0 instead of computing with REAL_VALUE_ATOF.
        !          1213: 
        !          1214: Tue Apr  3 22:52:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1215: 
        !          1216:        * m68k.md (32-bit bit fields): Special patterns added.
        !          1217:        (push byte and adjust stack by 2): New peephole.
        !          1218:        These from Bruce Robertson.
        !          1219: 
        !          1220:        * c-decl.c (grokdeclarator): Complain if fn defn has `typedef' etc.
        !          1221: 
        !          1222: Tue Apr  3 21:39:54 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1223: 
        !          1224:        * expr.c (preexpand_calls): Reinsert check to not expand calls
        !          1225:        already preexpanded.
        !          1226: 
        !          1227: Mon Apr  2 07:05:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1228: 
        !          1229:        * c-typeck.c (digest_init): Don't blow up on null list.
        !          1230: 
        !          1231:        * Makefile.in (cc1obj): Link OBJC_OBJS instead of C_OBJS.
        !          1232:        * objc-actions.c: Correct compilation errors.
        !          1233:        * objc-parse.y: Likewise.
        !          1234: 
        !          1235: Mon Apr  2 03:33:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1236: 
        !          1237:        * objc-actions.h: Define the objc tree codes.
        !          1238:        Declare doing_objc_thang.
        !          1239: 
        !          1240: Fri Mar 30 17:28:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1241: 
        !          1242:        * sdbout.c (PUT_SDB_EPILOGUE_END): Write out assembler name for
        !          1243:        function (i.e., usually include leading "_").
        !          1244: 
        !          1245:        * sdbout.c (PUT_SDB_...): Use new macro SDB_DELIM; it defaults to ";".
        !          1246: 
        !          1247: Fri Mar 30 15:25:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1248: 
        !          1249:        * jump.c (prev_active_insn, next_active_insn): New functions.
        !          1250:        These skip USEs and CLOBBERs.
        !          1251:        (jump_optimize): Use them instead of ..._real_insn
        !          1252:        for the simple optimizations.
        !          1253: 
        !          1254:        * integrate.c (expand_inline_function): Always index const_equiv_map
        !          1255:        with regno from current function.  And set up the map only after
        !          1256:        creating all the pseudos we will need for the parms.
        !          1257:        This requires intermediate tables parm_equivs and parm_copies.
        !          1258:        Make const_equiv_map big enough to handle all the pseudos we
        !          1259:        expect to make.  Record actual size, and don't look in it
        !          1260:        for regnos too large.
        !          1261:        (subst_constants, const_equiv): Don't access const_equiv_map
        !          1262:        if regno is too large.
        !          1263: 
        !          1264:        * function.c (trampoline_address): Push and pop obstacks around
        !          1265:        call to assign_outer_stack_local.
        !          1266: 
        !          1267:        * function.c (push_function_context, pop_function_context):
        !          1268:        Save and restore max_parm_reg and parm_reg_stack_loc.
        !          1269:        * function.h (struct function): Make slots.
        !          1270: 
        !          1271:        * c-decl.c (c_build_type_variant): New function.
        !          1272:        (grokdeclarator): Call that, for ARRAY_TYPE only, in fields and vars.
        !          1273:        * c-decl.c, c-typeck.c: All calls to build_type_variant use that now.
        !          1274: 
        !          1275:        * emit-rtl.c (reinstate_emit_status): Unused function deleted.
        !          1276: 
        !          1277: Thu Mar 29 15:35:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1278: 
        !          1279:        * tree.c (rtl_in_current_obstack): New function.
        !          1280:        * toplev.c (rest_of_compilation): Call that.
        !          1281:        This makes it true that rtl is allocated in current_obstack
        !          1282:        during optimization.
        !          1283: 
        !          1284:        * reload1.c (eliminate_frame_pointer): Scan equivalent addresses
        !          1285:        of pseudo-regs, and eliminate frame-pointer there too.
        !          1286:        (reload): Don't do this here.
        !          1287: 
        !          1288:        * c-decl.c (build_enumerator): Return pair of decl and value.
        !          1289:        (finish_enum): Go through the list replacing decls with names.
        !          1290: 
        !          1291:        * function.c (fixup_var_refs): Eliminate all but first arg.
        !          1292:        Use current sequence_stack, insn chain and rtl_expr_chain.
        !          1293:        (put_var_into_stack): Don't pass those args.
        !          1294:        If var is nonlocal, don't do it now; put it on fixup_var_refs_queue.
        !          1295:        (pop_function_context): Do fixup_var_refs on vars queued up.
        !          1296: 
        !          1297:        * tree.c (function_maybepermanent_obstack): Make a separate
        !          1298:        saveable obstack for each nested function level.
        !          1299:        (init_tree): Init this variable.
        !          1300:        (save_tree_status, restore_tree_status): Save and restore it.
        !          1301:        Create and free a new obstack for the purpose.
        !          1302:        (temporary_allocation, resume_temporary_allocation): Use this var.
        !          1303:        (preserve_data, preserve_initializer): Use this var.
        !          1304:        (make_node): Use this var for PARM_DECL nodes.
        !          1305: 
        !          1306:        * tree.c (push_obstacks): New name for push_obstack.
        !          1307:        Additional arg specifies saveable_obstack.  All calls changed.
        !          1308:        (pop_obstacks): New name for pop_obstack.  All calls changed.
        !          1309: 
        !          1310:        * config.gcc: Add `3300'.
        !          1311:        (genix): Fix typo in name of makevar file.
        !          1312:        * tm-mot3300.h, xm-mot3300.h: New files.
        !          1313:        * math-3300.h: New file.
        !          1314: 
        !          1315:        * output.h: Fix typo in SDB_DEBUGGING_INFO.
        !          1316: 
        !          1317:        * tm-sun386i.h (LINK_SPEC): Moved here, and -static handled.
        !          1318:        * xm-sun386i.h: Moved from here.
        !          1319:        * tm-alliant.h (LINK_SPEC): Moved here, from xm-alliant.h.
        !          1320: 
        !          1321:        * tm-convex.h, tm-i860.h, tm-spur.h, tm-vax.h, tm-tahoe.h, tm-pyr.h:
        !          1322:        Delete FIX_FRAME_POINTER_ADDRESS.
        !          1323: 
        !          1324:        * tm-sparc.h, tm-m88k.h: Turn off FIX_FRAME_POINTER_ADDRESS.
        !          1325:        INITIAL_FRAME_POINTER_OFFSET could be written later.
        !          1326: 
        !          1327:        * tm-m68k.h, tm-ns32k.h, tm-alliant.h, tm-i386.h, tm-mips.h:
        !          1328:        Define INITIAL_FRAME_POINTER_OFFSET.
        !          1329: 
        !          1330:        * toplev.c (compile_file): Remove .m and .cc suffixes, like .c.
        !          1331: 
        !          1332:        * final.c (end_final): For basic block profiling, don't output
        !          1333:        source file name.  Instead, append ".d", and remove ".c".
        !          1334:        * gnulib2.c (__bb_init_func): New name for __bb_init_function.
        !          1335:        Conditionalize on mc68000, not m68k.
        !          1336:        Fix other typos.
        !          1337: 
        !          1338: Wed Mar 28 16:07:15 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1339: 
        !          1340:        * c-decl.c, cplus-decl.c (duplicate_decls): Preserve DECL_FRAME_SIZE
        !          1341:        from definition past subsequent declarations.
        !          1342: 
        !          1343:        * c-decl.c (xref_tag): If global_binding_level, make nodes permanent.
        !          1344: 
        !          1345:        * expmed.c (init_expmed): Set up mult_is_very_cheap.
        !          1346:        (expand_mult): Never use shifts if mult_is_very_cheap.
        !          1347: 
        !          1348:        * expr.c (store_expr): When copying through new temporary,
        !          1349:        allocate temporary first and use as target.
        !          1350: 
        !          1351:        * tm-m68k.h (HARD_REGNO_MODE_OK): Abort on VOIDmode.
        !          1352: 
        !          1353:        * reload1.c (fix_frame_pointer_address): New function.
        !          1354:        (alter_frame_pointer_addresses): New arg INSN.  Calls changed.
        !          1355:        Use that function instead of macro FIX_FRAME_POINTER_ADDRESS
        !          1356:        which is now obsolete.
        !          1357:        (eliminate_frame_pointer): Use macro INITIAL_FRAME_POINTER_OFFSET
        !          1358:        to initialize depth.  Abort if that macro is missing.
        !          1359: 
        !          1360:        * expmed.c (store_bit_field): If loading MEM into a reg, use the
        !          1361:        mode of the MEM if that is not BLKmode.
        !          1362:        (extract_bit_field): Likewise.
        !          1363: 
        !          1364:        * tm-mips.h (STRUCTURE_SIZE_BOUNDARY): Changed from 16 to 8.
        !          1365: 
        !          1366:        * calls.c (expand_call): Handle STACK_BOUNDARY when using push insns.
        !          1367: 
        !          1368:        * function.c (assign_parms): Note how PUSH_ROUNDING affects stack
        !          1369:        parm size.
        !          1370: 
        !          1371: Tue Mar 27 19:40:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1372: 
        !          1373:        * c-decl.c (poplevel): Output inline nested functions if needed.
        !          1374:        * cplus-decl.c: Likewise.
        !          1375: 
        !          1376:        * i386.md (insv): New pattern added for the moment.
        !          1377: 
        !          1378: Tue Mar 27 17:47:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1379: 
        !          1380:        * function.c (lookup_outer_static_chain): Deleted, no longer used.
        !          1381:        (trampoline_address): RTL for trampoline, rather than its address, is
        !          1382:        stored in trampoline list.
        !          1383:        Just add entry to list; don't fill in the trampoline here.
        !          1384:        (expand_function_end): Fill in any required trampolines here.
        !          1385:        (expand_function_start): Move tail recursion entry to after
        !          1386:        creation of display list; size computations come next.
        !          1387: 
        !          1388: Tue Mar 27 14:09:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1389: 
        !          1390:        * m68k.md (movsi, movhi, movstricthi, movqi, movstrictqi):
        !          1391:        Avoid both clr and st on volatile mem, but only on 68000.
        !          1392:        (SImode store 0 recognizer): Likewise.
        !          1393: 
        !          1394:        * stor-layout.c (agg_mode): Don't consider PSImode, etc.
        !          1395: 
        !          1396: Mon Mar 26 21:12:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1397: 
        !          1398:        * local-alloc.c (combine_regs): Only set suggested bit for first
        !          1399:        register if multi-word quantity.
        !          1400:        (find_free_reg): Look at suggested regs for first in set, then use
        !          1401:        all available for subsequent regs.
        !          1402: 
        !          1403: Mon Mar 26 15:01:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1404: 
        !          1405:        * c-decl.c (start_enum): Don't lay out the type.
        !          1406:        (finish_enum): Always lay it out, and always set the precision.
        !          1407:        Change the type of the enumerators if int is too narrow.
        !          1408: 
        !          1409:        * tm-m68k.h (NOTICE_UPDATE_CC): addq and subq do update cc's
        !          1410:        even if destination is an address register.
        !          1411: 
        !          1412:        * c-parse.y, objc-parse.y (check_newline): Call HANDLE_PRAGMA if def.
        !          1413:        * out-next.c: New file.
        !          1414:        (handle_pragma): New function.
        !          1415:        * tm-next.h (HANDLE_PRAGMA): Define it.
        !          1416: 
        !          1417:        * Makefile.in (GNULIB2): New variable.
        !          1418:        (gnulib2): Use it.
        !          1419:        (gnulib2.portable): New name for old rule.
        !          1420:        (install-headers): Split out part of install rule.
        !          1421:        (INSTALL_HEADERS): New variable.
        !          1422: 
        !          1423:        * make-next: New file.
        !          1424: 
        !          1425:        * function.c (assign_parms): Get type from proper place.
        !          1426:        internal_arg_pointer is now an arg.  Compute arg_pointer_copied
        !          1427:        from that.  Fix typos.
        !          1428:        (expand_function_start): Compute internal_arg_pointer here.
        !          1429:        Fix typos handling incoming struct value address.
        !          1430: 
        !          1431:        * cccp.c (do_include): Ignore null strings found in stackp.
        !          1432: 
        !          1433:        * cccp.c (discard_comments): Handle backslash-newline.
        !          1434: 
        !          1435: Mon Mar 26 07:18:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1436: 
        !          1437:        * function.h (temp_slot, temp_slot_level): Now saved by function.c.
        !          1438:        * function.c (struct temp_slot): Move from stmt.c.
        !          1439:        (push_function_context, pop_function_context): Save/restore temp slots.
        !          1440:        (assign_parms): Pass type to locate_and_pad_parms.
        !          1441:        (locate_and_pad_parms): Accept TYPE.
        !          1442:        Don't need STACK_OFFSET.
        !          1443:        (expand_function_start): Pass type to locate_and_pad_parms.
        !          1444:        (init_function_start): Initialize temp_slot info.
        !          1445:        * stmt.c (temp_slot, init_stmt_for_function, save_stmt_status,
        !          1446:        restore_stmt_status): Delete temp_slot stuff from here.
        !          1447: 
        !          1448: Sun Mar 25 20:21:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1449: 
        !          1450:        * expr.c (emit_move_insn): Turn memory address checking back on,
        !          1451:        but allow push_operand for x.
        !          1452: 
        !          1453:        * ns32k.md (movstrsi): If UTEK_ASM, output $0 operand in movsd.
        !          1454:        (movsi): Handle UTEK_ASM like GNX_V3.
        !          1455:        * out-ns32k.c (print_operand_address): Add UTEK_ASM conditionals.
        !          1456:        * tm-merlin.h: New file.
        !          1457: 
        !          1458:        * tm-ns32k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
        !          1459:        Use save and restore insns if no frame pointer.
        !          1460: 
        !          1461:        * cccp.c (handle_directive): Discard backslash-newline within <...>.
        !          1462: 
        !          1463: Sat Mar 24 13:23:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1464: 
        !          1465:        * gcc.c (default_compilers): Add entry for .m files, for Objective C.
        !          1466:        Always pass some -lang... option to cpp.
        !          1467: 
        !          1468:        * cccp.c (do_include): Support #import as well as #include.
        !          1469:        (lookup_import, add_import, import_hash): New functions.
        !          1470:        (main): Handle options -lang-c++ and -lang-objc and -lang-c.
        !          1471:        Set variables cplusplus and objc.
        !          1472:        (enum node_type, directive_table): Add #import.
        !          1473:        (handle_directive): Treat #import as undefined unless objc is nonzero.
        !          1474:        (initialize_builtins): If objc, define __OBJC__.
        !          1475: 
        !          1476:        * Makefile.in (lang-objc, cc1obj): New targets.
        !          1477:        (objc-parse.o, objc-parse.c, objc-actions.o): New targets.
        !          1478:        (C_OBJS): Add c-lang.o.
        !          1479: 
        !          1480:        * objc.gperf: New file.
        !          1481:        * objc-parse.y, objc-actions.c, objc-actions.h: New files.
        !          1482: 
        !          1483:        * c-lang.c: New file.
        !          1484:        * c-decl.c (c_decode_option): New name for lang_decode_option.
        !          1485:        Used from c-lang.c and objc-actions.c.
        !          1486: 
        !          1487:        * toplev.c (compile_file): Call lang_init and lang_finish.
        !          1488:        * c-lang.c, objc-actions.c, cplus-decl.c: Define those functions.
        !          1489: 
        !          1490:        * c-typeck.c (comptypes): Call maybe_objc_comptypes for record types.
        !          1491:        * c-lang.c, objc-actions.c (maybe_objc_comptypes): New functions.
        !          1492: 
        !          1493:        * c-decl.c (implicitly_declare, finish_decl, finish_struct):
        !          1494:        Call maybe_objc_check_decl before rest_of_decl_compilation.
        !          1495:        * c-lang.c, objc-actions.c (maybe_objc_check_decl): New functions.
        !          1496: 
        !          1497:        * function.c (assign_stack_local): Align each slot only as needed.
        !          1498:        Normally don't round size up, just align first.
        !          1499:        New argument ALIGN specifies alignment, or 0 for that of MODE.
        !          1500:        All callers changed.
        !          1501:        (assign_outer_stack_local): Likewise.
        !          1502:        * final.c (final_start_function): Round frame size to STACK_BOUNDARY.
        !          1503: 
        !          1504:        * function.c (assign_stack_temp, preserve_temp_slots):
        !          1505:        (free_temp_slots): Moved from stmt.c.
        !          1506: 
        !          1507:        * stmt.c (expand_decl): Use convert_units to avoid overflow.
        !          1508: 
        !          1509: Fri Mar 23 00:52:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1510: 
        !          1511:        * c-decl.c (grokdeclarator): Warn if array element is incomplete.
        !          1512: 
        !          1513:        * varasm.c (assemble_variable): Use convert_units to compute
        !          1514:        size in bytes.
        !          1515:        (output_constructor): Likewise, for non-bit fields.
        !          1516: 
        !          1517:        * c-typeck.c (check_format, my_strchr): New functions.
        !          1518:        (build_function_call): Call check_format.
        !          1519:        * c-decl.c (lang_decode_options): Handle -Wformat.
        !          1520:        * c-tree.h (warn_format): New flag.
        !          1521: 
        !          1522:        * xm-hp9k320.h (USE_C_ALLOCA): Define if not compiling with GCC.
        !          1523: 
        !          1524: Thu Mar 22 23:35:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1525: 
        !          1526:        * c-decl.c (get_parm_info): Void parm is special only if no name.
        !          1527: 
        !          1528:        * loop.c (may_not_optimize): Static var replaces local `may_not_move'.
        !          1529:        (strength_reduce): Don't accept those regs as givs.
        !          1530: 
        !          1531: Thu Mar 22 06:45:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1532: 
        !          1533:        * integrate.c (expand_inline_function): Compute delta to frame
        !          1534:        from the address at which it was allocated.
        !          1535: 
        !          1536: Wed Mar 21 17:36:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1537: 
        !          1538:        * recog.c: Increase number of changes saved for validate_change.
        !          1539:        (validate_change): If INSN == 0 and in group, add to group; if not,
        !          1540:        always OK.
        !          1541:        (apply_change_group): If INSN == 0, change is always OK.
        !          1542: 
        !          1543:        * cse.c (cse_basic_block): If extending block, don't call
        !          1544:        cse_end_of_basic_block with null insn if we got to end of function.
        !          1545: 
        !          1546: Wed Mar 21 14:08:35 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1547: 
        !          1548:        * calls.c (expand_call): Don't reuse pending_stack_adjust for argblock
        !          1549:        if inhibit_defer_pop.
        !          1550: 
        !          1551:        * expr.c (push_block): New argument EXTRA.  All callers changed.
        !          1552:        (emit_push_insn): Use that for the padding when using push_block.
        !          1553: 
        !          1554:        * tm-sparc.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG):
        !          1555:        Only word-aligned BLKmodes can go in registers.
        !          1556:        (FUNCTION_ARG_PARTIAL_NREGS): Likewise.
        !          1557:        * tm-spur.h (FUNCTION_ARG, FUNCTION_INCOMING_ARG): Likewise.
        !          1558:        * expr.c (expand_call): If encounter a stack parm before offset
        !          1559:        gets up to zero, make it zero.
        !          1560:        * function.c (assign_parms): Likewise.
        !          1561: 
        !          1562:        * ns32k.md (stack adjust insn): Don't use cmpd or cmpqd on Sequent.
        !          1563:        * tm-sequent.h (SEQUENT_ADJUST_STACK): Define this.
        !          1564: 
        !          1565:        * make-hp9k320g (AR): Define it.
        !          1566:        * Makefile.in (gnulib): Use OLDAR.
        !          1567:        (OLDAR): New variable.
        !          1568: 
        !          1569:        * make-iris: New file.
        !          1570: 
        !          1571:        * xm-iris.h: Undef alloca before defining it.
        !          1572: 
        !          1573:        * Makefile.in (stage1, ...): Always copy gnulib, never link.
        !          1574: 
        !          1575:        * cccp.c (main): Use -d...M... as option for macro dump.
        !          1576:        * gcc.c (default_compilers): Pass -d* to cpp.
        !          1577: 
        !          1578: Tue Mar 20 01:41:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1579: 
        !          1580:        * c-parse.y (datadef): Error message fix.
        !          1581:        * cplus-parse.y: Likewise.
        !          1582: 
        !          1583: Mon Mar 19 15:26:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1584: 
        !          1585:        * integrate.c (expand_inline_function): Save static chain value.
        !          1586:        (copy_rtx_and_substitute): Substitute it where called function
        !          1587:        copies its static chain.
        !          1588:        * emit-rtl.c (init_emit_once): Make static_chain_incoming_rtx
        !          1589:        distinct.
        !          1590: 
        !          1591:        * function.c (current_function_contains_functions): New variable.
        !          1592:        (init_function_start): Initialize it.
        !          1593:        (pop_function_context): Set it to 1.
        !          1594:        * integrate.c (function_cannot_inline_p):
        !          1595:        Don't inline fn with nested fns.
        !          1596: 
        !          1597:        * integrate.c (copy_rtx_and_substitute): Don't replace fp
        !          1598:        as destination of assignment.
        !          1599: 
        !          1600:        * assert.h (__assert) [not __GNUC__]: Rename arg to avoid stringify.
        !          1601: 
        !          1602:        * function.c (expand_function_start): If struct_value_incoming_rtx
        !          1603:        is 0, get the address from first parm reg or first stack slot.
        !          1604:        (assign_parms): In that case, skip the space it occupies.
        !          1605: 
        !          1606:        * calls.c (expand_call): If STRUCT_VALUE is 0, pass address as parm
        !          1607:        even if that means using a register.
        !          1608: 
        !          1609: Mon Mar 19 07:43:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1610: 
        !          1611:        * integrate.c (function_cannot_inline_p): Check for non-ANSI varargs
        !          1612:        as well as ANSI varargs.
        !          1613:        Allow inlining of functions with large frames now that we can share
        !          1614:        them between inlined functions.
        !          1615:        (expand_inline_function): Save static vars in case we were called
        !          1616:        recursively.
        !          1617:        Make sure we don't free temporary stack slot used for argument.
        !          1618: 
        !          1619:        * tree.def: Add new code types '<', '1', and '2' for comparison,
        !          1620:        unary arith, and binary arith, resp.  Change some 'e' types to those.
        !          1621:        * expr.c (init_comparisons): Delete fn.
        !          1622:        (expand_expr): Handle X ? A binop B : A with copy and conditional op.
        !          1623:        In X ? A : B, if A and B both simply, do with only one jump.
        !          1624:        Remove existing test for things like x = y | (a == b).
        !          1625:        (preexpand_calls): Handle new code types for expressions.
        !          1626:        * optabs.c (init_optabs): No longer call init_comparisons.
        !          1627:        * fold-const.c (operand_equal_p): No longer static.
        !          1628:        Ignore NON_LVALUE_EXPR.
        !          1629:        Only require constants if new operand ONLY_CONST is non-zero.
        !          1630:        (fold): Treat tree code types '<', '1', and '2' as 'e'.
        !          1631:        Handle cases where an arithmetic operation is applied to a compound,
        !          1632:        conditional, or comparison operation by distributing the arithmetic
        !          1633:        operation inside the compound, conditional, or comparison operation.
        !          1634:        Update calls to operand_equal_p.
        !          1635:        Convert A ? B : B to (A, B).
        !          1636:        * expmed.c (make_tree): No longer static.
        !          1637:        * tree.h: Define new macro TREE_CODE_CLASS.
        !          1638:        Define extern make_tree.
        !          1639:        * print-tree.c (prtypeinfo): New new macro TREE_CODE_CLASS.
        !          1640:        (dump): Use new macro and treat types '<', '1', and '2' as 'e'.
        !          1641:        * cplus-lex.c (init_lex): Likewise.
        !          1642:        * tree.c (make_node, copy_node): Ditto.
        !          1643: 
        !          1644: Mon Mar 19 00:05:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1645: 
        !          1646:        * gcc.c (main): Trap SIGPIPE.
        !          1647: 
        !          1648: Sat Mar 17 13:09:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1649: 
        !          1650:        * jump.c (jump_optimize): Also delete no-op insns to store bit fields.
        !          1651: 
        !          1652:        * sparc.md (patterns for addcc, subcc, andcc, andncc, orcc, orncc):
        !          1653:        (and xorcc, xorncc): Use arith32_operand as predicate.
        !          1654: 
        !          1655: Fri Mar 16 15:19:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1656: 
        !          1657:        * tm-vms.h (NO_DOLLAR_IN_LABEL): Define this.
        !          1658: 
        !          1659:        * function.c (assign_parms): Use INIT_CUMULATIVE_INCOMING_ARGS
        !          1660:        if that is defined.
        !          1661: 
        !          1662:        * c-decl.c (duplicate_decls): `static' always prevails, for functions.
        !          1663:        * cplus-decl.c (duplicate_decls): Likewise.
        !          1664: 
        !          1665:        * sparc.md (patterns for andncc, orncc, xorncc):
        !          1666:        Delete `%' from constraint.
        !          1667:        (patterns for addcc, andcc, orcc, xorcc): Use symmetrical predicates.
        !          1668:        (peephole for returning sum): Likewise.
        !          1669: 
        !          1670: Thu Mar 15 22:02:02 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1671: 
        !          1672:        * expmed.c (expand_mult_add): Handle either x or mult having VOIDmode.
        !          1673:        Always pass both args to type_for_mode.
        !          1674: 
        !          1675:        * expmed.c (extract_bit_field, store_bit_field):
        !          1676:        When changing mode of a reg to SImode, also do big-endian correction.
        !          1677:        Consistently use BYTES_BIG_ENDIAN to decide how bits are numbered.
        !          1678:        Fix stray ref to CODE_FOR_extzv in case for extv.
        !          1679: 
        !          1680:        * c-typeck.c (build_unary_op): Allow function type args to `!',
        !          1681:        since they convert to pointers.
        !          1682:        * cplus-typeck.c (build_unary_op): Likewise.
        !          1683: 
        !          1684: Thu Mar 15 06:30:21 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1685: 
        !          1686:        * expr.c (convert_to_mode): Don't copy constant to register.
        !          1687:        Use GET_MODE_CLASS instead of integer_mode_p.
        !          1688:        (integer_mode_p): Delete obsolete fn (only use above).
        !          1689: 
        !          1690:        * loop.c (product_cheap_p): Don't crash if no insns need to multiply;
        !          1691:        that case is cheap.
        !          1692: 
        !          1693: Thu Mar 15 02:11:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1694: 
        !          1695:        * regclass.c (init_reg_sets_1): Set n_non_fixed_regs.
        !          1696:        * loop.c (scan_loop, strength_reduce): Set threshold from num of regs.
        !          1697: 
        !          1698: Wed Mar 14 19:31:18 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1699: 
        !          1700:        * integrate.c (function_cannot_inline_p): Allow BLKmode parms.
        !          1701:        Allow address of aggregate parm.
        !          1702:        (expand_inline_function): Create and maintain const_equiv_map
        !          1703:        and const_age_map.  Increment const_age at basic blocks.
        !          1704:        Don't substitute constant values for parm regs;
        !          1705:        instead, call try_constants for each insn copied.
        !          1706:        When structure_value_addr in't 0, check aggregate_value_p too.
        !          1707:        Round size of parm_map up.
        !          1708:        Don't init inline_fp_rtx unless it is used.
        !          1709:        Don't use emit_move_insn when copying a SET insn.
        !          1710:        (copy_rtx_and_substitute): Handle inline_target being used when 0.
        !          1711:        Don't build a SUBREG of a CONST_INT.
        !          1712:        For PLUS of constant, do plus_constant whether mem address or not.
        !          1713:        Set up inline_fp_rtx if we need it.
        !          1714:        Clear RTX_UNCHANGING_P in all MEMs.
        !          1715:        (try_constants, subst_constants): New functions.
        !          1716:        (access_parm_map): No big-endian offset for BLKmode parms.
        !          1717:        Do change_address if mode doesn't match.
        !          1718:        (const_equiv): New function.
        !          1719:        (try_fold_cc0): Use that function.
        !          1720:        In "small win" case, extract CODE_LABEL out of LABEL_REF for emit_jump.
        !          1721:        (output_inline_function): Set return_label to 0.
        !          1722: 
        !          1723:        * recog.c (cancel_changes, num_validated_changes): New functions.
        !          1724: 
        !          1725: Tue Mar 13 17:30:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1726: 
        !          1727:        * recog.c (constrain_operands): Define `V' constraint.
        !          1728: 
        !          1729: Tue Mar 13 17:10:40 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1730: 
        !          1731:        * cplus-lex.c (operator_name_string, init_lex): Cast enums to ints
        !          1732:        to avoid errors from some C compilers.
        !          1733: 
        !          1734:        * cplus-init.c (expand_aggr_vbase_init): Make declarations consistent.
        !          1735: 
        !          1736: Sun Mar 11 18:37:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1737: 
        !          1738:        * ns32k.md (movsi): Flush spurious arg to abort.
        !          1739: 
        !          1740:        * Makefile.in (gnulib.portable, stamp-gnulib2): Ignore error in ranlib.
        !          1741: 
        !          1742: Sat Mar 10 19:38:36 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1743: 
        !          1744:        * function.h: Add new fields temp_slots and temp_slot_level.
        !          1745:        * stmt.c (struct temp_slot): New structure.
        !          1746:        (init_stmt_for_function): Initialize temp slot info.
        !          1747:        (save_stmt_status, restore_stmt_status): Save and restore temp slots.
        !          1748:        (expand_asm_operands): Remove redundant assignment to LAST_EXPR_TYPE.
        !          1749:        Free any temporaries made.
        !          1750:        (assign_stack_temp, preserve_temp_slots, free_temp_slots): New fns.
        !          1751:        (expand_expr_stmt): If last expression had a value (i.e., in ({..})
        !          1752:        grouping), maybe preserve temporaries.
        !          1753:        (expand_return, tail_recursion_args): Free any temporaries allocated.
        !          1754:        (expand_start_bindings): Push temporary stack level.
        !          1755:        (expand_end_bindings): Pop temporary stack level.
        !          1756:        (expand_decl): Use kept temporary slots for automatic variables.
        !          1757:        Free temporary slots after computing size.
        !          1758:        (expand_decl_init, expand_cleanups, expand_end_case): Free any
        !          1759:        allocated temporaries.
        !          1760:        * calls.c (expand_call): Use assign_stack_temp instead of
        !          1761:        get_structure_value_addr.
        !          1762:        Make a new temporary level while expanding a call and free
        !          1763:        temporaries as soon as we know they aren't going to be reused.
        !          1764:        (store_one_arg): Free any temporary slots made for arg being stored.
        !          1765:        * function.c (get_structure_value_addr): Delete fn.
        !          1766:        (init_function_start): No longer initialize structure value addr.
        !          1767:        * integrate.c (expand_inline_function): Use temporary slot for
        !          1768:        inlined function's frame.
        !          1769:        Free temporaries needed while evaluating arguments.
        !          1770:        * expr.c (expand_assignment, do_jumps): Free temps no longer needed.
        !          1771:        (store_expr): Don't check for structure value addr.
        !          1772:        (save_noncopied_parts, expand_expr): Call assign_stack_temp
        !          1773:        instead of assign_stack_local.
        !          1774:        (preexpand_calls): No longer special-case fns returning structures.
        !          1775:        * c-typeck.c (c_expand_asm_operands): Free any temporaries made.
        !          1776:        * cplus-typeck.c (c_expand_asm_operands): Ditto.
        !          1777:        * cplus-decl2.c (finish_file): Ditto.
        !          1778:        * cplus-init.c (expand_aggr_init_1): Ditto.
        !          1779:        * cplus-type2.c (make_merged_ref): Preserve result and free
        !          1780:        other temporaries.
        !          1781:        * cplus-parse.y (stmt): Free any temporaries in EXCEPT clause.
        !          1782: 
        !          1783: Sat Mar 10 16:07:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1784: 
        !          1785:        * loop.c (other_reg_use_p): New name for only_reg_use_p.
        !          1786:        Return 0 if IN == EXPR.
        !          1787:        (check_eliminate_biv): Re-invert the test using other_reg_use_p.
        !          1788: 
        !          1789: Fri Mar  9 18:34:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1790: 
        !          1791:        * optabs.c (init_optabs): Handle PSImode insns.
        !          1792: 
        !          1793: Fri Mar  9 18:24:11 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1794: 
        !          1795:        * local-alloc.c (local_alloc): Clear qty_phys_sugg and _has_sugg
        !          1796:        when doing loop, not just when doing bzero.
        !          1797:        Add new vars qty_phys_copy_sugg and _has_copy_sugg.
        !          1798:        (block_alloc): Rework detection of possible tied registers to use
        !          1799:        extracted insn operands rather than trying to parse operands from
        !          1800:        RTL description.
        !          1801:        Don't tie registers if output has earlyclobber.
        !          1802:        For REG_NO_CONFLICT, check commutativity of expression in REG_EQUAL,
        !          1803:        rather than of operation of attached insn.
        !          1804:        If insn is a simple copy, pass that info to combine_regs.
        !          1805:        (combine_regs): For multi-word items, mark all registers actually
        !          1806:        used as preferred.
        !          1807:        If the insn is a simple copy, record hard reg suggestions in
        !          1808:        qty_phys_copy_sugg instead of qty_phys_sugg.
        !          1809:        (find_free_reg): Correctly check for all registers used.
        !          1810:        If qty_phys_has_copy_sugg is non-zero, use that register set.  If
        !          1811:        none of them couldn't be allocated, try the other suggest set if
        !          1812:        it exists.
        !          1813: 
        !          1814: Thu Mar  8 02:17:50 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1815: 
        !          1816:        * jump.c (jump_optimize): Detect tablejumps that always go to
        !          1817:        the same place, and change to unconditional jumps.
        !          1818: 
        !          1819:        * fold-const.c (fold): Simplify comparison of integer value with self.
        !          1820: 
        !          1821:        * rtl.h (FUNCTION_FLAGS...): Additional flag bits for saving
        !          1822:        current_function_returns_pointer, and several others.
        !          1823:        (FUNCTION_PRETEND_ARGS_SIZE): New component in inline header.
        !          1824:        * integrate.c (save_for_inline): Record these flags.
        !          1825:        (output_inline_function): Get them out again.
        !          1826:        Also restore current_function_args_size and ..._pretend_...
        !          1827: 
        !          1828:        * ns32k.md (movsi, movdi): Handle floating point registers.
        !          1829: 
        !          1830:        * dbxout.c (dbxout_prepare_symbol): New function, output N_SOL stab.
        !          1831:        (dbxout_symbol, dbxout_parms, dbxout_reg_parms): Call it.
        !          1832:        * final.c (output_source_file): New function.
        !          1833: 
        !          1834:        * reload.c (find_reloads_toplev): Do BYTES_BIG_ENDIAN offset
        !          1835:        only within a word.
        !          1836: 
        !          1837:        * stdarg.h: Use _VA_LIST_ as macro to indicate already loaded.
        !          1838: 
        !          1839:        * fixincludes: Supply missing semicolon in netinet/ip.h.
        !          1840: 
        !          1841:        * tm-alliant.h (FUNCTION_PROLOGUE): Use `linkl' on 68020.
        !          1842: 
        !          1843:        * regclass.c (init_reg_sets): For subunion, keep largest candidate.
        !          1844: 
        !          1845: Wed Mar  7 00:37:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1846: 
        !          1847:        * emit-rtl.c (in_sequence_p): New function.
        !          1848: 
        !          1849:        * expr.c (expand_builtin): For BUILT_IN_SAVEREGS, insert after
        !          1850:        the initial NOTE insn.
        !          1851: 
        !          1852:        * dbxout.c (dbxout_finish_symbol): New argument is a decl or 0.
        !          1853:        Output line number in desc field.
        !          1854:        All callers changed to pass the argument.
        !          1855: 
        !          1856:        * tree.h (TREE_PUBLIC): Move back to tree_common.
        !          1857: 
        !          1858:        * dbxout.c (dbxout_init): Output working dir in a N_SO symbol.
        !          1859: 
        !          1860:        * expr.c (emit_library_call): Handle PUSH_ROUNDING.
        !          1861: 
        !          1862:        * explow.c (break_out_memory_refs): Use same mode as the MEM has.
        !          1863: 
        !          1864:        * out-mips.c (output_load_immediate): Let the assembler do the work.
        !          1865: 
        !          1866: Tue Mar  6 22:20:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1867: 
        !          1868:        * cccp.c (macroexpand): Fix bug in scanning strings for stringify.
        !          1869: 
        !          1870:        * stmt.c (expand_goto_internal): Adjust stack after cleanups.
        !          1871:        (expand_end_bindings, fixup_cleanups): Likewise.
        !          1872: 
        !          1873:        * tm-alliant.h (STATIC_CHAIN_REGNUM): Use 10.
        !          1874: 
        !          1875: Tue Mar  6 15:23:11 1990  Jim Kingdon  (kingdon at pogo.ai.mit.edu)
        !          1876: 
        !          1877:        * config.gcc: Accept srcdir & vint with either '-' or '+'.
        !          1878: 
        !          1879:        * c-parse.y (hash, is_reserved_word): Use __inline so it can
        !          1880:        be compiled with `gcc -traditional'.
        !          1881: 
        !          1882: Tue Mar  6 14:52:12 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1883: 
        !          1884:        * c-parse.y (compstmt): Don't return null tree for empty group.  This
        !          1885:        will cause the compiler to dump core on a ({}) construct.
        !          1886:        * cplus-parse.y (compstmt): Ditto.
        !          1887: 
        !          1888: Tue Mar  6 14:33:42 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1889: 
        !          1890:        * tree.h (TREE_STATIC): Move back to common.
        !          1891: 
        !          1892: Tue Mar  6 06:04:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1893: 
        !          1894:        * function.h (expr_stmts_for_value): New field.
        !          1895:        * stmt.c (init_stmt_for_function): Initialize vars for expression
        !          1896:        statements.
        !          1897:        (save_stmt_status, restore_stmt_status): Save and restore value of
        !          1898:        expr_stmts_for_value.
        !          1899: 
        !          1900:        * cse.c (record_jump_equiv): Ensure previous insn is an INSN before
        !          1901:        testing it (it might be a NOTE).
        !          1902: 
        !          1903: Tue Mar  6 00:26:20 1990  Richard Stallman  (rms at geech)
        !          1904: 
        !          1905:        * tm-ns32k.h (NOTICE_UPDATE_CC): Use abort in case
        !          1906:        that shouldn't happen.
        !          1907: 
        !          1908: Mon Mar  5 23:11:57 1990  Richard Stallman  (rms at geech)
        !          1909: 
        !          1910:        * Makefile.in (cplus-tab.h): Say expect 12 reduce/reduce conflicts.
        !          1911: 
        !          1912:        * genoutput.c (output_prologue): Include insn-attr.h.
        !          1913: 
        !          1914:        * pyr.md (addsi3, mulsi3, umulsi3, andsi3, iorsi3, xorsi3):
        !          1915:        Make input arg predicates symmetrical.
        !          1916:        (adddi3, anddi3, iordi3, xordi3): Likewise.
        !          1917:        (addsi3): Use immediate subtract if suitable.
        !          1918: 
        !          1919: Sat Mar  3 21:08:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1920: 
        !          1921:        * expr.c (move_block_to_reg, emit_push_insn): Don't treat double 0.0
        !          1922:        as two words of zero.
        !          1923:        Handle DImode constants as two integers.
        !          1924:        Support CONST_INT (currently only called with const0_rtx).
        !          1925: 
        !          1926:        * expr.c (convert_move): Can only use slt if STORE_FLAG_VALUE == -1.
        !          1927: 
        !          1928: Sat Mar  3 15:03:00 1990  Richard Stallman  (rms at geech)
        !          1929: 
        !          1930:        * function.c (setjmp_protect_args, setjmp_args_warning): New functions.
        !          1931:        * toplev.c (rest_of_compilation): Call setjmp_args_warning.
        !          1932:        * c-decl.c (finish_function): Call setjmp_protect_args.
        !          1933: 
        !          1934:        * flow.c (regno_clobbered_at_setjmp): Argument registers
        !          1935:        are in effect set at start of function.
        !          1936: 
        !          1937:        * tm-sparc.h (ASM_OUTPUT_DOUBLE): Replace missing line.
        !          1938: 
        !          1939:        * print-tree.c (prtypeinfo): Don't check DECL-only
        !          1940:        flags for other nodes.
        !          1941: 
        !          1942:        * toplev.c: Eliminate `#ifdef 0'.
        !          1943: 
        !          1944:        * dbxout.c (print_int_cst_octal): New function.
        !          1945:        (dbxout_type): Use that for long long types.
        !          1946: 
        !          1947:        * Makefile.in (start.encap, rest.encap): Split all.internal.
        !          1948: 
        !          1949:        * tahoe.md: Adjust formatting.
        !          1950: 
        !          1951:        * tahoe.md (ashlsi3, lshlsi3): Don't clobber a const_int.
        !          1952:        Instead, use %s to convert shift count to multiplier.
        !          1953:        * tm-tahoe.h (PRINT_OPERAND): Handle %s.
        !          1954: 
        !          1955:        * tm-tahoe.h (CONST_COSTS): Specify cost of MULT.
        !          1956: 
        !          1957: Fri Mar  2 01:00:11 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1958: 
        !          1959:        * cse.c (rtx_cost): By default, multiply and divide are expensive.
        !          1960: 
        !          1961:        * expmed.c (expand_mult_add): Use type_for_mode.
        !          1962:        Allow ADD to have a different mode.
        !          1963:        * c-typeck.c (type_for_mode): New function.
        !          1964:        (get_floating_type): Function deleted.
        !          1965:        * cplus-typeck.c: Likewise.
        !          1966: 
        !          1967:        * jump.c (jump_optimize): Simplify `if (x) goto foo; else goto foo;'.
        !          1968: 
        !          1969: Thu Mar  1 17:41:22 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1970: 
        !          1971:        * out-mips.c (tree_code_name): Declaration deleted.
        !          1972: 
        !          1973:        * stmt.c (expand_expr_stmt): No "no side effects" warning for (void)0.
        !          1974: 
        !          1975:        * assert.h (__assert): Don't call abort; use 0 as value.
        !          1976:        * gnulib2.c (__eprintf): Call abort here.
        !          1977: 
        !          1978:        * c-decl.c (pushdecl): Don't warn if shadowing error_mark_node.
        !          1979: 
        !          1980:        * optabs.c: Use GET_MODE_WIDER_MODE instead of INC_MODE.
        !          1981: 
        !          1982:        * machmode.def: Set up next-wider-mode for floating modes.
        !          1983: 
        !          1984: Wed Feb 28 18:58:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1985: 
        !          1986:        * stmt.c (expand_goto_internal): Add missing stack adjust.
        !          1987:        (expand_fixup): Don't do stack adjust if fixup isn't for current pos.
        !          1988: 
        !          1989:        * stmt.c (expand_start_stmt_expr, expand_end_stmt_expr): No need to
        !          1990:        save result from start_sequence in RTL_EXPR.
        !          1991: 
        !          1992:        * stmt.c (expand_end_loop): Correctly see if NOTE_INSN_LOOP_CONT
        !          1993:        was written.
        !          1994: 
        !          1995:        * stmt.c (expand_decl): Omit move to OLDADDR if it would be noop.
        !          1996: 
        !          1997:        * expr.c (expand_expr): Don't use variable TYPE in subblocks that
        !          1998:        hides TYPE at function level.
        !          1999: 
        !          2000:        * expr.c (force_operand): Always generate PLUS for constant.
        !          2001:        Use negate_rtx to negate constant.
        !          2002: 
        !          2003:        * expr.c (expand_expr): Ensure that type is not wider than
        !          2004:        HOST_BITS_PER_INT when assuming that constant is entirely in
        !          2005:        TREE_INT_CST_LOW.
        !          2006:        Simplify EXPAND_SUM code for PLUS_EXPR and MINUS_EXPR.
        !          2007:        Call preexpand_calls at binop instead of all places that branch to it.
        !          2008: 
        !          2009:        * expmed.c (expand_shift): Skip widening try for rotates; avoid
        !          2010:        passing UNSIGNEDP == -1 to expand_binop.
        !          2011: 
        !          2012:        * expr.c (expand_builtin): Use a sequence instead of reorder_insns.
        !          2013: 
        !          2014:        * tree.c (save_expr): Ignore NON_LVALUE_EXPRs.
        !          2015:        Mark as TREE_VOLATILE so won't be inadvertently deleted.
        !          2016:        (build): Special-case LENGTH == 1 also.
        !          2017: 
        !          2018: Wed Feb 28 12:57:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2019: 
        !          2020:        * expr.c (convert_move): Handle conversions to and from PSImode.
        !          2021: 
        !          2022:        * stor-layout.c (layout_type): For integer types, don't consider
        !          2023:        PSImode, etc.
        !          2024: 
        !          2025:        * expmed.c (init_expmed): Typo: test was backwards.
        !          2026: 
        !          2027:        * Makefile (install): When installing $${eachfile}, use basename.
        !          2028: 
        !          2029: Tue Feb 27 14:48:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2030: 
        !          2031:        * tree.h (struct tree_common): Delete certain attributes.
        !          2032:        external, public, static, nonlocal, regdecl, inline.
        !          2033:        (struct tree_decl): Insert them here.
        !          2034: 
        !          2035:        * combine.c (try_combine): Avoid generating nested SUBREGs for
        !          2036:        operands when handling case where I2 or I1 is a SUBREG assignment.
        !          2037:        Never combine with an insn that sets a register to itself if it has
        !          2038:        a REG_EQUAL note.
        !          2039:        (subst): Correct errors in changing (minus (x) (c)) to (plus (x) (-c)).
        !          2040:        Recompute CODE before second switch.
        !          2041:        Case NOT: in second switch failed to set undobuf.storage.
        !          2042:        (gen_lowpart_for_combine): Don't allow multi-word modes; do allow
        !          2043:        null conversions.
        !          2044: 
        !          2045: Tue Feb 27 07:13:17 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2046: 
        !          2047:        * combine.c (try_combine): Don't combine when doing so would
        !          2048:        replace destination that is being modified, as opposed to replaced.
        !          2049: 
        !          2050:        * function.c (fixup_var_refs_1): Rework to correctly support
        !          2051:        bit-field insns that don't allow memory operands.
        !          2052:        Correctly detect insns that simply copy a variable to or from a
        !          2053:        register.
        !          2054:        (optimize_bit_field): Use a sequence rather than reorder_insns.
        !          2055:        * Makefile.in (function.o): Update dependancies.
        !          2056: 
        !          2057:        * recog.h: Delete obsolete insn_machine_info.
        !          2058: 
        !          2059:        * function.c (assign_parms): Use move_block_from_regs to place
        !          2060:        first part of parameter partially in registers into memory.
        !          2061: 
        !          2062: Mon Feb 26 19:02:56 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2063: 
        !          2064:        * fixincludes: Find only .h files when looking for headers.
        !          2065: 
        !          2066:        * function.c (expand_function_start): Save arg ptr reg
        !          2067:        if there are nonlocally-referenced parms.
        !          2068: 
        !          2069: Fri Feb 23 13:21:27 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2070: 
        !          2071:        * c-parse.y (readescape): For x, avoid overflow when shifting in if.
        !          2072: 
        !          2073: Thu Feb 22 19:14:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2074: 
        !          2075:        * fixincludes: Delete directories before creating them.
        !          2076:        When making internal symbolic directory links, chase
        !          2077:        chain of existing links to the end.
        !          2078: 
        !          2079:        * dbxout.c (dbxout_type): Always use main variant (until
        !          2080:        there is code to report the distinctions usefully).
        !          2081: 
        !          2082: Wed Feb 21 13:20:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2083: 
        !          2084:        * math-68881.h (hypot): New function.
        !          2085: 
        !          2086:        * optabs.c (expand_binop): Swap operands if that makes modes match.
        !          2087: 
        !          2088:        * expr.c (expand_expr): For ARRAY_EXPR, when converting to
        !          2089:        multiplication and addition, use type of index for product.
        !          2090: 
        !          2091:        * gcc.c (LIB_SPEC): Link with -lg if -g specified.
        !          2092:        * tm-isi68.h, tm-next.h, tm-sparc.h, tm-sun3.h, tm-sun386i.h: Likewise.
        !          2093:        * tm-mips.h (LIB_SPEC): Override to avoid using -lg.
        !          2094: 
        !          2095:        * toplev.c (main): Warn for -g if not supported.
        !          2096: 
        !          2097:        * c-decl.c (grokdeclarator): Do pedantic checks for const functions
        !          2098:        where function decls and variant function types are made.
        !          2099: 
        !          2100: Mon Feb 19 20:06:48 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2101: 
        !          2102:        * optabs.c: Restore Feb 13 change.
        !          2103: 
        !          2104:        * varasm.c (readonly_data_section): New fn.
        !          2105:        (assemble_variable, get_or_assign_label, output_constant_pool):
        !          2106:        Use new fn instead of text_section.
        !          2107:        * final.c (end_final): Write profiling table to read-only section.
        !          2108:        (get_attr_length, shorten_branches): Address vectores take no space
        !          2109:        if not in text section.
        !          2110:        Vectors are in operand 0 for ADDR_VEC but 1 for ADDR_DIFF_VEC.
        !          2111:        (final_scan_insn): Merge cases for ADDR_VEC and ADDR_DIFF_VEC.
        !          2112:        Put vector tables in read-only section.
        !          2113: 
        !          2114: Sun Feb 18 13:58:04 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2115: 
        !          2116:        * gnulib2.c (__shtab): New vector.
        !          2117:        * Makefile.in (LIB2FUNCS): Add that member.
        !          2118: 
        !          2119:        * *tahoe*: New versions of these files.
        !          2120: 
        !          2121:        * optabs.c: File was deleted.  Copied last backup.
        !          2122:        Feb 13 change lost.
        !          2123: 
        !          2124:        * tm-sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Handle nans.
        !          2125:        Don't output more digits than the numbers have.
        !          2126:        * tm-sun3.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Likewise.
        !          2127:        (ASM_OUTPUT_DOUBLE_OPERAND): Don't output excess digits.
        !          2128: 
        !          2129:        * m68k.md (movqi): Don't use clrb or st if dest is volatile.
        !          2130: 
        !          2131:        * expmed.c (expand_mult): Don't use sum of shifts if mult is cheaper.
        !          2132:        (init_expmed): Set mult_is_cheap based on rtx_cost.
        !          2133:        * toplev.c (compile_file): Call init_expmed.
        !          2134:        * cse.c (rtx_cost): Not static.
        !          2135: 
        !          2136:        * tm-mips.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL):
        !          2137:        Start name with $.
        !          2138: 
        !          2139:        * tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-news.h, tm-seq386.h:
        !          2140:        * tm-sequent.h, tm-spur.h, tm-sun2.h, tm-tahoe.h, tm-vax.h:
        !          2141:        (LIB_SPEC): Put in -lc with appropriate alternatives.
        !          2142: 
        !          2143:        * toplev.c (rest_of_compilation):
        !          2144:        Clear rtx_equal_function_value_matters just before final.
        !          2145: 
        !          2146:        * cccp.c (rescan): If don't find paren after macro, back up over space.
        !          2147: 
        !          2148: Sat Feb 17 20:58:21 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2149: 
        !          2150:        * tm-hp9k320.h (CPP_SPEC): Remove _INCLUDE__STDC__.
        !          2151: 
        !          2152: Wed Feb 14 09:06:26 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2153: 
        !          2154:        * loop.c (struct movable): Add SET_DEST and SET_EQUAL fields.
        !          2155:        (single_set): New fn.
        !          2156:        (scan_loop, force_movables, move_movables, consec_set_invariant_p):
        !          2157:        Use new fn to look for insns that contain a single set.
        !          2158:        Use new fields in struct movable.
        !          2159:        (scan_loop, strength_reduce): Pass number of registers to
        !          2160:        strength_reduce.
        !          2161:        (libcall_benefit): New fn.
        !          2162:        (scan_loop, strength_reduce, consec_sets_giv): Use it.
        !          2163:        (skip_consec_insns): Correctly count insns to be skipped when
        !          2164:        NOTEs are present.
        !          2165:        (combine_movables): In some cases, combine regs that load CONST_INTs
        !          2166:        even if the modes of the destination differ.  This requires starting
        !          2167:        the inner loop from the start of the movable list.
        !          2168:        Use find_reg_note to search for notes.
        !          2169:        Don't choose a use of an equivalence instead of the insn that sets
        !          2170:        the register directly (hence setting up the equivalence).
        !          2171:        Set DONE for the matched movable to ensure it isn't duplicated.
        !          2172:        (replace_call_address): No longer used.
        !          2173:        (move_movables): When moving a LIBCALL block where the address of
        !          2174:        the fn is in a register, emit an insn to move the actual address
        !          2175:        in case the original move was CSE'ed out of the block.
        !          2176:        Emit AND insn via expand_binop instead of explicit RTL.
        !          2177:        Search for matching from start of list, not from movable being matched.
        !          2178:        If mode of combined movables differ, use SUBREG to replace narrower.
        !          2179:        (replace_regs): Don't replace register if it is the destination.
        !          2180:        (count_nonfixed_reads): Mem ref is fixed if addres is loop invariant.
        !          2181:        (can_jump_into_range_p): Speed up common cases.
        !          2182:        (count_loop_regs_set): Do same thing for parts of PARALLEL as when
        !          2183:        they occur standalone.
        !          2184:        (struct induction): Delete fields forces, forces2, and consec.
        !          2185:        Store dest and src reg rtx instead of register number.
        !          2186:        Add new fields always, cant_derive, combined_with, maybe_dead, and
        !          2187:        derive_adjustment.
        !          2188:        (struct iv_class): Add new fields initial_test, init_set, incremented.
        !          2189:        (all strength reduction routines): Use single_set and use new 
        !          2190:        struct induction fields; forces is no longer used.
        !          2191:        (record_biv): New fn.
        !          2192:        (strength_reduce): Use it.
        !          2193:        (record_initial, valid_initial_value_p): New fns.
        !          2194:        (strength_reduce): Scan for bivs in loop order.
        !          2195:        Refine handling of maybe_never.
        !          2196:        A reg isn't a biv if it is never incremented.
        !          2197:        Use note_stores and record_initial to correctly note all changes
        !          2198:        to a biv's register prior to the start of the loop.
        !          2199:        We may know biv's initial value if it was tested NE before the loop.
        !          2200:        Use new valid_initial_value_p.
        !          2201:        Ensure giv's insn is the last in a LIBCALL block or if consec.
        !          2202:        Don't set maybe_never on jump back to top of loop.
        !          2203:        Don't delete any insns setting givs; flow will eliminate them as
        !          2204:        dead.  Ditto for biv updates when biv can be eliminated.
        !          2205:        If giv's last use is in a computation of another giv, mark that it
        !          2206:        might be dead.
        !          2207:        Make two passes over givs.  In first pass, handle non-matched
        !          2208:        givs.  In second pass, handle the matched givs.
        !          2209:        (only_reg_use_p): Now static.
        !          2210:        (delete_insn_forces): Fn deleted; no longer used.
        !          2211:        (update_giv_derive): New fn.
        !          2212:        (strength_reduce): Call it for every insn and label.
        !          2213:        (record_giv): If giv never used, ignore it.
        !          2214:        (basic_induction_var): Always set *MULT_VAL to something.
        !          2215:        A set of a biv from an invariant MEM is allowed.
        !          2216:        (simplify_giv_expr, expr_cost): New fns.
        !          2217:        (general_induction_var): Rewrite to use them.  More types of
        !          2218:        expressions are now recognized as givs.
        !          2219:        Use results produced by update_giv_derive to ensure that giv derivation
        !          2220:        works correctly when spanning biv update.
        !          2221:        (consec_sets_giv): Can allocate temporary induction struct on stack.
        !          2222:        Skip insns that set irrelevant items between two updates to giv.
        !          2223:        (gen_iv_mult, emit_iv_init_code): Replace with emit_iv_add_mult.
        !          2224:        (update_reg_last_use): New fn.
        !          2225:        (emit_iv_add_mult): Call it for all operands.
        !          2226:        (express_from, combine_givs_p, combine_givs): New fns.
        !          2227:        (strength_reduce): Call them to combine givs.
        !          2228:        (product_cheap_p): Rewrite to handle more cases.
        !          2229:        Free any memory allocated.
        !          2230:        (get_condition): New fn.
        !          2231:        (strength_reduce, check_dbra_loop): Use it.
        !          2232:        (check_dbra_loop): Use emit_move_insn instead of writing explicit SET.
        !          2233:        Use emit_cmp_insn/emit_jump_insn to write out replacement test.
        !          2234:        (check_eliminate_biv): Use single_set.
        !          2235:        Refine test for insns that use biv only to calculate giv.
        !          2236:        Return non-zero if can eliminate biv; don't set eliminable.
        !          2237:        (can_eliminate_biv_p): Remove some duplicate code and allow
        !          2238:        all constants in some cases where only CONST_INT was allowed.
        !          2239:        Don't replace biv with giv that might be dead.
        !          2240:        (eliminate_biv): Compute whether to put an invariant before insn
        !          2241:        in which the biv is being eliminated or at the start of loop.
        !          2242:        Allow more types of constants.
        !          2243:        Don't replace biv with giv that might be dead.
        !          2244:        Use validate_change when substituting into insn.
        !          2245:        (strength_reduce): Change calls to check_eliminate_biv and
        !          2246:        eliminate_biv.  Call the former again after maybe_dead has possibly
        !          2247:        been set on some givs.
        !          2248: 
        !          2249: Tue Feb 13 19:58:46 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2250: 
        !          2251:        * tree.c (function_obstack): New variable.
        !          2252:        (init_allocation): Init it to temporary_obstack. 
        !          2253:        (save_tree_status): Save it, make new obstack for it.
        !          2254:        (restore_tree_status): Free new obstack, restore old.
        !          2255:        (temporary_allocation, resume_temporary_allocation): Use that one.
        !          2256:        * function.h (struct function): Slot for saved function_obstack.
        !          2257:        * tree.c (push_obstack, pop_obstack): New functions.
        !          2258:        These implement a stack for obstack selection.
        !          2259:        * function.c (put_var_into_stack): If var is nonlocal,
        !          2260:        switch to obstacks of the function it is in.
        !          2261: 
        !          2262: Tue Feb 13 17:52:15 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2263: 
        !          2264:        * optabs.c (emit_no_conflict_block): During reload, don't do
        !          2265:        any encapsulation or add notes.
        !          2266:        Allow single insn or no insns in sequence.
        !          2267: 
        !          2268: Tue Feb 13 12:51:45 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2269: 
        !          2270:        * stor-layout.c (build_int): Increase limits of cache size.
        !          2271: 
        !          2272:        * sdbout.c (sdbout_symbol): Force output of symbol's type.
        !          2273: 
        !          2274: Tue Feb 13 08:28:37 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2275: 
        !          2276:        * toplev.c (rest_of_compilation): Don't skip compilation of function
        !          2277:        if TREE_INLINE but no saved insns (e.g., if not -O).
        !          2278: 
        !          2279:        * rtlanal.c (replace_rtx): New function.
        !          2280:        * rtl.h: Define it.
        !          2281: 
        !          2282: Tue Feb 13 00:02:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2283: 
        !          2284:        * c-decl.c (finish_struct): Lay out any existing array types
        !          2285:        of newly completed struct.
        !          2286:        (layout_array_type): New subroutine.
        !          2287: 
        !          2288: Mon Feb 12 11:33:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2289: 
        !          2290:        * function.c (assign_parms): If not -O, keep all parms in memory.
        !          2291: 
        !          2292:        * expr.c (clear_pending_stack_adjust): Ignore TREE_INLINE if not -O.
        !          2293: 
        !          2294:        * out-i386.c (output_fix_trunc): New function.
        !          2295:        (fp_pop_int): Re-enabled.  Handle more modes, individually.
        !          2296:        (print_operand): Handle %D.
        !          2297:        * i386.md (fix_truncdfdi2, fixuns_truncdfdi2): New patterns.
        !          2298:        These changes from James Van Artsdalen.
        !          2299: 
        !          2300:        * gnulib2.c (__builtin_vec_delete): Use __builtin_delete, not free.
        !          2301: 
        !          2302:        * sdbout.c (sdbout_field_types): Do look through pointer types.
        !          2303: 
        !          2304: Sat Feb 10 19:31:16 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2305: 
        !          2306:        * sdbout.c (plain_type_1): Don't output tag until known.
        !          2307:        (sdbout_one_type): Don't record tag in KNOWN_TYPE_TAG until end.
        !          2308:        Reenable output of member types before original structure.
        !          2309: 
        !          2310:        * expr.c (expand_expr): Convert post-inc to pre-inc if result ignored.
        !          2311: 
        !          2312: Sat Feb 10 14:35:03 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2313: 
        !          2314:        * ns32k.md (movsf): Convert double constant to float.
        !          2315: 
        !          2316: Fri Feb  9 00:02:43 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2317: 
        !          2318:        * c-decl.c (duplicate_decls): Don't lose alignment of OLDDECL.
        !          2319: 
        !          2320:        * cccp.c (handle_directive): Keep comments by copying them explicitly.
        !          2321: 
        !          2322:        * cccp.c (rescan): When scanning for open-paren after macro name,
        !          2323:        discard comments if appropriate.
        !          2324: 
        !          2325: Fri Feb  9 18:26:34 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2326: 
        !          2327:        * cse.c (cse_insn): Suppress infinite loop when associating
        !          2328:        operations in cases where a reg, R, is equal to "R OP const1" and
        !          2329:        we are looking at "R OP const2" for some associative operator OP.
        !          2330: 
        !          2331: Thu Feb  8 14:19:41 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2332: 
        !          2333:        * c-decl.c (build_enumerator): Pedantic warning if value not an int.
        !          2334:        Access default value after checking for constant specified,
        !          2335:        as it should no longer be possible to have NON_LVALUE_EXPR
        !          2336:        in the default.
        !          2337: 
        !          2338:        * c-typeck.c (default_conversion): Don't truncate wide enums.
        !          2339: 
        !          2340:        * tm-hp9k320.h (CPP_SPEC): Define _INCLUDE__STDC__ if not traditional.
        !          2341:        * tm-hp9k310.h (CPP_SPEC): Likewise.
        !          2342: 
        !          2343: Wed Feb  7 12:59:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2344: 
        !          2345:        * emit-rtl.c (emit_insns_before): New fn.
        !          2346:        (init_emit_once): Add uses of new macros to support static chain
        !          2347:        passed in memory.
        !          2348:        * calls.c (prepare_call_address): Rework to set static chain for
        !          2349:        languages that have EPmode function addresses and for nested
        !          2350:        functions in C.
        !          2351:        Emit USE insn for static_chain_rtx into list of USE insns to be
        !          2352:        placed later.
        !          2353:        (emit_call_1): USE_INSNS is now a list of insns, not a SEQUENCE.
        !          2354:        (expand_call): Remove gratuitous forcing of FUNEXP to Pmode (it
        !          2355:        might have been EPmode).
        !          2356:        Make USE_INSNS a list, rather than a SEQUENCE.
        !          2357:        Use prepare_call_address to emit load into static chain.
        !          2358:        * expr.c (emit_library_call): Update call to prepare_call_address.
        !          2359:        * function.c (expand_function_start): Use incoming static chain rtx
        !          2360:        instead of outgoing form (was correct in one place, wrong in one).
        !          2361:        * stmt.c (expand_goto): Set static_chain rtx after stack pointer
        !          2362:        in case it uses the stack pointer.
        !          2363:        Only write one USE for stack_pointer_rtx.
        !          2364: 
        !          2365: Tue Feb  6 17:26:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2366: 
        !          2367:        * jump.c (jump_optimize): Suppress optimization of `if (...) x = 1;
        !          2368:        else {...}  if (x) ...', when a label is present between the
        !          2369:        assignment to X and the unconditional jump.
        !          2370: 
        !          2371: Mon Feb  5 23:22:30 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2372: 
        !          2373:        * combine.c (try_combine): If I2 or I1 is a PARALLEL, ignore only
        !          2374:        CLOBBER parts when combining.  Previously used to ignore USE parts
        !          2375:        also but the latter can indicate that the insn needs some setup that
        !          2376:        isn't shown in its rtl.
        !          2377: 
        !          2378: Mon Feb  5 13:32:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2379: 
        !          2380:        * vax.md (addhi3, addqi3): Fix typo checking for dec insn.
        !          2381: 
        !          2382:        * cccp.c (struct file_buf): New field `nominal_fname' is name spec'd
        !          2383:        in #line command; `fname' is name of actual input file.
        !          2384:        Many functions now use or set this field as well or instead.
        !          2385: 
        !          2386:        * c-decl.c (grokdeclarator): Fix missing paren.
        !          2387: 
        !          2388: Sun Feb  4 12:37:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2389: 
        !          2390:        * tm-3b1g.h: New file.
        !          2391:        * config.gcc (3b1g, 3b1-gas): New alternative.
        !          2392: 
        !          2393:        * loop.c (move_movables): Skip USE insns when checking for
        !          2394:        the insn that loads the address of a library function.
        !          2395: 
        !          2396:        * combine.c (combine_instructions): Compute total_distrib_*.
        !          2397: 
        !          2398:        * final.c (final): Do basic block profiling at end of function.
        !          2399:        (final, final_scan_insn): Run CC_STATUS_INIT after block profiling.
        !          2400:        (final_scan_insn): Detect cond jumps that use PARALLEL.
        !          2401: 
        !          2402: Sun Feb  4 00:04:22 1990  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
        !          2403: 
        !          2404:        * function.c (assign_stack_local): Use plus_constant to avoid
        !          2405:        PLUS when offset is zero.
        !          2406:        (assign_outer_stack_local): Ditto.
        !          2407: 
        !          2408: Sun Feb  4 00:04:22 1990  Ron Guilmette  (rms at sugar-bombs.ai.mit.edu)
        !          2409: 
        !          2410:        * explow.c (fix_lexical_addr): Fix typo.
        !          2411: 
        !          2412:        * tree.c (build_type_variant): Special handling for protoize.
        !          2413: 
        !          2414:        * protoize.c: New file.
        !          2415: 
        !          2416:        * toplev.c (flag_gen_aux_info): Define it.
        !          2417:        (f_options): Recognize the flag.
        !          2418:        (compile_file): Open and close the aux_info file.
        !          2419: 
        !          2420:        * flags.h (flag_gen_aux_info): Declare it.
        !          2421: 
        !          2422:        * c-typeck.c (comptypes): Handle equivalent variant types for protoize.
        !          2423: 
        !          2424:        * c-decl.c (implicitly_declare): Call gen_aux_info_record.
        !          2425:        (start_decl, store_parm_decls): Likewise.
        !          2426:        (pushdecl): For protoize, distinguish different names for same type.
        !          2427:        (grokdeclarator): For protoize, don't always get main variant.
        !          2428:        (finish_function): Take the main variant here.
        !          2429: 
        !          2430:        * c-aux-info.c, SYSCALLS.c: New files.
        !          2431: 
        !          2432:        * Makefile.in (proto, protoize, unprotoize): New targets.
        !          2433:        (protoize.o, unprotoize.o, SYSCALLS.c.X, test-protoize): More new.
        !          2434:        (c-aux-info.o): Also new.
        !          2435:        (STAGESTUFF): Add protoize, unprotoize.
        !          2436:        (install): Install protoize, unprotoize and SYSCALLS.c.X.
        !          2437: 
        !          2438: Sat Feb  3 17:09:58 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2439: 
        !          2440:        * c-typeck.c (digest_init): Allow conversion of array exp to pointer.
        !          2441:        Constructors with types are simply expressions, so don't treat as
        !          2442:        initializers.               
        !          2443: 
        !          2444:        * Makefile.in (uninstall): New target.
        !          2445: 
        !          2446:        * Makefile.in (include/README): Target deleted.
        !          2447:        (include): Deleted.
        !          2448:        (INSTALL): Create include dir here.
        !          2449: 
        !          2450:        * Makefile.in (all.internal): Enable compiling cc1plus.
        !          2451:        (lang-cplus): New target.
        !          2452:        (*.o): Add some missing dependencies.
        !          2453:        (STAGESTUFF): Add cc1plus.
        !          2454: 
        !          2455: Fri Feb  2 18:21:22 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2456: 
        !          2457:        * tree.c (decl_function_context): Don't abort when passed ERROR_MARK.
        !          2458: 
        !          2459: Fri Feb  2 17:04:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2460: 
        !          2461:        * integrate.c (copy_for_inline): Use real width of rtunion in bcopy.
        !          2462:        * emit-rtl.c (copy_rtx_if_shared): Likewise.
        !          2463: 
        !          2464:        * assert.h (assert) [__STDC__]: Use comma operator to avoid warning.
        !          2465: 
        !          2466:        * c-decl.c (grokdeclarator): Traditionally change return type float
        !          2467:        to double.
        !          2468: 
        !          2469:        * cse.c (predecide_loop_entry): Give up unless simple jump enters loop.
        !          2470: 
        !          2471: Thu Feb  1 19:32:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2472: 
        !          2473:        * c-parse.y (yylex, skip_white_space): CR is not whitespace.
        !          2474: 
        !          2475: Thu Feb  1 17:18:33 1990  Richard Kenner  (kenner at sugar-bombs.ai.mit.edu)
        !          2476: 
        !          2477:        * tm-m68k.h (PREFERRED_RELOAD_CLASS): Never return DATA_REGS for
        !          2478:        ADDR_REGS, even for QImode.
        !          2479: 
        !          2480:        * cse.c (cse_insn): If source equivalent is not in table, but
        !          2481:        source is, put equivalent in same class as source.  But do not
        !          2482:        do this if the destination has a STRICT_LOW_PART.
        !          2483:        (cse_main): Call init_recog instead of init_recog_no_volatile.
        !          2484: 
        !          2485: Thu Feb  1 17:18:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2486: 
        !          2487:        * Makefile.in (cplus-tab.c, cplus-tab.h): Renamed from cplus-parse.*. 
        !          2488:        (TAGS, realclean): Renamed these files.
        !          2489:        (cplus-decl2.o, cplus-type2.o, cplus-search.o): New targets.
        !          2490:        (cplus-except.o, cplus-expr.o): New targets.
        !          2491:        (new-method.o): Target deleted.
        !          2492:        (CPLUS_OBJS): Add and delete object files.
        !          2493:        (CPLUS_TREE_H): Change header names.
        !          2494:        (INTERNAL_CFLAGS): Set the MERGED flag.
        !          2495: 
        !          2496:        * calls.c (expand_call): Flush junk in assign of CONTEXT.
        !          2497: 
        !          2498:        * expr.c (expand_expr): LOOP_STMT is just an infinite loop.
        !          2499:        Handle EXIT_STMT.
        !          2500:        * tree.def (EXIT_STMT): Change meaning: exit if expression is true.
        !          2501:        * stmt.c (warn_if_unused_value): Do nothing for EXIT_STMT.
        !          2502: 
        !          2503: Thu Feb  1 14:10:57 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2504: 
        !          2505:        * optabs.c (emit_no_conflict_block): Accept optional expression
        !          2506:        to be placed in REG_EQUAL note on last insn emitted.
        !          2507:        Just emit insns if TARGET is not a register.
        !          2508:        (expand_binop, expand_unop): Change calls.
        !          2509: 
        !          2510: Thu Feb  1 01:03:17 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2511: 
        !          2512:        * tree.def (NON_LVALUE_EXPR): New tree code.
        !          2513:        * fold-const.c (non_lvalue): No longer static.
        !          2514:        Make NON_LVALUE_EXPR.  Do nothing if arg certainly not lvalue.
        !          2515:        * c-typeck.c (build_c_cast): Call non_lvalue.
        !          2516:        (default_conversion, build_function_call, actualparameterlist):
        !          2517:        (build_binary_op_nodefault, truthvalue_conversion, build_modify_expr):
        !          2518:        (convert_for_assignment, digest_init): Strip NON_LVALUE_EXPR from args.
        !          2519:        (build_unary_op, build_modify_expr): No longer need to check for
        !          2520:        NOP_EXPR that indicates not an lvalue.
        !          2521:        (build_compound_expr, build_c_cast): Don't strip NON_LVALUE_EXPR
        !          2522:        * expr.c (expand_expr, do_jump): Handle NON_LVALUE_EXPR.
        !          2523:        * c-decl.c (build_enumerator, grokdeclarator): Strip them.
        !          2524:        * c-parse.y (case label): Strip them.
        !          2525: 
        !          2526:        * limits.h (INT_MIN): Define so it has type `int', not unsigned.
        !          2527:        (CHAR_MIN, SCHAR_MIN, SHRT_MIN): Put arens around value.
        !          2528: 
        !          2529:        * reload1.c (inc_for_reload): Forget reg_last_reload_reg
        !          2530:        for the reg being inc'd.
        !          2531: 
        !          2532: Wed Jan 31 17:37:53 1990  Michael Tiemann  (rms at sugar-bombs.ai.mit.edu)
        !          2533: 
        !          2534:        * cplus-*: New files.
        !          2535: 
        !          2536:        * tree.def (TARGET_EXPR): New name for NEW_EXPR.
        !          2537:        * tree.c (simple_cst_equal): Change NEW_EXPR to TARGET_EXPR.
        !          2538: 
        !          2539:        * stmt.c (estimate_case_costs): Check all nodes against ASCII range.
        !          2540: 
        !          2541:        * stmt.c (warn_if_unused_value): Delete obsolete node types.
        !          2542: 
        !          2543:        * recog.c (validate_change): Fix one-off bug testing recog_memoized.
        !          2544: 
        !          2545:        * local-alloc.c (local_alloc): Initialize qty_phys_reg.
        !          2546: 
        !          2547:        * fold-const.c (non_lvalue): Propagate TREE_LITERAL, TREE_VOLATILE.
        !          2548: 
        !          2549:        * expr.c (expand_expr): Delete DELETE_EXPR.
        !          2550:        Call lang_expand_expr for any unknown tree code.
        !          2551:        Handle IF_STMT, LOOP_STMT, LET_STMT for real.
        !          2552: 
        !          2553:        * dbxout.c (dbxout_type): Output args for method type.
        !          2554:        Treat OFFSET_TYPE as int if not using GDB extensions.
        !          2555: 
        !          2556: Wed Jan 31 17:32:35 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2557: 
        !          2558:        * stmt.c (node_has_high_bound, node_has_low_bound):
        !          2559:        Use integer_one_node, not new node.
        !          2560: 
        !          2561:        * expr.c (do_jump): In comparisons against zero, used unsigned, rather
        !          2562:        than signed, extensions, as that is more likely to be the faster one.
        !          2563: 
        !          2564: Wed Jan 31 14:09:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2565: 
        !          2566:        * toplev.c (rest_of_compilation): Ignore TREE_INLINE if not -O.
        !          2567: 
        !          2568:        * out-mips.c (mips_prologue): Handle big stack frames > 2**16.
        !          2569: 
        !          2570:        * tree.h (struct tree_type): Rename `max' field to `maxval'.
        !          2571:        (TYPE_MAX_VALUE, TYPE_OFFSET_BASETYPE, TYPE_METHOD_BASETYPE):
        !          2572:        Use new name.
        !          2573: 
        !          2574:        * reload1.c (reload): Reject fixed regs when spilling large groups.
        !          2575: 
        !          2576:        * c-decl.c (start_function):
        !          2577:        Optionally warn if non-proto defn without previous prototype.
        !          2578: 
        !          2579:        * Makefile.in: New rule to make .../include subdir.
        !          2580:        New rule to run fixincludes into it.
        !          2581:        Rule `install' depends on them.
        !          2582: 
        !          2583:        * assert.h (assert) [no NDEBUG]: Split into versions with/out __STDC__
        !          2584:        (_assert) [__STDC__]: Pass expression and file separately to _eprintf.
        !          2585:        (_assert) [not __STDC__]: Likewise, but implemented differently.
        !          2586:        * gnulib2.c (__eprintf): Handle 3 args plus format string.
        !          2587: 
        !          2588:        * tm-i386.h (STACK_BOUNDARY): Define it.
        !          2589: 
        !          2590: Tue Jan 30 16:24:14 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2591: 
        !          2592:        * Makefile.in (install): Fix typo in name of varargs file.
        !          2593: 
        !          2594:        * combine.c (try_combine): Don't allow combine to violate machine's
        !          2595:        alignment restriction.
        !          2596: 
        !          2597: Sun Jan 28 03:53:28 1990  Michael Tiemann  (tiemann at rio)
        !          2598: 
        !          2599:        * stmt.c (warn_if_unused_value): Don't warn for LOOP_STMT, IF_STMT,
        !          2600:        or LET_STMT.
        !          2601: 
        !          2602:        * toplev.c (compile_file): Code to mention symbol that was not
        !          2603:        written to asm file is now #if 0'd out.  What good is it telling the
        !          2604:        debugger about a symbol it cannot see?
        !          2605: 
        !          2606:        * dbxout.c (dbxout_type): Change METHOD_TYPE print character from
        !          2607:        '@' to '#'.  Also, don't try to output CONST_DECLs.  GDB doesn't
        !          2608:        understand them, and they don't have DECL_OFFSETs.
        !          2609: 
        !          2610:        * sparc.md (floatsidf2): Changed constraint from "rfm" to "rm" for
        !          2611:        second operand.
        !          2612: 
        !          2613:        * toplev.c (lang_expand_expr): New variable is pointer-to-function
        !          2614:        which expands language-specific tree codes.  Its default is
        !          2615:        `fancy_abort'.
        !          2616: 
        !          2617: Sat Jan 27 10:18:44 1990  Michael Tiemann  (tiemann at rio)
        !          2618: 
        !          2619:        * gcc.c (main): Initialize COMPILERS before calling
        !          2620:        `validate_all_switches'.
        !          2621: 
        !          2622:        * tree.c (decl_{type,function}_context): Handle LET_STMT.
        !          2623: 
        !          2624:        * stmt.c (expand_decl_cleanup): New function.
        !          2625: 
        !          2626:        * stmt.c (expand_decl): No longer takes CLEANUP parameter.
        !          2627:        All callers changed.
        !          2628: 
        !          2629:        * tree.c (build_{loop,if,goto,compound}, etc): Turn these tree
        !          2630:        constructors back on.
        !          2631: 
        !          2632:        * tree.def: Delete DELETE_EXPR, PUSH_EXPR, POP_EXPR.
        !          2633: 
        !          2634:        * c-typeck.c (max): New macro.
        !          2635: 
        !          2636:        * c-decl.c (maybe_build_cleanup): New function.
        !          2637: 
        !          2638:        * tree.c ({value,purpose}_member): New functions.  Returns first
        !          2639:        element of LIST that matches respective components with ELEM.
        !          2640: 
        !          2641:        * varasm.c (first_global_object_name): Variable defined.
        !          2642: 
        !          2643: Sat Jan 27 23:31:02 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2644: 
        !          2645:        * reload1.c (reload): Reject fixed regs when completing group of 2.
        !          2646: 
        !          2647: Fri Jan 26 17:28:33 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2648: 
        !          2649:        * expr.c (do_jump): Don't use CONST0_RTX when value to be tested is
        !          2650:        CONST_INT.
        !          2651: 
        !          2652: Fri Jan 26 13:39:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2653: 
        !          2654:        * gcc.c (main): Warn about bad switches at beginning, not at end.
        !          2655: 
        !          2656: Thu Jan 25 22:03:37 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2657: 
        !          2658:        * loop.c (general_induction_var): Reject widening multiply.
        !          2659: 
        !          2660:        * cccp.c (grow_outbuf): Always return 0.
        !          2661: 
        !          2662: Thu Jan 25 07:04:31 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2663: 
        !          2664:        * combine.c (subst): Correctly reference length in
        !          2665:        (zero_extract (zero_extend ... )) combinations.
        !          2666: 
        !          2667:        * c-decl.c: Define warn_traditional.
        !          2668:        (build_enumerator): Remove NOP_EXPRs from default value also.
        !          2669: 
        !          2670:        * fold-const.c (fold): Strip NOP_EXPRs when looking for constants.
        !          2671: 
        !          2672: Thu Jan 25 01:57:34 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2673: 
        !          2674:        * Makefile.in (install): Clear execute bit for nonexecutable files.
        !          2675: 
        !          2676:        * i860.md (andsi3): Truncate xop2 constant to 16 bits.
        !          2677: 
        !          2678: Wed Jan 24 22:32:47 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2679: 
        !          2680:        * genemit.c (main): Include output.h in insn-emit.c.
        !          2681:        * genpeep.c (main): Similar.
        !          2682:        * genrecog.c (main): Ditto.
        !          2683:        * Makefile.in (insn-emit.h, insn-peep.h, insn-recog.h): Add dependancy.
        !          2684: 
        !          2685: Wed Jan 24 20:13:08 1990  Richard Stallman  (rms at albert.ai.mit.edu)
        !          2686: 
        !          2687:        * cccp.c (do_define): Report error for duplicate macro args.
        !          2688: 
        !          2689: Mon Jan 22 07:52:28 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2690: 
        !          2691:        * reload1.c (alter_reg): Rework change of January 7th to allow
        !          2692:        for no previous insn and clear equivalence information of correct
        !          2693:        pseudo.
        !          2694: 
        !          2695: Mon Jan 22 01:22:00 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2696: 
        !          2697:        * fold-const.c (fold): Don't simplify non-lvalue to an lvalue.
        !          2698:        (non_lvalue): New fn; makes a NOP_EXPR with readonly flag.
        !          2699:        * c-typeck.c (build_unary_op, build_modify_expr): Reject such.
        !          2700: 
        !          2701: Sun Jan 21 20:53:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2702: 
        !          2703:        * c-typeck.c (lvalue_p): Don't call language_lvalue_valid.
        !          2704:        Don't bother with looking for NEW_EXPR or REFERENCE_TYPE.
        !          2705:        (language_lvalue_valid): Deleted.
        !          2706: 
        !          2707: Sat Jan 20 19:50:15 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
        !          2708: 
        !          2709:        * expr.c (expand_expr): Implemented language-independent expansion
        !          2710:        for NEW_EXPR.
        !          2711: 
        !          2712: Thu Jan 18 14:29:10 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2713: 
        !          2714:        * cccp.c (rescan): Set beg_of_line when string ends at newline.
        !          2715:        (skip_quoted_string): Don't swallow newline that ends a string.
        !          2716:        (handle_directive): No need to back up here.
        !          2717:        Pass LIMIT as second arg to skip_quoted_string.
        !          2718: 
        !          2719: Thu Jan 18 12:50:09 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2720: 
        !          2721:        * emit-rtl.c (gen_lowpart): Verify CONST_DOUBLE is integer mode.
        !          2722:        (gen_highpart): Add support for CONST_INT and CONST_DOUBLE.
        !          2723: 
        !          2724:        * recog.c (general_operand): Don't allow nested SUBREGs.
        !          2725:        (nonmemory_operand, memory_operand, register_operand): Ditto.
        !          2726: 
        !          2727:        * emit-rtl.c (gen_reg_rtx): Don't allow creation of pseudos
        !          2728:        during or after reload.
        !          2729: 
        !          2730: Thu Jan 18 11:41:14 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2731: 
        !          2732:        * c-typeck.c (actualparameterlist): -Wconversion warns if
        !          2733:        representation or width is changed.
        !          2734: 
        !          2735: Thu Jan 18 01:09:47 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
        !          2736: 
        !          2737:        * dbxout.c (various places): Don't assume that DECL_NAME of a
        !          2738:        PARM_DECL is non-zero.  It might be empty for anonymous parms.
        !          2739: 
        !          2740: Thu Jan 18 00:06:58 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2741: 
        !          2742:        * local-alloc.c (local_alloc): qty_phys_sugg is now an array of
        !          2743:        HARD_REG_SETs.  Initialize new variable qty_phys_has_sugg.
        !          2744:        (block_alloc): Don't test for nonlocal gotos here.
        !          2745:        Test qty_phys_has_sugg instead of qty_phys_sugg to see if
        !          2746:        quantity needs early allocation.
        !          2747:        (qty_compare, qty_compare_1): No longer consider whether a quantity
        !          2748:        has a hard register suggestion as part of its priority.
        !          2749:        (combine_regs): We now record multiple hard register suggestions
        !          2750:        in qty_phys_sugg.
        !          2751:        (find_free_reg): Test here for nonlocal gotos.
        !          2752:        Support new meaning of qty_phys_sugg by restricting to those
        !          2753:        registers if just_try_suggested.
        !          2754:        Check for no registers available prior to looping over registers.
        !          2755: 
        !          2756:        * global-alloc.c (prune_preferences): New fn.
        !          2757:        (global_alloc): No longer keep a single vector of which registers
        !          2758:        someone prefers; instead keep this record one per allocation number.
        !          2759:        Record registers not saved over calls as already used for register
        !          2760:        allocation purposes, so we can feel free to allocate them with no
        !          2761:        cost.
        !          2762:        Call new fn to prune preferences and build list of registers
        !          2763:        preferred by earlier allocnos.
        !          2764:        find_reg no longer gets preference information as argument.
        !          2765:        (find_reg): Don't take preferred registers as argument; get the
        !          2766:        info from global variables.
        !          2767:        (set_preference): Remove regs_someone_prefers.
        !          2768:        (dump_conflicts): Print register preferences in dump file.
        !          2769:        
        !          2770: Wed Jan 17 16:00:59 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
        !          2771: 
        !          2772:        * tree.c (decl_function_context): New function, returns the
        !          2773:        innermost DECL_CONTEXT of FNDECL when that context is a
        !          2774:        FUNCTION_DECL.
        !          2775:        * tree.c (decl_type_context): New function, returns the
        !          2776:        innermost DECL_CONTEXT of FNDECL when that context is a
        !          2777:        TYPE_DECL.
        !          2778:        * All callers changed to use `decl_function_context' when handling
        !          2779:        nested functions.
        !          2780:        * All C++ callers changed to use `decl_type_context' when handling
        !          2781:        member functions.
        !          2782: 
        !          2783:        * expr.c (fixed_type_p): New function says whether the compiler
        !          2784:        guarantees that it knows the true type of an object.
        !          2785:        * expr.c (expand_expr): Call that function for INIT_EXPR and
        !          2786:        MODIFY_EXPR.  Also, for MODIFY_EXPR, check both RHS and LHS.
        !          2787: 
        !          2788:        * tree.h (DECL_ARG_TYPE): Use INITIAL, not ARGUMENTS slot in
        !          2789:        `tree_decl.  Now reserving ARGUMENTS slot for VAR_DECL and
        !          2790:         PARM_DECL for language-specific features.
        !          2791: 
        !          2792:        * tree.c (build_decl): Don't set DECL_PRINT_NAME by default.
        !          2793: 
        !          2794:        * assert.h: Assume that undefined __GNUC__ implies `assert' must
        !          2795:        rely on printf.
        !          2796: 
        !          2797: Wed Jan 17 15:31:40 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2798: 
        !          2799:        * cccp.c (rescan): If traditional, end preproc number after expt sign.
        !          2800: 
        !          2801: Wed Jan 17 15:18:25 1990  Michael Tiemann  (mtiemann at apple-gunkies.ai.mit.edu)
        !          2802: 
        !          2803:        * stmt.c: Extended struct nesting to hold exception handling
        !          2804:        contours.  New functions:
        !          2805: 
        !          2806:           expand_start_try, expand_end_try, in_try_block
        !          2807:           expand_start_except, expand_end_except, in_except_block
        !          2808:           expand_start_catch, expand_end_catch, expand_catch_default
        !          2809:           expand_raise, expand_escape_except, in_exception_handler
        !          2810: 
        !          2811: Wed Jan 17 13:48:01 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2812: 
        !          2813:        * cccp.c (main): Typo, had `includes' for `include'.
        !          2814:        Always increment p.
        !          2815: 
        !          2816:        * reload1.c (alter_reg): Delete spurious `break'.
        !          2817: 
        !          2818:        * local-alloc.c (block_alloc): Delete ref to undef var first_time.
        !          2819: 
        !          2820: Wed Jan 17 13:35:47 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2821: 
        !          2822:        * toplev.c: Unmerge all changes of Bryan Boreham--no papers (yet).
        !          2823: 
        !          2824: Wed Jan 17 12:33:52 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2825: 
        !          2826:        * stor-layout.c (layout_type): Struct requires BLKmode if any field
        !          2827:        crosses a word boundary.
        !          2828: 
        !          2829: Wed Jan 17 12:04:18 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2830: 
        !          2831:        * stor-layout.c (layout_type): Unterminate comment terminated.
        !          2832: 
        !          2833:        * tree.c (lvalue_p,lvalue_or_else): Remove these functions from this
        !          2834:        file.
        !          2835:        * c-typeck.c (lvalue_p,lvalue_or_else): Put them in this file.
        !          2836: 
        !          2837: Wed Jan 17 00:46:24 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2838: 
        !          2839:        * c-decl.c (pushdecl): Delete garbage accidentally added before.
        !          2840: 
        !          2841:        * tree.c (set_identifier_size): SIZE is size in bytes.
        !          2842:        * tree.c (get_identifier): If `set_identifier_size' has not been
        !          2843:        called, abort.
        !          2844:        * c-decl.c (init_decl_processing): Don't call `set_identifier_size'
        !          2845:        from here.
        !          2846:        * c-parse.y (init_lex): Call `set_identifier_size' from here.
        !          2847: 
        !          2848:        * varasm.c (force_const_mem): Save DESC's label on the
        !          2849:        saveable_obstack.  (Note, saveable is misspelled.)
        !          2850: 
        !          2851:        * listing: New file.
        !          2852: 
        !          2853: Tue Jan 16 20:43:55 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2854: 
        !          2855:        * c-typeck.c (convert_sequence): Put in #if 0.
        !          2856: 
        !          2857: Tue Jan 16 17:25:43 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2858: 
        !          2859:        * toplev.c: Merged Bryan Boreham's undumping code.
        !          2860: 
        !          2861:        * print-tree.c (dump): Handle TREE_VEC.
        !          2862: 
        !          2863:        * varasm.c (output_constant_pool):  When done, set FIRST_POOL,
        !          2864:        LAST_POOL to zero.
        !          2865: 
        !          2866:        * varasm.c (first_global_object_name): New variable.  Records the
        !          2867:        name of the first global declaration (variable or function) whichi
        !          2868:        is written to the assembly file.
        !          2869: 
        !          2870:        * tree.h (tree_code_name): Add declaration.
        !          2871: 
        !          2872: Tue Jan 16 17:06:29 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2873: 
        !          2874:        * local-alloc.c (block_alloc): Make an initial pass to try to
        !          2875:        allocate registers that have suggested hard registers.
        !          2876:        (find_free_reg): Add new argument to only try suggested hard register.
        !          2877: 
        !          2878: Tue Jan 16 15:54:06 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2879: 
        !          2880:        * tree.h (tree_vec): Added.
        !          2881: 
        !          2882:        * tree.def (IDENTIFIER_NODE): Default length is 2.
        !          2883:        * tree.def (TREE_VEC): Define it.
        !          2884:        * tree.def ({NEW_,DELETE_,REFERENCE_}EXPR): fixed comments.
        !          2885: 
        !          2886:        * tree.c (preserve_initializer): New function.  Like
        !          2887:        `preserve_data', but saves nodes on momentary_obstack as well.
        !          2888:        * tree.c (make_tree_vec): New function.  Allocates a TREE_VEC node.
        !          2889:        * tree.c (copy_node): Support added for TREE_VEC.
        !          2890:        * tree.c (build_parse_node): New function.  Builds tree node on
        !          2891:        TEMP_DECL_OBSTACK.
        !          2892:        
        !          2893: Tue Jan 16 15:23:16 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2894: 
        !          2895:        * expr.h: Eliminate definitions of andcb_optab and expand_bit_and.
        !          2896:        * expmed.c (expand_bit_and): Eliminate function.
        !          2897:        (store_fixed_bit_field, extract_fixed_bit_field, expand_divmod):
        !          2898:        Replace expand_bit_and with call to expand_binop.
        !          2899:        * expr.c (expand_expr): Handle TRUTH_AND_EXPR and BIT_AND_EXPR
        !          2900:        as normal binary operations.
        !          2901:        (do_store_flag): Replace expand_bit_and with expand_binop.
        !          2902:        * optabs.c (expand_binop, init_optabs): Eliminate andcb_optab.
        !          2903: 
        !          2904:        * expmed.c (expand_shift): Don't use extzv for rotate.
        !          2905:        If all three tries at a shift operation failed, delete the
        !          2906:        insns made during the last try.
        !          2907:        Handle failure of extzv operation.
        !          2908:        Call protect_from_queue before convert_to_mode for op1.
        !          2909: 
        !          2910: Tue Jan 16 10:38:28 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2911: 
        !          2912:        * tree.c: Added temp_decl_obstack for building declarators without
        !          2913:        needing to use permanent_obstack at top level.
        !          2914:        * tree.c (init_tree): Init temp_decl_obstack.
        !          2915:        * tree.c (permanent_allocation): Free nodes allocated on
        !          2916:        temp_decl_obstack.
        !          2917:        * tree.c (build_decl_list,decl_tree_cons): New functions.  Like
        !          2918:        `build_tree_list' and `tree_cons', but for building on
        !          2919:        temp_decl_obstack.
        !          2920:        * tree.c (build1): New function.  Builds tree node for unary tree
        !          2921:        node kinds; doesn't use varargs.
        !          2922:        * tree.c (simple_cst_equal): Interface changed to return 1 if
        !          2923:        arguments are equal, 0 if not, and -1 if arguments were not
        !          2924:        understood by the function.
        !          2925:        * tree.c (build_{method,offset}_type): TYPE_*_BASETYPE is the
        !          2926:        TYPE_MAIN_VARIANT of BASETYPE.
        !          2927: 
        !          2928: Mon Jan 15 01:50:51 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2929: 
        !          2930:        * cexp.y (exp): Accept unary +.
        !          2931: 
        !          2932:        * Makefile.in (hard-params): Compile with GCC.
        !          2933:        (hard-params.o): Likewise, and depend on the GCC executables.
        !          2934: 
        !          2935:        * tm-sparc.h (CONST_COSTS): Give 1, not 0, for immed consts.
        !          2936: 
        !          2937: Sun Jan 14 14:38:10 1990  Michael Tiemann  (tiemann at apple-gunkies.ai.mit.edu)
        !          2938: 
        !          2939:        * stmt.c (estimate_case_costs): New function.  Case code no longer
        !          2940:        assumes that all case values are equally likely for all types.  In
        !          2941:        particular, when the type of argument for the switch statement does
        !          2942:        not look like it is not ASCII text, we assume that it might be, and
        !          2943:        assign a weight to its value based on frequency distribution of
        !          2944:        characters in ASCII text.
        !          2945:        * stmt.c (balanace_case_nodes): If case values look like ASCII text,
        !          2946:        then use the cost table.  Otherwise, do not.  Using the cost table
        !          2947:        means that the otherwise almost-balanced binary tree may be skewed
        !          2948:        in hopes of picking up common values more quickly than just
        !          2949:        log(n).  This is done at the direct expense of the less common
        !          2950:        values, which will be reached at more than log(n).
        !          2951:        * stmt.c (emit_case_nodes): If using COST_TABLE and the most likely
        !          2952:        case value is on one side of the tree or another, hand-pick boundary
        !          2953:        tests so that condition codes can be reused (if possible).
        !          2954:        * stmt.c (expand_end_cast): If optimizing, and the type of
        !          2955:        ORIG_INDEX is not an enumeral type, then call `estimate_case_costs.'
        !          2956: 
        !          2957: Sun Jan 14 12:18:49 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2958: 
        !          2959:        * fold-const.c (lshift_double, rshift_double, lrotate_double):
        !          2960:        (rrotate_double): Don't shift more than width of operand.
        !          2961: 
        !          2962: Fri Jan 12 12:17:06 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2963: 
        !          2964:        * recog.c (next_insns_test_no_inequality): Return 1 at end of rtl.
        !          2965: 
        !          2966:        * expr.c (store_expr): No special handling for constructor
        !          2967:        unless value is going in struct value block.
        !          2968: 
        !          2969:        * stor-layout.c (layout_type): Use common nodes for sizes of ptrs, fns.
        !          2970:        (make_signed_type, make_unsigned_type): Create those nodes.
        !          2971:        (layout_record): Just ignore VAR_DECL if not static.
        !          2972: 
        !          2973: Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2974: 
        !          2975:        * c-decl.c (lang_decode_option): Decode -Wtraditional.
        !          2976:        * c-decl.c (implicitly_declare): Warn if extern decl previously seen.
        !          2977:        * c-typeck.c (c_expand_start_case): Warn if switch exp is long.
        !          2978: 
        !          2979:        * c-typeck.c (actualparameterlist): Optionally warn on truncation.
        !          2980:        * toplev.c (main): Handle -Wconversion.
        !          2981: 
        !          2982:        * cccp.c (skip_if_group): Skip strings even if -traditional.
        !          2983:        (handle_directive): Likewise, when handling copy_command.
        !          2984: 
        !          2985: Thu Jan 11 14:15:50 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2986: 
        !          2987:        * cse.c (cse_insn): Only check for REG_EQUAL notes and make
        !          2988:        REG_EQUAL notes instead of REG_EQUIV notes.
        !          2989:        * explow.c (force_reg): Make REG_EQUAL note instead of REG_EQUIV
        !          2990:        note.  Check for and reuse old note if present.
        !          2991:        * local-alloc.c (block_alloc): Convert REG_EQUAL to REG_EQUIV for
        !          2992:        constant when register is only set once.
        !          2993:        * loop.c (combine_movables, move_movables): Check for REG_EQUAL notes
        !          2994:        instead of REG_EQUIV notes.
        !          2995:        * optabs.c (expand_binop): Correct typo in writing REG_EQUAL note.
        !          2996:        (emit_no_conflict_block): Suppress REG_NO_CONFLICT notes for
        !          2997:        non-registers.
        !          2998: 
        !          2999: Thu Jan 11 14:09:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3000: 
        !          3001:        * i860.md (movsf): Ensure F to f is reloaded via r.
        !          3002: 
        !          3003:        * expr.c (expand_increment): Don't call stabilize.
        !          3004: 
        !          3005: Wed Jan 10 15:03:08 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3006: 
        !          3007:        * c-decl.c (duplicate_decls): If old fn decl follows new ellipsis decl,
        !          3008:        warn only if pedantic.
        !          3009: 
        !          3010:        * loop.c (loop_skip_over): Do nothing if don't find expected compare.
        !          3011: 
        !          3012: Tue Jan  9 21:31:46 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3013: 
        !          3014:        * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
        !          3015:        The later call to find_equiv_reg can malfunction if CLOBBERs are
        !          3016:        deleted.
        !          3017: 
        !          3018: Mon Jan  8 17:48:20 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3019: 
        !          3020:        * gcc.c (link_command_spec): Always check gnulib both first and last.
        !          3021: 
        !          3022: Mon Jan  8 17:07:25 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3023: 
        !          3024:        * optabs.c (expand_unop): Perform multi-word logical negation one
        !          3025:        word at a time.
        !          3026:        (expand_binop, expand_unop): Insert REG_EQUAL note on last insn of
        !          3027:        multi-insn sequence.
        !          3028:        Use TARGET_PIECE instead of TARGET in multi-word logical operations.
        !          3029:        (emit_no_conflict_block): New fn.
        !          3030:        (expand_binop, expand_unop): Call it.
        !          3031:        (gen_add2_insn, gen_sub2_insn): Abort if operands do not match those
        !          3032:        of the predicates for the appropriate generators.
        !          3033: 
        !          3034:        * expr.h: Fix typo and define emit_no_conflict_block.
        !          3035: 
        !          3036: Mon Jan  8 15:33:19 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3037: 
        !          3038:        * rtl.h (REG_UNSET): Fix the code.
        !          3039:        * rtl.c (reg_note_name): Add REG_UNSET.
        !          3040: 
        !          3041:        * c-decl.c (struct binding_level): parm_flag now 2 for def, 1 for decl.
        !          3042:        (declare_parm_level): New parm distinguishes them.  All calls changed.
        !          3043:        (pushdecl): Don't warn about shadowing with parm name in fn decl.
        !          3044: 
        !          3045: Mon Jan  8 15:15:07 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3046: 
        !          3047:        * cse.c (cse_basic_block): Allow NOTEs between LOOP_BEG and jump to
        !          3048:        end test.
        !          3049:        (predecide_loop_entry): Accept JUMP_INSN rather than LOOP_BEG NOTE.
        !          3050: 
        !          3051:        * reload1.c (gen_input_reload): When adding constant to register,
        !          3052:        move the constant into the output, then add the register, rather than
        !          3053:        the other way around.
        !          3054: 
        !          3055: Mon Jan  8 12:20:26 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3056: 
        !          3057:        * c-parse.y (components): Don't allow to be empty.
        !          3058:        (component_decl): Special cases if empty, to call shadow_tag.
        !          3059:        Recognize the semicolon here.
        !          3060:        (component_decl_list): No semicolon here.
        !          3061: 
        !          3062:        * c-decl.c (shadow_tag): Print warning if nameless structure defined.
        !          3063: 
        !          3064: Sun Jan  7 19:09:33 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3065: 
        !          3066:        * varasm.c (output_constant): Use size of machine mode
        !          3067:        to choose how to output the constant.
        !          3068: 
        !          3069:        * varasm.c (immed_real_const_1): Detect 1 as well as 0.
        !          3070: 
        !          3071:        * reload1.c (reload): When deleting reg_equiv_init insn,
        !          3072:        also delete the prev insn if it is no longer needed.
        !          3073: 
        !          3074:        * real.h (REAL_VALUE_FROM_CONST_DOUBLE, CONST_DOUBLE_FROM_REAL_VALUE):
        !          3075:        New macros.
        !          3076: 
        !          3077:        * reload.c (find_reloads_address_1): Preserve original X value
        !          3078:        in case we replace it with new memory reference.
        !          3079: 
        !          3080:        * optabs.c (expand_binop): Handle case of no previous insns.
        !          3081: 
        !          3082:        * jump.c (jump_back_p): Check for floating point if not IEEE.
        !          3083: 
        !          3084:        * global-alloc.c (dump_global_regs): Break the line occasionally.
        !          3085: 
        !          3086:        * flow.c (mark_used_regs): Recognize post-decrement properly.
        !          3087:        It looks like (plus REG -CONST), not (minus REG CONST).
        !          3088:        Also, patch out old insn as a note in the usual way.
        !          3089: 
        !          3090:        * calls.c (emit_call_1): Arg to RETURN_POPS_ARGS is FUNTYPE itself.
        !          3091: 
        !          3092:        * expr.c (STACK_PUSH_CODE): New macro, which config.h can override.
        !          3093:        (gen_push_operand): Use it.
        !          3094:        (emit_push_insn): Reverse padding if pushing is post-increment.
        !          3095:        (expand_expr): For MINUS, sign-extend negated value.
        !          3096: 
        !          3097:        * emit-rtl.c (init_emit_once): Initialize new variables
        !          3098:        fconst1_rtx, dconst1_rtx, dconst0, dconst1, dconstm1.
        !          3099: 
        !          3100:        * cse.c (fold_rtx): For COMPARE and MINUS, test for floating zero arg.
        !          3101:        Also handle equal floating args if FLOAT_NOT_IEEE.
        !          3102:        For NEG, eliminate silly temp var.
        !          3103:        For MULT and DIV, handle more cases with floating point.
        !          3104:        Change division by floating constant into multiplication.
        !          3105: 
        !          3106:        * config.gcc: Add i386-mach.
        !          3107:        * xm-i386.h: Use built-in alloca if compiling with GCC.
        !          3108: 
        !          3109:        * Makefile.in (c-parse.tab.o): Delete -o switch.
        !          3110:        (cexp.o): Put in explicit command.
        !          3111: 
        !          3112:        * combine.c (record_dead_and_set_regs): Ignore stack pushes.
        !          3113: 
        !          3114: Sat Jan  6 15:33:32 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3115: 
        !          3116:        * out-mips.c (function_arg, function_arg_advance):
        !          3117:        Define typedef for CUMULATIVE_ARGS, and use it here.
        !          3118: 
        !          3119:        * c-parse.y (yylex): Put 0 at end of wide string.
        !          3120: 
        !          3121:        * tm-mips.h (CC1_SPEC): Don't distort meaning of -O.
        !          3122: 
        !          3123: Fri Jan  5 12:12:31 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3124: 
        !          3125:        * optabs.c, expr.h: All use of umul_optab deleted.
        !          3126:        * gnulib.c (__umulsi3): Deleted.
        !          3127: 
        !          3128:        * gcc.c (link_command_spec): If LIBS_COMPILED_WITH_GCC, gnulib is last.
        !          3129: 
        !          3130:        * Makefile.in (INTERNAL_CFLAGS): New parameter.
        !          3131:        (ALL_CFLAGS): New variable, replaces CFLAGS when compiling.
        !          3132:        (HOST_CFLAGS): Define from ALL_CFLAGS.
        !          3133: 
        !          3134:        * Makefile.in (insn-*.o, cccp.o, others): Use CPPFLAGS.
        !          3135: 
        !          3136:        * Makefile.in (gnulib): Add null command.
        !          3137: 
        !          3138: Fri Jan  5 08:11:20 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3139: 
        !          3140:        * combine.c (subst): When applying De`Morgan's law, compute NOT
        !          3141:        of constant.
        !          3142: 
        !          3143:        * integrate.c (save_constants, restore_constants): Clean up fns
        !          3144:        by passing in a pointer to an rtx so that insns can be modified
        !          3145:        in place.
        !          3146:        (save_for_inline): Change call to save_constants.
        !          3147:        Apply save_constants to REG_NOTES.
        !          3148:        (expand_inline_function): Use emit_move_insn instead of generating
        !          3149:        an explicit SET.
        !          3150:        Apply copy_rtx_and_substitute to REG_NOTES.
        !          3151:        (output_inline_function): Change call to restore_constants.
        !          3152:        Apply restore_constants to REG_NOTES.
        !          3153: 
        !          3154: Thu Jan  4 23:58:59 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3155: 
        !          3156:        * Makefile (c-parse.tab.o): Add explicit compilation cmd.
        !          3157: 
        !          3158: Thu Jan  4 22:48:01 1990  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3159: 
        !          3160:        * cse.c (insert_regs, insert, use_related_value): Don't assume REG is
        !          3161:        first in class.
        !          3162:        (HASH): Handle register with HASHREG macro for speed.
        !          3163:        (insert): No longer need equivalence_only.
        !          3164:        Use COST macro.
        !          3165:        (use_related_value): No longer need to check for valid address.
        !          3166:        (find_best_addr): New function.
        !          3167:        (fold_rtx): Remove copyflag argument and replace with insn.
        !          3168:        Check for common cases before making recursive call.
        !          3169:        Call validate_change to ensure change is valid, but always return
        !          3170:        simplified expression.
        !          3171:        Replace operand with folded operand, or constant operand, whichever
        !          3172:        is cheaper and is valid.
        !          3173:        Call find_best_addr for MEMs.
        !          3174:        (fold_cc0): Add insn operand to pass to calls to fold_rtx.
        !          3175:        (cse_insn): Rework to enumerate all possible equivalences and replace
        !          3176:        source with cheapest valid.
        !          3177:        Simplify associative operations with constants where an operand is
        !          3178:        equivalent to the same operation with another constant.
        !          3179:        Use validate_change for all changes.
        !          3180: 
        !          3181: Thu Jan  4 17:58:28 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3182: 
        !          3183:        * stmt.c (expand_end_loop): Put NOTE_INSN_LOOP_CONT at top by default.
        !          3184: 
        !          3185:        * c-typeck.c (actualparameterlist):
        !          3186:        Convert parmnum to origin-1 to print.
        !          3187: 
        !          3188:        * Makefile.in (USER_H): Add float.h.
        !          3189: 
        !          3190: Wed Jan  3 00:27:53 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3191: 
        !          3192:        * gnulib.c (__extendsfdf2): Delete unused var.
        !          3193: 
        !          3194:        * reload1.c (alter_reg): Undo big-endian conversion from
        !          3195:        assign_stack_local.
        !          3196: 
        !          3197:        * calls.c (store_one_arg): Round size up for move_block_to_reg.
        !          3198:        (expand_call): Round up when emitting USE insns.
        !          3199:        * function.c (assign_parms): Round size up for move_block_from_reg.
        !          3200: 
        !          3201:        * Makefile (install): Use nested foreach-loop to expand va*.h.
        !          3202: 
        !          3203: Tue Jan  2 16:01:47 1990  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3204: 
        !          3205:        * mips.md (call_value): Ignore calls to __builtin_saveregs.
        !          3206: 
        !          3207:        * tm-mips.h (STARTING_FRAME_OFFSET): Change from -8 to 0.
        !          3208:        (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Use new fns in out-mips.c.
        !          3209:        * out-mips.c (prologue_looks, mips_prologue, mips_epilogue): New.
        !          3210: 
        !          3211:        * gnulib2.c: Everything except arithmetic support moved from gnulib.c.
        !          3212:        * Makefile.in (LIB2FUNCS, LIBFUNCS): Likewise.
        !          3213: 
        !          3214: Sun Dec 31 20:10:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3215: 
        !          3216:        * tree.h (struct tree_common): Declare `code' as char, not int.
        !          3217: 
        !          3218: Thu Dec 28 13:49:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3219: 
        !          3220:        * Makefile.in (includes): Set variable LIB.  Run from `./'.
        !          3221: 
        !          3222: Wed Dec 27 18:54:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3223: 
        !          3224:        * reload1.c (eliminate_frame_pointer): Special case for reg = reg2+fp.
        !          3225: 
        !          3226:        * loop.c (can_eliminate_biv_p, eliminate_biv): If add_val non zero,
        !          3227:        it must be a constant or register.
        !          3228: 
        !          3229: Wed Dec 27 18:11:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3230: 
        !          3231:        * i860.md (load DF constant to reg): Typo: extra percent sign.
        !          3232:        (floatsidf2): Two words of a double were backwards.
        !          3233: 
        !          3234: Mon Dec 25 16:32:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3235: 
        !          3236:        * emit-rtl.c (emit_note_before): New function.
        !          3237:        * stmt.c (expand_end_loop): Output NOTE_INSN_LOOP_CONT if none.
        !          3238:        ** Above change turned off.
        !          3239: 
        !          3240: Mon Dec 25 00:02:31 1989  Torbj|rn Granlund  (tege at zevs.sics.se)
        !          3241: 
        !          3242:        * tm-pyr.h (CONST_COSTS): Define more optimal costs.
        !          3243: 
        !          3244:        * tm-pyr.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Should not be defined.
        !          3245:          The cvtdw instruction causes a trap for floating point values
        !          3246:          that are out-of-range for a signed int.
        !          3247: 
        !          3248:        * tm-pyr.h (CONST_DOUBLE_OK_FOR_LETTER_P): Don't accept any
        !          3249:          special constraint chars, since we don't use any.
        !          3250: 
        !          3251:        * tm-pyr.h (CONSTANT_ALIGNMENT): Correct comment.
        !          3252: 
        !          3253:        * out-pyr.c (weird_memory_memory): Flush decl of unused variables.
        !          3254: 
        !          3255:        * out-pyr.c (has_direct_base): Don't accept 0 as a base, if there
        !          3256:          is a register displacement.  This is a workaround of a bug in
        !          3257:          /bin/as.  (/bin/as changes things like "cmpw 8(reg),0(reg)" into
        !          3258:          "cmpw 8(reg),(reg)", which is invalid assembler.)
        !          3259: 
        !          3260: Sun Dec 24 12:01:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3261: 
        !          3262:        * c-decl.c (finish_struct): Ok to define nameless union in parms.
        !          3263:        * c-typeck.c (compparms): Allow union vs its member's type,
        !          3264:        but only if same size & union is nameless.
        !          3265:        (comptypes): In that case, for a parm, prefer the member's type.
        !          3266:        (actualparameterlist): Nameless union parm casts all its memb types.
        !          3267: 
        !          3268:        * integrate.c (copy_decl_tree, copy_parm_decls): Set TREE_INLINE.
        !          3269:        * c-decl.c (pushdecl): No shadow-warning if TREE_INLINE is set.
        !          3270: 
        !          3271:        * dbxout.c (current_sym_code): Declare as enum; avoid warnings.
        !          3272: 
        !          3273: Sat Dec 23 10:54:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3274: 
        !          3275:        * combine.c (subst): Under NOT, move it inside AND and IOR.
        !          3276:        Under XOR, move NOT out.
        !          3277: 
        !          3278:        * toplev.c (set_target_switch): Handle multiple entries for one name.
        !          3279: 
        !          3280:        * ns32k.md (adjust stack): Distinguish processor subtype at run-time.
        !          3281:        (extract byte from register): Likewise.
        !          3282:        * tm-ns32k.h (TARGET_32532, TARGET_32332): New target options.
        !          3283:        * tm-encore.h, tm-sequent.h (TARGET_DEFAULT): Default them.
        !          3284: 
        !          3285: Fri Dec 22 20:33:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3286: 
        !          3287:        * Makefile.in (all): Move above where make-MACHINE is inserted.
        !          3288:        (all.internal): Definition of `all' indirects through this.
        !          3289:        (GNULIB): Variable allows rule for gnulib to be redirected.
        !          3290:        (gnulib.portable): Name for the standard rule for gnulib.
        !          3291: 
        !          3292:        * tm-mips.h (ASM_OUTPUT_SOURCE_FILENAME): New macro.
        !          3293:        (REG_CLASS_SUBUNION, REG_CLASS_SUBCLASSES, REG_CLASS_SUPERCLASSES):
        !          3294:        Obsolete macros deleted.
        !          3295: 
        !          3296: Thu Dec 21 16:20:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3297: 
        !          3298:        * fold-const.c (fold): Bug taking assignments out of conversions:
        !          3299:        Use language-independent method.
        !          3300: 
        !          3301:        * reload1.c (alter_reg):
        !          3302:        Always do big-endian correction on slot address.
        !          3303: 
        !          3304:        * i386.md (float push recognizers): Don't pop fpreg if not dead.
        !          3305: 
        !          3306: Wed Dec 20 10:54:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3307: 
        !          3308:        * assert.h: Cast value to void.
        !          3309: 
        !          3310: Tue Dec 19 09:42:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3311: 
        !          3312:        * gcc.c (link_command_spec): Put %l first.
        !          3313: 
        !          3314: Tue Dec 19 08:59:43 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
        !          3315: 
        !          3316:        * genattrtab.c (get_attr_value): Initialize has_asm_insn field when
        !          3317:        making a new attr_value.
        !          3318: 
        !          3319: Sun Dec 17 12:06:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3320: 
        !          3321:        * c-typeck.c (digest_init, process_init_constructor, store_init_value):
        !          3322:        Give error for each invalid element seen in an initializer.
        !          3323:        New arguments say whether context wants error messages.
        !          3324:        * c-parse.y (cast_expr): Pass new args.
        !          3325:        * Unfortunately, this doesn't do the job, since the whole initializer
        !          3326:        is parsed before any is digested.
        !          3327: 
        !          3328:        * c-decl.c (duplicate_decls): Source loc of definition is
        !          3329:        more important than that of declaration.
        !          3330: 
        !          3331:        * cccp.c (include_defaults): On unos, also search /include.
        !          3332: 
        !          3333:        * m68k.md (movsi, movhi, store-0 recognizer): Conditional for CRDS.
        !          3334:        (mulhi3, mulhisi3, umulhi3, umulhisi3): Add % and CRDS conditional.
        !          3335:        (zero-extend recognizers): Put % before period in clr insns.
        !          3336:        (divide and modulus recognizers): Likewise for and, ext, swap and div.
        !          3337:        (dbra recognizers): Likewise for sub and clr insns.
        !          3338:        (tablejump recognizer): Conditional for CRDS.
        !          3339:        * tm-crds.h, xm-crds.h: New files.
        !          3340: 
        !          3341:        * gcc.c (read_specs): Don't include trailing newline in data
        !          3342:        read from specs file.
        !          3343:        (skip_whitespace): Empty line is a delimiter in specs data.
        !          3344: 
        !          3345:        * cccp.c (grow_outbuf): Change value back to int.
        !          3346: 
        !          3347:        * cse.c (cse_end_of_basic_block): Fix unterminated comment.
        !          3348: 
        !          3349:        * cccp.c (main): Add `.C' as known suffix for deps output.
        !          3350: 
        !          3351:        * expr.c (do_jump): Cast vector length to int in case will subtract.
        !          3352: 
        !          3353:        * tm-att386.h (ASM_OUTPUT_LOCAL): Revert last change: put it data seg.
        !          3354: 
        !          3355:        * reload.c (decompose): Make a separate case for SUBREG.
        !          3356: 
        !          3357:        * Makefile.in (HOST_RTLANAL): Define like HOST_RTL.
        !          3358:        (genattrtab): Use that to get at rtlanal.o.
        !          3359:        ($(HOST_PREFIX_1)rtlanal.o): New rule for cross-compilation.
        !          3360:        (STAGESTUFF): Typo in stamp-attrtab.c.
        !          3361: 
        !          3362:        * tm-hp9k320.h (CPP_PREDEFINES): Add __hp9000s300, _HPUX_SOURCE.
        !          3363: 
        !          3364:        * stupid.c (reg_order): Make it int, in case reg # is large.
        !          3365:        (stupid_reg_compare, stupid_life_analysis): Implement this.
        !          3366: 
        !          3367:        * gnulib2.c (__floatdidf): Define WORD_SIZE.
        !          3368: 
        !          3369:        * flow.c (find_basic_blocks): Don't clobber stack if no basic
        !          3370:        blocks.
        !          3371: 
        !          3372: Sat Dec 16 12:38:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3373: 
        !          3374:        * loop.c (can_eliminate_biv_p, eliminate_biv): Check in case
        !          3375:        neither side of a compare is the biv by itself.
        !          3376:        (check_eliminate_biv): Test of only_reg_use_p was backwards.
        !          3377:        (general_induction_var): If V is 0 and G is not,
        !          3378:        combine additive terms with plus_constant, provided
        !          3379:        either one of them is an integer.
        !          3380:        Check both operands of a sum for being givs in their own right.
        !          3381:        (strength_reduce): When eliminating a biv, don't mung insns that use
        !          3382:        it via a giv that will be handled later.
        !          3383:        (loop_skip_over): Duplicate an endtest that takes several insns.
        !          3384: 
        !          3385:        * loop.c (strength_reduce): When writing insn to init a biv, 
        !          3386:        update life range of reg used to init it.
        !          3387: 
        !          3388:        * combine.c (try_combine): Do combine (y = x, x = y).
        !          3389: 
        !          3390:        * loop.c (strength_reduce): When finding initial value of a biv,
        !          3391:        notice assignments to subregs of it, etc.
        !          3392: 
        !          3393:        * m68k.md (all shift patterns): Require register_operand for ops 0, 1.
        !          3394: 
        !          3395:        * reload1.c (alter_reg):
        !          3396:        Don't set spill_stack_slot_width if from_reg is -1.
        !          3397: 
        !          3398:        * cse.c (cse_main): Delete local redef of flag_cse_follow_jumps.
        !          3399: 
        !          3400:        * reload1.c (new_spill_reg): Fatal error if fixed reg is spilled.
        !          3401:        (order_regs_for_reload): Make sure all the regs are in spill_regs.
        !          3402: 
        !          3403:        * mips.md (movsf): Fix wrong opcode moving genreg to fpreg.
        !          3404: 
        !          3405:        * toplev.c: Undef FFS after including param.h.
        !          3406: 
        !          3407:        * final.c (final_scan_insn): Delete label reinsert_compare.
        !          3408: 
        !          3409:        * expmed.c (store_bit_field): Move var value1 inside HAVE_insv.
        !          3410:        (extract_bit_field): Similar for bitsize_rtx, bitpos_rtx.
        !          3411: 
        !          3412:        * c-typeck.c (pointer_diff): Delete unused var.
        !          3413:        * expr.c (emit_push_insn): Likewise.
        !          3414:        * gcc.c (execute): Likewise.
        !          3415:        * genrecog.c (try_merge_2): 
        !          3416:        * loop.c (skip_consec_insns, scan_loop): 
        !          3417:        * recog.c (asm_noperands, memory_operand):
        !          3418:        * function.c (expand_function_end):
        !          3419:        * stmt.c (emit_jump_if_reachable):
        !          3420:        * toplev.c (error_for_asm):
        !          3421:        * varasm.c (assemble_string):
        !          3422: 
        !          3423:        * integrate.c (fp_addr_p): Var deleted.
        !          3424: 
        !          3425:        * regclass.c (regclass_init): Now returns void.
        !          3426:        * emit-rtl.c (emit_insns): Likewise.
        !          3427:        * stmt.c (emit_nop): Likewise.
        !          3428:        * out-sparc.c (output_eager_then_insn): Likewise.
        !          3429: 
        !          3430:        * reload1.c (reload_reg_reaches_end_p, reload_reg_free_before_p):
        !          3431:        (reload_reg_free_p): Abort if switch drops through.
        !          3432: 
        !          3433:        * cccp.c: Supply a return type for every function (usually void).
        !          3434:        (grow_outbuf): Now returns void.
        !          3435:        (line_for_error): Abort if the loop terminates.
        !          3436:        * gcc.c: Supply a return type for every function (usually void).
        !          3437: 
        !          3438:        * jump.c (jump_optimize): Leave block-beg, block-end notes
        !          3439:        in old context when swapping two ranges of insns.
        !          3440:        (squeeze_block_notes): New function.
        !          3441: 
        !          3442:        * calls.c (expand_call): Compute valreg from pointer type
        !          3443:        in case of pcc struct return.
        !          3444: 
        !          3445:        * gnulib2.c (__builtin_saveregs): Use __ names for machine types.
        !          3446: 
        !          3447:        * fold-const.c (fold):
        !          3448:        Move constant out of assignment, within conversion.
        !          3449: 
        !          3450: Fri Dec 15 00:42:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3451: 
        !          3452:        * varasm.c (assemble_variable): Use new macro DATA_ALIGNMENT if def.
        !          3453:        (get_or_assign_label): Use this instead of CONSTANT_ALIGNMENT.
        !          3454: 
        !          3455:        * integrate.c (save_constant, restore_constant): Handle naked
        !          3456:        constant-pool SYMBOL_REF.
        !          3457:        (copy_for_inline, copy_rtx_and_substitute): Ditto.
        !          3458: 
        !          3459:        * integrate.c (expand_inline_function):
        !          3460:        Put caller's line number after inline stuff.
        !          3461:        Put callee's line number before parm manipulation.
        !          3462: 
        !          3463:        * tree.c (make_node): Have a DECL_SOURCE_FILE in every decl.
        !          3464: 
        !          3465:        * m68k.md (fpa float and float-trunc): Accept general_operand.
        !          3466: 
        !          3467:        * calls.c (expand_call): Do INIT_CUMULATIVE_ARGS just once.
        !          3468: 
        !          3469:        * calls.c (expand_call): If struct ret addr is passed as parm,
        !          3470:        count it in structure_value_addr_parm.
        !          3471: 
        !          3472:        * If local-alloc assumes a reg does not conflict,
        !          3473:        don't use it as dummy reload.
        !          3474:        * local-alloc.c (wipe_dead_reg): Add REG_UNSET note.
        !          3475:        * reload.c (find_dummy_reload): Check for that note.
        !          3476: 
        !          3477:        * jump.c (jump_optimize): Realize that more things can follow
        !          3478:        the NOTE_INSN_FUNCTION_END note.  Change in two places,
        !          3479:        for optimized and one for unoptimized.
        !          3480: 
        !          3481: Thu Dec 14 23:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3482: 
        !          3483:        * Makefile.in (install, libsubdir): Change $(machine) to $(target).
        !          3484: 
        !          3485: Tue Dec  5 07:35:57 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3486: 
        !          3487:        * rtl.h: Declare emit_jump_insn_before and emit_jump_insn_after.
        !          3488: 
        !          3489:        * reload.c (reg_class_subset_p): Delete duplicate copy.
        !          3490:        local-alloc.c (reg_class_subset_p): Move from here.
        !          3491:        regclass.c (reg_class_subset_p): Move to here.
        !          3492: 
        !          3493:        * combine.c (try_combine): Fix placement and content of LAST_CALL_CUID
        !          3494:        test to elminate memory faults.
        !          3495: 
        !          3496:        * final.c (asm_insn_count): New fn.
        !          3497:        (get_length_attr, shorten_branches): Rework length
        !          3498:        computation of insns with INSN_CODE == -1.  Call above fn to more
        !          3499:        accurately obtain length of ASM insn.
        !          3500: 
        !          3501:        * genattrtab.c (check_attr_value): Allow CONST_INT to specify
        !          3502:        numeric values for attributes.  Also, prevent memory faults
        !          3503:        on errors when ATTR is null.
        !          3504:        (make_canonical): Convert CONST_INT to appropriate CONST_STRING.
        !          3505:        (write_attr_case): Correctly check for ASM insns.
        !          3506:        (make_numeric_value): Generalize to all positive integers.
        !          3507: 
        !          3508:        * jump.c (jump_optimize): Set JUMP_LABEL on jump added
        !          3509:        in "{ ... x = 1;} if (x)" optimization and add to jump_chain.
        !          3510: 
        !          3511:        * local-alloc.c (no_conflict_p): Tighten up code to prevent
        !          3512:        memory faults.
        !          3513: 
        !          3514:        * reload.c (find_reloads): Fix typo in EXTRA_CONSTRAINT call.
        !          3515: 
        !          3516: Tue Nov 28 11:20:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          3517: 
        !          3518:        * expr.c (save_noncopied_parts):  Rename stack_loc as target.
        !          3519:        Make the stack slot address correct.
        !          3520: 
        !          3521: Mon Nov 27 15:39:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3522: 
        !          3523:        * math-convex.h: New file.
        !          3524: 
        !          3525:        * c-decl.c (grokdeclarator): Don't test size of error_mark_node
        !          3526:        as type of a field.
        !          3527: 
        !          3528: Sun Nov 26 12:36:01 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          3529: 
        !          3530:        * tm-mips.h (CONST_OK_FOR_LETTER_P): Delete extra paren.
        !          3531: 
        !          3532: Fri Nov 24 12:36:29 1989  Chris Smith  (csmith at mozart)
        !          3533: 
        !          3534:        * tm-convex.h (OVERRIDE_OPTIONS): remove target=host default.
        !          3535:        * out-convex.c (override_options): remove.
        !          3536: 
        !          3537:        * tm-convex.h (*_TYPE_SIZE): define type sizes as the usual values. 
        !          3538:        * convex.md (movstrictsi): new, for field insertion in DImode regs.
        !          3539: 
        !          3540:        * tm-convex.h (LEGITIMATE_CONSTANT_P): allow all CONST_DOUBLES.
        !          3541:        (PREFERRED_RELOAD_CLASS): reload nonimmediates from memory (NO_REGS).
        !          3542:        * convex.md (movdi, movdf): use 'G' to handle nonimmediates.
        !          3543:        (anddi3, iordi3, xordi3): allow immediates if high word is identity.
        !          3544: 
        !          3545:        * convex.md (tstdi): Finally figure out how to allocate a temp reg
        !          3546:        in a way that won't get optimized away; remove hardwired use of s1.
        !          3547: 
        !          3548:        * convex.md (cmpqi): don't sign extend to SImode because operands
        !          3549:        might be unsigned.  Must compare bytes in registers instead.
        !          3550: 
        !          3551:        * convex.md (movtf): new.
        !          3552: 
        !          3553:        * convex.md (ash*, lsh*): rewrite to use shift vs. shiftrt. 
        !          3554:        Better code because no need to sign or zero extend when going left.
        !          3555:        (shift, mask & test peephole): test next_insn_tests_no_inequality.
        !          3556:        (similar with lshiftrt): New peephole.
        !          3557: 
        !          3558:        * tm-convex.h: add g++ defines FASCIST_ASSEMBLER, VTABLE_USES_MASK.
        !          3559: 
        !          3560: Sun Nov 26 11:39:13 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          3561: 
        !          3562:        * reload.c (decompose): Handle SUBREGs.
        !          3563: 
        !          3564: Wed Nov 22 11:26:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3565: 
        !          3566:        * pyr.md (mode conversion peepholes): Set CC_NO_OVERFLOW.
        !          3567:        * out-pyr.c (consecutive_operands): Don't expect wrap from reg15 to 16.
        !          3568: 
        !          3569:        * make-pyr: Find the alloca which comes with the system.
        !          3570: 
        !          3571:        * tm-mips.h (CONST_OK_FOR_LETTER_P): Define `K'.
        !          3572:        (SMALL_INT): Range is 16 bits, not 17.
        !          3573:        (SMALL_INT_UNSIGNED): New macro.
        !          3574:        * mips.md (andsi3, iorsi3, xorsi3): Use `K', not `I'.
        !          3575: 
        !          3576:        * mips.md (negsi2): Accept general_operand as input.
        !          3577: 
        !          3578:        * stor-layout.c (build_int): Defend against negative arguments.
        !          3579: 
        !          3580:        * varasm.c (MAX_HASH_TABLE): Change to a prime.
        !          3581: 
        !          3582: Tue Nov 21 10:58:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3583: 
        !          3584:        * mips.md (one_cmpl*): Accept general_operand as input.
        !          3585: 
        !          3586: Mon Nov 20 11:18:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3587: 
        !          3588:        * optabs.c (emit_cmp_insn): New arg, COMPARISON.
        !          3589:        (emit_float_lib_cmp): New subroutine, handles soft-float comoare
        !          3590:        of floating point values.  Chooses ibrary fn from COMPARISON.
        !          3591:        * expr.c, expmed.c, stmt.c, optabs.c: All calls changed.
        !          3592:        * gnulib.c (__eqdf2, __nedf2, __gtdf2, etc.): New functions.
        !          3593:        (__eqsf2, __nesf2, __gtsf2, etc.): New functions.
        !          3594: 
        !          3595:        * cse.c (fold_rtx): Simulate negative shift counts.
        !          3596: 
        !          3597: Sun Nov 19 14:36:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3598: 
        !          3599:        * out-pyr.c (notice_update_cc): Set CC_NO_OVERFLOW in many cases.
        !          3600: 
        !          3601:        * cse.c (fold_rtx, fold_cc0): Handle float trap. 
        !          3602: 
        !          3603: Sat Nov 18 00:17:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3604: 
        !          3605:        * varasm.c (output_constant): Handle float trap in fprintf.
        !          3606:        * toplev.c (float_signal): Don't print message.
        !          3607:        * fold-const.c (combine): Print it here.
        !          3608: 
        !          3609:        * sparc.md (extend patterns): Handle CONST_INT as operand.
        !          3610:        * out-sparc.c (output_block_move, output_mul_by_constant): 
        !          3611:        (output_eager_then_insn): Delete unused vars.
        !          3612: 
        !          3613:        * varasm.c (decode_rtx_const): Add a cast in SYMBOL_REF case.
        !          3614: 
        !          3615:        * tm-i386.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE)
        !          3616:        (INITIALIZE_TRAMPOLINE): New macros.
        !          3617:        * i386.md (indirect_jump): New pattern.
        !          3618: 
        !          3619:        * out-i386.c (singlemove_string): Fix paren error.
        !          3620: 
        !          3621: Fri Nov 17 12:19:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3622: 
        !          3623:        * expr.c (expand_increment): For pre-increment, copy the rtx to return.
        !          3624: 
        !          3625:        * c-parse.y (compstmt): There may be implicit decls, so check
        !          3626:        and maybe keep the level.
        !          3627: 
        !          3628:        * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
        !          3629:        Use call_used_regs, not a private copy.
        !          3630: 
        !          3631: Thu Nov 16 00:28:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3632: 
        !          3633:        * reload1.c: Keep track of paradoxical subregs of each pseudo,
        !          3634:        and make extra stack space for their sake.
        !          3635:        (reload): Record max size paradoxical subreg for each pseudo.
        !          3636:        (scan_paradoxical_subreg): New subroutine for that.
        !          3637:        (reload): Make stack slots big enough for that size.
        !          3638: 
        !          3639:        * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Define it,
        !          3640:        so we can output a no-op before each function.
        !          3641: 
        !          3642:        * tm-pyr.h (INIT_CUMULATIVE_ARGS): Simplify.
        !          3643:        Pass function type to aggregate_value_p.
        !          3644: 
        !          3645:        * fold-const.c (fold):
        !          3646:        For foo++ > const, don't change if foo++ could overflow.
        !          3647: 
        !          3648:        * loop.c (eliminate_biv):
        !          3649:        Fix typo; check both coeffs when comparing givs.
        !          3650: 
        !          3651: Wed Nov 15 00:12:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3652: 
        !          3653:        * sdbout.c (sdbout_end_function, sdbout_end_block, sdbout_begin_block):
        !          3654:        Don't allow line numbers < 1.
        !          3655: 
        !          3656:        * integrate.c (copy_for_inline): `break' was missing for case 'u':.
        !          3657: 
        !          3658:        * sdbout.c (plain_type_1): Output .dim X,Y...; for multi-dim array.
        !          3659:        (sdbout_array_dim): New recursive subroutine.
        !          3660:        (PUT_SDB_DIM): Macro eliminated.
        !          3661:        (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): New macros.
        !          3662:        * tm-3b1.h: Override PUT_SDB_START_DIM.
        !          3663: 
        !          3664:        * jump.c (delete_insn): Extra test for PREV != 0.
        !          3665: 
        !          3666: Tue Nov 14 17:31:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3667: 
        !          3668:        * tm-m68k.h (WORDS_BIG_ENDIAN): Define it.
        !          3669:        * out-m68k.c (output_move_double): Adapt CONST_DOUBLE case to that.
        !          3670: 
        !          3671:        * varasm.c (decode_rtx_const): For SYMBOL_REF, use addr of string.
        !          3672: 
        !          3673:        * tm-pyr.h (INIT_CUMULATIVE_ARGS):
        !          3674:        If -fpcc-struct-return, always do the scalar thing.
        !          3675: 
        !          3676:        * tm-sun3.h (LINK_SPEC): Specify -L to control choice of -lm.
        !          3677: 
        !          3678:        * function.c (expand_function_end): Use FUNCTION_OUTGOING_VALUE.
        !          3679: 
        !          3680: Sat Nov 11 00:18:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3681: 
        !          3682:        * calls.c (prepare_call_address): If NO_RECURSIVE_FUNCTION_CSE,
        !          3683:        don't do function cse on calls to same function.
        !          3684:        (emit_call_1): Don't call memory_address for SYMBOL_REF.
        !          3685: 
        !          3686:        * tm-att386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
        !          3687:        (ASM_OUTPUT_LOCAL): Likewise.  Also, generate .lcomm
        !          3688:        rather than a .data area symbol.
        !          3689:        * tm-sun386.h: Likewise.
        !          3690: 
        !          3691:        * tm-bsd386.h (ASM_OUTPUT_COMMON): Use ROUNDED, not SIZE.
        !          3692:        (ASM_OUTPUT_LOCAL): Likewise.
        !          3693: 
        !          3694:        * cexp.y (parse_escape): Delete unused var `count' from case 'x'.
        !          3695: 
        !          3696: Fri Nov 10 15:04:15 1989  Richard Stallman  (rms at rice-chex)
        !          3697: 
        !          3698:        * caller-save.c (emit_mult_restore, emit_mult_save):
        !          3699:        Improve arithmetic for address to save at.
        !          3700: 
        !          3701: Thu Nov  9 00:14:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3702: 
        !          3703:        * tm-pyr.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
        !          3704:        Don't use obsolete pushw and popw insns.
        !          3705:        (ASM_OUTPUT_ALIGN): Ensure arg in range 2 to 5.
        !          3706:        * pyr.md (tstdi): Pattern deleted.
        !          3707:        (SImode test recognizer): Output ucmpw if jump is unsigned.
        !          3708: 
        !          3709:        * out-sparc.c (operands_satisfy_eager_branch_peephole): 
        !          3710:        Check for moves between FP and non-FP regs; they take two insns.
        !          3711:        * sparc.md (eager branch peepholes): Likewise.
        !          3712:        (Ordinary delayed branch peepholes): Similar check.
        !          3713:        * out-sparc.c (single_insn_extra_test): New subroutine.
        !          3714: 
        !          3715:        * final.c (final_scan_insn):
        !          3716:        Rearrange to avoid calling BLOCK_PROFILER for a jump table.
        !          3717: 
        !          3718:        * reload1.c (choose_reload_regs): Split up a hairy if.
        !          3719: 
        !          3720: Wed Nov  8 00:48:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3721: 
        !          3722:        * calls.c (expand_call): Handle UNNAMED_ARGS_IN_REGISTERS.
        !          3723: 
        !          3724:        * toplev.c (main): Handle -gsdb to make sdb output when that and dbx
        !          3725:        are both supported.
        !          3726: 
        !          3727:        * combine.c (subst): In (sign_extend:M (subreg:N (and:M .. <const>) 0))
        !          3728:        insist that constant be positive in mode N.
        !          3729:        Also test mode N in similar zero_extend case.
        !          3730: 
        !          3731:        * c-typeck.c (build_modify_expr): When assigning to COND_EXPR
        !          3732:        put cast to void around precomputed rhs.
        !          3733: 
        !          3734:        * calls.c (emit_call_1): Make funexp a valid address.
        !          3735: 
        !          3736: Tue Nov  7 18:57:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3737: 
        !          3738:        * expr.c (emit_move_insn): If args in memory, make addresses valid. 
        !          3739: 
        !          3740:        * rtl.h: Undefine FFS in case it was defined by the system.
        !          3741: 
        !          3742:        * c-parse.y (combine_strings): Ignore warn_write_strings
        !          3743:        if -traditional or -fwritable-strings.
        !          3744: 
        !          3745:        * Makefile.in (gnulib2): Fix syntax in shell conditionals.
        !          3746: 
        !          3747:        * stmt.c (expand_return): Handle COND_EXPR specially.
        !          3748: 
        !          3749: Mon Nov  6 14:43:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3750: 
        !          3751:        * optabs.c (expand_float): Check sign of FROM; may be faster than TO.
        !          3752: 
        !          3753:        * fold-const.c (fold): If REAL_INFINITY, allow division by zero.
        !          3754:        * tm-sun3.h (REAL_INFINITY): Define it.
        !          3755: 
        !          3756:        * tm-i860.h, tm-m88k.h, tm-pyr.h, tm-spur.h (INIT_CUMULATIVE_ARGS):
        !          3757:        Test aggregate_value_p, not just BLKmode.
        !          3758: 
        !          3759:        * gnulib2.c (__builtin_saveregs): Moved from gnulib.c.
        !          3760:        Code added for mips.
        !          3761: 
        !          3762:        * pyr.md (conditional branch recognizers): Don't simplify if not -O.
        !          3763: 
        !          3764:        * out-pyr.c (extend_and_branch): Handle two constant operands.
        !          3765: 
        !          3766:        * integrate.c (function_cannot_inline_p): Don't inline if alloca used.
        !          3767: 
        !          3768: Sun Nov  5 02:59:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3769: 
        !          3770:        * Always make a LET_STMT and notes for the top level of a function
        !          3771:        if it has any subblocks.
        !          3772:        * c-decl.c (struct binding_level): New field keep_if_subblocks.
        !          3773:        (poplevel): Obey the new field.
        !          3774:        (keep_next_if_subblocks): New variable.
        !          3775:        (pushlevel): Use that variable.
        !          3776:        (store_parm_decls): Set that variable.
        !          3777:        (compstmt): Pass nonzero to expand_end_bindings
        !          3778:        for the new kept binding levels.
        !          3779:        (kept_level_p): New function.
        !          3780: 
        !          3781:        * xm-mips.h: Define USE_C_ALLOCA if compiling with CC.
        !          3782: 
        !          3783:        * tm-alliant.h (CHECK_FLOAT_VALUE): Define this.
        !          3784: 
        !          3785:        * calls.c (expand_call): Make valreg 0 if passing structure address.
        !          3786: 
        !          3787: Sat Nov  4 23:27:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3788: 
        !          3789:        * caller-save.c (emit_mult_save, emit_mult_restore):
        !          3790:        Test regs for suitability as address before using as temps.
        !          3791: 
        !          3792:        * cccp.c (make_definition, do_define): Better error checks for name.
        !          3793: 
        !          3794: Fri Nov  3 01:05:04 1989  Torbj|rn Granlund  (tege at echnaton)
        !          3795: 
        !          3796:        * pyr.md (tstdi): New pattern.  Use 64-bit shift with count zero.
        !          3797: 
        !          3798:        * tm-pyr.h: -mretd pops args with the retd insn.
        !          3799: 
        !          3800:        * pyr.md (peep-holes for loop optimizations): Use the R output
        !          3801:          format in PRINT_OPERAND, don't use output_branch.
        !          3802:        * out-pyr.c: No need for functions output_branch, output_inv_branch.
        !          3803: 
        !          3804:        * tm-pyr.h (ASM_OUTPUT_ALIGN): Don't truncate alignment to two.
        !          3805: 
        !          3806: Wed Nov  1 00:38:27 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
        !          3807: 
        !          3808:        * out-pyr.c (output_inv_branch): When reversing test operands, ne
        !          3809:          remains ne, and eq eq eq.
        !          3810: 
        !          3811:        * pyr.md: Cleanup output code for compare patterns.
        !          3812: 
        !          3813:        * pyr.md (return): Adjust frame pointer if
        !          3814:          current_function_pretend_args_size != 0.
        !          3815: 
        !          3816:        * pyr.md (extendsidi2): Use general_operand for the input operand.
        !          3817: 
        !          3818:        * pyr.md, out-pyr.c: Output shift insns with output_shift.
        !          3819: 
        !          3820:        * tm-pyr.h, out-pyr.c: Make NOTICE_UPDATE_CC understand how
        !          3821:          condition codes are really set.  Define flag CC_VALID_FOR_UNSIGNED
        !          3822:          with to make it possible not to reset cc after each compare or
        !          3823:          test.
        !          3824:        * pyr.md: Don't use CC_STATUS_INIT for most patterns.
        !          3825: 
        !          3826:        * out-pyr.c (already_sign_extended): Cleanup, correct, optimize.
        !          3827: 
        !          3828:        * out-pyr.c: rename radr_diff to constant_diff.
        !          3829: 
        !          3830:        * out-pyr.c (movdi_possible): Don't combine moves from memory to
        !          3831:          memory, because of possible address aliasing.  Don't combine moves
        !          3832:          with register destination if the source operands are depending on
        !          3833:          the destination of the first move, as in
        !          3834: 
        !          3835:            movw (pr3),pr3
        !          3836:            movw 4(pr3),pr4.
        !          3837: 
        !          3838:        * out-pyr.c (consecutive_operands): Handle SUBREG in addition to REG.
        !          3839: 
        !          3840:        * out-pyr.c (output_move_double): movl of immediate *sign* extends.
        !          3841: 
        !          3842: Tue Oct 31 22:51:39 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
        !          3843: 
        !          3844:        * pyr.md (cmpsi): Don't expand this.  It's just slower.
        !          3845: 
        !          3846:        * out-pyr.c (extend_and_branch): Handle only QImode and HImode.
        !          3847:          Flush code specific for SImode.
        !          3848: 
        !          3849:        * out-pyr.c (extend_and_branch): To make zero extensions to HImode
        !          3850:          of constants not crash:
        !          3851:        * out-pyr.c (ensure_extended): Call extend_const if it's a
        !          3852:          CONST_INT.  Don't call extend_const from extend_and_branch.
        !          3853:        * pyr.md, out-pyr.md: Use global variable test_mode to determine the
        !          3854:          mode of tests and compares.  Set in define_expands for tests and
        !          3855:          compares.  Used in extend_and_branch.
        !          3856:        * out-pyr.c: Pass mode between extend_and_branch and ensure_extended.
        !          3857: 
        !          3858:        * out-pyr.c (extend_and_branch): Accept SUBREG whereever REG is
        !          3859:          accepted.
        !          3860:        * out-pyr.c (weird_memory_memory): Accept SUBREG whereever REG is
        !          3861:          accepted.
        !          3862: 
        !          3863: Thu Nov  2 16:23:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3864: 
        !          3865:        * gnulib2.c (lshrdi2, and other shifts): Take second arg as long long.
        !          3866: 
        !          3867:        * combine.c (subst):
        !          3868:        Simplify (zero_extract (subreg:SI (lshift:QI (mem:QI ...)) 0) ...)
        !          3869: 
        !          3870:        * expr.c (do_jump): Don't discard NOP_EXPR from around COMPONENT_REF.
        !          3871:        Put one on, if that allows extracting the component in natural mode.
        !          3872: 
        !          3873:        * final.c (get_attr_length): Omit the body if no length attribute.
        !          3874: 
        !          3875:        * Makefile.in (genattrtab): Use host-rtlanal.c as dep and to link.
        !          3876:        (insn-attrtab.o): Use $(INCLUDES).
        !          3877: 
        !          3878:        * cse.c: Include stdio.h.
        !          3879: 
        !          3880:        * c-decl.c (finish_enum): Local `value' was declared and set wrong.
        !          3881: 
        !          3882:        * Makefile.in (gen*.o): Find source files in $(srcdir).
        !          3883:        (LIBDEPS, HOST_LIBDEPS): Don't use USE_ALLOCA.
        !          3884: 
        !          3885: Wed Nov  1 00:05:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3886: 
        !          3887:        * stmt.c (init_function_start): Init max_parm_reg.
        !          3888: 
        !          3889:        * varasm.c (compare_constant_1): For ADDR_EXPR, compare symbol name.
        !          3890:        For PLUS_EXPR, etc., don't record code twice.
        !          3891:        (record_constant_1): Likewise.
        !          3892: 
        !          3893:        * expr.c (expand_assignment): Allow for overlap when storing into a
        !          3894:        structure value area supplied by the caller.
        !          3895: 
        !          3896:        * cse.c (remove): Handle an elt in the wrong bucket.
        !          3897: 
        !          3898:        * function.c (fixup_stack_1): Avoid using move insn for address arith.
        !          3899: 
        !          3900:        * out-sparc.c (output_mul_by_constant): Constant zero is legitimate.
        !          3901: 
        !          3902:        * caller-save.c (emit_mult_restore, emit_mult_save):
        !          3903:        Handle stack addresses which are invalid.
        !          3904: 
        !          3905:        * cse.c (use_related_value): Don't abort if offset is 0.
        !          3906: 
        !          3907: Tue Oct 31 15:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3908: 
        !          3909:        * config.gcc (pyramid): Set $machine to pyr.
        !          3910: 
        !          3911:        * calls.c (expand_call): Don't OK_DEFER_POP in is_const case.
        !          3912: 
        !          3913: Mon Oct 30 17:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3914: 
        !          3915:        * final.c (shorten_branches, init_insn_lengths):
        !          3916:        Define unconditionally; conditionalize the contents, perhaps.
        !          3917: 
        !          3918: Mon Oct 30 03:23:52 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          3919: 
        !          3920:        * final.c (shorten_branches): New function.
        !          3921:        (init_insn_lengths, get_attr_length): New functions.
        !          3922:        * function.c (init_function_start): Call init_insn_lengths.
        !          3923:        * recog.c (constrain_operands): Call alter_subreg if nec.
        !          3924:        * toplev.c (rest_of_compilation): Call shorten_branches.
        !          3925:        (compile_file): Init and print shorten_branch_time.
        !          3926: 
        !          3927: Mon Oct 30 03:23:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3928: 
        !          3929:        * reload1.c (spill_regs): Make it short, not char.
        !          3930: 
        !          3931: Sun Oct 29 00:53:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          3932: 
        !          3933:        * final.c (final_scan_insn): Delete no-op moves, even without -O.
        !          3934: 
        !          3935:        * c-parse.y (yylex): Prevent warning for numbers that underflow.
        !          3936: 
        !          3937:        * stmt.c (assign_parms): Convert stack addresses to valid addresses.
        !          3938:        (validize_mem): New subroutine.
        !          3939: 
        !          3940:        * c-decl.c (finish_enum): If -fshort-enums, round size up to match
        !          3941:        some ordinary C integer type.
        !          3942:        Compute precision properly when some values are negative.
        !          3943:        Make type double precision when necessary.
        !          3944: 
        !          3945:        * c-decl.c (lang_decode_option): Accept and ignore -fnotraditional.
        !          3946: 
        !          3947:        * gcc.c (default_compilers): Pass -ftraditional to cpp as -traditional.
        !          3948: 
        !          3949:        * DOLLARS_IN_IDENTIFIERS now has three values.  1 is now the default.
        !          3950:        It means enable $ only with -traditional.  2 means enable unless -ansi.
        !          3951:        * c-decl.c (lang_decode_option): Implement that.
        !          3952:        * cccp.c (main): Likewise.
        !          3953:        * tm-vms.h, tm-apollo68.h, tm-convex.h, tm-next.h:
        !          3954:        Define DOLLARS_IN_IDENTIFIERS as 2.
        !          3955:        * tm-pyr.h: Define it as 0.
        !          3956:        * cexp.y (initialize_random_junk): Test DOLLARS_IN_IDENTIFIERS
        !          3957:        for nonzeroness.
        !          3958: 
        !          3959:        * stmt.c (check_for_full_enumeration_handling): Accept enum type
        !          3960:        as argument (since was finding it incorrectly).
        !          3961:        Delete special case for constant index.
        !          3962:        (expand_end_case): Pass enum type; check for constant index.
        !          3963: 
        !          3964: Sun Oct 29 00:53:46 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          3965: 
        !          3966:        * varasm.c (force_const_double_mem): Remove redundant code.
        !          3967:        (record_constant_rtx): Use normal obstack since temporary data.
        !          3968:        (force_const_mem): Don't output constant immediately.  Instead,
        !          3969:        save it for new fn to write.  Also, make hash table mapping
        !          3970:        internal label to desired constant.
        !          3971:        (output_constant_pool): New fn to write constant pool.
        !          3972:        (assemble_function): Call it.
        !          3973:        (init_const_rtx_hash_table): Initialize new hash table and pool
        !          3974:        chain and offset.
        !          3975:        (find_pool_constant): New fn to map internal label SYMBOL_REF to
        !          3976:        data about constant.
        !          3977:        (get_pool_constant, get_pool_mode, get_pool_offset): New fns
        !          3978:        using above fn to return data about constant pool labels.
        !          3979:        * rtl.h: Define last three new fns.
        !          3980: 
        !          3981:        * integrate.c (save_constants): New fn to convert constant pool
        !          3982:        references to recognizable representation of constant that was
        !          3983:        being used.
        !          3984:        (save_for_inline): Call it.
        !          3985:        (copy_for_inline, output_inline_function): Undo this for copy to
        !          3986:        be compiled.
        !          3987:        (restore_constants): New fn used in output_inline_function.
        !          3988:        (copy_rtx_and_substitute): Make new constant pool entries for
        !          3989:        constants in pool when fn was inlined.
        !          3990: 
        !          3991:        * cse.c (cse_end_of_basic_block): Optionally make a "basic block"
        !          3992:        that follows branches.  Now takes previous block as argument and
        !          3993:        computes which branch to follow/fall through next.
        !          3994:        (cse_main, cse_basic_block): Make compatible with above.
        !          3995: 
        !          3996:        * toplev.c: Add new flag, -fcse-follow-jumps.
        !          3997:        (rest_of_compilation): Pass dump file to cse_main.
        !          3998: 
        !          3999:        * flags.h: Add flag_cse_follow_jumps.
        !          4000: 
        !          4001: Sat Oct 28 01:24:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4002: 
        !          4003:        * optabs.c (emit_cmp_insn): Default MODE before computing CLASS.
        !          4004: 
        !          4005: Fri Oct 27 16:25:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4006: 
        !          4007:        * tm-next.h (__inline): define as macro for old 1.34 Next uses.
        !          4008: 
        !          4009: Thu Oct 26 01:05:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4010: 
        !          4011:        * mips.md (compare/branch peepholes): Combine using match_operator.
        !          4012:        * out-mips.c (relop, frelop, frelop_reversed): New functions.
        !          4013:        * tm-mips.h (PRINT_OPERAND): New codes `C' and `N' for comparisons.
        !          4014:        (ASM_OUTPUT_SOURCE_LINE): Output .loc--MIPS likes that.
        !          4015:        (EXTENDED_COFF, NO_UNDERSCORES, USE_COLLECT): Define, for collect.c.
        !          4016:        (COFF): Undefine, for collect.c.
        !          4017: 
        !          4018:        * getattrtab.c: Rename define_asm_insn to define_asm_attributes.
        !          4019:        * rtl.def: Likewise.
        !          4020: 
        !          4021: Wed Oct 25 00:52:12 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          4022: 
        !          4023:        * rtl.def: Add new RTL codes for insn attributes.
        !          4024:        Change last operand of DEFINE_INSN and DEFINE_PEEPHOLE.
        !          4025: 
        !          4026:        * rtlanal.c (rtx_equal_p): Add support for "V", "n", and "s" types.
        !          4027: 
        !          4028:        * genoutput.c (output_epilogue): No longer output machine_info
        !          4029:        stuff.
        !          4030:        (process_template): New function.
        !          4031:        (gen_insn, gen_peephole): Call process_template.
        !          4032:        (fatal): Add more args.
        !          4033: 
        !          4034:        * final.c: Allow called configuration macros to use attribute data.
        !          4035: 
        !          4036: Wed Oct 25 00:52:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4037: 
        !          4038:        * rtlanal.c (rtx_equal_p): Handle operand types n, V, S.
        !          4039: 
        !          4040:        * optabs.c (floattab): Record unsigned-float insns.
        !          4041:        (can_float_p): New arg UNSIGNEDP.
        !          4042:        (expand_float): Use those insns if available.
        !          4043: 
        !          4044: Tue Oct 24 19:23:11 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          4045: 
        !          4046:        * genattr.c, genattrtab.c: New files.
        !          4047:        * Makefile.in (insn-attr.h, insn-attrtab.c):
        !          4048:        New files made by those two.
        !          4049: 
        !          4050:        * Makefile.in (insn-*.[ch]): Name the temp file `tmp-foo.c', etc.,
        !          4051:        not `tmp-insn-foo.c'.
        !          4052: 
        !          4053:        * combine.c (subst): Generalize simplification of
        !          4054:        (zero_extend:M (subreg:N (zero_extract:M ...) 0)) and similar.
        !          4055: 
        !          4056: Tue Oct 24 19:23:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4057: 
        !          4058:        * combine.c (try_combine): Don't move a volatile asm.
        !          4059: 
        !          4060: Mon Oct 23 01:45:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4061: 
        !          4062:        * combine.c (try_combine): Don't install a subreg relating two modes
        !          4063:        that aren't tieable.
        !          4064: 
        !          4065:        * gnulib2.c (__fixdfdi): Declare __fixunsdfdi.
        !          4066: 
        !          4067:        * combine.c: Make uid_cuid an int *.
        !          4068:        (combine_instructions): Allocate as such.
        !          4069:        * loop.c: Make uid_luid an int *.
        !          4070:        (loop_optimize): Allocate as such.
        !          4071: 
        !          4072: Sun Oct 22 20:35:55 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          4073: 
        !          4074:        * combine.c (try_combine): Call simplify_set_cc0_and for SIGN_EXTEND.
        !          4075:        (subst): Start by putting constant last in commutative operations
        !          4076:        and convert MINUS of a constant to PLUS.
        !          4077:        Put CONST around any PLUS with 2 constants.
        !          4078:        Simplify (minus <foo> (and <foo> (const_int -pow2))).
        !          4079:        Handle (zero_extend (and ...)) when the and is nontrivial.
        !          4080:        Convert (XOR (NOT x) (NOT y)) to (XOR x y).
        !          4081:        Simplify (abs (neg <foo>)).
        !          4082:        Simplify abs of something known positive.
        !          4083:        Handle (zero_extend (truncate...)) using gen_lowpart.
        !          4084:        Do it for sign_extend too.
        !          4085:        Simplify (ZERO_EXTRACT (AND x) ...).
        !          4086:        Simplify (ZERO_EXTRACT (ZERO_EXTEND z) ...), etc.
        !          4087:        Extend "Extracting a single bit from result of shift" to SIGN_EXTRACT.
        !          4088:        (ashiftrt (*shift <X> <c1>) <c1>) can be (sign_extend <X>)
        !          4089:        (lshiftrt (*shift <X> <c1>) <c1>) can be (zero_extend (subreg <X>))
        !          4090:        Do (lshift <X> (sign_extend <Y>)) on non-regs using gen_lowpart.
        !          4091:        Eliminate AND in (lshift (and <X> <C1>) <C2>).
        !          4092:        Use gen_lowpart in (lshift:m1 (zero_extend:m2 <X>) <C>).
        !          4093:        Use gen_lowpart in (and x const) => (zero_extend (subreg x 0)).
        !          4094:        (simplify_set_cc0_and): Ignore outermost SIGN_ or ZERO_EXTEND.
        !          4095:        Handle constant bit number.
        !          4096:        Try to get into SImode for bitfield jumps.
        !          4097: 
        !          4098:        * recog.c (apply_change_group, validate_change): New functions.
        !          4099: 
        !          4100: Sat Oct 21 00:51:49 1989  Richard Kenner    (kenner at vlsi1.ultra.nyu.edu)
        !          4101: 
        !          4102:        * cse.c (cse_end_of_basic_block): Optionally make a "basic block"
        !          4103:        that follows branches.  Now takes previous block as argument and
        !          4104:        computes which branch to follow/fall through next.
        !          4105:        (cse_main, cse_basic_block): Make compatible with above.
        !          4106: 
        !          4107:        * cse.c (new_basic_block): Don't assume sizeof (rtx) == sizeof (int).
        !          4108: 
        !          4109:        * cse.c (make_new_qty, canon_hash): Add  sanity checks.
        !          4110: 
        !          4111:        * cse.c (lookup_as_function): Don't assume VOIDmode == 0.
        !          4112: 
        !          4113:        * cse.c (exp_equiv_p): For commutative operations, check both orders.
        !          4114:        Detect unexpected operand-type letters.
        !          4115:        Mode is significant for all codes.
        !          4116: 
        !          4117:        * cse.c (fold_rtx): CONST_DOUBLE can also appear in DImode.  Verify
        !          4118:        that floating-point is used before folding it.
        !          4119:        Verify that the host's INT width is wide enough to do folding.
        !          4120: 
        !          4121:        * cse.c (cse_insn): Treat each component of PARALLEL exactly the same
        !          4122:        way as if it were standing alone.
        !          4123: 
        !          4124:        * combine.c (combine_instructions): If an insn explicitly references
        !          4125:        CC0, try to combine it with the previous insn.  Also, enable
        !          4126:        combining an insn with two different insns whose results it uses.
        !          4127: 
        !          4128:        * combine.c (try_combine): Ignore USE or CLOBBER parallel parts in
        !          4129:        I2 and I1 as they are not functional.
        !          4130: 
        !          4131: Sat Oct 21 00:51:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4132: 
        !          4133:        * out-pyr.c (extend_and_branch): Allow SUBREG like REG.
        !          4134:        * pyr.md (mem-reg and reg-mem HI, QI patterns):
        !          4135:        Don't match unless one arg is MEM.
        !          4136: 
        !          4137: Sat Oct 21 00:28:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4138: 
        !          4139:        * stor-layout.c (layout_decl): No more need to avoid >1 wd in one reg.
        !          4140: 
        !          4141:        * tree.c (build_index_type): Copy precision from sizetype.
        !          4142: 
        !          4143:        * reload.c (find_reloads_toplev): Don't truncate constant if bigger
        !          4144:        than host word size.
        !          4145: 
        !          4146:        * gnulib2 (__floatdidf, __fixunsdfdi): Use WORD_SIZE, not BITS_PER...
        !          4147:        (WORD_SIZE): # of bits in a `long' on the target.
        !          4148: 
        !          4149:        * genextract.c (gen_peephole): Use sizeof (rtx) copying operands.
        !          4150: 
        !          4151:        * fold-const.c (force_fit_type): Use POINTER_SIZE for pointers.
        !          4152: 
        !          4153:        * final.c (end_final, final_scan_insn): In sizes and aligns of
        !          4154:        profiling vars and tbls, use INT_TYPE_SIZE for size of an int,
        !          4155:        or give max alignment.
        !          4156: 
        !          4157:        * expr.c (do_jump): Comparing constant arg vs 0, take # sig bits
        !          4158:        from mode of data type.
        !          4159: 
        !          4160:        * gcc.c: Add CC1PLUS_SPEC like CC1_SPEC.
        !          4161:        (validate_all_switches, do_spec_1, process_command, read_specs):
        !          4162:        Handle it.  Use %2 to use it.
        !          4163:        (default_compilers): Pass %2 to cc1plus.
        !          4164: 
        !          4165:        * out-sparc.c (output_fp_move_double): Use ldd only when safe,
        !          4166:        on same conditions used for std.
        !          4167: 
        !          4168:        * Makefile.in (USE_ALLOCA): New var is $(ALLOCA) if compiling with
        !          4169:        cc, null otherwise.  Use this to refer to alloca.
        !          4170: 
        !          4171:        * Makefile.in (gnulib): Test vrbl HPUX_GAS to decide whether to run
        !          4172:        hpxt instead of ranlib.
        !          4173:        (stamp-gnulib2): Don't ranlib if HPUX_GAS.
        !          4174:        * make-hp9kgas: New file, sets HPUX_GAS.
        !          4175: 
        !          4176: Fri Oct 20 13:33:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4177: 
        !          4178:        * expmed.c (store_bit_field, extract_bit_field):
        !          4179:        Use mode whose size is UNITS_PER_WORD for struct in reg.
        !          4180:        (store_fixed_bit_field, extract_fixed_bit_field):
        !          4181:        Handle bigger constant masks.
        !          4182:        (mask_rtx, lshift_value): New subroutines.
        !          4183: 
        !          4184:        * c-parse.y (combine_strings): Use correct width of `int'.
        !          4185: 
        !          4186:        * varasm.c (make_decl_rtl): Warn for volatile explicit register vars.
        !          4187: 
        !          4188: Fri Oct 20 00:27:00 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4189: 
        !          4190:        * reload1.c (reload_as_needed): Set new variable reload_in_progress
        !          4191:        and clear it after reload complete.
        !          4192: 
        !          4193:        * reload1.c (choose_reload_regs):
        !          4194:        Don't count deleted reloads vs number of spill regs.
        !          4195: 
        !          4196:        * reload1.c (choose_reload_regs): Arg of HARD_REGNO_MODE_OK
        !          4197:        was the pseudo; should be the reload reg.
        !          4198: 
        !          4199:        * reload1.c (gen_input_reload): Don't generate a move with a PLUS
        !          4200:        as an operand.
        !          4201: 
        !          4202:        * reload.c (find_reloads): Ignore unconstrained operands
        !          4203:        when looking for conflict with an earlyclobber.
        !          4204: 
        !          4205:        * reload.c (subst_indexed_address):
        !          4206:        Replace and canonicalize more thoroughly.
        !          4207:        (form_sum): New subroutine.
        !          4208: 
        !          4209:        * out-i386.c (singlemove_string): Handle ordinary constants as input.
        !          4210: 
        !          4211:        * tm-decstatn.h (CPP_PREDEFINES): Add bsd4_2, ultrix, MIPSEL, 
        !          4212:        host_mips, R3000, LANGUAGE_C, SYSTYPE_BSD.
        !          4213:        * tm-mips.h (CPP_PREDEFINES): Add host_mips, R3000, MIPSEB, LANGUAGE_C.
        !          4214:        (CPP_SPEC): Remove those from here.
        !          4215:        Define __SYSTYPE_*__ always.  Define SYSTYPE_* only if not -ansi.
        !          4216:        No CPP_SPEC needed for decstation.
        !          4217:        Correct typos in option tests.
        !          4218: 
        !          4219:        * c-parse.y (unary_expr): Handle EXTENSION here, not in primary.
        !          4220: 
        !          4221: Thu Oct 19 18:16:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4222: 
        !          4223:        * tm-m68k.h, tm-alliant.h (PRINT_OPERAND):
        !          4224:        Don't print :l for address if :w was already printed.
        !          4225: 
        !          4226:        * Allow elided braces with unions.
        !          4227:        * c-typeck.c (digest_init): Treat unions more like records.
        !          4228:        (process_init_constructor): Handle union types.
        !          4229: 
        !          4230:        * c-parse.y (program): Pedantic warning for empty file.
        !          4231: 
        !          4232: Wed Oct 18 22:28:21 1989  Torbj|rn Granlund  (tege at echnaton.sics.se)
        !          4233: 
        !          4234:        * out-pyr.c (extend_const, extend_and_branch): Make sure all const
        !          4235:          are CONST_INT.
        !          4236: 
        !          4237:        * out-pyr.c (movdi_possible): Handle combination of two immediate
        !          4238:          moves correctly.  (Pyramid immediate move to a DImode operand
        !          4239:          (movl) work by SIGN extension of the 32 bit immediate source.)
        !          4240:        * Handle CONST tagged addresses.
        !          4241: 
        !          4242:        * out-pyr.c (already_sign_extended): Skip harmless JUMP_INSN when
        !          4243:          scanning after extension insn.
        !          4244:        * Check for right mode of extension.
        !          4245:        * Delete redundant register number test.
        !          4246: 
        !          4247:        * pyr.md (anonymous SImode test pattern): Predicate need to accept
        !          4248:          any operand that can be generated for corresponding compare.  Used
        !          4249:          to reject "foo(p) int *p {int a=0; return *p==a;}".
        !          4250: 
        !          4251:        * pyr.md (shift patterns): Condition bogus if no insn really output.
        !          4252: 
        !          4253:        * pyr.md: Flush obsolete comment about conversion.
        !          4254: 
        !          4255:        * tm-pyr.h (FUNCTION_PROLOGUE): Don't really set up a frame pointer
        !          4256:          if it's never referenced.  Also, don't round up frame size to a
        !          4257:          multiple of 32, since input args and alloca nevertheless breaks
        !          4258:          such alignment attempts.
        !          4259:        * tm-pyr.h (FUNCTION_EPILOGUE): Goodbye.  Use (define_insn "return"
        !          4260:          ..) in md instead.
        !          4261:        * pyr.md (return): Use "ret" or "retd" depending on the existense
        !          4262:          of a freme pointer.
        !          4263:        * tm-pyr.h (EXIT_IGNORE_STACK): Ensure the stack pointer is
        !          4264:          preserved even when the frame pointer is not really set up.
        !          4265: 
        !          4266:        * pyr.md: Reinsert move-and-test peep-hole optimization.
        !          4267: 
        !          4268:        * pyr.md: Flush silly peep-hole optimizations for loops.  They were
        !          4269:          inverted optimizations.
        !          4270: 
        !          4271:        * tm-pyr.h (NOTICE_UPDATE_CC): Make it identify the most important
        !          4272:          cases when set conditions codes can be used, without an explicit
        !          4273:          test.
        !          4274: 
        !          4275: Wed Oct 18 13:01:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4276: 
        !          4277:        * gcc.c (default_compilers): Support -E on .h file.
        !          4278: 
        !          4279:        * tm-mips.h (FUNCTION_PROLOGUE): Get rid of __0__gcc macro.
        !          4280:        Store that value in frame_stack_difference.
        !          4281:        (FUNCTION_EPILOGUE): Get rid of __0__gcc macro.
        !          4282:        (FIX_FRAME_POINTER_ADDRESS): Use frame_stack_difference.
        !          4283:        * out-mips.c (frame_stack_difference): Define here.
        !          4284: 
        !          4285:        * gcc.c (default_compilers): Define __GNUG__ for g++.  
        !          4286: 
        !          4287: Tue Oct 17 01:17:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4288: 
        !          4289:        * tm-i860.h (HAVE_PRE_INCREMENT): Undefine this.
        !          4290: 
        !          4291:        * mips.md (movsf): New alternatives for r registers.
        !          4292:        * tm-mips.h (FUNCTION_PROLOGUE): Handle big stack frames.
        !          4293:        * out-mips.c (function_arg): Handle mode distinction for floating args.
        !          4294: 
        !          4295:        * pyr.md (mtstsw pattern): Accept general_operand.
        !          4296: 
        !          4297:        * Makefile.in (gcc): Force-move when installing new gcc.
        !          4298:        (realclean): Delete Makefile.
        !          4299: 
        !          4300:        * i860.md (movsf): New alternatives: allow loading r from F.
        !          4301:        Prefer f-reg as reload when moving m from F.
        !          4302:        * tm-i860.h (PRINT_OPERAND): Handle CONST_DOUBLE if SFmode.
        !          4303: 
        !          4304: Sun Oct 15 14:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4305: 
        !          4306:        * i860.md (movhi, movqi): Support moves to/from fp regs.
        !          4307: 
        !          4308:        * stmt.c (expand_goto): USE both stack ptr and static_chain_rtx
        !          4309:        just before jumping.
        !          4310: 
        !          4311:        * sparc.md (tablejump peepholes): Fix paren error that no-op'd them.
        !          4312: 
        !          4313:        * tm-sparc.h (*TRAMPOLINE*): Defined macros, but defns are wrong.
        !          4314:        * sparc.md (indirect_jump): New pattern; plus peepholes.
        !          4315: 
        !          4316:        * sparc.md (cse'd multiply): New pattern for mult. by -1.
        !          4317: 
        !          4318:        * out-i860.c (load_opcode, store_opcode): Handle DImode and fp reg.
        !          4319: 
        !          4320:        * toplev.c (compile_file): Always test TREE_USED and TREE_ADDRESSABLE
        !          4321:        in identifier as well as in decl.
        !          4322:        * c-decl.c (poplevel): Preserve TREE_ADDRESSABLE from local externs.
        !          4323:        * c-typeck.c (mark_addressable): Don't set bit in identifier here.
        !          4324: 
        !          4325: Fri Oct 13 00:12:46 1989  Richard Kenner  (rms at sugar-bombs.ai.mit.edu)
        !          4326: 
        !          4327:        * flow.c (life_analysis): No need to think abt CONSIDER on first pass.
        !          4328: 
        !          4329:        * flow.c (propagate_block): Remove duplicated code to update OLD.
        !          4330: 
        !          4331:        * flow.c (mark_set_1): Handle nested SUBREG, SIGN_EXTRACT,
        !          4332:        STRICT_LOW_PART, etc.  Also, always set subreg_p when setting
        !          4333:        a bit field, even if modes are same.
        !          4334: 
        !          4335:        * expr.c (expand_expr): Check for |= or &= of two bitfields of size 1.
        !          4336:        Convert to test followed by assignment.
        !          4337: 
        !          4338:        * rtl.def (INLINE_HEADER): Correct erroneous field types.
        !          4339: 
        !          4340:        * rtl.h: Add definitions for saving flags in INLINE_HEADER.
        !          4341: 
        !          4342:        * emit-rtl.c (gen_inline_header): Correct out-of-date arguments.
        !          4343:        Add support for saving flags.
        !          4344: 
        !          4345:        * integrate.c (save_for_inline): Save function flags.
        !          4346:        Update comments.
        !          4347:        (expand_inline_function, output_inline_function): Let machine-dependant
        !          4348:        code view (or possibly modify) inlined insn, if desired.
        !          4349: 
        !          4350:        * function.c (assign_stack_local): Don't set frame_pointer_needed or
        !          4351:        invalid_stack_slot if assigning zero-sized area.
        !          4352: 
        !          4353:        * stmt.c (fixup_var_refs_1): If the machine's SIGN_EXTRACT or
        !          4354:        ZERO_EXTRACT insns can't accept a memory operand, fix them up.
        !          4355: 
        !          4356:        * expr.c (do_jump): Look inside EQ_EXPR or NE_EXPR if one arg is 0.
        !          4357:        Be smart about PLUS_EXPR, MINUS_EXPR, ABS_EXPR, REFERENCE_EXPR,
        !          4358:        NEGATE_EXPR, rotation, CONVERT_EXPR.
        !          4359: 
        !          4360:        * jump.c (reverse_condition): Make non-static.
        !          4361:        (swap_condition): New routine.
        !          4362: 
        !          4363:        * final.c (alter_cond): Use new swap_condition.
        !          4364: 
        !          4365:        * expr.c (expand_expr): In cases where a jump will be generated, use
        !          4366:        original_target because the registers won't be able to be merged due
        !          4367:        to the jump.
        !          4368: 
        !          4369:        * expr.c (expand_expr): Put constant last for PLUS.
        !          4370: 
        !          4371: Fri Oct 13 00:12:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4372: 
        !          4373:        * recog.c (constrain_operands): Add case for `&'.
        !          4374: 
        !          4375:        * tm-vax.h (TRAMPOLINE_TEMPLATE): Add a .word 0 at beginning.
        !          4376:        (TRAMPOLINE_SIZE): Increase by 2.
        !          4377:        (INITIALIZE_TRAMPOLINE): Copy reg mask from pure code to trampoline.
        !          4378:        Jump into the pure code after the reg mask.
        !          4379: 
        !          4380:        * expmed.c (expand_divmod): Use divmod insn for quotient if no div.
        !          4381: 
        !          4382:        * expmed.c (extract_bit_field): With structure reg fetched from mem,
        !          4383:        don't put in subreg if mode already correct.
        !          4384:        (store_bit_field): Typo: had extzv, wanted insv.
        !          4385: 
        !          4386:        * recog.c (init_recog): Set volatile_ok to 1.
        !          4387:        (init_recog_no_volatile): Similar, but set volatile_ok to 0.
        !          4388:        (recog_memoized): Don't set volatile_ok.
        !          4389:        * reload1.c (reload): Call init_recog.
        !          4390:        * combine.c (combine_instructions): Call init_recog_no_volatile.
        !          4391:        * loop.c (loop_optimize): Likewise.
        !          4392:        * cse.c (cse_main): Likewise.
        !          4393:        * function.c (expand_function_start): Call init_recog_no_volatile
        !          4394:        for the sake of predicates called from optabs.c.
        !          4395: 
        !          4396:        * toplev.c (compile_file): Warn if fun declared static and used
        !          4397:        but never defined.
        !          4398: 
        !          4399: Thu Oct 12 01:48:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4400: 
        !          4401:        * cccp.c (macarg1): Count newlines even after backslash.
        !          4402: 
        !          4403:        * c-decl.c (pushdecl): Don't warn for explicit extern
        !          4404:        followed by static.  That case is useful for incomplete arrays.
        !          4405: 
        !          4406:        * c-decl.c (grokdeclarator): Delete some junk about Pmode vs EPmode.
        !          4407: 
        !          4408:        * tm-sparc.h (SELECT_RTX_SECTION): Test was backwards.
        !          4409: 
        !          4410:        * reload.c (reg_class_subset_p): New function.
        !          4411: 
        !          4412: Wed Oct 11 00:35:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4413: 
        !          4414:        * vax.md (indirect_jump): New pattern.
        !          4415: 
        !          4416:        * c-parse.y (primary): Turn off pedantic after `__extension__'.
        !          4417:        (hash, is_reserved_word, etc.): Recognize `__extension__'.
        !          4418: 
        !          4419:        * expr.c (emit_library_call, expand_call): Make a SEQUENCE for
        !          4420:        any needed USE insns and pass them to emit_call_1.
        !          4421:        (emit_call_1): Place the passed SEQUENCE immediately before the
        !          4422:        generated CALL_INSN even if gen_call made more than one insn.
        !          4423: 
        !          4424:        * tm-seq386.h (DBX_DEBUGGING_INFO): Override this.
        !          4425:        (HARD_REGNO_MODE_OK): Override this.
        !          4426: 
        !          4427:        * c-typeck.c (build_conditional_expr): Supply missing layout_decl arg.
        !          4428: 
        !          4429:        * dbxout.c (dbxout_symbol): Handle nested functions.
        !          4430: 
        !          4431: Wed Oct 11 00:35:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4432: 
        !          4433:        * jump.c: Update jump_chain when insns change.
        !          4434:        (jump_optimize): Leave room in jump_chain for some extra labels.
        !          4435:        Record length in max_jump_chain.  Check this when updating.
        !          4436:        When optimizing jump-to-return, delete from one chain and add to other.
        !          4437:        When cross-jumping turns cond jump to simple one, add to new chain.
        !          4438:        Zero jump_chain at end, so redirect_jump won't change it further.
        !          4439:        (redirect_jump): Delete from one chain, add to another.
        !          4440:        (do_cross_jump): Likewise.
        !          4441:        (delete_from_jump_chain): New subroutine.
        !          4442: 
        !          4443:        * cse.c: If `if (x != y) goto l;' fails to jump, assume x==y.
        !          4444:        (reg_invaliate): Add new argument for when value isn't
        !          4445:        changing, just its class.
        !          4446:        (invalidate): Update reg_invalidate call.
        !          4447:        (record_jump_equiv): New function.
        !          4448:        (cse_insn): Call it.
        !          4449: 
        !          4450:        * cse.c (cse_insn): Delete previous test based on
        !          4451:        prev_insn_explicit_cc0 just as based on prev_insn_cc0.
        !          4452: 
        !          4453: Tue Oct 10 00:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4454: 
        !          4455:        * reload.c (push_reload, combine_reloads): Let two reloads share
        !          4456:        if one's regclass is a subset of the other.
        !          4457: 
        !          4458:        * Makefile.in: What depends in expr.h, depends on insn-codes.h also.
        !          4459: 
        !          4460: Mon Oct  9 19:11:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4461: 
        !          4462:        * cccp.c (finclude): Close descriptor as soon as text is read.
        !          4463:        Eliminate `success'; return directly after successful processing.
        !          4464:        (do_include): Don't close descriptor here.
        !          4465: 
        !          4466:        * tm-i386.h (REG_CLASS_FROM_LETTER): Don't define `S' letter.
        !          4467:        It wasn't used; and now it means something else.
        !          4468: 
        !          4469:        * tm-ns32k.h (REG_CLASS_FROM_LETTER): Don't define `r' here.
        !          4470:        `r' is standard.
        !          4471: 
        !          4472: Mon Oct  9 01:09:25 1989  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4473: 
        !          4474:        * flow.c (life_analysis): Ignore USEs and CLOBBERs when finding
        !          4475:        redundant register copies.
        !          4476:        * jump.c (jump_optimize): Do the same thing here.
        !          4477: 
        !          4478:        * jump.c (mark_jump_label): Loop NOTEs aren't relevant after loop
        !          4479:        optimization.
        !          4480: 
        !          4481:        * integrate.c (copy_for_inline): Correctly handle RTL type "u".
        !          4482:        * final.c (output_operand_lossage): Make non-static.
        !          4483: 
        !          4484:        * recog.c (constrain_operands): Treat N, O, P like I, J, K, L, M.
        !          4485:        For Q...U, use EXTRA_CONSTRAINTS if defined.
        !          4486:        * reload.c (find_reloads): Likewise.
        !          4487: 
        !          4488:        * rtl.c (copy_rtx, read_rtx, print_rtx): Handle operand type `V'.
        !          4489: 
        !          4490:        * rtlanal.c (note_stores): Use variable Y instead of equivalent
        !          4491:        slower expression.
        !          4492: 
        !          4493:        * rtlanal.c (dead_or_set_p): Hard regs don't always have same RTX.
        !          4494: 
        !          4495:        * rtlanal.c (may_trap_p): Don't use const0_rtx here.
        !          4496:        So we can use this file in programs that don't have const0.
        !          4497: 
        !          4498: Mon Oct  9 01:09:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4499: 
        !          4500:        * Support language-specific tree codes.
        !          4501:        * tree.c (standard_tree_code_type, standard_tree_code_length):
        !          4502:        Renamed tables.  tree_code_type and tree_code_length are now pointers.
        !          4503:        * tree.c (init_tree): Copy the tables to allocated memory.
        !          4504:        * tree.c (tree_code_name): Move here from print-tree.c
        !          4505:        and define like tree_code_type.
        !          4506: 
        !          4507:        * rtl.c (print_rtl): Handle 0 as operand.
        !          4508: 
        !          4509:        * emit-rtl.c (save_emit_status): Don't call init_emit here.
        !          4510:        * function.c (push_function_context): Do it here.
        !          4511: 
        !          4512:        * emit-rtl.c (reinstate_emit_status): New function.
        !          4513:        * function.c (trampoline_address): Use this around
        !          4514:        INITIALIZE_TRAMPOLINE.
        !          4515: 
        !          4516:        * function.c (trampoline_address): Use fp->tail_recursion_reentry
        !          4517:        when trampoline is in outer function.
        !          4518: 
        !          4519:        * Save and restore stack levels in nonlocal gotos.
        !          4520:        * function.c: New variable nonlocal_goto_stack_level.
        !          4521:        (init_function_start, push_function_context, pop_...): Init, push, pop.
        !          4522:        (delete_handlers): Delete insns to set or use this slot.
        !          4523:        * stmt.c (declare_nonlocal_label): Create this stack slot.
        !          4524:        (expand_goto): Restore stack ptr from it.
        !          4525:        (expand_end_bindings, expand_decl): When setting stack ptr,
        !          4526:        store new value here.
        !          4527:        * expr.c (expand_builtin): Likewise, for alloca.
        !          4528:        * calls.c (expand_call): Likewise.
        !          4529: 
        !          4530:        * varasm.c (make_function_rtl): Rename nested functions for assembler.
        !          4531:        * c-decl.c (start_function): Clear TREE_PUBLIC for nested function.
        !          4532: 
        !          4533:        * tm-i860.h (*TRAMPOLINE*): Define macros.
        !          4534: 
        !          4535:        * i860.md (movdi): accept F source in 2nd alternative.
        !          4536:        Accept G source in 3rd.
        !          4537:        (adddi3, subdi3): Typo in opcode of output.
        !          4538: 
        !          4539:        * i860.md (indirect_jump): Added pattern.
        !          4540: 
        !          4541:        * c-decl.c (lookup_label): Shadow label if it's wrongly inherited.
        !          4542:        Set DECL_CONTEXT here, since nondeclared labels must be local.
        !          4543: 
        !          4544: Sun Oct  8 01:38:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4545: 
        !          4546:        * function.c (expand_function_start): Copy static chain to pseudo
        !          4547:        reg if chain is used.
        !          4548: 
        !          4549:        * tm-mips.h (ASM_SPEC): Pass -nocpp to as.
        !          4550: 
        !          4551:        * c-decl.c (grokdeclarator): Ignore variant differences
        !          4552:        when preserving typedef types from being altered.
        !          4553: 
        !          4554:        * Allow inner label scopes for ({...}).
        !          4555:        * c-decl.c (push_label_level, pop_label_level): New functions.
        !          4556:        * c-parse.y (stmt exprs): Call them.
        !          4557: 
        !          4558:        * c-decl.c (lookup_label): Set DECL-SOURCE-LINE to locus of reference.
        !          4559:        (poplevel): Use locus of reference in err msg for undef label.
        !          4560:        (define_label): Use DECL_INITIAL as flag that label has been defined.
        !          4561: 
        !          4562:        * function.c (expand_end_function): Delete nonlocal goto handlers
        !          4563:        if no nonlocal gotos are actually received.
        !          4564:        (delete_handlers): New function.
        !          4565: 
        !          4566:        * flow.c (find_basic_blocks): Treat blocks as reachable
        !          4567:        if headed by labels with LABEL_PRESERVE_P.
        !          4568:        (insn_dead_p): Don't delete insns to set the frame pointer or arg ptr.
        !          4569: 
        !          4570:        * m68k.md (indirect_jump): New pattern.
        !          4571: 
        !          4572: Sat Oct  7 00:46:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4573: 
        !          4574:        * c-decl.c (lookup_label): If label is nonlocal and wasn't declared so,
        !          4575:        report error and return 0.
        !          4576:        (shadow_label): New function.
        !          4577:        * c-parse.y (goto stmt): Handle 0 returned by lookup_label.
        !          4578:        (label_decl, label_decls): Parse forward-declarations of labels.
        !          4579:        (pushlevel): Allow label declarations at start of compound stmt.
        !          4580: 
        !          4581:        * rtl.h (LABEL_PRESERVE_P): New flag in CODE_LABEL.
        !          4582:        * jump.c (jump_optimize): Increment LABEL_NUSES if that flag is set.
        !          4583: 
        !          4584:        * stmt.c (any_pending_stack_level): New function.
        !          4585:        (expand_end_bindings): If block has stack level or cleanups,
        !          4586:        and this function has any nonlocal labels, make a nonlocal goto handler
        !          4587:        for the block, and put it in effect during the block.
        !          4588:        Set LABEL_PRESERVE_P on the handler's label.
        !          4589:        (expand_goto): For a nonlocal label, restore its stack frame
        !          4590:        and jump to current handler.
        !          4591: 
        !          4592:        * function.c: New var nonlocal_labels lists labels ok for nonlocal.
        !          4593:        Initted in init_function_start, pushed and popped with fcn context.
        !          4594:        * stmt.c (declare_nonlocal_label): Put a LABEL_DECL on this list.
        !          4595: 
        !          4596:        * output.h: Declare current_function_has_nonlocal_label
        !          4597:        and sdb_begin_function_line.
        !          4598:        * final.c: Don't declare them.
        !          4599: 
        !          4600:        * function.c (current_function_has_nonlocal_label): New var.
        !          4601:        (init_function_start): Init it.
        !          4602:        (push_function_context, pop...): Save and restore it.
        !          4603:        * flags.h: Declare current_function_has_nonlocal_label.
        !          4604:        * stmt.c (expand_goto): Set it if nonlocal label.
        !          4605:        * local-alloc.c (combine_regs): Don't tie call-crossing reg
        !          4606:        to a non-call-crossing reg, if receive nonlocal gotos.
        !          4607:        (block_alloc): Don't allocate pseudos that cross calls,
        !          4608:        if receive nonlocal gotos.
        !          4609:        * global-alloc.c (global_alloc): Don't even make an allocno for
        !          4610:        a reg that crosses calls, if receive nonlocal gotos.
        !          4611: 
        !          4612:        * function.c (init_function_start): Init function_call_count.
        !          4613:        (push_function_context, pop_...): Save and restore it.
        !          4614:        * calls.c (expand_call): Increment function_call_count.
        !          4615:        * stmt.c (expand_{start,end}_bindings): Use this var
        !          4616:        to determine whether there are any function calls in a block.
        !          4617:        No need for a nonlocal goto handler if block has no calls.
        !          4618: 
        !          4619:        * c-decl.c (define_label): Set DECL_CONTEXT.
        !          4620:        Maybe push label on shadowed_labels.
        !          4621:        (pop_c_function_context): Clear out labels in named_labels
        !          4622:        and reinstall those in shadowed_labels.
        !          4623:        Restore shadowed_labels.
        !          4624:        (push_c_function_context): Push shadowed_labels.
        !          4625:        (start_function): Clear shadowed_labels.
        !          4626: 
        !          4627:        * function.c: New file, split from stmt.c.
        !          4628: 
        !          4629:        * xm-mips.h: Use __builtin_alloca.
        !          4630: 
        !          4631: Fri Oct  6 00:30:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4632: 
        !          4633:        * jump.c (jump_optimize): Optimization of
        !          4634:        `if (...) x = 1; else {...}  if (x) ...' got sense wrong sometimes.
        !          4635: 
        !          4636:        * Makefile.in (stamp-gnulib2): depend on gcc, cc1, cpp via
        !          4637:        gnulib2-indirect.
        !          4638: 
        !          4639:        * tm-vax.h (TRAMPOLINE_SIZE,INITIALIZE_TRAMPOLINE,TRAMPOLINE_TEMPLATE):
        !          4640:        Define macros.
        !          4641: 
        !          4642:        * m68k.md (addsi3): Change ! to ? in lea alternatives.
        !          4643:        Put them before the add-to-register alternative.
        !          4644: 
        !          4645:        * reload.c (find_dummy_reload): Use PREFERRED_RELOAD_CLASS here
        !          4646:        as in push_reload, so we make accurate predictions.
        !          4647: 
        !          4648:        * c-decl.c (pushdecl): Don't set DECL_CONTEXT for function declaration
        !          4649:        that isn't a definition.
        !          4650: 
        !          4651:        * explow.c (fix_lexical_addr): Handle address that's just a base reg.
        !          4652: 
        !          4653:        * expr.c (expand_expr, case VAR_DECL): No need for static chain
        !          4654:        if var is static.
        !          4655: 
        !          4656:        * reload.c (find_equiv_reg): Do let xregno be a pseudo reg,
        !          4657:        but don't call HARD_REGNO_NREGS in that case.
        !          4658: 
        !          4659:        * local-alloc.c (combine_regs): Set reg_qty[sreg] even if it was <0.
        !          4660: 
        !          4661:        * c-decl.c (start_function): Clear named_labels.
        !          4662: 
        !          4663: Thu Oct  5 00:30:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4664: 
        !          4665:        * reload.c (find_equiv_reg): Don't let xregno be a non-hard reg.
        !          4666:        Don't do OVERLAPPING_REGNO_P on a pseudo reg number. 
        !          4667: 
        !          4668:        * Handle addresses of nested functions.
        !          4669:        * New tm macros TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE,
        !          4670:        ALLOCATE_TRAMPOLINE, TRAMPOLINE_TEMPLATE.
        !          4671:        * expr.c (expand_expr, case ADDR_EXPR): Handle addresses of nested fns.
        !          4672:        * stmt.c (trampoline_address): New function.
        !          4673:        * varasm.c (assemble_trampoline_template): New function.
        !          4674: 
        !          4675:        * i386.md (trunchiqi2, etc.): Output %1 with size of destination.
        !          4676:        * out-i386.c (PRINT_REG): Support 'b' as CODE.
        !          4677: 
        !          4678:        * combine.c (try_distrib): Make sure we don't move a reg use
        !          4679:        across a store into that reg.
        !          4680: 
        !          4681:        * reload1.c (order_regs_for_reload): Rate fixed regs at LARGE+2,
        !          4682:        and explicitly used regs at LARGE+1.
        !          4683: 
        !          4684:        * stor-layout.c (layout_record): Support BIGGEST_FIELD_ALIGNMENT.
        !          4685:        * tm-vax.h (BIGGEST_FIELD_ALIGNMENT): Define it.
        !          4686:        (BIGGEST_ALIGNMENT): Now always 32.
        !          4687: 
        !          4688:        * stor-layout.c (build_int): When memoizing, make permanent nodes.
        !          4689: 
        !          4690: Wed Oct  4 19:40:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4691: 
        !          4692:        * xm-i860.h: Missing file added.
        !          4693: 
        !          4694:        * integrate.c (function_cannot_inline_p): Don't inline if > 100 bytes
        !          4695:        of stack space, unless declared inline.
        !          4696: 
        !          4697: Tue Oct  3 00:16:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4698: 
        !          4699:        * stmt.c (assign_outer_stack_local): New function.
        !          4700:        (put_var_into_stack): Allocate stack slot in fn the variable is in.
        !          4701: 
        !          4702:        * stmt.c (put_var_into_stack): If variable-size object is nonlocal,
        !          4703:        put the pseudo with its address into the stack.
        !          4704: 
        !          4705:        * calls.c: New file, split out from expr.c.
        !          4706:        (expand_call): Pass static chain if fn wants it.
        !          4707: 
        !          4708:        * Make put_var_into_stack handle vars of containing function.
        !          4709:        * stmt.c (put_var_into_stack): Find the rtl chains for the
        !          4710:        function that the variable belongs to.
        !          4711:        (fixup_var_refs): New args FIRST_INSN, STACK and RTL_EXPS.
        !          4712: 
        !          4713:        * Make DECL_CONTEXT the function a var is in, and set it right away.
        !          4714:        * c-decl.c (store_parm_decls): Use DECL_RESULT, not DECL_CONTEXT,
        !          4715:        as the flag for duplicate names or missing names.
        !          4716:        * c-decl.c (start_function): Don't set current_function_decl
        !          4717:        till after calling pushdecl.
        !          4718:        * c-decl.c (pushdecl): Set DECL_CONTEXT to current_function_decl.
        !          4719:        (poplevel): Used to set it here, to the LET_STMT.  Don't.
        !          4720:        * stmt.c (init_function_start): Test for a FUNCTION_DECL in
        !          4721:        DECL_CONTEXT, not for a LET_STMT.
        !          4722: 
        !          4723:        * c-parse.y (primary <- identifier): Set TREE_NONLOCAL if appro.
        !          4724:        Also call mark_addressable.
        !          4725: 
        !          4726:        * stmt.c (expand_function_start): Store static chain into stack frame.
        !          4727:        Fetch static chains of containing functions into pseudos.
        !          4728:        (lookup_static_chain): Moved here; and really does something.
        !          4729:        * expr.c (expand_expr): Handle nonlocal variable.
        !          4730:        * explow.c (fix_lexical_addr): New function.
        !          4731: 
        !          4732:        * out-i386.c (fp_pop_int): Use %L0 in fistp insn.
        !          4733: 
        !          4734:        * global-alloc (find_reg): Fix typo marking new hard reg conflicts.
        !          4735: 
        !          4736:        * stmt.c (pushcase, pushcase_range, expand_end_case):
        !          4737:        When warning about insns at start of case, don't mind NOTEs.
        !          4738: 
        !          4739:        * local-alloc.c (combine_regs):
        !          4740:        Transfer all pseudos from SREG's old qty to its new qty.
        !          4741: 
        !          4742:        * Support nested functions:
        !          4743:        * stmt.c (push_function_context, pop_function_context): New functions.
        !          4744:        * tree.c (save_tree_status, restore_tree_status): New functions.
        !          4745:        * stor-layout.c (save_storage_status, restore_storage_status): Ditto.
        !          4746:        * expr.c (save_expr_status, restore_expr_status): Ditto.
        !          4747:        * emit-rtl.c (save_emit_status, restore_emit_status): Ditto.
        !          4748:        * c-decl.c (push_c_function_context, pop_c_function_context): Ditto.
        !          4749:        (start_function, finish_function): New arg NESTED.
        !          4750:        * c-parse.y (nested_function, notype_nested_function): New nonterms.
        !          4751:        (decl): New alternative to use them.
        !          4752: 
        !          4753:        * tree.h: Declare lineno.
        !          4754:        * c-decl.c (finish_function): Don't expect lineno as arg.
        !          4755:        * c-parse.y (fndecl, *nested_function): Don't pass it.
        !          4756: 
        !          4757:        * expr.c (init_expr, expand_call): Delete may_call_alloca.
        !          4758:        * tm-m88k.h, tm-sparc.h, tm-spur.h: Use current_function_calls_alloca.
        !          4759:        * tm-mips.h: It wasn't really used; delete its declaration.
        !          4760: 
        !          4761: Mon Oct  2 16:26:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4762: 
        !          4763:        * reload1.c (emit_reload_insns): Reject any OLDEQUIV that is
        !          4764:        in use in any other reload of this insn.
        !          4765: 
        !          4766:        * expr.c (expand_call): Don't put on notes for const functions
        !          4767:        if there aren't real insns to hold them.
        !          4768: 
        !          4769: Sun Oct  1 19:50:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4770: 
        !          4771:        * integrate.c (expand_inline_function): Handle PARALLEL in CALL_INSNs
        !          4772:        when setting follows_call.
        !          4773: 
        !          4774:        * mips.md (call_value): Change to a straightforward define_insn
        !          4775:        with just one action--no PARALLEL.
        !          4776: 
        !          4777:        * i860.md (pfeq, pfgt and pfle patterns): Add f0 as 3rd arg.
        !          4778: 
        !          4779:        * integrate.c (save_for_inline): Don't delete NOTE_INSN_FUNCTION_END.
        !          4780: 
        !          4781:        * c-parse.y (simple_if): Return $$ as value of stmt_count.
        !          4782:        (stmt (if statement)): Warn if $$ was not incremented in the body.
        !          4783:        (stmt (else statement)): Likewise.
        !          4784:        (stmt): All alternatives except null statement increment stmt_count.
        !          4785: 
        !          4786: Fri Sep 29 08:56:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4787: 
        !          4788:        * regclass.c (reg_class_record): If move between CLASS and GENERAL_REGS
        !          4789:        is costly, charge that cost to GENERAL_REGS and its subclasses.
        !          4790:        * tm-alliant.h, tm-m68k.h (REGISTER_MOVE_COST): New macro.
        !          4791: 
        !          4792:        * regclass.c (regclass): When a reg is a parm equiv to a stack slot,
        !          4793:        decrease its memcost, since the insn to load it would go away.
        !          4794: 
        !          4795:        * global-alloc.c (find_reg): Rewrite two-pass hard reg preference code.
        !          4796:        Uses regs_used_so_far to avoid allocating a reg not used elsewhere
        !          4797:        in the first pass.  Also updates regs_used_so_far.
        !          4798:        (global_alloc): Initialize regs_used_so_far.
        !          4799: 
        !          4800:        * tm-next.h (LINK_SPEC): Typo for -Z option.  Don't pass -M option
        !          4801:        to ld, since that is for cpp.
        !          4802: 
        !          4803:        * Support -MD and -MMD options.
        !          4804:        * gcc.c (default_compilers): Pass them to cpp in special way.
        !          4805:        Don't inhibit compilation for them, only for -M and -MM.
        !          4806:        * cccp.c (main): Handle them like -M and -MM except take arg
        !          4807:        which is file name to write deps in.
        !          4808: 
        !          4809:        * toplev.c: #if 0 around everything for GDB_DEBUG.
        !          4810:        * symout.c: File removed from distribution.
        !          4811:        * Makefile.in: Don't try to compile or link it.
        !          4812: 
        !          4813:        * tm-hp9k320.h (ASM_FILE_START): Output a `version' pseudo-op.
        !          4814:        [! HPUX_ASM] (ASM_SPEC): Don't use the -V option.  Recognize -mc68000.
        !          4815:        (CALL_USED_REGISTERS): Redefinition deleted.  HPUX 6.5 doesn't need it.
        !          4816:        * tm-hp9k310.h, tm-hp9k310g.h: New files.
        !          4817: 
        !          4818: Thu Sep 28 12:57:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4819: 
        !          4820:        * stmt.c (pushcase, pushcase_range): Warn if code was emitted inside
        !          4821:        case stmt before 1st label is seen.
        !          4822:        (expand_start_case): New arg is string to use in that warning.
        !          4823:        (struct nesting): New fields printname and seenlabel.
        !          4824:        * c-typeck.c (c_expand_start_case): Pass new arg to expand_start_case.
        !          4825: 
        !          4826:        * gcc.c: Can now read compilation specs, and asm_spec (etc), from file.
        !          4827:        (cpp_spec, asm_spec, etc.): New variables, initted to corresp. macros.
        !          4828:        (do_spec_1, validate_all_switches): Use the variables, not the macros.
        !          4829:        (link_command_spec): New name for old link_spec.
        !          4830:        (compilers, n_compilers): Now a pointer, with size of vector ptd to.
        !          4831:        (default_compilers): New name for old `compilers' vector.
        !          4832:        (read_specs): Given file name, read specs and add to `compilers'.
        !          4833:        Also set cpp_spec, asm_spec, etc.
        !          4834:        (skip_whitespace): New subroutine.
        !          4835:        (main): Initialize `compilers' from `default_compilers'.
        !          4836:        Find a specs file and call read_specs.
        !          4837:        Search thru `compilers' from back to front.
        !          4838:        * Makefile.in (install): Use gcc -dumpspecs to write a specs file.
        !          4839: 
        !          4840:        * Support multiple installed compilers; find them by
        !          4841:        target machine and version.
        !          4842:        (STANDARD_EXEC_PREFIX): Change to `.../gcc/'.
        !          4843:        (standard_exec_prefix_1): Change to `.../gcc/'.
        !          4844:        (process_command): Options -b and -V set spec_machine, spec_version.
        !          4845:        Option -dumpspecs writes specs file to define cpp_spec, asm_spec, etc.
        !          4846:        Option -dumpversion writes version number.
        !          4847:        (main): Set machine_suffix from spec_machine and spec_version.
        !          4848:        * Makefile.in (libsubdir): New variable, made from libdir.
        !          4849:        (gcc.o): Define DEFAULT_TARGET_MACHINE macro in compilation.
        !          4850:        Change value of STANDARD_EXEC_PREFIX as above.
        !          4851:        (cccp.o): Use libsubdir.
        !          4852:        (install): Install files under $(libsubdir), after making that dir.
        !          4853: 
        !          4854:        * reload.c (decompose): Handle case of pseudo with no hard reg.
        !          4855: 
        !          4856: Wed Sep 27 01:20:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4857: 
        !          4858:        * global-alloc.c: #if 0 handling of REG_NO_CONFLICT notes.
        !          4859: 
        !          4860:        * c-typeck.c (build_c_cast): Implement cast to union type.
        !          4861: 
        !          4862:        * Edit the makefile automatically when necessary.
        !          4863:        * config.gcc: Produce Makefile by editing Makefile.in with sed.
        !          4864:        * Makefile.in: New name for file `Makefile'.
        !          4865:        Comments on editing the file deleted.
        !          4866:        * config/make-*: Various files are inserted by sed into Makefile.
        !          4867: 
        !          4868:        * Provide a way for languages to control printing of function names.
        !          4869:        * toplev.c (error, fatal, announce_function, etc.):
        !          4870:        Use value of decl_printable_name to compute what name to print.
        !          4871:        * stmt.c (init_function_start): Likewise.
        !          4872:        * toplev.c (main): Init that variable.
        !          4873:        (decl_name): New function, used by default.
        !          4874: 
        !          4875:        * explow.c (round_push): Fix typo: return fast if ALIGN is 1.
        !          4876: 
        !          4877:        * flow.c (dump_flow_info): Delete excess arg to fprintf.
        !          4878:        * gcc.c (fatal): Delete excess arg to delete_temp_files.
        !          4879: 
        !          4880:        * expr.c (convert_move): Handle absence of integer truncate insns
        !          4881:        by copying value to a reg (and then using subreg).
        !          4882: 
        !          4883:        * final.c (final_start_function): Do leaf-function register renumbering
        !          4884:        if that is defined for this machine.
        !          4885:        (leaf_renumber_regs, only_leaf_regs_used, leaf_function_p): New fns.
        !          4886: 
        !          4887:        * varasm.c (in_text_section): New function.
        !          4888:        * tm-3b1.h (ASM_OUTPUT_SKIP): Use that.
        !          4889: 
        !          4890:        * stmt.c (case_index_expr_type): New function.
        !          4891: 
        !          4892:        * c-parse.y (maybe_attribute): Don't fail to return a value.
        !          4893: 
        !          4894: Tue Sep 26 02:40:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4895: 
        !          4896:        * Do auto-increments for hard regs.
        !          4897:        * flow.c (mark_used_regs): Do set reg_next_use for hard regs.
        !          4898:        When making an auto-increment for a hard reg, don't mess with
        !          4899:        reg_n_refs or reg_n_sets.
        !          4900:        (try_pre_increment_1): Likewise.
        !          4901: 
        !          4902:        * gcc.c (compilers): -undef inhibits predefined symbols.
        !          4903: 
        !          4904:        * combine.c (subst): In case EQ, prefer ZERO_EXTRACT, not SIGN_EXTRACT.
        !          4905:        * vax.md (jbs, jbc patterns): Write with ZERO_EXTRACT.
        !          4906:        * m88k.md: Likewise.
        !          4907: 
        !          4908:        * Merge C++ changes in stmt.c:
        !          4909:        * Set up an obstack, stmt_obstack.
        !          4910:        (ALLOC_NESTING): Allocate a `struct nesting' on that.  Callers changed.
        !          4911:        (POPSTACK): Use the obstack.
        !          4912:        (init_stmt): New fn: init the obstack.
        !          4913:        (any_pending_cleanup): New fn.
        !          4914:        (expand_start_bindings): Leave outer_cleanups 0 if nothing in it.
        !          4915:        (expand_end_bindings): Preserve some global vars around cleanups.
        !          4916:        After cleanups, if no stack level to restore, do pending pops.
        !          4917:        (fixup_cleanups): Do pending pops after the cleanups.
        !          4918:        (expand_start_case): Don't output a NOTE if already have one.
        !          4919:        (assign_parms): Speed up sizetree computations in common case.
        !          4920:        (init_function_start): Use lang_printable_name for current_function_name.
        !          4921:        (expand_function_end): Don't set REG_FUNCTION_VALUE_P
        !          4922:        for a pseudo reg used to copy into the real return.
        !          4923:        * toplev.c (compile_file): Call init_stmt.
        !          4924: 
        !          4925:        * c-typeck.c (commontype): If one arg is error_mark_node, return other.
        !          4926: 
        !          4927: Mon Sep 25 12:13:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4928: 
        !          4929:        * optabs.c (expand_binop): Handle boolean ops on >SImode with
        !          4930:        several one-word insns.  Put out REG_EQUAL and REG_NO_CONFLICT notes.
        !          4931:        * global-alloc.c (global_conflicts): For each insn, record
        !          4932:        in no_conflict_pairs all the REG_NO_CONFLICT notes of the insn.
        !          4933:        (record_one_conflict): Don't mark a conflict between such a pair.
        !          4934:        * local-alloc.c (block_alloc): Do combine_regs on the sequences
        !          4935:        made by expand_binop for multi-word boolean ops.
        !          4936:        (combine_regs): New arg ALREADY_DEAD is 1 if UREG died prior to INSN.
        !          4937:        (no_conflict_p): New subroutine.
        !          4938:        * combine.c (try_combine): Move REG_NO_CONFLICT notes like REG_INC.
        !          4939:        * flow.c (life_analysis): Don't delete no-op moves
        !          4940:        if they carry REG_EQUAL notes.  These insns are needed later.
        !          4941:        * reload.c (find_dummy_reload): Use actual operands (which may be
        !          4942:        subregs) for most purposes, including checking for overlap.
        !          4943:        (hard_reg_set_here_p): Handle a range of regnos, not just one.
        !          4944: 
        !          4945:        * loop.c (move_movables): Use special techniques to move regs
        !          4946:        used for zero-extension.  Don't combine matching regs; instead,
        !          4947:        just record them in pairs in regs_may_share.
        !          4948:        * global-alloc.c (global_alloc): Digest regs_may_share into a
        !          4949:        vector, reg_may_share.  Then assign matching regs the same allocno.
        !          4950:        (global_alloc): Initialize allocno_n_refs, allocno_live_length,
        !          4951:        allocno_calls_crossed.
        !          4952:        (allocno_compare): Use those new vectors; don't use allocno_reg.
        !          4953:        (find_reg): Use those new vectors.
        !          4954:        Assign hard reg to all the pseudos that share the allocno.
        !          4955: 
        !          4956:        * jump.c (jump_optimize): Two new cases simplify jumping to or
        !          4957:        falling into a test-and-branch after setting the register being tested.
        !          4958:        * jump.c (get_label_before, get_label_after): New functions.
        !          4959:        (do_cross_jump): Use get_label_before.
        !          4960: 
        !          4961: Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          4962: 
        !          4963:        * gnulib2.c (__fixunsdfsi): Defined here, not in gnulib.c.
        !          4964:        * Makefile (LIBFUNCS, LIB2FUNCS): Corresponding change.
        !          4965: 
        !          4966:        * tm-i860.h (SDB_DEBUGGING_INFO): Define this, not SDB_...
        !          4967: 
        !          4968:        * gcc.c (link_spec): Don't specify -lg.
        !          4969:        * tm-alliant.h, tm-convex.h, tm-hp9k3bsd.h, tm-isi68.h, tm-news.h
        !          4970:        * tm-pyr.h, tm-seq386.h, tm-sequent.h, tm-sparc.h, tm-spur.h
        !          4971:        * tm-sun2.h, tm-sun3.h, tm-sun386i.h, tm-tahoe.h, tm-vax.h:
        !          4972:        Make LIB_SPEC link with -lg.
        !          4973:        * tm-harris.h, tm-vaxv.h, tm-vms.h: Turn off inherited LIB_SPEC.
        !          4974: 
        !          4975:        * recog.h (insn_*): Declare these tables `const'.
        !          4976:        (const): Define this as nothing, if not __STDC__.
        !          4977:        * expr.h (insn_gen_function): Declare `const'.
        !          4978:        (const): Define this as nothing, if not __STDC__.
        !          4979:        * genoutput.c (main): In insn-output.c, don't define `const' if
        !          4980:        already defined.
        !          4981: 
        !          4982:        * recog.c (offsettable_nonstrict_memref_p): New function.
        !          4983:        * stmt.c (fixup_var_refs_1): Use that, not offsettable_memref_p.
        !          4984:        * reload.c (find_reloads): Likewise.
        !          4985: 
        !          4986:        * integrate.c (save_for_inline): Set in_nonparm_insns when arrive
        !          4987:        at the first nonparm insn.
        !          4988:        (copy_for_inline): Set TREE_READONLY only if in_nonparm_insns.
        !          4989: 
        !          4990:        * Makefile (float.h): Make hard-params an ordinary dependency.
        !          4991: 
        !          4992:        * c-decl.c (poplevel): When popping a local extern decl,
        !          4993:        save the TREE_USED bit in the identifier.
        !          4994:        * toplev.c (compile_file): Check that, printing "not used" warnings.
        !          4995: 
        !          4996:        * c-parse.y (init_lex): Discard undesired reserved words from table.
        !          4997:        (yylex): No need to check for them at lookup time.
        !          4998: 
        !          4999:        * tree.c (make_node): Always put PARM_DECL in saveable_obstack.
        !          5000: 
        !          5001:        * toplev.c (floor_log2, exact_log2): Rewritten for speed.
        !          5002: 
        !          5003:        * tree.c (listify): New function.
        !          5004: 
        !          5005:        * c-typeck.c (convert_for_assignment): New args for function being
        !          5006:        called and argument number.  Used in error messages.
        !          5007:        (actualparameterlist): Pass those args usefully.
        !          5008:        (wrn_for_assignment): New function.
        !          5009: 
        !          5010:        * loop.c (general_induction_var): Handle give copied from a biv.
        !          5011: 
        !          5012:        * i386.md (div*i3, udiv*i3): New patterns.
        !          5013:        (divmodhi4, udivmodhi4): New patterns.
        !          5014: 
        !          5015:        * combine.c (subst):
        !          5016:        Simplify (sign_extend:M (subreg:N (lshiftrt:M REG CONST) 0))
        !          5017:        when REG was assigned from (zero_extend:M (any:N ...)).
        !          5018:        Make the similar (zero_extend:M ...) case share code.
        !          5019: 
        !          5020:        * expr.c (store_field): A frame-pointer-relative address is stable.
        !          5021: 
        !          5022:        * expr.c (expand_expr): Effectively pass on IGNORE for 2nd op of comma.
        !          5023: 
        !          5024: Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5025: 
        !          5026:        * Version 1.36 released.
        !          5027: 
        !          5028:        * genextract.c (main): Pass `insn' as arg to `fatal_insn_not_found'.
        !          5029: 
        !          5030:        * tahoe.md (casel patterns): Use %@ for operand of .align.
        !          5031:        * tm-tahoe.h (PRINT_OPERAND): %@ prints `1'.
        !          5032:        * tm-harris.h (PRINT_OPERAND): Redefine it; %@ prints `2'.
        !          5033: 
        !          5034:        * config.gcc (decstation): New entry.
        !          5035: 
        !          5036:        * tm-harris.h: New file, using tm-tahoe.h.
        !          5037: 
        !          5038:        * tm-decstatn.h, tm-mips-bsd.h, tm-mips-sysv.h: New files.
        !          5039: 
        !          5040: Sat Sep 23 00:28:14 1989  Alain Lichnewsky  (lich at glenlivet)
        !          5041: 
        !          5042:        * added -Zxxx flag in tm-mips.h. (-Z stands for systype)
        !          5043: 
        !          5044:          used as -ZSYSV or -ZBSD43 on RISC_OS. I suppose
        !          5045:          that at somepoint -ZPOSIX might be required for Ultrix. 
        !          5046: 
        !          5047:        * changed command issued to loader to set -systype and to get
        !          5048:           crt1 crtn instead of crt0.
        !          5049: 
        !          5050:         * changed predefines for cpp to agree with RISC-OS
        !          5051: 
        !          5052:        * tm-mips.h checks for machine type ( defined(ultrix) == DECSTATION)
        !          5053:          so that user does not have to go in and change tm-mips.h anymore
        !          5054: 
        !          5055:        * cpp defines mips host_mips unix and SYSTYPE_SYSV
        !          5056:          or SYSTYPE_BSD43. 
        !          5057: 
        !          5058: Fri Sep 22 00:31:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5059: 
        !          5060:        * pyr.md (andsi3): Flush spurious paren.
        !          5061: 
        !          5062:        * Makefile (hard-params): Don't use LIBS or LIBDEPS.
        !          5063: 
        !          5064:        * rtl.c (init_rtl):
        !          5065:        Use malloc to allocate the string for format of CONST_DOUBLE.
        !          5066:        Don't fail to store in rtx_format.
        !          5067: 
        !          5068: Thu Sep 21 00:33:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5069: 
        !          5070:        * print-tree.c (dump): Move decl of P in REAL_CST case.
        !          5071: 
        !          5072:        * fold-const.c (fold): For ABS_EXPR, handle REAL_IS_NOT_DOUBLE.
        !          5073: 
        !          5074:        * c-convert.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
        !          5075: 
        !          5076:        * mips.md (movdi): Handle constant with or without WORDS_BIG_ENDIAN.
        !          5077:        For alternative 2, output just 2 store insns, not 3.
        !          5078: 
        !          5079:        * dbxout.c (dbxout_symbol): Optionally go to .data for
        !          5080:        a static file-scope variable.
        !          5081:        * tm-vax.h: Define DBX_STATIC_STAB_DATA_SECTION to request this.
        !          5082: 
        !          5083:        * varasm.c (output_constant, force_const_mem):
        !          5084:        ASM_OUTPUT_DOUBLE_INT now takes rtx as argument.
        !          5085: 
        !          5086:        * gvarargs.h [__NeXT__]: Undefine macros defined by stdardg.h.
        !          5087:        Define _VARARGS_H.
        !          5088: 
        !          5089:        * stddef.h (size_t): Don't define it if _SIZE_T macro is defined.
        !          5090:        (NULL): Undef any previous defn.
        !          5091: 
        !          5092:        * cexp.y (NULL): Don't define if already defined.
        !          5093: 
        !          5094:        * emit-rtl.c (force_next_line_note): New function.
        !          5095:        * stmt.c (expand_function_start): Call that just before returning.
        !          5096: 
        !          5097: Wed Sep 20 01:22:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5098: 
        !          5099:        * c-parse.y (asm_clobbers):
        !          5100:        Allow string concatenation: call combine_strings.
        !          5101: 
        !          5102: Mon Sep 18 00:04:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5103: 
        !          5104:        * expr.c (expand_call): If calling const function, don't defer
        !          5105:        pops for this call.
        !          5106: 
        !          5107:        * c-parse.y (yylex): When float constant ends in `f',
        !          5108:        actually truncate to a single-float.
        !          5109: 
        !          5110: Sun Sep 17 01:36:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5111: 
        !          5112:        * gcc.c (SWITCH_TAKES_ARG): -A takes an arg.
        !          5113:        (link_spec): Inhibit start files when -A.
        !          5114: 
        !          5115:        * convex.md (call, call_value): Supply dummy arg to RETURN_POPS_ARGS.
        !          5116: 
        !          5117:        * gnulib2.c (__fixunsdfdi): After removing top half, A can be neg.
        !          5118:        (__cmpdi2, __ucmpdi2): Was misusing macros HIGH and LOW--
        !          5119:        use .s.high and .s.low to extract words from long_long.
        !          5120: 
        !          5121:        * Makefile (gnulib2): Run `./gcc'.
        !          5122: 
        !          5123:        * Makefile (float.h): Use `make', not `$(MAKE)'.
        !          5124:        (hard-params.o): Use `$(srcdir)' in deps as in commands.
        !          5125: 
        !          5126:        * out-tahoe.c (output_move_double): Handle constant operand 1.
        !          5127: 
        !          5128: Sat Sep 16 01:15:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5129: 
        !          5130:        * reload1.c (emit_reload_insns): Put death note for input reload reg
        !          5131:        even if reload was inherited.
        !          5132: 
        !          5133:        * out-i860.c (output_block_move): Typo loading size of block.
        !          5134: 
        !          5135:        * m68k.md (dbra patterns): Do CC_STATUS_INIT.
        !          5136: 
        !          5137:        * cse.c (fold_rtx): Check GET_MODE_CLASS before floating negate.
        !          5138: 
        !          5139: Fri Sep 15 00:39:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5140: 
        !          5141:        * combine.c (subst): Don't combine (subreg (mem))
        !          5142:        if subreg's mode is wider than mem's mode.
        !          5143: 
        !          5144: Thu Sep 14 04:33:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5145: 
        !          5146:        * Makefile (clean): Delete temp files used in making gnulib.
        !          5147: 
        !          5148:        * tm-next.h (LINK_SPEC): Pass -Z and -seglinkedit options.
        !          5149: 
        !          5150: Tue Sep 12 01:06:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5151: 
        !          5152:        * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for ints.
        !          5153: 
        !          5154:        * mips.md (cmpsi + bleu peephole): Should output unsigned insn.
        !          5155: 
        !          5156:        * expmed.c (store_bit_field, extract_bit_field): If loading mem
        !          5157:        into reg for bit field insn, don't use a larger mode than insn wants.
        !          5158: 
        !          5159:        * Makefile (stamp-gnulib2): Depend on gcc, cc1, cpp to avoid
        !          5160:        wrong order of making when parallel.
        !          5161: 
        !          5162:        * Makefile (float.h): Do use $(MAKE) to run recursive make.
        !          5163: 
        !          5164: Mon Sep 11 00:49:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5165: 
        !          5166:        * cccp.c (main): Test for missing arg after -o, etc.
        !          5167: 
        !          5168:        * tm-next.h: Nearly completely new.
        !          5169: 
        !          5170:        * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move after config.h.
        !          5171: 
        !          5172:        * cccp.c: Cast some args to strcpy and strcat.
        !          5173: 
        !          5174:        * genoutput.c (error): Declare arg S.
        !          5175: 
        !          5176:        * tm-pyr.h, pyr.md, out-pyr.c, xm-pyr.h: New files.
        !          5177:        * config.gcc: New item for pyr.
        !          5178: 
        !          5179:        * gvarargs.h: If __pyr__, use va-pyr.h.
        !          5180: 
        !          5181: Sun Sep 10 00:48:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5182: 
        !          5183:        * reload1.c (inc_for_reload): Really return the first of the insns.
        !          5184: 
        !          5185:        * stor-layout.c (build_int): Memoize size nodes for sizes <= 32.
        !          5186: 
        !          5187:        * loop.c (check_dbra_loop): Don't reverse a biv that is used
        !          5188:        in between its update and the loop endtest insn.
        !          5189: 
        !          5190: Sat Sep  9 02:10:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5191: 
        !          5192:        * stor-layout.c (genop): Don't use `combine' for nonexplicit constants.
        !          5193:        Handle some identity elements, etc., directly.
        !          5194:        (layout_basetypes): Function deleted.
        !          5195:        (layout_record): Ignore any TYPE_DECLs in the fieldlist.
        !          5196:        Don't do PCC_BUTFIELD_TYPE_MATTERS hack on field with ERROR_MARK type.
        !          5197:        (layout_union): Delete error check for base types.
        !          5198:        Ignore any TYPE_DECLs in the fieldlist.
        !          5199:        (layout_type): Copy layout info directly into all variants of type.
        !          5200:        Delete unused local `x'.
        !          5201: 
        !          5202:        * mips.md (movdi): Handle constant source operand.
        !          5203:        (movsi): Some output code moved to output_load_immediate.
        !          5204:        * out-mips.c (output_load_immediate): New function.
        !          5205: 
        !          5206:        * config.gcc (iris): Use tm-iris.h and xm-iris.h.
        !          5207: 
        !          5208:        * integrate.c (copy_for_inline): Copy all nonconstant MEM addresses.
        !          5209: 
        !          5210:        * tm-3b1.h (ASM_OUTPUT_SPACE): New override defn, to output explicit
        !          5211:        bytes of 0 if in text segment.
        !          5212: 
        !          5213: Fri Sep  8 19:15:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5214: 
        !          5215:        * combine.c (try_combine): Don't do i3dest stuff if i3 isn't a SET.
        !          5216: 
        !          5217: Thu Sep  7 00:16:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5218: 
        !          5219:        * integrate.c (function_cannot_inline_p): Fn is "not even close"
        !          5220:        only if > 3 * max_insns.
        !          5221: 
        !          5222:        * toplev.c (fatal_insn_not_found): New fn.
        !          5223:        * genextract.c (main): Make insn_extract call that fn.
        !          5224: 
        !          5225:        * integrate.c (expand_inline_function): Don't abort about bad offset
        !          5226:        in a parm whose type is error_mark_node.
        !          5227:        Make another syntax level to hold parm destructors.
        !          5228: 
        !          5229:        * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
        !          5230:        Increment push_loc after, not before, each reg save or restore.
        !          5231:        When storing reg 9 or 29, use offset tsize-4.
        !          5232:        Make tsize larger by 4 initially.
        !          5233:        (STARTING_FRAME_OFFSET): -8, not -4.
        !          5234: 
        !          5235:        * gcc.c (choose_temp_base): Make use of TMPDIR and P_tmpdir
        !          5236:        if they exist.
        !          5237: 
        !          5238:        * toplev.c, gcc.c, cccp.c, gen*.c (fancy_abort):
        !          5239:        New function which can be used to replace `abort'.
        !          5240: 
        !          5241:        * toplev.c (main): Save argv, argc in save_argv, save_argc.
        !          5242: 
        !          5243:        * jump.c (delete_insn): Always advance NEXT across deleted insns,
        !          5244:        in case not optimizing.  Fixes setting current_function_returns_null.
        !          5245: 
        !          5246:        * symout.c: Include stddef.h with <...>.
        !          5247: 
        !          5248: Wed Sep  6 00:39:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5249: 
        !          5250:        * gcc.c (find_exec_file): Was using `argbuf[0]' where wanted `prog'.
        !          5251: 
        !          5252:        * combine.c (combine_instructions): Dont call record_dead_and_set_regs
        !          5253:        if insn has become a NOTE.
        !          5254: 
        !          5255:        * reload.c (combine_reloads): Update reload_when_needed.
        !          5256: 
        !          5257:        * jump.c (delete_insn): If delete label on ADDR_VEC, delete table too.
        !          5258:        (jump_optimize): If ADDR_DIFF_VEC label has 1 ref, delete it and table.
        !          5259: 
        !          5260:        * gunlib2.c (__fixunsdfdi, __floatdfdi): Make the long long,
        !          5261:        and/or its two halves, unsigned.
        !          5262: 
        !          5263:        * reload1.c (reload): When setting double_reg_address_ok,
        !          5264:        require it to be offsettable.
        !          5265:        * out-sparc.c (output_fp_move_double): Now safe to use std
        !          5266:        for all reg+reg addresses.
        !          5267: 
        !          5268:        * vax.md: Add another simplified-casesi pattern for operand 0 constant.
        !          5269: 
        !          5270:        * cse.c (fold_rtx): Don't truncate VAL at end if WIDTH is 0.
        !          5271:        Don't alter WIDTH for that purpose based on the operands.
        !          5272: 
        !          5273:        * stmt.c (warn_if_unused_value): && or || is ok if 2nd op has effect.
        !          5274: 
        !          5275:        * c-parse.y (ALIGNOF unary_expr): Find a larger value if possible.
        !          5276: 
        !          5277:        * reload.c (combine_reloads): Don't combine an output address reload.
        !          5278:        (find_reloads): Call combine_reloads after setting reload_when_needed.
        !          5279:        (find_reloads_address): Update OPERAND if copy the operand.
        !          5280: 
        !          5281:        * cccp.c (macroexpand): Missing arg no error in 1-arg macro if -trad.
        !          5282: 
        !          5283: Tue Sep  5 14:12:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5284: 
        !          5285:        * reload.c (find_dummy_reload): Don't use the output reg if it is
        !          5286:        a fixed reg which can overlap with other regs.
        !          5287: 
        !          5288:        * cse.c (exp_equiv_p): Two vectors must have same length.
        !          5289: 
        !          5290:        * tree.def (WITH_CLEANUP_EXPR): Print-name string was wrong.
        !          5291: 
        !          5292:        * optabs.c (expand_fix): Undo previous change (unsigned conversion).
        !          5293:        It doesn't work.
        !          5294: 
        !          5295:        * gcc.c: Pass -i option to cpp.  It takes an arg.
        !          5296: 
        !          5297:        * cccp.c (cplusplus_include_defaults) [VMS]: Typo in array indices.
        !          5298: 
        !          5299:        * Makefile (gnulib): Create it in tmpgnulib, then rename at the end.
        !          5300: 
        !          5301:        * i860.md (movdi from constant pattern): Fix `st' opcode typos.
        !          5302: 
        !          5303:        * Makefile (hard-params*): Use CCLIBFLAGS, not CFLAGS.
        !          5304: 
        !          5305: Fri Sep  1 03:43:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5306: 
        !          5307:        * tm-i386gas.h (ASM_OUTPUT_ALIGN): .align arg isn't a log, in gas.
        !          5308:        (ASM_OUTPUT_ALIGN_CODE): Align labels, etc. to 4-byte boundary.
        !          5309: 
        !          5310:        * integrate.c (save_for_inline): Delete NOTE_INSN_DELETED notes.
        !          5311: 
        !          5312:        * Makefile (clean): Delete dbr and jump2 dumps.
        !          5313: 
        !          5314:        * Makefile (gnulib, gnulib2): Compile in main dir, not libtemp subdir.
        !          5315:        This avoids trouble with -I options, etc.
        !          5316: 
        !          5317: Thu Aug 31 15:07:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5318: 
        !          5319:        * reload1.c (emit_reload_insns):
        !          5320:        Be specific moving REG_DEAD notes to an output reload.
        !          5321:        Sometimes move them to output-operand-address reloads.
        !          5322: 
        !          5323:        * out-sparc.c (output_fp_move_double): Very cautious about std.
        !          5324:        Use it only for something visibly aligned, or for an array element.
        !          5325: 
        !          5326:        * cccp.c (main) [VMS]: Remove dirs and extension from PROGNAME.
        !          5327:        (pfatal_with_name) [VMS]: Return VMS system call error code as status.
        !          5328:        (cplusplus_include_defaults) [VMS]: Add GNU_GXX_INCLUDE.
        !          5329: 
        !          5330:        * xm-vms.h (FATAL_EXIT_CODE): Now (44 | 0x10000000).
        !          5331: 
        !          5332:        * expr.c (do_store_flag): Allow more values of STORE_FLAG_VALUE.
        !          5333: 
        !          5334:        * gnulib2.c (__fixunsdfdi): Explicitly cast doubles to `long int'
        !          5335:        to avoid infinite recursion.
        !          5336: 
        !          5337: Wed Aug 30 13:28:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5338: 
        !          5339:        * loop.c (skip_consec_insns): Skip NOTEs.
        !          5340: 
        !          5341:        * loop.c (general_induction_var): If G or V is a nonreplaceable giv,
        !          5342:        give up.  If G is allocated here, consider it replaceable.
        !          5343: 
        !          5344:        * stupid.c: Make uid_suid, reg_where_born and reg_where_dead
        !          5345:        vectors of ints, not short.
        !          5346: 
        !          5347: Tue Aug 29 00:21:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5348: 
        !          5349:        * tm-iris.h: Fix typo in formfeed char.
        !          5350: 
        !          5351:        * out-i860.c (singlemove_string): Add missing `.l' to `st', `ld'.
        !          5352: 
        !          5353:        * loop.c (general_induction_var): Don't set G from 2nd op. of MINUS,
        !          5354:        since that would negate the result.
        !          5355: 
        !          5356: Mon Aug 28 00:16:36 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5357: 
        !          5358:        * dbxout.c (dbxout_symbol): When we need a pointer type, don't
        !          5359:        record it in TYPE_POINTER_TO, lest it not live as long as its target.
        !          5360: 
        !          5361:        * tm-hp9k320.h (CPP_PREDEFINES): Delete __hp9000s300 and _HPUX_SOURCE.
        !          5362: 
        !          5363:        * Makefile (gnulib): Deleted stamp-gnulib2 in wrong dir.
        !          5364:        (hard-params.o): Copy it into current dir before compiling.
        !          5365:        (STAGESTUFF): Include the stamp-*.[ch] files.
        !          5366: 
        !          5367: Sun Aug 27 13:59:39 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5368: 
        !          5369:        * out-i860.c (output_size_for_block_move): Typo in CC_KNOW_HI_R31.
        !          5370: 
        !          5371:        * integrate.c (expand_inline_function): Ignore insns to set value reg
        !          5372:        if we don't want the value.
        !          5373: 
        !          5374:        * varasm.c (make_function_rtl, make_decl_rtl): Use DECL_ASSEMBLER_NAME.
        !          5375: 
        !          5376:        * Makefile (stamp-gnulib2): Don't explicitly delete old members,
        !          5377:        just replace them.
        !          5378: 
        !          5379:        * m68k.md, alliant.md (trunchiqi): Use movew if moving from memory
        !          5380:        or from a const_int.
        !          5381: 
        !          5382:        * integrate.c (expand_inline_function): Set first_parm_offset
        !          5383:        later on, after computing the args, in case those args
        !          5384:        contain inline function calls.
        !          5385: 
        !          5386:        * alliant.md (movqi): Like recent change in m68k.md.
        !          5387: 
        !          5388: Sat Aug 26 00:26:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5389: 
        !          5390:        * tm-hp9k320.h (CPP_PREDEFINES): Take out m68k and mc68000.
        !          5391:        * tm-news.h (CPP_PREDEFINES): Add mc68000.
        !          5392: 
        !          5393: Fri Aug 25 15:37:35 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5394: 
        !          5395:        * optabs.c (expand_fix): Can convert to unsigned int
        !          5396:        by subtracting 2**(N-1), converting to signed, and adding 2**(N-1).
        !          5397: 
        !          5398:        * reload.c (find_reloads_address): For out-of-range stack slot,
        !          5399:        reload the displacement into a reg.
        !          5400:        (find_reloads_toplev): For subreg of a reg with a reg_equiv_address,
        !          5401:        turn the whole thing into a memref.
        !          5402: 
        !          5403: Thu Aug 24 14:07:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5404: 
        !          5405:        * c-decl.c (grokdeclarator): If function is declared `extern inline',
        !          5406:        set current_extern_inline.
        !          5407:        (start_function): In that case, set TREE_EXTERN in function decl.
        !          5408:        * toplev.c (rest_of_compilation): In that case, don't really compile.
        !          5409:        (compile_file): Don't output such functions at the end either.
        !          5410: 
        !          5411:        * c-typeck.c (build_function_call): Do set NAME if we have one.
        !          5412: 
        !          5413:        * Prevent any variability in results of qsort.
        !          5414:        * stupid.c (stupid_reg_compare): Compare by regno as last resort.
        !          5415:        * global-alloc.c (allocno_compare): Same idea.
        !          5416:        * local-alloc.c (qty_compare_1): Same idea.
        !          5417:        * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Same idea.
        !          5418: 
        !          5419:        * cccp.c (macroexpand): If read one arg, but it's whitespace,
        !          5420:        consider that 0 args for checking number of args.
        !          5421:        Improve plurals in error messages.
        !          5422: 
        !          5423:        * expr.h (inhibit_defer_pop): New name for current_args_size,
        !          5424:        now declared here.
        !          5425:        (NO_DEFER_POP, OK_DEFER_POP): Moved here.
        !          5426:        * expr.c: Names related to current_args_size renamed.
        !          5427:        (clear_current_args_size): Deleted.
        !          5428:        * stmt.c (expand_function_start): Init inhibit_defer_pop here.
        !          5429: 
        !          5430:        * stmt.c (expand_start_stmt_expr): Do NO_DEFER_POP.
        !          5431:        (expand_end_stmt_expr): Do OK_DEFER_POP, and don't do deferred pops.
        !          5432: 
        !          5433:        * Makefile (c-parse.tab.c): Pass -o option to Bison.
        !          5434: 
        !          5435: Wed Aug 23 23:14:06 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5436: 
        !          5437:        * expmed.c (store_bit_field, extract_bit_field):
        !          5438:        Use GET_MODE_WIDER_MODE to scan possible modes for bestmode.
        !          5439: 
        !          5440:        * Makefile (stamp-gnulib2): Discard error messages from `ar d'.
        !          5441: 
        !          5442: Tue Aug 22 00:31:51 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5443: 
        !          5444:        * final.c (output_source_line): In COFF, don't output `.ln 0'.
        !          5445: 
        !          5446:        * Makefile (stamp-gnulib2): Depend on gnulib.  For parallel make.
        !          5447: 
        !          5448:        * stmt.c (uninitialized_vars_warning): Don't crash if DECL_RTL is 0.
        !          5449: 
        !          5450:        * i386.md (truncdfsf2): Pay attention whether stack top is dead.
        !          5451: 
        !          5452: Mon Aug 21 22:02:40 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5453: 
        !          5454:        * reload1.c (choose_reload_regs): Don't use regno uninitialized,
        !          5455:        in the code that does find_equiv_reg.
        !          5456: 
        !          5457: Sun Aug 20 00:06:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5458: 
        !          5459:        * m68k.md (movqi): Was outputting bad code for areg->mem and mem->areg.
        !          5460: 
        !          5461:        * explow.c (memory_address): Handle a hard reg in wrong reg class.
        !          5462: 
        !          5463:        * stmt.c (expand_function_end): Set REG_FUNCTION_VALUE_P in return
        !          5464:        reg when returning address of structure value block.
        !          5465: 
        !          5466:        * integrate.c (save_for_inline): Preserve integrated bit on insns.
        !          5467: 
        !          5468: Sat Aug 19 14:20:07 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !          5469: 
        !          5470:        * combine.c (subst): Don't change (subreg:M (mem:N ...)) to 
        !          5471:        (mem:M ...) if address is mode-dependent.
        !          5472: 
        !          5473:        * config.gcc: Copy and alter Makefile for any srcdir except `.'.
        !          5474:        In that case, make a .gdbinit as well.
        !          5475: 
        !          5476:        * sparc.md (andcbsi3, iorcbsi3, xorcbsi3): These are not commutative.
        !          5477: 
        !          5478:        * vax.md (cmpv and cmpzv patterns): Use COMPARE, not MINUS.
        !          5479: 
        !          5480: Fri Aug 18 12:24:52 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5481: 
        !          5482:        * alliant.md (movqi): Change move to mov in assembler code.
        !          5483: 
        !          5484:        * integrate.c (expand_inline_function):
        !          5485:        Handle args passed in regs and copied to slots reached via arg ptr.
        !          5486: 
        !          5487:        * out-sparc.c (output_delayed_branch):
        !          5488:        Do alter_subreg on operands of delay insn.
        !          5489: 
        !          5490:        * reload1.c (choose_reload_regs): Look for a reg to share
        !          5491:        before one that we won't share.
        !          5492: 
        !          5493:        * expr.h: Define OPTAB_MUST_WIDEN.
        !          5494:        * optabs.c (expand_binop): Handle that case.
        !          5495:        * expmed.c (expand_shift): Use that when widening lshift to ashift.
        !          5496: 
        !          5497:        * optabs.c (emit_cmp_insn): Use CONST0_RTX, not individual vars.
        !          5498: 
        !          5499:        * gnulib2.c (lsh*di3, ash*di3): Return right away if count is zero.
        !          5500:        Otherwise tried to shift by 32.
        !          5501:        Also replace constant 32 by something symbolic.
        !          5502: 
        !          5503:        * final.c (output_source_line): Output line number in COFF
        !          5504:        even if wrong file.
        !          5505: 
        !          5506: Thu Aug 17 15:16:34 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5507: 
        !          5508:        * Makefile (version.o): Make this a target; specify source file.
        !          5509:        (obstack.o): Likewise.
        !          5510: 
        !          5511:        * config.gcc (i860): New alternative.
        !          5512: 
        !          5513:        * i860.md (movstrsi): Record the alignment as operand 3.
        !          5514:        Renumber following (internal) operands.
        !          5515:        * out-i860.c (output_block_move): Rewrite as in out-sparc.c.
        !          5516:        (output_size_for_block_move): Likewise.  And don't
        !          5517:        subtract alignment from the size.
        !          5518: 
        !          5519: Wed Aug 16 13:27:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5520: 
        !          5521:        * loop.c (combine_movables): Don't combine zero-extend
        !          5522:        registers that live outside the loop.
        !          5523: 
        !          5524:        * integrate.c (expand_inline_function): Use copy_to_mode_reg
        !          5525:        to set up this_struct_value_rtx, to handle sums right.
        !          5526: 
        !          5527:        * Makefile: Use $(srcdir) in bison output files used as deps.
        !          5528:        Supply some missing deps.
        !          5529:        (*.info, doc): *.info files go in srcdir.
        !          5530: 
        !          5531: Tue Aug 15 00:11:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5532: 
        !          5533:        * i860.md, tm-i860.h, out-i860.c: New files.
        !          5534: 
        !          5535:        * c-decl.c (duplicate_decls): Fix bug determining whether NEWDECL
        !          5536:        is a definition or just a decl.
        !          5537:        Combine code to preserve various things from old definition
        !          5538:        through a declaration.
        !          5539: 
        !          5540:        * config.gcc: Scan all args at beginning, setting variables.
        !          5541:        Arg of form -srcdir=... sets srcdir explicitly.
        !          5542:        srcdir now doesn't contain a slash, and is used with a slash.
        !          5543: 
        !          5544:        * Makefile (install): Copy header files and gcc.1 from srcdir.
        !          5545:        But copy float.h from current dir.  (Remove that from USER_H.)
        !          5546:        (various): Use new variable INCLUDES to get the -I options.
        !          5547:        Add -I. at the beginning of these.
        !          5548:        (gnulib, gnulib2): Likewise, use SUBDIR_INCLUDES.
        !          5549:        Also, get source file from srcdir.
        !          5550:        Also, depend on $(CONFIG_H).
        !          5551:        (alloca.o): Get alloca.c from srcdir.
        !          5552: 
        !          5553:        * reload1.c (emit_reload_insns): Bug in last change:
        !          5554:        don't fail to set this_reload_insn.
        !          5555: 
        !          5556:        * Makefile (Bison rules): Specify $(srcdir) for target and source.
        !          5557:        (Explicit C rules): Specify $(srcdir)/ for source in commands.
        !          5558:        Use sed to eliminate `./' in normal case.
        !          5559:        (insn-*.c): Use $(srcdir) to run move-if-change.
        !          5560: 
        !          5561:        * config.gcc: Check . and .. for the sources.
        !          5562:        If in .., use that when making links.
        !          5563:        Also, copy Makefile, alter srcdir in it, and add a VPATH.       
        !          5564: 
        !          5565:        * stmt.c (expand_end_case): When converting CONST_INT index
        !          5566:        to an INTEGER_CST, sign-extend if signed type.
        !          5567: 
        !          5568: Mon Aug 14 13:51:08 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5569: 
        !          5570:        * c-decl.c (duplicate_decls): Warn for qualifier mismatch
        !          5571:        only if pedantic; don't consider it a type mismatch.
        !          5572:        Merge the qualifiers of the two decls if the types match.
        !          5573: 
        !          5574:        * expmed.c (store_bit_field): For insv, memref displacement
        !          5575:        always counts in bytes, regardless of unit fetched.
        !          5576:        When checking predicate of op0, accept any mode.
        !          5577: 
        !          5578:        * optabs.c (expand_float): One call to can_float_p had args backwards.
        !          5579: 
        !          5580:        * loop.c (check_dbra_loop): Set the JUMP_LABEL of the new jump insn.
        !          5581:        Increment label's use count rather than storing 2.
        !          5582: 
        !          5583:        * Makefile: Instead of $<, which fails in certain makes,
        !          5584:        use $@ and then substitute in the name with sed.
        !          5585: 
        !          5586:        * out-sparc.c (output_scc_insn): Handle CC_REVERSED for ordered tests.
        !          5587:        Use orcc insns to store the result and set cc's for it.
        !          5588: 
        !          5589:        * sparc.md (scc combination patterns):
        !          5590:        Use operands[0] as basis for recorded cc value.
        !          5591: 
        !          5592:        * gnulib2.c (floatdidf, fixdfdi, fixunsdfdi): New functions.
        !          5593: 
        !          5594:        * gnulib.c (floatdidf, fixdfdi, fixunsdfdi): Deleted.
        !          5595:        (union longlong, union double_di): Deleted.
        !          5596:        (HIGH, LOW): Deleted.
        !          5597:        These were deleted because most did not handle full range of DI
        !          5598:        and they didn't use the right calling convention for DI.
        !          5599: 
        !          5600: Sun Aug 13 13:06:45 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5601: 
        !          5602:        * c-typeck.c (comptypes): Qualifiers must match.
        !          5603:        (Was already true for scalars.)
        !          5604:        Also, array elt qualifiers must match.
        !          5605: 
        !          5606:        * tm-apollo68.h (STRUCT_VALUE): Make it 0.
        !          5607:        (This was done before and lost.)
        !          5608:        * out-i386.c (function_epilogue): Use ret $4 to pop structure address.
        !          5609:        (This was done before and lost.)
        !          5610: 
        !          5611:        * out-i386.c (call_top_dead_p): Don't fail to check
        !          5612:        the rtx code of the insns themselves.
        !          5613:        (This was done before and lost.)
        !          5614: 
        !          5615:        * out-sparc.c (output_block_move): If align is 8, make it 4.
        !          5616: 
        !          5617:        * typeclass.h: New file.
        !          5618:        * expr.c: Include it.
        !          5619:        (expand_builtin): Use those codes in __builtin_classify_type.
        !          5620: 
        !          5621:        * Makefile (all, lang-c): Reinstall gnulib2.
        !          5622: 
        !          5623:        * Makefile (gnulib2): Don't give up if `ar d' fails.
        !          5624: 
        !          5625:        * expr.c (emit_library_call): New 2nd arg NO_QUEUE.
        !          5626:        All callers changed to pass it.
        !          5627:        * optabs.c (expand_binop, expand_unop): Don't call emit_queue.
        !          5628:        Instead, pass 1 for NO_QUEUE to emit_library_call.
        !          5629: 
        !          5630: Sat Aug 12 12:05:22 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5631: 
        !          5632:        * reload1.c (emit_reload_insns): Decision for where to put input
        !          5633:        reload insn is now common to ordinary case and auto-increment.
        !          5634:        Likewise, updating these positions afterward.
        !          5635: 
        !          5636:        * stmt.c (assign_parms): Treat last named arg as nameless.
        !          5637:        * expr.c (expand_call): Likewise.
        !          5638: 
        !          5639:        * explow.c (copy_to_mode_reg): Use force_operand for PLUS or MULT.
        !          5640:        (copy_addr_to_reg): Use copy_to_mode_reg.
        !          5641: 
        !          5642:        * expmed.c (store_bit_field): Handle case where insv rejects memrefs.
        !          5643: 
        !          5644:        * tm-convex.h (ASM_OUTPUT_ALIGN): Magic to handle the fact
        !          5645:        that this is not called when LOG is 0.
        !          5646: 
        !          5647: Fri Aug 11 16:39:51 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5648: 
        !          5649:        * emit-rtl.c (get_lowpart): For multi-word, in error check,
        !          5650:        test the unit size of the containing mode.
        !          5651: 
        !          5652:        * cccp.c (macroexpand, dump_all_macros): Return void.
        !          5653:        (macroexpand): Cast sprintf arg to char*.
        !          5654:        (error, warning, error_with_line): Declare first arg char*.
        !          5655: 
        !          5656: Thu Aug 10 21:42:13 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !          5657: 
        !          5658:        * expr.c (expand_call):
        !          5659:        Use force_operand to copy arithmetic to register.
        !          5660: 
        !          5661:        * dbxout.c (dbxout_symbol): Go back to N_FUN for const variable.
        !          5662: 
        !          5663:        * integrate.c (expand_inline_function): Use proper machine mode
        !          5664:        for a structure value in memory at address passed by caller.
        !          5665: 
        !          5666: Wed Aug  9 15:21:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5667: 
        !          5668:        * config.gcc: Delete unnecessary variable assignments in case stmt.
        !          5669:        (isi68-nfp): New alternative.
        !          5670: 
        !          5671:        * combine.c (try_combine): Don't substitute for a register
        !          5672:        which is being explicitly clobbered.
        !          5673: 
        !          5674:        * This change was requested for C++.
        !          5675:        * varasm.c (decode_reg_name, make_decl_rtl): Arg ASMSPEC now char *.
        !          5676:        * toplev.c (rest_of_decl_compilation): Likewise.
        !          5677:        * c-decl.c (finish_decl): Change call to rest_of_decl_compilation.
        !          5678: 
        !          5679:        * tree.h (struct tree_decl): Pack machine_mode into 8 bits.
        !          5680: 
        !          5681:        * explow.c (memory_address, copy_to_reg):
        !          5682:        Use force_operand to copy arithmetic to register.
        !          5683: 
        !          5684:        * tm-isi68-nfp.h: New file.
        !          5685:        * tm-isi68.h: Allow overriding TARGET_DEFAULT, and let that
        !          5686:        change CPP_SPEC and LINK_SPEC.
        !          5687:        (ASM_FILE_START): No `.globl fltused' if soft-float.
        !          5688: 
        !          5689: Tue Aug  8 21:50:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5690: 
        !          5691:        * varasm.c (const_hash): For constructor, mask TREE_TYPE to HASHBITS
        !          5692:        bits and take modulo, so we don't get negative numbers.
        !          5693: 
        !          5694:        * varasm.c (record_constant_1, compare_constant_1):
        !          5695:        Record and compare the width of an integer.
        !          5696: 
        !          5697:        * varasm.c (assemble_function, assemble_variable, get_or_assign_label):
        !          5698:        (force_const_mem): Don't call ASM_OUTPUT_ALIGN if boundary is 1.
        !          5699: 
        !          5700:        * c-decl.c (duplicate_decls): Consider const and volatile as part of
        !          5701:        type when checking for match and when installing new type into OLDDECL.
        !          5702: 
        !          5703:        * expr.c (do_store_flag): Make sure target fits operand predicate.
        !          5704:        Also, omit the AND insn when true-value is 1
        !          5705:        and the mode we get is wider than the one we want.
        !          5706: 
        !          5707:        * genrecog.c (main): Make insn-recog.c include real.h.
        !          5708: 
        !          5709: Mon Aug  7 16:58:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5710: 
        !          5711:        * genemit.c (main): Define `operands' as `emit_operands',
        !          5712:        not `recog_operands'.
        !          5713: 
        !          5714:        * reload1.c (emit_reload_insns): Don't copy back a dead output reg.
        !          5715: 
        !          5716: Sun Aug  6 13:56:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5717: 
        !          5718:        * sdbout.c (plain_type_1, sdbout_one_type): Use the main variant.
        !          5719:        (sdbout_type_fields): No need to check TREE_ASM_WRITTEN here,
        !          5720:        since sdbout_one_type does that.
        !          5721: 
        !          5722:        * expr.c (do_store_flag): Ensure the CLOBBER doesn't clobber an input.
        !          5723: 
        !          5724:        * fold-const.c (fold_convert): Attempt to avoid overflow
        !          5725:        when converting real to integer.  Use unsigned conversion for
        !          5726:        low part; always convert as positive and then change sign;
        !          5727:        subtract high part before converting low part.
        !          5728:        Also, check for real values out of range for chosen int type;
        !          5729:        warn and do not convert.
        !          5730: 
        !          5731:        * tm-hp9k320.h (CPP_SPEC) [not HPUX_ASM]: Don't define mc68000 here.
        !          5732:        (CPP_PREDEFINES): Remove mc68k, add m68k and mc68000.
        !          5733:        [HPUX_ASM]: Define CPP_SPEC here as in the other case,
        !          5734:        but add __HPUX_ASM__ to each alternative.
        !          5735: 
        !          5736:        * tm-m68k.h (FUNCTION_EPILOGUE): Call new hook FUNCTION_EXTRA_EPILOGUE.
        !          5737:        * tm-altos3068.h (FUNCTION_EXTRA_EPILOGUE): Define it.
        !          5738: 
        !          5739:        * Makefile: Use $< wherever appropriate.
        !          5740:        Also put definitions of customization vars before the comments
        !          5741:        saying how to override them.
        !          5742: 
        !          5743: Sat Aug  5 14:15:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5744: 
        !          5745:        * i386.md (sne): Typo in opcode name.
        !          5746: 
        !          5747:        * tree.h (struct tree_identifier): Delete redundant/unused error_locus.
        !          5748: 
        !          5749: Fri Aug  4 00:04:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5750: 
        !          5751:        * varasm.c (const_hash, compare_constant_1, record_constant_1):
        !          5752:        Compare types only for record constructors, not for array constructors.
        !          5753: 
        !          5754:        * dbxout.c (dbxout_parms): When outputing parm from home in local slot,
        !          5755:        with address from the RTL, don't do big-endian correction on it.
        !          5756: 
        !          5757:        * c-typeck.c (build_unary_op): Do default conversion for unary +.
        !          5758: 
        !          5759:        * cccp.c (rescan): Accept comments between macro and its args.
        !          5760: 
        !          5761:        * c-decl.c (lang_decode_option): -traditional implies writable strings.
        !          5762: 
        !          5763:        * cccp.c (trigraph_pcp): Make warning msg more accurate.
        !          5764: 
        !          5765:        * c-typeck.c (c_expand_asm_operands): Delete the default promotion
        !          5766:        which was inserted mysteriously since 1.35.
        !          5767: 
        !          5768:        * global-alloc.c (global_conflicts): Allocate regs_set only once.
        !          5769:        Make it twice as big since clobbers are stored twice.
        !          5770: 
        !          5771:        * sparc.md (block move patterns): Record and use alignment operand.
        !          5772:        * out-sparc.c (output_block_move): Get alignment from there.
        !          5773:        (output_size_for_block_move): Greatly simplified.
        !          5774: 
        !          5775:        * tm-i386v.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
        !          5776: 
        !          5777:        * stor-layout.c (layout_record): Anonymous bitfields don't affect
        !          5778:        overall structure alignment, in PCC_BITFIELD_TYPE_MATTERS case.
        !          5779: 
        !          5780:        * loop.c (strength_reduce): Prevent hard reg from becoming biv or giv.
        !          5781: 
        !          5782:        * combine.c (subst): Simplify (eq (neg ...) (const_int 0)).
        !          5783: 
        !          5784: Thu Aug  3 13:08:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5785: 
        !          5786:        * cse.c (fold_rtx): For (op var const) special cases, also check 
        !          5787:        for constant as first argument.
        !          5788: 
        !          5789:        * c-decl.c (pushtag): For global_binding_level, make permanent nodes.
        !          5790: 
        !          5791:        * expr.c (do_store_flag): Put the CLOBBER before the comparison.
        !          5792: 
        !          5793:        * expr.c (emit_push_insn): Conditionalize recent changes
        !          5794:        on no FIRST_PARM_CALLER_OFFSET, so they don't happen on sparc.
        !          5795: 
        !          5796:        * out-sparc.c (gen_scc_insn):
        !          5797:        Don't be confused by CLOBBER emitted by do_store_flag.
        !          5798:        Skip past such insns looking for last_insn.
        !          5799:        Don't alter last_insn; instead, patch it to a NOTE and emit new insn.
        !          5800: 
        !          5801:        * varasm.c (const_hash, compare_constant_1, record_constant_1):
        !          5802:        For a CONSTRUCTOR, hash/compare/record type as well as elts.
        !          5803: 
        !          5804:        * cse.c (cse_insn): July 18 change was wrong.
        !          5805:        Now, invalidate at the beginning any regs explicitly clobbered
        !          5806:        so they will not be substituted for if they appear as inputs.
        !          5807:        * sparc.md (movstrsi): Copy addresses to temp regs, then use them.
        !          5808: 
        !          5809:        * loop.c (record_giv): When comparing life spans for setting
        !          5810:        ->forces, use luids consistently, not uids.
        !          5811: 
        !          5812:        * sparc.md (ashlsi3, ashrsi3, lshrsi3): Truncate constants mod 32.
        !          5813: 
        !          5814: Wed Aug  2 17:50:30 1989  Richard Stallman  (rms at sugar-bombs)
        !          5815: 
        !          5816:        * mips.md (patterns to move a subreg): Deleted.
        !          5817: 
        !          5818: Sun Jul 30 19:23:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5819: 
        !          5820:        * gcc.c (process_command): Skip `-b' like `-B', in 2nd scan.
        !          5821: 
        !          5822:        * xm-sunos4.h: Deleted.
        !          5823:        * tm-sparc.h, tm-sun3.h: Define LINK_SPEC here instead.
        !          5824:        * tm-sun4os3.h: Undef it here.
        !          5825:        * tm-sun3os3.h, tm-sun3os3nf.h: New files to undef LINK_SPEC.
        !          5826:        * config.gcc: Use those new files where needed.
        !          5827: 
        !          5828:        * config.gcc: Delete sun3-fpa and sun3-os4-fpa.
        !          5829:        * tm-sun3-fpa.h: Deleted.
        !          5830: 
        !          5831:        * cccp.c (do_include): Mention even non-ex files for -M.
        !          5832: 
        !          5833:        * out-mips.c (addr_compensate): Handle HImode.
        !          5834:        * mips.md (Set HI from subreg of SI rule):
        !          5835:        Allow operand in memory.
        !          5836: 
        !          5837:        * mips.md (cmpqi, cmphi): Patterns deleted.
        !          5838:        (cmpsi, cmpsf, cmpdf): Change predicates to register_operand.
        !          5839: 
        !          5840:        * cexp.y (rule for ?:): Result is unsigned if either operand is.
        !          5841: 
        !          5842:        * expr.c (emit_push_insn): If PARTIAL > 0, load the partial regs
        !          5843:        at the end, in case the rest of the push does a function call.
        !          5844: 
        !          5845:        * reload1.c (alter_frame_pointer_addresses):
        !          5846:        After altering a PLUS, re-fetch CODE before scanning subexps.
        !          5847: 
        !          5848:        * stmt.c (assign_parms): Don't copy the arg pointer value
        !          5849:        if it is also the frame pointer.  If we do copy it,
        !          5850:        inhibit REG_EQUIV notes for parms copied into pseudo regs
        !          5851: 
        !          5852:        * integrate.c (copy_for_inline, copy_rtx_and_substitute):
        !          5853:        Set up filename and lineno fields of copy of ASM_OPERANDS.
        !          5854: 
        !          5855: Sat Jul 29 18:58:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          5856: 
        !          5857:        * integrate.c (expand_inline_function): Handle struct-value-addr
        !          5858:        passed in memory just like that passed in reg:
        !          5859:        in either case, translate the pseudo-reg made in
        !          5860:        expand_function_start.
        !          5861:        (function_cannot_inline_p): Permit inlining in that case.
        !          5862:        But reject it if using pcc-style return convention.
        !          5863: 
        !          5864:        * stor-layout.c (layout_type): Consider STRICT_ALIGNMENT
        !          5865:        for ARRAY_TYPE just as for RECORD_TYPE.
        !          5866: 
        !          5867: Wed Jul 26 12:54:59 1989  Richard M. Stallman  (rms at mipos3)
        !          5868: 
        !          5869:        * cse.c (fold_rtx): If WIDTH is zero for binary operator,
        !          5870:        look at the modes of the original operands.
        !          5871: 
        !          5872:        * cse.c (cse_insn): Set prev_insn_explicit_cc0, for (set (cc0) INT).
        !          5873:        (predecide_loop_entry): Likewise.
        !          5874:        (fold_rtx): Look at it, for (if_then_else (cc0) ...).
        !          5875: 
        !          5876:        * expr.c (expand_builtin): Pass back return value from
        !          5877:        __builtin_saveregs.
        !          5878: 
        !          5879:        * stmt.c (assign_parms): Allow arg pointer reg not to be fixed.
        !          5880:        If it is not, copy it to a pseudo reg and use that later on.
        !          5881: 
        !          5882: Tue Jul 25 15:42:04 1989  Richard M. Stallman  (rms at mipos3)
        !          5883: 
        !          5884:        * expr.c (expand_builtin): New builtin __builtin_classify_type.
        !          5885:        * tree.h, c-decl.c: Additional support.
        !          5886: 
        !          5887:        * flow.c (mark_used_regs): Treat arg pointer like stack pointer.
        !          5888: 
        !          5889:        * expr.c (emit_library_call):
        !          5890:        Pass (tree)0 as TYPE arg to FUNCTION_ARG, etc.
        !          5891: 
        !          5892: Mon Jul 24 11:18:10 1989  Richard M. Stallman  (rms at mipos3)
        !          5893: 
        !          5894:        * loop.c (regs_match_p): Fix braino.
        !          5895: 
        !          5896:        * integrate.c (copy_for_inline, copy_rtx_and_substitute):
        !          5897:        Make ASM_OPERANDS constraint vector be shared like operand vector.
        !          5898: 
        !          5899:        * xm-iris.h: New file.
        !          5900: 
        !          5901:        * Makefile (stage4): New target.
        !          5902: 
        !          5903:        * gnulib2.c (badd, bsub, bmul, bdiv): If want long value from
        !          5904:        arithmetic, widen the operands first.
        !          5905:        (__div_internal aka bdiv): Rename to __bdiv.
        !          5906: 
        !          5907:        * sparc.md (seq combination patterns): Fully initialize cc_status.
        !          5908: 
        !          5909:        * expr.c (emit_push_insn): Like July 19 change, for BLKmode.
        !          5910: 
        !          5911:        * stmt.c (expand_function_end): Stack-restore for alloca
        !          5912:        is now done after the return_label.
        !          5913: 
        !          5914:        * loop.c (scan_loop): Set MAYBE_NEVER for conditional jump to loopbeg.
        !          5915: 
        !          5916:        * integrate.c (copy_rtx_and_substitute): Allow mapping of hard regs.
        !          5917:        (expand_inline_function): Always create parm_map.
        !          5918:        Handle structure value that way if nec. even if no parms.
        !          5919:        Otherwise, find the pseudo used in the function to hold the
        !          5920:        structure address, and map it to a new pseudo.
        !          5921: 
        !          5922:        * expr.c (expand_call):
        !          5923:        Use mark_addressable to make FNDECL addressable.
        !          5924:        * c-typeck.c (mark_addressable): No longer static.
        !          5925: 
        !          5926:        * cse.c (cse_insn): Modify last change: don't canon_reg
        !          5927:        for hard regs inside clobbers.
        !          5928: 
        !          5929:        * expr.c (expand_assignment): ALIGN arg to store_field comes from
        !          5930:        the structure, not from the value stored.
        !          5931: 
        !          5932: Fri Jul 21 16:23:45 1989  Richard M. Stallman  (rms at mipos3)
        !          5933: 
        !          5934:        * stmt.c (warn_if_unused_value): Don't warn for a cast
        !          5935:        around a MODIFY_EXPR.
        !          5936: 
        !          5937:        * tm-hp9k320.h (PCC_STATIC_STRUCT_RETURN): Undefine it.
        !          5938:        (CPP_PREDEFINES): Add some.
        !          5939: 
        !          5940:        * combine.c (simplify_and_const_int):
        !          5941:        Simplify (and (ashiftrt (zero_extend FOO) N) M).
        !          5942: 
        !          5943:        * optabs.c (expand_binop): When widening,
        !          5944:        for some operations we need not actually extend.
        !          5945: 
        !          5946: Thu Jul 20 16:16:35 1989  Richard M. Stallman  (rms at mipos3)
        !          5947: 
        !          5948:        * Makefile (insn-emit.o): Depend on insn-codes.h.
        !          5949: 
        !          5950:        * stmt.c (check_for_full_enumeration_handling): 
        !          5951:        Handle all cases for TYPE_NAME of enum type.
        !          5952: 
        !          5953: Wed Jul 19 17:00:39 1989  Richard M. Stallman  (rms at mipos3)
        !          5954: 
        !          5955:        * fold-const.c (fold_convert): Don't fail to force_fit_type.
        !          5956: 
        !          5957:        * expr.c (emit_push_insn): When pushing only part of scalar on stack,
        !          5958:        adjust stack offset not to count the words not pushed.
        !          5959: 
        !          5960:        * stmt.c (expand_function_end): Always put return structure address
        !          5961:        in return register.
        !          5962: 
        !          5963:        * c-typeck.c (process_init_constructor): Assume 0 for nameless field.
        !          5964: 
        !          5965:        * recog.c (general_operand, memory_operand):
        !          5966:        Check validity of mem address using the mode of the MEM.
        !          5967: 
        !          5968:        * fixincludes: When calling egrep, use redirect, not -s.
        !          5969: 
        !          5970: Tue Jul 18 11:18:55 1989  Richard M. Stallman  (rms at mipos3)
        !          5971: 
        !          5972:        * Makefile (bootstrap*): Pass value of libdir down.
        !          5973: 
        !          5974:        * cse.c (cse_insn): Do canon_reg on any CLOBBERs and USEs.
        !          5975: 
        !          5976:        * cse.c (cse_insn): Don't use no_labels_between_p to check
        !          5977:        for jump to following label; find following label and compare.
        !          5978: 
        !          5979:        * combine.c (try_combine): Don't substitute into subreg(x)=y
        !          5980:        if modes of x and y are not tieable.
        !          5981: 
        !          5982:        * out-i386.c (call_top_dead_p): Don't fail to check
        !          5983:        the rtx code of the insns themselves.
        !          5984: 
        !          5985:        * i386.md (tstsf, tstdf): Don't discard TOS if not dead.
        !          5986: 
        !          5987:        * stupid.c: Don't use regs with PRESERVE_DEATH_INFO_REGNO_P
        !          5988:        for pseudos which live across jumps or labels.
        !          5989:        (stupid_life_analysis): Update last_jump_suid, last_label_suid.
        !          5990:        (stupid_mark_refs): Use those to set reg_crosses_blocks.
        !          5991:        (stupid_find_reg): Check that data, passed from stupid_life_analysis.
        !          5992: 
        !          5993:        * toplev.c (main): Avoid using caddr_t.
        !          5994: 
        !          5995:        * mips.md (inverted bgeu peephole): Typo in opcode.
        !          5996: 
        !          5997: Mon Jul 17 12:29:45 1989  Richard M. Stallman  (rms at mipos3)
        !          5998: 
        !          5999:        * i386.md (mulb patterns): Turned off due to assembler bug.
        !          6000: 
        !          6001:        * rtl.c (read_name): Use 0, not NULL, for character.
        !          6002: 
        !          6003:        * alliant.md (movqi): Typos in mov opcodes.
        !          6004: 
        !          6005:        * tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
        !          6006:        Use CONST_DOUBLE_LOW, etc. 
        !          6007: 
        !          6008:        * stmt.c (expand_function_end): Check value of EXIT_IGNORE_STACK,
        !          6009:        not just whether defined.
        !          6010: 
        !          6011:        * i386.md (seq, etc.): New patterns.
        !          6012:        * expr.c (do_store_flags): If result is wrong mode, 
        !          6013:        ensure rest of bits are cleared.
        !          6014:        Before storing low part of TARGET, emit a CLOBBER for it.
        !          6015: 
        !          6016:        * i386.md (load address): Use an immediate add if possible.
        !          6017: 
        !          6018:        * i386.md (ashlsi3): Don't generate leal; shift is faster.
        !          6019: 
        !          6020:        * Now struct_value_rtx is 0 to treat it as a parm.
        !          6021:        * expr.c (expand_call): Implement that.
        !          6022:        * integrate.c (expand_inline_function): Don't freak out.
        !          6023:        * tm-apollo68.h (STRUCT_VALUE): Make it 0.
        !          6024: 
        !          6025:        * On 386, called function must pop the structure value address.
        !          6026:        * tm-i386.h (STRUCT_VALUE): Don't change this.
        !          6027:        Address is now pushed but not counted as a parm.
        !          6028:        * out-i386.c (function_epilogue): Use ret $4 to pop that address.
        !          6029:        * output.h: Declare the current_function_... variables.
        !          6030:        * final.c: Include output.h.
        !          6031: 
        !          6032:        * varasm.c (make_decl_rtl): Insert missing `else', validating reg decl.
        !          6033: 
        !          6034: Fri Jul 14 14:12:17 1989  Richard M. Stallman  (rms at mipos3)
        !          6035: 
        !          6036:        * out-sparc.c, out-spur.c (output_move_double):
        !          6037:        Fixed typo, addreg0 => addreg1.
        !          6038: 
        !          6039:        * c-decl.c (lang_decode_option): Handle -fshort-enums.
        !          6040:        (finish_enum): In that case, give enum minimum number of bytes.
        !          6041:        * toplev.c (main): Default flag_short_enums.
        !          6042:        * toplev.c, flags.h (flag_short_enums, flag_signed_char): 
        !          6043:        Define those flags here, not in c-decl.c and c-tree.h.
        !          6044: 
        !          6045:        * i386.md (mulqi3, umulqi3): New patterns.
        !          6046: 
        !          6047:        * c-convert.c (convert_to_integer): Tighter restrictions on
        !          6048:        distributing truncation through max, min, and multiplication.
        !          6049:        If operands were extended from unsigned, make the operation
        !          6050:        unsigned.
        !          6051: 
        !          6052:        * cccp.c (main): Fix bug where #include <...>, when -I- was used,
        !          6053:        failed to search standard dirs and/or searched some dirs
        !          6054:        intended only for #include "...".
        !          6055: 
        !          6056:        * tm-mips.h (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE):
        !          6057:        Increment push_loc after store or load, not before.
        !          6058: 
        !          6059: Thu Jul 13 11:24:30 1989  Richard M. Stallman  (rms at mipos3)
        !          6060: 
        !          6061:        * emit-rtl.c (add_insn_after): Don't update last_insn
        !          6062:        if insn is in a sequence.  Instead, update end of sequence.
        !          6063: 
        !          6064:        * stmt.c (fixup_var_refs): Update end of stacked sequence.
        !          6065: 
        !          6066:        * stmt.c (expand_function_start): Set result rtl before assign_parms.
        !          6067: 
        !          6068:        * optabs.c (emit_unop_insn): Set PREV_INSN after preliminaries.
        !          6069: 
        !          6070:        * stmt.c (warn_if_unused_value): Do CONVERT_EXPR like NOP_EXPR.
        !          6071: 
        !          6072:        * stmt.c (expand_function_start): Make sure parm_birth_insn
        !          6073:        is a NOTE.
        !          6074: 
        !          6075:        * Makefile (clean): Delete tmp-insn-*.
        !          6076: 
        !          6077: Wed Jul 12 14:24:12 1989  Richard M. Stallman  (rms at mipos3)
        !          6078: 
        !          6079:        * i386.md (mulqi3): Restrict operand 2 to `q' reg.
        !          6080: 
        !          6081:        * reload1.c (choose_reload_regs): Check HARD_REGNO_MODE_OK
        !          6082:        for regs to be inherited.
        !          6083:        Also check HARD_REGNO_MODE_OK at end for modes of both
        !          6084:        reload_in and reload_out as well as reload_mode.
        !          6085: 
        !          6086:        * Makefile (maketest): Update for config subdir.
        !          6087: 
        !          6088: Tue Jul 11 16:29:57 1989  Richard M. Stallman  (rms at mipos3)
        !          6089: 
        !          6090:        * integrate.c (copy_decl_tree): Copy TREE_USED of each LET_STMT.
        !          6091: 
        !          6092:        * make-cc1.com: Changes by Angel Li.
        !          6093:        Define variables CC, CFLAGS, LDFLAGS, LIBS.
        !          6094:        Use LIBR library, not LIB.  Specify a /INC in CFLAGS.
        !          6095:        Use MCR to run the gen* files.  Add some comments.
        !          6096:        * make-cccp.com: Similar.
        !          6097:        * config-gcc.com: New file.
        !          6098: 
        !          6099:        * stmt.c (assign_parms): Compute parm alignment from passed type.
        !          6100: 
        !          6101:        * c-typeck.c (actualparameterlist): Instead of truncating
        !          6102:        and then promoting for PROMOTE_PROTOTYPES, go straight to int.
        !          6103: 
        !          6104:        * c-parse.y (setspecs): Save old current_declspecs on a stack.
        !          6105:        (decl, component_decl): Restore from that stack.
        !          6106: 
        !          6107: Wed Jul  5 15:01:00 1989  Richard Stallman  (tiemann at yahi)
        !          6108: 
        !          6109:        * tm-aix386.h, xm-aix386.h: New files.
        !          6110: 
        !          6111:        * loop.c (check_dbra_loop): Handle either test or compare
        !          6112:        for insn two before loop end; detect and reject anything else.
        !          6113: 
        !          6114:        * expr.c (expand_call, expand_builtin): If alloca is done,
        !          6115:        set current_function_calls_alloca.
        !          6116:        * stmt.c (expand_function_end): If so, generate code to save and
        !          6117:        restore the stack pointer, if not EXIT_IGNORE_STACK.
        !          6118: 
        !          6119:        * ns32k.md (movsi): Fixes for moving from fp or sp.
        !          6120: 
        !          6121:        * tm-mips.h (ASM_OUTPUT_ASCII): Start new .ascii every 256 chars.
        !          6122: 
        !          6123: Tue Jul  4 11:01:00 1989  Richard Stallman  (tiemann at yahi)
        !          6124: 
        !          6125:        * reload1.c (choose_reload_targets): Don't depend on
        !          6126:        reload_spill_index when cancelling invalid inheritance.
        !          6127:        Also, abort if trying to preserve death info
        !          6128:        on a spill reg used in operand addressing.
        !          6129: 
        !          6130:        * fold-const.c (fold): Don't fold "foo"[n] here.
        !          6131:        * expr.c (expand_expr): Do it here.
        !          6132:        Handle wide strings correctly.
        !          6133: 
        !          6134:        * i386.md (movsf,movdf): Disallow mem-mem moves.
        !          6135:        Enable mem-to-reg moves.
        !          6136: 
        !          6137:        * c-decl.c (finish_{struct,enum}): Warn if inside parm decls.
        !          6138:        (in_parm_level_p, declare_parm_level): Record when inside.
        !          6139:        * c-parse.y (parmlist, parmlist_or_identifiers): Call
        !          6140:        declare_parm_level.
        !          6141: 
        !          6142:        * c-decl.c (parmlist_tags_warning): Revise warning message text.
        !          6143: 
        !          6144:        * tm-hp9k320.h (ASM_SPEC): Pass -V switch to assembler.
        !          6145: 
        !          6146:        * tm-sun386.h (ASM_START_FILE): Truncate filename to 14 chars.
        !          6147: 
        !          6148:        * c-typeck.c (decl_constant_value): Use only literal values.
        !          6149: 
        !          6150: Sat Jul  1 17:29:54 1989  Richard Stallman  (tiemann at yahi)
        !          6151: 
        !          6152:        * integrate.c (copy_rtx_and_substitute): Don't make nested SUBREGs.
        !          6153: 
        !          6154:        * stmt.c (expand_function_start): Set new global
        !          6155:        current_function_returns_pointer.
        !          6156: 
        !          6157:        * stmt.c (get_frame_size): Return the size, not the offset.
        !          6158:        * integrate.c (expand_inline_function): When setting FP_DELTA,
        !          6159:        compensate for this change.
        !          6160:        * tm-alliant.h,tm-mips.h,tm-sparc.h,tm-tahoe.h
        !          6161:        (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Compensate.
        !          6162: 
        !          6163:        * out-mips.c (function_arg): Return 0 for BLKmode.
        !          6164: 
        !          6165:        * tm-mips.h (FUNCTION_INCOMING_ARG): Delete; no register windows.
        !          6166:        * out-mips.c (function_inarg): Delete; no longer used.
        !          6167: 
        !          6168:        * mips.md (addsi3): Use register_operand for operands 0,1.
        !          6169:        (load address): New pattern, following movsi.
        !          6170:        (fix_trunc*): Use trunc insn, not cvt.
        !          6171:        (cmpfs + bgt peephole): Operands were backwards in template.
        !          6172: 
        !          6173:        * gcc.c (main): Record in explicit_link_files which input files go
        !          6174:        straight to linker.  If linker is not run, complain about them.
        !          6175:        (execute): Increment execution_count, to show we were called.
        !          6176: 
        !          6177:        * gcc.c (validate_all_switches): Check ASM_SPEC, CC1_SPEC, etc.,
        !          6178:        so we find all switches that could be valid.
        !          6179: 
        !          6180:        * varasm.c (output_constructor): Position fields according to
        !          6181:        DECL_OFFSET; don't try to compute alignment here.
        !          6182: 
        !          6183:        * tm-sparc.h (PCC_BITFIELD_TYPE_MATTERS): Define this.
        !          6184: 
        !          6185:        * reload1.c (emit_reload_insns): Fix stupid error in last change.
        !          6186: 
        !          6187:        * c-decl.c (duplicate_decls): If redeclaring builtin, give error is
        !          6188:        type mismatched; otherwise warn only if -W.
        !          6189: 
        !          6190:        * jump.c (jump_back_p): Verify that PREV is not null.
        !          6191: 
        !          6192: Mon Jun 26 13:50:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6193: 
        !          6194:        * reload1.c (choose_reload_regs): If number of reloads needing
        !          6195:        spill regs exceeds n_spills, don't inherit any reloads.
        !          6196: 
        !          6197:        * sdbout.c (sdbout_record_type_name): Dumb error in last change.
        !          6198: 
        !          6199:        * reload1.c (emit_reload_insns): Extend last change: don't use
        !          6200:        equiv reg if reg is in use at same stage of insn, either.
        !          6201: 
        !          6202: Sun Jun 25 00:00:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6203: 
        !          6204:        * reload1.c (emit_reload_insns): Don't use an equivalent register
        !          6205:        to reload from, if that register was used for reloading
        !          6206:        earlier in this insn.
        !          6207: 
        !          6208:        * sdbout.c (sdbout_record_type_name): Handle a TYPE_DECL as the
        !          6209:        type name.  Get rid of TYPE_TAG_NAME as separate macro.
        !          6210: 
        !          6211:        * optabs.c (emit_cmp_insn): Args to memcmp are addresses, not blocks.
        !          6212: 
        !          6213:        * reload1.c (choose_reload_regs): Typo, clearing reload_override_in.
        !          6214: 
        !          6215:        * tm-i386.h: Add register classes SIREG and DIREG.
        !          6216:        (enum reg_class, REG_CLASS_NAMES): Define class names.
        !          6217:        (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Define their contents.
        !          6218:        (REG_CLASS_FROM_LETTER): Define letters `S' and `D'.
        !          6219: 
        !          6220: Sat Jun 24 00:17:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6221: 
        !          6222:        * c-decl.c (keep_next_level): New function.
        !          6223:        (struct binding): New slot `keep' says make a LET_STMT for this level.
        !          6224:        (pushlevel, poplevel): Implement that.
        !          6225:        * c-parse.y (stmt exprs): Call keep_next_level.
        !          6226: 
        !          6227:        * sdbout.c (plain_type_1): Handle REFERENCE_TYPE, METHOD_TYPE.
        !          6228:        Correct for size less than 0.
        !          6229:        (plain_type): Correct for size less than 0.
        !          6230: 
        !          6231:        * global-alloc.c (mark_reg_set): For CLOBBERs, call mark_reg_clobber.
        !          6232: 
        !          6233:        * reload1.c (order_regs_for_reload): Among regs explicitly used,
        !          6234:        prefer those used less often.
        !          6235: 
        !          6236:        * reload1.c (choose_reload_regs): If we find alternate place
        !          6237:        to reload from, verify it after all reloads assigned.
        !          6238:        New variable reload_override_in used for this.
        !          6239: 
        !          6240:        * combine.c (record_dead_and_set_regs): Look inside SIGN_EXTEND and
        !          6241:        STRICT_LOW_PART for place being set.
        !          6242:        (subst): When using reg_last_set to find what a register contains,
        !          6243:        verify the entire register was set.
        !          6244: 
        !          6245:        * toplev.c (rest_of_decl_compilation): Report invalid register name.
        !          6246: 
        !          6247: Fri Jun 23 13:19:41 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6248: 
        !          6249:        * tm-hp9k3bsd.h: New file.
        !          6250:        * config.gcc: New target hp9k320-bsd.
        !          6251: 
        !          6252:        * gcc.c (record_temp_file): Don't add a name twice to one queue.
        !          6253: 
        !          6254:        * stmt.c (expand_expr_stmt): Call warn_if_unused_value.
        !          6255:        (warn_if_unused_value): Code extracted from expand_expr_stmt.
        !          6256:        Recurse to handle COMPOUND_EXPR.  Don't warn about COND_EXPR.
        !          6257: 
        !          6258:        * tm-encore.h (DBX_REGISTER_NUMBER): Override tm-ns32k.h;
        !          6259:        return operand unchanged.
        !          6260: 
        !          6261:        * reload1.c (emit_reload_insns): Don't use recog_memoized
        !          6262:        on an asm.
        !          6263: 
        !          6264:        * jump.c (delete_insn): Update last_insn.
        !          6265:        * emit-rtl.c (set_last_insn): New function.
        !          6266: 
        !          6267:        * reload1.c (reload): Put a note at end of insn chain.
        !          6268: 
        !          6269:        * gcc.c: Put cpp output of .S file into a .s file.
        !          6270: 
        !          6271: Thu Jun 22 22:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6272: 
        !          6273:        * optabs.c (expand_binop, expand_unop): Emit queue before library call.
        !          6274:        It is done within emit_library_call, and cse screws up if there is a
        !          6275:        queued insn in the middle of a cse-able sequence.
        !          6276: 
        !          6277: Wed Jun 21 11:57:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6278: 
        !          6279:        * tm-mips.h (CPP_PREDEFINES): Define -Dunix.
        !          6280: 
        !          6281:        * reload.c (combine_reloads): Combined reload needed for entire insn.
        !          6282: 
        !          6283:        * c-parse.y (yylex): Braino checking for out-of-range escape seq.
        !          6284: 
        !          6285:        * stor-layout.c (layout_union): Handle PCC_BITFIELD_TYPE_MATTERS.
        !          6286:        (layout_struct): Don't let a bitfield cross the storage unit
        !          6287:        of its type, if PCC_BITFIELD_TYPE_MATTERS.
        !          6288: 
        !          6289: Tue Jun 20 00:03:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6290: 
        !          6291:        * varasm.c (get_or_assign_label): Let CONSTANT_ALIGNMENT specify
        !          6292:        alignment of the constant.
        !          6293:        CONSTANT_ALIGNMENT is a new optional macro.
        !          6294: 
        !          6295:        * varasm.c (force_const_mem, get_or_assign_label):
        !          6296:        Make buffer bigger.
        !          6297: 
        !          6298:        * toplev.c (print_target_switch_defaults): New fn called for -version.
        !          6299: 
        !          6300:        * toplev.c (compile_file): Detect error closing output file.
        !          6301: 
        !          6302:        * stor-layout.c (fixup_unsigned_type): Don't shift by 32.
        !          6303: 
        !          6304:        * stmt.c (emit_case_nodes): Pass UNSIGNEDP along to emit_cmp_insn.
        !          6305: 
        !          6306:        * stmt.c (expand_end_case): If index is narrow and cannot be
        !          6307:        directly compared, widen it just once.
        !          6308: 
        !          6309:        * c-parse.y (yylex): Support multi-character constants.
        !          6310:        Thorough rewrite of char constant parsing.
        !          6311: 
        !          6312:        * c-decl.c (pushdecl): Replace local extern function decl with
        !          6313:        previous global decl if latter is inline, or builtin, or has
        !          6314:        more arg type info.
        !          6315: 
        !          6316:        * hard-params.c (xmalloc): Define it, for alloca.c.
        !          6317: 
        !          6318:        * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Override -D in Makefile.
        !          6319: 
        !          6320:        * expmed.c (store_fixed_bit_field): Avoid shift by 32.
        !          6321: 
        !          6322:        * stmt.c (expand_function_start): Emit a NOTE_INSN_FUNCTION_BEG.
        !          6323:        * final.c (final_scan_insn): For SDB output, do the
        !          6324:        sdbout_begin_function at that note.
        !          6325: 
        !          6326:        * reload1.c (choose_reload_regs): If a reload reg inherits
        !          6327:        from a previous reload, verify safety after all reloads are assigned.
        !          6328: 
        !          6329:        * c-decl.c (build_enumerator): Remove no-op casts.
        !          6330: 
        !          6331:        * reload.c (find_reloads): If an earlyclobber operand matches
        !          6332:        an input operand it is constrained to match, that's not a problem.
        !          6333:        If an earlyclobber operand loses due to earlyclobber, its matching
        !          6334:        input operand also loses.
        !          6335: 
        !          6336:        * reload1.c (choose_reload_regs): Don't use result of find_equiv_reg
        !          6337:        if that reg is used for reloading in an earlier part of the insn.
        !          6338: 
        !          6339:        * cse.c (fold_rtx): If WIDTH is 0, don't try sign-extending ARG0, ARG1.
        !          6340: 
        !          6341:        * Makefile (hard-params*): Use $(OLDCC).
        !          6342: 
        !          6343:        * c-typeck.c (c_alignof): No warning for -pedantic.
        !          6344: 
        !          6345:        * c-parse.y (readescape): Don't have both error and warning
        !          6346:        on one hex escape.
        !          6347: 
        !          6348:        * c-parse.y (yylex): Treat vertical tab as white space.
        !          6349:        (skip_white_space): Likewise.
        !          6350: 
        !          6351:        * c-parse.y (datadef): If pedantic, warn for stray semicolon.
        !          6352: 
        !          6353:        * expr.c (expand_increment): Pass accurate unsignedp arg
        !          6354:        to expand_binary_op.
        !          6355: 
        !          6356: Mon Jun 19 13:36:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6357: 
        !          6358:        * config.gcc (news, news-gas): Use xm-m68k.h.
        !          6359: 
        !          6360:        * final.c (output_asm_label, output_addr_const): Make buf bigger.
        !          6361: 
        !          6362:        * cexp.y (main): Handle EOF on input.
        !          6363:        (lookup, warning): Provide as a dummy.
        !          6364:        (is_idchar, is_idstart): Declare as unsigned char.
        !          6365: 
        !          6366:        * cexp.y (parse_escape): Use TARGET_NEWLINE, etc., as values.
        !          6367:        Support hex escapes.  Warn if octal or hex escape doesn't fit in char.
        !          6368: 
        !          6369:        * cexp.y (yylex): Sign-extend char constants if appropriate.
        !          6370: 
        !          6371:        * genemit.c: Make insn-emit.c include insn-flags.h.
        !          6372: 
        !          6373:        * gcc.c: Move record_temp_file past page which declares vflag.
        !          6374: 
        !          6375:        * integrate.c (expand_inline_function): If copying an insn with
        !          6376:        a REG_EQUIV note, make a similar note.
        !          6377: 
        !          6378:        * Allow reload regs to be reused for parts of an insn.
        !          6379:        * reload.c (find_reloads): Classify each reload for which part
        !          6380:        of the insn it is needed in.
        !          6381:        (find_reloads_address, etc.): Pass down the overall operand
        !          6382:        that this is part of, to record it on address reloads.
        !          6383:        (push_reload): Record that for each reload.
        !          6384:        * reload1.c (reload): Compute maximum needs of any part of the insn.
        !          6385:        (choose_reload_regs): Part of old choose_reload_targets.
        !          6386:        Hairier criteria for inheriting reloads and for which ones are
        !          6387:        available for the next insn to inherit.
        !          6388:        (emit_reload_insns): The rest of old choose_reload_targets.
        !          6389:        Emit reload insns in proper order according to where they are needed.
        !          6390:        * Record `reload_reg_in_use' separately for each part of the insn.
        !          6391:        (mark_reload_reg_in_use): New function.
        !          6392:        (reload_reg_free_p, reload_reg_free_before_p): New functions.
        !          6393:        (reload_reg_reaches_end_p): New function.
        !          6394: 
        !          6395:        * expr.c (expand_expr): Emit queue in X+=(Y?Z:A) optimization.
        !          6396: 
        !          6397:        * rtlanal.c (rtx_equal_p): Check vectors have same length.
        !          6398: 
        !          6399: Sun Jun 18 12:16:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6400: 
        !          6401:        * stmt.c (expand_expr_stmt): Maybe warn if top-level operator
        !          6402:        makes an unused result.
        !          6403: 
        !          6404:        * gcc.c (delete_temp_files, delete_failure_queue):
        !          6405:        If -v, report failures in unlink.
        !          6406: 
        !          6407:        * Makefile (includes): New target to run fixincludes.
        !          6408:        (install): Swap arms of if-statement.
        !          6409: 
        !          6410: Sat Jun 17 12:41:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6411: 
        !          6412:        * stor-layout.c (layout_union): Arg to error_with_decl was missing.
        !          6413: 
        !          6414:        * ns32k.md (movsf): Use CONST_DOUBLE_LOW to extract from CONST_DOUBLE.
        !          6415: 
        !          6416:        * loop.c (consec_sets_giv): Change type of force, force2.
        !          6417: 
        !          6418:        * combine.c (dump*): Declare arg as FILE*.
        !          6419: 
        !          6420:        * Makefile (clean): Delete hard-params.
        !          6421: 
        !          6422:        * flow.c (life_analysis): Use a special obstack for the temporary
        !          6423:        regsets.
        !          6424: 
        !          6425:        * m68k.md (clr pattern): On 68000, use moveq to clear data reg.
        !          6426: 
        !          6427:        * gvarargs.h: File varargs.h renamed.
        !          6428:        The old name conflicted with <varargs.h>, now that -I. is used.
        !          6429:        * tree.c, expr.c, emit-rtl.c: Change #include commands.
        !          6430:        * Makefile (install): Install gvarargs.h under name varargs.h.
        !          6431:        * gcc.c: Include gvarargs.h, not system's varargs.h.
        !          6432: 
        !          6433:        * Makefile: Use -I$(srcdir) before -I$(srcdir)/config.
        !          6434:        * config/tm.h: Deleted; didn't work if config was a symlink.
        !          6435: 
        !          6436:        * cse.c (cse_insn): Record location of inner_dest
        !          6437:        so it can be replaced properly if a new MEM rtx is made.
        !          6438: 
        !          6439: Fri Jun 16 14:17:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6440: 
        !          6441:        * make-cc1.com: Compile and link rtlanal.c.
        !          6442: 
        !          6443:        * c-typeck.c (build_array_ref): Call fold on the array ref.
        !          6444:        * fold-const.c (fold): Simplify array ref of string constant.
        !          6445: 
        !          6446:        * stmt.c (expand_asm_operands): Fix error message.
        !          6447: 
        !          6448:        * Makefile (gnulib2): Remove old members before compiling new.
        !          6449:        Fix stupid errors.
        !          6450:        * gnulib2.c (__cmpdi2, __ucmpdi2): Typos in names of interface unions.
        !          6451: 
        !          6452:        * genconfig.c (main): Don't write MAX_CLOBBERS_PER_INSN; obsolete.
        !          6453:        Add 3 to MAX_RECOG_OPERANDS.
        !          6454: 
        !          6455:        * cse.c (fold_cc0): Extra arg specifies machine mode.
        !          6456:        Callers changed.
        !          6457:        (cse_insn): Record original mode of each src for this purpose.
        !          6458: 
        !          6459: Thu Jun 15 12:35:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6460: 
        !          6461:        * gnulib2.c (_cmpdi2, _ucmpdi2): Moved here from gnulib.c.
        !          6462:        Use long long for argument type.
        !          6463: 
        !          6464:        * rtlanal.c (may_trap_p): Moved here from loop.c.
        !          6465:        Return 1 for division by explicit zero.
        !          6466: 
        !          6467:        * reload1.c (eliminate_frame_pointer, alter_frame_pointer_addresses):
        !          6468:        Rerecognize insns which are changed by this.
        !          6469: 
        !          6470:        * i386.md (call_value): Don't return prematurely.
        !          6471: 
        !          6472:        * alliant.md (movqi): Handle moving Aregs to mem and vice versa.
        !          6473:        (bftst -> btst): Restrict to bitpos less than 8
        !          6474:        so operand may be non-offsettable.
        !          6475:        (nop): New pattern.
        !          6476:        (return): Was disabled; now deleted.
        !          6477:        * tm-alliant.h (PRINT_OPERAND_PUNCT_VALID_P): Define it.
        !          6478:        * out-alliant.c (output_btst): Same change as in out-m68k.c
        !          6479: 
        !          6480:        * alliant.md, out-alliant.c: Offsetable -> offsettable.
        !          6481: 
        !          6482:        * c-parse.y (rule for stmt_exprs): Make the LET_STMT volatile. 
        !          6483: 
        !          6484:        * c-decl.c (duplicate_decls): Don't save inline function data
        !          6485:        from previous definition if a new *definition* is seen.
        !          6486: 
        !          6487:        * integrate.c (access_parm_map): Handle subregs and constants.
        !          6488: 
        !          6489:        * stmt.c (expand_return): Don't crash if DECL_RTL (DECL_RESULT()) is 0.
        !          6490: 
        !          6491:        * tm-tahoe.h (LONGJMP_RESTORE_FROM_STACK): Define it.
        !          6492: 
        !          6493:        * tm-mips.h (CONSTANT_P): Deleted; duplicates rtl.h.
        !          6494: 
        !          6495: Fri Jun  9 01:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6496: 
        !          6497:        * Makefile (float.h): Avoid using $(MAKE).
        !          6498: 
        !          6499:        * Don't cram two things into STMT_BODY of a LET_STMT.
        !          6500:        * tree.h (struct bind_stmt): New field, subblocks.
        !          6501:        (STMT_SUBBLOCKS): New macro to access it.
        !          6502:        * print-tree.c (walk): Print new field.
        !          6503:        * tree.c (build_let_stmt): Store the old BODY arg into subblocks field.
        !          6504:        * c-parse.y (stmt expr rule): Put rtl expr alone into body field.
        !          6505:        * dbxout.c (dbxout_block): Recurse on subblocks, not body.
        !          6506:        * sdbout.c, symout.c: Likewise.
        !          6507:        * integrate.c (copy_decl_tree): Likewise.
        !          6508:        * stmt.c (setjmp_protect, uninitialized_vars_warning): Likewise.
        !          6509:        * expr.c (expand_expr): For LET_STMT, simply use its body.
        !          6510: 
        !          6511:        * machmode.def: Add sixth arg to each entry.
        !          6512:        * tree.h, rtl.h, rtl.c: Add arg to DEF_MACHMODE.
        !          6513:        * rtl.h (GET_WIDER_MODE): New macro; table in rtl.c.
        !          6514:        * expr.c (expand_expr): Use that for widening multiply.
        !          6515: 
        !          6516:        * stmt.c (fixup_var_refs_1): When converting MEM to QImode for
        !          6517:        bit field, adjust the address if possible to make bitpos
        !          6518:        less than 8.
        !          6519:        * m68k.md (bftst -> btst): Restrict to bitpos less than 8
        !          6520:        so operand may be non-offsettable.
        !          6521: 
        !          6522:        * cccp.c (do_line): Accept and pass on 3rd arg for enter or leave file.
        !          6523: 
        !          6524:        * out-m68k.c (output_btst): Handle COUNT bigger than size of unit.
        !          6525: 
        !          6526:        * cccp.c (CHECK_DEPTH): Macro to detect instack overflow.
        !          6527:        (finclude, macroexpand, expand_to_temp_buffer): Use that.
        !          6528: 
        !          6529:        * cccp.c (rescan): Don't check for disabled macro if traditional.
        !          6530:        (macroexpand): Don't disable macro if traditional.
        !          6531: 
        !          6532:        * sdbout.c (sdbout_one_type): Take out last change; assembler barfs.
        !          6533: 
        !          6534:        * c-parse.y (maybe_attribute): Eliminate #-syntaxes.
        !          6535:        Make ATTRIBUTE the name for __attribute.
        !          6536: 
        !          6537:        * c-parse.gperf: Add __attribute{,__} and __signed{,__}.
        !          6538:        * c-parse.y: Install results of that change.
        !          6539: 
        !          6540:        * Fix bug in sizeof ({...}).
        !          6541:        * c-decl.c (poplevel): Set TREE_USED.  Return the LET_STMT.
        !          6542:        * c-parse.y (stmt-expr rule): Put the RTL_EXPR in the LET_STMT,
        !          6543:        clear its TREE_USED, and use it as the result.
        !          6544:        * expr.c (expand_expr): Allow LET_STMT as an expr.
        !          6545:        Set its TREE_USED and expand the TREE_VALUE of its body.
        !          6546:        * dbxout.c (dbxout_block): Ignore LET_STMT if TREE_USED not set.
        !          6547:        * sdbout.c, symout.c: Likewise.
        !          6548: 
        !          6549: Thu Jun  8 00:06:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6550: 
        !          6551:        * c-parse.y (yylex): Extend ERANGE-inhibitor for 0.0
        !          6552:        to 0.0e0 as well.
        !          6553: 
        !          6554:        * flow.c (life_analysis): Prevent allocation of regs live at setjmp
        !          6555:        on certain machines.  Controlled by LONGJMP_RESTORE_FROM_STACK.
        !          6556:        Sets reg_live_length to -1.
        !          6557:        * local-alloc.c (block_alloc): Be prepared for that.
        !          6558:        * tm-vax.h (LONGJMP_RESTORE_FROM_STACK): Define it.
        !          6559: 
        !          6560:        * gnulib2.c (all interfaces): Declare args and values as long long,
        !          6561:        and split them using unions.
        !          6562: 
        !          6563:        * loop.c (check_dbra_loop): Don't reverse loop if there are two
        !          6564:        refs to varying addresses.  Consider foo[i] = foo[i-1].
        !          6565:        (count_nonfixed_refs): Subroutine to count them.
        !          6566: 
        !          6567:        * cexp.y: Distinguish signed and unsigned.
        !          6568:        An integer value is now represented by a struct.
        !          6569:        All rules for arithmetic changed.
        !          6570:        (yylex): Adapt to change in yylval data type.
        !          6571: 
        !          6572:        * limits.h (LONG_MIN): Make sure it's a signed long.
        !          6573: 
        !          6574:        * sdbout.c (sdbout_one_type): Output types of fields first,
        !          6575:        if they are structs.  Don't go through pointers.
        !          6576:        (sdbout_field_types): Subroutine for that
        !          6577: 
        !          6578: Wed Jun  7 13:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6579: 
        !          6580:        * fixincludes: Switch to /usr/include before doing vuid_event.h.
        !          6581:        Use $2 as output directory for sed.
        !          6582: 
        !          6583:        * tm-i386.h (FUNCTION_PROFILER): Put counter address in %edx.
        !          6584:        * tm-i386v.h (LIB_SPEC): Use -L/usr/lib/libp if profiling.
        !          6585: 
        !          6586:        * expr.c (expand_increment): Typo testing for BImode component.
        !          6587: 
        !          6588:        * convex changes from csmith:
        !          6589:        * tm-convex.h: use EXTRA_SECTIONS to do .bss.
        !          6590:        out-convex.c: set_section, align_section are now unused.
        !          6591:        * convex.md: add pattern to pick an A-reg destination for sums
        !          6592:        whose source involves a dedicated A reg (frame or arg pointer)
        !          6593:        * convex.md: immediate and, or, xor instructions store a 32-bit
        !          6594:        result.  Fix instructions that assumed it was 64.
        !          6595: 
        !          6596:        * mips.md (probe): New pattern to create stack space.
        !          6597: 
        !          6598:        * Makefile (float.h): Ignore errors from hard-params.
        !          6599:        Specify ./ to run it.
        !          6600: 
        !          6601: Tue Jun  6 15:45:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6602: 
        !          6603:        * out-tahoe.c: Rename `offsetable' to `offsettable'.
        !          6604: 
        !          6605:        * tahoe.md (nop): New pattern.
        !          6606: 
        !          6607:        * i386.md (umul...): Constrain operand 1 as `0', not `a'.
        !          6608:        `a' sometimes wanted two a-regs for operands 0 and 1.
        !          6609: 
        !          6610:        * cccp.c: Forward-declare some structs.
        !          6611: 
        !          6612:        * c-decl.c: Rearrange fcn fwd decls and struct decls.
        !          6613: 
        !          6614:        * expr.c: Move some fcn fwd decls after structs their args use.
        !          6615:        * genpeep.c, genextract.c: Likewise.
        !          6616: 
        !          6617:        * loop.c: Forward-declare some structs.
        !          6618: 
        !          6619:        * stmt.c: Move decls of structs before those of static functions.
        !          6620: 
        !          6621:        * loop.c (strength_reduce): Delete extra arg to check_eliminate_biv.
        !          6622: 
        !          6623:        * integrate.c (expand_inline_function): Supply missing arg
        !          6624:        to convert_to_mode.
        !          6625: 
        !          6626:        * gcc.c (handle_braces): Supply missing arg to do_spec_1.
        !          6627: 
        !          6628:        * explow.c (lookup_static_chain): Accept a context arg.
        !          6629: 
        !          6630:        * expmed.c (store_split_bit_field): Pass ALIGN arg
        !          6631:        to extract_fixed_bit_field.
        !          6632: 
        !          6633:        * expr.c (expand_assignment): Convert TYPE_ALIGN to bytes.
        !          6634:        (store_constructor, expand_expr): Likewise.
        !          6635: 
        !          6636:        * tm-m68k.h: NO_ADDSUB_Q conditionals turn off all addq, subq insns.
        !          6637:        (Fully supported only with MOTOROLA and HPUX_ASM flags.)
        !          6638: 
        !          6639:        * jump.c (do_cross_jump): Don't die if LABEL is 0.
        !          6640: 
        !          6641:        * tm-mips.h (PRINT_OPERAND_PUNCT_VALID_P): New macro.
        !          6642:        * tm-iris.h: New file.  Unsplit lines accidentally split.
        !          6643: 
        !          6644: Mon Jun  5 15:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6645: 
        !          6646:        * integrate.c (output_inline_function): Call init_function_start,
        !          6647:        not expand_function_start.
        !          6648:        * emit-rtl.c (restore_reg_data): No need to init reg_rtx_no.
        !          6649: 
        !          6650:        * stmt.c (init_function_start): Set current_function_returns_struct.
        !          6651: 
        !          6652:        * rtlanal.c (reg_set_between_p): New fn analogous to reg_used_between_p
        !          6653:        * loop.c (strength_reduce): Reject biv initial value which is altered
        !          6654:        subsequently before actual loop start.
        !          6655: 
        !          6656:        * rtlanal.c: New file split out from rtl.c.
        !          6657:        Has things not used in the gen files.
        !          6658: 
        !          6659:        * loop.c (strength_reduce): Reject biv initial value in a hard reg
        !          6660:        clobbered by an intervening function call.
        !          6661: 
        !          6662:        * tree.c (get_identifier): New flag needed to enable id-clash warnings.
        !          6663:        (start_identifier_warnings): Set that flag.
        !          6664:        * c-decl.c (init_decl_processing): Call that, after making built-ins.
        !          6665: 
        !          6666: Sat Jun  3 14:41:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6667: 
        !          6668:        * final.c (final_scan_insn): No basic block profiling at jump tables.
        !          6669: 
        !          6670:        * stmt.c (expand_decl): Probe the stack to make pages exist.
        !          6671:        * expr.c (expand_builtin): Likewise, for alloca.
        !          6672: 
        !          6673:        * move-if-change: Specify /bin/sh.
        !          6674: 
        !          6675:        * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): Don't accept PLUS
        !          6676:        with constant operands but not inside CONST.
        !          6677: 
        !          6678:        * integrate.c (output_inline_function, save_for_inline):
        !          6679:        Save stack_slot_list, and restore it for actual output.
        !          6680:        * emit-rtl.c (gen_inline_header_rtx): New arg for this.
        !          6681: 
        !          6682:        * emit-rtl.c (restore_reg_data): Initialize reg_rtx_no.
        !          6683:        (restore_reg_data_1): Handle reg_rtx_no jumping past
        !          6684:        reg_pointer_flag_length.
        !          6685: 
        !          6686:        * reload1.c (alter_reg): Do nothing if regno_reg_rtx has 0.
        !          6687: 
        !          6688:        * integrate.c (copy_rtx_and_substitute): Typos for stack parm
        !          6689:        addresses in PLUS case.
        !          6690: 
        !          6691:        * genoutput.c (gen_insn, gen_peephole): Make output_n fns static.
        !          6692:        (output_prologue): Use new macro DEFAULT_MACHINE_INFO if defined.
        !          6693: 
        !          6694:        * tree.h (enum machine_mode): Define MAX_MACHINE_MODE as in rtl.h.
        !          6695: 
        !          6696: Fri Jun  2 15:40:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6697: 
        !          6698:        * cccp.c (do_include): A file included via a system header file
        !          6699:        counts as a system header file for -M.
        !          6700: 
        !          6701:        * gnulib2.c: Support boolean ops and shifts.
        !          6702: 
        !          6703:        * loop.c (emit_iv_inc): Use emit_iv_init_code.
        !          6704: 
        !          6705:        * rtl.h (CONST0_RTX): Don't try to cast abort.
        !          6706: 
        !          6707:        * tm-news.h (PRINT_OPERAND_ADDRESS): Fix typo `reg_name'.
        !          6708:        Delete two garbage lines.
        !          6709: 
        !          6710:        * loop.c (eliminate_biv): Use emit_iv_init_code to compute comparison
        !          6711:        value.  If value is constant, recognize the insn, and if that fails,
        !          6712:        put the value in a register.  
        !          6713: 
        !          6714: Thu Jun  1 16:56:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6715: 
        !          6716:        * print-tree.c (dump): Don't die if rtx components are null.
        !          6717: 
        !          6718:        * expmed.c (expand_mult_add): New fn to do A * X + B.
        !          6719:        (make_tree): New subroutine.
        !          6720:        * loop.c (emit_iv_init_code): Use that.  Much simpler now.
        !          6721: 
        !          6722: Tue May 30 17:20:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6723: 
        !          6724:        * fold-const.c (fold): Use TREE_SET_CODE to store in tree codes.
        !          6725: 
        !          6726:        * tree.h (struct tree_common): Make `code' an unsigned int.
        !          6727:        (TREE_CODE, TREE_SET_CODE): Put in casts.
        !          6728: 
        !          6729:        * optabs.c (emit_cmp_insn): Supply all the args in recursive calls.
        !          6730: 
        !          6731:        * toplev.c (report_error_function): Fix typo; METHOD_TYPE missing.
        !          6732: 
        !          6733:        * fixincludes: Add code to make internal non-directory links.
        !          6734: 
        !          6735: Mon May 29 21:36:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6736: 
        !          6737:        * gcc.c (find_exec_file): Try both with and without machine_suffix.
        !          6738:        (find_file): Use machine_suffix here too.
        !          6739: 
        !          6740: Sat May 27 00:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6741: 
        !          6742:        * reload.c (decompose): OFFSET wasn't initialized.
        !          6743: 
        !          6744:        * cse.c (cse_main): Assign monotonic cuids.
        !          6745:        (make_regs_eqv, CHEAPER): Use cuids, not uids.
        !          6746:        (cse_end_of_basic_block): Return a cuid, not a uid.
        !          6747: 
        !          6748:        * expr.c (expand_builtin): For BUILTIN_SAVEREGS, range of regs
        !          6749:        moved included one extra previous insn.
        !          6750: 
        !          6751:        * emit-rtl.c (emit_line_note): Don't check -g here.
        !          6752:        (emit_note): For line number when no -g, increment cur_insn_uid anyway.
        !          6753:        * stmt.c (expand_start_case): Always output a NOTE_INSN_DELETED.
        !          6754: 
        !          6755:        * loop.c (loop_optimize): Don't count line-number NOTEs for luids.
        !          6756:        Prevents -g from affecting optimization decisions.
        !          6757: 
        !          6758: Fri May 26 17:31:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6759: 
        !          6760:        * local-alloc.c (block_alloc): Don't count notes in insn_number.
        !          6761:        Prevents -g from affecting order of allocation.
        !          6762: 
        !          6763: Thu May 25 14:12:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6764: 
        !          6765:        * local-alloc.c (block_alloc): Clear full length of regs_live_at.
        !          6766: 
        !          6767:        * ns32k.md (cmpsi): Make this the first cmp pattern.
        !          6768: 
        !          6769:        * jump.c (do_cross_jump): Skip NOTEs while checking for existing label.
        !          6770: 
        !          6771:        * cse.c (cse_insn): When no-oping a jump, decrement use count of label.
        !          6772:        (cse_basic_block): If label use count is 0, go past it.
        !          6773: 
        !          6774:        * integrate.c (access_parm_map): New fn, broken out of
        !          6775:        copy_rtx_and_substitute, handles case of mem ref to stack arg.
        !          6776:        (copy_rtx_and_substitute): Call it.
        !          6777:        Also use it for address of a stack arg.
        !          6778: 
        !          6779:        * gen*.c (fatal): Declare 1st arg as string.
        !          6780: 
        !          6781: Wed May 24 00:13:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6782: 
        !          6783:        * optabs.c (init_optabs): Handle movdi and movdf insns.
        !          6784: 
        !          6785:        * final.c (end_final): Realign locn ctr after outputting string.
        !          6786: 
        !          6787:        * tm-sparc.h (LINK_SPEC): Link bb_link.o before standard lib.
        !          6788: 
        !          6789:        * tm-sun386i.h (LINK_SPEC): Accept and ignore -sun386.
        !          6790: 
        !          6791:        * gcc.c (find_exec_file): Use machine_suffix.
        !          6792:        (process_command): Set that for -b option.
        !          6793: 
        !          6794:        * integrate.c (function_cannot_inline_p): No size limit
        !          6795:        for functions declared inline.
        !          6796: 
        !          6797:        * loop.c (skip_consec_insns): New fn, skip several insns or libcalls.
        !          6798:        (force_movables): New fn, part of scan_loop broken out.
        !          6799:        (ignore_some_movables): New fn, ignore a movable whose insn
        !          6800:        is within another movable's libcall.
        !          6801:        (scan_loop): Call those three.
        !          6802:        Don't handle m->consec for zero-extend movables, since always 0.
        !          6803: 
        !          6804: Tue May 23 12:58:24 1989  Joe Weening  (weening at gang-of-four.stanford.edu)
        !          6805: 
        !          6806:        * config/alliant.md:
        !          6807:        Removed operand classes 'x', 'y', 'G', 'H'.
        !          6808:        Added "%." to many opcodes to simplify comparison with m68k.md.
        !          6809:        Changed TARGET_68881 to TARGET_CE.
        !          6810:        Changed floating-point insns to better describe the Alliant CE.
        !          6811:        Most args to floating-point insns are now nonimmediate_operand.
        !          6812:        Removed special insns for pushing doublewords onto stack.
        !          6813:        Added non-CE versions of movsf and movdf to avoid using FP
        !          6814:        registers in this case.
        !          6815:        (float*i*f2): Don't allow immediate ops.
        !          6816:        (sne): Fix typo, fsne => fsneq.
        !          6817:        (call, call_value): Changed to always pop args from stack
        !          6818:        upon return; this gives better code than before and conforms
        !          6819:        to Alliant calling standard.
        !          6820:        Incorporated some recent changes to m68k.md.
        !          6821: 
        !          6822:        * config/out-alliant.c:
        !          6823:        (regno_reg_class): Removed FPA reg classes.
        !          6824:        (output_move_const_double): Function not needed, removed.
        !          6825: 
        !          6826:        * config/tm-alliant.h:
        !          6827:        Removed FPA registers and reg classes.
        !          6828:        Target flags: changed TARGET_68881 to TARGET_CE, removed
        !          6829:        TARGET_RTD, TARGET_REGPARM, TARGET_FPA.
        !          6830:        Removed TARGET_CE test in several places since we need to
        !          6831:        use FP regs even for non-CE programs.
        !          6832:        (TARGET_VERSION, CPP_SPEC): Define for Alliant.
        !          6833:        (CONDITIONAL_REGISTER_USAGE): Removed, not needed.
        !          6834:        (FRAME_POINTER_REQUIRED): Defined.
        !          6835:        (RETURN_POPS_ARGS): Defined.
        !          6836:        (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P):
        !          6837:        Use fp0 to return floating-point values.
        !          6838:        (FUNCTION_ARG): Remove TARGET_REGPARM code.
        !          6839:        (FUNCTION_ARG_PARTIAL_NREGS): Always 0.
        !          6840:        (FUNCTION_PROFILER): Define for Alliant.
        !          6841:        (FUNCTION_EPILOGUE): Remove use of rtd instruction.
        !          6842:        Renamed CC_IN_68881 to CC_IN_FP.
        !          6843:        (NOTICE_UPDATE_CC): Incorporate changes that were made
        !          6844:        in tm-m68k.h.
        !          6845: 
        !          6846:        * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
        !          6847: 
        !          6848: Tue May 23 12:58:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6849: 
        !          6850:        * sdbout.c: Don't include c-tree.h.
        !          6851: 
        !          6852:        * tree.c (build_index_type): Use sizetype for min and max values.
        !          6853:        Convert maxval rather than clobbering it.
        !          6854: 
        !          6855:        * tm-hp9k320.h: Finish unterminated comment.
        !          6856: 
        !          6857:        * sdbout.c (sdbout_parms): Use gen_fake_label for anonymous parm.
        !          6858: 
        !          6859: Sun May 21 12:58:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6860: 
        !          6861:        * stmt.c (aggregate_value_p): New fn says whether expression is a type
        !          6862:        that functions cannot return as a scalar.
        !          6863:        (assign_parms, expand_function_start): Use that.
        !          6864:        * expr.c (expand_call): Likewise.
        !          6865: 
        !          6866:        * gcc.c (delete_failure_queue): New subroutine.
        !          6867:        (delete_temp_files): No longer delete the failure queue.
        !          6868:        (main): Delete failure queue after each failing compilation.
        !          6869: 
        !          6870: Sat May 20 13:16:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6871: 
        !          6872:        * varasm.c (force_const_mem): New optional macro SELECT_RTX_SECTION.
        !          6873: 
        !          6874:        * mips.md: Change %u0 to %:.
        !          6875:        (movsi): Add constraint alternative accepting address arg.
        !          6876: 
        !          6877:        * fold-const.c (mul_double): Special case for 2nd arg 2, 4, 8.
        !          6878:        (combine): Special case shortcuts for plus, minus, mult, div.
        !          6879: 
        !          6880:        * stmt.c (expand_function_start): Simplify hairy statement for 3B1.
        !          6881:        * expr.c (expand_call): Likewise.
        !          6882: 
        !          6883:        * math-68881.h: New file.
        !          6884: 
        !          6885:        * m68k.md (movqi): Handle moving aregs to mem and vice versa.
        !          6886: 
        !          6887:        * dbxout.c (dbxout_type): Don't test use_gdb_dbx_extensions
        !          6888:        in cases that occur in C.
        !          6889: 
        !          6890:        * stmt.c (expand_function_{start,end}): Make DECL_RESULT's rtl 0
        !          6891:        when function returns no value.
        !          6892: 
        !          6893:        * tree.c (build_decl): Initialize DECL_PRINT_NAME, DECL_ASSEMBLER_NAME.
        !          6894: 
        !          6895:        * c-decl.c (store_parm_decls): Call init_function_start.
        !          6896: 
        !          6897: Thu May 18 00:41:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6898: 
        !          6899:        * stmt.c (expand_null_return_1): New arg USE_GOTO says jump to
        !          6900:        return_label even if could otherwise use a return insn.
        !          6901:        Make a return_label if we need one and don't have one already.
        !          6902:        If have parm cleanups, always jump to cleanup_label.
        !          6903:        (expand_null_return): Pass 1 for USE_GOTO if cleanups pending.
        !          6904:        (expand_return): Set LAST_INSN if have local cleanups or parm cleanups.
        !          6905:        Use that if jumping to tail-recursion label.
        !          6906:        Optimization for returning a comparison is safe for local cleanups
        !          6907:        but don't do it if there are parm cleanups.
        !          6908:        Calling expand_null_return_1, pass 1 for USE_GOTO if local cleanups.
        !          6909:        (this_contour_has_cleanups_p): New function.
        !          6910: 
        !          6911:        * stmt.c (init_function_start): New function, beginning of
        !          6912:        expand_function_start broken out.
        !          6913:        Use DECL_PRINT_NAME to get function's name.
        !          6914:        (expand_function_start): Now two args, function and PARMS_HAVE_CLEANUPS
        !          6915:        Compute RETURN_LABEL sooner; make one if parm cleanups.
        !          6916:        If parms have cleanups, put scalar return value in pseudo-reg.
        !          6917:        Don't mark that pseudo with REG_FUNCTION_VALUE_P.
        !          6918:        (expand_function_end): Simplify decisions about output of return_label
        !          6919:        and return insn.
        !          6920:        If DECL_RESULT is pseudo-reg, copy it to real return reg.
        !          6921: 
        !          6922:        * stmt.c (expand_function_end): Handle ordinary struct values
        !          6923:        like pcc, but only if unoptimized.
        !          6924:        (expand_function_start): Make a return_label for ordinary struct value.
        !          6925: 
        !          6926:        * stor-layout.c (layout_type): Handle METHOD_TYPE like FUNCTION_TYPE.
        !          6927:        (layout_decl): Allow TYPE_DECL.
        !          6928: 
        !          6929:        * stor-layout.c (layout_basetypes): Code for basetypes broken
        !          6930:        out of layout_record.  Sets the type size tentatively.
        !          6931:        (layout_record): Start with that tentative size.
        !          6932:        Also, don't do anything with CONST_DECL members.
        !          6933: 
        !          6934:        * stor-layout.c (layout_union): Simpler error report for static memb.
        !          6935: 
        !          6936:        * reload1.c (eliminate_frame_pointer): Reduce PUSH_ROUNDING
        !          6937:        conditional to apply only to push instructions.
        !          6938: 
        !          6939:        * expr.c (expand_call): Fix stupid errors handling MAX_PARM_BOUNDARY.
        !          6940:        * stmt.c (assign_parms): Likewise.
        !          6941: 
        !          6942:        * toplev.c (announce_function, report_error_function):
        !          6943:        (error_with_decl, warning_with_decl): Use DECL_PRINT_NAME.
        !          6944: 
        !          6945:        * toplev.c (compile_file): Subtract integration_time from parse_time.
        !          6946: 
        !          6947:        * toplev.c (compile_file): Don't output read-only static variables
        !          6948:        at end of compilation if address was not used.
        !          6949: 
        !          6950:        * toplev.c (rest_of_compilation): Handle flag_syntax_only.
        !          6951: 
        !          6952:        * toplev.c (main): Handle -g0 and -G0 options.
        !          6953:        For -g and -G, set use_gdb_dbx_extensions.
        !          6954: 
        !          6955:        * toplev.c (main): Set `progname'.
        !          6956:        (pfatal_with_name, fatal_io_error, {error,warning}_with_file_and_line):
        !          6957:        (sorry): Print value of `progname', not "cc1".
        !          6958: 
        !          6959:        * tree.def: Delete FRIEND_DECL.  Add PUSH_EXPR and POP_EXPR.
        !          6960: 
        !          6961:        * tree.c (simple_cst_equal): Handle INDIRECT_REF.
        !          6962: 
        !          6963:        * tree.c (lvalue_p): Handle METHOD_TYPE.  Handle NEW_EXPR.
        !          6964: 
        !          6965:        * tree.c (copy_list): New function.
        !          6966: 
        !          6967:        * tree.h (struct tree_decl): New fields print_name and assembler_name.
        !          6968:        (DECL_PRINT_NAME, DECL_ASSEMBLER_NAME): New accessors.
        !          6969: 
        !          6970:        * c-decl.c (LONG_DOUBLE_TYPE_SIZE): New compilation parameter.
        !          6971: 
        !          6972: Wed May 17 22:07:17 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          6973: 
        !          6974:        * dbranch.c (emit_delay_sequence): Reset insn code to -1 when
        !          6975:        turning insn into a sequence so that it won't think that it matches
        !          6976:        something in the md file.
        !          6977: 
        !          6978:        * dbranch.c (insn_eligible_p): Call refers_to_regno_p with a
        !          6979:        non-zero range.
        !          6980: 
        !          6981:        * dbranch.c (pnote): Modified to make sure instruction clobbered
        !          6982:        register is a set, rather than, say, a clobber.
        !          6983: 
        !          6984: Wed May 17 14:01:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6985: 
        !          6986:        * sdbout.c (sdbout_parms): Handle parm with no name.
        !          6987: 
        !          6988:        * loop.c (combine_movables): Test for overlap of zero-extend regs
        !          6989:        was screwed up.
        !          6990: 
        !          6991:        * c-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
        !          6992:        since c defines sizeof (char) as 1.
        !          6993:        (pointer_int_sum, pointer_diff): Use c_sizeof{,_nowarn}. 
        !          6994: 
        !          6995: Tue May 16 16:27:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          6996: 
        !          6997:        * reload1.c (choose_reload_targets): Don't reuse regs
        !          6998:        mentioned in reload_reg_rtx.
        !          6999: 
        !          7000:        * tm-tahoe.h, tahoe.md, out-tahoe.c, xm-tahoe.h: New files.
        !          7001: 
        !          7002: Mon May 15 16:25:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7003: 
        !          7004:        * fixincludes: Exit with explicit status 0 at end.
        !          7005:        cd to /usr/include before cd to subtree root in case of relative link.
        !          7006:        Create dir $LIB earlier.
        !          7007:        When checking for a link, treat .. like an absolute target.
        !          7008: 
        !          7009:        * symout.c (symout_block_symbols): Give every local decl a typespec.
        !          7010:        * cexp.y (parse_number):
        !          7011:        * flow.c (life_analysis, dump_flow_info):
        !          7012: 
        !          7013:        * loop.c (consec_sets_invariant_p): Logic error accepted consec sets
        !          7014:        of which only one was invariant.
        !          7015: 
        !          7016:        * expr.c (expand_expr): Use no subtargets inside loops.
        !          7017:        * stmt.c (inside_loop): New function.
        !          7018: 
        !          7019: Sun May 14 00:11:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7020: 
        !          7021:        * tree.h: Declare long long types.
        !          7022: 
        !          7023:        * c-parse.y (combine_strings): Make string contents saveable.
        !          7024: 
        !          7025:        * tree.c (savealloc): New function.
        !          7026: 
        !          7027:        * m68k.md (movdi): % missing in fmove%.d.
        !          7028: 
        !          7029:        * c-parse.y (yylex): Detect overflow past 64-bits.
        !          7030:        Detect specially numbers not fitting in signed long long.
        !          7031: 
        !          7032: Sat May 13 13:16:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7033: 
        !          7034:        * reload1.c (alter_frame_pointer_addresses): Preserve volatility.
        !          7035: 
        !          7036:        * varasm.c (output_constructor): Die if BITS_PER_UNIT is too big
        !          7037:        for this function to work.
        !          7038: 
        !          7039:        * genpeep.c (match_rtx): For match_operator, match the operands, too.
        !          7040: 
        !          7041:        * varasm.c (output_constant): Use ASM_OUTPUT_DOUBLE_INT for DImode.
        !          7042: 
        !          7043:        * stor-layout.c (make_signed_type, make_unsigned_type):
        !          7044:        (fixup_unsigned_type): Use HOST_BITS_PER_INT.
        !          7045: 
        !          7046:        * stor-layout.c (layout_type): Use TFmode if appro.
        !          7047: 
        !          7048:        * optabs.c (emit_cmp_insn): Use mode sizes to check cmpstrqi, cmpstrhi.
        !          7049: 
        !          7050:        * c-typeck.c (get_floating_type): Compare MODE against modes of types.
        !          7051:        (signed_type, unsigned_type, signed_or_unsigned_type, type_for_size):
        !          7052:        Handle long long types.
        !          7053:        (digest_init): Don't assume width of `char' is BITS_PER_UNIT.
        !          7054: 
        !          7055:        * c-parse.y (yylex): For truncating chars, use width of `char' type.
        !          7056:        Allow `ll' in int constants and make long long.
        !          7057:        Also make long long if constant won't fit in an int.
        !          7058: 
        !          7059:        * c-decl.c (SHORT_TYPE_SIZE): Round up when dividing.
        !          7060: 
        !          7061: Fri May 12 22:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7062: 
        !          7063:        * real.h: Allow multiple inclusion.
        !          7064: 
        !          7065:        * tm-sun386i.h (DBX_REGISTER_NUMBER): Bizarre renumbering.
        !          7066: 
        !          7067: Thu May 11 00:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7068: 
        !          7069:        * fixincludes: Fix non-ansi declaration of sprintf in X11/Xmu.h
        !          7070: 
        !          7071:        * c-parse.y (stmt from expr): Do default conversion if useful
        !          7072:        for sake of ({...}).
        !          7073: 
        !          7074:        * sparc.md (andcc recognizer): Operand missing in subreg.
        !          7075: 
        !          7076: Wed May 10 17:20:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7077: 
        !          7078:        * rtl.c (read_name): Error if name is missing.
        !          7079:        (dump_and_abort): Don't print char args if -1.
        !          7080: 
        !          7081:        * i386.md (umulqihi3): Operand numbers were missing.
        !          7082: 
        !          7083:        * reload1.c (choose_reload_targets): Allow spill reg in find_equiv_reg
        !          7084:        if it's free and correct class. 
        !          7085: 
        !          7086:        * cse.c (canon_hash): Handle empty strings.
        !          7087: 
        !          7088:        * cccp.c (macroexpand): Newline newline treated like real white space
        !          7089:        when stringifying.
        !          7090: 
        !          7091:        * Rename *offsetable* to *offsettable*.
        !          7092: 
        !          7093: Tue May  9 22:54:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7094: 
        !          7095:        * c-decl.c (finish_type): Layout any variants of the type.
        !          7096: 
        !          7097: Tue May  9 12:30:28 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          7098: 
        !          7099:        * final.c (final_scan_insn, final): Added an argument to
        !          7100:        final_scan_insn to disallow peephole processing (to turn it off
        !          7101:        during delayed branch scheduling).
        !          7102: 
        !          7103:        * final.c (final_scan_insn): Made insn not matching any MD rtl a
        !          7104:        criteria for delayed branch case.  Moved delayed branch case to just
        !          7105:        before real insn recognition to reduce the number of insns on which
        !          7106:        recog_memoized is called.
        !          7107: 
        !          7108: Mon May  8 15:02:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7109: 
        !          7110:        * fixincludes (LIB): Allow overriding.
        !          7111: 
        !          7112:        * cccp.c: Don't search /usr/include/CC by default.
        !          7113: 
        !          7114: Mon May  8 13:09:21 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          7115: 
        !          7116:        * print-tree.c (dump): Fixed typo; IDENTIFIER ==> IDENTIFIER_NODE.
        !          7117: 
        !          7118: Sun May  7 12:44:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7119: 
        !          7120:        * print-tree.c (dump): TYPE_NAME may be IDENTIFIER or TYPE_DECL.
        !          7121: 
        !          7122: Sat May  6 00:13:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7123: 
        !          7124:        * tree.def: Define EXACT_DIV_EXPR, for when remainder known as 0.
        !          7125:        * fold-const.c (combine, fold, div_and_round_double): Handle new code.
        !          7126:        * expr.c (expand_expr): Likewise.
        !          7127:        * c-typeck.c (pointer_diff): Use EXACT_DIV_EXPR.
        !          7128: 
        !          7129:        * integrate.c (expand_inline_function): Use size of passed type
        !          7130:        for allocating stack slot with that type.
        !          7131: 
        !          7132:        * c-parse.y (maybe_attribute, attribute*): New syntax for Apollos.
        !          7133:        These tokens currently not generated.
        !          7134: 
        !          7135: Fri May  5 18:43:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7136: 
        !          7137:        * toplev.c [USG]: Undefine FLOAT for sake of sys/param.h on hpux.
        !          7138: 
        !          7139:        * optabs.c (expand_binop): If backtracking, don't delete insns made
        !          7140:        for -fforce-mem.
        !          7141: 
        !          7142: Thu May  4 01:57:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7143: 
        !          7144:        * reload.c (find_reloads): Don't compare an earlyclobber operand
        !          7145:        with itself.
        !          7146: 
        !          7147:        * reload.c (immune_p): Constants and stack slots don't overlap.
        !          7148: 
        !          7149:        * Put no-ops in front of loops and labels,
        !          7150:        to prevent confusion in the debugger.
        !          7151:        * c-parse.y (loops and labels): Call emit_nop.
        !          7152:        * stmt.c (emit_nop): New function--sometimes emit a no-op.
        !          7153:        * *.md (nop): New insn.
        !          7154: 
        !          7155:        * expr.c (expand_call): Typo in arg to FIRST_PARM_CALLER_OFFSET.
        !          7156: 
        !          7157: Wed May  3 01:34:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7158: 
        !          7159:        * loop.c (scan_loop): Scanning around end of loop
        !          7160:        should not set maybe_never.
        !          7161: 
        !          7162:        * Rename SELECT_VARIABLE_SECTION to SELECT_SECTION.
        !          7163:        * varasm.c (get_or_assign_label): Use SELECT_SECTION if defined.
        !          7164:        * varasm.c: Use EXTRA_SECTION_FUNCTIONS if defined (new macro).
        !          7165: 
        !          7166:        * mips.md: Change %u to %u0 to avoid error check.
        !          7167: 
        !          7168:        * tm-mips.h (TARGET_VERSNUM): Inc. to 1 08.
        !          7169:        (TARGET_VERSION): Change strings.
        !          7170:        (AL_DEBUG): Don't define it.
        !          7171:        (HARD_REGNO_MODE_OK): Add some casts to int.
        !          7172:        (STACK_ARGS_ADJUST): Name was misspelled.
        !          7173:        (PRINT_OPERAND_ADDRESS): Just abort for MEM, POST_INC, etc.
        !          7174:        (EXTRA_SECTIONS, SELECT_VARIABLE_SECTION, SELECTORS_EXTRA_SECTIONS,
        !          7175:        SELECT_VARIABLE_CONST_SECTION): New macros.
        !          7176:        (ASM_FILE_END): Change function name.
        !          7177:        * out-mips.c (function_arg_advance): Delete debugging printfs.
        !          7178:        (function_inarg, function_arg): Likewise.
        !          7179:        (compare_collect, compare_restore): Add some.
        !          7180: 
        !          7181:        * reload1.c (reload): Fix handling of caller_save_needed.
        !          7182: 
        !          7183:        * stmt.c (expand_function_start): Clear caller_save_needed.
        !          7184: 
        !          7185:        * stmt.c (emit_case_nodes): Some compiler has trouble with calling
        !          7186:        a function pointer.
        !          7187:        * gnulib.c: likewise.
        !          7188: 
        !          7189: Tue May  2 15:32:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7190: 
        !          7191:        * loop.c (combine_movables): For zero extend,
        !          7192:        do each from-mode separately.
        !          7193: 
        !          7194: Mon May  1 00:18:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7195: 
        !          7196:        * tm-apollo68.h: New file.
        !          7197: 
        !          7198:        * c-parse.y (is_reserved_word, hash): Add keywords `__asm__', etc.
        !          7199:        * c-parse.gperf: Corresponding changes.
        !          7200: 
        !          7201:        * c-parse.y (check_newline): Set main_input_filename before
        !          7202:        considering optional arguments.
        !          7203: 
        !          7204:        * final.c (final_scan_function): Return next insn to process.
        !          7205:        Usually that's the following insn; occasionally, previous compare.
        !          7206: 
        !          7207:        * c-decl.c (DOUBLE_TYPE_SIZE): Wrong value.
        !          7208: 
        !          7209:        * reload.c (decompose): Failed to return value.
        !          7210: 
        !          7211:        * Support local specified-register variables.
        !          7212:        * varasm.c (decode_reg_name): New function, cvt asmspec to regnum.
        !          7213:        (make_decl_rtl): Call that.
        !          7214:        * toplev.c (rest_of_decl_compilation): Handle local specified-register
        !          7215:        declarations.
        !          7216: 
        !          7217:        * i386.md (tstqi, trunc*qi): Constrain to `q' regs.
        !          7218: 
        !          7219:        * loop.c (scan_loop, move_movables): ->global for zero-extend register
        !          7220:        now means register is used outside range from where it is set
        !          7221:        to the following label.  Non-global zero-extend regs
        !          7222:        may be entirely cleared.
        !          7223: 
        !          7224:        * loop.c (combine_movables): Loop that combines matching movables
        !          7225:        broken out from scan_loop.
        !          7226:        Now also combine non-global zero-extend registers with each other
        !          7227:        if their lifespans don't overlap.
        !          7228: 
        !          7229:        * c-typeck.c (build_unary_op, ADDR_EXPR of a COMPONENT_REF):
        !          7230:        Always convert to desired result type.
        !          7231: 
        !          7232: Sun Apr 30 12:58:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7233: 
        !          7234:        * c-decl.c (init_decl_processing): New macros parameterize int types.
        !          7235:        CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
        !          7236:        FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE.
        !          7237: 
        !          7238:        * fixincludes: Use sed instead of ex.  No problem with split lines.
        !          7239: 
        !          7240:        * print-tree.c (dump): Print type's name, if any.
        !          7241: 
        !          7242:        * c-parse.y: Use __inline, not plain inline.
        !          7243: 
        !          7244:        * toplev.c: New option -fdelayed-branch.
        !          7245:        (compile_file): Open and close dbranch dump file.
        !          7246:        Collect and print dbranch time.
        !          7247:        (rest_of_compilation): Optionally do dbranch scheduling, 
        !          7248:        only if HAVE_DELAYED_BRANCH.
        !          7249:        (main): Handle -dd.
        !          7250: 
        !          7251:        * rtl.c (copy_rtx): Handle null pointers as code `e'.
        !          7252: 
        !          7253:        * final.c (dbr_sequence_length): New function.
        !          7254:        (final_scan_insn): Most of `final' broken out.
        !          7255:        Add support for SEQUENCE insns.
        !          7256:        last_ignored_compare and new_block now top-level static.
        !          7257: 
        !          7258:        * c-parse.y (MAX_WORD_LENGTH): Long enough for __volatile.
        !          7259: 
        !          7260: Sat Apr 29 13:03:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7261: 
        !          7262:        * c-parse.y (asm statements): Output line numbers.
        !          7263: 
        !          7264:        * loop.c (emit_iv_init_code, emit_iv_inc, eliminate_biv): Copy
        !          7265:        additive term rtx's to prevent sharing between insns.
        !          7266: 
        !          7267:        * c-parse.y (check_newline): Increment input_file_stack_tick.
        !          7268:        * toplev.c (report_error_function): Describe input stack only if
        !          7269:        changed.
        !          7270: 
        !          7271:        * c-decl.c (finish_struct): Reject zero width for named field.
        !          7272: 
        !          7273:        * tm-sun3.h (CC1_SPEC): Prevent error on `-sun3'.
        !          7274:        * tm-sparc.h (CC1_SPEC): Prevent error on `-sun4'.
        !          7275: 
        !          7276:        * Makefile (cleanconfig): cleanlinks renamed; also delete gnulib.
        !          7277:        (gnulib): Delete stamp-gnulib2 since gnulib2 should be redone after.
        !          7278: 
        !          7279: Fri Apr 28 00:38:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7280: 
        !          7281:        * config.gcc (genix): Correct xm file name.
        !          7282: 
        !          7283:        * tm-genix.h: Undefine ASM_SPEC inherited from tm-encore.h.
        !          7284: 
        !          7285:        * Makefile: Make float.h using hard-params.
        !          7286:        (clean): Delete float.h.
        !          7287: 
        !          7288:        * hard-params.c: New program.
        !          7289: 
        !          7290:        * varasm.c (assemble_variable): Use SELECT_VARIABLE_SECTION if defined.
        !          7291:        (in_section): Use EXTRA_SECTIONS if defined.
        !          7292: 
        !          7293:        * toplev.c (compile_file): Call ASM_FILE_END if defined.
        !          7294: 
        !          7295:        * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Let config override.
        !          7296: 
        !          7297:        * loop.c (emit_iv_init_code): Force A to a reg if it isn't.
        !          7298: 
        !          7299: Thu Apr 27 12:51:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7300: 
        !          7301:        * tm-mips.h (ASM_START_FILES): Don't call print_options.
        !          7302:        Don't call the funny abort-functions.
        !          7303:        * out-mips.c: Delete funny debugging functions and aborts.
        !          7304:        (print_options): #if 0.
        !          7305:        (compare_restore): Test for COMPARE, not MINUS.
        !          7306:        (mips_section_get, mips_output_external, mips_asm_final): New fns.
        !          7307: 
        !          7308:        * input.h: New file with *input_filename, lineno and input_file_stack.
        !          7309:        Included in toplev.c and c-parse.y.
        !          7310:        * c-decl.c (finish_function): LINENO is now arg.
        !          7311:        * c-parse.y: Calls changed.
        !          7312: 
        !          7313:        * c-parse.y (check_newline): Handle `1' or `2' from cpp
        !          7314:        by pushing or popping input_file_stack.
        !          7315:        * toplev.c (compile_file): Push main input file on input_file_stack.
        !          7316:        (report_error_function): If in include file, print the chain
        !          7317:        of include-locations.
        !          7318: 
        !          7319:        * cccp.c (output_line_command): New arg says whether entering or
        !          7320:        leaving a file.  Output `1' or `2' on #-line if so.  Callers changed.
        !          7321: 
        !          7322:        * gnulib2.c: Little-endian fixes from [email protected].
        !          7323: 
        !          7324:        * fixincludes: Wrong quoting in `echo' command.
        !          7325: 
        !          7326:        * tm-mips.h (REG_P): Duplicate defn deleted.
        !          7327:        (PRINT_OPERAND): `\' was missing.
        !          7328: 
        !          7329: Wed Apr 26 02:44:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7330: 
        !          7331:        * cccp.c (handle_directive): Preprocess even #pragma, but copy 
        !          7332:        to output file afterward.
        !          7333:        (do_pragma): Use standard calling convention.
        !          7334:        (install_builtins, special_symbol): Define __INCLUDE_LEVEL__.
        !          7335: 
        !          7336:        * cccp.c (do_include): Don't forget to close file.
        !          7337: 
        !          7338:        * final.c (output_asm_insn): Use PRINT_OPERAND_PUNCT_VALID_P
        !          7339:        to validate punctuation after percent.
        !          7340:        * tm-m68k.h, tm-alliant.h, tm-ns32k.h, tm-vax.h, tm-i386.h:
        !          7341:        Define PRINT_OPERAND_PUNCT_VALID_P.
        !          7342: 
        !          7343:        * Version 1.35 released.
        !          7344: 
        !          7345:        * c-decl.c (grokdeclarator): Use INT_CST_LT only on int constants.
        !          7346: 
        !          7347: Tue Apr 25 15:47:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7348: 
        !          7349:        * reload.c (find_reloads_address_1): Always return a value.
        !          7350: 
        !          7351:        * flow.c (mark_set_1): Look inside zero_extract, sign_extract.
        !          7352: 
        !          7353:        * expr.c (emit_library_call) [STACK_ARGS_ADJUST]:
        !          7354:        Fix typo for `struct args_size'.
        !          7355: 
        !          7356: Mon Apr 24 00:12:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7357: 
        !          7358:        * flow.c (mark_set_1): Look inside strict_low_part.
        !          7359: 
        !          7360:        * c-typeck.c (decl_constant_value): Don't use var's init if volatile.
        !          7361: 
        !          7362:        * print-tree.c (dump): Don't call walk on rtx's.
        !          7363: 
        !          7364:        * integrate.c (expand_inline_function): Convert expanded arg from
        !          7365:        passed mode to nominal mode.
        !          7366: 
        !          7367: Sun Apr 23 13:14:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7368: 
        !          7369:        * fixincludes: fix _IO macros if split across two lines.
        !          7370:        Fix typo: EOF was indented.
        !          7371: 
        !          7372:        * gnulib2.c: New file with DImode library routines.
        !          7373:        * Makefile (gnulib2): Put them into gnulib.
        !          7374:        Must be explicitly requested.
        !          7375: 
        !          7376: Fri Apr 21 13:45:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7377: 
        !          7378:        * cccp.c (main): Don't turn on trigraphs for -Wtrigraphs or -Wall;
        !          7379:        use -trigraphs for that.
        !          7380: 
        !          7381:        * cccp.c (main): Use -trigraphs to enable trigraphs.
        !          7382:        * gcc.c: Pass -trigraphs to cpp; don't pass -T.
        !          7383: 
        !          7384:        * Makefile: Variable srcdir relates location of sources
        !          7385:        to current directory.  Default is `.'.
        !          7386: 
        !          7387:        * integrate.c (expand_inline_function): When copying expanded arg,
        !          7388:        use mode it's passed in, not arg's nominal mode.
        !          7389: 
        !          7390:        * dbxout.c (dbxout_block): Print generated name with assemble_name.
        !          7391: 
        !          7392: Thu Apr 20 12:36:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7393: 
        !          7394:        * stdarg.h: check __sparc__ instead of sparc.
        !          7395: 
        !          7396: Tue Apr 18 18:58:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7397: 
        !          7398:        * tm-next.h (STARTFILE_SPEC): Define it.
        !          7399: 
        !          7400: Mon Apr 17 19:56:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7401: 
        !          7402:        * dbxout.c (dbxout_block): Use ASM_GENERATE_INTERNAL_LABEL to format
        !          7403:        the labels LBB... and LBE...
        !          7404: 
        !          7405: Sun Apr 16 23:57:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7406: 
        !          7407:        * mips.md: Change MINUS to COMPARE where appropriate.
        !          7408: 
        !          7409: Sat Apr 15 16:11:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7410: 
        !          7411:        * c-decl.c (finish_struct, redeclaration_error_message):
        !          7412:        Rename variables named OLD and NEW.
        !          7413: 
        !          7414:        * sparc.md (cse'd mult pattern): Handle memory operands.
        !          7415:        Optimize small integer operands.
        !          7416: 
        !          7417:        * stmt.c (expand_decl): On sparc, ensure dynamic arrays of doubles
        !          7418:        are properly aligned, despite unaligned STACK_POINTER_OFFSET.
        !          7419: 
        !          7420: Fri Apr 14 10:59:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7421: 
        !          7422:        * expr.c (expand_call): Bugs treating struct value address as param:
        !          7423:        do so only if it's supposed to be pushed;
        !          7424:        decode value of FUNCTION_ARG properly.
        !          7425: 
        !          7426:        * tm-altos3068.h (CPP_SPEC): Some braces were dropped.
        !          7427: 
        !          7428:        * gcc.c (pexecute): Print message when exec fails.
        !          7429:        (perror_exec): New fn.
        !          7430:        (perror_with_name,pfatal_with_name): Change message syntax.
        !          7431: 
        !          7432:        * tm-hp9k320.h (ASM_IDENTIFY_GCC): Define as no-op.
        !          7433: 
        !          7434: Wed Apr 12 00:20:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7435: 
        !          7436:        * cse.c (cse_insn): Can record constant value being stored in
        !          7437:        a bit field, if we can tell that truncation won't change it.
        !          7438: 
        !          7439:        * m68k.md (bfset, bfclr, bfchg insns): Do CC_STATUS_INIT
        !          7440:        since the cc's are set from the old contents.
        !          7441: 
        !          7442:        * gcc.c (compilers): Running `as', put -o option before input file.
        !          7443: 
        !          7444:        * gcc.c: Delete output file only if that file's compilation fails.
        !          7445:        * gcc.c (record_temp_file): Changed args: always_delete, fail_delete.
        !          7446:        (store_arg): Likewise.  Callers changed.
        !          7447:        (clear_failure_queue): Called after each compilation.
        !          7448: 
        !          7449: Tue Apr 11 01:18:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7450: 
        !          7451:        * combine.c (subst): (SET (ZERO_EXTRACT) (OR (ZERO_EXTRACT) const))
        !          7452:        optimization was sometimes invalid.
        !          7453: 
        !          7454:        * tm-m68k.h (NOTICE_UPDATE_CC): A doubleword move that requires 2 insns
        !          7455:        does not set the cc's usefully.
        !          7456: 
        !          7457:        * Makefile (cleanlinks): Just do `clean', not `realclean'.
        !          7458:        (realclean): Delete config links also.
        !          7459: 
        !          7460:        * expr.c (expand_call): Handle case where return value is in memory
        !          7461:        but TARGET is a register.
        !          7462: 
        !          7463:        * c-typeck.c (build_binary_op_nodefault): New arg ERROR_CODE
        !          7464:        is passed to binary_op_error instead of CODE.
        !          7465:        All callers changed.
        !          7466:        (binary_op_error): CODE = NOP_EXPR is new special case.
        !          7467:        (truthvalue_conversion): Call build_binary_op_nodefault directly
        !          7468:        and specify NOP_EXPR for the error code.
        !          7469: 
        !          7470:        * c-decl.c (xref_tag): If pedantic, warn on fwd ref to enum.
        !          7471: 
        !          7472: Mon Apr 10 19:44:48 1989  Chris Smith  (csmith at mozart)
        !          7473: 
        !          7474:        * tm-convex.h (PCC_BITFIELD_TYPE_MATTERS): It doesn't,
        !          7475:        but set it anyway.  It makes for better code on this
        !          7476:        word machine.
        !          7477: 
        !          7478:        * convex.md (one_compl*): add not:QI and not:HI, which
        !          7479:        do get used after all.
        !          7480: 
        !          7481:        * tm-convex.h (A_REG_P, S_REG_P): define new macros
        !          7482:        convex.md: use them
        !          7483: 
        !          7484:        * convex.md (addsi3): tidy up constraints.
        !          7485: 
        !          7486:        * tm-convex.h (REG_OK_FOR_INDEX_P): stack pointer is not ok.
        !          7487: 
        !          7488:        * convex.md: add a pattern to push REG+CONST so we can
        !          7489:        prefer an A reg.
        !          7490: 
        !          7491:        * tm-convex.h (tstqi): should sign extend, not zero extend.
        !          7492: 
        !          7493:        * expr.c (convert_move): Extending narrow to DI via SI,
        !          7494:        operand of extendsidi2 was wrong.
        !          7495: 
        !          7496:        * emit-rtl.c (gen_lowpart): Handle CONST_DOUBLE.
        !          7497: 
        !          7498: Mon Apr 10 05:19:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7499: 
        !          7500:        * recog.c (nonmemory_operand): Test constant operands
        !          7501:        as general_operand does.
        !          7502: 
        !          7503:        * tm-m68k.h (PRINT_OPERAND): Limit effect of code `d'
        !          7504:        to constant addresses.
        !          7505: 
        !          7506:        * loop.c (can_eliminate_biv_p, eliminate_biv): Don't rely on givs with
        !          7507:        nonconstant coefficients, since the coeffs could be zero.
        !          7508: 
        !          7509:        * loop.c (can_eliminate_biv_p): Check each giv for ! ignore
        !          7510:        before assuming it can be used.
        !          7511:        (check_eliminate_biv): New fn, a piece of strength_reduce broken out.
        !          7512: 
        !          7513:        * cccp.c (error_from_errno): New fn, like error and perror_with_name.
        !          7514:        (do_include): Call that if open fails.
        !          7515:        (finclude): Print I/O error msg before closing desc.
        !          7516: 
        !          7517:        * c-decl.c (shadow_tag): If more than one tag or structure,
        !          7518:        or anything other than a tag, warning.
        !          7519: 
        !          7520:        * c-parse.y (components): Just warn if memb decl has no member,
        !          7521:        and only if pedantic.
        !          7522: 
        !          7523:        * loop.c (strength_reduce): Print uids, not luids, for dump.
        !          7524:        (record_giv): giv_count field counts only DEST_REG givs.
        !          7525:        (check_dbra_loop): src_two_before_end was set wrong.
        !          7526: 
        !          7527:        * loop.c (record_giv): New arg LOOP_END; all callers changed.
        !          7528:        Don't mark giv replaceable if used past LOOP_END.
        !          7529:        (find_mem_givs): New arg LOOP_END; all callers changed.
        !          7530: 
        !          7531:        * out-i386.c (FP_CALL): Make this a `return' stmt.
        !          7532: 
        !          7533: Fri Apr  7 11:56:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7534: 
        !          7535:        * expr.c (expand_expr, case ..._DECL): Preserve mode thru
        !          7536:        calling change_address.
        !          7537: 
        !          7538:        * expr.c (emit_library_call): Typo: ARGNUM => COUNT.
        !          7539: 
        !          7540:        * expr.c (preexpand_calls, expand_call): Take note of RETURN_IN_MEMORY.
        !          7541:        * stmt.c (assign_parms): Likewise.
        !          7542:        * integrate.c (function_cannot_inline_p): Likewise.
        !          7543: 
        !          7544:        * STACK_ARGS_ADJUST: Arg is now a `struct arg_data' and it should
        !          7545:        be updated in place.
        !          7546:        * tm-mips.h: Define it.
        !          7547:        * expr.c (expand_call): Adapt to this.  Assume padding comes after args
        !          7548:        so turn off the feature of changing the args' offsets.
        !          7549:        (emit_library_call): Adapt to this.
        !          7550: 
        !          7551:        * tm-mips.h (PRINT_OPERAND): Use CONST_DOUBLE_{LOW,HIGH}.
        !          7552:        Truncate SFmode constants to single precision.
        !          7553: 
        !          7554:        * c-typeck.c (mark_addressable): Fix test for local vs global reg var.
        !          7555: 
        !          7556:        * config.gcc: Change `:-' to `-' in var refs.
        !          7557:        Shell on convex doesn't handle `:-'.
        !          7558: 
        !          7559: Thu Apr  6 00:09:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7560: 
        !          7561:        * integrate.c (expand_inline_function): Compare actual's mode
        !          7562:        against formal's DECL_ARG_TYPE's mode, not TREE_TYPE's mode.
        !          7563: 
        !          7564:        * c-decl.c (implicitly_declare): Make the decl permanent if
        !          7565:        in global binding level.  (Can happen for certain invalid input.)
        !          7566: 
        !          7567:        * c-typeck.c (build_modify_expr): Block path that made a MODIFY_EXPR
        !          7568:        containing an ERROR_MARK.
        !          7569: 
        !          7570:        * config/tm.h: New file.
        !          7571: 
        !          7572:        * loop.c (only_reg_use_p): Fix bugs in recursion, add some fast
        !          7573:        special cases.  Comment on return value was backwards.
        !          7574:        (strength_reduce): Negate the value of only_reg_use_p.
        !          7575: 
        !          7576:        * genoutput.c (output_prologue): Output `#include hard-reg-set.h'.
        !          7577:        * Makefile: insn-output.o depends on that.
        !          7578: 
        !          7579:        * toplev.c (main): Typo recognizing -Wswitch.
        !          7580: 
        !          7581:        * config.gcc (mips): New alternative.
        !          7582:        * tm-mips.h, out-mips.c, mips.md, va-mips.h: New files.
        !          7583:        * varargs.h: Include va-mips.h if on mips.
        !          7584: 
        !          7585: Wed Apr  5 16:58:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7586: 
        !          7587:        * c-decl.c (duplicate_decls): Rename OLD, NEW to OLDDECL, NEWDECL.
        !          7588: 
        !          7589:        * stmt.c (expand_function_start): Ref subr instead of
        !          7590:        current_function_decl; should make no difference.
        !          7591: 
        !          7592:        * stmt.c (assign_parms): Do extra padding for some parms,
        !          7593:        controlled by MAX_PARM_BOUNDARY.
        !          7594:        * expr.c (expand_call): Same thing for caller side.
        !          7595:        Note this is implemented only for machines that lack push insns.
        !          7596:        Also, in both cases, it doesn't handle variable-size args.
        !          7597: 
        !          7598: Tue Apr  4 12:22:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7599: 
        !          7600:        * gcc.c (find_file): Try STANDARD_EXEC_PREFIX for startfiles too.
        !          7601: 
        !          7602:        * varasm.c (make_decl_rtl): Delete never-executed clause.
        !          7603: 
        !          7604:        * spur.md (movqi, loadhi, extend*, zero_extendhisi):
        !          7605:        Make subregs with C code, not RTL patterns, so we can
        !          7606:        avoid generating subreg of subreg.
        !          7607: 
        !          7608:        * optabs.c (emit_cmp_insn): Not all clauses always succeed,
        !          7609:        so stop using `else' structure.
        !          7610: 
        !          7611:        * stmt.c (expand_return): Avoid moving void to void, in cleanups case.
        !          7612: 
        !          7613: Mon Apr  3 18:04:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7614: 
        !          7615:        * m68k.md (cmphi): Don't allow a-reg vs a-reg, since that sign-extends.
        !          7616:        If there is one a-reg, make sure it is not last.
        !          7617: 
        !          7618: Sun Apr  2 13:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7619: 
        !          7620:        * stor-layout.c (agg_mode): Use highest mode that has desired size.
        !          7621:        Allow all integer modes, but reject sizes > MAX_FIXED_MODE_SIZE.
        !          7622:        (That defaults to the size of DImode.)
        !          7623: 
        !          7624:        * machmode.def: Add PSI, PDI and XF, CXF modes.
        !          7625: 
        !          7626: Sat Apr  1 00:50:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7627: 
        !          7628:        * ns32k.md (ashd, lshd): Delete patterns that logand the count with 31.
        !          7629:        The shift count is not truncated on this machine.
        !          7630: 
        !          7631:        * combine.c (subst): Simplify nested or's, nested xor's.
        !          7632:        (try_distrib): XOR doesn't distribute through anything.
        !          7633: 
        !          7634:        * rtl.c (rtx_equal_p): Don't die on null pointers.
        !          7635: 
        !          7636:        * loop.c (eliminate_biv): Use COMPARE, not MINUS, in generated compare.
        !          7637: 
        !          7638:        * loop.c (invariant_p): Mem refs in constant pool are invariant.
        !          7639: 
        !          7640:        * c-decl.c (redeclaration_error_message): If -traditional, allow
        !          7641:        redeclarations of typedef provided they agree.
        !          7642: 
        !          7643:        * c-decl.c (start_decl): Do expand_decl on the decl that pushdecl
        !          7644:        returns.  If there was a prev. decl with a different type,
        !          7645:        we have changed its type and cleared its old rtl, so it need new rtl.
        !          7646: 
        !          7647: Sat Apr  1 00:50:11 1989  Matthew Self  (rms at sugar-bombs.ai.mit.edu)
        !          7648: 
        !          7649:        * expr.c (convert_move): Modified to use mode classes
        !          7650:        instead of refering to specific machine modes.
        !          7651: 
        !          7652:        * expr.c (do_jump): Converted to use CONST0_RTX macro.
        !          7653:        do_jmp no longer refers to any machine modes directly except
        !          7654:        for VOIDmode!
        !          7655: 
        !          7656:        * expr.c (compare, compare1): Modified to use CONST0_RTX
        !          7657:        macro.  No longer refers to any machine modes directly
        !          7658:        except VOIDmode and BLKmode!
        !          7659: 
        !          7660:        * machmode.def: Documented assumptions made about the order
        !          7661:        of machine modes during mode widening.
        !          7662: 
        !          7663:        * optabs.c (expand_binop, expand_twoval_binop, expand_unop,
        !          7664:        emit_cmp_insn): Added mode widening which is independent of
        !          7665:        specific machine modes.  It assumes that we may widen to any
        !          7666:        higher numbered mode of the same mode class.
        !          7667:          NOTE: the checks for VOIDmode ops which were present in
        !          7668:        QI and HI to SI widening are now present in all widening.
        !          7669:        I assume this is correct.  Also, widening is now possible
        !          7670:        from QI to HI.  This may or may not be a good thing....
        !          7671: 
        !          7672:        * rtl.h (CONST0_RTX): Added definition of new macro
        !          7673:        CONST0_RTX (mode).
        !          7674: 
        !          7675:        * rtl.h (GET_NOTE_INSN_NAME, GET_REG_NOTE_NAME): New macros.
        !          7676:        * rtl.c (note_insn_name, reg_note_name): New tables.
        !          7677:        * rtl.def (NOTE): Change last field from `i' to `n'.
        !          7678:        * rtl.c (print_rtx): Print mode of INSN_LIST or EXPR_LIST as reg-note.
        !          7679:        Print operand code `n' as name of kind of note.
        !          7680:        (read_rtx): treat `n' like `i'.
        !          7681: 
        !          7682:        * loop.c (struct induction): Add `mode' field.
        !          7683:        (strength_reduce, record_giv): Set the `mode' field in V.
        !          7684:        (can_eliminate_biv_p, eliminate_biv): Use that field.
        !          7685: 
        !          7686:        * loop.c (struct iv_class): `init_insn' records what inits the biv.
        !          7687:        Replaces `init_val_set' flag.
        !          7688:        (strength_reduce): Update and test `init_insn' instead.
        !          7689:        Use of a biv between its init and the start of the loop
        !          7690:        does not preclude its elimination from the loop.
        !          7691:        Setting a giv is ok for eliminating a biv, even if giv is "ignore",
        !          7692:        since that just means giv will be combined with another.
        !          7693:        Handle some DEST_ADDR givs for that purpose.
        !          7694:        Test for giv-setting before check can_eliminate_biv_p.
        !          7695:        New error check for replaceable giv whose value needed after loop.
        !          7696:        (only_reg_use_p): New fn.
        !          7697: 
        !          7698:        * expr.c (expand_expr): PLUS, MINUS with EXPAND_SUM:
        !          7699:        Associate even harder.
        !          7700: 
        !          7701:        * loop.c (strength_reduce): Treat all constant biv init vals like ints.
        !          7702: 
        !          7703:        * loop.c (strength_reduce): Clear all_reduced when v->ignore is set;
        !          7704:        the code to check this later didn't always do the job.
        !          7705: 
        !          7706:        * loop.c (verify_loop): Set loop_continue.
        !          7707:        (scan_loop): mention its value.
        !          7708:        * rtl.h: Define NOTE_INSN_LOOP_CONT.
        !          7709:        * stmt.c (expand_loop_continue_here): Output one.
        !          7710: 
        !          7711: Fri Mar 31 10:08:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7712: 
        !          7713:        * c-typeck.c (pointer_int_sum, pointer_diff): Treat const void * like
        !          7714:        void *.
        !          7715: 
        !          7716:        * rtl.c (rtx_addr_varies_p): Don't die on null exp.
        !          7717:        * cse.c (refers_to_mem_p, refers_to_p): Likewise.
        !          7718: 
        !          7719:        * gcc.c (validate_switches, validate_all_switches): New fns.
        !          7720:        Mark a switch as valid if any compiler spec or the linker spec
        !          7721:        matches it, even for languages not being used.
        !          7722: 
        !          7723: Thu Mar 30 00:22:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7724: 
        !          7725:        * loop.c (loop_optimize, move_movables): when moving a `clr' insn used
        !          7726:        in zero-extension, sometimes change it to an `and' so that the
        !          7727:        significant low bits are not clobbered.
        !          7728: 
        !          7729:        * cccp.c: Implement __BASE_FILE__ and #once.
        !          7730:        (savestring): New fn.
        !          7731:        (struct file_name_list): new name for struct directory_stack.
        !          7732:        (enum node_type): Add T_ONCE, T_BASE_FILE.
        !          7733:        (directive_table): Add #pragma once.
        !          7734:        (initialize_builtins): Add __BASE_FILE__.
        !          7735:        (special_symbol): Handle __BASE_FILE__, together with __FILE__.
        !          7736:        (do_include): Ignore the file if it's on the #pragma once list.
        !          7737:        (do_once): New fn; add current file to #pragma once list.
        !          7738: 
        !          7739:        * cccp.c (do_include): Don't add non-ex files to list of deps.
        !          7740: 
        !          7741:        * config.gcc: Use {...:-...}, not {...=...}.
        !          7742: 
        !          7743:        * c-parse.y: Add precedence for IF/ELSE, and for parens;
        !          7744:        avoids some conflicts.
        !          7745: 
        !          7746:        * tm-newsgas.h: Include tm-news.h and define USE_GAS.
        !          7747: 
        !          7748:        * tm-news.h: New name for tm-news800.h.
        !          7749:        If not USE_GAS, define SONY_ASM.
        !          7750:        Don't define USE_GAS by default.
        !          7751:        (CPP_PREDEFINES): Various alternatives depending on processor type.
        !          7752:        (ASM_FORMAT_PRIVATE_NAME): Override this.
        !          7753:        (ASM_IDENTIFY_GCC): Override; output nothing.
        !          7754:        (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Round fsize up to % 4.
        !          7755:        Max for halfword link insn is 32k, not 64k.
        !          7756:        (FUNCTION_EPILOGUE): Don't output move.l if no regs to restore.
        !          7757:        (PRINT_OPERAND_ADDRESS): Change handling of tableref pc-rel addresses.
        !          7758:        * m68k.md (movhi): Add SONY_ASM conditional.
        !          7759: 
        !          7760:        * cse.c (cse_insn): If replacing a dest address, preserve MEM_IN_STRUCT
        !          7761: 
        !          7762:        * gcc.c (error, fatal): alternate varargs defns if HAVE_VPRINTF.
        !          7763: 
        !          7764: Wed Mar 29 09:54:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7765: 
        !          7766:        * gcc.c (process_command): Check WORD_SWITCH_TAKES_ARG, so that
        !          7767:        -Tdata can be handled right.
        !          7768: 
        !          7769:        * stmt.c (check_for_full_enumeration_handling): new fn, for warn_switch
        !          7770:        (expand_end_case): Call it, if orig index was enum.
        !          7771:        * toplev.c (main): Handle -Wswitch.
        !          7772:        * c-parse.y (SWITCH stmt): Pass orig switch expr to expand_end_case.
        !          7773: 
        !          7774:        * tm-*.h, out-*.c: Uniformly use reg_names, not reg_name, and don't
        !          7775:        define any duplicates.
        !          7776:        * final.c: Delete reg_name.
        !          7777: 
        !          7778:        * c-parse.y (is_reserved_word): Add keywords __asm and __inline;
        !          7779:        also __const and __volatile.
        !          7780:        (yylex): Keywords that start with `__' are recognized regardless of
        !          7781:        -traditional or -ansi.
        !          7782: 
        !          7783:        * c-parse.y (check_newline): Always recognize #ident.
        !          7784:        Macro IDENT_DIRECTIVE is no more.
        !          7785:        If ASM_OUTPUT_IDENT is undefined, don't output anything for #ident.
        !          7786:        * tm-3b1.h: Don't define IDENT_DIRECTIVE or ASM_OUTPUT_IDENT.
        !          7787:        * tm-encore.h, tm-i386gas.h, tm-i368v.h, tm-sun386i.h, tm-vaxv.h:
        !          7788:        Don't define IDENT_DIRECTIVE; define ASM_OUTPUT_IDENT to output in
        !          7789:        default way.
        !          7790: 
        !          7791:        * expr.h (RETURN_IN_MEMORY): New macro, default defn here.
        !          7792:        * expr.c (expand_call): Use it to control where to return value.
        !          7793:        * stmt.c (expand_function_start): Likewise.
        !          7794: 
        !          7795:        * out-sparc.c (find_addr_reg): Abort if none found.
        !          7796:        Eliminate confusion; do only one change between tests for PLUSness.
        !          7797:        (output_move_double): Arg to find_addr_reg is address, not mem ref.
        !          7798:        * out-m68k.c, out-spur.c, out-i386.c, out-alliant.c: Likewise.
        !          7799: 
        !          7800:        * jump.c (find_cross_jump): Don't let either E1 or E2 be included
        !          7801:        in the range of matching insns preceding the other (E2 or E1).
        !          7802: 
        !          7803:        * c-parse.y (check_newline): No error for `#pragma\n'.
        !          7804: 
        !          7805:        * Makefile (gcc.o): Control STANDARD_STARTFILE_PREFIX here.
        !          7806: 
        !          7807:        * stmt.c (walk_fixup_memory_subreg): handle null.
        !          7808: 
        !          7809:        * tm-sparc.h (FUNCTION_BLOCK_PROFILER): Change LPBnn to LPYnn,
        !          7810:        to avoid conflict with final.c.
        !          7811: 
        !          7812: Tue Mar 28 15:23:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          7813: 
        !          7814:        * cccp.c (do_include): If fail, print system error message.
        !          7815:        (perror_with_name): Use more standard error format.  Inc. `errors'.
        !          7816: 
        !          7817:        * dbxout.c (dbxout_function): Output any temporary types
        !          7818:        that were made by dbxout itself.
        !          7819: 
        !          7820:        * stmt.c: always use an epilogue if pcc-struct-return.
        !          7821:        (expand_function_start): Compute return_label after testing that.
        !          7822:        (expand_function_end): Output a return insn after pcc-struct-return
        !          7823:        processing, if there is a return insn.
        !          7824:        (expand_null_return): Don't output a return insn, in that case.
        !          7825:        Simplify the conditions--depends entirely on HAVE_return.
        !          7826: 
        !          7827:        * tm-m68k.h (FUNCTION_BLOCK_PROFILER): Use jsr, not call.
        !          7828: 
        !          7829:        * reload.c (find_reloads): Certain mem addresses will be offsetable
        !          7830:        after reloading; in particular, those where reg_equiv_address applies.
        !          7831: 
        !          7832:        * loop.c (check_dbra_loop): Change MINUS to COMPARE.
        !          7833: 
        !          7834:        * c-typeck.c (convert_for_assignment): Return THE standard error_mark.
        !          7835: 
        !          7836: Thu Mar 23 09:39:02 1989  Richard M. Stallman  (rms at watson)
        !          7837: 
        !          7838:        * c-parse.y (components): Error if empty.
        !          7839: 
        !          7840:        * dbxout.c (dbxout_symbol): Output const variables as N_STSYM.
        !          7841: 
        !          7842:        * varasm.c (force_const_mem): Use ASM_OUTPUT_DOUBLE_INT if defnd.
        !          7843: 
        !          7844:        * c-decl.c (grokdeclarator): Warn about `long long long'.
        !          7845: 
        !          7846:        * reload1.c (reload): When changing REG to MEM, clear REG_USERVAR_P.
        !          7847:        * final.c (alter_subreg): Preserve volatile bit of MEM.
        !          7848: 
        !          7849:        * m68k.md (cmpsi, cmphi): Permit cmpm.
        !          7850: 
        !          7851:        * gcc.c (find_file): Use standard_startfile_prefix_2.
        !          7852:        Now search /usr/local/lib/, /lib/ and /usr/lib/.
        !          7853: 
        !          7854:        * tm-m68k.h (PRINT_OPERAND): Support code `d'.
        !          7855:        * m68k.md (cmpsi, cmphi, cmpqi): Use it for all mem addresses.
        !          7856: 
        !          7857:        * final.c (output_asm_insn): Don't allow %LETTER without an
        !          7858:        operand number.
        !          7859:        * tm-m68k.h, m68k.md, tm-hp9k320.h, tm-news*.h: Use %@ instead of %s.
        !          7860:        * tm-alliant.h, alliant.md: Likewise.
        !          7861:        * i386.md, out-i386.h: Put `0' after each %L, %W, %B, %S, %Q, %R.
        !          7862: 
        !          7863:        * stmt.c (expand_end_stmt_expr): Pop pending stack args.
        !          7864: 
        !          7865:        * varasm.c (assemble_variable): For 0-size common variable,
        !          7866:        allocate at least 1 byte.
        !          7867: 
        !          7868:        * tm-encore.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Use 0f, not 0l,
        !          7869:        for doubles.
        !          7870: 
        !          7871: Mon Mar 13 10:24:56 1989  Richard M. Stallman  (rms at ccvi)
        !          7872: 
        !          7873:        * out-i386.h (function_prologue, function_epilogue):
        !          7874:        Use call_used_regs, not a copy, so -f options work.
        !          7875:        Save regs in the opposite order.
        !          7876:        Save regs even starting from 0 if they happen to be call-saved.
        !          7877: 
        !          7878:        * Bug fixes from Rob McMahon.
        !          7879: 
        !          7880:        * loop.c (strength_reduce): When inserting insn to set
        !          7881:        nonreplaceable giv, put it after all the consecutive insns
        !          7882:        that compute it.
        !          7883: 
        !          7884:        * reload.c (find_reloads): When forcing const to mem,
        !          7885:        use the insn's operand mode, not the const's mode.
        !          7886: 
        !          7887:        * reload1.c (choose_reload_targets): Use wider of inmode and outmode
        !          7888:        when determining have_groups.
        !          7889: 
        !          7890:        * reload1.c (choose_reload_targets): typo checked wrong insn with
        !          7891:        constraint_accepts_reg_p.
        !          7892: 
        !          7893:        * reload1.c (choose_reload_targets): Enable #if-0'd code for
        !          7894:        forgetting old reloads in case of output reload from a non-spill-reg.
        !          7895: 
        !          7896: Sun Mar 12 00:04:49 1989  Richard M. Stallman  (rms at ccvi)
        !          7897: 
        !          7898:        * c-parse.y (yyerror): Add forward-decl here.
        !          7899:        * c-tree.h: Delete decl here.
        !          7900: 
        !          7901:        * New macro USE_C_ALLOCA.
        !          7902:        * cse.c (cse_main): Do alloca (0) to clear out C alloca.
        !          7903:        * flow.c (life_analysis):
        !          7904:        * local-alloc.c (local_alloc):
        !          7905:        * reload1.c (reload_as_needed): likewise.
        !          7906: 
        !          7907:        * loop.c (emit_iv_init_code, eliminate_biv):
        !          7908:        Always put constant in a PLUS last.
        !          7909: 
        !          7910:        * gcc.c (make_switch): Unused function deleted.
        !          7911: 
        !          7912:        *gcc.c (switches): Each switch has a `used' field.
        !          7913:        (process_command): Init it to 0 when making `switches'.
        !          7914:        (do_spec_1, handle_braces, give_switch): Set to 1 when switch is used.
        !          7915:        (main): If it remains 0 at the end, print error message.
        !          7916: 
        !          7917:        * expr.c (convert_move, convert_to_mode): Don't truncate a MEM in
        !          7918:        place if it is volatile.
        !          7919: 
        !          7920:        * loop.c (strength_reduce): When reducing a giv, if the biv is
        !          7921:        incremented between the giv's creation and its use, increment
        !          7922:        the reduced giv var *after* its use.
        !          7923: 
        !          7924:        * c-decl.c (duplicate_decls): Warn about proto vs nonproto
        !          7925:        only if no other errors apply.
        !          7926: 
        !          7927:        * jump.c (invert_exp): Don't crash if arg is null.
        !          7928: 
        !          7929:        * alliant.md (float*i*f2): Don't allow immediate ops.
        !          7930:        (sne): Fix typo, fsne => fsneq.
        !          7931: 
        !          7932:        * expr.c (store_one_arg, expand_call): When size doesn't matter,
        !          7933:        pass const0_rtx, not (rtx) 0.
        !          7934: 
        !          7935:        * expr.c (do_jump): Args to invert_exp were missing.
        !          7936: 
        !          7937:        * gcc.c (store_arg): Now 2 separate args for delete-on-success
        !          7938:        and delete-on-failure.  All calls changed.
        !          7939:        (do_spec_1): DELETE_THIS_FILE is meaningful for output files.
        !          7940: 
        !          7941:        * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
        !          7942: 
        !          7943: Sat Mar 11 10:30:41 1989  Richard M. Stallman  (rms at ccvi)
        !          7944: 
        !          7945:        * tm-*.h, xm-*.h, *.md: Moved to subdir `config'.
        !          7946:        * output-*.c: Moved to `config/out-*.c'.
        !          7947:        * Makefile (.c.o): Define rule to use -Iconfig when compiling.
        !          7948:        (various): Delete the commands from some compilation rules.
        !          7949:        Put -Iconfig in other compilation commands.
        !          7950:        Also some reordering of variable defs and comments for cleanliness.
        !          7951:        (realclean): Change a shell comment to a Make comment.
        !          7952: 
        !          7953:        * fold-const.c (fold): Simplify and extend TRUTH_... operators
        !          7954:        knowing that args must be ints and values will be 0 or 1.
        !          7955: 
        !          7956:        * gcc.hlp: New file (for VMS).
        !          7957: 
        !          7958:        * reload1.c (reload): Don't let two 2-groups overlap.
        !          7959: 
        !          7960:        * reload.c (push_reloads): When a plain reg matches a reload
        !          7961:        for an increment, don't change the reload_in to a plain reg.
        !          7962:        Leave the increment there.
        !          7963: 
        !          7964:        * integrate.c (expand_inline_function): Don't try to inline
        !          7965:        unless the parm machine modes really match what's expected.
        !          7966: 
        !          7967:        * stmt.c (emit_case_nodes): default_label is an rtx, not tree.
        !          7968: 
        !          7969:        * tm-next.h (DOLLARS_IN_IDENTIFIERS): Define it as 1.
        !          7970: 
        !          7971:        * output-sparc.c (output_move_double): Don't trust random structs
        !          7972:        to be double-word aligned.
        !          7973: 
        !          7974:        * gcc.c: Pass -Wcomments to cpp.
        !          7975: 
        !          7976:        * rtl.def (ASM_OPERANDS): New operands, source file and line.
        !          7977:        * rtl.h (ASM_OPERANDS_*): New macros for components of ASM_OPERANDS.
        !          7978:        * stmt.c (expand_asm_operands): Use new fields, not REG_ASM_* notes.
        !          7979:        * toplev.c (error_for_asm): likewise.
        !          7980:        * rtl.h (enum reg_note): Delete REG_ASM_FILE, REG_ASM_LINE.
        !          7981: 
        !          7982:        * combine.c (try_combine): Check explicitly for volatility in I2, I1.
        !          7983: 
        !          7984: Fri Mar 10 19:30:10 1989  Richard M. Stallman  (rms at ccvi)
        !          7985: 
        !          7986:        * c-parse.y (GOTO stmt): Set TREE_USED for the label.
        !          7987:        * c-decl.c (poplevel): Warn about unused label.
        !          7988: 
        !          7989:        * c-decl.c (warn_pointer_arith, warn_strict_prototypes): New vars.
        !          7990:        (lang_decode_options): Options to set them.
        !          7991:        * c-typeck.c (pointer_int_sum, c_sizeof): Maybe warn if bad target.
        !          7992:        * c-decl.c (grokparms): Maybe warn if nonprototype fn decl.
        !          7993: 
        !          7994:        * flags.h, toplev.c (warn_shadow): New flag.
        !          7995:        * toplev.c (main): Decode it.
        !          7996:        * c-decl.c (pushdecl): Maybe warn about any shadowing.
        !          7997:        Existing parm-shadowing warning now disabled if shadowing decl
        !          7998:        is also a parm.
        !          7999: 
        !          8000:        * flags.h, toplev.c (warn_id_clash, id_clash_len): New flags.
        !          8001:        * toplev.c (main): Decode -Wid-clash-LEN.
        !          8002:        * tree.c (get_identifier): Implement warning if two idents match.
        !          8003: 
        !          8004:        * toplev.c (compile_file): Warn about statics defined and unused.
        !          8005: 
        !          8006:        * rtl.h (CONST0_RTX): New macro.
        !          8007: 
        !          8008:        * recog.c (offsetable_address_p): New 1st arg says whether to demand
        !          8009:        a strictly valid address.
        !          8010:        (offsetable_memref_p): Pass nonzero.
        !          8011:        * stmt.c (optimize_bit_field): Pass zero.
        !          8012: 
        !          8013:        * cccp.c (main): Allow -Wcomment like -Wcomments.
        !          8014:        * c-decl.c (lang_decode_options): Likewise.
        !          8015: 
        !          8016: Sun Mar  5 15:02:59 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          8017: 
        !          8018:        * m68k.md [tstdf, cmp[sd]f, truncdfsf2, floatsi[sd]f2, add[sd]f3,
        !          8019:        sub[sd]f3, mul[sd]f3, div[sd]f3, neg[sd]f2, abs[sd]f2]: Made sure
        !          8020:        that the test function's in the match_operands of the define_expand
        !          8021:        and define_insn's matched, and made that test function
        !          8022:        "register_operand" when both define_insn's really needed registers
        !          8023:        in that spot.
        !          8024: 
        !          8025: Sat Mar  4 00:25:37 1989  Richard M. Stallman  (rms at c2v)
        !          8026: 
        !          8027:        * expr.c (emit_push_insn): Don't ever bypass the big-endian
        !          8028:        padding at the end.
        !          8029: 
        !          8030:        * cccp.c (deps_output): Break line if would otherwise exceed 75 chars.
        !          8031:        Make a name for that value 75.
        !          8032: 
        !          8033:        * combine.c (subst): Handle general case of (subreg (sign_extend X)).
        !          8034: 
        !          8035:        * tm-sun386i.h (CPP_PREDEFINES): Define `sun'.
        !          8036: 
        !          8037:        * fixincludes: change `find' calls to find dirs thru symlinks.
        !          8038: 
        !          8039:        * flow.c (mark_set_1): (set (subreg (reg N))...)
        !          8040:        does make reg N significant for this basic block.
        !          8041: 
        !          8042: Fri Mar  3 13:55:25 1989  Richard M. Stallman  (rms at c2v)
        !          8043: 
        !          8044:        * c-decl.c (parmlist_tags_warning): Print an explanation
        !          8045:        for the first such warning.
        !          8046: 
        !          8047:        * i386.md (extendsfdf): Let op 1 match op0 if that is an fp reg.
        !          8048: 
        !          8049:        * expr.c (expand_call): Fix stupid errors copying pcc struct value.
        !          8050: 
        !          8051:        * varasm.c (output_constructor): Discard NOP_EXPRs from build_c_cast.
        !          8052: 
        !          8053: Thu Feb 23 05:55:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8054: 
        !          8055:        * Version 1.34 released.
        !          8056: 
        !          8057:        * c-typeck.c (build_c_cast): If EXPR is an error mark, return that.
        !          8058: 
        !          8059:        * fold-const.c (div_and_round_double): Abort if divisor is 0.
        !          8060:        (combine): Likewise, for real constants.
        !          8061:        (real_zerop): New subroutine.
        !          8062:        (fold): Don't try to fold division if divisor is 0.
        !          8063:        Don't try to fold reals if can't do arithmetic on them.
        !          8064:        Don't try to compare reals for TRUTH_..._EXPR if can't do arith.
        !          8065:        Use real_zerop to test reals for zeroness.
        !          8066:        For TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, can simplify based on
        !          8067:        first operand alone.
        !          8068: 
        !          8069:        * c-typeck.c (store_init_value): Fix error msg text.
        !          8070: 
        !          8071:        * tm-sparc.h (FUNCTION_PROFILER): Use `mcount'.
        !          8072:        * tm-sun4os3.h (FUNCTION_PROFILER): Override it; use `.mcount'.
        !          8073: 
        !          8074: Wed Feb 22 04:33:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8075: 
        !          8076:        * tm-hp9k320.h (CPP_SPEC, CPP_PREDEFINES): Make handling of
        !          8077:        -Dmc68000 depend on TARGET_DEFAULT.
        !          8078: 
        !          8079:        * tm-sparc.h (FUNCTION_PROFILER): Missing newline in fprintf.
        !          8080: 
        !          8081:        * integrate.c (expand_inline_function): Don't map struct-value-address
        !          8082:        in memory if fn does not use it.
        !          8083: 
        !          8084:        * c-parse.y (check_newline): At skipline, detect eof.
        !          8085: 
        !          8086:        * stmt.c (uninitialized_vars_warning): Change text of warning.
        !          8087: 
        !          8088: Tue Feb 21 03:58:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8089: 
        !          8090:        * output-sparc.c (output_mul_insn): Handle case of both args
        !          8091:        in reg 8, or both in reg 9.
        !          8092: 
        !          8093:        * tm-sparc.h (ASM_SPEC): Define, to handle -pipe.
        !          8094: 
        !          8095:        * tm-sparc.h (FUNCTION_PROFILER): Add omitted fprintf args.
        !          8096:        (BLOCK_PROFILER): Likewise.  Use tempvar.
        !          8097: 
        !          8098:        * m68k.md (QImode btst): Allow nonoffsetable mem refs.
        !          8099: 
        !          8100: Mon Feb 20 00:32:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8101: 
        !          8102:        * flow.c (mark_used_regs): Don't record about global reg vars.
        !          8103: 
        !          8104:        * config.gcc (convex-*): tm file names are tm-convex1.h, tm-convex2.h.
        !          8105: 
        !          8106:        * tm-vax.h, tm-ns32k.h, tm-alliant.h: Define PCC_STATIC_STRUCT_RETURN.
        !          8107: 
        !          8108:        * gcc.c (compilers): Pass `-a' to cc1.
        !          8109:        * tm-sun3.h, tm-sparc.h (LIB_SPEC): Define, to handle `-a'.
        !          8110: 
        !          8111:        * expr.c (emit_push_insn): Copy stack addresses to be passed to bcopy;
        !          8112:        old method of preadjustment is broken by changes in emit_library_call.
        !          8113: 
        !          8114:        * c-decl.c (finish_decl): New temp `temporary'; don't get confused
        !          8115:        about whether allocation was temporary.
        !          8116: 
        !          8117: Sun Feb 19 17:03:35 1989  Chris Smith  (csmith at mozart)
        !          8118: 
        !          8119:        * tm-convex.h: define PCC_STATIC_STRUCT_RETURN
        !          8120: 
        !          8121:        * convex.md:
        !          8122:        remove pshea patterns, movsi does it better.
        !          8123:        add ashift:DI abs:DF abs:SF
        !          8124:        (tstdi): use a clobbered register instead of a bogus DImode zero.
        !          8125:        (trunchiqi2): delete noninstruction cvth.b
        !          8126:        (udivsi3, udivhi3, udivqi3): deleted, expand_divmod does it now.
        !          8127:        (call, call_value): delete stupid call/ret -> jump optimization.
        !          8128:        (call, call_value): flush call_ap_check, use reg_mentioned_p instead.
        !          8129: 
        !          8130:        * convex.md: (movxx): swap constraint alternatives so that the
        !          8131:        leftmost alternative is (set =g r).  This makes (set mem const)
        !          8132:        get combinable input reloads of const instead of uncombinable
        !          8133:        output reloads to mem.  They still do not combine, but wtf,
        !          8134:        I'll inch up on it.
        !          8135: 
        !          8136:        * output-convex.c: (const_double_{high,low}_int): new routines
        !          8137:        to pick apart const_doubles for assembler.
        !          8138: 
        !          8139: Sun Feb 19 01:40:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8140: 
        !          8141:        * sparc.md (shift memory right 24 bits): Another `a1' typo.
        !          8142: 
        !          8143:        * config.gcc (convex-*): Delete troublesome whitespace.
        !          8144: 
        !          8145:        * c-decl.c (grokparms): Delete redundant `parm != 0' tests.
        !          8146: 
        !          8147:        * stmt.c (fixup_memory_subreg): Slight simplification.
        !          8148: 
        !          8149:        * tm-sparc.h (FUNCTION_PROFILER): Fill delay slot.
        !          8150:        (FUNCTION_BLOCK_PROFILER): Use sethi.
        !          8151:        (BLOCK_PROFILER): Use %g2, not %g0.  Use sethi.
        !          8152: 
        !          8153: Sat Feb 18 02:11:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8154: 
        !          8155:        * expr.c (expand_expr): Ignore const array's initial value
        !          8156:        if it's an error_mark.
        !          8157:        * c-decl.c (finish_decl): Set DECL_INITIAL to an error_mark
        !          8158:        if the decl is a permanent node.
        !          8159: 
        !          8160:        * cccp.c (rescan): If traditional, if macro ends inside string,
        !          8161:        keep scanning for the end of the string.
        !          8162:        (handle_directive): A line of just `#' becomes blank.
        !          8163:        (collect_expansion): \ in strings traditionally doesn't hide macro arg.
        !          8164: 
        !          8165:        * m68k.md, alliant.md (addsi3): New alternative a=r+a, in addition
        !          8166:        to old a=a+r, needed since reload-insns are not commuted.
        !          8167: 
        !          8168: Fri Feb 17 03:15:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8169: 
        !          8170:        * tm-m68k.h (PCC_STATIC_STRUCT_RETURN): Define it.
        !          8171:        * toplev.c, flags.h: New var flag_pcc_struct_return.
        !          8172:        * stmt.c (expand_function_start): Obey new flag and new variable.
        !          8173:        * expr.c (expand_call): Obey new flag and new variable.
        !          8174:        * varasm.c (assemble_static_space): New function.
        !          8175: 
        !          8176:        * stmt.c (expand_return): If we need cleanups, compute retval first
        !          8177:        into pseudo reg, then do the cleanups, then copy it to return reg.
        !          8178: 
        !          8179: Thu Feb 16 02:59:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8180: 
        !          8181:        * regclass.c (init_reg_sets_1): Win if STATIC_CHAIN_REGNUM undefined.
        !          8182: 
        !          8183:        * expr.c (expand_call): Handle conflict between two precomputed
        !          8184:        args that are both function calls returning structures.
        !          8185: 
        !          8186:        * loop.c (move_movables): Bkwds test of m->partial, for a matching reg.
        !          8187: 
        !          8188:        * expr.c (emit_library_call, expand_call): Handle STACK_ARGS_ADJUST.
        !          8189: 
        !          8190: Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8191: 
        !          8192:        * toplev.c (flag_caller_saves): New var, for -fcaller-saves.
        !          8193:        DEFAULT_CALLER_SAVES controls initial value.
        !          8194:        * global-alloc.c (find_reg): Do caller saves only if flag set.
        !          8195:        * local-alloc.c (find_free_reg): Do caller saves only if flag set.
        !          8196:        * tm-alliant.h, tm-convex.h: Define DEFAULT_CALLER_SAVES.
        !          8197: 
        !          8198: Wed Feb 15 01:59:15 1989  Chris Smith  (rms at sugar-bombs.ai.mit.edu)
        !          8199: 
        !          8200:        * caller-save.c: New file.
        !          8201:        * regs.h (CALLER_SAVE_PROFITABLE): New macro.
        !          8202:        (reg_n_calls_crossed): new int-vector replaces reg_crosses_calls.
        !          8203:        * flow.c (allocate_for_life_analysis, propagate_block, dump_flow_info):
        !          8204:        Use reg_n_calls_crossed.
        !          8205:        * stupid.c (stupid_mark_refs, stupid_life_analysis): Likewise.
        !          8206:        * global-alloc.c (find_reg): Sometimes allocate call-clobbered regs
        !          8207:        for call-crossing pseudos.
        !          8208:        New arg ACCEPT_CALL_CLOBBERED; callers changed.
        !          8209:        * local-alloc.c (find_free_reg): Similar changes.
        !          8210:        (qty_n_calls_crossed): New int-vector replaces qty_crosses_calls.
        !          8211:        (alloc_qty, local_alloc, combine_regs, find_free_reg): change that var.
        !          8212:        * regclass.c (call_fixed_regs, call_fixed_reg_set): new vars.
        !          8213:        (init_reg_sets_1): Initialize them.
        !          8214:        * reload1.c (reload): Call caller-saves processing if needed.
        !          8215: 
        !          8216: Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8217: 
        !          8218:        * expr.c (expand_expr): INTEGER_CST for DImode: don't handle
        !          8219:        endianness here.  So CONST_DOUBLE_LOW is always the low word.
        !          8220:        * varasm.c (force_const_mem): Handle it here. 
        !          8221: 
        !          8222:        * expr.c (convert_move): widening followed by extendsidi2 had braino.
        !          8223: 
        !          8224:        * integrate.c: Don't include ctype.h; not needed and kills Sun cpp.
        !          8225: 
        !          8226:        * m68k.md (cmpsf, cmpdf and their recognizers):
        !          8227:        Replace MINUS with COMPARE.
        !          8228:        Also, use VOIDmode for COMPAREs, not SF or DF.
        !          8229: 
        !          8230:        * optabs.c (sign_expand_binop): Handle ops such as division where
        !          8231:        an unsigned char could be widened and handled with signed int insns.
        !          8232:        * expmed.c (expand_divmod): Use that.
        !          8233: 
        !          8234:        * c-typeck.c (digest_init): Allow for type variants in validating
        !          8235:        initialization from a string constant.
        !          8236: 
        !          8237:        * c-typeck.c (decl_constant_value): Disable opt. if pedantic or
        !          8238:        outside functions, so that validity of program is never affected.
        !          8239: 
        !          8240:        * fold-const.c (fold): Signedness-test for ABS_EXPR was backwards.
        !          8241: 
        !          8242: Tue Feb 14 01:30:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8243: 
        !          8244:        * cccp.c (main): Don't omit normal output, if we want deps on
        !          8245:        a separate stream.
        !          8246: 
        !          8247:        * c-decl.c (grokdeclarator): Don't record any arg types for functions
        !          8248:        if -traditional.
        !          8249: 
        !          8250:        * print-tree.c (prtypeinfo): Mention permanent attribute.
        !          8251: 
        !          8252:        * tm-next.h: New file.
        !          8253: 
        !          8254:        * c-typeck.c (decl_constant_value): The DECL_INITIAL may be ERROR_MARK.
        !          8255: 
        !          8256:        * c-decl.c (duplicate_decls): For fns, new static decl overrides
        !          8257:        old non-static one.
        !          8258: 
        !          8259:        * emit-rtl.c (gen_lowpar, gen_highpart): Use change_address, so we
        !          8260:        preserve volatility, etc.
        !          8261: 
        !          8262:        * stmt.c (expand_expr_stmt): Use emit_filename, emit_lineno
        !          8263:        as file and line for any warning.
        !          8264:        * emit-rtl.c (emit_line_note): Set those vars.
        !          8265: 
        !          8266:        * c-decl.c (store_parm_decls): If -Wimplicit, warn of arg with no decl.
        !          8267: 
        !          8268:        * recog.c (offsetable_address_p): Use strict_memory_address_p,  
        !          8269:        since called from reload.c.
        !          8270: 
        !          8271: Mon Feb 13 03:11:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8272: 
        !          8273:        * sparc.md (compare-to-reg patterns): Some still had MINUS.
        !          8274: 
        !          8275:        * toplev.c (main): Warn if `-a' on system that can't handle it.
        !          8276: 
        !          8277:        * stmt.c (expand_asm_operands): Delete unused local `val'.
        !          8278:        (pushcase_range): Likewise for `value'.
        !          8279:        (fixup_var_refs): Likewise for `insn'.
        !          8280:        * emit-rtl.c (start_sequence): Likewise for `save'.
        !          8281:        * loop.c (scan_loop): Likewise for `before_start'.
        !          8282:        * expr.c (expand_expr): Delete label `binop1'.
        !          8283: 
        !          8284:        * reload1.c (constraint_accepts_reg_p): Handle SUBREGs of REGs.
        !          8285: 
        !          8286: Sun Feb 12 05:37:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8287: 
        !          8288:        * gnulib.c (__bb_init_func): New function
        !          8289: 
        !          8290:        * tm-m68k.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): Defined.
        !          8291: 
        !          8292: Sat Feb 11 00:05:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8293: 
        !          8294:        * tm-sparc.h (FUNCTION_PROFILER): Make it really work.
        !          8295:        (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
        !          8296: 
        !          8297:        * final.c (final): Use BLOCK_PROFILER at start of each basic block.
        !          8298:        (final_start_function): Use FUNCTION_BLOCK_PROFILER if -a.
        !          8299:        (end_final): New fn to output the block-profiling tables.
        !          8300:        * toplev.c (profile_block_flag): Set if -a.
        !          8301:        (compile_file): Call end_final.
        !          8302: 
        !          8303:        * combine.c (try_combine): Avoid combining in most cases if I3
        !          8304:        has an inc or dec and I1 or I2 uses the same register.
        !          8305: 
        !          8306:        * tree.c (size_in_bytes, int_size_in_bytes): Use type's main variant.
        !          8307: 
        !          8308:        * c-typeck.c (actualparameterlist): Error if parm type is incomplete.
        !          8309: 
        !          8310:        * expr.c (expand_call): Ignore args that have incomplete type.
        !          8311: 
        !          8312: Fri Feb 10 02:26:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8313: 
        !          8314:        * c-parse.y (case stmts): strip dummy NOP_EXPRs.
        !          8315: 
        !          8316:        * reload1.c (reload_as_needed): Clear reg_{has,is}_output_reload here,
        !          8317:        (choose_reload_targets): not here.
        !          8318: 
        !          8319: Thu Feb  9 01:35:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8320: 
        !          8321:        * output-sparc.c (output_mul_by_constant): Forget cc status.
        !          8322: 
        !          8323:        * stmt.c (assign_parms): Don't put volatile parms in regs.
        !          8324: 
        !          8325:        * vax.md (jlbs/jlbc recognizers): Move them before jbc/jbs recognizers.
        !          8326: 
        !          8327:        * cse.c (fold_rtx): Handle (EQ (COMPARE ...) (CONST_INT 0)).
        !          8328: 
        !          8329:        * c-typeck.c (default_conversion, digest_init): For static const
        !          8330:        nonvolatile scalar variable, use its initial value if known.
        !          8331: 
        !          8332:        * expr.c (expand_expr: case COMPONENT_REF): If containing structure
        !          8333:        comes out volatile, leave the component MEM volatile too.
        !          8334: 
        !          8335:        * hard-reg-set.h: Fix multi-word case macros to swallow semicolon.
        !          8336: 
        !          8337:        * c-typeck.c (default_conversion): In array=>ptr, volatility
        !          8338:        of target type comes from TREE_THIS_VOLATILE, not TREE_VOLATILE.
        !          8339: 
        !          8340:        * reload1.c (forget_old_reload_1, choose_reload_targets):
        !          8341:        New array reg_is_output_reload is converse of reg_has_output_reload.
        !          8342:        forget_old_reload_1 needs both.
        !          8343: 
        !          8344: Wed Feb  8 01:26:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8345: 
        !          8346:        * reload1.c (forget_old_reloads_1): New fn, guts of forget_old_reloads.
        !          8347:        Do process a spill reg if it isn't used for reloading in this insn.
        !          8348:        (forget_old_reloads): Deleted, replaced with note_stores.
        !          8349:        (reload_as_needed): Undo Feb 1 change.
        !          8350:        Call forget_old_reloads_1 on pseudos autoincremented and not reloaded.
        !          8351: 
        !          8352:        * c-typeck.c (convert_for_assignment): Handle variant types.
        !          8353: 
        !          8354:        * c-decl.c (lang_decode_option): -Wall implies -Wunused.
        !          8355: 
        !          8356: Tue Feb  7 01:32:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8357: 
        !          8358:        * combine.c (try_combine): Don't try adding outputs to an asm_operands.
        !          8359: 
        !          8360:        * cse.c (CHEAPER): Don't ever let a hard reg get ahead of a pseudo.
        !          8361: 
        !          8362:        * stmt.c (fixup_gotos): Don't crash on undef label if THISBLOCK is 0.
        !          8363: 
        !          8364:        * c-decl.c (parmlist_tags_warning): New fn.
        !          8365:        * c-parse.y (parmlist, parmlist_or_identifiers): Call it,
        !          8366:        to warn about any tags defined inside the parmlist.
        !          8367:        * c-decl.c (grokparms): Don't warn about ptr to incomplete type.
        !          8368:        The new warning is better.
        !          8369: 
        !          8370: Mon Feb  6 01:11:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8371: 
        !          8372:        * expr.c (store_constructor): Incorrect ALIGN arg in store_field calls.
        !          8373: 
        !          8374:        * c-parse.y (%union): Delete unused alternative.
        !          8375: 
        !          8376:        * c-decl.c (grokparms): Use main variant to test for ptr to incomplete.
        !          8377: 
        !          8378:        * c-decl.c (finish_enum): Delete superfluous init for `pair'.
        !          8379: 
        !          8380:        * cse.c (fold_rtx): Optimize X+0, X-0 in floating point.
        !          8381:        Fix typo in PLUS case; omitted value to compare GET_MODE_CLASS against.
        !          8382:        (equiv_constant): Allow CONST_DOUBLE.
        !          8383: 
        !          8384:        * cse.c: Optimize past if-statements that are known to fail.
        !          8385:        (cse_insn): If condjump becomes uncond to end of this block,
        !          8386:        set cse_skip_to_next_block.
        !          8387:        (cse_basic_block): If that happens, ignore rest of block, and maybe
        !          8388:        treat next block as part of this one (if tables have room).
        !          8389:        Resume insn that starts next basic block to be scanned.
        !          8390:        (cse_main): Make room for at least 500 qtys.
        !          8391:        (cse_end_of_basic_block): Subroutine broken out of cse_main.
        !          8392: 
        !          8393:        * c-parse.y (hash, is_reserved_word): Rewrite: new hash technique.
        !          8394: 
        !          8395:        * c-decl.c (duplicate_decls): Be smart about proto vs nonproto mismatch
        !          8396:        involving a function definition.
        !          8397: 
        !          8398: Sun Feb  5 17:31:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8399: 
        !          8400:        * alliant.md (movdi): Typo in `fmoved'.
        !          8401:        (ftruncsf2): Handle moving into fp reg.
        !          8402: 
        !          8403:        * jump.c (jump_optimize): Typo in testing PRESERVE_DEATH_INFO_REGNO_P.
        !          8404: 
        !          8405:        * reload1.c (choose_reload_targets): Move all death notes to the
        !          8406:        output reload insn.
        !          8407: 
        !          8408:        * m68k.md (fix_truncsfsi2,fix_truncdfsi2): Use accurate rtl pattern.
        !          8409: 
        !          8410:        * loop.c (delete_insn_forces): Use presence of REG_RETVAL to check
        !          8411:        for value-of-library-call insn.
        !          8412: 
        !          8413: Sat Feb  4 18:17:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8414: 
        !          8415:        * integrate.c (expand_inline_function): Make addresses of stack
        !          8416:        slots valid somehow.
        !          8417: 
        !          8418:        * tm-3b1.h (DIVSI3_LIBCALL, etc.): Define these macros; avoid gnulib.
        !          8419: 
        !          8420:        * expmed.c (store_bit_field): Avoid (subreg (mem)) when converting
        !          8421:        VALUE1 to SImode.
        !          8422: 
        !          8423:        * jump.c (jump_optimize): Do delete USE and CLOBBER insns.
        !          8424:        This is needed for proper jump optimization.
        !          8425: 
        !          8426:        * rtl.def (COMPARE): New code.
        !          8427:        * *.md (compare and related patterns): Use COMPARE, not MINUS:VOID.
        !          8428:        * loop.c (eliminate_biv, can_eliminate_biv_p): Likewise.
        !          8429:        * cse.c (fold_rtx, fold_cc0, cse_insn):
        !          8430:        * output-m88k.c (output_{f,}compare, output_store):
        !          8431:        * output-sparc.c (strict_single_insn_op_p, single_insn_src_p, safe_insn_src_p):
        !          8432:        * combine.c (subst):
        !          8433:        * jump.c (jump_back_p):
        !          8434: 
        !          8435: Fri Feb  3 18:34:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8436: 
        !          8437:        * output-i386.c (notice_update_cc): If arith insn sets the cc's,
        !          8438:        discard all remnants of previous cc value and flags.
        !          8439: 
        !          8440:        * sparc.md (ashiftrt mem by 24): Fix typo `a1'.
        !          8441: 
        !          8442: Thu Feb  2 14:55:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8443: 
        !          8444:        * output-sparc.c (output_mul_insn): Clear the CC status.
        !          8445: 
        !          8446: Wed Feb  1 20:01:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8447: 
        !          8448:        * Version 1.33 released.
        !          8449: 
        !          8450:        * reload1.c (reload_as_needed): On entering new basic block,
        !          8451:        if it didn't need reload regs, forget all inherited contents of those.
        !          8452: 
        !          8453:        * tm-alliant.h (NOTICE_UPDATE_CC): Floating moves don't set the cc's.
        !          8454:        Also delete the clauses and tests for FPA regs. 
        !          8455: 
        !          8456: Tue Jan 31 21:51:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8457: 
        !          8458:        * config.gcc: Handle convex-c1, convex-c2.
        !          8459:        * tm-convex1.h, tm-convex2.h: New files that include tm-convex.h.
        !          8460:        * tm-convex.h: Define switches -mnoc1, -mnoc2.
        !          8461: 
        !          8462:        * config.gcc: rename `nofp' to `nfp', to match the file names.
        !          8463: 
        !          8464: Mon Jan 30 22:12:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8465: 
        !          8466:        * output-sparc.c (output_delay_insn): Extract the operands,
        !          8467:        call alter_subreg, constrain_operands and NOTICE_UPDATE_CC.
        !          8468:        So callers other than output_eager_then_insn don't lose.
        !          8469:        (output_eager_then_insn): No need to do that stuff.
        !          8470: 
        !          8471:        * symout.c (symout_block_symbols): Handle (MEM (REG)) for
        !          8472:        variable-sized arrays.
        !          8473: 
        !          8474:        * tm-encore.h (ASM_SPEC): Always pass -j; avoid jump-range lossage.
        !          8475: 
        !          8476: Sun Jan 29 17:06:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8477: 
        !          8478:        * alliant.md: Fix refs to CONST_DOUBLEs to use CONST_DOUBLE_{HIGH,LOW}.
        !          8479: 
        !          8480:        * combine.c (subst): (minus (zero_extend ...) (const_int ...)) opt.
        !          8481:        now limited to within the context of (set (cc0) ...).
        !          8482: 
        !          8483: Sat Jan 28 14:26:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8484: 
        !          8485:        * cse.c (fold_cc0): Missing `&' extracting CONST_DOUBLEs.
        !          8486:        (fold_rtx): Don't put CONST_DOUBLEs together into a (CONST (PLUS...)).
        !          8487: 
        !          8488:        * output-convex.c (gen_cmp): Recognize CONST_DOUBLE as a constant.
        !          8489: 
        !          8490:        * tree.c (build_real_from_int_cst): Typo in REAL_ARITHMETIC case.
        !          8491: 
        !          8492:        * Makefile (bootstrap2): Don't use bootstrap3 as subroutine.
        !          8493: 
        !          8494:        * varasm.c (force_const_mem): Put the CONST_DOUBLE on the chain
        !          8495:        if its MEM is stored in it; so it can be cleared at end of function.
        !          8496: 
        !          8497:        * stmt.c (emit_case_nodes): Put a compare before each cond-jump.
        !          8498:        Two cond-jumps after one cond is invalid and makes cse produce garbage.
        !          8499: 
        !          8500: Fri Jan 27 01:05:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8501: 
        !          8502:        * tm-sun2.h (CPP_SPEC): Define __HAVE_68881__ only if -m68881.
        !          8503: 
        !          8504:        * c-decl.c (start_decl): Don't expand_decl if DECL already has rtl.
        !          8505:        (grokparms): If just declaring fcn, incomplete parm type is just
        !          8506:        a warning, and don't discard the specified type.
        !          8507: 
        !          8508:        * expmed.c (expand_divmod): Be smarter about not clobbering args
        !          8509:        with intermediate results; one mem can clobber another, and a reg
        !          8510:        can clobber a mem.
        !          8511: 
        !          8512:        * tm-i386.h (FUNCTION_PROFILER): Use LPREFIX.  May actually work now.
        !          8513:        * tm-i386gas.h: Include tm-bsd386.h, not tm-att386.h.
        !          8514:        This means changing asm syntax.
        !          8515:        #undef DBX_NO_XREFS and DBX_CONTIN_LENGTH.
        !          8516: 
        !          8517:        * sparc.md (eager branch peepholes): Don't forget 2nd arg to
        !          8518:        safe_insn_src_p.
        !          8519:        Don't print warnings.
        !          8520:        * output-sparc.c: (strict_single_insn_op_p): Return 0 for floating
        !          8521:        REG or MEM, since copying that may take 2 insns.
        !          8522:        (operands_satisfy_eager_branch_peephole): require delay insn to
        !          8523:        be strict_single_insn_op_p as well as safe_insn_src_p.
        !          8524:        (operand_clobbered_before_used_after): Don't print warnings.
        !          8525: 
        !          8526:        * varasm.c (decode_rtx_const): Clear entire structure incl. gaps.
        !          8527:        Avoids spurious hash mismatches.
        !          8528:        (force_const_mem): If CONST_DOUBLE, store its CONST_DOUBLE_MEM field.
        !          8529:        Also look in that field rather than hashing, to save time.
        !          8530: 
        !          8531:        * c-typeck.c (build_c_cast): If value is literal, mark NOP_EXPR as so.
        !          8532:        (store_init_value): Change error msg.
        !          8533: 
        !          8534:        * c-decl.c (duplicate_decls): Classify prototype vs nonprototype
        !          8535:        mismatches better.
        !          8536: 
        !          8537:        * tm-3b1.h: Fix comment.
        !          8538: 
        !          8539: Wed Jan 25 12:46:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8540: 
        !          8541:        * Makefile (cleanlinks): Use -f.
        !          8542: 
        !          8543: Tue Jan 24 17:54:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8544: 
        !          8545:        * cse.c (canon_hash): Fix paren error in last change.
        !          8546: 
        !          8547:        * varasm.c (immed_real_const_1): Missing arg to bcmp.
        !          8548: 
        !          8549: Mon Jan 23 02:43:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8550: 
        !          8551:        * stor-layout.c (layout_type): BLKmode elts force array to be BLKmode.
        !          8552: 
        !          8553:        * genpeep.c, genoutput.c, genemit.c: Put `#include "real.h"' in output.
        !          8554: 
        !          8555:        * stmt.c (expand_expr_stmt): No "no effect" warning for error-mark.
        !          8556: 
        !          8557:        * varargs.h: Rename implicit arg name to __builtin_va_alist
        !          8558:        which triggers code in assign_parms.  Does this really matter?
        !          8559: 
        !          8560:        * sparc.md (sne): New define_expand.
        !          8561:        (seq recognizers): Handle sne as well.
        !          8562:        * output-sparc.c ({strict_,}single_insn_src_p):
        !          8563:        Some NEG and MINUS insns are actually 2 asm insns.
        !          8564:        (safe_insn_src_p): No floating arith is safe; they can trap.
        !          8565:        (eq_or_neq): New fn, for seq/sne recognizers.
        !          8566: 
        !          8567:        * c-decl.c (grokdeclarator, size of array type):
        !          8568:        Strip from SIZE any NOP_EXPRs that don't change anything.
        !          8569: 
        !          8570:        * reload.c, recog.c: Include real.h so constraint macros can examine
        !          8571:        CONST_DOUBLEs.
        !          8572: 
        !          8573: Sun Jan 22 04:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8574: 
        !          8575:        * c-decl.c (init_decl_processing): Define __builtin_saveregs.
        !          8576:        * tree.h: likewise.
        !          8577:        * expr.c (expand_builtin): Handle it.
        !          8578: 
        !          8579:        * tm-sparc.h: Define TARGET_EAGER and -meager.
        !          8580:        * sparc.md (eager branch peepholes): Reenable, but test TARGET_EAGER.
        !          8581:        Change fb insns to use %F.  Delete `,a' from some of them.
        !          8582:        * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
        !          8583: 
        !          8584:        * xm-vms.h (const): Define it as empty.
        !          8585: 
        !          8586:        * make-cccp.com: Move the rename of cexp_tab.c.
        !          8587:        Compile cccp.c with no macro definitions.
        !          8588: 
        !          8589:        * cccp.c (main): VMS conditional for setting max_include_len.
        !          8590: 
        !          8591: Sat Jan 21 12:53:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8592: 
        !          8593:        * varargs.h (va_start): On sparc, call __builtin_saveregs.
        !          8594:        Delete the old conditional that used va-sparc.h.
        !          8595:        Rename macros and locals to start with two underscores.
        !          8596:        * va-sparc.h: File deleted.
        !          8597: 
        !          8598:        * c-decl.c (store_parm_decls): Initialize OTHERS.
        !          8599: 
        !          8600:        * stmt.c (assign_parms): Obey layout_decl.
        !          8601: 
        !          8602: Fri Jan 20 02:19:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8603: 
        !          8604:        * cse.c (fold_rtx): For SYMBOL_REF and LABEL_REF, mask address
        !          8605:        to 16 bits.
        !          8606: 
        !          8607:        * tree.h (NUM_TREE_CODES): NUM_TREE_CODE renamed.
        !          8608: 
        !          8609: Thu Jan 19 13:53:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8610: 
        !          8611:        * c-typeck.c (mark_addressable): For global reg var, report error.
        !          8612:        Now returns an int; value of 0 means caller should fail.
        !          8613:        All calls (in this file) changed.
        !          8614: 
        !          8615:        * stor-layout.c (layout_decl): Don't let an more than 1 word
        !          8616:        of any aggregate go in any 1 register.  (Needed for machines whose
        !          8617:        integer regs are 64 bits).
        !          8618: 
        !          8619:        * tm-convex.h, xm-convex.h, convex.md, output-convex.c: new files.
        !          8620: 
        !          8621:        * expr.c (convert_move): Use extendqidi2, etc. for converting
        !          8622:        small ints to double ints.  Use zero_extendsidi2 rather than
        !          8623:        clearing the high half.
        !          8624: 
        !          8625: Wed Jan 18 01:20:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8626: 
        !          8627:        * varasm.c (make_decl_rtl): If global `register' decl is invalid,
        !          8628:        make ordinary non-register rtl.
        !          8629: 
        !          8630:        * output-sparc.c (operand_clobbered_before_used_after): new fn.
        !          8631:        (reg_clobbered_p, safe_insn_src_p): New fns.
        !          8632:        (single_insn_src_p): Treat constants all as ok, even though not
        !          8633:        always literally so.  Also accept some SIGN_EXTENDs and ZERO_EXTENDs.
        !          8634:        (strict_single_insn_src_p): New fn, like above but is strict
        !          8635:        about constants and constant memory addresses.
        !          8636:        (relop): New fn.
        !          8637:        (output_move_double): Don't make a MEM, and don't use %m.
        !          8638:        (output_delayed_branch): New name for output_delay_insn.
        !          8639:        Now handle non-small constant operands.
        !          8640:        Avoid duplicate loads of g1 for constant addresses.
        !          8641:        Use recog_operand directly for output of the delay insn.
        !          8642:        (output_delay_insn): Now a completely new fn.
        !          8643:        (output_eager_then_insn, next_real_insn_no_labels): New fns.
        !          8644:        (operands_satisfy_eager_branch_peephole): New fn.
        !          8645: 
        !          8646:        * sparc.md: New peepholes for testing a recently used operand.
        !          8647:        New peepholes for delayed branches, incl. conditional ones.
        !          8648:        ** Some of them commented out because they seem not to work.
        !          8649:        (andcc recognizer): Fix typo, missing %.
        !          8650:        (bgt): Change bgt to bg in output.
        !          8651:        (reversed jumps): Replace with one pattern using match_operand.
        !          8652:        It uses %F to output the condition.
        !          8653:        (movsi): For round-valued immed const, use just a sethi.
        !          8654:        For other immed, use explicit sethi and or.
        !          8655:        (movhi, movqi): use `move' for reg source or small int source.
        !          8656:        For other immed, use explicit sethi and or.
        !          8657:        (movsi, etc.):  Handle all constant addresses like SYMBOL_REFs.
        !          8658:        (movsf): Delete never-used duplicate code for constant addresses.
        !          8659:        (addsi3, subsi3, cse'd multiply): Use sethi and or, rather than set.
        !          8660:        (andsi3, iorsi3, xorsi3): Likewise.
        !          8661:        (jump): Make an annulled branch.
        !          8662: 
        !          8663:        * tm-sparc.h (PROMOTE_PROTOTYPES): Define this.
        !          8664:        (GO_IF_LEGITIMATE_ADDRESS): Now accept all constant addresses;
        !          8665:        also cleaned up.
        !          8666:        (NOTICE_UPDATE_CC): Don't change the G1 status when storing in memory.
        !          8667:        Assume all PARALLEL insns are peepholes.
        !          8668:        (PRINT_OPERAND): New codes C and N for outputting conditions,
        !          8669:        either forward or reversed.  Also F for reversed floating.
        !          8670: 
        !          8671:        * jump.c (delete_for_peephole): New function to delete range of insns.
        !          8672:        * genpeep.c (gen_peephole): Output code to use this.
        !          8673: 
        !          8674:        * Makefile (install): Fix typo, had $${name} for $${file}.
        !          8675: 
        !          8676: Tue Jan 17 00:00:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8677: 
        !          8678:        * i386.md (ashlsi3): Use addl or leal for special cases.
        !          8679: 
        !          8680:        * c-decl.c (grokdeclarator): Make a non-global VAR_DECL public
        !          8681:        if it is external.
        !          8682: 
        !          8683:        * masm386.c: Clean up formatting.
        !          8684: 
        !          8685:        * cse.c (fold_rtx): Typo simplifying x|0 or x^0
        !          8686:        when the 0 comes second.
        !          8687: 
        !          8688:        * expmed.c (store_fixed_bit_field): For halfwords, verify that
        !          8689:        the field fits in an *aligned* halfword.
        !          8690:        (extract_fixed_bit_field): likewise.
        !          8691: 
        !          8692:        * expmed.c (store_split_bit_field): New arg align, passed in from
        !          8693:        store_fixed_bit_field and passed back to it.
        !          8694:        (extract_split_bit_field): likewise.
        !          8695: 
        !          8696:        * expr.c: Reinsert changes from Jan 2, mysteriously deleted Jan 3.
        !          8697:        Also changes from Dec 23, Dec 28 and Dec 29.
        !          8698: 
        !          8699:        * tm-i386.h: Likewise for changes from Dec 30.
        !          8700: 
        !          8701:        * c-typeck.c (build_component_ref): If field's type is error-mark,
        !          8702:        return an error-mark.
        !          8703: 
        !          8704: Mon Jan 16 14:16:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8705: 
        !          8706:        * genpeep.c (main): Output code to exit early if insn is followed
        !          8707:        by a barrier.
        !          8708:        (gen_peephole): Reject barriers just like labels.
        !          8709: 
        !          8710:        * stmt.c (do_jump_if_equal): New arg UNSIGNEDP, for emit_cmp_insn.
        !          8711:        Caller changed.  Now static.
        !          8712: 
        !          8713:        * final.c (final): Set INSN_DELETED_P in insns when output.
        !          8714: 
        !          8715:        * final.c (final): Re-set BODY if peephole does anything.
        !          8716: 
        !          8717:        * c-decl.c (grokparms): Ignore anything but PARM_DECLs in the list.
        !          8718:        (store_parm_decls): If we had a prototype, separate out anything other
        !          8719:        than a PARM_DECL declared in it, and pushdecl those at the end,
        !          8720:        after DECL_ARGUMENTS is set.
        !          8721: 
        !          8722:        * stmt.c (expand_end_case): Do stack adjusts after computing index.
        !          8723: 
        !          8724:        * expr.c (store_one_arg): Handle padding for case of BLKmode
        !          8725:        for which space was preallocated.
        !          8726: 
        !          8727:        * integrate.c (copy_rtx_and_substitute): When copying asm insn,
        !          8728:        preserve sharing of the input-operand vectors.
        !          8729:        (expand_inline_function): Clear {orig,copy}_asm_operands_vector
        !          8730:        to make that mechanism work.
        !          8731:        (save_for_inline, copy_for_inline): Likewise.
        !          8732: 
        !          8733:        * stmt.c (expand_asm_operands): Reject `+' in constraints.
        !          8734:        Every output constraint requires `='; inputs reject it.
        !          8735: 
        !          8736:        * stmt.c (expand_function_end): Arg to fixup_gotos was missing.
        !          8737: 
        !          8738: Sun Jan 15 00:28:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8739: 
        !          8740:        * cccp.c, gcc.c (main): Handle SIGPIPE.
        !          8741:        (pipe_closed): New fn; report suitable fatal error.
        !          8742: 
        !          8743:        * loop.c (loop_optimize): Initialize moved_once.
        !          8744: 
        !          8745:        * gcc.c (do_spec): Don't call `execute' if value != 0.
        !          8746:        Delete redundant second call to do_spec_1.
        !          8747: 
        !          8748:        * toplev.c (compile_file): Make declared-but-not-defined warnings
        !          8749:        only if -Wunused.
        !          8750: 
        !          8751:        * stmt.c (emit_case_nodes): Fix typo setting gen_ble_pat.
        !          8752: 
        !          8753:        * tm-sparc.h ({U,}MODSI3_LIBCALL): Name was wrong.
        !          8754: 
        !          8755:        * gcc.c (env_exec_prefix refs): Don't try to open via it if it's null.
        !          8756: 
        !          8757:        * output-sparc.c (output_store, output_load_{fixed,floating}):
        !          8758:        Fixed confusions between the mem ref and its address.
        !          8759: 
        !          8760:        * cse.c (canon_hash): global_regs has entries only for hard regs.
        !          8761:        * flow.c (insn_dead_p, mark_set_p, mark_used_regs): Likewise.
        !          8762: 
        !          8763:        * cse.c (fold_rtx): More simplifications for MULT, IOR, AND, XOR
        !          8764:        DIV and shifts with one arg 0 or 1.
        !          8765: 
        !          8766: Sat Jan 14 11:41:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8767: 
        !          8768:        * c-typeck.c (build_array_ref): If pedantic, check for regdecl arrays.
        !          8769: 
        !          8770:        * fixincludes: Make all subdirs in advance, so no need for `dirname'.
        !          8771: 
        !          8772:        * genpeep.c (gen_peephole): Delete code to increment LABEL_NUSES;
        !          8773:        instead, clear JUMP_LABEL for any jumps being deleted.
        !          8774:        No need to test INSN1 for being a label, since not called then.
        !          8775:        [If any of the matched insns is a JUMP_INSN, set want_jump,
        !          8776:        and in that case make the matched peephole a JUMP_INSN itself.]
        !          8777:        That's in an #if 0 now; it's good in jump, but not in final.
        !          8778: 
        !          8779:        * jump.c (jump_optimize): Don't do peepholes here.
        !          8780:        * final.c (final): Do them here.
        !          8781: 
        !          8782:        * jump.c (jump_optimize): In optimizing `if (foo) bar; else break;',
        !          8783:        don't try to invert anything but a standard-looking conditional jump.
        !          8784: 
        !          8785:        * jump.c (jump_optimize): Do peepholes on ALL BUT the first pass.
        !          8786: 
        !          8787:        * gcc.c (env_exec_prefix): New var used like user_exec_prefix
        !          8788:        but set from envvar GCC_EXEC_PREFIX.
        !          8789: 
        !          8790: Fri Jan 13 13:21:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8791: 
        !          8792:        * genpeep.c (gen_peephole): Test INSN1 for a label at the very start,
        !          8793:        then test following insns at the end of the loop.
        !          8794: 
        !          8795:        * sparc.md (call recognizers): do CC_STATUS_INIT, for %g1.
        !          8796: 
        !          8797: Thu Jan 12 02:13:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8798: 
        !          8799:        * varasm.c (make_decl_rtl): Recognize more error cases for reg vars:
        !          8800:        BLKmode, or initializer given.
        !          8801:        Distinguisn missing asm from invalid name.
        !          8802: 
        !          8803:        * expr.c (expand_call): Never return 0; return const0_rtx instead.
        !          8804:        This makes expand_expr more uniform.
        !          8805: 
        !          8806:        * c-decl.c (grokparms): For ptr to incomplete type, just warn;
        !          8807:        don't change the parm's type.
        !          8808: 
        !          8809:        * stmt.c (expand_return): Set RETVAL_RHS so as to recognize
        !          8810:        tail-recursive fcn returning void.
        !          8811:        Unconditionally test value of expand_expr for being a REG.
        !          8812: 
        !          8813:        * reload.c (find_reloads): Don't process insns that have
        !          8814:        no constraint alternatives.  No more need for have_constraints.
        !          8815: 
        !          8816:        * recog.c (constrain_operands): New local var nalternatives.
        !          8817:        Don't bother checking the insn if nalternatives is 0.
        !          8818: 
        !          8819: Wed Jan 11 01:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8820: 
        !          8821:        * Implement global register decls.
        !          8822: 
        !          8823:        * varasm.c (make_decl_rtl): Handle global register vars.
        !          8824:        (make_function_rtl): Set function_defined: after 1st function dfn.
        !          8825:        (assemble_variable): Ignore global register vars.
        !          8826: 
        !          8827:        * c-decl.c (grokdeclarator): Don't reject global register decls.
        !          8828:        (builtin_function): Use make_decl_rtl, not make_function_rtl,
        !          8829:        to avoid setting function_defined.
        !          8830: 
        !          8831:        * regclass.c (init_reg_class{,_1}): Init and process global_regs.
        !          8832:        They are fixed, and call-clobbered.
        !          8833: 
        !          8834:        * flow.c (insn_dead_p): Storing one of global_regs is never dead.
        !          8835:        (mark_used_regs, mark_set_1): A global reg is never dead.
        !          8836: 
        !          8837:        * cse.c (canon_hash): Consider global regs volatile.
        !          8838: 
        !          8839: 
        !          8840:        * expr.c (do_jump): Know how to invert jumps which are sequences.
        !          8841: 
        !          8842:        * dbxout.c, symout.c, final.c: On USG, use our own stab.h.
        !          8843: 
        !          8844:        * tm-i386gas.h: New file for GAS on sysV (with DBX debugging info).
        !          8845: 
        !          8846:        * m68k.md (bfchg and bfins patterns): Make # alternatives uniform.
        !          8847:        * alliant.md: Likewise; also in movdf patterns.
        !          8848: 
        !          8849:        * genoutput.c (output_epilogue): Spurious `break' disabled
        !          8850:        error check for mismatched # of alternatives.
        !          8851:        (output_epilogue, scan_operands): Errors in input are not fatal.
        !          8852: 
        !          8853:        * flow.c (regno_uninitialized): Avoid crash if no basic blocks.
        !          8854: 
        !          8855:        * sparc.md (move insns): Delete special patterns that handled
        !          8856:        symbolic constant addresses.  The main move patterns now do this.
        !          8857:        * output-sparc.c (output_store, output_load_{fixed,floating}):
        !          8858:        Subroutines to do the work for this; has the code from those
        !          8859:        special patterns.  Also fixed bugs in testing against cc_status.mdep.
        !          8860: 
        !          8861:        * output-sparc.c (output_delay_insn): Clear the CC status.
        !          8862:        This is necessary for %g1 in the case of a call insn.
        !          8863: 
        !          8864:        * tm-i386.h (REG_CLASS_CONTENTS): INDEX_REGS is now all but ESP.
        !          8865:        (REGNO_REG_CLASS): Corresponding change.
        !          8866:        (REG_CLASS_FROM_LETTER): Eliminate `x' letter since not used.
        !          8867: 
        !          8868:        * optabs.c (emit_cmp_insn): New arg ALIGN, used for BLKmode.
        !          8869:        All callers changed.
        !          8870:        Pass alignment (as rtx) as 4th arg to cmpstr gen functions.
        !          8871:        Use cmpstrhi if available.
        !          8872:        * expr.c (compare): Only this call passes a nonzero ALIGN.
        !          8873: 
        !          8874:        * expr.c (emit_push_insn, emit_block_move): Pass alignment (as rtx)
        !          8875:        as 4th arg to movstr gen functions.
        !          8876: 
        !          8877: Tue Jan 10 23:43:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8878: 
        !          8879:        * stor-layout.c (layout_type): Use BLKmode, if a struct isn't
        !          8880:        aligned well enough for a scalar mode.
        !          8881: 
        !          8882:        * expr.c (expand_expr): For static CONSTRUCTOR, ensure memory
        !          8883:        address is made valid.
        !          8884: 
        !          8885:        * genpeep.c (match_rtx): For MATCH_OPERATOR, set max_opno, n_operands.
        !          8886: 
        !          8887: Mon Jan  9 17:07:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8888: 
        !          8889:        * varasm.c (output_constant): Split strings every 2000 chars.
        !          8890: 
        !          8891:        * stmt.c (expand_end_case): Test bkwds, handling constant switch arg.
        !          8892: 
        !          8893: Fri Jan  6 09:11:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8894: 
        !          8895:        * output-sparc.c (output_delay_insn): Add parens to first if test.
        !          8896:        (output_move_double): Turn addr for `sethi' into MEM for %m.
        !          8897: 
        !          8898:        * c-typeck.c (convert_for_assignment): move test for ERROR_MARK.
        !          8899: 
        !          8900:        * c-parse.y (unary_expr): Allow cast_expr as arg of unary op.
        !          8901: 
        !          8902:        * stmt.c (expand_decl): Don't abort if FUNCTION_DECL lacks rtl;
        !          8903:        assemble_variable is called after this.
        !          8904: 
        !          8905:        * c-parse.y (primary -> identifier): Separate case for undeclared
        !          8906:        identifier outside of functions; avoids confusing error msgs.
        !          8907: 
        !          8908: Thu Jan  5 01:24:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8909: 
        !          8910:        * Makefile (install): Ignore errors in all `if' commands.
        !          8911:        Create $(libdir) if nec.
        !          8912: 
        !          8913:        * Makefile (insn-*.[ch]): Put in empty commands.  May help Ultrix Make.
        !          8914: 
        !          8915:        * stmt.c (emit_case_nodes): New arg UNSIGNEDP says do unsigned jumps.
        !          8916:        Arg INDEX is an rtx, not a tree.
        !          8917:        (expand_end_case): Pass that arg.
        !          8918:        (node_has_{low,high}_bound): check for overflow, avoid confusion.
        !          8919: 
        !          8920: Wed Jan  4 02:24:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8921: 
        !          8922:        * sparc.md (movdi, movdf): Use `&' constraint when loading reg from;
        !          8923:        otherwise can lose on (set (reg X) (mem (plus (reg X) (reg X+1)))).
        !          8924: 
        !          8925:        * expr.c (emit_push_insn): For memory scalar partially going in regs,
        !          8926:        copy each word to reg before pushing.  Avoids memory-to-memory move.
        !          8927:        Make the displaced address valid.
        !          8928:        Also delete unfinished STACK_OFFSET variable.
        !          8929: 
        !          8930:        * c-parse.y (check_newline): Read just one #-directive and return.
        !          8931:        This prevents lossage when toplev.c calls it to get the main input file
        !          8932:        name, and it gets a following #ident as well.
        !          8933: 
        !          8934:        * c-decl.c (lang_decode_option): Set warn_cast_qual for -Wcast-qual.
        !          8935:        * c-typeck.c (build_c_cast): Issue some warnings if set.
        !          8936: 
        !          8937:        * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Missing `;'.
        !          8938: 
        !          8939: Tue Jan  3 18:07:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8940: 
        !          8941:        * expr.c (emit_library_call): Do force_operand on each operand
        !          8942:        if it isn't a REG, MEM or constant.
        !          8943:        Do this, or mode conversions, earlier, before loading any hard regs.
        !          8944: 
        !          8945:        * m68k.md (addsi3) [SGS]: Put a zero displacement in the `lea'.
        !          8946: 
        !          8947:        * c-typeck.c (default_conversion): Don't lose `const' or `volatile'
        !          8948:        when converting array type to pointer.
        !          8949: 
        !          8950: Mon Jan  2 01:18:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8951: 
        !          8952:        * expmed.c (store_bit_field, store_fixed_bit_field): New arg,
        !          8953:        alignment in bytes the structure is known to have.
        !          8954:        (store_fixed_bit_field): Handle working in halfwords,
        !          8955:        in case the pointer isn't known to have fullword alignment.
        !          8956:        * expmed.c (extract_bit_field, extract_fixed_bit_field): likewise.
        !          8957:        (extract_bit_field): fix unsignedp arg to extract_fixed_bit_field.
        !          8958:        * expr.c (store_field): New arg, passed to {store,extract}_bit_field
        !          8959:        (expand_assignment, store_constructor): Pass that arg.
        !          8960:        (expand_expr): Pass new arg to extract_bit_field.
        !          8961: 
        !          8962:        * m68k.md (casesi_2 recognizer): Offset always 6 for 3b1.
        !          8963: 
        !          8964:        * c-typeck.c (convert_for_assignment): Strip from rhs no-op NOP_EXPRs
        !          8965:        put on by build_c_cast (to make the result not an lvalue).
        !          8966:        (build_modify_expr, build_compound_expr): likewise.
        !          8967:        (build_conditional_expr): likewise.
        !          8968:        (actualparameterlist, build_function_call): likewise.
        !          8969:        (default_conversion, truthvalue_conversion): likewise.
        !          8970: 
        !          8971:        * loop.c (move_movables): If reg has moved out of one loop,
        !          8972:        divide `savings' by 2.
        !          8973: 
        !          8974: Sun Jan  1 03:00:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          8975: 
        !          8976:        * c-typeck.c (truthvalue_conversion): Distribute the conversion
        !          8977:        into the arms of a COND_EXPR.
        !          8978: 
        !          8979:        * cse.c (fold_rtx): Don't fold a MINUS with VOIDmode
        !          8980:        into a symbolic constant--it's incorrect.
        !          8981: 
        !          8982:        * cse.c (cse_insn): If SRC is a subreg with known value, simplify it.
        !          8983: 
        !          8984:        * integrate.c (copy_rtx_and_substitute): Allow a ref to a part of
        !          8985:        MEM parm whose actual parm is a reg, provided it refs
        !          8986:        the low part of the MEM.
        !          8987:        (function_cannot_inline_p): Don't inline functions which have
        !          8988:        aggregate parameters and take their addresses.  This could produce
        !          8989:        refs to non-low-parts, which copy_rtx_and_substitute can't handle.
        !          8990: 
        !          8991:        * c-typeck.c (build_modify_expr): If lhs is COND_EXPR,
        !          8992:        make a COMPOUND_EXPR to ensure the rhs is computed before the branch.
        !          8993: 
        !          8994:        * Implement -pipe.
        !          8995:        * gcc.c (do_spec_1): `|' is now a special delimiter
        !          8996:        which goes in the argbuf.
        !          8997:        When a newline is preceded by a `|', delete it if no -pipe.
        !          8998:        Otherwise, don't execute yet, and keep scanning.
        !          8999:        (do_spec): At end, if we have stuff with no newline, execute it.
        !          9000:        (handle_braces): Implement %{|foo:...}.
        !          9001:        (execute): If argbuf contains some `|'s, run several processes
        !          9002:        and pipe them together.
        !          9003:        (pexecute): new subroutine to make one of the processes.
        !          9004:        (find_exec_file): new fn to search for program to execute.
        !          9005:        (record_temp_file): new arg FAIL_ONLY.
        !          9006:        (store_arg): 2nd arg == 3 means delete file on failure.
        !          9007:        This is used for output files.
        !          9008:        (delete_temp_files): delete certain files only if fail.
        !          9009: 
        !          9010:        * cccp.c (include_defaults): /usr/include before /usr/local/include.
        !          9011: 
        !          9012:        * recog.c (asm_noperands): 1-off in loop checking CLOBBERS
        !          9013:        when no output operands and PARALLEL.
        !          9014: 
        !          9015:        * expmed.c (negate_rtx): Sign-extend the high bits rather than clear.
        !          9016: 
        !          9017:        * cse.c (fold_rtx): fold negation of real values.
        !          9018:        (fold_cc0): fold comparisons on real values.
        !          9019: 
        !          9020:        * Makefile (install): Use $(INSTALL) for gcc.1 and files in USER_H.
        !          9021: 
        !          9022:        * Handle floating-point problems for cross-compilation.
        !          9023: 
        !          9024:        * real.h (CONST_DOUBLE_LOW, etc.): new macros to access CONST_DOUBLE.
        !          9025:        * varasm.c (immed_double_const, decode_rtx_const): Use these.
        !          9026:        ({force,clear}_const_double_mem): Likewise.
        !          9027:        * output-*.c (output_move_double): Use these.
        !          9028:        * output-m68k.c (standard_{68881,sun_fpa}_constant_p): Likewise.
        !          9029:        * tm-*.h (PRINT_OPERAND): Use these.
        !          9030:        * output-i386.c (print_operand): Use these.
        !          9031:        * final.c (output_addr_const): Likewise.
        !          9032:        * emit-rtl.c (gen_rtx): Delete special code for CONST_DOUBLE.
        !          9033: 
        !          9034:        * real.h (union real_extract): Portable type for storing real as ints.
        !          9035:        * varasm.c (immed_double_const, decode_rtx_const): Use these.
        !          9036: 
        !          9037:        * varasm.c (immed_real_const_1, decode_rtx_const):
        !          9038:        Don't assume REAL_VALUE_TYPE is 2 ints long.
        !          9039:        * emit-rtl.c (init_emit_once): Likewise.
        !          9040: 
        !          9041:        * real.h (REAL_VALUE_TYPE): Define as `double' if not defined.
        !          9042:        (REAL_IS_NOT_DOUBLE): Define this if default REAL_VALUE_TYPE not used.
        !          9043:        (REAL_VALUES_EQUAL, REAL_VALUES_LESS): Define, if not already defined.
        !          9044:        (REAL_VALUE_LDEXP, REAL_VALUE_ATOF): Likewise.
        !          9045:        * tree.h (struct tree_real_cst): Use REAL_VALUE_TYPE for the value.
        !          9046: 
        !          9047:        * rtl.c (init_rtl): Increase length of CONST_DOUBLE if REAL_VALUE_TYPE
        !          9048:        needs more space.  Change the rtx_format element to match.
        !          9049:        * varasm.c (immed_real_const_1): 1st arg now has REAL_VALUE_TYPE.
        !          9050:        (force_const_mem): Assume a CONST_DOUBLE contains REAL_VALUE_TYPE.
        !          9051:        * emit-rtl.c (init_emit_once): Likewise.
        !          9052:        And use REAL_VALUE_ATOF to get a floating zero.
        !          9053:        * optabs.c (expand_float): Use REAL_VALUE_TYPE, REAL_VALUE_LDEXP.
        !          9054:        * c-parse.y (yylex): Likewise, and use REAL_VALUE_ATOF.
        !          9055:        * fold-const.c (split_tree): Don't accept REAL_CSTs.
        !          9056:        (combine, fold_convert, fold): Use REAL_ARITHMETIC if defined;
        !          9057:        else don't fold reals if they are not doubles.
        !          9058:        * tree.c (build_real_from_int_cst): Likewise.
        !          9059:        * print-tree.c (dump) [REAL_IS_NOT_DOUBLE]: output float value
        !          9060:        in hex, since we don't know how to do it right.
        !          9061: 
        !          9062: Sat Dec 31 14:15:13 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9063: 
        !          9064:        * optabs.c (init_optabs): Handle new macros {U,}MULSI3_LIBCALL,
        !          9065:        DIVSI3_LIBCALL, MODSI3_LIBCALL.
        !          9066:        * tm-sparc.h: Define {,U}{MUL,DIV,MOD}SI3 to call Sun's library direct.
        !          9067: 
        !          9068:        * tm-sun3-nfp.h, tm-sun3-fpa.h: New files.
        !          9069: 
        !          9070: Fri Dec 30 00:14:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9071: 
        !          9072:        * cccp.c (main): Certain envvars specify a file to write deps info to.
        !          9073: 
        !          9074:        * toplev.c (compile_file): Warn about undefined fns declared static.
        !          9075: 
        !          9076:        * m68k.md (casesi_2 recognizer) [SGS] RTX_INTEGRATED_P test backwards.
        !          9077:        * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Likewise.  Also missing `\'.
        !          9078: 
        !          9079:        * reload1.c (count_occurrences): New function.
        !          9080:        (choose_reload_targets): Don't delete a reload if the same reg
        !          9081:        is used elsewhere in the current insn.
        !          9082:        (delete_output_reload): code split out from choose_reload_targets.
        !          9083: 
        !          9084:        * c-typeck.c (build_c_cast): Always put on some operator,
        !          9085:        so the cast is never an lvalue for strict ANSI.
        !          9086: 
        !          9087:        * c-typeck.c (initializer_constant_valid_p): Don't depend on
        !          9088:        distinction between NOP_EXPR and CONVERT_EXPR.
        !          9089: 
        !          9090:        * c-convert.c: Fns reordered; new comments.
        !          9091: 
        !          9092:        * fold-const.c (fold): If simplifying a NOP_EXPR within a BIT_AND_EXPR,
        !          9093:        return a NOP_EXPR.
        !          9094:        New var TYPE holds type of expr.
        !          9095: 
        !          9096:        * c-parse.y (expr_no_commas): Split off cast_expr and unary_expr,
        !          9097:        to reject `sizeof (int) foo'.
        !          9098: 
        !          9099:        * toplev.c (main): Treat plain `-' as input filename.
        !          9100: 
        !          9101:        * final.c (final): If an insn's output routine returns 0,
        !          9102:        it means to output the deleted compare insn immediately preceding.
        !          9103: 
        !          9104:        * m68k.md (branch insns): Use 0 as 3rd arg for OUTPUT_JUMP
        !          9105:        rather than explicitly clearing the overflow flag.
        !          9106: 
        !          9107:        * tm-i386.h (OUTPUT_JUMP): Really use NO_OV; don't abort.
        !          9108:        * i386.md (branch insns): Put real data (sometimes 0) in 3rd arg
        !          9109:        of OUTPUT_JUMP.  0 means preceding test may not be deleted.
        !          9110:        (lea pattern): Clear the cc's.
        !          9111:        * output-i386.c (notice_update_cc): various arith insns set the cc's.
        !          9112: 
        !          9113: Thu Dec 29 13:22:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9114: 
        !          9115:        * stmt.c (expand_decl_init): Do nothing for static decls.
        !          9116: 
        !          9117:        * reload.c (find_reloads_address{,_1}): Return 1 iff entire arg
        !          9118:        was reloaded as a whole, else 0.
        !          9119:        (find_reload): If find_reloads_address returns 1, don't let that MEM
        !          9120:        satisfy a `>' or `<' constraint.
        !          9121: 
        !          9122:        * m68k.md (cmpmb): Delete special pattern, make cmpqi handle it.
        !          9123:        The special pattern couldn't handle reloading the incremented register.
        !          9124: 
        !          9125:        * integrate.c (copy_rtx_and_substitute): Test BYTES_BIG_ENDIAN,
        !          9126:        not BITS...
        !          9127: 
        !          9128:        * combine.c (subst): Consider big-endian correction
        !          9129:        when simplifying (subreg (mem ...) ...).
        !          9130: 
        !          9131:        * reload.c (find_reloads): Don't crash if matching operands in `asm'
        !          9132:        are both read or both write.
        !          9133: 
        !          9134:        * expr.c (emit_push_insn): Address for movstr must be XINNER, not X.
        !          9135: 
        !          9136:        * toplev.c (main): Typo parsing `-fno...'.
        !          9137: 
        !          9138: Wed Dec 28 13:07:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9139: 
        !          9140:        * toplev.c (rest_of_compilation): `volatile' fns need jump_optimize
        !          9141:        for warnings, as if -Wreturn-type.
        !          9142:        * c-typeck.c (c_expand_return): Warn about `return' in a `volatile' fn.
        !          9143:        * c-decl.c (finish_function): Warn if `volatile' fn can drop thru end.
        !          9144: 
        !          9145:        * cse.c (canon_reg): Handle nulls as subexpressions.
        !          9146:        (fold_rtx, canon_hash, mention_regs, exp_equiv_p): Likewise.
        !          9147:        * loop.c (invariant_p, replace_regs, replace_call_address, may_trap_p,
        !          9148:        {basic,general}_induction_var): Likewise.
        !          9149: 
        !          9150:        * expr.c (expand_call): Handle `const' functions:
        !          9151:        Local IS_CONST is 1 if function is const.
        !          9152:        Attach REG_RETVAL and REG_LIBCALL notes around the call.
        !          9153:        Copy fn address to register outside of those notes.
        !          9154:        Likewise precompute all parms outside them.
        !          9155: 
        !          9156:        * expr.c (expand_call): If fn is volatile, emit barrier after the call.
        !          9157: 
        !          9158:        * c-decl.c (grokdeclarator): Allow function declared const or volatile.
        !          9159: 
        !          9160: Sat Dec 24 18:40:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9161: 
        !          9162:        * integrate.c (function_cannot_inline_p): If STRUCT_VALUE_INCOMING
        !          9163:        or STRUCT_VALUE is defined, can't inline functions returning BLKmode.
        !          9164: 
        !          9165: Fri Dec 23 13:26:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9166: 
        !          9167:        * expr.c (store_constructor): Compute array's size
        !          9168:        with int_size_in_bytes.
        !          9169: 
        !          9170:        * varasm.c (assemble_variable): If shared data, go to data section
        !          9171:        before outputting an uninitialized symbol.
        !          9172: 
        !          9173:        * tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Missing backslash.
        !          9174:        (SHARED_SECTION_ASM_OP): Macro defined.
        !          9175:        * tm-seq386.h (SHARED_SECTION_ASM_OP): Macro defined.
        !          9176: 
        !          9177:        * c-typeck.c (c_expand_asm_operands): Warn if output op is `const'.
        !          9178: 
        !          9179:        * Fix problem where a stmt expr in an initialization
        !          9180:        refers to the variable it is initializing.
        !          9181:        * stmt.c (expand_decl_init): New fn split out from `expand_decl'.
        !          9182:        * c-decl.c (finish_decl): Call that.
        !          9183:        Don't call expand_decl if already done.
        !          9184:        (start_decl): Call expand_decl if type is complete already.
        !          9185: 
        !          9186:        * Makefile (install): Typo in ranlib command.
        !          9187: 
        !          9188: Thu Dec 22 15:57:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          9189: 
        !          9190:        * tree.h (tree_identifier): New field.
        !          9191:        (IDENTIFIER_ERROR_LOCUS): Accessor for it.
        !          9192:        * c-parse.y (primary => IDENTIFIER):
        !          9193:        Undeclared variable gets one err msg per function it appears in.
        !          9194: 
        !          9195:        * ns32k.md (andsi3): Delete extra brace.
        !          9196: 
        !          9197:        * alliant.md, xm-alliant.h, tm-alliant.h, output-alliant.c: New files.
        !          9198: 
        !          9199:        * combine.c (SUBST, SUBST_INT): Store new field `is_int'.
        !          9200:        (copy_substitutions): Don't copy an int as an rtx.
        !          9201: 
        !          9202:        * Makefile (INSTALL): Install gcc.1 properly.
        !          9203: 
        !          9204:        * tm-ns32k.h (FUNCTION_PROLOGUE, ASM_OUTPUT_ALIGN_CODE):
        !          9205:        Add missing backslashes.
        !          9206: 
        !          9207: See file OChangeLog.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.