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

1.1     ! root        1: Mon Jan 13 19:12:18 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !             2: 
        !             3:        * unroll.c (find_splittable_givs): When completely unrolling loop,
        !             4:        use biv initial value stored in splittable_regs instead of
        !             5:        bl->initial_value, since the later may not be safe.
        !             6: 
        !             7:        * sched.c (schedule_block):  When calculating whether a register
        !             8:        crosses a call, must do this after registers are killed and before
        !             9:        new registers are made live.
        !            10: 
        !            11:        * x-rs6000: Define INSTALL as /usr/ucb/install -c.  /etc/install
        !            12:        (the SYS V version) does not handle -c option as Makefile.in
        !            13:        intends it.
        !            14: 
        !            15: Mon Jan 13 11:21:24 1992  Michael Meissner  (meissner at osf.org)
        !            16: 
        !            17:        * mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and
        !            18:        N_RBRAC stabs for compatibility with other stabs implementations.
        !            19: 
        !            20: Mon Jan 13 07:41:32 1992  Michael Tiemann  (tiemann at cygnus.com)
        !            21: 
        !            22:        * cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here.
        !            23:        TREE_PRIVATE is only for visibility.
        !            24:        (start_function): Don't test TREE_PRIVATE here.  #pragma
        !            25:        interface/implementation should properly handle the case of static
        !            26:        (i.e. non-public) defns in implementation section now.
        !            27: 
        !            28: Mon Jan 13 07:31:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !            29: 
        !            30:        * rs6000.c (output_ascii): The AIX assembler silently truncates
        !            31:        strings longer than 666 characters, so break them up well before that.
        !            32: 
        !            33: Mon Jan 13 00:26:47 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !            34: 
        !            35:        * c-decl.c (pushdecl): Warn about shadowing at top level any symbol
        !            36:        that was declared among the function parms.  But don't warn for
        !            37:        parms in a nested function.
        !            38:        * tree.c (chain_member): New function.
        !            39: 
        !            40:        * sparc.c (output_return): Handle structure value in all the cases.
        !            41: 
        !            42:        * toplev.c (main): -gstabs+ means use stabs with gdb extensions.
        !            43: 
        !            44:        * fixincludes: Insert #undef NULL before #define NULL.
        !            45: 
        !            46:        * gvarargs.h (va_list): Check some macros to avoid redefinition.
        !            47: 
        !            48:        * tree.h (DECL_PACKED): New macro.
        !            49:        * c-common.c (decl_attribute): Handle `packed'.
        !            50:        * stor-layout.c (layout_record): Handle DECL_PACKED.
        !            51:        * c-parse.y (attrib): Accept `packed' with no arg.
        !            52: 
        !            53:        * c-decl.c (shadow_tag): For useless keyword, just warn.
        !            54:        (duplicate_decls): Don't preserve volatile bit from old decl
        !            55:        if that is just a default declaration for abort, exit, etc.
        !            56: 
        !            57:        * cccp.c (do_assert, do_unassert, check_assertion):
        !            58:        No pedantic warnings in system header files.
        !            59: 
        !            60:        * ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
        !            61:        (WCHAR_TYPE_SIZE): Defined.
        !            62: 
        !            63:        * i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16.
        !            64: 
        !            65:        * dbxout.c (flag_minimal_debug): Make it static.
        !            66: 
        !            67: Sun Jan 12 18:10:46 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !            68: 
        !            69:        * c-lex.c (check_newline): Check #line for `3' meaning system header.
        !            70:        * cccp.c (output_line_command): Output `3' if system header.
        !            71:        * c-tree.h (system_header_p): Declare it.
        !            72:        (ridpointers): Declaration deleted.
        !            73: 
        !            74:        * dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer.
        !            75:        (type_is_fundamental, output_type): Likewise.
        !            76: 
        !            77:        * optabs.c (expand_float): Abort if FROM has VOIDmode.
        !            78:        * expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode.
        !            79: 
        !            80: Sun Jan 12 16:11:40 1992  Michael Meissner  (meissner at osf.org)
        !            81: 
        !            82:        * mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the
        !            83:        .space directive, since the table PREDICATE_CODES generates tickles
        !            84:        a bug.
        !            85: 
        !            86: Sun Jan 12 15:59:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !            87: 
        !            88:        * expmed.c: Include real.h.
        !            89:        (make_tree): Properly handle CONST_INT and handle many more rtl codes.
        !            90:        (expand_mult_add): Don't do folding here; just call make_tree and fold.
        !            91:        * Makefile.in (expmed.o): Includes real.h.
        !            92: 
        !            93: Sun Jan 12 12:26:20 1992  Michael Tiemann  (tiemann at cygnus.com)
        !            94: 
        !            95:        * cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992.
        !            96: 
        !            97:        * cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after
        !            98:        CURRENT_CLASS_TYPE has been defined.
        !            99: 
        !           100:        * cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a
        !           101:        #pragma implementation or if it's the toplevel file.
        !           102: 
        !           103: Sat Jan 11 22:04:34 1992  Michael Meissner  (meissner at osf.org)
        !           104: 
        !           105:        * mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will
        !           106:        strip the clobbers when substituting a register for a cs'ed value,
        !           107:        unlike GCC 1.
        !           108:        (fix_truncdfsi2_opt): Likewise.
        !           109:        (long long shifts): Fix various typos.
        !           110: 
        !           111: Sat Jan 11 15:26:24 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           112: 
        !           113:        * expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG.
        !           114:        * xm-romp.h (FUNCTION_CONVERSION_BUG): Define it.
        !           115: 
        !           116:        * i386.md (cmpstrsi recognizers): Change back to repz.
        !           117: 
        !           118: Sat Jan 11 11:18:32 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           119: 
        !           120:        * cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the
        !           121:        list that will become DECL_ARGUMENTS.
        !           122: 
        !           123:        * cp-decl2.c (grokfield): Convert () initialization to =
        !           124:        initialization in FIELD context.
        !           125:        * cp-decl.c (parmlist_is_exprlist): Now non-static.
        !           126: 
        !           127:        * cp-decl.c (grokdeclarator): Don't let static class members be
        !           128:        declared `static' at top-level.
        !           129: 
        !           130:        * cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME.
        !           131: 
        !           132:        * cp-decl.c (grokdeclarator): Don't let language linkage interfere
        !           133:        with declarator grokking--the two are independent.
        !           134: 
        !           135:        * cp-call.c (compute_conversion_costs): Look for constructor or type
        !           136:        conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS
        !           137:        or not.  Also, `#if 0' some dead code.
        !           138: 
        !           139:        * cp-method.c (report_type_mismatch): Fix bugs in formatting error
        !           140:        messages.
        !           141: 
        !           142:        * cp-decl.c (grokvardecl): Verify that when static class members are
        !           143:        declared at toplevel, the types match their initial declaration.
        !           144: 
        !           145: Sat Jan 11 08:41:24 1992  Fred Fish  (fnf at fishpond)
        !           146: 
        !           147:        * config/m68kv4.h (NO_DOLLAR_IN_LABEL):  Undefine so that the
        !           148:        default for m68k/SVR4 systems is to use '$', which is more
        !           149:        widely supported.
        !           150: 
        !           151: Sat Jan 11 10:56:10 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
        !           152: 
        !           153:        * Finish PIC implementation on the 68k
        !           154:        * output.h (flag_pic): Declare here so that insn-*.c can see it.
        !           155: 
        !           156:        * reload1.c (reload): When compiling PIC ignore REG_EQUIV notes
        !           157:        which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P.
        !           158: 
        !           159:        * m68k.md (call, call_value): Make these into define_expands. If
        !           160:        compiling PIC code, then load the address of the function into a 
        !           161:        register so that we make indirect calls.
        !           162:        (Non-PIC call, call_value): New define_insns.  These are 
        !           163:        standard call insns.
        !           164:        (PIC call, call_value): New define_insns which output PIC calls.
        !           165:        (movsi): Make this into a define_expand.  Legitimize PIC addresses
        !           166:        if necessary.  Old movsi code is now an unnamed define_insn pattern.
        !           167: 
        !           168:        * m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P):
        !           169:        Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS 
        !           170:        without PIC relocation when compiling PIC code.
        !           171: 
        !           172:        * m68k.c (legitimize_pic_address): New function.  Given an address 
        !           173:        return that address as "legitimized" PIC code. 
        !           174:        (print_operand_address): When generating PIC code, handle PIC
        !           175:        relocated label_refs just like a PIC relocated symbol_ref.
        !           176:        (print_operand_address): If -fpic then add ":w" to displacement in
        !           177:        PIC relocated references.
        !           178:        (print_operand_address): If -fPIC then add ":l" to displacement in 
        !           179:        PIC relocated references.
        !           180: 
        !           181: Fri Jan 10 18:03:08 1992  Ken Raeburn  ([email protected])
        !           182: 
        !           183:        * cp-init.c (build_new): Don't allocate header for arrays if no
        !           184:        destructor is needed.  Also fix broken calculation of array size.
        !           185:        (build_delete): Don't skip array header if no destructor is needed.
        !           186: 
        !           187: Fri Jan 10 14:54:19 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           188: 
        !           189:        * cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y
        !           190:        cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn
        !           191:        (from rfg).
        !           192: 
        !           193:        * cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c:
        !           194:        Add (unsigned) casts to all places where native SVr4 compilers
        !           195:        expect to see unsigned values.
        !           196: 
        !           197: Fri Jan 10 08:34:36 1992  Fred Fish  (fnf at sunfish)
        !           198: 
        !           199:        * m68ksgs.h (REGISTER_NAMES):  Provide separate versions for
        !           200:        SUPPORT_SUN_FPA defined and not defined.
        !           201: 
        !           202: Fri Jan 10 22:36:41 1992    (Eric Youngdale at [email protected])
        !           203: 
        !           204:        * Improve I/O performance of gcc on VMS.
        !           205:        * cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions.
        !           206:        (open, fopen, freopen): Define as macros on VMS.
        !           207:        * toplev.c (VMS_fopen): New function.
        !           208:        (fopen): Define as macro on VMS.
        !           209: 
        !           210: Fri Jan 10 22:00:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           211: 
        !           212:        * genrecog.c (merge_trees): If two trees both have actions, but
        !           213:        one adds clobbers and one doesn't, ignore the one that does.
        !           214: 
        !           215:        * genemit.c (gen_split): Say that we are giving the definition number
        !           216:        in our error message.
        !           217:        * genrecog.c (fatal): Likewise.
        !           218:        * genoutput.c (scan_operands): Likewise.
        !           219: 
        !           220:        * caller-save.c: Include expr.h (for gen_move_insn).
        !           221:        (regno_save_elim): Deleted.
        !           222:        (init_save_areas): Don't initialize it.
        !           223:        (setup_save_areas): Don't set it.
        !           224:        (save_call_clobbered_regs, restore_referenced_regs): Accept mode,
        !           225:        not spill register.
        !           226:        (insert_save_restore): Don't do our own register elimination and
        !           227:        reloading; instead set the insns we make to the desired mode.
        !           228:        * reload1.c (struct elim_table): New field MAX_OFFSET.
        !           229:        (reload): Always call init_save_areas.
        !           230:        Initialize max_offset each pass.
        !           231:        At each CALL_INSN, create a need for a spill register that will
        !           232:        be used by caller-save.
        !           233:        Pass mode for insns to save_call_clobbered_regs instead of a
        !           234:        spill reg number.
        !           235:        Call reload_as_needed if we will have to reload the caller-save
        !           236:        insns, even if nothing else needs reload (unlikely).
        !           237:        (eliminate_regs_in_insn): Record maximum offset value.
        !           238:        * Makefile.in (caller-save.o): Includes expr.h.
        !           239: 
        !           240:        * reload.c (find_reloads): CALL_INSNs can't have output reloads.
        !           241:        * reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN
        !           242:        in front of any immediately-preceeding USE insns.
        !           243: 
        !           244:        * flow.c (life_analysis): Mark all global regs as live at the end of
        !           245:        the function.
        !           246:        (propagate_block): Each call makes all global registers live.
        !           247:        (mark_used_regs): A RETURN may use the stack pointer and uses all
        !           248:        global regs.
        !           249:        * cse.c (cse_insn): A CALL_INSN clobbers any global regs.
        !           250:        * reorg.c (mark_referenced_resources): Calls used global regs.
        !           251:        (mark_set_resources): CALL_INSNs clobber global regs.
        !           252: 
        !           253: Fri Jan 10 17:24:06 1992  Michael Meissner  (meissner at osf.org)
        !           254: 
        !           255:        * collect2.c (whole file): Major rewrite to merge in collect3
        !           256:        functionality which uses GCC to build up the constructor and
        !           257:        destructor tables, instead of using the assembler.  Also improve
        !           258:        the support for cross compilers to find the tools.  The old assembly
        !           259:        language support has been removed.
        !           260: 
        !           261:        * mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump
        !           262:        also.
        !           263:        (MIPS_IS_STAB): Likewise.
        !           264:        (MIPS_MARK_STAB): Likewise.
        !           265:        (MIPS_UNMARK_STAB): Likewise.
        !           266: 
        !           267:        * mips-tdump.c (various): Changes by Per Bothner to print
        !           268:        encapsulated stabs, and to shorten the output.
        !           269: 
        !           270:        * mips.h (MIPS_VERSION): Set Meissner version # to 7.
        !           271:        (cmp2_op): Make cmp2_op a real function instead of just a
        !           272:        macro to cmp_op.
        !           273:        (OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and
        !           274:        flag_schedule_insns_after_reload.
        !           275:        (CC1_SPEC): Fix typo preventing -mgpopt from being set if
        !           276:        optimization.
        !           277:        (PREDICATE_CODES): Define.
        !           278:        (USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in
        !           279:        GCC 2.00.
        !           280:        (ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise.
        !           281:        (CODE_MASK): Move from mips-tfile.
        !           282:        (MIPS_IS_STAB): Likewise.
        !           283:        (MIPS_MARK_STAB): Likewise.
        !           284:        (MIPS_UNMARK_STAB): Likewise.
        !           285: 
        !           286:        * mips.c (cmp2_op): Make this a real function, instead of a macro
        !           287:        pointing to cmp_op.
        !           288:        (volatile_buffer): New static variable to support .set volatile.
        !           289:        (mips_move_1word): Do .set volatile/.set novolatile around volatile
        !           290:        memory references.
        !           291:        (mips_move_2words): Likewise.
        !           292: 
        !           293:        * mips.md (sne define_split): Fix so that it generates a gtu 0.
        !           294:        (all set cc define_splits): Remove reload_completed tests.
        !           295:        (all set cc define_insns): Don't allow 0 as operand 1.
        !           296: 
        !           297: Fri Jan 10 16:40:45 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
        !           298: 
        !           299:        * m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes):
        !           300:        Perform small (8 < N <= 16) constant additions and subractions to
        !           301:        address registers with two addqw (or subqw) instructions.
        !           302: 
        !           303: Fri Jan 10 06:54:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           304: 
        !           305:        * calls.c (expand_call): Check for _longjmp as well as longjmp;
        !           306:        clean up code a bit and merge with check for setjmp-like names.
        !           307:        Emit a BARRIER if this is a call to longjmp in addition to
        !           308:        volatile calls.
        !           309: 
        !           310: Fri Jan 10 02:25:54 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           311: 
        !           312:        * c-typeck.c (digest_init): Properly return error_mark_node
        !           313:        after invalid element in array initializer.
        !           314: 
        !           315:        * gcc.c (pexecute): Use `fork' in error message if don't have vfork.
        !           316: 
        !           317:        * Makefile.in: Add .NOEXPORT.
        !           318: 
        !           319: Thu Jan  9 13:36:25 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           320: 
        !           321:        * expr.c (expand_expr): Handle OFFSET_REF.
        !           322: 
        !           323:        * cse.c (simplify_binary_operation): Never use associative law for
        !           324:        floating arithmetic.
        !           325: 
        !           326:        * fixinc.svr4: Renamed INCLUDES to INPUT.
        !           327: 
        !           328:        * i386.md (cmpstrsi recognizers): Output repe, not repz.
        !           329: 
        !           330: Thu Jan  9 18:02:34 1992  Dennis P. Glatting  (dennisg at tti)
        !           331: 
        !           332:        * tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format.  Old format
        !           333:        was recognized as destructors not constructors.
        !           334:        * objc-actions.c (build_module_descriptor):
        !           335:        Null-terminate global_object_name.
        !           336: 
        !           337: Thu Jan  9 10:35:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
        !           338: 
        !           339:        * sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL.
        !           340: 
        !           341: Thu Jan  9 08:17:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           342: 
        !           343:        * fold-const.c (merge_component_references): Treat constants as
        !           344:        unsigned, so we don't get extra sign bits where we don't want them.
        !           345: 
        !           346: Wed Jan  8 19:12:59 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           347: 
        !           348:        * reload.c (combine_reloads): Don't use a fixed_reg as an reload
        !           349:        reg, even if it dies.
        !           350: 
        !           351:        * loop.c (record_giv): Fix typo extracting insn_uid.
        !           352: 
        !           353: Wed Jan  8 15:41:10 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           354: 
        !           355:        * cpp.texi, gcc.texi: Files renamed.
        !           356:        * invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles.
        !           357:        * Makefile.in: Corresponding changes.
        !           358: 
        !           359:        * fixincludes: Renamed INCLUDES to INPUT.
        !           360: 
        !           361:        * m68k.c (notice_update_cc, print_operand): Fix typos.
        !           362: 
        !           363:        * cp-decl.c (expand_static_init): Save and restore current obstacks.
        !           364: 
        !           365:        * c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block.
        !           366: 
        !           367: Wed Jan  8 12:53:48 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           368: 
        !           369:        * cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during
        !           370:        expansion.
        !           371: 
        !           372: Wed Jan  8 07:45:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
        !           373: 
        !           374:        * m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files.
        !           375: 
        !           376:        * configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}.
        !           377: 
        !           378: Wed Jan  8 06:01:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           379: 
        !           380:        * romp.md (mftbi): Allow memory in the contraints since there can't
        !           381:        be an input reload on an insn that uses cc0.
        !           382: 
        !           383:        * cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx.
        !           384:        (NONZERO_BASE_PLUS_P): New macro.
        !           385:        (find_comparison, simplify_relational_operation_args): Use
        !           386:        NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate.
        !           387: 
        !           388:        * m68k.md (peepholes): Don't change around stack adjusts and pushes
        !           389:        when we are pushing something whose address involves sp.
        !           390: 
        !           391:        * cse.c (simplify_unary_operation): Check for operations on
        !           392:        integers by looking at mode of OP, not output mode, to avoid
        !           393:        confusion with FIX operations whose result is an integer.
        !           394: 
        !           395:        * rtl.h ([df]const[012]_rtx): Deleted.
        !           396:        (const_tiny_rtx): New declaration.
        !           397:        (CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx.
        !           398:        (CONST1_RTX, CONST2_RTX): New macros.
        !           399:        * emit-rtl.c ([df]const[012]_rtx): Deleted.
        !           400:        (const_tiny_rtx): New definition.
        !           401:        (init_emit_once): Initialize const_tiny_rtx instead of old vars.
        !           402:        * cse.c (simpify_binary_operation): Use CONST[01]_RTX.
        !           403:        * varasm.c (immed_real_const_1): Likewise.
        !           404:        * combine.c (subst): Likewise.
        !           405:        * reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise.
        !           406:        * convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise.
        !           407: 
        !           408: Tue Jan  7 22:11:17 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           409: 
        !           410:        * x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix.
        !           411: 
        !           412:        * protoize.c (_POSIX_SOURCE): Define only if POSIX.
        !           413: 
        !           414:        * m68k.h (FPA_REG_P): Always define this somehow.
        !           415: 
        !           416:        * c-decl.c (c_decode_option): Handle -Wchar-subscripts.
        !           417:        * c-typeck.c (build_array_ref): Do the real work.
        !           418: 
        !           419: Tue Jan  7 21:15:54 1992  Michael Meissner  (meissner at osf.org)
        !           420: 
        !           421:        * mips.md (branch_zero_false): Use correct mode (CC_0) on
        !           422:        match_operator.
        !           423: 
        !           424: Tue Jan  7 14:24:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           425: 
        !           426:        * reg-stack.c (replace_reg): get mode class from a mode, not a reg.
        !           427: 
        !           428: Tue Jan  7 14:16:18 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           429: 
        !           430:        * reg-stack.c (emit_pop_insn): Fix typo FPmode_reg.
        !           431: 
        !           432:        * protoize.c (longjmp): Don't declare it.
        !           433: 
        !           434: Tue Jan  7 09:47:47 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           435: 
        !           436:        * cp-lex.c (real_yylex): From John Hassey, allocate space for the
        !           437:        terminating null on wide character literals.
        !           438: 
        !           439: Tue Jan  7 07:41:42 1992  Tom Wood  (wood at dg-rtp.dg.com)
        !           440: 
        !           441:        * m88kv3.h (LIB_SPEC): Add -lg.
        !           442: 
        !           443: Tue Jan  7 06:29:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           444: 
        !           445:        * stor-layout.c (layout_type): Don't over-align a structure
        !           446:        when strict alignment is not required.
        !           447: 
        !           448:        * rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used.
        !           449: 
        !           450:        * rs6000.md (add-and-compare): Fix duplicate operand number.
        !           451: 
        !           452:        * a29k.md (inbyte, inhw): Correct duplicate operand number.
        !           453: 
        !           454:        * fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)).
        !           455:        * combine.c (subst, case MULT): Likewise.
        !           456:        (simplify_shift_const, shift cases): Similarly, associate A << B << C.
        !           457: 
        !           458:        * genoutput.c (seen): New array.
        !           459:        (scan_operands): Give error if an operand number was specified
        !           460:        twice.  Include pattern number in error message.
        !           461:        (gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'.
        !           462:        (gen_split, gen_peephole): Add initializations for arrays that
        !           463:        are copied.
        !           464: 
        !           465:        * optabs.c (expand_unop): Complete recent change; one TARGET was
        !           466:        not changed to TEMP.
        !           467: 
        !           468:        * expmed.c (expand_mult): Always try multiplication by value and
        !           469:        by negated value. Fix bug where we don't include the cost of the negate
        !           470:        when seeing which way is better.  Write proper value in REG_EQUAL
        !           471:        note.
        !           472: 
        !           473:        * optabs.c (extendtab): Replacement for {zero,sign}_extend_codes.
        !           474:        (can_extend_p): Use new table and return type is not enum insn_code.
        !           475:        (gen_extend_insn): Deleted; not used.
        !           476:        (init_extends): Make like init_flottab: use new table and initialize
        !           477:        unused entries to CODE_FOR_nothing, not zero.
        !           478:        * expr.c (convert_move): can_extend_p fails if it returns
        !           479:        CODE_FOR_nothing, not zero.
        !           480:        * expr.h (can_extend_p): Add definition.
        !           481: 
        !           482:        * expr.h: Add "extern" to function definitions.
        !           483: 
        !           484: Mon Jan  6 10:12:34 1992  Leonard Norrgard  (vinsci at nic.funet.fi)
        !           485: 
        !           486:        * m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the
        !           487:        optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA.
        !           488:        * m68k.h (SUPPORT_SUN_FPA): Likewise.
        !           489: 
        !           490:        * m68k.c (notice_update_cc): New function.
        !           491:        * m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc.
        !           492: 
        !           493:         * sun3.h (SUPPORT_SUN_FPA): New define.
        !           494: 
        !           495: Mon Jan  6 16:42:43 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           496: 
        !           497:        * varasm.c (assemble_global, assemble_label): New functions.
        !           498:        * objc-actions.c (finish_objc): Call them to define and globalize.
        !           499:        Use output_constant to reference a class.
        !           500: 
        !           501:        * Makefile.in (install-limits-h): New target.
        !           502:        (install-headers): Depend on install-limits-h.
        !           503:        (USER_H): Deleted LIMITS_H.
        !           504:        (INSTALLED_H): Added limits.h.
        !           505:        (mostlyclean): Remove tmp-limits.h.
        !           506:        * limitx.h: New file.
        !           507: 
        !           508:        * x-isc: File deleted.
        !           509: 
        !           510:        * objc-actions.c (build_module_descriptor): Init global_object_name.
        !           511: 
        !           512:        * Makefile.in (collect2): Depend on version.o.
        !           513: 
        !           514:        * protoize.c (PATH_MAX): Definition deleted.  Just test it
        !           515:        to see if param.h should be included.
        !           516: 
        !           517:        * cse.c (simplify_binary_operation, case MULT): Make a copy
        !           518:        of the operand when converting 2.0 * X to X+X.
        !           519: 
        !           520:        * reload.c (find_reloads): Refine when we set force_reload and
        !           521:        better document the cases.
        !           522: 
        !           523: Mon Jan  6 08:22:19 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           524: 
        !           525:        * i386.c (output_float_compare): Output only single-pop compare
        !           526:        if both operands are the FP top of stack reg.
        !           527:        When comparing FP top of stack with itself, print `%st(0)' as the
        !           528:        reg name, not `%st'.
        !           529: 
        !           530: Mon Jan  6 12:01:51 1992  Tiggr  (rcpieter at mole.gnu.ai.mit.edu)
        !           531: 
        !           532:        * arm.md (mulsi3): Fixed contraints.
        !           533: 
        !           534: Mon Jan  6 08:21:46 1992  Tom Wood  (wood at dg-rtp.dg.com)
        !           535: 
        !           536:        * m88k-move.sh: Renamed from m88k-movstr.sh.  Rename the generated
        !           537:        files move*.asm from movstr*.asm to be SVR3-legit.
        !           538:        * t-m88k, t-m88kluna, t-m88kv4: Use the new names.
        !           539: 
        !           540:        * c-aux-info.c, dbxout.c: Include errno.h as in protoize.c.
        !           541: 
        !           542:        * Makefile.in (BISONFLAGS): Don't use -v since *.output is big.
        !           543:        (cp-parse.c): Do use -d to create cp-parse.h.
        !           544:        (cp-parse.o): Don't define PARSE_OUTPUT.
        !           545:        * x-mips, x-m88kdgux (BISONFLAGS): No -v.
        !           546: 
        !           547: Mon Jan  6 07:54:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           548: 
        !           549:        * genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the
        !           550:        natural order so we see an operand before we see a MATCH_DUP referring
        !           551:        to it.
        !           552: 
        !           553:        * genrecog.c (write_tree_1): Simplify code that writes braces and
        !           554:        avoid writing them unnecessarily.
        !           555:        Don't write dead code when last test was unconditional.
        !           556: 
        !           557:        * optabs.c (expand_binop, expand_twoval_binop, expand_unop):
        !           558:        Standardize loop for wider mode.
        !           559:        (emit_cmp_insn, emit_float_lib_cmp): Likewise.
        !           560:        (expand_binop): Correct how extensions are done: use convert_to_mode,
        !           561:        don't use SUBREG for non-integer operations, and remove test
        !           562:        involving HOST_BITS_PER_INT.
        !           563:        (expand_unop): Similar changes; make code closer to expand_binop.
        !           564:        Handle failure of recursive call when expanding.  Fix incorrect use
        !           565:        of TEMP when widening.  Use SUBREG for NEG and NOT.
        !           566: 
        !           567:        * reload.c (find_reloads_address_part): New function.
        !           568:        (find_reloads_address): Call it instead of push_reload when we are
        !           569:        reloading a PLUS or a constant.
        !           570: 
        !           571: Sun Jan 5 18:34:15 1992    (Eric Youngdale at [email protected])
        !           572: 
        !           573:        * make-cc1.com:  Change file names from cp-tab.* to cp-parse.*.
        !           574: 
        !           575: Sun Jan  5 18:06:11 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           576: 
        !           577:        * cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE
        !           578:        parameters when TYPE_REFERENCE_TO is automagically converted.
        !           579: 
        !           580: Sun Jan  5 05:19:19 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           581: 
        !           582:        * tree.h (CONSTRUCTOR_NAME_FORMAT): New macro.
        !           583:        * objc-actions.c (build_module_descriptor): Make constructor name
        !           584:        from name of file or of a global that it defines.
        !           585:        Return constructor name.
        !           586:        (finish_objc): Use name returned as name to call.
        !           587: 
        !           588:        * protoize.c (GUESSPATHLEN): New macro.
        !           589:        (main): Use that for initial buffer size for getcwd.
        !           590:        * dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
        !           591:        (dbxout_init): Call getcwd in loop, as in protoize.c.
        !           592:        * c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
        !           593:        (gen_aux_info_record): Call getcwd in loop.
        !           594:        * i386v.h, i386vgas.h (MAXPATHLEN): Don't define.
        !           595: 
        !           596:        * svr3.h (LINK_SPEC): Don't pass -K.
        !           597: 
        !           598:        * reload.c (find_reloads): Do record in non_reloaded_operands if no -O.
        !           599: 
        !           600:        * m68k.c (output_function_prologue, output_function_epilogue):
        !           601:        Add braces and adjust conditionals to fix balance and indentation.
        !           602: 
        !           603:        * objc-actions.c (build_module_descriptor): Mark __objc_file_init used.
        !           604: 
        !           605: Sat Jan  4 13:27:40 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           606: 
        !           607:        * protoize.c: unprotoize getcwd & fork declarations.
        !           608:        (edit_fn_declaration): use "VOLATILE", not "volatile".
        !           609: 
        !           610: Sat Jan  4 20:19:41 1992  Michael Meissner  (meissner at osf.org)
        !           611: 
        !           612:        * mips.h (set_volatile): Add new global variable reference.
        !           613: 
        !           614:        * mips.c (set_volatile): New global variable to keep track of the
        !           615:        number of .set volatile's done.  At present, no code actually turns
        !           616:        this on.
        !           617:        (mips_move_1word): Use %. instead of putting const0_rtx into an
        !           618:        unused operator and using %z to get to $0, which is hardwired to 0.
        !           619:        (mips_move_2words): Likewise.
        !           620:        (override_options): Allow %., %{, and %} punctuation.
        !           621:        (print_operands): Add support for %. to get the current name of
        !           622:        register 0, %{ to turn on .set volatile, and %} to turn on .set
        !           623:        novolatile.
        !           624:        (function_epilogue): Give an error if .set volatile was left on in
        !           625:        the epilogue.
        !           626:        (mips_asm_file_start): Don't emit .set nobopt unless we are filling
        !           627:        branch delay slots.
        !           628: 
        !           629:        * mips.md (set reg on comparison define_splits): Don't allow the
        !           630:        scheduler to split any set of a comparision insns, to work around a
        !           631:        bug in sched.c.
        !           632: 
        !           633: Sat Jan  4 23:01:41 1992  Jeffrey A Law  (law at planet.super.org)
        !           634: 
        !           635:        * m68k.c (output_function_prolog): Decrement (instead of 
        !           636:        increment) num_saved_regs when a frame pointer is needed.
        !           637:        (the link/unlk will restore the frame pointer register)  
        !           638: 
        !           639: Sat Jan  4 11:11:24 1992  Dennis P. Glatting  (dennisg at tti)
        !           640: 
        !           641:        * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining.
        !           642: 
        !           643: Sat Jan  4 07:40:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           644: 
        !           645:        * expr.c (convert_to_mode): Correctly zero-extend a constant into
        !           646:        a mode whose size is twice the host int size.
        !           647: 
        !           648:        * machmode.h (enum mode_class): Add MAX_MODE_CLASS.
        !           649:        (GET_CLASS_NARROWEST_MODE): New macro.
        !           650:        (byte_mode, word_mode): Add declarations.
        !           651:        * caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE.
        !           652:        * combine.c (make_extraction): Don't use explicit QImode and SImode.
        !           653:        * cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have 
        !           654:        VOIDmode, not DImode.
        !           655:        (simplify_binary_operation): Remove explicit DFmode reference.
        !           656:        * expmed.c (init_expmed): Don't make our own copy of word_mode.
        !           657:        (store_bit_field, extract_bit_field): Remove explicit
        !           658:        QImode reference; don't recompute word_mode.
        !           659:        (store_fixed_bit_field, {store,extract}_split_bit_field): Don't
        !           660:        recompute word_mode.
        !           661:        (emit_store_flag): Likewise.
        !           662:        (extract_fixed_bit_field): Replace explicit mode references with a
        !           663:        loop on modes; don't recompute word_mode.
        !           664:        * expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't
        !           665:        recompute word_mode.
        !           666:        (emit_push_insn, do_jump_by_parts*): Likewise.
        !           667:        (push_block): Remove explicit QImode reference.
        !           668:        (get_inner_reference): Use mode_for_size.
        !           669:        * emit-rtl.c (restore_reg_data): Make unused regs word_mode.
        !           670:        (operand_subword): Don't recompute word_mode.
        !           671:        * fold-const.c (optimize_bit_field_compare): Likewise.
        !           672:        (merge_component_references): Likewise.
        !           673:        * flow.c (mark_set_1, mark_used_regs): Likewise.
        !           674:        * loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE.
        !           675:        * optabs.c (expand_binop): Replace SImode references in multi-word
        !           676:        multiply with the mode used for each subpart.
        !           677:        (expand_binop, expand_unop): Don't recompute word_mode.
        !           678:        * reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE.
        !           679:        * reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode.
        !           680:        * rtl.c (class_narrowest_mode, byte_mode, word_mode): Define.
        !           681:        (init_rtl): Initialize them.
        !           682:        * sched.c (attach_deaths): Don't recompute word_mode.
        !           683:        * stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE.
        !           684:        (get_best_mode): Likewise.
        !           685:        Don't recompute word_mode.
        !           686:        * unroll.c (unroll_loop): Replace default of SImode with word_mode.
        !           687: 
        !           688:        * calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT.
        !           689: 
        !           690: Sat Jan  4 03:42:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           691: 
        !           692:        * protoize.c (pointer_type): Use char * if non-ANSI.
        !           693:        (const_pointer_type): Likewise.
        !           694:        (malloc, realloc): Declare to return pointer_type.
        !           695:        (setjmp): Don't declare, to avoid trouble with macro defns.
        !           696:        (const): If not ANSI, define as empty macro.
        !           697: 
        !           698: Sat Jan  4 00:59:53 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !           699: 
        !           700:        * sparc.c (legitimize_pic_address): When converting a symbol_ref,
        !           701:        use an extra temp reg when -fPIC, and add a REG_EQUAL note to the
        !           702:        insn referencing the global offset table.  This allows loop to
        !           703:        optimize these PIC sequences.
        !           704: 
        !           705: Fri Jan  3 20:29:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           706: 
        !           707:        * i386.md (return): Always output return insns.
        !           708: 
        !           709:        * i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function
        !           710:        is a BARRIER, don't output a function epilogue.
        !           711: 
        !           712: Fri Jan  3 12:43:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           713: 
        !           714:        * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL):
        !           715:        Use libgcc.a, not libgcc.
        !           716: 
        !           717:        * protoize.c (STRINGIFY): Provide non-ANSI alternative definition.
        !           718: 
        !           719:        * c-decl.c (get_parm_info): Keep non-parms in the parm list.
        !           720: 
        !           721:        * stmt.c (cost_table): Now short.
        !           722:        (estimate_case_costs): Handle that.
        !           723: 
        !           724:        * Makefile.in (float.h, *protoize.1, gcc.xtar.Z):
        !           725:        Make temp files, then rename.
        !           726:        (clean): Delete those temp files.
        !           727: 
        !           728:        * Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big.
        !           729: 
        !           730: Fri Jan  3 10:32:31 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
        !           731: 
        !           732:        * Makefile.in (cp-parse.c): Add missing -o flag.
        !           733: 
        !           734: Fri Jan  3 08:21:04 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           735: 
        !           736:        * reg-stack.c: Complete last change (renaming DFmode_reg).
        !           737: 
        !           738:        * expmed.c (init_expmed): Pass dummy pointer to number of clobbers to
        !           739:        recog so it can let us see patterns that need added clobbers.
        !           740: 
        !           741: Fri Jan  3 07:54:32 1992  Tom Wood  (wood at dg-rtp.dg.com)
        !           742: 
        !           743:        * c-decl.c (implicitly_declare): Record whether this is an implicit
        !           744:        declaration before setting IDENTIFIER_IMPLICIT_DECL.
        !           745: 
        !           746: Thu Jan  2 21:17:12 1992  Michael Meissner  (meissner at osf.org)
        !           747: 
        !           748:        * mips.c (compute_frame_size): Don't count FP registers twice.
        !           749: 
        !           750: Thu Jan  2 14:59:55 1992  Michael Tiemann  (tiemann at hal)
        !           751: 
        !           752:        * cp-lex.h: Renamed from cp-parse.h.  Now cp-parse.h is the file
        !           753:        created by bison from cp-parse.y.
        !           754:        * Makefile.in: reflect this naming change.
        !           755: 
        !           756: Thu Jan  2 12:37:32 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           757: 
        !           758:        * objc-actions.c (build_obj_method_call): Typo in NEXT case.
        !           759: 
        !           760:        * next.h (HAVE_ATEXIT): Defined.
        !           761: 
        !           762:        * c-decl.c (duplicate_decls):
        !           763:        No error if override decl that has DECL_BUILT_IN_NONANSI.
        !           764: 
        !           765:        * Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big.
        !           766: 
        !           767:        * Makefile.in (protoize, PROTOIZE): Delee these 2 new targets;
        !           768:        `protoize' was redundant.
        !           769: 
        !           770:        * c-typeck.c (build_function_call): If the fn is volatile,
        !           771:        make a pointer-to-volatile-function type pointer.
        !           772:        * calls.c (expand_call): Handle calls to such pointers as volatile.
        !           773: 
        !           774:        * expmed.c (init_expmed): Pass all 3 args to `recog'.
        !           775: 
        !           776:        * varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits.
        !           777: 
        !           778:        * sparc.md (storing SF into mem at symb addr): Fix typos.
        !           779: 
        !           780:        * protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink):
        !           781:        (my_open, my_chmod): Macros that run access, stat,... with casts.
        !           782:        Renamed from former POSIX-only macros and made unconditional.
        !           783:        All calls to these functions also renamed.
        !           784: 
        !           785:        * m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below,
        !           786:        thus making the behavior really change to accept all CONST_DOUBLE.
        !           787: 
        !           788:        * libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c.
        !           789:        * gcc.c (link_command_spec): Link with libgcc.a.
        !           790:        * Makefile.in (libgcc): Rename targets and variables from gnulib.
        !           791:        * *.h, t-*, x-*: Rename refs to those symbols and files.
        !           792:        * expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_...
        !           793: 
        !           794:        * m68k.c (symbolic_operand): Reject all CONST_DOUBLE.
        !           795:        * m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P.
        !           796:        (LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs
        !           797:        that symbolic_operand used to accept.
        !           798: 
        !           799: Thu Jan  2 21:06:13 1992  James Van Artsdalen  (james at bigtex.cactus.org)
        !           800: 
        !           801:        * protoize.c (is_id_char,free_def_dec,check_aux_info):
        !           802:        Don't declare them `inline'.
        !           803:        (save_def_or_dec,munge_compile_params,find_extern_def,check_source,
        !           804:        scan_for_missed_items): Use alloca instead of variable length arrays.
        !           805: 
        !           806:        * Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca.
        !           807: 
        !           808: Thu Jan  2 21:40:52 1992  Jeffrey A Law  (law at b115.super.org)
        !           809: 
        !           810:        * sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2
        !           811:        and higher optimization levels.
        !           812: 
        !           813: Thu Jan  2 06:46:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           814: 
        !           815:        * final.c (final_scan_insn): Compare debug_info_level with entries in
        !           816:        its enum, not with integers.
        !           817: 
        !           818:        * reg-stack.c ({SF,DF}mode_reg): Deleted.
        !           819:        (FP_mode_reg): New array, indexed by register and by mode.
        !           820:        (reg_to_stack): Replace initialization of old vars with initialization
        !           821:        of FP_mode_reg.
        !           822:        (replace_reg): Use new array.
        !           823: 
        !           824:        * romp.c, romp.h, romp.md: Rename symbolic_operand to
        !           825:        romp_symbolic_operand.
        !           826: 
        !           827:        * emit-rtl.c (init_emit_once): Create virtual registers before the
        !           828:        structure value regsisters, since the latter might use the former.
        !           829: 
        !           830:        * varasm.c (output_constant): Fix typo: missing arg to expand_expr.
        !           831: 
        !           832:        * vax.md (call_pop, call_pop_value): Use correct register number for
        !           833:        stack pointer.  Add new patterns for case of zero args.
        !           834: 
        !           835: Thu Jan  2 08:12:59 1992  Fred Fish  (fnf at sunfish)
        !           836: 
        !           837:        * x-amix:  Minor changes to some comments.
        !           838:        * x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS):  Remove definitions.
        !           839:        * x-amix (manext):  Add definition.
        !           840: 
        !           841: Thu Jan  2 11:14:28 1991  Ken Raeburn  ([email protected])
        !           842: 
        !           843:        * fold-const.c (fold, case PLUS_EXPR): If association permits
        !           844:        reduction to var+0, convert var to the desired type before returning
        !           845:        it.
        !           846: 
        !           847: Wed Jan  1 10:37:50 1992  Michael Tiemann  (tiemann at cygnus.com)
        !           848: 
        !           849:        * expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) >
        !           850:        BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE).
        !           851: 
        !           852:        * expr.c (expand_expr): In CONSTRUCTOR case, preserve
        !           853:        MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might
        !           854:        not be independent.
        !           855: 
        !           856: Wed Jan  1 18:32:03 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !           857: 
        !           858:        * c-parse.y (parmlist_1): Accept `PARMS; PARMS'.
        !           859:        (parmlist_or_identifiers_1): Likewise.  Also use plain parmlist_2.
        !           860:        Delete the ([names] decls) syntax.
        !           861:        (defn_parms, defn_parmlist_2): Deleted.
        !           862:        * c-decl.c (get_parm_info): Put parm decls into original order.
        !           863:        Don't nreverse the original decls list.
        !           864:        (pushdecl, duplicate_decls): Avoid error for forward parm decl.
        !           865:        (clear_parm_order): New function.
        !           866:        (push_parm_decl): Record original order of parms.
        !           867: 
        !           868:        * c-decl.c (struct binding_level): New slot subblocks_tag_transparent.
        !           869:        (pushlevel): Use that, not ->parm_flag.
        !           870:        (start_function): Set that slot.
        !           871: 
        !           872:        * config.sub: Always distinguish between amix and sysv4.
        !           873:        Convert commodore to cbm and digital to dec.
        !           874: 
        !           875:        * m68k.md (stack adjust then push SI): New peephole.
        !           876: 
        !           877:        * m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int".
        !           878:        * sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining.
        !           879: 
        !           880:        * cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE.
        !           881:        (LONG_TYPE_SIZE): Add default definition.
        !           882: 
        !           883:        * objc-actions.c: Declare index and rindex.
        !           884:        (build_module_descriptor): Simplify last change.
        !           885:        Use a fixed name for the initialization function.
        !           886:        (init_objc): Don't do constructor here.
        !           887:        (finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME.
        !           888: 
        !           889:        * protoize.c: Unprotoized.
        !           890:        (edit_file): Improve message in -n case.
        !           891: 
        !           892:        * Makefile.in (LANGUAGES): Add proto.
        !           893:        (C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets.
        !           894:        (PROTOIZE, protoize, PROTO): Aliases for proto.
        !           895:        (rest.encap): Delete dep `proto'.
        !           896: 
        !           897: Wed Jan  1 15:07:41 1992  Michael Meissner  (meissner at osf.org)
        !           898: 
        !           899:        * mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than
        !           900:        doing it wrong by hand.  If not optimizing, make sign extends from
        !           901:        memory not force the operand into a register first and do two
        !           902:        shifts -- combine already does this when optimizing.
        !           903:        (copyright): Add 1992 to list of years the file was modified.
        !           904: 
        !           905: Wed Jan  1 06:10:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           906: 
        !           907:        * reload1.c (reload): When forcing an illegitimate constant into
        !           908:        memory, use mode of SET_DEST in case constant is VOIDmode.
        !           909: 
        !           910:        * stmt.c (expand_end_case): Pass index type to emit_case_nodes instead
        !           911:        of unsigned flag.
        !           912:        (node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see
        !           913:        if the a node value is at the limit of values of the type.
        !           914:        (node_is_bounded): Accept INDEX_TYPE and pass to above functions;
        !           915:        always call them.
        !           916:        (emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg;
        !           917:        pass index type to recursive calls and to calls to bound checking
        !           918:        functions.
        !           919: 
        !           920:        * varasm.c (assemble_integer_zero): Deleted.
        !           921:        (assemble_integer, assemble_real): New functions.
        !           922:        (output_constant_pool, output_constant): Use new functions.
        !           923:        * final.c (end_final, profile_function): Likewise.
        !           924: 
        !           925:        * calls.c (calls_alloca): Don't interpret operands that are RTL as if
        !           926:        they were trees; check args of nested CALL_EXPR for alloca calls.
        !           927: 
        !           928: Wed Jan  1 16:51:30 1992  Fred Fish  (fnf at fishpond)
        !           929: 
        !           930:        * Makefile.in (manext): Include the '.' character.
        !           931:        (mandir): Don't use manext.
        !           932:        (install-man, uninstall): Change uses of manext.
        !           933: 
        !           934: Wed Jan  1 21:31:01 1992  Ron Guilmette  (rfg at ncd.com)
        !           935: 
        !           936:        * i860.md (cmpeqsi, cmpltsi, cmpgtsi):  Made control flow more obvious.
        !           937:        (cmpnesi, cmplesi, cmpgesi):  New patterns.
        !           938:        (cmpgeusi, cmpleusi):  Fixed bug in compares against zero.
        !           939: 
        !           940: Tue Dec 31 11:16:37 EST 1991   Dennis P. Glatting (...!uunet!tti!dennisg)
        !           941: 
        !           942:        * objc-actions.c (build_module_descriptor): Emit a constructor 
        !           943:        function.  Constructor function calls a ObjC run-time routine passing
        !           944:        a pointer to the module's module structure.
        !           945:        (init_objc): Call different constructor function if not Next.
        !           946:        (build_selector_translation_table): Don't give a selector global scope.
        !           947:        Changed in construction of decl_specs.
        !           948: 
        !           949: Tue Dec 31 18:06:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !           950: 
        !           951:        * genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand".
        !           952:        (same_modes): Properly check when we should ignore a mode test.
        !           953: 
        !           954:        * reload1.c (emit_reload_insns): Only change spill_reg_store for
        !           955:        output reloads.
        !           956:        Clear spill_reg_store when we did an input reload to a spill register.
        !           957:        (delete_output_reload): Use single_set.
        !           958:        (count_occurrences): Don't count use which is SET_DEST.
        !           959: 
        !           960: Tue Dec 31 16:51:37 1991  Michael Meissner  (meissner at osf.org)
        !           961: 
        !           962:        * mips.h (MIPS_VERSION): Change Meissner version # to 6.
        !           963:        (ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile.
        !           964:        (CONSTANT_ALIGNMENT): Align constructors on word boundaries.
        !           965: 
        !           966:        * mips.md (extend*): Replace sign extension insns with a
        !           967:        define_expand that converts the expansion into the appropriate
        !           968:        shifts.  Add insns that do sign extension from memory, which the
        !           969:        optimizer will utilitize if the thing being sign extended really
        !           970:        comes from memory.  This allows the shifts to compete for CSE, at a
        !           971:        potential cost of generating worse code if reload spills a HI or QI
        !           972:        register to the stack.
        !           973:        (sne define_split): Instead of using a constant 0 as the second
        !           974:        argument to the slti instruction, use a hard coded regisiter 0.
        !           975: 
        !           976:        * mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the
        !           977:        directory where the MIPS compilers live.
        !           978:        (LIB_SPEC): Add crtn.o after all libs.
        !           979:        (STARTFILE_SPEC): Use crt1.o, not crtn.o.
        !           980:        (MACHINE_TYPE): Correct typo, this is System V, not BSD.
        !           981:        Changes are from Ron Guilmette (rfg at ncd.com).
        !           982: 
        !           983:        * configure (mips-*-sysv): Correctly use mips-sysv.h instead of
        !           984:        mips.h.  Change is from Ron Guilmette.
        !           985: 
        !           986: Tue Dec 31 16:51:37 1991  Michael Stump  (mrs at charlie.secs.csun.edu)
        !           987: 
        !           988:        * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove
        !           989:        collect2 from EXTRA_PASSES, as collect2 does not need installing as
        !           990:        collect2.  Also, change the symlink back to a hard link.
        !           991: 
        !           992:        * Makefile.in: Add collect2 to STAGESTUFF as it is something that
        !           993:        needs removing or moving to stagen, but it should not be installed.
        !           994: 
        !           995: Tue Dec 31 15:47:50 1991  Michael Tiemann  (tiemann at hal)
        !           996: 
        !           997:        * combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so
        !           998:        the lattern can use the result of the former.
        !           999: 
        !          1000:        * conditions.h: In comments, refer to `tm.h', since `tm-' is no
        !          1001:        longer the form used for these files.
        !          1002: 
        !          1003: Tue Dec 31 11:45:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1004: 
        !          1005:        * cp-lex.c (lineno, finput): Decls deleted.
        !          1006: 
        !          1007:        * global-alloc.c (find_reg): New arg RETRYING.
        !          1008:        (retry_global_alloc, global_alloc): Pass that arg.
        !          1009: 
        !          1010:        * Makefile.in (*protoize, *protoize.o): Compile with CC.
        !          1011:        * protoize.c: Include config.h, not tconfig.h.
        !          1012:        Always define _POSIX_SOURCE.
        !          1013: 
        !          1014:        * convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE.
        !          1015:        * conv1*.h, conv2*.h: Files deleted.
        !          1016: 
        !          1017:        * m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined.
        !          1018: 
        !          1019: Tue Dec 31 08:08:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          1020: 
        !          1021:        * cexp.y (yylex): Record the parsed characters when dealing with
        !          1022:        multibyte characters.
        !          1023: 
        !          1024: Mon Dec 30 17:13:30 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          1025: 
        !          1026:        * i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the
        !          1027:        two operand multiply instead of three operand form: the AT&T
        !          1028:        assemblers generate incorrect object code for the latter.
        !          1029: 
        !          1030: Mon Dec 30 17:39:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1031: 
        !          1032:        * jump.c (jump_optimize): Complete last change: use expand_and result.
        !          1033: 
        !          1034:        * reload1.c (emit_reload_insns): Check if reload_in needs a secondary
        !          1035:        reload if we have an in-out reload, since it might have been the
        !          1036:        output the needed the secondary reload.
        !          1037: 
        !          1038:        * cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is
        !          1039:        VOIDmode, not DImode.
        !          1040: 
        !          1041:        * fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the
        !          1042:        comparison is LE_EXPR or LT_EXPR.
        !          1043: 
        !          1044:        * calls.c (calls_alloca): New function.
        !          1045:        (expand_call): Preexpand any argument that contains a call to alloca
        !          1046:        if this call will use the stack.
        !          1047: 
        !          1048:        * rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation
        !          1049:        error.
        !          1050: 
        !          1051:        * rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix
        !          1052:        incorrect definition.
        !          1053: 
        !          1054: Mon Dec 30 16:10:46 1991  Michael Meissner  (meissner at osf.org)
        !          1055: 
        !          1056:        * mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt
        !          1057:        in favor of -mno-gpopt.
        !          1058: 
        !          1059: Mon Dec 30 11:32:05 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1060: 
        !          1061:        * cp-class.c (build_vtable): If we're doing #pragma interface
        !          1062:        and the interface is known, set TREE_PUBLIC, regardless of
        !          1063:        TREE_EXTERNAL settings.
        !          1064: 
        !          1065:        * cp-decl.c (make_temporary_for_reference): Don't call
        !          1066:        `convert_pointer_to', since the type may not be an aggr type.
        !          1067: 
        !          1068:        * cp-decl.c (finish_decl): Now takes 4th arg NEED_POP.
        !          1069:        All callers changed.
        !          1070: 
        !          1071:        * cp-class.c (permanent_obstack): Declare it.
        !          1072:        (add_method): push and pop obstacks before changing out of/into
        !          1073:        temporary allocation.
        !          1074:        * cp-decl.c (implicitly_declare): Add
        !          1075:        push_obstacks_nochange/pop_obstacks around changes out of/into
        !          1076:        temporary allocation.
        !          1077:        (shadow_tag,xref_tag,start_decl,finish_decl): Ditto.
        !          1078:        * cp-decl2.c (grokfield,get_temp_name): Ditto.
        !          1079:        * cp-except.c ({ansi_}lookup_exception_object): Ditto.
        !          1080:        * cp-lex.c (get_time_identifier): Ditto.
        !          1081:        * cp-tree.c (build_exception_variant): Ditto.
        !          1082:        * cp-typeck.c (mark_addressable): Ditto.
        !          1083: 
        !          1084:        * cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to
        !          1085:        preserve allocation status.  Now handled by callers.
        !          1086: 
        !          1087: Mon Dec 30 01:44:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1088: 
        !          1089:        * c-lex.c (yyprint): Function moved here.
        !          1090:        * c-parse.y, objc-parse.y: Moved from here.
        !          1091: 
        !          1092:        * Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c):
        !          1093:        cd to srcdir to run Bison.
        !          1094: 
        !          1095:        * c-lex.c (check_newline): Get rid of #ident pedantic warning.
        !          1096:        * cccp.c (do_ident): Put it here.
        !          1097:        Don't warn if in system header file.
        !          1098: 
        !          1099:        * cccp.c (main, finclude): Warn if file ends in backslash-newline.
        !          1100: 
        !          1101:        * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions.
        !          1102: 
        !          1103:        * global-alloc.c (find_reg): Kick out local regs if that helps.
        !          1104:        (global_alloc): Set up vars local_regs_live_length, local_regs_n_refs.
        !          1105: 
        !          1106:        * protoize.c (do_processing): Fix setting syscalls_absolute_filename.
        !          1107: 
        !          1108:        * configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives.
        !          1109:        * config.sub (*-commodore): Default OS to Amigados.
        !          1110:        (-amix*): Allow this as input.
        !          1111:        (amiga): New abbreviation.
        !          1112: 
        !          1113:        * sparc.c (output_function_epilogue): Skip unimp differently in leaf.
        !          1114:        Use jmp insn rather than separate add.
        !          1115:        (output_return): Skip unimp here too.
        !          1116:        * sparc.md (return "peepholes"). Handle skipping the unimp.
        !          1117: 
        !          1118:        * fold-const.c (fold, optimizing 2*EXPR): Use save_expr.
        !          1119: 
        !          1120:        * varasm.c (make_decl_rtl): Permit initializer for local explicit reg.
        !          1121: 
        !          1122:        * c-decl.c (kept_level_p):  Changed to also return TRUE for binding
        !          1123:        levels which contain only tagged type declarations.
        !          1124: 
        !          1125:        * calls.c (expand_call): Cleaned up prev change.
        !          1126: 
        !          1127: Mon Dec 30 11:29:47 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
        !          1128: 
        !          1129:        * cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args.
        !          1130: 
        !          1131:        * calls.c (expand_call): Handle allocating ARGBLOCK in the case
        !          1132:        that ACCUMULATE_OUTGOING_ARGS is not defined.
        !          1133: 
        !          1134: Mon Dec 30 10:27:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          1135: 
        !          1136:        * protoize.c: fix typo in <sys/wait.h> inclusion.
        !          1137: 
        !          1138: Mon Dec 30 06:16:16 1991  Leonard Norrgard  (vinsci at nic.funet.fi)
        !          1139: 
        !          1140:        * c-decl.c (grokdeclarator): Changed erroneus error message.
        !          1141: 
        !          1142: Sun Dec 29 16:16:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1143: 
        !          1144:        * toplev.c (main): Last -On option wins.
        !          1145:        * Makefile.in (ENQUIRE_CFLAGS): Add -O0.
        !          1146: 
        !          1147:        * Makefile.in (cp-tab.c): Change "expect" message.
        !          1148: 
        !          1149:        * final.c (leaf_renumber_regs): Renumber just the PATTERN.
        !          1150: 
        !          1151: Sun Dec 29 14:20:15 1991  Per Bothner  (bothner at cygnus.com)
        !          1152: 
        !          1153:        * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
        !          1154:        20) was a little too drastic: If it succeded, no type info was
        !          1155:        emitted at all, which made for syntactically invalid stabs.
        !          1156:        Instead, just set 'full=0',
        !          1157:        * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
        !          1158:        little cleaner.  It *seems* to work ...
        !          1159: 
        !          1160: Sun Dec 29 07:04:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1161: 
        !          1162:        * expr.c (convert_move): Add truncates from DImode to smaller modes.
        !          1163:        (move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit
        !          1164:        references to integer modes.
        !          1165:        Never need to align greater than BIGGEST_ALIGNMENT.
        !          1166: 
        !          1167:        * optabs.c (init_extends, init_fixtab, init_floattab, init_optabs):
        !          1168:        Add TImode operations.
        !          1169: 
        !          1170:        * reload.c (find_reloads): Prefer alternatives that reload SCRATCH
        !          1171:        instead of something else.
        !          1172: 
        !          1173:        * rs6000.md (movti): Adjust constraints and alternative order so
        !          1174:        we actually get to use the  stsi insn.
        !          1175: 
        !          1176:        * rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to
        !          1177:        put a TImode value in r11 as often.
        !          1178: 
        !          1179:        * caller-save.c (setup_save_areas): New parameter pchanged; set when
        !          1180:        memory is allocated.
        !          1181:        * reload1.c (reload): Pass pointer to something_changed to
        !          1182:        setup_save_areas.
        !          1183: 
        !          1184:        * loop.c (scan_loop): Don't suppress moving insns that can trap just
        !          1185:        because we have passed a call inside a libcall/retval block.
        !          1186: 
        !          1187:        * jump.c (get_label_before): Don't separate a CALL_INSN from any USE
        !          1188:        insns immediately preceeding it.
        !          1189:        (get_label_after): Likewise, for following CLOBBERs.
        !          1190: 
        !          1191:        * cse.c (fold_rtx, case '<'): When seeing if we have seen this
        !          1192:        comparison before, use a constant equivalence.
        !          1193:        Add test for things like "(a | 1) != 0".
        !          1194:        (fold_rtx, case '2'): Move code to handle associative operations to
        !          1195:        here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN.
        !          1196:        (record_jump_equiv): See if OP1 is equivalent to a constant.
        !          1197: 
        !          1198:        * jump.c (jump_optimize): Don't pass a SUBREG as a target to
        !          1199:        expand_and.
        !          1200: 
        !          1201:        * combine.c (subst): Never associate floating-point, even if not IEEE.
        !          1202:        Associate MAX and MIN operations.
        !          1203: 
        !          1204:        * output.h (output_asm_insn, asm_fprintf): Add "extern" to decls.
        !          1205:        (alter_subreg): Add declaration.
        !          1206:        * rs6000.md (movsf, movdf): Don't declare alter_subreg here.
        !          1207:        (trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used.
        !          1208:        * rs6000.c (rs6000_trunc_used): New name of trunc_used.
        !          1209:        * rs6000.h (rs6000_trunc_used): Add declaration.
        !          1210: 
        !          1211: Sat Dec 28 18:14:21 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1212: 
        !          1213:        * cp-method.c (build_overload_name): Don't call OB_FINISH unless END
        !          1214:        is nonzero.
        !          1215: 
        !          1216: Sat Dec 28 17:46:05 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          1217: 
        !          1218:        * gcc.c (default_compilers): Handle -ansi in the C++ entries
        !          1219:        exactly the same way as the C entries do.
        !          1220: 
        !          1221:        * rtl.c (add_dependence): Cast enums to int before doing an
        !          1222:        ordered comparison, since some compilers can't do this.
        !          1223: 
        !          1224:        * sparc.c (pic_address_needs_scratch): New function.  Returns
        !          1225:        true if the pic address X needs a scratch register when loaded.
        !          1226:        (legitimize_pic_address): Clean up.  New argument SCRATCH, which
        !          1227:        is a scratch register for those loads that need it.
        !          1228:        (emit_move_sequence): New argument SCRATCH_REG, which is a scratch
        !          1229:        register for those loads that need it.  When loading a pic label,
        !          1230:        set %o7 instead of clobbering it so its value can be used later.
        !          1231:        (compute_frame_size): Leaf functions need to allocate space for
        !          1232:        register window in frame if size greater than 0.
        !          1233:        (print_operand): Delete obsolete %^ which added %o7 to addresses.
        !          1234:        All uses of %o7 are now explicit.
        !          1235:        * sparc.h: Fix callers of legitimize_pic_address.
        !          1236:        (REG_CLASS_FROM_LETTER): Add 'r' case.
        !          1237:        (SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to
        !          1238:        allocate a scratch register for certain pic address reloads.
        !          1239:        (flag_pic): Define as extern so that it will be defined for
        !          1240:        insn-emit.c.
        !          1241:        * sparc.md: Fix all callers of legitimize_pic_address and
        !          1242:        emit_move_sequence.
        !          1243:        (reload_insi): New pattern.  Used to force reload to allocate a
        !          1244:        scratch register for those pic address loads that need one.
        !          1245:        (reload_insi+2): When loading pic label, set %o7 instead of
        !          1246:        clobbering it.
        !          1247:        (movdf, movsf): Reject matches that would require reloading via
        !          1248:        use of a condition.
        !          1249:        (tablejump): Now a define_expand, so can generate different
        !          1250:        pattern when pic.
        !          1251:        (pic_tablejump): Explicitly mention in rtl that %o7 is used,
        !          1252:        instead of using %^.
        !          1253: 
        !          1254:        * m88k.h, sparc.h: Delete references to non-existent
        !          1255:        BLOCK_PROFILER_USED_REG_P macro.
        !          1256: 
        !          1257: Sat Dec 28 14:31:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1258: 
        !          1259:        * c-lex.c (check_newline): Set ignore_escape_flag for reading filename.
        !          1260:        (yylex): Handle ignore_escape_flag in string constant.
        !          1261: 
        !          1262:        * gnulib2.c (__do_global_dtors): Count elements properly.
        !          1263: 
        !          1264:        * m68k.md (tsthi): Don't allow address register.
        !          1265: 
        !          1266: Sat Dec 28 11:49:06 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          1267: 
        !          1268:        * final.c (final): Initialize elements of line_note_exists.
        !          1269: 
        !          1270:        * protoize.c: Don't include <sys/wait.h> on USG unless SVR4.
        !          1271: 
        !          1272: Sat Dec 28 11:09:36 1991  Fred Fish  (fnf at fishpond)
        !          1273: 
        !          1274:        * Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref.
        !          1275: 
        !          1276: Sat Dec 28 06:31:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1277: 
        !          1278:        * sparc.md (movstrsi): Fix typo testing for more than 32 subunits.
        !          1279: 
        !          1280:        * genrecog.c: Major rework.
        !          1281:        We now check to see if pairs of comparison nodes can have anything
        !          1282:        that they both match.  If not, they can be reordered.  An efficient
        !          1283:        ordering is established that groups all nodes with identical rtl
        !          1284:        codes inside groups with identical modes.  This allows us to generate
        !          1285:        a comparison tree that is a list of nested switch statements.
        !          1286:        Also, genrecog.c is now indented properly so that debugging is eased.
        !          1287:        (add_to_sequence): Enforce mode on the first arg of COMPARE, comparison
        !          1288:        operation, SIGN_EXTEND, and ZERO_EXTEND.
        !          1289: 
        !          1290:        * a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition.
        !          1291: 
        !          1292: Fri Dec 27 17:31:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1293: 
        !          1294:        * a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE):
        !          1295:        Add definition.
        !          1296:        * rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise.
        !          1297: 
        !          1298:        * expmed.c (expand_mult): For negative values, try multiplication by
        !          1299:        the original value as well as by negated value.
        !          1300: 
        !          1301: Fri Dec 27 20:54:59 1991  Fred Fish  (fnf at fishpond)
        !          1302: 
        !          1303:        * m68kv4.h:  Include m68ksgs.h rather than m68k.h.
        !          1304: 
        !          1305:        * m68kv4.h:  Define TARGET_DEFAULT to be 68020 + 68881.
        !          1306:        (CPP_SPEC): Define based on TARGET_DEFAULT
        !          1307: 
        !          1308:        * m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this.
        !          1309:        (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted.
        !          1310:        (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted.
        !          1311: 
        !          1312:        * m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P):
        !          1313:        (FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP):
        !          1314:        (FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE):
        !          1315:        (STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT):
        !          1316:        Redefined to match m68k/SVR4 conventions.
        !          1317: 
        !          1318:        * m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'.
        !          1319:        (ASM_NO_SKIP_IN_TEXT): Defined.
        !          1320: 
        !          1321:        * amix.h, xm-amix.h, x-amix: New files.
        !          1322: 
        !          1323: Fri Dec 27 20:43:11 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1324: 
        !          1325:        * cp-tree.h (build_overload_name): Declare this function.
        !          1326:        * cp-decl2.c, cp-method.c: Delete random `extern' declarations.
        !          1327: 
        !          1328:        * cp-lex.c (get_directive_line): Declare it extern.
        !          1329:        (lineno,yychar,yylval,lastiddecl,finput): Ditto.
        !          1330:        (ridpointers): Don't need to declare it here.
        !          1331:        (check_newline): Handle new #pragmas.
        !          1332: 
        !          1333:        * cp-class.c (add_method): Add a cast in call to `obstack_base'.
        !          1334: 
        !          1335: Fri Dec 27 20:22:05 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1336: 
        !          1337:        * cp-decl.c (push_overloaded_decl): Now returns a value.
        !          1338:        All callers changed.
        !          1339: 
        !          1340:        * cp-decl.c (duplicate_decls): Give better error message when user
        !          1341:        declaration conflicts with built-in one.  Also, when we decide to
        !          1342:        keep a builtin function builtin, copy the DECL_RTL from OLDDECL to
        !          1343:        NEWDECL.
        !          1344: 
        !          1345: Fri Dec 27 17:18:15 1991  Michael Meissner  (meissner at osf.org)
        !          1346: 
        !          1347:        * mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS.
        !          1348:        (TRAMPOLINE_SIZE): Define to be 9 words.
        !          1349:        (INITIALIZE_TRAMPOLINE): Define correctly for MIPS.
        !          1350:        (TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the
        !          1351:        trampoline, so that we can jump to it.  I suspect the mprotect may
        !          1352:        fail on some MIPS based systems, because the trampoline is on the
        !          1353:        stack, and not in the data section.
        !          1354: 
        !          1355:        * mips.c (mips_output_filename): Don't warn about ECOFF not
        !          1356:        handling #line's within functions if we are using the OSF/rose
        !          1357:        object format.
        !          1358: 
        !          1359: Fri Dec 27 15:35:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1360: 
        !          1361:        * c-typeck.c (build_array_ref): Special warning about `register' array.
        !          1362: 
        !          1363:        * gnulib2.c (L_trampoline): Don't create a function here.
        !          1364:        The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec.
        !          1365:        * m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here.
        !          1366: 
        !          1367:        * fx80.*: Renamed from alliant.*.
        !          1368:        * configure: Alternative renamed to fx80-alliant-*.
        !          1369:        * config.sub: Corresponding changes.
        !          1370: 
        !          1371:        * cccp.c (traditional): No longer static.
        !          1372:        * cexp.y (yylex): Handle full variety of character constants.
        !          1373:        Include stdlib.h and locale.h if needed.
        !          1374: 
        !          1375:        * c-decl.c (shadow_tag): Change warnings to error or pedwarn.
        !          1376: 
        !          1377:        * gnulib2.c (__do_global_dtors): If length not given, count it.
        !          1378:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null.
        !          1379:        (__CTOR_END__, __DTOR_END__): Declarations deleted.
        !          1380: 
        !          1381:        * cp-decl2.c (finish_file): Always change $ to _
        !          1382:        regardless of NO_DOLLAR_IN_LABEL.
        !          1383: 
        !          1384: Fri Dec 27 15:04:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          1385: 
        !          1386:        * svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo.
        !          1387: 
        !          1388:        * m88k.c: Move extern decls.
        !          1389:        (output_ascii): Use ASCII_DATA_ASM_OP.
        !          1390:        * m88k.h (HAVE_ATEXIT): Delete.
        !          1391:        (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL,
        !          1392:         ASCII_DATA_ASM_OP): Override svr4.h.
        !          1393:        (EXTRA_SECTIONS): No ctors/dtors for m88k-luna.
        !          1394:        * m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h.
        !          1395: 
        !          1396: Fri Dec 27 11:34:59 1991  Ken Raeburn  ([email protected])
        !          1397: 
        !          1398:        * cp-pt.c (mangle_class_name_for_template): Use a local obstack
        !          1399:        rather than fixed-size buffers.
        !          1400: 
        !          1401:        * cp-class.c (add_method): Case obstack_base value to desired type
        !          1402:        when reallocating vector node.
        !          1403: 
        !          1404: Fri Dec 27 09:16:50 1991  Ron Guilmette  (rfg at ncd.com)
        !          1405: 
        !          1406:        * sort-protos:  New file.
        !          1407: 
        !          1408:        * i386.c: Remove decls of frame_pointer_needed; include flags.h.
        !          1409:        * i386.c (output_387_binary_op, output_float_compare):
        !          1410:        Moved declarations of strcat to top level.
        !          1411: 
        !          1412:        * i860.md (cmpnesf, cmpnedf):  New patterns.
        !          1413:        * i860.md (cmplesf, cmpgesf):  Corrected to allow for IEEE conformance.
        !          1414: 
        !          1415: Thu Dec 26 11:20:07 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1416: 
        !          1417:        * cp-class.c: Declare N_* variables here.
        !          1418:        * cp-class.h: Declare N_* variables extern here.
        !          1419: 
        !          1420:        * cp-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead
        !          1421:        of implementing it directly.
        !          1422:        * varasm.c (assemble_gc_entry): New function.
        !          1423: 
        !          1424:        * calls.c (expand_call): Don't crash if somebody declared a void
        !          1425:        function `const'.
        !          1426: 
        !          1427:        * cp-cvt.c (convert): Handle case when two equal array types are
        !          1428:        distinct (in memory).
        !          1429:        * tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound.
        !          1430:        (index_type_equal): New function.
        !          1431: 
        !          1432:        * cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing
        !          1433:        to handle (*)[] and (&)[] declarations as well.
        !          1434: 
        !          1435:        * cp-decl2.c (finish_file): Unconditionally call
        !          1436:        assemble_{constructor,destructor}.  Also, delete code for writing
        !          1437:        _init and _fini sections that was #if 0'd.  These actions belong in
        !          1438:        varasm if anywhere.
        !          1439: 
        !          1440:        * cp-class.c (add_method): Fix handling of obstacks to correctly
        !          1441:        extend TREE_VECs.
        !          1442: 
        !          1443: Thu Dec 26 15:24:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1444: 
        !          1445:        * cccp.c (main): Add new option -include.  Rename -i to -imacros.
        !          1446:        * gcc.c (SWITCH_TAKES_ARG): Remove -i.
        !          1447:        (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
        !          1448:        * hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives.
        !          1449:        * mips.h (SWITCH_TAKES_ARG): Remove -Y and -i.
        !          1450:        * next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
        !          1451:        * sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h.
        !          1452:        * svr4.h (SWITCH_TAKES_ARG): Remove -i, -f.
        !          1453:        (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
        !          1454: 
        !          1455:        * toplev.c (flag_gnu_linker): New variable.  -fgnu-linker.
        !          1456:        * flags.h (flag_gnu_linker): Declare it.
        !          1457:        * varasm.c (assemble_constructor, assemble_destructor):
        !          1458:        Handle flag_gnu_linker.
        !          1459: 
        !          1460:        * sparc.md (structure values): Separate unimp pattern deleted.
        !          1461:        New pattern for combined call and unimp.  `call' pattern changed.
        !          1462:        (type): Deleted type marker, added call_no_delay_slot.
        !          1463: 
        !          1464: Thu Dec 26 05:04:28 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          1465: 
        !          1466:        * reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED,
        !          1467:        just pop the SET_SRC.
        !          1468: 
        !          1469: Wed Dec 25 17:23:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1470: 
        !          1471:        * c-decl.c (init_decl_processing): Fix type of exit, _exit.
        !          1472: 
        !          1473:        * jump.c (cross_jump_death_matters): Move def to front, make static.
        !          1474: 
        !          1475: Tue Dec 24 20:41:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1476: 
        !          1477:        * hard-reg-set.h (reg_names): Declare here.
        !          1478:        * stmt.c (expand_asm_operands): Not here.
        !          1479: 
        !          1480:        * gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*.
        !          1481: 
        !          1482:        * expr.c (expand_expr): Delete decl of lang_expand_expr.
        !          1483: 
        !          1484:        * final.c (final_scan_insn): Delete line number followed by another
        !          1485:        line number, if numbers are effectively consecutive.
        !          1486: 
        !          1487:        * jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump.
        !          1488:        * reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize.
        !          1489:        Don't set cross_jump_death_matters here.
        !          1490:        (record_reg_life): Delete decl of call_used_reg_set.
        !          1491: 
        !          1492:        * c-decl.c (init_decl_processing):
        !          1493:        Declare abort, exit, and _exit as volatile.
        !          1494: 
        !          1495:        * c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier.
        !          1496:        (pushdecl): Test that and avoid nested extern warning.
        !          1497: 
        !          1498:        * c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS.
        !          1499: 
        !          1500: Tue Dec 24 15:42:34 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1501: 
        !          1502:        * cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro
        !          1503:        application to strncmp argument.
        !          1504: 
        !          1505:        * cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead
        !          1506:        of relying on fixed buffers of finite length.
        !          1507:        (fndecl_as_string): Ditto.
        !          1508:        All callers changed.
        !          1509:        * cp-except.c (cplus_exception_name): Definition moved to
        !          1510:        cp-method.c.
        !          1511: 
        !          1512: Tue Dec 24 10:38:49 1991  Michael Collison  (collison at osf.org)
        !          1513: 
        !          1514:        * ns32k.c (hard_regno_mode_ok): Define this as a function now.
        !          1515:        Also change the way it work so that we don't allow moves between
        !          1516:        the general registers and the floating point registers.
        !          1517: 
        !          1518:        * ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call.
        !          1519: 
        !          1520:        * ns32k.md (call_value): fix to correct a bug where the compiler thinks
        !          1521:        the return value of a function call is in f0 instead of r0. Fix
        !          1522:        courtesy of vince russo.
        !          1523:        (movqi, movhi): Fix up these patterns because they could return
        !          1524:        undefined instruction templates. Fix courtesy of vince russo.
        !          1525: 
        !          1526: Tue Dec 24 10:14:20 1991  Ron Guilmette  (rfg at ncd.com)
        !          1527: 
        !          1528:        * mips-tfile.c (main): Move nested extern decl of version_string to
        !          1529:        file-scope.
        !          1530:        (catch_signal): Move nested extern decl of sys_siglist to
        !          1531:        file-scope.
        !          1532: 
        !          1533:        * varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON.
        !          1534:        * svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New.
        !          1535:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted.
        !          1536: 
        !          1537:        * gcc.c (SWITCH_TAKES_ARG, default_compilers):  Eliminated -Y* option.
        !          1538:        (execute):  Moved decls of execv and execvp to top level.
        !          1539:        (do_spec, do_spec1, handle_braces, give_switch): Support new %* spec.
        !          1540: 
        !          1541:        * c-lang.c (recognize_objc_keyword):  Added explicit return.
        !          1542: 
        !          1543:        * svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):  New definitions.
        !          1544:        (ASM_SPEC, LINK_SPEC): Support more standard svr4 options.
        !          1545:        (LIB_SPEC):  Fixed to link crtend.o *after* libc.a.
        !          1546: 
        !          1547:        * svr4.h (CONST_SECTION_FUNCTION):  Moved decl of `text_section' to
        !          1548:        top level.
        !          1549: 
        !          1550:        * cexp.y (main): Add explicit return type and explicit value.
        !          1551:        Move decl of yydebug to top level.
        !          1552: 
        !          1553:        * gnulib2.c (__bb_init_func):  Moved decl of ___tcov_init to top level.
        !          1554: 
        !          1555:        * toplev.c (main):  Deleted obsolete checks for -opt and -noreg.
        !          1556:        Moved decls of environ, version_string, language string to file-scope.
        !          1557:        Compile-time error if PREFERRED_DEBUGGING_TYPE is missing.
        !          1558: 
        !          1559:        * tree.c (dump_tree_statistics): Deleted decl of class_obstack.
        !          1560:        (object_permanent_p):  Added explicit return type.
        !          1561: 
        !          1562: Tue Dec 24 09:29:24 1991  Charles Hannum  (mycroft at hal.gnu.ai.mit.edu)
        !          1563: 
        !          1564:        * expr.h (lang_expand_expr): Fix typo.
        !          1565: 
        !          1566: Tue Dec 24 06:52:45 1991  Michael Meissner  (meissner at osf.org)
        !          1567: 
        !          1568:        * gnulib2.c (__main): Make sure the exit module is pulled in if we
        !          1569:        have atexit, since that module defines constructor/destructor
        !          1570:        variables as bss symbols rather than as references.
        !          1571: 
        !          1572:        * decrose.h (HAVE_ATEXIT): Define.
        !          1573:        * encrose.h (HAVE_ATEXIT): Define.
        !          1574:        * i386rose.h (HAVE_ATEXIT): Define.
        !          1575:        * decstatn.h (HAVE_ATEXIT): Define.
        !          1576: 
        !          1577:        * gcc.texinfo (HAVE_ATEXIT): Expand documentation.
        !          1578:        (EXIT_BODY): Document.
        !          1579: 
        !          1580:        * protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym
        !          1581:        for POSIX to make the code and documentation agree.  Also, if the
        !          1582:        user defined _POSIX_SOURCE explicitly, turn on POSIX support in
        !          1583:        protoize.
        !          1584: 
        !          1585: Tue Dec 24 00:14:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1586: 
        !          1587:        * calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE.
        !          1588:        Use as arg in call and call_value insns.
        !          1589:        (expand_call): Record the size, to pass it.
        !          1590:        * expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE.
        !          1591:        * sparc.md (call, call_value): Make use of new arg.
        !          1592:        Generate an unimp instruction to use sparc calling convention.
        !          1593:        Add nameless pattern to recognize it.
        !          1594:        * sparc.c (output_function_epilogue): Skip the caller's unimp insn.
        !          1595: 
        !          1596:        * Makefile.in (INSTALLED_H): New variable.
        !          1597:        (includes): Preserve just those specific files.
        !          1598: 
        !          1599:        * expr.h (lang_expand_expr): Declare it.
        !          1600:        * expr.c: Don't declare it.
        !          1601:        * cp-expr.c (init_cplus_expand): Set up lang_expand_expr here.
        !          1602:        * cp-lex.c (init_lex): Call init_cplus_expand.
        !          1603: 
        !          1604: Mon Dec 23 15:17:59 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          1605: 
        !          1606:        * configure: Delete m88k-v88r32 (this is supported by m88k-svr3)
        !          1607:        and add m88k.
        !          1608:        * config.sub: Delete v88r as a system type.
        !          1609: 
        !          1610: Mon Dec 23 19:50:48 1991  Fred Fish  (fnf at fishpond)
        !          1611: 
        !          1612:        * 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h,
        !          1613:        tower-as.h:  Replace port oriented macros SGS_3B1, HPUX_ASM, and
        !          1614:        SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES,
        !          1615:        SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI.
        !          1616: 
        !          1617:        * m68ksgs.h: New file.
        !          1618: 
        !          1619:        * m68k.c (print_operand_address): Change switch labels for MOTOROLA.
        !          1620:        Don't use a `%'.  Add missing `L' to some labels.
        !          1621:        For SGS assembler, use one symbol for the offset.
        !          1622: 
        !          1623: Mon Dec 23 17:03:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1624: 
        !          1625:        * recog.h (insn_name): New declaration.
        !          1626:        * final.c (output_asm_insn):  Don't declare insn_name here.
        !          1627: 
        !          1628:        * dbxout.c (dbxout_function, dbxout_begin_function):
        !          1629:        Pass missing arg to dbxout_really_begin_function.
        !          1630: 
        !          1631:        * jump.c (jump_optimize): Set new var can_reach_end.
        !          1632:        * c-decl.c, cp-decl.c (finish_function):
        !          1633:        Merge that into current_function_returns_null.
        !          1634: 
        !          1635:        * config.sub (fx2800): New machine alias.
        !          1636: 
        !          1637:        * va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__.
        !          1638: 
        !          1639:        * m88kv4.h: New version from Wood.
        !          1640:        (CPP_PREDEFINES): Put -A options here.  Remove __CLASSIFY_TYPE__.
        !          1641: 
        !          1642:        * cccp.c (initialize_builtins): Define __GNUC__ as 2.
        !          1643: 
        !          1644:        * rtl.h (read_rtx): New declaration.
        !          1645: 
        !          1646:        * c-lex.c: Don't include output.h.
        !          1647:        (asm_out_file): Declare it.
        !          1648:        (ridpointers): Allocate storage here.
        !          1649: 
        !          1650:        * c-lex.h (lastiddecl, token_buffer): Declare here.
        !          1651:        (yylex, make_pointer_declarator, reinit_parse_for_function): Likewise.
        !          1652:        * c-parse.y, objc-parse.y: Not here.
        !          1653: 
        !          1654:        * objc-actions.c (error_with_ivar, error_with_method):
        !          1655:        (warn_with_method): Use count_error, not errorcount.
        !          1656: 
        !          1657: Mon Dec 23 11:50:37 1991  Ron Guilmette  (rfg at ncd.com)
        !          1658: 
        !          1659:        * sdbout.c:  Fixed typo.
        !          1660:        * stmt.c (init_stmt, init_stmt_for_function):  Explict return type.
        !          1661:        * gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls.
        !          1662:        * recog.c (init_recog):  Added explicit return type.
        !          1663:        * longlong.h (count_leading_zeros):  Moved decl of `__clz_tab'.
        !          1664:        * print-rtl.c (insn_name_ptr):  Make decl `extern'.
        !          1665: 
        !          1666:        * objc-actions.h, objc-actions.c (doing_objc_thang):  Make extern.
        !          1667:        * objc-actions.h, objc-actions.c (finish_class):  Return void.
        !          1668:        * objc-actions.c (continue_class):  Added default error return value.
        !          1669: 
        !          1670:        * fixinc.svr4: Map assertion tests to equivalent ANSI macro tests.
        !          1671: 
        !          1672:        * i860.c (output_block_move):  Disabled code to move by words or
        !          1673:        halfwords until it can be made to work right.
        !          1674: 
        !          1675:        * i860.c (output_block_move):  Moved a sequence of common
        !          1676:        `output_asm_insn' calls out of (and before) conditionals.
        !          1677: 
        !          1678:        * i860.c (output_block_move):  Corrected bugs in move loop.
        !          1679: 
        !          1680: Mon Dec 23 15:25:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          1681: 
        !          1682:        * m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg.
        !          1683:        (includes): Include svr4.h before m88k.h so the overrides in m88k.h
        !          1684:        will take effect.
        !          1685: 
        !          1686: Mon Dec 23 07:06:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1687: 
        !          1688:        * i860.c (output_delayed_branch): Call insn_extract and
        !          1689:        constrain_operands so that `which_alternative' is set properly.
        !          1690: 
        !          1691:        * stor-layout.c (layout_type, case ARRAY_TYPE): Handle
        !          1692:        TYPE_NO_FORCE_BLK similar to RECORD_TYPE.
        !          1693: 
        !          1694:        * encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused.
        !          1695: 
        !          1696: Sun Dec 22 12:02:03 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          1697: 
        !          1698:        * i386.c (function_epilogue): Use correct operand for insn mode.
        !          1699: 
        !          1700: Sun Dec 22 12:20:16 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1701: 
        !          1702:        * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member
        !          1703:        functions that are really declared as inline methods.
        !          1704: 
        !          1705:        * cp-init.c (build_virtual_init): Add missing call to
        !          1706:        `assemble_external' when we use a virtual function table.
        !          1707: 
        !          1708:        * cp-decl.c (implicitly_declare): Don't allocate a decl if at the
        !          1709:        global binding level.
        !          1710: 
        !          1711:        * vax.h (PRINT_OPERAND): Handle new 'R' case.
        !          1712:        * vax.md: Change all patterns which passed a negated operand for
        !          1713:        `rotl' to use 'R' as the negator, since rotl cannot acctually handle
        !          1714:        negative arguments.
        !          1715: 
        !          1716: Sun Dec 22 12:31:46 1991  Ron Guilmette (rfg at ncd.com)
        !          1717: 
        !          1718:        * i386v4.h (TARGET_VERSION):  Added definition.
        !          1719:        * i860v4.h (TARGET_VERSION):  Added definition.
        !          1720: 
        !          1721:        * m68kv4.h:  New file.
        !          1722:        * fx2800.h:  New file.
        !          1723: 
        !          1724:        * m88kv4.h (DWARF_DEBUGGING_INFO):  Deleted redundant definition.
        !          1725:        (It's defined already in svr4.h.)
        !          1726: 
        !          1727:        * m88kv4.h (CPP_PREDEFINES): Added definition.
        !          1728: 
        !          1729:        * m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC):
        !          1730:        Deleted redundant definitions.  (These are defined in svr4.h.)
        !          1731: 
        !          1732:        * cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev.
        !          1733:        * function.c (round_down): Likewise.
        !          1734:        * calls.c, c-convert.c: Delete block-level extern decls.
        !          1735:        * c-convert.c: Include flags.h.
        !          1736: 
        !          1737:        * configure (i386-*-sysv*):  Fixed tmake_file value.
        !          1738:        (i860-*-sysv3*):  Fixed xmake_file and tmake_file value.
        !          1739:        (i860-alliant-*):  New configuration.
        !          1740: 
        !          1741:        * i860.c (recog_operand, call_used_regs, insn_template,
        !          1742:        insn_n_operands, insn_outfun, alter_subreg):  Moved extern
        !          1743:        declarations out of local contexts and put them at file-scope.
        !          1744: 
        !          1745:        * i860.c (zero_operand):  Deleted useless function.
        !          1746: 
        !          1747:        * i860.c (singlemove_string): Added code to optimize moving halfword
        !          1748:        constants.
        !          1749: 
        !          1750:        * i860.c (output_block_move):  Don't do CC_STATUS_INIT until it is
        !          1751:        definitely necessary & appropriate.
        !          1752: 
        !          1753:        * i860.c (output_block_move):  Create up to 16 sequential load/store
        !          1754:        pairs for constant length moves regardless of operand sizes (e.g.
        !          1755:        byte, halfword, word).
        !          1756: 
        !          1757:        * i860.c (output_block_move):  Try to generate widest kind of
        !          1758:        sequential load/store pairs for constant length moves before trying
        !          1759:        the less efficient (narrower) ones.
        !          1760: 
        !          1761:        * i860.c (output_block_move):  Don't do sequential load/store pairs
        !          1762:        for constant length moves unless the size is a multiple of the
        !          1763:        size of the operands moved each time (i.e. word, halfword, byte).
        !          1764: 
        !          1765:        * i860.c (output_block_move):  Re-wrote code to do inline variable
        !          1766:        length block moves to correct fatal errors (e.g. no check for zero
        !          1767:        or neagtive start count) and to make it more efficient (saved 1 cycle
        !          1768:        per iteration).
        !          1769: 
        !          1770:        * i860.c (output_block_move):  Make variable length moves with starting
        !          1771:        alignment of 4 or 2 `#if 0' for now, until they can be fixed to work
        !          1772:        right.  Also reordered all three cases so that longer alignments are
        !          1773:        checked for first.
        !          1774: 
        !          1775: Sun Dec 22 01:25:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1776: 
        !          1777:        * i386v4.h: Include svr4.h just once.
        !          1778: 
        !          1779:        * protoize.c (fprintf, printf): Decls put in #if 0.
        !          1780: 
        !          1781:        * emit-rtl.c (stack_slot_list): Delete superfluous extern decl.
        !          1782:        (emit): Abort if arg isn't recognized.
        !          1783: 
        !          1784:        * c-parse.y (current_declspecs, declspec_stack): Declare static.
        !          1785:        (undeclared_variable_notice): Likewise.
        !          1786:        (lastiddecl): Declare extern.
        !          1787:        * objc-parse.y: Same changes as c-parse.y.
        !          1788:        (token_buffer): Declare extern.
        !          1789: 
        !          1790:        * c-lex.c: Include output.h.
        !          1791:        (check_newline): Decl of asm_out_file deleted.
        !          1792: 
        !          1793:        * c-lex.h (ridpointers, NORID): Declare/define here.
        !          1794:        * c-lex.c, c-parse.y, objc-parse.y: Not here.
        !          1795: 
        !          1796:        * sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'.
        !          1797:        (LINK_SPEC): Pass -assert to linker.
        !          1798: 
        !          1799:        * gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'.
        !          1800: 
        !          1801:        * sparc.h (RTX_COSTS): Increase multiply cost to 20.
        !          1802:        (MULSI3_LIBCALL): Use .umul.
        !          1803:        (UMULSI3_LIBCALL): Deleted.
        !          1804: 
        !          1805: Sat Dec 21 18:34:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1806: 
        !          1807:        * combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it
        !          1808:        is a COMPARE or a comparison operation.
        !          1809: 
        !          1810:        * i860.md (bte): Remove now unneeded patterns.
        !          1811:        Correct mode mismatch errors in patterns that will now be used.
        !          1812: 
        !          1813: Sat Dec 21 00:14:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1814: 
        !          1815:        * ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted.
        !          1816:        (INITIALIZE_TRAMPOLINE): Likewise.  #error inserted.
        !          1817: 
        !          1818:        * ns32k.c (print_operand_address): For invalid address, just abort.
        !          1819: 
        !          1820:        * Makefile.in (FIXINCLUDES): New variable.
        !          1821:        (includes, maketest): Use that.
        !          1822:        * x-i386v4 (FIXINCLUDES): Override here.
        !          1823: 
        !          1824: Fri Dec 20 18:28:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1825: 
        !          1826:        * dbxout.c (dbxout_really_begin_function): New subroutine.
        !          1827:        (dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST.
        !          1828:        (dbxout_begin_function): New function.
        !          1829:        * varasm.c (assemble_start_function): Call dbxout_begin_function.
        !          1830: 
        !          1831:        * dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END.
        !          1832: 
        !          1833:        * sparc.md (movstrsi): Add missing double quote.
        !          1834: 
        !          1835:        * gcc.c (process_command): Handle -Xlinker.
        !          1836: 
        !          1837:        * calls.c (expand_call): Treat vfork like setjmp.
        !          1838: 
        !          1839:        * c-decl.c (implicitly_declare): Use push_obstacks_nochange.
        !          1840: 
        !          1841:        * sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert.
        !          1842:        (LINK_SPEC): Pass -assert to linker.
        !          1843: 
        !          1844:        * svr4.h (ASM_OUTPUT_LOCAL): Fix typo.
        !          1845: 
        !          1846: Fri Dec 20 07:52:19 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          1847: 
        !          1848:        * cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION
        !          1849:        options which need special treatment (in the turning off of the
        !          1850:        option).
        !          1851: 
        !          1852:        * cp-parse.y (named_class_head_sans_basetype_either): Rule deleted.
        !          1853:        (identifier_either): Rule deleted.
        !          1854:        (delete): Don't call `build_x_delete'' if the type does not have a
        !          1855:        destructor.  We may still need to adjust the address passed to
        !          1856:        `operator delete'.
        !          1857: 
        !          1858:        * cp-init.c (build_delete): New argument MAYBE_ADJUST.  All callers
        !          1859:        changed.  Also, add #if 0/#endif around code dealing with ALIGNMENT.
        !          1860:        It's dead code, and that's unclear otherwise.
        !          1861:        (maybe_adjust_addr_for_delete): New function.
        !          1862:        (build_new): Initialize special header for arrays allocated with
        !          1863:        `operator new[]'.  This is a rewrite of Ken's code.
        !          1864:        (init_init_processing): New built-in type BI_header_type.
        !          1865: 
        !          1866:        * cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN,
        !          1867:        BID.
        !          1868:        (build_builtin_call): New function.
        !          1869: 
        !          1870:        * cp-decl.c (grokvardecl): Set TREE_EXTERNAL.
        !          1871:        (grokdeclarator): Set TREE_PUBLIC for all member functions.  They
        !          1872:        are effectively global.  Do the same for static members.
        !          1873:        (start_function): Don't clear TREE_EXTERNAL in case the function
        !          1874:        belongs to another file's implementation.  Other fixes to
        !          1875:        TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation.
        !          1876: 
        !          1877:        * cp-method.c (hack_identifier): Call `assemble_external' if
        !          1878:        necessary.
        !          1879: 
        !          1880: Fri Dec 20 06:27:38 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1881: 
        !          1882:        * reload1.c (emit_reload_insns): Always record first insn emitted
        !          1883:        for a reload, including any insns for a secondary reload.
        !          1884:        (gen_input_reload): Correct documentation of function.
        !          1885: 
        !          1886: Thu Dec 19 22:01:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1887: 
        !          1888:        * gnulib1.c (perform_fixdfsi): New customization macro.
        !          1889: 
        !          1890:        * svr4.h (SELECT_RTX_SECTION): Undef before defining.
        !          1891: 
        !          1892: Thu Dec 19 16:59:12 1991    (Eric Youngdale at [email protected])
        !          1893: 
        !          1894:        * cccp.c (hack_vms_include_specification): Make conversion of 
        !          1895:        filenames more versatile for user specified include directories.
        !          1896: 
        !          1897: Thu Dec 19 17:38:18 1991  Michael Meissner  (meissner at osf.org)
        !          1898: 
        !          1899:        * mips.h (#error's): Put tab in front of all #error's, so that
        !          1900:        ancient pre-ANSI compilers will not complain about unknown
        !          1901:        directives, even if the #error is #ifdef'ed out.
        !          1902: 
        !          1903:        * mips.md (fix_trunc*): Reorder constraints so that 'd' comes before
        !          1904:        'f', and put a '*' in front of 'f' constraints to keep integer in
        !          1905:        the GP registers.
        !          1906:        (define_splits): Add reload_completed check for all define_splits
        !          1907:        that use subreg on the arguments to work around bug in sched.c.
        !          1908: 
        !          1909:        * cccp.c (lang_asm): New static variable to indicate we are
        !          1910:        processing an assembly file and to ignore unknown directives in case
        !          1911:        they are comments, like they are on the MIPS systems.
        !          1912:        (main): Set lang_asm if -lang-asm switch.
        !          1913:        (handle_directive, skip_if_group): Don't report about unknown
        !          1914:        directives if lang_asm is set.
        !          1915: 
        !          1916:        * gcc.c (default_compilers array): Pass -lang-asm to cpp when
        !          1917:        processing .S files instead of -lang-c.
        !          1918: 
        !          1919: Thu Dec 19 15:06:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1920: 
        !          1921:        * c-decl.c (c_decode_option): Handle -fno-ident.
        !          1922:        * c-lex.c (check_newline): Ignore #ident for -fno-ident.
        !          1923: 
        !          1924:        * svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name.
        !          1925: 
        !          1926:        * mips.h: Use #error, not #include, for error messages.
        !          1927: 
        !          1928:        * cccp.c (warning, main): Implement -Werror.
        !          1929: 
        !          1930:        * i386sco.h (CPP_SPEC): Move non-fixed option here.
        !          1931:        (CPP_PREDEFINES): From here.
        !          1932: 
        !          1933:        * gcc.c (do_spec_1): For %p, just pass -D options.
        !          1934:        For %P, pass all -A options.  Put in whitespace, fix typos.
        !          1935: 
        !          1936:        * c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...).
        !          1937:        * c-decl.c (get_parm_info): Don't warn here.
        !          1938: 
        !          1939: Thu Dec 19 06:15:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1940: 
        !          1941:        * toplev.c (compile_file): Avoid ordered comparison of debug_info_level
        !          1942:        since it is an enum.
        !          1943: 
        !          1944:        * mips.c: Include gstab.h.
        !          1945: 
        !          1946:        * sparc.md: Fix typo.
        !          1947: 
        !          1948:        * caller-save.c (save_call_clobbered_regs): Don't save regs that
        !          1949:        die in a CALL_INSN or that are born there.
        !          1950: 
        !          1951: Thu Dec 19 04:28:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1952: 
        !          1953:        * c-aux-info.c (gen_aux_info_record): Don't write space at line beg.
        !          1954: 
        !          1955: Wed Dec 18 11:46:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          1956: 
        !          1957:        * cse.c (cse_main): Use get_max_uid rather than computing it.
        !          1958: 
        !          1959: Wed Dec 18 18:13:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          1960: 
        !          1961:        * loop.c (scan_loop): Ensure replacement made  by single-use code
        !          1962:        is not modified in the life of the register being replaced.
        !          1963: 
        !          1964: Wed Dec 18 15:37:52 1991  Ron Guilmette  (rfg at ncd.com)
        !          1965: 
        !          1966:        * rtl.h (fconst2_rtx, dconst2_rtx):  Added extern declarations.
        !          1967: 
        !          1968:        * flags.h (flag_inhibit_size_directive): Declared.
        !          1969: 
        !          1970:        * svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP):  Moved around.
        !          1971:        (ASCII_DATA_ASM_OP):  Definition added.
        !          1972:        (flag_inhibit_size_directive):  Deleted superfluous extern decls.
        !          1973: 
        !          1974:        * Makefile.in:  Correct number of expected shift/reduce conflicts
        !          1975:        reported by bison for cp-parse.y.
        !          1976: 
        !          1977:        * sparcv4.h:  New file.
        !          1978: 
        !          1979:        * i860.h (FUNCTION_ARG_BOUNDARY):  Added definition.
        !          1980:        (sfmode_constant_to_ulong):  Added extern declaration.
        !          1981: 
        !          1982:        * i860.md (BTE/BTNE patterns):  Changed all instances of
        !          1983:        `(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'.
        !          1984: 
        !          1985:        * i860.md (load then BTE/BTNE patterns):  Added 8 new patterns,
        !          1986:        for cond branch on EQ/NE of a zero-extended memref with small integer.
        !          1987: 
        !          1988:        * i860.md: 20 new patterns (involving BTE/BTNE) like existing 20
        !          1989:        but simplified so that the combiner will find them.
        !          1990: 
        !          1991:        * i860.md (sfmode_constant_to_ulong, fconst2_rtx):  Removed
        !          1992:        superfluous nested extern declarations.
        !          1993: 
        !          1994: Wed Dec 18 15:39:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          1995: 
        !          1996:        * va-i860.h (va_start for stdarg.h): Divide reg counts by 4.
        !          1997: 
        !          1998:        * stmt.c (emit_case_nodes): Fix typo, near testing cost_table.
        !          1999: 
        !          2000:        * i860.h (CUMULATIVE_ARGS): Define a named struct, then use it.
        !          2001: 
        !          2002:        * function.c (expand_function_start): Compute sizes in proper order.
        !          2003: 
        !          2004:        * svr4.h (MD_STARTFILE_PREFIX): Defined.
        !          2005:        (STANDARD_STARTFILE_PREFIX): Deleted.
        !          2006: 
        !          2007:        * sparc.md (movstrsi): Disable if needs more than 32 insns.
        !          2008: 
        !          2009:        * expr.c (store_expr): Handle copying too-short STRING_CST.
        !          2010: 
        !          2011:        * gstdarg.h (_VA_LIST): Handle this like _VA_LIST_.
        !          2012: 
        !          2013:        * m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'.
        !          2014:        Fix uses of %L by adding `L'.
        !          2015:        * m68k.c (print_operand_address): Fix use of %L.
        !          2016:        * m68k.md (movhi): Fix use of %L.  They were inconsistent.
        !          2017: 
        !          2018: Wed Dec 18 14:59:26 1991  Michael Meissner  (meissner at osf.org)
        !          2019: 
        !          2020:        * limits.h (whole file): Protect against inclusion.
        !          2021: 
        !          2022:        * t-decrose (LIMITS_H): Don't install limits.h on OSF/1.
        !          2023:        * t-encrose (LIMITS_H): Don't install limits.h on OSF/1.
        !          2024:        * t-i386rose (LIMITS_H): Don't install limits.h on OSF/1.
        !          2025: 
        !          2026:        * x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
        !          2027:        * x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
        !          2028:        * x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include.
        !          2029: 
        !          2030: Wed Dec 18 04:53:23 1991  Ken Raeburn  ([email protected])
        !          2031: 
        !          2032:        * cp-init.c (build_new): Rewrote some of the array-handling code.
        !          2033:        Now stores the number of elements (after stripping off all outer
        !          2034:        ARRAY_TYPE nodes) at the start of allocated storage, just before the
        !          2035:        pointer the user's program sees.  We also store the 2s compliment
        !          2036:        value of the pointer returned so we can distinguish when deleting a
        !          2037:        pointer whether it was "adjusted" or not.
        !          2038:        (expand_vec_init): Added a type conversion for cases when the
        !          2039:        address of an array gets passed in and we want to deal with the
        !          2040:        elements.
        !          2041:        (build_delete): Catch a case where deletion of arrays could slip
        !          2042:        through.
        !          2043:        (build_vec_delete): More array-handling rewrites.  Extract the
        !          2044:        stored value and use it as the number of objects to destroy; ignore
        !          2045:        any value supplied by the user.
        !          2046: 
        !          2047:        * cp-init.c (init_vfields): Now static.
        !          2048: 
        !          2049:        * cp-tree.h (struct lang_decl_flags): Merged "dummy" fields.
        !          2050: 
        !          2051:        * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a
        !          2052:        list of instantiations already made of a template.  (Only
        !          2053:        implemented for functions currently.)
        !          2054:        * cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it.
        !          2055:        * cp-pt.c (instantiate_template): Maintain and make use of it.
        !          2056: 
        !          2057:        * cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type
        !          2058:        instead of constructing the type here.
        !          2059: 
        !          2060: Wed Dec 18 03:37:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2061: 
        !          2062:        * c-parse.y (label_decl): Use identifiers_or_typenames.
        !          2063: 
        !          2064:        * c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}.
        !          2065:        (defn_parmlist_2, defn_parms): New nonterminals.
        !          2066:        (identifiers_or_typenames): New nonterminal.
        !          2067:        (parmlist_or_identifiers_1): Changed.
        !          2068:        * c-decl.c (combine_parm_decls): New function.
        !          2069: 
        !          2070: Tue Dec 17 22:18:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2071: 
        !          2072:        * function.c (expand_main_function): Build SYMBOL_REF with Pmode,
        !          2073:        not VOIDmode.
        !          2074: 
        !          2075:        * rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold
        !          2076:        64 bits, not any size FP value.
        !          2077: 
        !          2078:        * reload1.c (reload): Remove variable old_caller_save_needed.
        !          2079:        Call init_save_areas and setup_save_areas instead of
        !          2080:        allocate_save_areas and elim_save_addrs.
        !          2081:        * caller-save.c (init_caller_save): New function, from part of
        !          2082:        allocate_save_areas.
        !          2083:        (setup_save_areas): New function, from rest of allocate_save_areas
        !          2084:        and elim_save_addrs.
        !          2085:        When scanning pseudos to find hard regs that might need caller-save,
        !          2086:        look at all parts of multi-word registers.
        !          2087: 
        !          2088:        * flow.c (elim_reg_set): New variable.
        !          2089:        (flow_analysis): Set it to contain those regs that we can eliminate.
        !          2090:        (mark_used_regs): Don't set eliminable regs as live when they are used.
        !          2091: 
        !          2092:        * global-alloc.c (global_alloc): Clear preferences with eliminable
        !          2093:        regs, in addition to clearing conflicts.
        !          2094: 
        !          2095:        * reload.c (find_reloads_toplev): Abort instead of making
        !          2096:        a SUBREG of a VOIDmode constant.
        !          2097: 
        !          2098:        * emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared.
        !          2099: 
        !          2100: Tue Dec 17 21:06:03 1991  Michael Meissner  (meissner at osf.org)
        !          2101: 
        !          2102:        * mips.h (MIPS_VERSION): Bump MM version number to 5.
        !          2103:        (processor_type): New enum to hold which type of
        !          2104:        processor to schedule for.
        !          2105:        (mips_cpu): New global to hold processor type.
        !          2106:        (MASK_*, TARGET_*): Rearrange target bits, add bits to select
        !          2107:        processor type, r4000 int/long/long long sizes.
        !          2108:        (TARGET_SWITCHES): Delete redunant no options, only leave no-
        !          2109:        version.
        !          2110:        (CUMULATIVE_ARGS): Make this a structure, not a pointer to a
        !          2111:        structure.
        !          2112:        (INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes.
        !          2113:        (FUNCTION_ARG_ADVANCE): Ditto.
        !          2114:        (FUNCTION_ARG): Ditto.
        !          2115:        (FUNCTION_ARG_PARTIAL_NREGS): Ditto.
        !          2116:        (RTX_COSTS): Count simple memory refs as one instruction.
        !          2117:        (REGISTER_MOVE_COST): Define as 4, to make sure constraints are
        !          2118:        checked.
        !          2119: 
        !          2120:        * mips.md (hilo type attribute): Add hilo type attribute to
        !          2121:        separate moves to/from the hi/lo registers with other register
        !          2122:        transfers.
        !          2123:        (move patterns): Set hilo attribute as appropriate.
        !          2124:        (define_function_units): Update the integer and memory functional
        !          2125:        units to include R4000 and R6000 processors, keyed off of the
        !          2126:        -mr[46]000 switches.  Add a new functional unit for transfering
        !          2127:        stuff between register sets.
        !          2128:        (mov{sf,df}_xfer*): Remove these patterns, as they are no longer
        !          2129:        needed in GCC 2.00 to move between the different register sets,
        !          2130:        and generate insn not found messages if used.
        !          2131:        (movsi_ulw, movsi_usw): Correct test to see if stack loads are
        !          2132:        aligned.  Use UNITS_PER_WORD-1 instead of a hard coded 3.
        !          2133:        (move define_expands): Delete move define_expands, since they are
        !          2134:        illegal according to the documentation, and the bug they guard
        !          2135:        against has long ago been fixed.
        !          2136: 
        !          2137:        * mips.c (mips_cpu): New global to hold processor type.
        !          2138:        (override_options): Set mips_cpu, check for 64 bit r4000 switches
        !          2139:        if processor not a r4000.
        !          2140:        (init_cumulative_args): CUMULATIVE_ARGS changes.
        !          2141:        (function_arg_advance): Ditto.
        !          2142:        (function_arg): Ditto.
        !          2143:        (function_arg_partial_nregs): Ditto.
        !          2144:        (mips_output_filename): Except for first .file, don't emit any other
        !          2145:        .file if encapsulating stabs in ECOFF, just put out stabs.  This
        !          2146:        confuses gdb.
        !          2147:        (mips_output_lineno): Don't put out .loc's if encapulating stabs in
        !          2148:        ECOFF.
        !          2149:        (mips_asm_file_start): Put a .set nobopt for MIPS assembler to
        !          2150:        work around bug where the assembler goes bonkers if a branch
        !          2151:        inside of a .set noreorder section jumps to a label outside of a
        !          2152:        .set noreorder section.  This is supposed to be fixed in 2.20 of
        !          2153:        the assembler.
        !          2154:        (function_epilogue): Correctly emit nops with tabs and newlines if
        !          2155:        needed.
        !          2156: 
        !          2157:        * decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
        !          2158:        enable OSF/rose support, rather than use nm.
        !          2159: 
        !          2160:        * encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
        !          2161:        enable OSF/rose support, rather than use nm.
        !          2162: 
        !          2163:        * i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
        !          2164:        enable OSF/rose support, rather than use nm.
        !          2165: 
        !          2166:        * t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
        !          2167:        and link it to ld.
        !          2168: 
        !          2169:        * t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
        !          2170:        and link it to ld.
        !          2171: 
        !          2172:        * t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf,
        !          2173:        and link it to ld.
        !          2174: 
        !          2175:        * x-decrose (DEBUG): Delete -g, since CFLAGS already passes it.
        !          2176:        (GCC_CFLAGS): Define POSIX so we can build protoize.
        !          2177: 
        !          2178:        * x-encrose (DEBUG): Delete -g, since CFLAGS already passes it.
        !          2179:        (GCC_CFLAGS): Define POSIX so we can build protoize.
        !          2180: 
        !          2181:        * x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it.
        !          2182:        (GCC_CFLAGS): Define POSIX so we can build protoize.
        !          2183: 
        !          2184:        * t-decstatn (EXTRA_PASSES): Explicitly mention collect2.
        !          2185:        (ld): Use $(SYMLINK) rather than just ln.
        !          2186: 
        !          2187:        * t-mips (EXTRA_PASSES): Explicitly mention collect2.
        !          2188: 
        !          2189:        * collect2.c (whole file): Rewrite file based on collect-osf, to
        !          2190:        make it more portable.  Highlights include: running ld only once if
        !          2191:        there are no constructors; OSF/rose support; not assuming that the
        !          2192:        linker, assembler, nm live in /bin; -v support to trace the commands
        !          2193:        being executed and print a version number; loops instead of
        !          2194:        recursion used to write out the tables; support for user using -r;
        !          2195:        checking all error returns; not using the shell to start processes.
        !          2196: 
        !          2197:        * collect-osf.c (whole file): Deleted, merged into collect2.c.
        !          2198: 
        !          2199: Tue Dec 17 15:49:06 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          2200: 
        !          2201:        * sched.c (schedule_insns): Don't update value of reg_live_length
        !          2202:        when it is negative, because negative values are special.
        !          2203: 
        !          2204:        * sched.c (schedule_block): Make new_needs an int not an enum, since
        !          2205:        some compilers won't accept using `|' and `&' with enums.
        !          2206: 
        !          2207:        * sparc.md: Don't emit nop after floating point compare; this is
        !          2208:        no longer needed.
        !          2209: 
        !          2210:        From Tom Wood:
        !          2211:        * sched.c (memrefs_conflict_p): Exchange xsize and ysize when x
        !          2212:        and y are exchanged.
        !          2213: 
        !          2214: Tue Dec 17 15:01:04 1991  Mark Eichin  (eichin at cygnus.com)
        !          2215: 
        !          2216:        * cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE,
        !          2217:        not set_identifier_type_value, so that the binding doesn't get
        !          2218:        unwound by leaving class scope.
        !          2219: 
        !          2220: Tue Dec 17 10:57:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          2221: 
        !          2222:        * toplev.c (main): Make -g0 produce no debugging information.
        !          2223: 
        !          2224: Tue Dec 17 15:15:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2225: 
        !          2226:        * gcc.c (do_spec_1): In %P, duplicate the names with __ just in front.
        !          2227: 
        !          2228:        * gstab.h: Renamed from stab.h.
        !          2229:        * collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed.
        !          2230:        * dbxout.c (N_CATCH): Define this if stab.h does not.
        !          2231:        * Makefile.in: Depend on gstab.h where appropriate.
        !          2232: 
        !          2233:        * Makefile.in (STAGESTUFF): Remove collect and collect2.
        !          2234: 
        !          2235:        * c-parse.y (parmlist_2): Allow just `...' with no named args.
        !          2236:        * c-decl.c (get_parm_info): Pedantic warning for that usage.
        !          2237: 
        !          2238:        * final.c (final_scan_insn): Don't output blocks for -g1.
        !          2239: 
        !          2240:        * Makefile.in (crtbegin.o, crtend.o): Use -g0.
        !          2241: 
        !          2242:        * function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP.
        !          2243: 
        !          2244:        * varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST.
        !          2245:        * stmt.c (expand_asm): Likewise.
        !          2246:        * c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm.
        !          2247: 
        !          2248: Tue Dec 17 15:01:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          2249: 
        !          2250:        * m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h.
        !          2251:        * m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h.
        !          2252:        * m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h
        !          2253:        except when compiling crtstuff.c.
        !          2254: 
        !          2255: Mon Dec 16 21:50:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2256: 
        !          2257:        * stmt.c (struct case_node): Remove unused field `test_label'.
        !          2258:        (pushcase, pushcase_range): Don't initialize it.
        !          2259: 
        !          2260:        * stmt.c (check_for_full_enumeration_handling): Only print warnings
        !          2261:        if -Wswitch is specified.
        !          2262:        (expand_end_case): Call check_for_full_enumeration_handling even if
        !          2263:        -Wswitch is not specified.
        !          2264: 
        !          2265:        * expr.c (convert_move): Add missing arg to call to force_reg.
        !          2266:        (convert_to_mode): Likewise, for protect_from_queue.
        !          2267: 
        !          2268: Mon Dec 16 20:33:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2269: 
        !          2270:        * expr.c (expand_builtin): Check number and types of args.
        !          2271: 
        !          2272:        * c-parse.y (stmt, extdef): Allow constant expression inside plain asm.
        !          2273: 
        !          2274:        * m68k.md (movhi): Use asm_fprintf to print .set or equivalent.
        !          2275:        * m68k.c (print_operand_address): Use %R when printing pc register.
        !          2276:        * m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
        !          2277:        Use %L.
        !          2278: 
        !          2279:        * c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type.
        !          2280: 
        !          2281: Mon Dec 16 11:14:28 1991  Ken Raeburn  ([email protected])
        !          2282: 
        !          2283:        * cp-decl.c (init_decl_processing): Don't declare unused function
        !          2284:        __builtin_vec_delete.
        !          2285: 
        !          2286: Mon Dec 16 08:35:04 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
        !          2287: 
        !          2288:        * gnulib2.c (__udivmoddi4): Add comment.
        !          2289: 
        !          2290: Mon Dec 16 07:47:13 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          2291: 
        !          2292:        * cp-call.c (ideal_candidate): Always set BEST before using it.
        !          2293:        Also, call `build_component_ref_1' with 3 args everywhere, and
        !          2294:        `build_indirect_ref' with 2 args everywhere.
        !          2295: 
        !          2296: Mon Dec 16 07:17:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2297: 
        !          2298:        * reload.h: Add `extern' to function declarations.
        !          2299:        (gen_input_reload): Add declaration.
        !          2300:        * reload1.c (reload): Allocate save area if caller-saves are needed;
        !          2301:        check for case when it becomes needed after some spill registers are
        !          2302:        obtained.
        !          2303:        Can now eliminate frame pointer even when caller-saves are needed.
        !          2304:        Perform register elimination of save area and see if caller-save needs
        !          2305:        a spill register.
        !          2306:        If required, find a spill register and pass it to caller-save code.
        !          2307:        (gen_input_reload): No longer static.
        !          2308:        * Makefile.in (caller-save.o): Now includes reload.h (again).
        !          2309:        * global-alloc.c (global_alloc): Can eliminate frame pointer even if
        !          2310:        we have caller-saves.
        !          2311:        * toplev.c (compile_file): Call init_caller_saves.
        !          2312:        
        !          2313:        * caller-save.c: Major rewrite; almost entirely new code.
        !          2314:        Integrate caller-saving with frame pointer elimination.
        !          2315:        Don't try to save and restore registers that cannot be directly
        !          2316:        copied to memory (such as MQ).
        !          2317:        Correctly place save and restore insns.
        !          2318:        Don't restore a saved register until end of block or if it is needed.
        !          2319: 
        !          2320:        * cse.c (mention_regs): Now returns int to indicate that the hash code
        !          2321:        may have changed.
        !          2322:        For COMPARE and comparison op, ensure that any register operand has
        !          2323:        a quantity number.
        !          2324:        (insert_regs): Return value from mention_regs.
        !          2325:        (rehash_using_reg): New function.
        !          2326:        (record_jump_equiv, mention_regs): Call rehash_using_reg if an operand
        !          2327:        of a compare is a REG whose hash code is changing.
        !          2328: 
        !          2329: Mon Dec 16 07:09:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2330: 
        !          2331:        * function.c (expand_main_function): New subroutine.  Call __main.
        !          2332:        * c-decl.c, cp-decl.c (store_parm_decls): Use that.
        !          2333:        * cp-decl.c (init_decl_processing): Don't declare __main.
        !          2334: 
        !          2335:        * objc-actions.c (init_objc): Call __objcInit as a constructor.
        !          2336: 
        !          2337:        * toplev.c (compile_file): Reenable SDB code #if 0'd before.
        !          2338: 
        !          2339:        * protoize.c (version_string): Make it extern.
        !          2340:        * Makefile.in (protoize, unprotoize): Link with version.o.
        !          2341: 
        !          2342: Sun Dec 15 23:31:47 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          2343: 
        !          2344:        * cp-tree.c (virtual_member): When recurring, don't dive into
        !          2345:        nonexistent baseclasses.
        !          2346: 
        !          2347:        * cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const
        !          2348:        arrays.
        !          2349:        * cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might
        !          2350:        be chagned to TREE_EXTERNAL due to #pragma interface/implementation.
        !          2351: 
        !          2352: Sun Dec 15 14:57:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2353: 
        !          2354:        * Makefile.in (SYSCALLS.c.X): Fix typo.
        !          2355:        (INTERNAL_CFLAGS): Delete -DMERGED.
        !          2356: 
        !          2357:        * dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*.
        !          2358:        * newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments.
        !          2359: 
        !          2360:        * stmt.c (emit_case_nodes): Rewrite to change induction conditions.
        !          2361:        Handle boundedness in the bounded node itself.
        !          2362:        Handle branching entirely at the parent level.
        !          2363: 
        !          2364:        * gstdarg.h: Use va-i860.h.
        !          2365:        * va-i860.h (va_start for ANSI): Fix typo.  Call __builtin_next_arg.
        !          2366: 
        !          2367: Sat Dec 14 20:45:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2368: 
        !          2369:        * Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h.
        !          2370: 
        !          2371:        * loop.c (invariant_p): Call-clobbered register is not invariant if
        !          2372:        loop has calls.
        !          2373:        (count_loop_regs_set): Count a CLOBBER as a setting of a register.
        !          2374: 
        !          2375:        * stmt.c: Move include of ctype.h and definition of cost variables to
        !          2376:        front of file.
        !          2377:        (expand_end_case): Always set use_cost_table.  Check type here instead
        !          2378:        of in estimate_case_costs.  Don't suppress use of cost table when
        !          2379:        not optimizing.
        !          2380:        (estimate_case_costs): Now returns int.  Check for any case tag
        !          2381:        that is an unusual control character here and reject use of table
        !          2382:        if so.  Always do comparisons signed, since that's how we access the
        !          2383:        cost table.
        !          2384:        (balance_case_nodes): Don't check for strange control characters here.
        !          2385:        (node_has_low_bound): Do checking if we don't have a left branch,
        !          2386:        instead of if we do.
        !          2387:        (node_has_{low,high}_bound): Remove spurious checks on branches.
        !          2388:        (emit_case_nodes): Ensure operation passed to emit_cmp_insn matches
        !          2389:        the branch we actually emit.
        !          2390:        Fix case of a range node with no left or right branch; use of case
        !          2391:        and default label were backward for the high test.
        !          2392:        Remove unused variables defaulted_{left,right}.
        !          2393: 
        !          2394: Sat Dec 14 16:10:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2395: 
        !          2396:        * protoize.c: Don't include limits.h.
        !          2397:        Rename `pathname' to `filename' everywhere.
        !          2398:        Clean up indentation of fprintf calls.
        !          2399:        Use standard GNU format for file name/line in error messages.
        !          2400:        (n_base_source_files): Renamed from base_source_files.
        !          2401:        (convert_filename, invocation_filename, base_source_filenames):
        !          2402:        `path' renamed to `filename'.
        !          2403:        (syscalls_absolute_filename): Renamed from syscalls_pathname.
        !          2404:        (find_file): Arg FILENAME no longer const.
        !          2405:        (main): Fix getcwd error-checking logic.
        !          2406:        (varargs_style_indicator): Delete `const'.
        !          2407:        (savestring): Declare arg `input' const.
        !          2408: 
        !          2409:        * Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o):
        !          2410:        Use GCC_FOR_TARGET.
        !          2411:        (getopt.o, getopt1.o): Likewise.
        !          2412:        (GCC_FOR_TARGET): Delete -B./.
        !          2413:        (GCC_CFLAGS): Add -B./.  Copy ALL_CFLAGS's definition, less XCFLAGS.
        !          2414: 
        !          2415:        * cp-init.c (add_friends): Pass proper args to strncmp.
        !          2416: 
        !          2417:        * toplev.c (compile_file): Clear DECL_RTL for vars not really output.
        !          2418:        #if 0 possibly redundant code for SDB output.
        !          2419: 
        !          2420:        * sys-types.h: Include gstddef.h to get size_t and wchar_t.
        !          2421: 
        !          2422:        * ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2.
        !          2423: 
        !          2424:        * Makefile.in (STAGESTUFF): Add collect, collect2.
        !          2425: 
        !          2426: Sat Dec 14 12:16:12 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          2427: 
        !          2428:        * cp-search.c (get_baselinks): Use obstacks right, instead of
        !          2429:        aborting when we know we're using them wrong.
        !          2430: 
        !          2431:        * cp-parse.y (structsp): Fix typo in exception declaration rule.
        !          2432: 
        !          2433:        * cp-typeck.c (build_modify_expr_1): Recursive call to
        !          2434:        `build_modify_expr_1' used pre-BINFO representation for
        !          2435:        BASETYPE_PATH argument.
        !          2436: 
        !          2437:        * cp-decl.c (start_decl): Don't switch to temporary allocation for
        !          2438:        decls of type REFERENCE_TYPE, as their initializers may live a long
        !          2439:        time, too.
        !          2440: 
        !          2441: Sat Dec 14 07:11:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2442: 
        !          2443:        * reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word
        !          2444:        constant, try to extract just the word we want.
        !          2445: 
        !          2446:        * global-alloc.c (global_alloc): Correct reference to ELIMINABLES.
        !          2447: 
        !          2448: Fri Dec 13 15:28:38 1991  Michael Meissner  (meissner at osf.org)
        !          2449: 
        !          2450:        * configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not
        !          2451:        xm-mips.h.
        !          2452: 
        !          2453:        * gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case
        !          2454:        non-GCC 2.00 compiler is used.
        !          2455:        (__SIZE_TYPE__): Ditto.
        !          2456:        (__WCHAR_TYPE__): Ditto.
        !          2457: 
        !          2458: Fri Dec 13 14:49:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2459: 
        !          2460:        * config.sub: Renamed from config.subr.
        !          2461:        Support os -sym1.
        !          2462:        Convert -svr3, -svr4 to -sysv3, -sysv4.
        !          2463:        * configure: Used new name.
        !          2464: 
        !          2465:        * Makefile.in (includes): Preserve files from GCC already in dir.
        !          2466: 
        !          2467: Fri Dec 13 11:01:12 1991  Fred Fish  (fnf at fishpond)
        !          2468: 
        !          2469:        * att386.h:  Fix unparenthesized macro arguments in
        !          2470:        ASM_OUTPUT_ASCII macro.
        !          2471: 
        !          2472:        * i386v4.h:  Select an assembly language syntax file and include
        !          2473:        it.  Supply missing macros from ones in i386v.h (TARGET_DEFAULT,
        !          2474:        VALUE_REGNO, FUNCTION_VALUE_REGNO_P).
        !          2475: 
        !          2476:        * svr4.h:  Fix misspelled variable name labelno (was labeno).
        !          2477: 
        !          2478: Fri Dec 13 09:07:22 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          2479: 
        !          2480:        * cp-typeck.c (build_component_ref): Call `assemble_external' as
        !          2481:        nec.
        !          2482:        (build_function_call_real): Call `assemble_external' as nec. for
        !          2483:        function calls we build.  Code slightly rearranged for clarity.
        !          2484:        * cp-call.c (build_method_call): Call `assemble_external' as nec.
        !          2485: 
        !          2486: Thu Dec 12 22:03:52 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
        !          2487: 
        !          2488:        * make-cc1.com: Change message given to user. Change c-parse_tab.*
        !          2489:          to c-parse.*
        !          2490: 
        !          2491:        * config-gcc.com: Purge excess versions of version.opt.
        !          2492: 
        !          2493: Thu Dec 12 20:25:20 1991  Michael Meissner  (meissner at osf.org)
        !          2494: 
        !          2495:        * Makefile.in (BOOT_CFLAGS): Remove quotes around the argument,
        !          2496:        since this causes a syntax error when it is later expanded.
        !          2497: 
        !          2498: Thu Dec 12 17:53:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2499: 
        !          2500:        * config.subr: Add many new machines and some OS's.
        !          2501: 
        !          2502:        * va-i860.h: Rewrite from rfg.
        !          2503: 
        !          2504:        * toplev.c (main): Handle -dm on USG systems.
        !          2505: 
        !          2506:        * m68k.c (print_operand, print_operand_address): New functions.
        !          2507:        * m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them.
        !          2508: 
        !          2509:        * m68k.c (S_*, D_*): Delete the #undefs at the end.
        !          2510: 
        !          2511:        * stmt.c (expand_return): Special case if fcn returns void.
        !          2512: 
        !          2513:        * objc-actions.c (build_objc_method_call): Fix typo in NeXT case.
        !          2514: 
        !          2515:        * expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr.
        !          2516: 
        !          2517:        * protoize.c: Delete the `extern "C"' for C++ compilation.
        !          2518: 
        !          2519: Thu Dec 12 10:01:13 1991  Michael Meissner  (meissner at osf.org)
        !          2520: 
        !          2521:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in
        !          2522:        handling the constructor list when a valid count is supplied.
        !          2523: 
        !          2524:        * collect2.c (write_hooks): Emit a count before the list of
        !          2525:        constructors, to go back to the old format.
        !          2526: 
        !          2527:        * collect-osf.c (write_s_file): Emit a count before the list of
        !          2528:        constructors, to go back to the old format.
        !          2529: 
        !          2530:        * gnulib2.c (exit): Provide default defintions as bss symbols for
        !          2531:        all of the constructor/destructor related symbols if the macro
        !          2532:        INIT_SECTION_ASM_OP is not defined.  The second link that collect
        !          2533:        does and/or gld will provide the right values.
        !          2534: 
        !          2535:        * decrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
        !          2536:        * encrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
        !          2537:        * i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used.
        !          2538: 
        !          2539: Thu Dec 12 07:27:05 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          2540: 
        !          2541:        * gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__.
        !          2542:        * collect-osf.c collect2.c: Rename here as well.
        !          2543: 
        !          2544: Thu Dec 12 04:15:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2545: 
        !          2546:        * c-parse.y (stmt): Make asm alternatives allow expr.
        !          2547:        * c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr.
        !          2548: 
        !          2549:        * c-parse.y (datadecl, datadecls, lineno_datadecl): New rules.
        !          2550:        (xdecls): Use them.
        !          2551: 
        !          2552: Wed Dec 11 18:36:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2553: 
        !          2554:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT.
        !          2555:        Test for -1 and handle both kinds of table format.
        !          2556:        * gnulib2.c (__do_global_dtors): Check for -1...
        !          2557:        (__do_global_ctors): Dummy defn of ON_EXIT if no other defined.
        !          2558:        (__main): Do nothing if called again.
        !          2559:        (exit): Use EXIT_BODY if defined.
        !          2560:        * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__):
        !          2561:        Renamed from *_BEGIN__.  Add -1 as first elt.
        !          2562:        (__CTOR_END__, __DTOR_END__): Add 0 as last elt.
        !          2563:        (ON_EXIT): Dummy defn if no other is defined.
        !          2564: 
        !          2565: Wed Dec 11 18:08:36 1991  Mark Eichin  (eichin at cygnus.com)
        !          2566: 
        !          2567:        * cp-parse.y (template_parm): removed some reduce/reduce conflicts
        !          2568:        by noting which of identifier or identifier_defn would actually be
        !          2569:        passed up in this context.
        !          2570: 
        !          2571: Wed Dec 11 17:52:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2572: 
        !          2573:        * flow.c (propagate_block): Adjust loop depth if it is changed in
        !          2574:        notes at the end of a block.
        !          2575:        Abort if loop depth ever reaches zero.
        !          2576: 
        !          2577: Wed Dec 11 16:30:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2578: 
        !          2579:        * cccp.c (do_endif): Don't call record_control_macro at top level.
        !          2580: 
        !          2581: Wed Dec 11 14:45:42 1991  Mark Eichin  (eichin at cygnus.com)
        !          2582: 
        !          2583:        * cp-decl.c (set_identifier_type_value): If we're in a
        !          2584:        class_binding_level, shadow the type there.
        !          2585:        (xref_defn_tag): New function. Calls xref_tag with special flag set
        !          2586:        to indicate that we know we're defining something.
        !          2587:        (pushdecl_top_level): if class_binding_level is set, search from it
        !          2588:        instead of only from current_binding_level when trying to find
        !          2589:        shadowed values. This is in support of tests m5.cc through m8.cc,
        !          2590:        which broke after the changes for m9.cc were installed.
        !          2591: 
        !          2592:        * cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if
        !          2593:        we have AGGR identifier { or AGGR identifier : which are both
        !          2594:        definitions, and passes up identifier_DEFN instead. This is in
        !          2595:        support of test m9.cc.
        !          2596:        (yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in
        !          2597:        the displayed stream.
        !          2598:        (yylex, case AGGR): added call to do_aggr.
        !          2599:        (debug_yychar): added call to debug_yytranslate for proper
        !          2600:        translations.
        !          2601: 
        !          2602:        * cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG
        !          2603:        translations. 
        !          2604:        (TYPENAME_DEFN): new token, TYPENAME seen by do_aggr.
        !          2605:        (IDENTIFIER_DEFN): new token, ditto.
        !          2606:        (PTYPENAME_DEFN): new token, ditto.
        !          2607:        (identifier_defn): corresponds to identifier, but when the
        !          2608:        identifier has been seen by do_aggr.
        !          2609:        (named_class_head_sans_basetype_defn): specially recognize aggr
        !          2610:        identifier_defn.
        !          2611:        (named_class_head): add parallel clauses calling xref_tag_defn when
        !          2612:        we know we're defining this aggr.
        !          2613:        (named_class_head_sans_basetype_defn_either): for when we don't care
        !          2614:        if it is a defn or not (such as templates)
        !          2615:        (identifier_either): ditto.
        !          2616: 
        !          2617:        * cp-tree.h (xref_defn_tag): New declaration.
        !          2618: 
        !          2619: Wed Dec 11 12:37:51 1991  Ken Raeburn  ([email protected])
        !          2620: 
        !          2621:        * cp-parse.y (label_colon): New nonterminal, with all label prefixes
        !          2622:        from "stmt" moved here.
        !          2623:        (stmt): Use it.  Also provide useful message for label followed by
        !          2624:        end of block (close-brace).
        !          2625: 
        !          2626:        * cp-init.c (BIVN): Deleted unused variable.
        !          2627:        * cp-decl.c (init_decl_processing): Don't declare function
        !          2628:        __builtin_vec_new; it's never used.
        !          2629: 
        !          2630: Wed Dec 11 10:59:48 1991  Michael Meissner  (meissner at osf.org)
        !          2631: 
        !          2632:        * toplev.c (main): Complete last change from RMS, use variable
        !          2633:        'level' which used to be named 'arg'.
        !          2634: 
        !          2635:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for
        !          2636:        those poor systems without atexit or on_exit.
        !          2637: 
        !          2638: Wed Dec 11 09:06:52 1991  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
        !          2639: 
        !          2640:        * m68k.c (output_function_prologue, output_function_epilogue):
        !          2641:        When saving/restoring only 2 registers, do so with two "movel"
        !          2642:        instructions instead of a single "moveml".  This results in
        !          2643:        faster code for the 68020 and later machines.
        !          2644: 
        !          2645: Wed Dec 11 06:45:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2646: 
        !          2647:        * x-romp (MAKE): Add definition; the supplied `make' doesn't define it.
        !          2648: 
        !          2649: Tue Dec 10 22:17:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2650: 
        !          2651:        * combine.c (try_combine): Always make a copy of I2's pattern if
        !          2652:        it will be used in a PARALLEL (`added_sets_2' nonzero).
        !          2653: 
        !          2654:        * Makefile.in (BOOT_CFLAGS): New parameter.
        !          2655:        (bootstrap*): Use it.
        !          2656: 
        !          2657:        * flow.c (find_basic_blocks): Set depth of last insn, not first,
        !          2658:        into basic_block_loop_depth.
        !          2659:        (propagate_blocks): Use consistently with new definition.
        !          2660: 
        !          2661:        * cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous
        !          2662:        change; it can cause loops following around branches.
        !          2663: 
        !          2664:        * Makefile.in (USER_H): Add va-hp9k8.h.
        !          2665: 
        !          2666: Tue Dec 10 17:22:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          2667: 
        !          2668:        * m88k*.h: Include svr3.h as the default.  m88kv4.h and m88kdgux.h
        !          2669:        include svr4.h.  Override svr[34].h as needed.
        !          2670:        * t-m88k, t-m88kv4: Specify EXTRA_PARTS.
        !          2671: 
        !          2672:        * m88k.c (uses_arg_area_p): Check current_function_varargs.
        !          2673: 
        !          2674: Tue Dec 10 15:41:03 1991  Michael Meissner  (meissner at osf.org)
        !          2675: 
        !          2676:        * osf-main.c (whole file): Delete, since the constructor stuff was
        !          2677:        moved to gnulib2.c.
        !          2678: 
        !          2679:        * Makefile.in (collect2, collect2.o): Change to use the default
        !          2680:        compiler to build collect2, instead of the newly built GCC, since
        !          2681:        otherwise, collect2 will create a circular dependency.  Also, pass
        !          2682:        LDFLAGS when linking.
        !          2683: 
        !          2684:        * collect-osf.c (write_s_file): Change to the new way of doing
        !          2685:        constructors and destructors of having an end marker instead of a
        !          2686:        count.
        !          2687: 
        !          2688:        * collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros
        !          2689:        to allow cross compilers to specify where the real linker,
        !          2690:        assembler, and nm live.
        !          2691:        (NM_FLAGS): New macro to allow a configuration to change what flags
        !          2692:        get passed to nm.
        !          2693:        (alloca defines): Remove alloca defines, since config.h provides
        !          2694:        them.
        !          2695:        (write_hooks): Change to the new way of doing constructors and
        !          2696:        destructors of having an end marker instead of a count.  Cast all
        !          2697:        alloca calls to be the appropriate pointer type.  Put both
        !          2698:        constructors and destructors into the data section, because the MIPS
        !          2699:        tools do not like non-instructions in the .text section.
        !          2700: 
        !          2701:        * decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
        !          2702:        (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used.
        !          2703: 
        !          2704:        * encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
        !          2705:        (FULL_PROTOTYPES): Remove, no longer used.
        !          2706: 
        !          2707:        * i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
        !          2708: 
        !          2709:        * t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
        !          2710:        needed, since constructor/destructor support moved into gnulib2.c.
        !          2711: 
        !          2712:        * t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
        !          2713:        needed, since constructor/destructor support moved into gnulib2.c.
        !          2714: 
        !          2715:        * t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
        !          2716:        needed, since constructor/destructor support moved into gnulib2.c.
        !          2717: 
        !          2718:        * t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
        !          2719:        and gnulib2 are both compiled with -G 0, in case the users compiles
        !          2720:        and links this way.  It also fixes a bug where the constructors and
        !          2721:        destructors that collect2 produces are in the big data section, but
        !          2722:        gnulib2 thinks they are in the small data section, because it only
        !          2723:        sees a pointer.
        !          2724:        (ld): Add -f to remove old ld link to collect2, if it exists.
        !          2725: 
        !          2726:        * t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
        !          2727:        and gnulib2 are both compiled with -G 0, in case the users compiles
        !          2728:        and links this way.  It also fixes a bug where the constructors and
        !          2729:        destructors that collect2 produces are in the big data section, but
        !          2730:        gnulib2 thinks they are in the small data section, because it only
        !          2731:        sees a pointer.
        !          2732:        (ld): Add rule to link collect2 to ld.
        !          2733:        (EXTRA_PASSES): Build collect2 (aka ld).
        !          2734: 
        !          2735:        * xm-mips.h (alloca): If not GNU C, declare alloca to be char *.
        !          2736: 
        !          2737:        * mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size,
        !          2738:        so that it agrees with MIPS ECOFF practice, rather than the
        !          2739:        documentation, which affects enum bitfields.  Changes from Per
        !          2740:        Bothner.
        !          2741: 
        !          2742: Tue Dec 10 14:10:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2743: 
        !          2744:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc.
        !          2745:        * gnulib2.c (__do_global_dtors): Remove & before arrays.
        !          2746: 
        !          2747:        * configure: Set a default value for xm_file.
        !          2748:        Remove redundant defaulting of cpu_type.
        !          2749: 
        !          2750:        * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly.
        !          2751: 
        !          2752:        * function.c (assign_parms): Set current_function_args_info.
        !          2753:        * output.h: Declare that var.
        !          2754:        * tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS.
        !          2755:        * expr.c (expand_builtin): Implement __builtin_args_info.
        !          2756:        * c-decl.c (init_decl_processing): Declare it.
        !          2757:        * va-i860.h: Use it.
        !          2758:        Also update order of elements in struct __va_ctl.
        !          2759: 
        !          2760:        * toplev.c (main): Eliminate -gsdb and -gdbx.
        !          2761:        Clean up setting of use_gdb_dbx_extensions.
        !          2762: 
        !          2763: Tue Dec 10 10:33:58 1991  Tom Wood  (wood at gen-rtx)
        !          2764: 
        !          2765:        * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label.
        !          2766: 
        !          2767: Tue Dec 10 07:12:28 1991  James Van Artsdalen  (james@raid)
        !          2768: 
        !          2769:        * Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir).
        !          2770: 
        !          2771: Tue Dec 10 06:56:26 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          2772: 
        !          2773:        * cp-decl.c (kept_level_p): New function, borrowed from c-decl.c.
        !          2774:        * cp-parse.y (compstmt): Call it.
        !          2775: 
        !          2776: Mon Dec  9 18:37:32 1991  Ken Raeburn  ([email protected])
        !          2777: 
        !          2778:        * cp-decl.c (grok_enum_decls): Don't give warning for class-local
        !          2779:        enum types; this is a perfectly reasonable usage.
        !          2780: 
        !          2781: Mon Dec  9 12:23:48 1991  Ron Guilmette  (rfg at ncd.com)
        !          2782: 
        !          2783:        * toplev.c (main):  Check that no extra chars follow the level #
        !          2784:        in a -gNNN option.  Also check that the debugging level requested
        !          2785:        is between 0 and 3 (inclusive).
        !          2786: 
        !          2787: Mon Dec  9 20:34:48 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          2788: 
        !          2789:        * sched.c (schedule_block): Don't crash if `line' is zero.
        !          2790:        (schedule_insns): Initialize line_note_head.
        !          2791: 
        !          2792: Mon Dec  9 15:31:46 1991  Michael Meissner  (meissner at osf.org)
        !          2793: 
        !          2794:        * mips-tfile.c (pseudo_ops array): Correctly size the .stabs and
        !          2795:        .stabn elements.
        !          2796: 
        !          2797:        * mips.c (function_prologue, function_epilogue): Use assemble_name
        !          2798:        to print the current function, instead of fprintf, in case there is
        !          2799:        a  leading '*'.
        !          2800: 
        !          2801:        * mips-news.h (CPP_PREDEFINES): Define news3700, not news7300.
        !          2802: 
        !          2803:        * mips.md (ashldi3_internal3): Fix typos.
        !          2804:        (ashrdi3_internal3): Ditto.
        !          2805:        (lshldi3_internal3): Ditto.
        !          2806: 
        !          2807: Mon Dec  9 11:49:52 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
        !          2808: 
        !          2809:        * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
        !          2810:        2 constraint.
        !          2811: 
        !          2812: Mon Dec  9 11:22:58 1991  Ken Raeburn  ([email protected])
        !          2813: 
        !          2814:        * cp-typeck.c (build_x_function_call): A method might have type
        !          2815:        pointer-to-method as well.  Don't build an OFFSET_REF for any
        !          2816:        "function" that already has pointer type.  Only use
        !          2817:        DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for
        !          2818:        method pointer expressions, look up the basetype of the method type.
        !          2819:        (build_unary_op): Fix comment in typo.
        !          2820: 
        !          2821:        * cp-tree.c: Fix typo in comment at start of file.
        !          2822: 
        !          2823: Mon Dec  9 07:17:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          2824: 
        !          2825:        * cse.c (cse_insn): When a jump is converted to unconditional, 
        !          2826:        delete the dead code, but leave the notes.
        !          2827:        (cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are
        !          2828:        part of the basic block.
        !          2829:        (cse_basic_block): Add missing arg to cse_end_of_basic_block call.
        !          2830:        
        !          2831: Mon Dec  9 07:16:15 1991  Ron Guilmette  (rfg at ncd.com)
        !          2832: 
        !          2833:        * sys-types.h:  New file.
        !          2834:        * sys-protos.h:  New file.
        !          2835:        * SYSCALLS.c: Just include those files.
        !          2836: 
        !          2837:        * protoize.c (VOLATILE):  Define this symbol conditionally so that
        !          2838:        it can be used to declare GNU `volatile' functions.
        !          2839:        (abort):  Added VOLATILE extern declaration (but not if it's a macro).
        !          2840:        (kill, fork):  Added extern declaration.
        !          2841:        (substr): Declare c as int.
        !          2842: 
        !          2843:        * gbl-ctors.h: New file.
        !          2844:        * crtstuff.c: Include gbl-ctors.h.
        !          2845:        (INIT_SECTION_ASM_OP):  Delete default definition.
        !          2846:        Only compile .init section code if INIT_SECTION_ASM_OP is defined.
        !          2847:        (pointer):  Globally changed to `func_ptr'.
        !          2848:        * Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h.
        !          2849:        * gnulib2.c:  Added definition of __builtin_saveregs for i860/svr4
        !          2850:        and fixed up definition of __builtin_saveregs for i860/non-svr4.
        !          2851:        (__bb_avoid_warning):  Added explicit return type.
        !          2852:        (__builtin_new, __builtin_vec_new, __builtin_delete,
        !          2853:        __builtin_vec_delete): Use `void*' where appropriate.
        !          2854:        (exit): Change conditional to ON_EXIT.  Make dummy if no real exit.
        !          2855:        Include gbl-ctors.h.
        !          2856:        (__main): Change conditional to INIT_SECTION_ASM_OP.
        !          2857:        (__do_global_ctors): Conditional on INIT_SECTION_ASM_OP.
        !          2858:        Use DO_GLOBAL_CTORS_BODY for the guts.
        !          2859:        Include gbl-ctors.h.
        !          2860: 
        !          2861: Mon Dec  9 01:07:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2862: 
        !          2863:        * fixinc.svr4: Don't change #ident or assertion tests.
        !          2864:        Don't install inline.h.
        !          2865: 
        !          2866:        * c-common.c (get_directive_line): Declare c as int.
        !          2867: 
        !          2868:        * configure: Create additional file tconfig.h.
        !          2869:        * protoize.c: Include that, not tm.h.
        !          2870:        * Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h.
        !          2871: 
        !          2872:        * svr4.h (HAVE_ATEXIT): Defined.
        !          2873:        * gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit.
        !          2874: 
        !          2875:        * final.c (final_scan_insn): Output first and last note in a series.
        !          2876: 
        !          2877:        * objc-actions.c (build_objc_method_call):
        !          2878:        New arg LOOKUP_OBJECT.
        !          2879:        (build_message_expr): Pass RECEIVER for LOOKUP_OBJECT.
        !          2880:        Pass RECEIVER or self_decl as OBJECT.
        !          2881: 
        !          2882:        * unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted.
        !          2883: 
        !          2884:        * rtl.h: Undef FLOAT.
        !          2885: 
        !          2886:        * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE):
        !          2887:        Fix typo.
        !          2888: 
        !          2889: Sun Dec  8 21:46:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          2890: 
        !          2891:        * protoize.c (main): Declare `value'.
        !          2892:        (abspath): Declare endp.  Declare and set outp and inp.
        !          2893: 
        !          2894:        * cp-decl.c (sigsegv): Function deleted.
        !          2895:        (init_decl_processing): Don't use it.
        !          2896:        Also don't include signal.h.
        !          2897: 
        !          2898:        * t-svr4: New file.
        !          2899:        * configure (i386-*-sysv4*, i860-*-sysv4*): Use that file.
        !          2900: 
        !          2901: Sun Dec  8 12:01:36 1991  Ron Guilmette (rfg at ncd.com)
        !          2902: 
        !          2903:        * fixinc.svr4: New file.
        !          2904: 
        !          2905:        * final.c (profile_function): Specify return type.
        !          2906:        (get_attr_length):  Added a return statement to prevent warnings.
        !          2907: 
        !          2908:        * final.c (final_scan_insn):  Switch to .text section before output
        !          2909:        of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION).
        !          2910:        Don't switch sections again after the label.
        !          2911: 
        !          2912:        * configure (i386-*-sysv*):  Configuration deleted.
        !          2913:        (i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4):
        !          2914:        Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS).
        !          2915:        (i860-*-sysv3, i860-*-sysv4):  Added assignment to `xmake-file'.
        !          2916:        (i860-*-sysv3):  Deleted bogus GAS related stuff.
        !          2917: 
        !          2918:        * combine.c (combinable_i3pat):  Added explicit return type.
        !          2919: 
        !          2920:        * i860.h (TARGET_FPU):  Deleted this target flag.  i860 fpu is on chip.
        !          2921:        (TARGET_XP):  New target flag for XR and XP models.
        !          2922:        (TARGET_FLAGS, HARD_REGNO_MODE_OK):  Adjusted for above changes.
        !          2923:        (REG_ALLOC_ORDER): Use first the regs less likely for other purposes.
        !          2924:        (LITERAL_COMPARE_BETTER_UNSIGNED):  Defined.
        !          2925:        (BRANCH_COST): Defined.
        !          2926:        (CC_ONLY_*):  Deleted these obsolete defines.
        !          2927:        (CC_NEGATED):  Added for IEEE behavior with cmpgesf and cmplesf.
        !          2928:        (ASM_OUTPUT_CASE_LABEL):
        !          2929:        Added .align so assembler doesn't barf on subsequent .long(s).
        !          2930:        (FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE):
        !          2931:        Added definitions needed to build a useable gnulib1 library.
        !          2932: 
        !          2933:        * i860.md:  Removed all references to CC_ONLY_* symbols.
        !          2934:        (cmpledf, cmpgedf):  Adjusted assembler code  as suggested
        !          2935:        by i860 manuals, for IEEE results.
        !          2936:        (cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch):
        !          2937:        Check for CC_NEGATED.
        !          2938:        (bte, btne patterns): Complete rewrite.
        !          2939:        (anonymous sign-extend patterns): Moved before the named patterns.
        !          2940: 
        !          2941:        * i860.md (addsi3, subsi3):  Disparaged alternatives with a floating-
        !          2942:        pointer input register to avoid complicated reloading problem.
        !          2943:        (negsi2):  Deleted bogus `I' constraint on operand 1.
        !          2944:        (divdf3, divsf3):  Added additional continuation characters
        !          2945:        needed to make lines acceptable to `read_rtx' in the gen* programs.
        !          2946: 
        !          2947:        * i860.c:  Include "flags.h" to get access to `optimize' flag.
        !          2948:        (leaf_function_p):  Added extern declaration.
        !          2949:        (zero_operand): New function.
        !          2950:        (must_preserve_r1, must_preserve_bytes): New variables.
        !          2951:        (function_prologue, function_epilogue): 
        !          2952:        Support treatment of return-address reg (r1) in leaf functions.
        !          2953: 
        !          2954:        * i860v4.h (CPP_PREDEFINES):  Add pre-assertions for i860/svr4.
        !          2955:        (CPP_SPEC):  Deleted definition.
        !          2956:        (TYPE_OPERAND_FMT):  New definition.
        !          2957:        (ASM_OUTPUT_FUNCTION_PREFIX):  #undef before defining.
        !          2958:        (ASM_OUTPUT_EPILOGUE_SUFFIX):  Deleted obsolete macro.
        !          2959:        (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
        !          2960:        TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
        !          2961:        TDESC_SECTION_FUNCTION):  Definitions added.
        !          2962: 
        !          2963:        * i860v3.h: Complete rewrite.  Uses svr3.h.
        !          2964: 
        !          2965:        * i386v4.h:  Don't include i386v.h.  Include i386.h instead.
        !          2966:        (SDB_DEBUGGING_INFO):  #undef deleted.
        !          2967:        (ASM_OUTPUT_DWARF_STRING):  Added definition.
        !          2968: 
        !          2969:        * gcc.c (default_compilers):  Pass -g* options to cpp.
        !          2970: 
        !          2971:        * gcc.c (do_spec_1):  Don't duplicate -A options in CPP_PREDEFINES.
        !          2972: 
        !          2973:        * gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors):
        !          2974:        New functions.
        !          2975: 
        !          2976:        * i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX):
        !          2977:        Define here, and use IP.
        !          2978: 
        !          2979:        * i386.h: Don't include syms.h or define FILNMLEN.
        !          2980: 
        !          2981:        * x-i860v3, x-i860v4: New files.
        !          2982:        * x-i386v4 (CCLIBFLAGS, GCC_CFLAGS):  Added definitions.
        !          2983: 
        !          2984:        * xm-svr3.h:  New file.
        !          2985:        * xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten.
        !          2986:        * xm-i38v4.h: New file.
        !          2987: 
        !          2988:        * svr4.h (LIB_SPEC):  Make crtend.o come before any *crtn.o
        !          2989:        file (to avoid hitting return without standard epilogue in .init code).
        !          2990:        (INIT_SECTION_ASM_OP):  Added definition for crtstuff.c (and friends).
        !          2991:        (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):
        !          2992:        Adjusted indentation of continuations to match those in rest of file.
        !          2993: 
        !          2994:        * svr3.h (CPP_PREDEFINES):  Don't define this here.
        !          2995:        (ASM_FILE_START_1):  Provide no-op default definition.
        !          2996:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):  Undef these before defining.
        !          2997:        (INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP,
        !          2998:        CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
        !          2999:        EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION,
        !          3000:        CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION,
        !          3001:        ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION,
        !          3002:        SELECT_RTX_SECTION):  Definitions added.
        !          3003: 
        !          3004: Sun Dec  8 15:27:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3005: 
        !          3006:        * next.c (handle_pragma): Use get_directive_line.
        !          3007: 
        !          3008:        * gnulib2.c (__do_global_dtors, __do_global_ctors):
        !          3009:        Remove the feature to control the order of execution.
        !          3010:        This is not a clean solution to the overall problem.
        !          3011: 
        !          3012: Sun Dec  8 14:47:44 1991  Michael Meissner  (meissner at osf.org)
        !          3013: 
        !          3014:        * mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common):
        !          3015:        More changes for smuggling stabs through from [email protected] and
        !          3016:        [email protected].
        !          3017: 
        !          3018:        * mips.h (ignore_line_number): New global, set when we must avoid
        !          3019:        putting out a MIPS ECOFF .loc because the file changed inside of a
        !          3020:        function, and we are also putting out stabs, which can handle this.
        !          3021:        (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment
        !          3022:        in front of the pseudo op, if we are encapsulating stabs in MIPS
        !          3023:        ECOFF.
        !          3024:        (ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename.
        !          3025:        (ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno.
        !          3026: 
        !          3027:        * mips.c (toplevel): Include stab.h for encapsulating stabs.
        !          3028:        (ignore_line_number): New global variable.
        !          3029:        (reg_or_0_operand): Call register_operand for REG's as well as
        !          3030:        SUBREG's.
        !          3031:        (override_option): Don't allow ints in FP registers unless -mdebugh.
        !          3032:        (mips_output_filename): New function to write the filename to the
        !          3033:        assembler output.  Add special support for encapsulating .stabs in
        !          3034:        MIPS ECOFF.
        !          3035:        (mips_output_lineno): New function to write the line number to the
        !          3036:        assembler output.  Add special support for encapsulating .stabs in
        !          3037:        MIPS ECOFF.
        !          3038:        (function_epilogue): Clear ignore_line_number.
        !          3039: 
        !          3040:        * mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint
        !          3041:        back to '*'.
        !          3042: 
        !          3043: Sat Dec  7 16:58:57 1991  Ken Raeburn  ([email protected])
        !          3044: 
        !          3045:        * cp-spew.c (scan_tokens): Stop scanning at semi-colon.
        !          3046: 
        !          3047:        * cp-spew.c: Made SPEW_DEBUG code useable:
        !          3048:        (yylex): Use stderr in SPEW_DEBUG code.
        !          3049:        (yytags): Deleted table.
        !          3050:        (debug_yychar): Print to stderr, and don't try finding translations
        !          3051:        for values over 256.
        !          3052: 
        !          3053:        * cp-class.c (push_lang_context): Fix typo in comment.
        !          3054: 
        !          3055:        * cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for
        !          3056:        top-level decls of methods.
        !          3057: 
        !          3058:        * cp-lex.c (restore_pending_input): Cast 0 to pointer type for
        !          3059:        obstack_free.
        !          3060: 
        !          3061:        * cp-pt.c (do_pending_expansions): Use TREE_USED instead of
        !          3062:        TREE_ADDRESSABLE for functions.  Put in comments explaining why we
        !          3063:        compile unused methods of classes that are interface-unknown: the
        !          3064:        file initializer/cleanup functions might need them.
        !          3065:        (mumblefrotz): Delete unused function; this code is in cp-parse.y.
        !          3066: 
        !          3067: Sat Dec  7 15:46:55 1991  Timothy Moore ([email protected])
        !          3068: 
        !          3069:        * function.c: Handle ARGS_GROW_DOWNWARD.
        !          3070:        (pad_below, pad_to_arg_alignment, round_down): New subroutines.
        !          3071:        (locate_and_pad_parm): Use them, for the existing case.
        !          3072:        Also handle the ARGS_GROW_DOWNWARD case, using them.
        !          3073: 
        !          3074: Sat Dec  7 15:46:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3075: 
        !          3076:        * tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro.
        !          3077:        * c-decl.c (grokdeclarator): Store value there.
        !          3078: 
        !          3079:        * m68k.c (output_function_prologue, output_function_epilogue):
        !          3080:        Support MOTOROLA syntax.
        !          3081: 
        !          3082:        * toplev.c (main): Testing for -ggdb catches -g also.
        !          3083:        Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx.
        !          3084:        Specified default is for -g.
        !          3085: 
        !          3086:        * cccp.c (handle_directive): Store start address in directive_start.
        !          3087:        (do_xifdef): Use that, checking if at start of file.
        !          3088:        (do_endif): Compute ep properly.
        !          3089: 
        !          3090:        * protoize.c (abspath): Fix errors referencing argument cwd.
        !          3091:        (main): Allocate big enough buffer for getcwd.
        !          3092:        Don't clobber varargs_style_indicator, copy it.
        !          3093:        (savestring): New function.
        !          3094: 
        !          3095: Sat Dec  7 00:53:16 1991  Ron Guilmette  (rfg at ncd.com)
        !          3096: 
        !          3097:        * c-decl.c (warn_redundant_decls, warn_nested_externs): New vars.
        !          3098:        (c_decode_option): Support -Wredundant-decls and -Wnested-externs.
        !          3099:        (pushdecl): Print those warnings.
        !          3100:        * c-tree.h (warn_redundant_decls, warn_nested_externs): Declared.
        !          3101: 
        !          3102:        * c-decl.c (pending_xref_error, c_mark_varargs):  Added return type.
        !          3103: 
        !          3104:        * cccp.c (main):  Added code to support the presence of -A (assertion)
        !          3105:        options within CPP_PREDEFINES.
        !          3106: 
        !          3107:        * c-lang.c: Minor cleanups.
        !          3108: 
        !          3109:        * c-lex.c (check_newline):  Added support for the -g3 option.
        !          3110: 
        !          3111:        * dwarfout.c (type_tag):  Fixed bug in gcc Dwarf generation for
        !          3112:        tagged types.
        !          3113: 
        !          3114:        * dwarfout.c (output_decl):  Added two pre-checks to see if nodes
        !          3115:        are ERROR_MARK nodes before using them.
        !          3116: 
        !          3117:        * dwarfout.c (generate_new_sfname_entry):  Function added.
        !          3118: 
        !          3119:        * dwarfout.c (lookup_filename):  Call generate_new_sfname_entry
        !          3120:        as soon as each new source filename is added to the list of
        !          3121:        known filenames (thus avoiding an m68k forward-ref assembler bug).
        !          3122: 
        !          3123:        * dwarfout.c (dwarfout_line):  Initialize prev_file_entry_num to
        !          3124:        (unsigned) -1 rather than zero to avoid bogus suppression of
        !          3125:        first .debug_sfnames section entry.
        !          3126: 
        !          3127:        * dwarfout.c (compare_filename_entries):  Function deleted.  (It's
        !          3128:        no longer needed.)
        !          3129: 
        !          3130:        * dwarfout.c (dwarfout_finish):  Don't generate .debug_sfnames
        !          3131:        section entries here anymore.  (See lookup_filename.)
        !          3132: 
        !          3133:        * Makefile.in (realclean): Delete c-parse.h.
        !          3134:        Delete objc-parse.output just once.
        !          3135: 
        !          3136: Fri Dec  6 17:49:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3137: 
        !          3138:        * cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is
        !          3139:        a fixed address.
        !          3140:        (find_comparison_args): If we find something equivalent to a
        !          3141:        fixed address, return the fixed address.
        !          3142: 
        !          3143:        * combine.c (try_combine): Don't access new_i2_notes if it hasn't been
        !          3144:        defined (it isn't defined unless newi2pat != 0).
        !          3145: 
        !          3146: Fri Dec  6 16:01:02 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          3147: 
        !          3148:        * rtl.h (enum reg_note): Define two new values REG_DEP_ANTI,
        !          3149:        REG_DEP_OUTPUT, which are used to mark LOG_LINKS.
        !          3150:        * rtl.c (reg_note_name): Likewise.
        !          3151:        (add_dependence): Return void.  New parameter DEP_TYPE to indicate
        !          3152:        type of dependence.
        !          3153: 
        !          3154:        * sched.c: Major rewrite to delete much obsolete code, correct many
        !          3155:        comments, delete unused variables, etc.  Modify all callers of
        !          3156:        add_dependence to pass new argument.  Significant changes are:
        !          3157:        (reassign_dependence): Deleted, was unnecessary.
        !          3158:        (priority): Account for type of dependence when calculating
        !          3159:        priority.
        !          3160:        (flush_pending_lists): New function.  Encapsulate code which makes
        !          3161:        dependencies between an INSN and every insn on the
        !          3162:        pending_read_insns and pending_write_insns lists.
        !          3163:        (rank_for_schedule): Account for type of dependence with last
        !          3164:        scheduled insn when deciding which ready insn to schedule next.
        !          3165:        (launch_link): Give all birthing insns the same priority.
        !          3166:        (schedule_block): Only sort the ready list once, after all ready
        !          3167:        insns have been added to it.
        !          3168:        (schedule_block): When deciding what REG_DEAD notes are needed on a
        !          3169:        just scheduled insns, process all sets first (sched_note_set) then
        !          3170:        process all uses (attach_deaths_insn).
        !          3171:        (attach_deaths): Simplified by above change.
        !          3172:        (sched_note_set): Likewise.
        !          3173:        (update_flow_info): Renamed from update_links, since it no longer
        !          3174:        does anything with LOG_LINKS.  Sched_analyze_insn creates all
        !          3175:        necessary new LOG_LINKS already.
        !          3176:        (schedule_insn): Delete no op move insns after reload.
        !          3177: 
        !          3178: Fri Dec  6 13:33:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3179: 
        !          3180:        * crtstuff.c: Give permission to link with non-free programs.
        !          3181: 
        !          3182:        * toplev.c (flag_inhibit_size_directive): New var and -f option.
        !          3183:        * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it.
        !          3184:        * Makefile.in (crtbegin.o, crtend.o): Use that option.  Use -g1.
        !          3185: 
        !          3186: Fri Dec  6 08:42:53 1991  Ron Guilmette  (rfg at ncd.com)
        !          3187: 
        !          3188:        * Makefile.in (STAGESTUFF):  Added __main and _exit to support g++.
        !          3189: 
        !          3190:        * c-common.c (c_expand_expr_stmt):  Made return type explicit.
        !          3191: 
        !          3192:        * c-common.c: (get_directive_line):  Function added to support -g3.
        !          3193: 
        !          3194: Fri Dec  6 04:50:39 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3195: 
        !          3196:        * cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed.
        !          3197:        * cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P.
        !          3198:        * cp-init.c (add_{friend,friends}): Ditto.
        !          3199: 
        !          3200: Thu Dec  5 22:31:12 1991  Jeffrey A Law  (law at super.super.org)
        !          3201: 
        !          3202:        * m68k.h (CONST_COSTS): Show that constants which can be easily
        !          3203:        generated are less expensive than most.
        !          3204: 
        !          3205:        * m68k.md (movsi): Use two instruction sequences to load constants
        !          3206:        which are just outside moveq's range (within 8 of moveq's range).
        !          3207:        Likewise for positive even constants within twice moveq's range.
        !          3208: 
        !          3209: Thu Dec  5 20:17:13 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
        !          3210: 
        !          3211:        * config-gcc.com: Generate a file 'version.opt' which will be given
        !          3212:          to the VMS linker to put the gcc version number in the image 
        !          3213:          header version number field.
        !          3214: 
        !          3215:        * make-cc1.com: Compile c-lex.c when building gcc and objc, and
        !          3216:          add c-lex.obj to the list of files given to the linker.
        !          3217:          Add version.opt to the list of files given to the linker.
        !          3218: 
        !          3219:        * make-cccp.com: Add version.opt to the list of files given to the
        !          3220:          linker.
        !          3221: 
        !          3222: Thu Dec  5 23:04:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3223: 
        !          3224:        * combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM;
        !          3225:        clean up comments so they agree with the code.
        !          3226: 
        !          3227:        * combine.c (try_combine): Correct test for when we can safely change
        !          3228:        the mode of a pseudo; can't if it doesn't die in I3.
        !          3229: 
        !          3230:        * c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
        !          3231:        * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed.
        !          3232:        (combine_strings): Use size of `wchar_type_node' to get number of
        !          3233:        bytes in wchar_t.
        !          3234:        * next.h (WCHAR_TYPE_SIZE): Delete; no longer used.
        !          3235: 
        !          3236:        * cse.c (cse_main): Add new argument to cse_basic_block_call.
        !          3237:        Don't call cse_around_loop here.
        !          3238:        (cse_basic_block): Call cse_around_loop from here while we still
        !          3239:        have our arrays allocated.
        !          3240: 
        !          3241:        * combine.c (simplify_comparison): Fix error in last change; don't
        !          3242:        reference TEM before it is set.
        !          3243: 
        !          3244:        * toplev.c (fatal_insn_not_found): Flush all files before aborting.
        !          3245: 
        !          3246: Thu Dec  5 21:42:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3247: 
        !          3248:        * objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR
        !          3249:        only once.  Always pass self_decl as self to the method.
        !          3250: 
        !          3251: Thu Dec  5 14:52:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          3252: 
        !          3253:        * ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h,
        !          3254:        since these are complied for the target, host defines do not apply.
        !          3255: 
        !          3256: Thu Dec  5 14:52:24 1991  Michael Meissner  (meissner at osf.org)
        !          3257: 
        !          3258:        * dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If
        !          3259:        not defined, define as .stabs/.stabn/.stabd respectively.  Change
        !          3260:        all places emitting stabs to use the macros.
        !          3261:        * cp-decl2.c: Ditto.
        !          3262:        * cp-gc.c: Ditto.
        !          3263:        * final.c: Ditto.
        !          3264:        * varasm.c: Ditto.
        !          3265:        * gcc.texinfo: Document ASM_STAB[DNS]_OP macros.
        !          3266: 
        !          3267: Thu Dec  5 12:03:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3268: 
        !          3269:        * gcc.c (process_command): Don't put `.' on startfile_prefix.
        !          3270:        Cast result of alloca.
        !          3271: 
        !          3272:        * config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args.
        !          3273: 
        !          3274:        * hp800.h, hp800.c, hp800.md, xm-hp800.h: New files.
        !          3275:        * va-hp800.h: New file.
        !          3276:        * gvarargs.h: Use va-hp800.h if needed.
        !          3277:        * config.subr, configure: Add alternatives for hp800, hp700.
        !          3278: 
        !          3279: Thu Dec  5 09:35:15 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3280: 
        !          3281:        * cp-search.c (note_debug_info_needed): Do the right thing for
        !          3282:        static member functions.
        !          3283: 
        !          3284: Thu Dec  5 01:25:13 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
        !          3285: 
        !          3286:        * version.c: Now 1.96.
        !          3287: 
        !          3288: Wed Dec  4 23:17:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3289: 
        !          3290:        * reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly
        !          3291:        update NEXT_TRIAL after possibly splitting an insn.
        !          3292: 
        !          3293: Wed Dec  4 17:03:11 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          3294: 
        !          3295:        * gplus.gperf: Add throw and template keywords.  Update private,
        !          3296:        protected, and public definitions.
        !          3297: 
        !          3298:        * print-tree.c (print_node): Add missing indentation argument to
        !          3299:        print_node call for values field.
        !          3300: 
        !          3301: Wed Dec  4 18:39:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3302: 
        !          3303:        * objc-actions.c (build_objc_method_call): Define as static.
        !          3304: 
        !          3305: Wed Dec  4 17:04:49 1991  Michael Meissner  (meissner at osf.org)
        !          3306: 
        !          3307:        * mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how
        !          3308:        many pages we allocated for varrays as well as the small stuff.
        !          3309:        (stabs_filename): New static to hold the special filename used for
        !          3310:        passing stabs through.
        !          3311:        (parse_stabs_common, parse_stabs, parse_stabn): New functions to
        !          3312:        smuggle stabs through to the debugger.  Stabs must be commented out,
        !          3313:        just like the other debug directives.
        !          3314:        (add_local_symbol): Check hash_ptr to see if it's null before
        !          3315:        storing into it, in case no name is passed.
        !          3316:        (add_file): Add support for the special stabs file.
        !          3317:        (copy_object): Before copying the external symbols, figure out the
        !          3318:        file indexes of each of the files, and then explicitly remap the
        !          3319:        original file indexes of the external symbol to be the new file
        !          3320:        index.  If this isn't done, then bad file numbers can get generated
        !          3321:        if a filename is repeated.
        !          3322:        (various): Change the name of small_alloc to alloc_counts, since we
        !          3323:        now track large memory allocations as well.
        !          3324: 
        !          3325:        * mips-tdump.c (toplevel): Delete unnecessary include file stamp.h.
        !          3326: 
        !          3327: Wed Dec  4 11:05:04 1991  Michael Collison  (collison at osf.org)
        !          3328: 
        !          3329:        * encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition
        !          3330:        * ns32k.h: ditto
        !          3331: 
        !          3332:        * ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is
        !          3333:        defined provide alternate definitions
        !          3334: 
        !          3335:        * encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide
        !          3336:        alternate definition
        !          3337: 
        !          3338: Wed Dec  4 01:39:07 1991  Ken Raeburn  ([email protected])
        !          3339: 
        !          3340:        * cp-pt.c (end_template_decl): For method templates, pop the class
        !          3341:        binding level before the others rather than after.
        !          3342: 
        !          3343:        * cp-class.c: Added DEBUG_CP_BINDING_LEVELS code.  Include cp-decl.h
        !          3344:        if that symbol is defined, but don't list it in Makefile.in since
        !          3345:        that's not the normal mode.
        !          3346:        (pushclass): Print messages and frob indentation level.
        !          3347:        (popclass): Likewise.
        !          3348: 
        !          3349:        * cp-spew.c (yylex): If identifier_type says PTYPENAME, and
        !          3350:        following token is "<", force looking_for_typename to be
        !          3351:        non-negative.
        !          3352: 
        !          3353:        * cp-pt.c (mangle_class_name_for_template): Drop extra spaces
        !          3354:        between last parm and closing ">".  Print a message before aborting
        !          3355:        if a parm type isn't handled.
        !          3356: 
        !          3357:        * cp-decl.c (maybe_globalize_type): Don't do it if the identifier
        !          3358:        that names the type doesn't currently have a type value.
        !          3359: 
        !          3360: Wed Dec  4 01:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3361: 
        !          3362:        * cp-decl.c (finish_enum): Call `rest_of_type_compilation' for
        !          3363:        ENUMTYPE.
        !          3364:        * cp-class.c (finish_struct): Ditto.
        !          3365:        * cp-decl.c (pushtag): Set TYPE_STUB_DECL.
        !          3366:        * cp-search.c (note_debug_info_needed): Call
        !          3367:        `rest_of_type_compilation' if we notice we need debug info for TYPE.
        !          3368:        * dbxout.c (dbxout_init): Fix typo in comment.
        !          3369: 
        !          3370:        * cp-parse.y (DOT_STAR): New token.
        !          3371:        (expr_no_commas): Handle DOT_STAR expressions.
        !          3372:        * cp-lex.c (real_yylex): Recognize DOT_STAR.  Also, rearrange
        !          3373:        scanner to make it more efficient.
        !          3374: 
        !          3375:        * cp-decl.c (maybe_build_cleanup): When building cleanups, pass
        !          3376:        TYPE_MAIN_VARIANT to `build_delete'.
        !          3377: 
        !          3378: Tue Dec  3 22:52:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          3379: 
        !          3380:        * flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note
        !          3381:        for the part of multi-word hard registers not needed.
        !          3382: 
        !          3383: Tue Dec  3 22:34:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3384: 
        !          3385:        * configure: Support --objdir.
        !          3386: 
        !          3387:        * objc-parse.y: Get rid of many static decls.
        !          3388:        Reorder all token definitions to match c-parse.y.
        !          3389:        (recognize_objc_keyword): New function.
        !          3390:        * c-lex.c (token_buffer): No longer static.
        !          3391:        (yylex): For @, call recognize_objc_keyword.  Don't use keyword table.
        !          3392:        * c-lang.c (recognize_objc_keyword): Dummy definition.
        !          3393: 
        !          3394:        * objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]:
        !          3395:        Pass selector as arg to the method.
        !          3396:        Always cast the method to a function type.
        !          3397: 
        !          3398:        * xm-sparc.h (alloca): If using Sun CC, include alloca.h.
        !          3399:        If using GCC, define as __builtin_alloca the way other machines do.
        !          3400: 
        !          3401:        * cccp.c (print_containing_files): Print the nominal file names.
        !          3402: 
        !          3403: Tue Dec  3 16:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3404: 
        !          3405:        * jump.c (jump_optimize): If branches are expensive, convert jumps
        !          3406:        around increments or decrements by one into an increment by the
        !          3407:        conditional expression.
        !          3408: 
        !          3409:        * combine.c (simplify_comparison): Don't remove a SUBREG unless
        !          3410:        it doesn't affect either operand.
        !          3411: 
        !          3412:        * cse.c (find_comparison_args): Rework so that we can correctly
        !          3413:        fold comparisons on machines that set CC0 to the result of a 
        !          3414:        condition test, not just a COMPARE.
        !          3415:        (cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know
        !          3416:        its mode.
        !          3417: 
        !          3418: Tue Dec  3 12:01:12 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          3419: 
        !          3420:        * mips.md: Use AND not IOR in define_function_unit definitions.
        !          3421:        Correct setting of MODE attribute in various insn patterns.
        !          3422: 
        !          3423: Tue Dec  3 08:31:18 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3424: 
        !          3425:        * cp-spew.c (scan_tokens): Delete Dec 2 change.
        !          3426:        (yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on
        !          3427:        the wrong obstack.
        !          3428:        (probe_obstack): New function to support the above change.
        !          3429: 
        !          3430:        * cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag.
        !          3431:        (CLASSTYPE_ASM_WRITTEN): Deleted.
        !          3432:        cp-class.c (finish_struct): Now almost always assume that classes
        !          3433:        with methods are to ignored for debugging purposes.
        !          3434:        cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new
        !          3435:        algorithm for minimizing debug output.
        !          3436: 
        !          3437:        * cp-decl2.c (constructor_name): Handle case when THING is a
        !          3438:        UNION_TYPE.
        !          3439: 
        !          3440: Tue Dec  3 06:35:38 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3441: 
        !          3442:        * jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call
        !          3443:        replace_regs on the REG_NOTES of COPY.
        !          3444: 
        !          3445:        * cp-spew.c (scan_tokens): Don't read past '='.
        !          3446: 
        !          3447:        * cp-call.c (compute_conversion_costs): For now, treat
        !          3448:        CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the
        !          3449:        difference between when we should accept it (pointers to the right
        !          3450:        sort of methods) and when we shouldn't (base* to derived*
        !          3451:        conversions).
        !          3452: 
        !          3453: Mon Dec  2 18:53:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          3454: 
        !          3455:        * cse.c (cse_around_loop): Fix typo in comment.
        !          3456:        * dbxout.c (dbxout_type_fields): Likewise.
        !          3457: 
        !          3458:        * sched.c (sched_analyze_1): Pass the second and third args of a
        !          3459:        ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2.
        !          3460: 
        !          3461:        * combine.c (make_compound_operation): Change (lshiftrt (ashift ...))
        !          3462:        to a ZERO_EXTRACT, not a SIGN_EXTRACT.
        !          3463: 
        !          3464: Mon Dec  2 15:09:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3465: 
        !          3466:        * jump.c (jump_optimize): New arg AFTER_REGSCAN.
        !          3467:        If not set, don't use duplicate_loop_exit_test.
        !          3468:        * toplev.c (compile_file): Pass new arg to jump_optimize.
        !          3469: 
        !          3470:        * next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY.
        !          3471: 
        !          3472:        * xm-i86v[34].h: Renamed from xm-i860v[34].h.
        !          3473:        * configure: Corresponding changes.
        !          3474: 
        !          3475:        * m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf.
        !          3476: 
        !          3477:        * t-decstatn (ld): Just copy collect2.
        !          3478:        (collect): Target deleted.
        !          3479:        (EXTRA_PASSES): Deleted collect.
        !          3480:        (mips-tfile, mips-tdump): Depend on LIBDEPS.
        !          3481:        * t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS.
        !          3482:        * collect2.c (main): Run /bin/ld.
        !          3483:        Use fatal_perror where appropriate.
        !          3484: 
        !          3485:        * objc-actions.c (build_message_expr): Fix typo.
        !          3486: 
        !          3487:        * configure: Add missing fi to finish last change.
        !          3488: 
        !          3489:        * cse.c (simplify_binary_operation): Restore missing break in case DIV.
        !          3490: 
        !          3491:        * sdbout.c (sdbout_init): Explicitly do nothing.
        !          3492:        (sdbout_typedefs): Function deleted.
        !          3493: 
        !          3494: Mon Dec  2 12:504:35 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
        !          3495: 
        !          3496:        * config-gcc.com: Finish changeover from tm-*.h to *.h.
        !          3497: 
        !          3498: Sun Dec  1 05:18:32 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3499: 
        !          3500:        * cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't
        !          3501:        memoize the entry we find.
        !          3502: 
        !          3503:        * cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of
        !          3504:        `build_decl' if we retroactively allocate a VAR_DECL.
        !          3505: 
        !          3506: Sun Dec  1 00:10:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3507: 
        !          3508:        * configure: Convert option syntax from + to --.
        !          3509:        Support --target.
        !          3510: 
        !          3511:        * i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted.
        !          3512:        (ASM_FILE_START): Deleted.
        !          3513:        (STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted.
        !          3514:        (STDC_VALUE): Deleted.
        !          3515: 
        !          3516:        * real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode.
        !          3517: 
        !          3518:        * config/*.h: Renamed from tm-*.h.  #includes and comments changed.
        !          3519:        * configure: Changed accordingly.
        !          3520:        * t-*: tm-*.h file names changed.
        !          3521: 
        !          3522:        * gnulib2.c (__enable_execute_stack): Renamed function.
        !          3523:        * convex.h (INITIALIZE_TRAMPOLINE): Use new name.
        !          3524: 
        !          3525: Sun Dec  1 08:57:45 1991  Michael Meissner  (meissner at osf.org)
        !          3526: 
        !          3527:        * cccp.c (main): Add cast in front of alloca for non GCC compilers.
        !          3528: 
        !          3529: Sat Nov 30 22:33:24 1991  Chris Smith  ([email protected])
        !          3530: 
        !          3531:        * config.subr: Recognize -c3*.
        !          3532:        New alternatives for convex-c3*.
        !          3533:        * configure: Alternatives for convex rewritten.
        !          3534: 
        !          3535:        * gnulib2.c (__execute_enable_stack): New function for Convex only.
        !          3536: 
        !          3537:        * gcc.c (do_spec_1): Use \ as quoting char.
        !          3538: 
        !          3539:        * convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38.
        !          3540:        Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3.
        !          3541:        * convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect
        !          3542:        addressing if ! TARGET_INDIRECTS.
        !          3543:        
        !          3544:        * convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN):
        !          3545:        It now works to describe machine correctly.
        !          3546: 
        !          3547:        * convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather
        !          3548:        than longs to match usage in /usr/include.
        !          3549: 
        !          3550:        * convex.h (enum reg_class): Add classes SP_REGS, the stack
        !          3551:        pointer, and INDEX_REGS, the remaining A_REGS.
        !          3552:        (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust
        !          3553:        for new classes.
        !          3554:        (INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will
        !          3555:        not index off the stack pointer (register 0).
        !          3556: 
        !          3557:        * convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
        !          3558:        INITIALIZE_TRAMPOLINE): Define.
        !          3559: 
        !          3560:        * convex.h (INITIAL_FRAME_POINTER_OFFSET): Define.
        !          3561: 
        !          3562:        * convex.h (RTX_COSTS): Specify costs to prevent multiply
        !          3563:        from being synthesized from shifts (which aren't faster).
        !          3564: 
        !          3565:        * convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT,
        !          3566:        cc is never looked at.
        !          3567: 
        !          3568:        * convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX):
        !          3569:        define so g++ works.
        !          3570: 
        !          3571:        * convex.h: If COLLECT is defined, define output macros for
        !          3572:        collect to call.
        !          3573: 
        !          3574:        * convex*.h: If !traditional, define _LONGLONG and 64-bit
        !          3575:        typedefs to prevent types.h from murdering ansi compilations.
        !          3576: 
        !          3577:        * convex.md (movsi): split into define_expand and two
        !          3578:        anonymous define_insns, one that uses indirection and
        !          3579:        one that doesn't.  TARGET_INDIRECTS selects which.
        !          3580: 
        !          3581:        * convex.c (output_call):  New routine.  Scan forward from call
        !          3582:        to decide if AP is live, omit AP reload if not.
        !          3583:        * convex.md (call, call_value): use output_call.
        !          3584: 
        !          3585:        * convex.md (bit manipulation peepholes): remove, now done in
        !          3586:        combine.
        !          3587: 
        !          3588:        * convex.md (indirect_jump): Define.
        !          3589: 
        !          3590:        * convex.c (const_double_{high,low}_int): Just return the
        !          3591:        appropriate word, remove slow float computations.
        !          3592: 
        !          3593:        * math-convex: New file to use builtin instructions.
        !          3594: 
        !          3595:        * x-convex: Use cc -pcc to bootstrap gcc.
        !          3596: 
        !          3597: Sat Nov 30 10:21:26 1991  Ron Guilmette (rfg at ncd.com)
        !          3598: 
        !          3599:        * tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering.
        !          3600: 
        !          3601:        * tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed 
        !          3602:        so that the progbits parameter actually appears in the definitions.
        !          3603: 
        !          3604:        * tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):  Adapted
        !          3605:        for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP.
        !          3606: 
        !          3607: Sat Nov 30 07:05:06 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3608: 
        !          3609:        * cp-spew.c (follows_{identifier,typename}): New arrays.
        !          3610:        * cp-spew.c (init_spew): Initialize new arrays.
        !          3611:        * cp-decl.c (lookup_name): takes new parameter PREFER_TYPE.
        !          3612:        All callers changed.
        !          3613:        * cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an
        !          3614:        AGGR or ENUM.
        !          3615: 
        !          3616:        * cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call
        !          3617:        `real_yylex', not `yylex'.  Changed other places that depended on
        !          3618:        calling `real_yylex' for their input.
        !          3619: 
        !          3620:        * cp-spew.c (scan_tokens): Never read past '{' or ':'.  Fill the
        !          3621:        token buffer with EMPTY tokens in that case.
        !          3622:        (yylex): Handle EMPTY tokens.
        !          3623: 
        !          3624:        * cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back
        !          3625:        on the input stream.
        !          3626:        (START_DECLARATOR): New token.
        !          3627:        (absdcl): Handle START_DECLARATOR.
        !          3628:        * cp-spew.c (consume_token): Renamed from `discard_token'.
        !          3629:        (struct token): Changed structure to make it smaller.
        !          3630:        (spew_init): Renamed from init_spew.  Now called from init_lex.
        !          3631:        (scan_tokens): Renamed from slurp_next_token.
        !          3632:        Many functions reformatted to match GCC indentation style.
        !          3633: 
        !          3634:        * cp-lex.c (arbitrate_lookup): Don't guess in favor of type if
        !          3635:        yychar is ')'.
        !          3636: 
        !          3637:        * cp-decl.c (lookup_name): Fixed so that all binding levels use
        !          3638:        `looking_for_typename' consistently.
        !          3639:        * cp-type2.c (build_functional_cast): Handle new case that we are
        !          3640:        called in a context where a method is appropriate (but we parsed it
        !          3641:        as a ctor call).
        !          3642: 
        !          3643:        * cp-call.c (CONST_HARSHNESS): Change bit that we test.
        !          3644:        (convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS
        !          3645:        consisently when needed.
        !          3646: 
        !          3647:        * cp-init.c (decl_constant_value): Keep enabled even when
        !          3648:        CURRENT_FUNCTION_DECL is null.
        !          3649: 
        !          3650: Sat Nov 30 01:23:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3651: 
        !          3652:        * sdbout.c (sdbout_init): Just call sdbout_one_type on each type.
        !          3653: 
        !          3654:        * tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP.
        !          3655:        * tm-sun386.h: Likewise.
        !          3656:        * tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise.
        !          3657:        (ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise.
        !          3658:        (ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
        !          3659:        * tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE):
        !          3660:        Don't end with space.
        !          3661:        * tm-sun386.h, tm-bsd386.h: Likewise.
        !          3662: 
        !          3663:        * c-lex.h: Renamed from c-parse.h.  All #includes changed.
        !          3664:        * c-parse.c, c-parse.h: Renamed from c-parse.tab.*.
        !          3665:        * Makefile.in: Changed accordingly.
        !          3666:        (C_OJBS, realclean, TAGS): These changed too.
        !          3667: 
        !          3668:        * tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS):
        !          3669:        Undef before defining.
        !          3670: 
        !          3671:        * tm-i386v4.h: Include tm-svr4.h.
        !          3672:        (CPP_PREDEFINES): Define SVR4, and several assertions.
        !          3673:        (LIB_SPEC): Delete -Qy.  LINK_SPEC handles this.
        !          3674:        (DBX_REGISTER_NUMBER): New macro.
        !          3675: 
        !          3676: Fri Nov 29 22:16:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3677: 
        !          3678:        * rs6000.md: Cannot use "muls" and "muli" to do widening multiply
        !          3679:        from HImode to SImode; delete the 12 patterns that try to do this.
        !          3680: 
        !          3681: Fri Nov 29 21:32:52 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3682: 
        !          3683:        * cp-cvt.c (build_type_conversion): Don't assume that if
        !          3684:        TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for
        !          3685:        the given type combination is non-NULL.
        !          3686: 
        !          3687: Fri Nov 29 16:08:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3688: 
        !          3689:        * crtstuff.c: New file.  Needs papers from rfg.
        !          3690:        * Makefile.in (crtbegin.o, crtend.o): New targets.
        !          3691: 
        !          3692:        * objc-actions.c (build_message_expr): Lots of cleanups.
        !          3693:        (build_objc_method_call): New subroutine.
        !          3694:        Handles new option NEXT_OBJC_RUNTIME.
        !          3695: 
        !          3696:        * expr.c (do_jump): Any LABEL_REF is nonzero.
        !          3697:        (expand_expr): Construct LABEL_REFs with Pmode.
        !          3698: 
        !          3699: Fri Nov 29 14:43:32 1991  Michael Meissner  (meissner at osf.org)
        !          3700: 
        !          3701:        * mips-tfile.c (parse_def): Change an error into a warning.
        !          3702: 
        !          3703:        * mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint
        !          3704:        to '!' to keep reload from allocating FP registers from holding
        !          3705:        excess integer values.
        !          3706:        (ashift right define_splits): Fix typo, so that the long long
        !          3707:        arithmetic right shifts are recognized.
        !          3708:        (all define_splits): dummy out constraints, since they are not used.
        !          3709: 
        !          3710:        * mips.c (override_options): Allow int's in FP registers again, now
        !          3711:        that ! constraints are used.
        !          3712: 
        !          3713: Fri Nov 29 13:20:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3714: 
        !          3715:        * dwarfout.c (output_compile_unit_die):  Don't include the name
        !          3716:        of the compiler which compiled the compiler in the AT_producer
        !          3717:        string.  It goofs up comparisons of stage2 & stage3 object files.
        !          3718: 
        !          3719:        * c-parse.y, objc-parse.y: Don't declare position_after_white_space
        !          3720:        as static; it is now in c-lex.c.
        !          3721: 
        !          3722: Fri Nov 29 05:15:26 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3723: 
        !          3724:        * cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type
        !          3725:        before storing into CLASSTYPE_DECLARED_CLASS (ref).
        !          3726: 
        !          3727:        * cp-decl2.c (build_push_scope): Don't let non-aggr types appear in
        !          3728:        `cname::fname' expressions.
        !          3729: 
        !          3730:        * cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL
        !          3731:        nodes of ARRAY_TYPE may resolved to fixed type.  Also handle other
        !          3732:        cases of WITH_CLEANUP_EXPR.
        !          3733: 
        !          3734:        * cp-spew.c (frob_identifier): Handle case of a type conversion
        !          3735:        operator that converts to a nested type.
        !          3736: 
        !          3737:        * cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is
        !          3738:        permanent, build a new arglist instead of modifying it in place.
        !          3739: 
        !          3740:        * cp-typeck.c (convert_arguments): Add ??? to comment about virtual
        !          3741:        function conversions.  ??? I don't understand what that code is
        !          3742:        supposed to do anymore.
        !          3743:        (comp_target_parms): If STRICT <= 0, accept types whose
        !          3744:        TYPE_MAIN_VARIANTs are equal.
        !          3745: 
        !          3746:        * cp-call.c (convert_harshness): Revamped to handle contravariance
        !          3747:        better.
        !          3748:        * cp-class.h (struct candidate): Declaration moved from cp-tree.h.
        !          3749: 
        !          3750:        * cp-class.c (duplicate_tag_error): New function.
        !          3751:        * cp-parse.y (LC): Call it if we're redefining a tag.
        !          3752:        * cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL
        !          3753:        if non-NULL.  Otherwise we get nonsense when we try to parse
        !          3754:        inline function bodies of classes that have already been redefined.
        !          3755:        * cp-lex.c (reinit_parse_for_method): If we get some text for a
        !          3756:        class that's been redefined, flush the text.
        !          3757:        * cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'.
        !          3758: 
        !          3759:        * cp-cvt.c (convert_to_integer): Only warn about anachronistic
        !          3760:        conversion from int to enum if PEDANTIC is nonzero.
        !          3761: 
        !          3762:        * cp-typeck.c (convert_for_initialization): No longer give warning
        !          3763:        messages about bitwise copy: this is currently how the default X(X&)
        !          3764:        constructor is implemented.
        !          3765:        * cp-init.c (expand_aggr_init_1): Ditto.
        !          3766: 
        !          3767:        * cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR.
        !          3768:        * tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR.  Correct
        !          3769:        handling of TARGET_EXPR case.
        !          3770: 
        !          3771:        * cp-decl.c (grok_reference_init): If DECL is permanent, make it's
        !          3772:        DECL_REFERENCE_SLOT permanent as well.
        !          3773: 
        !          3774:        * cp-cvt.c (build_type_conversion): If PEDANTIC, give message about
        !          3775:        conversions which cast away const.
        !          3776: 
        !          3777:        * cp-decl.c (store_return_init): If PEDANTIC, give error about named
        !          3778:        return values.
        !          3779: 
        !          3780:        * cp-init.c (decl_constant_value): Don't return DECL_INITIAL if
        !          3781:        CURRENT_FUNCTION_DECL is null or if the initializer is a
        !          3782:        CONSTRUCTOR.
        !          3783: 
        !          3784: Thu Nov 28 05:29:52 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3785: 
        !          3786:        * integrate.c (expand_inline_function): When passing objects by
        !          3787:        invisible reference, correctly compute the amount of space to be
        !          3788:        allocated in the pseudo-frame we create for the inline function.
        !          3789: 
        !          3790:        * cp-typeck.c (mark_addressable): Add call to
        !          3791:        `mark_inline_for_output' that got lost in Nov 25 change.
        !          3792: 
        !          3793:        * cp-decl.c (push_overloaded_decl): If the value of a name is an
        !          3794:        ADDR_EXPR, look inside to get the _DECL node.
        !          3795: 
        !          3796:        * cp-decl.c (grokdeclarator): Don't convert type of operators new
        !          3797:        and delete to METHOD_TYPE; they remain FUNCTION_TYPEs.
        !          3798: 
        !          3799:        * function.c (expand_function_start): Set TREE_REGDECL bit on
        !          3800:        RESULT_DECL if result starts life in a register.
        !          3801: 
        !          3802:        * c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as
        !          3803:        a NOP when it or the expression inside it is of REFERENCE_TYPE.
        !          3804: 
        !          3805:        * cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on
        !          3806:        DECL_ASSMBLER_NAME, not DECL_NAME.
        !          3807: 
        !          3808: Wed Nov 27 13:49:10 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          3809: 
        !          3810:        * cse.c (simplify_relational_operation): Correct handling of
        !          3811:        COMPARE as first argument.  Always strip it off.  Don't invert
        !          3812:        return value for EQ when !HAVE_cc0.
        !          3813: 
        !          3814: Thu Nov 28 20:08:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3815: 
        !          3816:        * gmon.c: New file.
        !          3817: 
        !          3818: Thu Nov 28 15:02:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          3819: 
        !          3820:        * combine.c (subst, case SET): Never make a paradoxical SUBREG of
        !          3821:        a REG unless the SUBREG and REG occupy the same number of words.
        !          3822: 
        !          3823:        * emit-rtl.c: Include flags.h.
        !          3824:        (operand_subword): Always look inside floating if -fpretend-float.
        !          3825:        * final.c (split_double): Likewise.
        !          3826:        * Makefile.in (emit-rtl.o): Includes flags.h.
        !          3827: 
        !          3828:        * c-lex.c (yylex): Add goto to `L' case.
        !          3829: 
        !          3830: Thu Nov 28 08:37:02 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
        !          3831: 
        !          3832:        * tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be
        !          3833:        used in if/else constructs.
        !          3834: 
        !          3835: Thu Nov 28 00:23:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3836: 
        !          3837:        * tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS):
        !          3838:        New function codes.
        !          3839:        * c-decl.c (init_decl_processing): Declare the functions.
        !          3840:        * expr.c (expand_builtin): Implement them.
        !          3841: 
        !          3842:        * gcc.c: Pass to ld all the dirs in LIBRARY_PATH:
        !          3843:        (library_prefix): New list of prefixes.
        !          3844:        (process_command): Put dirs from LIBRARY_PATH on that list.
        !          3845:        (do_spec_1): %D outputs those dirs.
        !          3846:        (link_command_spec): Use %D after passing -L options.
        !          3847: 
        !          3848:        * gcc.c (process_command): Don't require machine suffix
        !          3849:        for dirs from COMPILER_PATH or LIBRARY_PATH.
        !          3850: 
        !          3851:        * cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing.
        !          3852: 
        !          3853:        * Use the TYPE_DECLs to drive dbx and sdb output of type tags.
        !          3854:        * toplev.c (rest_of_type_compilation): New function.
        !          3855:        (compile_file): Pass list of initial decls to dbxout_init, sdbout_init.
        !          3856:        (various): Don't call get_*_types.
        !          3857:        * dbxout.c (dbxout_init): Get initial types from that list.
        !          3858:        * sdbout.c (sdbout_init): Likewise.
        !          3859:        * sdbout.c, dbxout.c: Don't call get_*_types.
        !          3860:        (*out_typedefs): New subroutines.
        !          3861:        * c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation.
        !          3862:        (pushtags): Record TYPE_STUB_DECL.
        !          3863:        * tree.h (TYPE_STUB_DECL): New macro.
        !          3864:        * stor-layout.c (chain_type, get_permanent_types, get_temporary_types):
        !          3865:        Deleted.
        !          3866:        (save_storage_status, restore_storage_status): Don't frob chains.
        !          3867:        (layout_type): Don't call chain_type.
        !          3868: 
        !          3869:        * dbxout.c (dbxout_type_fields): Output `/'-spec after type tag
        !          3870:        only if really needed.
        !          3871: 
        !          3872: Wed Nov 27 18:52:55 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          3873: 
        !          3874:        * expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case.
        !          3875: 
        !          3876: Wed Nov 27 23:10:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3877: 
        !          3878:        * cccp.c (main): Use savestring, not strdup.
        !          3879: 
        !          3880: Wed Nov 27 17:10:17 1991  Michael Meissner  (meissner at osf.org)
        !          3881: 
        !          3882:        * mips.c (mips_load_reg3, mips_load_reg4): New global variables to
        !          3883:        enable scheduling the second nop for the mfhi and mflo instructions.
        !          3884:        (mips_hard_regno_mode_ok): New global array to give the results
        !          3885:        of HARD_REGNO_MODE_OK for each register and mode.
        !          3886:        (mips_fill_delay_slot): Instead of taking the number of nops as a
        !          3887:        parameter, take an enumeration, giving what kind of delay this is.
        !          3888:        If the next instruction is a label, put nops before label, not
        !          3889:        after.  Add support for mflo/mfhi, which need 2 nops if the next
        !          3890:        instruction would modify the hi/lo registers.
        !          3891:        (mips_move_1word, mips_move_2words): mips_fill_delay_slot calling
        !          3892:        sequence changes.  Pass mflo/mfhi to schedule nops.
        !          3893:        (mips_move_2words): Move DImode to/from hi and lo registers is now
        !          3894:        supported.
        !          3895:        (function_arg): Correctly align long long parameters, just like
        !          3896:        doubles.  Also correct typo in debug code.  Bug report from
        !          3897:        [email protected].
        !          3898:        (override_options): Initialize mips_hard_regno_mode_ok.  Restrict
        !          3899:        int's from going in the FP registers, to limit the register
        !          3900:        allocator from allocating them instead of using memory.  Also, make
        !          3901:        the special registers (HI, LO, FPSW) only accept full sized ints, or
        !          3902:        a double int for the HI:LO combination.
        !          3903:        (compute_frame_size): Don't set the initialized member until reload
        !          3904:        has completed, since otherwise the information may change.
        !          3905: 
        !          3906:        * mips.md (various): Add 64 bit integer operations for addition,
        !          3907:        subtraction, negation, and, inclusive or, exclusive or, one's
        !          3908:        complement, shifts, and nor.  Add 32x32->64 bit support for
        !          3909:        multiply, which the compiler then uses to construct 64 bit
        !          3910:        multiplies.
        !          3911:        (mulsi3): Break mul into it's two instructions, and schedule the
        !          3912:        two nops needed for the mflo instruction.  Don't allow an integer
        !          3913:        multiplier anymore.
        !          3914:        (ffssi2): Delete define_expand, and use a second clobber'ed register
        !          3915:        to preserve the original input, instead of (clobber (match_dup 1)).
        !          3916:        (movsi_ulw): Change mips_fill_delay_slot calling sequence.
        !          3917:        (movdi_internal): Allow DImode move from HI/LO to/from GP registers.
        !          3918:        (movdi define_split): Add a define_split to separate the two parts
        !          3919:        of DImode register pairs when using GP registers.
        !          3920:        (movdf define_split): Add a define_split to separate the two parts
        !          3921:        of DFmode register pairs when using GP registers.
        !          3922:        (mov??_internal): Change condition to call memory_operand, instead
        !          3923:        of just checking for MEM, which disallows (subreg (MEM)) during
        !          3924:        the intermediate parts of the compilation.  Reported by
        !          3925:        [email protected].
        !          3926:        (negsi2): Turn back into a real insn instead of just a
        !          3927:        define_expand for subsi3.
        !          3928:        (one_cmplsi2): Turn back into a real insn instead of just a
        !          3929:        define_expand for norsi3.
        !          3930:        (andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and
        !          3931:        allow 32 bit constants to improve the code generated for bitfields,
        !          3932:        at the expense of potentially not moving the constant out of loops.
        !          3933:        (various): Add = constraint to all clobbers.
        !          3934:        (fix_trunc*): Go back to old method of using two clobbers, since
        !          3935:        unoptimized compiles call abort otherwise, when returning the result
        !          3936:        of truncating a float as a function result.
        !          3937: 
        !          3938:        * tm-mips.h (delay_type): New enum to express different types of
        !          3939:        delay slots.
        !          3940:        (mips_load_reg3, mips_load_reg4): Declarations for more registers
        !          3941:        to check for needing nops.  Used by multiply/divide to schedule
        !          3942:        the two nops needed after mfhi/mflo if the next instruction would
        !          3943:        clobber the register.
        !          3944:        (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP
        !          3945:        registers.
        !          3946:        (MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode
        !          3947:        patterns, in case the code is wrong.
        !          3948:        (HARD_REGNO_NREGS): All FP registers use register pairs, so that
        !          3949:        SF in a GP register takes only one register, and SI in a FP
        !          3950:        register takes 2.
        !          3951:        (HARD_REGNO_MODE_OK): Change macro to reference the array
        !          3952:        mips_hard_regno_mode_ok, which is now built in override_options.
        !          3953:        (CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is
        !          3954:        an exact power of 2, and 'P' is now for positive numbers.
        !          3955:        (PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP
        !          3956:        register.
        !          3957:        (PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it.
        !          3958:        (FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4
        !          3959:        being mentioned.  Also add a missing tab when more than one delay
        !          3960:        slot.
        !          3961:        (CONST_COSTS): Make all constant ints cost 0 to lower register
        !          3962:        pressure according to Richard Kenner.
        !          3963:        (RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS
        !          3964:        costs as well.
        !          3965:        (REGISTER_MOVE_COSTS): Bump costs for moving between register
        !          3966:        classes, so that reload doesn't try to store int type values in the
        !          3967:        floating point registers.
        !          3968: 
        !          3969: Wed Nov 27 15:01:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          3970: 
        !          3971:        * config-gcc.com: Renaming of out-vax.c.
        !          3972:        * make-cc1.com: Link dbxout with all languages.  Add cp-spew.
        !          3973: 
        !          3974:        * cccp.c (include_defaults_array): Fix typo.
        !          3975: 
        !          3976:        * gstddef.h: Handle _STDDEF_H_.
        !          3977: 
        !          3978:        * configure.bat, Makefile.dos: New files.
        !          3979: 
        !          3980:        * c-lex.c: New file.  All subroutines moved here.
        !          3981:        (yylex): Small diffs between C and OBJC merged.
        !          3982:        * c-parse.y, objc-parse.y: Deleted from here.
        !          3983:        * c-lang.c (lookup_interface): New stub.
        !          3984:        * Makefile.in (c-lex.o): New rule.
        !          3985:        (OBJC_OBJS, C_OBJS): Changed for new files.
        !          3986: 
        !          3987: Wed Nov 27 13:34:15 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          3988: 
        !          3989:        * c-parse.y (yylex): Don't assume that long is 32 bits and long
        !          3990:        long is 64 bits when warning for out of range integer constants,
        !          3991:        and when creating a tree to represent integer constants.
        !          3992:        * cp-lex.c (real_yylex): Likewise.
        !          3993:        * objc-parse.y (yylex): Likewise.
        !          3994: 
        !          3995:        * combine.c (simplify_comparison, ASHIFT case): Prevent shift by
        !          3996:        HOST_BITS_PER_INT for inequality comparisons.
        !          3997: 
        !          3998:        * fold-const.c (operand_equal_p): Arguments are not equal if
        !          3999:        signedness differs.  Conversions don't match if signedness differs.
        !          4000: 
        !          4001:        * sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that
        !          4002:        would require reloading by the use of conditions.
        !          4003: 
        !          4004:        * alloca.c (alloca): Add parens to make precedence clearer.
        !          4005: 
        !          4006:        * tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler
        !          4007:        will bootstrap.
        !          4008: 
        !          4009: Wed Nov 27 09:41:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4010: 
        !          4011:        * expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number
        !          4012:        in safe_from_p call.
        !          4013: 
        !          4014:        * recog.c (indirect_operand): Correctly handle case where we have
        !          4015:        a (subreg (mem X) C) after reload.
        !          4016: 
        !          4017: Tue Nov 26 16:24:03 1991  Ron Guilmette  (rfg at ncd.com)
        !          4018: 
        !          4019:        * dwarfout.c (output_enumeration_type_die): Handle a GNU C 
        !          4020:        language extension: incomplete enum types.
        !          4021: 
        !          4022:        * dwarfout.c (output_type): Fixed bug which causes DIEs for
        !          4023:        file-scope tagged types to be generated in a local-scope
        !          4024:        under some conditions.
        !          4025: 
        !          4026:        * dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which
        !          4027:        generates most of the .debug_aranges entries from dwarfout_init
        !          4028:        into dwarfout_finish to avoid m68k assembler bug.
        !          4029: 
        !          4030:        * Makefile.in (EXTRA_PARTS): New parameter.
        !          4031:        (install-common): Compile the things in EXTRA_PARTS.
        !          4032:        (GCC_PASSES, GCC_PARTS): New variables.
        !          4033:        (STAGESTUFF, native, enquire, enquire.o): Use them.
        !          4034:        (protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X):
        !          4035:        (gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise.
        !          4036: 
        !          4037:        * tm-svr4.h (CPP_PREDEFINES): Don't define this here.  Undef it
        !          4038:        so that other files which include this one will be forced to
        !          4039:        define it appropriately for the specific target and OS.
        !          4040:        (CPP_SPEC): Deleted.
        !          4041:        (LIB_SPEC): Add crtend.o as last thing linked in on each link-step.
        !          4042:        (STARTFILE_SPEC): Add crtbegin.o as the first thing linked in.
        !          4043:        (NO_DOLLAR_IN_LABEL):  Added define.  Most svr4's don't support $.
        !          4044: 
        !          4045:        * tm-svr4.h: Added support for the .ctors and .dtors sections
        !          4046:        (as for the m88k).
        !          4047:        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros.
        !          4048:        * tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE):  Deleted
        !          4049:        define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not
        !          4050:        try to use a dot when computing a function's size in a .size
        !          4051:        directive (because Tom Wood says that 88open doesn't approve
        !          4052:        of dot as an asm operand).
        !          4053: 
        !          4054:        * x-genix, x-i386sco, x-xenix (INSTALL): Define as cp.
        !          4055: 
        !          4056: Tue Nov 26 16:24:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4057: 
        !          4058:        * gcc.c (default_compilers): Pass -A* to cpp.
        !          4059: 
        !          4060:        * Make names unique if unpacked on MSDOG.
        !          4061:        * config/*.c: `out-' removed from all file names out-*.c.
        !          4062:        * x-hp*: Renamed from x-hp9k*.
        !          4063:        * tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h.
        !          4064:        * tm-hp*.h: `9k' removed from these names.
        !          4065:        * tm-isi*.h: `68' removed from these names.
        !          4066:        * tm-i860b.h, tm-i860bg.h: `sd' removed.
        !          4067:        * tm-i860g3.h: Renamed from tm-i860v3g.h.
        !          4068:        * tm-i386sun.h: Renamed from tm-sun386i.h.
        !          4069:        * tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h.
        !          4070:        * tm-sun3n3.h: Was tm-sun3os3nf.h.
        !          4071:        * tm-sun3n.h: Was tm-sun3-nfp.h.
        !          4072:        * tm-sun2o4.h: Was tm-sun2os4.h.
        !          4073:        * xm-hp320.h: Was xm-hp9k320.h.
        !          4074:        * xm-i386sun.h: Was xm-sun386i.h.
        !          4075:        * configure: Adjust for those renamings.
        !          4076: 
        !          4077:        * configure (m68000-hp-hpux*): Use xm-hp320.h.
        !          4078: 
        !          4079:        * stmt.c (expand_value_return): New subroutine.
        !          4080:        (expand_return): Use that.
        !          4081: 
        !          4082:        * make-gcc.com: New name for make.com.
        !          4083: 
        !          4084:        * stor-layout.c (layout_record): Return list of static members.
        !          4085:        (layout_type): Lay them out here.
        !          4086: 
        !          4087:        * expmed.c (init_expmed): Use 3 as shift count for shift_cost.
        !          4088: 
        !          4089:        * x-sco: File deleted.
        !          4090: 
        !          4091:        * print-tree.c (print_node): Always be brief for vector elts.
        !          4092: 
        !          4093: Tue Nov 26 07:42:41 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
        !          4094: 
        !          4095:        * cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC.
        !          4096: 
        !          4097: Mon Nov 25 21:51:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4098: 
        !          4099:        * optabs.c (emit_cmp_insn): If both operands are VOIDmode,
        !          4100:        put first operand into register, not second.
        !          4101: 
        !          4102:        * alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md:
        !          4103:        Don't allow a constant as the first operand to tstxx insns.
        !          4104:        * tahoe.md, vax.md: Likewise.
        !          4105:        * convex.md: Remove erroneous comment on tstsi.
        !          4106: 
        !          4107: Mon Nov 25 20:51:00 1991  DJ Delorie  ([email protected])
        !          4108: 
        !          4109:        * cccp.c (main): Look in env vars to override header dir list.
        !          4110:        * gcc.c (process_command): Likewise.
        !          4111: 
        !          4112:        * gcc.c (execute): Alternate way to get status on MSDOS.
        !          4113:        Error for -pipe on MSDOS.
        !          4114:        (pexecute): Alternate definition for MSDOS.
        !          4115:        (find_a_file): Handle new hook EXECUTABLE_SUFFIX.
        !          4116:        (EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS.
        !          4117:        (P_tmpdir): Add default definition for MSDOS.
        !          4118: 
        !          4119: Mon Nov 25 17:18:52 1991  Michael Collison  (collison at osf.org)
        !          4120: 
        !          4121:        * x-encrose: New file for mmax running OSF/1.
        !          4122:        * t-encrose: ditto.
        !          4123: 
        !          4124:        * ns32k.md (movsi): Use new constraint letters 'x' and 'y'
        !          4125:        representing the frame and stack pointer.
        !          4126:        (movhi,movqi): Add constraints and template code to allow moves
        !          4127:        between the floating point and general purpose registers.
        !          4128: 
        !          4129:        * tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage
        !          4130:        moves between the floating point registers and the frame and stack
        !          4131:        pointer.  Also discourage moves between the fp and general registers.
        !          4132:        (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
        !          4133:        REG_CLASS_FROM_LETTER): Add two new register classes representing
        !          4134:        the frame pointer and stack pointer respectively.
        !          4135:        (GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a
        !          4136:        base register. This causes reload to reject pseudo registers when
        !          4137:        REG_OK_STRICT is defined.
        !          4138: 
        !          4139:        * tm-i386rose.h: New file for 386 running on OSF/1.
        !          4140:        * x-i386rose: ditto
        !          4141:        * t-i386rose: ditto
        !          4142: 
        !          4143:        * config.subr: Added case for 'osf-'.
        !          4144:        * configure: Added case for i386-osfrose
        !          4145: 
        !          4146:        * tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing.
        !          4147:        (ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined
        !          4148:        nothing is passed to the assembler.
        !          4149:        (TARGET_DEFAULT): Changed so that, by default, no code is generated
        !          4150:        using the static base (sb) register.
        !          4151:        (OVERRIDE_OPTIONS): Removed in lieu of the new debug macros
        !          4152:        PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION.
        !          4153:        (DEFAULT_GDB_EXTENSIONS): Define it
        !          4154:        (PREFERRED_DEBUGGING_TYPE): Use it.
        !          4155: 
        !          4156: Mon Nov 25 17:18:52 1991  Jyrki Kuoppala  (jkp at batman.hut.fi)
        !          4157: 
        !          4158:        * ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1.
        !          4159:        (ashlqi3): likewise.
        !          4160:        (addsi3): don't use addr instead of addd on the 32532.
        !          4161: 
        !          4162:        * out-ns32k.c (calc_address_cost): don't assume unknown RTX codes
        !          4163:        have XEXP's which are rtx's.
        !          4164: 
        !          4165:        * ns32k.md (movsi): don't use addr for the 32532 immed displacements.
        !          4166:        (shift patterns): fixed a typo with %$%n.
        !          4167: 
        !          4168:        * out-ns32.c (calc_address_cost) new function.
        !          4169:        tm-ns32k.h (ADDRESS_COST): call calc_address_cost.
        !          4170: 
        !          4171:        * out-ns32k.c (print_operand_address): use error & debug_rtx if error.
        !          4172: 
        !          4173:        * tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't
        !          4174:        match anything on the 32532 to make negative arithmetic left
        !          4175:        shifts behave consistently.
        !          4176: 
        !          4177:        * ns32k.md (subsf+1): don't use ajdspb on the 32532.
        !          4178: 
        !          4179:        * tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for
        !          4180:        constraint 'I' if on 32532.
        !          4181: 
        !          4182:        * ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}.
        !          4183: 
        !          4184:        * ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532.
        !          4185: 
        !          4186:        * ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of
        !          4187:        n for offset.
        !          4188: 
        !          4189:        * ns32k.md (insv-1): use only register_operand with constraint
        !          4190:        "r" for operand 2, insd can't take constant offsets >= 8.
        !          4191:        (pattern insv-2): added another insv-like pattern, for
        !          4192:        offsettable operand.
        !          4193:        (insv): constraint should be "+g".
        !          4194:        (pattern before insv): installed an insv-like pattern
        !          4195:        with operand 0 having register_operand and SImode.
        !          4196: 
        !          4197:        * out-ns32k.c (print_operand): define as a void function.
        !          4198: 
        !          4199:        * ns32k.md (call_value): use operands[1], not operands[0] to check
        !          4200:        for CONSTANT_ADDRESS_P.
        !          4201: 
        !          4202:        * out-ns32k.c (print_operand): eliminate
        !          4203:        PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN.
        !          4204: 
        !          4205:        * tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P,
        !          4206:        not CONSTANT_P.
        !          4207: 
        !          4208:        * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT
        !          4209:        is not right because displacements are not 32-bit.  Use
        !          4210:        CONSTANT_ADDRESS_NO_LABEL_P instead.
        !          4211: 
        !          4212:        * tm-ns32k.h (output_move_double, output_shift_insn): New declarations.
        !          4213: 
        !          4214:        * out-ns32k.c (print_operand_address): Use fatal for errors.
        !          4215: 
        !          4216:        * ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40.
        !          4217: 
        !          4218:        * out-ns32k.c (print_operand): function moved from tm-ns32k.h.
        !          4219:        Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added
        !          4220:        macro PRINT_OPERAND_EXTRACT_FLOAT.
        !          4221: 
        !          4222:        * out-ns32k.c (print_operand_address): replaced the function with
        !          4223:        a more clean version, written for gas syntax.
        !          4224: 
        !          4225:        * ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not
        !          4226:        defined.
        !          4227:        (call_value): likewise.
        !          4228: 
        !          4229:        * ns32k.md (pattern after ashrsi3): added % before $ so the
        !          4230:        pattern works also for gas syntax.
        !          4231:        (pattern after ashrhi3): likewise.
        !          4232:        (pattern after ashrqi3): likewise.
        !          4233:        (pattern after lshrsi3): likewise.
        !          4234:        (pattern after lshrhi3): likewise.
        !          4235:        (pattern after lshrqi3): likewise.
        !          4236:        (pattern after rotrsi3): likewise.
        !          4237:        (pattern after rotrhi3): likewise.
        !          4238:        (pattern after rotrqi3): likewise.
        !          4239: 
        !          4240:        * ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since
        !          4241:        for now we only use GAS syntax.
        !          4242: 
        !          4243:        * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a
        !          4244:        condition in addition to CONSTANT_ADDRESS_P.
        !          4245: 
        !          4246:        * tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE
        !          4247:        == SYMBOL_REG, add TARGET_SB to the second-part condition.
        !          4248: 
        !          4249:        * ns32k.md (rotrsi3): fixed a typo NEGATE->NEG
        !          4250: 
        !          4251:        * tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not
        !          4252:        strictly according to the spec.
        !          4253: 
        !          4254:        * tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX
        !          4255:        etc, using gas syntax.
        !          4256: 
        !          4257:        * out-ns32k.c: removed macro FP_REG_P.
        !          4258: 
        !          4259:        * tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to
        !          4260:        2 since GAS syntax is the default assembler syntax now.
        !          4261:        (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call
        !          4262:        print_operand and print_operand_address in out-ns32k.c,
        !          4263:        respectively.
        !          4264: 
        !          4265:        * tm-ns32k.h: New macros TARGET_SB, TARGET_PIC.
        !          4266:        Dummy code for trampolines, calls fatal().
        !          4267:        Macro FP_REG_P moved here from out-ns32k.c.
        !          4268:        Some reorganizations of blocks.
        !          4269:        68000 -> ns32k.
        !          4270: 
        !          4271:        * tm-ns32k.h (TARGET_VERSION) says GAS syntax.
        !          4272:        (TARGET_*) added some empty lines for clarity.
        !          4273: 
        !          4274: Mon Nov 25 14:29:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4275: 
        !          4276:        * Makefile.in (aux-output.o): Depend on insn-codes.h.
        !          4277: 
        !          4278:        * make-cc1.com: Handle print-rtl.c.
        !          4279: 
        !          4280:        * toplev.c (warn_aggregate_return): New variable.
        !          4281:        (W_options): Define option to set it.
        !          4282:        * flags.h: Declare it.
        !          4283:        * calls.c (expand_call): Print warning if value is aggregate.
        !          4284:        * function.c (init_function_start): Likewise.
        !          4285: 
        !          4286: Mon Nov 25 13:29:50 1991  Per Bothner  (bothner at cygnus.com)
        !          4287: 
        !          4288:        * cp-except.c (init_exception_processing): Fix return type of
        !          4289:        longjmp (from int to void).
        !          4290: 
        !          4291: Mon Nov 25 13:11:51 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4292: 
        !          4293:        * rtlanal.c (refers_to_regno_p): Check for `x == 0' on repeat.
        !          4294: 
        !          4295:        * x-mips, xm-vms.h: Change cplus-* to cp-* in comments.
        !          4296:        * x-tower (X_CFLAGS): Add missing `-'.
        !          4297: 
        !          4298:        * unroll.c (unroll_loop): When simplifying loops executed only once,
        !          4299:        use last_loop_insn not copy_end.
        !          4300: 
        !          4301: Mon Nov 25 07:45:46 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
        !          4302: 
        !          4303:        * cp-except.c (init_exception_processing): Mark `ExceptionHandler'
        !          4304:        constructor and destructor as being TREE_EXTERNAL, and mark the
        !          4305:        `ExceptionHandler' type as being interface-only.
        !          4306: 
        !          4307:        * cp-decl.c (maybe_globalize_type): Don't test TYPE_BEING_DEFINED
        !          4308:        for ENUMERAL_TYPE.
        !          4309: 
        !          4310:        * cp-class.c (modify_vtable_entry): Disable code which attempts to
        !          4311:        encode in a vtable an indirection to another vtable entry.
        !          4312: 
        !          4313:        * cp-call.c (build_method_call): Convert FUNCTION to
        !          4314:        DECL_MAIN_VARIANT (FUNCTION) once we are going to use it for real.
        !          4315:        * cp-init.c (build_delete): Use DECL_MAIN_VARIANT (DTOR).  *
        !          4316:        * cp-typeck.c (mark_addressable): Use DECL_MAIN_VARIANT (X).
        !          4317: 
        !          4318: Mon Nov 25 00:41:14 1991  Per Bothner  (bothner at cygnus.com)
        !          4319: 
        !          4320:        * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
        !          4321:        20) was a little too drastic: If it succeded, no type info was
        !          4322:        emitted at all, which made for syntactically invalid stabs.
        !          4323:        Instead, just set 'full=0',
        !          4324:        * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
        !          4325:        little cleaner.  It *seems* to work ...
        !          4326: 
        !          4327: Sun Nov 24 19:32:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4328: 
        !          4329:        * sched.c (update_links): Use PUT_REG_NOTE_KIND to change REG_NOTE.
        !          4330: 
        !          4331: Sun Nov 24 14:53:37 1991  Ron Guilmette  (rfg at ncd.com)
        !          4332: 
        !          4333:        * cccp.c: Add `return 0;' statements to all do_* functions which
        !          4334:        needed them to prevent spurious warnings.  Also change plain
        !          4335:        `return;' statements to `return 0;' statements where appropriate.
        !          4336: 
        !          4337: Sun Nov 24 07:37:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4338: 
        !          4339:        * cse.c (cse_insn): When making equivalences of subparts of
        !          4340:        a SET, avoid putting a (hard) register in the hash table twice,
        !          4341:        each time with different modes.
        !          4342: 
        !          4343:        * genrecog.c (write_tree_1,change_state): Don't check for a position
        !          4344:        containing a '*' since we don't set it to that.
        !          4345:        (main): Don't define recog_addr_dummy; no longer used.
        !          4346:        * recog.c (recog_addr_dummy): No longer needed; wasn't actually used.
        !          4347:        (init_recog_no_volatile, init_recog): Don't set recog_addr_dummy.
        !          4348: 
        !          4349:        * expmed.c (store_split_bit_field, extract_bit_field): Abort if 
        !          4350:        operand_subword of target returns 0.
        !          4351:        * expr.c (convert_move, move_block_from_reg, emit_move_insn): Likewise.
        !          4352: 
        !          4353:        * combine.c (subst, case SUBREG): Don't allow making a SUBREG of
        !          4354:        a hard reg in a mode not valid for that hard reg.
        !          4355:        * emit-rtl.c (gen_lowpart_common, operand_subword): Likewise.
        !          4356: 
        !          4357:        * expmed.c (extract_split_bit_field): Use operand_subword_force.
        !          4358:        * expr.c (emit_move_insn): If operand_subword fails for non-const,
        !          4359:        use operand_subword_force.
        !          4360: 
        !          4361:        * expmed.c (expand_mult): Pass OP0 through protect_from_queue so we can
        !          4362:        use it in a REG_EQUAL note and check it for being a MEM.
        !          4363: 
        !          4364:        * rtl.def (SMIN, SMAX, UMIN, UMAX): New RTL codes.
        !          4365:        * fold-const.c (const_binop, case MIN_EXPR, MAX_EXPR): Use MIN and MAX.
        !          4366:        (fold, case MIN_EXPR, MAX_EXPR): Check for operands equal; check for
        !          4367:        min (x, lowest-value-for-type) and max (x, highest-value-for-type).
        !          4368:        (fold, case COND_EXPR): Look for conditionals that are equivalent
        !          4369:        to ABS_EXPR, MIN_EXPR, or MAX_EXPR and convert them to the appropriate
        !          4370:        expression.
        !          4371:        * expr.h (smin_optab, smax_optab, umin_optab, umax_optab): New vars.
        !          4372:        * gcc.texinfo (smin, smax, umin, umax): Add documentation.
        !          4373:        * expr.c (expand_expr, case ABS_EXPR): Ignore ABS on unsigned types.
        !          4374:        If jumps are expensive, we can do ABS with shifts and xors.
        !          4375:        (expand_expr, case MIN_EXPR, MAX_EXPR): Try to do using new optabs.
        !          4376:        * optabs.c (smin_optab, smax_optab, umin_optab, umax_optab):
        !          4377:        Initialize new optabs.
        !          4378:        * cse.c (simplify_binary_operation): New cases SMIN, SMAX, UMIN, UMAX.
        !          4379:        * rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): New patterns.
        !          4380:        * m88k.md (abssi2): Delete pattern; now done in expr.c.
        !          4381: 
        !          4382:        * rs6000.md (scc): Correct typos in last change.
        !          4383: 
        !          4384:        * expmed.c (expand_mult): TARGET will only be written once, so
        !          4385:        function return register is OK.
        !          4386:        Write a REG_EQUAL note so multiplications can be cse'ed.
        !          4387: 
        !          4388:        * expmed.c (emit_store_flag): Skip trying most sequences of insns
        !          4389:        if branches are very cheap (BRANCH_COST == 0).
        !          4390:        * expr.c (expand_expr, case COND_EXPR): Check for BRANCH_COST <= 1,
        !          4391:        not equal to 1.
        !          4392:        Know that emit_store_flag won't do most sequence if branches are very
        !          4393:        cheap.
        !          4394: 
        !          4395:        * tm-vax.h (BRANCH_COST): Define to be equal to zero.
        !          4396: 
        !          4397: Sun Nov 24 07:07:31 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          4398: 
        !          4399:        * cp-decl.c (maybe_globalize_type): Don't globalize a type that's
        !          4400:        being defined.
        !          4401: 
        !          4402: Sun Nov 24 05:08:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4403: 
        !          4404:        * c-decl.c (finish_struct): Use main variant checking ANSI bitfields.
        !          4405: 
        !          4406:        * tm-tower-as.h (ASM_FILE_START): Use output_file_directive.
        !          4407: 
        !          4408:        * gcc.c (process_command): Treat `-' as file name, not option.
        !          4409: 
        !          4410: Sat Nov 23 20:28:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4411: 
        !          4412:        * cse.c (simplify_binary_operation): Remove duplicate code for SFmode
        !          4413:        and DFmode; use of REAL_VALUE_TRUNCATE means that all modes can be
        !          4414:        handled with the same code.
        !          4415:        Truncate result as well as inputs to computations.
        !          4416: 
        !          4417:        * cse.c (cse_basic_block): Allow recording of destinations in the
        !          4418:        final insn of a LIBCALL block.
        !          4419: 
        !          4420:        * flow.c (insn_dead_p): Add new argument CALL_OK.
        !          4421:        (propagate_block): Pass new arg.
        !          4422:        (libcall_dead_p): Indicate that we can accept a CALL when we use
        !          4423:        insn_dead_p to see if the destination of the CALL is dead.
        !          4424: 
        !          4425:        * genrecog.c (struct decision): Remove fields `dupcount'
        !          4426:        and `reg_class' and all references; they were being set but never
        !          4427:        used and are now obsolete.
        !          4428: 
        !          4429:        * emit-rtl.c (gen_lowpart_common, operand_subword): Don't make
        !          4430:        a new REG for the function return value until we after the RTL
        !          4431:        is copied for possible inlining; use a SUBREG instead.
        !          4432: 
        !          4433:        * combine.c (can_combine_p): Don't move insn past a volatile ref if
        !          4434:        it is an `asm', even if non-volatile.
        !          4435: 
        !          4436:        * gmicro.md: Fix punctuation problem causing syntax error.
        !          4437: 
        !          4438:        * tm-rs6000.h (CONST_OK_FOR_LETTER_P): Add `O' and `P'.
        !          4439:        * out-rs6000.c (reg_or_neg_short_operand): New function.
        !          4440: 
        !          4441:        * rs6000.md (attribute "type"): New type `delayed_compare'.
        !          4442:        Add define_function_unit for delayed comparisons.
        !          4443:        Mark comparison results of certain insns as being delayed for
        !          4444:        longer that normal comparison results; add a new missing types
        !          4445:        of `compare'.
        !          4446:        (seq, sle): Remove special-cases for (const_int 0) operands; use
        !          4447:        alternative with constraint of `O' instead.
        !          4448:        (sltu, sgeu): Support most constants in second operand.
        !          4449: 
        !          4450:        * cse.c (prev_insn_cc0_mode): New variable.
        !          4451:        (fold_rtx): When folding CC0, get the mode from prev_insn_cc0_mode.
        !          4452:        (cse_insn): Save mode of SET of CC0 in prev_insn_cc0_mode.
        !          4453: 
        !          4454: Sat Nov 23 17:01:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4455: 
        !          4456:        * expmed.c (init_expmed): Make REG a pseudo, not a hard reg.
        !          4457: 
        !          4458:        * tm-m68k.h (RTX_COSTS): New macro.
        !          4459: 
        !          4460:        * varasm.c (make_decl_rtl): Get rid of pedantic warning.
        !          4461: 
        !          4462:        * gcc.c (link_command_spec): Delete code for handling -collect.
        !          4463:        (default_compilers): Get rid of the %x for g++.
        !          4464:        This is because now collect is always supposed to be run.
        !          4465: 
        !          4466:        * tm-vms.h (ASM_OUTPUT_COMMON): Avoid void as type in :? operator.
        !          4467:        * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
        !          4468:        Likewise.
        !          4469:        * tm-vaxv.h (ASM_OUTPUT_ASCII): Declare `s' as unsigned char *.
        !          4470:        * tm-crds.h (FUNCTION_EPILOGUE): Don't call FUNCTION_EXTRA_EPILOGUE.
        !          4471: 
        !          4472:        * configure (i386-dontknow-*, ns32k-*-*): Alternatives deleted.
        !          4473:        (m68k-tti2-*): Deleted.
        !          4474:        (m68k-tti-*): Renamed from m68k-tti1-*.
        !          4475: 
        !          4476:        * i860.md (floatsidf2): Escape the doublequotes.
        !          4477: 
        !          4478:        * Makefile.in (final.o): Add insn-codes.h as dep.
        !          4479:        (OBJS): Add dbxout.o.
        !          4480:        (C_OBJS, OBJC_OBJS): Deleted here.
        !          4481:        (CPLUS_OBJS): Deleted cp-dbxout.o.
        !          4482:        (cp-dbxout.o): Target deleted.
        !          4483: 
        !          4484: Sat Nov 23 06:33:24 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          4485: 
        !          4486:        * cp-spew.c (yylex): Don't see TYPENAME if LOOKING_FOR_TYPENAME
        !          4487:        is < 0.  Definitely see TYPENAME if LOOKING_FOR_TYPENAME > 0.
        !          4488: 
        !          4489:        * cp-decl.c (grokdeclarator): Any type construction that uses a
        !          4490:        struct/union/enum type that is not yet defines pushes that type into
        !          4491:        the global namespace.
        !          4492: 
        !          4493:        * cp-spew.c (discard_token): Renamed from `eat_token'.
        !          4494:        Also, make all local functions static.  Some day we'll use inlining.
        !          4495: 
        !          4496: Thu Nov 21 16:06:14 1991  Mark Eichin  (eichin at cygnus.com)
        !          4497: 
        !          4498:        * Makefile.in: added rule for cp-spew.o
        !          4499: 
        !          4500:        * cp-parse.y (TYPENAME_SCOPE): added an action, since it is no
        !          4501:        longer done in the lexer.
        !          4502:        (yyprint): Took out case for TYPENAME_SCOPE.
        !          4503: 
        !          4504:        * cp-lex.c (real_yylex): renamed from yylex. Also all of the code
        !          4505:        dealing with nested classes has been #if 0'd in favor of the code in
        !          4506:        cp-spew.c.
        !          4507: 
        !          4508:        * cp-spew.c (New File): This calls yylex (which is now real_yylex)
        !          4509:        and looks ahead as far as possible to bind up nested classes and
        !          4510:        pass them on to the parser.
        !          4511: 
        !          4512: Thu Nov 21 18:14:11 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4513: 
        !          4514:        * out-sparc.c (output_function_epilogue): Correct parameters in
        !          4515:        call to final_scan_insn, write_symbols parameter no longer exists.
        !          4516: 
        !          4517:        * integrate.c (save_for_inline_copying): Use GET_RTX_CLASS.
        !          4518: 
        !          4519: Thu Nov 21 17:44:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4520: 
        !          4521:        * gcc.texinfo (PCC_BITFIELD_TYPE_MATTERS): Clarify that macro
        !          4522:        must always be non-zero unless MEM extv/extzv/insv exist.
        !          4523: 
        !          4524:        * romp.md (movdi): Disable define_split when we are moving
        !          4525:        between overlapping registers prior to reload to work
        !          4526:        around hard-to-fix sched.c bug.
        !          4527: 
        !          4528: Thu Nov 21 17:14:54 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4529: 
        !          4530:        * jump.c (invert_exp): Correct typo in comment.
        !          4531: 
        !          4532: Thu Nov 21 15:34:27 1991  Michael Meissner  (meissner at osf.org)
        !          4533: 
        !          4534:        * gcc.texinfo (warning options): Make the documentation agree with
        !          4535:        the code, -Wstrict-prototypes and -Wmissing-prototypes are not
        !          4536:        turned on via -Wall; -Wnoparenthesis is now spelled
        !          4537:        -Wno-parenthesis.
        !          4538:        (option header): Mention that -W options take the no- prefix as well
        !          4539:        as -f options.
        !          4540: 
        !          4541: Thu Nov 21 08:12:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          4542: 
        !          4543:        * out-m88k.c (check_float_value): Change use of REAL_VALUE_TRUNCATE.
        !          4544:        * tm-m88k.h (FLOAT_TO_INT_INTERNAL): Ditto.
        !          4545:        (AS_BUG_POUND_TYPE): Simplify.
        !          4546:        * tm-m88kdgux.h: Don't need AS_BUG_DOT_LABELS or AS_BUG_POUND_TYPE.
        !          4547: 
        !          4548: Thu Nov 21 06:47:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4549: 
        !          4550:        * rs6000.md (scc): Add missing '&' in some alternatives of constraints.
        !          4551: 
        !          4552:        * a29k.md (negdf2): Fix typo in constraints for SCRATCH in 29050 case.
        !          4553: 
        !          4554:        * real.h (REAL_VALUE_TRUNCATE): Default is to truncate to float if
        !          4555:        mode size is BITS_PER_WORD instead of when mode if SFmode.
        !          4556: 
        !          4557: Thu Nov 21 01:58:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4558: 
        !          4559:        * dbxout.c (dbxout_type): Test TYPE_BINFO before TYPE_BINFO_BASETYPES.
        !          4560: 
        !          4561: Thu Nov 21 01:45:53 1991  Ken Raeburn  ([email protected])
        !          4562: 
        !          4563:        * cp-parse.y (unary_expr): Break out `new' expressions with
        !          4564:        parenthesized types into more basic forms, and handle trailing array
        !          4565:        dimensions with an appropriate warning message.
        !          4566: 
        !          4567:        * cp-class.c (pushclass): For UPType, overload the template name.
        !          4568:        (popclass): For UPType, undo the overload.
        !          4569: 
        !          4570:        * cp-decl.c (pop_decl_level): Don't look up DECL_NAME slot of a
        !          4571:        null pointer.
        !          4572:        (pushdecl_top_level): Reworked handling of shadow lists to be
        !          4573:        correct.
        !          4574:        (lookup_tag): Bypass redefinition error message for UPT as well as
        !          4575:        for TEMPLATE_DECL.
        !          4576:        (start_decl): Add template decls only to top level.  Print message
        !          4577:        for non-function, non-class templates.
        !          4578:        (finish_decl): Disable code that renames anonymous types; leave it
        !          4579:        disabled until we figure out why it was being done in the first
        !          4580:        place.
        !          4581:        (grokdeclarator): Eliminate hack to deal with destructor templates.
        !          4582:        Extend some code handling constructors to handle destructors as
        !          4583:        well.  Deleted some unnecessary code dealing with function
        !          4584:        templates.
        !          4585: 
        !          4586:        * cp-decl2.c (constructor_name): Treat class template decl like
        !          4587:        type decl.
        !          4588: 
        !          4589:        * cp-lex.c (store_pending_inline): If a function is not to be
        !          4590:        compiled, discard its text only if can_free flag is set.
        !          4591: 
        !          4592:        * cp-decl.c (start_function): For `pre-parsed' functions, only
        !          4593:        set extern-inline flag if inline flag is set.
        !          4594:        * cp-lex.c (do_pending_inlines): Don't set inline flag for method
        !          4595:        templates, regardless of default-inline flag setting.
        !          4596:        (process_next_inline): Ditto.
        !          4597: 
        !          4598:        * cp-method.c (dump_type): Do something semi-useful with UPT
        !          4599:        nodes, instead of crashing.
        !          4600:        (fndecl_as_string): For constructor and destructor, use name of
        !          4601:        function rather than looking up class constructor name; should be
        !          4602:        the same, and it's cheaper this way.
        !          4603:        (build_overload_name): Make template-related names unique, as well
        !          4604:        as unlikely to be accepted by the assembler.
        !          4605: 
        !          4606:        * cp-parse.y (yyprint): Handle PRE_PARSED_CLASS_DECL.
        !          4607:        (template_def): In case handling destructors, pass new decl to
        !          4608:        end_template_decl, rather than ungrokked call_expr node.  Rewrote
        !          4609:        last derivation.
        !          4610:        (scoped_typename): Don't try building from template type; it doesn't
        !          4611:        work.
        !          4612:        (try_for_typename): Treat typename using template parms like any
        !          4613:        other typename.
        !          4614: 
        !          4615:        * cp-pt.c: New comment at start lists some known problems.
        !          4616:        (end_template_decl): Do nothing for error_mark_node.  Check
        !          4617:        DECL_CLASS_CONTEXT and DECL_EXTERNAL when setting TREE_EXTERNAL
        !          4618:        field of template decl.  Don't need to pop extra class level for
        !          4619:        non-operators any more, but do need to assign class context field.
        !          4620:        (instantiate_member_templates): Now returns void.
        !          4621:        (tsubst, case FUNCTION_DECL): Process flag fields of method as for
        !          4622:        other functions.  Handle class context field.  Push decl at top
        !          4623:        level only if decl context is null.
        !          4624:        (tsubst, case TREE_LIST): Use via-public and via-virtual fields.
        !          4625:        (do_pending_expansions): Correct handling of methods.
        !          4626: 
        !          4627:        * cp-pt.c (overload_template_name): If not class-level, push
        !          4628:        extra binding level.  Disable check that overload hasn't already
        !          4629:        been done; for now, it's needed.
        !          4630:        (undo_template_name_overload): Pop it.
        !          4631: 
        !          4632: Thu Nov 21 00:15:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4633: 
        !          4634:        * dbxout.c (dbxout_type_methods): Don't dereference TYPE_NAME and
        !          4635:        ctor_name until after checking for non-null methods.
        !          4636: 
        !          4637:        * sched.c (create_reg_dead_note): New function.  Add a REG_DEAD note
        !          4638:        for REG to INSN, reusing a REG_DEAD note from the dead_notes line.
        !          4639:        (attach_deaths): Add quick exit for many rtx that can't contain a
        !          4640:        register.  Rewrite REG_DEAD note code to use the new scheme (see
        !          4641:        the Nov 1 ChangeLog entry).
        !          4642:        (new_insn_dead_notes): Don't add a REG_DEAD note to an insn that
        !          4643:        already has one.
        !          4644:        (update_links): Must convert REG_UNUSED notes to REG_DEAD when a
        !          4645:        register formerly just clobbered is now explicitly set and used in
        !          4646:        the new split insns.
        !          4647: 
        !          4648: Wed Nov 20 18:02:38 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4649: 
        !          4650:        * c-decl.c, cccp.c: Change all -Wno options to
        !          4651:        -Wno- options so as to be consistent with toplev.c, and so as
        !          4652:        to also be consistent with the -fno- options.
        !          4653:        * objc-actions.c: Add a -Wno-selector option to match the
        !          4654:        -Wselector option.
        !          4655: 
        !          4656:        * gcc.c (default_compilers): Pass all -W options to cpp, so that
        !          4657:        -Wno options will be passed along with the -W options that it
        !          4658:        understands.
        !          4659:        * cccp.c (main): Accept -Wno option counterparts for every
        !          4660:        existing option.
        !          4661: 
        !          4662: Wed Nov 20 00:03:41 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          4663: 
        !          4664:        * cp-tree.c (lang_output_debug_info): Deleted.
        !          4665:        * cp-class.c (finish_struct): Set DECL_IGNORED_P on the TYPE_DECL
        !          4666:        nodes for types that should not have their debugging info written
        !          4667:        out.
        !          4668:        * dbxout.c (dbxout_{symbol,type}): Check DECL_IGNORED_P for
        !          4669:        TYPE_DECLs of RECORD_TYPE nodes.
        !          4670: 
        !          4671:        * cp-decl.c (grok_op_properties): Fix bug in grokking NEW_EXPR
        !          4672:        and DELETE_EXPR operators.
        !          4673:        * cp-method.c (hack_operator): Deleted.
        !          4674:        * cp-init.c (init_init_processing): Use `ansi_opname' for
        !          4675:        {NEW,DELETE}_EXPR instead of calling hack_operator and build_opid.
        !          4676:        * cp-decl2.c (grokopexpr): Deleted.
        !          4677:        * cp-lex.c (build_opid): Deleted.
        !          4678:        * cp-class.c (build_instantiated_decl): Deleted.
        !          4679:        * All cp-* files: OP_IDENTIFIER is no longer used.
        !          4680: 
        !          4681:        * cp-parse.y (operator_name): For most cases, Use `ansi_opname'
        !          4682:        directly instead of calling `build_opid'.
        !          4683: 
        !          4684: Tue Nov 19 16:02:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4685: 
        !          4686:        * c-decl.c (xref_tag): If we find wrong kind of type, return it.
        !          4687:        (lookup_tag): Fill in pending_invalid_xref_file, ..._line.
        !          4688: 
        !          4689:        * real.h (REAL_VALUE_TRUNCATE): New argument MODE.
        !          4690:        * cse.c (simplify_unary_operation, simplify_binary_operation):
        !          4691:        Pass that arg.
        !          4692:        * c-parse.y, objc-parse.y, cp-lex.c (yylex): Likewise.
        !          4693:        * fold-const.c (combine): Truncate floating result to fit mode.
        !          4694:        (fold): Don't add 1 to float constant if that doesn't change the value.
        !          4695: 
        !          4696: Tue Nov 19 09:37:36 1991  Michael Meissner  (meissner at osf.org)
        !          4697: 
        !          4698:        * configure (ns32k-encore-osf): Restore Encore Multimax using the
        !          4699:        OSF/rose object format, since the necessary files, such as
        !          4700:        tm-encrose.h, are present in the distribution.
        !          4701: 
        !          4702: Mon Nov 18 21:38:13 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4703: 
        !          4704:        * out-sparc.c (output_cbranch): Always emit a nop before a FP branch
        !          4705:        to avoid illegal assembly output.
        !          4706:        * sparc.md: Don't define delay slot for FP compare insns.  This was
        !          4707:        meant to solve the above problem, but fails with insn scheduling.
        !          4708: 
        !          4709:        * sparc.md (movsi): Must accept 'f' in addition to 'r' because
        !          4710:        combine can convert FP hard registers to SImode.
        !          4711: 
        !          4712: Mon Nov 18 13:43:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4713: 
        !          4714:        * rtlanal.c (replace_regs): Correct code that prevents nested SUBREGs.
        !          4715: 
        !          4716: Mon Nov 18 13:43:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4717: 
        !          4718:        * c-decl.c (finish_decl): Reinstall lost end_temporary_allocation.
        !          4719: 
        !          4720:        * tree.h (DECL_LANG_FLAG_8): Deleted.
        !          4721:        * print-tree.c (print_node): Don't use it. Do print DECL_IGNORED_P.
        !          4722: 
        !          4723: Mon Nov 18 06:59:37 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          4724: 
        !          4725:        * cp-decl.c (value_identifier): Gone, following c-decl.c.  Now use
        !          4726:        zero DECL_NAME for this purpose.
        !          4727:        * cp-typeck.c: Also affected by this change.
        !          4728: 
        !          4729:        * c-lang.c, objc-lang.c (lang_output_debug_info): New function.
        !          4730:        * dbxout.c (dbxout_type_methods): Fix minor problems arising from
        !          4731:        assuming all RECORD_TYPE are C++ RECORD_TYPE nodes.
        !          4732:        (dbxout_type): Ditto.
        !          4733: 
        !          4734: Sun Nov 17 17:33:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4735: 
        !          4736:        * tree.c (struct obstack_stack): New slots expression and rtl.
        !          4737:        (push_obstacks, push_obstacks_nochange, pop_obstacks):
        !          4738:        Save and restore all 4 obstack vars individually.
        !          4739: 
        !          4740:        * c-decl.c (start_decl): Call push_obstacks_nochange here.
        !          4741:        (push_parm_decl, grokfield): Also here.
        !          4742:        (finish_decl): Not here.
        !          4743:        Also clean up test for whether to replace DECL_INITIAL with error mark.
        !          4744: 
        !          4745: Sun Nov 17 14:25:15 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          4746: 
        !          4747:        * cp-typeck.c (c_expand_return): Be more careful about throwing
        !          4748:        away only cleanup generated by 'build_functional_cast'.
        !          4749: 
        !          4750:        * cp-init.c (build_new): Use TRUE_TYPE instead of TYPE more
        !          4751:        consistently, in case TYPE is really an ARRAY_TYPE on its own.
        !          4752: 
        !          4753:        * cp-dbxout.c: Gone.  Now G++ uses dbxout.c.
        !          4754:        * cp-tree.h (OPERATOR_NAME_P): Changed to IDENTIFIER_OPNAME_P.
        !          4755:        (OPERATOR_TYPENAME_P): Changed to IDENTIFIER_TYPENAME_P.
        !          4756:        (OPERATOR_{NEW,DELETE}_FORMAT): Deleted.
        !          4757:        * cp-lex.c (ansi_{opname,assopname}): New variables.  All cp-* files
        !          4758:        changed to use these where comparisons against *_FORMAT were made.
        !          4759:        (init_lex): Initialize `ansi_{opname,assopname}' arrays.
        !          4760:        Also, update {opname,assignop}_tab grok new ANSI equivalences.
        !          4761:        (build_operator_fnname): Changed to build ANSI-style overloaded
        !          4762:        names.
        !          4763:        * cp-dem.c (optable): Add new ANSI equivalences.
        !          4764:        (cplus_demangle): Fixed to recognize new ANSI demangling.  Note that
        !          4765:        old-style destructors, and possibly other codes were broken by the
        !          4766:        (undocumented) 27 Oct changes.
        !          4767: 
        !          4768:        * cp-decl2.c (grokclassfn): Set DECL_CLASS_CONTEXT here.
        !          4769:        * cp-class.c (finish_struct): Don't skip over FUNCTION_DECL that
        !          4770:        already has a DECL_CLASS_CONTEXT.
        !          4771: 
        !          4772:        * cp-except.c (cplus_expand_end_try): Set BLOCK_HANDLER_BLOCK for
        !          4773:        blocks that handle exceptions.
        !          4774:        (EXCEPTION_NAME_PREFIX): Shorted to "__ex" (from "__exception").
        !          4775:        (EXCEPTION_NAME_LENGTH): Reduced to 4 from 12.
        !          4776: 
        !          4777:        * dbxout.c (flag_minimal_debug): Define new variable that is
        !          4778:        non-zero when symtab output routines can output abbreviated.
        !          4779:        (dbxout_type_fields): Move code that writes out debugging info about
        !          4780:        fields of RECORD_TYPE and UNION_TYPE nodes from `dbxout_type' into
        !          4781:        this function. 
        !          4782:        (dbxout_type_{method,method_1}): Move code from `dbxout_type' into
        !          4783:        these new functions.
        !          4784:        (dbxout_type): Now writes out info about basetypes.  Also, no longer
        !          4785:        need to record info about types having ctors, dtors, or both.  GDB
        !          4786:        now figures out what it needs to, when it needs to.
        !          4787:        (dbxout_symbol): Implement special abbreviated form for C++ classes,
        !          4788:        which place their names in both the struct and decl namespaces.
        !          4789:        (dbxout_block): Write out special debugging stabs for exception
        !          4790:        handler blocks.
        !          4791: 
        !          4792:        * tree.h (BLOCK_HANDLER_BLOCK): Define new flag to indicate that a
        !          4793:        BLOCK is an exception handler block (a `catch' block for C++).
        !          4794:        (TREE_VFIELD, DECL_IGNORED_P): New macros.
        !          4795: 
        !          4796: Sat Nov 16 22:21:56 1991  Jeffrey A Law  (law at super.super.org)
        !          4797: 
        !          4798:        * tm-m68k.h (CONST_COSTS): Integer values between -128 and 127
        !          4799:        inclusive are very cheap because of moveq.  
        !          4800: 
        !          4801: Sat Nov 16 00:40:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4802: 
        !          4803:        * Makefile.in (install-cross-tools): Avoid clobbering symlinks already
        !          4804:        made.  Double the $ before the @ in the indirection script.
        !          4805: 
        !          4806:        * t-decstatn: New file.
        !          4807:        * configure: (mips-dec-ultrix*): Use t-decstatn.
        !          4808: 
        !          4809:        * collect-ld: Always run collect if collect is installed.
        !          4810: 
        !          4811:        * collect-osf.c, enquire.c, gnulib2.c: Use gstddef.h, not stddef.h.
        !          4812: 
        !          4813:        * gnulib2.c (__eprintf): Undef NULL.
        !          4814: 
        !          4815:        * c-typeck.c (build_array_ref): Ref is volatile if array is volatile.
        !          4816: 
        !          4817: Fri Nov 15 19:53:41 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4818: 
        !          4819:        * c-typeck.c (build_binary_op_nodefault): Delete ERROR_CODE
        !          4820:        argument because it is always the same as CODE.  Add new argument
        !          4821:        CONVERT_P, and call default_conversion on the operand trees if
        !          4822:        true.  Rename to build_binary_op.
        !          4823:        (old build_binary_op): Deleted because it is now unnecessary.
        !          4824:        * c-common.c, c-convert.c, c-decl.c, c-tree.h, c-typeck.c: All
        !          4825:        callers and other references to build_binary_op* fixed.
        !          4826:        * c-typeck.c (new build_binary_op): Add warning message for
        !          4827:        comparisons of signed and unsigned variables that won't give the
        !          4828:        expected result due to unexpected sign extension.
        !          4829: 
        !          4830:        * expr.c (convert_move): Add TFmode support and clean up code.
        !          4831:        * optabs.c (init_fixtab): Add TFmode support.
        !          4832:        (init_floattab): Likewise.
        !          4833:        (expand_float): Likewise.
        !          4834:        (expand_fix): Likewise.
        !          4835:        (init_optabs): Likewise.
        !          4836: 
        !          4837:        From Per Bothner:
        !          4838:        * collect2.c: Define vfork as fork for USG.  Rewrite to not use
        !          4839:        prototypes, so it doesn't need gcc for compilation.
        !          4840:        (main): No longer uses static sized array for ld arguments, so
        !          4841:        that long command lines will work.  Vfork ld instead of running
        !          4842:        via popen with nm.
        !          4843:        (write_hooks): Use type names not variable names in sizeof calls.
        !          4844: 
        !          4845: Fri Nov 15 15:01:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4846: 
        !          4847:        * fold-const.c (size_int): Properly preserve old obstack settings.
        !          4848:        * c-decl.c (finish_decl, grokdeclarator, xref_tag): Likewise.
        !          4849:        * stor-layout.c (layout_type): Likewise.
        !          4850:        * varasm.c (output_constant_def): Likewise.
        !          4851:        * tree.c (push_obstacks_nochange): New function.
        !          4852: 
        !          4853:        * stor-layout.c (layout_type): Make size of temp type saveable.
        !          4854:        * tree.c (saveable_allocation): New function.
        !          4855: 
        !          4856:        * configure: Comment out certain alternatives not yet updated.
        !          4857:        (sparc-unicom-*, m68k-tti1-*, m68-tti2-*): New alternatives.
        !          4858:        (m88k-*-v88r32*): New alternative.
        !          4859:        (i386-alternate-sysv): New alternative, not sure why.
        !          4860:        (sparc-*-sysv*): Commented out--not really supported.
        !          4861: 
        !          4862: Fri Nov 15 22:22:32 PDT 1991  Mike Stump (mrs at csun.edu)
        !          4863: 
        !          4864:        * configure: Recognize only canonical names.  Added missing entries
        !          4865:        for some configurations that obviously have not been tested in a
        !          4866:        while.
        !          4867: 
        !          4868:        * config.subr: Massive overhaul.  It claimed to canonicalize
        !          4869:        the machine specification, but it never really did.  Now it
        !          4870:        does.  In general, it is not necessary to specify the os for
        !          4871:        popular machines that have a popular os, or given the os, it
        !          4872:        can sometimes figure out the vendor.  Added in all the old
        !          4873:        ways of specifying machines from configure.  Also added
        !          4874:        support for all (before it was missing a few) of the tm-*.h
        !          4875:        files.  It now supports the concept of guessing the vendor for
        !          4876:        a given CPU type.  It now supports the concept of guessing the
        !          4877:        os version given the vendor and/or the CPU type.  Changed the
        !          4878:        default os for vax to ultrix, changed the default os for i386
        !          4879:        to sco.
        !          4880: 
        !          4881:        * collect-ld:  New file.  It is useful when compiling C++ programs
        !          4882:        on machines that use collect.  This includes the decstation.
        !          4883: 
        !          4884: Fri Nov 15 14:19:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4885: 
        !          4886:        * out-sparc.c: Singlemove_string no longer static.
        !          4887:        (emit_move_sequence): Emit sethi/low_sum insn pair for values which
        !          4888:        are not arith_double_operands, was missing not.
        !          4889:        * sparc.md: DImode sethi pattern now uses singlemove_string to load
        !          4890:        a constant into a reg.
        !          4891:        * tm-sparc.h (LEGITIMATE_CONSTANT_P): Accept anything except a
        !          4892:        floating point constant.
        !          4893:        Declare singlemove_string so it can be used in sparc.md.
        !          4894: 
        !          4895:        * jump.c (jump_optimize): Correct typos in comments.
        !          4896: 
        !          4897: Fri Nov 15 08:05:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4898: 
        !          4899:        * out-rs6000.c (scc_comparison_operator): Allow non-FP EQ.
        !          4900: 
        !          4901:        * combine.c (subst, case NEG): Correct shift count in code that
        !          4902:        negates ZERO_EXTRACT to SIGN_EXTRACT.
        !          4903: 
        !          4904: Thu Nov 14 23:03:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          4905: 
        !          4906:        * genrecog.c (try_merge_1): Add big new comment.
        !          4907: 
        !          4908: Thu Nov 14 19:28:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          4909: 
        !          4910:        * m68k.md: Fix peephole that merges a stack adjust with a push to
        !          4911:        use addqw instead of addql since we know we are incrementing an
        !          4912:        address register (sp).
        !          4913: 
        !          4914:        * loop.c (scan_loop): Rework code that looks for loops starting at the
        !          4915:        exit test; don't skip non-jump insns at start of loop and modernize
        !          4916:        and clean up code.
        !          4917: 
        !          4918:        * gcc.texinfo (SECONDARY_RELOAD_CLASS): Update description to
        !          4919:        show uses for both intermediate and scratch registers.
        !          4920:        * reload.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Default from
        !          4921:        SECONDARY_RELOAD_CLASS, if defined.
        !          4922:        (HAVE_SECONDARY_RELOADS): Defined if any of the secondary reload
        !          4923:        macros are defined.
        !          4924:        (reload_secondary_icode, reload_{in,out}_optab): New vars.
        !          4925:        * reload.c: Include insn-codes.h.
        !          4926:        (find_secondary_reload): New function.
        !          4927:        (push_reload): Call find_secondary_reload to process input and
        !          4928:        output reloads.  Create both secondary and tertiary reloads,
        !          4929:        as required.
        !          4930:        * reload1.c: Include insn-codes.h.
        !          4931:        (init_reload): Initialize reload_{in,out}_optab.
        !          4932:        (emit_reload_insns): Handle cases where a secondary reload
        !          4933:        is a scratch register and where tertiary reloads are required.
        !          4934:        * Makefile.in (reload.o, reload1.o): Now include insn-codes.h.
        !          4935: 
        !          4936:        * tm-romp.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define to use a BASE_REGS
        !          4937:        for symbolic memory locations.
        !          4938:        * romp.md (reload_outsi, reload_outhi, reload_outqi): New patterns.
        !          4939: 
        !          4940:        * expr.c (expand_expr): Pass BRANCH_COST to do_store_flag.
        !          4941:        (do_store_flag): Canonicalizations done in emit_store_flag
        !          4942:        need to be done here as well.
        !          4943:        Test for ffs as well as abs when seeing if scc is expensive.
        !          4944:        * expmed.c (emit_store_flag): Correct cases that are open-coded:
        !          4945:        Add a few missing cases and correct handling of normalizep.
        !          4946:        * combine.c (simplify_shift_const, case IOR): Convert sequence
        !          4947:        open-coded by emit_store_flag into LE or (neg (le ..)), as
        !          4948:        appropriate.
        !          4949:        (simplify_shift_const, case MINUS): Similarly, for GT.
        !          4950:        (simplify_comparison): sign_bit_comparison_p now true only if
        !          4951:        also comparing against constant zero.
        !          4952:        (simplify_comparison, case NOT): If sign bit comparison, just
        !          4953:        reverse comparison.
        !          4954:        (simplify_comparison, case MINUS): Move case where we subtract
        !          4955:        one from the absolute value of something to PLUS, since we
        !          4956:        subtract one using a PLUS operation.
        !          4957:        (simplify_comparison, case MINUS): Handle GT case done by
        !          4958:        emit_store_flag.
        !          4959:        (simplify_comparison, cae IOR): Similarly, for IOR.
        !          4960: 
        !          4961:        * tm-rs6000.h (BRANCH_COST): Define as 2.
        !          4962:        * rs6000.md (scc): Allow some more cases.
        !          4963:        (new scc patterns): Add numerous patterns to reflect superoptimizer
        !          4964:        results for scc insns on RS/6000.
        !          4965: 
        !          4966: Thu Nov 14 16:42:19 1991  Michael Meissner  (meissner at osf.org)
        !          4967: 
        !          4968:        * mips-tfile.c (all): Change small allocation requests to use
        !          4969:        separate allocation and free functions, instead of using the word8
        !          4970:        union to hold each request.  In order to support this easily, a free
        !          4971:        field was added to each small structure that is released.
        !          4972:        (main): If debugging, print a summary of the number of small
        !          4973:        allocations, frees, and the number of pages used.
        !          4974:        (add_procedure, copy_objects): Stuff the pointer to the end symbol
        !          4975:        into the shash chain, and use it's value to generate the new value
        !          4976:        for the computed end block.  This is much safer than trying to
        !          4977:        calculate this on the fly.
        !          4978:        (main): Don't try to avoid using malloc by setvbuf'ing the streams
        !          4979:        we use.
        !          4980: 
        !          4981: Wed Nov 13 23:47:10 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          4982: 
        !          4983:        From [email protected]:
        !          4984:        * sparc.md: In DF load peephole, use operands not xoperands, so
        !          4985:        that output_asm_insn will use the right values.
        !          4986: 
        !          4987:        * tm-sun3.h, tm-sun2os4.h: Define PTRDIFF_TYPE, SIZE_TYPE,
        !          4988:        WCHAR_TYPE same as tm-sparc.h.
        !          4989: 
        !          4990:        * c-decl.c (finish_function): Don't clear current_function_decl
        !          4991:        for nested functions.
        !          4992: 
        !          4993:        * dbxout.c: Include insn-config.h and reload.h.
        !          4994:        (dbxout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
        !          4995:        using.
        !          4996:        (dbxout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
        !          4997:        eliminate_regs before using.
        !          4998:        * sdbout.c: Include insn-config.h and reload.h.
        !          4999:        (sdbout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
        !          5000:        using.
        !          5001:        (sdbout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
        !          5002:        eliminate_regs before using.
        !          5003:        * Makefile.in: Update dependency lists for dbxout.c and sdbout.c.
        !          5004: 
        !          5005:        * combine.c (try_combine): Don't pass sets with (USE (MEM ...))
        !          5006:        dests to reg_referenced_p.
        !          5007: 
        !          5008: Wed Nov 13 21:38:03 1991  John Bunda (bunda at cs.utexas.edu)
        !          5009: 
        !          5010:        * reload1.c (gen_input_reload): If IN is a PLUS whose second arg
        !          5011:        is the same as the reload register, swap the args of the PLUS.
        !          5012: 
        !          5013: Wed Nov 13 14:43:09 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          5014: 
        !          5015:        * tm-sparc.h (OPTIMIZATION_OPTIONS): Don't redefine options set in
        !          5016:        toplev.c, only effect flag_omit_frame_pointer.
        !          5017:        
        !          5018:        * sparc.md: Delete obsolete sign_extract and zero_extract patterns.
        !          5019:        We get better code without them.
        !          5020:        (indirect_jump, tablejump): Extend indirect_jump pattern to accept
        !          5021:        any address, not just a register.  Add tablejump like pattern which
        !          5022:        also accepts any address.
        !          5023: 
        !          5024:        * unroll.c (final_biv_value): Make sure the initial value of the biv
        !          5025:        is invariant if it is used after the loop.
        !          5026: 
        !          5027: Tue Nov 12 23:16:51 1991  Michael Meissner  (meissner at osf.org)
        !          5028: 
        !          5029:        * tm-mips.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Correct so
        !          5030:        ASM_OUTPUT_REG_PUSH actually does a push instead of pop, and vica
        !          5031:        versa.  Also make ASM_OUTPUT_REG_POP turn on .set noreorder, and
        !          5032:        increment the appropriate -mstats load delay counters.
        !          5033: 
        !          5034: Tue Nov 12 22:53:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5035: 
        !          5036:        * expr.h (BRANCH_COST): Supply default value here.
        !          5037:        * jump.c (BRANCH_COST): Don't default BRANCH_COST here.
        !          5038: 
        !          5039:        * global-alloc.c (global_alloc): Use proper entry in eliminables
        !          5040:        when searching for the frame pointer.
        !          5041: 
        !          5042: Tue Nov 12 22:23:36 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          5043: 
        !          5044:        * expr.c: (expand_expr, MIN_EXPR case): Check for const_true_rtx
        !          5045:        not const1_rtx as return value from compare_from_rtx.
        !          5046:        (do_jumps_by_part_greater): Handle const0_rtx and const_true_rtx
        !          5047:        return values from compare_from_rtx.
        !          5048:        (do_jumps_by_part_equality, do_jumps_by_part_equality_rtx): Likewise.
        !          5049: 
        !          5050:        * sched.c (sched_analyze_2): Correctly handle ASM_OPERAND and
        !          5051:        ASM_INPUT rtx.  Volatile and traditional asm statements are
        !          5052:        assumed to use and clobber all hard registers and all memory.
        !          5053:        (schedule_block): Delete code that incorrectly handles ASM_OPERAND
        !          5054:        and ASM_INPUT rtx by exiting early.
        !          5055: 
        !          5056: Tue Nov 12 15:38:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5057: 
        !          5058:        * sched.c: Introduce names for various priority values.  Reduce
        !          5059:        LAUNCH_PRIORITY to avioid wrap-around in launch_link.
        !          5060: 
        !          5061: Tue Nov 12 14:21:52 1991  Per Bothner  (bothner at cygnus.com)
        !          5062: 
        !          5063:        * cp-lex.c (init_lex):  Exception-handling fixes.
        !          5064:        * cp-tree.h:  Add new OPERATOR_CHARS_P that is like
        !          5065:        OPERATOR_NAME_P, except if takes a (char*), not a tree.
        !          5066:        * cp-dbxout.c (dbxout_type_methods):  Handle operators
        !          5067:        specially when chopping prefix for minimal_debug.
        !          5068: 
        !          5069:        * config/tm-news.h: In PRINT_OPERAND, recognize new 68040
        !          5070:        operand types.  Add definition of CPP_DEFINES for cross-compiling.
        !          5071: 
        !          5072: Tue Nov 12 13:11:01 1991  Michael Meissner  (meissner at osf.org)
        !          5073: 
        !          5074:        * protoize.c (__OSF1__ ifdef): Remove OSF/1 specific ifdefs, since
        !          5075:        the problem they address has been fixed, and the ifdefs now cause
        !          5076:        spurious warnings.
        !          5077: 
        !          5078:        * tm-mips.h (INT_TYPE_SIZE): Define.
        !          5079:        (SHORT_TYPE_SIZE): Define.
        !          5080:        (LONG_TYPE_SIZE): Define.
        !          5081:        (LONG_LONG_TYPE_SIZE): Define.
        !          5082:        (CHAR_TYPE_SIZE): Define.
        !          5083:        (FLOAT_TYPE_SIZE): Define.
        !          5084:        (DOUBLE_TYPE_SIZE): Define.
        !          5085:        (LONG_DOUBLE_TYPE_SIZE): Define.
        !          5086: 
        !          5087:        * out-mips.c (block_move_load_store): New commn function to create
        !          5088:        one load and store for the block move functions.  The load is
        !          5089:        emitted directly, and the store is returned, to be emitted later.
        !          5090:        (block_move_sequence): Call block_move_load_store.  For straight
        !          5091:        line moves, have two outstanding loads before a store, for newer
        !          5092:        machines that want two delay slots.
        !          5093:        (block_move_loop): Call block_move_load_store.  Move 4 words per
        !          5094:        loop, for a loop that moves 16 bytes in 11 cycles if aligned, and 16
        !          5095:        bytes in 19 cycles if not aligned.
        !          5096:        (block_move_memcpy): Change argument names for consistancy.
        !          5097:        (expand_block_move): Always move address into a register, even for
        !          5098:        one byte moves.  Fix bugs in calling memcpy.  If moving a large
        !          5099:        constant amount of unaligned data, emit a runtime check to see if
        !          5100:        the data is really aligned, and if so do an aligned move, otherwise
        !          5101:        an unaligned move loop.
        !          5102: 
        !          5103:        * mips-tfile.c (toplevel): Make some changes, so that mips-tfile can
        !          5104:        be debugged on OSF/1.
        !          5105:        (efdr structure): Align identifiers in declaration.
        !          5106:        (cur_proc_value): Delete variable.
        !          5107:        (cur_oproc_begin): New global to record original proc .ent symbol.
        !          5108:        (cur_oproc_end): New global to record original proc .end symbol.
        !          5109:        (add_procedure): Set cur_oproc_begin, cur_oproc_end variables
        !          5110:        instead of cur_proc_value.
        !          5111:        (parse_begin, parse_end): Add check for cur_oproc_begin being set.
        !          5112:        (parse_end): Use cur_oproc_end's value node for new value node.
        !          5113:        (main): Add cast to free_multiple_pages call.
        !          5114: 
        !          5115: Tue Nov 12 08:57:39 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5116: 
        !          5117:        * jump.c (jump_optimize): Merge the "if (...) x = 0;" case with
        !          5118:        the "x = a; if (...) x = b;" case.
        !          5119: 
        !          5120: Mon Nov 11 19:27:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5121: 
        !          5122:        * cp-cvt.c (convert_pointer_to): Correctly get type of a TREE_VEC
        !          5123:        object.  (This patch is from someone at Cygnus.)
        !          5124: 
        !          5125:        * combine.c (try_combine): Add missing parens.
        !          5126: 
        !          5127: Mon Nov 11 19:26:24 1991  Ron Guilmette  (rfg at ncd.com)
        !          5128: 
        !          5129:        * c-typeck.c (build_binary_op_nodefault, convert_for_assignment):
        !          5130:        A (void *) object is compatible with a function pointer if it is
        !          5131:        the constant zero.
        !          5132:        (build_conditional_expr): Properly check for pointers to functions.
        !          5133: 
        !          5134: Sun Nov 10 19:59:12 1991  Michael Meissner  (meissner at osf.org)
        !          5135: 
        !          5136:        * cccp.c (make_undef): Fix by off by one error.
        !          5137:        (MIN, MAX): Add #undef, in case some system include file defined
        !          5138:        these macros.
        !          5139: 
        !          5140: Sun Nov 10 10:34:17 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          5141: 
        !          5142:        * cp-decl2.c (grokfield): Set TREE_EXTERNAL on static const
        !          5143:        decls that are either uninitialized in their initial declaration,
        !          5144:        or initialized by something we cannot evaluate at initial
        !          5145:        declaration time.
        !          5146: 
        !          5147:        * cp-init.c (build_new): Make `operator new' with placement cast
        !          5148:        its return type to the type of the object being allocated.
        !          5149: 
        !          5150:        * cp-typeck.c (commonparms): If the last element of P1 is
        !          5151:        VOID_LIST_NODE, use that.
        !          5152: 
        !          5153:        * stor-layout.c (layout_record): Return PENDING_STATICS.
        !          5154:        (layout_type): Don't commit static members to a particular mode
        !          5155:        until REC has been laid out completely.
        !          5156: 
        !          5157: Sat Nov  9 23:16:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5158: 
        !          5159:        * cccp.c (fancy_abort): Don't declare as static.
        !          5160: 
        !          5161: Sat Nov  9 20:38:30 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          5162: 
        !          5163:        * cp-decl.c (push_overloaded_decl): Don't cons new decl to
        !          5164:        existing ERROR_MARK_NODE.  If the old decl was erroneous, just
        !          5165:        ignore it.
        !          5166: 
        !          5167:        * cp-call.c (ideal_candidate): Fix typo in error message.
        !          5168: 
        !          5169: Sat Nov  9 14:13:46 1991  Jeffrey A Law  (law at super.super.org)
        !          5170: 
        !          5171:        * tm-hp9k2bsd.h (MULSI3_LIBCALL): New define which avoids
        !          5172:        the use of __mulsi3 for signed integer multiplication.
        !          5173:        (UMULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL): Likewise.
        !          5174:        (MODSI3_LIBCALL, UMODSI3_LIBCALL): Likewise.
        !          5175: 
        !          5176: Fri Nov  8 12:05:39 1991  Per Bothner  (bothner at cygnus.com)
        !          5177: 
        !          5178:        First cut at ANSI-style exception handling (using
        !          5179:        syntax and semantics of Stroustrup 2nd ed).
        !          5180:        THIS IS WORK IN PROGRESS!
        !          5181:        * cp-tree.h:  Declare flag_ansi_exceptions.
        !          5182:        * gplus.gperf:  Add 'throw' (for ANSI exception handling),
        !          5183:        and update private/protected/public from (old) cp-lex.c.
        !          5184:        * cp-hash.h:  New file, generated from gplus.gperf.
        !          5185:        * cp-lex.c: #include cp-hash.h, instead of requiring
        !          5186:        manual cut-and-paste when keywords are changed.
        !          5187:        * cp-lex.c:  Commented out some extern declarations that
        !          5188:        were conflicting with inlines in cp-input.c.
        !          5189:        Hooks for ANSI-style exception handling.
        !          5190:        * cp-parse.y:  Parse ANSI-style exception stuff.
        !          5191:        * cp-decl2.c:  Define new flag flag_ansi_exceptions.
        !          5192:        * cp-decl2.c (finish_table):  Off-by-one error in
        !          5193:        calculating index type.
        !          5194:        * clus-decl2.c (finish_vtable_vardecl):  Add missing
        !          5195:        TREE_OPERAND to get dossier decl.
        !          5196:        * cp-except (cplus_expand_start_except):  Allow NULL name,
        !          5197:        since there is no distinguished name for ANSI exceptions.
        !          5198:        * cp-except (cplus_expand_raise):  Too few
        !          5199:        parameters to expand_expr; add them.
        !          5200:        * cp-except.c:  New functions for ANSI exceptions:
        !          5201:        cplus_exception_name, ansi_exception_object_lookup,
        !          5202:        cplus_expand_throw, ansi_expand_start_catch.
        !          5203:        These are heavily hacked from similar old functions.
        !          5204: 
        !          5205:        Try to make -fdossier work better (but more work is needed).
        !          5206:        (Especially, generate fewer unneeded descriptors.)
        !          5207:        * cp-class.c (add_virtual_function, finish_struct):  Do not
        !          5208:        create a vtable just because of -fdossier.
        !          5209:        * cp-gc.c:  Each type points to an array of fields,
        !          5210:        instead of an array of pointers to fields.  Ditto for methods.
        !          5211:        This saves one pointer per field or method by removing
        !          5212:        unneded extra indirection.  Also other tweaks to save space.
        !          5213:        * cp-decl.c (init_decl_processing):  Add length of
        !          5214:        field and method arrays to descriptors, instead of
        !          5215:        relying on NULL-termination (since we no longer have
        !          5216:        the extra pointer array).
        !          5217:        Make the parameter count and required count of
        !          5218:        method descriptors be shorts.
        !          5219:        * cp-method.c:  Remove no-longer-needed functions
        !          5220:        build_i_desc_overload and build_m_desc_overload.
        !          5221: 
        !          5222:        Other C++ fixes:
        !          5223:        * cp-dbxout.c (dbxout_symbol):  Class types were
        !          5224:        emitting only a "t" spec which made gdb unhappy.
        !          5225:        Kludged it so that it once more emits "Tt".
        !          5226:        * cp-tree.c (lang_output_debug_info):  Do emit debugging
        !          5227:        info if this implementation file corresponds the the
        !          5228:        type's interface, even if nothing is written.
        !          5229: 
        !          5230: Fri Nov  8 08:18:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5231: 
        !          5232:        * tm-m88k*.h: Fix comments, minor cleanups.
        !          5233: 
        !          5234: Thu Nov  7 16:21:05 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
        !          5235: 
        !          5236:        * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
        !          5237:        sub_ddmmss.
        !          5238: 
        !          5239: Thu Nov  7 12:47:14 1991  Michael Meissner  (meissner at osf.org)
        !          5240: 
        !          5241:        * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.3.
        !          5242:        (PCC_BITFIELD_TYPE_MATTERS): Define this to be 1.
        !          5243: 
        !          5244:        * out-mips.c (block_move_loop): New function to generate a loop to
        !          5245:        do a block move.
        !          5246:        (block_move_call): Pass the source, destination, size as separate
        !          5247:        arguments, rather than a pointer to an array of operands.
        !          5248:        (expand_block_move): Change block_move_call calling sequence.
        !          5249:        (expand_block_move): If moving big aligned items, generate a loop to
        !          5250:        do it, rather than calling memcpy/bcopy.
        !          5251:        (override_options): If -msoft-float, 'f' constraint picks GP
        !          5252:        registers.
        !          5253: 
        !          5254:        * t-decrose (collect): Use ALL_CFLAGS instead of CFLAGS, since this
        !          5255:        gets the shared library flags in x-decrose.
        !          5256: 
        !          5257: Thu Nov  7 07:57:36 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5258: 
        !          5259:        * tm-m88k.h (MEMORY_MOVE_COST): Define.
        !          5260:        (TARGET_88*): Fix.
        !          5261: 
        !          5262: Wed Nov  6 19:07:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5263: 
        !          5264:        * a29k.md (negsf2, negdf2): Add missing CLOBBER in 29050 case.
        !          5265: 
        !          5266:        * jump.c (jump_optimize): When looking for a conditional jump
        !          5267:        skipping an unconditional jump, be sure the conditional jump is
        !          5268:        not an unconditional jump.
        !          5269: 
        !          5270:        * combine.c (try_combine): If we make an unconditional jump,
        !          5271:        be sure it is followed by a BARRIER.
        !          5272:        (subst, case SET): Convert (set (pc) (return)) to (return).
        !          5273: 
        !          5274: Wed Nov  6 13:41:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5275: 
        !          5276:        * tm-m88kv3.h, xm-m88kv3.h: Renamed from *m88ksysv3*.
        !          5277: 
        !          5278: Wed Nov  6 09:27:16 1991  Michael Meissner  (meissner at osf.org)
        !          5279: 
        !          5280:        * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.2.
        !          5281:        (TARGET_SWITCHES): Add -msoft-float and -mhard-float.
        !          5282:        (GP_RETURN): Use GP_REG_FIRST as base of GP registers.
        !          5283:        (FP_RETURN): Use FP_REG_FIRST as base of FP registers.  If
        !          5284:        -msoft-float, make $2 be the return register.
        !          5285:        (GP_ARG_FIRST, GP_ARG_LAST): Use GP_REG_FIRST as 1st GP reg.
        !          5286:        (FP_ARG_FIRST, FP_ARG_LAST): Use FP_REG_FIRST as 1st FP reg.
        !          5287: 
        !          5288:        * mips.md (ffssi2, ffssi2_internal): Fix ffs builtin so that it
        !          5289:        doesn't clobber the input argument by turning it into a
        !          5290:        define_expand, and using a parallel operation including the
        !          5291:        necessary clobber's.
        !          5292:        (abssi2, ffssi2, ffssi2_internal): Use the 'd' constraint which only
        !          5293:        matches the integer registers, rather than 'r' which can match
        !          5294:        floating point registers as well.
        !          5295: 
        !          5296:        * tm-mips-news.h (CPP_SPEC): Add -Dnews7300, -Dsony_news, -Dmips,
        !          5297:        and -Dhost_mips.
        !          5298: 
        !          5299: Wed Nov  6 08:46:54 1991  Mark Eichin  (eichin at cygnus.com)
        !          5300: 
        !          5301:        * cp-class.c (add_method): when adding a new constructor or
        !          5302:        destructor, actually chain onto method_vec[0] rather than replacing
        !          5303:        the list with the current entry.
        !          5304: 
        !          5305: Wed Nov  6 07:04:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5306: 
        !          5307:        * expr.c (store_field): Handle case where we are storing into a BLKmode
        !          5308:        field of an object that is in a register.
        !          5309:        (expand_expr, case COMPONENT_REF): Handle case where we are extracting
        !          5310:        a BLKmode field from an object in a register.
        !          5311: 
        !          5312: Tue Nov  5 22:16:39 1991  Michael Meissner  (meissner at osf.org)
        !          5313: 
        !          5314:        * tm-mips.h (target_flags): Delete second declaration.
        !          5315:        (MASK_G0, MASK_G1, MASK_G2): Delete, since -G xx now works to set
        !          5316:        the size of the small data/bss area cutoff.
        !          5317:        (MASK_G012_USED, MASK_G012_NUSED): ditto.
        !          5318:        (TARGET_GVALUE): ditto.
        !          5319:        (TARGET_G012_USED): ditto.
        !          5320:        (TARGET_SWITCHES): Delete -mGx, -mno-Gx switches.
        !          5321:        (TARGET_DEFAULT): Set to 0 instead of MASK_G012_NUSED.
        !          5322: 
        !          5323:        * tm-decrose.h (TARGET_DEFAULT): Eliminate MASK_G012_NUSED.
        !          5324: 
        !          5325:        * out-mips.c (override_options): Remove support for -mGx and -mno-Gx
        !          5326:        switches to set the cutoff size for small data/bss.
        !          5327: 
        !          5328:        * mips.md (abssi2): Add new pattern.
        !          5329:        (ffssi2): Add new pattern.
        !          5330: 
        !          5331: Tue Nov  5 18:36:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5332: 
        !          5333:        * gcc.texinfo (MEMORY_MOVE_COST): Document new macro.
        !          5334:        * regclass.c (MEMORY_MOVE_COST): Default it to 2.
        !          5335:        (regclass, reg_class_record): Use MEMORY_MOVE_COST, not constant 2.
        !          5336:        (regclass): Look at result of single_set instead of checking again if
        !          5337:        pattern is a SET.
        !          5338:        * tm-rs6000.h (MEMORY_MOVE_COST): Add definition.
        !          5339: 
        !          5340: Tue Nov  5 17:01:05 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          5341: 
        !          5342:        * cp-pt.c (tsubst): For char_type_node, just build variant and
        !          5343:        return it.
        !          5344:        (tsubst, case FUNCTION_DECL): Walk methods more efficiently.
        !          5345: 
        !          5346:        * cp-pt.c (overload_template_name): Push a binding level, to
        !          5347:        separate template name binding from method parameters.  Check
        !          5348:        identifier value slots for TYPE_DECLs, not RECORD_TYPEs.  Don't need
        !          5349:        to do extra push of TYPE_DECL for template name.
        !          5350:        (undo_template_name_overload): Pop it.  Don't need to explicitly
        !          5351:        clear template name binding.
        !          5352: 
        !          5353:        * cp-ptree.c (print_lang_decl): For FIELD_DECL, don't try to
        !          5354:        print fields that go off the end of the lang_decl_flags structure.
        !          5355: 
        !          5356:        * cp-pt.c (pop_template_decls): Don't explicitly clear out value
        !          5357:        slots of identifier; let poplevel/poplevel_class do it.
        !          5358: 
        !          5359:        * cp-pt.c: Use build_lang_decl insteaed of build_decl for
        !          5360:        all TEMPLATE_DECL and TYPE_DECL nodes.
        !          5361: 
        !          5362:        * cp-tree.h (make_anon_name): Declare it.
        !          5363: 
        !          5364:        * cp-pt.c (unify): Deleted unreachable code.
        !          5365: 
        !          5366:        * cp-decl.c (push_overloaded_decl): Fixed typo from merge.
        !          5367:        (start_decl): Ditto.
        !          5368:        (grokdeclarator, case CALL_EXPR): Remove debug_tree call
        !          5369:        accidentally left in.  Handle constructor templates specially, like
        !          5370:        destructor templates.  Removed some commented-out code.
        !          5371:        (grokdeclarator, case SCOPE_REF): If the type is uninstantiated,
        !          5372:        treat it like any other aggregate type code.
        !          5373: 
        !          5374:        * cp-lex.c (identifier_typedecl_value): If no binding slot from
        !          5375:        the identifier is the right type decl, use the type name if it is
        !          5376:        non-null, even if the name doesn't match.
        !          5377:        (build_lang_decl): If new decl node is TREE_PERMANENT, make sure the
        !          5378:        lang-specific info gets allocated that way too; don't assume that
        !          5379:        the current obstack is permanent.
        !          5380:        (copy_decl_lang_specific): If decl is TREE_PERMANENT, assert that
        !          5381:        the current obstack is permanent.
        !          5382: 
        !          5383:        * cp-parse.y (template_def): Delete derivations that were
        !          5384:        purportedly for constructors; they didn't work.
        !          5385:        (notype_declarator): Deal with them here.
        !          5386:        (template_instantiate_once): Copy decl node with permanent obstacks,
        !          5387:        thereby clearing the chain pointer, before pushing it into top
        !          5388:        level.
        !          5389:        (structsp): Don't need to undo template name overload here.
        !          5390:        (scoped_typename): Want TYPENAME with template type, not PTYPENAME.
        !          5391: 
        !          5392: Tue Nov  5 13:46:06 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5393: 
        !          5394:        * sdbout.c (sdbout_init, sdbout_symbol): Don't reverse the
        !          5395:        permanent types.  
        !          5396: 
        !          5397:        * cccp.c (make_definition): Eliminate previous change associated
        !          5398:        with pretty-printing strings passed to do_define.
        !          5399:        (pass_thru_directive): Move pretty-printing here.
        !          5400: 
        !          5401: Tue Nov  5 11:21:34 1991  Michael Meissner  (meissner at osf.org)
        !          5402: 
        !          5403:        * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Correctly pass -EB instead
        !          5404:        of -EL, since the Sony News system is big endian not little endian.
        !          5405: 
        !          5406: Tue Nov  5 09:54:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5407: 
        !          5408:        * tm-m88kv4.h, t-m88kv4, x-m88kv4: Renamed from *m88ksysv4*.
        !          5409: 
        !          5410: Tue Nov  5 06:36:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5411: 
        !          5412:        * cse.c (simplify_relational_operation, unsigned comparisons): Don't
        !          5413:        simplify unless mode of operand is a MODE_INT mode.
        !          5414: 
        !          5415:        * Makefile.in (*CFLAGS): More clearly document the purposes of each
        !          5416:        of the flags.  Add X_CFLAGS and T_CFLAGS for x-* and t-* to override.
        !          5417:        * x-decrose, x-hp9k320g, x-i386isc, x-m88ksysv4, x-mips, x-tower:
        !          5418:        Override X_CFLAGS instead of CFLAGS or INTERNAL_CFLAGS.
        !          5419:        * x-vax: Likewise.
        !          5420:        * x-sco: Don't include XCFLAGS in definition of CFLAGS.
        !          5421: 
        !          5422:        * gstddef.h: Renamed from stddef.h.
        !          5423:        * Makefile.in (USER_H, install-common-headers): Install gstddef.h as
        !          5424:        stddef.h.
        !          5425: 
        !          5426: Mon Nov  4 17:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5427: 
        !          5428:        * integrate.c (save_constants): If we are referencing a constant in
        !          5429:        the constant pool in a different mode than its normal mode, make
        !          5430:        a SUBREG so that we can record both modes.
        !          5431:        (copy_for_inline, restore_constants): Handle these SUBREG's.
        !          5432:        (copy_for_inline): Must copy a MEM if it's address contains an
        !          5433:        ADDRESS (i.e., the address of a constant pool entry).
        !          5434: 
        !          5435:        * expr.c (expand_expr, case PLUS_EXPR): If adding constant, FP, and
        !          5436:        something else, add FP to the constant and then add the other operand.
        !          5437: 
        !          5438:        * global-alloc.c (find_reg): If all_regs_p, use ALL_REGS, not
        !          5439:        GENERAL_REGS.
        !          5440:        * local-alloc.c (block_alloc): Likewise.
        !          5441: 
        !          5442:        * genoutput.c (gen_expand): Record all the same information as
        !          5443:        for a DEFINE_INSN.
        !          5444: 
        !          5445:        * cse.c (simplify_binary_operation, case PLUS): Simplify expressions
        !          5446:        like (a +/- b) - (a +/- c).
        !          5447:        (simplify_binary_operation, case MULT): For X * (-1), try to simplify
        !          5448:        the NEG before we make it.
        !          5449: 
        !          5450: Mon Nov  4 16:29:01 1991  Mark Eichin  (eichin at cygnus.com)
        !          5451: 
        !          5452:        * cp-pt.c (overload_template_name): use build_lang_decl so that
        !          5453:        lang_specific gets initialized properly.
        !          5454: 
        !          5455:        * cp-parse.y (LC): use make_lang_type to produce complete node,
        !          5456:        not just make_node.
        !          5457: 
        !          5458:        * cp-ptree.c (print_lang_type): return if TYPE_LANG_SPECIFIC is
        !          5459:        null, since everything printed here is in lang_specific.
        !          5460: 
        !          5461: Mon Nov  4 16:17:48 1991  James Van Artsdalen  (james at raid.dell.com)
        !          5462: 
        !          5463:        * x-i386v4: New file.
        !          5464:        * configure (i386-sysv4): Use it.
        !          5465: 
        !          5466: Mon Nov  4 12:36:09 1991  Michael Meissner  (meissner at osf.org)
        !          5467: 
        !          5468:        * gcc.texinfo (BRANCH_COST): Move so BRANCH_COST formats correctly.
        !          5469: 
        !          5470: Mon Nov  4 08:03:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5471: 
        !          5472:        * x-m88kdgux, x-m88ksysv4: Don't set XCFLAGS.
        !          5473: 
        !          5474:        * jump.c (jump_optimize):  Change "if (...) x = 0;" to use a
        !          5475:        store-flag insn if jumps are expensive (BRANCH_COST).
        !          5476: 
        !          5477:        * tm-m88k.h (BRANCH_COST): Branches are cheap on the m88100.
        !          5478:        (OVERRIDE_OPTIONS): Make m88100 the default.
        !          5479:        (STORE_FLAG_VALUE): Use -1.
        !          5480:        (.ctors and .dtors sections): Change section flags.
        !          5481:        * m88k.md (sxx, negate sxx): Use ext and extu.  Eliminate extendsxx.
        !          5482: 
        !          5483: Mon Nov  4 07:19:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5484: 
        !          5485:        * romp.md (movdf, movdi): When splitting, ensure we put in a CLOBBER
        !          5486:        for a scratch register, when needed.
        !          5487: 
        !          5488:        * tm-a29k.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define to be 
        !          5489:        compatible with those chosen by EPI.
        !          5490: 
        !          5491:        * tm-rs6000.h (REG_ALLOC_ORDER): Put CR registers before integer regs.
        !          5492: 
        !          5493:        * cse.c (simplify_relational_operation): Fix error in last change.
        !          5494: 
        !          5495: Sun Nov  3 12:22:41 1991  Torbjorn Granlund  (tege at sics.se)
        !          5496: 
        !          5497:        * longlong.h (m68020 count_leading_zeros): Fix typo in previous
        !          5498:        change.
        !          5499: 
        !          5500: Sun Nov  3 09:25:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5501: 
        !          5502:        * cse.c (simplify_relational_operation, cases GEU, LTU, GTU, LEU):
        !          5503:        Simplify comparisons that have known values such as (unsigned) x < 0.
        !          5504: 
        !          5505:        * final.c (final_scan_insn): If we've just made a branch unconditional,
        !          5506:        convert (set (pc) (return)) to (return).
        !          5507:        Use const_true_rtx instead of calling gen_rtx to make it again.
        !          5508: 
        !          5509:        * x-romp (CC): Pass -Hnocpp to hc so it will use builtin preprocessor.
        !          5510:        (INTERNAL_CFLAGS): Don't define BSTRING here.
        !          5511:        * xm-romp.h (alloca): Add definition to allow use of hc's builtin.
        !          5512:        (BSTRING): Define here.
        !          5513: 
        !          5514:        * reload1.c (spill_hard_reg): Correct typo in previous change; had
        !          5515:        test backwards.
        !          5516: 
        !          5517:        * function.c (instantiate_virtual_regs_1, case PLUS): If can't
        !          5518:        replace operand with register, try to replace all copies of operand
        !          5519:        with the register in case of MATCH_DUP.
        !          5520: 
        !          5521:        * recog.c (validate_replace_rtx_1): Use rtx_equal_p to see if
        !          5522:        things are equal.
        !          5523: 
        !          5524:        * genconfig.c (max_recog_operands, max_dup_operands): Remove `_flag'
        !          5525:        in name since these aren't flags.
        !          5526:        (max_clobbers_per_insn): Likewise.
        !          5527:        (main): Default to at least 10 operands (for asm) and 1 dup operand.
        !          5528: 
        !          5529: Sun Nov  3 07:26:57 1991  Ron Guilmette  (rfg at ncd.com)
        !          5530: 
        !          5531:        * Makefile.in (gnulib1.null): Use $(GCC_FLAGS) instead
        !          5532:        of $(CCLIBFLAGS).
        !          5533:        (gnulib1): Don't copy gnulib1.c into a temporary .c file before
        !          5534:        compiling.  That messes up the source file names in the debug info,
        !          5535:        which makes it harder to debug gnulib1 problems.
        !          5536: 
        !          5537:        * Makefile.in (install-*): Force removal of previously installed files
        !          5538:        before installing new ones (in case they got set to read-only somehow).
        !          5539: 
        !          5540:        * Makefile.in (uninstall): Remove protoize.1 and unprotoize.1 man
        !          5541:        page files.
        !          5542: 
        !          5543: Sat Nov  2 22:42:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5544: 
        !          5545:        * out-a29k.c (output_epilog): Remove write_symbols from parameter list
        !          5546:        of call to final_scan_insn.
        !          5547:        * out-m88k.c (preserve_registers): Likewise.
        !          5548:        * out-mips.c (function_epilogue): Likewise.
        !          5549:        * out-sparc.c (output_function_epilogue, output_tail_call): Likewise.
        !          5550: 
        !          5551: Sat Nov  2 22:02:45 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          5552: 
        !          5553:        * cp-search.c (push_class_decls): Added missing argument to
        !          5554:        overload_template_name.
        !          5555: 
        !          5556:        * cp-ptree.c (print_lang_decl): Don't print lang-specific fields
        !          5557:        for FIELD_DECL, since it has only the shorter flags structure.
        !          5558: 
        !          5559:        * cp-class.c (finish_struct_method): Fixed comment typo.
        !          5560: 
        !          5561:        * cp-decl.c: Add some code for debugging binding level
        !          5562:        manipulations, conditionalized on DEBUG_CP_BINDING_LEVELS.
        !          5563:        (debug_bindings_indentation): New var, used to maintain indentation
        !          5564:        to indicate which changes are on the behalf of other routines.
        !          5565:        (push_binding_level): Print debugging messages to track binding
        !          5566:        level changes and call/nesting sequences.
        !          5567:        (pushlevel, poplevel): Ditto.
        !          5568:        (pushlevel_class): Ditto.
        !          5569:        (pop_binding_level): Ditto.  Also scribble over freed binding level,
        !          5570:        and don't store it for re-use.
        !          5571:        (poplevel_class): Ditto.
        !          5572:        * cp-decl.h (debug_bindings_indentation): Declare it.
        !          5573:        * cp-pt.c (push_template_decls, pop_template_decls): Added
        !          5574:        debugging fprintf calls here too.
        !          5575: 
        !          5576: Sat Nov  2 17:00:22 1991  Ron Guilmette  (rfg at ncd.com)
        !          5577: 
        !          5578:        * cp-except.c (finish_exception_decl): Change `enum debugger' to
        !          5579:        `enum debug_info_type'.
        !          5580:        * final.c (final_start_function, final, final_end_function,
        !          5581:        output_source_line): Delete the `write_symbols' parameter.
        !          5582:        Instead use the global `write_symbols' declared in flags.h.
        !          5583:        * sched.c (unlink_notes, schedule_block, schedule_insns): Compare
        !          5584:        `write_symbols' with NO_DEBUG rather than with zero.
        !          5585:        * toplev.c (rest_of_decl_compilation, rest_of_compilation): Don't
        !          5586:        pass `write_symbols' to assemble_variable, final_start_function,
        !          5587:        final, final_end_function.
        !          5588:        * varasm.c (assemble_variable): Delete the `write_symbols' parameter.
        !          5589:        Instead use the global`write_symbols' declared in flags.h
        !          5590: 
        !          5591: Sat Nov  2 09:48:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5592: 
        !          5593:        * caller-save.c: Don't include reload.h; not used.
        !          5594:        * Makefile.in (caller-save.o): Likewise.
        !          5595: 
        !          5596:        * final.c (final_start_function, final_end_function, final): Change
        !          5597:        enum debugger to enum debug info to finish previous change.
        !          5598:        (final_scan_insn, output_source_line): Likewise.
        !          5599:        * varasm.c (assemble_variable): Likewise.
        !          5600: 
        !          5601:        * rtlanal.c (modified_between_p, find_last_value): New functions; not
        !          5602:        yet used.
        !          5603:        * rtl.h (find_last_value): Declare.
        !          5604: 
        !          5605:        * cse.c (simplify_binary_operation): Remove comparison cases from
        !          5606:        here; now in simplify_relational_operation.
        !          5607: 
        !          5608: Fri Nov  1 19:04:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5609: 
        !          5610:        * rtl.h (REG_DEAD): More precisely describe when a REG_DEAD note
        !          5611:        should be present.
        !          5612:        * rtlanal.c (dead_or_set_regno_p): New function.
        !          5613:        (dead_or_set_p): A value is dead or set only if each register in it
        !          5614:        is dead or set.
        !          5615:        * combine.c (reg_bitfield_target): New function.
        !          5616:        (distribute_notes, case REG_DEAD): Place REG_DEAD note only if both
        !          5617:        dead_or_set_p and reg_bitfield_target are false.
        !          5618:        * flow.c (cc0_live): New variable; replaces following_insn_dead.
        !          5619:        (propagate_block): Initialize cc0_live instead of following_insn_dead.
        !          5620:        Track CC0's life just like other regs instead of using special
        !          5621:        mechanism involving following_insn_dead.
        !          5622:        Clear last_mem_set even when not final pass.
        !          5623:        Don't call mark_used_regs on dead insns.
        !          5624:        (insn_dead_p): Use cc0_live to see if a set of CC0 is dead.
        !          5625:        Correctly test if set of multi-word value is needed; set if dead only
        !          5626:        if none of the words are needed.
        !          5627:        (libcall_dead_p): Allow CALL to be in any part of PARALLEL.
        !          5628:        Use insn_dead_p to see if SET of return register is dead; old code
        !          5629:        incorrectly tested multi-word registers.
        !          5630:        (mark_set_1): Track whether all or only some words of a value are
        !          5631:        needed; write partial REG_UNUSED note if only some words won't be
        !          5632:        needed.
        !          5633:        (mark_used_regs): Likewise for REG_DEAD notes.
        !          5634:        Set cc0_live for a reference to CC0.
        !          5635:        Don't write REG_DEAD note if register is already dead or set in INSN.
        !          5636:        No longer check for unused SET_DEST since it won't be called for dead
        !          5637:        insns; if a single SET's result was unneeded but the insn can't be
        !          5638:        deleted, the source of the SET is live.
        !          5639:        Clear last_mem_set even if not final pass.
        !          5640: 
        !          5641:        * reload1.c (gen_input_reload): Handle REG+MEM the same as REG+INT.
        !          5642: 
        !          5643:        * gcc.c (xmalloc, xrealloc): Use unsigned instead of size_t for `size'.
        !          5644: 
        !          5645:        * cccp.c (bcopy, bzero, bcmp): No longer static.  Only declare at
        !          5646:        front of file if we are going to define them later.
        !          5647: 
        !          5648: Fri Nov  1 18:57:25 1991  Ron Guilmette  (rfg at ncd.com)
        !          5649: 
        !          5650:        * cccp.c (timebuf): Declaration moved out of `special_symbol' and
        !          5651:        made global (and "static") to get values of __DATE__ and __TIME__
        !          5652:        to remain constant throughout compilation.
        !          5653:        (debug_output): New variable.
        !          5654:        (main): Accept -g3 option and set debug_output when seen.
        !          5655:        (main): Moved initializations of `outbuf' and `fp' to before call
        !          5656:        to `initialize_builtins'.
        !          5657:        Pass fp and &output to initialize_builtins so that it can write out
        !          5658:        artificial #define lines for builtin symbols.
        !          5659:        Call `output_line_directive' before doing each make_define or
        !          5660:        make_undef so that when `debug_output' is in effect, we'll
        !          5661:        get #line 0 directives before each artificial #define or #undef.
        !          5662:        (special_symbol): Initialization of `timebuf' deleted from here.
        !          5663:        (initialize_builtins): Initialize timebuf here.
        !          5664:        (pass_thru_directive): New function.
        !          5665:        (do_define, do_undef): Use `pass_thru_directive' for "precompilation"
        !          5666:        of header files.
        !          5667:        Call `pass_thru_directive' when -g3 option used.
        !          5668:        (initialize_builtins): Generate artificial #define directives (in the
        !          5669:        output) to represent the values of all builtin symbols whose defs
        !          5670:        can't change during compilation.
        !          5671:        (make_undef): Added output buffer param so that make_undef could let
        !          5672:        do_undef do output to stdout.
        !          5673:        Call do_undef with a real output buffer.
        !          5674:        (make_definition): Likewise.
        !          5675:        Many minor changes to get strings passed to do_define to always look
        !          5676:        like correctly formed #define directives.
        !          5677: 
        !          5678:        * c-decl.c (store_parm_decls): Remove non-params from the list before
        !          5679:        checking to see if the type of any element of the list is complete.
        !          5680:        (pushlevel):  Fixed bug which caused scope of tagged types to be
        !          5681:        incorrectly assigned to the outermost {} block of functions rather
        !          5682:        than to the outermost binding contours of functions.
        !          5683:        (pushtag):  Revised to clarify code used to find applicable
        !          5684:        binding level for a tagname.
        !          5685:        Set TYPE_CONTEXT of new tagged type so that dwarfout.c can tell
        !          5686:        file-scope tagged types from non-file-scope tagged types.
        !          5687:        Create a NULL-named TYPE_DECL node for each new tagged type
        !          5688:        (even incomplete ones).
        !          5689:        (finish_struct, finish_enum): Don't create NULL-named
        !          5690:        TYPE_DECL nodes for complete tagged types.  (This is now done in
        !          5691:        `pushtag' for *all* new tagged type declarations and definitions.)
        !          5692: 
        !          5693:        * toplev.c (compile_file):  Adjust conditions under which
        !          5694:        `dwarfout_file_scope_decl' is called during final traversal of
        !          5695:        the chain of file-scope decls so that it is called also for
        !          5696:        file-scope TYPE_DECLs.
        !          5697:        (rest_of_decl_compilation):  Deleted call to `dwarfout_file_scope_decl'
        !          5698:        for file-scope TYPE_DECLs; call `dwarfout_file_scope_decl' instead of
        !          5699:        `dwarfout_file_scope_symbol'.
        !          5700: 
        !          5701:        * dbxout.c, sdbout.c, flags.h, toplev.c:  Change DEBUG_LEVEL_* to
        !          5702:        DINFO_LEVEL_* to prevent possible confusion about meaning.
        !          5703: 
        !          5704:        * flags.h, toplev.c: (enum debug_info_type):  Renamed type from
        !          5705:        `debugger' and cleaned up definition of type (including deletion
        !          5706:        of useless EXTENDED_DBX_DEBUG code).
        !          5707:        (use_gdb_dbx_extensions): Make declarations conditional on
        !          5708:        DBX_DEBUGGING_INFO being defined.
        !          5709: 
        !          5710:        * out-i860.c (output_fp_move_double, find_addr_reg):  Add return stmts
        !          5711:        to avoid warnings when compiling with -Wreturn-type.
        !          5712:        (output_delayed_branch):  Fix test for CONST_INT values which must be
        !          5713:        loaded in two instructions (as two halves).
        !          5714:        (function_epilogue):  Remove ASM_OUTPUT_EPILOGUE_SUFFIX.  (Superceeded
        !          5715:        by ASM_DECLARE_FUNCTION_SIZE in varasm.c.)
        !          5716: 
        !          5717:        * xm-i386.h (i386): Define in case the native host compiler doesn't.
        !          5718: 
        !          5719:        * tm-svr4.h (SVR4): Define this rather than SVR4_target.
        !          5720:        (ASM_FINAL_SPEC): Support the -pipe option.
        !          5721:        (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME): Allow easy
        !          5722:        redefinition of the syntax for second operand of .type.
        !          5723:        (ASM_DECLARE_FUNCTION_SIZE): Fix line continuations.
        !          5724: 
        !          5725: Fri Nov  1 14:14:14 1991  Michael Meissner  (meissner at osf.org)
        !          5726: 
        !          5727:        * out-mips.c (mips_asm_file_end): Generate correct code if the user
        !          5728:        uses asm("name").  Patch from [email protected].
        !          5729: 
        !          5730:        * mips-tfile.c (init_file initialization): Fix #ifdef
        !          5731:        BYTES_BIG_ENDIAN to be #if BYTES_BIG_ENDIAN, to allow the DECstation
        !          5732:        to work again.
        !          5733:        (toplevel): Remove declarations of internal library functions,
        !          5734:        _flsbuf, _filbuf.
        !          5735: 
        !          5736: Thu Oct 31 14:59:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
        !          5737: 
        !          5738:        * longlong.h (m68020 count_leading_zeros): Use %b for offset and
        !          5739:        width syntax for bfffo instruction.
        !          5740: 
        !          5741: Thu Oct 31 05:45:54 1991  Ken Raeburn  ([email protected])
        !          5742: 
        !          5743:        * cp-decl.c (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Replaced
        !          5744:        uses of macros with their expansions, and deleted the macros.
        !          5745: 
        !          5746: Wed Oct 30 12:45:33 1991  Ron Guilmette  (rfg at ncd.com)
        !          5747: 
        !          5748:         * dwarfout.c, dwarf.h, README.DWARF: Replacement files that bring
        !          5749:        the Dwarf implementation up to that defined by draft 5 of the
        !          5750:        UI/PLSIG Dwarf specification.
        !          5751: 
        !          5752: Wed Oct 30 10:50:07 1991  Michael Meissner  (meissner at osf.org)
        !          5753: 
        !          5754:        * objc-parse.y (yylex): Cast short types to int before shifting, to
        !          5755:        avoid bogus warnings from the MIPS C compiler.
        !          5756: 
        !          5757:        * cccp.c (fancy_abort): Make this global again, so that
        !          5758:        -Dabort=fancy_abort will not cause a link error, because obstack.c
        !          5759:        contains a reference to abort.
        !          5760: 
        !          5761: Wed Oct 30 07:38:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          5762: 
        !          5763:        * SYSCALLS.c (abort): Undefine first.
        !          5764: 
        !          5765:        * xm-m88k.h (HOST_WORDS_BIG_ENDIAN): Define it.
        !          5766:        * out-m88k.c (output_and): Choose "clr" last.
        !          5767: 
        !          5768: Tue Oct 29 22:49:47 1991  Michael Meissner  (meissner at osf.org)
        !          5769: 
        !          5770:        * tm-mips.h (num_refs): New global array.
        !          5771:        (mips_count_memory_refs): New function decl.
        !          5772: 
        !          5773:        * out-mips.h (num_refs): New global array to count number of 1, 2,
        !          5774:        or 3 instruction data references with -mstats.
        !          5775:        (mips_count_memory_refs): New function decl to determine whether a
        !          5776:        data memory reference uses 1, 2, or 3 instructions.
        !          5777:        (mips_move_1word, mips_move_2words): Call mips_count_memory_refs
        !          5778:        as appropriate.
        !          5779:        (function_epilogue): Print number of 1, 2, and 3 instruction
        !          5780:        memory references if -mstats.
        !          5781: 
        !          5782:        * mips.md (movsi_ulw, movsi_usw): Call mips_count_memory_refs if
        !          5783:        needed.
        !          5784: 
        !          5785: Tue Oct 29 05:14:27 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          5786: 
        !          5787:        * cp-parse.y (template_def): Don't pass bogus declspecs to
        !          5788:        start_decl.
        !          5789: 
        !          5790:        * cp-pt.c (tsubst, case FUNCTION_DECL): Build new argument list
        !          5791:        from method template, instead of retaining the old one.
        !          5792: 
        !          5793: Tue Oct 29 00:44:51 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          5794: 
        !          5795:        * cp-class.c (finish_struct): Skip type fields if they are
        !          5796:        template names bound to their expansions.
        !          5797: 
        !          5798:        * cp-decl.c (binding_levels_sane): Define only if PARANOID; use a
        !          5799:        macro returning 1 otherwise.  Check class_binding_level stack for
        !          5800:        consistency also.
        !          5801:        (pushdecl): Verify that bindings pushed at global scope are in
        !          5802:        permanent obstack storage.
        !          5803:        (start_decl): While processing_template_decl, don't also need to
        !          5804:        verify that the decl uses the template parameters.  For method
        !          5805:        templates, construct proper method type for result.  TREE_EXTERNAL
        !          5806:        flag for methods should be cleared if DECL_EXTERNAL is clear.
        !          5807:        (grokdeclarator, case CALL_EXPR): Intercept destructor templates,
        !          5808:        which have a different internal form, and convert them to a form
        !          5809:        that can be recognized.
        !          5810: 
        !          5811:        * cp-decl2.c (grokclassfn): Include length of class name when
        !          5812:        creating assembler name for destructor; otherwise ambiguities
        !          5813:        result.
        !          5814: 
        !          5815:        * cp-lex.c (identifier_typedecl_value): New fn; scans bindings of
        !          5816:        identifier for a given type decl; falls back to name of type.
        !          5817:        * cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Call it.
        !          5818: 
        !          5819:        * cp-method.c (fndecl_as_string): Print constructor_name of type
        !          5820:        for constructor and destructor, not type name.
        !          5821: 
        !          5822:        * cp-parse.y (template_def): Don't output warning about missing
        !          5823:        type and storage class, since this gets printed for destructor
        !          5824:        templates.
        !          5825:        (notype_declarator): Accept '~' PTYPENAME.
        !          5826:        (scoped_typename): Want a PTYPENAME, not TYPENAME.  Build a
        !          5827:        SCOPE_REF node instead of calling resolve_scope_to_name.
        !          5828: 
        !          5829:        * cp-pt.c (instantiate_member_templates): New fn.  Instantiates
        !          5830:        members associated with template for a given template class.
        !          5831:        * cp-method.c (template_instantiate_once): Call it.
        !          5832: 
        !          5833:        * cp-pt.c (end_template_decl): Catch destructor templates that
        !          5834:        are being passed through without being converted to TEMPLATE_DECL
        !          5835:        nodes; convert them now.  Copy argument list for function template
        !          5836:        into permanent storage.
        !          5837:        (lookup_template_class): Supply IDENTIFIER_TEMPLATE data for new
        !          5838:        anonymous type name.
        !          5839:        (tsubst, case FUNCTION_DECL): Improve method lookup code.
        !          5840:        (tsubst): Use hash table and build_cplus_* functions for building
        !          5841:        new nodes when possible, so equality tests are easier.  Extend
        !          5842:        FUNCTION_TYPE case to handle METHOD_TYPE as well.
        !          5843:        (instantiate_template): Don't do anything for error_mark_node.
        !          5844:        (do_pending_expansions): Keep expansions not used in queue to check
        !          5845:        again later.
        !          5846: 
        !          5847:        * cp-tree.def: Fix up some comments relating to PT-related types.
        !          5848: 
        !          5849:        * tree.c (init_tree_codes): Now void, in agreement with decl
        !          5850:        elsewhere.
        !          5851: 
        !          5852: Mon Oct 28 22:07:44 1991  Jeffrey A Law  (law at b117.super.org)
        !          5853: 
        !          5854:        * output.h (current_function_uses_pic_offset_table): Declare here
        !          5855:        so that out-*.c can see it.
        !          5856: 
        !          5857:        * tm-m68k.h (FINALIZE_PIC): New macro.
        !          5858:        (PIC_OFFSET_TABLE_REGNUM): New macro.  Defines which address
        !          5859:        register is used to hold the offset table for PIC.
        !          5860:        (CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM be
        !          5861:        fixed when generating position independent code.
        !          5862: 
        !          5863:        * out-m68k.c (finalize_pic): New function.  
        !          5864:        (output_function_prologue): If generating position independent
        !          5865:        code output assembler text to load the pic_offset_table register.
        !          5866: 
        !          5867: Mon Oct 28 10:02:36 1991  Michael Meissner  (meissner at osf.org)
        !          5868: 
        !          5869:        * toplev.c (main): If -G is used, set g_switch_set to true, and set
        !          5870:        g_switch_value to be the integer value of it's argument, for use in
        !          5871:        the MIPS port to determine whether a static or global item goes into
        !          5872:        the normal data area, or into the small data area.
        !          5873: 
        !          5874:        * out-mips.c (g_switch_set, g_switch_value): Delete these global
        !          5875:        variables, since toplev.c now defines them.
        !          5876: 
        !          5877:        * tm-mips.h (EXTRA_INT_OPTIONS): Delete macro which is no longer
        !          5878:        used in internal OSF patches to provide -G xx support.
        !          5879:        (ASM_SPEC, CC1_SPEC, LINK_SPEC): Remove -G32, since the new -G
        !          5880:        patches take care of it now.
        !          5881: 
        !          5882:        * tm-decrose.h (ASM_SPEC, LINK_SPEC): Remove -G32.
        !          5883: 
        !          5884:        * tm-decstatn.h (ASM_SPEC, LINK_SPEC): Remove -G32.
        !          5885: 
        !          5886:        * tm-iris.h (ASM_SPEC, LINK_SPEC): Remove -G32.
        !          5887: 
        !          5888:        * tm-mips-bsd.h (LINK_SPEC): Remove -G32.
        !          5889: 
        !          5890:        * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Remove -G32.
        !          5891: 
        !          5892:        * tm-mips-sysv.h (LINK_SPEC): Remove -G32.
        !          5893: 
        !          5894: Mon Oct 28 07:11:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5895: 
        !          5896:        * combine.c (try_combine): Don't delete unused SETs if they have
        !          5897:        side-effects.
        !          5898: 
        !          5899:        * Makefile.in, t-i386sco: Had both LIMIT_H and LIMITS_H; latter
        !          5900:        is correct.
        !          5901: 
        !          5902:        * combine.c (subst): New argument `unique_copy'; if non-zero ensure
        !          5903:        each copy of `from' replaced gets a unique copy of `to'.
        !          5904:        Pass arg to recursive callers.
        !          5905:        (try_combine): Pass new arg to subst.
        !          5906: 
        !          5907:        * Makefile.in (LANGUAGES): Use `objective-c' instead of `class-c'
        !          5908:        to avoid confusion.
        !          5909: 
        !          5910:        * gcc.c (xmalloc, xrealloc): Really make non-static.
        !          5911: 
        !          5912: Mon Oct 28 00:21:56 1991  Michael Meissner  (meissner at osf.org)
        !          5913: 
        !          5914:        * tm-mips.h (CC1_SPEC): Convert -gline into -g1.
        !          5915: 
        !          5916: Sun Oct 27 17:15:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5917: 
        !          5918:        * reload1.c (spill_hard_reg): Rework code that relies on the fact that
        !          5919:        reg_class_superclasses[i][0] == i, since it isn't true!
        !          5920: 
        !          5921: Sun Oct 27 06:15:24 1991  Ron Guilmette  (rfg at ncd.com)
        !          5922: 
        !          5923:        * configure: Always remove any files before we write them in case
        !          5924:        the old copy was read-only.
        !          5925: 
        !          5926:        * Makefile.in (manext): Now just extension without the period.
        !          5927:        (mandir): Default to include manext.
        !          5928:        (install-man): Adjust to new definition of manext.
        !          5929:        (uninstall): Remove protoize.1 and unprotoize.1 from mandir.
        !          5930: 
        !          5931:        * genemit.c (gen_exp): Write integer using %u instead of %d to
        !          5932:        avoid warnings from some compilers when most negative int is written.
        !          5933: 
        !          5934:        * cccp.c: Make variables not used outside this file static.
        !          5935:        (main, line_to_error, xmalloc, xrealloc, xcalloc): Add missing return
        !          5936:        statements (in unreachable paths).
        !          5937:        (xmalloc, xrealloc, xcalloc, savestring): Make SIZE arg unsigned.
        !          5938:        
        !          5939: Sun Oct 27 06:14:45 1991  Jeffrey A Law  (law at b115.super.org)
        !          5940: 
        !          5941:        * tm-m68k.h (SELECT_RTX_SECTION): New macro.  Used to force
        !          5942:        symbolic objects in the constant pool into the read-write data
        !          5943:        section when generating position independent code.
        !          5944: 
        !          5945:        * recog.c (general_operand, immediate_operand, nonmemory_operand):
        !          5946:        Use LEGITIMATE_PIC_OPERAND_P to reject constants which are not
        !          5947:        valid when generating position independent code.
        !          5948: 
        !          5949:        * reload.c (find_reloads): Do not win in 's', 'i', or 'g' cases
        !          5950:        if the constant does not satisfy LEGITIMATE_PIC_OPERAND_P.
        !          5951: 
        !          5952:        * tm-m68k.h (LEGITIMATE_PIC_OPERAND_P): New macro.
        !          5953: 
        !          5954:        * out-m68k.c (symbolic_operand): New function. Copied from
        !          5955:        tm-sparc.h. 
        !          5956: 
        !          5957:        * gcc.texinfo: Document LEGITIMATE_PIC_OPERAND_P.
        !          5958: 
        !          5959: Sat Oct 26 07:51:40 1991  Michael Meissner  (meissner at osf.org)
        !          5960: 
        !          5961:        * mips.md (movsi_usw): Remove invalid '&' constraint on a memory
        !          5962:        address.
        !          5963: 
        !          5964: Sat Oct 26 07:16:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          5965: 
        !          5966:        * flow.c (find_basic_blocks): Build label_value_list as list of
        !          5967:        CODE_LABELs, not LABEL_REFs.
        !          5968: 
        !          5969:        * fold-const.c (optimize_bit_field_compare): Call fold on result
        !          5970:        of build1 call that converts integer to proper mode.
        !          5971: 
        !          5972:        * rtl.h (unsigned_condition, signed_condition): Add definition;
        !          5973:        functions were previously added to jump.c.
        !          5974:        * combine.c (simplify_comparison): Use unsigned_condition to simplify
        !          5975:        last change.
        !          5976: 
        !          5977: Sat Oct 26 06:48:59 1991  Jeffrey A Law        (law at b115.super.org)
        !          5978: 
        !          5979:        * tm-sun2.h, tm-sun3.h (ASM_SPEC): Pass "-k" to the assembler if
        !          5980:        -fpic or -fPIC.
        !          5981: 
        !          5982: Fri Oct 25 20:43:54 1991  Michael Meissner  (meissner at osf.org)
        !          5983: 
        !          5984:        * tm-mips.h (CC1_SPEC): Remove special rules for -g0, -g1, etc., now
        !          5985:        that GCC supports these directly.
        !          5986: 
        !          5987:        * configure (dec-mips-osf): DECstation running OSF/rose uses
        !          5988:        t-decrose, not t-mips.
        !          5989: 
        !          5990:        * x-decrose (COFF_CC, COFF_CFLAGS, WARNINGS): Delete.
        !          5991:        (libdir, bindir, mandir): Put GCC 2 in the /usr/ccs/gcc tree.
        !          5992: 
        !          5993:        * x-mips (comment): Delete a comment about cross compilers that is
        !          5994:        no longer true.
        !          5995: 
        !          5996:        * t-decrose (coff-obstack.o): Delete rule that is no longer used.
        !          5997: 
        !          5998: Fri Oct 25 18:46:51 1991  Mark Eichin  (eichin at cygnus.com)
        !          5999: 
        !          6000:        * cp-dem.c (cp-demangle): added support for templates, static
        !          6001:        data, and the new (correct) mangling for destructors.
        !          6002: 
        !          6003: Fri Oct 25 16:18:18 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
        !          6004: 
        !          6005:         * cp-decl2.c: (grokclassfn): destructor names *should* contain
        !          6006:         the length; otherwise, we can't tell the difference between a
        !          6007:         destructor for a class whose name begins with 't' and a destructor
        !          6008:         for an instance of a template class.
        !          6009: 
        !          6010: Fri Oct 25 02:15:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          6011: 
        !          6012:        * SYSCALLS.c, protoize.c: Changes from rfg.
        !          6013:        waiting for real changelog entries from rfg.
        !          6014: 
        !          6015:        * gcc.c (xmalloc, xrealloc): No longer static.
        !          6016: 
        !          6017: Thu Oct 24 19:21:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          6018: 
        !          6019:        * fold-const.c (optimize_bit_field_compare):
        !          6020:        Use build1 rather than convert, to avoid warnings.
        !          6021: 
        !          6022:        * final.c (output_source_line): Fix if-scope for DBX fmt.
        !          6023: 
        !          6024: Thu Oct 24 13:29:34 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6025: 
        !          6026:        * gcc.c gen*.c: Don't make fancy_abort static.
        !          6027: 
        !          6028: Thu Oct 24 12:07:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          6029: 
        !          6030:        * combine.c (simplify_comparison): When narrowing a comparison
        !          6031:        and removing ANDs, make it unsigned.
        !          6032: 
        !          6033: Thu Oct 24 08:02:04 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          6034: 
        !          6035:        * cp-decl.c (binding_levels_sane): New function, tests that stack
        !          6036:        of binding levels is consistent.  Argument provides extra
        !          6037:        identification for call site, in case compiler optimizes too well.
        !          6038:        If PARANOID is not set, does nothing.
        !          6039:        (push_binding_level, pop_binding_level): Now functions, for easier
        !          6040:        debugging.  Inlined under GNU C if not PARANOID.
        !          6041:        (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Invoke functions.
        !          6042:        (push_to_top_level): Use type-shadowed slots to unwind
        !          6043:        IDENTIFIER_TYPE_VALUE back to top level.
        !          6044:        (start_decl): When processing a template decl, shouldn't need to
        !          6045:        check uses_template_parms.  For methods, modify arg list to include
        !          6046:        `this'.  Don't set context of template.  Use perm_tree_cons when
        !          6047:        building members list for class template.
        !          6048:        (grokdeclarator): Check "friend" flag before calling
        !          6049:        globalize_nested_type.  Build a method type for a function that has
        !          6050:        a context.
        !          6051: 
        !          6052:        * cp-pt.c (end_template_decl): If template has non-null context,
        !          6053:        chain it off of the containing class, rather than using pushdecl.
        !          6054:        (instantiate_class_template): Instantiate all the member templates
        !          6055:        hanging off the class template.  Also, simplify some code in the
        !          6056:        case where setup_parse is 0.
        !          6057:        (tsubst): Check for several common values that won't be modified by
        !          6058:        substitutions.
        !          6059:        (tsubst, case FUNCTION_DECL): Don't return type passed if it has a
        !          6060:        non-null context that might need fixing.  Process that context while
        !          6061:        building up the new decl node; use it to notify build_decl_overload
        !          6062:        that we've got a method rather than a function.
        !          6063:        (tsubst, case METHOD_TYPE): Handle like FUNCTION_TYPE; enhance that
        !          6064:        case to handle TYPE_METHOD_BASETYPE when set.
        !          6065:        (unify): Increment value pointed to by nsubsts, not the pointer
        !          6066:        itself.
        !          6067:        (do_pending_expansions): Method context is in DECL_CONTEXT, not
        !          6068:        DECL_CLASS_CONTEXT.
        !          6069: 
        !          6070:        * cp-lex.c (do_identifier): Don't try looking up fields in base
        !          6071:        classes of UNINSTANTIATED_P_TYPE.
        !          6072: 
        !          6073:        * cp-parse.y (primary): Call require_complete_type only for
        !          6074:        CALL_EXPR nodes of types other than void.
        !          6075:        (template_type): Don't call IDENTIFIER_TYPE_VALUE on
        !          6076:        error_mark_node.
        !          6077: 
        !          6078:        * cp-ptree.c (print_lang_decl): For UNINSTANTIATED_P_TYPE, show
        !          6079:        template as well as parameters.
        !          6080: 
        !          6081:        * cp-tree.h (DECL_TEMPLATE_*, UPT_*): New accessor macros for
        !          6082:        TEMPLATE_DECL and UNINSTANTIATED_P_TYPE nodes.  All (most?) uses
        !          6083:        except for node creation changed to use these.
        !          6084:        * cp-tree.def: Updated comments for these node types.
        !          6085: 
        !          6086:        * cp-pt.c (uses_template_parms): Handle ADDR_EXPR.
        !          6087:        (end_template_decl): For function with non-null context, pop class
        !          6088:        binding level.
        !          6089: 
        !          6090: Thu Oct 24 06:57:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6091: 
        !          6092:        * a29k.md, romp.md, rs6000.md (movdi, movdf, movti): Handle case of
        !          6093:        reg-reg copy with overlapping registers correctly.
        !          6094: 
        !          6095:        * out-rs6000.c (ccr_bit, case NE): Fix typo in bit number.
        !          6096:        (output_epilog): Must restore stack using backchain if alloca called.
        !          6097: 
        !          6098:        * romp.md, rs6000.md (extendxxyy2, zero_extendxxyy2): Use DEFINE_EXPAND
        !          6099:        to force operand to register; DEFINE_INSN allows memory (better cse).
        !          6100: 
        !          6101:        * rs6000.md (ffssi2): New patterns.
        !          6102:        (maskir): Add patterns to use maskir instructions.
        !          6103: 
        !          6104:        * tm-a29kunix.h (TARGET_DEFAULT, CPP_SPEC): Default to 29050.
        !          6105: 
        !          6106:        * tm-rs6000.h (LINK_SPEC): Add -bnodelcsect.
        !          6107:        (HARD_REGNO_MODE_OK): Delete kludge that didn't allow DImode in reg 31
        !          6108:        and TImode in 29-31; the bug was fixed elsewhere.
        !          6109: 
        !          6110: Wed Oct 23 17:48:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6111: 
        !          6112:        * combine.c (try_combine): If an insn doesn't match, check for case
        !          6113:        where first SET's result isn't used; previously only checked second.
        !          6114: 
        !          6115:        * combine.c (try_combine): When we substitute into a COMPARE, check
        !          6116:        SELECT_CC_MODE to see if we should try to change the mode of the
        !          6117:        COMPARE and its result.
        !          6118: 
        !          6119: Wed Oct 23 16:38:26 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
        !          6120: 
        !          6121:        * gnulib2.c (__ashrdi3): Compute sign extension shift count from
        !          6122:        machine word size instead of using 31.
        !          6123: 
        !          6124: Wed Oct 23 14:25:04 1991  Michael Meissner  (meissner at osf.org)
        !          6125: 
        !          6126:        * tm-mips.h (PREFERRED_DEBUGGING_TYPE): Unless otherwise defined,
        !          6127:        set to SDB_DEBUG.
        !          6128: 
        !          6129:        * tm-decrose.h (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG.
        !          6130: 
        !          6131:        * out-mips.c (override_options): Don't override debugger choice now
        !          6132:        that PREFERRED_DEBUGGING_TYPE is provided.
        !          6133: 
        !          6134: Wed Oct 23 07:25:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6135: 
        !          6136:        * sdbout.c (sdbout_symbol/FUNCTION_DECL, sdbout_toplevel_data,
        !          6137:        sdbout_end_epilogue): Use DECL_ASSEMBLER_NAME to avoid link-time
        !          6138:        multiple definitions.
        !          6139: 
        !          6140: Tue Oct 22 15:06:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6141: 
        !          6142:        * reload1.c (reload): For now, we must always have a frame pointer
        !          6143:        if a function calls alloca and EXIT_IGNORE_STACK is non-zero.
        !          6144: 
        !          6145:        * cse.c (insert_regs): Don't make new quantity for the register in
        !          6146:        a SUBREG.
        !          6147:        (merge_equiv_classes): Don't invalidate the register inside a SUBREG.
        !          6148:        (canon_hash, case SUBREG): Remove code to treat SUBREGs like REGs.
        !          6149: 
        !          6150: Tue Oct 22 10:25:29 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6151: 
        !          6152:        * tm-m88kdgux.h (PREFERRED_DEBUGGING_TYPE): Use it.
        !          6153:        * tm-m88k.h (OVERRIDE_OPTIONS): Don't override write_symbols.
        !          6154: 
        !          6155:        * out-m88k.c (m88k_output_{prologue,epilogue}): Renamed.
        !          6156: 
        !          6157: Tue Oct 22 00:51:48 1991  Richard Stallman  ([email protected])
        !          6158: 
        !          6159:        * c++: New shell script.
        !          6160: 
        !          6161:        * gcc.c (default_compilers): Treat .ii files as cpp'd C++.
        !          6162: 
        !          6163:        * varasm.c (make_function_rtl): Don't alter DECL_ASSEMBLER_NAME.
        !          6164: 
        !          6165:        * toplev.c (main): Use PREFERRED_DEBUGGING_TYPE if support
        !          6166:        more than one format.
        !          6167: 
        !          6168: Mon Oct 21 23:08:02 1991  Richard Stallman  ([email protected])
        !          6169: 
        !          6170:        * c-decl.c (grokdeclarator): Fix error message for long float.
        !          6171: 
        !          6172: Mon Oct 21 16:55:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6173: 
        !          6174:        * optabs.c (add_equal_note): New function.
        !          6175:        (expand_binop): Delete some obsolete, turned-off code.
        !          6176:        Use GET_RTX_CLASS to see if operator is commutative.
        !          6177:        Call add_equal_note if we make a multi-insn sequence; if it fails,
        !          6178:        redo the operation without our target.
        !          6179:        In multi-word cases, don't allow TARGET to be the same as an input.
        !          6180:        (expand_unop): Allow operation to fail.
        !          6181:        Call add_equal_note and allow failure, like in expand_binop.
        !          6182:        In multi-word case, don't allow TARGET to be OP0.
        !          6183:        (emit_unop_insn): Use add_equal_note; ignore its failure here.
        !          6184: 
        !          6185:        * optabs.c (expand_float, expand_fix): In cases when we will jump,
        !          6186:        ensure we call emit_queue before protect_from_queue.
        !          6187:        Eliminate redundant calls to protect_from_queue and force_non_mem.
        !          6188: 
        !          6189:        * reorg.c (steal_delay_list_from_target): Don't take an insn from
        !          6190:        the fallthrough thread of an annulled branch insn.
        !          6191: 
        !          6192: Mon Oct 21 16:55:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6193: 
        !          6194:        * configure (m88k targets): Complete last change.
        !          6195: 
        !          6196: Mon Oct 21 16:06:25 1991  Richard Stallman  ([email protected])
        !          6197: 
        !          6198:        * integrate.c (copy_rtx_and_substitute): When making copy of frame,
        !          6199:        round size to keep substituted frame pointer aligned.
        !          6200:        (CEIL_ROUND): New macro.
        !          6201: 
        !          6202: Mon Oct 21 15:16:17 1991  Michael Meissner  (meissner at osf.org)
        !          6203: 
        !          6204:        * tm-mips.h (GP_REG_OR_PSEUDO_NONSTRICT_P): New macro for
        !          6205:        REG_OK_FOR_{BASE,INDEX}_P in non strict mode.  Fix typos in the
        !          6206:        previous change.
        !          6207:        (GP_REG_OR_PSEUDO_P): Rename to GP_REG_OR_PSEUDO_STRICT_P.
        !          6208:        (REG_OK_FOR_BASE_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
        !          6209:        (REG_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
        !          6210:        (GO_IF_LEGITIMATE_ADDRESS): Indicate if strict checking is being
        !          6211:        used if -mdebugb tracing.
        !          6212: 
        !          6213: Mon Oct 21 15:08:15 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6214: 
        !          6215:        * Makefile.in (*.o): Add insn-codes.h to all lists using expr.h.
        !          6216:        (dwarfout.o): Add dwarf.h, reload.h, output.h, and insn-config.h.
        !          6217: 
        !          6218:        * c-tree.h (TYPE_ACTUAL_ARG_TYPES): New macro for list of actual
        !          6219:        types.
        !          6220:        * c-decl.c (store_parm_decls): Compute TYPE_ACTUAL_ARG_TYPES if a
        !          6221:        prototype is not present.  Delete old method.
        !          6222:        (duplicate_decls): Provide better diagnostics if a prototype
        !          6223:        follows a function definition.
        !          6224: 
        !          6225:        * m88k.md (gen_divsi3): Delete REG_EQUAL workaround.
        !          6226:        * t-m88k{,luna,sysv4}: Target makefile portion (from Mike Stump).
        !          6227:        * x-m88k{,dgux,luna,sysv4}: Corresponding deletions.
        !          6228:        * {tm,t,x}-m88ksysv4: Renamed from m88ksvr4.  Deleted xm-m88ksvr4.
        !          6229:        * {tm,xm}-m88ksysv3: Renamed from v88r32.
        !          6230:        * configure: Corresponding changes.
        !          6231: 
        !          6232:        * tm-m88k.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Output to
        !          6233:        .ctors/.dtors sections.
        !          6234:        (TARGET_SWITCHES): Add -m88000, -m88100, and -m88110.  Replace
        !          6235:        DG/UX MXDB options with SUBTARGET_SWITCHES macro.
        !          6236:        * tm-m88kdgux.h (SUBTARGET_SWITCHES, ASM_SPEC, ASM_FIRST_LINE):
        !          6237:        Put MXDB options here changing -mdwarf to -mstandard.
        !          6238: 
        !          6239: Sun Oct 20 06:39:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6240: 
        !          6241:        * combine.c (simplify_comparison, case PLUS): Only do simplification
        !          6242:        for equality comparison due to overflow problems.
        !          6243: 
        !          6244:        * gen*.c: Remove "void *" and uses of size_t added by recent change.
        !          6245: 
        !          6246:        * reload.c (find_reloads): If "&" given without any registers, 
        !          6247:        turn off earlyclobber, in addition to giving error.
        !          6248: 
        !          6249:        * Makefile.in (STAGE_GCC): Deleted.
        !          6250:        (STAGESTUFF): Add gcc (from STAGE_GCC) and gcc-cross.
        !          6251: 
        !          6252: Sun Oct 20 04:37:21 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          6253: 
        !          6254:        * cp-decl.c (grokfndecl): Use DECL_NAME, not DECLARATOR at end of
        !          6255:        function, since DECL_NAME may be different if it's an operator name.
        !          6256: 
        !          6257:        * cp-cvt.c (convert_pointer_to): Test if PARENT is TREE_VEC
        !          6258:        before testing IS_AGGR_TYPE.
        !          6259: 
        !          6260: Sun Oct 20 00:40:47 1991  Richard Stallman  ([email protected])
        !          6261: 
        !          6262:        * gcc.c (link_command_spec): -collect converts to -c.
        !          6263: 
        !          6264:        * toplev.c (main): Support -gstabs and -gcoff.  Fix args to strncmp.
        !          6265: 
        !          6266: Sat Oct 19 21:51:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6267: 
        !          6268:        * reorg.c: Use const_true_rtx instead of const1_rtx.
        !          6269:        (delete_scheduled_jump): Don't delete an insn that sets CC0 if it
        !          6270:        has a side-effect.
        !          6271:        (update_block): Add missing declaration for parameter WHERE.
        !          6272:        (fill_slots_from_thread): Stop search if we find an insn that we
        !          6273:        can't put into the delay slot unless we own the thread.
        !          6274: 
        !          6275: Sat Oct 19 17:30:23 1991  Michael Meissner  (meissner at osf.org)
        !          6276: 
        !          6277:        * tm-mips.h (GP_REG_OR_PSEUDO_P): New macro to make sure a reg or
        !          6278:        pseudo reg during reload will eventually be a GP register for use as
        !          6279:        a base or index register.  This fixes a bug where a FP register
        !          6280:        could be used as a base or index register in some cases after
        !          6281:        convert from floating point to integer was done.
        !          6282:        (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_P.
        !          6283:        (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): In the non strict version,
        !          6284:        don't allow hard FP registers ever.
        !          6285: 
        !          6286: Sat Oct 19 11:59:55 1991  Richard Stallman  ([email protected])
        !          6287: 
        !          6288:        * tm-sun3.h, tm-sparc.h (WORD_SWITCH_TAKES_ARG):
        !          6289:        Check for Tdata as well as target.
        !          6290: 
        !          6291:        * c-decl.c (grokdeclarator): Don't warn for array of incomplete elt.
        !          6292: 
        !          6293:        * expr.c (expand_expr): For INDIRECT_REF, don't set unchanging bit.
        !          6294:        * c-typeck.c (build_indirect_ref): Do set TREE_UNCHANGING if nec.
        !          6295: 
        !          6296:        * reload.c (find_reloads): Warning or error for misuse of `&'.
        !          6297:        * toplev.c (warning_for_asm): New function.
        !          6298: 
        !          6299:        * t-i386sco: New file.
        !          6300:        * x-i386sco: Add -Di286 to CC, OLDCC.
        !          6301:        (LIMIT_H): Moved to t-i386sco.
        !          6302: 
        !          6303: Sat Oct 19 09:08:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6304: 
        !          6305:        * gcc.c: Add missing extern declarations deleted by last change.
        !          6306:        (xrealloc, xmalloc): Don't declare as void *; non-ANSI compilers
        !          6307:        can't handle it.
        !          6308: 
        !          6309: Sat Oct 19 08:26:13 1991  Ron Guilmette  (rfg at ncd.com)
        !          6310: 
        !          6311:        * tree.h: Fix spelling error in comment.
        !          6312: 
        !          6313:        * tree.def, cp-parse.y: Change comments that refer to LET_STMT nodes to
        !          6314:        refer to BLOCK nodes.
        !          6315: 
        !          6316:        * gcc.c, gen*.c: Declare as static objects that aren't referenced
        !          6317:        outside the file they are in.
        !          6318:        (xrealloc, xmalloc): Functions return char *, not int.
        !          6319:        (main): Add missing returns (in unreachable code) to avoid warnings
        !          6320:        when compiled with -Wreturn-type.
        !          6321:        * gcc.c (pexecute): Likewise.
        !          6322:        * genattrtab.c (operate_exp): Likewise.
        !          6323: 
        !          6324: Fri Oct 18 16:58:12 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
        !          6325: 
        !          6326:        * make-cc1.com: Finish changeover from cplus-* to cp-*.
        !          6327: 
        !          6328: Fri Oct 18 16:57:37 1991  Ron Guilmette  (rfg at ncd.com)
        !          6329: 
        !          6330:        * tm-svr4.h: Delete lines duplicated due to transmission problems.
        !          6331: 
        !          6332: Fri Oct 18 16:55:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6333: 
        !          6334:        * jump.c (unsigned_condition, signed_condition): New functions.
        !          6335: 
        !          6336:        * configure (vax): Set tm_file to tm-vax.h so "configure vax-dec-bsd"
        !          6337:        works.
        !          6338: 
        !          6339:        * combine.c (subst, case PLUS, MINUS): Remove some simplifications
        !          6340:        from here.
        !          6341:        * cse.c (simplify_binary_operation, case PLUS, MINUS): Put these
        !          6342:        simplifications here.
        !          6343:        Strip off CONST when looking for some simplifications.
        !          6344:        Add code to simplify (a - (a - b)).
        !          6345: 
        !          6346:        * combine.c (expand_compound_operation): Correctly handle case where
        !          6347:        we have a ZERO_EXTRACT that extends beyond the bounds of the object.
        !          6348: 
        !          6349:        * global-alloc.c (mark_elimination): No longer have FORBIDDEN_REGS as
        !          6350:        argument.
        !          6351:        * reload1.c (reload): Don't pass FORBIDDEN_REGS to mark_elimination.
        !          6352: 
        !          6353:        * cse.c (simplify_{unary,binary,relational}_operation):  Complete
        !          6354:        change that removes warnings from floating-point traps when constant
        !          6355:        folding (some cases had been omitted).
        !          6356: 
        !          6357: Fri Oct 18 16:41:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6358: 
        !          6359:        * stmt.c (expand_anon_union_decl): When creating new mem, copy the
        !          6360:        RTX_UNCHANGING_P and MEM_IN_STRUCT_P bits from the old one.
        !          6361: 
        !          6362:        * sparc.md: Add new scc addx/subx patterns.
        !          6363: 
        !          6364: Fri Oct 18 09:10:43 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          6365: 
        !          6366:        * cp-parse.y (stmts): Fix parsing rules to match C++ semantics
        !          6367:        better (and hence give the compiler better error recovery).
        !          6368: 
        !          6369: Thu Oct 17 19:31:15 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          6370: 
        !          6371:         * cp-pt.c (tsubst): For NEGATE_EXPR, call build1, not build.
        !          6372:         Handle NOP_EXPR likewise.
        !          6373:         (unify, case TEMPLATE_CONST_PARM): Copy value to permanent obstack.
        !          6374: 
        !          6375:         * cp-method.c (PARM_CAN_BE_ARRAY_TYPE): If not already defined,
        !          6376:         define it to be 1.
        !          6377:         (build_overload_name): Test to see if it's nonzero, rather than
        !          6378:         whether it's defined; this permits compilation options to disable
        !          6379:         it, but leave it enabled by default.  Add one to the array size,
        !          6380:         since the value retrieved appears to be the maximum index, not the
        !          6381:         true array size.
        !          6382: 
        !          6383: Thu Oct 17 19:15:37 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
        !          6384: 
        !          6385:         * cp-pt.c (instantiate_class_template):  has an argument to
        !          6386:         indicate whether to setup for parsing or not. (All existing cases
        !          6387:         did a feed input, but if we are trying to set up intermediate nodes
        !          6388:         while waiting for the parser to return to a template_instantiate
        !          6389:         site we need to suppress the parsing part of it, which will get
        !          6390:         redone later.)
        !          6391:         (tsubst): under case UNINSTANTIATED_P_TYPE, actually instantiate any
        !          6392:         class templates that are needed for function return values, and set
        !          6393:         them up as pending templates to be run later.
        !          6394: 
        !          6395:         * cp-parse.y (primary): since build_x_function_call doesn't
        !          6396:         require a complete type any more in certain cases, we instantiate
        !          6397:         any pending templates and then require_complete_type on the
        !          6398:         remainder. 
        !          6399: 
        !          6400:         * cp-typeck.c (build_function_call_real): added an argument to
        !          6401:         optionally skip the require_complete_type... implicit template
        !          6402:         instantiation has to be postponed, so we won't get a complete type
        !          6403:         until the parser can grab it.
        !          6404: 
        !          6405:         * cp-call.c (build_overload_call_real): added an argument do
        !          6406:         allow choice of build_function_call_maybe or build_function_call
        !          6407:         based on whether we thought we would require a complete type out of
        !          6408:         build_function_call. 
        !          6409: 
        !          6410: Wed Oct 16 09:06:57 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6411: 
        !          6412:        * c-decl.c (store_parm_decls): Fix and disable recording the arg
        !          6413:        type list for the function indicating the number of arguments.
        !          6414:        * c-typeck.c (self_promoting_args_p): Allow the arg type to be null.
        !          6415: 
        !          6416:        * expmed.c (store_bit_field, extract_bit_field): Add checks for
        !          6417:        MEM_IN_STRUCT_P if the structure reference is a MEM.
        !          6418: 
        !          6419: Tue Oct 15 18:37:50 1991  Ken Raeburn  (raeburn at cygnus.com)
        !          6420: 
        !          6421:         * cp-call.c (build_overload_call): If template match fails, still
        !          6422:         set function field of candidate structure, and set bad_arg field to
        !          6423:         new magic number -4 to indicate failed type unificiation.
        !          6424: 
        !          6425:         * cp-class.c (add_method): Call make_function_rtl only if not
        !          6426:         processing a template declaration.
        !          6427: 
        !          6428:         * cp-tree.def: New node type, UNINSTANTIATED_P_TYPE, for
        !          6429:         parameterized types that haven't had parameters filled in yet.
        !          6430:         Looks like a type node.
        !          6431: 
        !          6432:         * cp-decl.c (struct binding_level): New flag indicating any name
        !          6433:         should be accepted when looked up at this level.  This is a kludge
        !          6434:         to try to deal with methods of parameterized types.
        !          6435:         (declare_uninstantiated_type_level): Set it.
        !          6436:         (uninstantiated_type_level_p): Return it.
        !          6437:         * cp-class.c (pushclass): If the "class" type is
        !          6438:         UNINSTANTIATED_P_TYPE, flag it in the new binding level.
        !          6439: 
        !          6440:         * cp-decl.c (push_overloaded_decl): New argument to indicate
        !          6441:         whether the decl should be forgotten when the current level is
        !          6442:         exited.  Callers changed.
        !          6443:         (push_overloaded_decl_top_level): Ditto.
        !          6444:         (dont_forget_overload): Deleted.
        !          6445:         (push_overloaded_decl_1): New fn; like push_overloaded_decl, but
        !          6446:         never forgets.  Intended only for use by auto_function macro.
        !          6447:         (auto_function): Use it.
        !          6448: 
        !          6449:         * cp-decl.c (print_binding_level): Print type-shadowed field at
        !          6450:         each level.  Skip fields with no values.
        !          6451: 
        !          6452:         * cp-decl.c (adjust_type_value): Use SET_IDENTIFIER_TYPE_VALUE,
        !          6453:         not set_identifier_type_value.
        !          6454: 
        !          6455:         * cp-decl.c (pushdecl): Undo Oct 4 back-out of previous change.
        !          6456:         Set type value of name of passed decl, instead of name of type in
        !          6457:         passed decl.
        !          6458:         (pushdecl_top_level): Search type-shadowed fields of outer binding
        !          6459:         levels, munging outermost one if found to cause it to "restore" the
        !          6460:         new global value.
        !          6461: 
        !          6462:         * cp-decl.c (push_overloaded_decl): Don't punt second or later
        !          6463:         templates of a given name.
        !          6464: 
        !          6465:         * cp-decl.c (start_decl): Template-handling code moved up, to
        !          6466:         cope better with variable declarations.  Don't check for incomplete
        !          6467:         type or constructor requirements when processing template.
        !          6468: 
        !          6469:         * cp-decl2.c (build_push_scope): If passed error mark node, just
        !          6470:         return it.
        !          6471:         (constructor_name): Handle UNINSTANTIATED_P_TYPE.
        !          6472: 
        !          6473:         * cp-lex.c (identifier_type): Don't return PTYPENAME for function
        !          6474:         template name.
        !          6475: 
        !          6476:         * cp-method.c (report_type_mismatch): New magic bad-arg value -4
        !          6477:         indicates type unification failure.
        !          6478:         (build_overload_name, case UNINSTANTIATED_P_TYPE): Handle like other
        !          6479:         template-related types that shouldn't get visibility outside the
        !          6480:         compiler.
        !          6481: 
        !          6482:         * cp-parse.y (template_type): Use IDENTIFIER_TYPE_VALUE from
        !          6483:         name, if expansion doesn't happen.
        !          6484:         (tmpl.1, tmpl.2): Now type <ttype>.  Value is null or return value
        !          6485:         from instantiate_class_template.
        !          6486:         (template_instantiation): Always put copy of decl in global scope.
        !          6487:         Use pushdecl_top_level instead of setting IDENTIFIER_GLOBAL_VALUE
        !          6488:         slot.
        !          6489:         (LC): If type has been or is being defined, push a new type with the
        !          6490:         same name, to avoid conflict.
        !          6491:         (try_for_typename): New type <itype>.  Value is non-zero iff type to
        !          6492:         be pushed uses no template parms and isn't error_mark_node.
        !          6493:         (scoped_id): Return error_mark_node for template parameter uses, and
        !          6494:         leave error_mark_node alone.  Only pop class if try_for_typename
        !          6495:         value is non-zero.
        !          6496:         (scoped_typename): Ditto.
        !          6497: 
        !          6498:         * cp-pt.c (end_template_decl): If template decl/class head arg is
        !          6499:         null, punt.  For non-type templates that didn't come in as template
        !          6500:         decls, clear public flag.  Such cases shouldn't arise any more; just
        !          6501:         put in abort call for now until we're sure.  Comment out code for
        !          6502:         forcibly removing temporary values of template type parms; Michael
        !          6503:         broke the code and fixed the original problem.  Handle error case
        !          6504:         where decl to be pushed might be null.
        !          6505:         (coerce_template_parms): Handle arg list as TREE_VEC as well as
        !          6506:         TREE_LIST.  If arg list uses template parms, return
        !          6507:         UNINSTANTIATED_P_TYPE node.
        !          6508:         (uses_template_parms, case UNINSTANTIATED_P_TYPE): Return 1.
        !          6509:         (instantiate_class_template): Now returns tree -- error_mark_node or
        !          6510:         NULL_TREE or class type; callers and decls changed.  Assign
        !          6511:         TYPE_NAME field when building new RECORD_TYPE and TYPE_DECL nodes.
        !          6512:         Don't need to do extra poplevel any more.
        !          6513:         (tsubst): Handle UNINSTANTIATED_P_TYPE, MINUS_EXPR, PLUS_EXPR,
        !          6514:         NEGATE_EXPR.
        !          6515:         (undo_template_name_overload): Don't need to explicitly clear type
        !          6516:         field any more.
        !          6517:         (overload_template_name): Push a TYPE_DECL, instead of explicitly
        !          6518:         setting type value field.
        !          6519:         (end_template_instantiation): Don't need to pop a level any more.
        !          6520:         (reinit_parse_for_template): Throw away saved block for null or
        !          6521:         error template node.
        !          6522:         (type_unification): Handle variadic functions, and functions with
        !          6523:         default values for arguments.
        !          6524:         (unify): Handle TREE_VEC and UNINSTANTIATED_P_TYPE.
        !          6525: 
        !          6526:         * cp-ptree.c (print_lang_type): Handle UNINSTANTIATED_P_TYPE.
        !          6527: 
        !          6528:         * cp-tree.h (push_overload_decl): Declare here, not in
        !          6529:         cp-decl.c.
        !          6530:         (TEMPLATE_TYPE_* macros): Delete unused (and now incorrect)
        !          6531:         versions.
        !          6532: 
        !          6533: Mon Oct 14 14:30:32 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6534: 
        !          6535:        * integrate.c (expand_inline_function): Fix typo from last edit,
        !          6536:        where TYPE_MODE was applied to an argument, not the type of an
        !          6537:        argument.
        !          6538: 
        !          6539:        * cse.c (canon_hash, SUBREG case): Add cast which is needed by some
        !          6540:        compilers.
        !          6541: 
        !          6542: Mon Oct 14 07:59:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6543: 
        !          6544:        * toplev.c (rest_of_compilation): Compute the function's name and
        !          6545:        pass it to assemble_{start,end}_function.
        !          6546:        * varasm.c (assemble_start_function): New parameter.
        !          6547:        (assemble_end_function): New function for ASM_DECLARE_FUNCTION_SIZE.
        !          6548:        * final.c, sdbout.c: Correct comments.
        !          6549:        * tm-svr4.h, tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): Add and use a
        !          6550:        NAME parameter.
        !          6551:        * tm-m88k.h (ASM_DECLARE_FUNCTION_SIZE): Override svr4 definition.
        !          6552:        * out-m88k.c (output_prologue): Delete previous method.
        !          6553: 
        !          6554:        * m88k.md: Use trap_if.
        !          6555:        (divsi3): Store into output operand only once to aviod problems
        !          6556:        with REG_EQUAL note.
        !          6557:        * out-m88k.c (output_call): Accomodate assembler range
        !          6558:        restriction.
        !          6559:        * tm-m88kdgux.h (AS_BUG_IMMEDIATE_LABEL): Specify the restriction.
        !          6560:        (ASM_SPEC): Pass -KV3 to the assembler in some cases.
        !          6561:        * tm-m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the addressing base
        !          6562:        register global.
        !          6563: 
        !          6564: Sat Oct 12 00:30:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          6565: 
        !          6566:        * Makefile.in (.SUFFIXES): Rule added.
        !          6567: 
        !          6568:        * dbxout.c (dbxout_block): Handle debug_info_level.
        !          6569:        * sdbout.c (sdbout_begin_block): Likewise.
        !          6570:        * toplev.c (compile_file): Likewise, when calling init_emit_once.
        !          6571:        * emit-rtl.c (init_emit_once): Cosmetic change.
        !          6572:        * Makefile.in (sdbout.o): Include flags.h.
        !          6573: 
        !          6574:        * configure: Default srcdir from dir in which configure is found.
        !          6575: 
        !          6576:        * i860.md (floatsidf2): Rewrite to be independant of host machine.
        !          6577:        (divdf3, divsf3): New patterns.
        !          6578: 
        !          6579:        * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Macro deleted.
        !          6580:        (ASM_OUTPUT_FUNCTION_PREFIX): Macro added.
        !          6581: 
        !          6582:        * stmt.c (pushcase, pushcase_range, expand_end_case):
        !          6583:        Don't give "unreachable code" warning for a USE.
        !          6584: 
        !          6585:        * tm-i386.h (HARD_REGNO_MODE_OK): Fp regs reject TFmode.
        !          6586: 
        !          6587: Fri Oct 11 16:43:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6588: 
        !          6589:        * cse.c (find_comparison_args): Reject VOIDmode to avoid invalid
        !          6590:        shift.
        !          6591: 
        !          6592: Fri Oct 11 14:30:31 1991  Richard Stallman  ([email protected])
        !          6593: 
        !          6594:        * c-typeck.c (function_types_compatible_p):
        !          6595:        NULL as arg type matches self-promoting type.
        !          6596:        (self_promoting_type_p): New function.
        !          6597:        (common_type): NULL for arg in one fcn type means use arg from other.
        !          6598:        * c-decl.c (store_parm_decls): Record arg type list for the fn,
        !          6599:        just to indicate how many args there are.
        !          6600: 
        !          6601:        * i860.md, out-i860.c, tm-i860.h: Merge many changes by rfg.
        !          6602:        * tm-i860bsd.h, xm-i860.h: Likewise.
        !          6603:        * tm-i860v3.h, tm-i860v4.h: New files.
        !          6604:        * xm-i860v3.h, xm-i860v4.h: New files.
        !          6605:        * tm-i860v3g.h: Renamed from tm-i860g.h.
        !          6606:        * configure (i860-sysv3*): Renamed from i860-sysv*.  New filenames.
        !          6607:        (i860-sysv4*): New alternative.
        !          6608: 
        !          6609:        * print-rtl.c: New file, split from rtl.c.
        !          6610:        * Makefile.in (print-rtl.o): New target.
        !          6611:        (OBJS): Add that target.
        !          6612: 
        !          6613:        * toplev.c (DEFAULT_GDB_EXTENSIONS): Provide default definition.
        !          6614:        (main): Use that for -g with dbx format.
        !          6615:        Don't support -G.
        !          6616:        * gcc.c (default_compilers): Get rid of -G.
        !          6617: 
        !          6618: Fri Oct 11 14:30:43 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6619: 
        !          6620:        * stmt.c (expand_anon_union_decl): Correctly handle anonymous
        !          6621:        unions, whether in memory or registers.
        !          6622: 
        !          6623:        These were written by Michael Tiemann.
        !          6624:        The following changes net a 16% speedup compiling some
        !          6625:        machine-generated CAD synthesis code.
        !          6626:        * c-decl.c (field_decl_cmp): New function, use as comparison
        !          6627:        function for qsort.
        !          6628:        (finish_struct): If there are more than 15 fields, allocate a
        !          6629:        LANG_TYPE for the FIELD_DECLs, and sort them according to
        !          6630:        `field_decl_cmp'.
        !          6631:        * c-tree.h (lang_type): Define a LANG_TYPE for RECORD_TYPEs.
        !          6632:        * c-typeck.c (build_component_ref): If LANG_TYPE set, then use
        !          6633:        binary search to find the field, otherwise use linear search as
        !          6634:        before.
        !          6635: 
        !          6636:        * tree.h: Declare savealloc.
        !          6637:        * c-common.c: Delete now unnecessary cast of savealloc result.
        !          6638: 
        !          6639: Fri Oct 11 10:06:09 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6640: 
        !          6641:        * cse.c (simplify_binary_operation): Fix typo in last change.
        !          6642: 
        !          6643:        * cp-*, gcc.texinfo, make-cc1.com, tree.c, undocumented: Change
        !          6644:        cplus- to cp-.  Rename cplus-parse.y to cp-parse.y.
        !          6645: 
        !          6646: Fri Oct 11 07:48:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6647: 
        !          6648:        * recog.c (find_single_use_1): Ignore appearances of DEST in
        !          6649:        contexts where it is being set, not referenced.
        !          6650:        (find_single_use): Use dead_or_set_p instead of looking for REG_DEAD
        !          6651:        notes.
        !          6652: 
        !          6653: Fri Oct 11 07:29:33 1991  Ron Guilmette  (rfg at ncd.com)
        !          6654: 
        !          6655:        * c-parse.y, cp-lex.c, objc-parse.y (check_newline):    Use `pedwarn'
        !          6656:        instead of `error' when we see an #ident if -pedantic.
        !          6657:        * cccp.c (do_assert, do_unassert, check_assertion, do_sccs): Warn
        !          6658:        if -pedantic.
        !          6659: 
        !          6660: Thu Oct 10 18:30:28 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6661: 
        !          6662:        * gcc.c (default_compilers): Correctly handle new debugging
        !          6663:        options, pass all -g* and -G* options.
        !          6664: 
        !          6665:        * Makefile.in, c-decl.c, cp-decl.c, final.c, flags.h, gcc.1,
        !          6666:        gcc.c, print-tree.c, toplev.c, tree.def, tree.h: Delete support
        !          6667:        for obsolete GDB_DEBUG format, -gg option, symout.c, etc.
        !          6668:        * gdbfiles.h, symseg.h, symout.c: Delete obsolete files.
        !          6669: 
        !          6670: Thu Oct 10 17:56:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6671: 
        !          6672:        * expr.c (convert_move): When widening FROM to multi-word, ensure that
        !          6673:        we only reference each piece of TO once so that emit_no_conflict_block
        !          6674:        can be safely used.
        !          6675: 
        !          6676:        * toplev.c (float_signal): Re-enable the signal after we catch it.
        !          6677: 
        !          6678:        * cse.c (simplify_binary_operation): Add missing fp error handler
        !          6679:        setup in DFmode case.
        !          6680: 
        !          6681:        * combine.c (subst, case XOR): Fix typo in checking for
        !          6682:        STORE_FLAG_VALUE equal to just the sign bit.
        !          6683:        (simplify_comparison): Fix typo in computing maximum signed number in
        !          6684:        a mode; also, use GET_MODE_MASK rather than trying to compute it.
        !          6685: 
        !          6686: Thu Oct 10 17:52:44 1991  Richard Stallman  ([email protected])
        !          6687: 
        !          6688:        * c-decl.c (init_decl_processing): Turn off `alloca' for -ansi.
        !          6689:        (c_decode_option): Handle -fbuiltin, -fno-builtin.
        !          6690: 
        !          6691: Thu Oct 10 17:42:03 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6692: 
        !          6693:        * caller-save.c (emit_mult_restore): Initialize MAYBE_TEMPREG.
        !          6694: 
        !          6695:        * function.c (assign_parms): Set MEM_IN_STRUCT_P when creating a
        !          6696:        MEM for a aggregate passed by reference.
        !          6697:        * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P
        !          6698:        when dereferencing an aggregate.
        !          6699: 
        !          6700:        * sched.c (sched_note_set): Add missing parens.
        !          6701: 
        !          6702:        * sparc.md: Delete unnecessary clobbers from all SCC patterns.
        !          6703: 
        !          6704:        * integrate.c (expand_inline_function): Correct handling of arguments
        !          6705:        passed by invisible reference.
        !          6706: 
        !          6707:        * cse.c (canon_hash): Compute hash code for SUBREG same as we do
        !          6708:        for REG.  Otherwise, SUBREG hash codes can change when qty_const
        !          6709:        changes, which results in duplicate SUBREG entries, which can
        !          6710:        cause a crash.
        !          6711: 
        !          6712: Wed Oct  9 15:55:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6713: 
        !          6714:        * cccp.c (main): Update MAX_INCLUDE_LEN if GCC_EXEC_PREFIX gets into
        !          6715:        the act.
        !          6716: 
        !          6717:        * xm-a29k.h: Change copyright message back to GPL version 2.
        !          6718:        * xm-a29k-ultra.h: Use GPL version 2 copyright.
        !          6719: 
        !          6720:        * reload1.c (reload): Put array size in cast, to prevent compiler
        !          6721:        warning.
        !          6722: 
        !          6723:        * dwarfout.c (type_attribute): Check for ERROR_MARK nodes.
        !          6724: 
        !          6725: Wed Oct  9 13:59:22 1991  Richard Stallman  ([email protected])
        !          6726: 
        !          6727:        * toplev.c (float_signal): Reenable handler.
        !          6728: 
        !          6729:        * configure: Comment out various options not yet updated.
        !          6730: 
        !          6731:        * cp-*.c, cp-*.h: Renamed from cplus-*.[ch].
        !          6732:        * Makefile.in: Renaming here also.
        !          6733: 
        !          6734:        * x-*: Renamed from make-*.
        !          6735:        * Makefile.in (tmake_file, xmake_file): New vars.
        !          6736:        (Makefile): Depend on them.
        !          6737:        * configure: Replace host_make_var_file with host_xmake_file.
        !          6738:        Handle tmake_file also, for target machine.
        !          6739:        Form file names from x- and t-.
        !          6740:        Rearrange use of temporary files during editing of Makefile.
        !          6741: 
        !          6742:        * t-mips: Most of x-mips moved here.
        !          6743:        * t-decrose: Likewise from x-decrose.
        !          6744: 
        !          6745:        * xm-a29k-ult.h: Renamed from xm-a29k-ultra.h.
        !          6746: 
        !          6747:        * Makefile. in (install-common): Don't handle `collect' specially.
        !          6748:        It should be in EXTRA_PASSES if it is needed.
        !          6749: 
        !          6750:        * cse.c (simplify_binary_expression): Use float handler for DF like SF.
        !          6751:        Don't warn about traps; leave them for run time.
        !          6752: 
        !          6753:        * tm-hp9k320.h (SIZE_TYPE): New definition.
        !          6754:        Note: this affects tm-3b1.h by inheritance.  Not sure that's right.
        !          6755: 
        !          6756: Wed Oct  9 12:15:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6757: 
        !          6758:        * rtl.def (TRAP_IF): Make TRAP into a conditional trap.
        !          6759:        * rtl.h (TRAP_CONDITION): Define.
        !          6760:        * rtlanal.c (reg_referenced_p may_trap_p): Deal with TRAP_IF properly.
        !          6761:        (volatile_refs_p side_effects_p): Not currently true for TRAP_IF.
        !          6762: 
        !          6763: Wed Oct  9 03:55:21 1991  Richard Stallman  ([email protected])
        !          6764: 
        !          6765:        * make-mips (BISONFLAGS): Assignment deleted.
        !          6766: 
        !          6767:        * real.h (REAL_VALUE_MINUS_ZERO): New macro.
        !          6768:        * fold-const.c (target_minus_zero): New function.
        !          6769:        * tm-sun2os4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
        !          6770:        (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND):
        !          6771:        Use REAL_VALUE_ISINF, REAL_VALUE_MINUS_ZERO.
        !          6772: 
        !          6773: Tue Oct  8 17:56:13 1991  Richard Stallman  ([email protected])
        !          6774: 
        !          6775:        * c-decl.c (duplicate_decls): If redeclaring builtin as static,
        !          6776:        replace the old decl.
        !          6777: 
        !          6778:        * tm-seq386.h (HARD_REGNO_MODE_OK): Copy usual def into override def.
        !          6779: 
        !          6780:        * tm-news.h (CPP_PREDEFINES): Get rid of invalid conditionals.
        !          6781:        * tm-tower.h: Likewise.
        !          6782: 
        !          6783:        * tm-gmicro.h (MODES_TIEABLE_P): Fix typo.
        !          6784: 
        !          6785:        * ns32k.md (rotrsi3): Fix typo `NEGATE' for `NEG'.
        !          6786: 
        !          6787:        * c-typeck.c (mark_addressable): Handle CONSTRUCTOR.
        !          6788:        * expr.c (expand_expr): Handle addressable contructors.
        !          6789: 
        !          6790: Tue Oct  8 14:42:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6791: 
        !          6792:        * expmed.c (lshift_value): Ensure the shift amount is in range.
        !          6793: 
        !          6794: Mon Oct  7 20:45:35 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6795: 
        !          6796:        * integrate.c (function_cannot_inline_p, save_for_inline_copying,
        !          6797:        save_for_inline_nocopy, expand_inline_function,
        !          6798:        output_inline_function): Use GET_RTX_CLASS.
        !          6799: 
        !          6800:        * listing: Remove RCS Author and Log fields.
        !          6801: 
        !          6802:        * cse.c (exp_equiv_p): Fix typos in comments/spacing.
        !          6803:        * emit-rtl.c: Likewise.
        !          6804:        * expmed.c (store_fixed_bit_field): Likewise.
        !          6805:        * integrate.c (subst_constants): Likewise.
        !          6806: 
        !          6807:        * longlong.h: Again fix same typo previously fixed Sept 5.
        !          6808: 
        !          6809: Mon Oct  7 17:28:23 1991  Michael Meissner  (meissner at osf.org)
        !          6810: 
        !          6811:        * xm-mips.h (MIPS): Define MIPS to 1 instead of nothing, so
        !          6812:        mips-tfile will compile once again.
        !          6813: 
        !          6814: Mon Oct  7 17:10:32 1991  Richard Stallman  ([email protected])
        !          6815: 
        !          6816:        * cccp.c (main): Pedantically warn if no newline at end of file.
        !          6817:        (finclude): Likewise.
        !          6818: 
        !          6819:        * c-decl.c (grokdeclarator): funcdef_flag overrides parm level.
        !          6820: 
        !          6821: Sun Oct  6 16:37:31 1991  Richard Stallman  ([email protected])
        !          6822: 
        !          6823:        * sparc.md (peephole for lo-sum and load df): Use output_move_double.
        !          6824: 
        !          6825:        * tree.h (DECL_BUILT_IN_NONANSI): New flag.
        !          6826:        * c-decl.c (init_decl_processing): Set flag for `alloca'.
        !          6827: 
        !          6828:        * c-decl.c (duplicate_decls): Rearranged to reduce conditionals.
        !          6829:        Allow redefining built-in functions as static even if new decl
        !          6830:        is not a function.  Also allow if built-in is not ANSI.
        !          6831: 
        !          6832:        * out-sparc.c (output_move_double): Fix typo in test for using ldd.
        !          6833: 
        !          6834: Sun Oct  6 12:56:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6835: 
        !          6836:        * expr.c (expand_expr, case COND_EXPR): Rename var added in last
        !          6837:        change; some C compilers don't like "optab optab;".
        !          6838: 
        !          6839: Sun Oct  6 09:26:55 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          6840: 
        !          6841:        * cplus-method.c (build_overload_name): When walking up contexts, if
        !          6842:        CONTEXT becomes a _TYPE node, point it at the _DECL node for the
        !          6843:        type.
        !          6844: 
        !          6845:        * cplus-decl2.c (grokclassfn): Paremeter COMPLAIN deleted.  No
        !          6846:        longer performs sanity check by itself.
        !          6847:        (check_classfn): New function.  Performs sanity check that
        !          6848:        `grokclassfn' used to do.  All callers changed.
        !          6849: 
        !          6850:        * tree.h (struct tree_decl): Add new ignored_flag; delete
        !          6851:        lang_flag_8 to make room.
        !          6852:        (DECL_IGNORED_P): New macro.
        !          6853:        (DECL_LANG_FLAG_8): Deleted.
        !          6854:        * cplus-dbxout.c (dbxout_type): Use this macro instead of
        !          6855:        ANON_AGGRNAME_P.
        !          6856:        * cplus-decl.c (pushtag): Set DECL_IGNORED_P when appropriate.
        !          6857:        * cplus-decl.c (duplicate_decls): Ensure DECL_IGNORED_P remains
        !          6858:        consistent.
        !          6859: 
        !          6860:        * cplus-decl.c (grokfndecl): If we have an overloaded operator, set
        !          6861:        the DECL_NAME to something that dbxout.c can handle.
        !          6862:        * cplus-method.c (hack_operator): Change this function to handle
        !          6863:        this new behavior.
        !          6864:        * cplus-init.c (do_friend): Ditto.
        !          6865: 
        !          6866: Sat Oct  5 14:32:01 1991  Richard Stallman  ([email protected])
        !          6867: 
        !          6868:        * expmed.c (expand_mult): Avoid fetching memory more than once.
        !          6869: 
        !          6870:        * tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1.
        !          6871: 
        !          6872:        * expr.c (expand_builtin): Clarify error message for BUILT_IN_NEXT_ARG.
        !          6873: 
        !          6874: Sat Oct  5 08:42:02 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          6875: 
        !          6876:        * cplus-decl.c (clear_anon_tags): New function.
        !          6877:        (make_anon_name): Moved here from cplus-method.c.
        !          6878:        * cplus-lex.c (check_for_missing_semicolon, note_list_got_semicolon):
        !          6879:        call `clear_anon_tags' when done.
        !          6880:        * cplus-dbxout.c (dbxout_type): No longer test ANON_AGGRNAME_P for
        !          6881:        TYPE_NAMEs that are IDENTIFIER_NODES.  They no longer appear in GNU
        !          6882:        C++.  Also, we can rely on the fact that there are no anon aggrnames
        !          6883:        in tag lists.
        !          6884: 
        !          6885:        * cplus-decl.c (xref_tag): Set TREE_VEC_LENGTH (BINFOS) to the
        !          6886:        number of basetypes that were actually accepted.
        !          6887: 
        !          6888:        * cplus-parse.y (datadef, fndef): Accept `extern "C"' as a storage
        !          6889:        class specifier.
        !          6890: 
        !          6891:        * cplus-init.c (build_new): Handle allocating types whose TRUE_TYPEs
        !          6892:        start off as ARRAY_TYPEs.
        !          6893: 
        !          6894:        * cplus-typeck.c (build_unary_op): We don't need to wrap
        !          6895:        CURRENT_CLASS_DECL in a NON_LVALUE_EXPR when taking the address of
        !          6896:        C_C_D.
        !          6897: 
        !          6898:        * cplus-init.c (resolve_offset_ref): Fix error message for
        !          6899:        non-static member references.  Also, don't crash if EXP is not a
        !          6900:        TREE_LIST or an OFFSET_REF.
        !          6901: 
        !          6902:        * cplus-expr.c (cplus_expand_expr): Handle OFFSET_REFs.
        !          6903: 
        !          6904:        * cplus-typeck.c (build_binary_op_nodefault): If PEDANTIC, don't
        !          6905:        permit comparisons between pointers and integers.
        !          6906: 
        !          6907:        * cplus-decl2.c (explicit_warn_return_type): New variable.
        !          6908:        * cplus-decl.c (grokdeclarator): Test `explicit_warn_return_type'
        !          6909:        instead of `warn_return_type'.
        !          6910: 
        !          6911:        * cplus-decl.c (grokdeclarator): Fix criterium for deciding whether
        !          6912:        to turn a FUNCTION_TYPE declaration into a METHOD_TYPE declaration
        !          6913:        based on FRIENDP and STATICP.
        !          6914:        (implicitly_declare): If PEDANTIC, treat this as an error.
        !          6915: 
        !          6916:        * cplus-cvt.c (convert_to_integer): Make anachronisms errors if
        !          6917:        PEDANTIC is nonzero.
        !          6918: 
        !          6919:        * cplus-typeck.c (convert_for_assignment): If PEDANTIC, don't let
        !          6920:        void * convert to non-void* types.  Similarly, don't let const*
        !          6921:        pointers be assigned to non-const* pointers.  Similarly for signed
        !          6922:        vs. unsigned pointers.
        !          6923:        (warn_for_assignment): Add new parameter SEVERE.
        !          6924: 
        !          6925:        * cplus-decl.c (push_overloaded_decl): If PEDANTIC, give error when
        !          6926:        functions overload variables.
        !          6927: 
        !          6928:        * cplus-decl2.c (grokfield): If PEDANTIC, don't let fields have
        !          6929:        initializers (conditionalized on PEDANTIC).
        !          6930:        * cplus-class.c (finish_struct): Set TYPE_GETS_{ASSIGNMENT,INIT_REF}
        !          6931:        for UNION_TYPE.
        !          6932: 
        !          6933: Sat Oct  5 06:52:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          6934: 
        !          6935:        * expr.c (expand_expr, case COND_EXPR): Case for X ? A + 1 : A can
        !          6936:        also handle MINUS_EXPR and BIT_*_EXPR.
        !          6937: 
        !          6938:        * rtl.h (copy_rtx_if_shared): Declare here.
        !          6939:        * emit-rtl.c (unshare_copies): Delete unused variable.
        !          6940:        (copy_rtx_if_shared): No longer static.
        !          6941:        (reset_used_flags): New function.
        !          6942:        * combine.c (copy_substitutions): Deleted.
        !          6943:        (try_combine): When making new insns, ensure that we do not have any
        !          6944:        improper sharing by using copy_rtx_if_shared; no longer call
        !          6945:        copy_substitutions.
        !          6946: 
        !          6947:        * combine.c (try_combine): If an insn that is a PARALLEL of two sets
        !          6948:        isn't recognized and the result of the second SET is unused, ignore it.
        !          6949: 
        !          6950: Fri Oct  4 15:25:33 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          6951: 
        !          6952:        * cplus-decl.c (set_identifier_type_value): New function.  Change
        !          6953:        all callers of macro SET_IDENTIFIER_TYPE_VALUE to call this function
        !          6954:        instead.
        !          6955: 
        !          6956:        * cplus-decl.c (pushdecl): Back out Sep 26 change.  ??? This problem
        !          6957:        really has to be solved in a more global fashion.
        !          6958:        (struct binding_level): New field `type_shadowed' for typenames that
        !          6959:        get shadowed.  All pop* routines that restore from shadowed lists
        !          6960:        now restore IDENTIFIER_TYPE_VALUE from the `type_shadowed' field.
        !          6961: 
        !          6962: Fri Oct  4 14:47:52 1991  Michael Meissner  (meissner at osf.org)
        !          6963: 
        !          6964:        * sdbout.c (include of syms.h): Don't include <syms.h> on MIPS
        !          6965:        systems, since the system does not provide the file, rather use
        !          6966:        "gsyms.h".  This is a problem for Silicon Graphics, and the System V
        !          6967:        varient on RISC-OS, both of which define the USG macro.  Patch from
        !          6968:        [email protected].
        !          6969: 
        !          6970: Fri Oct  4 13:37:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          6971: 
        !          6972:        * stor-layout.c (get_best_mode): Add a volatilep parameter
        !          6973:        indicating that the smallest mode is desired.
        !          6974:        * expmed.c, fold-const.c: All callers changed.
        !          6975:        (optimize_bit_field_compare): Initialize {l,r}volatilep now that
        !          6976:        they are used.
        !          6977: 
        !          6978: Thu Oct  3 22:08:45 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          6979: 
        !          6980:        * objc-actions.h (CLASS_SUPER_NAME): Change type.basetypes to
        !          6981:        type.binfo so that it will compile.
        !          6982: 
        !          6983: Thu Oct  3 06:46:38 1991  Niklas Hallqvist  (niklas at appli.se)
        !          6984: 
        !          6985:         * cplus-tree.h (PARANOID): Don't define if already defined.
        !          6986:        ({SET,CLEAR}_CLASSTYPE_MARKED*): New macros needed to get through
        !          6987:        C compilers who don't allow comma expressions as lvalues.
        !          6988:        ({SET,CLEAR}_BINFO_*): Ditto.
        !          6989: 
        !          6990:        * cplus-init.c: Use new SET/CLEAR macros.
        !          6991: 
        !          6992:        * cplus-search.c: Ditto.
        !          6993:        
        !          6994:        * cplus-decl.c: Ditto.
        !          6995:        (lookup_tag): Accept *_DECLs as nodes in the context chain.
        !          6996:        (lookup_nested_type): Accept FUNCTION_DECLs not only as head of
        !          6997:        the context chain, but at any place in it.
        !          6998: 
        !          6999: Thu Oct  3 06:42:08 1991  Michael Meissner  (meissner at osf.org)
        !          7000: 
        !          7001:        * c-decl.c (c_decode_option): Add new switch -Wparentheses and
        !          7002:        -Wnoparentheses to control whether GCC warns about adding extra ()'s
        !          7003:        around a subexpression.  Make -Wparentheses default behavior.
        !          7004:        (warn_parentheses): New global variable.
        !          7005: 
        !          7006:        * c-tree.h (warn_parentheses): New variable.
        !          7007: 
        !          7008:        * c-typeck.c (parser_build_binary_op): Check for warn_parentheses
        !          7009:        before emitting warnings about adding ().
        !          7010: 
        !          7011: Wed Oct  2 20:51:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          7012: 
        !          7013:        * gcc.texinfo: Correct documentation for CONSTANT_ADDRESS_P,
        !          7014:        CONSTANT_P, and HIGH.
        !          7015: 
        !          7016: Wed Oct  2 15:08:32 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7017: 
        !          7018:        * cplus-class.c (modify_vtable_entries): Fix error in computing
        !          7019:        offsets to use for virtual functions from virtual baseclasses.
        !          7020:        * cplus-except.c (lookup_exception_type): Change local variable name
        !          7021:        `binfo' to `link'.
        !          7022:        * cplus-lex.c (yylex): Cast shorts to (long) when building longlong.
        !          7023: 
        !          7024: Wed Oct  2 11:32:35 1991  Michael Meissner  (meissner at osf.org)
        !          7025: 
        !          7026:        * tm-encrose.h (new file): New configuration file for Encore
        !          7027:        Multimax running OSF/1, and using the OSF/rose object formats.
        !          7028: 
        !          7029: Wed Oct  2 08:33:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          7030: 
        !          7031:        * tree.h (TYPE_UID): Add this field to TYPE nodes.
        !          7032:        * tree.c (make_node): Initialize it.
        !          7033:        * dwarfout.c (TYPE_NAME_FMT): Use TYPE_UID rather than TREE_UID.
        !          7034:        (equate_type_number_to_die_number): Discard type qualifiers.
        !          7035:        (output_typedef_die): Don't use equate_type_number_to_die_number.
        !          7036: 
        !          7037: Wed Oct  2 08:04:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7038: 
        !          7039:        * cse.c (cse_process_notes): Fix typo; missing arg in return.
        !          7040: 
        !          7041: Wed Oct  2 06:56:13 1991  Ron Guilmette  (rfg at ncd.com)
        !          7042: 
        !          7043:         * Makefile.in (ENQUIRE_CFLAGS): Remove duplicate use of GCC_CFLAGS.
        !          7044: 
        !          7045:        * Makefile.in (cplus-tab.c): Adjust number of expected conflicts.
        !          7046: 
        !          7047:        * Makefile.in (mostlyclean): Remove collect and collect2.
        !          7048:    
        !          7049:        * tm-svr4.h: Add new file; prototype for System V, Release 4.
        !          7050: 
        !          7051: Tue Oct  1 23:00:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7052: 
        !          7053:        * reload.c (find_reloads_address): Fix error in previous change;
        !          7054:        clean up REG case so it is easier to read.
        !          7055: 
        !          7056: Tue Oct  1 14:05:46 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7057: 
        !          7058:        * cplus-decl.c (finish_{decl,function}): Use new function
        !          7059:        `note_debug_info_needed' instead of setting CLASSTYPE_ASM_WRITTEN.
        !          7060:        * cplus-search.c (note_debug_info_needed): New function.
        !          7061:        Recursively set CLASSTYPE_ASM_WRITTEN in a hierarchy when called.
        !          7062: 
        !          7063:        * cplus-class.c (finish_struct): If DECL_NAME of the BASE_FNDECL is
        !          7064:        NULL_TREE, we know we're looking at a virtual destructor.
        !          7065: 
        !          7066: Tue Oct  1 09:47:25 1991  Michael Meissner  (meissner at osf.org)
        !          7067: 
        !          7068:        * tm-mips.h (OPTIMIZATION_OPTIONS): Enable scheduling insns now for
        !          7069:        -O2 optimization.
        !          7070: 
        !          7071:        * Makefile.in (STAGESTUFF): Add $(EXTRA_PASSES), to allow moving any
        !          7072:        extra passes into the stage[1234] directories, and to remove the
        !          7073:        extra stuff when doing make clean.
        !          7074: 
        !          7075: Tue Oct  1 08:35:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          7076: 
        !          7077:        * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): Undo this change.
        !          7078: 
        !          7079:        * c-decl.c (grokdeclarator): When making an unsigned bitfield
        !          7080:        type from a typedef, preserve the size.  A typedef of an
        !          7081:        explicitly signed typedef is explicitly signed.
        !          7082: 
        !          7083: Mon Sep 30 22:51:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          7084: 
        !          7085:        * out-sparc.c: Fix misc typos and indentation problems.
        !          7086:        Delete all unnecessary extern declarations.
        !          7087:        Include "recog.h".
        !          7088:        Consistently use Pmode instead of SImode for addresses.
        !          7089:        Use macros defined in tm-sparc.h instead of magic numbers.
        !          7090:        (reg_or_0_operand): Accept CONST_DOUBLE zero.
        !          7091:        (symbolic_operand): Accept CONST_DOUBLE.
        !          7092:        (move_operand): Accept arith_double_operand ('H'), SMALL_INT
        !          7093:        ('I'), and sethi operands ('K').
        !          7094:        (move_pic_label): Renamed from move_reg_or_immed_operand.  If
        !          7095:        flag_pic is true, accept a LABEL_REF, otherwise fail.
        !          7096:        (arith_double_operand): Accept SMALL_INT ('I') CONST_INTs.  Correct
        !          7097:        computation of when a CONST_DOUBLE is a SMALL_INT ('H').
        !          7098:        (eligible_for_epilogue_delay): Accept arith_double_operands.
        !          7099:        (emit_move_sequence): Handle arith_double_operands.  Handle
        !          7100:        loading of labels for pic, need to add a clobber of %o7 (reg 15).
        !          7101:        (find_addr_reg): Don't return FRAME_POINTER_REGNUM.  It is not
        !          7102:        safe to play around with the frame pointer.
        !          7103:        (hard_regno_mode_ok): Change from short to int array.
        !          7104:        (output_pic_sequence, output_pic_sequence_2, fp_zero_hook): Delete
        !          7105:        long obsolete routines.
        !          7106:        (print_operand): Delete support for obsolete 'S' and 'H' cases.
        !          7107:        (output_double_int): New function.  Outputs assembler code for 64
        !          7108:        bit (DImode) values.
        !          7109: 
        !          7110:        * sparc.md: Fix misc typos and indentation problems.
        !          7111:        Delete unnecessary (set_attr "type" "binary") lines.
        !          7112:        Consistently use %a1 in sethi and ori output templates.
        !          7113:        Consistently use Pmode not SImode for addresses.
        !          7114:        Consistently use the same predicate for both operand 1 and
        !          7115:        operand 2 in commutative patterns.  Don't use same predicate in
        !          7116:        non-commutative patterns.
        !          7117:        Consistently use \; to separate multiple instuctions.
        !          7118:        Change "r%" to "%r".
        !          7119:        (define_attr length): Handle arith_double_operand predicate.
        !          7120:        (movsi): Combine two movsi patterns into one, except for loading
        !          7121:        of pic labels.  New pattern to load pic labels, which clobbers %o7.
        !          7122:        (movhi): Combine two movhi patterns into one.
        !          7123:        (movqi): Combine two movqi patterns into one.
        !          7124:        (movdi): Discourage the Q/f constraint option so that DImode
        !          7125:        variables won't end up in floating pointer registers.
        !          7126:        (floatsisf2, floatsidf2): Delete patterns accepting a const_int
        !          7127:        operand.  These should never be matched.  In remaining patterns,
        !          7128:        accept nonimmediate_operand instead of general_operand.
        !          7129:        (adddi3, subdi3, anddi3, iordi3, xordi3, xnordi3, one_cmpldi2):
        !          7130:        Accept arith_double_operand predicates and "HI" constraints.
        !          7131:        (last peephole): Reg 0 should be CCmode not SImode.
        !          7132: 
        !          7133:        * tm-sparc.h: Fix misc typos.
        !          7134:        (WORDS_BIG_ENDIAN): Indicate why it must be true.
        !          7135:        (hard_regno_mode_ok): Change from short to int array.
        !          7136:        (CONST_DOUBLE_OK_FOR_LETTER_P): Add new 'H' constraint, for DImode
        !          7137:        constants that can fit in an immediate field.
        !          7138:        (CONSTANT_ADDRESS_P): Accept any CONSTANT_P, including
        !          7139:        CONST_DOUBLEs.
        !          7140:        (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs if match 'H'
        !          7141:        constaint.
        !          7142:        (RTX_COSTS): Define cost for FLOAT to be more expensive than
        !          7143:        CONST_DOUBLEs, so that cse will prefer the latter.
        !          7144:        (ASM_OUTPUT_DOUBLE_INT): New macro to output DImode constants.
        !          7145: 
        !          7146:        * sched.c (schedule_block): When calculating register lifetime
        !          7147:        info, handle CLOBBERs and USEs.  The code that adds REG_DEAD notes
        !          7148:        already handles them.
        !          7149:        (update_n_sets): New function, subroutine of update_links.
        !          7150:        Given a SET or CLOBBER, updates reg_n_sets as appropriate,
        !          7151:        depending on whether this is in a deleted or a new insn.
        !          7152:        (update_links): Call update_n_sets to subtract info for split
        !          7153:        insn, and add info for insns resulting from the split.
        !          7154: 
        !          7155: Mon Sep 30 19:06:50 1991  Michael Meissner  (meissner at osf.org)
        !          7156: 
        !          7157:        * ecoff-cmp (TMP): Fix typo, from [email protected].
        !          7158: 
        !          7159:        * mips-tfile.c (toplevel): Don't declare _flsbuf under Silicon
        !          7160:        Graphics, from [email protected].
        !          7161: 
        !          7162: Mon Sep 30 15:54:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7163: 
        !          7164:        * cse.c (cse_process_notes): New function.
        !          7165:        (cse_basic_block): Call it for each insn.
        !          7166:        (count_reg_usage): Count usage in a REG_EQUAL note.
        !          7167:        (delete_dead_from_cse): Call count_reg_usage with insn, not pattern.
        !          7168:        * loop.c (scan_loop): Replace a register used in a REG_EQUAL note.
        !          7169:        (find_single_use_in_loop): Two uses in single insn doesn't disqualify.
        !          7170:        Allow argument to be REG_NOTES.
        !          7171:        (count_loop_regs_set): Call find_single_us_in_loop on REG_NOTES.
        !          7172: 
        !          7173: Mon Sep 30 15:47:03 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7174: 
        !          7175:        * cplus-call.c (ideal_candidate): Return 0 if the top two candidates
        !          7176:        have identical rankings but incompatible types.
        !          7177: 
        !          7178:        * cplus-lex.c (cons_up_default_function): Set DECL_NAME (FN) to
        !          7179:        NULL_TREE in order to mark the function as being generated by the
        !          7180:        compiler.
        !          7181:        * cplus-init.c (emit_base_init): Change to use this interface.
        !          7182:        * cplus-decl.c (duplicate_decls, redeclaration_error_message): Ditto.
        !          7183:        (store_parm_decls): Ditto.
        !          7184:        * cplus-decl2.c (grokclassfn): Ditto.
        !          7185:        * cplus-dbxout.c (dbxout_type_methods): Ditto.
        !          7186:        * cplus-class.c (finish_struct_methods): Ditto.
        !          7187:        * cplus-method.c (fndecl_as_string): Ditto.
        !          7188:        * cplus-search.c (lookup_fnfields_1): Ditto.
        !          7189:        (compute_visibility): Ditto.
        !          7190:        * cplus-typekc.c (build_function_call): Ditto.
        !          7191:        * cplus-tree.c (lang_printable_name): Ditto.  Also use
        !          7192:        DECL_ASSEMBLER_NAME instead of DECL_NAME in DESTRUCTOR_NAME_P test.
        !          7193:        * calls.c (expand_call): Change also needed here.
        !          7194: 
        !          7195: Mon Sep 30 15:31:53 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          7196: 
        !          7197:        * dbxout.c: Include <param.h> before config.h, because it may define
        !          7198:        MIN and MAX.
        !          7199: 
        !          7200:        * fold-const.c (const_binop): Delete incorrect short cut for
        !          7201:        (0 - const).
        !          7202: 
        !          7203:        * expr.c (do_tablejump): Pass GET_MODE (index) instead of Pmode to
        !          7204:        emit_cmp_insn, because the latter fails when integers and pointers
        !          7205:        are different sizes.
        !          7206: 
        !          7207:        * combine.c (subst): When checking to see if associating helps
        !          7208:        simplify rtl, make sure we pass the constant operand if any as the
        !          7209:        second one if this is a commutative operation.
        !          7210: 
        !          7211:        * cccp.c (rescan): Save obufp_before_macroname as an offset from
        !          7212:        the start of op->buf instead of as a pointer into the middle, in
        !          7213:        case op->buf gets realloced.
        !          7214: 
        !          7215: Mon Sep 30 14:07:20 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          7216: 
        !          7217:        * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): TREE_UID is
        !          7218:        unique only if the node is TREE_PERMANENT.  Augment the spelling
        !          7219:        of labels using TREE_UID with the TREE_UID of the current function.
        !          7220: 
        !          7221:        Changes from Ron Guilmette:
        !          7222:        * dwarfout.c (output_symbol): Deal with formal parameters with an
        !          7223:        incomplete tagged type.
        !          7224:        (output_bound_representation):  Fix for arrays with dynamic bounds.
        !          7225: 
        !          7226:        Changes from Jim Wilson:
        !          7227:        * dwarfout.c: Define strrchr to rindex for non USG systems.
        !          7228:        Use DECL_BIT_FIELD_TYPE not DECL_BIT_FIELD to test for bitfields.
        !          7229: 
        !          7230: Sun Sep 29 16:29:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7231: 
        !          7232:        * reload.h (indirect_symref_ok): New variable.
        !          7233:        * reload.c (find_reloads_address): Remove shadowing decls of `tem'.
        !          7234:        Only allow certain forms addresses as indirect; check
        !          7235:        indirect_symref_ok to see if (mem (symbol_ref ...)) is a valid
        !          7236:        address; if not that form or simple, not valid indirect address.
        !          7237:        * reload1.c (indirect_symref_ok): Define here.
        !          7238:        (init_reload): Initialize vars used to determine which addrs are valid.
        !          7239:        (reload): Don't do it here.
        !          7240:        Update comment to relect what `alter_regs' currently does.
        !          7241: 
        !          7242:        * tree.h (struct tree_decl): Add new from_inline_flag; delete
        !          7243:        lang_flag_9 to make room.
        !          7244:        (DECL_FROM_INLINE): New macro.
        !          7245:        (DECL_LANG_FLAG_9): Deleted.
        !          7246:        * c-decl.c, cplus-decl.c (pushdecl): Use DECL_FROM_INLINE instead of
        !          7247:        TREE_INLINE where appropriate.
        !          7248:        * cplus-decl.c (finish_decl): Likewise.
        !          7249:        * integrate.c (integrate_parm_decls, integrate_decl_tree): Set
        !          7250:        DECL_FROM_INLINE instead of TREE_INLINE.
        !          7251:        * print-tree (print_node): Print DECL_FROM_INLINE.
        !          7252:        Delete reference to DECL_LANG_FLAG_9.
        !          7253: 
        !          7254: Sun Sep 29 12:49:47 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7255: 
        !          7256:        * c-decl.c, c-typeck.c, cplus-decl.c, toplev.c:
        !          7257:        Set/test TREE_ADDRESSABLE of DECL_ASSEMBLER_NAME, not DECL_NAME for
        !          7258:        function decls.
        !          7259: 
        !          7260:        * cplus-class.c: Export `current_lang_stack' and
        !          7261:        `current_lang_base'.
        !          7262:        cplus-decl.c (push_overloaded_decl): Allow redeclaration of a
        !          7263:        function that was previously given a linkage specification at
        !          7264:        top-level (i.e., not in an explicit linkage arena).
        !          7265: 
        !          7266:        * cplus-typeck.c (convert_arguments): Strip the `&' from an
        !          7267:        overloaded function passed as an argument into an ellipses.
        !          7268: 
        !          7269: Sat Sep 28 15:37:26 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7270: 
        !          7271:        * cplus-typeck.c (build_x_binary_op): We have to special-case the
        !          7272:        failure of MEMBER_REF to be overloaded as an operator.
        !          7273: 
        !          7274: Sat Sep 28 10:44:36 1991  Richard Kenner  ([email protected])
        !          7275: 
        !          7276:        * reload1.c (reload): If we find at some point that we need
        !          7277:        caller-saves, disable elimination of the frame pointer.
        !          7278: 
        !          7279:        * reload.c (subst_reloads): Re-enable code to prevent making
        !          7280:        a SUBREG inside a SUBREG.
        !          7281: 
        !          7282: Sat Sep 28 00:40:51 1991  Ken Raeburn  ([email protected])
        !          7283: 
        !          7284:        * cplus-pt.c (do_pending_expansions): Adjust "DECIDE" macro to avoid
        !          7285:        compiler warning from Sun cc.
        !          7286: 
        !          7287: Fri Sep 27 17:30:39 1991  Per Bothner  (bothner at cygnus.com)
        !          7288: 
        !          7289:        * configure[.in]: Move most of the target_vendor switch
        !          7290:        entries (e.g. next, sun, sony) from the m88k architecture to m68k,
        !          7291:        where they belong.
        !          7292: 
        !          7293: Fri Sep 27 16:21:04 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7294: 
        !          7295:        * cplus-search.c (recursive_bounded_basetype_p): Add new parameter
        !          7296:        UPDATE_CHAIN so that function now behaves as comment prescribes.
        !          7297:        * cplus-search.c (compute_visibility): Fix error in conversion of
        !          7298:        data structures from list-based to binfo-based nodes.
        !          7299: 
        !          7300: Fri Sep 27 07:05:57 1991  Richard Kenner  ([email protected])
        !          7301: 
        !          7302:        * c-decl.c (pushdecl): Fix typo: TREE_EXTERNAL misspelled.
        !          7303: 
        !          7304: Thu Sep 26 17:36:14 1991  Michael Meissner  (meissner at osf.org)
        !          7305: 
        !          7306:        * tm-mips.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
        !          7307: 
        !          7308:        * tm-decrose.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
        !          7309: 
        !          7310:        * make-decrose (cplus-lex rule): Remove hacks in compiling
        !          7311:        cplus-lex, since bug in 1.39 inlining was fixed to allow us to
        !          7312:        compile the module normally.
        !          7313: 
        !          7314: Thu Sep 26 11:53:49 1991  Ken Raeburn  ([email protected])
        !          7315: 
        !          7316:        * cplus-tree.h (TEMPLATE_TYPE_*): Use slower versions that uses tree
        !          7317:        structures more properly, so accessor macros don't lose.
        !          7318: 
        !          7319:        * cplus-pt.c (end_template_parm_list): For type parameters, make the
        !          7320:        new decl be the name of the "type".
        !          7321: 
        !          7322:        * Makefile.in (cplus-tab.{c,h}): There are now 30 s/r conflicts.
        !          7323: 
        !          7324:        * cplus-class.c (resolves_to_fixed_type_p, case CALL_EXPR): Deleted
        !          7325:        duplicate code.
        !          7326: 
        !          7327:        * cplus-decl.c (poplevel): Deleted duplicate code saving info on
        !          7328:        accesses to external via non-global decls.
        !          7329:        (pushdecl): For typedef of unnamed type, don't store new name for
        !          7330:        type if not at global binding scope.  Also, don't need to test for
        !          7331:        TYPE_DECL when previous conditional guarantees it.
        !          7332:        (start_decl): Clear TREE_PUBLIC flag of templates.
        !          7333:        (finish_decl): For variables in static storage with constructors,
        !          7334:        force it into data section (out of common storage) only if the name
        !          7335:        is externally visible.
        !          7336: 
        !          7337:        * cplus-gc.c (type_needs_gc_entry): If the type has no base types,
        !          7338:        don't check to see whether they need gc entries.
        !          7339: 
        !          7340:        * cplus-parse.y (yyprint): Handle SCSPEC and AGGR.
        !          7341: 
        !          7342:        * cplus-pt.c (end_template_decl): Clear IDENTIFIER_TYPE_VALUE slots
        !          7343:        for type parameters, then call adjust_type_value.
        !          7344:        (instantiate_class_template): Do nothing if classname is
        !          7345:        error_mark_node.
        !          7346:        (mangle_class_name_for_template): Make buf a static array, since
        !          7347:        its address gets returned.
        !          7348: 
        !          7349:        * reload1.c (reload): Provide array size in cast, to avoid compiler
        !          7350:        warnings.
        !          7351: 
        !          7352:        From Niklas Hallqvist:
        !          7353:        * cplus-tree.h (struct template_info): Added new field "aggr", which
        !          7354:        will be class_type_node or struct_type_node for class or struct
        !          7355:        templates.
        !          7356:        * cplus-parse.y (template_def): Pass current_aggr to
        !          7357:        end_template_decl.
        !          7358:        (template_instantiation): Use aggr field.
        !          7359:        * cplus-pt.c (end_template_decl): Argument IS_CLASS is now a tree,
        !          7360:        used to set the aggr field.
        !          7361:        (overload_template_name): Use aggr field.
        !          7362: 
        !          7363:        Suggested by John Carr:
        !          7364:        * cplus-dbxout.c (dbxout_tags): Don't omit argument to
        !          7365:        dbxout_finish_symbol.
        !          7366:        (dbxout_continue): Omit declaration and definition if
        !          7367:        DBX_CONTIN_LENGTH is not greater than zero, like its calls.
        !          7368:        (print_int_cst_octal): Ditto, based on defined(WINNING_GDB).
        !          7369:        * cplus-decl.c (GNU_end_scope): Never used; deleted.
        !          7370:        (pushdecl): Vars nglobals, len are used only in code under "#if 0";
        !          7371:        comment out decls as well.
        !          7372:        * cplus-gc.c (expand_gc_prologue_and_epilogue): Variable "head" was
        !          7373:        unused; deleted.
        !          7374:        * cplus-init.c (expand_aggr_vbase_init_1): All args are type tree.
        !          7375:        (expand_vec_init): Don't return without a value when "initializer
        !          7376:        ends prematurely".
        !          7377:        * cplus-method.c (build_overload_nested_name): Pass all necessary
        !          7378:        arguments in recursive call.
        !          7379:        * cplus-search.c (pop_type_level): Cast argument to pop_stack_level
        !          7380:        to proper type.
        !          7381:        (push_memoized_context): Ditto for push_type_level.
        !          7382:        (my_copy_node): Unused; deleted.
        !          7383:        (lookup_fnfields): Add missing arg to get_binfo.
        !          7384:        (lookup_field): Ditto.
        !          7385: 
        !          7386:        From Niklas Hallqvist:
        !          7387:        * cplus-decl.c (push_to_top_level): Handle case of function with
        !          7388:        unnamed parms.
        !          7389:        (pop_from_top_level): Ditto.
        !          7390: 
        !          7391: Thu Sep 26 07:46:08 1991  Richard Kenner  ([email protected])
        !          7392: 
        !          7393:        * loop.c (scan_loop): Don't eliminate register that is set by 
        !          7394:        consecutive insns.
        !          7395: 
        !          7396: Wed Sep 25 18:53:52 1991  Richard Stallman  ([email protected])
        !          7397: 
        !          7398:        * c-decl.c (pushdecl): Suppress warnings about mismatch of
        !          7399:        extern decl when it comes from inlining a function.
        !          7400: 
        !          7401:        * emit-rtl.c (set_new_first_and_last_label_number): New function.
        !          7402:        (max_label_num): Use last_label_num if valid.
        !          7403:        * integrate.c (output_inline_function): Call set_new_...
        !          7404: 
        !          7405: Wed Sep 25 18:37:36 1991  Richard Kenner  ([email protected])
        !          7406: 
        !          7407:        * flow.c (find_auto_inc): Set BLOCK_NUM of new insns emitted while
        !          7408:        making an auto-inc.
        !          7409: 
        !          7410:        * Makefile.in (getopt*.o): Each file depends on its .c file and on
        !          7411:        the compiler executable files.
        !          7412: 
        !          7413: Wed Sep 25 18:18:46 1991  Richard Stallman  ([email protected])
        !          7414: 
        !          7415:        * toplev.c (debug_info_level): New variable.
        !          7416:        * flags.h (debug_info_level, enum debug_info_level): New declarations.
        !          7417:        * toplev.c (main): Rewrite handling of -g* and -G* options.
        !          7418:        Now -G indicates use of GDB extensions.  -g0 removed.
        !          7419: 
        !          7420: Tue Sep 24 03:20:07 1991  Richard Stallman  ([email protected])
        !          7421: 
        !          7422:        * alloca.c: Test __STDC__, not X3J11.
        !          7423:        Do nothing if alloca is defined as a macro.
        !          7424: 
        !          7425: Tue Sep 24 09:15:17 1991  Richard Kenner  ([email protected])
        !          7426: 
        !          7427:        * global-alloc.c (eliminable_regset): New variable.
        !          7428:        (global_alloc): Compute it and use to turn off conflicts.
        !          7429:        Refine computation of no_global_alloc_regs when ELIMINABLE_REGS is
        !          7430:        defined.
        !          7431:        (mark_elimination): Don't do anything with allocnos and don't do
        !          7432:        any allocation.
        !          7433: 
        !          7434:        * reload1.c (eliminate_regs_in_insn): Try to re-recognize insn if
        !          7435:        we replaced a (set X (plus Y Z)).
        !          7436: 
        !          7437: Tue Sep 24 06:34:04 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
        !          7438: 
        !          7439:        * cplus-tree.c (virtual_member): Change TREE_VALUE accessor macro to
        !          7440:        BINFO_TYPE.
        !          7441:        * tree.h (BINFO_TYPE): New name for BINFO_VALUE.
        !          7442:        * All cplus-* files: Changed to reflect new name.
        !          7443: 
        !          7444: Mon Sep 23 12:56:11 1991  Michael Meissner  (meissner at osf.org)
        !          7445: 
        !          7446:        * tm-mips.h (ASM_SPEC): Fix typo, and close {}'s properly.
        !          7447: 
        !          7448: Mon Sep 23 10:30:51 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7449: 
        !          7450:        * cplus-tree.c (propagate_assoc_offsets): Keep relative offsets of
        !          7451:        child_child correct when copying children.
        !          7452: 
        !          7453:        * cplus-class.c Use `BINFO_VALUE' instead of `TREE_VALUE' when
        !          7454:        accessing the type value of a binfo node.
        !          7455:        * cplus-decl.c (finish_function): Ditto.
        !          7456:        * cplus-init.c (build_vbase_delete): Ditto.
        !          7457: 
        !          7458: Mon Sep 23 06:11:56 1991  Richard Kenner  ([email protected])
        !          7459: 
        !          7460:        * flow.c (reg_n_refs): Use int, not short.  Short can overflow
        !          7461:        if we have very deep loop nesting.
        !          7462:        (allocate_for_life_analysis): Allocate reg_n_refs as int.
        !          7463:        * regs.h (reg_n_refs): Now int.
        !          7464:        * sched.c: Delete duplicate definitions of objects defined in regs.h.
        !          7465: 
        !          7466:        * combine.c (try_combine): Correctly check for independent insns
        !          7467:        in a PARALLEL.
        !          7468: 
        !          7469:        * combine.c (distribute_note, case REG_DEAD): If we discover a register
        !          7470:        is never used, see if we can delete the insn that set it.
        !          7471: 
        !          7472: Sun Sep 22 19:24:52 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7473: 
        !          7474:        * cplus-type2.c (build_functional_cast): Don't forget a valid
        !          7475:        function call if we found one (and nothing more).
        !          7476: 
        !          7477: Sun Sep 22 07:48:18 1991  Richard Kenner  ([email protected])
        !          7478: 
        !          7479:        * rtlanal.c (rtx_varies_p, case REG): Correct typo; sense of comparison
        !          7480:        was backwards.
        !          7481: 
        !          7482:        * global-alloc.c (mark_elimination): Don't use HARD_REG_SET macros
        !          7483:        to access basic_block_live_at_start.
        !          7484: 
        !          7485:        * reload1.c (set_label_offsets): New function.
        !          7486:        (offsets_known_at, offsets_at): New variables.
        !          7487:        (reload): Allocate and initialize them.
        !          7488:        Set each label in FORCED_LABELS to be at initial offsets.
        !          7489:        Call set_label_offset on all insns that might involve labels.
        !          7490:        Use GET_RTX_CLASS when appropriate.
        !          7491:        (eliminate_regs, mark_not_eliminable): Ignore sets of FP when looking
        !          7492:        for sets of a "to" register.
        !          7493:        (eliminate_regs_in_insn): No longer suppress elimination for any
        !          7494:        pair not at its initial offet at a jump.
        !          7495:        
        !          7496:        * combine.c (distribute_links): Correctly find the place to put a
        !          7497:        link.  Handle the case when we eliminate all uses of something that
        !          7498:        we used to use; in that case, we must seach forward.
        !          7499:        No longer need I3, I2, or ALL_ADJACENT arguments.
        !          7500:        (try_combine): Change calls to distribute_links.
        !          7501: 
        !          7502:        * reload.c (find_equiv_reg): Use GET_RTX_CLASS when appropriate.
        !          7503:        If GOAL is a MEM whose address varies, check whether registers
        !          7504:        that are SET appear in the address rather than assuming they do.
        !          7505:        Ensure REG_INC note is a REG; ignore it if not.
        !          7506: 
        !          7507:        * rtlanal.c (rtx_varies_p): Rework to use switch statement.
        !          7508:        Check for {frame,arg}_pointer_rtx, not just register number.
        !          7509:        (rtx_addr_can_trap_p): New function.
        !          7510:        (may_trap_p): Use rtx_addr_can_trap_p instead of rtx_varies_p.
        !          7511:        * genattrtab.c: Define {frame,arg,stack}_pointer_rtx for rtlanal.c.
        !          7512: 
        !          7513:        * combine.c (make_extraction): Make a ZERO_EXTRACT for something with
        !          7514:        pos == 0 if it will be placed in a SET_DEST.
        !          7515: 
        !          7516:        * expmed.c (expand_shift): Rotate case was missing return statement.
        !          7517:        extzv case had wrong arg to delete_insns_since.
        !          7518:        Remove unneeded calls to delete_insns_since.
        !          7519:        Allow BITS_BIG_ENDIAN to vary at run-time.
        !          7520:        Use variable TEMP in a consistent manner.
        !          7521:        Other miscellaneous changes and cleanups were made.
        !          7522: 
        !          7523:        * flow.c (max_uid_for_flow): New variable.
        !          7524:        (flow_analysis): Compute maximum uid into max_uid_for_flow; if
        !          7525:        we might have auto-inc, leave some space.
        !          7526:        (find_auto_inc): Verify that the uid's of the insns we make are
        !          7527:        within the allocated space of our per-insn tables.
        !          7528:        Use get_insns instead of gen_sequence.
        !          7529: 
        !          7530:        * global-alloc.c (retry_global_alloc): When we allocate a register,
        !          7531:        update regno_reg_rtx and mark the allocated register live.
        !          7532:        (mark_elimination): New function.
        !          7533:        * reload1.c (reload): Call mark_elimination for every elimination
        !          7534:        we have been able to do.
        !          7535:        (spill_hard_reg): No longer need to call mark_home_live.
        !          7536: 
        !          7537: Sun Sep 22 02:07:55 1991  Richard Stallman  ([email protected])
        !          7538: 
        !          7539:        * fixincludes: Redirect cmp output to /dev/null; don't close it.
        !          7540: 
        !          7541:        * varasm.c (assemble_function): Handle ASM_OUTPUT_FUNCTION_PREFIX.
        !          7542: 
        !          7543:        * final.c (final_scan_insn): No need to goto text section
        !          7544:        for label on jump table.  We're normally in the text section.
        !          7545: 
        !          7546: Sat Sep 21 14:59:32 1991    (Eric Youngdale at [email protected])
        !          7547: 
        !          7548:        * make-cc1.com:  Fix typo in code that decides if bison needs to be
        !          7549:        run.  Also, display a message when building the compiler that informs
        !          7550:        the user about the need to update the assembler.
        !          7551: 
        !          7552: Sat Sep 21 17:23:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7553: 
        !          7554:        * loop.c (struct movable): Add field DEPENDENCIES.
        !          7555:        (scan_loop): Remove mechanism based on REG_TO_FORCE and
        !          7556:        MOVABLE_TO_FORCE.  Replace with use of new field.
        !          7557:        Optionally allocate and initialize reg_single_usage and pass it to
        !          7558:        count_loop_regs_set.
        !          7559:        If an invariant register is used exactly once and this is a loop
        !          7560:        that has a CALL_INSN, try to substitute the definition of the register
        !          7561:        into its use.
        !          7562:        (record_excess_regs): Fix typo in sense of checking in NOT_IN_THIS;
        !          7563:        only check pseudo-regs.
        !          7564:        (libcall_other_reg): Always return the list of registers used,
        !          7565:        no matter how many there are.
        !          7566:        (combine_movable): Only combine two movables if they have the same
        !          7567:        dependencies.
        !          7568:        (move_movables): Can only move something if its dependencies have
        !          7569:        already been moved.
        !          7570:        (find_single_use_in_loop): New function.
        !          7571:        (count_loop_regs_set): Delete code that prevents moving a reg that
        !          7572:        is used as a function address.
        !          7573:        Call find_single_use_in_loop when required.
        !          7574: 
        !          7575: Sat Sep 21 16:28:34 1991  Richard Stallman  ([email protected])
        !          7576: 
        !          7577:        * c-typeck.c (build_unary_op):
        !          7578:        Handle const and volatile lvalues correctly in ADDR_EXPR.
        !          7579: 
        !          7580:        * output.h (current_function_contains_functions):
        !          7581:        Just declare it, don't define it.
        !          7582: 
        !          7583:        * cse.c (exp_equiv_p): New arg EQUAL_VALUES.  All callers changed.
        !          7584: 
        !          7585: Sat Sep 21 12:59:15 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7586: 
        !          7587:        * cplus-parse.y (object_star): New rule.
        !          7588:        (POINTSAT_STAR): New token.
        !          7589:        * cplus-lex.c (init_lex): Define entry for MEMBER_REF.
        !          7590:        GNU C++ now overloads `operator->*' according to ARM semantics.  It
        !          7591:        no longer attempts to implement operator->* as two distinct
        !          7592:        operations.
        !          7593: 
        !          7594: Fri Sep 20 18:08:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7595: 
        !          7596:         * combine.c (subst): Don't replace a CC0 or a PC in a SET_DEST if
        !          7597:         FROM is the same thing.
        !          7598:  
        !          7599:        * combine.c (simplify_shift_const): Compute SHIFT_MODE at start of
        !          7600:        loop and use its width, rather than width of RESULT_MODE, when checking
        !          7601:        shift count.
        !          7602: 
        !          7603: Fri Sep 20 10:55:55 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7604: 
        !          7605:        * cplus-pt.c (uses_template_parms): Handle COMPONENT_REF case.
        !          7606: 
        !          7607: Fri Sep 20 00:27:43 1991  Richard Stallman  ([email protected])
        !          7608: 
        !          7609:        * c-typeck.c (build_modify_expr): When assigning to a cast,
        !          7610:        convert value first to the type being cast to.
        !          7611:        (build_unary_expr): Disallow adress of a cast.
        !          7612: 
        !          7613:        * explow.c (allocate_dynamic_stack_space):
        !          7614:        Handle SETJMP_VIA_SAVE_AREA before rounding to STACK_BOUNDARY.
        !          7615: 
        !          7616: Thu Sep 19 21:13:17 1991  Richard Stallman  ([email protected])
        !          7617: 
        !          7618:        * Makefile.in (dist, gcc-*.tar, gcc-*.tar.Z): New targets.
        !          7619: 
        !          7620:        * jump.c (jump_optimize): In handling `if (...) x = a; else x = b;',
        !          7621:        don't crash if scan reaches start of insns.
        !          7622: 
        !          7623:        * Makefile.in (protoize): Link with getopt.o and getopt1.o.
        !          7624:        (unprotoize): Likewise.
        !          7625:        (protoize.o): Depend on getopt.h.  Pass -D options for include dirs.
        !          7626:        (unprotoize.o): Likewise.
        !          7627:        (getopt.o, getopt1.o): New targets.
        !          7628: 
        !          7629:        * protoize.c: Major rewrite by RFG and RMS.
        !          7630: 
        !          7631: Thu Sep 19 09:58:25 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          7632: 
        !          7633:        Changes from Ron Guilmette:
        !          7634:        * dwarfout.c: Keep track of next_block_number correctly.
        !          7635:        * final.c (final_scan_insn): Don't invoke dwarfout_{begin,end}_block
        !          7636:        for the outermost block of a function.
        !          7637: 
        !          7638: Thu Sep 19 06:16:34 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7639: 
        !          7640:        * reload.c (copy_replacements): New function.
        !          7641:        * optabs.c (gen_move_insn): Don't call gen_lowpart while reloading
        !          7642:        is in progress; it calls change_address, which wants to make pseudos.
        !          7643: 
        !          7644:        * combine.c (subst, case SET): Fix typo in last change.
        !          7645: 
        !          7646:        * combine.c (distribute_notes): When searching back for a place that
        !          7647:        uses a register marked REG_DEAD, check for set and reference separately
        !          7648:        since reg_overlap_mentioned_p doesn't check SET_DEST.
        !          7649: 
        !          7650:        * combine.c (simplify_shift_const): Correct handling of shift counts
        !          7651:        that become out-of-range.
        !          7652: 
        !          7653:        * combine.c (expand_field_assignment): Don't allow sharing the RTL
        !          7654:        for the inner object.
        !          7655: 
        !          7656:        * combine.c (can_combine_p, try_combine, record_value_for_reg): Use 
        !          7657:        reg_overlap_mentioned_p instead in reg_mentioned_p in most places.
        !          7658:        (distribute_notes, distribute_links): Likewise.
        !          7659:        (combinable_i3pat): New function, from try_combine.
        !          7660:        (try_combine): Default I1DEST and I1SRC to zero.
        !          7661:        New var I1_FEEDS_I3.
        !          7662:        Delete code to validate I3's pattern from here; call combinable_i3pat
        !          7663:        instead.
        !          7664:        If a substitution returns a (clobber (const_int 0)), stop immediately.
        !          7665:        Don't abort if substitution made new regs; just don't do combine.
        !          7666:        (subst): If IN_DEST, don't replace a matching object.
        !          7667:        Don't look at a REG as a SET_DEST.
        !          7668:        If substitution inside a PARALLEL fails, give up immediately.
        !          7669:        Return (clobber (const_int 0)) even for a SET whose operand fails.
        !          7670:        (subst, case SET): Correctly test for low-order SUBREG.
        !          7671:        Don't use gen_lowpart_for_combine; make SUBREG explicitly since it
        !          7672:        can't handle modes larger than a word.
        !          7673: 
        !          7674:        * combine.c (subst, case NOT): Code for (not (ashiftx ..)) was too
        !          7675:        general; only handle (not (ashift 1 X)).
        !          7676:        (subst, case NEG): Handle (neg (ashift ...)).
        !          7677:        (merge_outer_ops): Support NEG.
        !          7678:        (simplify_shift_const, case NEG): Handle (ashift (neg ...)).
        !          7679: 
        !          7680:        * cse.c (simplify_binary_operation, case ROTATE, ROTATERT):
        !          7681:        Rotating all one bits is just all ones.
        !          7682: 
        !          7683: Thu Sep 19 01:08:14 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7684: 
        !          7685:        * cplus-parse.h, cplus-decl.h: Remove trailing comma after the last
        !          7686:        enum value in enum declarations.
        !          7687: 
        !          7688:        * cplus-type2.c (digest_init): Set TREE_PURPOSE of union initializer
        !          7689:        when initializing a union by the first field.
        !          7690: 
        !          7691:        * cplus-method.c (fndecl_as_string): Test whether DECL_CLASS_CONTEXT
        !          7692:        is NULL before using it.
        !          7693:        (dump_aggr_type): New function.  Print aggr type's context when
        !          7694:        appropriate.
        !          7695:        (dump_type{_prefix}): Use `dump_aggr_type' to print ENUMERAL_TYPE,
        !          7696:        UNION_TYPE, and STRUCT_TYPE types.
        !          7697: 
        !          7698:        * cplus-decl.c (start_decl): Don't use DECL_CLASS_CONTEXT if DECL
        !          7699:        has no DECL_LANG_SPECIFIC.
        !          7700: 
        !          7701: Wed Sep 18 21:46:32 1991  Michael Meissner  (meissner at osf.org)
        !          7702: 
        !          7703:        * mips-tfile.c (cur_proc_value): New static to remember the starting
        !          7704:        location of the current function.
        !          7705:        (add_procedure): Save current procedure location.
        !          7706:        (parse_begin, parse_bend): Subtract cur_proc_value from location.
        !          7707:        (parse_bend): Correct error messages.
        !          7708:        The above changes are from [email protected].
        !          7709: 
        !          7710:        * tm-mips.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
        !          7711:        invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
        !          7712:        the original .o file before mips-tfile is called.  Pass the correct
        !          7713:        name for the assembler file.
        !          7714:        (MASK_MIPS_TFILE): New mask for -mmips-tfile, -mno-mips-tfile, set
        !          7715:        to 0, since that switch is handled entirely in ASM_FINAL_SPEC.
        !          7716:        (TARGET_FLAGS): Add -mmips-tfile, -mno-mips-tfile switches.
        !          7717:        (MUST_SAVE_REGISTER): Allow $30 to be saved, even if not being used
        !          7718:        as the frame pointer.
        !          7719: 
        !          7720:        * tm-decrose.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
        !          7721:        invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
        !          7722:        the original .o file before mips-tfile is called.  Pass the correct
        !          7723:        name for the assembler file.
        !          7724: 
        !          7725: Wed Sep 18 18:54:15 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7726: 
        !          7727:        * cplus-*.c: Use DECL_CLASS_CONTEXT to figure out where a (static or
        !          7728:        non-static) member function is declared, rather than trying to
        !          7729:        divine the info from TYPE_METHOD_BASETYPE of the function's type.
        !          7730: 
        !          7731: Wed Sep 18 15:38:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7732: 
        !          7733:        * c-decl.c (grokdeclarator): Error if nested function is extern.
        !          7734: 
        !          7735: Wed Sep 18 02:41:08 1991  Per Bothner  (bothner at cygnus.com)
        !          7736: 
        !          7737:        * cplus-typeck.c (convert_arguments):  Don't crash if the
        !          7738:        formal parameter type is unknown (type==NULL) and the
        !          7739:        actual is a function.  Do the default instead.
        !          7740: 
        !          7741: Tue Sep 17 22:33:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7742: 
        !          7743:        * c-typeck.c (check_format):
        !          7744:        No warning if types match except for signedness.
        !          7745: 
        !          7746: Tue Sep 17 10:56:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7747: 
        !          7748:        * cplus-decl.c (pushtag): When creating a TYPE_DECL that's in class
        !          7749:        scope, allocate the space needed for DECL_CLASS_CONTEXT.
        !          7750: 
        !          7751:        * cplus-search.c (get_abstract_virtuals): If the BASE is not on the
        !          7752:        main spine, look at the virtuals that come from the most derived
        !          7753:        class that has BASE on its main spine.
        !          7754:        * cplus-tree.h (VF_*): New macros for dealing with VFIELDS.
        !          7755: 
        !          7756: Mon Aug 16 12:09:32 1991    (Eric Youngdale at [email protected])
        !          7757: 
        !          7758:        * make.com: Fix typo.
        !          7759: 
        !          7760: Tue Sep 17 15:13:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7761: 
        !          7762:        * c-common.c (shorten_compare): Always compute args with side effects.
        !          7763: 
        !          7764:        * varasm.c (decode_addr_const): Use SYMBOL_REF unchanged in 1st switch.
        !          7765: 
        !          7766:        * varasm.c (output_addressed_constants):  Handle a CONSTRUCTOR in
        !          7767:        an ADDR_EXPR correctly.
        !          7768:        
        !          7769:        * cccp.c (rescan): For unterm string, mention lineno of first newline.
        !          7770: 
        !          7771:        * fold-const.c (fold): Call optimize_bit_field_compare in constant case
        !          7772:        even if not optimizing.
        !          7773: 
        !          7774:        * c-decl.c (finish_function): Don't clear DECL_INITIAL if nested.
        !          7775:        (pop_c_function_context): Do it here instead.
        !          7776: 
        !          7777: Tue Sep 17 11:30:32 1991  Michael Meissner  (meissner at osf.org)
        !          7778: 
        !          7779:        * collect-osf.c (scan_prog_file): Recognize alternate forms for the
        !          7780:        constructor and destructor names.
        !          7781: 
        !          7782:        * osf-main.c (_entry): Provide an alternative function (_entry) to
        !          7783:        start up the static constructors/destructors.
        !          7784: 
        !          7785: Mon Sep 16 05:35:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7786: 
        !          7787:        * combine.c (simplify_shift_const): Correct errors involving modes
        !          7788:        to use for shift.
        !          7789: 
        !          7790: Sun Sep 15 19:13:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7791: 
        !          7792:        * reload1.c (reload_as_needed): Remove code that deletes insns that
        !          7793:        create equivalences.
        !          7794:        (reload): Put it here so it is executed even if reload_as_needed
        !          7795:        isn't called.
        !          7796: 
        !          7797: Sun Sep 15 17:13:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7798: 
        !          7799:        * Makefile.in (GNULIB2_CFLAGS): Include GCC_CFLAGS.
        !          7800:        (ENQUIRE_CFLAGS): Likewise (in place of plain CFLAGS).
        !          7801: 
        !          7802:        * genattrtab.c (main): Don't index by id->insn_code if negative.
        !          7803: 
        !          7804:        * genrecog.c (write_tree_1): Avoid pos[depth-1] if depth is 0.
        !          7805: 
        !          7806: Sun Sep 15 15:19:16 1991    (Eric Youngdale at [email protected])
        !          7807: 
        !          7808:        * make.com: Modify to allow direct submission to a batch queue.
        !          7809:        Also, add instructions to build GNU C++ as well as GNU CC.
        !          7810: 
        !          7811:        * cccp.c (hack_vms_include_specification): If [000000] is present in
        !          7812:        (implying a physical device or a rooted logical) try to open it.
        !          7813:        If the open fails, then remove the [000000] (making the name suitable
        !          7814:        for use with a non-rooted logical name) and return that.
        !          7815: 
        !          7816: Sun Sep 15 15:12:41 1991  Michael Meissner  (meissner at osf.org)
        !          7817: 
        !          7818:        * make-mips (Makefile): Remove rule building Makefile, since
        !          7819:        Makefile.in now has one.
        !          7820: 
        !          7821:        * make-decrose (Makefile): Remove rule building Makefile, since
        !          7822:        Makefile.in now has one.
        !          7823: 
        !          7824: Sun Sep 15 14:12:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7825: 
        !          7826:        * Makeflags (SYSCALLS.c.X): Use CPPFLAGS and INCLUDES.
        !          7827: 
        !          7828: Sun Sep 15 12:03:35 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7829: 
        !          7830:        * cplus-decl.c (poplevel): Match change made to c-decl.c on Oct 3,
        !          7831:        1989.
        !          7832: 
        !          7833: Sun Sep 15 06:52:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7834: 
        !          7835:        * caller-save.c (save_call_clobbered_regs): Deaden registers mentioned
        !          7836:        in REG_UNUSED notes.
        !          7837:        (clear_reg_live): Verify that note refers to a REG.
        !          7838:        (choose_hard_reg_mode): Rewrite to not use specific modes and to
        !          7839:        handle the case where separate CCmode registers exist.
        !          7840: 
        !          7841: Sat Sep 14 13:03:29 1991  Michael Tiemann  (tiemann at cygnus.com)
        !          7842: 
        !          7843:        * all cplus-* files: Change {ASSOC,assoc} to {BINFO,binfo} where
        !          7844:        appropriate.
        !          7845:        cplus-tree.h, tree.h: Change name of CLASSTYPE_ASSOC to TYPE_BINFO.
        !          7846:        Change names of CLASS_ASSOC_* to TYPE_BINFO_*.
        !          7847:        all cplus-* files: FUNCTION_DECLs that are class methods now have
        !          7848:        their DECL_VCONTEXT stored in the DECL_CONTEXT.
        !          7849:        (lang_decl): The VCONTEXT field is now gone.
        !          7850:        (lang_decl): _DECL nodes in class scope now record the class as a
        !          7851:        context in the DECL_CLASS_CONTEXT field.
        !          7852:        tree.h (TYPE_BINFO): Renamed TYPE_BASETYPES to this.
        !          7853:        dbxout.c (dbxout_type): User of TYPE_BASETYPES changed.
        !          7854:        (BINFO_{VALUE,OFFSET,VTABLE,VIRTUALS,BASETYPE{S}}): New macros
        !          7855:        inherited from GNU C++.
        !          7856:        (DECL_{VINDEX,FCONTEXT}): Ditto.
        !          7857:        (TREE_VIA_{PUBLIC,VIRTUAL}): Ditto.
        !          7858: 
        !          7859: Sat Sep 14 09:14:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7860: 
        !          7861:        * rtlanal.c (reg_set_p): Remove abort for MEM; reg_overlap_mentioned_p
        !          7862:        now handles that case correctly.
        !          7863:        REG is set if it is really a MEM and this is a CALL_INSN.
        !          7864: 
        !          7865: Sat Sep 14 01:34:39 1991  Richard Stallman  ([email protected])
        !          7866: 
        !          7867:        * configure (vax-ultrix*): New alternative.
        !          7868: 
        !          7869:        * reload1.c (choose_reload_regs): Always ignore cancelled reloads.
        !          7870: 
        !          7871:        * real.h (atof): Alternate declaration on MIPS.
        !          7872: 
        !          7873: Thu Sep 12 18:55:06 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
        !          7874: 
        !          7875:        * optabs.c (expand_binop): Fix carry propagation code for multiple
        !          7876:        words.
        !          7877: 
        !          7878:        * tm-*.h: Fix systematic typo in comment.
        !          7879: 
        !          7880: Thu Sep 12 18:23:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7881: 
        !          7882:        * gvarargs.h, va-mips.h, va-sparc.h (_va___list): Was __va_list.
        !          7883: 
        !          7884: Thu Sep 12 12:53:36 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
        !          7885: 
        !          7886:        * cpp.texinfo: (titlepage) use @title/@subtitle/@author
        !          7887:        (copyright page) add note re future C manual; add 1991 to copyrights
        !          7888:        (general) prepare for easy @smallbook formatting; clarification on
        !          7889:        strings; less passive; add AMD29K predefined macros; update -d refs,
        !          7890:        add -dM; add examples; add -pedantic-errors; add -MD, -MMD, -H; fix
        !          7891:        minor typos.    
        !          7892: 
        !          7893: Thu Sep 12 07:58:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
        !          7894: 
        !          7895:        * m68k.md (umulsidi3, mulsidi3): New DEFINE_EXPANDs and DEFINE_INSN
        !          7896:        recognizers.
        !          7897: 
        !          7898: Wed Sep 11 22:11:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7899: 
        !          7900:        * a29k.md, romp.md: Update calling sequence to emit_no_conflict_block.
        !          7901: 
        !          7902: Wed Sep 11 21:06:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7903: 
        !          7904:        * fold-const.c (const_binop): Fix last change for ceil and round.
        !          7905: 
        !          7906:        * gvarargs.h, va-mips.h, va-sparc.h (va_list): Now a macro again.
        !          7907:        (__va_list): This is the typedef.
        !          7908: 
        !          7909: Wed Sep 11 16:52:20 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          7910: 
        !          7911:        * c-typeck.c (build_binary_op_nodefault, RSHIFT_EXPR): Change
        !          7912:        "shift count" warnings changed to errors back to warnings.
        !          7913: 
        !          7914:        * cse.c (canon_hash): Also do not record global_regs if
        !          7915:        SMALL_REGISTER_CLASSES.  Makes the code match the comment.
        !          7916: 
        !          7917:        * cexp.y (yylex): Add sprintf call to create error message,
        !          7918:        because yyerror does not call *printf itself.
        !          7919: 
        !          7920:        * gcc.c (default_compilers): Support new option -traditional-cpp,
        !          7921:        which passes traditional to cpp, but not to cc1.
        !          7922:        * gcc.texinfo: Document it.
        !          7923: 
        !          7924:        * sched.c (INSN_LUID): New variable.  Give instructions logical
        !          7925:        numbers, which can be used when sorting, to make the scheduling
        !          7926:        algorithm more stable.
        !          7927:        (sched_analyze): Initialize it.
        !          7928:        (rank_for_schedule): Sort on it.
        !          7929:        (schedule_insns): Alloca(te) it and (b)zero it.
        !          7930:        (priority):  New priority algorithm.  Don't include latency of
        !          7931:        current insn, and subtract one from total priority calculated.
        !          7932:        Makes the scheduling algorithm more stable, and doesn't hurt
        !          7933:        performance.
        !          7934: 
        !          7935:        * sched.c (swap_sort): Must pass &insn to rank_for_schedule, not a
        !          7936:        pointer into the array being sorted.
        !          7937: 
        !          7938:        * cplus-lex.c (do_identifier): Put function return type on
        !          7939:        preceeding line.
        !          7940: 
        !          7941: Wed Sep 11 05:51:00 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7942: 
        !          7943:        * cplus-typeck.c (build_binary_op_nodefault): If OP0 or OP1 is a
        !          7944:        zero pointer, canonicalize it to NULL_POINTER_NODE.
        !          7945: 
        !          7946:        * expr.c (preexpand_calls): Don't preexpand calls inside a
        !          7947:        WITH_CLEANUP_EXPR.  The gestalt of a WITH_CLEANUP_EXPRs must be
        !          7948:        understood at the top level.
        !          7949: 
        !          7950:        * cplus-tree.c (build_cplus_new): When building cleanup, make
        !          7951:        the call to the cleanup nonvirtual.
        !          7952: 
        !          7953: Tue Sep 10 20:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7954: 
        !          7955:        * fold-const.c (const_binop): Shortcut for dividing single-word
        !          7956:        sizes
        !          7957: 
        !          7958:        * Makefile.in (varasm.o): Depend on insn-codes.h.
        !          7959: 
        !          7960: Tue Sep 10 19:29:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          7961: 
        !          7962:        * optabs.c (expand_binop): Try to open-code muldi3 if we have mulsi3
        !          7963:        and mulsidi3.  Idea due to [email protected].
        !          7964: 
        !          7965:        * cse.c (fold_rtx, case MEM): Don't call find_best_addr when insn == 0.
        !          7966:        Pass 0 to recursive call that tries to fold the address.
        !          7967: 
        !          7968: Tue Sep 10 18:16:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          7969: 
        !          7970:        * m68k.md (fix_trunc*):  Call CC_STATUS_INIT, since these patterns
        !          7971:        do not leave the condition codes in the expected state.
        !          7972: 
        !          7973:        * tm-ultrix.h (CPP_PREDEFINES): Add __vax.
        !          7974: 
        !          7975: Tue Sep 10 04:12:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7976: 
        !          7977:        * cplus-decl.c (finish_decl): Fix bug where the conversion from
        !          7978:        WITH_CLEANUP_EXPR -> init/cleanup pair was not setting bits of
        !          7979:        CURRENT_BINDING_LEVEL.
        !          7980:        (init_decl_processing): Set FLAGS_THIS_IS_VARIABLE before calling
        !          7981:        `init_exception_processing'.
        !          7982: 
        !          7983: Mon Sep  9 22:09:27 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          7984: 
        !          7985:        * cplus-tree.h (prev_class_type): Delete this bogus definition.
        !          7986: 
        !          7987:        * cplus-class.c (instantiate_type): Don't complain about no static
        !          7988:        member functions being found until we have been through all the
        !          7989:        baselinks.
        !          7990: 
        !          7991:        * cplus-dbxout.c (dbxout_type_methods): Don't write symbol
        !          7992:        information about methods that were generated by the compiler.
        !          7993:        (??? Is this really the right thing to do?)
        !          7994: 
        !          7995:        * cplus-decl2.c (lang_decode_option): Turn on warn_uninitialized if
        !          7996:        -Wall is the argument.
        !          7997: 
        !          7998: Mon Sep  9 19:05:01 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          7999: 
        !          8000:        * gcc.c (default_compilers): For .S files, pass -traditional not
        !          8001:        -ftraditional to cpp.
        !          8002: 
        !          8003: Mon Sep  9 15:01:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8004: 
        !          8005:        * fold-const.c (optimize_bit_field_compare): Distinguish NE from EQ.
        !          8006: 
        !          8007:        * explow.c (allocate_dynamic_stack_space):
        !          8008:        Handle SETJMP_VIA_SAVE_AREA by allocating extra space.
        !          8009: 
        !          8010:        * cplus-parse.y (empty_parms): Change inline to __inline.
        !          8011: 
        !          8012: Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege at zevs)
        !          8013: 
        !          8014:        * longlong.h (m68000 umul_ppmm): Clobber one register less by
        !          8015:        slightly rearranging the code.
        !          8016: 
        !          8017: Sun Sep  8 16:47:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8018: 
        !          8019:        * cccp.c (main, fatal): Delete the deps output file if error.
        !          8020:        (deps_file): New variable.
        !          8021: 
        !          8022:        * expr.c (convert_move): Update call to emit_no_conflict_block.
        !          8023: 
        !          8024:        * expmed.c (CEIL): New macro.
        !          8025: 
        !          8026:        * optabs.c (expand_binop): Don't do add by words for more than 2 words.
        !          8027: 
        !          8028:        * c-typeck.c (build_modify_expr): Test TREE_READONLY of lhs.
        !          8029: 
        !          8030: Sun Sep  8 01:17:47 1991  Torbjorn Granlund  (tege at zevs)
        !          8031: 
        !          8032:        * sparc.md (sgtu, sleu): Test for SUBREG as well as REG.
        !          8033: 
        !          8034: Sun Sep  8 07:04:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8035: 
        !          8036:        * optabs.c (emit_no_conflict_block, emit_libcall_block): Rework to
        !          8037:        accept a list of insns rather than a SEQUENCE.
        !          8038:        (expand_binop, expand_unop, expand_float, expand_fix): Change calls to
        !          8039:        above functions.
        !          8040:        * emit-rtl.c (add_insn): No longer static.
        !          8041:        * calls.c (expand_call): Change call to emit_libcall_block.
        !          8042: 
        !          8043:        * cse.c (fold_rtx): Fix typo with parens in associative operation case.
        !          8044: 
        !          8045: Sat Sep  7 21:49:46 1991  Jim Wilson  (wilson at cygint.cygnus.com)
        !          8046: 
        !          8047:        * expmed.c (store_bit_field): In the code handling bitfields
        !          8048:        larger than the word size: set fieldmode to size large enough
        !          8049:        to hold bitfield; new variable orig_bitsize; don't let
        !          8050:        bit_offset calculation for WORDS_BIG_ENDIAN hosts go negative.
        !          8051:        (extract_bit_field): Likewise.
        !          8052:        (store_split_bit_field): For second word, strip of SUBREG if any
        !          8053:        before calling operand_subword.  Offset for second word if in
        !          8054:        memory is the next UNITS_PER_WORD aligned address.
        !          8055:        (extract_split_bit_field): Likewise.
        !          8056: 
        !          8057:        * expr.c (emit_move_insn): When emitting multiple move insns in
        !          8058:        the loop, remember last insn emitted so that it can be returned.
        !          8059: 
        !          8060:        * tree.c (enum tree_node_kind): Add new entry vec_kind to
        !          8061:        represent TREE_VECs.
        !          8062:        (tree_node_kind_names): Add name "vecs" for it.
        !          8063:        (make_node): Handle TREE_VECs in the 'x' case.
        !          8064:        (make_tree_vec): Use vec_kind instead of x_kind.        
        !          8065: 
        !          8066: Sat Sep  7 16:25:50 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8067: 
        !          8068:        * cplus-call.c (ideal_candidate): Prefer non-const member functions
        !          8069:        to const member functions when there is a choice.
        !          8070:        * cplus-tree.c (propagate_assoc_offsets): Moved here from
        !          8071:        cplus-class.c
        !          8072:        (copy_nonvirtual_children): Deleted.
        !          8073: 
        !          8074:        * cplus-class.c, cplus-tree.c (layout_{v}basetypes,
        !          8075:        propagate_assoc_offsets, finish_base_struct): New offset
        !          8076:        computation/hierarchy implementation.  Now the lattice contains
        !          8077:        vbasetypes with zero-based offsets (and children from these types
        !          8078:        assume they are zero-based).  The CLASSTYPE_VBASETYPE list contains
        !          8079:        vbasetypes with hierarchy-dependent offsets (and children from these
        !          8080:        types have hierarchy-dependent offsets).  Note that now, virtual
        !          8081:        baseclasses are fully shared in the hierarchy.  The still are not
        !          8082:        shared at all in the CLASSTYPE_VBASETYPE list.
        !          8083:        * cplus-decl.c (xref_tag): Share vbasetypes in the lattice.
        !          8084:        * cplus-tree.h (lang_type): Add CLASSTYPE_VASSOC field so we can
        !          8085:        share virtual basetypes in inheritance lattices.
        !          8086: 
        !          8087: Sat Sep  7 13:07:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8088: 
        !          8089:        * c-parse.y (cast_expr): Supply OFWHAT arg to digest_init.
        !          8090:        * c-typeck.c (error_init, pedwarn_init): New functions.
        !          8091:        (digest_init, process_init_constructor): Use them.
        !          8092: 
        !          8093:        * out-m68k.c (output_function_prologue):  Add a negative constant
        !          8094:        to sp rather than adding a positive one, since this is faster.
        !          8095: 
        !          8096:        * out-m68k.c (output_function_prologue, output_function_epilogue):
        !          8097:        Use word sized immediates when possible.
        !          8098: 
        !          8099:        * Makefile.in (install-dir): Don't die if can't create mandir.
        !          8100:        (install-man): Don't put . in front of manext.
        !          8101:        (manext): Add . to the value.
        !          8102:        (mandir): Don't use manext.
        !          8103: 
        !          8104:        * genextract.c (main): Don't use __builtin_memcpy in GCC 1.
        !          8105: 
        !          8106: Fri Sep  6 19:29:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8107: 
        !          8108:        * caller-save.c (emit_mult_save, emit_mult_restore): Copy constant to
        !          8109:        TEMPREG and add integer, instead of the opposite order, which might
        !          8110:        not work on some machines.
        !          8111: 
        !          8112:        * fold-const.c (fold): Ensure we always return an object of the
        !          8113:        desired type.
        !          8114: 
        !          8115:        * reload1.c (reload, reload_as_needed): reload_in_progress must be
        !          8116:        set during caller-save processing.
        !          8117: 
        !          8118: Fri Sep  6 18:36:55 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          8119: 
        !          8120:        * out-sparc.c (leaf_reg_{remap,backmap}): Define mapping for
        !          8121:        %o7/%i7, since user-defined registers might reference these.
        !          8122:        (legitimize_pic_address): Set CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE
        !          8123:        if ORIG is a LABEL_REF.  For CONST_INT case, don't call force_reg
        !          8124:        during reload, use REG if available otherwise abort.
        !          8125: 
        !          8126: Fri Sep  6 17:16:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8127: 
        !          8128:        * configure: Default $cpu_type properly.
        !          8129: 
        !          8130: Fri Sep  6 05:50:58 1991  Ken Raeburn  (raeburn at watch.com)
        !          8131: 
        !          8132:        * genextract.c: Generate one large function with a switch, instead
        !          8133:        of a table of small functions to call.  Use __builtin_memcpy under
        !          8134:        GNU C.
        !          8135: 
        !          8136:        * genoutput.c: For "@" constructs, now generates a lookup table per
        !          8137:        insn, instead of a switch.
        !          8138: 
        !          8139: Fri Sep  6 15:40:54 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8140: 
        !          8141:        * cccp.c (skip_if_group): Deal with invalid directives the same
        !          8142:        way handle_directive does.
        !          8143: 
        !          8144: Fri Sep  6 16:37:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          8145: 
        !          8146:        * tm-sparc.h (RTX_COSTS): Define costs for MULT and various divides.
        !          8147: 
        !          8148:        * loop.c (move_movables): Call `gen_lowpart_common' instead of
        !          8149:        building SUBREG manually.
        !          8150: 
        !          8151:        * local-alloc.c (block_alloc): When convert scratch to a reg, must
        !          8152:        set regs_ever_live for all hard registers used by the new reg, not
        !          8153:        just the first.
        !          8154: 
        !          8155: Fri Sep  6 07:15:44 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
        !          8156: 
        !          8157:        * gnulib2.c (__negdi2): Change it to work like __subdi3.
        !          8158:        * gnulib2.c (_udivmoddi4): Make faster special case for CPUs with
        !          8159:        a udiv_qrnnd that can handle unnormalized (i.e. with less than
        !          8160:        LONG_TYPE_SIZE significant bit) divisors.
        !          8161: 
        !          8162:        * gnulib2.c (__muldi3): Cast operands to unsigned.
        !          8163: 
        !          8164:        * gnulib2.c (__Xcmpdi): Use `long' for all variables for
        !          8165:        consistency.
        !          8166: 
        !          8167:        * gnulib2.c (__udivmoddi4): New function with code from __udivdi3,
        !          8168:        extended to give remaider.
        !          8169:        * gnulib2.c (__divdi3, __moddi3, __udivdi3, __umoddi3): Use
        !          8170:        __udivmoddi4.
        !          8171:        * gnulib2.c: (__moddi3): Result sign is only dependent on U, not V.
        !          8172: 
        !          8173: Fri Sep  6 05:44:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8174: 
        !          8175:        * cse.c (cse_insn): Accept new arg IN_LIBCALL_BLOCK.
        !          8176:        If in libcall block, don't record destinations in hash table.
        !          8177:        Remove explicit use of SFmode and DFmode when checking -ffloat-store.
        !          8178:        (cse_basic_block): Pass new arg to cse_insn to indicate when we
        !          8179:        are processing an insn surrounded with REG_LIBCALL/REG_RETVAL notes.
        !          8180: 
        !          8181:        * optabs.c (emit_libcall_block): New function.
        !          8182:        (expand_binop, expand_unop): Remove kludge of referencing library
        !          8183:        function SYMBOL_REF before libcall block.
        !          8184:        Use emit_libcall_block.
        !          8185:        (expand_float, expand_fix): Rework library calls to use
        !          8186:        emit_libcall_block.
        !          8187:        * calls.c (struct arg_data): Add new field, initial_value.
        !          8188:        (expand_call): Don't make libcall block for calls that return
        !          8189:        aggregates.
        !          8190:        Remove kludge of referencing function SYMBOL_REF outside of block.
        !          8191:        For constant calls, save RTL for arg in args[i].initial_value and
        !          8192:        start a sequence.
        !          8193:        When making REG_EQUAL note, use INITIAL_VALUE instead of VALUE.
        !          8194:        Use emit_libcall_block for constant calls.
        !          8195:        * expr.h (emit_libcall_block): Define it.
        !          8196: 
        !          8197: Fri Sep  6 15:58:52 1991  Torbjorn Granlund  (tege at zevs)
        !          8198: 
        !          8199:        * longlong.h (68020, i386): Don't define machine-dependent
        !          8200:          __umulsidi3 (so the default definition is used).
        !          8201:        * longlong.h (all machines): Cast all operands, sources and
        !          8202:          destinations, to `unsigned long int'.
        !          8203:        * longlong.h: Add gmicro support.
        !          8204: 
        !          8205: Fri Sep  6 01:42:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8206: 
        !          8207:        * jump.c (jump_optimize): Delete duplicate line number notes.
        !          8208: 
        !          8209: Thu Sep  5 19:23:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8210: 
        !          8211:        * configure (romp): Fix typo in name of xm_file.
        !          8212: 
        !          8213:        * rtlanal.c (dead_or_set_p): If INSN has a CLOBBER for X, X is
        !          8214:        dead.
        !          8215: 
        !          8216:        * gnulib1.c (cmpdf2, cmpsf2): Delete unused functions.
        !          8217:        * gnulib2.c (anddi3, iordi3, xordi3, one_cmpldi2, adddi3, subdi3):
        !          8218:        Likewise.
        !          8219:        * optabs.c (emit_cmp_insn): Clean up code now that integer and
        !          8220:        float comparisons are done differently.
        !          8221:        (init_optabs): Remove references to unused functions listed above.
        !          8222:        * Makefile.in (LIB1FUNCS, LIB2FUNCS): Likewise.
        !          8223: 
        !          8224: Thu Sep  5 18:32:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8225: 
        !          8226:        * m68k.md (zero_extend*): Don't allow memory-memory due to aliasing.
        !          8227: 
        !          8228:        * expr.c (do_jump): Don't lose if only 1 insn precedes new jump.
        !          8229: 
        !          8230:        * sparc.md (ashldi3): Fix dumb bug detecting constant 1.
        !          8231: 
        !          8232:        * out-sparc.c (output_move_double): Use split_double for constant.
        !          8233:        Properly decrement addreg1.
        !          8234: 
        !          8235: Thu Sep  5 15:20:25 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          8236: 
        !          8237:        * out-sparc.c: Include expr.h and delete extern declarations.
        !          8238: 
        !          8239:        * rtlanal.c (rtx_equal_p): Correct typo in comment or spacing.
        !          8240:        * reload1.c (reload): Likewise.
        !          8241:        * protoize.c: Likewise.
        !          8242:        * longlong.h: Likewise.
        !          8243:        * local-alloc.c (block_alloc): Likewise.
        !          8244:        * jump.c: Likewise.
        !          8245: 
        !          8246:        * unroll.c (iteration_info): Don't calculate loop iterations based
        !          8247:        on a giv iterator, since the current code often gives the wrong
        !          8248:        result.  This case is rare, so it does not seem worth handling at all.
        !          8249: 
        !          8250:        * sched.c (schedule_insns): When the only sched pass is after
        !          8251:        reload, must clear unused_insn_list and unused_expr_list then,
        !          8252:        instead of during the nonexistant pass before reload.
        !          8253: 
        !          8254:        * sched.c (schedule_block): When calculating estimated IPC, avoid
        !          8255:        divide by zero.
        !          8256: 
        !          8257:        * sparc.md: Correct two define_splits for seq/sne patterns of the
        !          8258:        form `x + (i == 0)', and add a missing `addx' pattern used by
        !          8259:        these define_splits.
        !          8260: 
        !          8261:        * toplev.c (fatal_insn_not_found): Correct typo in error message.
        !          8262:        (main): Include "gsdb" and "gdbx" in warning message when -g is not
        !          8263:        supported.
        !          8264: 
        !          8265:        * expr.h (enum expand_modifier): Delete last vestige of
        !          8266:        EXPAND_INTO_STACK.
        !          8267: 
        !          8268: Thu Sep  5 13:50:21 1991  John Gilmore  (gnu at cygint.cygnus.com)
        !          8269: 
        !          8270:        * c-typeck.c (digest_init, process_init_constructor): Include the
        !          8271:        variable name, member name, and/or array indices in error messages.
        !          8272:        This makes it tolerable to debug large data structure initializers.
        !          8273:        Reword some messages to work with the name and/or function call
        !          8274:        argument included.  New arg OFWHAT.  All callers changed except
        !          8275:        one digest_init call in each of c-parse.y and objc-parse.y.
        !          8276:        (warn_for_assignment): Reduce to a single message argument,
        !          8277:        automatically handling formatting for function call arguments.
        !          8278:        All callers changed.
        !          8279:        (convert_for_assignment): If ERRTYPE is a null string, this is
        !          8280:        parameter passing for a function, so output different error messages.
        !          8281:        (convert_arguments): Pass null string to convert_for_assignment to
        !          8282:        indicate parameter passing.
        !          8283: 
        !          8284: Thu Sep  5 13:44:19 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          8285: 
        !          8286:        * sched.c: Correct typos in comments.
        !          8287:        (sched_note_set): Don't try to calculate live info for global
        !          8288:        register variables.
        !          8289:        (attach_deaths): Don't add REG_DEAD notes for global register
        !          8290:        variables.
        !          8291: 
        !          8292:        * tm-sparc.h (SELECT_SECTION): Can't put a variable in text section
        !          8293:        if flag_pic and RELOC are both true, same test that varasm.c does.
        !          8294: 
        !          8295: Thu Sep  5 13:15:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8296: 
        !          8297:        * rtlanal.c (reg_referenced_p): Handle USE and CALL.
        !          8298:        Use switch instead of if-then-else.
        !          8299: 
        !          8300: Thu Sep  5 08:03:58 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8301: 
        !          8302:        * cplus-class.c (propagate_assoc_offsets): Don't fail to
        !          8303:        propagate the offset to the rightmost basetype.
        !          8304: 
        !          8305:        * cplus-decl.c (xref_tag): Allocate nodes for basetype info on
        !          8306:        permanent obstack, not temporary obstack.
        !          8307: 
        !          8308: Wed Sep  4 18:53:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8309: 
        !          8310:        * fixincludes : Change `m68k' to `__m68k__' in all #if's.
        !          8311: 
        !          8312:        * Makefile.in (ALLOCA_FLAGS): Add -Demacs.
        !          8313:        (ALLOCA_FINISH): Put option before input file name.
        !          8314:        (alloca.o): Supply $(INCLUDES).
        !          8315: 
        !          8316:        * Makefile.in (GCC_CFLAGS): New parameter.
        !          8317:        (protoize, protoize.o, unprotoize, unprotoize.o): Use GCC_CFLAGS.
        !          8318:        (enquire, enquire.o, collect2, collect2.o, SYSCALLS.c.X): Likewise.
        !          8319: 
        !          8320: Wed Sep  4 18:13:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8321: 
        !          8322:        * combine.c (make_extraction): When picking up low-order part,
        !          8323:        ensure that we don't create a non-aligned object if alignment
        !          8324:        is required.
        !          8325: 
        !          8326:        * expr.c (emit_push_insn): Ensure we only call force_const_mem on a
        !          8327:        constant.
        !          8328:        
        !          8329:        * config.subr: Set `os' to be the last `-' and everything following it.
        !          8330:        `romp' is the basic machine name for the rtpc.
        !          8331:        `aos' is IBM's name for BSD.
        !          8332:        * configure: Default `cpu_type' to the first field before an
        !          8333:        optional `-'.
        !          8334:        Add a29k, a29k-ultra, romp, and rs6000.
        !          8335:        * xm-a29k-ultra.h: New file.
        !          8336: 
        !          8337: Wed Sep  4 15:46:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8338: 
        !          8339:        Changes from Ron Guilmette:
        !          8340:        * dwarfout.c (output_symbol): Move tests for omitting declarations
        !          8341:        to dwarfout_file_scope_symbol.  No need for `local' parameter.
        !          8342:        Use TREE_PUBLIC and TREE_EXTERNAL to determine whether a variable
        !          8343:        or function is global.
        !          8344:        (finalizing, dwarfout_file_scope_delayed_symbol): Delete.
        !          8345:        
        !          8346:        * toplev.c (compile_file): Delete use of dwarfout_file_scope_symbol
        !          8347:        for initialized VAR_DECLs.  All global declarations are passed to
        !          8348:        dwarfout_file_scope_symbol (except function definitions and types).
        !          8349: 
        !          8350:        (compile_file, rest_of_decl_compilation): Attribute time in
        !          8351:        {dbxout,sdbout,dwarfout} functions to symout_time.
        !          8352: 
        !          8353:        * varasm.c (assemble_variable): Check and update TREE_ASM_WRITTEN
        !          8354:        for a global register variable.
        !          8355:        Delete use of dwarfout_file_scope_symbol for VAR_DECLs. 
        !          8356: 
        !          8357: Tue Sep  3 23:34:57 1991  Torbjorn Granlund  (tege at zevs)
        !          8358: 
        !          8359:        * sparc.md (ashldi3 expander & recognizer): Make shift count have
        !          8360:        SImode.  Used to have DImode.
        !          8361: 
        !          8362:        * expmed.c (emit_store_flag): Declare arg UNSIGNEDP.
        !          8363: 
        !          8364:        * vax.md (adddi3): Make operands 2 and 3 commutative.
        !          8365: 
        !          8366:        * sparc.md (subtract constant then return): Peephole deleted.
        !          8367: 
        !          8368: Tue Sep  3 22:23:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8369: 
        !          8370:        * Makefile.in (mostlyclean, clean, realclean): Some files were missing.
        !          8371: 
        !          8372:        * gvarargs.h (va_list): Make it typedef, not macro.
        !          8373:        * va-mips.h, va-pyr.h: Likewise.
        !          8374: 
        !          8375: Tue Sep  3 22:07:04 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8376: 
        !          8377:        * cplus-init.c (build_vec_delete): Fix off-by-one error for arrays
        !          8378:        of length 1.
        !          8379: 
        !          8380: Tue Sep  3 19:30:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8381: 
        !          8382:        * combine.c (try_combine): Don't pass a STRICT_LOW_PART to
        !          8383:        reg_overlap_mentioned_p.
        !          8384: 
        !          8385:        * cse.c (fold_rtx): If INSN is zero, copy X before we change 
        !          8386:        anything inside it.
        !          8387:        When looking for associative operation, pass zero as missing arg to
        !          8388:        recursive call.
        !          8389:        (find_comparison_args): Add zero for missing arg to fold_rtx calls.
        !          8390: 
        !          8391:        * reload.c (find_reloads): Correct code that prevents replacing
        !          8392:        a SET_DEST with a constant so that it correctly looks for an
        !          8393:        operand being a SET_DEST.
        !          8394: 
        !          8395: Tue Sep  3 19:17:34 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          8396: 
        !          8397:        * out-i386.c (split_di): Call split_double for CONSTANT_P.
        !          8398:        (fix_op): Delete.
        !          8399:        (float_op): Don't examine the mode of the FLOAT operand.
        !          8400:        (output_float_compare): Don't make new %ax RTX: use scratch
        !          8401:        operand from insn.
        !          8402: 
        !          8403:        * i386.md (float mode tstM,cmpM,fixuns_truncMN2,fix_truncMN2): Use
        !          8404:        match_scratch.
        !          8405:        (float mode tstM,fixuns_truncMN2,fix_truncMN2): Don't gen temp RTX:
        !          8406:        use scratch operand.
        !          8407:        (fix_truncMN2,floatMN2): Split pattern into a separate DFmode and
        !          8408:        SFmode patterns so that operands[1] has a mode.
        !          8409:        (sCOND patterns): Don't set cc_status to previous status.
        !          8410:        (cmpstrsi): Don't explicitly reference reg 2.
        !          8411: 
        !          8412: Tue Sep  3 16:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8413: 
        !          8414:        * optabs.c (expand_binop): Fix carry calculation.
        !          8415: 
        !          8416:        * varasm.c (decode_addr_const): Given a LABEL_DECL, Make a LABEL_REF.
        !          8417:        (const_hash): Handle a LABEL_REF.
        !          8418:        * expr.c (expand_expr): Use FUNCTION_MODE for memref to a LABEL_REF.
        !          8419: 
        !          8420:        * configure: Fix typo in last change.
        !          8421: 
        !          8422:        * cccp.c (handle_directive): Normally no error for line with `###'.
        !          8423: 
        !          8424: Tue Sep  3 10:53:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8425: 
        !          8426:        * out-m88k.c, tm-m88k.h: Delete remnants of the fancy abort.
        !          8427:        * tm-m88kdgux.h: No longer identify as version DG-*.
        !          8428:        * m88k files: Update copyright dates.
        !          8429: 
        !          8430: Tue Sep  3 03:18:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8431: 
        !          8432:        * expr.c (expand_expr): Get rid of EXPAND_INTO_STACK.
        !          8433: 
        !          8434: Mon Sep  2 14:07:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8435: 
        !          8436:        * gcc.c (do_spec_1): In %X, terminate the arg after each option.
        !          8437: 
        !          8438:        * config.subr: If argument contains `local', always accept it.
        !          8439:        * configure: If machine type contains `local',
        !          8440:        construct file names from that machine type name.
        !          8441: 
        !          8442:        * configure: Make config.status a shellscript to redo the configure.
        !          8443:        No need now to change / to - when storing $(target) in Makefile.
        !          8444:        Store $(host_make_var_file) in Makefile also.
        !          8445:        Set host_make_var_file to ../Makefile.in after creating Makefile
        !          8446:        if no make-... file actually exists for this host.
        !          8447:        * Makefile.in (host_make_var_file): Dummy definition to be filled in.
        !          8448:        (Makefile): New rule to rerun `configure'
        !          8449: 
        !          8450:        * tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
        !          8451: 
        !          8452:        * tm-mips.h, tm-m88k.h (abort): Macro definition deleted.  It is
        !          8453:        not right for any machines description to specify use of fancy_abort.
        !          8454: 
        !          8455:        * protoize.c [v.4]: Include fcntl.h.
        !          8456:        (execvp): Correct type for second arg.
        !          8457:        (compile_params): Remove `const'; that loses when calling execvp.
        !          8458: 
        !          8459:        * cccp.c (directive_table): Typo in entry for do_ident.
        !          8460: 
        !          8461:        * xm-m68k.h (alloca): Define macro with arg.
        !          8462: 
        !          8463:        * emit-rtl.c (reorder_insns_with_line_notes):  New function.
        !          8464:        (find_line_note, emit_line_note_after):  New functions.
        !          8465: 
        !          8466:        * jump.c (jump_optimize):  When moving else clause before test,
        !          8467:        only move the insn as far as needed, and use new function
        !          8468:        reorder_insns_with_line_notes.
        !          8469: 
        !          8470: Mon Sep  2 03:30:35 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          8471: 
        !          8472:        * Makefile.in (collect2): Compile with gcc.
        !          8473: 
        !          8474: Sun Sep 1 9:03:46 1991    (Eric Youngdale at [email protected])
        !          8475: 
        !          8476:        Define two macros to eliminate the need for a seperate collect pass.
        !          8477: 
        !          8478:        * tm-vms.h (ASSEMBLE_OUTPUT_CONSTRUCTOR): Define.
        !          8479:        (ASSEMBLE_OUTPUT_DESTRUCTOR): Define.
        !          8480: 
        !          8481: Sun Sep  1 08:14:22 1991  Michael Meissner  (meissner at osf.org)
        !          8482: 
        !          8483:        * collect-osf.c (main): Print version number if -v.  Also ignore all
        !          8484:        arguments beginning with -c rather than just '-c'.
        !          8485: 
        !          8486:        * make-decrose (collect): Add version.o to link.
        !          8487: 
        !          8488: Sat Aug 31 17:03:23 1991  Michael Meissner  (meissner at osf.org)
        !          8489: 
        !          8490:        * cplus-input.c (inline macro definition): If inline is already
        !          8491:        defined, don't redefine it.
        !          8492: 
        !          8493:        * collect-osf.c (main): Look for gld and gas instead of ld and as,
        !          8494:        so collect-osf can be installed as ld.  Use a default path of
        !          8495:        /usr/ccs/gcc to find the linker and assember.  Ignore the -c switch,
        !          8496:        which GCC uses to say that collect is needed.
        !          8497: 
        !          8498:        * osf-main.c (__finis): Don't call descructors already called if one
        !          8499:        of the destructors calls exit (which in turn calls __finis).
        !          8500: 
        !          8501:        * tm-mips.h (DBX_REGISTER_NUMBER): Use mips_dbx_regno to map
        !          8502:        register number to debug register number.
        !          8503:        (GP_DBX_FIRST, FP_DBX_FIRST): New macros, giving the first debug
        !          8504:        register numbers for gp registers and fp registers.
        !          8505: 
        !          8506:        * out-mips.c (mips_dbx_regno): New global array to map GCC register
        !          8507:        number to debug register number, to fix problem with OSF/1 stabs
        !          8508:        using 38 for the first fp registers, rather than 32.
        !          8509:        (override_options): Set up OSF/1 SIGINFO signal handler to notmake
        !          8510:        the interruptable system calls read, write, and wait not return
        !          8511:        error condition.  Also initialize mips_dbx_regno.
        !          8512: 
        !          8513:        * make-decrose (CFLAGS): Add $(MSTATS) variable to set -mstats.
        !          8514:        (CFLAGS_NODEBUG): Like CFLAGS, except no debugging or inlining.
        !          8515:        (DEB_OPT): Define in terms of DEBUG, OPT, and PROFILE.
        !          8516:        (cplus-lex rule): Build cplus-lex with no debug or inlinings.
        !          8517: 
        !          8518: Sat Aug 31 12:52:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8519: 
        !          8520:        * cccp.c (handle_directive): Be more fussy detecting `# LINE' case.
        !          8521: 
        !          8522:        * cccp.c (directive_table): Pass through and ignore #ident.
        !          8523:        (do_ident): New function.
        !          8524:        (skip_if_group): Error if unrecognized directive seen.
        !          8525: 
        !          8526:        * jump.c (jump_optimize): In converting  x=a; if (...) x=b;  to
        !          8527:        store flag, insert all the new code in just one line.
        !          8528: 
        !          8529:        * gcc.c (do_spec_1): Use xmalloc to make linker_options the first time.
        !          8530: 
        !          8531:        * expr.c (expand_expr): Make EXPAND_SUM and EXPAND_INITIALIZER
        !          8532:        imply EXPAND_CONST_ADDRESS in all cases.
        !          8533: 
        !          8534:        * c-decl.c (c_decode_option): -Wall sets warn_uninitialized.
        !          8535:        * flags.h (warn_uninitialized): Declared.
        !          8536:        * toplev.c (warn_uninitialized): No longer static.
        !          8537: 
        !          8538:        * cccp.c (main): Make no assumptions about include_defaults
        !          8539:        in calculation of max_include_len.  Add fudge space if VMS.
        !          8540: 
        !          8541:        * reload.c (find_reloads_toplev): New arg IS_SET_DEST.
        !          8542:        Don't replace reg with constant in destination of a SET.
        !          8543:        (find_reloads): Pass that arg.  Also don't replace here.
        !          8544: 
        !          8545:        * cplus-xref.c: Finish installing changes from Youngdale.
        !          8546: 
        !          8547: Sat Aug 31 09:02:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8548: 
        !          8549:        * cplus-decl2.c (finish_file): Call varasm routines to assemble ctor
        !          8550:        and dtor lists.
        !          8551: 
        !          8552:        * cplus-dbxout.c (dbxout_type_methods): Fix error in printing symbol
        !          8553:        info for classes that only define a destructor.
        !          8554: 
        !          8555: Sat Aug 31 08:32:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8556: 
        !          8557:        * cse.c (cse_end_of_basic_block): Correctly handle the case of a basic
        !          8558:        block where a conditional branch out of the block becomes unconditional
        !          8559:        and a conditional branch to the end of the block becomes a noop.
        !          8560: 
        !          8561:        * combine.c (try_combine): In case where we have a PARALLEL
        !          8562:        involving a load and sign extend, use reg_overlap_mentioned_p
        !          8563:        instead of reg_mentioned_p.
        !          8564:        If we have a PARALLEL of two independent SETs, try to split them
        !          8565:        up into separate insns.
        !          8566: 
        !          8567:        * combine.c (move_deaths): Instead of placing the REG_DEAD notes
        !          8568:        on TO_INSN, add them to a list whose address is given as an
        !          8569:        operand.
        !          8570:        (distribute_notes): Allow for the case when the death of an object
        !          8571:        is between I2 and I3.
        !          8572:        Set reg_last_death to corrspond to the location of the REG_DEAD
        !          8573:        note being placed.
        !          8574:        (try_combine): Call move_deaths in new way and pass returned list
        !          8575:        to distribute_notes if it is non-empty.
        !          8576: 
        !          8577:        * local-alloc.c (requires_inout_p): Don't have cases for '[Q-U]' unless
        !          8578:        EXTRA_CONSTRAINT is defined..
        !          8579: 
        !          8580:        * local-alloc (block_alloc): Don't allocate SCRATCH on machines with
        !          8581:        SMALL_REGISTER_CLASSES defined.
        !          8582: 
        !          8583:        * regclass.c (reg_class_record): Add missing case for 'V'.
        !          8584: 
        !          8585: Fri Aug 30 04:42:19 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          8586: 
        !          8587:        * tm-i386.h (OUTPUT_JUMP): Use cc_prev_status.
        !          8588: 
        !          8589: Fri Aug 30 17:08:52 1991    (Eric Youngdale at [email protected])
        !          8590: 
        !          8591:        * xm-vms.h (LOCATE_START_OF_FILE_NAME): Remove.
        !          8592:        (FILE_NAME_NONDIRECTORY): Fix typo.
        !          8593:        (XREF_FILE_NAME): Use FILE_NAME_NONDIRECTORY instead of
        !          8594:        LOCATE_START_OF_FILE_NAME, and omit the leading underscore in the
        !          8595:        generated file name.
        !          8596:        (FILE_NAME_ABSOLUTE_P): Define to use hook in cplus-xref.c.
        !          8597:        (FILE_NAME_JOINER): Define to use hook in cplus-xref.c.
        !          8598: 
        !          8599:        * cplus-xref.c: Fix bug in default definition of FILE_NAME_ABSOLUTE_P.
        !          8600:        (GNU_xref_open): Fix bug - wrong argument to XREF_FILE_NAME.
        !          8601:        (FILE_NAME_JOINER): New macro.
        !          8602:        (GNU_xref_file): Use it.
        !          8603: 
        !          8604: Fri Aug 30 17:30:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8605: 
        !          8606:        * cplus-xref.c: Reinstall Aug 25 changes discarded by Tiemann.
        !          8607: 
        !          8608:        * expr.c (expand_expr): New modifier option EXPAND_INITIALIZER.
        !          8609:        * varasm.c (output_constant): Use that.
        !          8610:        * jump.c (forced_labels): New var records labels not to delete.
        !          8611:        (jump_optimize): Don't delete those labels.
        !          8612:        * flow.c (find_basic_blocks): Any computed goto goes to those labels.
        !          8613:        * varasm.c (decode_addr_const): Deal with LABEL_DECL.
        !          8614: 
        !          8615: Fri Aug 30 15:41:03 1991  Michael Meissner  (meissner at osf.org)
        !          8616: 
        !          8617:        * mips.md (copyleft): Use separate copyright years.
        !          8618:        (mov*): Use nonimmediate_operand instead of general_operand.
        !          8619: 
        !          8620:        * tm-mips.h (copyleft): Use separate copyright years.
        !          8621: 
        !          8622:        * xm-mips.h (copyleft): Use separate copyright years.
        !          8623: 
        !          8624:        * xm-umips.h (copyleft): Use separate copyright years.
        !          8625: 
        !          8626: Fri Aug 30 08:47:30 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8627: 
        !          8628:        * cplus-typeck.c (build_x_*): Try first calling `build_opfncall'
        !          8629:        with FLAGS==0.  If that succeeds, check protection.
        !          8630:        (build_conditional_expr): `fold' does not preserve the type of it's
        !          8631:        expressions, which is a problem for C++ when trying to keep ints and
        !          8632:        enums distinct.
        !          8633: 
        !          8634:        * cplus-decl.c (lookup_name): When there is a choice between seeing
        !          8635:        a name as a type and seeing as a decl, call `arbitrate_lookup' to
        !          8636:        make the decision.
        !          8637:        * cplus-lex.c (arbitrate_lookup): New function.  Uses minute amounts
        !          8638:        of syntactic context to decide whether to see a name as a type or
        !          8639:        something else.
        !          8640: 
        !          8641: Fri Aug 30 07:40:49 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8642: 
        !          8643:        * jump.c (delete_jump): When checking REG_DEAD notes, make sure they
        !          8644:        have a legal value.
        !          8645: 
        !          8646: Fri Aug 30 00:57:05 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          8647: 
        !          8648:        * local-alloc.c (alloc_qty_for_scratch): Treat Q - U as reg class if
        !          8649:        EXTRA_CONSTRAINT is not defined.
        !          8650:        * regclass.c (reg_class_record): Likewise.
        !          8651: 
        !          8652: Thu Aug 29 21:39:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8653: 
        !          8654:        * c-typeck.c (build_binary_op_nodefault): Fix last change.
        !          8655: 
        !          8656: Thu Aug 29 19:11:05 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8657: 
        !          8658:        * recog.c (general_operand, const_double_operand): Similar to
        !          8659:        immediate_operand, don't accept a VOIDmode operand if the
        !          8660:        caller wants floating.
        !          8661:        * out-pyr.c (nonindexed_operand): Likewise.
        !          8662: 
        !          8663: Thu Aug 29 09:53:27 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          8664: 
        !          8665:        * cplus-tree.h ({SET,CLEAR}_ASSOC_*): New macros needed because not
        !          8666:        all C compilers support conditional expressions as lvalues.
        !          8667:        (lang_type): Change type of MEMOIZED_TABLE_ENTRY and SEARCH_SLOT
        !          8668:        from `void *' to `char *', to make braindead compilers at less of a
        !          8669:        disadvantage.
        !          8670: 
        !          8671: Thu Aug 29 08:07:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8672: 
        !          8673:        * m88k.md (define_function_unit): Update latencies.
        !          8674: 
        !          8675:        * out-m88k.c (output_function_profiler): Correct offsets for
        !          8676:        register saves.
        !          8677:        * tm-m88ksvr4.h (FUNCTION_PROFILER): Use the name _mcount and do
        !          8678:        register saves.
        !          8679: 
        !          8680:        * tm-m88k.h (ASM_DWARF_POP_SECTION): Specify "previous".
        !          8681: 
        !          8682:        Changes from Ron Guilmette:
        !          8683:        * dwarfout.c (lookup_filename): Only increment valid_ft_entries
        !          8684:        once when adding a filename to the table.
        !          8685:        (output_symbol): Do output DIEs for a global VAR_DECL definition.
        !          8686: 
        !          8687: Thu Aug 29 06:15:32 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
        !          8688: 
        !          8689:        * cplus-type2.c (build_functional_cast): If we have a valid value in
        !          8690:        `expr_as_conversion' return that before returning error_mark_node.
        !          8691: 
        !          8692:        * cplus-init.c (expand_recursive_init): Fix typo is testing
        !          8693:        TYPE_USES_VIRTUAL_BASECLASSES.
        !          8694: 
        !          8695: Wed Aug 28 23:12:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8696: 
        !          8697:        * c-typeck.c (build_binary_op_nodefault): For shift and rotate ops,
        !          8698:        if traditional, use the common type of the operands.
        !          8699: 
        !          8700: Wed Aug 28 07:31:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8701: 
        !          8702:        * dwarfout.c, dwarf.h, README.DWARF: Replacement files from Ron
        !          8703:        Guilmette that bring the dwarf implementation up to that defined by
        !          8704:        draft 4 of the dwarf specification (dated 7/31/91).
        !          8705: 
        !          8706: Wed Aug 28 06:24:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8707: 
        !          8708:        * all *.md files except a29k.md and romp.md: Don't allow CONST_INT
        !          8709:        as operand for RTL operations that need a mode to be well-defined,
        !          8710:        e.g., SIGN_EXTEND, ZERO_EXTEND, TRUNCATE, FLOAT.  Similarly, don't
        !          8711:        allow CONST_INT as first operand of a COMPARE.
        !          8712: 
        !          8713:        * machmode.h (MIN, MAX): Undefine these before our definition.
        !          8714: 
        !          8715: Tue Aug 27 21:33:04 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          8716: 
        !          8717:        * version.c: Now 1.95.
        !          8718: 
        !          8719: Tue Aug 27 18:05:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8720: 
        !          8721:        * reload1.c (possible_group_p): Use earliest class that needs a group.
        !          8722: 
        !          8723:        * gcc.c (do_spec_1): Handle %x and %X.
        !          8724:        (link_command_spec): Use %X.  If given -collect, pass -c.
        !          8725:        (default_compilers c++): Use %x to pass -c to linker.
        !          8726: 
        !          8727:        * cse.c (find_comparison_code): Don't call fold_rtx,
        !          8728:        because we don't know which insn to pass for its second argument.
        !          8729: 
        !          8730:        * cse.c (fold_rtx): Don't fold what we get from lookup_as_function.
        !          8731: 
        !          8732: Tue Aug 27 17:46:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8733: 
        !          8734:        * cse.c (rtx_cost): A USE is free; it is likely being used as a marker.
        !          8735: 
        !          8736:        * cse.c (cse_insn): If we decided not to make a reg-reg copy between 
        !          8737:        equivalent regs into a no-op, see if there is an equivalent constant
        !          8738:        that is cheaper than the register we decided to use.
        !          8739: 
        !          8740:        * cse.c (cse_insn): Fix arg in insert_regs call when making a
        !          8741:        secondary equivalence due to a SUBREG; we are not modifying the
        !          8742:        register.
        !          8743: 
        !          8744:        * cse.c (delete_dead_from_cse): Treat a SET that copies a register
        !          8745:        to itself as if it were setting a dead register.
        !          8746: 
        !          8747:        * cse.c (find_comparison_args): Call fold_rtx on the args that we
        !          8748:        are about to return.
        !          8749:        (fold_rtx, case SUBREG): Copy code from equiv_constant that looks up
        !          8750:        a SUBREG in the hash table.
        !          8751:        If our our folded operand is equivalent to a constant, use that when
        !          8752:        seeing if we can get a part of a constant.
        !          8753:        (fold_rtx): Don't short-circuit recursive call for an operand that
        !          8754:        is a SUBREG; add comment in REG case that we are doing equiv_constant.
        !          8755:        When looking for associative operation, call fold_rtx on potential
        !          8756:        constant as well as equiv_constant.
        !          8757:        (equiv_constant): Just look up a constant quantity for a register;
        !          8758:        fold_rtx will do the SUBREG operations.
        !          8759: 
        !          8760:        * fold-const.c ({neg,mul,lshift,rshift,lrotate,rrotate}_double):
        !          8761:        No longer static.
        !          8762:        * cse.c (simplify_{unary,binary}_operation): Fold some DImode
        !          8763:        operations.
        !          8764: 
        !          8765:        * fold-const.c (fold, case EQ_EXPR, NE_EXPR, ...): Add code to handle
        !          8766:        cases where we are comparing the result of a comparison.
        !          8767: 
        !          8768: Tue Aug 27 14:35:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8769: 
        !          8770:        * flow.c (mark_used_regs): Set regs_ever_live for all hard regs.
        !          8771:        Warning: this might break FUNCTION_PROLOGUE and FUNCTION_EPILOGUE
        !          8772:        in some ports.  But I've checked all the installed ones.
        !          8773:        * tm-gmicro.h (FUNCTION_PROLOGUE):
        !          8774:        Clear bit for fp reg if used as such.
        !          8775:        * tm-mips.h (MUST_SAVE_REGISTER): Only frame_pointer_needed affects fp.
        !          8776: 
        !          8777:        * c-decl.c (store_parm_decls): No error if arglist contains type tag.
        !          8778: 
        !          8779:        * optabs.c (expand_fix): Really call emit_cmp_insn right.
        !          8780: 
        !          8781:        * floatlib.c: New file.
        !          8782: 
        !          8783:        * gnulib2.c (__clz_tab): Moved to _udivdi3.
        !          8784: 
        !          8785: Tue Aug 27 06:44:12 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
        !          8786: 
        !          8787:        * cplus-typeck.c (c_expand_return): Don't use the cleanup generated
        !          8788:        by `build_functional_cast'.
        !          8789: 
        !          8790:        * cplus-class.c (resolves_to_fixed_type_p): Handle WITH_CLEANUP_EXPR.
        !          8791: 
        !          8792: Mon Aug 26 20:55:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8793: 
        !          8794:        * c-parse.y (yylex): Cast shorts[n] to long before shifting.
        !          8795:        * fold-const.c (decode): Likewise.
        !          8796: 
        !          8797:        * Makefile.in (INSTALL_DATA): Renamed from INSTALL_FILE.
        !          8798: 
        !          8799:        * cse.c (canon_hash): Don't crash if subexpression is 0.
        !          8800: 
        !          8801:        * cplus-lex.c (interface_strcmp): Put back variable s1.
        !          8802: 
        !          8803: Mon Aug 26 18:14:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8804: 
        !          8805:        * function.c (instantiate_virtual_regs_1): Complete previous change;
        !          8806:        had omitted arg on two returns.
        !          8807: 
        !          8808: Mon Aug 26 15:16:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8809: 
        !          8810:        * optabs.c (expand_float, expand_fix): Pass new arg to emit_cmp_insn.
        !          8811: 
        !          8812:        * out-m68k.c (singlemove_string): Fix last change.
        !          8813: 
        !          8814: Mon Aug 26 11:20:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          8815: 
        !          8816:        * m88k.md (cmpsi insn): Don't provide an insn that compares two
        !          8817:        constants.
        !          8818: 
        !          8819: Mon Aug 26 08:34:48 1991  Michael Meissner  (meissner at osf.org)
        !          8820: 
        !          8821:        * collect-osf.c (toplevel, read_file, end_file): Don't use mmap,
        !          8822:        unless all defines needed are defined.
        !          8823:        (various): If -debug turn on debugging code.  Change all occurances
        !          8824:        of #ifdef DEBUG sections to if (debug).
        !          8825:        (main, add_to_list): Correctly cast xcalloc calls.
        !          8826:        (scan_prog_file): Correct xcalloc to allocate enough space
        !          8827:        (scan_prog_file): If -debug, don't dump entire symbol table, just
        !          8828:        dump the constructors and destructors.
        !          8829: 
        !          8830:        * make-decrose (CFLAGS): Use DEB_OPT for default debug and optimize
        !          8831:        options, use SHLIB for default shared library versions.
        !          8832:        (DEB_OPT): Define to be -g -O2.
        !          8833:        (SHLIB): Define to be -L${BUILD}/usr/ccs/lib, which forces static
        !          8834:        libraries with both old and new 1.39 compilers.
        !          8835:        (COFF_CFLAGS): Define to be -O2 -g0.
        !          8836:        (collect): Add LIBDEPS dependency.
        !          8837: 
        !          8838: Mon Aug 26 07:22:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          8839: 
        !          8840:        * machmode.h (MIN, MAX): Define here.
        !          8841:        * c-decl.c, calls.c, cplus-class.c, cplus-decl.c, cplus-tree.c:
        !          8842:        Don't define here.
        !          8843:        * expr.c, fold-const.c, function.c, integrate.c, recog.c: Likewise.
        !          8844:        * rtl.c, sdbout.c, stmt.c, stor-layout.c, varasm.c: Likewise.
        !          8845:        * c-typek.c, combine.c, cse.c, emit-rtl.c, expmed.c, final.c:
        !          8846:        Delete definitions of "min" and "max"; use MIN and MAX now defined
        !          8847:        in machmode.h.
        !          8848:        * genemit.c, regclass.c, reload.c, reload1.c: Likewise.
        !          8849:        * cccp.c (MIN, MAX): Define instead of min and max for consistency.
        !          8850: 
        !          8851:        * tm-rs6000.h (HARD_REGNO_MODE_OK): Don't put DImode in reg 31;
        !          8852:        similarly for TImode.
        !          8853: 
        !          8854:        * cse.c (cse_skip_to_next_block): Variable deleted.
        !          8855:        (cse_insn): Don't set it anymore.
        !          8856:        (cse_basic_block): Don't use cse_skip_to_next_block; instead, look
        !          8857:        for unconditional jumps explicitly; correctly handle unconditional
        !          8858:        jumps to the end of the basic block by extending the basic block in
        !          8859:        that case.
        !          8860: 
        !          8861:        * reload1.c (alter_reg): Ensure that stack slot is always the correct
        !          8862:        mode.
        !          8863: 
        !          8864: Mon Aug 26 06:20:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8865: 
        !          8866:        * cplus-type2.c (build_functional_cast): Treat constructor casts as
        !          8867:        having cleanups in this function.
        !          8868:        * cplus-decl.c (finish_decl): Use cleanups created by functinal
        !          8869:        casts used as initializers.
        !          8870: 
        !          8871:        * cplus-init.c (expand_member_init): Call error with
        !          8872:        IDENTIFIER_POINTER, not DECL_NAME, of NAME.
        !          8873: 
        !          8874:        * cplus-method.c (fndecl_as_string): Don't skip `in_charge'
        !          8875:        parameter twice.
        !          8876: 
        !          8877:        * cplus-init.c (build_new): Delete code which short-circuited
        !          8878:        multiple indirections in ABSDCL and made everything look like just a
        !          8879:        single level of indirection.
        !          8880: 
        !          8881:        * cplus-typeck.c (warn_for_assignment): Now takes a FUNCTION_DECL
        !          8882:        instead of an IDENTIFIER_NODE as an argument.  Also, print
        !          8883:        reasonable message when ARGNUM < 0.
        !          8884: 
        !          8885:        * cplus-typeck.c (type_unknown_p): If TREE_CODE (EXP) == TREE_LIST,
        !          8886:        it's type is unknown.
        !          8887: 
        !          8888:        * cplus-typeck.c (commonparms): Don't insert default parmeter values
        !          8889:        into existing arg lists.  Instead, unify them into new ones only.
        !          8890: 
        !          8891:        * cplus-typeck.c (convert_for_{initialization,assignment}): Pass
        !          8892:        FNDECL instead of function name.  Use `lang_printable_name' to pass
        !          8893:        printable name to `warn_for_assignment'.
        !          8894: 
        !          8895:        * cplus-typeck.c (convert_arguments): Don't forcibly convert ptrs to
        !          8896:        other things into ptrs to functions just to satisfy the conversion
        !          8897:        of virtual functions.
        !          8898: 
        !          8899: Sun Aug 25 22:44:57 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8900: 
        !          8901:        * cplus-typeck.c (compparms): Deal with STRICT == 3.
        !          8902:        * cplus-search.c (get_first_matching_virtual): Call `compparms' with
        !          8903:        STRICT == 3.
        !          8904: 
        !          8905:        * cplus-lex.c (operator_name_string): Don't abort if we cannot find
        !          8906:        a operator name for NAME.  Instead, return identifier for
        !          8907:        <invalid operator>.
        !          8908: 
        !          8909: Sun Aug 25 15:42:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          8910: 
        !          8911:        * cplus-xref.c (FILE_NAME_ABSOLUTE_P): New macro.
        !          8912:        (GNU_xref_file): Use it.
        !          8913:        (open_xref_file): Use new macro XREF_FILE_NAME if defined.
        !          8914:        * cplus-lex.c (FILE_NAME_NONDIRECTORY): New macro.
        !          8915:        Used frequently instead of strrchr.
        !          8916:        * xm-vms.h: Define those three macros.
        !          8917: 
        !          8918:        * optabs.c (expand_binop): Use word mode for force_reg on op1 of shift.
        !          8919: 
        !          8920:        * out-m68k.c (singlemove_string): Use moveq when appropriate.
        !          8921: 
        !          8922:        * final.c (split_double): Handle all integer constants.
        !          8923:        * out-m68k.c (output_move_double): Use split_double for all constants.
        !          8924:        * ??? Most out-*.c need changing.
        !          8925: 
        !          8926:        * c-decl.c (finish_enum): Make some local vars unsigned.
        !          8927:        * c-common.c (type_for_size):
        !          8928:        * c-convert.c (convert_to_integer): 
        !          8929:        * tm-i860.h (ASM_OUTPUT_ASCII): 
        !          8930:        * c-parse.y (yylex):
        !          8931:        * expr.c (get_pointer_alignment):
        !          8932:        * stor-layout.c (layout_union, layout_record):
        !          8933:        * tree.c (get_unwidened, get_narrower):
        !          8934: 
        !          8935:        * expr.c (emit_library_call): Don't declare va_list as register.
        !          8936:        * final.c (asm_fprintf): Likewise.
        !          8937:        * tree.c (build, build_nt, build_parse_node): Likewise.
        !          8938: 
        !          8939:        * expr.c (do_jump_for_compare): Don't assume the compare survives
        !          8940:        when the branch is emitted.
        !          8941: 
        !          8942:        * expr.c (convert_move): Fix typo in prev change.
        !          8943: 
        !          8944:        * emit-rtl.c (fconst2_rtx, dconst2_rtx): New vars.
        !          8945:        (init_emit_once): Initialize them.
        !          8946: 
        !          8947:        * expmed.c (extract_bit_field, store_bit_field):
        !          8948:        For multi-word field, do words from least significant first.
        !          8949: 
        !          8950:        (extract_split_bit_field): OP0 is only the first word of the
        !          8951:        source, so if this is a SUBREG, must call operand_subword on
        !          8952:        SUBREG_REG (OP0) instead of OP0.
        !          8953: 
        !          8954:        * varasm.c (output_constructor): Correctly output constants for
        !          8955:        bitfields which are greater than HOST_BITS_PER_INT.  Use
        !          8956:        TREE_INT_CST_HIGH for the high bits.
        !          8957: 
        !          8958:        * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): New parameters.
        !          8959:        (enquire, enquire.o): Use them.
        !          8960: 
        !          8961:        * tm-sysv4.h: New file, cut out from tm-m88k.h.
        !          8962:        * tm-m88k.h: Include that.
        !          8963: 
        !          8964:        * vax.md (sltu, sgeu): New patterns.
        !          8965: 
        !          8966: Sat Aug 24 11:19:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          8967: 
        !          8968:        * cplus-init.c (build_offset_ref): Pass a TYPE_DECL node, not a
        !          8969:        RECORD_TYPE node, to `build_component_type_expr'.
        !          8970: 
        !          8971:        * cplus-cvt.c (convert_to_integer): Warn about conversion from
        !          8972:        integral type to enumeral type if FLAG_INT_ENUM_EQUIVALENCE is zero.
        !          8973:        (convert_force): Set FLAG_INT_ENUM_EQUIVALENCE non-zero when calling
        !          8974:        `convert'.
        !          8975: 
        !          8976:        * cplus-typeck.c (build_x_*_op): Don't try using built-in operators
        !          8977:        if user-defined ones are not accessible.
        !          8978: 
        !          8979:        * cplus-init.c (expand_aggr_init_1): Use `expand_expr' to set the
        !          8980:        DECL_RTL of the TARGET_EXPR.  This is a generalization of code that
        !          8981:        used to require that EXP be some sort of _DECL.
        !          8982: 
        !          8983:        * cplus-init.c (init_init_processing): Link global runtime functions
        !          8984:        __builtin_new and __builtin_delete to their canonical operator
        !          8985:        names (i.e., op$nw and op$dl).
        !          8986: 
        !          8987:        * cplus-lex.c (init_lex): Don't see `dynamic' as a reserved word if
        !          8988:        SOS is not defined.
        !          8989:        * cplus-decl2.c (flag_dynamic): Delete unused variable.
        !          8990: 
        !          8991:        * cplus-decl.c (define_case_label): Give error when case label cuts
        !          8992:        into a binding contour with cleanups.
        !          8993:        * stmt.c (last_cleanup_this_contour): Changed name from
        !          8994:        `this_contour_has_cleanups_p'.  Now returns last cleanup, if there
        !          8995:        was one.
        !          8996:        * tree.h: Declare `last_cleanup_this_contour'.
        !          8997: 
        !          8998:        * cplus-decl.c (grokdeclarator): Don't let member functions have
        !          8999:        static linkage.
        !          9000: 
        !          9001:        * cplus-tree.c (layout_basetypes): Copy non-virtual basetypes of
        !          9002:        virtual basetypes so that search routines can find ambiguities
        !          9003:        arising in lattices where the same type appears as a non-virtual
        !          9004:        basetype of different types in the lattice.
        !          9005:        (copy_nonvirtual_children): Implement a recursive deep-copy of
        !          9006:        nonvirtual types in an inheritance lattice.
        !          9007: 
        !          9008:        * cplus-search.c (lookup_fnfields): Correctly catch case where there
        !          9009:        are multiple functions in an MI lattice.
        !          9010:        * cplus-call.c (ideal_candidate): If we find a requested function is
        !          9011:        ambiguous in an MI lattice, set CP->EVIL to 1.
        !          9012:        (build_method_call): If CP->EVIL is set on return from
        !          9013:        `ideal_candidate', return error_mark_node.
        !          9014: 
        !          9015:        * cplus-decl.c (lookup_name): Prefer finding typenames to overloaded
        !          9016:        functions where there's a collision.
        !          9017:        (pushdecl): Don't override the declaration of global functions with
        !          9018:        a TYPE_DECL that has the same name.  `lookup_name' now knows how to
        !          9019:        find both.
        !          9020:        (globalize_nested_type): Changed to look in IDENTIFIER_TYPE_VALUE
        !          9021:        slot for global definitions that are not in IDENTIFIER_GLOBAL_VAL.
        !          9022:        * cplus-type2.c (build_functional_cast): Deal with more ambiguities
        !          9023:        and more cases where the syntactic form `NAME ( PARMS )' can have
        !          9024:        meaning.
        !          9025: 
        !          9026: Sat Aug 24 01:33:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9027: 
        !          9028:        * expr.c (convert_move): Make integer extension general.
        !          9029: 
        !          9030:        * optabs.c (init_extends, gen_extend_insn): Finish and turn on.
        !          9031: 
        !          9032:        * reload1.c (possible_group_p): Insist on regs in needed class.
        !          9033: 
        !          9034:        * SYSCALLS.c (alloca): Declare arg as size_t.
        !          9035: 
        !          9036:        * expr.c (store_constructor): Handle union constructor.
        !          9037: 
        !          9038:        * final.c (split_double): long long CONST_DOUBLE now has VOIDmode.
        !          9039: 
        !          9040:        * optabs.c (expand_binop): Fix carry propagation bugs.
        !          9041:        Handle carry propagation for big-endian case.
        !          9042: 
        !          9043: Fri Aug 23 21:29:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          9044: 
        !          9045:        * cplus-decl.c (finish_decl): More PIC fixes.  Also, don't assign
        !          9046:        any storage for static member variables except when they are being
        !          9047:        defined.
        !          9048: 
        !          9049:        * cplus-init.c (build_virtual_init): Change interface to take
        !          9050:        MAIN_ASSOC instead of FOR_TYPE.
        !          9051:        (expand_aggr_init_1): Ditto.
        !          9052:        (expand_recursive_init_1): Ditto.
        !          9053:        (expand_aggr_vbase_init{_1}): Change interface to take an assoc
        !          9054:        instead of a type.
        !          9055:        (expand_recursive_init): Ditto.
        !          9056: 
        !          9057:        * cplus-pt.c (uses_template_parms): Handle PARM_DECL nodes.
        !          9058: 
        !          9059:        * cplus-search.c (get_base_assoc): Use ASSOC_MARKED instead of
        !          9060:        ASSOC_BASETYPE_MARKED to mark visited nodes.
        !          9061:        (lookup_field, loopup_fnfields): Use ASSOC_FIELDS_MARKED instead of
        !          9062:        ASSOC_VBASE_MARKED when searching.
        !          9063:        ({bfs_,un,bfs_un}marked2p): Deleted, unused.
        !          9064:        (dfs_{un}mark2): Deleted, unused.
        !          9065:        (dfs_unmark12): Deleted, unused.
        !          9066:        (build_vbase_vtables_init): Change interface to take MAIN_ASSOC
        !          9067:        instead of FOR_TYPE.
        !          9068: 
        !          9069: Fri Aug 23 18:31:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9070: 
        !          9071:        * expr.c (do_store_flag): Give up if can't directly compare args.
        !          9072: 
        !          9073: Fri Aug 23 18:00:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9074: 
        !          9075:        * function.c (instantiate_virtual_regs_1): Add new arg and now returns
        !          9076:        int instead of void.
        !          9077:        All callers changed.
        !          9078: 
        !          9079:        * expr.c (compare_constants): Deleted.
        !          9080:        (compare_from_rtx): Use simplify_relational_operation instead of
        !          9081:        compare_constants; abort is not needed since
        !          9082:        simplify_relational_operation will return 0 if given VOIDmode.
        !          9083: 
        !          9084:        * cse.c (fold_rtx): Correctly compute mode of operands being
        !          9085:        compared.
        !          9086: 
        !          9087: Fri Aug 23 17:16:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9088: 
        !          9089:        * stmt.c (expand_end_case):
        !          9090:        Avoid special cases for modes when widening.
        !          9091:        Realize __builtin_classify_type reduces to int constant.
        !          9092: 
        !          9093:        * optabs.c (emit_cmp_insn): New arg, MODE.  All callers changed.
        !          9094:        If both args are const_int, copy one to a reg.
        !          9095: 
        !          9096: Fri Aug 23 15:54:21 1991    (Eric Youngdale at [email protected])
        !          9097: 
        !          9098:        * make-cc1.com: Fix bug where cplus-parse.y was always being passed
        !          9099:        through bison, whether it needed it or not.
        !          9100: 
        !          9101: Fri Aug 23 15:20:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9102: 
        !          9103:        * stmt.c (expand_end_case): Remove Aug 12 change.
        !          9104:        Convert index to nominal_type for subtraction.
        !          9105: 
        !          9106: Thu Aug 22 14:34:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9107: 
        !          9108:        * configure, config.gcc: Switch to all-dashes config names.
        !          9109: 
        !          9110:        * gnulib2.c [U_udivdi3, L_muldi3]: Define __clz_tab for longlong.h.
        !          9111: 
        !          9112: Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege at zevs)
        !          9113: 
        !          9114:        * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
        !          9115:        * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
        !          9116:        * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
        !          9117:        * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
        !          9118:          nops.  (Saves two insn.)
        !          9119:        * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
        !          9120:          branch, and to permit input/output register overlap.
        !          9121:        * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
        !          9122:        * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
        !          9123:          asm statements (gives better code if either the upper or lower
        !          9124:          part of the product is unused.
        !          9125:        * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
        !          9126:          udiv_qrnnd.
        !          9127:        * longlong.h (IBMR2): Add udiv_qrnnd.
        !          9128:        * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
        !          9129:          `unsigned long int'.
        !          9130:        * longlong.h: Add `int' after `unsigned' and `long' everywhere.
        !          9131:        * longlong.h: Add ARM, i860 support.
        !          9132:        * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
        !          9133:        * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
        !          9134:          and m1 (overlap between output and input operands did not work).
        !          9135:        * longlong.h: Add VAX, ROMP and HP-PA support.
        !          9136:        * longlong.h: Sort the machine dependent code in alphabetical order
        !          9137:          on the CPU name.
        !          9138:        * longlong.h: Hack comments.
        !          9139:        * longlong.h: Define BITS_PER_LONG to 32 if it's not already
        !          9140:          defined.
        !          9141:        * Define __BITS4 to BITS_PER_LONG / 4.
        !          9142:        * Don't assume 32 bit word size in "count_leading_zeros" C macro.
        !          9143:          Use __BITS4 and BITS_PER_LONG instead.
        !          9144:        * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
        !          9145:          even for plain mc68000.
        !          9146:        * longlong.h: Clean up comments.
        !          9147:        * longlong.h: Don't use #elif.
        !          9148:        * longlong.h: Use __asm__ instead of asm.
        !          9149:        * longlong.h (sparc udiv_qrnnd): Make it to one string over several
        !          9150:          lines.
        !          9151:        * longlong.h: Preend __ll_ to B, highpart, and lowpart.
        !          9152:        * longlong.h: Move array t in count_leading_zeros to gnulib2.c
        !          9153:          Rename the array __clz_tab.
        !          9154:        * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
        !          9155:          `unsigned int', and cast the multiplications.  This way
        !          9156:          compilers more easily can choose cheaper multiplication
        !          9157:          instructions.
        !          9158: 
        !          9159: Thu Aug 22 07:36:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          9160: 
        !          9161:        * rtl.h: Declare simplify_relational_operation.
        !          9162: 
        !          9163:        * out-m88k.c (output_file_start): Put the `gcc2_compiled.' symbol
        !          9164:        in the data section.  Eliminates symbol translation problems with
        !          9165:        debuggers.
        !          9166: 
        !          9167:        Changes from Ron Guilmette:
        !          9168:        * toplev.c (compile_file): Use dwarfout_finish when done.
        !          9169:        * final.c (output_source_line): Use dwarfout_line.
        !          9170:        * dwarfout.c (dwarfout_finish): Rename from dwarfout_finalize.
        !          9171:        * tm-m88k.h (ASM_OUTPUT_DWARF_LINE, ASM_FILE_END): No need for
        !          9172:        dwarf specific actions.
        !          9173: 
        !          9174: Thu Aug 22 05:29:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9175: 
        !          9176:        * combine.c (can_combine_p): Don't combine if INSN has REG_RETVAL note.
        !          9177:        (try_combine): Similarly, don't combine if I3 has REG_LIBCALL note.
        !          9178: 
        !          9179:        * flow.c (propagate_block): Don't use variable PREV in
        !          9180:        nested blocks that shadows PREV at function level.
        !          9181:        If we handle this insn normally, arrange to scan any insns that
        !          9182:        were inserted in front of it for making auto-inc addressing.
        !          9183: 
        !          9184:        * integrate.c (save_for_inline_copying): Clear CONST_DOUBLE
        !          9185:        memory chain.
        !          9186: 
        !          9187:        * toplev.c (fatal_insn_not_found): Now that it is called in final.c
        !          9188:        when an insn doesn't match constraints, write different error
        !          9189:        message in that case.
        !          9190:        * genattrtab.c (write_attr_case): Call fatal_insn_not_found instead
        !          9191:        of abort when constrain_operands fails.
        !          9192: 
        !          9193: Thu Aug 22 05:29:09 1991  Matthew Self  (mself at next.com)
        !          9194: 
        !          9195:        * rtl.c (add_dependence): Uses of RTX_UNCHANGING_P should now be
        !          9196:        SCHED_GROUP_P.
        !          9197: 
        !          9198: Thu Aug 22 00:34:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9199: 
        !          9200:        * recog.c (offsettable_address_p): Always pass QImode to addressp.
        !          9201: 
        !          9202: Wed Aug 21 09:20:09 1991  Michael Meissner  (meissner at osf.org)
        !          9203: 
        !          9204:        * tm-decrose.h (LINK_SPEC): Allow -pic-none, -glue, -noshrlib
        !          9205:        switches.
        !          9206:        (LIB_SPEC): Add -L/usr/ccs/lib to get new 1.1 linker to use static
        !          9207:        libraries instead of shared libraries, since the shared library
        !          9208:        support has not yet been added.
        !          9209: 
        !          9210: Wed Aug 21 06:18:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9211: 
        !          9212:        * out-rs6000.c (print_operand, case 'Y', 'Z'): Fix typo in
        !          9213:        auto-inc case.
        !          9214:        * rs6000.md (movti): Add missing %U in memory cases.
        !          9215: 
        !          9216:        * tm-rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Indexed addresses are not
        !          9217:        valid for DImode and TImode.
        !          9218:        * out-rs6000.c (indexed_mem_operand): Deleted.
        !          9219:        (print_operand, case 'X'): Don't use indexed_mem_operand; check
        !          9220:        ourselves instead.
        !          9221:        * rs6000.md (movdi, movti): Don't check for indexed memory operands.
        !          9222: 
        !          9223: Tue Aug 20 16:02:41 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          9224: 
        !          9225:        * sdbout.c (sdbout_parms): Handle parm passed in reg and living in
        !          9226:        pseudo that was optimized away.
        !          9227: 
        !          9228: Mon Aug 19 19:10:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9229: 
        !          9230:        * combine.c (simplify_comparision, case NEG): Can only convert
        !          9231:        (-a) < C to a > C if C is zero.
        !          9232: 
        !          9233:        * expmed.c (store_bit_field, extract_bit_field): Use WORD_MODE for
        !          9234:        mode of BITS_PER_WORD to avoid conflict with other use of variable
        !          9235:        named MODE.
        !          9236: 
        !          9237:        * cse.c (cse_insn): Don't make a REG_EQUAL note whose contents
        !          9238:        are a REG; the REG might have been eliminated.
        !          9239: 
        !          9240:        * reload1.c (reload_as_needed): Pass any CLOBBERs made when reloading
        !          9241:        an insn to `forget_old_reloads_1'.
        !          9242: 
        !          9243: Mon Aug 19 12:47:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9244: 
        !          9245:        * configure (m88k-luna): Rename alternative appropriately.
        !          9246: 
        !          9247:        * cse.c (simplify_relational_operation): Split out from ..._binary_...
        !          9248:        (fold_rtx): Use that function for relationsals.
        !          9249:        (simplify_binary_operation): Don't allow relationals.
        !          9250:        * combine.c (subst, gen_binary): Use simplify_relation_operation.
        !          9251:        * integrate.c (subst_constants): Likewise.
        !          9252:        * jump.c (jump_optimize): Likewise.
        !          9253: 
        !          9254:        * c-common.c (shorten_compare): Warn about unsigned >= 0.
        !          9255: 
        !          9256: Sun Aug 18 17:29:16 1991    (Eric Youngdale at [email protected])
        !          9257: 
        !          9258:        * tm-vms.h (ASM_OUTPUT_EXTERNAL): Remove code to round the storage
        !          9259:        size up to a multiple of 4 bytes.
        !          9260: 
        !          9261: Sun Aug 18 15:35:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9262: 
        !          9263:        * dbxout.c (dbxout_parms):
        !          9264:        Handle parm passed in reg and living in pseudo that was optimized away.
        !          9265: 
        !          9266:        * function.c (init_function_start): Give decl_printable_name both args.
        !          9267: 
        !          9268:        * expr.c (compare_from_rtx):
        !          9269:        Don't change to unsigned if too wide for host int.
        !          9270:        * cse.c (fold_rtx): Use mode_arg0 to simplify comparison ops.
        !          9271:        Update mode_arg0 when we look at value of cc0.
        !          9272: 
        !          9273:        * cse.c (cse_insn): Really don't record bitfield destinations
        !          9274:        unless source is constant which fits.
        !          9275:        But pre-truncate other constants.
        !          9276: 
        !          9277:        * config.subr: Allow $os to be empty.
        !          9278: 
        !          9279:        * function.c (lookup_static_chain): Check for 0 before inline function.
        !          9280: 
        !          9281:        * config.subr (pc532, minix): New alternatives.
        !          9282: 
        !          9283:        * configure (editing Makefile): Use cross-make.
        !          9284:        * Makefile.in (install-cross): Change dep to install-gnulib.
        !          9285: 
        !          9286: Sat Aug 17 17:18:05 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          9287: 
        !          9288:        * All cplus-* files: Change the representation of the C++
        !          9289:        inheritance lattice for types.  There is no longer such a thing as a
        !          9290:        classtype_variant.  Instead, types all have their own lattices
        !          9291:        accessed via their CLASSTYPE_ASSOC field.
        !          9292: 
        !          9293:        * cplus-tree.h (lang_type): Delete fields OFFSET,
        !          9294:        MAIN_CLASS_VARIANT, NEXT_CLASS_VARIANT, VIA_PUB_OR_VIRT.
        !          9295:        Rename field AS_ID_LIST to ID_AS_LIST, since it's a list.
        !          9296:        (CLASSTYPE_AS_ID_LIST): Renamed to CLASSTYPE_ID_AS_LIST.
        !          9297:        Add field ASSOC_AS_LIST, which is a TREE_LIST whose TREE_VALUE is
        !          9298:        the assoc for the type.
        !          9299:        (CLASSTYPE_VIA_*, SET_CLASSTYPE_VIAS): Deleted.
        !          9300:        (CLASSTYPE_OFFSET*): Deleted.
        !          9301:        (CLASSTYPE_N_BASECLASSES): Now uses type's assoc.  TYPE_BASETYPES
        !          9302:        field is unused.  Next change will make TYPE_BASETYPES hold the
        !          9303:        assoc field.
        !          9304:        (CLASSTYPE_VBASE_SIZE): Use slot in TYPE_LANG_SPECIFIC instead of
        !          9305:        sneaking it into the TREE_TYPE field of the basetypes.
        !          9306: 
        !          9307:        (ASSOC_TYPE): Deleted.  Now use ASSOC_VALUE everywhere.
        !          9308:        (ASSOC_{BASETYPE,BASETYPES}): New macros.  Both are operations on
        !          9309:        assocs and return assocs.
        !          9310:        (CLASS_ASSOC_BASETYPE): New macro.  This performs roughly the same
        !          9311:        function that CLASSTYPE_BASECLASS used to, but it retains no assoc
        !          9312:        info in the type it returns.
        !          9313:        (ASSOC_NEXT_ASSOC): New macro used for traversing assoc chains built
        !          9314:        up by search routines.
        !          9315:        (ASSOC_VIA_{PUBLIC,VIRTUAL}): New macros for accessing inheritance
        !          9316:        information.  CLASSTYPE_VIA_{PUBLIC,VIRTUAL} no longer used.
        !          9317:        (ASSOC_CID): New macro.
        !          9318: 
        !          9319:        (DECL_ANON_UNION_ELEM): Deleted.  Now anonymous union decls are
        !          9320:        distinguished as FIELD_DECLs with NULL DECL_NAMEs and UNION_TYPE
        !          9321:        types.
        !          9322: 
        !          9323:        (DERIVED_FROM_P): New macro.  Change calls that testing inheritance
        !          9324:        relationships (get_base_type and get_base_distance) to use this macro.
        !          9325: 
        !          9326:        * cplus-type2.c (basetype_or_else): Change interface to use/return an
        !          9327:        assoc instead of a type.  Change name to base_assoc_or_else.
        !          9328: 
        !          9329:        * cplus-tree.c (build_classtype_variant): Deleted.
        !          9330:        (copy_type_lang_specific): Deleted.
        !          9331:        * all cplus-* files: Everything that used to use CLASSTYPE_OFFSET on
        !          9332:        types now uses ASSOC_OFFSET on assocs.
        !          9333: 
        !          9334:        * cplus-class.c (propagate_basetype_offsets): Change interface to use
        !          9335:        assocs instead of types.  Change name to propagate_assoc_offsets.
        !          9336:        * cplus-search.c (get_base_type): Ditto; name changed to
        !          9337:        get_base_assoc.
        !          9338: 
        !          9339:        * cplus-cvt.c (convert_pointer_to): Change interface to use an assoc
        !          9340:        instead of a type.
        !          9341:        (convert_pointer_to_vbase): Ditto.
        !          9342:        * cplus-call.c (build_field_call): Ditto.
        !          9343:        * cplus-class.c (get_vfield_offset): Ditto.
        !          9344:        (build_method_call): Ditto.
        !          9345:        (maybe_fixup_vptrs): Ditto.
        !          9346:        * cplus-search.c (get_first_matching_virtual): Ditto.
        !          9347:        (get_virtuals_named_this): Ditto.
        !          9348:        (tree_needs_constructor_p): Ditto.
        !          9349:        (get_virtual_destructor): Ditto.
        !          9350:        (tree_has_any_destructor_p): Ditto.
        !          9351:        (get_baselinks): Ditto.
        !          9352:        (lookup_{field,fnfields}): Ditto.  Also, use ASSOC_VBASE_MARKED
        !          9353:        instead of CLASSTYPE_MARKED2 to mark virtual basetypes that have
        !          9354:        been visited.
        !          9355:        (build_vbase_vtables_init): Ditto.
        !          9356:        ({build,free}_mi_matrix): Ditto.
        !          9357:        * cplus-init.c (expand_aggr_init_1): Ditto.
        !          9358:        (expand_aggr_vbase_init_1): Ditto.
        !          9359:        (build_virtual_init): Ditto.
        !          9360:        * cplus-class.c (build_class_init_list): Rewritten to build list with
        !          9361:        assoc entries instead of types.  Also, use new macro
        !          9362:        ASSOC_BASEINIT_MARKED instead of CLASSTYPE_MARKED6.
        !          9363:        (finish_base_struct): New argument ASSOCS is the list of assocs that
        !          9364:        describe the basetypes of T.
        !          9365: 
        !          9366:        * cplus-tree.c (make_lang_type): Always initialize
        !          9367:        CLASSTYPE_VBASE_SIZE to integer_zero_node.  To test if a class has
        !          9368:        virtual baseclasses, test CLASSTYPE_VBASECLASSES, not
        !          9369:        CLASSTYPE_VBASE_SIZE.
        !          9370: 
        !          9371:        * cplus-class.c (finish_struct): Rewritten to use assocs instead of
        !          9372:        types where appropriate.
        !          9373: 
        !          9374:        * cplus-search.c (get_base_distance): Change interface to use assocs
        !          9375:        or types.  Also, PATH_PTR argument is now an assoc chain, not a
        !          9376:        TREE_LIST.  Algorithm to find leftmost path is now more efficient.
        !          9377:        (compute_visibility): Uses assoc chain instead of TREE_LIST of
        !          9378:        types.
        !          9379:        (recursive_bounded_basetype_p): New function.
        !          9380:        (dfs_walk, dfs_* functions): Change to be called with assocs instead
        !          9381:        of types.
        !          9382:        (breadth_first_search, all bfs_*): Ditto.
        !          9383:        cplus-tree.c (reverse_path): New function.  Like nreverse, but works
        !          9384:        on assoc chains.
        !          9385: 
        !          9386:        * cplus-class.c (build_vtable, prepare_fresh_vtable,
        !          9387:        modify_vtable_{entries,entry},): Change interfaces to use assocs
        !          9388:        instead of types.  Use macro ASSOC_VTABLE_PATH_MARKED on the assocs
        !          9389:        instead of CLASSTYPE_MARKED3.  Use macro ASSOC_NEW_VTABLE_MARKED on
        !          9390:        the assocs instead of CLASSTYPE_MARKED4.
        !          9391: 
        !          9392:        * cplus-dbxout.c: Now needs to know more about assocs.  When assocs
        !          9393:        are put in the TYPE_BASETYPEs field, it should not need to know
        !          9394:        about lang_type.
        !          9395: 
        !          9396:        * cplus-decl.c (xref_tag): Rewritten to build proper assoc lists.  No
        !          9397:        longer builds basetype lists.
        !          9398:        (finish_function): Make `flag_no_inline' really take effect.
        !          9399: 
        !          9400:        * cplus-tree.c (make_assoc): Changed for new assoc structure.  The
        !          9401:        fields in assocs are now: VALUE (pointer to TYPE that this assoc is
        !          9402:        for), OFFSET (the byte offset of this basetype in the whole object),
        !          9403:        VTABLE (the virtual function table that should be used to initialize
        !          9404:        objects controlled by this assoc), VIRTUALS (the virtual functions
        !          9405:        to use for initializing VTABLE), BASETYPES (a TREE_VEC of basetypes
        !          9406:        that this assoc has, or NULL_TREE if none), NEXT_ASSOC (a temporary
        !          9407:        slot used to point to the next assoc in an assoc chain),
        !          9408:        VIA_{PUBLIC,VIRTUAL} bits saying whether this assoc is a basetype of
        !          9409:        its parent via public or virtual inheritance.
        !          9410: 
        !          9411:        * cplus-ptree.c (print_lang_type): Modified as necessary to cope with
        !          9412:        new inheritance structure.
        !          9413: 
        !          9414:        * cplus-search.c (get_base_type_1): This function was unused and
        !          9415:        wrong.  Deleted.
        !          9416: 
        !          9417:        * cplus-tree.c (layout_basetypes): Take new arg ASSOCS.  Layout the
        !          9418:        basetypes my modifying the assocs, not the types.
        !          9419:        (layout_vbasetypes): Ditto.
        !          9420: 
        !          9421:        * all cplus-* files: Removed dead code, unused variables, and change
        !          9422:        asserts where appropriate.
        !          9423: 
        !          9424:        * all cplus-* files: DECL_VIRTUAL_P is no longer used as a truth test
        !          9425:        for whether or not a function is virtual.  Use a test for non-NULL
        !          9426:        DECL_VINDEX instead.
        !          9427: 
        !          9428: Sat Aug 17 15:16:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9429: 
        !          9430:        * function.h (inline_function_decl): Declare it.
        !          9431:        * integrate.c: Include function.h; don't declare var here.
        !          9432: 
        !          9433:        * rtl.h (regno_reg_rtx): Declare it.
        !          9434: 
        !          9435:        * stmt.c (expand_end_case):
        !          9436:        When filling labelvec from case range, avoid overflow in i.
        !          9437: 
        !          9438: Fri Aug 16 23:06:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9439: 
        !          9440:        * c-typeck.c (build_binary_op_nodefault):
        !          9441:        Take out warning added by recent changes.
        !          9442: 
        !          9443: Fri Aug 16 22:00:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9444: 
        !          9445:        * function.c (inline_function_decl): New var.
        !          9446:        (lookup_static_chain): Decl is local if context is function being
        !          9447:        inlined.
        !          9448:        * integrate.c: Remove partially-completed previous change.
        !          9449:        (expand_inline_function): Set inline_function_decl.
        !          9450: 
        !          9451: Fri Aug 16 21:41:10 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          9452: 
        !          9453:        * a29k.md (insv,extv): Changed POS / SIZE to POS / 8, since high
        !          9454:        order bit of BP selects half-word position for half-word ops.
        !          9455: 
        !          9456: Fri Aug 16 18:52:35 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          9457: 
        !          9458:        * combine.c (distribute_links): Only put link on new insn if the
        !          9459:        insn uses the register.  If first find an insn that sets the
        !          9460:        register but does not otherwise use it, then drop the link.
        !          9461:           
        !          9462:        * combine.c (distribute_links): Strip off SUBREG, ZERO_EXTRACT,
        !          9463:        etc. from the destination of the set before passing it to
        !          9464:        reg_mentioned_p and reg_referenced_p.
        !          9465:                  
        !          9466: Sat Aug 16 17:02:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          9467: 
        !          9468:        * cplus-pt.c (uses_template_parms): Run loop over _EXPR nodes from
        !          9469:        TREE_CODE_LENGTH-1 to 0, not from TREE_CODE_LENGTH.
        !          9470: 
        !          9471:        * cplus-decl.c (grokfndecl): Change `==' to `=' in assignment to
        !          9472:        `raises'
        !          9473:        (finish_decl): If FLAG_PIC is nonzero, leave initialized data in
        !          9474:        common space.
        !          9475: 
        !          9476: Fri Aug 16 13:13:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          9477: 
        !          9478:        * reg-stack.c (current_function_returns_real): New variable.
        !          9479:        (reg_to_stack): Set it.
        !          9480:        (stack_reg_life_analysis): Use it.
        !          9481:        (emit_pop_insn): Return the new insn.
        !          9482:        (convert_regs): Pop any stack regs live at the end of the last basic
        !          9483:        block.
        !          9484: 
        !          9485: Fri Aug 16 16:16:45 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          9486: 
        !          9487:        * tm-sparc.h (SELECT_SECTION): Don't put relocatable values into
        !          9488:        text space if generating position-independent code.
        !          9489: 
        !          9490: Fri Aug 16 16:00:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9491: 
        !          9492:        * protoize.c (__flsbuf): Decl deleted; no need.
        !          9493:        [ultrix]: Include string.h, not strings.h.
        !          9494: 
        !          9495:        * function.c (instantiate_virtual_regs_1): Bug adding NEW to addr of X.
        !          9496: 
        !          9497: Fri Aug 16 08:51:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9498: 
        !          9499:        * expr.c (expand_expr, case ABS_EXPR, MIN_EXPR, MAX_EXPR): Don't
        !          9500:        allow TARGET to be a hard reg because evaluating the comparison
        !          9501:        might clobber it.
        !          9502: 
        !          9503: Thu Aug 15 23:38:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9504: 
        !          9505:        * tm-m68k.h (PRINT_OPERAND): Use asm_fprintf to print immed prefix.
        !          9506: 
        !          9507: Thu Aug 15 23:36:12 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          9508: 
        !          9509:        * cplus-decl.c (finish_enum): Remove last traces of Wood's mistaken
        !          9510:        changes for tag handling in C++.
        !          9511:        * cplus-class.c (finish_struct): Ditto.
        !          9512: 
        !          9513: Tue Aug 13 06:12:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9514: 
        !          9515:        * jump.c (find_cross_jump): When avoiding CALL_INSNs, don't
        !          9516:        return a CODE_LABEL as a cross-jump point; use next_real_insn instead
        !          9517:        of next_nonnote_insn.
        !          9518: 
        !          9519:        * fold-const.c (optimize_bit_field_compare, merge_component_reference):
        !          9520:        Use mode_for_size to get mode for word; don't use SImode.
        !          9521:        * tree.c (build_index_type, build_index_2_type): Don't use SImode;
        !          9522:        get mode of SIZETYPE instead.
        !          9523: 
        !          9524:        * optabs.c (emit_cmp_insn): Use type of int instead of SImode for
        !          9525:        return from memcmp and bcmp.
        !          9526: 
        !          9527: Mon Aug 12 17:54:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9528: 
        !          9529:        * stmt.c: Include recog.h.
        !          9530:        * stmt.c (expand_end_bindings): Expect abort to return void.
        !          9531:        (expand_end_case): Give tablejump whatever mode it wants.
        !          9532: 
        !          9533:        * integrate.c (integrate_type): New function.
        !          9534:        * c-typeck.c (build_binary_op_nodefault): Rewrite last change.
        !          9535: 
        !          9536:        * Makefile.in (install): Indirect through INSTALL_TARGET.
        !          9537:        (install-native): New name for old install target.
        !          9538:        (INSTALL_TARGET): New variable.
        !          9539:        * cross-make (INSTALL_TARGET): Override it.
        !          9540: 
        !          9541: Mon Aug 12 17:25:48 1991  Michael Meissner  (meissner at osf.org)
        !          9542: 
        !          9543:        * out-mips.c (toplevel, override_options, siginfo): If the OSF/1
        !          9544:        SIGINFO signal is provided, invoke siginfo handler, which prints
        !          9545:        which file is being compiled, and runs ps on the compiler and it's
        !          9546:        parent.
        !          9547: 
        !          9548:        * make-decrose (CC, OLDCC): Define CC and OLDCC to be the same, so
        !          9549:        that tests within Makefile.in work as expected.
        !          9550:        (LIB2FUNCS_EXTRA): Put osf-main in the gnulib2 portion of the
        !          9551:        library, instead of the gnulib1 portion.
        !          9552: 
        !          9553: Mon Aug 12 16:31:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9554: 
        !          9555:        * explow.c (expr_size): Fix typo.
        !          9556: 
        !          9557: Mon Aug 12 14:27:31 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          9558: 
        !          9559:        * expr.c (expand_expr, case COND_EXPR): Fix typo in comment.
        !          9560:        In the singleton code, don't accept a hard register as a target if
        !          9561:        we are going to store into it before testing the condition because
        !          9562:        that evaluation may involve a subroutine call which might clobber it.
        !          9563: 
        !          9564:        * rtl.h (SCHED_GROUP_P): Fix typo in definition.
        !          9565: 
        !          9566: Mon Aug 12 08:01:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9567: 
        !          9568:        * jump.c (find_cross_jump): Look at REG_EQUIV notes in addition to
        !          9569:        REG_EQUAL notes.
        !          9570:        (do_cross_jump): Remove REG_EQUAL or REG_EQUIV notes present on only
        !          9571:        one branch of the cross-jump so we don't get confused by them if we
        !          9572:        cross-jump again.
        !          9573: 
        !          9574: Mon Aug 12 01:44:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          9575: 
        !          9576:        * unroll.c (unroll_loop): When naively unrolling loops, if the last
        !          9577:        jump insn is an unconditional jump, and it does not jump to the loop
        !          9578:        top, then it must be copied with the rest of the loop body.
        !          9579: 
        !          9580:        * rtl.h: Clean up documentation for uses of volatil and in_struct
        !          9581:        fields of an rtx.
        !          9582:        * gcc.texinfo: Document macros CONST_CALL_P, LABEL_PRESERVE_P, and
        !          9583:        SCHED_GROUP_P. Clean up documentation for uses of used, in_struct,
        !          9584:        and unchanging fields of an rtx.
        !          9585: 
        !          9586:        * final.c (final_scan_insn):  In the ASM_OUTPUT_LOOP_ALIGN code,
        !          9587:        must verify that next exists before checking whether it is a label.
        !          9588: 
        !          9589: Sun Aug 11 16:46:17 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          9590: 
        !          9591:        * i386.md (cmpstrsi): Enable it.  Now uses REG as output, not cc0.
        !          9592:        Old cc0-output pattern remains for combining cmpstrsi & test pairs.
        !          9593: 
        !          9594: Sun Aug 11 15:52:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9595: 
        !          9596:        * dbxout.c (dbxout_symbol): Handle var-length array with reference.
        !          9597: 
        !          9598:        * c-decl.c (xref_tag): Copy default mode from unsigned_type_node.
        !          9599:        * explow.c (expr_size): Get it from size_type.
        !          9600:        * reload1.c (allocate_reload_reg): No need to validate mode of
        !          9601:        reload_in if that value is a const_int.
        !          9602: 
        !          9603:        * expr.c (expand_builtin): Get value mode properly, for memcmp.
        !          9604: 
        !          9605: Sun Aug 11 15:52:33 1991  Jim Wilson  (wilson at cygint.cygnus.com)
        !          9606: 
        !          9607:        * dbxout.c (dbxout_symbol): DECL_ASSEMBLER_NAME is a tree, not a
        !          9608:        character string, so call IDENTIFIER_POINTER before printing it.
        !          9609: 
        !          9610:        * fold-const.c (fold): When converting foo++ == CONST to ++foo ==
        !          9611:        CONST + INCR, the plus must have the same TREE_TYPE as the
        !          9612:        postincrement, not the comparison.
        !          9613: 
        !          9614: Sat Aug 10 22:58:01 1991  Michael Meissner  (meissner at osf.org)
        !          9615: 
        !          9616:        * mips.md (extendqihi2 define_split): Use SImode on shifts rather
        !          9617:        than HImode, and turn result register into SImode as well.
        !          9618: 
        !          9619: Sat Aug 10 21:00:59 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          9620: 
        !          9621:        * calls.c (emit_call_1): New argument is_const.  Set CONST_CALL_P
        !          9622:        true for the call_insn if is_const is true.
        !          9623:        (expand_call): Pass is_const to emit_call_1.
        !          9624:        * expr.c (emit_library_call): Pass no_queue to emit_call_1.
        !          9625:        Document that no_queue means that the function call is const.
        !          9626:        * local-alloc.c (validate_equiv_mem):  Don't invalidate memory for
        !          9627:        const calls.
        !          9628:        * rtl.h: Update comments describing uses of rtl unchanging and
        !          9629:        in_struct bits.
        !          9630:        (CONST_CALL_P): New macro.  True for a call_insn if it is calling
        !          9631:        a const function.  Uses the unchanging bit.
        !          9632:        (SCHED_GROUP_P): New macro.  True for an insn if it must be
        !          9633:        scheduled together with the previous insn.  Uses the in_struct bit.
        !          9634:        * sched.c: Rewrite to use new SCHED_GROUP_P macro insead of
        !          9635:        RTX_UNCHANGING_P.
        !          9636:        (sched_analyze): Rewrite to use new CONST_CALL_P macro.
        !          9637: 
        !          9638:        * sched.c (schedule_block): Don't schedule a block with a volatile
        !          9639:        or traditional asm insn.  There is currently no code to correctly
        !          9640:        handle dependencies for them.
        !          9641: 
        !          9642:        * combine.c (distribute_links): Fix typo in comment.
        !          9643: 
        !          9644: Sat Aug 10 18:42:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9645: 
        !          9646:        * emit-rtl.c (operand_subword): Replace explicit SImode references
        !          9647:        with mode for BITS_PER_WORD bits.
        !          9648: 
        !          9649: Sat Aug 10 14:17:08 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9650: 
        !          9651:        * calls.c (expand_call): Handle ARGS_GROW_DOWNWARD.
        !          9652: 
        !          9653:        * ns32k.md (call_value): Consistently realize function is operand 1.
        !          9654: 
        !          9655:        * cccp.c (do_include): Get current dir from nominal_fname.
        !          9656: 
        !          9657:        * expr.c (expand_builtin): Give cmpstr* a target in the mode it wants.
        !          9658:        * optabs.c (expand_cmp_insn): Likewise.
        !          9659: 
        !          9660: Fri Aug  9 09:59:27 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          9661: 
        !          9662:        * dwarfout.c (output_symbols_for_block): Fix typo in iterating over
        !          9663:        subblocks.
        !          9664: 
        !          9665:        * make-m88k{,dgux,luna}: Eliminate m88k-trace.asm.
        !          9666:        * tm-m88k.h, out-m88k.c: Make -mbig-pic a synonym for -fPIC.
        !          9667:        Delete -mtrace-function.
        !          9668: 
        !          9669:        * Makefile.in (CROSS_TOOLS): New variable.
        !          9670:        (gnulib1.null, gnulib2.ready): Depend on CROSS_TOOLS.
        !          9671:        (gnulib1.null): Use $(AR) $(AR_FLAGS).
        !          9672:        * cross-make (CROSS_TOOLS): Define as install-cross-tools.
        !          9673: 
        !          9674: Fri Aug  9 15:21:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9675: 
        !          9676:        * optabs.c (emit_cmp_insn): Expect cmpstr* to have result operand.
        !          9677:        Test the sign of the result we get.
        !          9678:        i386.md needs to be changed.
        !          9679: 
        !          9680: Fri Aug 9 11:09:22 1991    (Eric Youngdale at [email protected])
        !          9681: 
        !          9682:        * make-cc1.com: Fix bug where the wrong program was being run to
        !          9683:        generate insn-attrtab.c, and, add DEBUG option, so that images can be
        !          9684:        linked to run under the debugger.
        !          9685: 
        !          9686: Fri Aug  9 06:42:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9687: 
        !          9688:        * genemit.c (gen_split): Add "_fail:" label here too.
        !          9689: 
        !          9690:        * tree.h (STRIP_NOPS): Define macro here; add CONVERT_EXPR to list
        !          9691:        of operations to possibly ignore.
        !          9692:        * fold-const.c (STRIP_NOPS): Not here.
        !          9693:        * expr.c (strip_nops): Delete function.
        !          9694:        (string_constant): Use STRIP_NOPS macro instead of strip_nops function.
        !          9695: 
        !          9696:        * global-alloc.c (expand_preferences): New function.
        !          9697:        (global_alloc): Call it.
        !          9698: 
        !          9699: Fri Aug  9 01:19:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          9700: 
        !          9701:        * optabs.c (emit_cmp_insn): Correct typo in spacing.
        !          9702: 
        !          9703:        * unroll.c: Correct typo in comment.  Document that unrolling a
        !          9704:        loop by a multiple of the number of memory accesses is a win.
        !          9705:        (unroll_loop): New variable last_loop_insn, points to the last
        !          9706:        real insn in the loop, which will either be a jump or a barrier.
        !          9707:        Use last_loop_insn instead of assuming that PREV_INSN (loop_end)
        !          9708:        is that last real insn in the loop.
        !          9709:        Standardize comments printed to loop dump file when we can't
        !          9710:        unroll a loop, so that they all start with "Unrolling failure".
        !          9711:        No longer assumes that the insn before the backward jump is a
        !          9712:        compare unless HAVE_cc0.  If not HAVE_cc0, then must copy this
        !          9713:        insn, and for loop_iterations == 1 case, can not delete this insn.
        !          9714:        If last_loop_insn is not a JUMP_INSN or BARRIER, then do not
        !          9715:        unroll the loop.
        !          9716:        (precondition_loop_p): Fail if loop_iteration_var is not live
        !          9717:        before loop_start.
        !          9718:        (copy_loop_body): Rewrite obsolete and misleading comment
        !          9719:        concerning the splitting of address givs.
        !          9720:        (back_branch_in_range_p): Correct typo in comment.  No longer
        !          9721:        assumes that PREV_INSN (loop_end) is the backward branch at the
        !          9722:        end of the loop.
        !          9723:        (fold_rtx_mult_add):  Rewrite to use simplify_binary_operation.
        !          9724:        (iteration_info): Fail if iteration variable is larger than
        !          9725:        HOST_BITS_PER_LONG, or if it does not have an integer mode.
        !          9726:        (find_splittable_givs): If an address giv was combined with
        !          9727:        another address giv, then we can only split the first giv if the
        !          9728:        second was actually reduced.
        !          9729:        (loop_iterations): New variable last_loop_insn, use instead of
        !          9730:        assuming that the last jump insn if PREV_INSN (loop_end).
        !          9731:        Correct typo in comment.
        !          9732: 
        !          9733: Thu Aug  8 17:57:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9734: 
        !          9735:        * Makefile.in (gnulib1.null): Use *_FOR_TARGET variables.
        !          9736:        (TARGET_TOOLPREFIX): New variable.
        !          9737:        (AR_FOR_TARGET, AR_FOR_TARGET_FLAGS): New variables.
        !          9738:        (RANLIB_FOR_TARGET, RANLIB_TEST_FOR_TARGET): New variables.
        !          9739:        * cross-make: New file.
        !          9740:        * configure: Insert cross-make into Makefile.
        !          9741: 
        !          9742:        * tm-m68k.h (LEGITIMIZE_ADDRESS): Copy address before changing it.
        !          9743:        (COPY_ONCE): New macro, subroutine for LEGITIMIZE_ADDRESS.
        !          9744: 
        !          9745:        * toplev.c (main): Accept -g with warning if not supported.
        !          9746: 
        !          9747:        * Makefile.in (install-cross-tools): Do nothing unless have gcc-cross.
        !          9748:        (gnulib2.ready): Depend on install-cross-tools.
        !          9749: 
        !          9750: Thu Aug  8 14:34:53 1991  Ken Raeburn  (raeburn at watch.com)
        !          9751: 
        !          9752:        * expr.c (c_strlen): New function; determines strlen of string const.
        !          9753:        (expand_builtin, cases BUILT_IN_STRCMP, BUILT_IN_STRCPY): Call it
        !          9754:        instead of relying on TREE_STRING_LENGTH.  For strcmp, optimize
        !          9755:        cases where two lengths are available, if at least one of them is
        !          9756:        constant.
        !          9757:        (expand_builtin, case BUILT_IN_MEMCMP): If alignment test fails, and
        !          9758:        function was really BUILT_IN_STRCMP, delete length parameter before
        !          9759:        expanding call.
        !          9760: 
        !          9761:        * tree.h (enum built_in_function): Added BUILT_IN_STRLEN.
        !          9762:        * c-decl.c (sizet_ftype_string): New variable, for strlen prototype.
        !          9763:        (init_decl_processing): Set it, and declare strlen and
        !          9764:        __builtin_strlen as built-in functions.  Deleted variable `decl'
        !          9765:        since it was only assigned to, never read.
        !          9766:        * expr.c (expand_builtin, case BUILT_IN_STRLEN): Implement it.
        !          9767: 
        !          9768:        * cplus-decl.c (sizet_ftype_string, init_decl_processing): Copy
        !          9769:        changes from c-decl.c.  Also initialize const_string_type_node.
        !          9770: 
        !          9771: Thu Aug  8 14:34:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9772: 
        !          9773:        * c-decl.c (pushdecl): Just warn if trad. extern type is temporary.
        !          9774: 
        !          9775: Wed Aug  7 15:16:55 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
        !          9776: 
        !          9777:        * local-alloc.c (block_alloc): When converting a SCRATCH rtx to a
        !          9778:        REG rtx, must clear the `used' bit.
        !          9779: 
        !          9780: Tue Aug  6 14:17:09 1991  Jim Wilson  (wilson at wombat.gnu.ai.mit.edu)
        !          9781: 
        !          9782:        * stmt.c (expand_start_bindings): Fix typo in comment or spacing.
        !          9783:        * rtlanal.c (reg_referenced_between_p): Likewise.
        !          9784:        (reg_set_last): Likewise.
        !          9785:        * loop.c (make_loop_jump): Likewise.
        !          9786:        * longlong.h (UDIV_NEEDS_NORMALIZATION): Likewise.
        !          9787:        * local-alloc.c (update_equiv_regs): Likewise.
        !          9788:        * global-alloc.c (hard_reg_copy_preferences): Likewise.
        !          9789:        * fixcpp: Likewise.
        !          9790:        * tm-m68k.h (CONDITIONAL_REGISTER_USAGE): Likewise.
        !          9791:        * combine.c (reg_significant): Likewise.
        !          9792:        * calls.c (expand_call): Likewise.
        !          9793:        * cplus-tree.c (build_cplus_new): Likewise.
        !          9794: 
        !          9795:        * function.c (fixup_var_refs_insns): When emitting a move insn,
        !          9796:        don't put it between a CALL_INSN and its USE insns as this will
        !          9797:        break sched and reorg.  Instead, put it before the USE insns.
        !          9798: 
        !          9799:        * combine.c (subst): Convert (ior (ashift A CX) (lshift A CY)) where
        !          9800:        CX+CY equals the mode size to (rotate A CX).
        !          9801: 
        !          9802:        * out-sparc.c (emit_move_sequence): For DImode constants, can not
        !          9803:        create a temporary register to hold the high part.
        !          9804:        (output_scc_insn): When in a delay slot, verify that NEXT_INSN (insn)
        !          9805:        really is the next insn.
        !          9806: 
        !          9807:        * sparc.md: Fix support for DImode constants.  Two new patterns
        !          9808:        added, one for high:DI operators and one for lo_sum:DI operators.
        !          9809:        (*extend*): Rework these patterns.  Don't accept memory input
        !          9810:        operands in the define_expands, as this gives better code.
        !          9811:        Delete patterns for combining two loads into a load and move;
        !          9812:        these are obsoleted by combiner improvements.
        !          9813:        Delete define_splits for splitting these obsolete patterns.
        !          9814:        (one_cmplsi2): Can not accept general_operand destinations, only
        !          9815:        register destinations.
        !          9816: 
        !          9817:        * tm-sparc.h (STACK_POINTER_OFFSET): Explain how value is derived,
        !          9818:        and compute in terms of another macro.
        !          9819:        (STRUCT_VALUE_OFFSET): Explain how value is derived.
        !          9820:        (FIRST_PARM_OFFSET): Fix typo in comment.
        !          9821: 
        !          9822:        * expr.c (MOVE_RATIO): Check for HAVE_movstrdi.
        !          9823:        (emit_block_move): Add code to use HAVE_movstrdi if present.
        !          9824:        (emit_push_insn): Likewise.
        !          9825: 
        !          9826:        * final.c (final_scan_insn): When insn fails constraint check,
        !          9827:        call fatal_insn_not_found instead of just aborting to make
        !          9828:        debugging easier.
        !          9829: 
        !          9830:        * tree.c (integer_all_onesp): Rewrite code to avoid shift by
        !          9831:        HOST_BITS_PER_INT which is undefined according to ANSI.  Also,
        !          9832:        abort for precision values not handled, i.e. those greater than
        !          9833:        twice times HOST_BITS_PER_INT.
        !          9834: 
        !          9835: Tue Aug  6 14:05:42 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          9836: 
        !          9837:        * i386.md (seq,sne): Use setb/setnb mnemonics instead of setc/setnc:
        !          9838:        GAS doesn't understand the latter yet.
        !          9839: 
        !          9840: Tue Aug  6 13:01:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9841: 
        !          9842:        * Makefile.in (install-common): Use -d, not -f, for tooldir/bin.
        !          9843: 
        !          9844: Tue Aug 6 10:37:02 1991    (Eric Youngdale at [email protected])
        !          9845: 
        !          9846:        * make-cc1.com: Replacement file.  This new version can build cc1plus
        !          9847:        and cc1obj in addition to cc1 (known on VMS systems as gcc-cc1plus.exe,
        !          9848:        gcc-cc1obj.exe and gcc-cc1.exe respectively).
        !          9849: 
        !          9850: Tue Aug  6 06:30:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9851: 
        !          9852:        * cse.c (canon_hash): If a REG in an operand is equivalent to a
        !          9853:        constant, hash as if we had the constant.
        !          9854:        (exp_equiv_p): See if a REG and constant are equivalent.
        !          9855: 
        !          9856: Tue Aug  6 03:59:16 1991  Ken Raeburn  (raeburn at watch.com)
        !          9857: 
        !          9858:        * cplus-tree.c (make_deep_copy): Handle PARM_DECLs.
        !          9859: 
        !          9860:        * cplus-init.c (build_offset_ref): Use DECL_CHAIN, not TREE_CHAIN
        !          9861:        when trying to determine if a function is unique.
        !          9862: 
        !          9863:        * cplus-decl.c (start_decl): When constructing a decl tree for a
        !          9864:        function template, copy last_function_parms to permanent storage,
        !          9865:        and save it as the function argument list.  Call build_lang_decl
        !          9866:        instead of build_decl, instead of duplicating the extra work it does.
        !          9867:        Set `overloaded' flag to 1.  Call dont_forget_overload, so the
        !          9868:        template decl won't get discarded.
        !          9869:        Also deleted some commented-out code.
        !          9870: 
        !          9871:        * cplus-pt.c (uses_template_parms, cases VAR_DECL, FUNCTION_DECL):
        !          9872:        Give a warning if template parms are only used in places where they
        !          9873:        can't be resolved (e.g., return types or global or fixed-class
        !          9874:        variable types).
        !          9875:        (tsubst): Preserve storage qualifiers on type field, and pass it to
        !          9876:        layout_type if it has changed.
        !          9877:        (tsubst, case TEMPLATE_TYPE_PARM):  Preserve storage qualifiers.
        !          9878:        (tsubst, case INTEGER_TYPE): Process min and max fields, if needed.
        !          9879:        (tsubst, case FUNCTION_DECL): Process arguments and result fields.
        !          9880:        (tsubst, case PARM_DECL): New branch.  Handle parm list for
        !          9881:        FUNCTION_DECL nodes.
        !          9882:        (tsubst, case TREE_LIST): Copy TREE_PARMLIST flag from source.
        !          9883:        Don't bother processing TREE_CHAIN field if it is void_type_node.
        !          9884:        (tsubst, cases POINTER_TYPE, REFERENCE_TYPE): Preserve storage
        !          9885:        qualifiers.
        !          9886:        (tsubst, case FUNCTION_TYPE): Eliminate recursion for simple common
        !          9887:        cases for values and context fields.  Preserve storage qualifiers.
        !          9888:        (tsubst, default case): Print node type of correct variable in error
        !          9889:        message.
        !          9890:        (instantiate_template): Set function_maybepermanent_obstack to
        !          9891:        permanent, along with the others, and restore old value after tsubst
        !          9892:        call.  This permits the PARM_DECL case to work.
        !          9893: 
        !          9894: Mon Aug  5 22:44:51 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          9895: 
        !          9896:        * cplus-tree.h (struct pending_inline): Add new field `deja_vu' to
        !          9897:        mark if this pending_inline has already been seen.
        !          9898:        * cplus-lex.c (do_pending_inlines): Set DEJA_VU when seen.
        !          9899:        * cplus-lex.c (reinit_parse_for_method, cons_up_default_function):
        !          9900:        Initialize DEJA_VU to 0.
        !          9901:        * cplus-decl2.c (mark_inline_for_output): Don't add DECL to
        !          9902:        PENDING_INLINES if it's already been seen.
        !          9903:        * cplus-pt.c (instantiate_template): Initialize DEJA_VU to 0.
        !          9904: 
        !          9905:        * cplus-method.c (do_inline_function_hair): Change some assignments
        !          9906:        to asserts, since they seem to be copying values that are already
        !          9907:        there.
        !          9908: 
        !          9909: Mon Aug  5 22:23:34 1991  Michael Meissner  (meissner at osf.org)
        !          9910: 
        !          9911:        * genemit.c (gen_expand, main): Change FAIL macro to be a simple
        !          9912:        goto _fail, and initialize the return value to 0 in the prologue.
        !          9913:        This avoids a useless warning message that the MIPS C compiler
        !          9914:        gives if a return is encountered inside of a do { ... } while (0).
        !          9915: 
        !          9916: Mon Aug  5 21:28:06 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9917: 
        !          9918:        * cplus-xref.c (GNU_xref_file): Treat VMS like USG.
        !          9919: 
        !          9920:        * optabs.c (expand_binop): In libcall, use actual mode of op1.
        !          9921: 
        !          9922:        * c-typeck.c (build_binary_op_nodefault):
        !          9923:        In signed versus unsigned compare warning, note promotions of unsigned.
        !          9924: 
        !          9925:        * c-parse.y (simple_if): Allow error instead of lineno_labeled_stmt.
        !          9926:        (if_prefix): New subroutine of simple_if.
        !          9927: 
        !          9928:        * gnulib2.c (__ashldi3, __ashrdi3, __lshldi3, __lshrdi3):
        !          9929:        Accept second arg as int, not long long.
        !          9930: 
        !          9931: Sun Aug  4 22:31:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          9932: 
        !          9933:        * cplus-except.c (cplus_expand_start_except): Set up variables
        !          9934:        `current_exception_name_as_rtx' and `current_exception_parms_as_rtx'.
        !          9935:        These variables are used to factor out calls to `expand_assignment'
        !          9936:        and allow instead calls to `emit_move_insn', which takes about 1/2x
        !          9937:        the compilation time when called directly.
        !          9938:        (various places): Use `store_expr' instead of `expand_assignment'
        !          9939:        when reasonable.
        !          9940:        (cplus_expand_reraise): Take advantage of above changes.
        !          9941:        (setup_exception_throw_decl): This is where *_as_rtx variables are
        !          9942:        initialized.
        !          9943: 
        !          9944:        * cplus-input.c (getch): Rewritten slightly to help GNU C optimizer.
        !          9945:        * cplus-lex.c (yylex): In IDENTIFIER case, pre-test condition that
        !          9946:        `getch' tests, and call `getc' directly when possible.  This cuts
        !          9947:        calls to `getch' by a factor of 4 for typical C++.
        !          9948: 
        !          9949:        * cplus-class.c (add_virtual_function): Memoize the first 256
        !          9950:        virtual function table index nodes (0x80000001, 0x80000002, etc.).
        !          9951:        (finish_struct): Use `size_int' instead of `build_int_2' when we
        !          9952:        know the int will not be changed in place (such as the size value of
        !          9953:        virtual function tables).
        !          9954:        * cplus-decl2.c (finish_table): Same change as for `finish_struct'.
        !          9955:        * cplus-tree.c (layout_basetypes): Same change.
        !          9956:        * cplus-decl.c (init_decl_processing): Use `size_int' to initialize
        !          9957:        `size_zero_node' and `size_one_node'.
        !          9958: 
        !          9959:        * cplus-tree.h (TREE_OVERLOADS_ARROW): Define this.
        !          9960:        * cplus-parse.y (operator_name): Set TREE_OVERLOADS_ARROW where
        !          9961:        appropriate.
        !          9962:        * cplus-type2.c (build_x_arrow): Use TREE_OVERLOADS_ARROW and
        !          9963:        reorganize the logic for better speed.
        !          9964:        * cplus-ptree.c (print_lang_type): Print when TREE_OVERLOADS_ARROW.
        !          9965: 
        !          9966: Sun Aug  4 16:44:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9967: 
        !          9968:        * rtlanal.c (reg_referenced_p): Properly handle ASM_OPERANDS.
        !          9969: 
        !          9970:        * cse.c (cse_insn): When recording this_insn_cc0, build a COMPARE
        !          9971:        rtl if SRC is a floating-point value.
        !          9972: 
        !          9973: Sun Aug  4 16:16:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          9974: 
        !          9975:        * fold-const.c (fold): Don't compute shift with negative count.
        !          9976:        * cse.c (simplify_binary_operation): Likewise.
        !          9977: 
        !          9978: Sat Aug 3 15:57:55 1991    (Eric Youngdale at [email protected])
        !          9979: 
        !          9980:        * tm-vms.h (ASM_OUTPUT_EXTERNAL): Modify to always write the
        !          9981:        correct size of the data object, if it is known.
        !          9982:        (ASM_OUTPUT_COMMON): Modify to select the const or the data section
        !          9983:        as appropriate.  This definition shadows a definition in tm-vax.h
        !          9984:        (const_section): Change data type to void.
        !          9985: 
        !          9986: Sat Aug  3 15:02:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          9987: 
        !          9988:        * integrate.c (save_for_inline_copying): Clear constant pool after
        !          9989:        saving constants into the insns.
        !          9990: 
        !          9991:        * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Ensure items
        !          9992:        passed to emit_block_move are valid MEMs.
        !          9993: 
        !          9994:        * recog.c (offsettable_address_p): Don't change INTVAL of a CONST_INT
        !          9995:        within an address; that CONST_INT is likely shared and may be used
        !          9996:        elsewhere in the address.
        !          9997: 
        !          9998:        * stmt.c (expand_end_stmt_expr): Don't try to copy result to
        !          9999:        REG; it might be BLKmode.
        !          10000: 
        !          10001:        * reload.c (MATCHES): Don't consider two things equal if they have
        !          10002:        side effects.
        !          10003: 
        !          10004:        * combine.c (try_combine): When replacing SET_DEST inside a PARALLEL,
        !          10005:        don't replace it with something that has a side effect.
        !          10006: 
        !          10007: Sat Aug  3 13:17:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10008: 
        !          10009:        * c-decl.c (init_decl_processing):
        !          10010:        If traditional, omit builtins with names that don't start with _.
        !          10011:        Also omit if not optimizing.
        !          10012: 
        !          10013:        * Makefile.in (combine.o, emit-rtl.o, expr.o, final.o, tree.o):
        !          10014:        Depend on gvarargs.h.
        !          10015: 
        !          10016: Fri Aug 2 11:00:10 1991    (Eric Youngdale at [email protected])
        !          10017: 
        !          10018:        Merge some VMS changes from 1.39 that did not make it to 2.0.
        !          10019:        These changes will prohibit GCC from addressing external symbols with
        !          10020:        indirect addressing modes, to be compatible with sharable
        !          10021:        image libraries under VMS.
        !          10022: 
        !          10023:        * tm-vms.h: Define NO_EXTERNAL_INDIRECT_ADDRESS, define
        !          10024:        ENCODE_SEGMENT_INFO to make use of hook in varasm.c
        !          10025: 
        !          10026:        * tm-vax.h: Provide alternative definitions of INDIRECTABLE_CONSTANT_P,
        !          10027:        INDIRECTABLE_CONSTANT_ADDRESS_P, and INDIRECTABLE_ADDRESS_P, which
        !          10028:        are used when NO_EXTERNAL_INDIRECT_ADDRESS is defined.  Also, define
        !          10029:        INDIRECTABLE_CONSTANT_ADDRESS_P.   Modify definitions of
        !          10030:        GO_IF_NONINDEXED_ADDRESS, and GO_IF_LEGITIMATE_ADDRESS to work with
        !          10031:        either alternative.
        !          10032: 
        !          10033: Fri Aug  2 21:54:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10034: 
        !          10035:        * loop.c (check_dbra_loop): Fix typo in arg to single_set.
        !          10036: 
        !          10037:        * reload1.c (choose_reload_regs): Verify that all registers in a 
        !          10038:        group still contain the desired value.
        !          10039:        (emit_reload_insns): Set reg_reloaded_contents and reg_reloaded_insn
        !          10040:        for all registers in a group.
        !          10041: 
        !          10042:        * combine.c (set_significant): Handle a complex SET_DEST correctly.
        !          10043: 
        !          10044: Fri Aug  2 17:12:24 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10045: 
        !          10046:        * tree.c (build_array_type): Make pointer type before array type.
        !          10047: 
        !          10048:        * Makefile.in (install-common): Never install gcc if gcc-cross exists.
        !          10049: 
        !          10050: Fri Aug  2 14:58:42 1991  Michael Meissner  (meissner at osf.org)
        !          10051: 
        !          10052:        * make-mips (CC, OLDCC): Comment why we need to define CC and OLDCC
        !          10053:        to get around fixed size table complaints in the MIPS compiler.
        !          10054: 
        !          10055: Fri Aug  2 14:08:01 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10056: 
        !          10057:        * configure (writing VPATH definition):  Avoid temp file.
        !          10058: 
        !          10059:        * tm-i860.h (MAX_PARM_BOUNDARY): Defined.
        !          10060:        (GO_IF_LEGITIMATE_ADDRESS): Add parens around & operator.
        !          10061:        (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Use sp, not r3 (that's fp).
        !          10062:        * i860.md (movsf): Don't reload high address part if already loaded.
        !          10063:        (cmplesf, cmpledf, cmpgesf, cmpgedf): Set CC_NEGATED; swap operands.
        !          10064:        * out-i860.c (strict_single_insn_op_p):
        !          10065:        Fix criterion for loading high half.
        !          10066:        (output_load_address): #if 0 since not used.
        !          10067: 
        !          10068: Fri Aug  2 01:46:39 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          10069: 
        !          10070:        * i386.md (swapdf): Don't condition on TARGET_387.
        !          10071:        (bit set/complement/clear insns): Don't use if -m486.
        !          10072:        (bit test insns): Don't allow a MEM operand.
        !          10073: 
        !          10074: Thu Aug  1 19:05:31 1991  Matthew Self  (mself at next.com)
        !          10075: 
        !          10076:        * local-alloc.c (block_alloc):  Record regs_live_at for last insn
        !          10077:        in basic block too.  Otherwise REG_UNUSED regs may overlap hard
        !          10078:        regs set in the last insn of the basic block.
        !          10079: 
        !          10080: Thu Aug  1 19:02:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10081: 
        !          10082:        * emit-rtl.c (gen_rtx): Don't return frame_pointer_rtx (e.g.) if
        !          10083:        mode is not Pmode.
        !          10084: 
        !          10085:        * emit-rtl.c (operand_subword): Don't write explicit divide by 0;
        !          10086:        some (broken) compilers give errors for it.
        !          10087: 
        !          10088:        * m68k.md (udivhi3): One pattern had constraint of "d" with
        !          10089:        const_int_operand.
        !          10090:        (FPA insns): Operand 1's constraints allow memory and constants, but
        !          10091:        the predicate is register_operand; change to general_operand.
        !          10092: 
        !          10093: Thu Aug  1 13:41:47 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10094: 
        !          10095:        * cplus-lex.c (do_pending_inlines, process_next_inline): Zero out
        !          10096:        the DECL_PENDING_INLINE_INFO field after processing it.
        !          10097:        (store_pending_inline): Don't delay processing a virtual function,
        !          10098:        since it needs to be processed in case the virtual function table is
        !          10099:        needed.
        !          10100: 
        !          10101:        * cplus-decl2.c (mark_inline_for_output): If DECL has pending inline
        !          10102:        info, cause it to be processed.
        !          10103: 
        !          10104:        * cplus-pt.c: Removed extraneous declaration of `permanent_obstack'.
        !          10105:        Also, added comment for `reinit_parse_for_template'.
        !          10106: 
        !          10107:        * cplus-typeck.c (mark_addressable): For FUNCTION_DECL case, also
        !          10108:        test DECL_PENDING_INLINE_INFO.
        !          10109: 
        !          10110: Thu Aug  1 13:26:12 1991  Michael Meissner  (meissner at osf.org)
        !          10111: 
        !          10112:        * mips-tfile.c (main): If input file is not specified, use the same
        !          10113:        file for both input and output.  If renaming output file and rename
        !          10114:        fails, copy the file.
        !          10115:        (free_multiple_pages): New function.
        !          10116: 
        !          10117:        * tm-decrose.h (ASM_FINAL_SPEC): Add this to call mips-tfile if
        !          10118:        using the MIPS assembler.
        !          10119: 
        !          10120:        * tm-mips.h (ASM_FINAL_SPEC): Add this to call mips-tfile unless
        !          10121:        using gas.
        !          10122:        (TARGET_VERSION): Do not put __DATE__ in the output.
        !          10123: 
        !          10124:        * make-mips (BISONFLAGS): Add -l to bison flags because the MIPS
        !          10125:        based compilers have problems with #line.
        !          10126:        (CC): Define in terms of $(OLDCC) so the USE_HOST macros work.
        !          10127:        (EXTRA_PASSES): Build mips-tfile and mips-tdump.
        !          10128:        (Makefile): Explicitly use sh to invoke configure.
        !          10129: 
        !          10130:        * make-decrose (EXTRA_PASSES): Build collect.
        !          10131:        (Makefile): Explicitly use sh to invoke configure.
        !          10132: 
        !          10133: Thu Aug  1 12:22:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10134: 
        !          10135:        * cccp.c (directive_table, node_type): Add #include_next.
        !          10136:        (do_include): Support #include_next.
        !          10137:        (finclude): New arg DIRPTR.  All callers changed.
        !          10138: 
        !          10139:        * reload1.c (reload_as_needed):  Check live_known before accessing
        !          10140:        basic_block_head.
        !          10141: 
        !          10142: Thu Aug  1 11:47:37 1991  Michael Meissner  (meissner at osf.org)
        !          10143: 
        !          10144:        * gcc.c (compilers): Add new spec %A, which expands ASM_FINAL_SPEC.
        !          10145:        This option is added after all other arguments to the assembler.  It
        !          10146:        is for the MIPS port to run a cleanup program after the assembler
        !          10147:        finishes, by having ASM_FINAL_SPEC be "\n mips-tfile args..."
        !          10148:        (set_spec): If name is 'asm_final', set the asm_final_spec.
        !          10149:        (process_command): print out asm_final_spec for -dumpspecs.
        !          10150:        (do_spec_1): Expand %A to be ASM_FINAL_SPEC.
        !          10151:        (validate_all_switches): look at any switches handled in
        !          10152:        ASM_FINAL_SPEC.
        !          10153: 
        !          10154: Thu Aug  1 07:42:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10155: 
        !          10156:        * dwarfout.c (element_list_attribute): AT_element_list is a BLOCK4.
        !          10157: 
        !          10158: Wed Jul 31 17:42:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10159: 
        !          10160:        * jump.c (jump_optimize): In "if (...) x = 1; else {...} if (x) ...":
        !          10161:        Don't assume that SYMBOL_REFs are always non-zero.
        !          10162:        Handle operations other than EQ and NE.
        !          10163:        Handle conditional RETURN properly.
        !          10164: 
        !          10165:        * out-a29k.c (print_operand, case 'e'): When writing LXn, use number
        !          10166:        of last label in function.
        !          10167:        (output_prolog): Fix missing arg in ADD  in a29k_first_epilogue_insn.
        !          10168: 
        !          10169: Wed Jul 31 13:41:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10170: 
        !          10171:        * sdbout.c (sdbout_parms): Don't crash if MEM address is a MEM.
        !          10172: 
        !          10173: Wed Jul 31 12:36:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10174: 
        !          10175:        * fixincludes: New variable INCLUDES specifies input dir.
        !          10176: 
        !          10177:        * Makefile.in (install-common): Add dummy elt to EXTRA_PASSES.
        !          10178:        Fix typo in test.
        !          10179: 
        !          10180:        * Makefile.in (install-cross-tools): Use /. in args to test -d.
        !          10181:        (cccp.o, dbxout.o, c-plus-*): Added missing dependencies.
        !          10182: 
        !          10183:        * c-common.c: Don't include rtl.h--that was unmodular.
        !          10184: 
        !          10185:        * make-i386v (INSTALL): Define this.
        !          10186: 
        !          10187: Wed Jul 31 07:38:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10188: 
        !          10189:        * Makefile.in (LIB2FUNCS_EXTRA): Extra C and assembler files for
        !          10190:        gnulib2.
        !          10191:         * make-m88k*: Put the assembler files in gnulib2 and eliminate use
        !          10192:        of gnulib1.
        !          10193: 
        !          10194: Tue Jul 30 20:21:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10195: 
        !          10196:        * stddef.h (WCHAR_T):
        !          10197:        Test _WCHAR_T_, __WCHAR_T, _T_WCHAR_ and ___int_wchar_t_h.
        !          10198: 
        !          10199:        * tm-i386isc.h (RETURN_POPS_ARGS): Caller pops the struct value addr.
        !          10200: 
        !          10201:        * cccp.c (default_include): Search local dir, system, then standard.
        !          10202: 
        !          10203:        * Makefile.in (USE_HOST_MALLOC, USE_HOST_OBSTACK):
        !          10204:        Don't depend on which C compiler is in use.
        !          10205: 
        !          10206:        * reload1.c (reload): Use pseudoreg to compute spill_indirect_levels.
        !          10207: 
        !          10208:        * c-decl.c (start_function): Don't take arg types from builtin.
        !          10209:        (duplicate_decls): Cancel builtin function if new arg types differ.
        !          10210:        Don't take arg types from buiiltin.
        !          10211: 
        !          10212: Tue Jul 30 18:45:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10213: 
        !          10214:        * reload.c (decompose): Don't blow up for constants; they are safe.
        !          10215: 
        !          10216: Tue Jul 30 15:49:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10217: 
        !          10218:        * dbxout.c (dbxout_parms): Don't crash if MEM address is a MEM.
        !          10219: 
        !          10220:        * Makefile.in (install-common): Don't lose if EXTRA_PASSES is empty.
        !          10221:        Don't install gcc if gcc-cross exists.
        !          10222:        (install-cross-tools): Fix typos.
        !          10223:        Avoid doing cd -- use absolute file names.
        !          10224:        (gcc-cross.o): Rule deleted.
        !          10225:        (gcc-cross): Build gcc, then copy it.
        !          10226: 
        !          10227: Tue Jul 30 15:37:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10228: 
        !          10229:        * cplus-init.c (build_vec_delete): Use `size_binop' when building up
        !          10230:        the array end boundary.
        !          10231: 
        !          10232: Tue Jul 30 10:03:54 1991  Michael Meissner  (meissner at osf.org)
        !          10233: 
        !          10234:        * tm-mips.h (DOLLARS_IN_IDENTIFIERS): Define to be 1.
        !          10235: 
        !          10236: Mon Jul 29 18:56:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10237: 
        !          10238:        * reload.c (refers_to_regno_for_reload_p): New function.
        !          10239:        (push_reload, find_dummy_reload, immune_p): Use
        !          10240:        refers_to_regno_for_reload_p instead of refers_to_regno_p.
        !          10241: 
        !          10242:        * cse.c (fold_rtx): Don't make shifts wider than object.
        !          10243: 
        !          10244: Mon Jul 29 17:17:55 1991  Michael Collison  (collison at osf.org)
        !          10245: 
        !          10246:        * configure: Added entry for mmax-osfrose (Multimax with ns32k
        !          10247:        running OSF/1).
        !          10248: 
        !          10249: Mon Jul 29 14:51:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10250: 
        !          10251:        * Makefile.in (SYMLINK): New variable.
        !          10252:        (install-cross-tools): Make symlinks if possible.
        !          10253:        Otherwise, for executables, indirect to tooldir with a shell script.
        !          10254:        (install-native): Install gcc-cross as bin/gcc under tooldir.
        !          10255: 
        !          10256:        * Makefile.in (USE_HOST_ALLOCA):
        !          10257:        Generate nothing if don't need separate alloca.
        !          10258:        (USE_HOST_OBSTACK, USE_HOST_MALLOC): New variables.
        !          10259:        (HOST_LIBS): Use them. 
        !          10260:        (HOST_PREFIX_1): Make a dummy file with this name,
        !          10261:        for cross-compiling for a machine that needs no separate alloca, etc.
        !          10262: 
        !          10263:        * c-parse.y (stmts): Accept either labels or unlabeled statements.
        !          10264:        (lineno_labeled_stmt): New nonterminals.
        !          10265:        (stmt_or_label, lineno_stmt_or_label): New nonterminals.
        !          10266:        (stmts): Use lineno_stmt_or_label.
        !          10267:        (stmt): Don't allow labels at this level.
        !          10268:        Use lineno_labeled_stmt in place of lineno_stmt.
        !          10269: 
        !          10270:        * cccp.c (default_include): Get rid of extra #endif.
        !          10271:        Use CROSS_COMPILE, not CROSS.
        !          10272: 
        !          10273:        * make-i386mach: New file.
        !          10274:        * configure (i386-mach): Use that file.
        !          10275: 
        !          10276: Mon Jul 29 09:10:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10277: 
        !          10278:        * tm-m88kluna.h (SYSTEM_INCLUDE_DIR): Define (also MACH).
        !          10279: 
        !          10280: Sun Jul 28 16:15:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10281: 
        !          10282:        * cccp.c (default_include): Use SYSTEM_INCLUDE_DIR.
        !          10283:        Delete special cases for MACH, UNOS.
        !          10284:        * tm-i386mach.h, tm-sun3mach.h, tm-crds.h (SYSTEM_INCLUDE_DIR): Define.
        !          10285: 
        !          10286:        * cccp.c (default_include): Use CROSS_INCLUDE_DIR if cross-compiler.
        !          10287:        * Makefile.in (cccp.o): Pass a definition for CROSS_INCLUDE_DIR.
        !          10288: 
        !          10289:        * Makefile.in (gnulib1.null): New target.
        !          10290:        (install-common, install-common-headers, install-cross-tools):
        !          10291:        (install-cross-rest, install-float-h-cross): New targets.
        !          10292:        (install-float-h): New target.
        !          10293:        (install-cross, install-headers): Use them.
        !          10294:        (tooldir): New variable.
        !          10295:        (EXTRA_PASSES): New variable.
        !          10296: 
        !          10297:        * sdbout.c (plain_type_1): Don't record the size in sdb_type_size
        !          10298:        unless a tag is output.
        !          10299: 
        !          10300:        * Makefile.in (install-cross): Install specs by copying.
        !          10301:        Install either gcc or gcc-cross, whichever exists.
        !          10302:        (native): Remove gcc from deps.
        !          10303:        (start.encap): Add gcc to deps.
        !          10304:        (all.cross): Add gcc-cross to deps.
        !          10305:        (gcc-cross): Like gcc rule except different output file name.
        !          10306:        (gcc-cross.o): Likewise.
        !          10307: 
        !          10308:        * Makefile.in (EXTRA_PASSES): New variable.
        !          10309:        Used for machines which have extra passes to run.
        !          10310:        (install-cross): Install those programs.
        !          10311:        (native): Compile them.
        !          10312: 
        !          10313:        * c-parse.y: Support `foo:' before a close brace.
        !          10314:        (label): New nonterminal.
        !          10315:        (stmt): Use that.  Treat a label as a statement in itself.
        !          10316: 
        !          10317:        * Makefile.in (gnulib*.portable): Rules deleted.
        !          10318:        (GNULIB1, GNULIB2): Point directly at gnulib1, gnulib2.
        !          10319:        (gnulib): Use GNULIB1, GNULIB2 directly both as deps
        !          10320:        and to specify the input files.
        !          10321:        (gnulib1.conv): Renamed from gnulib1.convert; no longer phony.
        !          10322:        (gnulib*.target): Rules deleted.
        !          10323:        make-hp9k320 (GNULIB1): Use gnulib1.conv.
        !          10324:        (LIBCONVERT): Override.
        !          10325: 
        !          10326:        * move-if-change: Use -f with rm and mv.
        !          10327: 
        !          10328:        * Makefile.in (gnulib2.ready): No longer phony.
        !          10329: 
        !          10330: Sat Jul 27 13:03:50 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10331: 
        !          10332:        * combine.c (can_combine_p): Don't use NEXT_INSN, in previous change.
        !          10333: 
        !          10334:        * Makefile.in (class-c, objective-c): New targets.
        !          10335: 
        !          10336:        * tm-i386.h (ASM_OUTPUT_ALIGN_CODE): Define it.
        !          10337:        (ASM_OUTPUT_LOOP_ALIGN): Use ASM_OUTPUT_ALIGN_CODE.
        !          10338:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Override it.
        !          10339:        (ASM_OUTPUT_LOOP_ALIGN): Definition deleted.
        !          10340: 
        !          10341:        * fixincludes (memvar.h): Make two defs of CAT, one ANSI and one trad.
        !          10342: 
        !          10343:        * expmed.c (emit_store_flag): Set ICODE only after CODE is right.
        !          10344: 
        !          10345: Sat Jul 27 06:45:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10346: 
        !          10347:        * flow.c (insn_dead_p): Don't clobber NEEDED while ensuring that we
        !          10348:        don't delete insns that set the frame or arg pointer.
        !          10349: 
        !          10350:        * flow.c (flow_analysis, find_basic_blocks, propagate_block):
        !          10351:        Use GET_RTX_CLASS.
        !          10352:        
        !          10353: Fri Jul 26 08:18:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10354: 
        !          10355:        * sdbout.c: Use <syms.h> for USG and provide a definition of
        !          10356:        T_VOID if none existed.  Use ./gsyms.h for non-USG systems.
        !          10357:        * gsyms.h: Renamed from syms.h.
        !          10358: 
        !          10359: Fri Jul 26 22:47:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10360: 
        !          10361:        * cccp.c (macroexpand): Fix error message syntax.
        !          10362: 
        !          10363:        * Makefile.in (gnulib2.target): Add semicolon.
        !          10364: 
        !          10365: Fri Jul 26 18:17:36 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
        !          10366: 
        !          10367:        * make-mips (CC): Bump -Wf,-XNg option to 1500 to allow the MIPS
        !          10368:        compiler to compile cc1plus.
        !          10369: 
        !          10370: Fri Jul 26 14:42:35 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10371: 
        !          10372:        * c-parse.y (yylex): Don't use mbtowc to translate L'\0'.
        !          10373: 
        !          10374:        * tm-m88ksvr4.h (CPP_SPEC): Specify SVR4 pre-assertions.
        !          10375: 
        !          10376: Fri Jul 26 09:53:53 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
        !          10377: 
        !          10378:        * Makefile.in (cplus_expr.o): Add missing dependencies, so cc1plus
        !          10379:        can be built without first building cc1.
        !          10380: 
        !          10381: Fri Jul 26 07:30:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10382: 
        !          10383:        * combine.c (can_combine_p): Can't combine if DEST is used in an
        !          10384:        insn in the range (succ, i3).
        !          10385: 
        !          10386:        * expmed.c (store_bit_field): Don't use insv if the mode of its
        !          10387:        input is narrower than the width of the field.
        !          10388:        (store_fixed_bit_field): Handle value with MODE_FLOAT mode.
        !          10389:        (extract_bit_field): Don't use extzv/extv if its output mode is
        !          10390:        narrower that width of field.
        !          10391:        (extract_bit_field): Handle returning MODE_FLOAT mode.
        !          10392: 
        !          10393:        * reorg.c (steal_delay_list_from_target): Add new arg PNEW_THREAD.
        !          10394:        Instead of redirecting jump, return its target in *PNEW_THREAD.
        !          10395:        (fill_slots_from_thread): Pass &NEW_THREAD to
        !          10396:        steal_delay_list_from_target.
        !          10397: 
        !          10398: Thu Jul 25 21:57:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
        !          10399: 
        !          10400:        * sched.c: Correct tiemann's email address.
        !          10401:        (schedule_block): Note that the values of leftover REG_DEAD notes
        !          10402:        are meaningless.
        !          10403:        (new_insn_dead_notes): If find an instruction that both uses and
        !          10404:        sets dest, then no new REG_DEAD note is needed.
        !          10405:        (update_links): When handling dest of last insn, no new REG_DEAD
        !          10406:        note is needed if the last insn also uses its dest.
        !          10407: 
        !          10408: Thu Jul 25 18:15:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10409: 
        !          10410:        * flow.c (regno_clobbered_at_setjmp): Don't blow up if no basic blocks.
        !          10411: 
        !          10412: Thu Jul 25 16:55:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10413: 
        !          10414:        * cse.c (invalidate, cse_insn): Don't use HASHREG directly.
        !          10415:        (HASH): Substitute HASHREG in.
        !          10416:        (HASHREG): Deleted.
        !          10417: 
        !          10418:        * tm-i386mach.h: New file.
        !          10419:        * configure (i386-mach): Use that.
        !          10420: 
        !          10421:        * tm-i386isc.h: New file, copied from 1.40.
        !          10422: 
        !          10423:        * i386.md (jump, indirect_jump, tablejump, return):
        !          10424:        Use ASM_OUTPUT_ALIGN_CODE.
        !          10425:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_LOOP_ALIGN):
        !          10426:        Override the usual definition.
        !          10427: 
        !          10428:        * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Fix typo.
        !          10429: 
        !          10430: Thu Jul 25 16:25:52 1991  Tom Wood  (wood at dg-rtp.dg.com)
        !          10431: 
        !          10432:        * out-m88k.c (legitimize_address): Note use of addressing base.
        !          10433:        (m88k_layout_frame): Establish PIC addressing base as needed.
        !          10434: 
        !          10435:        * tm-m88kdgux.h (GPLUSPLUS_INCLUDE_DIR): Specify.
        !          10436: 
        !          10437: Thu Jul 25 07:54:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10438: 
        !          10439:        * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Defined.
        !          10440: 
        !          10441:        * integrate.c (expand_inline_function): Propagate the value of
        !          10442:        FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE.
        !          10443: 
        !          10444:        * function.h (struct function): Add new field USES_PIC_OFFSET_TABLE
        !          10445:        to structure.  Leave it to md files to initialize this field.
        !          10446:        * expr.h (current_function_uses_pic_offset_table): New declaration.
        !          10447:        * function.c ({save,restore}_tree_status): Save and restore
        !          10448:        CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE to/from this slot.
        !          10449:        * out-sparc.c (legitimize_pic_address): Set
        !          10450:        CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE when appropriate.
        !          10451:        (finalize_pic): If the current function does not use the PIC offset
        !          10452:        table, there's no need to emit the PIC prologue.
        !          10453: 
        !          10454: Wed Jul 24 13:54:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10455: 
        !          10456:        * tm-m68k.h (NOTICE_UPDATE_CC):
        !          10457:        Calls clear status even if value in address reg.
        !          10458: 
        !          10459:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Align with NOPs.
        !          10460: 
        !          10461:        * i386.md (andsi3): Don't use movzbl if op1 can't support it.
        !          10462: 
        !          10463: Wed Jul 24 07:47:59 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10464: 
        !          10465:        * cplus-decl.c (finish_decl): Don't build a cleanup for an variable
        !          10466:        that is TREE_EXTERNAL.
        !          10467: 
        !          10468: Tue Jul 23 20:48:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10469: 
        !          10470:        * make-mips: Delete rules for saber C.
        !          10471:        * Makefile.in (STAGESTUFF, gnulib2.ready): Undo last change.
        !          10472: 
        !          10473:        * tm-vax.h (LIB_SPEC): Supply missing close braces.
        !          10474: 
        !          10475: Tue Jul 23 14:03:10 1991  Michael Meissner  (meissner at osf.org)
        !          10476: 
        !          10477:        * protoize.c (toplevel): If FULL_PROTOTYPES is defined, assume that
        !          10478:        the system provides full prototypes, and include stdlib.h and
        !          10479:        unistd.h.
        !          10480:        (toplevel): If _POSIX_SOURCE is defined, wait takes a pointer to an
        !          10481:        int, even if the system is otherwise BSD.
        !          10482:        (toplevel): If NO_CONST_IN_SYSCALL and __STDC__ is defined, assume
        !          10483:        the system takes char *'s instead of const char *'s.
        !          10484:        (process_aux_info_file, edit_file): Always pass 3 arguments to open,
        !          10485:        to allow the NO_CONST_IN_SYSCALL macro to properly cast the
        !          10486:        arguments.
        !          10487: 
        !          10488:        * make-decrose (ALL): Make sure Makefile is rebuilt if either
        !          10489:        Makefile.in or make-decrose changes.
        !          10490:        (BUILD, SYSTEM_INCLUDES, LDFLAGS): Add BUILD variable to retarget
        !          10491:        which build is used.
        !          10492:        (CPP_ABORT): Don't define abort=fancy_abort here, do it in
        !          10493:        tm-mips.h.
        !          10494:        (INSTALL): Use installbsd program, since install uses System V
        !          10495:        semantics on OSF/1.
        !          10496:        (LANGUAGES): Rename collect-osf to collect.
        !          10497:        (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
        !          10498:        add additional arguments.
        !          10499:        (libdir, bindir, mandir): Define to current install values.
        !          10500:        (cplus-lex.o): Work around problems with 1.39 bootstrap compiler
        !          10501:        producing bad stabs for certain inlines.
        !          10502:        (osf-main.c): Add a simple G++ constructor/destructor to gnulib.
        !          10503: 
        !          10504:        * make-mips (ALL): Make Makefile depend on Makefile.in and
        !          10505:        make-mips.
        !          10506:        (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
        !          10507:        add additional arguments.
        !          10508:        (CC): Add -Wf,-XNg500 switch to compile with due to the MIPS
        !          10509:        compiler having fixed size tables.
        !          10510:        (SABER_*): Add rules to run saber-C.
        !          10511: 
        !          10512:        * mips.md (movsi_ulw): Allow unaligned register->register moves,
        !          10513:        which is caused by the optimizer, and generate the normal reg move
        !          10514:        code.  Also, turn loads from the stack into normal moves.
        !          10515:        (movsi_usw): Turn stores into the stack into normal moves.
        !          10516:        (call, call_value): Turn into a define_expand which takes three
        !          10517:        arguments, to make Saber happier.
        !          10518: 
        !          10519:        * tm-mips.h (abort macro): Define abort to be saber_stop if running
        !          10520:        under Saber C.
        !          10521:        (__PTR_TO_INT, __INT_TO_PTR): Define as casts if running on a MIPS
        !          10522:        machine instead of with subtraction, in an attempt to quiet Saber C.
        !          10523:        (ASM_MODIFY_SPEC): Run mips-tfile after the assembler, needs
        !          10524:        corresponding gcc.c change to enable.
        !          10525: 
        !          10526:        * tm-decrose.h (ASM_SPEC): Pass -v switch to gas as well as mips
        !          10527:        assembler.
        !          10528:        (ASM_MODIFY_SPEC): Run mips-tfile if -mmips-as.
        !          10529:        (LINK_SPEC): Pass -v switch to linker.
        !          10530:        (LIB_SPEC): Redefine as just -lc.
        !          10531:        (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine, use standard
        !          10532:        libdir, bindir, and mandir in Makefile now.
        !          10533:        (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Define to get protoize
        !          10534:        to compile cleanly.
        !          10535: 
        !          10536:        * osf-main.c (new file): Provide simple constructor, destructor
        !          10537:        capability to be linked into gnulib.
        !          10538: 
        !          10539:        * collect-osf.c (various): General rewrite to improve speed and
        !          10540:        portability.
        !          10541: 
        !          10542:        * Makefile.in (CPLUS_OBJS): If CPLUS_INPUT is defined to be
        !          10543:        cplus-input.o, compile it separately to work around problems with
        !          10544:        bootstraping when it is included in cplus-lex.c.
        !          10545:        (STAGESTUFF): Use $(LANGUAGES) instead of hard coded list of
        !          10546:        languages, so make-xxx file can override, and provide others.
        !          10547:        (gnulib2.ready): Make gnulib2 depend on all LANGUAGES targets, so
        !          10548:        that if a target needs something else built, such as mips-tfile, it
        !          10549:        will be.
        !          10550:        (mostlyclean): Add missing -f to rm.
        !          10551:        (install-dir): Use test to see if the directory exists before trying
        !          10552:        to create it, and fail if the mkdir fails.
        !          10553:        (install-headers): ditto.
        !          10554:        (stage?, risky-stage?): ditto.
        !          10555:        (install-cross): Install collect and mips-tfile if they are present.
        !          10556: 
        !          10557:        * mips-tfile.c (toplevel, main): Add -I file option, which renames
        !          10558:        the original output file to the given file.
        !          10559: 
        !          10560:        * cplus-lex.c (toplevel): Include <assert.h> instead of "assert.h"
        !          10561:        in order to avoid problems when including cplus-input.c, which also
        !          10562:        uses <assert.h>.
        !          10563: 
        !          10564:        * cplus-pt.c (toplevel): Move include of config.h before obstack.h
        !          10565:        in case config.h defines some macros obstack.h uses such as
        !          10566:        __PTR_TO_INT.
        !          10567: 
        !          10568: Tue Jul 23 13:15:43 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10569: 
        !          10570:        * xm-i386.h, xm-i860.h, xm-spur.h, xm-tahoe.h: Use __builtin_alloca.
        !          10571: 
        !          10572: Tue Jul 23 12:26:01 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10573: 
        !          10574:        * function.c (instantiate_virtual_regs_1): Change dubious code that
        !          10575:        used to assign NEW to XEXP (x, 1) regardless of whether
        !          10576:        validate_change accepted it to instead set XEXP (x, 0) back to OLD.
        !          10577:        I.e., if the rtx is out of range and OBJECT is NULL, don't make any
        !          10578:        change at all.
        !          10579: 
        !          10580:        * out-sparc.c (compute_frame_size): If a function has any
        !          10581:        stack-local objects, it's frame size is non-zero and space must be
        !          10582:        reserved for the register window.
        !          10583: 
        !          10584:        * loop.c (loop_optimize): Use get_max_uid to compute max_uid_for_loop.
        !          10585: 
        !          10586:        * fold-const.c (size_int): Extend SIZE_TABLE's range from
        !          10587:        0..HOST_BITS_PER_INT-1 to 0..2*HOST_BITS_PER_INT.
        !          10588: 
        !          10589:        * integrate.c (expand_inline_function): Add minor efficiency
        !          10590:        hack to not free all the temp slots as parameters are passed
        !          10591:        from "caller" to "callee".
        !          10592: 
        !          10593:        * integrate.c (expand_inline_function): If the inline function
        !          10594:        returns its value via a structure_value_addr, we must prepare for
        !          10595:        this to take place, even if the value is ignored by the caller.
        !          10596: 
        !          10597:        * tm-decstatn.h (SIZE_TYPE): Define this to be "unsigned int".
        !          10598: 
        !          10599:        * emit-rtl.c (try_split): If `split_insns' actually returns a SEQ
        !          10600:        which is isomorphic to PAT, return TRIAL.
        !          10601: 
        !          10602:        * out-sparc.c (eligible_for_epilogue_delay): FP register moves are
        !          10603:        only eligible for leaf-function epilogue delay slots.
        !          10604: 
        !          10605: Tue Jul 23 11:52:50 1991  Michael Meissner  (meissner at geech.gnu.ai.mit.edu)
        !          10606: 
        !          10607:        * dbxout.c (dbxout_symbol): Correct typo in getting static member
        !          10608:        names.  The problem is DECL_ASSEMBLER_NAME returns a tree, and not a
        !          10609:        char *.
        !          10610: 
        !          10611: Tue Jul 23 07:10:41 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10612: 
        !          10613:        * varasm.c (immed_double_const): Use CONST_INT if MODE fits within
        !          10614:        HOST_BITS_PER_INT, not BITS_PER_WORD.
        !          10615: 
        !          10616: Mon Jul 22 21:37:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10617: 
        !          10618:        * fold-const.c (fold): Always preserve type after using const_binop.
        !          10619: 
        !          10620: Mon Jul 22 18:34:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10621: 
        !          10622:        * reload1.c (reload): Fix typo in condition for reg_equiv_address
        !          10623:        being set from reg_equiv_memory_loc; had X instead of XEXP (X, 0).
        !          10624: 
        !          10625: Mon Jul 22 15:25:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10626: 
        !          10627:        * gcc.c (process_command): -xnone turns off any -x option.
        !          10628: 
        !          10629:        * tree.c (copy_chain): Deleted.
        !          10630:        * integrate.c (copy_decl_tree): Use copy_list and copy_node.
        !          10631: 
        !          10632: Mon Jul 22 11:35:47 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          10633: 
        !          10634:        * tree.c, tree.h: Fix typos in Jul 22 merge.
        !          10635: 
        !          10636: Mon Jul 22 08:51:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10637: 
        !          10638:        * jump.c (thread_jumps): Don't set CHANGED if the jump's label isn't
        !          10639:        changing.
        !          10640: 
        !          10641: Mon Jul 22 02:37:23 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
        !          10642: 
        !          10643:        * version.c: Bumped to 1.94 because of significant changes to
        !          10644:        cplus-* files.
        !          10645: 
        !          10646: Sun Jul 21 18:45:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10647: 
        !          10648:        * toplev.c (rest_of_compilation):
        !          10649:        Save and restore DECL_INITIAL if we use save_for_inline_copying.
        !          10650:        * integrate.c (save_for_inline_copying): Really copy DECL_INITIAL.
        !          10651:        Calling integrate_decl_tree doesn't do it; deleted that call.
        !          10652:        (copy_decl_tree): New function.
        !          10653: 
        !          10654:        * integrate.c (integrate_decl_tree): Renamed from copy_decl_tree.
        !          10655:        (integrate_parm_decls): Renamed from copy_parm_decls.
        !          10656: 
        !          10657:        * tree.c (copy_chain): New function.
        !          10658: 
        !          10659: Sun Jul 21 06:43:23 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          10660: 
        !          10661:        * i386.md (tstsi): Add comment noting potential -m486 enhancement.
        !          10662:        (SImode push): With -m486, don't push from MEM.
        !          10663:        (addsi3): Don't use lea for three operand add if -m486.
        !          10664:        (ashlsi3): Don't use lea for shift of 1 if -m486.
        !          10665:        (zero_extendhisi2,zero_extendqihi2,zero_extendqisi2): If dest is
        !          10666:        %eax, or if -m486, AND is faster than MOVZX.
        !          10667: 
        !          10668: Sun Jul 21 06:27:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
        !          10669: 
        !          10670:        * expmed.c (store_fixed_bit_field): Pass actual bit position (including
        !          10671:        offset) to get_best_mode; also limit mode size to BITS_PER_WORD.
        !          10672:        Use failure of get_best_mode to indicate that field spans word 
        !          10673:        boundary.
        !          10674:        Pass actual bit position to store_split_bit_field.
        !          10675:        (store_split_bit_field): Accept actual bit position, hence handing
        !          10676:        bitpos > BITS_PER_WORD.
        !          10677:        Abort if BITPOS and BITSIZE don't cross exactly one word boundary.
        !          10678:        Pass offset to store_fixed_bit_field; if register, use operand_subword;
        !          10679:        else adjust offset for second word.
        !          10680:        (extract_{fixed,split}_bit_field): Likewise.
        !          10681: 
        !          10682: Sun Jul 21 06:11:55 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10683: 
        !          10684:        * All cplus-* files: DECL_VIRTUAL_P is no longer applied to
        !          10685:        FUNCTION_DECLs.  Instead, to test if a function is virtual or not,
        !          10686:        it suffices to test whether its DECL_VINDEX is non-NULL.  We use
        !          10687:        ERROR_MARK_NODE as the placeholder for a FUNCTION_DECL we know will
        !          10688:        be virtual, but for which we don't yet know the actual index.
        !          10689: 
        !          10690:        * cplus-decl.c (define_function): Don't set up DECL_ASSEMBLER_NAME
        !          10691:        until after having the chance to call through PFN.  Since `pushdecl'
        !          10692:        now keys off of DECL_ASSEMBLER_NAME, we don't want to create
        !          10693:        inadvertent aliases between builtin and library functions.
        !          10694: 
        !          10695:        * cplus-typeck.c (build_modify_expr): We don't need to build a
        !          10696:        SAVE_EXPR for a WITH_CLEANUP_EXPR.
        !          10697:        (unary_complex_lvalue): For good measure, know how to deal with a
        !          10698:        WITH_CLEANUP_EXPR inside a SAVE_EXPR.
        !          10699: 
        !          10700:        * cplus-pt.c (uses_template_parms): Add handler for ARRAY_TYPE.
        !          10701: 
        !          10702:        * cplus-method.c (do_inline_function_hair): Use TYPE_METHODS instead
        !          10703:        of CLASSTYPE_METHOD_VEC for traversing all methods when looking for
        !          10704:        inline functions.
        !          10705: 
        !          10706:        * cplus-class.c (finish_struct_methods): Fix fencepost error if
        !          10707:        there were no member functions except for ctors/dtors.
        !          10708: 
        !          10709: Sun Jul 21 06:19:01 1991  James Van Artsdalen  (james at bigtex.cactus.org)
        !          10710: 
        !          10711:        * tree.h, output.h (current_function_calls_longjmp): New variable.
        !          10712:        * function.c (top level): Define it.
        !          10713:        (push_function_context): Save it.
        !          10714:        (pop_function_context): Restore it.
        !          10715:        (init_function_start): Initialize it.
        !          10716: 
        !          10717:        * calls.c (expand_call): Set current_function_calls_longjmp if
        !          10718:        this call is to `longjmp'.
        !          10719: 
        !          10720:        * flow.c, global-alloc.c: Include output.h so that
        !          10721:        FRAME_POINTER_REQUIRED can use current_function_calls_*.
        !          10722:        * Makefile.in (flow.o,global-alloc.o): Includes output.h.
        !          10723: 
        !          10724:        * rtl.h (FUNCTION_FLAGS_CALLS_LONGJMP): New macro.
        !          10725: 
        !          10726:        * integrate.c (initialize_for_inline): Record
        !          10727:        current_function_calls_lonjmp in `function_flags'.
        !          10728:        (output_inline_function): Set current_function_calls_longjmp if
        !          10729:        the inline code calls longjmp.
        !          10730: 
        !          10731:        * function.h (struct function): New field `calls_longjmp'.
        !          10732: 
        !          10733:        * out-i386.c (simple_386_epilogue):  Add function description.
        !          10734:        Return 0 if NON_SAVING_SETJMP && `setjmp' is called in function.
        !          10735: 
        !          10736:        * tm-i386v.h (NON_SAVING_SETJMP): New macro.
        !          10737:        (FRAME_POINTER_REQUIRED): New macro.
        !          10738: 
        !          10739: Sat Jul 20 12:25:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
        !          10740: 
        !          10741:        * tm-m88k.h (OPTIMIZATION_OPTIONS): Don't change flag_signed_bitfields.
        !          10742: 
        !          10743:        * cccp.c (include_defaults) Use LOCAL_INCLUDE_DIR macro instead
        !          10744:        of "/usr/local/include".  Provide default definition.
        !          10745: 
        !          10746:        * cccp.c (include_defaults) Added INCLUDE_DEFAULTS macro to
        !          10747:        provide complete control over default include directories.
        !          10748:        Delete the special case for VMS.
        !          10749:        * xm-vms.h (INCLUDE_DEFAULTS): Defined.
        !          10750: 
        !          10751:        * proto-man: Renamed from proto-unproto.1.
        !          10752: 
        !          10753:        * final.c (final_scan_insn): Do ASM_OUTPUT_LOOP_ALIGN only for real loop.
        !          10754: 
        !          10755: Sat Jul 20 05:34:13 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
        !          10756: 
        !          10757:        * tree.h (tree_type): Use the MAXVAL slot for TYPE_METHODS.
        !          10758:        * cplus-class.c (finish_struct): Methods are now chained with
        !          10759:        TREE_CHAIN and placed in the TYPE_METHODS of their _TYPE node.
        !          10760:        * cplus-dbxout.c (dbxout_type_methods): Use this fact, instead of
        !          10761:        using more C++-specific knowledge.
        !          10762: 
        !          10763:        * cplus-decl.c (init_decl_processing): Variable
        !          10764:        `const_ptr_type_node' was not being initialized.  Same with
        !          10765:        `const_string_type_node'.
        !          10766: 
        !          10767:        * tree.h (DECL_PRINT_NAME): Marked for death.
        !          10768:        (DECL_ASSEMBLER_NAME): Changed from a char* to a tree node.
        !          10769:        All front-end files changed as necessary.
        !          10770: 
        !          10771:        * cplus-tree.h (DECL_ORIGINAL_NAME): Deleted.  Now we use
        !          10772:        DECL_NAME.
        !          10773:        (DECL_NAME): No longer means the mangled name.  Now we use
        !          10774:        DECL_ASSEMBLER_NAME for that purpose.
        !          10775:        All cplus-* files changed as necessary.
        !          10776: 
        !          10777:        * cplus-tree.c (lang_printable_name): Use a ring-buffer to hold
        !          10778:        printable names instead of DECL_PRINT_NAME slot of a _DECL node.
        !          10779: 
        !          10780:        * collect2.c: #define COLLECT, and let config.h provide definition
        !          10781:        of macros.
        !          10782: 
        !          10783: See file ChangeLog.3.

unix.superglobalmegacorp.com

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