Annotation of GNUtools/cc/ChangeLog.4, revision 1.1.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.