Annotation of gcc/ChangeLog, revision 1.1.1.1

1.1       root        1: Sat Feb 22 02:09:55 1992  Richard Stallman  ([email protected])
                      2: 
                      3:        * Version 2.0 released.
                      4: 
                      5:        * gcc.c (do_spec_1): Handle SPACE_AFTER_L_OPTION.
                      6:        * hp320.h (SPACE_AFTER_L_OPTION): Defined.
                      7:        Note: for 2.1, try making a space there on all systems.
                      8: 
                      9:        * i386mach.h (perform_*): New macros, copied from i386rose.h.
                     10: 
                     11:        * Makefile.in (distclean): New target.
                     12:        (realclean): Avoid duplication with self or with distclean.
                     13:        (gcc.xtar.Z): Depend on gcc.xtar.
                     14:        (gcc.xtar): Fixes in copying files.
                     15: 
                     16:        * expr.c (do_store_flag): Don't correct CODE before where it is set.
                     17: 
                     18:        * cp-parse.y (stmt): Pass pushcase_range all the args it wants.
                     19: 
                     20: Fri Feb 21 18:14:52 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                     21: 
                     22:        * combine.c (distribute_notes): Correctly handle the case of a
                     23:        REG_DEAD note for a multi-word hard register when not all of
                     24:        the words are used.
                     25: 
                     26: Fri Feb 21 16:47:32 1992  Michael Meissner  ([email protected])
                     27: 
                     28:        * mips.h (MIPS_VERSION): Change Meissner version # to 12.
                     29:        (half_pic support): Move the halfpic support to halfpic.h which is
                     30:        included in the decrose case, and nop the support in other MIPS
                     31:        platforms.
                     32:        (OPTIMIZATION_OPTIONS): Move setting caller-saves to -O2.
                     33:        (OBJECT_FORMAT_COFF, EXTENDED_COFF): Define unless OSF/rose.
                     34:        (INITIAL_FRAME_POINTER_OFFSET): Always recalculate the frame size,
                     35:        don't rely on cached values.
                     36: 
                     37:        * mips.c (half_pic support): Move the halfpic support to halfpic.c,
                     38:        which is only compiled for OSF/rose.
                     39:        (expand_block_move): Use copy_addr_to_reg instead of copy_to_reg in
                     40:        case either the source or destination is an integer constant
                     41:        converted to an appropriate pointer type.
                     42:        (mips_debugger_offset): Use a local variable to hold function
                     43:        result.
                     44: 
                     45:        * decrose.h (toplevel): Include halfpic.h for halfpic support.
                     46:        (PTRDIFF_TYPE): Change to 'int' to match current include files.
                     47:        (WCHAR_TYPE): Change to 'unsigned int' to match include files.
                     48:        (INIT_SECTION_ASM_OP): Delete, since the OSF/rose assembler doesn't
                     49:        support a true initialization section.
                     50: 
                     51:        * encrose.h (PTRDIFF_TYPE): Change to 'int' to match current include
                     52:        files.
                     53:        (WCHAR_TYPE): Change to 'unsigned int' to match include files.
                     54: 
                     55:        * t-decrose (EXTRA_OBJS): Define as halfpic.o to provide halfpic
                     56:        support.
                     57:        (CONFIG2_H): Treat halfpic.h as another config file.
                     58:        (halfpic.o): Add dependencies.
                     59: 
                     60:        * halfpic.h (new file): Common include file for systems needing the
                     61:        OSF/rose half-pic shared library support.
                     62: 
                     63:        * halfpic.c (new file): Common support file for systems needing the
                     64:        OSF/rose half-pic shared library support.  Currently these are stub
                     65:        functions.
                     66: 
                     67: Fri Feb 21 01:34:08 1992  Richard Stallman  ([email protected])
                     68: 
                     69:        * dwarfout.c (location_or_const_value_attribute): Use DECL_RTL again.
                     70:        Seems to be safer for the moment.
                     71:        * function.c (instantiate_decls): Don't instantiate DECL_INCOMING_RTL.
                     72: 
                     73:        * dwarfout.c (output_mem_loc_descriptor): Handle CONST like SYMBOL_REF.
                     74: 
                     75:        * collect2.c (errno): Declare if not macro.
                     76: 
                     77:        * dbxout.c [MIPS]: Include gstab.h, not stab.h.
                     78: 
                     79:        * dbxout.c (dbxout_symbol): No longer flush leading _ for C++ syms.
                     80: 
                     81:        * cp-parse.y (.hush_warning): Set $$.
                     82: 
                     83:        * gstdarg.h: Handle _HIDDEN_VA_LIST as in gvarargs.h.
                     84: 
                     85: Thu Feb 20 07:41:29 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                     86: 
                     87:        * vax.c (reg_or_nxmem_operand): New function.
                     88:        (split_quadword_operands): Add missing return type (void).
                     89:        * vax.md (jlbc/jbc/jlbs/jbs): Handle QImode operands properly.
                     90: 
                     91:        * caller-save.c (set_reg_live): Use mode of SUBREG to see how many
                     92:        hard regs are written.
                     93: 
                     94:        * combine.c (simplify_shift_const, case IOR, AND, XOR): Perform
                     95:        logic computation in RESULT_MODE, not mode of VAROP.
                     96: 
                     97: Wed Feb 19 18:32:05 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                     98: 
                     99:        * hp320.h (PRINT_OPERAND): Support codes '$' and '&'.
                    100: 
                    101:        * reload1.c (reload): Add cast of enum in index.
                    102: 
                    103:        * vms.h (CPP_PREDEFINES): Define __GNUC__ as 2.
                    104: 
                    105: Wed Feb 19 21:43:36 1992  Ron Guilmette  (rfg at ncd.com)
                    106: 
                    107:        * dwarfout.c (output_mem_loc_descriptor):  Deleted useless blank line.
                    108:        (output_mem_loc_descriptor) Added code to handle CONSTs in DECL_RTL
                    109:        expressions.
                    110:        (dwarfout_finish):  Added code to put a null string at the end of
                    111:        the terminating .debug_macinfo section.
                    112: 
                    113: Tue Feb 18 18:34:13 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                    114: 
                    115:        * cccp.c (main): Fix typo in comment or spacing.
                    116:        * dbxout.c (dbxout_block): Likewise.
                    117:        * expr.c (convert_move): Likewise.
                    118:        * reload1.c (emit_reload_insn): Likewise.
                    119:        * rtl.h (REG_NOTES): Likewise.
                    120:        * sun4o3.h: Likewise.
                    121:        * ultrix.h (CPP_PREDEFINES): Likewise.
                    122:        * toplev.c (flag_no_common): Likewise.
                    123:        * stmt.c (layout_type): Likewise.
                    124:        * gcc.c (is_linker_dir, lookup_compiler): Likewise.
                    125: 
                    126:        * sched.c (schedule_block): Comment code handling USE insns as
                    127:        obsolete.
                    128: 
                    129: Tue Feb 18 14:44:49 1992  Richard Stallman  ([email protected])
                    130: 
                    131:        * c++: Run gcc in same dir as c++ was in, if exists there.
                    132:        Use `exec' to run it.
                    133:        New var `havefiles'; special message if no input files specified.
                    134:        Pass through any unrecognized options.
                    135: 
                    136:        * g++: Now a link to c++.
                    137: 
                    138: Tue Feb 18 04:54:52 1992  david d [zoo] zuhn  (zoo at lynx.spa.umn.edu)
                    139: 
                    140:        * protoize.c (main): added support for -p flag, to specify which
                    141:        gcc is the one to call for -fgen-aux-info support.
                    142: 
                    143: Tue Feb 18 07:29:23 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    144: 
                    145:        * combine.c (try_combine): Don't clobber OTHER_INSN's PATTERN if
                    146:        we aren't able to change the insn.
                    147: 
                    148:        * romp.md (bit_insv): Add missing CLOBBER when making pattern to
                    149:        match mftb; likewise for the DEFINE_INSN.
                    150: 
                    151: Tue Feb 18 01:03:41 1992  Richard Stallman  ([email protected])
                    152: 
                    153:        * rs6000.h (bss_section): Set `in_section' correctly.
                    154: 
                    155:        * expmed.c (synth_mult): Count second shift for alg_compound.
                    156:        Count extra shift for lea case.
                    157:        * m68k.h (RTX_COSTS): Reduce cost of multiply.
                    158: 
                    159:        * function.c (instantiate_decls): Instantiate DECL_INCOMING_RTL.
                    160: 
                    161: Mon Feb 17 19:17:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    162: 
                    163:        * a29k.md (divmodsi4, udivmodsi4): Don't use reg 180 explicitly.
                    164:        Instead use 'q' constraint letter.
                    165: 
                    166: Mon Feb 17 16:15:02 1992  Richard Stallman  ([email protected])
                    167: 
                    168:        * global-alloc.c (global_alloc): Always call `reload'.
                    169: 
                    170: Mon Feb 17 10:38:38 1992  Jim Wilson  (wilson at sphagnum.cygnus.com)
                    171: 
                    172:        * a29k.md (movdi define_split): Use DImode in operand_subword
                    173:        calls, not DFmode.
                    174: 
                    175: Mon Feb 17 08:20:33 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                    176: 
                    177:        * varasm.c (assemble_external): Check that DECL is some sort of
                    178:        _DECL before referencing its DECL_RTL.
                    179: 
                    180: Sun Feb 16 13:05:36 1992  Michael Tiemann  (tiemann at cygnus.com)
                    181: 
                    182:        * cp-call.c (build_method_call): Add call to `assemble_external' in
                    183:        case this is the first use of FUNCTION.
                    184:        * cp-class.c (build_vfn_ref): Ditto for VTBL.
                    185:        * cp-decl2.c (write_vtable_entries): Ditto for FN.
                    186:        * cp-init.c (build_offset_ref): Ditto for T.
                    187:        * cp-typeck.c (build_function_call_real): Ditto for FUNCTION.
                    188:        * cp-method.c (hack_identifier): Ditto for VALUE.  Also remove
                    189:        action that made call to `assemble_external' when !TREE_USED (VALUE).
                    190: 
                    191:        * cp-lex.c (do_identifier): Remove call to `assemble_external' when
                    192:        implicitly declaring ID.
                    193: 
                    194:        * cp-parse.y (primary): Simplify rules for calling assemble_external.
                    195: 
                    196:        * cp-decl.c (finish_function): For destructors, don't call
                    197:        expand_expr_stmt if EXPRSTMT is VOID_ZERO_NODE.
                    198: 
                    199: Sun Dec 16 23:31:54 1992  Ron Guilmette  (rfg at ncd.com)
                    200: 
                    201:        * dwarfout.c (fundamental_type_code):  Deleted gunk for handling
                    202:        OFFSET_TYPEs. (They are *not* fundamental types).
                    203:        (fundamental_type_code):  Fixed typo.
                    204:        (location_attribute, const_value_attribute):  Changed to take one
                    205:        rtx parameter rather than one tree parameter.
                    206:        (location_or_const_value_attribute):  Changed to use DECL_INCOMING_RTL
                    207:        rather than DECL_RTL for formal parameters.  Also changed calls to
                    208:        location_attribute and const_value_attribute to provide the rtl
                    209:        parameter.
                    210:        (fund_type_attribute):  Changed to accept an actual fundamental type
                    211:        code as a parameter directly.  Also changed all calls correspondingly.
                    212:        (type_attribute):  Separated tests for ERROR_MARK and for VOID_TYPE
                    213:        and added comments.
                    214:        (output_unspecified_parameters_die):  Changed to take one tree param
                    215:        and to generate *both* an AT_name and an AT_type attribute when the
                    216:        input parameter represents of function definition.  Also adjusted
                    217:        all calls correspondingly.
                    218: 
                    219: Sun Feb 16 00:54:10 1992  Richard Stallman  ([email protected])
                    220: 
                    221:        * fixincludes: Add #ifndef around size_t declaration in types.h.
                    222: 
                    223:        * varasm.c (assemble_external): Do nothing if arg isn't a decl.
                    224: 
                    225:        * Makefile.in (cp-parse.c): Update "expect" msg.
                    226: 
                    227:        * next.h (CPP_SPEC): Rename -bsd to -strict-bsd.
                    228: 
                    229:        * Makefile.in (mostlyclean): Add ld, mips-tfile, mips-tdump.
                    230: 
                    231:        * protoize.c (directory_specified_p): Don't match files in subdirs.
                    232: 
                    233:        * xm-rs6k-m.h: Renamed from xm-rs6000-mach.h.
                    234:        * configure (rs6000-*-mach*): Changed accordingly.
                    235: 
                    236:        * collect2.c (handler): No error msg here.  Just resend signal.
                    237:        (write_c_file): Arg to write_list... is pointer.
                    238:        (do_wait): Fix typo.
                    239:        (scan_prog_file for non-OSF): Preserve all underscores.
                    240: 
                    241:        * Makefile.in (install-collect2): Install gcc in libsubdir.
                    242: 
                    243: Sat Feb 15 15:26:03 1992  Richard Stallman  ([email protected])
                    244: 
                    245:        * varasm.c (decode_reg_name): Empty string is not a reg number.
                    246: 
                    247:        * fold-const.c (merge_component_references): NE tests against
                    248:        mismatched constants forces 1, not 0, as value.
                    249: 
                    250:        * i386gas.h (ASM_OUTPUT_OPCODE): Convert repz to repe.
                    251: 
                    252:        * collect2.c: Get rid of PROTO macro; use non-prototype decls.
                    253:        Don't include gstddef.h (had conflicts).  Use gstdarg.h, not stdarg.h.
                    254:        (xcalloc, xmalloc): Add casts.
                    255:        (do_wait): Avoid macros WTERMSIG, WEXITSTATUS missing on some machines.
                    256: 
                    257:        * cp-typeck.c (default_conversion): Don't use initial value if BLKmode.
                    258: 
                    259:        * objc-actions.c (finish_objc): Fix typos in last change.
                    260: 
                    261:        * c-aux-info.c, dbxout.c, cccp.c (errno): Declare, if not a macro.
                    262: 
                    263:        * i386.md (QI bit test recognizer): Split into separate patterns
                    264:        for memory and register args.  Make a scratch reg for memory.
                    265: 
                    266: Fri Feb 14 23:39:58 1992  Richard Stallman  ([email protected])
                    267: 
                    268:        * tree.c (get_identifier): Improve -Wid-clash message.
                    269: 
                    270: Fri Feb 14 16:22:48 1992  Michael Collison  (collison at osf.org)
                    271: 
                    272:        * i386rose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
                    273:        LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
                    274:        (INIT_SECTION_ASM_OP): Define as .init.
                    275:        (CC1PLUS_SPEC): Define it.
                    276:        (LINK_LIBGCC_SPECIAL): Define this to work around linker bug.
                    277: 
                    278: Fri Feb 14 00:38:15 1992  Richard Stallman  ([email protected])
                    279: 
                    280:        * Makefile.in (protoize.o, unprotoize.o): g++-include is under libdir.
                    281: 
                    282:        * Makefile.in (enquire.o): Make the command one long line.
                    283: 
                    284:        * gcc.c (do_spec_1): Omit relative prefixes from -L'ing
                    285:        only if RELATIVE_PREFIX_NOT_LINKDIR is defined.
                    286:        * rs6000.h (RELATIVE_PREFIX_NOT_LINKDIR): Defined.
                    287: 
                    288:        * varasm.c (assemble_external): Test TREE_EXTERNAL.
                    289: 
                    290:        * jump.c (follow_jumps): If can't find chain end, return orig label
                    291: 
                    292:        * mot3300.h (PRINT_OPERAND): Always print 16 hex digits for a double.
                    293: 
                    294:        * objc-actions.c (build_module_descriptor) [NEXT_OBJC_RUNTIME]: Ret 0.
                    295:        (finish_objc): Value 0 from build_module_descriptor means no ctor.
                    296:        When referencing a class_name symbol, don't output a .globl for it.
                    297:        (finish_objc): Put artificial refs in text section.
                    298: 
                    299:        * cccp.c (pedwarn_with_file_and_line): Handle -w, -W.
                    300: 
                    301: Fri Feb 14 07:44:08 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                    302: 
                    303:        * i386.c (notice_update_cc): sCOND opcodes don't change the flags.
                    304:        Don't record test or compares involving stack-like regs, since
                    305:        final can't omits tests or compares involving such regs correctly.
                    306: 
                    307:        * i386.c (seq,sne,beq,bne): These opcodes use the state of
                    308:        cc_status from before the curren insn.
                    309: 
                    310:        * reg-stack.c (stack_reg_mentioned_p): Don't make static.
                    311: 
                    312: Fri Feb 14 06:27:48 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    313: 
                    314:        * jump.c (jump_optimize): Disable "if (...) {... x = C;} if (x) ..."
                    315:        optimization; there doesn't seem to be a way to fix it.
                    316: 
                    317: Thu Feb 13 18:06:06 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                    318: 
                    319:        * seq386.h (ASM_OUTPUT_OPCODE): New macro. Change "movs" into
                    320:        "smov" at the start of a string move mnemonic - Sequent as(1)
                    321:        doesn't handle the former.
                    322: 
                    323: Thu Feb 13 17:21:26 1992  Richard Stallman  ([email protected])
                    324: 
                    325:        * c-decl.c (finish_struct): Use pedwarn for pedantic warning.
                    326:        (grokdeclarator): Likewise.
                    327:        * c-parse.y (component_decl_list2): Likewise.
                    328: 
                    329: Thu Feb 13 22:11:36 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    330: 
                    331:        * combine.c (make_extraction): Default modes to byte and register
                    332:        size, as appopriate, when the bitfield insn doesn't exist.
                    333: 
                    334:        * a29kunix.h (LINK_SPEC): Pass default option file to gld.
                    335:        (LINK_LIBGCC_SPECIAL): Define to work around gld bug.
                    336: 
                    337:        * explow.c (copy_to_suggested_reg): Try getting mode from TARGET.
                    338: 
                    339:        * rs6000.h (ASM_FILE_END): New macro.
                    340:        (EXTRA_SECTIONS): New section read_only_private_data.
                    341:        (EXTRA_SECTION_FUNCTIONS): New function read_only_private_data_section.
                    342:        (SELECT_RTX_SECTION): Always make non-toc data private, read-only.
                    343:        (SELECT_SECTION): Put read-only data in appropriate sections.
                    344: 
                    345:        *  jump.c (jump_optimize): Place branch in correct place when
                    346:        optimizing "if (...) {... x = C;} if (x) ...".
                    347:        (redirect_jump): Ensure jump's UID is within range of jump chain.
                    348: 
                    349:        * a29k.c (output_prologue): Correctly set LR1 when more than 64
                    350:        registers are needed.
                    351: 
                    352: Wed Feb 12 22:22:46 1992    (Eric Youngdale at [email protected])
                    353: 
                    354:        * make-cccp.com: Define link as a local symbol to avoid 
                    355:        possible conflict with a user defined global symbol.
                    356: 
                    357:        * make-cc1.com: Likewise.
                    358: 
                    359: Thu Feb 13 11:05:07 1992  Michael Meissner  (meissner at osf.org)
                    360: 
                    361:        * mips.c (make_temp_file): Store created filename into a static
                    362:        file-scope variable, not an auto.
                    363:        (mips_asm_file_end): Use the appropriate filename in printing
                    364:        errors.
                    365: 
                    366: Thu Feb 13 01:15:00 1992  Richard Stallman  ([email protected])
                    367: 
                    368:        * cccp.c (skip_if_group): Skip comments after the #.
                    369: 
                    370:        * cccp.c (macarg): Don't assume stringify will compress spaces.
                    371:        (macroexpand): In stringify, compress space only outside tokens.
                    372: 
                    373:        * cexp.y (exp1): Use pedwarn for comma in #if.
                    374: 
                    375:        * cp-decl.c (push_binding_level, pop_binding_level):
                    376:        Change `inline' to `__inline'.
                    377: 
                    378:        * combine.c (make_compound_operation): Undo previous change.
                    379: 
                    380: Wed Feb 12 18:47:47 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    381: 
                    382:        * function.c (instantiate_virtual_regs_1, case IF_THEN_ELSE):
                    383:        Don't special case; allow all operands to be processed.  The last
                    384:        two operands are nontrivial on the Vax.
                    385: 
                    386: Wed Feb 12 18:58:48 1992  Richard Stallman  ([email protected])
                    387: 
                    388:        * gcc.c (do_spec_1): Only absolute prefixes turn into -L's.
                    389:        (link_command_spec): Handle LINK_LIBGCC_SPECIAL.
                    390: 
                    391: Wed Feb 12 18:38:29 1992  Chris Smith  (csmith at convex.com)
                    392: 
                    393:        * convex.h (DEFAULT_CALLER_SAVES): define again, bug is fixed.
                    394:        * convex.h (BRANCH_COST): Define as 0, so we won't use complex
                    395:        alternatives to branches (whose expansions contain branches
                    396:        on convex).
                    397: 
                    398: Wed Feb 12 17:23:57 1992  Richard Stallman  ([email protected])
                    399: 
                    400:        * config.sub: Accept just `hppa' for machine.
                    401: 
                    402:        * Makefile.in (Install-collect2): New target.
                    403: 
                    404: Wed Feb 12 13:55:24 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    405: 
                    406:        * reorg.c (relax_delay_slots): Don't convert jump to return here.
                    407: 
                    408:        * configure (a29k-ultra-*): Deleted.
                    409:        (a29k-*-bsd*): Merged with a29k-ultra-*.
                    410:        (romp-*-mach*): Fixed typo in xmake_file name.
                    411:        * xm-a29kunix.h: Renamed from xm-a29k-ult.h.
                    412:        * x-a29kunix: New file.
                    413: 
                    414:         * reload.c (find_reloads): Don't use class from preference if it
                    415:         is a single-register class.
                    416: 
                    417: Wed Feb 12 13:03:16 1992  Tom Wood  (wood at dg-rtp.dg.com)
                    418: 
                    419:        * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN): Pack code tightly
                    420:        when compiling crtstuff.c (flag_inhibit_size_directive).
                    421: 
                    422: Wed Feb 12 10:34:09 1992  Michael Meissner  (meissner at osf.org)
                    423: 
                    424:        * decrose.h (*_SPEC): Compress some whitespace in the specs.  Also,
                    425:        simpify which LANGUAGE_xxx names are defined, to be the ones uses by
                    426:        the system(s).
                    427:        * decstatn.h (*_SPEC): Likewise.
                    428:        * iris.h (*_SPEC): Likewise.
                    429:        * mips.h (*_SPEC): Likewise.
                    430:        * mips-bsd.h (*_SPEC): Likewise.
                    431:        * mips-news.h (*_SPEC): Likewise.
                    432:        * mips-sysv.h (*_SPEC): Likewise.
                    433: 
                    434: Wed Feb 12 10:34:09 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    435: 
                    436:        * caller-save.c (insert_save_restore): Properly check for insns that
                    437:        reference CC0.
                    438: 
                    439: Wed Feb 12 03:17:00 1992  Chris Smith  (csmith at convex.com)
                    440: 
                    441:        * convex.h (DEFAULT_CALLER_SAVES): don't define, to sidestep a bug.
                    442:        * convex.md (ffssi2): Comment out.
                    443: 
                    444: Wed Feb 12 00:08:42 1992    (Eric Youngdale at [email protected])
                    445: 
                    446:        * make-libgcc2.com: Do not save .s file.
                    447: 
                    448:        * vms.h: Wrap #include <stdio.h> in #ifdef L__main/endif
                    449: 
                    450: Tue Feb 11 21:58:42 1992    (Eric Youngdale at [email protected])
                    451: 
                    452:        * libgcc2.c (DO_GLOBAL_DTORS_BODY): New macro.
                    453: 
                    454:        * make-l2.com: New file to build libgcc2 on VMS.
                    455: 
                    456:        * vms.h (DO_GLOBAL_CTORS_BODY): Replacement definition.
                    457: 
                    458:        * vms.h (DO_GLOBAL_DTORS_BODY): Likewise.
                    459: 
                    460:        * make-cccp.com: Define bison and rename as local symbols to avoid 
                    461:        possible conflict with user defined global symbols.
                    462: 
                    463: Tue Feb 11 22:17:32 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    464: 
                    465:        * sched.c (attach_deaths): Don't treat PIC offset table register
                    466:        specially; flow.c doesn't.
                    467: 
                    468:         * combine.c (make_compound_operation, case AND): We can have
                    469:         a (and (subreg (lshiftrt ..) ..) ..); handle same as without SUBREG.
                    470:  
                    471:        * Makefile.in (HOST_CLIB, HOST_ALLOCA, HOST_MALLOC, HOST_OBSTACK): New
                    472:        variables to override.
                    473:        (USE_HOST_*, HOST_LIBDEPS): Use HOST_PREFIX and new variables.
                    474:        (HOST_LIBS): Use HOST_CLIB.
                    475: 
                    476: Tue Feb 11 21:32:07 1992  Richard Stallman  ([email protected])
                    477: 
                    478:        * Makefile.in (install-common-headers): Copy byteorder.h to
                    479:        compilation dir.
                    480: 
                    481:        * config.sub: Allow unicos as operating system.
                    482: 
                    483:        * m88kv4.h (INIT_SECTION_ASM_OP): Add #progbits.
                    484: 
                    485:        * vax.h (DYNAMIC_CHAIN_ADDRESS): New macro.
                    486: 
                    487:        * c++: Propagate quoted args properly.
                    488: 
                    489: Tue Feb 11 16:35:01 1992  Jim Wilson  (wilson at cygnus.com)
                    490: 
                    491:        * fixincludes: Define TERM to `unknown', to ensure that it is
                    492:        valid.  Otherwise, ex may fail.
                    493:        * fixinc.svr4: Likewise.
                    494: 
                    495: Tue Feb 11 18:04:32 1992  Michael Meissner  (meissner at osf.org)
                    496: 
                    497:        * decrose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
                    498:        LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
                    499:        Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
                    500:        * decstatn.h (CPP_SPEC): Likewise.
                    501:        * iris.h (CPP_SPEC): Likewise.
                    502:        * mips-bsd.h (CPP_SPEC): Likewise.
                    503:        * mips-news.h (CPP_SPEC): Likewise.
                    504:        * mips-sysv.h (CPP_SPEC): Likewise.
                    505: 
                    506:        * decstatn.h (CPP_PREDEFINES): Eliminate __<name> versions, since
                    507:        gcc will do these automatically.  Eliminate LANGUAGE_C, since it is
                    508:        handled in CPP_SPEC.
                    509: 
                    510: Tue Feb 11 15:38:27 1992  Richard Stallman  ([email protected])
                    511: 
                    512:        * flow.c (find_basic_blocks): Don't delete labels used in non-jumps.
                    513: 
                    514:        * vms.h (DO_GLOBAL_CTORS_BODY): Modify the return address
                    515:        only the first time __main is called.
                    516: 
                    517:        * fixinc.svr4: Change headers to test __STRICT_ANSI__ instead of
                    518:        testing __STDC__ != 0.
                    519: 
                    520:        * fixinc.svr4 (mman.h): Fix backward __STDC__ conditional.
                    521:        Don't add declarations of munmap and mprotect.
                    522: 
                    523:        * varasm.c (output_constant): Allow empty constructor for any type.
                    524: 
                    525:        * dwarfout.c (ASM_OUTPUT_DWARF_DATA8): Just one definition;
                    526:        test WORDS_BIG_ENDIAN "at run time".
                    527: 
                    528: Tue Feb 11 09:00:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    529: 
                    530:        * reload.c (find_reloads): Don't substitute in MATCH_DUPs if we
                    531:        are not generating replacements.
                    532: 
                    533: Tue Feb 11 08:45:14 1992  Tom Wood  (wood at dg-rtp.dg.com)
                    534: 
                    535:        * m88kv4.h ({CTORS,DTORS}_SECTION_ASM_OP): Fix typo.
                    536: 
                    537: Mon Feb 10 22:34:47 1992  Chris Smith  (csmith at convex.com)
                    538: 
                    539:        * convex.h(HARD_REGNO_NREGS): define correctly for 64-bit regs
                    540: 
                    541: Mon Feb 10 21:50:23 1992  Michael Meissner  (meissner at osf.org)
                    542: 
                    543:        * mips.h (MIPS_VERSION): Change Meissner version # to 11.
                    544:        (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and
                    545:        LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++.
                    546:        Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS.
                    547:        (FP_DBX_FIRST): Change the test so that stabs in ECOFF uses the
                    548:        value 38, in addition to stabs in GAS.
                    549: 
                    550:        * mips.md (all function units): Make the function units simpler, and
                    551:        not depend on the cpu type, to work around a memory hungry
                    552:        genattrtab, which attempts to grow the data segment to than 32
                    553:        megabytes.
                    554: 
                    555: Mon Feb 10 16:34:11 1992  Richard Stallman  ([email protected])
                    556: 
                    557:        * convex.h (REAL_VALUE_TRUNCATE): Obsolete definition deleted.
                    558: 
                    559:        * config.sub (convex-*): These are BSD, not sysv.
                    560: 
                    561:        * dbxout.c (have_used_extensions): New var.
                    562:        (dbxout_type, dbxout_type_fields, dbxout_symbol):
                    563:        Set have_used_extensions when use an extension.
                    564:        (dbxout_symbol): Don't use `Tt' extension unless extensions
                    565:        have been used.
                    566: 
                    567: Mon Feb 10 12:28:59 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    568: 
                    569:        * xm-a29k-ult.h: Fix typo in placement of copyright notice.
                    570: 
                    571: Mon Feb 10 05:36:45 1992  Richard Stallman  ([email protected])
                    572: 
                    573:        * dbxout.c (dbxout_type): Don't use GDB extensions if they are empty.
                    574: 
                    575: Mon Feb 10 00:10:20 1992  Michael Tiemann  (tiemann at cygnus.com)
                    576: 
                    577:        * cp-class.c (finish_struct): Use DECL_CHAIN, not TREE_CHAIN to walk
                    578:        through the list of methods identified by a visibility declaration.
                    579: 
                    580:        * cp-cvt.c (convert_pointer_to): No longer need to abort if BINFO is
                    581:        not a TREE_VEC or AGGR_TYPE node.
                    582: 
                    583:        * cp-parse.y (stmt): Improve error handling for try/except.
                    584: 
                    585:        * cp-class.c (add_method): If we create RTL for a copy of METHOD,
                    586:        copy the RTL to METHOD's DECL_RTL slot.
                    587: 
                    588:        * cp-method.c (dump_type): Print `const' and/or `volatile' for
                    589:        VOID_TYPE and REAL_TYPEs, too.
                    590: 
                    591: Sun Feb  9 21:07:45 1992  Richard Stallman  ([email protected])
                    592: 
                    593:        * varasm.c (assemble_integer): Pass third arg in recursive calls.
                    594:        Act appropriately if word-by-word loop doesn't finish.
                    595: 
                    596:        * Makefile.in (bootstrap*): Don't override value of ALLOCA.
                    597: 
                    598:        * dbxout.c (dbxout_symbol, dbxout_parms): Do leaf function remap
                    599:        only if LEAF_REG_REMAP and only in leaf functions.
                    600: 
                    601: Sun Feb  9 16:46:27 1992  Michael Tiemann  (tiemann at cygnus.com)
                    602: 
                    603:        * cp-init.c (maybe_adjust_addr_for_delete): Build final COND_EXPR
                    604:        with TREE_TYPE (addr).
                    605: 
                    606: Sun Feb  9 14:20:49 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    607: 
                    608:        * rs6000.h (rs6000_{bss,private_data,read_only}_section_name):
                    609:        Add declarations.
                    610:        (rs6000_text_section_asm_op): Deleted.
                    611:        (ASM_FILE_START): Initialize section names and enter bss section once.
                    612:        (EXTRA_SECTIONS): Add `private_data' and `bss';
                    613:        delete `global_variable'..
                    614:        (read_only_data_section): Don't form name here.
                    615:        (global_variable_section): Deleted.
                    616:        (private_data_section, bss_section): New functions.
                    617:        (ASM_DECLARE_FUNCTION_NAME): Don't write function name with [PR].
                    618:        (ASM_OUTPUT_POLL_PROLOGUE): No longer needed.
                    619:        (SELECT_{RTX_,}SECTION): Just calls data_section or
                    620:        private_data_section.
                    621:        (ASM_OUTPUT_LOCAL): Put in bss section.
                    622:        (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Now a constant.
                    623:        * rs6000.c (rs6000_text_section_asm_op): Deleted.
                    624:        (rs6000_{bss,private_data,read_only}_section_name): Add definitions.
                    625:        (rs6000_gen_section_name): New function.
                    626: 
                    627: Sun Feb  9 08:29:21 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                    628: 
                    629:        * i386.h (REGNO_REG_CLASS): Use a lookup table: AIX can't handle
                    630:        complex tertiary expressions.
                    631:        (GO_IF_LEGITIMATE_ADDRESS): Simplify slightly for the AIX
                    632:        compiler.
                    633: 
                    634:        * i386.c (regclass_map): New variable.  Lookup array for
                    635:        REGNO_REG_CLASS.
                    636: 
                    637: Sat Feb  8 01:20:33 1992  Richard Stallman  ([email protected])
                    638: 
                    639:        * cp-parse.y (yyprint): Test __GNUC__, not __GNU__.
                    640:        Use __inline, like everywhere else.
                    641: 
                    642:        * a29k.h, romp.h (OVERRIDE_OPTIONS): Deleted.
                    643:        (OPTIMIZATION_OPTIONS): Defined, instead.
                    644:        * rs6000.h (OPTIMIZATION_OPTIONS): New macro.
                    645:        (OVERRIDE_OPTIONS): Don't change optimization.
                    646: 
                    647:        * final.c (leaf_renumber_regs_insn): No longer static.
                    648:        * dbxout.c (dbxout_symbol, dbxout_parms): Call that.
                    649: 
                    650:        * c-decl.c (lookup_name): Do nothing special if type is error mark.
                    651:        (grokdeclarator): Ignore putative type name whose type is error mark.
                    652:        * c-parse.y (primary): If var type is error mark, return error mark.
                    653: 
                    654:        * c-typeck.c (build_array_ref): Return early if arg is error mark.
                    655: 
                    656:        * Makefile.in (test-protoize): Rule deleted.
                    657: 
                    658:        * stmt.c (emit_case_nodes): Handle just-left-subtree case
                    659:        like just-right-subtree--delete mysterious code that tests cost_table.
                    660: 
                    661:        * varasm.c (decode_reg_name): Accept decimal number as reg name.
                    662: 
                    663:        * c-decl.c (finish_decl): If pop_obstacks goes to perm obstack,
                    664:        call permanent_allocation.
                    665: 
                    666:        * gcc.c (link_command_spec): Use -lgcc, not libgcc.a.
                    667: 
                    668: Fri Feb  7 16:56:17 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                    669: 
                    670:        * rs6000.h (DOLLARS_IN_IDENTIFIERS): Define to zero, because the
                    671:        assembler does not accept dollar signs.
                    672: 
                    673: Fri Feb  7 15:36:40 1992  Richard Stallman  ([email protected])
                    674: 
                    675:        * Makefile.in (mostlyclean): Fix name of tmp-proto.1.
                    676: 
                    677:        * configure: Delete excess space in assignment to srcdir.
                    678: 
                    679:        * cp-decl2.c (DOLLARS_IN_IDENTIFIERS): Default now 1, as in C.
                    680: 
                    681:        * i386gas.h (ASM_OUTPUT_LOOP_ALIGN): New macro.
                    682:        (ASM_OUTPUT_ALIGN_CODE): Use 16-byte boundary on 486.
                    683: 
                    684:        * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use operands for the memrefs
                    685:        to avoid dependence on assembler syntax.
                    686: 
                    687: Fri Feb  7 10:26:32 1992  Michael Meissner  (meissner at osf.org)
                    688: 
                    689:        * Makefile.in (EXTRA_OBJS): New variable for extra object files
                    690:        needed when linking cc1, cc1plus, and cc1objc.
                    691: 
                    692: Fri Feb  7 07:34:03 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    693: 
                    694:        * reload1.c (set_label_offsets, reload_as_needed): Recompute
                    695:        num_not_at_initial_offset when we pick up offsets from offsets_at.
                    696: 
                    697:        * unroll.c (unroll_loop): Copy initial and final values to avoid
                    698:        sharing.
                    699:        
                    700:        * cse.c (simplify_relational_operation): Complete last change by
                    701:        correctly handling <= and >=.
                    702: 
                    703: Thu Feb  6 23:57:02 1992  Michael Tiemann  (tiemann at cygnus.com)
                    704: 
                    705:        * cp-decl.c (grokdeclarator): Invert sense of warning about
                    706:        initialized extern vars, since in C++, const has funny semantics.
                    707: 
                    708: Thu Feb  6 15:12:02 1992  Richard Stallman  ([email protected])
                    709: 
                    710:        * cse.c (simplify_relational_operation): Test properly for floating
                    711:        equality; don't deduce this from < and >.
                    712: 
                    713:        * xm-mips.h (alloca): Don't define or declare if MIPS_OVERRIDE_ALLOCA.
                    714:        * xm-irix4.h (MIPS_OVERRIDE_ALLOCA): Defined.
                    715: 
                    716:        * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use explicit reg var
                    717:        to avoid dependence on register name syntax.
                    718: 
                    719:        * mot3300.h (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM):
                    720:        New macros.
                    721:        (PUT_SDB_DIM): Deleted.
                    722:        (PRINT_OPERAND): Handle %$ and %&.
                    723:        (ASM_OUTPUT_OPCODE): Handle f%$move and f%&move.
                    724: 
                    725:        * gstdarg.h: If not __GNUC__, use system's stdarg.h.
                    726: 
                    727: Thu Feb  6 22:36:36 1992    (Eric Youngdale at [email protected])
                    728: 
                    729:        * vms.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
                    730: 
                    731: Thu Feb  6 13:32:37 1992  Michael Meissner  (meissner at osf.org)
                    732: 
                    733:        * mips.h (MIPS_VERSION): Set Meissner version # to 10.
                    734:        (flag_half_pic, mips_branch_likely): New global variables.
                    735:        (call_memory_operand): New function declaration.
                    736:        (half_pic_encode_section_info): Likewise.
                    737:        (mips_constant_address_p): Likewise.
                    738:        (mips_debugger_offset): Likewise.
                    739:        (CC1_SPEC): Make OSF/1 -pic-xxx switches to -mhalf-pic, which is
                    740:        currently undergoing development.
                    741:        (DEBUGGER_AUTO_OFFSET): Emit correct information if frame pointer is
                    742:        omitted.
                    743:        (DEBUGGER_ARG_OFFSET): Likewise.
                    744:        (TARGET_SWITCHES): Add -mabicalls and -mhalf-pic switches.
                    745:        (PIC_OFFSET_TABLE_REGNUM): Define as the GP register ($28).
                    746:        (EXTRA_CONSTRAINT): Add 'S' constraint for half-pic references.
                    747:        (CONSTANT_ADDRESS_P): Call mips_constant_address_p.
                    748:        (ENCODE_SECTION_INFO): Reorder test to test optimize first, and to
                    749:        call half_pic_encode_section_info if half pic.
                    750:        (PREDICATE_CODES): Add call_memory_operand.
                    751: 
                    752:        * mips.c (flag_half_pic): New global variable to indicate to produce
                    753:        half-pic output for OSF/rose.
                    754:        (mips_branch_likely): New global variable to indicate the branch
                    755:        should use the branch likely form of the instruction.
                    756:        (mips_sw_reg_names): Use $fp instead of fp, since regdef.h no longer
                    757:        defines fp.
                    758:        (call_memory_operand): New function to return TRUE if the argument
                    759:        is a valid MEM for a call instruction.
                    760:        (mips_move_1word): Emit comment in la of half-pic addresses as a
                    761:        temporary flag to put the right code down.
                    762:        (mips_constant_address): New function to determine if something is a
                    763:        constant address or not.  Add stub code for -mhalf-pic.
                    764:        (override_options): Set flag_half_pic if -mhalf-pic.
                    765:        (override_options): Mark %? as valid for print_operand.
                    766:        (mips_debugger_offset): New function to correct the offset for
                    767:        variables and arguments if the frame pointer has been omitted.
                    768:        (print_operand): %? now emits a 'l' if mips_branch_likeley is set.
                    769:        (mips_asm_file_start, function_prologue): If -mabicalls, emit the
                    770:        pseudo ops that the Pyramid System V.4 port seems to want.
                    771:        (compute_frame_size): Reserve space for saving GP if -mabicalls.
                    772:        (half_pic_encode_section_info): Stub function for encoding whether
                    773:        or not to generate a half pic reference.
                    774: 
                    775:        * mips.md (type attribute): Add pic attribute.
                    776:        (cpu attribute): New attribute to get the CPU type.
                    777:        (branch_likely attribute): New attribute to say whether or not we
                    778:        can use branch likely instructions.
                    779:        (define_delay): Note that we can annull false branches if -mips2.
                    780:        (memory function unit): Add pic in addition to load.
                    781:        (various function units): Use the cpu attribute.
                    782:        (branch patterns): Support branch likely instructions if -mips2.
                    783:        (call, call_internal): Use call_memory_operand instead of
                    784:        memory_operand.  If -mhalf-pic put function address in a register.
                    785:        (call_value, call_value_internal): Likewise.
                    786: 
                    787:        * decrose.h (INIT_SECTION_ASM_OP): Define as .init.
                    788: 
                    789: Thu Feb  6 10:07:17 1992  Tom Wood  (wood at dg-rtp.dg.com)
                    790: 
                    791:        * m88k.c (preserve_registers): Change to walk the epilogue delay
                    792:        insns in the forward rather than reverse order (for reorg.c change).
                    793: 
                    794: Thu Feb  6 02:54:28 1992  Richard Stallman  ([email protected])
                    795: 
                    796:        * cse.c (simplify_binary_operation, case PLUS): Don't make
                    797:        a (const (plus X Y)) with X a CONST_INT.
                    798: 
                    799:        * fixincludes: Simplify egrep command.
                    800: 
                    801: Thu Feb  6 01:11:28 1992  Mark Eichin  (eichin at cygnus.com)
                    802: 
                    803:        * cp-lex.c (process_next_inline): if we get a "parse error at end of
                    804:        saved function text", set yychar to something that
                    805:        restore_pending_input will digest (if it thinks input is still
                    806:        pending, it will abort, but we've already reported the problem to
                    807:        the user.)
                    808: 
                    809: Wed Feb  5 18:42:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    810: 
                    811:        * reorg.c (fill_simple_delay_slots): When filling delay slots by
                    812:        searching backward, put each new insn we find at the head of the
                    813:        delay list instead of at the tail.
                    814: 
                    815:        * cse.c (fold_rtx): When associating operations, avoid infinite
                    816:        recursion if the new expression contains our operand.
                    817: 
                    818: Wed Feb  5 21:18:06 1992  Mark Eichin  (eichin at cygnus.com)
                    819: 
                    820:        * cp-decl.c (globalize_nested_type): If the type isn't found at all,
                    821:        this is an anonymous forward reference, so permit it.
                    822:        Abort if type is already globally defined.
                    823: 
                    824: Wed Feb  5 18:01:12 1992  Richard Stallman  ([email protected])
                    825: 
                    826:        * varasm.c, hp800.h, i386.h, m88k.h, mips.h, romp.h, vms.h:
                    827:        (ENCODE_SECTION_INFO): Renamed from ENCODE_SEGMENT_INFO.
                    828: 
                    829:        * sparc.md (nonlocal_goto): Copy static chain into
                    830:        virtual_stack_vars_rtx, not frame pointer itself.
                    831:        (nonlocal goto return recognizer): Jump to %o0+0.
                    832: 
                    833:        * toplev.c (main): Fix test for -Wid-clash.
                    834: 
                    835: Wed Feb  5 16:58:15 1992  Ron Guilmette  (rfg at ncd.com)
                    836: 
                    837:        * dwarfout.c (dwarfout_init):  Add two words containing the starting
                    838:        and ending address of the .text section for this compilation unit to
                    839:        the special initial entry in the .debug_srcinfo section.
                    840: 
                    841: Tue Feb  4 14:51:16 1992  Richard Stallman  ([email protected])
                    842: 
                    843:        * dbxout.c (dbxout_symbol): Handle DBX_OUTPUT_CONSTANT_SYMBOL.
                    844:        (dbxout_block): Handle DBX_OUTPUT_CATCH.
                    845: 
                    846:        * cccp.c (lookup_import, add_import, do_include):
                    847:        Use bcmp and bcopy to access st_ino and ->inode fields.
                    848: 
                    849:        * dbxout.c (dbxout_init): Pass syms to DBX_OUTPUT_STANDARD_TYPES.
                    850: 
                    851:        * fold-const.c (operand_equal_p): Check that modes match.
                    852:        (comparison_equiv_p): New function.
                    853:        (fold): Use that when converting ?: to min_expr or max_expr.
                    854: 
                    855:        * c-common.c (c_expand_expr_stmt): Test for ERROR_MARK as type.
                    856: 
                    857: Tue Feb  4 12:03:26 1992  Michael Tiemann  (tiemann at cygnus.com)
                    858: 
                    859:        * stmt.c (expand_end_case): Don't crash if function called
                    860:        is not an ADDR_EXPR.
                    861: 
                    862: Tue Feb  4 14:17:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    863: 
                    864:        * expr.h ({float[sd]i[sd]f,fix[sd]f[sd]i,fixuns[sd]f[sd]i}_libfunc):
                    865:        New declarations.
                    866:        * optabs.c: Define them.
                    867:        (expand_float, expand_fix): Use them instead of making a new
                    868:        SYMBOL_REF each call.
                    869:        (init_optabs): Initialize them.
                    870: 
                    871: Tue Feb  4 00:27:35 1992  Richard Stallman  ([email protected])
                    872: 
                    873:        * Makefile.in (protoize.1, unprotoize.1): Rename temp files < 14 chrs.
                    874: 
                    875:        * cccp.c (skip_if_group): Make unknown cmd name a pedantic warning.
                    876: 
                    877: Mon Feb  3 18:10:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    878: 
                    879:        * romp.h (LEGITIMATE_CONSTANT_P, ENCODE_SEGMENT_INFO): Use
                    880:        SYMBOL_REF_FLAG.
                    881: 
                    882:        * x-romp-mach: New file.
                    883:        * configure (romp-*-mach*): New alternative.
                    884: 
                    885: Mon Feb  3 16:43:55 1992  Richard Stallman  ([email protected])
                    886: 
                    887:        * cp-typeck.c (warn_for_assignment): Print arg num in origin 1.
                    888: 
                    889:        * sparc.md (nonlocal_goto trap recognizer): Fix opcode spelling.
                    890: 
                    891:        * function.c (fix_lexical_addr): Properly search for correct display.
                    892: 
                    893:        * romp.h (OVERRIDE_OPTIONS): Don't set flag_omit_frame_pointer.
                    894: 
                    895: Mon Feb  3 11:11:58 1992  Michael Tiemann  (tiemann at cygnus.com)
                    896: 
                    897:        * gcc.c (@c++-cpp-output): Delete extraneous "}}}" at the end of the
                    898:        rule.
                    899: 
                    900: Mon Feb  3 11:38:19 1992  Ron Guilmette  (rfg at ncd.com)
                    901: 
                    902:        * dwarfout.c (dwarfout_init):  Generate an initial 2-word entry in the
                    903:        .debug_srcinfo section containing the addresses of the starts of the
                    904:        .line and .debug_sfnames sections.  Generate it after the initial entry
                    905:        for the .line section.
                    906: 
                    907:        * dwarfout.c [DWARF_TIMESTAMPS]: Ensure time_t and time declared.
                    908:        (dwarfout_init):  Make third word of initial .debug_srcinfo entry be
                    909:        the compilation date/time if DWARF_TIMESTAMPS is defined, or else -1.
                    910: 
                    911:        * dwarfout.c (dwarfout_init):  Output compilation directory name as
                    912:        the first thing in the .debug_sfnames section.
                    913: 
                    914: Mon Feb  3 04:12:51 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                    915: 
                    916:        * Makefile.in (install-dir): `parent' is a shell variable.
                    917: 
                    918: Mon Feb  3 09:43:51 1992  Tom Wood  (wood at dg-rtp.dg.com)
                    919: 
                    920:        * m88k.h (EXTRA_SECTIONS): Use init and fini sections from svr3.h,
                    921:        but only when using svr3.h.
                    922: 
                    923: Sun Feb  2 19:50:29 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                    924: 
                    925:        * i386.h (ADDRESS_COST): New macro.
                    926: 
                    927: Sun Feb  2 17:08:47 1992  Michael Meissner  (meissner at osf.org)
                    928: 
                    929:        * mips.c (simple_memory_operand): Don't recognize references to
                    930:        variables in .sdata or .sbss, which has the effect of not putting
                    931:        stores into delay slots.  This fixes a bug and also doesn't temp the
                    932:        MIPS linker from trying to put 4 instructions into the delay slot
                    933:        when it rewrites the function as a PIC function.
                    934: 
                    935: Sun Feb  2 16:58:11 1992  Richard Stallman  ([email protected])
                    936: 
                    937:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Do ON_EXIT last.
                    938: 
                    939:        * Makefile.in (install-dir):  Create the parent of mandir if nec.
                    940: 
                    941:        * real.h (REAL_VALUE_TRUNCATE): sizeof says what cast to float does.
                    942: 
                    943:        * dbxout.c (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): New parameter macro.
                    944:        (DBX_OUTPUT_MAIN_SOURCE_FILENAME, DBX_OUTPUT_SOURCE_FILENAME):
                    945:        (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
                    946:        These are used in place of ASM_...
                    947:        * newpbb.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Macro renamed.
                    948:        (DBX_OUTPUT_SOURCE_FILENAME): Likewise.
                    949:        * next.h (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): Macro renamed.
                    950:        (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise.
                    951: 
                    952: Sun Feb  2 12:51:54 1992  Michael Tiemann  (tiemann at cygnus.com)
                    953: 
                    954:        * cp-typeck.c (build_component_ref_1): Call `compute_visibility'
                    955:        with a BASETYPE_PATH, not a TREE_LIST.
                    956: 
                    957:        * cp-class.c (build_vtable_entry): Apologize if we cannot build a
                    958:        proper vtable because of builtin liminations.
                    959: 
                    960: Sun Feb  2 07:30:08 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                    961: 
                    962:        * reload.c (combine_reloads): Don't combine two reloads with different
                    963:        secondary reloads; copy secondary reload to combined reload.
                    964: 
                    965:        * cse.c (cse_main): PIC_OFFSET_TABLE_REGNUM is not clobbered by calls
                    966:        if -fpic or -fPIC.
                    967:        * reorg.c (mark_target_live_regs): Likewise.
                    968:        * sched.c (attach_deaths): Likewise.
                    969: 
                    970:        * flow.c (find_basic_blocks): Don't separate a CALL_INSN from
                    971:        following CLOBBER insns.
                    972: 
                    973:        * function.c (use_variable, use_variable_after): Don't interpret
                    974:        reference to internal arg pointer as variable-sized object.
                    975:        (expand_function_start, expand_function_end): Add USE for virtual
                    976:        arg pointer if stupid alloc and it is not the real arg pointer.
                    977: 
                    978:        * flow.c (insn_dead_p, mark_set_1, mark_used_regs): Don't treat
                    979:        ARG_POINTER_REGNUM specially if it isn't fixed.
                    980:        * sched.c (attach_deaths): Likewise.
                    981:        * reorg.c (mark_target_live_regs): Likewise; also make set of regs
                    982:        clobbered on call agree with cse and flow.
                    983: 
                    984:        * function.c (fix_lexical_addr): Rework to look for AP references
                    985:        using internal_arg_pointer; make some related cleanups.
                    986:        * expr.c (expand_expr, case VAR_DECL, SAVE_EXPR): Treat
                    987:        inline_function_decl just like current_function_decl.
                    988:        * stmt.c (expand_end_bindings): When restoring arg pointer, restore
                    989:        into the virtual form so we will subtract the proper offset, since
                    990:        the saved value includes the offset.
                    991: 
                    992: Sat Feb  1 14:41:34 1992  Ken Raeburn  ([email protected])
                    993: 
                    994:        * cp-pt.c (end_template_decl): For method template, no longer call
                    995:        popclass; it isn't needed any more.  If after processing template
                    996:        we're not at the global binding level, throw away any other binding
                    997:        levels, rather than aborting.  Also deleted some other unused code.
                    998: 
                    999: Sat Feb  1 09:13:47 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1000: 
                   1001:        * xm-rs6000-mach.h, rs6000-mach.h: New files.
                   1002:        * configure (rs6000-*-mach): New option.
                   1003: 
                   1004: Sat Feb  1 00:57:24 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1005: 
                   1006:        * i386.c: Include tree.h
                   1007:        (symbolic_operand): New predicate function.
                   1008:        (symbolic_reference_mentioned_p): New function.
                   1009:        (legitimize_pic_address,emit_pic_move): New functions.
                   1010:        (function_prologue): Delete unused variable nregs.
                   1011:        If the PIC reg is used, save the old contents and initialize with
                   1012:        a pointer to the GOT.
                   1013:        (simple_386_epilogue): Count the PIC reg if it is used.
                   1014:        (function_epilogue): Delete unused variable "insn".  Restore the
                   1015:        original contents of the PIC reg if it was used.
                   1016: 
                   1017:        (output_pic_addr_const): New function to handle PIC symbol
                   1018:        reference suffixes.
                   1019:        (print_operand_address): Use that if flag_pic is true.
                   1020:        (print_operand): Likewise.  Don't print a prefix in front of any
                   1021:        constant if the 'P' code is used.
                   1022: 
                   1023:        (output_387_binary_op): abort if the op is not one we handle.
                   1024: 
                   1025:        (maximum_field_alignment): New variable.
                   1026:        (handle_pragma_token): New function.  Handle `weak' and `pack'.
                   1027: 
                   1028:        * i386.h (CONDITION_REGISTER_USAGE): New macro.  Mark PIC reg as
                   1029:        fixed and call used if flag_pic is true.
                   1030:        (PIC_OFFSET_TABLE_REGNUM): New macro.
                   1031:        (FUNCTION_PROFILER): Output PIC compatible code if flag_pic.
                   1032:        (INITIAL_ELIMINATION_OFFSET): Count the PIC reg if it is used.
                   1033: 
                   1034:        (GO_IF_LEGITIMATE_ADDRESS): If flag_pic is true, reject bare
                   1035:        label or symbol references, but allow constant pool references.
                   1036:        In all cases, don't bother to check for a constant as the first
                   1037:        operand of a PLUS.
                   1038:        (LEGITIMIZE_ADDRESS): Call legitimize_pic_address for symbolic
                   1039:        references if flag_pic is true.  In all cases, HImode regs are not
                   1040:        valid memory pointers.
                   1041:        (LEGITIMATE_PIC_OPERAND): New macro.
                   1042:        (SYMBOLIC_CONST): New macro.
                   1043:        (ENCODE_SEGMENT_INFO): New macro to notice static variables.
                   1044:        (CONST_COSTS): Symbolic constants cost more if flag_pic is true.
                   1045: 
                   1046:        * i386.md (movsi): Use define_expand.  Call emit_pic_move for
                   1047:        symbolic constants if flag_pic is true.
                   1048:        (divmodM4,udivmodM4): Change predicates so that only regs are
                   1049:        allowed in operands that can't be a mem.  Avoids reload
                   1050:        congestion.
                   1051:        (indirect_jump): Allow any reg or mem as operand, not just reg 0.
                   1052:        (casesi): New insn, only used if flag_pic is true.
                   1053:        (call,call_pop,call_value,call_value_pop): Use define_expand to
                   1054:        record if this function ever emits a call, which will implicitly
                   1055:        use the PIC address register.
                   1056: 
                   1057:        * svr4.h (SELECT_SECTION): Any item whose initial value involves
                   1058:        linker relocation must go in the data section if flag_pic is true.
                   1059: 
                   1060:        * i386v4.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output in PIC style.  If
                   1061:        flag_pic is false, ADDR_DIFF_VECs are not output and this is not
                   1062:        used.
                   1063:        (JUMP_TABLES_IN_TEXT_SECTION): New macro.
                   1064: 
                   1065:        (WEAK_ASM_OP,DEF_ASM_OP): New macros.
                   1066:        (maximum_field_alignment): New variable.  Declare here.
                   1067:        (PCC_BITFIELD_TYPE_MATTERS): New macro.  Value depends on
                   1068:        maximum_field_alignment.
                   1069:        (BIGGEST_FIELD_ALIGNMENT): New macro.  Likewise.
                   1070:        (HANDLE_PRAGMA): New macro.
                   1071:        (ASM_OUTPUT_ALIGNED_LOCAL): New macro.
                   1072: 
                   1073: Sat Feb  1 00:15:41 1992  Richard Stallman  ([email protected])
                   1074: 
                   1075:        * flow.c (flow_analysis, find_basic_blocks):
                   1076:        If have nonlocal labels, calls end basic blocks.
                   1077:        Each call can jump to each nonlocal label.
                   1078:        Pass extra arg to find_basic_blocks.
                   1079:        * function.c (nonlocal_label_rtx_list): New function.
                   1080: 
                   1081:        * dbxout.c (dbxout_init): Vars wd and wd_gotten moved to top level
                   1082:        and renamed to cwd and cwd_gotten.
                   1083: 
                   1084:        * c-decl.c (start_function): -Wmissing-prototypes warns if static
                   1085:        function was previously used without a prototype.
                   1086: 
                   1087:        * loop.c (find_and_verify_loop): Initialize uid_loop_num[0].
                   1088:        (loop_optimize): Give up fast if no loops.
                   1089: 
                   1090:        * stmt.c (expand_end_bindings): Don't adjust fp in nonlocal goto hndlr
                   1091:        if there is a nonlocal_goto insn.
                   1092: 
                   1093:        * Makefile.in (cccp.o): Use just libdir in GPLUSPLUS_INCLUDE_DIR.
                   1094: 
                   1095:        * gcc.c (do_spec_1): Supply missing arg in some recursive calls.
                   1096: 
                   1097: Fri Jan 31 21:50:03 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
                   1098: 
                   1099:        * m68k.h (OVERRIDE_OPTIONS): -fPIC is only supported on the 68020
                   1100:        and later cpus.  Give an error if -fPIC is tried on a 68000.
                   1101: 
                   1102: Fri Jan 31 21:39:33 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1103: 
                   1104:        * flow.c (find_auto_inc): If emitting a move insn in front of the
                   1105:        first insn in a block, update basic_block_head.
                   1106: 
                   1107:        * caller-save.c (init_caller_save): Correctly check for case where the
                   1108:        save or restore insns aren't recognized.
                   1109: 
                   1110: Fri Jan 31 21:02:35 1992  Mark Eichin  (eichin at cygnus.com)
                   1111: 
                   1112:        * cp-decl.c (pushtag): when calling pushdecl, if we're in a
                   1113:          class_binding_level just do a pushdecl_class_level. Otherwise
                   1114:          pushdecl gets called multiple times on class-nested enums, which
                   1115:          short circuits the name list in the global_binding_level.
                   1116: 
                   1117: Fri Jan 31 00:14:20 1992  Richard Stallman  ([email protected])
                   1118: 
                   1119:        * stmt.c (expand_goto): Use nonlocal_goto pattern if it exists.
                   1120:        * sparc.md (nonlocal_goto): New pattern.
                   1121:        Also nameless pattern for the special trap insn.
                   1122: 
                   1123:        * gcc.c (S_ISDIR): Add default definition.
                   1124: 
                   1125:        * function.c (expand_function_end):
                   1126:        Set up arg_pointer_save_area at start of function.
                   1127: 
                   1128:        * c++: Accept -nostdlib, not -nostinc.
                   1129: 
                   1130:        * va-sparc.h: If GCC v1, define __extension__ as nothing.
                   1131:        * va-i860.h, va-pyr.h, va-spur.h: Likewise.
                   1132: 
                   1133:        * cp-class.c (finish_struct): Fill in DECL_ALIGN of vtable field.
                   1134: 
                   1135:        * regclass.c (reg_class_record):
                   1136:        Don't follow indirect loops in constraints.
                   1137: 
                   1138:        * function.c, expr.h (current_function_internal_arg_pointer): New var.
                   1139:        * function.c (assign_parms): Set it.
                   1140:        (push_function_context, pop_function_context): Save and restore it.
                   1141:        * expr.c (expand_builtin): Use it.
                   1142:        * function.h (struct function): New slot to save it in.
                   1143: 
                   1144:        * cse.c (cse_main): Calls do clobber arg pointer if not fixed.
                   1145: 
                   1146:        * hp320.h (HAVE_ATEXIT): New definition.
                   1147: 
                   1148:        * Makefile.in (ALL_CPPFLAGS): New variable.
                   1149:        Use in all compile steps instead of CPPFLAGS.
                   1150:        (X_CPPFLAGS, T_CPPFLAGS): New vars, used in ALL_CPPFLAGS.
                   1151:        * x-vax (X_CPPFLAGS): Use this instead of X_CFLAGS.
                   1152: 
                   1153:        * stmt.c (expand_end_bindings): Fix typo.
                   1154: 
                   1155: Fri Jan 31 12:15:09 1992  Ron Guilmette  (rfg ay ncd.com)
                   1156: 
                   1157:        * dwarfout.c (LINE_LAST_ENTRY_LABEL): Definition added.
                   1158:        (dwarfout_finish):  Put a label on the last .line section entry.
                   1159:        (dwarfout_finish):  Make first word of final .debug_srcinfo record
                   1160:        contain the offset of the final .line section entry.
                   1161: 
                   1162: Fri Jan 31 10:31:44 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1163: 
                   1164:        * cp-tree.c (__eprintf): Make definition match assert.h
                   1165:        declaration.
                   1166: 
                   1167: Thu Jan 30 23:17:11 1992  Per Bothner  (bothner at cygnus.com)
                   1168: 
                   1169:        * c++:  The flags -c, -S, or -E suppress passing -lg++
                   1170:        to gcc.  (Otherwise, gcc prints a warning.)
                   1171: 
                   1172: Thu Jan 30 21:10:02 1992  Ron Guilmette  (rfg at ncd.com)
                   1173: 
                   1174:        * dwarfout.c (dwarfout_init):  Fix generation of initial .debug_aranges
                   1175:        entry to be Dwarf Version 1 compliant.
                   1176: 
                   1177: Thu Jan 30 15:51:27 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   1178: 
                   1179:        * i386sun.h (LINK_SPEC): Delete useless %{-Bstatic} term.
                   1180:        * sun2o4.h (LINK_SPEC): Likewise.
                   1181:        * sun3.h (LINK_SPEC): Likewise.
                   1182:        * sparc.h (LINK_SPEC): Delete useless %{Bstatic} term.
                   1183: 
                   1184:        * cccp.c (default_include): Delete use of obsolete
                   1185:        NO_STANDARD_INCLUDE_DIR macro.
                   1186:        * protoize.c (default_include): Likewise.
                   1187: 
                   1188:        * Makefile.in (libgcc1.null): Delete dummy.o and dummy.c.
                   1189: 
                   1190: Thu Jan 30 15:34:06 1992  Michael Meissner  (meissner at osf.org)
                   1191: 
                   1192:        * gstdarg.h: Include va-mips.h on MIPS systems.
                   1193: 
                   1194:        * va-mips.h (va_start): Provide alternate definition when included
                   1195:        via stdarg.h.
                   1196:        (va_arg): Use __alignof(...) instead of sizeof(...) to determine
                   1197:        whether or not to dword align the argument pointer.
                   1198: 
                   1199: Thu Jan 30 13:06:36 1992  Richard Stallman  ([email protected])
                   1200: 
                   1201:        * Makefile.in (install-common): Get c++ and g++ from srcdir.
                   1202: 
                   1203:        * i860.h (FIXED_REGISTERS): Arg pointer is no longer fixed.
                   1204: 
                   1205:        * assert.h (__eprintf): Add const to string args in GCC ANSI case.
                   1206: 
                   1207:        * Makefile.in (cccp.o, protoize.o, unprotoize.o):
                   1208:        Define LOCAL_INCLUDE_DIR based on $(prefix).
                   1209: 
                   1210:        * stmt.c (expand_end_bindings): Arg pointer needs no special
                   1211:        treatment if not fixed.
                   1212: 
                   1213:        * cp-parse.y, c-lex.c (yyerror):
                   1214:        Avoid sign-extension of characters in error messages.
                   1215: 
                   1216: Thu Jan 30 11:39:56 1992  Ron Guilmette  (rfg at ncd.com)
                   1217: 
                   1218:        * dwarfout.c (dwarfout_finish):  Fix generation of .debug_pubnames
                   1219:        terminating entry to be 4-bytes of zero followed by a null string.
                   1220: 
                   1221: Thu Jan 30 09:30:19 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1222: 
                   1223:        * rs6000.c (ccr_bit): Fix typo causing reference to possibly
                   1224:        undefined operand.
                   1225: 
                   1226:        * rs6000.h (ASM_SPEC): Remove until new AIX assembler is available.
                   1227:        (ASM_OUTPUT_POOL_PROLOGUE): Add missing "." in csect name.
                   1228:        (ENCODE_SEGMENT_INFO): Deleted.
                   1229:        (ASM_OUTPUT_EXTERNAL): Move code from ENCODE_SEGMENT_INFO here,
                   1230:        using permalloc instead of putting name into saveable_obstack.  
                   1231:        Re-enable macro.
                   1232:        (ASM_OUTPUT_EXTERNAL_LIBCALL): Re-enable.
                   1233: 
                   1234: Wed Jan 29 21:50:26 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1235: 
                   1236:        * rs6000.h (ASM_SPEC): Add -u, now require new /bin/as for AIX.
                   1237:        (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): No longer needed.
                   1238: 
                   1239:        * rs6000.h (ENCODE_SEGMENT_INFO): New macro; add [RW] or [DS] to name.
                   1240:        (RS6000_OUTPUT_BASENAME): New macro.
                   1241:        (ASM_OUTPUT_*): Use it instead of assemble_name when required.
                   1242:        (ASM_OUTPUT_POOL_PROLOGUE): Remove trailing [RW] or [DS].
                   1243:        * rs6000.c (print_operand, case 'z'): New case, for name in CALL_INSN.
                   1244:        (output_toc): Use RS6000_OUTPUT_BASENAME instead of assemble_name
                   1245:        for toc entry name.
                   1246:        * rs60000.md (call): Use %z.
                   1247: 
                   1248: Wed Jan 29 17:17:42 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1249: 
                   1250:        * cp-init.c (build_member_call): Fix bug involving static members
                   1251:        that are function pointers.
                   1252: 
                   1253: Wed Jan 29 13:25:18 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   1254: 
                   1255:        * gcc.c (do_spec_1): For %D, only add -L options that are relevant.
                   1256:        (is_linker_dir): Determine if a -L option is relevant.
                   1257: 
                   1258: Wed Jan 29 00:57:55 1992  Richard Stallman  ([email protected])
                   1259: 
                   1260:        * configure: Turn ns32k alternatives back on.
                   1261: 
                   1262:        * Makefile.in (getopt.o, getopt1.c): Join two lines into one.
                   1263: 
                   1264:        * x-i386v4, x-i860v4 (GCC_CFLAGS): Add missing `-B./'.
                   1265: 
                   1266:        * reload.c (find_dummy_reload, push_reload): Don't reuse dying input
                   1267:        reg as a reload if it is a fixed reg.
                   1268: 
                   1269:        * c-tree.h (C_MISSING_PROTOTYPE_WARNED): Deleted since unused.
                   1270: 
                   1271: Wed Jan 29 00:42:34 1992  Tim Moore  (moore at fast.cs.utah.edu)
                   1272: 
                   1273:        * hp800.c (print_operand): Handle INSN_ANNULLED_BRANCH_P in '*'
                   1274:        operand type.
                   1275:        * hp800.h (DEFAULT_GDB_EXTENSIONS): Define as 0.
                   1276:        * hp800.md (cmpsi): Change arith_operand to arith5_operand.
                   1277:        (bCC patterns): Delete pattern that matches a compare with a
                   1278:        constant first operand. Change arith_operand to arith5_operand.
                   1279:        (fp branches): Change type to cbranch.
                   1280: 
                   1281:        * function.c (assign_parms): Set current_function_arg_offset_rtx
                   1282:        correctly for ARGS_GROW_DOWNWARD.
                   1283:        * gstdarg.h: Include va-hp800.h.
                   1284:        * va-hp800.h: Complete rewrite.
                   1285: 
                   1286: Tue Jan 28 17:04:38 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   1287: 
                   1288:        * varasm.c (make_decl_rtl): Delete unused var `i'.
                   1289: 
                   1290:        * c-convert.c (convert_to_pointer):
                   1291:        Abort if no integer type is as wide as a pointer.
                   1292: 
                   1293:        * gcc.c (default_compilers, .i case): Add error message for -pg
                   1294:        and -fomit-frame-pointer incompatibility.
                   1295: 
                   1296:        * Makefile.in (install-common): Install c++ and g++ shell scripts in
                   1297:        bindir.
                   1298: 
                   1299: Tue Jan 28 15:44:10 1992  Michael Collison  (collison at osf.org)
                   1300: 
                   1301:        * x-encrose (OLDCC): changed to $(GNU_ROSE_BIN)/gcc
                   1302: 
                   1303:        * ns32k.h: Added trampoline code.
                   1304: 
                   1305: Tue Jan 28 14:19:52 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1306: 
                   1307:        * rtl.def (UNSPEC, UNSPEC_VOLATILE): New RTL codes.
                   1308:        * cse.c (canon_hash): UNSPEC_VOLATILE operations are volatile.
                   1309:        * loop.c (invariant_p): Likewise.
                   1310:        * reorg.c (mark_referenced_resources): Likewise.
                   1311:        * sched.c (sched_analyze_2): Likewise.
                   1312:        * rtlanal.c (volatile_refs_p, side_effects_p, may_trap_p): Likewise.
                   1313:        (reg_referenced_p): Support UNPEC and UNSPEC_VOLATILE.
                   1314: 
                   1315: Tue Jan 28 11:50:35 1992  Michael Meissner  (meissner at osf.org)
                   1316: 
                   1317:        * mips.c (toplevel): Add include of <ctype.h>, since isdigit is
                   1318:        used.
                   1319: 
                   1320: Tue Jan 28 05:47:08 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1321: 
                   1322:        * cp-decl.c (xref_tag): Addition to eichin's Jan 25 change.  If REF
                   1323:        is extant, and it's seen in the global scope outside of
                   1324:        CLASS_BINDING_LEVEL, set its IDENTIFIER_GLOBAL_VALUE if NULL.
                   1325: 
                   1326:        * cp-class.c (pushclass): Forcibly remove any remnants of incomplete
                   1327:        type that was previously pushed.
                   1328: 
                   1329:        * cp-decl.c (various places): Remove all error messages about C++
                   1330:        constructs being invalid in C language context; extern "C" is a
                   1331:        linkage specifier--no more.
                   1332: 
                   1333:        * cp-method.c (dump_type_prefix,dump_type): Never need to output
                   1334:        `unsigned' since its always part of an unsigned integer type name.
                   1335:        (build_overload_name): Change test for unsigned to use
                   1336:        `unsigned_type' instead of examining TREE_UNSIGNED.
                   1337: 
                   1338:        * cp-call.c (ideal_candidate): Don't convert PARMS in place if
                   1339:        BASETYPE is NULL_TREE.
                   1340: 
                   1341: Tue Jan 28 02:21:31 1992  Richard Stallman  ([email protected])
                   1342: 
                   1343:        * c-decl.c (grokdeclarator): Use `auto' for nested fn fwd decls.
                   1344: 
                   1345:        * g++: New file.
                   1346: 
                   1347:        * fixincludes:
                   1348:        Convert machine names in #if's to have underscores.
                   1349:        Fix specific files stdlib.h, locale.h, hsfs/... for Sunos 4.1.
                   1350:        * fixinc.svr4: Convert machine names in #if's to have underscores.
                   1351: 
                   1352:        * gcc.c (do_spec_1): For %D, also make -L's for startfile_prefix.
                   1353:        Also append the machine
                   1354: 
                   1355:        * fold-const.c (fold_convert): Properly handle real-to-real case.
                   1356: 
                   1357:        * configure (i486-*-sysv4*): New alternative.
                   1358: 
                   1359: Tue Jan 28 00:37:24 1992  Ron Guilmette  (rfg at ncd.com)
                   1360: 
                   1361:        * dwarfout.c (location_attribute):  Fix handling of objects which
                   1362:        were optimized out of existance for Dwarf Version 0 compliance.
                   1363: 
                   1364: Tue Jan 28 00:42:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1365: 
                   1366:        * Makefile.in (mostlyclean): Delete stack dump files too.
                   1367: 
                   1368: Mon Jan 27 18:26:27 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1369: 
                   1370:        * rs6000.h (HAVE_ATEXIT, NO_DOLLAR_IN_LABEL): Now defined.
                   1371: 
                   1372: Mon Jan 27 13:32:51 1992  Richard Stallman  ([email protected])
                   1373: 
                   1374:        * libgcc2.a (L_exit): Declare __CTOR_LIST__ and __DTOR_LIST__
                   1375:        with length 2; get rid of __CTOR_END__ and __DTOR_END__.
                   1376:        (L_ctor_list, L_dtor_list): New library members.
                   1377: 
                   1378:        * cccp.c (main): Add terminating null, then call trigraph_pcp.
                   1379: 
                   1380:        * fixincludes, fixinc.svr4: Fail unless an arg was given.
                   1381:        * Makefile.in (install-fixincludes): Pass output dir as argument.
                   1382: 
                   1383:        * Makefile.in: Renamed libgcc[12] to libgcc[12].a.
                   1384:        Likewise for tmplibgcc[12].
                   1385: 
                   1386:        * toplev.c (rest_of_decl_compilation): Treat all fcns as if external.
                   1387: 
                   1388:        * Makefile.in (TAGS): Do the work in srcdir.
                   1389:        Include c-parse.h in files to move.
                   1390: 
                   1391: Mon Jan 27 10:54:24 1992  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   1392: 
                   1393:        * cccp.c (get_filename): Don't pass -1 file descriptor to close.
                   1394: 
                   1395: Mon Jan 27 00:26:33 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1396: 
                   1397:        * cp-decl.c (start_function): Preserve TREE_TYPE of RESULT_DECL, in
                   1398:        case we have a named return value.
                   1399:        (finish_function): Restrict the cases under which we build
                   1400:        `no_return_label'.  Use CURRENT_FUNCTION_RETURN_VALUE to eliminate
                   1401:        the generation of needless cleanups when functions end with a return
                   1402:        stmt.  No longer zeros out CLEANUP_LABEL.  Also, call `emit_jump'
                   1403:        instead of `expand_null_return' in case NO_RETURN_LABEL is
                   1404:        non-NULL.
                   1405: 
                   1406:        * cp-decl2.c (grokfield): Don't specially hack static member
                   1407:        function names.
                   1408: 
                   1409:        * cp-except.c (cplus_expand_raise): Test correct predicate that we
                   1410:        have a non-null value return.
                   1411:        (cplus_expand_{throw,reraise}): Ditto.
                   1412: 
                   1413:        * cp-typeck.c (c_expand_return): Handle case where named return
                   1414:        value has incomplete type.
                   1415: 
                   1416: Sun Jan 26 20:50:55 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1417: 
                   1418:        * cp-parse.y (LC): Fix rule to use `push_obstacks_nochange'.
                   1419:        (structsp): Use `pop_obstacks'.
                   1420: 
                   1421: Sun Jan 26 17:39:15 1992  Richard Stallman  ([email protected])
                   1422: 
                   1423:        * c-parse.y (LC): Use push_obstacks_nochange and always call
                   1424:        end_temporary_allocation.
                   1425:        (structsp, template_instantiate_once): After LC, use pop_obstacks.
                   1426: 
                   1427:        * c-decl.c (grokdeclarator):
                   1428:        Static function decl within a function is not external.
                   1429: 
                   1430: Sun Jan 26 08:14:53 1992  Michael Meissner  (meissner at osf.org)
                   1431: 
                   1432:        * mips.h (MIPS_VERSION): Bump meissner version # to 9.
                   1433:        (enum processor_type): Delete PROCESSOR_R2000, since a r2000
                   1434:        schedules just like a r3000.
                   1435:        (mips_isa, mips_isa_string, mips_cpu_string): New global variables.
                   1436:        (MD_EXEC_PREFIX): If not defined, define as "/usr/lib/cmplrs/cc/".
                   1437:        (TARGET_SWTICHES macros): Move setting the processor from
                   1438:        TARGET_SWITCHES to TARGET_OPTIONS.  Also, delete the -mfixed-ovrfl
                   1439:        switch, and move -mwc8/-mwc16 to not use any bits, since we can't
                   1440:        support these in GCC 2.00.  Readjust the positions the bits are in.
                   1441:        (TARGET_OPTIONS): Define to add switches -mcpu=x to set which
                   1442:        processor type to schedule for, and -mipsx to specify the
                   1443:        instruction set architecture level.
                   1444:        (BRANCH_LIKELY_P): New macro, true if MIPS ISA >= 2.
                   1445:        (HAVE_64BIT_P): New macro, true if MIPS_ISA >= 3.
                   1446:        (HAVE_SQRT_P): New macro, true if MIPS_ISA >= 2.
                   1447:        (BRANCH_COST): Define as 2 if r4000/r6000, 1 otherwise.
                   1448:        (ASM_OUTPUT_SKIP): Eliminate OSF/1 gas work around.
                   1449: 
                   1450:        * mips.c (mips_isa, mips_isa_string, mips_cpu_string): New global
                   1451:        variables.
                   1452:        (print_options): Print CPU and ISA level.
                   1453:        (override_otpions): Handle TARGET_OPTIONS setting cpu and ISA.
                   1454:        (override_options, print_operand): %: is no longer supported, since
                   1455:        -mfixed-ovfl is eliminated.
                   1456: 
                   1457:        * mips.md (type attribute): Add fsqrt.
                   1458:        (all define_function_units): Redo, to add full r6000 and r4000
                   1459:        support, and to use the default case in case another processor type
                   1460:        is added.  Also, tests against PROCESSOR_R2000 eliminated.
                   1461:        (add, subtract patterns): Delete use of %:.
                   1462:        (sqrtdf2, sqrtsf2): Define if the MIPS ISA >= 2.
                   1463: 
                   1464:        * decrose.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define these to
                   1465:        use the defaults on the OSF/1 reference platform.
                   1466:        (i386rose.h): Likewise.
                   1467: 
                   1468: Sun Jan 26 07:58:00 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1469: 
                   1470:        * cse.c (cse_insn): Don't call insert_regs on a SUBREG.
                   1471:        When scanning table for SUBREG assignment, ignore invalid entries.
                   1472: 
                   1473:        * cse.c (cse_insn): When looking for first non-deleted entry in
                   1474:        table, start by scanning backwards from the deleted entry.
                   1475: 
                   1476:        * function.c (assign_parms): Set current_function_return_rtx
                   1477:        unconditionally.
                   1478:        (expand_function_start): Don't set it here.
                   1479: 
                   1480: Sat Jan 25 06:44:16 1992  Mark Eichin  (eichin at cygnus.com)
                   1481: 
                   1482:        * cp-decl.c (set_identifier_local_value): New function. Clone of
                   1483:        set_identifier_type_value, but uses level->shadowed instead. Only
                   1484:        used in pushdecl, where the non-global install was previously
                   1485:        setting the local value directly which "stuck" and didn't get
                   1486:        cleared the next time through.
                   1487:        (pushdecl): use set_identifier_type_value so that the local value
                   1488:        actually gets erased when we leave this level. Changed code that
                   1489:        checks for global_binding_level to recognize that if
                   1490:        class_binding_level is set, we're not in the global one.
                   1491:        (poplevel_class): restore shadowed list too, like poplevel does.
                   1492:        (print_binding_level): added no_print_functions and
                   1493:        no_print_builtins variables to eliminate clutter while trying to
                   1494:        debug binding level problems.
                   1495: 
                   1496: Fri Jan 24 18:03:36 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1497: 
                   1498:        * tree.c (pop_momentary): Don't reference freed stack entry.
                   1499: 
                   1500: Fri Jan 24 14:20:05 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1501: 
                   1502:        * cp-parse.y (stmt): Call `define_case_label' for default label.
                   1503:        * cp-decl.c (current_function_return_value): New variable.
                   1504:        (define_{case_}label): Clear CURRENT_FUNCTION_RETURN_VALUE.
                   1505:        * cp-typeck.c (c_expand_return): Set CURRENT_FUNCTION_RETURN_VALUE.
                   1506: 
                   1507:        * cp-tree.c (lang_printable_name): Use DECL_RING, and don't free
                   1508:        the printable name for CURRENT_FUNCTION_DECL.
                   1509: 
                   1510: Fri Jan 24 14:17:30 1992  Richard Stallman  ([email protected])
                   1511: 
                   1512:        * gvarargs.h: If _ANSI_H, undef _VA_LIST_.
                   1513: 
                   1514:        * c-typeck.c (pointer_int_sum): Don't distribute * into pointer diff.
                   1515: 
                   1516:        * hp320.h (MD_STARTFILE_PREFIX): Defined.
                   1517:        (STANDARD_STARTFILE_PREFIX): Deleted.
                   1518: 
                   1519: Fri Jan 24 09:30:41 1992  Fred Fish  (fnf at fishpond)
                   1520: 
                   1521:        * assert.h (__eprintf):  Declare as prototype for __STDC__
                   1522: 
                   1523: Fri Jan 24 05:28:53 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1524: 
                   1525:        * i386.md (jump,indirect_jump,tablejump): Don't output an align
                   1526:        directive here: let the following BARRIER do it.
                   1527: 
                   1528: Thu Jan 23 11:54:11 1992  Ron Guilmette  (rfg at ncd.com)
                   1529: 
                   1530:        * i486v4.h:  New file.
                   1531: 
                   1532: Thu Jan 23 20:34:22 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   1533: 
                   1534:        * fixinc.svr4: Surround uses of ${INPUT} with "" instead of ''
                   1535:        so that it will get expanded.
                   1536: 
                   1537: Thu Jan 23 17:50:13 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1538: 
                   1539:        * cse.c (qty_mode): New variable.
                   1540:        (reg_rtx): Deleted.
                   1541:        (hard_regs_in_table, regs_invalidate_by_call): New variables.
                   1542:        (new_basic_block): Clear hard_regs_in_table.
                   1543:        (delete_reg_equiv): New name for reg_invalidate; don't update reg_tick.
                   1544:        (mention_regs): Don't set reg_rtx.
                   1545:        Update reg_tick for all registers in a multi-register hard register
                   1546:        reference.
                   1547:        (insert_regs): Don't do anything special with SUBREG.
                   1548:        Only insert register in a class if it is the same mode.
                   1549:        Don't set reg_rtx; set qty_mode instead.
                   1550:        (insert): Update hard_regs_in_table.
                   1551:        Get constant equivalence in proper mode.
                   1552:        (merge_equiv_classes): Call delete_reg_equiv.
                   1553:        (invalidate): Call delete_reg_equiv and update reg_tick.
                   1554:        Invalidate all parts of multi-word hard regs and invalidate
                   1555:        any multi-word hard reg overlapping what we are to invalidate.
                   1556:        Only look at constant in proper mode.
                   1557:        (remove_invalid_refs): Use refers_to_regno_p.
                   1558:        (invalidate_for_call): New function.
                   1559:        (canon_hash, refers_to_mem_p, fold_rtx, equiv_constant): Look at
                   1560:        constant in proper mode.
                   1561:        (cse_rtx_addr_varies_p, cse_process_notes): Likewise.
                   1562:        (exp_equiv_p): Likewise.
                   1563:        Check reg_tick for all parts of multi-word hard register.
                   1564:        (canon_reg): Don't use reg_rtx; get register from regno_reg_rtx or
                   1565:        build hard reg in proper mode.
                   1566:        (record_jump_equiv): Split into two pieces.
                   1567:        (record_jump_cond): Second part of record_jump_equiv; make recursive
                   1568:        call to some equivalences if args are SUBREGs.
                   1569:        (cse_insn): Only replace register with equivalent if proper mode;
                   1570:        don't use reg_rtx.
                   1571:        Call invalidate_for_call.
                   1572:        Don't avoid call to gen_lowpart for hard register.
                   1573:        Make a SUBREG if gen_lowpart_if_possible fails for SUBREG
                   1574:        assignment.
                   1575:        (invalidate_from_clobbers): Update reg_tick of SP; invalidate
                   1576:        REG entry in table, if present; use stack_pointer_rtx.
                   1577:        (cse_main): Don't allocate reg_rtx.
                   1578:        Initialize regs_invalidated_by_calls.
                   1579:        (cse_basic_block): Allocate qty_mode.
                   1580: 
                   1581:        * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add so we can disambiguate
                   1582:        fixed and floating registers.
                   1583: 
                   1584:        * rs6000.md (ashrdi3): Reject all but constant shift counts.
                   1585: 
                   1586:        * jump.c (simplejump_p): Don't access PATTERN unless we know it is
                   1587:        a JUMP_INSN.
                   1588: 
                   1589:        * combine.c (get_last_value): Don't do a recursive call for a 
                   1590:        paradoxical SUBREG.
                   1591: 
                   1592:        * jump.c (jump_optimize): In "if (...) x = a; else x = b;", 
                   1593:        don't move "x = b;" if it has non-trivial REG_NOTES.  Also, allow
                   1594:        B to be any constant, not just a CONT_INT.
                   1595: 
                   1596:        * stor-layout.c (layout_type): Handle alignment for arrays the same
                   1597:        as we do for records and unions.
                   1598: 
                   1599:        * calls.c (expand_call): Ignore `const' on void functions.
                   1600: 
                   1601:        * i860.c: Include recog.c.
                   1602:        Remove many explicit declaration of vars from include files.
                   1603:        (i860_compare_op[01]): Define these here.
                   1604:        * i860.h (i860_compare_op[01]): Add declarations.
                   1605:        * i860.md (compare, branch): Rework to use define_expand for cmpxx.
                   1606:        Compare just saves operands in i860_compare_op[01].  Branch emits
                   1607:        both insns using the saved operands.
                   1608: 
                   1609:        * i860.h (PREFERRED_RELOAD_CLASS): Handle FP registers and constants.
                   1610:        (SECONDARY_INPUT_RELOAD_CLASS): We need a scratch register to copy
                   1611:        an integer constant to a floating-point register.
                   1612:        * i860.md (addsi3, subsi3): Allow use of floating registers.
                   1613: 
                   1614: Thu Jan 23 13:33:40 1992  Richard Stallman  ([email protected])
                   1615: 
                   1616:        * i386v4.h (CPP_PREDEFINES): Don't define X86.
                   1617: 
                   1618:        * c-lex.c (readescape): Warn for \a and \x if warn_traditional.
                   1619:        Handle \v as vertical tab regardless of -traditional.
                   1620: 
                   1621:        * fixincludes, fixinc.svr4: Make LIB absolute, near the beginning.
                   1622: 
                   1623:        * fixincludes: Simplify egrep command while matching the same lines
                   1624:        (plus occasional additional lines).
                   1625: 
                   1626:        * function.c (fixup_memory_subreg): New arg UNCRITICAL.  Calls changed.
                   1627: 
                   1628:        * gcc.c (process_command): Handle LPATH like LIBRARY_PATH.
                   1629: 
                   1630:        * svr3.h (ASM_LONG): Deleted.
                   1631: 
                   1632:        * gvarargs.h: Ignore _VA_LIST_ if _ANSI_H_;
                   1633:        don't define _VA_LIST_ if already defined.
                   1634: 
                   1635: Thu Jan 23 09:10:52 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   1636: 
                   1637:        * m88kluna.h (includes): Include aoutos.h.
                   1638: 
                   1639: Thu Jan 23 09:10:52 1992  Ron Guilmette  (rfg at ncd.com)
                   1640: 
                   1641:        * va-i860.h (__savereg): Fix typo.
                   1642: 
                   1643:        * i860.h (PREDICATE_CODES):  Added definition.
                   1644: 
                   1645:        * i386v4.h (ASM_FILE_START):  Definition added which generates
                   1646:        .version directive.
                   1647: 
                   1648: Wed Jan 22 23:15:45 1992    (Eric Youngdale at [email protected])
                   1649: 
                   1650:        * make-cc1.com: Predefine symbols for "rename" and "bison"; always
                   1651:        generate c-parse.h when generating c-parse.c.
                   1652: 
                   1653: Wed Jan 22 20:01:11 1992  Per Bothner  (bothner at cygnus.com)
                   1654: 
                   1655:        * sdbout.c (sdbout_record_type_name):  Use typedef names
                   1656:        for C++.  (A kludge.)
                   1657:        * sdbout.c (sdbout_one_type):  Emit base classes as
                   1658:        dummy fields, just like dbxout.c when not using gdb extensions.
                   1659: 
                   1660: Wed Jan 22 20:01:11 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   1661: 
                   1662:        * fixincludes: Surround uses of ${INPUT} with "" instead of ''
                   1663:        so that it will get expanded.
                   1664: 
                   1665:        * gcc.c (default_compilers): For c++, define __GNUG__ to 2, and
                   1666:        pass -trigraphs.
                   1667: 
                   1668:        * cccp.1, cpp.1, gcc.1, g++.1: Delete more RCS variables.
                   1669: 
                   1670: Wed Jan 22 19:02:06 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1671: 
                   1672:        * combine.c (simplify_shift_const, case ASHIFT): If we will
                   1673:        be suppressing a sign extension because the upper bits are
                   1674:        already the same, verify that the operand is in the same
                   1675:        mode as we will be doing the shift; don't ignore a SUBREG
                   1676:        inside the inner SHIFT.
                   1677: 
                   1678: Wed Jan 22 09:25:07 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   1679: 
                   1680:        * c-typeck.c (comp_target_types): Make decl static.
                   1681:        Don't forget to return the value.
                   1682:        (function_types_compatible_p, comptypes): Initialize `val'.
                   1683: 
                   1684: Tue Jan 21 13:29:50 1992  Richard Stallman  ([email protected])
                   1685: 
                   1686:        * cross-make (ALL): Override with definition it here.
                   1687:        * configure: Don't edit its value explicitly here.
                   1688: 
                   1689:        * crtstuff.c (__do_global_ctors): Include DO_GLOBAL_CTORS_BODY
                   1690:        in crtend.o, not in crtbegin.o.
                   1691: 
                   1692:        * svr3.h: Prepare to use with i386.
                   1693:        (PCC_BITFIELD_TYPE_MATTERS): Definition deleted.
                   1694:        This pertains to the individual cpu types.
                   1695:        (ASM_SHORT, ASM_LONG, ASM_DOUBLE): Likewise.
                   1696:        (DBX_DEBUGGING_INFO): Undef this.
                   1697:        (DBX_REGISTER_NUMBER): Deleted the #undef.
                   1698:        (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): Deleted.
                   1699:        * i860v3.h (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): New definitions.
                   1700: 
                   1701:        * att386.h: Coexist with svr3.h.
                   1702:        (ASM_FILE_START): Deleted.
                   1703:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
                   1704:        (ASM_BYTE_OP, NO_DOLLAR_IN_LABEL): Likewise.
                   1705:        (ASM_OUTPUT_LABELREF): Undef before defining.
                   1706:        (ASM_FILE_START_1): Undef before defining.
                   1707:        (EXTRA_SECTION_FUNCTIONS): Deleted.
                   1708:        (BSS_SECTION_FUNCTION): New macro; defines bss_section.
                   1709: 
                   1710:        * i386v.h, aix386.h: Include svr3.h.
                   1711:        (SCCS_DIRECTIVE, ASM_OUTPUT_IDENT): Deleted.
                   1712:        (TARGET_MEM_FUNCTIONS): Deleted.
                   1713:        (SDB_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Deleted.
                   1714: 
                   1715:        * Support constructors and destructors on svr3.  From james@bigtex.
                   1716:        * i386v.h, aix386.h (STARTFILE_SPEC): Use crtbegin.o after crt1.o.
                   1717:        (LIB_SPEC): Use crtend.o before crtn.o.
                   1718:        (CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR): New macros.
                   1719:        (INIT_SECTION_ASM_OP): Likewise.
                   1720:        * svr3.h (DTORS_SECTION_ASM_OP): New macros.
                   1721:        (DO_GLOBAL_CTORS_BODY): New macro.
                   1722:        (EXTRA_SECTIONS,EXTRA_SECTION_FUNCTIONS): Use .init and .fini
                   1723:        sections in addition to .bss.
                   1724:        ({INIT,FINI}_SECTION_FUNCTION): New macros for *_section functions.
                   1725:        ({CTORS,DTORS}_SECTION_FUNCTION): Macros deleted.
                   1726:        (ASM_OUTPUT_CONSTRUCTOR): Deleted.
                   1727:        (ASM_OUTPUT_DESTRUCTOR): Use ASM_LONG.
                   1728:        (INT_ASM_OP): Deleted.
                   1729: 
                   1730:        * c-typeck.c (default_conversion): Don't use initial value if BLKmode.
                   1731:        If do use the initial value, update `type'.
                   1732: 
                   1733:        * arm.h (STRUCTURE_SIZE_BOUNDARY): New definition.
                   1734: 
                   1735:        * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for integers.
                   1736: 
                   1737:        * ultrix.h (SIZE_TYPE): Use `unsigned int'.
                   1738:        * Makefile.in (install-common): Add missing -f in rm.
                   1739:        (install-fixincludes): Install the README file.
                   1740: 
                   1741:        * fixincludes: Don't match on size_t, etc., since we don't actually
                   1742:        change them.
                   1743: 
                   1744: Mon Jan 20 23:22:45 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1745: 
                   1746:        * cp-call.c (ideal_candidate): Don't see two functions as ambiguous
                   1747:        if one is argument-by-argument equivalent or better than another.
                   1748: 
                   1749: Mon Jan 20 14:08:06 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1750: 
                   1751:        * toplev.c (strip_off_ending): Add ".ada".
                   1752: 
                   1753: Mon Jan 20 13:53:15 1992  Richard Stallman  ([email protected])
                   1754: 
                   1755:        * protoize.c (xfree): No longer static.
                   1756: 
                   1757:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Allow tm.h to override.
                   1758: 
                   1759:        * final.c (leaf_renumber_regs_insn): Do just the pattern of an insn.
                   1760: 
                   1761:        * pyr.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
                   1762:        (STRUCTURE_SIZE_BOUNDARY): Deleted.
                   1763: 
                   1764:        * mips.c: Clean up spacing around square brackets.
                   1765: 
                   1766:        * c-typeck.c (convert_arguments):
                   1767:        Get rid of feature to convert to a tagless union type.
                   1768:        (common_type): Add pedantic warning.
                   1769:        (comptypes, function_types_compatible_p): Return 2 meaning warn.
                   1770:        (comp_target_types): Do the warning here.
                   1771:        (type_lists_compatible_p): New function.
                   1772: 
                   1773: Sun Jan 19 17:32:19 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1774: 
                   1775:        * reload1.c (emit_reload_insns): Fix typos when checking for secondary
                   1776:        icode.
                   1777: 
                   1778: Sun Jan 19 15:28:53 1992  Richard Stallman  ([email protected])
                   1779: 
                   1780:        * global-alloc.c (global_alloc): If LEAF_REGISTERS, those are the
                   1781:        regs that cost nothing to save, for setting regs_already_used.
                   1782: 
                   1783:        * expr.c (expand_builtin): Preserve function value reg
                   1784:        around the call to __builtin_saveregs.
                   1785: 
                   1786:        * configure (mips-sgi-irix4*, mips-sgi-irix*): Set install_with_cp.
                   1787: 
                   1788:        * c-decl.c (start_function):
                   1789:        Check properly for `static' function in handling -Wmissing-prototypes.
                   1790: 
                   1791:        * libgcc2.c (__main): Omit this fn if INIT_SECTION_ASM_OP.
                   1792: 
                   1793: Sun Jan 19 13:23:13 1992  Fred Fish  (fnf at sunfish)
                   1794: 
                   1795:        * amix.h (ASM_OUTPUT_ASCII):  Override version in svr4.h.
                   1796: 
                   1797: Sun Jan 19 13:16:56 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1798: 
                   1799:        * cp-search.c (lookup_field): Accept IS_AGGR_TYPE_CODE, not
                   1800:        just == RECORD_TYPE.
                   1801: 
                   1802:        * cp-class.c (finish_struct): Clear a tentative setting of
                   1803:        DECL_BIT_FIELD.
                   1804: 
                   1805:        * cp-decl.c (start_decl): Don't call `pushclass' for incomplete
                   1806:        CONTEXT.
                   1807: 
                   1808:        * cp-typeck.c (comp_target_types): Call `comp_target_parms' with
                   1809:        STRICT == 0, not -1.
                   1810:        (build_conditional_expr): Check that the target types of TYPE1 and
                   1811:        TYPE2 are aggr type before calling `common_base_type'.
                   1812: 
                   1813: Sun Jan 19 04:10:16 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1814: 
                   1815:        * configure: Fix typo inserting INSTALL=cp into makefile.
                   1816: 
                   1817: Sat Jan 18 12:06:58 1992  Michael Tiemann  (tiemann at cygnus.com)
                   1818: 
                   1819:        * cp-lex.c (build_with_cleanup): Delete obsolete function.
                   1820:        * cp-tree.c (break_out_cleanups): New function.
                   1821:        * cp-decl.c (cplus_expand_expr): Call `break_out_cleanups'.
                   1822:        * cp-typeck.c (build_compound_expr): Ditto.
                   1823: 
                   1824:        * cp-call.c (convert_harshness): Make any inheritance relationship
                   1825:        preferable to a void* conversion.
                   1826:        * cp-tree.h (CLASSTYPE_MAX_DEPTH): New macro.
                   1827:        * cp-class.c (finish_struct_bits): Set CLASSTYPE_MAX_DEPTH.
                   1828: 
                   1829:        * cp-cvt.c (build_up_reference): Don't return in ARRAY_REF case,
                   1830:        since we may need to adjust the return value for complex
                   1831:        inheritance.
                   1832: 
                   1833:        * cp-decl2.c (lang_f_options): Add recognizers for -f{no-}builtin,
                   1834:        -f{no-}ident, and -ansi.  Also, remove unnecessary "no-*" forms.
                   1835: 
                   1836:        * cp-init.c (emit_base_init): If PEDANTIC, don't let base
                   1837:        initializers leak up the hierarchy.
                   1838: 
                   1839:        * cp-parse.y (structsp): Disable gratuitous error message.
                   1840: 
                   1841:        * cp-call.c (convert_harshness): Don't overlook PENALTY when
                   1842:        signed/unsigned differences are noted (in both POINTER_TYPE and
                   1843:        REFERENCE_TYPE cases).
                   1844: 
                   1845:        * toplev.c (strip_off_ending): Grok ".ii" endings (C++ preprocessed
                   1846:        files).
                   1847: 
                   1848:        * cp-typeck.c (build_component_ref): Add special handler when
                   1849:        COMPONENT is the CLASSTYPE_VFIELD name for BASETYPE.
                   1850: 
                   1851: Sat Jan 18 08:29:58 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1852: 
                   1853:        * cse.c (cse_insn): Don't make constant pool entries in MODE_CC modes.
                   1854: 
                   1855: Sat Jan 18 00:28:48 1992  Richard Stallman  ([email protected])
                   1856: 
                   1857:        * Makefile.in (install-common): Fix typo installing gcc.
                   1858:        
                   1859:        * crds.h, isi.h, newpbb.h, tti68k.h: Add #error because -m68000
                   1860:        will cause a crash (I think), to ask people what to do.
                   1861: 
                   1862:        * gmicro.h (ASM_FILE_START): Don't do anything.
                   1863:        (TARGET_DEFAULT): Turn on the bitfield flag.
                   1864:        (TARGET_SWITCHES): Get rid of the bitfield options.
                   1865: 
                   1866:        * c-lex.c (readescape): No warning for \?.
                   1867: 
                   1868:        * protoize.c (munge_compile_params): Fix cast that sets compile_params.
                   1869:        (xmalloc, xrealloc): No longer static.
                   1870:        * Makefile.in (protoize, unprotoize): Add LIBDEPS as deps.
                   1871: 
                   1872:        * va-i860.h (va_arg): Use __extension__ to suppress pedantic warning.
                   1873:        * va-sparc.h, va-spur.h, va-pyr.h: Likewise.
                   1874: 
                   1875:        * x-irix4.h: New file.
                   1876:        * config.sub: Don't convert irix to sysv.
                   1877:        * configure (mips-sgi-irix4*): New configuration.
                   1878:        (mips-sgi-irix*): Renamed from mips-sgi-sysv*.
                   1879: 
                   1880:        * gcc.c (process_command):
                   1881:        Handle the standard_exec_prefix* before the md_*_prefix.
                   1882: 
                   1883:        * i386.h, ns32k.h (PCC_BITFIELD_TYPE_MATTERS): Defined.
                   1884: 
                   1885:        * Makefile.in (libgcc1.null): Depend on GCC_PASSES.
                   1886: 
                   1887:        * cccp.c (lookup_import, add_import): VMS kludges so they compile.
                   1888:        (hack_vms_include_specification): Add forward declaration.
                   1889: 
                   1890:        * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED
                   1891:        just like one of the things done for PCC_BITFIELD_TYPE_MATTERS.
                   1892: 
                   1893:        * x-next, x-i386mach: Deleted.
                   1894:        * t-libc-ok: New file.  Define just LIBGCC1.
                   1895:        * configure (i386-*-mach, m68k-next-*): Use t-libc-ok.
                   1896: 
                   1897:        * t-svr4 (FIXINCLUDES): Defined.
                   1898:        * t-m88kv4 (FIXINCLUDES): Defined.
                   1899:        * t-svr3 (EXTRA_PARTS): Defined.
                   1900:        * t-i386sco (EXTRA_PARTS): Defined.
                   1901: 
                   1902:        * configure (sparc-*-sysv4*): New alternative.
                   1903: 
                   1904:        * configure (install_with_cp): New flag an alternative can set.
                   1905:        If host sets it, add INSTALL=cp to Makefile.
                   1906:        Set this for any system V, and for m68k-crds-unos.
                   1907: 
                   1908: Sat Jan 18 23:15:08 1992  Ron Guilmette  (rfg at ncd.com)
                   1909: 
                   1910:        * va-i860.h (va_list): Made __reg_base field type long* to avoid
                   1911:        compilation errors.
                   1912:        (__savereg): Add explicit cast to (__va_saved_regs *).
                   1913: 
                   1914: Fri Jan 17 15:09:34 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   1915: 
                   1916:        * i386.h (FUNCTION_BOUNDARY): Do larger alignments for i486.
                   1917:        (ASM_OUTPUT_ALIGN_CODE): Same here.
                   1918:        (ASM_OUTPUT_LOOP_ALIGN): But not here - do word aligns as before.
                   1919: 
                   1920:        (enum reg_class): Delete classes ADREG and BREG - neither used nor
                   1921:        useful.  Add classes FP_TOP_REG and FP_SECOND_REG.
                   1922:        (REG_CLASS_NAMES): Likewise.
                   1923:        (REG_CLASS_CONTENTS): Likewise.
                   1924:        (REGNO_REG_CLASS): Reflect that change.
                   1925:        (REG_CLASS_FROM_LETTER): Likewise.  Add "t" and "u" constraints.
                   1926:        (CLASS_MAX_NREGS): New classes use only 1 hard reg for any mode.
                   1927: 
                   1928:        (CONST_OK_LETTER_P): Document uses of letters.
                   1929: 
                   1930:        * reg-stack.c: Add comments describing rules for asm statements
                   1931:        involving stack-like regs.
                   1932:        (asm_regs): Delete unused variable.
                   1933:        (fatal_for_asm): Delete unused function.
                   1934: 
                   1935:        (get_asm_operand_lengths): New function.
                   1936:        (constrain_asm_operands): New function.  Like constrain_operands,
                   1937:        but records some information about the matched alternative.
                   1938: 
                   1939:        (record_asm_reg_life): New function.
                   1940:        (record_reg_life): If INSN is an asm statement, decode operands
                   1941:        and pass to record_asm_reg_life.
                   1942:        (record_reg_life_pat): Abort if any asm is seen here.
                   1943: 
                   1944:        (subst_asm_stack_regs): New function.
                   1945:        (subst_stack_regs): If INSN is an asm statement, decode operands
                   1946:        and pass to subst_asm_stack_regs.  When handling REG_UNUSED notes,
                   1947:        emit the pops in the right order.
                   1948: 
                   1949:        (change_stack): New argument to insert any new insns before INSN
                   1950:        instead of after.  All callers changed.
                   1951: 
                   1952:        (emit_swap_insn): Abort if the reg is not found in REGSTACK.
                   1953: 
                   1954:        * Makefile.in (reg-stack.o): Depends on insn-config.h.
                   1955: 
                   1956: Fri Jan 17 16:38:32 1992  Richard Stallman  ([email protected])
                   1957: 
                   1958:        * toplev.c, flags.h (in_system_header): Declare here.
                   1959:        * c-lex.c, cp-lex.c (in_system_header): Not here.
                   1960:        * toplev.c (rest_of_compilation): Don't warn of unused static function
                   1961:        if definition is in a system header.
                   1962: 
                   1963:        * gcc.c (do_spec_1): Add missing arg in recursive call.
                   1964:        (link_command_spec): Don't pass -s, -S, -u*, -X, -Y*.
                   1965: 
                   1966: Fri Jan 17 12:51:28 1992  Jim Wilson  (wilson at cygnus.com)
                   1967: 
                   1968:        From Tiemann:
                   1969:        * rtlanal.c (reg_set_between_p): Call `reg_set_p' with INSN, not the
                   1970:        body of INSN so that CALL_INSNs are properly handled.
                   1971:        * explow.c (find_next_ref): Ditto.
                   1972: 
                   1973:        * hp800.h, hp800.md: Delete RCS Header variables.
                   1974: 
                   1975:        * reg-stack.c (replace_reg): Change `abort' to `abort ()'.
                   1976: 
                   1977: Fri Jan 17 14:30:14 1992  Michael Meissner  (meissner at osf.org)
                   1978: 
                   1979:        * caller-save.c (insert_save_restore): Don't pass a CODE_LABEL to
                   1980:        reg_mentioned_p when the machine has a condition code, since
                   1981:        CODE_LABEL's don't have the same format as normal INSN's do.
                   1982: 
                   1983: Fri Jan 17 13:24:33 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   1984: 
                   1985:        * Makefile.in (unprotoize.o): Use the rm -f option.
                   1986: 
                   1987:        * cp-lex.c (check_newline): Define `used_up' as in c-lex.c.
                   1988:        (in_system_header): Define as in c-lex.c.
                   1989: 
                   1990: Fri Jan 17 08:14:04 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   1991: 
                   1992:        * reorg.c (delete_from_delay_slot): Pass correct length to
                   1993:        emit_delay_sequence.
                   1994: 
                   1995:        * genattrtab.c (substitute_address): Handle IF_THEN_ELSE in addition
                   1996:        to COND.
                   1997: 
                   1998:        * expr.c (expand_builtin, case BUILT_IN_STRLEN): Correct args in
                   1999:        expand_expr call.
                   2000: 
                   2001: Fri Jan 17 17:33:40 1992  James Van Artsdalen  (james@raid)
                   2002: 
                   2003:        * x-i386v4 (CCLIBFLAGS): Delete macro.
                   2004:        (GCC-CFLAGS): Delete macro.  Prevented Makefile.in from working.
                   2005: 
                   2006: Thu Jan 16 17:03:27 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   2007: 
                   2008:        * Makefile.in (cleanconfig): Also delete tconfig.h.
                   2009: 
                   2010:        * varasm.c (assemble_external): Only call ASM_OUTPUT_EXTERNAL once
                   2011:        for each symbol.
                   2012:        (assemble_external_libcall): Fix minor typo in spacing.
                   2013: 
                   2014:        * toplev.c (main): Force error if invalid -W option is used.
                   2015: 
                   2016: Thu Jan 16 13:35:13 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2017: 
                   2018:        * m88kdgux.h (CPP_PREDEFINES): Added __CLASSIFY_TYPE__ back and
                   2019:        noted when it would be useful.
                   2020: 
                   2021:        * m88k.h (ASM_FILE_END, ASM_OUTPUT_ASCII): Override svr4.h.
                   2022: 
                   2023: Thu Jan 16 12:37:16 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2024: 
                   2025:        * svr4.h (SVR4): Add this back.
                   2026: 
                   2027:        * cccp.c (lookup_import): Use bcmp to compare inodes.
                   2028: 
                   2029:        * cccp.c (main): Handle -idirafter option.
                   2030: 
                   2031:        * m68kv4.h, m88kv4.h, i386v4.h, sparcv4.h, i860v4.h (CPP_PREDEFINES): 
                   2032:        Add __svr4__ in case user programs want to distinguish.
                   2033: 
                   2034:        * cp-lex.c (check_newline): Changes like Jan 12 changes in c-lex.c.
                   2035: 
                   2036:        * Makefile.in (install-fixincludes): Renamed from `includes'.
                   2037:        Move comments so some shells are happier.  Dep. on install-headers.
                   2038: 
                   2039:        * m88kdgux.h (CPP_PREDEFINES): Add __svr4__.  Remove __CLASSIFY_TYPE__.
                   2040:        Add some assertions.
                   2041: 
                   2042:        * c-decl.c (init_decl_processing): Don't give arg type for abort, etc.
                   2043:        Always declare strlen, etc., so -O doesn't alter the warnings.
                   2044:        * expr.c (expand_builtin): Open-code str* or mem* or ffs if -O.
                   2045: 
                   2046:        * c-decl.c (start_function): Fix backwards test for -W* options.
                   2047: 
                   2048:        * protoize.c (GUESSPATHLEN): Treat POSIX like USG--and use just 200.
                   2049: 
                   2050:        * cccp.c (deps_output): Break line iff string is empty.
                   2051:        (do_include): Fix up the deps_output calls.
                   2052: 
                   2053:        * vax.c (print_operand_address): Handle form index + (reg+offset).
                   2054: 
                   2055:        * m88k.h (TARGET_VERSION): Don't use __DATE__.
                   2056: 
                   2057:        * gcc.c (default_compilers): Typos in c++-cpp-output case.
                   2058: 
                   2059: Thu Jan 16 12:25:51 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   2060: 
                   2061:        * loop.c (get_condition): In HAVE_cc0 code, generate a zero with
                   2062:        CONST0_RTX instead of just using const0_rtx.
                   2063: 
                   2064:        * cse.c (cse_isnsn): A CALL_INSN clobbers all fixed regs except
                   2065:        for ap, fp, and sp.
                   2066: 
                   2067: Thu Jan 16 08:03:40 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2068:        
                   2069:        * c-decl.c (finish_enum): Compute the precision properly if the
                   2070:        maximum value is negative.
                   2071: 
                   2072: Thu Jan 16 07:40:29 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2073: 
                   2074:        * reorg.c (try_merge_delay_insns, fill_slots_from_thread): Have
                   2075:        update_block put the phantom insn before THREAD.
                   2076:        (update_block): Update block status if WHERE, not INSN, is block head.
                   2077: 
                   2078: Thu Jan 16 00:28:14 1992  Ron Guilmette  (rfg ay ncd.com)
                   2079: 
                   2080:        * i860.c (output_fp_move_double):  Fixed typo.
                   2081: 
                   2082:        * protoize.c (GUESSPATHLEN, pointer_type, const_pointer_type):
                   2083:        moved definitions declarations out of conditional region.
                   2084:        (string_list_cons, shortpath, munge_compile_params):  Added casts.
                   2085:        (find_extern_def):  Fixed string literal to avoid trigraph.
                   2086:        (find_rightmost_formals_list):  Fixed to avoid unreached code warnings.
                   2087: 
                   2088:        * svr4.h (ASM_OUTPUT_ASCII):  Fixed typo.
                   2089: 
                   2090: Wed Jan 15 21:58:01 1992  Jeffrey A Law  (law at b117b.super.org)
                   2091: 
                   2092:        * sparc.h (SELECT_RTX_SECTION): When generating PIC, place symbolic
                   2093:        operands in the data section.
                   2094: 
                   2095: Wed Jan 15 21:45:09 1992  Michael Meissner  (meissner at osf.org)
                   2096: 
                   2097:        * collect2.c (main): Pass any -b<xx>, -B<xx>, -m<xx>, -f<xx>, and
                   2098:        -V<xx> options to gcc instead of the linker, in order to allow
                   2099:        target switches that affect the size of pointers and search paths to
                   2100:        be passed through.
                   2101:        (main, choose_temp_base): Use TMPDIR environment variable, and the
                   2102:        P_tmpdir macro if defined to locate directory to put temp files.
                   2103:        (whole file): Reorganize so that all of the OSF/rose stuff goes at
                   2104:        the end of the file, rather than being scattered throughout.
                   2105:        (main, scan_prog_file): Invoke scan_prog_file twice, once on each
                   2106:        output of ld.
                   2107:        (scan_prog_file, read_file, write_file):  On the second invocation,
                   2108:        rewrite the object file in place, adding a load command to put
                   2109:        __main in the list of initializer functions.  This allows users
                   2110:        to put constructors and destructors into shared libraries.
                   2111:        (scan_prog_file): Move debug stuff and error routines to separate
                   2112:        functions.
                   2113: 
                   2114: Wed Jan 15 17:59:02 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2115: 
                   2116:        * combine.c (can_combine_p): Don't combine if DEST is still a field
                   2117:        assignment after we've tried to expand it.
                   2118: 
                   2119: Wed Jan 15 16:01:13 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   2120: 
                   2121:        * regclass.c (fix_register): Don't match a null register name.
                   2122:        * varasm.c (decode_reg_name): Likewise.
                   2123: 
                   2124:        * i386.h (HI_REGISTER_NAMES): Give the eliminable arg pointer a
                   2125:        null name.
                   2126: 
                   2127: Wed Jan 15 13:40:50 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2128: 
                   2129:        * gcc.c (default_compilers): Pass -lang-asm, not -lang-asmc, to cpp.
                   2130: 
                   2131:        * gcc.c (process_command): Don't dump md_exec_prefix in specs.
                   2132:        Use the md_... prefixes only if no -b.
                   2133: 
                   2134: Wed Jan 15 13:35:09 1992  Ron Guilmette  (rfg at ncd.com)
                   2135: 
                   2136:        * i386v4.h (RETURN_IN_MEMORY):  Definition added.
                   2137:        (CPP_PREDEFINES):  Added -DX86 (needed for some system headers).
                   2138:        (ASM_OUTPUT_DWARF_STRING):  Deleted.
                   2139:        (ASM_OUTPUT_ASCII):  Added specialized definition for i386/svr4.
                   2140: 
                   2141:        * svr4.h (SVR4):  Deleted useless define.
                   2142:        (ASM_FILE_END):  Added definition.
                   2143:        (ESCAPES, STRING_LIMIT, STRING_ASM_OP, ASM_OUTPUT_LIMITED_STRING):
                   2144:        (ASM_OUTPUT_ASCII):  Generic svr4 definitions added.
                   2145: 
                   2146:        * m68kv4.h (CPP_PREDEFINES):  Don't define SVR4.
                   2147:        * sparcv4.h (CPP_PREDEFINES):  Don't define SVR4.
                   2148:        (ASM_OUTPUT_ASCII): Deleted obsolete definition.
                   2149: 
                   2150:        * xm-svr4.h (SVR4):  Removed useless definition.
                   2151:        (POSIX):  Added definition for protoize.c.
                   2152: 
                   2153:        * i860b.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Moved from i860.h.
                   2154:        * i860v3.h (ASCII_DATA_ASM_OP):  Added OS-specific definition.
                   2155:        * i860v4.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII):
                   2156:        Deleted (now in svr4.h).
                   2157: 
                   2158:        * fixinc.svr4:  Replaced all occurances of {1,\} in sed command
                   2159:        string with functional equivalents (to avoid bogus results).
                   2160: 
                   2161:        * c-lex.c (readescape): Pass thru escaped x, a, and v if -traditional.
                   2162:        (readescape): Pedantic warning for \?, \(, \{, and \[.
                   2163: 
                   2164:        * dwarfout.c: Updated copyright.
                   2165:        (fundamental_type_code):  Abort for all non-fundamental types.
                   2166:        (type_is_fundamental):  Return 0 for all non-fundamental types.
                   2167:        (containing_type_attribute, output_ptr_to_mbr_type_die): New functions.
                   2168:        (output_pointer_type_die, output_reference_type_die):  Added calls to
                   2169:        equate_type_number_to_die_number.
                   2170:        (output_type):  Handle OFFSET_TYPE correctly.
                   2171:        (output_type):  Ignore LANG_TYPE (for now).
                   2172: 
                   2173: Wed Jan 15 09:30:08 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2174: 
                   2175:        * All cp-* files: Remove calls to `cleanup_after_call'.
                   2176: 
                   2177:        * cp-method.c (fndecl_as_string): Add a missing space when printing
                   2178:        the return type.
                   2179: 
                   2180:        * cp-typeck.c (build_modify_expr): Treat arrays specially in both
                   2181:        INIT_EXPR and NOP_EXPR cases.  Also, if we take the address NEWRHS
                   2182:        when it's not a SAVE_EXPR, build a new NEWRHS using that address. 
                   2183:        * cp-tree.c (lvalue_p): Handle WITH_CLEANUP_EXPR case.
                   2184: 
                   2185:        * cp-decl.c (grokvardecl): Don't get tripped up by static class
                   2186:        members of incomplete type.
                   2187: 
                   2188: Wed Jan 15 09:12:51 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
                   2189: 
                   2190:        * m68k.c (legitimize_pic_address): Re-enable code which was
                   2191:        mistakenly #ifdef'd out.
                   2192: 
                   2193: Wed Jan 15 08:12:18 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2194: 
                   2195:        * reload.c (find_reloads): Check for insn not recognized.
                   2196: 
                   2197:        * caller-save.c (reg_{save,restore}_code): New variables.
                   2198:        (init_caller_save): Set them.
                   2199:        (insert_save_restore): Just make SET for pattern of insn and set
                   2200:        code from reg_{save,restore}_code.
                   2201:        (save_call_clobbered_regs): Put restore insns before JUMP_INSN that
                   2202:        ends basic block, but after any other insn that ends the block.
                   2203: 
                   2204:        * sdbout.c (sdbout_symbol): Treat (mem (reg SP)) the same
                   2205:        as (mem (reg FP)).
                   2206: 
                   2207:        * reorg.c (mark_referenced_resources): Fix typo in last change.
                   2208:        (emit_delay_sequences): Update chain correctly when previous or
                   2209:        next insn is also a SEQUENCE.
                   2210: 
                   2211: Wed Jan 15 08:10:29 1992  Chris Smith  (cks at bach.convex.com)
                   2212: 
                   2213:        * t-convex: Use collect2 to link.
                   2214:        * convex.h: remove assembly output defines for old collect2.
                   2215:        * convex.h: define vprintf and wait macros for pcc mode boot of
                   2216:        collect2.
                   2217: 
                   2218:        * convex.h (ASM_OUTPUT_DOUBLE_INT): define.
                   2219: 
                   2220:        * convex.h (DEFAULT_GDB_EXTENSIONS): define as 0 until GDB version 4
                   2221:        port is available.
                   2222: 
                   2223:        * convex.c (ap_reload_needed): Fix comment.
                   2224: 
                   2225: Wed Jan 15 07:08:25 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2226: 
                   2227:        * m88k.h (CONST_SECTION_FUNCTION): Trivial definition for targets
                   2228:        not based on svr[34].h (m88k-luna).
                   2229: 
                   2230:        * m88k.h (PREDICATE_CODES): Use it.
                   2231: 
                   2232:        * m88k.md (casesi_enter): Don't use bsr.n with -fno-delayed-branch.
                   2233:        * m88k.h (ASM_OUTPUT_CASE_END): The lda goes here when bsr is used.
                   2234: 
                   2235:        * m88k.c (legitimize_address): When converting a symbol_ref for
                   2236:        PIC, add a REG_EQUAL note.
                   2237: 
                   2238: Wed Jan 15 06:22:34 1992  Michael Meissner  (meissner at osf.org)
                   2239: 
                   2240:        * mips.h (MIPS_VERSION): Bump Meissner version # to 8.
                   2241:        (fcmp_op): Add function declaration.
                   2242:        (TARGET_FLOAT64): Support for -mfp64 switch to support the R4000 FR
                   2243:        psw bit, which doubles the number of floating point registers.
                   2244:        (TARGET_SWITCHES): Likewise.
                   2245:        (HARD_REGNO_NREGS): Likewise.
                   2246:        (CLASS_FCMP_OP): New bit for classifing floating point compares.
                   2247:        (PREDICATE_CODES): Add cmp2_op and fcmp_op support.
                   2248: 
                   2249:        * mips.c (various): Move extern declarations from inside of
                   2250:        functions to outside all functions.
                   2251:        (fcmp_op): Match comparison operators for floating point.
                   2252:        (mips_move_2words): Add -mfp64 support.
                   2253:        (override_options): Likewise.
                   2254:        (compute_frame_size): Likewise.
                   2255:        (override_options): Set up for fcmp_op.
                   2256:        (gen_conditional_branch): Redo floating point compares/branches, so
                   2257:        that it is like the rest of the compiler expects -- set cc0 to a
                   2258:        compare operator, instead of the exact test required, and put the
                   2259:        smarts in the branch operators to generate both the test and the
                   2260:        branch.
                   2261: 
                   2262:        * mips.md (cmpdf_eq, cmpdf_lt, cmpdf_le): Delete.
                   2263:        (cmpsf_eq, cmpsf_lt, cmpsf_le): Delete.
                   2264:        (cmpdf_internal): New define insn to match FP compares.
                   2265:        (cmpsf_internal): Likewise.
                   2266:        (branch_fp_true1, branch_fp_true2): Likewise.
                   2267:        (branch_fp_false1, branch_fp_false2): Likewise.
                   2268:        (branch_fp_true, branch_fp_false): New define_insns to match the
                   2269:        branch part of FP compares.
                   2270: 
                   2271: Wed Jan 15 01:42:39 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   2272: 
                   2273:        * unroll.c (copy_loop_body): New parameter copy_notes_from, to
                   2274:        correct problem with bad debug info generated for preconditioned
                   2275:        loops.
                   2276:        (unroll_loops): Fix calls of copy_loop_body to pass new parameter.
                   2277: 
                   2278: Wed Jan 15 01:01:39 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2279: 
                   2280:        * gcc.c (main): Don't use TARGET_VERSION.
                   2281:        (endfile_spec, switches_need_spaces): New vars, initted from macros.
                   2282:        (set_spec, process_command): Read and write those vars.
                   2283:        (do_spec_1, process_command): Use the new vars, not the macros.
                   2284:        (SWITCHES_NEED_SPACES): New default macro definition.
                   2285: 
                   2286:        * Makefile.in (install-common): Install driver as gcc-$(target).
                   2287: 
                   2288:        * gstddef.h (wchar_t): Check for _T_WCHAR.
                   2289: 
                   2290:        * stmt.c (pushcase, pushcase_range): Return 5 if jump into stack level.
                   2291:        * c-parse.y, objc-parse.y (stmt): Print error msg for that.
                   2292:        * cp-parse.y: Likewise.
                   2293: 
                   2294: Tue Jan 14 23:25:37 1992  Ron Guilmette  (rfg at ncd.com)
                   2295: 
                   2296:        * dwarfout.c: Include <string.h> if USG *or* POSIX.
                   2297:        (TREE_UID): Deleted.
                   2298:        (current_funcdef_number): Replacement for TREE_UID.
                   2299:        (dwarfout_file_scope_decl):  Increment
                   2300:        current_funcdef_number after each funnction definition is processed.
                   2301:        (pending_sibling_stack_depth): Renamed globally to pending_siblings.
                   2302:        (pending_sibling_stack_size): Renamed to pending_siblings_allocated.
                   2303:        (PENDING_SIBLING_STACK_INCREMENT): Renamed PENDING_SIBLINGS_INCREMENT.
                   2304:        (pending_types_list, pending_types_allocated, pending_types,
                   2305:        PENDING_TYPES_INCREMENT, fake_containing_scope): New vars/macros.
                   2306: 
                   2307:        * dwarfout.c (total_ft_entries): Renamed to ft_entries_allocated.
                   2308:        (valid_ft_entries): Renamed to ft_entries.
                   2309:        (FT_ENTRIES_INCREMENT):  Definition added.
                   2310:        (lookup_filename):  Expand filename table (when needed)
                   2311:        by adding FT_ENTRIES_INCREMENT more table elements rather than
                   2312:        doubling current size.
                   2313:        (dwarfout_init):  Allocate initial filename table.
                   2314: 
                   2315:        * dwarfout.c (INSN_LABEL_FMT, FUNC_END_LABEL_FMT): Use decimal format.
                   2316: 
                   2317:        * dwarfout.c (member_attribute):  Rewritten for proper C++ support.
                   2318:        (output_array_type_die, output_set_type_die, output_entry_point_die,
                   2319:        output_enumeration_type_die, output_global_subroutine_die,
                   2320:        output_global_variable_die, output_inline_subroutine_die,
                   2321:        output_local_variable_die, output_member_die, output_pointer_type_die,
                   2322:        output_reference_type_die, output_string_type_die,
                   2323:        output_structure_type_die, output_local_subroutine_die,
                   2324:        output_subroutine_type_die, output_typedef_die, output_union_type_die):
                   2325:        Added calls to member_attribute (for C++).
                   2326: 
                   2327:        * dwarfout.c (inline_attribute):  Test for TREE_INLINE in here.
                   2328:        (output_global_subroutine_die, output_local_subroutine_die):
                   2329:        Don't test for TREE_INLINE here.
                   2330: 
                   2331:        * dwarfout.c (output_formal_types):  Fixed to handle METHOD_TYPE
                   2332:        nodes and to output all related type DIEs last (for SDB).
                   2333:        (type_ok_for_scope, output_pending_types_for_scope, pend_type):
                   2334:        Functions added to support C++.
                   2335:        (output_type, output_decl):  Added `containing_scope'
                   2336:        parameter to handle C++ nested types.
                   2337:        (output_type):  Don't output the type unless it's OK
                   2338:        for the current DIE chain (i.e. unless it's OK for the current scope).
                   2339:        (output_type):  Output completed non-global tagged types
                   2340:        right away even if not finalizing.
                   2341:        (output_type):  Use correct method to get head of chain
                   2342:        of C++ function members.
                   2343:        (output_decl):  Skip first item on chain of DECL_ARGUMENTS
                   2344:        for a FUNCTION_DECL whose type is a METHOD_TYPE.
                   2345:        Suppress output of type DIEs for formal parms of a FUNCTION_DECL
                   2346:        until after all TAG_parameter DIEs have been output (for SDB
                   2347:        compatability).
                   2348:        Output DIEs for any LABEL_DECL nodes attached to outermost BLOCK of
                   2349:        a FUNCTION_DECL.
                   2350:        Handle LABEL_DECL nodes.
                   2351: 
                   2352:        * dwarfout.c (dwarfout_file_scope_decl):  Un-pend all pending file-
                   2353:        scope types after each file-scope declaration is output.
                   2354:        (output_decls_for_scope):  Un-pend all pending local types
                   2355:        at end of each local scope.
                   2356: 
                   2357: Tue Jan 14 16:40:39 1992  Tim Moore  (moore at fast.cs.utah.edu)
                   2358: 
                   2359:        * calls.c (expand_call): If ARGS_GROW_DOWNWARD, make slot_offset
                   2360:        negative and set highest_outgoing_arg_in_use to needed + 1.
                   2361:        (store_one_arg): If ARGS_GROW_DOWNWARD deal with negative slot_offset.
                   2362: 
                   2363: Tue Jan 14 20:01:59 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   2364: 
                   2365:        * sparc.h (TARGET_SUN_ASM, TARGET_GNU): Delete support for
                   2366:        obsolete and undocumented flags -msun-asm and -mgnu.
                   2367:        * sparc.md: Likewise.
                   2368: 
                   2369: Tue Jan 14 19:36:21 1992  Tim Moore  (moore at fast.cs.utah.edu)
                   2370: 
                   2371:        * xm-hp800.h (hpux8): define.
                   2372:        * hp800.h (LINK_SPEC): Conditionalize on hpux8.
                   2373:        (STACK_BOUNDARY): Define for snake.
                   2374:        (CALL_USED_REGISTERS): Shift register is special.
                   2375:        (HARD_REGNO_MODE_OK): Don't allow modes smaller that SImode in fp
                   2376:        registers.
                   2377:        (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Eliminate
                   2378:        GENERAL_OR_FP_REGS, GENERAL_OR_SNAKE_FP_REGS classes.
                   2379:        (FUNCTION_ARG): Handle snake fp arguments.
                   2380:        (ASM_DOUBLE_ARG_DESCRIPTORS): define.
                   2381:        (ASM_DECLARE_FUNCTION_NAME): Use above macro to get around hpux
                   2382:        8.0 change.
                   2383:        * hp800.md (movsi, movdi): Add ! and * to constraints of anonymous
                   2384:        define-insns to discourage SImode values in fp registers. Don't
                   2385:        modify the stack pointer when moving between general and fp registers.
                   2386:        (mulsi): Take out pattern that matches a degenerate multiplication
                   2387:        by 1; it doesn't seem to be needed and causes problems.
                   2388:        (sar_sub): Change so that const_int isn't the first argument of
                   2389:        the comparison.
                   2390:        * hp800.c (output_fp_move_double): As above, don't modify the
                   2391:        stack pointer when moving between general and fp registers. 
                   2392:        (output_block_move): Don't make one CONST_INT rtx and store
                   2393:        different integer values in it; cons up a "new" one for each value.
                   2394:        (output_floatsisf2, output_floatsidf2): Fix typos.
                   2395:        (output_arg_descriptor): Conditionalize for HPUX 8.0.
                   2396: 
                   2397: Tue Jan 14 14:38:09 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2398: 
                   2399:        * cp-typeck.c (build_unary_op): Call readonly_warning_or_error if
                   2400:        ARG is TREE_READONLY (in addition to the type being TYPE_READONLY).
                   2401: 
                   2402:        * cp-init.c (maybe_adjust_addr_for_delete): If the adjustment needs
                   2403:        to be done, zero out the storage that held part of the cookie.
                   2404: 
                   2405: Tue Jan 14 13:12:48 1991  Ron Guilmette  (rfg at ncd.com)
                   2406: 
                   2407:        * c-decl.c (poplevel):  Set TYPE_CONTEXT for each tagged type
                   2408:        except inside function declaration parm list.
                   2409:        (grokdeclarator):  Set TYPE_CONTEXT for tagged type in decl parm list.
                   2410:        (pushtag):  Don't set TYPE_CONTEXT for tagged types here.
                   2411: 
                   2412: Tue Jan 14 06:46:37 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2413: 
                   2414:        * global-alloc.c (global_alloc): Count multi-word pseudos correctly
                   2415:        in local_reg_n_refs.
                   2416:        (find_reg): Evict pseudos that overlap the register we take, not just
                   2417:        that start with that register.
                   2418: 
                   2419:        * a29k.c (a29k_debug_reg_map): New variable.
                   2420:        (output_prologue): Initialize it.
                   2421:        * a29k.h (DBX_REGISTER_NUMBER): Use that map.
                   2422: 
                   2423:        * ultrix.h (WCHAR_TYPE): Make definition be a known type.
                   2424: 
                   2425:        * final.c (final_scan_insn): Call DBR_OUTPUT_SEQEND before we
                   2426:        clear `final_sequence', so it can call dbr_sequence_length.
                   2427: 
                   2428:        * reload1.c (reload): Clear insn_needs once we know we have
                   2429:        reloads, instead of always.
                   2430:        Don't skip processing of reloads for CALL_INSNs when caller-save
                   2431:        needs a spill register.
                   2432: 
                   2433:        * flow.c (mark_used_regs, case RETURN): Insert missing test for global
                   2434:        registers.
                   2435: 
                   2436:        * reorg.c (mark_referenced_resources): Mark asm's as volatile
                   2437:        when appropriate.
                   2438: 
                   2439:        * integrate.h (struct inline_remap): New field const_equiv_map_size.
                   2440:        * integrate.c (expand_inline_function): Set it; make larger map.
                   2441:        (subst_constants): Don't reference out-of-range entry in equiv map.
                   2442:        * unroll.c (unroll_loop): Set const_equiv_map_size.
                   2443: 
                   2444: Mon Jan 13 19:12:18 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   2445: 
                   2446:        * unroll.c (find_splittable_givs): When completely unrolling loop,
                   2447:        use biv initial value stored in splittable_regs instead of
                   2448:        bl->initial_value, since the later may not be safe.
                   2449: 
                   2450:        * sched.c (schedule_block):  When calculating whether a register
                   2451:        crosses a call, must do this after registers are killed and before
                   2452:        new registers are made live.
                   2453: 
                   2454:        * x-rs6000: Define INSTALL as /usr/ucb/install -c.  /etc/install
                   2455:        (the SYS V version) does not handle -c option as Makefile.in
                   2456:        intends it.
                   2457: 
                   2458: Mon Jan 13 11:21:24 1992  Michael Meissner  (meissner at osf.org)
                   2459: 
                   2460:        * mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and
                   2461:        N_RBRAC stabs for compatibility with other stabs implementations.
                   2462: 
                   2463: Mon Jan 13 07:41:32 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2464: 
                   2465:        * cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here.
                   2466:        TREE_PRIVATE is only for visibility.
                   2467:        (start_function): Don't test TREE_PRIVATE here.  #pragma
                   2468:        interface/implementation should properly handle the case of static
                   2469:        (i.e. non-public) defns in implementation section now.
                   2470: 
                   2471: Mon Jan 13 07:31:38 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2472: 
                   2473:        * rs6000.c (output_ascii): The AIX assembler silently truncates
                   2474:        strings longer than 666 characters, so break them up well before that.
                   2475: 
                   2476: Mon Jan 13 00:26:47 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2477: 
                   2478:        * c-decl.c (pushdecl): Warn about shadowing at top level any symbol
                   2479:        that was declared among the function parms.  But don't warn for
                   2480:        parms in a nested function.
                   2481:        * tree.c (chain_member): New function.
                   2482: 
                   2483:        * sparc.c (output_return): Handle structure value in all the cases.
                   2484: 
                   2485:        * toplev.c (main): -gstabs+ means use stabs with gdb extensions.
                   2486: 
                   2487:        * fixincludes: Insert #undef NULL before #define NULL.
                   2488: 
                   2489:        * gvarargs.h (va_list): Check some macros to avoid redefinition.
                   2490: 
                   2491:        * tree.h (DECL_PACKED): New macro.
                   2492:        * c-common.c (decl_attribute): Handle `packed'.
                   2493:        * stor-layout.c (layout_record): Handle DECL_PACKED.
                   2494:        * c-parse.y (attrib): Accept `packed' with no arg.
                   2495: 
                   2496:        * c-decl.c (shadow_tag): For useless keyword, just warn.
                   2497:        (duplicate_decls): Don't preserve volatile bit from old decl
                   2498:        if that is just a default declaration for abort, exit, etc.
                   2499: 
                   2500:        * cccp.c (do_assert, do_unassert, check_assertion):
                   2501:        No pedantic warnings in system header files.
                   2502: 
                   2503:        * ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined.
                   2504:        (WCHAR_TYPE_SIZE): Defined.
                   2505: 
                   2506:        * i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16.
                   2507: 
                   2508:        * dbxout.c (flag_minimal_debug): Make it static.
                   2509: 
                   2510: Sun Jan 12 18:10:46 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2511: 
                   2512:        * c-lex.c (check_newline): Check #line for `3' meaning system header.
                   2513:        * cccp.c (output_line_command): Output `3' if system header.
                   2514:        * c-tree.h (system_header_p): Declare it.
                   2515:        (ridpointers): Declaration deleted.
                   2516: 
                   2517:        * dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer.
                   2518:        (type_is_fundamental, output_type): Likewise.
                   2519: 
                   2520:        * optabs.c (expand_float): Abort if FROM has VOIDmode.
                   2521:        * expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode.
                   2522: 
                   2523: Sun Jan 12 16:11:40 1992  Michael Meissner  (meissner at osf.org)
                   2524: 
                   2525:        * mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the
                   2526:        .space directive, since the table PREDICATE_CODES generates tickles
                   2527:        a bug.
                   2528: 
                   2529: Sun Jan 12 15:59:41 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2530: 
                   2531:        * expmed.c: Include real.h.
                   2532:        (make_tree): Properly handle CONST_INT and handle many more rtl codes.
                   2533:        (expand_mult_add): Don't do folding here; just call make_tree and fold.
                   2534:        * Makefile.in (expmed.o): Includes real.h.
                   2535: 
                   2536: Sun Jan 12 12:26:20 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2537: 
                   2538:        * cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992.
                   2539: 
                   2540:        * cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after
                   2541:        CURRENT_CLASS_TYPE has been defined.
                   2542: 
                   2543:        * cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a
                   2544:        #pragma implementation or if it's the toplevel file.
                   2545: 
                   2546: Sat Jan 11 22:04:34 1992  Michael Meissner  (meissner at osf.org)
                   2547: 
                   2548:        * mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will
                   2549:        strip the clobbers when substituting a register for a cs'ed value,
                   2550:        unlike GCC 1.
                   2551:        (fix_truncdfsi2_opt): Likewise.
                   2552:        (long long shifts): Fix various typos.
                   2553: 
                   2554: Sat Jan 11 15:26:24 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2555: 
                   2556:        * expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG.
                   2557:        * xm-romp.h (FUNCTION_CONVERSION_BUG): Define it.
                   2558: 
                   2559:        * i386.md (cmpstrsi recognizers): Change back to repz.
                   2560: 
                   2561: Sat Jan 11 11:18:32 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2562: 
                   2563:        * cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the
                   2564:        list that will become DECL_ARGUMENTS.
                   2565: 
                   2566:        * cp-decl2.c (grokfield): Convert () initialization to =
                   2567:        initialization in FIELD context.
                   2568:        * cp-decl.c (parmlist_is_exprlist): Now non-static.
                   2569: 
                   2570:        * cp-decl.c (grokdeclarator): Don't let static class members be
                   2571:        declared `static' at top-level.
                   2572: 
                   2573:        * cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME.
                   2574: 
                   2575:        * cp-decl.c (grokdeclarator): Don't let language linkage interfere
                   2576:        with declarator grokking--the two are independent.
                   2577: 
                   2578:        * cp-call.c (compute_conversion_costs): Look for constructor or type
                   2579:        conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS
                   2580:        or not.  Also, `#if 0' some dead code.
                   2581: 
                   2582:        * cp-method.c (report_type_mismatch): Fix bugs in formatting error
                   2583:        messages.
                   2584: 
                   2585:        * cp-decl.c (grokvardecl): Verify that when static class members are
                   2586:        declared at toplevel, the types match their initial declaration.
                   2587: 
                   2588: Sat Jan 11 08:41:24 1992  Fred Fish  (fnf at fishpond)
                   2589: 
                   2590:        * config/m68kv4.h (NO_DOLLAR_IN_LABEL):  Undefine so that the
                   2591:        default for m68k/SVR4 systems is to use '$', which is more
                   2592:        widely supported.
                   2593: 
                   2594: Sat Jan 11 10:56:10 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
                   2595: 
                   2596:        * Finish PIC implementation on the 68k
                   2597:        * output.h (flag_pic): Declare here so that insn-*.c can see it.
                   2598: 
                   2599:        * reload1.c (reload): When compiling PIC ignore REG_EQUIV notes
                   2600:        which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P.
                   2601: 
                   2602:        * m68k.md (call, call_value): Make these into define_expands. If
                   2603:        compiling PIC code, then load the address of the function into a 
                   2604:        register so that we make indirect calls.
                   2605:        (Non-PIC call, call_value): New define_insns.  These are 
                   2606:        standard call insns.
                   2607:        (PIC call, call_value): New define_insns which output PIC calls.
                   2608:        (movsi): Make this into a define_expand.  Legitimize PIC addresses
                   2609:        if necessary.  Old movsi code is now an unnamed define_insn pattern.
                   2610: 
                   2611:        * m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P):
                   2612:        Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS 
                   2613:        without PIC relocation when compiling PIC code.
                   2614: 
                   2615:        * m68k.c (legitimize_pic_address): New function.  Given an address 
                   2616:        return that address as "legitimized" PIC code. 
                   2617:        (print_operand_address): When generating PIC code, handle PIC
                   2618:        relocated label_refs just like a PIC relocated symbol_ref.
                   2619:        (print_operand_address): If -fpic then add ":w" to displacement in
                   2620:        PIC relocated references.
                   2621:        (print_operand_address): If -fPIC then add ":l" to displacement in 
                   2622:        PIC relocated references.
                   2623: 
                   2624: Fri Jan 10 18:03:08 1992  Ken Raeburn  ([email protected])
                   2625: 
                   2626:        * cp-init.c (build_new): Don't allocate header for arrays if no
                   2627:        destructor is needed.  Also fix broken calculation of array size.
                   2628:        (build_delete): Don't skip array header if no destructor is needed.
                   2629: 
                   2630: Fri Jan 10 14:54:19 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2631: 
                   2632:        * cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y
                   2633:        cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn
                   2634:        (from rfg).
                   2635: 
                   2636:        * cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c:
                   2637:        Add (unsigned) casts to all places where native SVr4 compilers
                   2638:        expect to see unsigned values.
                   2639: 
                   2640: Fri Jan 10 08:34:36 1992  Fred Fish  (fnf at sunfish)
                   2641: 
                   2642:        * m68ksgs.h (REGISTER_NAMES):  Provide separate versions for
                   2643:        SUPPORT_SUN_FPA defined and not defined.
                   2644: 
                   2645: Fri Jan 10 22:36:41 1992    (Eric Youngdale at [email protected])
                   2646: 
                   2647:        * Improve I/O performance of gcc on VMS.
                   2648:        * cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions.
                   2649:        (open, fopen, freopen): Define as macros on VMS.
                   2650:        * toplev.c (VMS_fopen): New function.
                   2651:        (fopen): Define as macro on VMS.
                   2652: 
                   2653: Fri Jan 10 22:00:50 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2654: 
                   2655:        * genrecog.c (merge_trees): If two trees both have actions, but
                   2656:        one adds clobbers and one doesn't, ignore the one that does.
                   2657: 
                   2658:        * genemit.c (gen_split): Say that we are giving the definition number
                   2659:        in our error message.
                   2660:        * genrecog.c (fatal): Likewise.
                   2661:        * genoutput.c (scan_operands): Likewise.
                   2662: 
                   2663:        * caller-save.c: Include expr.h (for gen_move_insn).
                   2664:        (regno_save_elim): Deleted.
                   2665:        (init_save_areas): Don't initialize it.
                   2666:        (setup_save_areas): Don't set it.
                   2667:        (save_call_clobbered_regs, restore_referenced_regs): Accept mode,
                   2668:        not spill register.
                   2669:        (insert_save_restore): Don't do our own register elimination and
                   2670:        reloading; instead set the insns we make to the desired mode.
                   2671:        * reload1.c (struct elim_table): New field MAX_OFFSET.
                   2672:        (reload): Always call init_save_areas.
                   2673:        Initialize max_offset each pass.
                   2674:        At each CALL_INSN, create a need for a spill register that will
                   2675:        be used by caller-save.
                   2676:        Pass mode for insns to save_call_clobbered_regs instead of a
                   2677:        spill reg number.
                   2678:        Call reload_as_needed if we will have to reload the caller-save
                   2679:        insns, even if nothing else needs reload (unlikely).
                   2680:        (eliminate_regs_in_insn): Record maximum offset value.
                   2681:        * Makefile.in (caller-save.o): Includes expr.h.
                   2682: 
                   2683:        * reload.c (find_reloads): CALL_INSNs can't have output reloads.
                   2684:        * reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN
                   2685:        in front of any immediately-preceeding USE insns.
                   2686: 
                   2687:        * flow.c (life_analysis): Mark all global regs as live at the end of
                   2688:        the function.
                   2689:        (propagate_block): Each call makes all global registers live.
                   2690:        (mark_used_regs): A RETURN may use the stack pointer and uses all
                   2691:        global regs.
                   2692:        * cse.c (cse_insn): A CALL_INSN clobbers any global regs.
                   2693:        * reorg.c (mark_referenced_resources): Calls used global regs.
                   2694:        (mark_set_resources): CALL_INSNs clobber global regs.
                   2695: 
                   2696: Fri Jan 10 17:24:06 1992  Michael Meissner  (meissner at osf.org)
                   2697: 
                   2698:        * collect2.c (whole file): Major rewrite to merge in collect3
                   2699:        functionality which uses GCC to build up the constructor and
                   2700:        destructor tables, instead of using the assembler.  Also improve
                   2701:        the support for cross compilers to find the tools.  The old assembly
                   2702:        language support has been removed.
                   2703: 
                   2704:        * mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump
                   2705:        also.
                   2706:        (MIPS_IS_STAB): Likewise.
                   2707:        (MIPS_MARK_STAB): Likewise.
                   2708:        (MIPS_UNMARK_STAB): Likewise.
                   2709: 
                   2710:        * mips-tdump.c (various): Changes by Per Bothner to print
                   2711:        encapsulated stabs, and to shorten the output.
                   2712: 
                   2713:        * mips.h (MIPS_VERSION): Set Meissner version # to 7.
                   2714:        (cmp2_op): Make cmp2_op a real function instead of just a
                   2715:        macro to cmp_op.
                   2716:        (OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and
                   2717:        flag_schedule_insns_after_reload.
                   2718:        (CC1_SPEC): Fix typo preventing -mgpopt from being set if
                   2719:        optimization.
                   2720:        (PREDICATE_CODES): Define.
                   2721:        (USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in
                   2722:        GCC 2.00.
                   2723:        (ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise.
                   2724:        (CODE_MASK): Move from mips-tfile.
                   2725:        (MIPS_IS_STAB): Likewise.
                   2726:        (MIPS_MARK_STAB): Likewise.
                   2727:        (MIPS_UNMARK_STAB): Likewise.
                   2728: 
                   2729:        * mips.c (cmp2_op): Make this a real function, instead of a macro
                   2730:        pointing to cmp_op.
                   2731:        (volatile_buffer): New static variable to support .set volatile.
                   2732:        (mips_move_1word): Do .set volatile/.set novolatile around volatile
                   2733:        memory references.
                   2734:        (mips_move_2words): Likewise.
                   2735: 
                   2736:        * mips.md (sne define_split): Fix so that it generates a gtu 0.
                   2737:        (all set cc define_splits): Remove reload_completed tests.
                   2738:        (all set cc define_insns): Don't allow 0 as operand 1.
                   2739: 
                   2740: Fri Jan 10 16:40:45 1992  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
                   2741: 
                   2742:        * m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes):
                   2743:        Perform small (8 < N <= 16) constant additions and subractions to
                   2744:        address registers with two addqw (or subqw) instructions.
                   2745: 
                   2746: Fri Jan 10 06:54:22 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2747: 
                   2748:        * calls.c (expand_call): Check for _longjmp as well as longjmp;
                   2749:        clean up code a bit and merge with check for setjmp-like names.
                   2750:        Emit a BARRIER if this is a call to longjmp in addition to
                   2751:        volatile calls.
                   2752: 
                   2753: Fri Jan 10 02:25:54 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2754: 
                   2755:        * c-typeck.c (digest_init): Properly return error_mark_node
                   2756:        after invalid element in array initializer.
                   2757: 
                   2758:        * gcc.c (pexecute): Use `fork' in error message if don't have vfork.
                   2759: 
                   2760:        * Makefile.in: Add .NOEXPORT.
                   2761: 
                   2762: Thu Jan  9 13:36:25 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2763: 
                   2764:        * expr.c (expand_expr): Handle OFFSET_REF.
                   2765: 
                   2766:        * cse.c (simplify_binary_operation): Never use associative law for
                   2767:        floating arithmetic.
                   2768: 
                   2769:        * fixinc.svr4: Renamed INCLUDES to INPUT.
                   2770: 
                   2771:        * i386.md (cmpstrsi recognizers): Output repe, not repz.
                   2772: 
                   2773: Thu Jan  9 18:02:34 1992  Dennis P. Glatting  (dennisg at tti)
                   2774: 
                   2775:        * tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format.  Old format
                   2776:        was recognized as destructors not constructors.
                   2777:        * objc-actions.c (build_module_descriptor):
                   2778:        Null-terminate global_object_name.
                   2779: 
                   2780: Thu Jan  9 10:35:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2781: 
                   2782:        * sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL.
                   2783: 
                   2784: Thu Jan  9 08:17:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2785: 
                   2786:        * fold-const.c (merge_component_references): Treat constants as
                   2787:        unsigned, so we don't get extra sign bits where we don't want them.
                   2788: 
                   2789: Wed Jan  8 19:12:59 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   2790: 
                   2791:        * reload.c (combine_reloads): Don't use a fixed_reg as an reload
                   2792:        reg, even if it dies.
                   2793: 
                   2794:        * loop.c (record_giv): Fix typo extracting insn_uid.
                   2795: 
                   2796: Wed Jan  8 15:41:10 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2797: 
                   2798:        * cpp.texi, gcc.texi: Files renamed.
                   2799:        * invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles.
                   2800:        * Makefile.in: Corresponding changes.
                   2801: 
                   2802:        * fixincludes: Renamed INCLUDES to INPUT.
                   2803: 
                   2804:        * m68k.c (notice_update_cc, print_operand): Fix typos.
                   2805: 
                   2806:        * cp-decl.c (expand_static_init): Save and restore current obstacks.
                   2807: 
                   2808:        * c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block.
                   2809: 
                   2810: Wed Jan  8 12:53:48 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2811: 
                   2812:        * cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during
                   2813:        expansion.
                   2814: 
                   2815: Wed Jan  8 07:45:58 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2816: 
                   2817:        * m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files.
                   2818: 
                   2819:        * configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}.
                   2820: 
                   2821: Wed Jan  8 06:01:44 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2822: 
                   2823:        * romp.md (mftbi): Allow memory in the contraints since there can't
                   2824:        be an input reload on an insn that uses cc0.
                   2825: 
                   2826:        * cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx.
                   2827:        (NONZERO_BASE_PLUS_P): New macro.
                   2828:        (find_comparison, simplify_relational_operation_args): Use
                   2829:        NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate.
                   2830: 
                   2831:        * m68k.md (peepholes): Don't change around stack adjusts and pushes
                   2832:        when we are pushing something whose address involves sp.
                   2833: 
                   2834:        * cse.c (simplify_unary_operation): Check for operations on
                   2835:        integers by looking at mode of OP, not output mode, to avoid
                   2836:        confusion with FIX operations whose result is an integer.
                   2837: 
                   2838:        * rtl.h ([df]const[012]_rtx): Deleted.
                   2839:        (const_tiny_rtx): New declaration.
                   2840:        (CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx.
                   2841:        (CONST1_RTX, CONST2_RTX): New macros.
                   2842:        * emit-rtl.c ([df]const[012]_rtx): Deleted.
                   2843:        (const_tiny_rtx): New definition.
                   2844:        (init_emit_once): Initialize const_tiny_rtx instead of old vars.
                   2845:        * cse.c (simpify_binary_operation): Use CONST[01]_RTX.
                   2846:        * varasm.c (immed_real_const_1): Likewise.
                   2847:        * combine.c (subst): Likewise.
                   2848:        * reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise.
                   2849:        * convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise.
                   2850: 
                   2851: Tue Jan  7 22:11:17 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2852: 
                   2853:        * x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix.
                   2854: 
                   2855:        * protoize.c (_POSIX_SOURCE): Define only if POSIX.
                   2856: 
                   2857:        * m68k.h (FPA_REG_P): Always define this somehow.
                   2858: 
                   2859:        * c-decl.c (c_decode_option): Handle -Wchar-subscripts.
                   2860:        * c-typeck.c (build_array_ref): Do the real work.
                   2861: 
                   2862: Tue Jan  7 21:15:54 1992  Michael Meissner  (meissner at osf.org)
                   2863: 
                   2864:        * mips.md (branch_zero_false): Use correct mode (CC_0) on
                   2865:        match_operator.
                   2866: 
                   2867: Tue Jan  7 14:24:45 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   2868: 
                   2869:        * reg-stack.c (replace_reg): get mode class from a mode, not a reg.
                   2870: 
                   2871: Tue Jan  7 14:16:18 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2872: 
                   2873:        * reg-stack.c (emit_pop_insn): Fix typo FPmode_reg.
                   2874: 
                   2875:        * protoize.c (longjmp): Don't declare it.
                   2876: 
                   2877: Tue Jan  7 09:47:47 1992  Michael Tiemann  (tiemann at cygnus.com)
                   2878: 
                   2879:        * cp-lex.c (real_yylex): From John Hassey, allocate space for the
                   2880:        terminating null on wide character literals.
                   2881: 
                   2882: Tue Jan  7 07:41:42 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2883: 
                   2884:        * m88kv3.h (LIB_SPEC): Add -lg.
                   2885: 
                   2886: Tue Jan  7 06:29:30 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2887: 
                   2888:        * stor-layout.c (layout_type): Don't over-align a structure
                   2889:        when strict alignment is not required.
                   2890: 
                   2891:        * rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used.
                   2892: 
                   2893:        * rs6000.md (add-and-compare): Fix duplicate operand number.
                   2894: 
                   2895:        * a29k.md (inbyte, inhw): Correct duplicate operand number.
                   2896: 
                   2897:        * fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)).
                   2898:        * combine.c (subst, case MULT): Likewise.
                   2899:        (simplify_shift_const, shift cases): Similarly, associate A << B << C.
                   2900: 
                   2901:        * genoutput.c (seen): New array.
                   2902:        (scan_operands): Give error if an operand number was specified
                   2903:        twice.  Include pattern number in error message.
                   2904:        (gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'.
                   2905:        (gen_split, gen_peephole): Add initializations for arrays that
                   2906:        are copied.
                   2907: 
                   2908:        * optabs.c (expand_unop): Complete recent change; one TARGET was
                   2909:        not changed to TEMP.
                   2910: 
                   2911:        * expmed.c (expand_mult): Always try multiplication by value and
                   2912:        by negated value. Fix bug where we don't include the cost of the negate
                   2913:        when seeing which way is better.  Write proper value in REG_EQUAL
                   2914:        note.
                   2915: 
                   2916:        * optabs.c (extendtab): Replacement for {zero,sign}_extend_codes.
                   2917:        (can_extend_p): Use new table and return type is not enum insn_code.
                   2918:        (gen_extend_insn): Deleted; not used.
                   2919:        (init_extends): Make like init_flottab: use new table and initialize
                   2920:        unused entries to CODE_FOR_nothing, not zero.
                   2921:        * expr.c (convert_move): can_extend_p fails if it returns
                   2922:        CODE_FOR_nothing, not zero.
                   2923:        * expr.h (can_extend_p): Add definition.
                   2924: 
                   2925:        * expr.h: Add "extern" to function definitions.
                   2926: 
                   2927: Mon Jan  6 10:12:34 1992  Leonard Norrgard  (vinsci at nic.funet.fi)
                   2928: 
                   2929:        * m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the
                   2930:        optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA.
                   2931:        * m68k.h (SUPPORT_SUN_FPA): Likewise.
                   2932: 
                   2933:        * m68k.c (notice_update_cc): New function.
                   2934:        * m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc.
                   2935: 
                   2936:         * sun3.h (SUPPORT_SUN_FPA): New define.
                   2937: 
                   2938: Mon Jan  6 16:42:43 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   2939: 
                   2940:        * varasm.c (assemble_global, assemble_label): New functions.
                   2941:        * objc-actions.c (finish_objc): Call them to define and globalize.
                   2942:        Use output_constant to reference a class.
                   2943: 
                   2944:        * Makefile.in (install-limits-h): New target.
                   2945:        (install-headers): Depend on install-limits-h.
                   2946:        (USER_H): Deleted LIMITS_H.
                   2947:        (INSTALLED_H): Added limits.h.
                   2948:        (mostlyclean): Remove tmp-limits.h.
                   2949:        * limitx.h: New file.
                   2950: 
                   2951:        * x-isc: File deleted.
                   2952: 
                   2953:        * objc-actions.c (build_module_descriptor): Init global_object_name.
                   2954: 
                   2955:        * Makefile.in (collect2): Depend on version.o.
                   2956: 
                   2957:        * protoize.c (PATH_MAX): Definition deleted.  Just test it
                   2958:        to see if param.h should be included.
                   2959: 
                   2960:        * cse.c (simplify_binary_operation, case MULT): Make a copy
                   2961:        of the operand when converting 2.0 * X to X+X.
                   2962: 
                   2963:        * reload.c (find_reloads): Refine when we set force_reload and
                   2964:        better document the cases.
                   2965: 
                   2966: Mon Jan  6 08:22:19 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   2967: 
                   2968:        * i386.c (output_float_compare): Output only single-pop compare
                   2969:        if both operands are the FP top of stack reg.
                   2970:        When comparing FP top of stack with itself, print `%st(0)' as the
                   2971:        reg name, not `%st'.
                   2972: 
                   2973: Mon Jan  6 12:01:51 1992  Tiggr  (rcpieter at mole.gnu.ai.mit.edu)
                   2974: 
                   2975:        * arm.md (mulsi3): Fixed contraints.
                   2976: 
                   2977: Mon Jan  6 08:21:46 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   2978: 
                   2979:        * m88k-move.sh: Renamed from m88k-movstr.sh.  Rename the generated
                   2980:        files move*.asm from movstr*.asm to be SVR3-legit.
                   2981:        * t-m88k, t-m88kluna, t-m88kv4: Use the new names.
                   2982: 
                   2983:        * c-aux-info.c, dbxout.c: Include errno.h as in protoize.c.
                   2984: 
                   2985:        * Makefile.in (BISONFLAGS): Don't use -v since *.output is big.
                   2986:        (cp-parse.c): Do use -d to create cp-parse.h.
                   2987:        (cp-parse.o): Don't define PARSE_OUTPUT.
                   2988:        * x-mips, x-m88kdgux (BISONFLAGS): No -v.
                   2989: 
                   2990: Mon Jan  6 07:54:55 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   2991: 
                   2992:        * genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the
                   2993:        natural order so we see an operand before we see a MATCH_DUP referring
                   2994:        to it.
                   2995: 
                   2996:        * genrecog.c (write_tree_1): Simplify code that writes braces and
                   2997:        avoid writing them unnecessarily.
                   2998:        Don't write dead code when last test was unconditional.
                   2999: 
                   3000:        * optabs.c (expand_binop, expand_twoval_binop, expand_unop):
                   3001:        Standardize loop for wider mode.
                   3002:        (emit_cmp_insn, emit_float_lib_cmp): Likewise.
                   3003:        (expand_binop): Correct how extensions are done: use convert_to_mode,
                   3004:        don't use SUBREG for non-integer operations, and remove test
                   3005:        involving HOST_BITS_PER_INT.
                   3006:        (expand_unop): Similar changes; make code closer to expand_binop.
                   3007:        Handle failure of recursive call when expanding.  Fix incorrect use
                   3008:        of TEMP when widening.  Use SUBREG for NEG and NOT.
                   3009: 
                   3010:        * reload.c (find_reloads_address_part): New function.
                   3011:        (find_reloads_address): Call it instead of push_reload when we are
                   3012:        reloading a PLUS or a constant.
                   3013: 
                   3014: Sun Jan 5 18:34:15 1992    (Eric Youngdale at [email protected])
                   3015: 
                   3016:        * make-cc1.com:  Change file names from cp-tab.* to cp-parse.*.
                   3017: 
                   3018: Sun Jan  5 18:06:11 1992  Michael Tiemann  (tiemann at cygnus.com)
                   3019: 
                   3020:        * cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE
                   3021:        parameters when TYPE_REFERENCE_TO is automagically converted.
                   3022: 
                   3023: Sun Jan  5 05:19:19 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3024: 
                   3025:        * tree.h (CONSTRUCTOR_NAME_FORMAT): New macro.
                   3026:        * objc-actions.c (build_module_descriptor): Make constructor name
                   3027:        from name of file or of a global that it defines.
                   3028:        Return constructor name.
                   3029:        (finish_objc): Use name returned as name to call.
                   3030: 
                   3031:        * protoize.c (GUESSPATHLEN): New macro.
                   3032:        (main): Use that for initial buffer size for getcwd.
                   3033:        * dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
                   3034:        (dbxout_init): Call getcwd in loop, as in protoize.c.
                   3035:        * c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c.
                   3036:        (gen_aux_info_record): Call getcwd in loop.
                   3037:        * i386v.h, i386vgas.h (MAXPATHLEN): Don't define.
                   3038: 
                   3039:        * svr3.h (LINK_SPEC): Don't pass -K.
                   3040: 
                   3041:        * reload.c (find_reloads): Do record in non_reloaded_operands if no -O.
                   3042: 
                   3043:        * m68k.c (output_function_prologue, output_function_epilogue):
                   3044:        Add braces and adjust conditionals to fix balance and indentation.
                   3045: 
                   3046:        * objc-actions.c (build_module_descriptor): Mark __objc_file_init used.
                   3047: 
                   3048: Sat Jan  4 13:27:40 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   3049: 
                   3050:        * protoize.c: unprotoize getcwd & fork declarations.
                   3051:        (edit_fn_declaration): use "VOLATILE", not "volatile".
                   3052: 
                   3053: Sat Jan  4 20:19:41 1992  Michael Meissner  (meissner at osf.org)
                   3054: 
                   3055:        * mips.h (set_volatile): Add new global variable reference.
                   3056: 
                   3057:        * mips.c (set_volatile): New global variable to keep track of the
                   3058:        number of .set volatile's done.  At present, no code actually turns
                   3059:        this on.
                   3060:        (mips_move_1word): Use %. instead of putting const0_rtx into an
                   3061:        unused operator and using %z to get to $0, which is hardwired to 0.
                   3062:        (mips_move_2words): Likewise.
                   3063:        (override_options): Allow %., %{, and %} punctuation.
                   3064:        (print_operands): Add support for %. to get the current name of
                   3065:        register 0, %{ to turn on .set volatile, and %} to turn on .set
                   3066:        novolatile.
                   3067:        (function_epilogue): Give an error if .set volatile was left on in
                   3068:        the epilogue.
                   3069:        (mips_asm_file_start): Don't emit .set nobopt unless we are filling
                   3070:        branch delay slots.
                   3071: 
                   3072:        * mips.md (set reg on comparison define_splits): Don't allow the
                   3073:        scheduler to split any set of a comparision insns, to work around a
                   3074:        bug in sched.c.
                   3075: 
                   3076: Sat Jan  4 23:01:41 1992  Jeffrey A Law  (law at planet.super.org)
                   3077: 
                   3078:        * m68k.c (output_function_prolog): Decrement (instead of 
                   3079:        increment) num_saved_regs when a frame pointer is needed.
                   3080:        (the link/unlk will restore the frame pointer register)  
                   3081: 
                   3082: Sat Jan  4 11:11:24 1992  Dennis P. Glatting  (dennisg at tti)
                   3083: 
                   3084:        * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining.
                   3085: 
                   3086: Sat Jan  4 07:40:25 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3087: 
                   3088:        * expr.c (convert_to_mode): Correctly zero-extend a constant into
                   3089:        a mode whose size is twice the host int size.
                   3090: 
                   3091:        * machmode.h (enum mode_class): Add MAX_MODE_CLASS.
                   3092:        (GET_CLASS_NARROWEST_MODE): New macro.
                   3093:        (byte_mode, word_mode): Add declarations.
                   3094:        * caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE.
                   3095:        * combine.c (make_extraction): Don't use explicit QImode and SImode.
                   3096:        * cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have 
                   3097:        VOIDmode, not DImode.
                   3098:        (simplify_binary_operation): Remove explicit DFmode reference.
                   3099:        * expmed.c (init_expmed): Don't make our own copy of word_mode.
                   3100:        (store_bit_field, extract_bit_field): Remove explicit
                   3101:        QImode reference; don't recompute word_mode.
                   3102:        (store_fixed_bit_field, {store,extract}_split_bit_field): Don't
                   3103:        recompute word_mode.
                   3104:        (emit_store_flag): Likewise.
                   3105:        (extract_fixed_bit_field): Replace explicit mode references with a
                   3106:        loop on modes; don't recompute word_mode.
                   3107:        * expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't
                   3108:        recompute word_mode.
                   3109:        (emit_push_insn, do_jump_by_parts*): Likewise.
                   3110:        (push_block): Remove explicit QImode reference.
                   3111:        (get_inner_reference): Use mode_for_size.
                   3112:        * emit-rtl.c (restore_reg_data): Make unused regs word_mode.
                   3113:        (operand_subword): Don't recompute word_mode.
                   3114:        * fold-const.c (optimize_bit_field_compare): Likewise.
                   3115:        (merge_component_references): Likewise.
                   3116:        * flow.c (mark_set_1, mark_used_regs): Likewise.
                   3117:        * loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE.
                   3118:        * optabs.c (expand_binop): Replace SImode references in multi-word
                   3119:        multiply with the mode used for each subpart.
                   3120:        (expand_binop, expand_unop): Don't recompute word_mode.
                   3121:        * reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE.
                   3122:        * reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode.
                   3123:        * rtl.c (class_narrowest_mode, byte_mode, word_mode): Define.
                   3124:        (init_rtl): Initialize them.
                   3125:        * sched.c (attach_deaths): Don't recompute word_mode.
                   3126:        * stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE.
                   3127:        (get_best_mode): Likewise.
                   3128:        Don't recompute word_mode.
                   3129:        * unroll.c (unroll_loop): Replace default of SImode with word_mode.
                   3130: 
                   3131:        * calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT.
                   3132: 
                   3133: Sat Jan  4 03:42:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3134: 
                   3135:        * protoize.c (pointer_type): Use char * if non-ANSI.
                   3136:        (const_pointer_type): Likewise.
                   3137:        (malloc, realloc): Declare to return pointer_type.
                   3138:        (setjmp): Don't declare, to avoid trouble with macro defns.
                   3139:        (const): If not ANSI, define as empty macro.
                   3140: 
                   3141: Sat Jan  4 00:59:53 1992  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   3142: 
                   3143:        * sparc.c (legitimize_pic_address): When converting a symbol_ref,
                   3144:        use an extra temp reg when -fPIC, and add a REG_EQUAL note to the
                   3145:        insn referencing the global offset table.  This allows loop to
                   3146:        optimize these PIC sequences.
                   3147: 
                   3148: Fri Jan  3 20:29:57 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   3149: 
                   3150:        * i386.md (return): Always output return insns.
                   3151: 
                   3152:        * i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function
                   3153:        is a BARRIER, don't output a function epilogue.
                   3154: 
                   3155: Fri Jan  3 12:43:09 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3156: 
                   3157:        * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL):
                   3158:        Use libgcc.a, not libgcc.
                   3159: 
                   3160:        * protoize.c (STRINGIFY): Provide non-ANSI alternative definition.
                   3161: 
                   3162:        * c-decl.c (get_parm_info): Keep non-parms in the parm list.
                   3163: 
                   3164:        * stmt.c (cost_table): Now short.
                   3165:        (estimate_case_costs): Handle that.
                   3166: 
                   3167:        * Makefile.in (float.h, *protoize.1, gcc.xtar.Z):
                   3168:        Make temp files, then rename.
                   3169:        (clean): Delete those temp files.
                   3170: 
                   3171:        * Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big.
                   3172: 
                   3173: Fri Jan  3 10:32:31 1992  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                   3174: 
                   3175:        * Makefile.in (cp-parse.c): Add missing -o flag.
                   3176: 
                   3177: Fri Jan  3 08:21:04 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3178: 
                   3179:        * reg-stack.c: Complete last change (renaming DFmode_reg).
                   3180: 
                   3181:        * expmed.c (init_expmed): Pass dummy pointer to number of clobbers to
                   3182:        recog so it can let us see patterns that need added clobbers.
                   3183: 
                   3184: Fri Jan  3 07:54:32 1992  Tom Wood  (wood at dg-rtp.dg.com)
                   3185: 
                   3186:        * c-decl.c (implicitly_declare): Record whether this is an implicit
                   3187:        declaration before setting IDENTIFIER_IMPLICIT_DECL.
                   3188: 
                   3189: Thu Jan  2 21:17:12 1992  Michael Meissner  (meissner at osf.org)
                   3190: 
                   3191:        * mips.c (compute_frame_size): Don't count FP registers twice.
                   3192: 
                   3193: Thu Jan  2 14:59:55 1992  Michael Tiemann  (tiemann at hal)
                   3194: 
                   3195:        * cp-lex.h: Renamed from cp-parse.h.  Now cp-parse.h is the file
                   3196:        created by bison from cp-parse.y.
                   3197:        * Makefile.in: reflect this naming change.
                   3198: 
                   3199: Thu Jan  2 12:37:32 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3200: 
                   3201:        * objc-actions.c (build_obj_method_call): Typo in NEXT case.
                   3202: 
                   3203:        * next.h (HAVE_ATEXIT): Defined.
                   3204: 
                   3205:        * c-decl.c (duplicate_decls):
                   3206:        No error if override decl that has DECL_BUILT_IN_NONANSI.
                   3207: 
                   3208:        * Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big.
                   3209: 
                   3210:        * Makefile.in (protoize, PROTOIZE): Delee these 2 new targets;
                   3211:        `protoize' was redundant.
                   3212: 
                   3213:        * c-typeck.c (build_function_call): If the fn is volatile,
                   3214:        make a pointer-to-volatile-function type pointer.
                   3215:        * calls.c (expand_call): Handle calls to such pointers as volatile.
                   3216: 
                   3217:        * expmed.c (init_expmed): Pass all 3 args to `recog'.
                   3218: 
                   3219:        * varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits.
                   3220: 
                   3221:        * sparc.md (storing SF into mem at symb addr): Fix typos.
                   3222: 
                   3223:        * protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink):
                   3224:        (my_open, my_chmod): Macros that run access, stat,... with casts.
                   3225:        Renamed from former POSIX-only macros and made unconditional.
                   3226:        All calls to these functions also renamed.
                   3227: 
                   3228:        * m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below,
                   3229:        thus making the behavior really change to accept all CONST_DOUBLE.
                   3230: 
                   3231:        * libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c.
                   3232:        * gcc.c (link_command_spec): Link with libgcc.a.
                   3233:        * Makefile.in (libgcc): Rename targets and variables from gnulib.
                   3234:        * *.h, t-*, x-*: Rename refs to those symbols and files.
                   3235:        * expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_...
                   3236: 
                   3237:        * m68k.c (symbolic_operand): Reject all CONST_DOUBLE.
                   3238:        * m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P.
                   3239:        (LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs
                   3240:        that symbolic_operand used to accept.
                   3241: 
                   3242: Thu Jan  2 21:06:13 1992  James Van Artsdalen  (james at bigtex.cactus.org)
                   3243: 
                   3244:        * protoize.c (is_id_char,free_def_dec,check_aux_info):
                   3245:        Don't declare them `inline'.
                   3246:        (save_def_or_dec,munge_compile_params,find_extern_def,check_source,
                   3247:        scan_for_missed_items): Use alloca instead of variable length arrays.
                   3248: 
                   3249:        * Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca.
                   3250: 
                   3251: Thu Jan  2 21:40:52 1992  Jeffrey A Law  (law at b115.super.org)
                   3252: 
                   3253:        * sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2
                   3254:        and higher optimization levels.
                   3255: 
                   3256: Thu Jan  2 06:46:56 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3257: 
                   3258:        * final.c (final_scan_insn): Compare debug_info_level with entries in
                   3259:        its enum, not with integers.
                   3260: 
                   3261:        * reg-stack.c ({SF,DF}mode_reg): Deleted.
                   3262:        (FP_mode_reg): New array, indexed by register and by mode.
                   3263:        (reg_to_stack): Replace initialization of old vars with initialization
                   3264:        of FP_mode_reg.
                   3265:        (replace_reg): Use new array.
                   3266: 
                   3267:        * romp.c, romp.h, romp.md: Rename symbolic_operand to
                   3268:        romp_symbolic_operand.
                   3269: 
                   3270:        * emit-rtl.c (init_emit_once): Create virtual registers before the
                   3271:        structure value regsisters, since the latter might use the former.
                   3272: 
                   3273:        * varasm.c (output_constant): Fix typo: missing arg to expand_expr.
                   3274: 
                   3275:        * vax.md (call_pop, call_pop_value): Use correct register number for
                   3276:        stack pointer.  Add new patterns for case of zero args.
                   3277: 
                   3278: Thu Jan  2 08:12:59 1992  Fred Fish  (fnf at sunfish)
                   3279: 
                   3280:        * x-amix:  Minor changes to some comments.
                   3281:        * x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS):  Remove definitions.
                   3282:        * x-amix (manext):  Add definition.
                   3283: 
                   3284: Thu Jan  2 11:14:28 1991  Ken Raeburn  ([email protected])
                   3285: 
                   3286:        * fold-const.c (fold, case PLUS_EXPR): If association permits
                   3287:        reduction to var+0, convert var to the desired type before returning
                   3288:        it.
                   3289: 
                   3290: Wed Jan  1 10:37:50 1992  Michael Tiemann  (tiemann at cygnus.com)
                   3291: 
                   3292:        * expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) >
                   3293:        BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE).
                   3294: 
                   3295:        * expr.c (expand_expr): In CONSTRUCTOR case, preserve
                   3296:        MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might
                   3297:        not be independent.
                   3298: 
                   3299: Wed Jan  1 18:32:03 1992  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3300: 
                   3301:        * c-parse.y (parmlist_1): Accept `PARMS; PARMS'.
                   3302:        (parmlist_or_identifiers_1): Likewise.  Also use plain parmlist_2.
                   3303:        Delete the ([names] decls) syntax.
                   3304:        (defn_parms, defn_parmlist_2): Deleted.
                   3305:        * c-decl.c (get_parm_info): Put parm decls into original order.
                   3306:        Don't nreverse the original decls list.
                   3307:        (pushdecl, duplicate_decls): Avoid error for forward parm decl.
                   3308:        (clear_parm_order): New function.
                   3309:        (push_parm_decl): Record original order of parms.
                   3310: 
                   3311:        * c-decl.c (struct binding_level): New slot subblocks_tag_transparent.
                   3312:        (pushlevel): Use that, not ->parm_flag.
                   3313:        (start_function): Set that slot.
                   3314: 
                   3315:        * config.sub: Always distinguish between amix and sysv4.
                   3316:        Convert commodore to cbm and digital to dec.
                   3317: 
                   3318:        * m68k.md (stack adjust then push SI): New peephole.
                   3319: 
                   3320:        * m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int".
                   3321:        * sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining.
                   3322: 
                   3323:        * cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE.
                   3324:        (LONG_TYPE_SIZE): Add default definition.
                   3325: 
                   3326:        * objc-actions.c: Declare index and rindex.
                   3327:        (build_module_descriptor): Simplify last change.
                   3328:        Use a fixed name for the initialization function.
                   3329:        (init_objc): Don't do constructor here.
                   3330:        (finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME.
                   3331: 
                   3332:        * protoize.c: Unprotoized.
                   3333:        (edit_file): Improve message in -n case.
                   3334: 
                   3335:        * Makefile.in (LANGUAGES): Add proto.
                   3336:        (C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets.
                   3337:        (PROTOIZE, protoize, PROTO): Aliases for proto.
                   3338:        (rest.encap): Delete dep `proto'.
                   3339: 
                   3340: Wed Jan  1 15:07:41 1992  Michael Meissner  (meissner at osf.org)
                   3341: 
                   3342:        * mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than
                   3343:        doing it wrong by hand.  If not optimizing, make sign extends from
                   3344:        memory not force the operand into a register first and do two
                   3345:        shifts -- combine already does this when optimizing.
                   3346:        (copyright): Add 1992 to list of years the file was modified.
                   3347: 
                   3348: Wed Jan  1 06:10:01 1992  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3349: 
                   3350:        * reload1.c (reload): When forcing an illegitimate constant into
                   3351:        memory, use mode of SET_DEST in case constant is VOIDmode.
                   3352: 
                   3353:        * stmt.c (expand_end_case): Pass index type to emit_case_nodes instead
                   3354:        of unsigned flag.
                   3355:        (node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see
                   3356:        if the a node value is at the limit of values of the type.
                   3357:        (node_is_bounded): Accept INDEX_TYPE and pass to above functions;
                   3358:        always call them.
                   3359:        (emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg;
                   3360:        pass index type to recursive calls and to calls to bound checking
                   3361:        functions.
                   3362: 
                   3363:        * varasm.c (assemble_integer_zero): Deleted.
                   3364:        (assemble_integer, assemble_real): New functions.
                   3365:        (output_constant_pool, output_constant): Use new functions.
                   3366:        * final.c (end_final, profile_function): Likewise.
                   3367: 
                   3368:        * calls.c (calls_alloca): Don't interpret operands that are RTL as if
                   3369:        they were trees; check args of nested CALL_EXPR for alloca calls.
                   3370: 
                   3371: Wed Jan  1 16:51:30 1992  Fred Fish  (fnf at fishpond)
                   3372: 
                   3373:        * Makefile.in (manext): Include the '.' character.
                   3374:        (mandir): Don't use manext.
                   3375:        (install-man, uninstall): Change uses of manext.
                   3376: 
                   3377: Wed Jan  1 21:31:01 1992  Ron Guilmette  (rfg at ncd.com)
                   3378: 
                   3379:        * i860.md (cmpeqsi, cmpltsi, cmpgtsi):  Made control flow more obvious.
                   3380:        (cmpnesi, cmplesi, cmpgesi):  New patterns.
                   3381:        (cmpgeusi, cmpleusi):  Fixed bug in compares against zero.
                   3382: 
                   3383: Tue Dec 31 11:16:37 EST 1991   Dennis P. Glatting (...!uunet!tti!dennisg)
                   3384: 
                   3385:        * objc-actions.c (build_module_descriptor): Emit a constructor 
                   3386:        function.  Constructor function calls a ObjC run-time routine passing
                   3387:        a pointer to the module's module structure.
                   3388:        (init_objc): Call different constructor function if not Next.
                   3389:        (build_selector_translation_table): Don't give a selector global scope.
                   3390:        Changed in construction of decl_specs.
                   3391: 
                   3392: Tue Dec 31 18:06:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3393: 
                   3394:        * genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand".
                   3395:        (same_modes): Properly check when we should ignore a mode test.
                   3396: 
                   3397:        * reload1.c (emit_reload_insns): Only change spill_reg_store for
                   3398:        output reloads.
                   3399:        Clear spill_reg_store when we did an input reload to a spill register.
                   3400:        (delete_output_reload): Use single_set.
                   3401:        (count_occurrences): Don't count use which is SET_DEST.
                   3402: 
                   3403: Tue Dec 31 16:51:37 1991  Michael Meissner  (meissner at osf.org)
                   3404: 
                   3405:        * mips.h (MIPS_VERSION): Change Meissner version # to 6.
                   3406:        (ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile.
                   3407:        (CONSTANT_ALIGNMENT): Align constructors on word boundaries.
                   3408: 
                   3409:        * mips.md (extend*): Replace sign extension insns with a
                   3410:        define_expand that converts the expansion into the appropriate
                   3411:        shifts.  Add insns that do sign extension from memory, which the
                   3412:        optimizer will utilitize if the thing being sign extended really
                   3413:        comes from memory.  This allows the shifts to compete for CSE, at a
                   3414:        potential cost of generating worse code if reload spills a HI or QI
                   3415:        register to the stack.
                   3416:        (sne define_split): Instead of using a constant 0 as the second
                   3417:        argument to the slti instruction, use a hard coded regisiter 0.
                   3418: 
                   3419:        * mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the
                   3420:        directory where the MIPS compilers live.
                   3421:        (LIB_SPEC): Add crtn.o after all libs.
                   3422:        (STARTFILE_SPEC): Use crt1.o, not crtn.o.
                   3423:        (MACHINE_TYPE): Correct typo, this is System V, not BSD.
                   3424:        Changes are from Ron Guilmette (rfg at ncd.com).
                   3425: 
                   3426:        * configure (mips-*-sysv): Correctly use mips-sysv.h instead of
                   3427:        mips.h.  Change is from Ron Guilmette.
                   3428: 
                   3429: Tue Dec 31 16:51:37 1991  Michael Stump  (mrs at charlie.secs.csun.edu)
                   3430: 
                   3431:        * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove
                   3432:        collect2 from EXTRA_PASSES, as collect2 does not need installing as
                   3433:        collect2.  Also, change the symlink back to a hard link.
                   3434: 
                   3435:        * Makefile.in: Add collect2 to STAGESTUFF as it is something that
                   3436:        needs removing or moving to stagen, but it should not be installed.
                   3437: 
                   3438: Tue Dec 31 15:47:50 1991  Michael Tiemann  (tiemann at hal)
                   3439: 
                   3440:        * combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so
                   3441:        the lattern can use the result of the former.
                   3442: 
                   3443:        * conditions.h: In comments, refer to `tm.h', since `tm-' is no
                   3444:        longer the form used for these files.
                   3445: 
                   3446: Tue Dec 31 11:45:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3447: 
                   3448:        * cp-lex.c (lineno, finput): Decls deleted.
                   3449: 
                   3450:        * global-alloc.c (find_reg): New arg RETRYING.
                   3451:        (retry_global_alloc, global_alloc): Pass that arg.
                   3452: 
                   3453:        * Makefile.in (*protoize, *protoize.o): Compile with CC.
                   3454:        * protoize.c: Include config.h, not tconfig.h.
                   3455:        Always define _POSIX_SOURCE.
                   3456: 
                   3457:        * convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE.
                   3458:        * conv1*.h, conv2*.h: Files deleted.
                   3459: 
                   3460:        * m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined.
                   3461: 
                   3462: Tue Dec 31 08:08:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   3463: 
                   3464:        * cexp.y (yylex): Record the parsed characters when dealing with
                   3465:        multibyte characters.
                   3466: 
                   3467: Mon Dec 30 17:13:30 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   3468: 
                   3469:        * i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the
                   3470:        two operand multiply instead of three operand form: the AT&T
                   3471:        assemblers generate incorrect object code for the latter.
                   3472: 
                   3473: Mon Dec 30 17:39:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3474: 
                   3475:        * jump.c (jump_optimize): Complete last change: use expand_and result.
                   3476: 
                   3477:        * reload1.c (emit_reload_insns): Check if reload_in needs a secondary
                   3478:        reload if we have an in-out reload, since it might have been the
                   3479:        output the needed the secondary reload.
                   3480: 
                   3481:        * cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is
                   3482:        VOIDmode, not DImode.
                   3483: 
                   3484:        * fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the
                   3485:        comparison is LE_EXPR or LT_EXPR.
                   3486: 
                   3487:        * calls.c (calls_alloca): New function.
                   3488:        (expand_call): Preexpand any argument that contains a call to alloca
                   3489:        if this call will use the stack.
                   3490: 
                   3491:        * rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation
                   3492:        error.
                   3493: 
                   3494:        * rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix
                   3495:        incorrect definition.
                   3496: 
                   3497: Mon Dec 30 16:10:46 1991  Michael Meissner  (meissner at osf.org)
                   3498: 
                   3499:        * mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt
                   3500:        in favor of -mno-gpopt.
                   3501: 
                   3502: Mon Dec 30 11:32:05 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3503: 
                   3504:        * cp-class.c (build_vtable): If we're doing #pragma interface
                   3505:        and the interface is known, set TREE_PUBLIC, regardless of
                   3506:        TREE_EXTERNAL settings.
                   3507: 
                   3508:        * cp-decl.c (make_temporary_for_reference): Don't call
                   3509:        `convert_pointer_to', since the type may not be an aggr type.
                   3510: 
                   3511:        * cp-decl.c (finish_decl): Now takes 4th arg NEED_POP.
                   3512:        All callers changed.
                   3513: 
                   3514:        * cp-class.c (permanent_obstack): Declare it.
                   3515:        (add_method): push and pop obstacks before changing out of/into
                   3516:        temporary allocation.
                   3517:        * cp-decl.c (implicitly_declare): Add
                   3518:        push_obstacks_nochange/pop_obstacks around changes out of/into
                   3519:        temporary allocation.
                   3520:        (shadow_tag,xref_tag,start_decl,finish_decl): Ditto.
                   3521:        * cp-decl2.c (grokfield,get_temp_name): Ditto.
                   3522:        * cp-except.c ({ansi_}lookup_exception_object): Ditto.
                   3523:        * cp-lex.c (get_time_identifier): Ditto.
                   3524:        * cp-tree.c (build_exception_variant): Ditto.
                   3525:        * cp-typeck.c (mark_addressable): Ditto.
                   3526: 
                   3527:        * cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to
                   3528:        preserve allocation status.  Now handled by callers.
                   3529: 
                   3530: Mon Dec 30 01:44:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3531: 
                   3532:        * c-lex.c (yyprint): Function moved here.
                   3533:        * c-parse.y, objc-parse.y: Moved from here.
                   3534: 
                   3535:        * Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c):
                   3536:        cd to srcdir to run Bison.
                   3537: 
                   3538:        * c-lex.c (check_newline): Get rid of #ident pedantic warning.
                   3539:        * cccp.c (do_ident): Put it here.
                   3540:        Don't warn if in system header file.
                   3541: 
                   3542:        * cccp.c (main, finclude): Warn if file ends in backslash-newline.
                   3543: 
                   3544:        * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions.
                   3545: 
                   3546:        * global-alloc.c (find_reg): Kick out local regs if that helps.
                   3547:        (global_alloc): Set up vars local_regs_live_length, local_regs_n_refs.
                   3548: 
                   3549:        * protoize.c (do_processing): Fix setting syscalls_absolute_filename.
                   3550: 
                   3551:        * configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives.
                   3552:        * config.sub (*-commodore): Default OS to Amigados.
                   3553:        (-amix*): Allow this as input.
                   3554:        (amiga): New abbreviation.
                   3555: 
                   3556:        * sparc.c (output_function_epilogue): Skip unimp differently in leaf.
                   3557:        Use jmp insn rather than separate add.
                   3558:        (output_return): Skip unimp here too.
                   3559:        * sparc.md (return "peepholes"). Handle skipping the unimp.
                   3560: 
                   3561:        * fold-const.c (fold, optimizing 2*EXPR): Use save_expr.
                   3562: 
                   3563:        * varasm.c (make_decl_rtl): Permit initializer for local explicit reg.
                   3564: 
                   3565:        * c-decl.c (kept_level_p):  Changed to also return TRUE for binding
                   3566:        levels which contain only tagged type declarations.
                   3567: 
                   3568:        * calls.c (expand_call): Cleaned up prev change.
                   3569: 
                   3570: Mon Dec 30 11:29:47 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                   3571: 
                   3572:        * cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args.
                   3573: 
                   3574:        * calls.c (expand_call): Handle allocating ARGBLOCK in the case
                   3575:        that ACCUMULATE_OUTGOING_ARGS is not defined.
                   3576: 
                   3577: Mon Dec 30 10:27:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   3578: 
                   3579:        * protoize.c: fix typo in <sys/wait.h> inclusion.
                   3580: 
                   3581: Mon Dec 30 06:16:16 1991  Leonard Norrgard  (vinsci at nic.funet.fi)
                   3582: 
                   3583:        * c-decl.c (grokdeclarator): Changed erroneus error message.
                   3584: 
                   3585: Sun Dec 29 16:16:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3586: 
                   3587:        * toplev.c (main): Last -On option wins.
                   3588:        * Makefile.in (ENQUIRE_CFLAGS): Add -O0.
                   3589: 
                   3590:        * Makefile.in (cp-tab.c): Change "expect" message.
                   3591: 
                   3592:        * final.c (leaf_renumber_regs): Renumber just the PATTERN.
                   3593: 
                   3594: Sun Dec 29 14:20:15 1991  Per Bothner  (bothner at cygnus.com)
                   3595: 
                   3596:        * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
                   3597:        20) was a little too drastic: If it succeded, no type info was
                   3598:        emitted at all, which made for syntactically invalid stabs.
                   3599:        Instead, just set 'full=0',
                   3600:        * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
                   3601:        little cleaner.  It *seems* to work ...
                   3602: 
                   3603: Sun Dec 29 07:04:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3604: 
                   3605:        * expr.c (convert_move): Add truncates from DImode to smaller modes.
                   3606:        (move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit
                   3607:        references to integer modes.
                   3608:        Never need to align greater than BIGGEST_ALIGNMENT.
                   3609: 
                   3610:        * optabs.c (init_extends, init_fixtab, init_floattab, init_optabs):
                   3611:        Add TImode operations.
                   3612: 
                   3613:        * reload.c (find_reloads): Prefer alternatives that reload SCRATCH
                   3614:        instead of something else.
                   3615: 
                   3616:        * rs6000.md (movti): Adjust constraints and alternative order so
                   3617:        we actually get to use the  stsi insn.
                   3618: 
                   3619:        * rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to
                   3620:        put a TImode value in r11 as often.
                   3621: 
                   3622:        * caller-save.c (setup_save_areas): New parameter pchanged; set when
                   3623:        memory is allocated.
                   3624:        * reload1.c (reload): Pass pointer to something_changed to
                   3625:        setup_save_areas.
                   3626: 
                   3627:        * loop.c (scan_loop): Don't suppress moving insns that can trap just
                   3628:        because we have passed a call inside a libcall/retval block.
                   3629: 
                   3630:        * jump.c (get_label_before): Don't separate a CALL_INSN from any USE
                   3631:        insns immediately preceeding it.
                   3632:        (get_label_after): Likewise, for following CLOBBERs.
                   3633: 
                   3634:        * cse.c (fold_rtx, case '<'): When seeing if we have seen this
                   3635:        comparison before, use a constant equivalence.
                   3636:        Add test for things like "(a | 1) != 0".
                   3637:        (fold_rtx, case '2'): Move code to handle associative operations to
                   3638:        here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN.
                   3639:        (record_jump_equiv): See if OP1 is equivalent to a constant.
                   3640: 
                   3641:        * jump.c (jump_optimize): Don't pass a SUBREG as a target to
                   3642:        expand_and.
                   3643: 
                   3644:        * combine.c (subst): Never associate floating-point, even if not IEEE.
                   3645:        Associate MAX and MIN operations.
                   3646: 
                   3647:        * output.h (output_asm_insn, asm_fprintf): Add "extern" to decls.
                   3648:        (alter_subreg): Add declaration.
                   3649:        * rs6000.md (movsf, movdf): Don't declare alter_subreg here.
                   3650:        (trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used.
                   3651:        * rs6000.c (rs6000_trunc_used): New name of trunc_used.
                   3652:        * rs6000.h (rs6000_trunc_used): Add declaration.
                   3653: 
                   3654: Sat Dec 28 18:14:21 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3655: 
                   3656:        * cp-method.c (build_overload_name): Don't call OB_FINISH unless END
                   3657:        is nonzero.
                   3658: 
                   3659: Sat Dec 28 17:46:05 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   3660: 
                   3661:        * gcc.c (default_compilers): Handle -ansi in the C++ entries
                   3662:        exactly the same way as the C entries do.
                   3663: 
                   3664:        * rtl.c (add_dependence): Cast enums to int before doing an
                   3665:        ordered comparison, since some compilers can't do this.
                   3666: 
                   3667:        * sparc.c (pic_address_needs_scratch): New function.  Returns
                   3668:        true if the pic address X needs a scratch register when loaded.
                   3669:        (legitimize_pic_address): Clean up.  New argument SCRATCH, which
                   3670:        is a scratch register for those loads that need it.
                   3671:        (emit_move_sequence): New argument SCRATCH_REG, which is a scratch
                   3672:        register for those loads that need it.  When loading a pic label,
                   3673:        set %o7 instead of clobbering it so its value can be used later.
                   3674:        (compute_frame_size): Leaf functions need to allocate space for
                   3675:        register window in frame if size greater than 0.
                   3676:        (print_operand): Delete obsolete %^ which added %o7 to addresses.
                   3677:        All uses of %o7 are now explicit.
                   3678:        * sparc.h: Fix callers of legitimize_pic_address.
                   3679:        (REG_CLASS_FROM_LETTER): Add 'r' case.
                   3680:        (SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to
                   3681:        allocate a scratch register for certain pic address reloads.
                   3682:        (flag_pic): Define as extern so that it will be defined for
                   3683:        insn-emit.c.
                   3684:        * sparc.md: Fix all callers of legitimize_pic_address and
                   3685:        emit_move_sequence.
                   3686:        (reload_insi): New pattern.  Used to force reload to allocate a
                   3687:        scratch register for those pic address loads that need one.
                   3688:        (reload_insi+2): When loading pic label, set %o7 instead of
                   3689:        clobbering it.
                   3690:        (movdf, movsf): Reject matches that would require reloading via
                   3691:        use of a condition.
                   3692:        (tablejump): Now a define_expand, so can generate different
                   3693:        pattern when pic.
                   3694:        (pic_tablejump): Explicitly mention in rtl that %o7 is used,
                   3695:        instead of using %^.
                   3696: 
                   3697:        * m88k.h, sparc.h: Delete references to non-existent
                   3698:        BLOCK_PROFILER_USED_REG_P macro.
                   3699: 
                   3700: Sat Dec 28 14:31:36 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3701: 
                   3702:        * c-lex.c (check_newline): Set ignore_escape_flag for reading filename.
                   3703:        (yylex): Handle ignore_escape_flag in string constant.
                   3704: 
                   3705:        * gnulib2.c (__do_global_dtors): Count elements properly.
                   3706: 
                   3707:        * m68k.md (tsthi): Don't allow address register.
                   3708: 
                   3709: Sat Dec 28 11:49:06 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   3710: 
                   3711:        * final.c (final): Initialize elements of line_note_exists.
                   3712: 
                   3713:        * protoize.c: Don't include <sys/wait.h> on USG unless SVR4.
                   3714: 
                   3715: Sat Dec 28 11:09:36 1991  Fred Fish  (fnf at fishpond)
                   3716: 
                   3717:        * Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref.
                   3718: 
                   3719: Sat Dec 28 06:31:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3720: 
                   3721:        * sparc.md (movstrsi): Fix typo testing for more than 32 subunits.
                   3722: 
                   3723:        * genrecog.c: Major rework.
                   3724:        We now check to see if pairs of comparison nodes can have anything
                   3725:        that they both match.  If not, they can be reordered.  An efficient
                   3726:        ordering is established that groups all nodes with identical rtl
                   3727:        codes inside groups with identical modes.  This allows us to generate
                   3728:        a comparison tree that is a list of nested switch statements.
                   3729:        Also, genrecog.c is now indented properly so that debugging is eased.
                   3730:        (add_to_sequence): Enforce mode on the first arg of COMPARE, comparison
                   3731:        operation, SIGN_EXTEND, and ZERO_EXTEND.
                   3732: 
                   3733:        * a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition.
                   3734: 
                   3735: Fri Dec 27 17:31:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   3736: 
                   3737:        * a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE):
                   3738:        Add definition.
                   3739:        * rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise.
                   3740: 
                   3741:        * expmed.c (expand_mult): For negative values, try multiplication by
                   3742:        the original value as well as by negated value.
                   3743: 
                   3744: Fri Dec 27 20:54:59 1991  Fred Fish  (fnf at fishpond)
                   3745: 
                   3746:        * m68kv4.h:  Include m68ksgs.h rather than m68k.h.
                   3747: 
                   3748:        * m68kv4.h:  Define TARGET_DEFAULT to be 68020 + 68881.
                   3749:        (CPP_SPEC): Define based on TARGET_DEFAULT
                   3750: 
                   3751:        * m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this.
                   3752:        (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted.
                   3753:        (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted.
                   3754: 
                   3755:        * m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P):
                   3756:        (FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP):
                   3757:        (FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE):
                   3758:        (STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT):
                   3759:        Redefined to match m68k/SVR4 conventions.
                   3760: 
                   3761:        * m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'.
                   3762:        (ASM_NO_SKIP_IN_TEXT): Defined.
                   3763: 
                   3764:        * amix.h, xm-amix.h, x-amix: New files.
                   3765: 
                   3766: Fri Dec 27 20:43:11 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3767: 
                   3768:        * cp-tree.h (build_overload_name): Declare this function.
                   3769:        * cp-decl2.c, cp-method.c: Delete random `extern' declarations.
                   3770: 
                   3771:        * cp-lex.c (get_directive_line): Declare it extern.
                   3772:        (lineno,yychar,yylval,lastiddecl,finput): Ditto.
                   3773:        (ridpointers): Don't need to declare it here.
                   3774:        (check_newline): Handle new #pragmas.
                   3775: 
                   3776:        * cp-class.c (add_method): Add a cast in call to `obstack_base'.
                   3777: 
                   3778: Fri Dec 27 20:22:05 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3779: 
                   3780:        * cp-decl.c (push_overloaded_decl): Now returns a value.
                   3781:        All callers changed.
                   3782: 
                   3783:        * cp-decl.c (duplicate_decls): Give better error message when user
                   3784:        declaration conflicts with built-in one.  Also, when we decide to
                   3785:        keep a builtin function builtin, copy the DECL_RTL from OLDDECL to
                   3786:        NEWDECL.
                   3787: 
                   3788: Fri Dec 27 17:18:15 1991  Michael Meissner  (meissner at osf.org)
                   3789: 
                   3790:        * mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS.
                   3791:        (TRAMPOLINE_SIZE): Define to be 9 words.
                   3792:        (INITIALIZE_TRAMPOLINE): Define correctly for MIPS.
                   3793:        (TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the
                   3794:        trampoline, so that we can jump to it.  I suspect the mprotect may
                   3795:        fail on some MIPS based systems, because the trampoline is on the
                   3796:        stack, and not in the data section.
                   3797: 
                   3798:        * mips.c (mips_output_filename): Don't warn about ECOFF not
                   3799:        handling #line's within functions if we are using the OSF/rose
                   3800:        object format.
                   3801: 
                   3802: Fri Dec 27 15:35:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3803: 
                   3804:        * c-typeck.c (build_array_ref): Special warning about `register' array.
                   3805: 
                   3806:        * gnulib2.c (L_trampoline): Don't create a function here.
                   3807:        The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec.
                   3808:        * m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here.
                   3809: 
                   3810:        * fx80.*: Renamed from alliant.*.
                   3811:        * configure: Alternative renamed to fx80-alliant-*.
                   3812:        * config.sub: Corresponding changes.
                   3813: 
                   3814:        * cccp.c (traditional): No longer static.
                   3815:        * cexp.y (yylex): Handle full variety of character constants.
                   3816:        Include stdlib.h and locale.h if needed.
                   3817: 
                   3818:        * c-decl.c (shadow_tag): Change warnings to error or pedwarn.
                   3819: 
                   3820:        * gnulib2.c (__do_global_dtors): If length not given, count it.
                   3821:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null.
                   3822:        (__CTOR_END__, __DTOR_END__): Declarations deleted.
                   3823: 
                   3824:        * cp-decl2.c (finish_file): Always change $ to _
                   3825:        regardless of NO_DOLLAR_IN_LABEL.
                   3826: 
                   3827: Fri Dec 27 15:04:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   3828: 
                   3829:        * svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo.
                   3830: 
                   3831:        * m88k.c: Move extern decls.
                   3832:        (output_ascii): Use ASCII_DATA_ASM_OP.
                   3833:        * m88k.h (HAVE_ATEXIT): Delete.
                   3834:        (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL,
                   3835:         ASCII_DATA_ASM_OP): Override svr4.h.
                   3836:        (EXTRA_SECTIONS): No ctors/dtors for m88k-luna.
                   3837:        * m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h.
                   3838: 
                   3839: Fri Dec 27 11:34:59 1991  Ken Raeburn  ([email protected])
                   3840: 
                   3841:        * cp-pt.c (mangle_class_name_for_template): Use a local obstack
                   3842:        rather than fixed-size buffers.
                   3843: 
                   3844:        * cp-class.c (add_method): Case obstack_base value to desired type
                   3845:        when reallocating vector node.
                   3846: 
                   3847: Fri Dec 27 09:16:50 1991  Ron Guilmette  (rfg at ncd.com)
                   3848: 
                   3849:        * sort-protos:  New file.
                   3850: 
                   3851:        * i386.c: Remove decls of frame_pointer_needed; include flags.h.
                   3852:        * i386.c (output_387_binary_op, output_float_compare):
                   3853:        Moved declarations of strcat to top level.
                   3854: 
                   3855:        * i860.md (cmpnesf, cmpnedf):  New patterns.
                   3856:        * i860.md (cmplesf, cmpgesf):  Corrected to allow for IEEE conformance.
                   3857: 
                   3858: Thu Dec 26 11:20:07 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3859: 
                   3860:        * cp-class.c: Declare N_* variables here.
                   3861:        * cp-class.h: Declare N_* variables extern here.
                   3862: 
                   3863:        * cp-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead
                   3864:        of implementing it directly.
                   3865:        * varasm.c (assemble_gc_entry): New function.
                   3866: 
                   3867:        * calls.c (expand_call): Don't crash if somebody declared a void
                   3868:        function `const'.
                   3869: 
                   3870:        * cp-cvt.c (convert): Handle case when two equal array types are
                   3871:        distinct (in memory).
                   3872:        * tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound.
                   3873:        (index_type_equal): New function.
                   3874: 
                   3875:        * cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing
                   3876:        to handle (*)[] and (&)[] declarations as well.
                   3877: 
                   3878:        * cp-decl2.c (finish_file): Unconditionally call
                   3879:        assemble_{constructor,destructor}.  Also, delete code for writing
                   3880:        _init and _fini sections that was #if 0'd.  These actions belong in
                   3881:        varasm if anywhere.
                   3882: 
                   3883:        * cp-class.c (add_method): Fix handling of obstacks to correctly
                   3884:        extend TREE_VECs.
                   3885: 
                   3886: Thu Dec 26 15:24:45 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3887: 
                   3888:        * cccp.c (main): Add new option -include.  Rename -i to -imacros.
                   3889:        * gcc.c (SWITCH_TAKES_ARG): Remove -i.
                   3890:        (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
                   3891:        * hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives.
                   3892:        * mips.h (SWITCH_TAKES_ARG): Remove -Y and -i.
                   3893:        * next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
                   3894:        * sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h.
                   3895:        * svr4.h (SWITCH_TAKES_ARG): Remove -i, -f.
                   3896:        (WORD_SWITCH_TAKES_ARG): Add -include, -imacros.
                   3897: 
                   3898:        * toplev.c (flag_gnu_linker): New variable.  -fgnu-linker.
                   3899:        * flags.h (flag_gnu_linker): Declare it.
                   3900:        * varasm.c (assemble_constructor, assemble_destructor):
                   3901:        Handle flag_gnu_linker.
                   3902: 
                   3903:        * sparc.md (structure values): Separate unimp pattern deleted.
                   3904:        New pattern for combined call and unimp.  `call' pattern changed.
                   3905:        (type): Deleted type marker, added call_no_delay_slot.
                   3906: 
                   3907: Thu Dec 26 05:04:28 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   3908: 
                   3909:        * reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED,
                   3910:        just pop the SET_SRC.
                   3911: 
                   3912: Wed Dec 25 17:23:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3913: 
                   3914:        * c-decl.c (init_decl_processing): Fix type of exit, _exit.
                   3915: 
                   3916:        * jump.c (cross_jump_death_matters): Move def to front, make static.
                   3917: 
                   3918: Tue Dec 24 20:41:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   3919: 
                   3920:        * hard-reg-set.h (reg_names): Declare here.
                   3921:        * stmt.c (expand_asm_operands): Not here.
                   3922: 
                   3923:        * gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*.
                   3924: 
                   3925:        * expr.c (expand_expr): Delete decl of lang_expand_expr.
                   3926: 
                   3927:        * final.c (final_scan_insn): Delete line number followed by another
                   3928:        line number, if numbers are effectively consecutive.
                   3929: 
                   3930:        * jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump.
                   3931:        * reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize.
                   3932:        Don't set cross_jump_death_matters here.
                   3933:        (record_reg_life): Delete decl of call_used_reg_set.
                   3934: 
                   3935:        * c-decl.c (init_decl_processing):
                   3936:        Declare abort, exit, and _exit as volatile.
                   3937: 
                   3938:        * c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier.
                   3939:        (pushdecl): Test that and avoid nested extern warning.
                   3940: 
                   3941:        * c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS.
                   3942: 
                   3943: Tue Dec 24 15:42:34 1991  Michael Tiemann  (tiemann at cygnus.com)
                   3944: 
                   3945:        * cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro
                   3946:        application to strncmp argument.
                   3947: 
                   3948:        * cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead
                   3949:        of relying on fixed buffers of finite length.
                   3950:        (fndecl_as_string): Ditto.
                   3951:        All callers changed.
                   3952:        * cp-except.c (cplus_exception_name): Definition moved to
                   3953:        cp-method.c.
                   3954: 
                   3955: Tue Dec 24 10:38:49 1991  Michael Collison  (collison at osf.org)
                   3956: 
                   3957:        * ns32k.c (hard_regno_mode_ok): Define this as a function now.
                   3958:        Also change the way it work so that we don't allow moves between
                   3959:        the general registers and the floating point registers.
                   3960: 
                   3961:        * ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call.
                   3962: 
                   3963:        * ns32k.md (call_value): fix to correct a bug where the compiler thinks
                   3964:        the return value of a function call is in f0 instead of r0. Fix
                   3965:        courtesy of vince russo.
                   3966:        (movqi, movhi): Fix up these patterns because they could return
                   3967:        undefined instruction templates. Fix courtesy of vince russo.
                   3968: 
                   3969: Tue Dec 24 10:14:20 1991  Ron Guilmette  (rfg at ncd.com)
                   3970: 
                   3971:        * mips-tfile.c (main): Move nested extern decl of version_string to
                   3972:        file-scope.
                   3973:        (catch_signal): Move nested extern decl of sys_siglist to
                   3974:        file-scope.
                   3975: 
                   3976:        * varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON.
                   3977:        * svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New.
                   3978:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted.
                   3979: 
                   3980:        * gcc.c (SWITCH_TAKES_ARG, default_compilers):  Eliminated -Y* option.
                   3981:        (execute):  Moved decls of execv and execvp to top level.
                   3982:        (do_spec, do_spec1, handle_braces, give_switch): Support new %* spec.
                   3983: 
                   3984:        * c-lang.c (recognize_objc_keyword):  Added explicit return.
                   3985: 
                   3986:        * svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG):  New definitions.
                   3987:        (ASM_SPEC, LINK_SPEC): Support more standard svr4 options.
                   3988:        (LIB_SPEC):  Fixed to link crtend.o *after* libc.a.
                   3989: 
                   3990:        * svr4.h (CONST_SECTION_FUNCTION):  Moved decl of `text_section' to
                   3991:        top level.
                   3992: 
                   3993:        * cexp.y (main): Add explicit return type and explicit value.
                   3994:        Move decl of yydebug to top level.
                   3995: 
                   3996:        * gnulib2.c (__bb_init_func):  Moved decl of ___tcov_init to top level.
                   3997: 
                   3998:        * toplev.c (main):  Deleted obsolete checks for -opt and -noreg.
                   3999:        Moved decls of environ, version_string, language string to file-scope.
                   4000:        Compile-time error if PREFERRED_DEBUGGING_TYPE is missing.
                   4001: 
                   4002:        * tree.c (dump_tree_statistics): Deleted decl of class_obstack.
                   4003:        (object_permanent_p):  Added explicit return type.
                   4004: 
                   4005: Tue Dec 24 09:29:24 1991  Charles Hannum  (mycroft at hal.gnu.ai.mit.edu)
                   4006: 
                   4007:        * expr.h (lang_expand_expr): Fix typo.
                   4008: 
                   4009: Tue Dec 24 06:52:45 1991  Michael Meissner  (meissner at osf.org)
                   4010: 
                   4011:        * gnulib2.c (__main): Make sure the exit module is pulled in if we
                   4012:        have atexit, since that module defines constructor/destructor
                   4013:        variables as bss symbols rather than as references.
                   4014: 
                   4015:        * decrose.h (HAVE_ATEXIT): Define.
                   4016:        * encrose.h (HAVE_ATEXIT): Define.
                   4017:        * i386rose.h (HAVE_ATEXIT): Define.
                   4018:        * decstatn.h (HAVE_ATEXIT): Define.
                   4019: 
                   4020:        * gcc.texinfo (HAVE_ATEXIT): Expand documentation.
                   4021:        (EXIT_BODY): Document.
                   4022: 
                   4023:        * protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym
                   4024:        for POSIX to make the code and documentation agree.  Also, if the
                   4025:        user defined _POSIX_SOURCE explicitly, turn on POSIX support in
                   4026:        protoize.
                   4027: 
                   4028: Tue Dec 24 00:14:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4029: 
                   4030:        * calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE.
                   4031:        Use as arg in call and call_value insns.
                   4032:        (expand_call): Record the size, to pass it.
                   4033:        * expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE.
                   4034:        * sparc.md (call, call_value): Make use of new arg.
                   4035:        Generate an unimp instruction to use sparc calling convention.
                   4036:        Add nameless pattern to recognize it.
                   4037:        * sparc.c (output_function_epilogue): Skip the caller's unimp insn.
                   4038: 
                   4039:        * Makefile.in (INSTALLED_H): New variable.
                   4040:        (includes): Preserve just those specific files.
                   4041: 
                   4042:        * expr.h (lang_expand_expr): Declare it.
                   4043:        * expr.c: Don't declare it.
                   4044:        * cp-expr.c (init_cplus_expand): Set up lang_expand_expr here.
                   4045:        * cp-lex.c (init_lex): Call init_cplus_expand.
                   4046: 
                   4047: Mon Dec 23 15:17:59 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4048: 
                   4049:        * configure: Delete m88k-v88r32 (this is supported by m88k-svr3)
                   4050:        and add m88k.
                   4051:        * config.sub: Delete v88r as a system type.
                   4052: 
                   4053: Mon Dec 23 19:50:48 1991  Fred Fish  (fnf at fishpond)
                   4054: 
                   4055:        * 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h,
                   4056:        tower-as.h:  Replace port oriented macros SGS_3B1, HPUX_ASM, and
                   4057:        SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES,
                   4058:        SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI.
                   4059: 
                   4060:        * m68ksgs.h: New file.
                   4061: 
                   4062:        * m68k.c (print_operand_address): Change switch labels for MOTOROLA.
                   4063:        Don't use a `%'.  Add missing `L' to some labels.
                   4064:        For SGS assembler, use one symbol for the offset.
                   4065: 
                   4066: Mon Dec 23 17:03:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4067: 
                   4068:        * recog.h (insn_name): New declaration.
                   4069:        * final.c (output_asm_insn):  Don't declare insn_name here.
                   4070: 
                   4071:        * dbxout.c (dbxout_function, dbxout_begin_function):
                   4072:        Pass missing arg to dbxout_really_begin_function.
                   4073: 
                   4074:        * jump.c (jump_optimize): Set new var can_reach_end.
                   4075:        * c-decl.c, cp-decl.c (finish_function):
                   4076:        Merge that into current_function_returns_null.
                   4077: 
                   4078:        * config.sub (fx2800): New machine alias.
                   4079: 
                   4080:        * va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__.
                   4081: 
                   4082:        * m88kv4.h: New version from Wood.
                   4083:        (CPP_PREDEFINES): Put -A options here.  Remove __CLASSIFY_TYPE__.
                   4084: 
                   4085:        * cccp.c (initialize_builtins): Define __GNUC__ as 2.
                   4086: 
                   4087:        * rtl.h (read_rtx): New declaration.
                   4088: 
                   4089:        * c-lex.c: Don't include output.h.
                   4090:        (asm_out_file): Declare it.
                   4091:        (ridpointers): Allocate storage here.
                   4092: 
                   4093:        * c-lex.h (lastiddecl, token_buffer): Declare here.
                   4094:        (yylex, make_pointer_declarator, reinit_parse_for_function): Likewise.
                   4095:        * c-parse.y, objc-parse.y: Not here.
                   4096: 
                   4097:        * objc-actions.c (error_with_ivar, error_with_method):
                   4098:        (warn_with_method): Use count_error, not errorcount.
                   4099: 
                   4100: Mon Dec 23 11:50:37 1991  Ron Guilmette  (rfg at ncd.com)
                   4101: 
                   4102:        * sdbout.c:  Fixed typo.
                   4103:        * stmt.c (init_stmt, init_stmt_for_function):  Explict return type.
                   4104:        * gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls.
                   4105:        * recog.c (init_recog):  Added explicit return type.
                   4106:        * longlong.h (count_leading_zeros):  Moved decl of `__clz_tab'.
                   4107:        * print-rtl.c (insn_name_ptr):  Make decl `extern'.
                   4108: 
                   4109:        * objc-actions.h, objc-actions.c (doing_objc_thang):  Make extern.
                   4110:        * objc-actions.h, objc-actions.c (finish_class):  Return void.
                   4111:        * objc-actions.c (continue_class):  Added default error return value.
                   4112: 
                   4113:        * fixinc.svr4: Map assertion tests to equivalent ANSI macro tests.
                   4114: 
                   4115:        * i860.c (output_block_move):  Disabled code to move by words or
                   4116:        halfwords until it can be made to work right.
                   4117: 
                   4118:        * i860.c (output_block_move):  Moved a sequence of common
                   4119:        `output_asm_insn' calls out of (and before) conditionals.
                   4120: 
                   4121:        * i860.c (output_block_move):  Corrected bugs in move loop.
                   4122: 
                   4123: Mon Dec 23 15:25:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4124: 
                   4125:        * m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg.
                   4126:        (includes): Include svr4.h before m88k.h so the overrides in m88k.h
                   4127:        will take effect.
                   4128: 
                   4129: Mon Dec 23 07:06:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4130: 
                   4131:        * i860.c (output_delayed_branch): Call insn_extract and
                   4132:        constrain_operands so that `which_alternative' is set properly.
                   4133: 
                   4134:        * stor-layout.c (layout_type, case ARRAY_TYPE): Handle
                   4135:        TYPE_NO_FORCE_BLK similar to RECORD_TYPE.
                   4136: 
                   4137:        * encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused.
                   4138: 
                   4139: Sun Dec 22 12:02:03 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   4140: 
                   4141:        * i386.c (function_epilogue): Use correct operand for insn mode.
                   4142: 
                   4143: Sun Dec 22 12:20:16 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4144: 
                   4145:        * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member
                   4146:        functions that are really declared as inline methods.
                   4147: 
                   4148:        * cp-init.c (build_virtual_init): Add missing call to
                   4149:        `assemble_external' when we use a virtual function table.
                   4150: 
                   4151:        * cp-decl.c (implicitly_declare): Don't allocate a decl if at the
                   4152:        global binding level.
                   4153: 
                   4154:        * vax.h (PRINT_OPERAND): Handle new 'R' case.
                   4155:        * vax.md: Change all patterns which passed a negated operand for
                   4156:        `rotl' to use 'R' as the negator, since rotl cannot acctually handle
                   4157:        negative arguments.
                   4158: 
                   4159: Sun Dec 22 12:31:46 1991  Ron Guilmette (rfg at ncd.com)
                   4160: 
                   4161:        * i386v4.h (TARGET_VERSION):  Added definition.
                   4162:        * i860v4.h (TARGET_VERSION):  Added definition.
                   4163: 
                   4164:        * m68kv4.h:  New file.
                   4165:        * fx2800.h:  New file.
                   4166: 
                   4167:        * m88kv4.h (DWARF_DEBUGGING_INFO):  Deleted redundant definition.
                   4168:        (It's defined already in svr4.h.)
                   4169: 
                   4170:        * m88kv4.h (CPP_PREDEFINES): Added definition.
                   4171: 
                   4172:        * m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC):
                   4173:        Deleted redundant definitions.  (These are defined in svr4.h.)
                   4174: 
                   4175:        * cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev.
                   4176:        * function.c (round_down): Likewise.
                   4177:        * calls.c, c-convert.c: Delete block-level extern decls.
                   4178:        * c-convert.c: Include flags.h.
                   4179: 
                   4180:        * configure (i386-*-sysv*):  Fixed tmake_file value.
                   4181:        (i860-*-sysv3*):  Fixed xmake_file and tmake_file value.
                   4182:        (i860-alliant-*):  New configuration.
                   4183: 
                   4184:        * i860.c (recog_operand, call_used_regs, insn_template,
                   4185:        insn_n_operands, insn_outfun, alter_subreg):  Moved extern
                   4186:        declarations out of local contexts and put them at file-scope.
                   4187: 
                   4188:        * i860.c (zero_operand):  Deleted useless function.
                   4189: 
                   4190:        * i860.c (singlemove_string): Added code to optimize moving halfword
                   4191:        constants.
                   4192: 
                   4193:        * i860.c (output_block_move):  Don't do CC_STATUS_INIT until it is
                   4194:        definitely necessary & appropriate.
                   4195: 
                   4196:        * i860.c (output_block_move):  Create up to 16 sequential load/store
                   4197:        pairs for constant length moves regardless of operand sizes (e.g.
                   4198:        byte, halfword, word).
                   4199: 
                   4200:        * i860.c (output_block_move):  Try to generate widest kind of
                   4201:        sequential load/store pairs for constant length moves before trying
                   4202:        the less efficient (narrower) ones.
                   4203: 
                   4204:        * i860.c (output_block_move):  Don't do sequential load/store pairs
                   4205:        for constant length moves unless the size is a multiple of the
                   4206:        size of the operands moved each time (i.e. word, halfword, byte).
                   4207: 
                   4208:        * i860.c (output_block_move):  Re-wrote code to do inline variable
                   4209:        length block moves to correct fatal errors (e.g. no check for zero
                   4210:        or neagtive start count) and to make it more efficient (saved 1 cycle
                   4211:        per iteration).
                   4212: 
                   4213:        * i860.c (output_block_move):  Make variable length moves with starting
                   4214:        alignment of 4 or 2 `#if 0' for now, until they can be fixed to work
                   4215:        right.  Also reordered all three cases so that longer alignments are
                   4216:        checked for first.
                   4217: 
                   4218: Sun Dec 22 01:25:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4219: 
                   4220:        * i386v4.h: Include svr4.h just once.
                   4221: 
                   4222:        * protoize.c (fprintf, printf): Decls put in #if 0.
                   4223: 
                   4224:        * emit-rtl.c (stack_slot_list): Delete superfluous extern decl.
                   4225:        (emit): Abort if arg isn't recognized.
                   4226: 
                   4227:        * c-parse.y (current_declspecs, declspec_stack): Declare static.
                   4228:        (undeclared_variable_notice): Likewise.
                   4229:        (lastiddecl): Declare extern.
                   4230:        * objc-parse.y: Same changes as c-parse.y.
                   4231:        (token_buffer): Declare extern.
                   4232: 
                   4233:        * c-lex.c: Include output.h.
                   4234:        (check_newline): Decl of asm_out_file deleted.
                   4235: 
                   4236:        * c-lex.h (ridpointers, NORID): Declare/define here.
                   4237:        * c-lex.c, c-parse.y, objc-parse.y: Not here.
                   4238: 
                   4239:        * sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'.
                   4240:        (LINK_SPEC): Pass -assert to linker.
                   4241: 
                   4242:        * gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'.
                   4243: 
                   4244:        * sparc.h (RTX_COSTS): Increase multiply cost to 20.
                   4245:        (MULSI3_LIBCALL): Use .umul.
                   4246:        (UMULSI3_LIBCALL): Deleted.
                   4247: 
                   4248: Sat Dec 21 18:34:27 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4249: 
                   4250:        * combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it
                   4251:        is a COMPARE or a comparison operation.
                   4252: 
                   4253:        * i860.md (bte): Remove now unneeded patterns.
                   4254:        Correct mode mismatch errors in patterns that will now be used.
                   4255: 
                   4256: Sat Dec 21 00:14:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4257: 
                   4258:        * ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted.
                   4259:        (INITIALIZE_TRAMPOLINE): Likewise.  #error inserted.
                   4260: 
                   4261:        * ns32k.c (print_operand_address): For invalid address, just abort.
                   4262: 
                   4263:        * Makefile.in (FIXINCLUDES): New variable.
                   4264:        (includes, maketest): Use that.
                   4265:        * x-i386v4 (FIXINCLUDES): Override here.
                   4266: 
                   4267: Fri Dec 20 18:28:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4268: 
                   4269:        * dbxout.c (dbxout_really_begin_function): New subroutine.
                   4270:        (dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST.
                   4271:        (dbxout_begin_function): New function.
                   4272:        * varasm.c (assemble_start_function): Call dbxout_begin_function.
                   4273: 
                   4274:        * dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END.
                   4275: 
                   4276:        * sparc.md (movstrsi): Add missing double quote.
                   4277: 
                   4278:        * gcc.c (process_command): Handle -Xlinker.
                   4279: 
                   4280:        * calls.c (expand_call): Treat vfork like setjmp.
                   4281: 
                   4282:        * c-decl.c (implicitly_declare): Use push_obstacks_nochange.
                   4283: 
                   4284:        * sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert.
                   4285:        (LINK_SPEC): Pass -assert to linker.
                   4286: 
                   4287:        * svr4.h (ASM_OUTPUT_LOCAL): Fix typo.
                   4288: 
                   4289: Fri Dec 20 07:52:19 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4290: 
                   4291:        * cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION
                   4292:        options which need special treatment (in the turning off of the
                   4293:        option).
                   4294: 
                   4295:        * cp-parse.y (named_class_head_sans_basetype_either): Rule deleted.
                   4296:        (identifier_either): Rule deleted.
                   4297:        (delete): Don't call `build_x_delete'' if the type does not have a
                   4298:        destructor.  We may still need to adjust the address passed to
                   4299:        `operator delete'.
                   4300: 
                   4301:        * cp-init.c (build_delete): New argument MAYBE_ADJUST.  All callers
                   4302:        changed.  Also, add #if 0/#endif around code dealing with ALIGNMENT.
                   4303:        It's dead code, and that's unclear otherwise.
                   4304:        (maybe_adjust_addr_for_delete): New function.
                   4305:        (build_new): Initialize special header for arrays allocated with
                   4306:        `operator new[]'.  This is a rewrite of Ken's code.
                   4307:        (init_init_processing): New built-in type BI_header_type.
                   4308: 
                   4309:        * cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN,
                   4310:        BID.
                   4311:        (build_builtin_call): New function.
                   4312: 
                   4313:        * cp-decl.c (grokvardecl): Set TREE_EXTERNAL.
                   4314:        (grokdeclarator): Set TREE_PUBLIC for all member functions.  They
                   4315:        are effectively global.  Do the same for static members.
                   4316:        (start_function): Don't clear TREE_EXTERNAL in case the function
                   4317:        belongs to another file's implementation.  Other fixes to
                   4318:        TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation.
                   4319: 
                   4320:        * cp-method.c (hack_identifier): Call `assemble_external' if
                   4321:        necessary.
                   4322: 
                   4323: Fri Dec 20 06:27:38 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4324: 
                   4325:        * reload1.c (emit_reload_insns): Always record first insn emitted
                   4326:        for a reload, including any insns for a secondary reload.
                   4327:        (gen_input_reload): Correct documentation of function.
                   4328: 
                   4329: Thu Dec 19 22:01:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4330: 
                   4331:        * gnulib1.c (perform_fixdfsi): New customization macro.
                   4332: 
                   4333:        * svr4.h (SELECT_RTX_SECTION): Undef before defining.
                   4334: 
                   4335: Thu Dec 19 16:59:12 1991    (Eric Youngdale at [email protected])
                   4336: 
                   4337:        * cccp.c (hack_vms_include_specification): Make conversion of 
                   4338:        filenames more versatile for user specified include directories.
                   4339: 
                   4340: Thu Dec 19 17:38:18 1991  Michael Meissner  (meissner at osf.org)
                   4341: 
                   4342:        * mips.h (#error's): Put tab in front of all #error's, so that
                   4343:        ancient pre-ANSI compilers will not complain about unknown
                   4344:        directives, even if the #error is #ifdef'ed out.
                   4345: 
                   4346:        * mips.md (fix_trunc*): Reorder constraints so that 'd' comes before
                   4347:        'f', and put a '*' in front of 'f' constraints to keep integer in
                   4348:        the GP registers.
                   4349:        (define_splits): Add reload_completed check for all define_splits
                   4350:        that use subreg on the arguments to work around bug in sched.c.
                   4351: 
                   4352:        * cccp.c (lang_asm): New static variable to indicate we are
                   4353:        processing an assembly file and to ignore unknown directives in case
                   4354:        they are comments, like they are on the MIPS systems.
                   4355:        (main): Set lang_asm if -lang-asm switch.
                   4356:        (handle_directive, skip_if_group): Don't report about unknown
                   4357:        directives if lang_asm is set.
                   4358: 
                   4359:        * gcc.c (default_compilers array): Pass -lang-asm to cpp when
                   4360:        processing .S files instead of -lang-c.
                   4361: 
                   4362: Thu Dec 19 15:06:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4363: 
                   4364:        * c-decl.c (c_decode_option): Handle -fno-ident.
                   4365:        * c-lex.c (check_newline): Ignore #ident for -fno-ident.
                   4366: 
                   4367:        * svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name.
                   4368: 
                   4369:        * mips.h: Use #error, not #include, for error messages.
                   4370: 
                   4371:        * cccp.c (warning, main): Implement -Werror.
                   4372: 
                   4373:        * i386sco.h (CPP_SPEC): Move non-fixed option here.
                   4374:        (CPP_PREDEFINES): From here.
                   4375: 
                   4376:        * gcc.c (do_spec_1): For %p, just pass -D options.
                   4377:        For %P, pass all -A options.  Put in whitespace, fix typos.
                   4378: 
                   4379:        * c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...).
                   4380:        * c-decl.c (get_parm_info): Don't warn here.
                   4381: 
                   4382: Thu Dec 19 06:15:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4383: 
                   4384:        * toplev.c (compile_file): Avoid ordered comparison of debug_info_level
                   4385:        since it is an enum.
                   4386: 
                   4387:        * mips.c: Include gstab.h.
                   4388: 
                   4389:        * sparc.md: Fix typo.
                   4390: 
                   4391:        * caller-save.c (save_call_clobbered_regs): Don't save regs that
                   4392:        die in a CALL_INSN or that are born there.
                   4393: 
                   4394: Thu Dec 19 04:28:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4395: 
                   4396:        * c-aux-info.c (gen_aux_info_record): Don't write space at line beg.
                   4397: 
                   4398: Wed Dec 18 11:46:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4399: 
                   4400:        * cse.c (cse_main): Use get_max_uid rather than computing it.
                   4401: 
                   4402: Wed Dec 18 18:13:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4403: 
                   4404:        * loop.c (scan_loop): Ensure replacement made  by single-use code
                   4405:        is not modified in the life of the register being replaced.
                   4406: 
                   4407: Wed Dec 18 15:37:52 1991  Ron Guilmette  (rfg at ncd.com)
                   4408: 
                   4409:        * rtl.h (fconst2_rtx, dconst2_rtx):  Added extern declarations.
                   4410: 
                   4411:        * flags.h (flag_inhibit_size_directive): Declared.
                   4412: 
                   4413:        * svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP):  Moved around.
                   4414:        (ASCII_DATA_ASM_OP):  Definition added.
                   4415:        (flag_inhibit_size_directive):  Deleted superfluous extern decls.
                   4416: 
                   4417:        * Makefile.in:  Correct number of expected shift/reduce conflicts
                   4418:        reported by bison for cp-parse.y.
                   4419: 
                   4420:        * sparcv4.h:  New file.
                   4421: 
                   4422:        * i860.h (FUNCTION_ARG_BOUNDARY):  Added definition.
                   4423:        (sfmode_constant_to_ulong):  Added extern declaration.
                   4424: 
                   4425:        * i860.md (BTE/BTNE patterns):  Changed all instances of
                   4426:        `(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'.
                   4427: 
                   4428:        * i860.md (load then BTE/BTNE patterns):  Added 8 new patterns,
                   4429:        for cond branch on EQ/NE of a zero-extended memref with small integer.
                   4430: 
                   4431:        * i860.md: 20 new patterns (involving BTE/BTNE) like existing 20
                   4432:        but simplified so that the combiner will find them.
                   4433: 
                   4434:        * i860.md (sfmode_constant_to_ulong, fconst2_rtx):  Removed
                   4435:        superfluous nested extern declarations.
                   4436: 
                   4437: Wed Dec 18 15:39:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4438: 
                   4439:        * va-i860.h (va_start for stdarg.h): Divide reg counts by 4.
                   4440: 
                   4441:        * stmt.c (emit_case_nodes): Fix typo, near testing cost_table.
                   4442: 
                   4443:        * i860.h (CUMULATIVE_ARGS): Define a named struct, then use it.
                   4444: 
                   4445:        * function.c (expand_function_start): Compute sizes in proper order.
                   4446: 
                   4447:        * svr4.h (MD_STARTFILE_PREFIX): Defined.
                   4448:        (STANDARD_STARTFILE_PREFIX): Deleted.
                   4449: 
                   4450:        * sparc.md (movstrsi): Disable if needs more than 32 insns.
                   4451: 
                   4452:        * expr.c (store_expr): Handle copying too-short STRING_CST.
                   4453: 
                   4454:        * gstdarg.h (_VA_LIST): Handle this like _VA_LIST_.
                   4455: 
                   4456:        * m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'.
                   4457:        Fix uses of %L by adding `L'.
                   4458:        * m68k.c (print_operand_address): Fix use of %L.
                   4459:        * m68k.md (movhi): Fix use of %L.  They were inconsistent.
                   4460: 
                   4461: Wed Dec 18 14:59:26 1991  Michael Meissner  (meissner at osf.org)
                   4462: 
                   4463:        * limits.h (whole file): Protect against inclusion.
                   4464: 
                   4465:        * t-decrose (LIMITS_H): Don't install limits.h on OSF/1.
                   4466:        * t-encrose (LIMITS_H): Don't install limits.h on OSF/1.
                   4467:        * t-i386rose (LIMITS_H): Don't install limits.h on OSF/1.
                   4468: 
                   4469:        * x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
                   4470:        * x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include.
                   4471:        * x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include.
                   4472: 
                   4473: Wed Dec 18 04:53:23 1991  Ken Raeburn  ([email protected])
                   4474: 
                   4475:        * cp-init.c (build_new): Rewrote some of the array-handling code.
                   4476:        Now stores the number of elements (after stripping off all outer
                   4477:        ARRAY_TYPE nodes) at the start of allocated storage, just before the
                   4478:        pointer the user's program sees.  We also store the 2s compliment
                   4479:        value of the pointer returned so we can distinguish when deleting a
                   4480:        pointer whether it was "adjusted" or not.
                   4481:        (expand_vec_init): Added a type conversion for cases when the
                   4482:        address of an array gets passed in and we want to deal with the
                   4483:        elements.
                   4484:        (build_delete): Catch a case where deletion of arrays could slip
                   4485:        through.
                   4486:        (build_vec_delete): More array-handling rewrites.  Extract the
                   4487:        stored value and use it as the number of objects to destroy; ignore
                   4488:        any value supplied by the user.
                   4489: 
                   4490:        * cp-init.c (init_vfields): Now static.
                   4491: 
                   4492:        * cp-tree.h (struct lang_decl_flags): Merged "dummy" fields.
                   4493: 
                   4494:        * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a
                   4495:        list of instantiations already made of a template.  (Only
                   4496:        implemented for functions currently.)
                   4497:        * cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it.
                   4498:        * cp-pt.c (instantiate_template): Maintain and make use of it.
                   4499: 
                   4500:        * cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type
                   4501:        instead of constructing the type here.
                   4502: 
                   4503: Wed Dec 18 03:37:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4504: 
                   4505:        * c-parse.y (label_decl): Use identifiers_or_typenames.
                   4506: 
                   4507:        * c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}.
                   4508:        (defn_parmlist_2, defn_parms): New nonterminals.
                   4509:        (identifiers_or_typenames): New nonterminal.
                   4510:        (parmlist_or_identifiers_1): Changed.
                   4511:        * c-decl.c (combine_parm_decls): New function.
                   4512: 
                   4513: Tue Dec 17 22:18:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4514: 
                   4515:        * function.c (expand_main_function): Build SYMBOL_REF with Pmode,
                   4516:        not VOIDmode.
                   4517: 
                   4518:        * rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold
                   4519:        64 bits, not any size FP value.
                   4520: 
                   4521:        * reload1.c (reload): Remove variable old_caller_save_needed.
                   4522:        Call init_save_areas and setup_save_areas instead of
                   4523:        allocate_save_areas and elim_save_addrs.
                   4524:        * caller-save.c (init_caller_save): New function, from part of
                   4525:        allocate_save_areas.
                   4526:        (setup_save_areas): New function, from rest of allocate_save_areas
                   4527:        and elim_save_addrs.
                   4528:        When scanning pseudos to find hard regs that might need caller-save,
                   4529:        look at all parts of multi-word registers.
                   4530: 
                   4531:        * flow.c (elim_reg_set): New variable.
                   4532:        (flow_analysis): Set it to contain those regs that we can eliminate.
                   4533:        (mark_used_regs): Don't set eliminable regs as live when they are used.
                   4534: 
                   4535:        * global-alloc.c (global_alloc): Clear preferences with eliminable
                   4536:        regs, in addition to clearing conflicts.
                   4537: 
                   4538:        * reload.c (find_reloads_toplev): Abort instead of making
                   4539:        a SUBREG of a VOIDmode constant.
                   4540: 
                   4541:        * emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared.
                   4542: 
                   4543: Tue Dec 17 21:06:03 1991  Michael Meissner  (meissner at osf.org)
                   4544: 
                   4545:        * mips.h (MIPS_VERSION): Bump MM version number to 5.
                   4546:        (processor_type): New enum to hold which type of
                   4547:        processor to schedule for.
                   4548:        (mips_cpu): New global to hold processor type.
                   4549:        (MASK_*, TARGET_*): Rearrange target bits, add bits to select
                   4550:        processor type, r4000 int/long/long long sizes.
                   4551:        (TARGET_SWITCHES): Delete redunant no options, only leave no-
                   4552:        version.
                   4553:        (CUMULATIVE_ARGS): Make this a structure, not a pointer to a
                   4554:        structure.
                   4555:        (INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes.
                   4556:        (FUNCTION_ARG_ADVANCE): Ditto.
                   4557:        (FUNCTION_ARG): Ditto.
                   4558:        (FUNCTION_ARG_PARTIAL_NREGS): Ditto.
                   4559:        (RTX_COSTS): Count simple memory refs as one instruction.
                   4560:        (REGISTER_MOVE_COST): Define as 4, to make sure constraints are
                   4561:        checked.
                   4562: 
                   4563:        * mips.md (hilo type attribute): Add hilo type attribute to
                   4564:        separate moves to/from the hi/lo registers with other register
                   4565:        transfers.
                   4566:        (move patterns): Set hilo attribute as appropriate.
                   4567:        (define_function_units): Update the integer and memory functional
                   4568:        units to include R4000 and R6000 processors, keyed off of the
                   4569:        -mr[46]000 switches.  Add a new functional unit for transfering
                   4570:        stuff between register sets.
                   4571:        (mov{sf,df}_xfer*): Remove these patterns, as they are no longer
                   4572:        needed in GCC 2.00 to move between the different register sets,
                   4573:        and generate insn not found messages if used.
                   4574:        (movsi_ulw, movsi_usw): Correct test to see if stack loads are
                   4575:        aligned.  Use UNITS_PER_WORD-1 instead of a hard coded 3.
                   4576:        (move define_expands): Delete move define_expands, since they are
                   4577:        illegal according to the documentation, and the bug they guard
                   4578:        against has long ago been fixed.
                   4579: 
                   4580:        * mips.c (mips_cpu): New global to hold processor type.
                   4581:        (override_options): Set mips_cpu, check for 64 bit r4000 switches
                   4582:        if processor not a r4000.
                   4583:        (init_cumulative_args): CUMULATIVE_ARGS changes.
                   4584:        (function_arg_advance): Ditto.
                   4585:        (function_arg): Ditto.
                   4586:        (function_arg_partial_nregs): Ditto.
                   4587:        (mips_output_filename): Except for first .file, don't emit any other
                   4588:        .file if encapsulating stabs in ECOFF, just put out stabs.  This
                   4589:        confuses gdb.
                   4590:        (mips_output_lineno): Don't put out .loc's if encapulating stabs in
                   4591:        ECOFF.
                   4592:        (mips_asm_file_start): Put a .set nobopt for MIPS assembler to
                   4593:        work around bug where the assembler goes bonkers if a branch
                   4594:        inside of a .set noreorder section jumps to a label outside of a
                   4595:        .set noreorder section.  This is supposed to be fixed in 2.20 of
                   4596:        the assembler.
                   4597:        (function_epilogue): Correctly emit nops with tabs and newlines if
                   4598:        needed.
                   4599: 
                   4600:        * decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
                   4601:        enable OSF/rose support, rather than use nm.
                   4602: 
                   4603:        * encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
                   4604:        enable OSF/rose support, rather than use nm.
                   4605: 
                   4606:        * i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to
                   4607:        enable OSF/rose support, rather than use nm.
                   4608: 
                   4609:        * t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
                   4610:        and link it to ld.
                   4611: 
                   4612:        * t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf,
                   4613:        and link it to ld.
                   4614: 
                   4615:        * t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf,
                   4616:        and link it to ld.
                   4617: 
                   4618:        * x-decrose (DEBUG): Delete -g, since CFLAGS already passes it.
                   4619:        (GCC_CFLAGS): Define POSIX so we can build protoize.
                   4620: 
                   4621:        * x-encrose (DEBUG): Delete -g, since CFLAGS already passes it.
                   4622:        (GCC_CFLAGS): Define POSIX so we can build protoize.
                   4623: 
                   4624:        * x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it.
                   4625:        (GCC_CFLAGS): Define POSIX so we can build protoize.
                   4626: 
                   4627:        * t-decstatn (EXTRA_PASSES): Explicitly mention collect2.
                   4628:        (ld): Use $(SYMLINK) rather than just ln.
                   4629: 
                   4630:        * t-mips (EXTRA_PASSES): Explicitly mention collect2.
                   4631: 
                   4632:        * collect2.c (whole file): Rewrite file based on collect-osf, to
                   4633:        make it more portable.  Highlights include: running ld only once if
                   4634:        there are no constructors; OSF/rose support; not assuming that the
                   4635:        linker, assembler, nm live in /bin; -v support to trace the commands
                   4636:        being executed and print a version number; loops instead of
                   4637:        recursion used to write out the tables; support for user using -r;
                   4638:        checking all error returns; not using the shell to start processes.
                   4639: 
                   4640:        * collect-osf.c (whole file): Deleted, merged into collect2.c.
                   4641: 
                   4642: Tue Dec 17 15:49:06 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   4643: 
                   4644:        * sched.c (schedule_insns): Don't update value of reg_live_length
                   4645:        when it is negative, because negative values are special.
                   4646: 
                   4647:        * sched.c (schedule_block): Make new_needs an int not an enum, since
                   4648:        some compilers won't accept using `|' and `&' with enums.
                   4649: 
                   4650:        * sparc.md: Don't emit nop after floating point compare; this is
                   4651:        no longer needed.
                   4652: 
                   4653:        From Tom Wood:
                   4654:        * sched.c (memrefs_conflict_p): Exchange xsize and ysize when x
                   4655:        and y are exchanged.
                   4656: 
                   4657: Tue Dec 17 15:01:04 1991  Mark Eichin  (eichin at cygnus.com)
                   4658: 
                   4659:        * cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE,
                   4660:        not set_identifier_type_value, so that the binding doesn't get
                   4661:        unwound by leaving class scope.
                   4662: 
                   4663: Tue Dec 17 10:57:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4664: 
                   4665:        * toplev.c (main): Make -g0 produce no debugging information.
                   4666: 
                   4667: Tue Dec 17 15:15:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4668: 
                   4669:        * gcc.c (do_spec_1): In %P, duplicate the names with __ just in front.
                   4670: 
                   4671:        * gstab.h: Renamed from stab.h.
                   4672:        * collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed.
                   4673:        * dbxout.c (N_CATCH): Define this if stab.h does not.
                   4674:        * Makefile.in: Depend on gstab.h where appropriate.
                   4675: 
                   4676:        * Makefile.in (STAGESTUFF): Remove collect and collect2.
                   4677: 
                   4678:        * c-parse.y (parmlist_2): Allow just `...' with no named args.
                   4679:        * c-decl.c (get_parm_info): Pedantic warning for that usage.
                   4680: 
                   4681:        * final.c (final_scan_insn): Don't output blocks for -g1.
                   4682: 
                   4683:        * Makefile.in (crtbegin.o, crtend.o): Use -g0.
                   4684: 
                   4685:        * function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP.
                   4686: 
                   4687:        * varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST.
                   4688:        * stmt.c (expand_asm): Likewise.
                   4689:        * c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm.
                   4690: 
                   4691: Tue Dec 17 15:01:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4692: 
                   4693:        * m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h.
                   4694:        * m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h.
                   4695:        * m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h
                   4696:        except when compiling crtstuff.c.
                   4697: 
                   4698: Mon Dec 16 21:50:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4699: 
                   4700:        * stmt.c (struct case_node): Remove unused field `test_label'.
                   4701:        (pushcase, pushcase_range): Don't initialize it.
                   4702: 
                   4703:        * stmt.c (check_for_full_enumeration_handling): Only print warnings
                   4704:        if -Wswitch is specified.
                   4705:        (expand_end_case): Call check_for_full_enumeration_handling even if
                   4706:        -Wswitch is not specified.
                   4707: 
                   4708:        * expr.c (convert_move): Add missing arg to call to force_reg.
                   4709:        (convert_to_mode): Likewise, for protect_from_queue.
                   4710: 
                   4711: Mon Dec 16 20:33:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4712: 
                   4713:        * expr.c (expand_builtin): Check number and types of args.
                   4714: 
                   4715:        * c-parse.y (stmt, extdef): Allow constant expression inside plain asm.
                   4716: 
                   4717:        * m68k.md (movhi): Use asm_fprintf to print .set or equivalent.
                   4718:        * m68k.c (print_operand_address): Use %R when printing pc register.
                   4719:        * m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL):
                   4720:        Use %L.
                   4721: 
                   4722:        * c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type.
                   4723: 
                   4724: Mon Dec 16 11:14:28 1991  Ken Raeburn  ([email protected])
                   4725: 
                   4726:        * cp-decl.c (init_decl_processing): Don't declare unused function
                   4727:        __builtin_vec_delete.
                   4728: 
                   4729: Mon Dec 16 08:35:04 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
                   4730: 
                   4731:        * gnulib2.c (__udivmoddi4): Add comment.
                   4732: 
                   4733: Mon Dec 16 07:47:13 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4734: 
                   4735:        * cp-call.c (ideal_candidate): Always set BEST before using it.
                   4736:        Also, call `build_component_ref_1' with 3 args everywhere, and
                   4737:        `build_indirect_ref' with 2 args everywhere.
                   4738: 
                   4739: Mon Dec 16 07:17:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4740: 
                   4741:        * reload.h: Add `extern' to function declarations.
                   4742:        (gen_input_reload): Add declaration.
                   4743:        * reload1.c (reload): Allocate save area if caller-saves are needed;
                   4744:        check for case when it becomes needed after some spill registers are
                   4745:        obtained.
                   4746:        Can now eliminate frame pointer even when caller-saves are needed.
                   4747:        Perform register elimination of save area and see if caller-save needs
                   4748:        a spill register.
                   4749:        If required, find a spill register and pass it to caller-save code.
                   4750:        (gen_input_reload): No longer static.
                   4751:        * Makefile.in (caller-save.o): Now includes reload.h (again).
                   4752:        * global-alloc.c (global_alloc): Can eliminate frame pointer even if
                   4753:        we have caller-saves.
                   4754:        * toplev.c (compile_file): Call init_caller_saves.
                   4755:        
                   4756:        * caller-save.c: Major rewrite; almost entirely new code.
                   4757:        Integrate caller-saving with frame pointer elimination.
                   4758:        Don't try to save and restore registers that cannot be directly
                   4759:        copied to memory (such as MQ).
                   4760:        Correctly place save and restore insns.
                   4761:        Don't restore a saved register until end of block or if it is needed.
                   4762: 
                   4763:        * cse.c (mention_regs): Now returns int to indicate that the hash code
                   4764:        may have changed.
                   4765:        For COMPARE and comparison op, ensure that any register operand has
                   4766:        a quantity number.
                   4767:        (insert_regs): Return value from mention_regs.
                   4768:        (rehash_using_reg): New function.
                   4769:        (record_jump_equiv, mention_regs): Call rehash_using_reg if an operand
                   4770:        of a compare is a REG whose hash code is changing.
                   4771: 
                   4772: Mon Dec 16 07:09:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4773: 
                   4774:        * function.c (expand_main_function): New subroutine.  Call __main.
                   4775:        * c-decl.c, cp-decl.c (store_parm_decls): Use that.
                   4776:        * cp-decl.c (init_decl_processing): Don't declare __main.
                   4777: 
                   4778:        * objc-actions.c (init_objc): Call __objcInit as a constructor.
                   4779: 
                   4780:        * toplev.c (compile_file): Reenable SDB code #if 0'd before.
                   4781: 
                   4782:        * protoize.c (version_string): Make it extern.
                   4783:        * Makefile.in (protoize, unprotoize): Link with version.o.
                   4784: 
                   4785: Sun Dec 15 23:31:47 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4786: 
                   4787:        * cp-tree.c (virtual_member): When recurring, don't dive into
                   4788:        nonexistent baseclasses.
                   4789: 
                   4790:        * cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const
                   4791:        arrays.
                   4792:        * cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might
                   4793:        be chagned to TREE_EXTERNAL due to #pragma interface/implementation.
                   4794: 
                   4795: Sun Dec 15 14:57:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4796: 
                   4797:        * Makefile.in (SYSCALLS.c.X): Fix typo.
                   4798:        (INTERNAL_CFLAGS): Delete -DMERGED.
                   4799: 
                   4800:        * dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*.
                   4801:        * newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments.
                   4802: 
                   4803:        * stmt.c (emit_case_nodes): Rewrite to change induction conditions.
                   4804:        Handle boundedness in the bounded node itself.
                   4805:        Handle branching entirely at the parent level.
                   4806: 
                   4807:        * gstdarg.h: Use va-i860.h.
                   4808:        * va-i860.h (va_start for ANSI): Fix typo.  Call __builtin_next_arg.
                   4809: 
                   4810: Sat Dec 14 20:45:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4811: 
                   4812:        * Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h.
                   4813: 
                   4814:        * loop.c (invariant_p): Call-clobbered register is not invariant if
                   4815:        loop has calls.
                   4816:        (count_loop_regs_set): Count a CLOBBER as a setting of a register.
                   4817: 
                   4818:        * stmt.c: Move include of ctype.h and definition of cost variables to
                   4819:        front of file.
                   4820:        (expand_end_case): Always set use_cost_table.  Check type here instead
                   4821:        of in estimate_case_costs.  Don't suppress use of cost table when
                   4822:        not optimizing.
                   4823:        (estimate_case_costs): Now returns int.  Check for any case tag
                   4824:        that is an unusual control character here and reject use of table
                   4825:        if so.  Always do comparisons signed, since that's how we access the
                   4826:        cost table.
                   4827:        (balance_case_nodes): Don't check for strange control characters here.
                   4828:        (node_has_low_bound): Do checking if we don't have a left branch,
                   4829:        instead of if we do.
                   4830:        (node_has_{low,high}_bound): Remove spurious checks on branches.
                   4831:        (emit_case_nodes): Ensure operation passed to emit_cmp_insn matches
                   4832:        the branch we actually emit.
                   4833:        Fix case of a range node with no left or right branch; use of case
                   4834:        and default label were backward for the high test.
                   4835:        Remove unused variables defaulted_{left,right}.
                   4836: 
                   4837: Sat Dec 14 16:10:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4838: 
                   4839:        * protoize.c: Don't include limits.h.
                   4840:        Rename `pathname' to `filename' everywhere.
                   4841:        Clean up indentation of fprintf calls.
                   4842:        Use standard GNU format for file name/line in error messages.
                   4843:        (n_base_source_files): Renamed from base_source_files.
                   4844:        (convert_filename, invocation_filename, base_source_filenames):
                   4845:        `path' renamed to `filename'.
                   4846:        (syscalls_absolute_filename): Renamed from syscalls_pathname.
                   4847:        (find_file): Arg FILENAME no longer const.
                   4848:        (main): Fix getcwd error-checking logic.
                   4849:        (varargs_style_indicator): Delete `const'.
                   4850:        (savestring): Declare arg `input' const.
                   4851: 
                   4852:        * Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o):
                   4853:        Use GCC_FOR_TARGET.
                   4854:        (getopt.o, getopt1.o): Likewise.
                   4855:        (GCC_FOR_TARGET): Delete -B./.
                   4856:        (GCC_CFLAGS): Add -B./.  Copy ALL_CFLAGS's definition, less XCFLAGS.
                   4857: 
                   4858:        * cp-init.c (add_friends): Pass proper args to strncmp.
                   4859: 
                   4860:        * toplev.c (compile_file): Clear DECL_RTL for vars not really output.
                   4861:        #if 0 possibly redundant code for SDB output.
                   4862: 
                   4863:        * sys-types.h: Include gstddef.h to get size_t and wchar_t.
                   4864: 
                   4865:        * ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2.
                   4866: 
                   4867:        * Makefile.in (STAGESTUFF): Add collect, collect2.
                   4868: 
                   4869: Sat Dec 14 12:16:12 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4870: 
                   4871:        * cp-search.c (get_baselinks): Use obstacks right, instead of
                   4872:        aborting when we know we're using them wrong.
                   4873: 
                   4874:        * cp-parse.y (structsp): Fix typo in exception declaration rule.
                   4875: 
                   4876:        * cp-typeck.c (build_modify_expr_1): Recursive call to
                   4877:        `build_modify_expr_1' used pre-BINFO representation for
                   4878:        BASETYPE_PATH argument.
                   4879: 
                   4880:        * cp-decl.c (start_decl): Don't switch to temporary allocation for
                   4881:        decls of type REFERENCE_TYPE, as their initializers may live a long
                   4882:        time, too.
                   4883: 
                   4884: Sat Dec 14 07:11:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   4885: 
                   4886:        * reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word
                   4887:        constant, try to extract just the word we want.
                   4888: 
                   4889:        * global-alloc.c (global_alloc): Correct reference to ELIMINABLES.
                   4890: 
                   4891: Fri Dec 13 15:28:38 1991  Michael Meissner  (meissner at osf.org)
                   4892: 
                   4893:        * configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not
                   4894:        xm-mips.h.
                   4895: 
                   4896:        * gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case
                   4897:        non-GCC 2.00 compiler is used.
                   4898:        (__SIZE_TYPE__): Ditto.
                   4899:        (__WCHAR_TYPE__): Ditto.
                   4900: 
                   4901: Fri Dec 13 14:49:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4902: 
                   4903:        * config.sub: Renamed from config.subr.
                   4904:        Support os -sym1.
                   4905:        Convert -svr3, -svr4 to -sysv3, -sysv4.
                   4906:        * configure: Used new name.
                   4907: 
                   4908:        * Makefile.in (includes): Preserve files from GCC already in dir.
                   4909: 
                   4910: Fri Dec 13 11:01:12 1991  Fred Fish  (fnf at fishpond)
                   4911: 
                   4912:        * att386.h:  Fix unparenthesized macro arguments in
                   4913:        ASM_OUTPUT_ASCII macro.
                   4914: 
                   4915:        * i386v4.h:  Select an assembly language syntax file and include
                   4916:        it.  Supply missing macros from ones in i386v.h (TARGET_DEFAULT,
                   4917:        VALUE_REGNO, FUNCTION_VALUE_REGNO_P).
                   4918: 
                   4919:        * svr4.h:  Fix misspelled variable name labelno (was labeno).
                   4920: 
                   4921: Fri Dec 13 09:07:22 1991  Michael Tiemann  (tiemann at cygnus.com)
                   4922: 
                   4923:        * cp-typeck.c (build_component_ref): Call `assemble_external' as
                   4924:        nec.
                   4925:        (build_function_call_real): Call `assemble_external' as nec. for
                   4926:        function calls we build.  Code slightly rearranged for clarity.
                   4927:        * cp-call.c (build_method_call): Call `assemble_external' as nec.
                   4928: 
                   4929: Thu Dec 12 22:03:52 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
                   4930: 
                   4931:        * make-cc1.com: Change message given to user. Change c-parse_tab.*
                   4932:          to c-parse.*
                   4933: 
                   4934:        * config-gcc.com: Purge excess versions of version.opt.
                   4935: 
                   4936: Thu Dec 12 20:25:20 1991  Michael Meissner  (meissner at osf.org)
                   4937: 
                   4938:        * Makefile.in (BOOT_CFLAGS): Remove quotes around the argument,
                   4939:        since this causes a syntax error when it is later expanded.
                   4940: 
                   4941: Thu Dec 12 17:53:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4942: 
                   4943:        * config.subr: Add many new machines and some OS's.
                   4944: 
                   4945:        * va-i860.h: Rewrite from rfg.
                   4946: 
                   4947:        * toplev.c (main): Handle -dm on USG systems.
                   4948: 
                   4949:        * m68k.c (print_operand, print_operand_address): New functions.
                   4950:        * m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them.
                   4951: 
                   4952:        * m68k.c (S_*, D_*): Delete the #undefs at the end.
                   4953: 
                   4954:        * stmt.c (expand_return): Special case if fcn returns void.
                   4955: 
                   4956:        * objc-actions.c (build_objc_method_call): Fix typo in NeXT case.
                   4957: 
                   4958:        * expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr.
                   4959: 
                   4960:        * protoize.c: Delete the `extern "C"' for C++ compilation.
                   4961: 
                   4962: Thu Dec 12 10:01:13 1991  Michael Meissner  (meissner at osf.org)
                   4963: 
                   4964:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in
                   4965:        handling the constructor list when a valid count is supplied.
                   4966: 
                   4967:        * collect2.c (write_hooks): Emit a count before the list of
                   4968:        constructors, to go back to the old format.
                   4969: 
                   4970:        * collect-osf.c (write_s_file): Emit a count before the list of
                   4971:        constructors, to go back to the old format.
                   4972: 
                   4973:        * gnulib2.c (exit): Provide default defintions as bss symbols for
                   4974:        all of the constructor/destructor related symbols if the macro
                   4975:        INIT_SECTION_ASM_OP is not defined.  The second link that collect
                   4976:        does and/or gld will provide the right values.
                   4977: 
                   4978:        * decrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
                   4979:        * encrose.h (HAVE_ATEXIT): Nuke macro, no longer used.
                   4980:        * i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used.
                   4981: 
                   4982: Thu Dec 12 07:27:05 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   4983: 
                   4984:        * gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__.
                   4985:        * collect-osf.c collect2.c: Rename here as well.
                   4986: 
                   4987: Thu Dec 12 04:15:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4988: 
                   4989:        * c-parse.y (stmt): Make asm alternatives allow expr.
                   4990:        * c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr.
                   4991: 
                   4992:        * c-parse.y (datadecl, datadecls, lineno_datadecl): New rules.
                   4993:        (xdecls): Use them.
                   4994: 
                   4995: Wed Dec 11 18:36:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   4996: 
                   4997:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT.
                   4998:        Test for -1 and handle both kinds of table format.
                   4999:        * gnulib2.c (__do_global_dtors): Check for -1...
                   5000:        (__do_global_ctors): Dummy defn of ON_EXIT if no other defined.
                   5001:        (__main): Do nothing if called again.
                   5002:        (exit): Use EXIT_BODY if defined.
                   5003:        * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__):
                   5004:        Renamed from *_BEGIN__.  Add -1 as first elt.
                   5005:        (__CTOR_END__, __DTOR_END__): Add 0 as last elt.
                   5006:        (ON_EXIT): Dummy defn if no other is defined.
                   5007: 
                   5008: Wed Dec 11 18:08:36 1991  Mark Eichin  (eichin at cygnus.com)
                   5009: 
                   5010:        * cp-parse.y (template_parm): removed some reduce/reduce conflicts
                   5011:        by noting which of identifier or identifier_defn would actually be
                   5012:        passed up in this context.
                   5013: 
                   5014: Wed Dec 11 17:52:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5015: 
                   5016:        * flow.c (propagate_block): Adjust loop depth if it is changed in
                   5017:        notes at the end of a block.
                   5018:        Abort if loop depth ever reaches zero.
                   5019: 
                   5020: Wed Dec 11 16:30:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5021: 
                   5022:        * cccp.c (do_endif): Don't call record_control_macro at top level.
                   5023: 
                   5024: Wed Dec 11 14:45:42 1991  Mark Eichin  (eichin at cygnus.com)
                   5025: 
                   5026:        * cp-decl.c (set_identifier_type_value): If we're in a
                   5027:        class_binding_level, shadow the type there.
                   5028:        (xref_defn_tag): New function. Calls xref_tag with special flag set
                   5029:        to indicate that we know we're defining something.
                   5030:        (pushdecl_top_level): if class_binding_level is set, search from it
                   5031:        instead of only from current_binding_level when trying to find
                   5032:        shadowed values. This is in support of tests m5.cc through m8.cc,
                   5033:        which broke after the changes for m9.cc were installed.
                   5034: 
                   5035:        * cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if
                   5036:        we have AGGR identifier { or AGGR identifier : which are both
                   5037:        definitions, and passes up identifier_DEFN instead. This is in
                   5038:        support of test m9.cc.
                   5039:        (yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in
                   5040:        the displayed stream.
                   5041:        (yylex, case AGGR): added call to do_aggr.
                   5042:        (debug_yychar): added call to debug_yytranslate for proper
                   5043:        translations.
                   5044: 
                   5045:        * cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG
                   5046:        translations. 
                   5047:        (TYPENAME_DEFN): new token, TYPENAME seen by do_aggr.
                   5048:        (IDENTIFIER_DEFN): new token, ditto.
                   5049:        (PTYPENAME_DEFN): new token, ditto.
                   5050:        (identifier_defn): corresponds to identifier, but when the
                   5051:        identifier has been seen by do_aggr.
                   5052:        (named_class_head_sans_basetype_defn): specially recognize aggr
                   5053:        identifier_defn.
                   5054:        (named_class_head): add parallel clauses calling xref_tag_defn when
                   5055:        we know we're defining this aggr.
                   5056:        (named_class_head_sans_basetype_defn_either): for when we don't care
                   5057:        if it is a defn or not (such as templates)
                   5058:        (identifier_either): ditto.
                   5059: 
                   5060:        * cp-tree.h (xref_defn_tag): New declaration.
                   5061: 
                   5062: Wed Dec 11 12:37:51 1991  Ken Raeburn  ([email protected])
                   5063: 
                   5064:        * cp-parse.y (label_colon): New nonterminal, with all label prefixes
                   5065:        from "stmt" moved here.
                   5066:        (stmt): Use it.  Also provide useful message for label followed by
                   5067:        end of block (close-brace).
                   5068: 
                   5069:        * cp-init.c (BIVN): Deleted unused variable.
                   5070:        * cp-decl.c (init_decl_processing): Don't declare function
                   5071:        __builtin_vec_new; it's never used.
                   5072: 
                   5073: Wed Dec 11 10:59:48 1991  Michael Meissner  (meissner at osf.org)
                   5074: 
                   5075:        * toplev.c (main): Complete last change from RMS, use variable
                   5076:        'level' which used to be named 'arg'.
                   5077: 
                   5078:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for
                   5079:        those poor systems without atexit or on_exit.
                   5080: 
                   5081: Wed Dec 11 09:06:52 1991  Jeffrey A. Law  (law at wombat.gnu.ai.mit.edu)
                   5082: 
                   5083:        * m68k.c (output_function_prologue, output_function_epilogue):
                   5084:        When saving/restoring only 2 registers, do so with two "movel"
                   5085:        instructions instead of a single "moveml".  This results in
                   5086:        faster code for the 68020 and later machines.
                   5087: 
                   5088: Wed Dec 11 06:45:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5089: 
                   5090:        * x-romp (MAKE): Add definition; the supplied `make' doesn't define it.
                   5091: 
                   5092: Tue Dec 10 22:17:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5093: 
                   5094:        * combine.c (try_combine): Always make a copy of I2's pattern if
                   5095:        it will be used in a PARALLEL (`added_sets_2' nonzero).
                   5096: 
                   5097:        * Makefile.in (BOOT_CFLAGS): New parameter.
                   5098:        (bootstrap*): Use it.
                   5099: 
                   5100:        * flow.c (find_basic_blocks): Set depth of last insn, not first,
                   5101:        into basic_block_loop_depth.
                   5102:        (propagate_blocks): Use consistently with new definition.
                   5103: 
                   5104:        * cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous
                   5105:        change; it can cause loops following around branches.
                   5106: 
                   5107:        * Makefile.in (USER_H): Add va-hp9k8.h.
                   5108: 
                   5109: Tue Dec 10 17:22:01 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   5110: 
                   5111:        * m88k*.h: Include svr3.h as the default.  m88kv4.h and m88kdgux.h
                   5112:        include svr4.h.  Override svr[34].h as needed.
                   5113:        * t-m88k, t-m88kv4: Specify EXTRA_PARTS.
                   5114: 
                   5115:        * m88k.c (uses_arg_area_p): Check current_function_varargs.
                   5116: 
                   5117: Tue Dec 10 15:41:03 1991  Michael Meissner  (meissner at osf.org)
                   5118: 
                   5119:        * osf-main.c (whole file): Delete, since the constructor stuff was
                   5120:        moved to gnulib2.c.
                   5121: 
                   5122:        * Makefile.in (collect2, collect2.o): Change to use the default
                   5123:        compiler to build collect2, instead of the newly built GCC, since
                   5124:        otherwise, collect2 will create a circular dependency.  Also, pass
                   5125:        LDFLAGS when linking.
                   5126: 
                   5127:        * collect-osf.c (write_s_file): Change to the new way of doing
                   5128:        constructors and destructors of having an end marker instead of a
                   5129:        count.
                   5130: 
                   5131:        * collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros
                   5132:        to allow cross compilers to specify where the real linker,
                   5133:        assembler, and nm live.
                   5134:        (NM_FLAGS): New macro to allow a configuration to change what flags
                   5135:        get passed to nm.
                   5136:        (alloca defines): Remove alloca defines, since config.h provides
                   5137:        them.
                   5138:        (write_hooks): Change to the new way of doing constructors and
                   5139:        destructors of having an end marker instead of a count.  Cast all
                   5140:        alloca calls to be the appropriate pointer type.  Put both
                   5141:        constructors and destructors into the data section, because the MIPS
                   5142:        tools do not like non-instructions in the .text section.
                   5143: 
                   5144:        * decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
                   5145:        (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used.
                   5146: 
                   5147:        * encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
                   5148:        (FULL_PROTOTYPES): Remove, no longer used.
                   5149: 
                   5150:        * i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit.
                   5151: 
                   5152:        * t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
                   5153:        needed, since constructor/destructor support moved into gnulib2.c.
                   5154: 
                   5155:        * t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
                   5156:        needed, since constructor/destructor support moved into gnulib2.c.
                   5157: 
                   5158:        * t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer
                   5159:        needed, since constructor/destructor support moved into gnulib2.c.
                   5160: 
                   5161:        * t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
                   5162:        and gnulib2 are both compiled with -G 0, in case the users compiles
                   5163:        and links this way.  It also fixes a bug where the constructors and
                   5164:        destructors that collect2 produces are in the big data section, but
                   5165:        gnulib2 thinks they are in the small data section, because it only
                   5166:        sees a pointer.
                   5167:        (ld): Add -f to remove old ld link to collect2, if it exists.
                   5168: 
                   5169:        * t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1
                   5170:        and gnulib2 are both compiled with -G 0, in case the users compiles
                   5171:        and links this way.  It also fixes a bug where the constructors and
                   5172:        destructors that collect2 produces are in the big data section, but
                   5173:        gnulib2 thinks they are in the small data section, because it only
                   5174:        sees a pointer.
                   5175:        (ld): Add rule to link collect2 to ld.
                   5176:        (EXTRA_PASSES): Build collect2 (aka ld).
                   5177: 
                   5178:        * xm-mips.h (alloca): If not GNU C, declare alloca to be char *.
                   5179: 
                   5180:        * mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size,
                   5181:        so that it agrees with MIPS ECOFF practice, rather than the
                   5182:        documentation, which affects enum bitfields.  Changes from Per
                   5183:        Bothner.
                   5184: 
                   5185: Tue Dec 10 14:10:10 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5186: 
                   5187:        * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc.
                   5188:        * gnulib2.c (__do_global_dtors): Remove & before arrays.
                   5189: 
                   5190:        * configure: Set a default value for xm_file.
                   5191:        Remove redundant defaulting of cpu_type.
                   5192: 
                   5193:        * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly.
                   5194: 
                   5195:        * function.c (assign_parms): Set current_function_args_info.
                   5196:        * output.h: Declare that var.
                   5197:        * tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS.
                   5198:        * expr.c (expand_builtin): Implement __builtin_args_info.
                   5199:        * c-decl.c (init_decl_processing): Declare it.
                   5200:        * va-i860.h: Use it.
                   5201:        Also update order of elements in struct __va_ctl.
                   5202: 
                   5203:        * toplev.c (main): Eliminate -gsdb and -gdbx.
                   5204:        Clean up setting of use_gdb_dbx_extensions.
                   5205: 
                   5206: Tue Dec 10 10:33:58 1991  Tom Wood  (wood at gen-rtx)
                   5207: 
                   5208:        * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label.
                   5209: 
                   5210: Tue Dec 10 07:12:28 1991  James Van Artsdalen  (james@raid)
                   5211: 
                   5212:        * Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir).
                   5213: 
                   5214: Tue Dec 10 06:56:26 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5215: 
                   5216:        * cp-decl.c (kept_level_p): New function, borrowed from c-decl.c.
                   5217:        * cp-parse.y (compstmt): Call it.
                   5218: 
                   5219: Mon Dec  9 18:37:32 1991  Ken Raeburn  ([email protected])
                   5220: 
                   5221:        * cp-decl.c (grok_enum_decls): Don't give warning for class-local
                   5222:        enum types; this is a perfectly reasonable usage.
                   5223: 
                   5224: Mon Dec  9 12:23:48 1991  Ron Guilmette  (rfg at ncd.com)
                   5225: 
                   5226:        * toplev.c (main):  Check that no extra chars follow the level #
                   5227:        in a -gNNN option.  Also check that the debugging level requested
                   5228:        is between 0 and 3 (inclusive).
                   5229: 
                   5230: Mon Dec  9 20:34:48 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   5231: 
                   5232:        * sched.c (schedule_block): Don't crash if `line' is zero.
                   5233:        (schedule_insns): Initialize line_note_head.
                   5234: 
                   5235: Mon Dec  9 15:31:46 1991  Michael Meissner  (meissner at osf.org)
                   5236: 
                   5237:        * mips-tfile.c (pseudo_ops array): Correctly size the .stabs and
                   5238:        .stabn elements.
                   5239: 
                   5240:        * mips.c (function_prologue, function_epilogue): Use assemble_name
                   5241:        to print the current function, instead of fprintf, in case there is
                   5242:        a  leading '*'.
                   5243: 
                   5244:        * mips-news.h (CPP_PREDEFINES): Define news3700, not news7300.
                   5245: 
                   5246:        * mips.md (ashldi3_internal3): Fix typos.
                   5247:        (ashrdi3_internal3): Ditto.
                   5248:        (lshldi3_internal3): Ditto.
                   5249: 
                   5250: Mon Dec  9 11:49:52 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
                   5251: 
                   5252:        * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand
                   5253:        2 constraint.
                   5254: 
                   5255: Mon Dec  9 11:22:58 1991  Ken Raeburn  ([email protected])
                   5256: 
                   5257:        * cp-typeck.c (build_x_function_call): A method might have type
                   5258:        pointer-to-method as well.  Don't build an OFFSET_REF for any
                   5259:        "function" that already has pointer type.  Only use
                   5260:        DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for
                   5261:        method pointer expressions, look up the basetype of the method type.
                   5262:        (build_unary_op): Fix comment in typo.
                   5263: 
                   5264:        * cp-tree.c: Fix typo in comment at start of file.
                   5265: 
                   5266: Mon Dec  9 07:17:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5267: 
                   5268:        * cse.c (cse_insn): When a jump is converted to unconditional, 
                   5269:        delete the dead code, but leave the notes.
                   5270:        (cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are
                   5271:        part of the basic block.
                   5272:        (cse_basic_block): Add missing arg to cse_end_of_basic_block call.
                   5273:        
                   5274: Mon Dec  9 07:16:15 1991  Ron Guilmette  (rfg at ncd.com)
                   5275: 
                   5276:        * sys-types.h:  New file.
                   5277:        * sys-protos.h:  New file.
                   5278:        * SYSCALLS.c: Just include those files.
                   5279: 
                   5280:        * protoize.c (VOLATILE):  Define this symbol conditionally so that
                   5281:        it can be used to declare GNU `volatile' functions.
                   5282:        (abort):  Added VOLATILE extern declaration (but not if it's a macro).
                   5283:        (kill, fork):  Added extern declaration.
                   5284:        (substr): Declare c as int.
                   5285: 
                   5286:        * gbl-ctors.h: New file.
                   5287:        * crtstuff.c: Include gbl-ctors.h.
                   5288:        (INIT_SECTION_ASM_OP):  Delete default definition.
                   5289:        Only compile .init section code if INIT_SECTION_ASM_OP is defined.
                   5290:        (pointer):  Globally changed to `func_ptr'.
                   5291:        * Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h.
                   5292:        * gnulib2.c:  Added definition of __builtin_saveregs for i860/svr4
                   5293:        and fixed up definition of __builtin_saveregs for i860/non-svr4.
                   5294:        (__bb_avoid_warning):  Added explicit return type.
                   5295:        (__builtin_new, __builtin_vec_new, __builtin_delete,
                   5296:        __builtin_vec_delete): Use `void*' where appropriate.
                   5297:        (exit): Change conditional to ON_EXIT.  Make dummy if no real exit.
                   5298:        Include gbl-ctors.h.
                   5299:        (__main): Change conditional to INIT_SECTION_ASM_OP.
                   5300:        (__do_global_ctors): Conditional on INIT_SECTION_ASM_OP.
                   5301:        Use DO_GLOBAL_CTORS_BODY for the guts.
                   5302:        Include gbl-ctors.h.
                   5303: 
                   5304: Mon Dec  9 01:07:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5305: 
                   5306:        * fixinc.svr4: Don't change #ident or assertion tests.
                   5307:        Don't install inline.h.
                   5308: 
                   5309:        * c-common.c (get_directive_line): Declare c as int.
                   5310: 
                   5311:        * configure: Create additional file tconfig.h.
                   5312:        * protoize.c: Include that, not tm.h.
                   5313:        * Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h.
                   5314: 
                   5315:        * svr4.h (HAVE_ATEXIT): Defined.
                   5316:        * gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit.
                   5317: 
                   5318:        * final.c (final_scan_insn): Output first and last note in a series.
                   5319: 
                   5320:        * objc-actions.c (build_objc_method_call):
                   5321:        New arg LOOKUP_OBJECT.
                   5322:        (build_message_expr): Pass RECEIVER for LOOKUP_OBJECT.
                   5323:        Pass RECEIVER or self_decl as OBJECT.
                   5324: 
                   5325:        * unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted.
                   5326: 
                   5327:        * rtl.h: Undef FLOAT.
                   5328: 
                   5329:        * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE):
                   5330:        Fix typo.
                   5331: 
                   5332: Sun Dec  8 21:46:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5333: 
                   5334:        * protoize.c (main): Declare `value'.
                   5335:        (abspath): Declare endp.  Declare and set outp and inp.
                   5336: 
                   5337:        * cp-decl.c (sigsegv): Function deleted.
                   5338:        (init_decl_processing): Don't use it.
                   5339:        Also don't include signal.h.
                   5340: 
                   5341:        * t-svr4: New file.
                   5342:        * configure (i386-*-sysv4*, i860-*-sysv4*): Use that file.
                   5343: 
                   5344: Sun Dec  8 12:01:36 1991  Ron Guilmette (rfg at ncd.com)
                   5345: 
                   5346:        * fixinc.svr4: New file.
                   5347: 
                   5348:        * final.c (profile_function): Specify return type.
                   5349:        (get_attr_length):  Added a return statement to prevent warnings.
                   5350: 
                   5351:        * final.c (final_scan_insn):  Switch to .text section before output
                   5352:        of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION).
                   5353:        Don't switch sections again after the label.
                   5354: 
                   5355:        * configure (i386-*-sysv*):  Configuration deleted.
                   5356:        (i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4):
                   5357:        Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS).
                   5358:        (i860-*-sysv3, i860-*-sysv4):  Added assignment to `xmake-file'.
                   5359:        (i860-*-sysv3):  Deleted bogus GAS related stuff.
                   5360: 
                   5361:        * combine.c (combinable_i3pat):  Added explicit return type.
                   5362: 
                   5363:        * i860.h (TARGET_FPU):  Deleted this target flag.  i860 fpu is on chip.
                   5364:        (TARGET_XP):  New target flag for XR and XP models.
                   5365:        (TARGET_FLAGS, HARD_REGNO_MODE_OK):  Adjusted for above changes.
                   5366:        (REG_ALLOC_ORDER): Use first the regs less likely for other purposes.
                   5367:        (LITERAL_COMPARE_BETTER_UNSIGNED):  Defined.
                   5368:        (BRANCH_COST): Defined.
                   5369:        (CC_ONLY_*):  Deleted these obsolete defines.
                   5370:        (CC_NEGATED):  Added for IEEE behavior with cmpgesf and cmplesf.
                   5371:        (ASM_OUTPUT_CASE_LABEL):
                   5372:        Added .align so assembler doesn't barf on subsequent .long(s).
                   5373:        (FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE):
                   5374:        Added definitions needed to build a useable gnulib1 library.
                   5375: 
                   5376:        * i860.md:  Removed all references to CC_ONLY_* symbols.
                   5377:        (cmpledf, cmpgedf):  Adjusted assembler code  as suggested
                   5378:        by i860 manuals, for IEEE results.
                   5379:        (cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch):
                   5380:        Check for CC_NEGATED.
                   5381:        (bte, btne patterns): Complete rewrite.
                   5382:        (anonymous sign-extend patterns): Moved before the named patterns.
                   5383: 
                   5384:        * i860.md (addsi3, subsi3):  Disparaged alternatives with a floating-
                   5385:        pointer input register to avoid complicated reloading problem.
                   5386:        (negsi2):  Deleted bogus `I' constraint on operand 1.
                   5387:        (divdf3, divsf3):  Added additional continuation characters
                   5388:        needed to make lines acceptable to `read_rtx' in the gen* programs.
                   5389: 
                   5390:        * i860.c:  Include "flags.h" to get access to `optimize' flag.
                   5391:        (leaf_function_p):  Added extern declaration.
                   5392:        (zero_operand): New function.
                   5393:        (must_preserve_r1, must_preserve_bytes): New variables.
                   5394:        (function_prologue, function_epilogue): 
                   5395:        Support treatment of return-address reg (r1) in leaf functions.
                   5396: 
                   5397:        * i860v4.h (CPP_PREDEFINES):  Add pre-assertions for i860/svr4.
                   5398:        (CPP_SPEC):  Deleted definition.
                   5399:        (TYPE_OPERAND_FMT):  New definition.
                   5400:        (ASM_OUTPUT_FUNCTION_PREFIX):  #undef before defining.
                   5401:        (ASM_OUTPUT_EPILOGUE_SUFFIX):  Deleted obsolete macro.
                   5402:        (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
                   5403:        TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
                   5404:        TDESC_SECTION_FUNCTION):  Definitions added.
                   5405: 
                   5406:        * i860v3.h: Complete rewrite.  Uses svr3.h.
                   5407: 
                   5408:        * i386v4.h:  Don't include i386v.h.  Include i386.h instead.
                   5409:        (SDB_DEBUGGING_INFO):  #undef deleted.
                   5410:        (ASM_OUTPUT_DWARF_STRING):  Added definition.
                   5411: 
                   5412:        * gcc.c (default_compilers):  Pass -g* options to cpp.
                   5413: 
                   5414:        * gcc.c (do_spec_1):  Don't duplicate -A options in CPP_PREDEFINES.
                   5415: 
                   5416:        * gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors):
                   5417:        New functions.
                   5418: 
                   5419:        * i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX):
                   5420:        Define here, and use IP.
                   5421: 
                   5422:        * i386.h: Don't include syms.h or define FILNMLEN.
                   5423: 
                   5424:        * x-i860v3, x-i860v4: New files.
                   5425:        * x-i386v4 (CCLIBFLAGS, GCC_CFLAGS):  Added definitions.
                   5426: 
                   5427:        * xm-svr3.h:  New file.
                   5428:        * xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten.
                   5429:        * xm-i38v4.h: New file.
                   5430: 
                   5431:        * svr4.h (LIB_SPEC):  Make crtend.o come before any *crtn.o
                   5432:        file (to avoid hitting return without standard epilogue in .init code).
                   5433:        (INIT_SECTION_ASM_OP):  Added definition for crtstuff.c (and friends).
                   5434:        (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):
                   5435:        Adjusted indentation of continuations to match those in rest of file.
                   5436: 
                   5437:        * svr3.h (CPP_PREDEFINES):  Don't define this here.
                   5438:        (ASM_FILE_START_1):  Provide no-op default definition.
                   5439:        (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL):  Undef these before defining.
                   5440:        (INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP,
                   5441:        CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP,
                   5442:        EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION,
                   5443:        CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION,
                   5444:        ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION,
                   5445:        SELECT_RTX_SECTION):  Definitions added.
                   5446: 
                   5447: Sun Dec  8 15:27:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5448: 
                   5449:        * next.c (handle_pragma): Use get_directive_line.
                   5450: 
                   5451:        * gnulib2.c (__do_global_dtors, __do_global_ctors):
                   5452:        Remove the feature to control the order of execution.
                   5453:        This is not a clean solution to the overall problem.
                   5454: 
                   5455: Sun Dec  8 14:47:44 1991  Michael Meissner  (meissner at osf.org)
                   5456: 
                   5457:        * mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common):
                   5458:        More changes for smuggling stabs through from [email protected] and
                   5459:        [email protected].
                   5460: 
                   5461:        * mips.h (ignore_line_number): New global, set when we must avoid
                   5462:        putting out a MIPS ECOFF .loc because the file changed inside of a
                   5463:        function, and we are also putting out stabs, which can handle this.
                   5464:        (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment
                   5465:        in front of the pseudo op, if we are encapsulating stabs in MIPS
                   5466:        ECOFF.
                   5467:        (ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename.
                   5468:        (ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno.
                   5469: 
                   5470:        * mips.c (toplevel): Include stab.h for encapsulating stabs.
                   5471:        (ignore_line_number): New global variable.
                   5472:        (reg_or_0_operand): Call register_operand for REG's as well as
                   5473:        SUBREG's.
                   5474:        (override_option): Don't allow ints in FP registers unless -mdebugh.
                   5475:        (mips_output_filename): New function to write the filename to the
                   5476:        assembler output.  Add special support for encapsulating .stabs in
                   5477:        MIPS ECOFF.
                   5478:        (mips_output_lineno): New function to write the line number to the
                   5479:        assembler output.  Add special support for encapsulating .stabs in
                   5480:        MIPS ECOFF.
                   5481:        (function_epilogue): Clear ignore_line_number.
                   5482: 
                   5483:        * mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint
                   5484:        back to '*'.
                   5485: 
                   5486: Sat Dec  7 16:58:57 1991  Ken Raeburn  ([email protected])
                   5487: 
                   5488:        * cp-spew.c (scan_tokens): Stop scanning at semi-colon.
                   5489: 
                   5490:        * cp-spew.c: Made SPEW_DEBUG code useable:
                   5491:        (yylex): Use stderr in SPEW_DEBUG code.
                   5492:        (yytags): Deleted table.
                   5493:        (debug_yychar): Print to stderr, and don't try finding translations
                   5494:        for values over 256.
                   5495: 
                   5496:        * cp-class.c (push_lang_context): Fix typo in comment.
                   5497: 
                   5498:        * cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for
                   5499:        top-level decls of methods.
                   5500: 
                   5501:        * cp-lex.c (restore_pending_input): Cast 0 to pointer type for
                   5502:        obstack_free.
                   5503: 
                   5504:        * cp-pt.c (do_pending_expansions): Use TREE_USED instead of
                   5505:        TREE_ADDRESSABLE for functions.  Put in comments explaining why we
                   5506:        compile unused methods of classes that are interface-unknown: the
                   5507:        file initializer/cleanup functions might need them.
                   5508:        (mumblefrotz): Delete unused function; this code is in cp-parse.y.
                   5509: 
                   5510: Sat Dec  7 15:46:55 1991  Timothy Moore ([email protected])
                   5511: 
                   5512:        * function.c: Handle ARGS_GROW_DOWNWARD.
                   5513:        (pad_below, pad_to_arg_alignment, round_down): New subroutines.
                   5514:        (locate_and_pad_parm): Use them, for the existing case.
                   5515:        Also handle the ARGS_GROW_DOWNWARD case, using them.
                   5516: 
                   5517: Sat Dec  7 15:46:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5518: 
                   5519:        * tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro.
                   5520:        * c-decl.c (grokdeclarator): Store value there.
                   5521: 
                   5522:        * m68k.c (output_function_prologue, output_function_epilogue):
                   5523:        Support MOTOROLA syntax.
                   5524: 
                   5525:        * toplev.c (main): Testing for -ggdb catches -g also.
                   5526:        Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx.
                   5527:        Specified default is for -g.
                   5528: 
                   5529:        * cccp.c (handle_directive): Store start address in directive_start.
                   5530:        (do_xifdef): Use that, checking if at start of file.
                   5531:        (do_endif): Compute ep properly.
                   5532: 
                   5533:        * protoize.c (abspath): Fix errors referencing argument cwd.
                   5534:        (main): Allocate big enough buffer for getcwd.
                   5535:        Don't clobber varargs_style_indicator, copy it.
                   5536:        (savestring): New function.
                   5537: 
                   5538: Sat Dec  7 00:53:16 1991  Ron Guilmette  (rfg at ncd.com)
                   5539: 
                   5540:        * c-decl.c (warn_redundant_decls, warn_nested_externs): New vars.
                   5541:        (c_decode_option): Support -Wredundant-decls and -Wnested-externs.
                   5542:        (pushdecl): Print those warnings.
                   5543:        * c-tree.h (warn_redundant_decls, warn_nested_externs): Declared.
                   5544: 
                   5545:        * c-decl.c (pending_xref_error, c_mark_varargs):  Added return type.
                   5546: 
                   5547:        * cccp.c (main):  Added code to support the presence of -A (assertion)
                   5548:        options within CPP_PREDEFINES.
                   5549: 
                   5550:        * c-lang.c: Minor cleanups.
                   5551: 
                   5552:        * c-lex.c (check_newline):  Added support for the -g3 option.
                   5553: 
                   5554:        * dwarfout.c (type_tag):  Fixed bug in gcc Dwarf generation for
                   5555:        tagged types.
                   5556: 
                   5557:        * dwarfout.c (output_decl):  Added two pre-checks to see if nodes
                   5558:        are ERROR_MARK nodes before using them.
                   5559: 
                   5560:        * dwarfout.c (generate_new_sfname_entry):  Function added.
                   5561: 
                   5562:        * dwarfout.c (lookup_filename):  Call generate_new_sfname_entry
                   5563:        as soon as each new source filename is added to the list of
                   5564:        known filenames (thus avoiding an m68k forward-ref assembler bug).
                   5565: 
                   5566:        * dwarfout.c (dwarfout_line):  Initialize prev_file_entry_num to
                   5567:        (unsigned) -1 rather than zero to avoid bogus suppression of
                   5568:        first .debug_sfnames section entry.
                   5569: 
                   5570:        * dwarfout.c (compare_filename_entries):  Function deleted.  (It's
                   5571:        no longer needed.)
                   5572: 
                   5573:        * dwarfout.c (dwarfout_finish):  Don't generate .debug_sfnames
                   5574:        section entries here anymore.  (See lookup_filename.)
                   5575: 
                   5576:        * Makefile.in (realclean): Delete c-parse.h.
                   5577:        Delete objc-parse.output just once.
                   5578: 
                   5579: Fri Dec  6 17:49:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5580: 
                   5581:        * cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is
                   5582:        a fixed address.
                   5583:        (find_comparison_args): If we find something equivalent to a
                   5584:        fixed address, return the fixed address.
                   5585: 
                   5586:        * combine.c (try_combine): Don't access new_i2_notes if it hasn't been
                   5587:        defined (it isn't defined unless newi2pat != 0).
                   5588: 
                   5589: Fri Dec  6 16:01:02 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   5590: 
                   5591:        * rtl.h (enum reg_note): Define two new values REG_DEP_ANTI,
                   5592:        REG_DEP_OUTPUT, which are used to mark LOG_LINKS.
                   5593:        * rtl.c (reg_note_name): Likewise.
                   5594:        (add_dependence): Return void.  New parameter DEP_TYPE to indicate
                   5595:        type of dependence.
                   5596: 
                   5597:        * sched.c: Major rewrite to delete much obsolete code, correct many
                   5598:        comments, delete unused variables, etc.  Modify all callers of
                   5599:        add_dependence to pass new argument.  Significant changes are:
                   5600:        (reassign_dependence): Deleted, was unnecessary.
                   5601:        (priority): Account for type of dependence when calculating
                   5602:        priority.
                   5603:        (flush_pending_lists): New function.  Encapsulate code which makes
                   5604:        dependencies between an INSN and every insn on the
                   5605:        pending_read_insns and pending_write_insns lists.
                   5606:        (rank_for_schedule): Account for type of dependence with last
                   5607:        scheduled insn when deciding which ready insn to schedule next.
                   5608:        (launch_link): Give all birthing insns the same priority.
                   5609:        (schedule_block): Only sort the ready list once, after all ready
                   5610:        insns have been added to it.
                   5611:        (schedule_block): When deciding what REG_DEAD notes are needed on a
                   5612:        just scheduled insns, process all sets first (sched_note_set) then
                   5613:        process all uses (attach_deaths_insn).
                   5614:        (attach_deaths): Simplified by above change.
                   5615:        (sched_note_set): Likewise.
                   5616:        (update_flow_info): Renamed from update_links, since it no longer
                   5617:        does anything with LOG_LINKS.  Sched_analyze_insn creates all
                   5618:        necessary new LOG_LINKS already.
                   5619:        (schedule_insn): Delete no op move insns after reload.
                   5620: 
                   5621: Fri Dec  6 13:33:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5622: 
                   5623:        * crtstuff.c: Give permission to link with non-free programs.
                   5624: 
                   5625:        * toplev.c (flag_inhibit_size_directive): New var and -f option.
                   5626:        * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it.
                   5627:        * Makefile.in (crtbegin.o, crtend.o): Use that option.  Use -g1.
                   5628: 
                   5629: Fri Dec  6 08:42:53 1991  Ron Guilmette  (rfg at ncd.com)
                   5630: 
                   5631:        * Makefile.in (STAGESTUFF):  Added __main and _exit to support g++.
                   5632: 
                   5633:        * c-common.c (c_expand_expr_stmt):  Made return type explicit.
                   5634: 
                   5635:        * c-common.c: (get_directive_line):  Function added to support -g3.
                   5636: 
                   5637: Fri Dec  6 04:50:39 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5638: 
                   5639:        * cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed.
                   5640:        * cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P.
                   5641:        * cp-init.c (add_{friend,friends}): Ditto.
                   5642: 
                   5643: Thu Dec  5 22:31:12 1991  Jeffrey A Law  (law at super.super.org)
                   5644: 
                   5645:        * m68k.h (CONST_COSTS): Show that constants which can be easily
                   5646:        generated are less expensive than most.
                   5647: 
                   5648:        * m68k.md (movsi): Use two instruction sequences to load constants
                   5649:        which are just outside moveq's range (within 8 of moveq's range).
                   5650:        Likewise for positive even constants within twice moveq's range.
                   5651: 
                   5652: Thu Dec  5 20:17:13 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
                   5653: 
                   5654:        * config-gcc.com: Generate a file 'version.opt' which will be given
                   5655:          to the VMS linker to put the gcc version number in the image 
                   5656:          header version number field.
                   5657: 
                   5658:        * make-cc1.com: Compile c-lex.c when building gcc and objc, and
                   5659:          add c-lex.obj to the list of files given to the linker.
                   5660:          Add version.opt to the list of files given to the linker.
                   5661: 
                   5662:        * make-cccp.com: Add version.opt to the list of files given to the
                   5663:          linker.
                   5664: 
                   5665: Thu Dec  5 23:04:20 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5666: 
                   5667:        * combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM;
                   5668:        clean up comments so they agree with the code.
                   5669: 
                   5670:        * combine.c (try_combine): Correct test for when we can safely change
                   5671:        the mode of a pseudo; can't if it doesn't die in I3.
                   5672: 
                   5673:        * c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used.
                   5674:        * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed.
                   5675:        (combine_strings): Use size of `wchar_type_node' to get number of
                   5676:        bytes in wchar_t.
                   5677:        * next.h (WCHAR_TYPE_SIZE): Delete; no longer used.
                   5678: 
                   5679:        * cse.c (cse_main): Add new argument to cse_basic_block_call.
                   5680:        Don't call cse_around_loop here.
                   5681:        (cse_basic_block): Call cse_around_loop from here while we still
                   5682:        have our arrays allocated.
                   5683: 
                   5684:        * combine.c (simplify_comparison): Fix error in last change; don't
                   5685:        reference TEM before it is set.
                   5686: 
                   5687:        * toplev.c (fatal_insn_not_found): Flush all files before aborting.
                   5688: 
                   5689: Thu Dec  5 21:42:29 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5690: 
                   5691:        * objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR
                   5692:        only once.  Always pass self_decl as self to the method.
                   5693: 
                   5694: Thu Dec  5 14:52:16 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   5695: 
                   5696:        * ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h,
                   5697:        since these are complied for the target, host defines do not apply.
                   5698: 
                   5699: Thu Dec  5 14:52:24 1991  Michael Meissner  (meissner at osf.org)
                   5700: 
                   5701:        * dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If
                   5702:        not defined, define as .stabs/.stabn/.stabd respectively.  Change
                   5703:        all places emitting stabs to use the macros.
                   5704:        * cp-decl2.c: Ditto.
                   5705:        * cp-gc.c: Ditto.
                   5706:        * final.c: Ditto.
                   5707:        * varasm.c: Ditto.
                   5708:        * gcc.texinfo: Document ASM_STAB[DNS]_OP macros.
                   5709: 
                   5710: Thu Dec  5 12:03:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5711: 
                   5712:        * gcc.c (process_command): Don't put `.' on startfile_prefix.
                   5713:        Cast result of alloca.
                   5714: 
                   5715:        * config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args.
                   5716: 
                   5717:        * hp800.h, hp800.c, hp800.md, xm-hp800.h: New files.
                   5718:        * va-hp800.h: New file.
                   5719:        * gvarargs.h: Use va-hp800.h if needed.
                   5720:        * config.subr, configure: Add alternatives for hp800, hp700.
                   5721: 
                   5722: Thu Dec  5 09:35:15 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5723: 
                   5724:        * cp-search.c (note_debug_info_needed): Do the right thing for
                   5725:        static member functions.
                   5726: 
                   5727: Thu Dec  5 01:25:13 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                   5728: 
                   5729:        * version.c: Now 1.96.
                   5730: 
                   5731: Wed Dec  4 23:17:23 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5732: 
                   5733:        * reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly
                   5734:        update NEXT_TRIAL after possibly splitting an insn.
                   5735: 
                   5736: Wed Dec  4 17:03:11 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   5737: 
                   5738:        * gplus.gperf: Add throw and template keywords.  Update private,
                   5739:        protected, and public definitions.
                   5740: 
                   5741:        * print-tree.c (print_node): Add missing indentation argument to
                   5742:        print_node call for values field.
                   5743: 
                   5744: Wed Dec  4 18:39:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5745: 
                   5746:        * objc-actions.c (build_objc_method_call): Define as static.
                   5747: 
                   5748: Wed Dec  4 17:04:49 1991  Michael Meissner  (meissner at osf.org)
                   5749: 
                   5750:        * mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how
                   5751:        many pages we allocated for varrays as well as the small stuff.
                   5752:        (stabs_filename): New static to hold the special filename used for
                   5753:        passing stabs through.
                   5754:        (parse_stabs_common, parse_stabs, parse_stabn): New functions to
                   5755:        smuggle stabs through to the debugger.  Stabs must be commented out,
                   5756:        just like the other debug directives.
                   5757:        (add_local_symbol): Check hash_ptr to see if it's null before
                   5758:        storing into it, in case no name is passed.
                   5759:        (add_file): Add support for the special stabs file.
                   5760:        (copy_object): Before copying the external symbols, figure out the
                   5761:        file indexes of each of the files, and then explicitly remap the
                   5762:        original file indexes of the external symbol to be the new file
                   5763:        index.  If this isn't done, then bad file numbers can get generated
                   5764:        if a filename is repeated.
                   5765:        (various): Change the name of small_alloc to alloc_counts, since we
                   5766:        now track large memory allocations as well.
                   5767: 
                   5768:        * mips-tdump.c (toplevel): Delete unnecessary include file stamp.h.
                   5769: 
                   5770: Wed Dec  4 11:05:04 1991  Michael Collison  (collison at osf.org)
                   5771: 
                   5772:        * encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition
                   5773:        * ns32k.h: ditto
                   5774: 
                   5775:        * ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is
                   5776:        defined provide alternate definitions
                   5777: 
                   5778:        * encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide
                   5779:        alternate definition
                   5780: 
                   5781: Wed Dec  4 01:39:07 1991  Ken Raeburn  ([email protected])
                   5782: 
                   5783:        * cp-pt.c (end_template_decl): For method templates, pop the class
                   5784:        binding level before the others rather than after.
                   5785: 
                   5786:        * cp-class.c: Added DEBUG_CP_BINDING_LEVELS code.  Include cp-decl.h
                   5787:        if that symbol is defined, but don't list it in Makefile.in since
                   5788:        that's not the normal mode.
                   5789:        (pushclass): Print messages and frob indentation level.
                   5790:        (popclass): Likewise.
                   5791: 
                   5792:        * cp-spew.c (yylex): If identifier_type says PTYPENAME, and
                   5793:        following token is "<", force looking_for_typename to be
                   5794:        non-negative.
                   5795: 
                   5796:        * cp-pt.c (mangle_class_name_for_template): Drop extra spaces
                   5797:        between last parm and closing ">".  Print a message before aborting
                   5798:        if a parm type isn't handled.
                   5799: 
                   5800:        * cp-decl.c (maybe_globalize_type): Don't do it if the identifier
                   5801:        that names the type doesn't currently have a type value.
                   5802: 
                   5803: Wed Dec  4 01:06:28 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5804: 
                   5805:        * cp-decl.c (finish_enum): Call `rest_of_type_compilation' for
                   5806:        ENUMTYPE.
                   5807:        * cp-class.c (finish_struct): Ditto.
                   5808:        * cp-decl.c (pushtag): Set TYPE_STUB_DECL.
                   5809:        * cp-search.c (note_debug_info_needed): Call
                   5810:        `rest_of_type_compilation' if we notice we need debug info for TYPE.
                   5811:        * dbxout.c (dbxout_init): Fix typo in comment.
                   5812: 
                   5813:        * cp-parse.y (DOT_STAR): New token.
                   5814:        (expr_no_commas): Handle DOT_STAR expressions.
                   5815:        * cp-lex.c (real_yylex): Recognize DOT_STAR.  Also, rearrange
                   5816:        scanner to make it more efficient.
                   5817: 
                   5818:        * cp-decl.c (maybe_build_cleanup): When building cleanups, pass
                   5819:        TYPE_MAIN_VARIANT to `build_delete'.
                   5820: 
                   5821: Tue Dec  3 22:52:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   5822: 
                   5823:        * flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note
                   5824:        for the part of multi-word hard registers not needed.
                   5825: 
                   5826: Tue Dec  3 22:34:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5827: 
                   5828:        * configure: Support --objdir.
                   5829: 
                   5830:        * objc-parse.y: Get rid of many static decls.
                   5831:        Reorder all token definitions to match c-parse.y.
                   5832:        (recognize_objc_keyword): New function.
                   5833:        * c-lex.c (token_buffer): No longer static.
                   5834:        (yylex): For @, call recognize_objc_keyword.  Don't use keyword table.
                   5835:        * c-lang.c (recognize_objc_keyword): Dummy definition.
                   5836: 
                   5837:        * objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]:
                   5838:        Pass selector as arg to the method.
                   5839:        Always cast the method to a function type.
                   5840: 
                   5841:        * xm-sparc.h (alloca): If using Sun CC, include alloca.h.
                   5842:        If using GCC, define as __builtin_alloca the way other machines do.
                   5843: 
                   5844:        * cccp.c (print_containing_files): Print the nominal file names.
                   5845: 
                   5846: Tue Dec  3 16:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   5847: 
                   5848:        * jump.c (jump_optimize): If branches are expensive, convert jumps
                   5849:        around increments or decrements by one into an increment by the
                   5850:        conditional expression.
                   5851: 
                   5852:        * combine.c (simplify_comparison): Don't remove a SUBREG unless
                   5853:        it doesn't affect either operand.
                   5854: 
                   5855:        * cse.c (find_comparison_args): Rework so that we can correctly
                   5856:        fold comparisons on machines that set CC0 to the result of a 
                   5857:        condition test, not just a COMPARE.
                   5858:        (cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know
                   5859:        its mode.
                   5860: 
                   5861: Tue Dec  3 12:01:12 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   5862: 
                   5863:        * mips.md: Use AND not IOR in define_function_unit definitions.
                   5864:        Correct setting of MODE attribute in various insn patterns.
                   5865: 
                   5866: Tue Dec  3 08:31:18 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5867: 
                   5868:        * cp-spew.c (scan_tokens): Delete Dec 2 change.
                   5869:        (yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on
                   5870:        the wrong obstack.
                   5871:        (probe_obstack): New function to support the above change.
                   5872: 
                   5873:        * cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag.
                   5874:        (CLASSTYPE_ASM_WRITTEN): Deleted.
                   5875:        cp-class.c (finish_struct): Now almost always assume that classes
                   5876:        with methods are to ignored for debugging purposes.
                   5877:        cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new
                   5878:        algorithm for minimizing debug output.
                   5879: 
                   5880:        * cp-decl2.c (constructor_name): Handle case when THING is a
                   5881:        UNION_TYPE.
                   5882: 
                   5883: Tue Dec  3 06:35:38 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5884: 
                   5885:        * jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call
                   5886:        replace_regs on the REG_NOTES of COPY.
                   5887: 
                   5888:        * cp-spew.c (scan_tokens): Don't read past '='.
                   5889: 
                   5890:        * cp-call.c (compute_conversion_costs): For now, treat
                   5891:        CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the
                   5892:        difference between when we should accept it (pointers to the right
                   5893:        sort of methods) and when we shouldn't (base* to derived*
                   5894:        conversions).
                   5895: 
                   5896: Mon Dec  2 18:53:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   5897: 
                   5898:        * cse.c (cse_around_loop): Fix typo in comment.
                   5899:        * dbxout.c (dbxout_type_fields): Likewise.
                   5900: 
                   5901:        * sched.c (sched_analyze_1): Pass the second and third args of a
                   5902:        ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2.
                   5903: 
                   5904:        * combine.c (make_compound_operation): Change (lshiftrt (ashift ...))
                   5905:        to a ZERO_EXTRACT, not a SIGN_EXTRACT.
                   5906: 
                   5907: Mon Dec  2 15:09:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5908: 
                   5909:        * jump.c (jump_optimize): New arg AFTER_REGSCAN.
                   5910:        If not set, don't use duplicate_loop_exit_test.
                   5911:        * toplev.c (compile_file): Pass new arg to jump_optimize.
                   5912: 
                   5913:        * next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY.
                   5914: 
                   5915:        * xm-i86v[34].h: Renamed from xm-i860v[34].h.
                   5916:        * configure: Corresponding changes.
                   5917: 
                   5918:        * m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf.
                   5919: 
                   5920:        * t-decstatn (ld): Just copy collect2.
                   5921:        (collect): Target deleted.
                   5922:        (EXTRA_PASSES): Deleted collect.
                   5923:        (mips-tfile, mips-tdump): Depend on LIBDEPS.
                   5924:        * t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS.
                   5925:        * collect2.c (main): Run /bin/ld.
                   5926:        Use fatal_perror where appropriate.
                   5927: 
                   5928:        * objc-actions.c (build_message_expr): Fix typo.
                   5929: 
                   5930:        * configure: Add missing fi to finish last change.
                   5931: 
                   5932:        * cse.c (simplify_binary_operation): Restore missing break in case DIV.
                   5933: 
                   5934:        * sdbout.c (sdbout_init): Explicitly do nothing.
                   5935:        (sdbout_typedefs): Function deleted.
                   5936: 
                   5937: Mon Dec  2 12:504:35 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
                   5938: 
                   5939:        * config-gcc.com: Finish changeover from tm-*.h to *.h.
                   5940: 
                   5941: Sun Dec  1 05:18:32 1991  Michael Tiemann  (tiemann at cygnus.com)
                   5942: 
                   5943:        * cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't
                   5944:        memoize the entry we find.
                   5945: 
                   5946:        * cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of
                   5947:        `build_decl' if we retroactively allocate a VAR_DECL.
                   5948: 
                   5949: Sun Dec  1 00:10:18 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   5950: 
                   5951:        * configure: Convert option syntax from + to --.
                   5952:        Support --target.
                   5953: 
                   5954:        * i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted.
                   5955:        (ASM_FILE_START): Deleted.
                   5956:        (STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted.
                   5957:        (STDC_VALUE): Deleted.
                   5958: 
                   5959:        * real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode.
                   5960: 
                   5961:        * config/*.h: Renamed from tm-*.h.  #includes and comments changed.
                   5962:        * configure: Changed accordingly.
                   5963:        * t-*: tm-*.h file names changed.
                   5964: 
                   5965:        * gnulib2.c (__enable_execute_stack): Renamed function.
                   5966:        * convex.h (INITIALIZE_TRAMPOLINE): Use new name.
                   5967: 
                   5968: Sun Dec  1 08:57:45 1991  Michael Meissner  (meissner at osf.org)
                   5969: 
                   5970:        * cccp.c (main): Add cast in front of alloca for non GCC compilers.
                   5971: 
                   5972: Sat Nov 30 22:33:24 1991  Chris Smith  ([email protected])
                   5973: 
                   5974:        * config.subr: Recognize -c3*.
                   5975:        New alternatives for convex-c3*.
                   5976:        * configure: Alternatives for convex rewritten.
                   5977: 
                   5978:        * gnulib2.c (__execute_enable_stack): New function for Convex only.
                   5979: 
                   5980:        * gcc.c (do_spec_1): Use \ as quoting char.
                   5981: 
                   5982:        * convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38.
                   5983:        Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3.
                   5984:        * convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect
                   5985:        addressing if ! TARGET_INDIRECTS.
                   5986:        
                   5987:        * convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN):
                   5988:        It now works to describe machine correctly.
                   5989: 
                   5990:        * convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather
                   5991:        than longs to match usage in /usr/include.
                   5992: 
                   5993:        * convex.h (enum reg_class): Add classes SP_REGS, the stack
                   5994:        pointer, and INDEX_REGS, the remaining A_REGS.
                   5995:        (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust
                   5996:        for new classes.
                   5997:        (INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will
                   5998:        not index off the stack pointer (register 0).
                   5999: 
                   6000:        * convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE,
                   6001:        INITIALIZE_TRAMPOLINE): Define.
                   6002: 
                   6003:        * convex.h (INITIAL_FRAME_POINTER_OFFSET): Define.
                   6004: 
                   6005:        * convex.h (RTX_COSTS): Specify costs to prevent multiply
                   6006:        from being synthesized from shifts (which aren't faster).
                   6007: 
                   6008:        * convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT,
                   6009:        cc is never looked at.
                   6010: 
                   6011:        * convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX):
                   6012:        define so g++ works.
                   6013: 
                   6014:        * convex.h: If COLLECT is defined, define output macros for
                   6015:        collect to call.
                   6016: 
                   6017:        * convex*.h: If !traditional, define _LONGLONG and 64-bit
                   6018:        typedefs to prevent types.h from murdering ansi compilations.
                   6019: 
                   6020:        * convex.md (movsi): split into define_expand and two
                   6021:        anonymous define_insns, one that uses indirection and
                   6022:        one that doesn't.  TARGET_INDIRECTS selects which.
                   6023: 
                   6024:        * convex.c (output_call):  New routine.  Scan forward from call
                   6025:        to decide if AP is live, omit AP reload if not.
                   6026:        * convex.md (call, call_value): use output_call.
                   6027: 
                   6028:        * convex.md (bit manipulation peepholes): remove, now done in
                   6029:        combine.
                   6030: 
                   6031:        * convex.md (indirect_jump): Define.
                   6032: 
                   6033:        * convex.c (const_double_{high,low}_int): Just return the
                   6034:        appropriate word, remove slow float computations.
                   6035: 
                   6036:        * math-convex: New file to use builtin instructions.
                   6037: 
                   6038:        * x-convex: Use cc -pcc to bootstrap gcc.
                   6039: 
                   6040: Sat Nov 30 10:21:26 1991  Ron Guilmette (rfg at ncd.com)
                   6041: 
                   6042:        * tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering.
                   6043: 
                   6044:        * tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed 
                   6045:        so that the progbits parameter actually appears in the definitions.
                   6046: 
                   6047:        * tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION):  Adapted
                   6048:        for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP.
                   6049: 
                   6050: Sat Nov 30 07:05:06 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6051: 
                   6052:        * cp-spew.c (follows_{identifier,typename}): New arrays.
                   6053:        * cp-spew.c (init_spew): Initialize new arrays.
                   6054:        * cp-decl.c (lookup_name): takes new parameter PREFER_TYPE.
                   6055:        All callers changed.
                   6056:        * cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an
                   6057:        AGGR or ENUM.
                   6058: 
                   6059:        * cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call
                   6060:        `real_yylex', not `yylex'.  Changed other places that depended on
                   6061:        calling `real_yylex' for their input.
                   6062: 
                   6063:        * cp-spew.c (scan_tokens): Never read past '{' or ':'.  Fill the
                   6064:        token buffer with EMPTY tokens in that case.
                   6065:        (yylex): Handle EMPTY tokens.
                   6066: 
                   6067:        * cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back
                   6068:        on the input stream.
                   6069:        (START_DECLARATOR): New token.
                   6070:        (absdcl): Handle START_DECLARATOR.
                   6071:        * cp-spew.c (consume_token): Renamed from `discard_token'.
                   6072:        (struct token): Changed structure to make it smaller.
                   6073:        (spew_init): Renamed from init_spew.  Now called from init_lex.
                   6074:        (scan_tokens): Renamed from slurp_next_token.
                   6075:        Many functions reformatted to match GCC indentation style.
                   6076: 
                   6077:        * cp-lex.c (arbitrate_lookup): Don't guess in favor of type if
                   6078:        yychar is ')'.
                   6079: 
                   6080:        * cp-decl.c (lookup_name): Fixed so that all binding levels use
                   6081:        `looking_for_typename' consistently.
                   6082:        * cp-type2.c (build_functional_cast): Handle new case that we are
                   6083:        called in a context where a method is appropriate (but we parsed it
                   6084:        as a ctor call).
                   6085: 
                   6086:        * cp-call.c (CONST_HARSHNESS): Change bit that we test.
                   6087:        (convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS
                   6088:        consisently when needed.
                   6089: 
                   6090:        * cp-init.c (decl_constant_value): Keep enabled even when
                   6091:        CURRENT_FUNCTION_DECL is null.
                   6092: 
                   6093: Sat Nov 30 01:23:38 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6094: 
                   6095:        * sdbout.c (sdbout_init): Just call sdbout_one_type on each type.
                   6096: 
                   6097:        * tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP.
                   6098:        * tm-sun386.h: Likewise.
                   6099:        * tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise.
                   6100:        (ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise.
                   6101:        (ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
                   6102:        * tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE):
                   6103:        Don't end with space.
                   6104:        * tm-sun386.h, tm-bsd386.h: Likewise.
                   6105: 
                   6106:        * c-lex.h: Renamed from c-parse.h.  All #includes changed.
                   6107:        * c-parse.c, c-parse.h: Renamed from c-parse.tab.*.
                   6108:        * Makefile.in: Changed accordingly.
                   6109:        (C_OJBS, realclean, TAGS): These changed too.
                   6110: 
                   6111:        * tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS):
                   6112:        Undef before defining.
                   6113: 
                   6114:        * tm-i386v4.h: Include tm-svr4.h.
                   6115:        (CPP_PREDEFINES): Define SVR4, and several assertions.
                   6116:        (LIB_SPEC): Delete -Qy.  LINK_SPEC handles this.
                   6117:        (DBX_REGISTER_NUMBER): New macro.
                   6118: 
                   6119: Fri Nov 29 22:16:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6120: 
                   6121:        * rs6000.md: Cannot use "muls" and "muli" to do widening multiply
                   6122:        from HImode to SImode; delete the 12 patterns that try to do this.
                   6123: 
                   6124: Fri Nov 29 21:32:52 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6125: 
                   6126:        * cp-cvt.c (build_type_conversion): Don't assume that if
                   6127:        TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for
                   6128:        the given type combination is non-NULL.
                   6129: 
                   6130: Fri Nov 29 16:08:22 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6131: 
                   6132:        * crtstuff.c: New file.  Needs papers from rfg.
                   6133:        * Makefile.in (crtbegin.o, crtend.o): New targets.
                   6134: 
                   6135:        * objc-actions.c (build_message_expr): Lots of cleanups.
                   6136:        (build_objc_method_call): New subroutine.
                   6137:        Handles new option NEXT_OBJC_RUNTIME.
                   6138: 
                   6139:        * expr.c (do_jump): Any LABEL_REF is nonzero.
                   6140:        (expand_expr): Construct LABEL_REFs with Pmode.
                   6141: 
                   6142: Fri Nov 29 14:43:32 1991  Michael Meissner  (meissner at osf.org)
                   6143: 
                   6144:        * mips-tfile.c (parse_def): Change an error into a warning.
                   6145: 
                   6146:        * mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint
                   6147:        to '!' to keep reload from allocating FP registers from holding
                   6148:        excess integer values.
                   6149:        (ashift right define_splits): Fix typo, so that the long long
                   6150:        arithmetic right shifts are recognized.
                   6151:        (all define_splits): dummy out constraints, since they are not used.
                   6152: 
                   6153:        * mips.c (override_options): Allow int's in FP registers again, now
                   6154:        that ! constraints are used.
                   6155: 
                   6156: Fri Nov 29 13:20:13 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6157: 
                   6158:        * dwarfout.c (output_compile_unit_die):  Don't include the name
                   6159:        of the compiler which compiled the compiler in the AT_producer
                   6160:        string.  It goofs up comparisons of stage2 & stage3 object files.
                   6161: 
                   6162:        * c-parse.y, objc-parse.y: Don't declare position_after_white_space
                   6163:        as static; it is now in c-lex.c.
                   6164: 
                   6165: Fri Nov 29 05:15:26 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6166: 
                   6167:        * cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type
                   6168:        before storing into CLASSTYPE_DECLARED_CLASS (ref).
                   6169: 
                   6170:        * cp-decl2.c (build_push_scope): Don't let non-aggr types appear in
                   6171:        `cname::fname' expressions.
                   6172: 
                   6173:        * cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL
                   6174:        nodes of ARRAY_TYPE may resolved to fixed type.  Also handle other
                   6175:        cases of WITH_CLEANUP_EXPR.
                   6176: 
                   6177:        * cp-spew.c (frob_identifier): Handle case of a type conversion
                   6178:        operator that converts to a nested type.
                   6179: 
                   6180:        * cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is
                   6181:        permanent, build a new arglist instead of modifying it in place.
                   6182: 
                   6183:        * cp-typeck.c (convert_arguments): Add ??? to comment about virtual
                   6184:        function conversions.  ??? I don't understand what that code is
                   6185:        supposed to do anymore.
                   6186:        (comp_target_parms): If STRICT <= 0, accept types whose
                   6187:        TYPE_MAIN_VARIANTs are equal.
                   6188: 
                   6189:        * cp-call.c (convert_harshness): Revamped to handle contravariance
                   6190:        better.
                   6191:        * cp-class.h (struct candidate): Declaration moved from cp-tree.h.
                   6192: 
                   6193:        * cp-class.c (duplicate_tag_error): New function.
                   6194:        * cp-parse.y (LC): Call it if we're redefining a tag.
                   6195:        * cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL
                   6196:        if non-NULL.  Otherwise we get nonsense when we try to parse
                   6197:        inline function bodies of classes that have already been redefined.
                   6198:        * cp-lex.c (reinit_parse_for_method): If we get some text for a
                   6199:        class that's been redefined, flush the text.
                   6200:        * cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'.
                   6201: 
                   6202:        * cp-cvt.c (convert_to_integer): Only warn about anachronistic
                   6203:        conversion from int to enum if PEDANTIC is nonzero.
                   6204: 
                   6205:        * cp-typeck.c (convert_for_initialization): No longer give warning
                   6206:        messages about bitwise copy: this is currently how the default X(X&)
                   6207:        constructor is implemented.
                   6208:        * cp-init.c (expand_aggr_init_1): Ditto.
                   6209: 
                   6210:        * cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR.
                   6211:        * tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR.  Correct
                   6212:        handling of TARGET_EXPR case.
                   6213: 
                   6214:        * cp-decl.c (grok_reference_init): If DECL is permanent, make it's
                   6215:        DECL_REFERENCE_SLOT permanent as well.
                   6216: 
                   6217:        * cp-cvt.c (build_type_conversion): If PEDANTIC, give message about
                   6218:        conversions which cast away const.
                   6219: 
                   6220:        * cp-decl.c (store_return_init): If PEDANTIC, give error about named
                   6221:        return values.
                   6222: 
                   6223:        * cp-init.c (decl_constant_value): Don't return DECL_INITIAL if
                   6224:        CURRENT_FUNCTION_DECL is null or if the initializer is a
                   6225:        CONSTRUCTOR.
                   6226: 
                   6227: Thu Nov 28 05:29:52 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6228: 
                   6229:        * integrate.c (expand_inline_function): When passing objects by
                   6230:        invisible reference, correctly compute the amount of space to be
                   6231:        allocated in the pseudo-frame we create for the inline function.
                   6232: 
                   6233:        * cp-typeck.c (mark_addressable): Add call to
                   6234:        `mark_inline_for_output' that got lost in Nov 25 change.
                   6235: 
                   6236:        * cp-decl.c (push_overloaded_decl): If the value of a name is an
                   6237:        ADDR_EXPR, look inside to get the _DECL node.
                   6238: 
                   6239:        * cp-decl.c (grokdeclarator): Don't convert type of operators new
                   6240:        and delete to METHOD_TYPE; they remain FUNCTION_TYPEs.
                   6241: 
                   6242:        * function.c (expand_function_start): Set TREE_REGDECL bit on
                   6243:        RESULT_DECL if result starts life in a register.
                   6244: 
                   6245:        * c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as
                   6246:        a NOP when it or the expression inside it is of REFERENCE_TYPE.
                   6247: 
                   6248:        * cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on
                   6249:        DECL_ASSMBLER_NAME, not DECL_NAME.
                   6250: 
                   6251: Wed Nov 27 13:49:10 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   6252: 
                   6253:        * cse.c (simplify_relational_operation): Correct handling of
                   6254:        COMPARE as first argument.  Always strip it off.  Don't invert
                   6255:        return value for EQ when !HAVE_cc0.
                   6256: 
                   6257: Thu Nov 28 20:08:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6258: 
                   6259:        * gmon.c: New file.
                   6260: 
                   6261: Thu Nov 28 15:02:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6262: 
                   6263:        * combine.c (subst, case SET): Never make a paradoxical SUBREG of
                   6264:        a REG unless the SUBREG and REG occupy the same number of words.
                   6265: 
                   6266:        * emit-rtl.c: Include flags.h.
                   6267:        (operand_subword): Always look inside floating if -fpretend-float.
                   6268:        * final.c (split_double): Likewise.
                   6269:        * Makefile.in (emit-rtl.o): Includes flags.h.
                   6270: 
                   6271:        * c-lex.c (yylex): Add goto to `L' case.
                   6272: 
                   6273: Thu Nov 28 08:37:02 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                   6274: 
                   6275:        * tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be
                   6276:        used in if/else constructs.
                   6277: 
                   6278: Thu Nov 28 00:23:26 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6279: 
                   6280:        * tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS):
                   6281:        New function codes.
                   6282:        * c-decl.c (init_decl_processing): Declare the functions.
                   6283:        * expr.c (expand_builtin): Implement them.
                   6284: 
                   6285:        * gcc.c: Pass to ld all the dirs in LIBRARY_PATH:
                   6286:        (library_prefix): New list of prefixes.
                   6287:        (process_command): Put dirs from LIBRARY_PATH on that list.
                   6288:        (do_spec_1): %D outputs those dirs.
                   6289:        (link_command_spec): Use %D after passing -L options.
                   6290: 
                   6291:        * gcc.c (process_command): Don't require machine suffix
                   6292:        for dirs from COMPILER_PATH or LIBRARY_PATH.
                   6293: 
                   6294:        * cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing.
                   6295: 
                   6296:        * Use the TYPE_DECLs to drive dbx and sdb output of type tags.
                   6297:        * toplev.c (rest_of_type_compilation): New function.
                   6298:        (compile_file): Pass list of initial decls to dbxout_init, sdbout_init.
                   6299:        (various): Don't call get_*_types.
                   6300:        * dbxout.c (dbxout_init): Get initial types from that list.
                   6301:        * sdbout.c (sdbout_init): Likewise.
                   6302:        * sdbout.c, dbxout.c: Don't call get_*_types.
                   6303:        (*out_typedefs): New subroutines.
                   6304:        * c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation.
                   6305:        (pushtags): Record TYPE_STUB_DECL.
                   6306:        * tree.h (TYPE_STUB_DECL): New macro.
                   6307:        * stor-layout.c (chain_type, get_permanent_types, get_temporary_types):
                   6308:        Deleted.
                   6309:        (save_storage_status, restore_storage_status): Don't frob chains.
                   6310:        (layout_type): Don't call chain_type.
                   6311: 
                   6312:        * dbxout.c (dbxout_type_fields): Output `/'-spec after type tag
                   6313:        only if really needed.
                   6314: 
                   6315: Wed Nov 27 18:52:55 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6316: 
                   6317:        * expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case.
                   6318: 
                   6319: Wed Nov 27 23:10:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6320: 
                   6321:        * cccp.c (main): Use savestring, not strdup.
                   6322: 
                   6323: Wed Nov 27 17:10:17 1991  Michael Meissner  (meissner at osf.org)
                   6324: 
                   6325:        * mips.c (mips_load_reg3, mips_load_reg4): New global variables to
                   6326:        enable scheduling the second nop for the mfhi and mflo instructions.
                   6327:        (mips_hard_regno_mode_ok): New global array to give the results
                   6328:        of HARD_REGNO_MODE_OK for each register and mode.
                   6329:        (mips_fill_delay_slot): Instead of taking the number of nops as a
                   6330:        parameter, take an enumeration, giving what kind of delay this is.
                   6331:        If the next instruction is a label, put nops before label, not
                   6332:        after.  Add support for mflo/mfhi, which need 2 nops if the next
                   6333:        instruction would modify the hi/lo registers.
                   6334:        (mips_move_1word, mips_move_2words): mips_fill_delay_slot calling
                   6335:        sequence changes.  Pass mflo/mfhi to schedule nops.
                   6336:        (mips_move_2words): Move DImode to/from hi and lo registers is now
                   6337:        supported.
                   6338:        (function_arg): Correctly align long long parameters, just like
                   6339:        doubles.  Also correct typo in debug code.  Bug report from
                   6340:        [email protected].
                   6341:        (override_options): Initialize mips_hard_regno_mode_ok.  Restrict
                   6342:        int's from going in the FP registers, to limit the register
                   6343:        allocator from allocating them instead of using memory.  Also, make
                   6344:        the special registers (HI, LO, FPSW) only accept full sized ints, or
                   6345:        a double int for the HI:LO combination.
                   6346:        (compute_frame_size): Don't set the initialized member until reload
                   6347:        has completed, since otherwise the information may change.
                   6348: 
                   6349:        * mips.md (various): Add 64 bit integer operations for addition,
                   6350:        subtraction, negation, and, inclusive or, exclusive or, one's
                   6351:        complement, shifts, and nor.  Add 32x32->64 bit support for
                   6352:        multiply, which the compiler then uses to construct 64 bit
                   6353:        multiplies.
                   6354:        (mulsi3): Break mul into it's two instructions, and schedule the
                   6355:        two nops needed for the mflo instruction.  Don't allow an integer
                   6356:        multiplier anymore.
                   6357:        (ffssi2): Delete define_expand, and use a second clobber'ed register
                   6358:        to preserve the original input, instead of (clobber (match_dup 1)).
                   6359:        (movsi_ulw): Change mips_fill_delay_slot calling sequence.
                   6360:        (movdi_internal): Allow DImode move from HI/LO to/from GP registers.
                   6361:        (movdi define_split): Add a define_split to separate the two parts
                   6362:        of DImode register pairs when using GP registers.
                   6363:        (movdf define_split): Add a define_split to separate the two parts
                   6364:        of DFmode register pairs when using GP registers.
                   6365:        (mov??_internal): Change condition to call memory_operand, instead
                   6366:        of just checking for MEM, which disallows (subreg (MEM)) during
                   6367:        the intermediate parts of the compilation.  Reported by
                   6368:        [email protected].
                   6369:        (negsi2): Turn back into a real insn instead of just a
                   6370:        define_expand for subsi3.
                   6371:        (one_cmplsi2): Turn back into a real insn instead of just a
                   6372:        define_expand for norsi3.
                   6373:        (andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and
                   6374:        allow 32 bit constants to improve the code generated for bitfields,
                   6375:        at the expense of potentially not moving the constant out of loops.
                   6376:        (various): Add = constraint to all clobbers.
                   6377:        (fix_trunc*): Go back to old method of using two clobbers, since
                   6378:        unoptimized compiles call abort otherwise, when returning the result
                   6379:        of truncating a float as a function result.
                   6380: 
                   6381:        * tm-mips.h (delay_type): New enum to express different types of
                   6382:        delay slots.
                   6383:        (mips_load_reg3, mips_load_reg4): Declarations for more registers
                   6384:        to check for needing nops.  Used by multiply/divide to schedule
                   6385:        the two nops needed after mfhi/mflo if the next instruction would
                   6386:        clobber the register.
                   6387:        (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP
                   6388:        registers.
                   6389:        (MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode
                   6390:        patterns, in case the code is wrong.
                   6391:        (HARD_REGNO_NREGS): All FP registers use register pairs, so that
                   6392:        SF in a GP register takes only one register, and SI in a FP
                   6393:        register takes 2.
                   6394:        (HARD_REGNO_MODE_OK): Change macro to reference the array
                   6395:        mips_hard_regno_mode_ok, which is now built in override_options.
                   6396:        (CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is
                   6397:        an exact power of 2, and 'P' is now for positive numbers.
                   6398:        (PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP
                   6399:        register.
                   6400:        (PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it.
                   6401:        (FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4
                   6402:        being mentioned.  Also add a missing tab when more than one delay
                   6403:        slot.
                   6404:        (CONST_COSTS): Make all constant ints cost 0 to lower register
                   6405:        pressure according to Richard Kenner.
                   6406:        (RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS
                   6407:        costs as well.
                   6408:        (REGISTER_MOVE_COSTS): Bump costs for moving between register
                   6409:        classes, so that reload doesn't try to store int type values in the
                   6410:        floating point registers.
                   6411: 
                   6412: Wed Nov 27 15:01:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6413: 
                   6414:        * config-gcc.com: Renaming of out-vax.c.
                   6415:        * make-cc1.com: Link dbxout with all languages.  Add cp-spew.
                   6416: 
                   6417:        * cccp.c (include_defaults_array): Fix typo.
                   6418: 
                   6419:        * gstddef.h: Handle _STDDEF_H_.
                   6420: 
                   6421:        * configure.bat, Makefile.dos: New files.
                   6422: 
                   6423:        * c-lex.c: New file.  All subroutines moved here.
                   6424:        (yylex): Small diffs between C and OBJC merged.
                   6425:        * c-parse.y, objc-parse.y: Deleted from here.
                   6426:        * c-lang.c (lookup_interface): New stub.
                   6427:        * Makefile.in (c-lex.o): New rule.
                   6428:        (OBJC_OBJS, C_OBJS): Changed for new files.
                   6429: 
                   6430: Wed Nov 27 13:34:15 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   6431: 
                   6432:        * c-parse.y (yylex): Don't assume that long is 32 bits and long
                   6433:        long is 64 bits when warning for out of range integer constants,
                   6434:        and when creating a tree to represent integer constants.
                   6435:        * cp-lex.c (real_yylex): Likewise.
                   6436:        * objc-parse.y (yylex): Likewise.
                   6437: 
                   6438:        * combine.c (simplify_comparison, ASHIFT case): Prevent shift by
                   6439:        HOST_BITS_PER_INT for inequality comparisons.
                   6440: 
                   6441:        * fold-const.c (operand_equal_p): Arguments are not equal if
                   6442:        signedness differs.  Conversions don't match if signedness differs.
                   6443: 
                   6444:        * sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that
                   6445:        would require reloading by the use of conditions.
                   6446: 
                   6447:        * alloca.c (alloca): Add parens to make precedence clearer.
                   6448: 
                   6449:        * tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler
                   6450:        will bootstrap.
                   6451: 
                   6452: Wed Nov 27 09:41:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6453: 
                   6454:        * expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number
                   6455:        in safe_from_p call.
                   6456: 
                   6457:        * recog.c (indirect_operand): Correctly handle case where we have
                   6458:        a (subreg (mem X) C) after reload.
                   6459: 
                   6460: Tue Nov 26 16:24:03 1991  Ron Guilmette  (rfg at ncd.com)
                   6461: 
                   6462:        * dwarfout.c (output_enumeration_type_die): Handle a GNU C 
                   6463:        language extension: incomplete enum types.
                   6464: 
                   6465:        * dwarfout.c (output_type): Fixed bug which causes DIEs for
                   6466:        file-scope tagged types to be generated in a local-scope
                   6467:        under some conditions.
                   6468: 
                   6469:        * dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which
                   6470:        generates most of the .debug_aranges entries from dwarfout_init
                   6471:        into dwarfout_finish to avoid m68k assembler bug.
                   6472: 
                   6473:        * Makefile.in (EXTRA_PARTS): New parameter.
                   6474:        (install-common): Compile the things in EXTRA_PARTS.
                   6475:        (GCC_PASSES, GCC_PARTS): New variables.
                   6476:        (STAGESTUFF, native, enquire, enquire.o): Use them.
                   6477:        (protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X):
                   6478:        (gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise.
                   6479: 
                   6480:        * tm-svr4.h (CPP_PREDEFINES): Don't define this here.  Undef it
                   6481:        so that other files which include this one will be forced to
                   6482:        define it appropriately for the specific target and OS.
                   6483:        (CPP_SPEC): Deleted.
                   6484:        (LIB_SPEC): Add crtend.o as last thing linked in on each link-step.
                   6485:        (STARTFILE_SPEC): Add crtbegin.o as the first thing linked in.
                   6486:        (NO_DOLLAR_IN_LABEL):  Added define.  Most svr4's don't support $.
                   6487: 
                   6488:        * tm-svr4.h: Added support for the .ctors and .dtors sections
                   6489:        (as for the m88k).
                   6490:        (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros.
                   6491:        * tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE):  Deleted
                   6492:        define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not
                   6493:        try to use a dot when computing a function's size in a .size
                   6494:        directive (because Tom Wood says that 88open doesn't approve
                   6495:        of dot as an asm operand).
                   6496: 
                   6497:        * x-genix, x-i386sco, x-xenix (INSTALL): Define as cp.
                   6498: 
                   6499: Tue Nov 26 16:24:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6500: 
                   6501:        * gcc.c (default_compilers): Pass -A* to cpp.
                   6502: 
                   6503:        * Make names unique if unpacked on MSDOG.
                   6504:        * config/*.c: `out-' removed from all file names out-*.c.
                   6505:        * x-hp*: Renamed from x-hp9k*.
                   6506:        * tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h.
                   6507:        * tm-hp*.h: `9k' removed from these names.
                   6508:        * tm-isi*.h: `68' removed from these names.
                   6509:        * tm-i860b.h, tm-i860bg.h: `sd' removed.
                   6510:        * tm-i860g3.h: Renamed from tm-i860v3g.h.
                   6511:        * tm-i386sun.h: Renamed from tm-sun386i.h.
                   6512:        * tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h.
                   6513:        * tm-sun3n3.h: Was tm-sun3os3nf.h.
                   6514:        * tm-sun3n.h: Was tm-sun3-nfp.h.
                   6515:        * tm-sun2o4.h: Was tm-sun2os4.h.
                   6516:        * xm-hp320.h: Was xm-hp9k320.h.
                   6517:        * xm-i386sun.h: Was xm-sun386i.h.
                   6518:        * configure: Adjust for those renamings.
                   6519: 
                   6520:        * configure (m68000-hp-hpux*): Use xm-hp320.h.
                   6521: 
                   6522:        * stmt.c (expand_value_return): New subroutine.
                   6523:        (expand_return): Use that.
                   6524: 
                   6525:        * make-gcc.com: New name for make.com.
                   6526: 
                   6527:        * stor-layout.c (layout_record): Return list of static members.
                   6528:        (layout_type): Lay them out here.
                   6529: 
                   6530:        * expmed.c (init_expmed): Use 3 as shift count for shift_cost.
                   6531: 
                   6532:        * x-sco: File deleted.
                   6533: 
                   6534:        * print-tree.c (print_node): Always be brief for vector elts.
                   6535: 
                   6536: Tue Nov 26 07:42:41 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
                   6537: 
                   6538:        * cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC.
                   6539: 
                   6540: Mon Nov 25 21:51:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6541: 
                   6542:        * optabs.c (emit_cmp_insn): If both operands are VOIDmode,
                   6543:        put first operand into register, not second.
                   6544: 
                   6545:        * alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md:
                   6546:        Don't allow a constant as the first operand to tstxx insns.
                   6547:        * tahoe.md, vax.md: Likewise.
                   6548:        * convex.md: Remove erroneous comment on tstsi.
                   6549: 
                   6550: Mon Nov 25 20:51:00 1991  DJ Delorie  ([email protected])
                   6551: 
                   6552:        * cccp.c (main): Look in env vars to override header dir list.
                   6553:        * gcc.c (process_command): Likewise.
                   6554: 
                   6555:        * gcc.c (execute): Alternate way to get status on MSDOS.
                   6556:        Error for -pipe on MSDOS.
                   6557:        (pexecute): Alternate definition for MSDOS.
                   6558:        (find_a_file): Handle new hook EXECUTABLE_SUFFIX.
                   6559:        (EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS.
                   6560:        (P_tmpdir): Add default definition for MSDOS.
                   6561: 
                   6562: Mon Nov 25 17:18:52 1991  Michael Collison  (collison at osf.org)
                   6563: 
                   6564:        * x-encrose: New file for mmax running OSF/1.
                   6565:        * t-encrose: ditto.
                   6566: 
                   6567:        * ns32k.md (movsi): Use new constraint letters 'x' and 'y'
                   6568:        representing the frame and stack pointer.
                   6569:        (movhi,movqi): Add constraints and template code to allow moves
                   6570:        between the floating point and general purpose registers.
                   6571: 
                   6572:        * tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage
                   6573:        moves between the floating point registers and the frame and stack
                   6574:        pointer.  Also discourage moves between the fp and general registers.
                   6575:        (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS,
                   6576:        REG_CLASS_FROM_LETTER): Add two new register classes representing
                   6577:        the frame pointer and stack pointer respectively.
                   6578:        (GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a
                   6579:        base register. This causes reload to reject pseudo registers when
                   6580:        REG_OK_STRICT is defined.
                   6581: 
                   6582:        * tm-i386rose.h: New file for 386 running on OSF/1.
                   6583:        * x-i386rose: ditto
                   6584:        * t-i386rose: ditto
                   6585: 
                   6586:        * config.subr: Added case for 'osf-'.
                   6587:        * configure: Added case for i386-osfrose
                   6588: 
                   6589:        * tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing.
                   6590:        (ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined
                   6591:        nothing is passed to the assembler.
                   6592:        (TARGET_DEFAULT): Changed so that, by default, no code is generated
                   6593:        using the static base (sb) register.
                   6594:        (OVERRIDE_OPTIONS): Removed in lieu of the new debug macros
                   6595:        PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION.
                   6596:        (DEFAULT_GDB_EXTENSIONS): Define it
                   6597:        (PREFERRED_DEBUGGING_TYPE): Use it.
                   6598: 
                   6599: Mon Nov 25 17:18:52 1991  Jyrki Kuoppala  (jkp at batman.hut.fi)
                   6600: 
                   6601:        * ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1.
                   6602:        (ashlqi3): likewise.
                   6603:        (addsi3): don't use addr instead of addd on the 32532.
                   6604: 
                   6605:        * out-ns32k.c (calc_address_cost): don't assume unknown RTX codes
                   6606:        have XEXP's which are rtx's.
                   6607: 
                   6608:        * ns32k.md (movsi): don't use addr for the 32532 immed displacements.
                   6609:        (shift patterns): fixed a typo with %$%n.
                   6610: 
                   6611:        * out-ns32.c (calc_address_cost) new function.
                   6612:        tm-ns32k.h (ADDRESS_COST): call calc_address_cost.
                   6613: 
                   6614:        * out-ns32k.c (print_operand_address): use error & debug_rtx if error.
                   6615: 
                   6616:        * tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't
                   6617:        match anything on the 32532 to make negative arithmetic left
                   6618:        shifts behave consistently.
                   6619: 
                   6620:        * ns32k.md (subsf+1): don't use ajdspb on the 32532.
                   6621: 
                   6622:        * tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for
                   6623:        constraint 'I' if on 32532.
                   6624: 
                   6625:        * ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}.
                   6626: 
                   6627:        * ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532.
                   6628: 
                   6629:        * ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of
                   6630:        n for offset.
                   6631: 
                   6632:        * ns32k.md (insv-1): use only register_operand with constraint
                   6633:        "r" for operand 2, insd can't take constant offsets >= 8.
                   6634:        (pattern insv-2): added another insv-like pattern, for
                   6635:        offsettable operand.
                   6636:        (insv): constraint should be "+g".
                   6637:        (pattern before insv): installed an insv-like pattern
                   6638:        with operand 0 having register_operand and SImode.
                   6639: 
                   6640:        * out-ns32k.c (print_operand): define as a void function.
                   6641: 
                   6642:        * ns32k.md (call_value): use operands[1], not operands[0] to check
                   6643:        for CONSTANT_ADDRESS_P.
                   6644: 
                   6645:        * out-ns32k.c (print_operand): eliminate
                   6646:        PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN.
                   6647: 
                   6648:        * tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P,
                   6649:        not CONSTANT_P.
                   6650: 
                   6651:        * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT
                   6652:        is not right because displacements are not 32-bit.  Use
                   6653:        CONSTANT_ADDRESS_NO_LABEL_P instead.
                   6654: 
                   6655:        * tm-ns32k.h (output_move_double, output_shift_insn): New declarations.
                   6656: 
                   6657:        * out-ns32k.c (print_operand_address): Use fatal for errors.
                   6658: 
                   6659:        * ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40.
                   6660: 
                   6661:        * out-ns32k.c (print_operand): function moved from tm-ns32k.h.
                   6662:        Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added
                   6663:        macro PRINT_OPERAND_EXTRACT_FLOAT.
                   6664: 
                   6665:        * out-ns32k.c (print_operand_address): replaced the function with
                   6666:        a more clean version, written for gas syntax.
                   6667: 
                   6668:        * ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not
                   6669:        defined.
                   6670:        (call_value): likewise.
                   6671: 
                   6672:        * ns32k.md (pattern after ashrsi3): added % before $ so the
                   6673:        pattern works also for gas syntax.
                   6674:        (pattern after ashrhi3): likewise.
                   6675:        (pattern after ashrqi3): likewise.
                   6676:        (pattern after lshrsi3): likewise.
                   6677:        (pattern after lshrhi3): likewise.
                   6678:        (pattern after lshrqi3): likewise.
                   6679:        (pattern after rotrsi3): likewise.
                   6680:        (pattern after rotrhi3): likewise.
                   6681:        (pattern after rotrqi3): likewise.
                   6682: 
                   6683:        * ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since
                   6684:        for now we only use GAS syntax.
                   6685: 
                   6686:        * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a
                   6687:        condition in addition to CONSTANT_ADDRESS_P.
                   6688: 
                   6689:        * tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE
                   6690:        == SYMBOL_REG, add TARGET_SB to the second-part condition.
                   6691: 
                   6692:        * ns32k.md (rotrsi3): fixed a typo NEGATE->NEG
                   6693: 
                   6694:        * tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not
                   6695:        strictly according to the spec.
                   6696: 
                   6697:        * tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX
                   6698:        etc, using gas syntax.
                   6699: 
                   6700:        * out-ns32k.c: removed macro FP_REG_P.
                   6701: 
                   6702:        * tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to
                   6703:        2 since GAS syntax is the default assembler syntax now.
                   6704:        (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call
                   6705:        print_operand and print_operand_address in out-ns32k.c,
                   6706:        respectively.
                   6707: 
                   6708:        * tm-ns32k.h: New macros TARGET_SB, TARGET_PIC.
                   6709:        Dummy code for trampolines, calls fatal().
                   6710:        Macro FP_REG_P moved here from out-ns32k.c.
                   6711:        Some reorganizations of blocks.
                   6712:        68000 -> ns32k.
                   6713: 
                   6714:        * tm-ns32k.h (TARGET_VERSION) says GAS syntax.
                   6715:        (TARGET_*) added some empty lines for clarity.
                   6716: 
                   6717: Mon Nov 25 14:29:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6718: 
                   6719:        * Makefile.in (aux-output.o): Depend on insn-codes.h.
                   6720: 
                   6721:        * make-cc1.com: Handle print-rtl.c.
                   6722: 
                   6723:        * toplev.c (warn_aggregate_return): New variable.
                   6724:        (W_options): Define option to set it.
                   6725:        * flags.h: Declare it.
                   6726:        * calls.c (expand_call): Print warning if value is aggregate.
                   6727:        * function.c (init_function_start): Likewise.
                   6728: 
                   6729: Mon Nov 25 13:29:50 1991  Per Bothner  (bothner at cygnus.com)
                   6730: 
                   6731:        * cp-except.c (init_exception_processing): Fix return type of
                   6732:        longjmp (from int to void).
                   6733: 
                   6734: Mon Nov 25 13:11:51 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   6735: 
                   6736:        * rtlanal.c (refers_to_regno_p): Check for `x == 0' on repeat.
                   6737: 
                   6738:        * x-mips, xm-vms.h: Change cplus-* to cp-* in comments.
                   6739:        * x-tower (X_CFLAGS): Add missing `-'.
                   6740: 
                   6741:        * unroll.c (unroll_loop): When simplifying loops executed only once,
                   6742:        use last_loop_insn not copy_end.
                   6743: 
                   6744: Mon Nov 25 07:45:46 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
                   6745: 
                   6746:        * cp-except.c (init_exception_processing): Mark `ExceptionHandler'
                   6747:        constructor and destructor as being TREE_EXTERNAL, and mark the
                   6748:        `ExceptionHandler' type as being interface-only.
                   6749: 
                   6750:        * cp-decl.c (maybe_globalize_type): Don't test TYPE_BEING_DEFINED
                   6751:        for ENUMERAL_TYPE.
                   6752: 
                   6753:        * cp-class.c (modify_vtable_entry): Disable code which attempts to
                   6754:        encode in a vtable an indirection to another vtable entry.
                   6755: 
                   6756:        * cp-call.c (build_method_call): Convert FUNCTION to
                   6757:        DECL_MAIN_VARIANT (FUNCTION) once we are going to use it for real.
                   6758:        * cp-init.c (build_delete): Use DECL_MAIN_VARIANT (DTOR).  *
                   6759:        * cp-typeck.c (mark_addressable): Use DECL_MAIN_VARIANT (X).
                   6760: 
                   6761: Mon Nov 25 00:41:14 1991  Per Bothner  (bothner at cygnus.com)
                   6762: 
                   6763:        * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov
                   6764:        20) was a little too drastic: If it succeded, no type info was
                   6765:        emitted at all, which made for syntactically invalid stabs.
                   6766:        Instead, just set 'full=0',
                   6767:        * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a
                   6768:        little cleaner.  It *seems* to work ...
                   6769: 
                   6770: Sun Nov 24 19:32:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   6771: 
                   6772:        * sched.c (update_links): Use PUT_REG_NOTE_KIND to change REG_NOTE.
                   6773: 
                   6774: Sun Nov 24 14:53:37 1991  Ron Guilmette  (rfg at ncd.com)
                   6775: 
                   6776:        * cccp.c: Add `return 0;' statements to all do_* functions which
                   6777:        needed them to prevent spurious warnings.  Also change plain
                   6778:        `return;' statements to `return 0;' statements where appropriate.
                   6779: 
                   6780: Sun Nov 24 07:37:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6781: 
                   6782:        * cse.c (cse_insn): When making equivalences of subparts of
                   6783:        a SET, avoid putting a (hard) register in the hash table twice,
                   6784:        each time with different modes.
                   6785: 
                   6786:        * genrecog.c (write_tree_1,change_state): Don't check for a position
                   6787:        containing a '*' since we don't set it to that.
                   6788:        (main): Don't define recog_addr_dummy; no longer used.
                   6789:        * recog.c (recog_addr_dummy): No longer needed; wasn't actually used.
                   6790:        (init_recog_no_volatile, init_recog): Don't set recog_addr_dummy.
                   6791: 
                   6792:        * expmed.c (store_split_bit_field, extract_bit_field): Abort if 
                   6793:        operand_subword of target returns 0.
                   6794:        * expr.c (convert_move, move_block_from_reg, emit_move_insn): Likewise.
                   6795: 
                   6796:        * combine.c (subst, case SUBREG): Don't allow making a SUBREG of
                   6797:        a hard reg in a mode not valid for that hard reg.
                   6798:        * emit-rtl.c (gen_lowpart_common, operand_subword): Likewise.
                   6799: 
                   6800:        * expmed.c (extract_split_bit_field): Use operand_subword_force.
                   6801:        * expr.c (emit_move_insn): If operand_subword fails for non-const,
                   6802:        use operand_subword_force.
                   6803: 
                   6804:        * expmed.c (expand_mult): Pass OP0 through protect_from_queue so we can
                   6805:        use it in a REG_EQUAL note and check it for being a MEM.
                   6806: 
                   6807:        * rtl.def (SMIN, SMAX, UMIN, UMAX): New RTL codes.
                   6808:        * fold-const.c (const_binop, case MIN_EXPR, MAX_EXPR): Use MIN and MAX.
                   6809:        (fold, case MIN_EXPR, MAX_EXPR): Check for operands equal; check for
                   6810:        min (x, lowest-value-for-type) and max (x, highest-value-for-type).
                   6811:        (fold, case COND_EXPR): Look for conditionals that are equivalent
                   6812:        to ABS_EXPR, MIN_EXPR, or MAX_EXPR and convert them to the appropriate
                   6813:        expression.
                   6814:        * expr.h (smin_optab, smax_optab, umin_optab, umax_optab): New vars.
                   6815:        * gcc.texinfo (smin, smax, umin, umax): Add documentation.
                   6816:        * expr.c (expand_expr, case ABS_EXPR): Ignore ABS on unsigned types.
                   6817:        If jumps are expensive, we can do ABS with shifts and xors.
                   6818:        (expand_expr, case MIN_EXPR, MAX_EXPR): Try to do using new optabs.
                   6819:        * optabs.c (smin_optab, smax_optab, umin_optab, umax_optab):
                   6820:        Initialize new optabs.
                   6821:        * cse.c (simplify_binary_operation): New cases SMIN, SMAX, UMIN, UMAX.
                   6822:        * rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): New patterns.
                   6823:        * m88k.md (abssi2): Delete pattern; now done in expr.c.
                   6824: 
                   6825:        * rs6000.md (scc): Correct typos in last change.
                   6826: 
                   6827:        * expmed.c (expand_mult): TARGET will only be written once, so
                   6828:        function return register is OK.
                   6829:        Write a REG_EQUAL note so multiplications can be cse'ed.
                   6830: 
                   6831:        * expmed.c (emit_store_flag): Skip trying most sequences of insns
                   6832:        if branches are very cheap (BRANCH_COST == 0).
                   6833:        * expr.c (expand_expr, case COND_EXPR): Check for BRANCH_COST <= 1,
                   6834:        not equal to 1.
                   6835:        Know that emit_store_flag won't do most sequence if branches are very
                   6836:        cheap.
                   6837: 
                   6838:        * tm-vax.h (BRANCH_COST): Define to be equal to zero.
                   6839: 
                   6840: Sun Nov 24 07:07:31 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6841: 
                   6842:        * cp-decl.c (maybe_globalize_type): Don't globalize a type that's
                   6843:        being defined.
                   6844: 
                   6845: Sun Nov 24 05:08:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6846: 
                   6847:        * c-decl.c (finish_struct): Use main variant checking ANSI bitfields.
                   6848: 
                   6849:        * tm-tower-as.h (ASM_FILE_START): Use output_file_directive.
                   6850: 
                   6851:        * gcc.c (process_command): Treat `-' as file name, not option.
                   6852: 
                   6853: Sat Nov 23 20:28:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6854: 
                   6855:        * cse.c (simplify_binary_operation): Remove duplicate code for SFmode
                   6856:        and DFmode; use of REAL_VALUE_TRUNCATE means that all modes can be
                   6857:        handled with the same code.
                   6858:        Truncate result as well as inputs to computations.
                   6859: 
                   6860:        * cse.c (cse_basic_block): Allow recording of destinations in the
                   6861:        final insn of a LIBCALL block.
                   6862: 
                   6863:        * flow.c (insn_dead_p): Add new argument CALL_OK.
                   6864:        (propagate_block): Pass new arg.
                   6865:        (libcall_dead_p): Indicate that we can accept a CALL when we use
                   6866:        insn_dead_p to see if the destination of the CALL is dead.
                   6867: 
                   6868:        * genrecog.c (struct decision): Remove fields `dupcount'
                   6869:        and `reg_class' and all references; they were being set but never
                   6870:        used and are now obsolete.
                   6871: 
                   6872:        * emit-rtl.c (gen_lowpart_common, operand_subword): Don't make
                   6873:        a new REG for the function return value until we after the RTL
                   6874:        is copied for possible inlining; use a SUBREG instead.
                   6875: 
                   6876:        * combine.c (can_combine_p): Don't move insn past a volatile ref if
                   6877:        it is an `asm', even if non-volatile.
                   6878: 
                   6879:        * gmicro.md: Fix punctuation problem causing syntax error.
                   6880: 
                   6881:        * tm-rs6000.h (CONST_OK_FOR_LETTER_P): Add `O' and `P'.
                   6882:        * out-rs6000.c (reg_or_neg_short_operand): New function.
                   6883: 
                   6884:        * rs6000.md (attribute "type"): New type `delayed_compare'.
                   6885:        Add define_function_unit for delayed comparisons.
                   6886:        Mark comparison results of certain insns as being delayed for
                   6887:        longer that normal comparison results; add a new missing types
                   6888:        of `compare'.
                   6889:        (seq, sle): Remove special-cases for (const_int 0) operands; use
                   6890:        alternative with constraint of `O' instead.
                   6891:        (sltu, sgeu): Support most constants in second operand.
                   6892: 
                   6893:        * cse.c (prev_insn_cc0_mode): New variable.
                   6894:        (fold_rtx): When folding CC0, get the mode from prev_insn_cc0_mode.
                   6895:        (cse_insn): Save mode of SET of CC0 in prev_insn_cc0_mode.
                   6896: 
                   6897: Sat Nov 23 17:01:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   6898: 
                   6899:        * expmed.c (init_expmed): Make REG a pseudo, not a hard reg.
                   6900: 
                   6901:        * tm-m68k.h (RTX_COSTS): New macro.
                   6902: 
                   6903:        * varasm.c (make_decl_rtl): Get rid of pedantic warning.
                   6904: 
                   6905:        * gcc.c (link_command_spec): Delete code for handling -collect.
                   6906:        (default_compilers): Get rid of the %x for g++.
                   6907:        This is because now collect is always supposed to be run.
                   6908: 
                   6909:        * tm-vms.h (ASM_OUTPUT_COMMON): Avoid void as type in :? operator.
                   6910:        * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND):
                   6911:        Likewise.
                   6912:        * tm-vaxv.h (ASM_OUTPUT_ASCII): Declare `s' as unsigned char *.
                   6913:        * tm-crds.h (FUNCTION_EPILOGUE): Don't call FUNCTION_EXTRA_EPILOGUE.
                   6914: 
                   6915:        * configure (i386-dontknow-*, ns32k-*-*): Alternatives deleted.
                   6916:        (m68k-tti2-*): Deleted.
                   6917:        (m68k-tti-*): Renamed from m68k-tti1-*.
                   6918: 
                   6919:        * i860.md (floatsidf2): Escape the doublequotes.
                   6920: 
                   6921:        * Makefile.in (final.o): Add insn-codes.h as dep.
                   6922:        (OBJS): Add dbxout.o.
                   6923:        (C_OBJS, OBJC_OBJS): Deleted here.
                   6924:        (CPLUS_OBJS): Deleted cp-dbxout.o.
                   6925:        (cp-dbxout.o): Target deleted.
                   6926: 
                   6927: Sat Nov 23 06:33:24 1991  Michael Tiemann  (tiemann at cygnus.com)
                   6928: 
                   6929:        * cp-spew.c (yylex): Don't see TYPENAME if LOOKING_FOR_TYPENAME
                   6930:        is < 0.  Definitely see TYPENAME if LOOKING_FOR_TYPENAME > 0.
                   6931: 
                   6932:        * cp-decl.c (grokdeclarator): Any type construction that uses a
                   6933:        struct/union/enum type that is not yet defines pushes that type into
                   6934:        the global namespace.
                   6935: 
                   6936:        * cp-spew.c (discard_token): Renamed from `eat_token'.
                   6937:        Also, make all local functions static.  Some day we'll use inlining.
                   6938: 
                   6939: Thu Nov 21 16:06:14 1991  Mark Eichin  (eichin at cygnus.com)
                   6940: 
                   6941:        * Makefile.in: added rule for cp-spew.o
                   6942: 
                   6943:        * cp-parse.y (TYPENAME_SCOPE): added an action, since it is no
                   6944:        longer done in the lexer.
                   6945:        (yyprint): Took out case for TYPENAME_SCOPE.
                   6946: 
                   6947:        * cp-lex.c (real_yylex): renamed from yylex. Also all of the code
                   6948:        dealing with nested classes has been #if 0'd in favor of the code in
                   6949:        cp-spew.c.
                   6950: 
                   6951:        * cp-spew.c (New File): This calls yylex (which is now real_yylex)
                   6952:        and looks ahead as far as possible to bind up nested classes and
                   6953:        pass them on to the parser.
                   6954: 
                   6955: Thu Nov 21 18:14:11 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   6956: 
                   6957:        * out-sparc.c (output_function_epilogue): Correct parameters in
                   6958:        call to final_scan_insn, write_symbols parameter no longer exists.
                   6959: 
                   6960:        * integrate.c (save_for_inline_copying): Use GET_RTX_CLASS.
                   6961: 
                   6962: Thu Nov 21 17:44:46 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6963: 
                   6964:        * gcc.texinfo (PCC_BITFIELD_TYPE_MATTERS): Clarify that macro
                   6965:        must always be non-zero unless MEM extv/extzv/insv exist.
                   6966: 
                   6967:        * romp.md (movdi): Disable define_split when we are moving
                   6968:        between overlapping registers prior to reload to work
                   6969:        around hard-to-fix sched.c bug.
                   6970: 
                   6971: Thu Nov 21 17:14:54 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   6972: 
                   6973:        * jump.c (invert_exp): Correct typo in comment.
                   6974: 
                   6975: Thu Nov 21 15:34:27 1991  Michael Meissner  (meissner at osf.org)
                   6976: 
                   6977:        * gcc.texinfo (warning options): Make the documentation agree with
                   6978:        the code, -Wstrict-prototypes and -Wmissing-prototypes are not
                   6979:        turned on via -Wall; -Wnoparenthesis is now spelled
                   6980:        -Wno-parenthesis.
                   6981:        (option header): Mention that -W options take the no- prefix as well
                   6982:        as -f options.
                   6983: 
                   6984: Thu Nov 21 08:12:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   6985: 
                   6986:        * out-m88k.c (check_float_value): Change use of REAL_VALUE_TRUNCATE.
                   6987:        * tm-m88k.h (FLOAT_TO_INT_INTERNAL): Ditto.
                   6988:        (AS_BUG_POUND_TYPE): Simplify.
                   6989:        * tm-m88kdgux.h: Don't need AS_BUG_DOT_LABELS or AS_BUG_POUND_TYPE.
                   6990: 
                   6991: Thu Nov 21 06:47:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   6992: 
                   6993:        * rs6000.md (scc): Add missing '&' in some alternatives of constraints.
                   6994: 
                   6995:        * a29k.md (negdf2): Fix typo in constraints for SCRATCH in 29050 case.
                   6996: 
                   6997:        * real.h (REAL_VALUE_TRUNCATE): Default is to truncate to float if
                   6998:        mode size is BITS_PER_WORD instead of when mode if SFmode.
                   6999: 
                   7000: Thu Nov 21 01:58:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7001: 
                   7002:        * dbxout.c (dbxout_type): Test TYPE_BINFO before TYPE_BINFO_BASETYPES.
                   7003: 
                   7004: Thu Nov 21 01:45:53 1991  Ken Raeburn  ([email protected])
                   7005: 
                   7006:        * cp-parse.y (unary_expr): Break out `new' expressions with
                   7007:        parenthesized types into more basic forms, and handle trailing array
                   7008:        dimensions with an appropriate warning message.
                   7009: 
                   7010:        * cp-class.c (pushclass): For UPType, overload the template name.
                   7011:        (popclass): For UPType, undo the overload.
                   7012: 
                   7013:        * cp-decl.c (pop_decl_level): Don't look up DECL_NAME slot of a
                   7014:        null pointer.
                   7015:        (pushdecl_top_level): Reworked handling of shadow lists to be
                   7016:        correct.
                   7017:        (lookup_tag): Bypass redefinition error message for UPT as well as
                   7018:        for TEMPLATE_DECL.
                   7019:        (start_decl): Add template decls only to top level.  Print message
                   7020:        for non-function, non-class templates.
                   7021:        (finish_decl): Disable code that renames anonymous types; leave it
                   7022:        disabled until we figure out why it was being done in the first
                   7023:        place.
                   7024:        (grokdeclarator): Eliminate hack to deal with destructor templates.
                   7025:        Extend some code handling constructors to handle destructors as
                   7026:        well.  Deleted some unnecessary code dealing with function
                   7027:        templates.
                   7028: 
                   7029:        * cp-decl2.c (constructor_name): Treat class template decl like
                   7030:        type decl.
                   7031: 
                   7032:        * cp-lex.c (store_pending_inline): If a function is not to be
                   7033:        compiled, discard its text only if can_free flag is set.
                   7034: 
                   7035:        * cp-decl.c (start_function): For `pre-parsed' functions, only
                   7036:        set extern-inline flag if inline flag is set.
                   7037:        * cp-lex.c (do_pending_inlines): Don't set inline flag for method
                   7038:        templates, regardless of default-inline flag setting.
                   7039:        (process_next_inline): Ditto.
                   7040: 
                   7041:        * cp-method.c (dump_type): Do something semi-useful with UPT
                   7042:        nodes, instead of crashing.
                   7043:        (fndecl_as_string): For constructor and destructor, use name of
                   7044:        function rather than looking up class constructor name; should be
                   7045:        the same, and it's cheaper this way.
                   7046:        (build_overload_name): Make template-related names unique, as well
                   7047:        as unlikely to be accepted by the assembler.
                   7048: 
                   7049:        * cp-parse.y (yyprint): Handle PRE_PARSED_CLASS_DECL.
                   7050:        (template_def): In case handling destructors, pass new decl to
                   7051:        end_template_decl, rather than ungrokked call_expr node.  Rewrote
                   7052:        last derivation.
                   7053:        (scoped_typename): Don't try building from template type; it doesn't
                   7054:        work.
                   7055:        (try_for_typename): Treat typename using template parms like any
                   7056:        other typename.
                   7057: 
                   7058:        * cp-pt.c: New comment at start lists some known problems.
                   7059:        (end_template_decl): Do nothing for error_mark_node.  Check
                   7060:        DECL_CLASS_CONTEXT and DECL_EXTERNAL when setting TREE_EXTERNAL
                   7061:        field of template decl.  Don't need to pop extra class level for
                   7062:        non-operators any more, but do need to assign class context field.
                   7063:        (instantiate_member_templates): Now returns void.
                   7064:        (tsubst, case FUNCTION_DECL): Process flag fields of method as for
                   7065:        other functions.  Handle class context field.  Push decl at top
                   7066:        level only if decl context is null.
                   7067:        (tsubst, case TREE_LIST): Use via-public and via-virtual fields.
                   7068:        (do_pending_expansions): Correct handling of methods.
                   7069: 
                   7070:        * cp-pt.c (overload_template_name): If not class-level, push
                   7071:        extra binding level.  Disable check that overload hasn't already
                   7072:        been done; for now, it's needed.
                   7073:        (undo_template_name_overload): Pop it.
                   7074: 
                   7075: Thu Nov 21 00:15:33 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7076: 
                   7077:        * dbxout.c (dbxout_type_methods): Don't dereference TYPE_NAME and
                   7078:        ctor_name until after checking for non-null methods.
                   7079: 
                   7080:        * sched.c (create_reg_dead_note): New function.  Add a REG_DEAD note
                   7081:        for REG to INSN, reusing a REG_DEAD note from the dead_notes line.
                   7082:        (attach_deaths): Add quick exit for many rtx that can't contain a
                   7083:        register.  Rewrite REG_DEAD note code to use the new scheme (see
                   7084:        the Nov 1 ChangeLog entry).
                   7085:        (new_insn_dead_notes): Don't add a REG_DEAD note to an insn that
                   7086:        already has one.
                   7087:        (update_links): Must convert REG_UNUSED notes to REG_DEAD when a
                   7088:        register formerly just clobbered is now explicitly set and used in
                   7089:        the new split insns.
                   7090: 
                   7091: Wed Nov 20 18:02:38 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7092: 
                   7093:        * c-decl.c, cccp.c: Change all -Wno options to
                   7094:        -Wno- options so as to be consistent with toplev.c, and so as
                   7095:        to also be consistent with the -fno- options.
                   7096:        * objc-actions.c: Add a -Wno-selector option to match the
                   7097:        -Wselector option.
                   7098: 
                   7099:        * gcc.c (default_compilers): Pass all -W options to cpp, so that
                   7100:        -Wno options will be passed along with the -W options that it
                   7101:        understands.
                   7102:        * cccp.c (main): Accept -Wno option counterparts for every
                   7103:        existing option.
                   7104: 
                   7105: Wed Nov 20 00:03:41 1991  Michael Tiemann  (tiemann at cygnus.com)
                   7106: 
                   7107:        * cp-tree.c (lang_output_debug_info): Deleted.
                   7108:        * cp-class.c (finish_struct): Set DECL_IGNORED_P on the TYPE_DECL
                   7109:        nodes for types that should not have their debugging info written
                   7110:        out.
                   7111:        * dbxout.c (dbxout_{symbol,type}): Check DECL_IGNORED_P for
                   7112:        TYPE_DECLs of RECORD_TYPE nodes.
                   7113: 
                   7114:        * cp-decl.c (grok_op_properties): Fix bug in grokking NEW_EXPR
                   7115:        and DELETE_EXPR operators.
                   7116:        * cp-method.c (hack_operator): Deleted.
                   7117:        * cp-init.c (init_init_processing): Use `ansi_opname' for
                   7118:        {NEW,DELETE}_EXPR instead of calling hack_operator and build_opid.
                   7119:        * cp-decl2.c (grokopexpr): Deleted.
                   7120:        * cp-lex.c (build_opid): Deleted.
                   7121:        * cp-class.c (build_instantiated_decl): Deleted.
                   7122:        * All cp-* files: OP_IDENTIFIER is no longer used.
                   7123: 
                   7124:        * cp-parse.y (operator_name): For most cases, Use `ansi_opname'
                   7125:        directly instead of calling `build_opid'.
                   7126: 
                   7127: Tue Nov 19 16:02:51 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7128: 
                   7129:        * c-decl.c (xref_tag): If we find wrong kind of type, return it.
                   7130:        (lookup_tag): Fill in pending_invalid_xref_file, ..._line.
                   7131: 
                   7132:        * real.h (REAL_VALUE_TRUNCATE): New argument MODE.
                   7133:        * cse.c (simplify_unary_operation, simplify_binary_operation):
                   7134:        Pass that arg.
                   7135:        * c-parse.y, objc-parse.y, cp-lex.c (yylex): Likewise.
                   7136:        * fold-const.c (combine): Truncate floating result to fit mode.
                   7137:        (fold): Don't add 1 to float constant if that doesn't change the value.
                   7138: 
                   7139: Tue Nov 19 09:37:36 1991  Michael Meissner  (meissner at osf.org)
                   7140: 
                   7141:        * configure (ns32k-encore-osf): Restore Encore Multimax using the
                   7142:        OSF/rose object format, since the necessary files, such as
                   7143:        tm-encrose.h, are present in the distribution.
                   7144: 
                   7145: Mon Nov 18 21:38:13 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7146: 
                   7147:        * out-sparc.c (output_cbranch): Always emit a nop before a FP branch
                   7148:        to avoid illegal assembly output.
                   7149:        * sparc.md: Don't define delay slot for FP compare insns.  This was
                   7150:        meant to solve the above problem, but fails with insn scheduling.
                   7151: 
                   7152:        * sparc.md (movsi): Must accept 'f' in addition to 'r' because
                   7153:        combine can convert FP hard registers to SImode.
                   7154: 
                   7155: Mon Nov 18 13:43:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7156: 
                   7157:        * rtlanal.c (replace_regs): Correct code that prevents nested SUBREGs.
                   7158: 
                   7159: Mon Nov 18 13:43:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7160: 
                   7161:        * c-decl.c (finish_decl): Reinstall lost end_temporary_allocation.
                   7162: 
                   7163:        * tree.h (DECL_LANG_FLAG_8): Deleted.
                   7164:        * print-tree.c (print_node): Don't use it. Do print DECL_IGNORED_P.
                   7165: 
                   7166: Mon Nov 18 06:59:37 1991  Michael Tiemann  (tiemann at cygnus.com)
                   7167: 
                   7168:        * cp-decl.c (value_identifier): Gone, following c-decl.c.  Now use
                   7169:        zero DECL_NAME for this purpose.
                   7170:        * cp-typeck.c: Also affected by this change.
                   7171: 
                   7172:        * c-lang.c, objc-lang.c (lang_output_debug_info): New function.
                   7173:        * dbxout.c (dbxout_type_methods): Fix minor problems arising from
                   7174:        assuming all RECORD_TYPE are C++ RECORD_TYPE nodes.
                   7175:        (dbxout_type): Ditto.
                   7176: 
                   7177: Sun Nov 17 17:33:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7178: 
                   7179:        * tree.c (struct obstack_stack): New slots expression and rtl.
                   7180:        (push_obstacks, push_obstacks_nochange, pop_obstacks):
                   7181:        Save and restore all 4 obstack vars individually.
                   7182: 
                   7183:        * c-decl.c (start_decl): Call push_obstacks_nochange here.
                   7184:        (push_parm_decl, grokfield): Also here.
                   7185:        (finish_decl): Not here.
                   7186:        Also clean up test for whether to replace DECL_INITIAL with error mark.
                   7187: 
                   7188: Sun Nov 17 14:25:15 1991  Michael Tiemann  (tiemann at cygnus.com)
                   7189: 
                   7190:        * cp-typeck.c (c_expand_return): Be more careful about throwing
                   7191:        away only cleanup generated by 'build_functional_cast'.
                   7192: 
                   7193:        * cp-init.c (build_new): Use TRUE_TYPE instead of TYPE more
                   7194:        consistently, in case TYPE is really an ARRAY_TYPE on its own.
                   7195: 
                   7196:        * cp-dbxout.c: Gone.  Now G++ uses dbxout.c.
                   7197:        * cp-tree.h (OPERATOR_NAME_P): Changed to IDENTIFIER_OPNAME_P.
                   7198:        (OPERATOR_TYPENAME_P): Changed to IDENTIFIER_TYPENAME_P.
                   7199:        (OPERATOR_{NEW,DELETE}_FORMAT): Deleted.
                   7200:        * cp-lex.c (ansi_{opname,assopname}): New variables.  All cp-* files
                   7201:        changed to use these where comparisons against *_FORMAT were made.
                   7202:        (init_lex): Initialize `ansi_{opname,assopname}' arrays.
                   7203:        Also, update {opname,assignop}_tab grok new ANSI equivalences.
                   7204:        (build_operator_fnname): Changed to build ANSI-style overloaded
                   7205:        names.
                   7206:        * cp-dem.c (optable): Add new ANSI equivalences.
                   7207:        (cplus_demangle): Fixed to recognize new ANSI demangling.  Note that
                   7208:        old-style destructors, and possibly other codes were broken by the
                   7209:        (undocumented) 27 Oct changes.
                   7210: 
                   7211:        * cp-decl2.c (grokclassfn): Set DECL_CLASS_CONTEXT here.
                   7212:        * cp-class.c (finish_struct): Don't skip over FUNCTION_DECL that
                   7213:        already has a DECL_CLASS_CONTEXT.
                   7214: 
                   7215:        * cp-except.c (cplus_expand_end_try): Set BLOCK_HANDLER_BLOCK for
                   7216:        blocks that handle exceptions.
                   7217:        (EXCEPTION_NAME_PREFIX): Shorted to "__ex" (from "__exception").
                   7218:        (EXCEPTION_NAME_LENGTH): Reduced to 4 from 12.
                   7219: 
                   7220:        * dbxout.c (flag_minimal_debug): Define new variable that is
                   7221:        non-zero when symtab output routines can output abbreviated.
                   7222:        (dbxout_type_fields): Move code that writes out debugging info about
                   7223:        fields of RECORD_TYPE and UNION_TYPE nodes from `dbxout_type' into
                   7224:        this function. 
                   7225:        (dbxout_type_{method,method_1}): Move code from `dbxout_type' into
                   7226:        these new functions.
                   7227:        (dbxout_type): Now writes out info about basetypes.  Also, no longer
                   7228:        need to record info about types having ctors, dtors, or both.  GDB
                   7229:        now figures out what it needs to, when it needs to.
                   7230:        (dbxout_symbol): Implement special abbreviated form for C++ classes,
                   7231:        which place their names in both the struct and decl namespaces.
                   7232:        (dbxout_block): Write out special debugging stabs for exception
                   7233:        handler blocks.
                   7234: 
                   7235:        * tree.h (BLOCK_HANDLER_BLOCK): Define new flag to indicate that a
                   7236:        BLOCK is an exception handler block (a `catch' block for C++).
                   7237:        (TREE_VFIELD, DECL_IGNORED_P): New macros.
                   7238: 
                   7239: Sat Nov 16 22:21:56 1991  Jeffrey A Law  (law at super.super.org)
                   7240: 
                   7241:        * tm-m68k.h (CONST_COSTS): Integer values between -128 and 127
                   7242:        inclusive are very cheap because of moveq.  
                   7243: 
                   7244: Sat Nov 16 00:40:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7245: 
                   7246:        * Makefile.in (install-cross-tools): Avoid clobbering symlinks already
                   7247:        made.  Double the $ before the @ in the indirection script.
                   7248: 
                   7249:        * t-decstatn: New file.
                   7250:        * configure: (mips-dec-ultrix*): Use t-decstatn.
                   7251: 
                   7252:        * collect-ld: Always run collect if collect is installed.
                   7253: 
                   7254:        * collect-osf.c, enquire.c, gnulib2.c: Use gstddef.h, not stddef.h.
                   7255: 
                   7256:        * gnulib2.c (__eprintf): Undef NULL.
                   7257: 
                   7258:        * c-typeck.c (build_array_ref): Ref is volatile if array is volatile.
                   7259: 
                   7260: Fri Nov 15 19:53:41 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7261: 
                   7262:        * c-typeck.c (build_binary_op_nodefault): Delete ERROR_CODE
                   7263:        argument because it is always the same as CODE.  Add new argument
                   7264:        CONVERT_P, and call default_conversion on the operand trees if
                   7265:        true.  Rename to build_binary_op.
                   7266:        (old build_binary_op): Deleted because it is now unnecessary.
                   7267:        * c-common.c, c-convert.c, c-decl.c, c-tree.h, c-typeck.c: All
                   7268:        callers and other references to build_binary_op* fixed.
                   7269:        * c-typeck.c (new build_binary_op): Add warning message for
                   7270:        comparisons of signed and unsigned variables that won't give the
                   7271:        expected result due to unexpected sign extension.
                   7272: 
                   7273:        * expr.c (convert_move): Add TFmode support and clean up code.
                   7274:        * optabs.c (init_fixtab): Add TFmode support.
                   7275:        (init_floattab): Likewise.
                   7276:        (expand_float): Likewise.
                   7277:        (expand_fix): Likewise.
                   7278:        (init_optabs): Likewise.
                   7279: 
                   7280:        From Per Bothner:
                   7281:        * collect2.c: Define vfork as fork for USG.  Rewrite to not use
                   7282:        prototypes, so it doesn't need gcc for compilation.
                   7283:        (main): No longer uses static sized array for ld arguments, so
                   7284:        that long command lines will work.  Vfork ld instead of running
                   7285:        via popen with nm.
                   7286:        (write_hooks): Use type names not variable names in sizeof calls.
                   7287: 
                   7288: Fri Nov 15 15:01:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7289: 
                   7290:        * fold-const.c (size_int): Properly preserve old obstack settings.
                   7291:        * c-decl.c (finish_decl, grokdeclarator, xref_tag): Likewise.
                   7292:        * stor-layout.c (layout_type): Likewise.
                   7293:        * varasm.c (output_constant_def): Likewise.
                   7294:        * tree.c (push_obstacks_nochange): New function.
                   7295: 
                   7296:        * stor-layout.c (layout_type): Make size of temp type saveable.
                   7297:        * tree.c (saveable_allocation): New function.
                   7298: 
                   7299:        * configure: Comment out certain alternatives not yet updated.
                   7300:        (sparc-unicom-*, m68k-tti1-*, m68-tti2-*): New alternatives.
                   7301:        (m88k-*-v88r32*): New alternative.
                   7302:        (i386-alternate-sysv): New alternative, not sure why.
                   7303:        (sparc-*-sysv*): Commented out--not really supported.
                   7304: 
                   7305: Fri Nov 15 22:22:32 PDT 1991  Mike Stump (mrs at csun.edu)
                   7306: 
                   7307:        * configure: Recognize only canonical names.  Added missing entries
                   7308:        for some configurations that obviously have not been tested in a
                   7309:        while.
                   7310: 
                   7311:        * config.subr: Massive overhaul.  It claimed to canonicalize
                   7312:        the machine specification, but it never really did.  Now it
                   7313:        does.  In general, it is not necessary to specify the os for
                   7314:        popular machines that have a popular os, or given the os, it
                   7315:        can sometimes figure out the vendor.  Added in all the old
                   7316:        ways of specifying machines from configure.  Also added
                   7317:        support for all (before it was missing a few) of the tm-*.h
                   7318:        files.  It now supports the concept of guessing the vendor for
                   7319:        a given CPU type.  It now supports the concept of guessing the
                   7320:        os version given the vendor and/or the CPU type.  Changed the
                   7321:        default os for vax to ultrix, changed the default os for i386
                   7322:        to sco.
                   7323: 
                   7324:        * collect-ld:  New file.  It is useful when compiling C++ programs
                   7325:        on machines that use collect.  This includes the decstation.
                   7326: 
                   7327: Fri Nov 15 14:19:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7328: 
                   7329:        * out-sparc.c: Singlemove_string no longer static.
                   7330:        (emit_move_sequence): Emit sethi/low_sum insn pair for values which
                   7331:        are not arith_double_operands, was missing not.
                   7332:        * sparc.md: DImode sethi pattern now uses singlemove_string to load
                   7333:        a constant into a reg.
                   7334:        * tm-sparc.h (LEGITIMATE_CONSTANT_P): Accept anything except a
                   7335:        floating point constant.
                   7336:        Declare singlemove_string so it can be used in sparc.md.
                   7337: 
                   7338:        * jump.c (jump_optimize): Correct typos in comments.
                   7339: 
                   7340: Fri Nov 15 08:05:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7341: 
                   7342:        * out-rs6000.c (scc_comparison_operator): Allow non-FP EQ.
                   7343: 
                   7344:        * combine.c (subst, case NEG): Correct shift count in code that
                   7345:        negates ZERO_EXTRACT to SIGN_EXTRACT.
                   7346: 
                   7347: Thu Nov 14 23:03:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   7348: 
                   7349:        * genrecog.c (try_merge_1): Add big new comment.
                   7350: 
                   7351: Thu Nov 14 19:28:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7352: 
                   7353:        * m68k.md: Fix peephole that merges a stack adjust with a push to
                   7354:        use addqw instead of addql since we know we are incrementing an
                   7355:        address register (sp).
                   7356: 
                   7357:        * loop.c (scan_loop): Rework code that looks for loops starting at the
                   7358:        exit test; don't skip non-jump insns at start of loop and modernize
                   7359:        and clean up code.
                   7360: 
                   7361:        * gcc.texinfo (SECONDARY_RELOAD_CLASS): Update description to
                   7362:        show uses for both intermediate and scratch registers.
                   7363:        * reload.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Default from
                   7364:        SECONDARY_RELOAD_CLASS, if defined.
                   7365:        (HAVE_SECONDARY_RELOADS): Defined if any of the secondary reload
                   7366:        macros are defined.
                   7367:        (reload_secondary_icode, reload_{in,out}_optab): New vars.
                   7368:        * reload.c: Include insn-codes.h.
                   7369:        (find_secondary_reload): New function.
                   7370:        (push_reload): Call find_secondary_reload to process input and
                   7371:        output reloads.  Create both secondary and tertiary reloads,
                   7372:        as required.
                   7373:        * reload1.c: Include insn-codes.h.
                   7374:        (init_reload): Initialize reload_{in,out}_optab.
                   7375:        (emit_reload_insns): Handle cases where a secondary reload
                   7376:        is a scratch register and where tertiary reloads are required.
                   7377:        * Makefile.in (reload.o, reload1.o): Now include insn-codes.h.
                   7378: 
                   7379:        * tm-romp.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define to use a BASE_REGS
                   7380:        for symbolic memory locations.
                   7381:        * romp.md (reload_outsi, reload_outhi, reload_outqi): New patterns.
                   7382: 
                   7383:        * expr.c (expand_expr): Pass BRANCH_COST to do_store_flag.
                   7384:        (do_store_flag): Canonicalizations done in emit_store_flag
                   7385:        need to be done here as well.
                   7386:        Test for ffs as well as abs when seeing if scc is expensive.
                   7387:        * expmed.c (emit_store_flag): Correct cases that are open-coded:
                   7388:        Add a few missing cases and correct handling of normalizep.
                   7389:        * combine.c (simplify_shift_const, case IOR): Convert sequence
                   7390:        open-coded by emit_store_flag into LE or (neg (le ..)), as
                   7391:        appropriate.
                   7392:        (simplify_shift_const, case MINUS): Similarly, for GT.
                   7393:        (simplify_comparison): sign_bit_comparison_p now true only if
                   7394:        also comparing against constant zero.
                   7395:        (simplify_comparison, case NOT): If sign bit comparison, just
                   7396:        reverse comparison.
                   7397:        (simplify_comparison, case MINUS): Move case where we subtract
                   7398:        one from the absolute value of something to PLUS, since we
                   7399:        subtract one using a PLUS operation.
                   7400:        (simplify_comparison, case MINUS): Handle GT case done by
                   7401:        emit_store_flag.
                   7402:        (simplify_comparison, cae IOR): Similarly, for IOR.
                   7403: 
                   7404:        * tm-rs6000.h (BRANCH_COST): Define as 2.
                   7405:        * rs6000.md (scc): Allow some more cases.
                   7406:        (new scc patterns): Add numerous patterns to reflect superoptimizer
                   7407:        results for scc insns on RS/6000.
                   7408: 
                   7409: Thu Nov 14 16:42:19 1991  Michael Meissner  (meissner at osf.org)
                   7410: 
                   7411:        * mips-tfile.c (all): Change small allocation requests to use
                   7412:        separate allocation and free functions, instead of using the word8
                   7413:        union to hold each request.  In order to support this easily, a free
                   7414:        field was added to each small structure that is released.
                   7415:        (main): If debugging, print a summary of the number of small
                   7416:        allocations, frees, and the number of pages used.
                   7417:        (add_procedure, copy_objects): Stuff the pointer to the end symbol
                   7418:        into the shash chain, and use it's value to generate the new value
                   7419:        for the computed end block.  This is much safer than trying to
                   7420:        calculate this on the fly.
                   7421:        (main): Don't try to avoid using malloc by setvbuf'ing the streams
                   7422:        we use.
                   7423: 
                   7424: Wed Nov 13 23:47:10 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7425: 
                   7426:        From [email protected]:
                   7427:        * sparc.md: In DF load peephole, use operands not xoperands, so
                   7428:        that output_asm_insn will use the right values.
                   7429: 
                   7430:        * tm-sun3.h, tm-sun2os4.h: Define PTRDIFF_TYPE, SIZE_TYPE,
                   7431:        WCHAR_TYPE same as tm-sparc.h.
                   7432: 
                   7433:        * c-decl.c (finish_function): Don't clear current_function_decl
                   7434:        for nested functions.
                   7435: 
                   7436:        * dbxout.c: Include insn-config.h and reload.h.
                   7437:        (dbxout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
                   7438:        using.
                   7439:        (dbxout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
                   7440:        eliminate_regs before using.
                   7441:        * sdbout.c: Include insn-config.h and reload.h.
                   7442:        (sdbout_symbol): Pass DECL_RTL (decl) through eliminate_regs before
                   7443:        using.
                   7444:        (sdbout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through
                   7445:        eliminate_regs before using.
                   7446:        * Makefile.in: Update dependency lists for dbxout.c and sdbout.c.
                   7447: 
                   7448:        * combine.c (try_combine): Don't pass sets with (USE (MEM ...))
                   7449:        dests to reg_referenced_p.
                   7450: 
                   7451: Wed Nov 13 21:38:03 1991  John Bunda (bunda at cs.utexas.edu)
                   7452: 
                   7453:        * reload1.c (gen_input_reload): If IN is a PLUS whose second arg
                   7454:        is the same as the reload register, swap the args of the PLUS.
                   7455: 
                   7456: Wed Nov 13 14:43:09 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   7457: 
                   7458:        * tm-sparc.h (OPTIMIZATION_OPTIONS): Don't redefine options set in
                   7459:        toplev.c, only effect flag_omit_frame_pointer.
                   7460:        
                   7461:        * sparc.md: Delete obsolete sign_extract and zero_extract patterns.
                   7462:        We get better code without them.
                   7463:        (indirect_jump, tablejump): Extend indirect_jump pattern to accept
                   7464:        any address, not just a register.  Add tablejump like pattern which
                   7465:        also accepts any address.
                   7466: 
                   7467:        * unroll.c (final_biv_value): Make sure the initial value of the biv
                   7468:        is invariant if it is used after the loop.
                   7469: 
                   7470: Tue Nov 12 23:16:51 1991  Michael Meissner  (meissner at osf.org)
                   7471: 
                   7472:        * tm-mips.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Correct so
                   7473:        ASM_OUTPUT_REG_PUSH actually does a push instead of pop, and vica
                   7474:        versa.  Also make ASM_OUTPUT_REG_POP turn on .set noreorder, and
                   7475:        increment the appropriate -mstats load delay counters.
                   7476: 
                   7477: Tue Nov 12 22:53:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7478: 
                   7479:        * expr.h (BRANCH_COST): Supply default value here.
                   7480:        * jump.c (BRANCH_COST): Don't default BRANCH_COST here.
                   7481: 
                   7482:        * global-alloc.c (global_alloc): Use proper entry in eliminables
                   7483:        when searching for the frame pointer.
                   7484: 
                   7485: Tue Nov 12 22:23:36 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   7486: 
                   7487:        * expr.c: (expand_expr, MIN_EXPR case): Check for const_true_rtx
                   7488:        not const1_rtx as return value from compare_from_rtx.
                   7489:        (do_jumps_by_part_greater): Handle const0_rtx and const_true_rtx
                   7490:        return values from compare_from_rtx.
                   7491:        (do_jumps_by_part_equality, do_jumps_by_part_equality_rtx): Likewise.
                   7492: 
                   7493:        * sched.c (sched_analyze_2): Correctly handle ASM_OPERAND and
                   7494:        ASM_INPUT rtx.  Volatile and traditional asm statements are
                   7495:        assumed to use and clobber all hard registers and all memory.
                   7496:        (schedule_block): Delete code that incorrectly handles ASM_OPERAND
                   7497:        and ASM_INPUT rtx by exiting early.
                   7498: 
                   7499: Tue Nov 12 15:38:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7500: 
                   7501:        * sched.c: Introduce names for various priority values.  Reduce
                   7502:        LAUNCH_PRIORITY to avioid wrap-around in launch_link.
                   7503: 
                   7504: Tue Nov 12 14:21:52 1991  Per Bothner  (bothner at cygnus.com)
                   7505: 
                   7506:        * cp-lex.c (init_lex):  Exception-handling fixes.
                   7507:        * cp-tree.h:  Add new OPERATOR_CHARS_P that is like
                   7508:        OPERATOR_NAME_P, except if takes a (char*), not a tree.
                   7509:        * cp-dbxout.c (dbxout_type_methods):  Handle operators
                   7510:        specially when chopping prefix for minimal_debug.
                   7511: 
                   7512:        * config/tm-news.h: In PRINT_OPERAND, recognize new 68040
                   7513:        operand types.  Add definition of CPP_DEFINES for cross-compiling.
                   7514: 
                   7515: Tue Nov 12 13:11:01 1991  Michael Meissner  (meissner at osf.org)
                   7516: 
                   7517:        * protoize.c (__OSF1__ ifdef): Remove OSF/1 specific ifdefs, since
                   7518:        the problem they address has been fixed, and the ifdefs now cause
                   7519:        spurious warnings.
                   7520: 
                   7521:        * tm-mips.h (INT_TYPE_SIZE): Define.
                   7522:        (SHORT_TYPE_SIZE): Define.
                   7523:        (LONG_TYPE_SIZE): Define.
                   7524:        (LONG_LONG_TYPE_SIZE): Define.
                   7525:        (CHAR_TYPE_SIZE): Define.
                   7526:        (FLOAT_TYPE_SIZE): Define.
                   7527:        (DOUBLE_TYPE_SIZE): Define.
                   7528:        (LONG_DOUBLE_TYPE_SIZE): Define.
                   7529: 
                   7530:        * out-mips.c (block_move_load_store): New commn function to create
                   7531:        one load and store for the block move functions.  The load is
                   7532:        emitted directly, and the store is returned, to be emitted later.
                   7533:        (block_move_sequence): Call block_move_load_store.  For straight
                   7534:        line moves, have two outstanding loads before a store, for newer
                   7535:        machines that want two delay slots.
                   7536:        (block_move_loop): Call block_move_load_store.  Move 4 words per
                   7537:        loop, for a loop that moves 16 bytes in 11 cycles if aligned, and 16
                   7538:        bytes in 19 cycles if not aligned.
                   7539:        (block_move_memcpy): Change argument names for consistancy.
                   7540:        (expand_block_move): Always move address into a register, even for
                   7541:        one byte moves.  Fix bugs in calling memcpy.  If moving a large
                   7542:        constant amount of unaligned data, emit a runtime check to see if
                   7543:        the data is really aligned, and if so do an aligned move, otherwise
                   7544:        an unaligned move loop.
                   7545: 
                   7546:        * mips-tfile.c (toplevel): Make some changes, so that mips-tfile can
                   7547:        be debugged on OSF/1.
                   7548:        (efdr structure): Align identifiers in declaration.
                   7549:        (cur_proc_value): Delete variable.
                   7550:        (cur_oproc_begin): New global to record original proc .ent symbol.
                   7551:        (cur_oproc_end): New global to record original proc .end symbol.
                   7552:        (add_procedure): Set cur_oproc_begin, cur_oproc_end variables
                   7553:        instead of cur_proc_value.
                   7554:        (parse_begin, parse_end): Add check for cur_oproc_begin being set.
                   7555:        (parse_end): Use cur_oproc_end's value node for new value node.
                   7556:        (main): Add cast to free_multiple_pages call.
                   7557: 
                   7558: Tue Nov 12 08:57:39 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7559: 
                   7560:        * jump.c (jump_optimize): Merge the "if (...) x = 0;" case with
                   7561:        the "x = a; if (...) x = b;" case.
                   7562: 
                   7563: Mon Nov 11 19:27:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7564: 
                   7565:        * cp-cvt.c (convert_pointer_to): Correctly get type of a TREE_VEC
                   7566:        object.  (This patch is from someone at Cygnus.)
                   7567: 
                   7568:        * combine.c (try_combine): Add missing parens.
                   7569: 
                   7570: Mon Nov 11 19:26:24 1991  Ron Guilmette  (rfg at ncd.com)
                   7571: 
                   7572:        * c-typeck.c (build_binary_op_nodefault, convert_for_assignment):
                   7573:        A (void *) object is compatible with a function pointer if it is
                   7574:        the constant zero.
                   7575:        (build_conditional_expr): Properly check for pointers to functions.
                   7576: 
                   7577: Sun Nov 10 19:59:12 1991  Michael Meissner  (meissner at osf.org)
                   7578: 
                   7579:        * cccp.c (make_undef): Fix by off by one error.
                   7580:        (MIN, MAX): Add #undef, in case some system include file defined
                   7581:        these macros.
                   7582: 
                   7583: Sun Nov 10 10:34:17 1991  Michael Tiemann  (tiemann at cygnus.com)
                   7584: 
                   7585:        * cp-decl2.c (grokfield): Set TREE_EXTERNAL on static const
                   7586:        decls that are either uninitialized in their initial declaration,
                   7587:        or initialized by something we cannot evaluate at initial
                   7588:        declaration time.
                   7589: 
                   7590:        * cp-init.c (build_new): Make `operator new' with placement cast
                   7591:        its return type to the type of the object being allocated.
                   7592: 
                   7593:        * cp-typeck.c (commonparms): If the last element of P1 is
                   7594:        VOID_LIST_NODE, use that.
                   7595: 
                   7596:        * stor-layout.c (layout_record): Return PENDING_STATICS.
                   7597:        (layout_type): Don't commit static members to a particular mode
                   7598:        until REC has been laid out completely.
                   7599: 
                   7600: Sat Nov  9 23:16:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7601: 
                   7602:        * cccp.c (fancy_abort): Don't declare as static.
                   7603: 
                   7604: Sat Nov  9 20:38:30 1991  Michael Tiemann  (tiemann at cygnus.com)
                   7605: 
                   7606:        * cp-decl.c (push_overloaded_decl): Don't cons new decl to
                   7607:        existing ERROR_MARK_NODE.  If the old decl was erroneous, just
                   7608:        ignore it.
                   7609: 
                   7610:        * cp-call.c (ideal_candidate): Fix typo in error message.
                   7611: 
                   7612: Sat Nov  9 14:13:46 1991  Jeffrey A Law  (law at super.super.org)
                   7613: 
                   7614:        * tm-hp9k2bsd.h (MULSI3_LIBCALL): New define which avoids
                   7615:        the use of __mulsi3 for signed integer multiplication.
                   7616:        (UMULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL): Likewise.
                   7617:        (MODSI3_LIBCALL, UMODSI3_LIBCALL): Likewise.
                   7618: 
                   7619: Fri Nov  8 12:05:39 1991  Per Bothner  (bothner at cygnus.com)
                   7620: 
                   7621:        First cut at ANSI-style exception handling (using
                   7622:        syntax and semantics of Stroustrup 2nd ed).
                   7623:        THIS IS WORK IN PROGRESS!
                   7624:        * cp-tree.h:  Declare flag_ansi_exceptions.
                   7625:        * gplus.gperf:  Add 'throw' (for ANSI exception handling),
                   7626:        and update private/protected/public from (old) cp-lex.c.
                   7627:        * cp-hash.h:  New file, generated from gplus.gperf.
                   7628:        * cp-lex.c: #include cp-hash.h, instead of requiring
                   7629:        manual cut-and-paste when keywords are changed.
                   7630:        * cp-lex.c:  Commented out some extern declarations that
                   7631:        were conflicting with inlines in cp-input.c.
                   7632:        Hooks for ANSI-style exception handling.
                   7633:        * cp-parse.y:  Parse ANSI-style exception stuff.
                   7634:        * cp-decl2.c:  Define new flag flag_ansi_exceptions.
                   7635:        * cp-decl2.c (finish_table):  Off-by-one error in
                   7636:        calculating index type.
                   7637:        * clus-decl2.c (finish_vtable_vardecl):  Add missing
                   7638:        TREE_OPERAND to get dossier decl.
                   7639:        * cp-except (cplus_expand_start_except):  Allow NULL name,
                   7640:        since there is no distinguished name for ANSI exceptions.
                   7641:        * cp-except (cplus_expand_raise):  Too few
                   7642:        parameters to expand_expr; add them.
                   7643:        * cp-except.c:  New functions for ANSI exceptions:
                   7644:        cplus_exception_name, ansi_exception_object_lookup,
                   7645:        cplus_expand_throw, ansi_expand_start_catch.
                   7646:        These are heavily hacked from similar old functions.
                   7647: 
                   7648:        Try to make -fdossier work better (but more work is needed).
                   7649:        (Especially, generate fewer unneeded descriptors.)
                   7650:        * cp-class.c (add_virtual_function, finish_struct):  Do not
                   7651:        create a vtable just because of -fdossier.
                   7652:        * cp-gc.c:  Each type points to an array of fields,
                   7653:        instead of an array of pointers to fields.  Ditto for methods.
                   7654:        This saves one pointer per field or method by removing
                   7655:        unneded extra indirection.  Also other tweaks to save space.
                   7656:        * cp-decl.c (init_decl_processing):  Add length of
                   7657:        field and method arrays to descriptors, instead of
                   7658:        relying on NULL-termination (since we no longer have
                   7659:        the extra pointer array).
                   7660:        Make the parameter count and required count of
                   7661:        method descriptors be shorts.
                   7662:        * cp-method.c:  Remove no-longer-needed functions
                   7663:        build_i_desc_overload and build_m_desc_overload.
                   7664: 
                   7665:        Other C++ fixes:
                   7666:        * cp-dbxout.c (dbxout_symbol):  Class types were
                   7667:        emitting only a "t" spec which made gdb unhappy.
                   7668:        Kludged it so that it once more emits "Tt".
                   7669:        * cp-tree.c (lang_output_debug_info):  Do emit debugging
                   7670:        info if this implementation file corresponds the the
                   7671:        type's interface, even if nothing is written.
                   7672: 
                   7673: Fri Nov  8 08:18:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7674: 
                   7675:        * tm-m88k*.h: Fix comments, minor cleanups.
                   7676: 
                   7677: Thu Nov  7 16:21:05 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
                   7678: 
                   7679:        * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and
                   7680:        sub_ddmmss.
                   7681: 
                   7682: Thu Nov  7 12:47:14 1991  Michael Meissner  (meissner at osf.org)
                   7683: 
                   7684:        * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.3.
                   7685:        (PCC_BITFIELD_TYPE_MATTERS): Define this to be 1.
                   7686: 
                   7687:        * out-mips.c (block_move_loop): New function to generate a loop to
                   7688:        do a block move.
                   7689:        (block_move_call): Pass the source, destination, size as separate
                   7690:        arguments, rather than a pointer to an array of operands.
                   7691:        (expand_block_move): Change block_move_call calling sequence.
                   7692:        (expand_block_move): If moving big aligned items, generate a loop to
                   7693:        do it, rather than calling memcpy/bcopy.
                   7694:        (override_options): If -msoft-float, 'f' constraint picks GP
                   7695:        registers.
                   7696: 
                   7697:        * t-decrose (collect): Use ALL_CFLAGS instead of CFLAGS, since this
                   7698:        gets the shared library flags in x-decrose.
                   7699: 
                   7700: Thu Nov  7 07:57:36 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7701: 
                   7702:        * tm-m88k.h (MEMORY_MOVE_COST): Define.
                   7703:        (TARGET_88*): Fix.
                   7704: 
                   7705: Wed Nov  6 19:07:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7706: 
                   7707:        * a29k.md (negsf2, negdf2): Add missing CLOBBER in 29050 case.
                   7708: 
                   7709:        * jump.c (jump_optimize): When looking for a conditional jump
                   7710:        skipping an unconditional jump, be sure the conditional jump is
                   7711:        not an unconditional jump.
                   7712: 
                   7713:        * combine.c (try_combine): If we make an unconditional jump,
                   7714:        be sure it is followed by a BARRIER.
                   7715:        (subst, case SET): Convert (set (pc) (return)) to (return).
                   7716: 
                   7717: Wed Nov  6 13:41:55 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7718: 
                   7719:        * tm-m88kv3.h, xm-m88kv3.h: Renamed from *m88ksysv3*.
                   7720: 
                   7721: Wed Nov  6 09:27:16 1991  Michael Meissner  (meissner at osf.org)
                   7722: 
                   7723:        * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.2.
                   7724:        (TARGET_SWITCHES): Add -msoft-float and -mhard-float.
                   7725:        (GP_RETURN): Use GP_REG_FIRST as base of GP registers.
                   7726:        (FP_RETURN): Use FP_REG_FIRST as base of FP registers.  If
                   7727:        -msoft-float, make $2 be the return register.
                   7728:        (GP_ARG_FIRST, GP_ARG_LAST): Use GP_REG_FIRST as 1st GP reg.
                   7729:        (FP_ARG_FIRST, FP_ARG_LAST): Use FP_REG_FIRST as 1st FP reg.
                   7730: 
                   7731:        * mips.md (ffssi2, ffssi2_internal): Fix ffs builtin so that it
                   7732:        doesn't clobber the input argument by turning it into a
                   7733:        define_expand, and using a parallel operation including the
                   7734:        necessary clobber's.
                   7735:        (abssi2, ffssi2, ffssi2_internal): Use the 'd' constraint which only
                   7736:        matches the integer registers, rather than 'r' which can match
                   7737:        floating point registers as well.
                   7738: 
                   7739:        * tm-mips-news.h (CPP_SPEC): Add -Dnews7300, -Dsony_news, -Dmips,
                   7740:        and -Dhost_mips.
                   7741: 
                   7742: Wed Nov  6 08:46:54 1991  Mark Eichin  (eichin at cygnus.com)
                   7743: 
                   7744:        * cp-class.c (add_method): when adding a new constructor or
                   7745:        destructor, actually chain onto method_vec[0] rather than replacing
                   7746:        the list with the current entry.
                   7747: 
                   7748: Wed Nov  6 07:04:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7749: 
                   7750:        * expr.c (store_field): Handle case where we are storing into a BLKmode
                   7751:        field of an object that is in a register.
                   7752:        (expand_expr, case COMPONENT_REF): Handle case where we are extracting
                   7753:        a BLKmode field from an object in a register.
                   7754: 
                   7755: Tue Nov  5 22:16:39 1991  Michael Meissner  (meissner at osf.org)
                   7756: 
                   7757:        * tm-mips.h (target_flags): Delete second declaration.
                   7758:        (MASK_G0, MASK_G1, MASK_G2): Delete, since -G xx now works to set
                   7759:        the size of the small data/bss area cutoff.
                   7760:        (MASK_G012_USED, MASK_G012_NUSED): ditto.
                   7761:        (TARGET_GVALUE): ditto.
                   7762:        (TARGET_G012_USED): ditto.
                   7763:        (TARGET_SWITCHES): Delete -mGx, -mno-Gx switches.
                   7764:        (TARGET_DEFAULT): Set to 0 instead of MASK_G012_NUSED.
                   7765: 
                   7766:        * tm-decrose.h (TARGET_DEFAULT): Eliminate MASK_G012_NUSED.
                   7767: 
                   7768:        * out-mips.c (override_options): Remove support for -mGx and -mno-Gx
                   7769:        switches to set the cutoff size for small data/bss.
                   7770: 
                   7771:        * mips.md (abssi2): Add new pattern.
                   7772:        (ffssi2): Add new pattern.
                   7773: 
                   7774: Tue Nov  5 18:36:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7775: 
                   7776:        * gcc.texinfo (MEMORY_MOVE_COST): Document new macro.
                   7777:        * regclass.c (MEMORY_MOVE_COST): Default it to 2.
                   7778:        (regclass, reg_class_record): Use MEMORY_MOVE_COST, not constant 2.
                   7779:        (regclass): Look at result of single_set instead of checking again if
                   7780:        pattern is a SET.
                   7781:        * tm-rs6000.h (MEMORY_MOVE_COST): Add definition.
                   7782: 
                   7783: Tue Nov  5 17:01:05 1991  Ken Raeburn  (raeburn at cygnus.com)
                   7784: 
                   7785:        * cp-pt.c (tsubst): For char_type_node, just build variant and
                   7786:        return it.
                   7787:        (tsubst, case FUNCTION_DECL): Walk methods more efficiently.
                   7788: 
                   7789:        * cp-pt.c (overload_template_name): Push a binding level, to
                   7790:        separate template name binding from method parameters.  Check
                   7791:        identifier value slots for TYPE_DECLs, not RECORD_TYPEs.  Don't need
                   7792:        to do extra push of TYPE_DECL for template name.
                   7793:        (undo_template_name_overload): Pop it.  Don't need to explicitly
                   7794:        clear template name binding.
                   7795: 
                   7796:        * cp-ptree.c (print_lang_decl): For FIELD_DECL, don't try to
                   7797:        print fields that go off the end of the lang_decl_flags structure.
                   7798: 
                   7799:        * cp-pt.c (pop_template_decls): Don't explicitly clear out value
                   7800:        slots of identifier; let poplevel/poplevel_class do it.
                   7801: 
                   7802:        * cp-pt.c: Use build_lang_decl insteaed of build_decl for
                   7803:        all TEMPLATE_DECL and TYPE_DECL nodes.
                   7804: 
                   7805:        * cp-tree.h (make_anon_name): Declare it.
                   7806: 
                   7807:        * cp-pt.c (unify): Deleted unreachable code.
                   7808: 
                   7809:        * cp-decl.c (push_overloaded_decl): Fixed typo from merge.
                   7810:        (start_decl): Ditto.
                   7811:        (grokdeclarator, case CALL_EXPR): Remove debug_tree call
                   7812:        accidentally left in.  Handle constructor templates specially, like
                   7813:        destructor templates.  Removed some commented-out code.
                   7814:        (grokdeclarator, case SCOPE_REF): If the type is uninstantiated,
                   7815:        treat it like any other aggregate type code.
                   7816: 
                   7817:        * cp-lex.c (identifier_typedecl_value): If no binding slot from
                   7818:        the identifier is the right type decl, use the type name if it is
                   7819:        non-null, even if the name doesn't match.
                   7820:        (build_lang_decl): If new decl node is TREE_PERMANENT, make sure the
                   7821:        lang-specific info gets allocated that way too; don't assume that
                   7822:        the current obstack is permanent.
                   7823:        (copy_decl_lang_specific): If decl is TREE_PERMANENT, assert that
                   7824:        the current obstack is permanent.
                   7825: 
                   7826:        * cp-parse.y (template_def): Delete derivations that were
                   7827:        purportedly for constructors; they didn't work.
                   7828:        (notype_declarator): Deal with them here.
                   7829:        (template_instantiate_once): Copy decl node with permanent obstacks,
                   7830:        thereby clearing the chain pointer, before pushing it into top
                   7831:        level.
                   7832:        (structsp): Don't need to undo template name overload here.
                   7833:        (scoped_typename): Want TYPENAME with template type, not PTYPENAME.
                   7834: 
                   7835: Tue Nov  5 13:46:06 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7836: 
                   7837:        * sdbout.c (sdbout_init, sdbout_symbol): Don't reverse the
                   7838:        permanent types.  
                   7839: 
                   7840:        * cccp.c (make_definition): Eliminate previous change associated
                   7841:        with pretty-printing strings passed to do_define.
                   7842:        (pass_thru_directive): Move pretty-printing here.
                   7843: 
                   7844: Tue Nov  5 11:21:34 1991  Michael Meissner  (meissner at osf.org)
                   7845: 
                   7846:        * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Correctly pass -EB instead
                   7847:        of -EL, since the Sony News system is big endian not little endian.
                   7848: 
                   7849: Tue Nov  5 09:54:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7850: 
                   7851:        * tm-m88kv4.h, t-m88kv4, x-m88kv4: Renamed from *m88ksysv4*.
                   7852: 
                   7853: Tue Nov  5 06:36:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7854: 
                   7855:        * cse.c (simplify_relational_operation, unsigned comparisons): Don't
                   7856:        simplify unless mode of operand is a MODE_INT mode.
                   7857: 
                   7858:        * Makefile.in (*CFLAGS): More clearly document the purposes of each
                   7859:        of the flags.  Add X_CFLAGS and T_CFLAGS for x-* and t-* to override.
                   7860:        * x-decrose, x-hp9k320g, x-i386isc, x-m88ksysv4, x-mips, x-tower:
                   7861:        Override X_CFLAGS instead of CFLAGS or INTERNAL_CFLAGS.
                   7862:        * x-vax: Likewise.
                   7863:        * x-sco: Don't include XCFLAGS in definition of CFLAGS.
                   7864: 
                   7865:        * gstddef.h: Renamed from stddef.h.
                   7866:        * Makefile.in (USER_H, install-common-headers): Install gstddef.h as
                   7867:        stddef.h.
                   7868: 
                   7869: Mon Nov  4 17:54:04 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7870: 
                   7871:        * integrate.c (save_constants): If we are referencing a constant in
                   7872:        the constant pool in a different mode than its normal mode, make
                   7873:        a SUBREG so that we can record both modes.
                   7874:        (copy_for_inline, restore_constants): Handle these SUBREG's.
                   7875:        (copy_for_inline): Must copy a MEM if it's address contains an
                   7876:        ADDRESS (i.e., the address of a constant pool entry).
                   7877: 
                   7878:        * expr.c (expand_expr, case PLUS_EXPR): If adding constant, FP, and
                   7879:        something else, add FP to the constant and then add the other operand.
                   7880: 
                   7881:        * global-alloc.c (find_reg): If all_regs_p, use ALL_REGS, not
                   7882:        GENERAL_REGS.
                   7883:        * local-alloc.c (block_alloc): Likewise.
                   7884: 
                   7885:        * genoutput.c (gen_expand): Record all the same information as
                   7886:        for a DEFINE_INSN.
                   7887: 
                   7888:        * cse.c (simplify_binary_operation, case PLUS): Simplify expressions
                   7889:        like (a +/- b) - (a +/- c).
                   7890:        (simplify_binary_operation, case MULT): For X * (-1), try to simplify
                   7891:        the NEG before we make it.
                   7892: 
                   7893: Mon Nov  4 16:29:01 1991  Mark Eichin  (eichin at cygnus.com)
                   7894: 
                   7895:        * cp-pt.c (overload_template_name): use build_lang_decl so that
                   7896:        lang_specific gets initialized properly.
                   7897: 
                   7898:        * cp-parse.y (LC): use make_lang_type to produce complete node,
                   7899:        not just make_node.
                   7900: 
                   7901:        * cp-ptree.c (print_lang_type): return if TYPE_LANG_SPECIFIC is
                   7902:        null, since everything printed here is in lang_specific.
                   7903: 
                   7904: Mon Nov  4 16:17:48 1991  James Van Artsdalen  (james at raid.dell.com)
                   7905: 
                   7906:        * x-i386v4: New file.
                   7907:        * configure (i386-sysv4): Use it.
                   7908: 
                   7909: Mon Nov  4 12:36:09 1991  Michael Meissner  (meissner at osf.org)
                   7910: 
                   7911:        * gcc.texinfo (BRANCH_COST): Move so BRANCH_COST formats correctly.
                   7912: 
                   7913: Mon Nov  4 08:03:44 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   7914: 
                   7915:        * x-m88kdgux, x-m88ksysv4: Don't set XCFLAGS.
                   7916: 
                   7917:        * jump.c (jump_optimize):  Change "if (...) x = 0;" to use a
                   7918:        store-flag insn if jumps are expensive (BRANCH_COST).
                   7919: 
                   7920:        * tm-m88k.h (BRANCH_COST): Branches are cheap on the m88100.
                   7921:        (OVERRIDE_OPTIONS): Make m88100 the default.
                   7922:        (STORE_FLAG_VALUE): Use -1.
                   7923:        (.ctors and .dtors sections): Change section flags.
                   7924:        * m88k.md (sxx, negate sxx): Use ext and extu.  Eliminate extendsxx.
                   7925: 
                   7926: Mon Nov  4 07:19:36 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7927: 
                   7928:        * romp.md (movdf, movdi): When splitting, ensure we put in a CLOBBER
                   7929:        for a scratch register, when needed.
                   7930: 
                   7931:        * tm-a29k.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define to be 
                   7932:        compatible with those chosen by EPI.
                   7933: 
                   7934:        * tm-rs6000.h (REG_ALLOC_ORDER): Put CR registers before integer regs.
                   7935: 
                   7936:        * cse.c (simplify_relational_operation): Fix error in last change.
                   7937: 
                   7938: Sun Nov  3 12:22:41 1991  Torbjorn Granlund  (tege at sics.se)
                   7939: 
                   7940:        * longlong.h (m68020 count_leading_zeros): Fix typo in previous
                   7941:        change.
                   7942: 
                   7943: Sun Nov  3 09:25:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7944: 
                   7945:        * cse.c (simplify_relational_operation, cases GEU, LTU, GTU, LEU):
                   7946:        Simplify comparisons that have known values such as (unsigned) x < 0.
                   7947: 
                   7948:        * final.c (final_scan_insn): If we've just made a branch unconditional,
                   7949:        convert (set (pc) (return)) to (return).
                   7950:        Use const_true_rtx instead of calling gen_rtx to make it again.
                   7951: 
                   7952:        * x-romp (CC): Pass -Hnocpp to hc so it will use builtin preprocessor.
                   7953:        (INTERNAL_CFLAGS): Don't define BSTRING here.
                   7954:        * xm-romp.h (alloca): Add definition to allow use of hc's builtin.
                   7955:        (BSTRING): Define here.
                   7956: 
                   7957:        * reload1.c (spill_hard_reg): Correct typo in previous change; had
                   7958:        test backwards.
                   7959: 
                   7960:        * function.c (instantiate_virtual_regs_1, case PLUS): If can't
                   7961:        replace operand with register, try to replace all copies of operand
                   7962:        with the register in case of MATCH_DUP.
                   7963: 
                   7964:        * recog.c (validate_replace_rtx_1): Use rtx_equal_p to see if
                   7965:        things are equal.
                   7966: 
                   7967:        * genconfig.c (max_recog_operands, max_dup_operands): Remove `_flag'
                   7968:        in name since these aren't flags.
                   7969:        (max_clobbers_per_insn): Likewise.
                   7970:        (main): Default to at least 10 operands (for asm) and 1 dup operand.
                   7971: 
                   7972: Sun Nov  3 07:26:57 1991  Ron Guilmette  (rfg at ncd.com)
                   7973: 
                   7974:        * Makefile.in (gnulib1.null): Use $(GCC_FLAGS) instead
                   7975:        of $(CCLIBFLAGS).
                   7976:        (gnulib1): Don't copy gnulib1.c into a temporary .c file before
                   7977:        compiling.  That messes up the source file names in the debug info,
                   7978:        which makes it harder to debug gnulib1 problems.
                   7979: 
                   7980:        * Makefile.in (install-*): Force removal of previously installed files
                   7981:        before installing new ones (in case they got set to read-only somehow).
                   7982: 
                   7983:        * Makefile.in (uninstall): Remove protoize.1 and unprotoize.1 man
                   7984:        page files.
                   7985: 
                   7986: Sat Nov  2 22:42:06 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   7987: 
                   7988:        * out-a29k.c (output_epilog): Remove write_symbols from parameter list
                   7989:        of call to final_scan_insn.
                   7990:        * out-m88k.c (preserve_registers): Likewise.
                   7991:        * out-mips.c (function_epilogue): Likewise.
                   7992:        * out-sparc.c (output_function_epilogue, output_tail_call): Likewise.
                   7993: 
                   7994: Sat Nov  2 22:02:45 1991  Ken Raeburn  (raeburn at cygnus.com)
                   7995: 
                   7996:        * cp-search.c (push_class_decls): Added missing argument to
                   7997:        overload_template_name.
                   7998: 
                   7999:        * cp-ptree.c (print_lang_decl): Don't print lang-specific fields
                   8000:        for FIELD_DECL, since it has only the shorter flags structure.
                   8001: 
                   8002:        * cp-class.c (finish_struct_method): Fixed comment typo.
                   8003: 
                   8004:        * cp-decl.c: Add some code for debugging binding level
                   8005:        manipulations, conditionalized on DEBUG_CP_BINDING_LEVELS.
                   8006:        (debug_bindings_indentation): New var, used to maintain indentation
                   8007:        to indicate which changes are on the behalf of other routines.
                   8008:        (push_binding_level): Print debugging messages to track binding
                   8009:        level changes and call/nesting sequences.
                   8010:        (pushlevel, poplevel): Ditto.
                   8011:        (pushlevel_class): Ditto.
                   8012:        (pop_binding_level): Ditto.  Also scribble over freed binding level,
                   8013:        and don't store it for re-use.
                   8014:        (poplevel_class): Ditto.
                   8015:        * cp-decl.h (debug_bindings_indentation): Declare it.
                   8016:        * cp-pt.c (push_template_decls, pop_template_decls): Added
                   8017:        debugging fprintf calls here too.
                   8018: 
                   8019: Sat Nov  2 17:00:22 1991  Ron Guilmette  (rfg at ncd.com)
                   8020: 
                   8021:        * cp-except.c (finish_exception_decl): Change `enum debugger' to
                   8022:        `enum debug_info_type'.
                   8023:        * final.c (final_start_function, final, final_end_function,
                   8024:        output_source_line): Delete the `write_symbols' parameter.
                   8025:        Instead use the global `write_symbols' declared in flags.h.
                   8026:        * sched.c (unlink_notes, schedule_block, schedule_insns): Compare
                   8027:        `write_symbols' with NO_DEBUG rather than with zero.
                   8028:        * toplev.c (rest_of_decl_compilation, rest_of_compilation): Don't
                   8029:        pass `write_symbols' to assemble_variable, final_start_function,
                   8030:        final, final_end_function.
                   8031:        * varasm.c (assemble_variable): Delete the `write_symbols' parameter.
                   8032:        Instead use the global`write_symbols' declared in flags.h
                   8033: 
                   8034: Sat Nov  2 09:48:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8035: 
                   8036:        * caller-save.c: Don't include reload.h; not used.
                   8037:        * Makefile.in (caller-save.o): Likewise.
                   8038: 
                   8039:        * final.c (final_start_function, final_end_function, final): Change
                   8040:        enum debugger to enum debug info to finish previous change.
                   8041:        (final_scan_insn, output_source_line): Likewise.
                   8042:        * varasm.c (assemble_variable): Likewise.
                   8043: 
                   8044:        * rtlanal.c (modified_between_p, find_last_value): New functions; not
                   8045:        yet used.
                   8046:        * rtl.h (find_last_value): Declare.
                   8047: 
                   8048:        * cse.c (simplify_binary_operation): Remove comparison cases from
                   8049:        here; now in simplify_relational_operation.
                   8050: 
                   8051: Fri Nov  1 19:04:50 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8052: 
                   8053:        * rtl.h (REG_DEAD): More precisely describe when a REG_DEAD note
                   8054:        should be present.
                   8055:        * rtlanal.c (dead_or_set_regno_p): New function.
                   8056:        (dead_or_set_p): A value is dead or set only if each register in it
                   8057:        is dead or set.
                   8058:        * combine.c (reg_bitfield_target): New function.
                   8059:        (distribute_notes, case REG_DEAD): Place REG_DEAD note only if both
                   8060:        dead_or_set_p and reg_bitfield_target are false.
                   8061:        * flow.c (cc0_live): New variable; replaces following_insn_dead.
                   8062:        (propagate_block): Initialize cc0_live instead of following_insn_dead.
                   8063:        Track CC0's life just like other regs instead of using special
                   8064:        mechanism involving following_insn_dead.
                   8065:        Clear last_mem_set even when not final pass.
                   8066:        Don't call mark_used_regs on dead insns.
                   8067:        (insn_dead_p): Use cc0_live to see if a set of CC0 is dead.
                   8068:        Correctly test if set of multi-word value is needed; set if dead only
                   8069:        if none of the words are needed.
                   8070:        (libcall_dead_p): Allow CALL to be in any part of PARALLEL.
                   8071:        Use insn_dead_p to see if SET of return register is dead; old code
                   8072:        incorrectly tested multi-word registers.
                   8073:        (mark_set_1): Track whether all or only some words of a value are
                   8074:        needed; write partial REG_UNUSED note if only some words won't be
                   8075:        needed.
                   8076:        (mark_used_regs): Likewise for REG_DEAD notes.
                   8077:        Set cc0_live for a reference to CC0.
                   8078:        Don't write REG_DEAD note if register is already dead or set in INSN.
                   8079:        No longer check for unused SET_DEST since it won't be called for dead
                   8080:        insns; if a single SET's result was unneeded but the insn can't be
                   8081:        deleted, the source of the SET is live.
                   8082:        Clear last_mem_set even if not final pass.
                   8083: 
                   8084:        * reload1.c (gen_input_reload): Handle REG+MEM the same as REG+INT.
                   8085: 
                   8086:        * gcc.c (xmalloc, xrealloc): Use unsigned instead of size_t for `size'.
                   8087: 
                   8088:        * cccp.c (bcopy, bzero, bcmp): No longer static.  Only declare at
                   8089:        front of file if we are going to define them later.
                   8090: 
                   8091: Fri Nov  1 18:57:25 1991  Ron Guilmette  (rfg at ncd.com)
                   8092: 
                   8093:        * cccp.c (timebuf): Declaration moved out of `special_symbol' and
                   8094:        made global (and "static") to get values of __DATE__ and __TIME__
                   8095:        to remain constant throughout compilation.
                   8096:        (debug_output): New variable.
                   8097:        (main): Accept -g3 option and set debug_output when seen.
                   8098:        (main): Moved initializations of `outbuf' and `fp' to before call
                   8099:        to `initialize_builtins'.
                   8100:        Pass fp and &output to initialize_builtins so that it can write out
                   8101:        artificial #define lines for builtin symbols.
                   8102:        Call `output_line_directive' before doing each make_define or
                   8103:        make_undef so that when `debug_output' is in effect, we'll
                   8104:        get #line 0 directives before each artificial #define or #undef.
                   8105:        (special_symbol): Initialization of `timebuf' deleted from here.
                   8106:        (initialize_builtins): Initialize timebuf here.
                   8107:        (pass_thru_directive): New function.
                   8108:        (do_define, do_undef): Use `pass_thru_directive' for "precompilation"
                   8109:        of header files.
                   8110:        Call `pass_thru_directive' when -g3 option used.
                   8111:        (initialize_builtins): Generate artificial #define directives (in the
                   8112:        output) to represent the values of all builtin symbols whose defs
                   8113:        can't change during compilation.
                   8114:        (make_undef): Added output buffer param so that make_undef could let
                   8115:        do_undef do output to stdout.
                   8116:        Call do_undef with a real output buffer.
                   8117:        (make_definition): Likewise.
                   8118:        Many minor changes to get strings passed to do_define to always look
                   8119:        like correctly formed #define directives.
                   8120: 
                   8121:        * c-decl.c (store_parm_decls): Remove non-params from the list before
                   8122:        checking to see if the type of any element of the list is complete.
                   8123:        (pushlevel):  Fixed bug which caused scope of tagged types to be
                   8124:        incorrectly assigned to the outermost {} block of functions rather
                   8125:        than to the outermost binding contours of functions.
                   8126:        (pushtag):  Revised to clarify code used to find applicable
                   8127:        binding level for a tagname.
                   8128:        Set TYPE_CONTEXT of new tagged type so that dwarfout.c can tell
                   8129:        file-scope tagged types from non-file-scope tagged types.
                   8130:        Create a NULL-named TYPE_DECL node for each new tagged type
                   8131:        (even incomplete ones).
                   8132:        (finish_struct, finish_enum): Don't create NULL-named
                   8133:        TYPE_DECL nodes for complete tagged types.  (This is now done in
                   8134:        `pushtag' for *all* new tagged type declarations and definitions.)
                   8135: 
                   8136:        * toplev.c (compile_file):  Adjust conditions under which
                   8137:        `dwarfout_file_scope_decl' is called during final traversal of
                   8138:        the chain of file-scope decls so that it is called also for
                   8139:        file-scope TYPE_DECLs.
                   8140:        (rest_of_decl_compilation):  Deleted call to `dwarfout_file_scope_decl'
                   8141:        for file-scope TYPE_DECLs; call `dwarfout_file_scope_decl' instead of
                   8142:        `dwarfout_file_scope_symbol'.
                   8143: 
                   8144:        * dbxout.c, sdbout.c, flags.h, toplev.c:  Change DEBUG_LEVEL_* to
                   8145:        DINFO_LEVEL_* to prevent possible confusion about meaning.
                   8146: 
                   8147:        * flags.h, toplev.c: (enum debug_info_type):  Renamed type from
                   8148:        `debugger' and cleaned up definition of type (including deletion
                   8149:        of useless EXTENDED_DBX_DEBUG code).
                   8150:        (use_gdb_dbx_extensions): Make declarations conditional on
                   8151:        DBX_DEBUGGING_INFO being defined.
                   8152: 
                   8153:        * out-i860.c (output_fp_move_double, find_addr_reg):  Add return stmts
                   8154:        to avoid warnings when compiling with -Wreturn-type.
                   8155:        (output_delayed_branch):  Fix test for CONST_INT values which must be
                   8156:        loaded in two instructions (as two halves).
                   8157:        (function_epilogue):  Remove ASM_OUTPUT_EPILOGUE_SUFFIX.  (Superceeded
                   8158:        by ASM_DECLARE_FUNCTION_SIZE in varasm.c.)
                   8159: 
                   8160:        * xm-i386.h (i386): Define in case the native host compiler doesn't.
                   8161: 
                   8162:        * tm-svr4.h (SVR4): Define this rather than SVR4_target.
                   8163:        (ASM_FINAL_SPEC): Support the -pipe option.
                   8164:        (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME): Allow easy
                   8165:        redefinition of the syntax for second operand of .type.
                   8166:        (ASM_DECLARE_FUNCTION_SIZE): Fix line continuations.
                   8167: 
                   8168: Fri Nov  1 14:14:14 1991  Michael Meissner  (meissner at osf.org)
                   8169: 
                   8170:        * out-mips.c (mips_asm_file_end): Generate correct code if the user
                   8171:        uses asm("name").  Patch from [email protected].
                   8172: 
                   8173:        * mips-tfile.c (init_file initialization): Fix #ifdef
                   8174:        BYTES_BIG_ENDIAN to be #if BYTES_BIG_ENDIAN, to allow the DECstation
                   8175:        to work again.
                   8176:        (toplevel): Remove declarations of internal library functions,
                   8177:        _flsbuf, _filbuf.
                   8178: 
                   8179: Thu Oct 31 14:59:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
                   8180: 
                   8181:        * longlong.h (m68020 count_leading_zeros): Use %b for offset and
                   8182:        width syntax for bfffo instruction.
                   8183: 
                   8184: Thu Oct 31 05:45:54 1991  Ken Raeburn  ([email protected])
                   8185: 
                   8186:        * cp-decl.c (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Replaced
                   8187:        uses of macros with their expansions, and deleted the macros.
                   8188: 
                   8189: Wed Oct 30 12:45:33 1991  Ron Guilmette  (rfg at ncd.com)
                   8190: 
                   8191:         * dwarfout.c, dwarf.h, README.DWARF: Replacement files that bring
                   8192:        the Dwarf implementation up to that defined by draft 5 of the
                   8193:        UI/PLSIG Dwarf specification.
                   8194: 
                   8195: Wed Oct 30 10:50:07 1991  Michael Meissner  (meissner at osf.org)
                   8196: 
                   8197:        * objc-parse.y (yylex): Cast short types to int before shifting, to
                   8198:        avoid bogus warnings from the MIPS C compiler.
                   8199: 
                   8200:        * cccp.c (fancy_abort): Make this global again, so that
                   8201:        -Dabort=fancy_abort will not cause a link error, because obstack.c
                   8202:        contains a reference to abort.
                   8203: 
                   8204: Wed Oct 30 07:38:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8205: 
                   8206:        * SYSCALLS.c (abort): Undefine first.
                   8207: 
                   8208:        * xm-m88k.h (HOST_WORDS_BIG_ENDIAN): Define it.
                   8209:        * out-m88k.c (output_and): Choose "clr" last.
                   8210: 
                   8211: Tue Oct 29 22:49:47 1991  Michael Meissner  (meissner at osf.org)
                   8212: 
                   8213:        * tm-mips.h (num_refs): New global array.
                   8214:        (mips_count_memory_refs): New function decl.
                   8215: 
                   8216:        * out-mips.h (num_refs): New global array to count number of 1, 2,
                   8217:        or 3 instruction data references with -mstats.
                   8218:        (mips_count_memory_refs): New function decl to determine whether a
                   8219:        data memory reference uses 1, 2, or 3 instructions.
                   8220:        (mips_move_1word, mips_move_2words): Call mips_count_memory_refs
                   8221:        as appropriate.
                   8222:        (function_epilogue): Print number of 1, 2, and 3 instruction
                   8223:        memory references if -mstats.
                   8224: 
                   8225:        * mips.md (movsi_ulw, movsi_usw): Call mips_count_memory_refs if
                   8226:        needed.
                   8227: 
                   8228: Tue Oct 29 05:14:27 1991  Ken Raeburn  (raeburn at cygnus.com)
                   8229: 
                   8230:        * cp-parse.y (template_def): Don't pass bogus declspecs to
                   8231:        start_decl.
                   8232: 
                   8233:        * cp-pt.c (tsubst, case FUNCTION_DECL): Build new argument list
                   8234:        from method template, instead of retaining the old one.
                   8235: 
                   8236: Tue Oct 29 00:44:51 1991  Ken Raeburn  (raeburn at cygnus.com)
                   8237: 
                   8238:        * cp-class.c (finish_struct): Skip type fields if they are
                   8239:        template names bound to their expansions.
                   8240: 
                   8241:        * cp-decl.c (binding_levels_sane): Define only if PARANOID; use a
                   8242:        macro returning 1 otherwise.  Check class_binding_level stack for
                   8243:        consistency also.
                   8244:        (pushdecl): Verify that bindings pushed at global scope are in
                   8245:        permanent obstack storage.
                   8246:        (start_decl): While processing_template_decl, don't also need to
                   8247:        verify that the decl uses the template parameters.  For method
                   8248:        templates, construct proper method type for result.  TREE_EXTERNAL
                   8249:        flag for methods should be cleared if DECL_EXTERNAL is clear.
                   8250:        (grokdeclarator, case CALL_EXPR): Intercept destructor templates,
                   8251:        which have a different internal form, and convert them to a form
                   8252:        that can be recognized.
                   8253: 
                   8254:        * cp-decl2.c (grokclassfn): Include length of class name when
                   8255:        creating assembler name for destructor; otherwise ambiguities
                   8256:        result.
                   8257: 
                   8258:        * cp-lex.c (identifier_typedecl_value): New fn; scans bindings of
                   8259:        identifier for a given type decl; falls back to name of type.
                   8260:        * cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Call it.
                   8261: 
                   8262:        * cp-method.c (fndecl_as_string): Print constructor_name of type
                   8263:        for constructor and destructor, not type name.
                   8264: 
                   8265:        * cp-parse.y (template_def): Don't output warning about missing
                   8266:        type and storage class, since this gets printed for destructor
                   8267:        templates.
                   8268:        (notype_declarator): Accept '~' PTYPENAME.
                   8269:        (scoped_typename): Want a PTYPENAME, not TYPENAME.  Build a
                   8270:        SCOPE_REF node instead of calling resolve_scope_to_name.
                   8271: 
                   8272:        * cp-pt.c (instantiate_member_templates): New fn.  Instantiates
                   8273:        members associated with template for a given template class.
                   8274:        * cp-method.c (template_instantiate_once): Call it.
                   8275: 
                   8276:        * cp-pt.c (end_template_decl): Catch destructor templates that
                   8277:        are being passed through without being converted to TEMPLATE_DECL
                   8278:        nodes; convert them now.  Copy argument list for function template
                   8279:        into permanent storage.
                   8280:        (lookup_template_class): Supply IDENTIFIER_TEMPLATE data for new
                   8281:        anonymous type name.
                   8282:        (tsubst, case FUNCTION_DECL): Improve method lookup code.
                   8283:        (tsubst): Use hash table and build_cplus_* functions for building
                   8284:        new nodes when possible, so equality tests are easier.  Extend
                   8285:        FUNCTION_TYPE case to handle METHOD_TYPE as well.
                   8286:        (instantiate_template): Don't do anything for error_mark_node.
                   8287:        (do_pending_expansions): Keep expansions not used in queue to check
                   8288:        again later.
                   8289: 
                   8290:        * cp-tree.def: Fix up some comments relating to PT-related types.
                   8291: 
                   8292:        * tree.c (init_tree_codes): Now void, in agreement with decl
                   8293:        elsewhere.
                   8294: 
                   8295: Mon Oct 28 22:07:44 1991  Jeffrey A Law  (law at b117.super.org)
                   8296: 
                   8297:        * output.h (current_function_uses_pic_offset_table): Declare here
                   8298:        so that out-*.c can see it.
                   8299: 
                   8300:        * tm-m68k.h (FINALIZE_PIC): New macro.
                   8301:        (PIC_OFFSET_TABLE_REGNUM): New macro.  Defines which address
                   8302:        register is used to hold the offset table for PIC.
                   8303:        (CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM be
                   8304:        fixed when generating position independent code.
                   8305: 
                   8306:        * out-m68k.c (finalize_pic): New function.  
                   8307:        (output_function_prologue): If generating position independent
                   8308:        code output assembler text to load the pic_offset_table register.
                   8309: 
                   8310: Mon Oct 28 10:02:36 1991  Michael Meissner  (meissner at osf.org)
                   8311: 
                   8312:        * toplev.c (main): If -G is used, set g_switch_set to true, and set
                   8313:        g_switch_value to be the integer value of it's argument, for use in
                   8314:        the MIPS port to determine whether a static or global item goes into
                   8315:        the normal data area, or into the small data area.
                   8316: 
                   8317:        * out-mips.c (g_switch_set, g_switch_value): Delete these global
                   8318:        variables, since toplev.c now defines them.
                   8319: 
                   8320:        * tm-mips.h (EXTRA_INT_OPTIONS): Delete macro which is no longer
                   8321:        used in internal OSF patches to provide -G xx support.
                   8322:        (ASM_SPEC, CC1_SPEC, LINK_SPEC): Remove -G32, since the new -G
                   8323:        patches take care of it now.
                   8324: 
                   8325:        * tm-decrose.h (ASM_SPEC, LINK_SPEC): Remove -G32.
                   8326: 
                   8327:        * tm-decstatn.h (ASM_SPEC, LINK_SPEC): Remove -G32.
                   8328: 
                   8329:        * tm-iris.h (ASM_SPEC, LINK_SPEC): Remove -G32.
                   8330: 
                   8331:        * tm-mips-bsd.h (LINK_SPEC): Remove -G32.
                   8332: 
                   8333:        * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Remove -G32.
                   8334: 
                   8335:        * tm-mips-sysv.h (LINK_SPEC): Remove -G32.
                   8336: 
                   8337: Mon Oct 28 07:11:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8338: 
                   8339:        * combine.c (try_combine): Don't delete unused SETs if they have
                   8340:        side-effects.
                   8341: 
                   8342:        * Makefile.in, t-i386sco: Had both LIMIT_H and LIMITS_H; latter
                   8343:        is correct.
                   8344: 
                   8345:        * combine.c (subst): New argument `unique_copy'; if non-zero ensure
                   8346:        each copy of `from' replaced gets a unique copy of `to'.
                   8347:        Pass arg to recursive callers.
                   8348:        (try_combine): Pass new arg to subst.
                   8349: 
                   8350:        * Makefile.in (LANGUAGES): Use `objective-c' instead of `class-c'
                   8351:        to avoid confusion.
                   8352: 
                   8353:        * gcc.c (xmalloc, xrealloc): Really make non-static.
                   8354: 
                   8355: Mon Oct 28 00:21:56 1991  Michael Meissner  (meissner at osf.org)
                   8356: 
                   8357:        * tm-mips.h (CC1_SPEC): Convert -gline into -g1.
                   8358: 
                   8359: Sun Oct 27 17:15:48 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8360: 
                   8361:        * reload1.c (spill_hard_reg): Rework code that relies on the fact that
                   8362:        reg_class_superclasses[i][0] == i, since it isn't true!
                   8363: 
                   8364: Sun Oct 27 06:15:24 1991  Ron Guilmette  (rfg at ncd.com)
                   8365: 
                   8366:        * configure: Always remove any files before we write them in case
                   8367:        the old copy was read-only.
                   8368: 
                   8369:        * Makefile.in (manext): Now just extension without the period.
                   8370:        (mandir): Default to include manext.
                   8371:        (install-man): Adjust to new definition of manext.
                   8372:        (uninstall): Remove protoize.1 and unprotoize.1 from mandir.
                   8373: 
                   8374:        * genemit.c (gen_exp): Write integer using %u instead of %d to
                   8375:        avoid warnings from some compilers when most negative int is written.
                   8376: 
                   8377:        * cccp.c: Make variables not used outside this file static.
                   8378:        (main, line_to_error, xmalloc, xrealloc, xcalloc): Add missing return
                   8379:        statements (in unreachable paths).
                   8380:        (xmalloc, xrealloc, xcalloc, savestring): Make SIZE arg unsigned.
                   8381:        
                   8382: Sun Oct 27 06:14:45 1991  Jeffrey A Law  (law at b115.super.org)
                   8383: 
                   8384:        * tm-m68k.h (SELECT_RTX_SECTION): New macro.  Used to force
                   8385:        symbolic objects in the constant pool into the read-write data
                   8386:        section when generating position independent code.
                   8387: 
                   8388:        * recog.c (general_operand, immediate_operand, nonmemory_operand):
                   8389:        Use LEGITIMATE_PIC_OPERAND_P to reject constants which are not
                   8390:        valid when generating position independent code.
                   8391: 
                   8392:        * reload.c (find_reloads): Do not win in 's', 'i', or 'g' cases
                   8393:        if the constant does not satisfy LEGITIMATE_PIC_OPERAND_P.
                   8394: 
                   8395:        * tm-m68k.h (LEGITIMATE_PIC_OPERAND_P): New macro.
                   8396: 
                   8397:        * out-m68k.c (symbolic_operand): New function. Copied from
                   8398:        tm-sparc.h. 
                   8399: 
                   8400:        * gcc.texinfo: Document LEGITIMATE_PIC_OPERAND_P.
                   8401: 
                   8402: Sat Oct 26 07:51:40 1991  Michael Meissner  (meissner at osf.org)
                   8403: 
                   8404:        * mips.md (movsi_usw): Remove invalid '&' constraint on a memory
                   8405:        address.
                   8406: 
                   8407: Sat Oct 26 07:16:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8408: 
                   8409:        * flow.c (find_basic_blocks): Build label_value_list as list of
                   8410:        CODE_LABELs, not LABEL_REFs.
                   8411: 
                   8412:        * fold-const.c (optimize_bit_field_compare): Call fold on result
                   8413:        of build1 call that converts integer to proper mode.
                   8414: 
                   8415:        * rtl.h (unsigned_condition, signed_condition): Add definition;
                   8416:        functions were previously added to jump.c.
                   8417:        * combine.c (simplify_comparison): Use unsigned_condition to simplify
                   8418:        last change.
                   8419: 
                   8420: Sat Oct 26 06:48:59 1991  Jeffrey A Law        (law at b115.super.org)
                   8421: 
                   8422:        * tm-sun2.h, tm-sun3.h (ASM_SPEC): Pass "-k" to the assembler if
                   8423:        -fpic or -fPIC.
                   8424: 
                   8425: Fri Oct 25 20:43:54 1991  Michael Meissner  (meissner at osf.org)
                   8426: 
                   8427:        * tm-mips.h (CC1_SPEC): Remove special rules for -g0, -g1, etc., now
                   8428:        that GCC supports these directly.
                   8429: 
                   8430:        * configure (dec-mips-osf): DECstation running OSF/rose uses
                   8431:        t-decrose, not t-mips.
                   8432: 
                   8433:        * x-decrose (COFF_CC, COFF_CFLAGS, WARNINGS): Delete.
                   8434:        (libdir, bindir, mandir): Put GCC 2 in the /usr/ccs/gcc tree.
                   8435: 
                   8436:        * x-mips (comment): Delete a comment about cross compilers that is
                   8437:        no longer true.
                   8438: 
                   8439:        * t-decrose (coff-obstack.o): Delete rule that is no longer used.
                   8440: 
                   8441: Fri Oct 25 18:46:51 1991  Mark Eichin  (eichin at cygnus.com)
                   8442: 
                   8443:        * cp-dem.c (cp-demangle): added support for templates, static
                   8444:        data, and the new (correct) mangling for destructors.
                   8445: 
                   8446: Fri Oct 25 16:18:18 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
                   8447: 
                   8448:         * cp-decl2.c: (grokclassfn): destructor names *should* contain
                   8449:         the length; otherwise, we can't tell the difference between a
                   8450:         destructor for a class whose name begins with 't' and a destructor
                   8451:         for an instance of a template class.
                   8452: 
                   8453: Fri Oct 25 02:15:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   8454: 
                   8455:        * SYSCALLS.c, protoize.c: Changes from rfg.
                   8456:        waiting for real changelog entries from rfg.
                   8457: 
                   8458:        * gcc.c (xmalloc, xrealloc): No longer static.
                   8459: 
                   8460: Thu Oct 24 19:21:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   8461: 
                   8462:        * fold-const.c (optimize_bit_field_compare):
                   8463:        Use build1 rather than convert, to avoid warnings.
                   8464: 
                   8465:        * final.c (output_source_line): Fix if-scope for DBX fmt.
                   8466: 
                   8467: Thu Oct 24 13:29:34 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8468: 
                   8469:        * gcc.c gen*.c: Don't make fancy_abort static.
                   8470: 
                   8471: Thu Oct 24 12:07:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   8472: 
                   8473:        * combine.c (simplify_comparison): When narrowing a comparison
                   8474:        and removing ANDs, make it unsigned.
                   8475: 
                   8476: Thu Oct 24 08:02:04 1991  Ken Raeburn  (raeburn at cygnus.com)
                   8477: 
                   8478:        * cp-decl.c (binding_levels_sane): New function, tests that stack
                   8479:        of binding levels is consistent.  Argument provides extra
                   8480:        identification for call site, in case compiler optimizes too well.
                   8481:        If PARANOID is not set, does nothing.
                   8482:        (push_binding_level, pop_binding_level): Now functions, for easier
                   8483:        debugging.  Inlined under GNU C if not PARANOID.
                   8484:        (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Invoke functions.
                   8485:        (push_to_top_level): Use type-shadowed slots to unwind
                   8486:        IDENTIFIER_TYPE_VALUE back to top level.
                   8487:        (start_decl): When processing a template decl, shouldn't need to
                   8488:        check uses_template_parms.  For methods, modify arg list to include
                   8489:        `this'.  Don't set context of template.  Use perm_tree_cons when
                   8490:        building members list for class template.
                   8491:        (grokdeclarator): Check "friend" flag before calling
                   8492:        globalize_nested_type.  Build a method type for a function that has
                   8493:        a context.
                   8494: 
                   8495:        * cp-pt.c (end_template_decl): If template has non-null context,
                   8496:        chain it off of the containing class, rather than using pushdecl.
                   8497:        (instantiate_class_template): Instantiate all the member templates
                   8498:        hanging off the class template.  Also, simplify some code in the
                   8499:        case where setup_parse is 0.
                   8500:        (tsubst): Check for several common values that won't be modified by
                   8501:        substitutions.
                   8502:        (tsubst, case FUNCTION_DECL): Don't return type passed if it has a
                   8503:        non-null context that might need fixing.  Process that context while
                   8504:        building up the new decl node; use it to notify build_decl_overload
                   8505:        that we've got a method rather than a function.
                   8506:        (tsubst, case METHOD_TYPE): Handle like FUNCTION_TYPE; enhance that
                   8507:        case to handle TYPE_METHOD_BASETYPE when set.
                   8508:        (unify): Increment value pointed to by nsubsts, not the pointer
                   8509:        itself.
                   8510:        (do_pending_expansions): Method context is in DECL_CONTEXT, not
                   8511:        DECL_CLASS_CONTEXT.
                   8512: 
                   8513:        * cp-lex.c (do_identifier): Don't try looking up fields in base
                   8514:        classes of UNINSTANTIATED_P_TYPE.
                   8515: 
                   8516:        * cp-parse.y (primary): Call require_complete_type only for
                   8517:        CALL_EXPR nodes of types other than void.
                   8518:        (template_type): Don't call IDENTIFIER_TYPE_VALUE on
                   8519:        error_mark_node.
                   8520: 
                   8521:        * cp-ptree.c (print_lang_decl): For UNINSTANTIATED_P_TYPE, show
                   8522:        template as well as parameters.
                   8523: 
                   8524:        * cp-tree.h (DECL_TEMPLATE_*, UPT_*): New accessor macros for
                   8525:        TEMPLATE_DECL and UNINSTANTIATED_P_TYPE nodes.  All (most?) uses
                   8526:        except for node creation changed to use these.
                   8527:        * cp-tree.def: Updated comments for these node types.
                   8528: 
                   8529:        * cp-pt.c (uses_template_parms): Handle ADDR_EXPR.
                   8530:        (end_template_decl): For function with non-null context, pop class
                   8531:        binding level.
                   8532: 
                   8533: Thu Oct 24 06:57:28 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8534: 
                   8535:        * a29k.md, romp.md, rs6000.md (movdi, movdf, movti): Handle case of
                   8536:        reg-reg copy with overlapping registers correctly.
                   8537: 
                   8538:        * out-rs6000.c (ccr_bit, case NE): Fix typo in bit number.
                   8539:        (output_epilog): Must restore stack using backchain if alloca called.
                   8540: 
                   8541:        * romp.md, rs6000.md (extendxxyy2, zero_extendxxyy2): Use DEFINE_EXPAND
                   8542:        to force operand to register; DEFINE_INSN allows memory (better cse).
                   8543: 
                   8544:        * rs6000.md (ffssi2): New patterns.
                   8545:        (maskir): Add patterns to use maskir instructions.
                   8546: 
                   8547:        * tm-a29kunix.h (TARGET_DEFAULT, CPP_SPEC): Default to 29050.
                   8548: 
                   8549:        * tm-rs6000.h (LINK_SPEC): Add -bnodelcsect.
                   8550:        (HARD_REGNO_MODE_OK): Delete kludge that didn't allow DImode in reg 31
                   8551:        and TImode in 29-31; the bug was fixed elsewhere.
                   8552: 
                   8553: Wed Oct 23 17:48:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8554: 
                   8555:        * combine.c (try_combine): If an insn doesn't match, check for case
                   8556:        where first SET's result isn't used; previously only checked second.
                   8557: 
                   8558:        * combine.c (try_combine): When we substitute into a COMPARE, check
                   8559:        SELECT_CC_MODE to see if we should try to change the mode of the
                   8560:        COMPARE and its result.
                   8561: 
                   8562: Wed Oct 23 16:38:26 1991  Torbjorn Granlund  (tege at hal.gnu.ai.mit.edu)
                   8563: 
                   8564:        * gnulib2.c (__ashrdi3): Compute sign extension shift count from
                   8565:        machine word size instead of using 31.
                   8566: 
                   8567: Wed Oct 23 14:25:04 1991  Michael Meissner  (meissner at osf.org)
                   8568: 
                   8569:        * tm-mips.h (PREFERRED_DEBUGGING_TYPE): Unless otherwise defined,
                   8570:        set to SDB_DEBUG.
                   8571: 
                   8572:        * tm-decrose.h (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG.
                   8573: 
                   8574:        * out-mips.c (override_options): Don't override debugger choice now
                   8575:        that PREFERRED_DEBUGGING_TYPE is provided.
                   8576: 
                   8577: Wed Oct 23 07:25:32 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8578: 
                   8579:        * sdbout.c (sdbout_symbol/FUNCTION_DECL, sdbout_toplevel_data,
                   8580:        sdbout_end_epilogue): Use DECL_ASSEMBLER_NAME to avoid link-time
                   8581:        multiple definitions.
                   8582: 
                   8583: Tue Oct 22 15:06:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8584: 
                   8585:        * reload1.c (reload): For now, we must always have a frame pointer
                   8586:        if a function calls alloca and EXIT_IGNORE_STACK is non-zero.
                   8587: 
                   8588:        * cse.c (insert_regs): Don't make new quantity for the register in
                   8589:        a SUBREG.
                   8590:        (merge_equiv_classes): Don't invalidate the register inside a SUBREG.
                   8591:        (canon_hash, case SUBREG): Remove code to treat SUBREGs like REGs.
                   8592: 
                   8593: Tue Oct 22 10:25:29 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8594: 
                   8595:        * tm-m88kdgux.h (PREFERRED_DEBUGGING_TYPE): Use it.
                   8596:        * tm-m88k.h (OVERRIDE_OPTIONS): Don't override write_symbols.
                   8597: 
                   8598:        * out-m88k.c (m88k_output_{prologue,epilogue}): Renamed.
                   8599: 
                   8600: Tue Oct 22 00:51:48 1991  Richard Stallman  ([email protected])
                   8601: 
                   8602:        * c++: New shell script.
                   8603: 
                   8604:        * gcc.c (default_compilers): Treat .ii files as cpp'd C++.
                   8605: 
                   8606:        * varasm.c (make_function_rtl): Don't alter DECL_ASSEMBLER_NAME.
                   8607: 
                   8608:        * toplev.c (main): Use PREFERRED_DEBUGGING_TYPE if support
                   8609:        more than one format.
                   8610: 
                   8611: Mon Oct 21 23:08:02 1991  Richard Stallman  ([email protected])
                   8612: 
                   8613:        * c-decl.c (grokdeclarator): Fix error message for long float.
                   8614: 
                   8615: Mon Oct 21 16:55:31 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8616: 
                   8617:        * optabs.c (add_equal_note): New function.
                   8618:        (expand_binop): Delete some obsolete, turned-off code.
                   8619:        Use GET_RTX_CLASS to see if operator is commutative.
                   8620:        Call add_equal_note if we make a multi-insn sequence; if it fails,
                   8621:        redo the operation without our target.
                   8622:        In multi-word cases, don't allow TARGET to be the same as an input.
                   8623:        (expand_unop): Allow operation to fail.
                   8624:        Call add_equal_note and allow failure, like in expand_binop.
                   8625:        In multi-word case, don't allow TARGET to be OP0.
                   8626:        (emit_unop_insn): Use add_equal_note; ignore its failure here.
                   8627: 
                   8628:        * optabs.c (expand_float, expand_fix): In cases when we will jump,
                   8629:        ensure we call emit_queue before protect_from_queue.
                   8630:        Eliminate redundant calls to protect_from_queue and force_non_mem.
                   8631: 
                   8632:        * reorg.c (steal_delay_list_from_target): Don't take an insn from
                   8633:        the fallthrough thread of an annulled branch insn.
                   8634: 
                   8635: Mon Oct 21 16:55:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8636: 
                   8637:        * configure (m88k targets): Complete last change.
                   8638: 
                   8639: Mon Oct 21 16:06:25 1991  Richard Stallman  ([email protected])
                   8640: 
                   8641:        * integrate.c (copy_rtx_and_substitute): When making copy of frame,
                   8642:        round size to keep substituted frame pointer aligned.
                   8643:        (CEIL_ROUND): New macro.
                   8644: 
                   8645: Mon Oct 21 15:16:17 1991  Michael Meissner  (meissner at osf.org)
                   8646: 
                   8647:        * tm-mips.h (GP_REG_OR_PSEUDO_NONSTRICT_P): New macro for
                   8648:        REG_OK_FOR_{BASE,INDEX}_P in non strict mode.  Fix typos in the
                   8649:        previous change.
                   8650:        (GP_REG_OR_PSEUDO_P): Rename to GP_REG_OR_PSEUDO_STRICT_P.
                   8651:        (REG_OK_FOR_BASE_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
                   8652:        (REG_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict.
                   8653:        (GO_IF_LEGITIMATE_ADDRESS): Indicate if strict checking is being
                   8654:        used if -mdebugb tracing.
                   8655: 
                   8656: Mon Oct 21 15:08:15 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8657: 
                   8658:        * Makefile.in (*.o): Add insn-codes.h to all lists using expr.h.
                   8659:        (dwarfout.o): Add dwarf.h, reload.h, output.h, and insn-config.h.
                   8660: 
                   8661:        * c-tree.h (TYPE_ACTUAL_ARG_TYPES): New macro for list of actual
                   8662:        types.
                   8663:        * c-decl.c (store_parm_decls): Compute TYPE_ACTUAL_ARG_TYPES if a
                   8664:        prototype is not present.  Delete old method.
                   8665:        (duplicate_decls): Provide better diagnostics if a prototype
                   8666:        follows a function definition.
                   8667: 
                   8668:        * m88k.md (gen_divsi3): Delete REG_EQUAL workaround.
                   8669:        * t-m88k{,luna,sysv4}: Target makefile portion (from Mike Stump).
                   8670:        * x-m88k{,dgux,luna,sysv4}: Corresponding deletions.
                   8671:        * {tm,t,x}-m88ksysv4: Renamed from m88ksvr4.  Deleted xm-m88ksvr4.
                   8672:        * {tm,xm}-m88ksysv3: Renamed from v88r32.
                   8673:        * configure: Corresponding changes.
                   8674: 
                   8675:        * tm-m88k.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Output to
                   8676:        .ctors/.dtors sections.
                   8677:        (TARGET_SWITCHES): Add -m88000, -m88100, and -m88110.  Replace
                   8678:        DG/UX MXDB options with SUBTARGET_SWITCHES macro.
                   8679:        * tm-m88kdgux.h (SUBTARGET_SWITCHES, ASM_SPEC, ASM_FIRST_LINE):
                   8680:        Put MXDB options here changing -mdwarf to -mstandard.
                   8681: 
                   8682: Sun Oct 20 06:39:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8683: 
                   8684:        * combine.c (simplify_comparison, case PLUS): Only do simplification
                   8685:        for equality comparison due to overflow problems.
                   8686: 
                   8687:        * gen*.c: Remove "void *" and uses of size_t added by recent change.
                   8688: 
                   8689:        * reload.c (find_reloads): If "&" given without any registers, 
                   8690:        turn off earlyclobber, in addition to giving error.
                   8691: 
                   8692:        * Makefile.in (STAGE_GCC): Deleted.
                   8693:        (STAGESTUFF): Add gcc (from STAGE_GCC) and gcc-cross.
                   8694: 
                   8695: Sun Oct 20 04:37:21 1991  Michael Tiemann  (tiemann at cygnus.com)
                   8696: 
                   8697:        * cp-decl.c (grokfndecl): Use DECL_NAME, not DECLARATOR at end of
                   8698:        function, since DECL_NAME may be different if it's an operator name.
                   8699: 
                   8700:        * cp-cvt.c (convert_pointer_to): Test if PARENT is TREE_VEC
                   8701:        before testing IS_AGGR_TYPE.
                   8702: 
                   8703: Sun Oct 20 00:40:47 1991  Richard Stallman  ([email protected])
                   8704: 
                   8705:        * gcc.c (link_command_spec): -collect converts to -c.
                   8706: 
                   8707:        * toplev.c (main): Support -gstabs and -gcoff.  Fix args to strncmp.
                   8708: 
                   8709: Sat Oct 19 21:51:03 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8710: 
                   8711:        * reorg.c: Use const_true_rtx instead of const1_rtx.
                   8712:        (delete_scheduled_jump): Don't delete an insn that sets CC0 if it
                   8713:        has a side-effect.
                   8714:        (update_block): Add missing declaration for parameter WHERE.
                   8715:        (fill_slots_from_thread): Stop search if we find an insn that we
                   8716:        can't put into the delay slot unless we own the thread.
                   8717: 
                   8718: Sat Oct 19 17:30:23 1991  Michael Meissner  (meissner at osf.org)
                   8719: 
                   8720:        * tm-mips.h (GP_REG_OR_PSEUDO_P): New macro to make sure a reg or
                   8721:        pseudo reg during reload will eventually be a GP register for use as
                   8722:        a base or index register.  This fixes a bug where a FP register
                   8723:        could be used as a base or index register in some cases after
                   8724:        convert from floating point to integer was done.
                   8725:        (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_P.
                   8726:        (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): In the non strict version,
                   8727:        don't allow hard FP registers ever.
                   8728: 
                   8729: Sat Oct 19 11:59:55 1991  Richard Stallman  ([email protected])
                   8730: 
                   8731:        * tm-sun3.h, tm-sparc.h (WORD_SWITCH_TAKES_ARG):
                   8732:        Check for Tdata as well as target.
                   8733: 
                   8734:        * c-decl.c (grokdeclarator): Don't warn for array of incomplete elt.
                   8735: 
                   8736:        * expr.c (expand_expr): For INDIRECT_REF, don't set unchanging bit.
                   8737:        * c-typeck.c (build_indirect_ref): Do set TREE_UNCHANGING if nec.
                   8738: 
                   8739:        * reload.c (find_reloads): Warning or error for misuse of `&'.
                   8740:        * toplev.c (warning_for_asm): New function.
                   8741: 
                   8742:        * t-i386sco: New file.
                   8743:        * x-i386sco: Add -Di286 to CC, OLDCC.
                   8744:        (LIMIT_H): Moved to t-i386sco.
                   8745: 
                   8746: Sat Oct 19 09:08:11 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8747: 
                   8748:        * gcc.c: Add missing extern declarations deleted by last change.
                   8749:        (xrealloc, xmalloc): Don't declare as void *; non-ANSI compilers
                   8750:        can't handle it.
                   8751: 
                   8752: Sat Oct 19 08:26:13 1991  Ron Guilmette  (rfg at ncd.com)
                   8753: 
                   8754:        * tree.h: Fix spelling error in comment.
                   8755: 
                   8756:        * tree.def, cp-parse.y: Change comments that refer to LET_STMT nodes to
                   8757:        refer to BLOCK nodes.
                   8758: 
                   8759:        * gcc.c, gen*.c: Declare as static objects that aren't referenced
                   8760:        outside the file they are in.
                   8761:        (xrealloc, xmalloc): Functions return char *, not int.
                   8762:        (main): Add missing returns (in unreachable code) to avoid warnings
                   8763:        when compiled with -Wreturn-type.
                   8764:        * gcc.c (pexecute): Likewise.
                   8765:        * genattrtab.c (operate_exp): Likewise.
                   8766: 
                   8767: Fri Oct 18 16:58:12 1991  Eric Youngdale (youngdale at v6550c.nrl.navy.mil)
                   8768: 
                   8769:        * make-cc1.com: Finish changeover from cplus-* to cp-*.
                   8770: 
                   8771: Fri Oct 18 16:57:37 1991  Ron Guilmette  (rfg at ncd.com)
                   8772: 
                   8773:        * tm-svr4.h: Delete lines duplicated due to transmission problems.
                   8774: 
                   8775: Fri Oct 18 16:55:53 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   8776: 
                   8777:        * jump.c (unsigned_condition, signed_condition): New functions.
                   8778: 
                   8779:        * configure (vax): Set tm_file to tm-vax.h so "configure vax-dec-bsd"
                   8780:        works.
                   8781: 
                   8782:        * combine.c (subst, case PLUS, MINUS): Remove some simplifications
                   8783:        from here.
                   8784:        * cse.c (simplify_binary_operation, case PLUS, MINUS): Put these
                   8785:        simplifications here.
                   8786:        Strip off CONST when looking for some simplifications.
                   8787:        Add code to simplify (a - (a - b)).
                   8788: 
                   8789:        * combine.c (expand_compound_operation): Correctly handle case where
                   8790:        we have a ZERO_EXTRACT that extends beyond the bounds of the object.
                   8791: 
                   8792:        * global-alloc.c (mark_elimination): No longer have FORBIDDEN_REGS as
                   8793:        argument.
                   8794:        * reload1.c (reload): Don't pass FORBIDDEN_REGS to mark_elimination.
                   8795: 
                   8796:        * cse.c (simplify_{unary,binary,relational}_operation):  Complete
                   8797:        change that removes warnings from floating-point traps when constant
                   8798:        folding (some cases had been omitted).
                   8799: 
                   8800: Fri Oct 18 16:41:29 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   8801: 
                   8802:        * stmt.c (expand_anon_union_decl): When creating new mem, copy the
                   8803:        RTX_UNCHANGING_P and MEM_IN_STRUCT_P bits from the old one.
                   8804: 
                   8805:        * sparc.md: Add new scc addx/subx patterns.
                   8806: 
                   8807: Fri Oct 18 09:10:43 1991  Michael Tiemann  (tiemann at cygnus.com)
                   8808: 
                   8809:        * cp-parse.y (stmts): Fix parsing rules to match C++ semantics
                   8810:        better (and hence give the compiler better error recovery).
                   8811: 
                   8812: Thu Oct 17 19:31:15 1991  Ken Raeburn  (raeburn at cygnus.com)
                   8813: 
                   8814:         * cp-pt.c (tsubst): For NEGATE_EXPR, call build1, not build.
                   8815:         Handle NOP_EXPR likewise.
                   8816:         (unify, case TEMPLATE_CONST_PARM): Copy value to permanent obstack.
                   8817: 
                   8818:         * cp-method.c (PARM_CAN_BE_ARRAY_TYPE): If not already defined,
                   8819:         define it to be 1.
                   8820:         (build_overload_name): Test to see if it's nonzero, rather than
                   8821:         whether it's defined; this permits compilation options to disable
                   8822:         it, but leave it enabled by default.  Add one to the array size,
                   8823:         since the value retrieved appears to be the maximum index, not the
                   8824:         true array size.
                   8825: 
                   8826: Thu Oct 17 19:15:37 1991  Mark Eichin  (eichin at tweedledumber.cygnus.com)
                   8827: 
                   8828:         * cp-pt.c (instantiate_class_template):  has an argument to
                   8829:         indicate whether to setup for parsing or not. (All existing cases
                   8830:         did a feed input, but if we are trying to set up intermediate nodes
                   8831:         while waiting for the parser to return to a template_instantiate
                   8832:         site we need to suppress the parsing part of it, which will get
                   8833:         redone later.)
                   8834:         (tsubst): under case UNINSTANTIATED_P_TYPE, actually instantiate any
                   8835:         class templates that are needed for function return values, and set
                   8836:         them up as pending templates to be run later.
                   8837: 
                   8838:         * cp-parse.y (primary): since build_x_function_call doesn't
                   8839:         require a complete type any more in certain cases, we instantiate
                   8840:         any pending templates and then require_complete_type on the
                   8841:         remainder. 
                   8842: 
                   8843:         * cp-typeck.c (build_function_call_real): added an argument to
                   8844:         optionally skip the require_complete_type... implicit template
                   8845:         instantiation has to be postponed, so we won't get a complete type
                   8846:         until the parser can grab it.
                   8847: 
                   8848:         * cp-call.c (build_overload_call_real): added an argument do
                   8849:         allow choice of build_function_call_maybe or build_function_call
                   8850:         based on whether we thought we would require a complete type out of
                   8851:         build_function_call. 
                   8852: 
                   8853: Wed Oct 16 09:06:57 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8854: 
                   8855:        * c-decl.c (store_parm_decls): Fix and disable recording the arg
                   8856:        type list for the function indicating the number of arguments.
                   8857:        * c-typeck.c (self_promoting_args_p): Allow the arg type to be null.
                   8858: 
                   8859:        * expmed.c (store_bit_field, extract_bit_field): Add checks for
                   8860:        MEM_IN_STRUCT_P if the structure reference is a MEM.
                   8861: 
                   8862: Tue Oct 15 18:37:50 1991  Ken Raeburn  (raeburn at cygnus.com)
                   8863: 
                   8864:         * cp-call.c (build_overload_call): If template match fails, still
                   8865:         set function field of candidate structure, and set bad_arg field to
                   8866:         new magic number -4 to indicate failed type unificiation.
                   8867: 
                   8868:         * cp-class.c (add_method): Call make_function_rtl only if not
                   8869:         processing a template declaration.
                   8870: 
                   8871:         * cp-tree.def: New node type, UNINSTANTIATED_P_TYPE, for
                   8872:         parameterized types that haven't had parameters filled in yet.
                   8873:         Looks like a type node.
                   8874: 
                   8875:         * cp-decl.c (struct binding_level): New flag indicating any name
                   8876:         should be accepted when looked up at this level.  This is a kludge
                   8877:         to try to deal with methods of parameterized types.
                   8878:         (declare_uninstantiated_type_level): Set it.
                   8879:         (uninstantiated_type_level_p): Return it.
                   8880:         * cp-class.c (pushclass): If the "class" type is
                   8881:         UNINSTANTIATED_P_TYPE, flag it in the new binding level.
                   8882: 
                   8883:         * cp-decl.c (push_overloaded_decl): New argument to indicate
                   8884:         whether the decl should be forgotten when the current level is
                   8885:         exited.  Callers changed.
                   8886:         (push_overloaded_decl_top_level): Ditto.
                   8887:         (dont_forget_overload): Deleted.
                   8888:         (push_overloaded_decl_1): New fn; like push_overloaded_decl, but
                   8889:         never forgets.  Intended only for use by auto_function macro.
                   8890:         (auto_function): Use it.
                   8891: 
                   8892:         * cp-decl.c (print_binding_level): Print type-shadowed field at
                   8893:         each level.  Skip fields with no values.
                   8894: 
                   8895:         * cp-decl.c (adjust_type_value): Use SET_IDENTIFIER_TYPE_VALUE,
                   8896:         not set_identifier_type_value.
                   8897: 
                   8898:         * cp-decl.c (pushdecl): Undo Oct 4 back-out of previous change.
                   8899:         Set type value of name of passed decl, instead of name of type in
                   8900:         passed decl.
                   8901:         (pushdecl_top_level): Search type-shadowed fields of outer binding
                   8902:         levels, munging outermost one if found to cause it to "restore" the
                   8903:         new global value.
                   8904: 
                   8905:         * cp-decl.c (push_overloaded_decl): Don't punt second or later
                   8906:         templates of a given name.
                   8907: 
                   8908:         * cp-decl.c (start_decl): Template-handling code moved up, to
                   8909:         cope better with variable declarations.  Don't check for incomplete
                   8910:         type or constructor requirements when processing template.
                   8911: 
                   8912:         * cp-decl2.c (build_push_scope): If passed error mark node, just
                   8913:         return it.
                   8914:         (constructor_name): Handle UNINSTANTIATED_P_TYPE.
                   8915: 
                   8916:         * cp-lex.c (identifier_type): Don't return PTYPENAME for function
                   8917:         template name.
                   8918: 
                   8919:         * cp-method.c (report_type_mismatch): New magic bad-arg value -4
                   8920:         indicates type unification failure.
                   8921:         (build_overload_name, case UNINSTANTIATED_P_TYPE): Handle like other
                   8922:         template-related types that shouldn't get visibility outside the
                   8923:         compiler.
                   8924: 
                   8925:         * cp-parse.y (template_type): Use IDENTIFIER_TYPE_VALUE from
                   8926:         name, if expansion doesn't happen.
                   8927:         (tmpl.1, tmpl.2): Now type <ttype>.  Value is null or return value
                   8928:         from instantiate_class_template.
                   8929:         (template_instantiation): Always put copy of decl in global scope.
                   8930:         Use pushdecl_top_level instead of setting IDENTIFIER_GLOBAL_VALUE
                   8931:         slot.
                   8932:         (LC): If type has been or is being defined, push a new type with the
                   8933:         same name, to avoid conflict.
                   8934:         (try_for_typename): New type <itype>.  Value is non-zero iff type to
                   8935:         be pushed uses no template parms and isn't error_mark_node.
                   8936:         (scoped_id): Return error_mark_node for template parameter uses, and
                   8937:         leave error_mark_node alone.  Only pop class if try_for_typename
                   8938:         value is non-zero.
                   8939:         (scoped_typename): Ditto.
                   8940: 
                   8941:         * cp-pt.c (end_template_decl): If template decl/class head arg is
                   8942:         null, punt.  For non-type templates that didn't come in as template
                   8943:         decls, clear public flag.  Such cases shouldn't arise any more; just
                   8944:         put in abort call for now until we're sure.  Comment out code for
                   8945:         forcibly removing temporary values of template type parms; Michael
                   8946:         broke the code and fixed the original problem.  Handle error case
                   8947:         where decl to be pushed might be null.
                   8948:         (coerce_template_parms): Handle arg list as TREE_VEC as well as
                   8949:         TREE_LIST.  If arg list uses template parms, return
                   8950:         UNINSTANTIATED_P_TYPE node.
                   8951:         (uses_template_parms, case UNINSTANTIATED_P_TYPE): Return 1.
                   8952:         (instantiate_class_template): Now returns tree -- error_mark_node or
                   8953:         NULL_TREE or class type; callers and decls changed.  Assign
                   8954:         TYPE_NAME field when building new RECORD_TYPE and TYPE_DECL nodes.
                   8955:         Don't need to do extra poplevel any more.
                   8956:         (tsubst): Handle UNINSTANTIATED_P_TYPE, MINUS_EXPR, PLUS_EXPR,
                   8957:         NEGATE_EXPR.
                   8958:         (undo_template_name_overload): Don't need to explicitly clear type
                   8959:         field any more.
                   8960:         (overload_template_name): Push a TYPE_DECL, instead of explicitly
                   8961:         setting type value field.
                   8962:         (end_template_instantiation): Don't need to pop a level any more.
                   8963:         (reinit_parse_for_template): Throw away saved block for null or
                   8964:         error template node.
                   8965:         (type_unification): Handle variadic functions, and functions with
                   8966:         default values for arguments.
                   8967:         (unify): Handle TREE_VEC and UNINSTANTIATED_P_TYPE.
                   8968: 
                   8969:         * cp-ptree.c (print_lang_type): Handle UNINSTANTIATED_P_TYPE.
                   8970: 
                   8971:         * cp-tree.h (push_overload_decl): Declare here, not in
                   8972:         cp-decl.c.
                   8973:         (TEMPLATE_TYPE_* macros): Delete unused (and now incorrect)
                   8974:         versions.
                   8975: 
                   8976: Mon Oct 14 14:30:32 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   8977: 
                   8978:        * integrate.c (expand_inline_function): Fix typo from last edit,
                   8979:        where TYPE_MODE was applied to an argument, not the type of an
                   8980:        argument.
                   8981: 
                   8982:        * cse.c (canon_hash, SUBREG case): Add cast which is needed by some
                   8983:        compilers.
                   8984: 
                   8985: Mon Oct 14 07:59:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   8986: 
                   8987:        * toplev.c (rest_of_compilation): Compute the function's name and
                   8988:        pass it to assemble_{start,end}_function.
                   8989:        * varasm.c (assemble_start_function): New parameter.
                   8990:        (assemble_end_function): New function for ASM_DECLARE_FUNCTION_SIZE.
                   8991:        * final.c, sdbout.c: Correct comments.
                   8992:        * tm-svr4.h, tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): Add and use a
                   8993:        NAME parameter.
                   8994:        * tm-m88k.h (ASM_DECLARE_FUNCTION_SIZE): Override svr4 definition.
                   8995:        * out-m88k.c (output_prologue): Delete previous method.
                   8996: 
                   8997:        * m88k.md: Use trap_if.
                   8998:        (divsi3): Store into output operand only once to aviod problems
                   8999:        with REG_EQUAL note.
                   9000:        * out-m88k.c (output_call): Accomodate assembler range
                   9001:        restriction.
                   9002:        * tm-m88kdgux.h (AS_BUG_IMMEDIATE_LABEL): Specify the restriction.
                   9003:        (ASM_SPEC): Pass -KV3 to the assembler in some cases.
                   9004:        * tm-m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the addressing base
                   9005:        register global.
                   9006: 
                   9007: Sat Oct 12 00:30:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   9008: 
                   9009:        * Makefile.in (.SUFFIXES): Rule added.
                   9010: 
                   9011:        * dbxout.c (dbxout_block): Handle debug_info_level.
                   9012:        * sdbout.c (sdbout_begin_block): Likewise.
                   9013:        * toplev.c (compile_file): Likewise, when calling init_emit_once.
                   9014:        * emit-rtl.c (init_emit_once): Cosmetic change.
                   9015:        * Makefile.in (sdbout.o): Include flags.h.
                   9016: 
                   9017:        * configure: Default srcdir from dir in which configure is found.
                   9018: 
                   9019:        * i860.md (floatsidf2): Rewrite to be independant of host machine.
                   9020:        (divdf3, divsf3): New patterns.
                   9021: 
                   9022:        * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Macro deleted.
                   9023:        (ASM_OUTPUT_FUNCTION_PREFIX): Macro added.
                   9024: 
                   9025:        * stmt.c (pushcase, pushcase_range, expand_end_case):
                   9026:        Don't give "unreachable code" warning for a USE.
                   9027: 
                   9028:        * tm-i386.h (HARD_REGNO_MODE_OK): Fp regs reject TFmode.
                   9029: 
                   9030: Fri Oct 11 16:43:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9031: 
                   9032:        * cse.c (find_comparison_args): Reject VOIDmode to avoid invalid
                   9033:        shift.
                   9034: 
                   9035: Fri Oct 11 14:30:31 1991  Richard Stallman  ([email protected])
                   9036: 
                   9037:        * c-typeck.c (function_types_compatible_p):
                   9038:        NULL as arg type matches self-promoting type.
                   9039:        (self_promoting_type_p): New function.
                   9040:        (common_type): NULL for arg in one fcn type means use arg from other.
                   9041:        * c-decl.c (store_parm_decls): Record arg type list for the fn,
                   9042:        just to indicate how many args there are.
                   9043: 
                   9044:        * i860.md, out-i860.c, tm-i860.h: Merge many changes by rfg.
                   9045:        * tm-i860bsd.h, xm-i860.h: Likewise.
                   9046:        * tm-i860v3.h, tm-i860v4.h: New files.
                   9047:        * xm-i860v3.h, xm-i860v4.h: New files.
                   9048:        * tm-i860v3g.h: Renamed from tm-i860g.h.
                   9049:        * configure (i860-sysv3*): Renamed from i860-sysv*.  New filenames.
                   9050:        (i860-sysv4*): New alternative.
                   9051: 
                   9052:        * print-rtl.c: New file, split from rtl.c.
                   9053:        * Makefile.in (print-rtl.o): New target.
                   9054:        (OBJS): Add that target.
                   9055: 
                   9056:        * toplev.c (DEFAULT_GDB_EXTENSIONS): Provide default definition.
                   9057:        (main): Use that for -g with dbx format.
                   9058:        Don't support -G.
                   9059:        * gcc.c (default_compilers): Get rid of -G.
                   9060: 
                   9061: Fri Oct 11 14:30:43 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9062: 
                   9063:        * stmt.c (expand_anon_union_decl): Correctly handle anonymous
                   9064:        unions, whether in memory or registers.
                   9065: 
                   9066:        These were written by Michael Tiemann.
                   9067:        The following changes net a 16% speedup compiling some
                   9068:        machine-generated CAD synthesis code.
                   9069:        * c-decl.c (field_decl_cmp): New function, use as comparison
                   9070:        function for qsort.
                   9071:        (finish_struct): If there are more than 15 fields, allocate a
                   9072:        LANG_TYPE for the FIELD_DECLs, and sort them according to
                   9073:        `field_decl_cmp'.
                   9074:        * c-tree.h (lang_type): Define a LANG_TYPE for RECORD_TYPEs.
                   9075:        * c-typeck.c (build_component_ref): If LANG_TYPE set, then use
                   9076:        binary search to find the field, otherwise use linear search as
                   9077:        before.
                   9078: 
                   9079:        * tree.h: Declare savealloc.
                   9080:        * c-common.c: Delete now unnecessary cast of savealloc result.
                   9081: 
                   9082: Fri Oct 11 10:06:09 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9083: 
                   9084:        * cse.c (simplify_binary_operation): Fix typo in last change.
                   9085: 
                   9086:        * cp-*, gcc.texinfo, make-cc1.com, tree.c, undocumented: Change
                   9087:        cplus- to cp-.  Rename cplus-parse.y to cp-parse.y.
                   9088: 
                   9089: Fri Oct 11 07:48:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9090: 
                   9091:        * recog.c (find_single_use_1): Ignore appearances of DEST in
                   9092:        contexts where it is being set, not referenced.
                   9093:        (find_single_use): Use dead_or_set_p instead of looking for REG_DEAD
                   9094:        notes.
                   9095: 
                   9096: Fri Oct 11 07:29:33 1991  Ron Guilmette  (rfg at ncd.com)
                   9097: 
                   9098:        * c-parse.y, cp-lex.c, objc-parse.y (check_newline):    Use `pedwarn'
                   9099:        instead of `error' when we see an #ident if -pedantic.
                   9100:        * cccp.c (do_assert, do_unassert, check_assertion, do_sccs): Warn
                   9101:        if -pedantic.
                   9102: 
                   9103: Thu Oct 10 18:30:28 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9104: 
                   9105:        * gcc.c (default_compilers): Correctly handle new debugging
                   9106:        options, pass all -g* and -G* options.
                   9107: 
                   9108:        * Makefile.in, c-decl.c, cp-decl.c, final.c, flags.h, gcc.1,
                   9109:        gcc.c, print-tree.c, toplev.c, tree.def, tree.h: Delete support
                   9110:        for obsolete GDB_DEBUG format, -gg option, symout.c, etc.
                   9111:        * gdbfiles.h, symseg.h, symout.c: Delete obsolete files.
                   9112: 
                   9113: Thu Oct 10 17:56:16 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9114: 
                   9115:        * expr.c (convert_move): When widening FROM to multi-word, ensure that
                   9116:        we only reference each piece of TO once so that emit_no_conflict_block
                   9117:        can be safely used.
                   9118: 
                   9119:        * toplev.c (float_signal): Re-enable the signal after we catch it.
                   9120: 
                   9121:        * cse.c (simplify_binary_operation): Add missing fp error handler
                   9122:        setup in DFmode case.
                   9123: 
                   9124:        * combine.c (subst, case XOR): Fix typo in checking for
                   9125:        STORE_FLAG_VALUE equal to just the sign bit.
                   9126:        (simplify_comparison): Fix typo in computing maximum signed number in
                   9127:        a mode; also, use GET_MODE_MASK rather than trying to compute it.
                   9128: 
                   9129: Thu Oct 10 17:52:44 1991  Richard Stallman  ([email protected])
                   9130: 
                   9131:        * c-decl.c (init_decl_processing): Turn off `alloca' for -ansi.
                   9132:        (c_decode_option): Handle -fbuiltin, -fno-builtin.
                   9133: 
                   9134: Thu Oct 10 17:42:03 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9135: 
                   9136:        * caller-save.c (emit_mult_restore): Initialize MAYBE_TEMPREG.
                   9137: 
                   9138:        * function.c (assign_parms): Set MEM_IN_STRUCT_P when creating a
                   9139:        MEM for a aggregate passed by reference.
                   9140:        * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P
                   9141:        when dereferencing an aggregate.
                   9142: 
                   9143:        * sched.c (sched_note_set): Add missing parens.
                   9144: 
                   9145:        * sparc.md: Delete unnecessary clobbers from all SCC patterns.
                   9146: 
                   9147:        * integrate.c (expand_inline_function): Correct handling of arguments
                   9148:        passed by invisible reference.
                   9149: 
                   9150:        * cse.c (canon_hash): Compute hash code for SUBREG same as we do
                   9151:        for REG.  Otherwise, SUBREG hash codes can change when qty_const
                   9152:        changes, which results in duplicate SUBREG entries, which can
                   9153:        cause a crash.
                   9154: 
                   9155: Wed Oct  9 15:55:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9156: 
                   9157:        * cccp.c (main): Update MAX_INCLUDE_LEN if GCC_EXEC_PREFIX gets into
                   9158:        the act.
                   9159: 
                   9160:        * xm-a29k.h: Change copyright message back to GPL version 2.
                   9161:        * xm-a29k-ultra.h: Use GPL version 2 copyright.
                   9162: 
                   9163:        * reload1.c (reload): Put array size in cast, to prevent compiler
                   9164:        warning.
                   9165: 
                   9166:        * dwarfout.c (type_attribute): Check for ERROR_MARK nodes.
                   9167: 
                   9168: Wed Oct  9 13:59:22 1991  Richard Stallman  ([email protected])
                   9169: 
                   9170:        * toplev.c (float_signal): Reenable handler.
                   9171: 
                   9172:        * configure: Comment out various options not yet updated.
                   9173: 
                   9174:        * cp-*.c, cp-*.h: Renamed from cplus-*.[ch].
                   9175:        * Makefile.in: Renaming here also.
                   9176: 
                   9177:        * x-*: Renamed from make-*.
                   9178:        * Makefile.in (tmake_file, xmake_file): New vars.
                   9179:        (Makefile): Depend on them.
                   9180:        * configure: Replace host_make_var_file with host_xmake_file.
                   9181:        Handle tmake_file also, for target machine.
                   9182:        Form file names from x- and t-.
                   9183:        Rearrange use of temporary files during editing of Makefile.
                   9184: 
                   9185:        * t-mips: Most of x-mips moved here.
                   9186:        * t-decrose: Likewise from x-decrose.
                   9187: 
                   9188:        * xm-a29k-ult.h: Renamed from xm-a29k-ultra.h.
                   9189: 
                   9190:        * Makefile. in (install-common): Don't handle `collect' specially.
                   9191:        It should be in EXTRA_PASSES if it is needed.
                   9192: 
                   9193:        * cse.c (simplify_binary_expression): Use float handler for DF like SF.
                   9194:        Don't warn about traps; leave them for run time.
                   9195: 
                   9196:        * tm-hp9k320.h (SIZE_TYPE): New definition.
                   9197:        Note: this affects tm-3b1.h by inheritance.  Not sure that's right.
                   9198: 
                   9199: Wed Oct  9 12:15:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9200: 
                   9201:        * rtl.def (TRAP_IF): Make TRAP into a conditional trap.
                   9202:        * rtl.h (TRAP_CONDITION): Define.
                   9203:        * rtlanal.c (reg_referenced_p may_trap_p): Deal with TRAP_IF properly.
                   9204:        (volatile_refs_p side_effects_p): Not currently true for TRAP_IF.
                   9205: 
                   9206: Wed Oct  9 03:55:21 1991  Richard Stallman  ([email protected])
                   9207: 
                   9208:        * make-mips (BISONFLAGS): Assignment deleted.
                   9209: 
                   9210:        * real.h (REAL_VALUE_MINUS_ZERO): New macro.
                   9211:        * fold-const.c (target_minus_zero): New function.
                   9212:        * tm-sun2os4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND):
                   9213:        (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND):
                   9214:        Use REAL_VALUE_ISINF, REAL_VALUE_MINUS_ZERO.
                   9215: 
                   9216: Tue Oct  8 17:56:13 1991  Richard Stallman  ([email protected])
                   9217: 
                   9218:        * c-decl.c (duplicate_decls): If redeclaring builtin as static,
                   9219:        replace the old decl.
                   9220: 
                   9221:        * tm-seq386.h (HARD_REGNO_MODE_OK): Copy usual def into override def.
                   9222: 
                   9223:        * tm-news.h (CPP_PREDEFINES): Get rid of invalid conditionals.
                   9224:        * tm-tower.h: Likewise.
                   9225: 
                   9226:        * tm-gmicro.h (MODES_TIEABLE_P): Fix typo.
                   9227: 
                   9228:        * ns32k.md (rotrsi3): Fix typo `NEGATE' for `NEG'.
                   9229: 
                   9230:        * c-typeck.c (mark_addressable): Handle CONSTRUCTOR.
                   9231:        * expr.c (expand_expr): Handle addressable contructors.
                   9232: 
                   9233: Tue Oct  8 14:42:56 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9234: 
                   9235:        * expmed.c (lshift_value): Ensure the shift amount is in range.
                   9236: 
                   9237: Mon Oct  7 20:45:35 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9238: 
                   9239:        * integrate.c (function_cannot_inline_p, save_for_inline_copying,
                   9240:        save_for_inline_nocopy, expand_inline_function,
                   9241:        output_inline_function): Use GET_RTX_CLASS.
                   9242: 
                   9243:        * listing: Remove RCS Author and Log fields.
                   9244: 
                   9245:        * cse.c (exp_equiv_p): Fix typos in comments/spacing.
                   9246:        * emit-rtl.c: Likewise.
                   9247:        * expmed.c (store_fixed_bit_field): Likewise.
                   9248:        * integrate.c (subst_constants): Likewise.
                   9249: 
                   9250:        * longlong.h: Again fix same typo previously fixed Sept 5.
                   9251: 
                   9252: Mon Oct  7 17:28:23 1991  Michael Meissner  (meissner at osf.org)
                   9253: 
                   9254:        * xm-mips.h (MIPS): Define MIPS to 1 instead of nothing, so
                   9255:        mips-tfile will compile once again.
                   9256: 
                   9257: Mon Oct  7 17:10:32 1991  Richard Stallman  ([email protected])
                   9258: 
                   9259:        * cccp.c (main): Pedantically warn if no newline at end of file.
                   9260:        (finclude): Likewise.
                   9261: 
                   9262:        * c-decl.c (grokdeclarator): funcdef_flag overrides parm level.
                   9263: 
                   9264: Sun Oct  6 16:37:31 1991  Richard Stallman  ([email protected])
                   9265: 
                   9266:        * sparc.md (peephole for lo-sum and load df): Use output_move_double.
                   9267: 
                   9268:        * tree.h (DECL_BUILT_IN_NONANSI): New flag.
                   9269:        * c-decl.c (init_decl_processing): Set flag for `alloca'.
                   9270: 
                   9271:        * c-decl.c (duplicate_decls): Rearranged to reduce conditionals.
                   9272:        Allow redefining built-in functions as static even if new decl
                   9273:        is not a function.  Also allow if built-in is not ANSI.
                   9274: 
                   9275:        * out-sparc.c (output_move_double): Fix typo in test for using ldd.
                   9276: 
                   9277: Sun Oct  6 12:56:19 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9278: 
                   9279:        * expr.c (expand_expr, case COND_EXPR): Rename var added in last
                   9280:        change; some C compilers don't like "optab optab;".
                   9281: 
                   9282: Sun Oct  6 09:26:55 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9283: 
                   9284:        * cplus-method.c (build_overload_name): When walking up contexts, if
                   9285:        CONTEXT becomes a _TYPE node, point it at the _DECL node for the
                   9286:        type.
                   9287: 
                   9288:        * cplus-decl2.c (grokclassfn): Paremeter COMPLAIN deleted.  No
                   9289:        longer performs sanity check by itself.
                   9290:        (check_classfn): New function.  Performs sanity check that
                   9291:        `grokclassfn' used to do.  All callers changed.
                   9292: 
                   9293:        * tree.h (struct tree_decl): Add new ignored_flag; delete
                   9294:        lang_flag_8 to make room.
                   9295:        (DECL_IGNORED_P): New macro.
                   9296:        (DECL_LANG_FLAG_8): Deleted.
                   9297:        * cplus-dbxout.c (dbxout_type): Use this macro instead of
                   9298:        ANON_AGGRNAME_P.
                   9299:        * cplus-decl.c (pushtag): Set DECL_IGNORED_P when appropriate.
                   9300:        * cplus-decl.c (duplicate_decls): Ensure DECL_IGNORED_P remains
                   9301:        consistent.
                   9302: 
                   9303:        * cplus-decl.c (grokfndecl): If we have an overloaded operator, set
                   9304:        the DECL_NAME to something that dbxout.c can handle.
                   9305:        * cplus-method.c (hack_operator): Change this function to handle
                   9306:        this new behavior.
                   9307:        * cplus-init.c (do_friend): Ditto.
                   9308: 
                   9309: Sat Oct  5 14:32:01 1991  Richard Stallman  ([email protected])
                   9310: 
                   9311:        * expmed.c (expand_mult): Avoid fetching memory more than once.
                   9312: 
                   9313:        * tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1.
                   9314: 
                   9315:        * expr.c (expand_builtin): Clarify error message for BUILT_IN_NEXT_ARG.
                   9316: 
                   9317: Sat Oct  5 08:42:02 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9318: 
                   9319:        * cplus-decl.c (clear_anon_tags): New function.
                   9320:        (make_anon_name): Moved here from cplus-method.c.
                   9321:        * cplus-lex.c (check_for_missing_semicolon, note_list_got_semicolon):
                   9322:        call `clear_anon_tags' when done.
                   9323:        * cplus-dbxout.c (dbxout_type): No longer test ANON_AGGRNAME_P for
                   9324:        TYPE_NAMEs that are IDENTIFIER_NODES.  They no longer appear in GNU
                   9325:        C++.  Also, we can rely on the fact that there are no anon aggrnames
                   9326:        in tag lists.
                   9327: 
                   9328:        * cplus-decl.c (xref_tag): Set TREE_VEC_LENGTH (BINFOS) to the
                   9329:        number of basetypes that were actually accepted.
                   9330: 
                   9331:        * cplus-parse.y (datadef, fndef): Accept `extern "C"' as a storage
                   9332:        class specifier.
                   9333: 
                   9334:        * cplus-init.c (build_new): Handle allocating types whose TRUE_TYPEs
                   9335:        start off as ARRAY_TYPEs.
                   9336: 
                   9337:        * cplus-typeck.c (build_unary_op): We don't need to wrap
                   9338:        CURRENT_CLASS_DECL in a NON_LVALUE_EXPR when taking the address of
                   9339:        C_C_D.
                   9340: 
                   9341:        * cplus-init.c (resolve_offset_ref): Fix error message for
                   9342:        non-static member references.  Also, don't crash if EXP is not a
                   9343:        TREE_LIST or an OFFSET_REF.
                   9344: 
                   9345:        * cplus-expr.c (cplus_expand_expr): Handle OFFSET_REFs.
                   9346: 
                   9347:        * cplus-typeck.c (build_binary_op_nodefault): If PEDANTIC, don't
                   9348:        permit comparisons between pointers and integers.
                   9349: 
                   9350:        * cplus-decl2.c (explicit_warn_return_type): New variable.
                   9351:        * cplus-decl.c (grokdeclarator): Test `explicit_warn_return_type'
                   9352:        instead of `warn_return_type'.
                   9353: 
                   9354:        * cplus-decl.c (grokdeclarator): Fix criterium for deciding whether
                   9355:        to turn a FUNCTION_TYPE declaration into a METHOD_TYPE declaration
                   9356:        based on FRIENDP and STATICP.
                   9357:        (implicitly_declare): If PEDANTIC, treat this as an error.
                   9358: 
                   9359:        * cplus-cvt.c (convert_to_integer): Make anachronisms errors if
                   9360:        PEDANTIC is nonzero.
                   9361: 
                   9362:        * cplus-typeck.c (convert_for_assignment): If PEDANTIC, don't let
                   9363:        void * convert to non-void* types.  Similarly, don't let const*
                   9364:        pointers be assigned to non-const* pointers.  Similarly for signed
                   9365:        vs. unsigned pointers.
                   9366:        (warn_for_assignment): Add new parameter SEVERE.
                   9367: 
                   9368:        * cplus-decl.c (push_overloaded_decl): If PEDANTIC, give error when
                   9369:        functions overload variables.
                   9370: 
                   9371:        * cplus-decl2.c (grokfield): If PEDANTIC, don't let fields have
                   9372:        initializers (conditionalized on PEDANTIC).
                   9373:        * cplus-class.c (finish_struct): Set TYPE_GETS_{ASSIGNMENT,INIT_REF}
                   9374:        for UNION_TYPE.
                   9375: 
                   9376: Sat Oct  5 06:52:29 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9377: 
                   9378:        * expr.c (expand_expr, case COND_EXPR): Case for X ? A + 1 : A can
                   9379:        also handle MINUS_EXPR and BIT_*_EXPR.
                   9380: 
                   9381:        * rtl.h (copy_rtx_if_shared): Declare here.
                   9382:        * emit-rtl.c (unshare_copies): Delete unused variable.
                   9383:        (copy_rtx_if_shared): No longer static.
                   9384:        (reset_used_flags): New function.
                   9385:        * combine.c (copy_substitutions): Deleted.
                   9386:        (try_combine): When making new insns, ensure that we do not have any
                   9387:        improper sharing by using copy_rtx_if_shared; no longer call
                   9388:        copy_substitutions.
                   9389: 
                   9390:        * combine.c (try_combine): If an insn that is a PARALLEL of two sets
                   9391:        isn't recognized and the result of the second SET is unused, ignore it.
                   9392: 
                   9393: Fri Oct  4 15:25:33 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9394: 
                   9395:        * cplus-decl.c (set_identifier_type_value): New function.  Change
                   9396:        all callers of macro SET_IDENTIFIER_TYPE_VALUE to call this function
                   9397:        instead.
                   9398: 
                   9399:        * cplus-decl.c (pushdecl): Back out Sep 26 change.  ??? This problem
                   9400:        really has to be solved in a more global fashion.
                   9401:        (struct binding_level): New field `type_shadowed' for typenames that
                   9402:        get shadowed.  All pop* routines that restore from shadowed lists
                   9403:        now restore IDENTIFIER_TYPE_VALUE from the `type_shadowed' field.
                   9404: 
                   9405: Fri Oct  4 14:47:52 1991  Michael Meissner  (meissner at osf.org)
                   9406: 
                   9407:        * sdbout.c (include of syms.h): Don't include <syms.h> on MIPS
                   9408:        systems, since the system does not provide the file, rather use
                   9409:        "gsyms.h".  This is a problem for Silicon Graphics, and the System V
                   9410:        varient on RISC-OS, both of which define the USG macro.  Patch from
                   9411:        [email protected].
                   9412: 
                   9413: Fri Oct  4 13:37:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9414: 
                   9415:        * stor-layout.c (get_best_mode): Add a volatilep parameter
                   9416:        indicating that the smallest mode is desired.
                   9417:        * expmed.c, fold-const.c: All callers changed.
                   9418:        (optimize_bit_field_compare): Initialize {l,r}volatilep now that
                   9419:        they are used.
                   9420: 
                   9421: Thu Oct  3 22:08:45 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9422: 
                   9423:        * objc-actions.h (CLASS_SUPER_NAME): Change type.basetypes to
                   9424:        type.binfo so that it will compile.
                   9425: 
                   9426: Thu Oct  3 06:46:38 1991  Niklas Hallqvist  (niklas at appli.se)
                   9427: 
                   9428:         * cplus-tree.h (PARANOID): Don't define if already defined.
                   9429:        ({SET,CLEAR}_CLASSTYPE_MARKED*): New macros needed to get through
                   9430:        C compilers who don't allow comma expressions as lvalues.
                   9431:        ({SET,CLEAR}_BINFO_*): Ditto.
                   9432: 
                   9433:        * cplus-init.c: Use new SET/CLEAR macros.
                   9434: 
                   9435:        * cplus-search.c: Ditto.
                   9436:        
                   9437:        * cplus-decl.c: Ditto.
                   9438:        (lookup_tag): Accept *_DECLs as nodes in the context chain.
                   9439:        (lookup_nested_type): Accept FUNCTION_DECLs not only as head of
                   9440:        the context chain, but at any place in it.
                   9441: 
                   9442: Thu Oct  3 06:42:08 1991  Michael Meissner  (meissner at osf.org)
                   9443: 
                   9444:        * c-decl.c (c_decode_option): Add new switch -Wparentheses and
                   9445:        -Wnoparentheses to control whether GCC warns about adding extra ()'s
                   9446:        around a subexpression.  Make -Wparentheses default behavior.
                   9447:        (warn_parentheses): New global variable.
                   9448: 
                   9449:        * c-tree.h (warn_parentheses): New variable.
                   9450: 
                   9451:        * c-typeck.c (parser_build_binary_op): Check for warn_parentheses
                   9452:        before emitting warnings about adding ().
                   9453: 
                   9454: Wed Oct  2 20:51:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9455: 
                   9456:        * gcc.texinfo: Correct documentation for CONSTANT_ADDRESS_P,
                   9457:        CONSTANT_P, and HIGH.
                   9458: 
                   9459: Wed Oct  2 15:08:32 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9460: 
                   9461:        * cplus-class.c (modify_vtable_entries): Fix error in computing
                   9462:        offsets to use for virtual functions from virtual baseclasses.
                   9463:        * cplus-except.c (lookup_exception_type): Change local variable name
                   9464:        `binfo' to `link'.
                   9465:        * cplus-lex.c (yylex): Cast shorts to (long) when building longlong.
                   9466: 
                   9467: Wed Oct  2 11:32:35 1991  Michael Meissner  (meissner at osf.org)
                   9468: 
                   9469:        * tm-encrose.h (new file): New configuration file for Encore
                   9470:        Multimax running OSF/1, and using the OSF/rose object formats.
                   9471: 
                   9472: Wed Oct  2 08:33:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9473: 
                   9474:        * tree.h (TYPE_UID): Add this field to TYPE nodes.
                   9475:        * tree.c (make_node): Initialize it.
                   9476:        * dwarfout.c (TYPE_NAME_FMT): Use TYPE_UID rather than TREE_UID.
                   9477:        (equate_type_number_to_die_number): Discard type qualifiers.
                   9478:        (output_typedef_die): Don't use equate_type_number_to_die_number.
                   9479: 
                   9480: Wed Oct  2 08:04:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9481: 
                   9482:        * cse.c (cse_process_notes): Fix typo; missing arg in return.
                   9483: 
                   9484: Wed Oct  2 06:56:13 1991  Ron Guilmette  (rfg at ncd.com)
                   9485: 
                   9486:         * Makefile.in (ENQUIRE_CFLAGS): Remove duplicate use of GCC_CFLAGS.
                   9487: 
                   9488:        * Makefile.in (cplus-tab.c): Adjust number of expected conflicts.
                   9489: 
                   9490:        * Makefile.in (mostlyclean): Remove collect and collect2.
                   9491:    
                   9492:        * tm-svr4.h: Add new file; prototype for System V, Release 4.
                   9493: 
                   9494: Tue Oct  1 23:00:13 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9495: 
                   9496:        * reload.c (find_reloads_address): Fix error in previous change;
                   9497:        clean up REG case so it is easier to read.
                   9498: 
                   9499: Tue Oct  1 14:05:46 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9500: 
                   9501:        * cplus-decl.c (finish_{decl,function}): Use new function
                   9502:        `note_debug_info_needed' instead of setting CLASSTYPE_ASM_WRITTEN.
                   9503:        * cplus-search.c (note_debug_info_needed): New function.
                   9504:        Recursively set CLASSTYPE_ASM_WRITTEN in a hierarchy when called.
                   9505: 
                   9506:        * cplus-class.c (finish_struct): If DECL_NAME of the BASE_FNDECL is
                   9507:        NULL_TREE, we know we're looking at a virtual destructor.
                   9508: 
                   9509: Tue Oct  1 09:47:25 1991  Michael Meissner  (meissner at osf.org)
                   9510: 
                   9511:        * tm-mips.h (OPTIMIZATION_OPTIONS): Enable scheduling insns now for
                   9512:        -O2 optimization.
                   9513: 
                   9514:        * Makefile.in (STAGESTUFF): Add $(EXTRA_PASSES), to allow moving any
                   9515:        extra passes into the stage[1234] directories, and to remove the
                   9516:        extra stuff when doing make clean.
                   9517: 
                   9518: Tue Oct  1 08:35:11 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9519: 
                   9520:        * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): Undo this change.
                   9521: 
                   9522:        * c-decl.c (grokdeclarator): When making an unsigned bitfield
                   9523:        type from a typedef, preserve the size.  A typedef of an
                   9524:        explicitly signed typedef is explicitly signed.
                   9525: 
                   9526: Mon Sep 30 22:51:07 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9527: 
                   9528:        * out-sparc.c: Fix misc typos and indentation problems.
                   9529:        Delete all unnecessary extern declarations.
                   9530:        Include "recog.h".
                   9531:        Consistently use Pmode instead of SImode for addresses.
                   9532:        Use macros defined in tm-sparc.h instead of magic numbers.
                   9533:        (reg_or_0_operand): Accept CONST_DOUBLE zero.
                   9534:        (symbolic_operand): Accept CONST_DOUBLE.
                   9535:        (move_operand): Accept arith_double_operand ('H'), SMALL_INT
                   9536:        ('I'), and sethi operands ('K').
                   9537:        (move_pic_label): Renamed from move_reg_or_immed_operand.  If
                   9538:        flag_pic is true, accept a LABEL_REF, otherwise fail.
                   9539:        (arith_double_operand): Accept SMALL_INT ('I') CONST_INTs.  Correct
                   9540:        computation of when a CONST_DOUBLE is a SMALL_INT ('H').
                   9541:        (eligible_for_epilogue_delay): Accept arith_double_operands.
                   9542:        (emit_move_sequence): Handle arith_double_operands.  Handle
                   9543:        loading of labels for pic, need to add a clobber of %o7 (reg 15).
                   9544:        (find_addr_reg): Don't return FRAME_POINTER_REGNUM.  It is not
                   9545:        safe to play around with the frame pointer.
                   9546:        (hard_regno_mode_ok): Change from short to int array.
                   9547:        (output_pic_sequence, output_pic_sequence_2, fp_zero_hook): Delete
                   9548:        long obsolete routines.
                   9549:        (print_operand): Delete support for obsolete 'S' and 'H' cases.
                   9550:        (output_double_int): New function.  Outputs assembler code for 64
                   9551:        bit (DImode) values.
                   9552: 
                   9553:        * sparc.md: Fix misc typos and indentation problems.
                   9554:        Delete unnecessary (set_attr "type" "binary") lines.
                   9555:        Consistently use %a1 in sethi and ori output templates.
                   9556:        Consistently use Pmode not SImode for addresses.
                   9557:        Consistently use the same predicate for both operand 1 and
                   9558:        operand 2 in commutative patterns.  Don't use same predicate in
                   9559:        non-commutative patterns.
                   9560:        Consistently use \; to separate multiple instuctions.
                   9561:        Change "r%" to "%r".
                   9562:        (define_attr length): Handle arith_double_operand predicate.
                   9563:        (movsi): Combine two movsi patterns into one, except for loading
                   9564:        of pic labels.  New pattern to load pic labels, which clobbers %o7.
                   9565:        (movhi): Combine two movhi patterns into one.
                   9566:        (movqi): Combine two movqi patterns into one.
                   9567:        (movdi): Discourage the Q/f constraint option so that DImode
                   9568:        variables won't end up in floating pointer registers.
                   9569:        (floatsisf2, floatsidf2): Delete patterns accepting a const_int
                   9570:        operand.  These should never be matched.  In remaining patterns,
                   9571:        accept nonimmediate_operand instead of general_operand.
                   9572:        (adddi3, subdi3, anddi3, iordi3, xordi3, xnordi3, one_cmpldi2):
                   9573:        Accept arith_double_operand predicates and "HI" constraints.
                   9574:        (last peephole): Reg 0 should be CCmode not SImode.
                   9575: 
                   9576:        * tm-sparc.h: Fix misc typos.
                   9577:        (WORDS_BIG_ENDIAN): Indicate why it must be true.
                   9578:        (hard_regno_mode_ok): Change from short to int array.
                   9579:        (CONST_DOUBLE_OK_FOR_LETTER_P): Add new 'H' constraint, for DImode
                   9580:        constants that can fit in an immediate field.
                   9581:        (CONSTANT_ADDRESS_P): Accept any CONSTANT_P, including
                   9582:        CONST_DOUBLEs.
                   9583:        (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs if match 'H'
                   9584:        constaint.
                   9585:        (RTX_COSTS): Define cost for FLOAT to be more expensive than
                   9586:        CONST_DOUBLEs, so that cse will prefer the latter.
                   9587:        (ASM_OUTPUT_DOUBLE_INT): New macro to output DImode constants.
                   9588: 
                   9589:        * sched.c (schedule_block): When calculating register lifetime
                   9590:        info, handle CLOBBERs and USEs.  The code that adds REG_DEAD notes
                   9591:        already handles them.
                   9592:        (update_n_sets): New function, subroutine of update_links.
                   9593:        Given a SET or CLOBBER, updates reg_n_sets as appropriate,
                   9594:        depending on whether this is in a deleted or a new insn.
                   9595:        (update_links): Call update_n_sets to subtract info for split
                   9596:        insn, and add info for insns resulting from the split.
                   9597: 
                   9598: Mon Sep 30 19:06:50 1991  Michael Meissner  (meissner at osf.org)
                   9599: 
                   9600:        * ecoff-cmp (TMP): Fix typo, from [email protected].
                   9601: 
                   9602:        * mips-tfile.c (toplevel): Don't declare _flsbuf under Silicon
                   9603:        Graphics, from [email protected].
                   9604: 
                   9605: Mon Sep 30 15:54:02 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9606: 
                   9607:        * cse.c (cse_process_notes): New function.
                   9608:        (cse_basic_block): Call it for each insn.
                   9609:        (count_reg_usage): Count usage in a REG_EQUAL note.
                   9610:        (delete_dead_from_cse): Call count_reg_usage with insn, not pattern.
                   9611:        * loop.c (scan_loop): Replace a register used in a REG_EQUAL note.
                   9612:        (find_single_use_in_loop): Two uses in single insn doesn't disqualify.
                   9613:        Allow argument to be REG_NOTES.
                   9614:        (count_loop_regs_set): Call find_single_us_in_loop on REG_NOTES.
                   9615: 
                   9616: Mon Sep 30 15:47:03 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9617: 
                   9618:        * cplus-call.c (ideal_candidate): Return 0 if the top two candidates
                   9619:        have identical rankings but incompatible types.
                   9620: 
                   9621:        * cplus-lex.c (cons_up_default_function): Set DECL_NAME (FN) to
                   9622:        NULL_TREE in order to mark the function as being generated by the
                   9623:        compiler.
                   9624:        * cplus-init.c (emit_base_init): Change to use this interface.
                   9625:        * cplus-decl.c (duplicate_decls, redeclaration_error_message): Ditto.
                   9626:        (store_parm_decls): Ditto.
                   9627:        * cplus-decl2.c (grokclassfn): Ditto.
                   9628:        * cplus-dbxout.c (dbxout_type_methods): Ditto.
                   9629:        * cplus-class.c (finish_struct_methods): Ditto.
                   9630:        * cplus-method.c (fndecl_as_string): Ditto.
                   9631:        * cplus-search.c (lookup_fnfields_1): Ditto.
                   9632:        (compute_visibility): Ditto.
                   9633:        * cplus-typekc.c (build_function_call): Ditto.
                   9634:        * cplus-tree.c (lang_printable_name): Ditto.  Also use
                   9635:        DECL_ASSEMBLER_NAME instead of DECL_NAME in DESTRUCTOR_NAME_P test.
                   9636:        * calls.c (expand_call): Change also needed here.
                   9637: 
                   9638: Mon Sep 30 15:31:53 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   9639: 
                   9640:        * dbxout.c: Include <param.h> before config.h, because it may define
                   9641:        MIN and MAX.
                   9642: 
                   9643:        * fold-const.c (const_binop): Delete incorrect short cut for
                   9644:        (0 - const).
                   9645: 
                   9646:        * expr.c (do_tablejump): Pass GET_MODE (index) instead of Pmode to
                   9647:        emit_cmp_insn, because the latter fails when integers and pointers
                   9648:        are different sizes.
                   9649: 
                   9650:        * combine.c (subst): When checking to see if associating helps
                   9651:        simplify rtl, make sure we pass the constant operand if any as the
                   9652:        second one if this is a commutative operation.
                   9653: 
                   9654:        * cccp.c (rescan): Save obufp_before_macroname as an offset from
                   9655:        the start of op->buf instead of as a pointer into the middle, in
                   9656:        case op->buf gets realloced.
                   9657: 
                   9658: Mon Sep 30 14:07:20 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   9659: 
                   9660:        * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): TREE_UID is
                   9661:        unique only if the node is TREE_PERMANENT.  Augment the spelling
                   9662:        of labels using TREE_UID with the TREE_UID of the current function.
                   9663: 
                   9664:        Changes from Ron Guilmette:
                   9665:        * dwarfout.c (output_symbol): Deal with formal parameters with an
                   9666:        incomplete tagged type.
                   9667:        (output_bound_representation):  Fix for arrays with dynamic bounds.
                   9668: 
                   9669:        Changes from Jim Wilson:
                   9670:        * dwarfout.c: Define strrchr to rindex for non USG systems.
                   9671:        Use DECL_BIT_FIELD_TYPE not DECL_BIT_FIELD to test for bitfields.
                   9672: 
                   9673: Sun Sep 29 16:29:08 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9674: 
                   9675:        * reload.h (indirect_symref_ok): New variable.
                   9676:        * reload.c (find_reloads_address): Remove shadowing decls of `tem'.
                   9677:        Only allow certain forms addresses as indirect; check
                   9678:        indirect_symref_ok to see if (mem (symbol_ref ...)) is a valid
                   9679:        address; if not that form or simple, not valid indirect address.
                   9680:        * reload1.c (indirect_symref_ok): Define here.
                   9681:        (init_reload): Initialize vars used to determine which addrs are valid.
                   9682:        (reload): Don't do it here.
                   9683:        Update comment to relect what `alter_regs' currently does.
                   9684: 
                   9685:        * tree.h (struct tree_decl): Add new from_inline_flag; delete
                   9686:        lang_flag_9 to make room.
                   9687:        (DECL_FROM_INLINE): New macro.
                   9688:        (DECL_LANG_FLAG_9): Deleted.
                   9689:        * c-decl.c, cplus-decl.c (pushdecl): Use DECL_FROM_INLINE instead of
                   9690:        TREE_INLINE where appropriate.
                   9691:        * cplus-decl.c (finish_decl): Likewise.
                   9692:        * integrate.c (integrate_parm_decls, integrate_decl_tree): Set
                   9693:        DECL_FROM_INLINE instead of TREE_INLINE.
                   9694:        * print-tree (print_node): Print DECL_FROM_INLINE.
                   9695:        Delete reference to DECL_LANG_FLAG_9.
                   9696: 
                   9697: Sun Sep 29 12:49:47 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9698: 
                   9699:        * c-decl.c, c-typeck.c, cplus-decl.c, toplev.c:
                   9700:        Set/test TREE_ADDRESSABLE of DECL_ASSEMBLER_NAME, not DECL_NAME for
                   9701:        function decls.
                   9702: 
                   9703:        * cplus-class.c: Export `current_lang_stack' and
                   9704:        `current_lang_base'.
                   9705:        cplus-decl.c (push_overloaded_decl): Allow redeclaration of a
                   9706:        function that was previously given a linkage specification at
                   9707:        top-level (i.e., not in an explicit linkage arena).
                   9708: 
                   9709:        * cplus-typeck.c (convert_arguments): Strip the `&' from an
                   9710:        overloaded function passed as an argument into an ellipses.
                   9711: 
                   9712: Sat Sep 28 15:37:26 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9713: 
                   9714:        * cplus-typeck.c (build_x_binary_op): We have to special-case the
                   9715:        failure of MEMBER_REF to be overloaded as an operator.
                   9716: 
                   9717: Sat Sep 28 10:44:36 1991  Richard Kenner  ([email protected])
                   9718: 
                   9719:        * reload1.c (reload): If we find at some point that we need
                   9720:        caller-saves, disable elimination of the frame pointer.
                   9721: 
                   9722:        * reload.c (subst_reloads): Re-enable code to prevent making
                   9723:        a SUBREG inside a SUBREG.
                   9724: 
                   9725: Sat Sep 28 00:40:51 1991  Ken Raeburn  ([email protected])
                   9726: 
                   9727:        * cplus-pt.c (do_pending_expansions): Adjust "DECIDE" macro to avoid
                   9728:        compiler warning from Sun cc.
                   9729: 
                   9730: Fri Sep 27 17:30:39 1991  Per Bothner  (bothner at cygnus.com)
                   9731: 
                   9732:        * configure[.in]: Move most of the target_vendor switch
                   9733:        entries (e.g. next, sun, sony) from the m88k architecture to m68k,
                   9734:        where they belong.
                   9735: 
                   9736: Fri Sep 27 16:21:04 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9737: 
                   9738:        * cplus-search.c (recursive_bounded_basetype_p): Add new parameter
                   9739:        UPDATE_CHAIN so that function now behaves as comment prescribes.
                   9740:        * cplus-search.c (compute_visibility): Fix error in conversion of
                   9741:        data structures from list-based to binfo-based nodes.
                   9742: 
                   9743: Fri Sep 27 07:05:57 1991  Richard Kenner  ([email protected])
                   9744: 
                   9745:        * c-decl.c (pushdecl): Fix typo: TREE_EXTERNAL misspelled.
                   9746: 
                   9747: Thu Sep 26 17:36:14 1991  Michael Meissner  (meissner at osf.org)
                   9748: 
                   9749:        * tm-mips.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
                   9750: 
                   9751:        * tm-decrose.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c.
                   9752: 
                   9753:        * make-decrose (cplus-lex rule): Remove hacks in compiling
                   9754:        cplus-lex, since bug in 1.39 inlining was fixed to allow us to
                   9755:        compile the module normally.
                   9756: 
                   9757: Thu Sep 26 11:53:49 1991  Ken Raeburn  ([email protected])
                   9758: 
                   9759:        * cplus-tree.h (TEMPLATE_TYPE_*): Use slower versions that uses tree
                   9760:        structures more properly, so accessor macros don't lose.
                   9761: 
                   9762:        * cplus-pt.c (end_template_parm_list): For type parameters, make the
                   9763:        new decl be the name of the "type".
                   9764: 
                   9765:        * Makefile.in (cplus-tab.{c,h}): There are now 30 s/r conflicts.
                   9766: 
                   9767:        * cplus-class.c (resolves_to_fixed_type_p, case CALL_EXPR): Deleted
                   9768:        duplicate code.
                   9769: 
                   9770:        * cplus-decl.c (poplevel): Deleted duplicate code saving info on
                   9771:        accesses to external via non-global decls.
                   9772:        (pushdecl): For typedef of unnamed type, don't store new name for
                   9773:        type if not at global binding scope.  Also, don't need to test for
                   9774:        TYPE_DECL when previous conditional guarantees it.
                   9775:        (start_decl): Clear TREE_PUBLIC flag of templates.
                   9776:        (finish_decl): For variables in static storage with constructors,
                   9777:        force it into data section (out of common storage) only if the name
                   9778:        is externally visible.
                   9779: 
                   9780:        * cplus-gc.c (type_needs_gc_entry): If the type has no base types,
                   9781:        don't check to see whether they need gc entries.
                   9782: 
                   9783:        * cplus-parse.y (yyprint): Handle SCSPEC and AGGR.
                   9784: 
                   9785:        * cplus-pt.c (end_template_decl): Clear IDENTIFIER_TYPE_VALUE slots
                   9786:        for type parameters, then call adjust_type_value.
                   9787:        (instantiate_class_template): Do nothing if classname is
                   9788:        error_mark_node.
                   9789:        (mangle_class_name_for_template): Make buf a static array, since
                   9790:        its address gets returned.
                   9791: 
                   9792:        * reload1.c (reload): Provide array size in cast, to avoid compiler
                   9793:        warnings.
                   9794: 
                   9795:        From Niklas Hallqvist:
                   9796:        * cplus-tree.h (struct template_info): Added new field "aggr", which
                   9797:        will be class_type_node or struct_type_node for class or struct
                   9798:        templates.
                   9799:        * cplus-parse.y (template_def): Pass current_aggr to
                   9800:        end_template_decl.
                   9801:        (template_instantiation): Use aggr field.
                   9802:        * cplus-pt.c (end_template_decl): Argument IS_CLASS is now a tree,
                   9803:        used to set the aggr field.
                   9804:        (overload_template_name): Use aggr field.
                   9805: 
                   9806:        Suggested by John Carr:
                   9807:        * cplus-dbxout.c (dbxout_tags): Don't omit argument to
                   9808:        dbxout_finish_symbol.
                   9809:        (dbxout_continue): Omit declaration and definition if
                   9810:        DBX_CONTIN_LENGTH is not greater than zero, like its calls.
                   9811:        (print_int_cst_octal): Ditto, based on defined(WINNING_GDB).
                   9812:        * cplus-decl.c (GNU_end_scope): Never used; deleted.
                   9813:        (pushdecl): Vars nglobals, len are used only in code under "#if 0";
                   9814:        comment out decls as well.
                   9815:        * cplus-gc.c (expand_gc_prologue_and_epilogue): Variable "head" was
                   9816:        unused; deleted.
                   9817:        * cplus-init.c (expand_aggr_vbase_init_1): All args are type tree.
                   9818:        (expand_vec_init): Don't return without a value when "initializer
                   9819:        ends prematurely".
                   9820:        * cplus-method.c (build_overload_nested_name): Pass all necessary
                   9821:        arguments in recursive call.
                   9822:        * cplus-search.c (pop_type_level): Cast argument to pop_stack_level
                   9823:        to proper type.
                   9824:        (push_memoized_context): Ditto for push_type_level.
                   9825:        (my_copy_node): Unused; deleted.
                   9826:        (lookup_fnfields): Add missing arg to get_binfo.
                   9827:        (lookup_field): Ditto.
                   9828: 
                   9829:        From Niklas Hallqvist:
                   9830:        * cplus-decl.c (push_to_top_level): Handle case of function with
                   9831:        unnamed parms.
                   9832:        (pop_from_top_level): Ditto.
                   9833: 
                   9834: Thu Sep 26 07:46:08 1991  Richard Kenner  ([email protected])
                   9835: 
                   9836:        * loop.c (scan_loop): Don't eliminate register that is set by 
                   9837:        consecutive insns.
                   9838: 
                   9839: Wed Sep 25 18:53:52 1991  Richard Stallman  ([email protected])
                   9840: 
                   9841:        * c-decl.c (pushdecl): Suppress warnings about mismatch of
                   9842:        extern decl when it comes from inlining a function.
                   9843: 
                   9844:        * emit-rtl.c (set_new_first_and_last_label_number): New function.
                   9845:        (max_label_num): Use last_label_num if valid.
                   9846:        * integrate.c (output_inline_function): Call set_new_...
                   9847: 
                   9848: Wed Sep 25 18:37:36 1991  Richard Kenner  ([email protected])
                   9849: 
                   9850:        * flow.c (find_auto_inc): Set BLOCK_NUM of new insns emitted while
                   9851:        making an auto-inc.
                   9852: 
                   9853:        * Makefile.in (getopt*.o): Each file depends on its .c file and on
                   9854:        the compiler executable files.
                   9855: 
                   9856: Wed Sep 25 18:18:46 1991  Richard Stallman  ([email protected])
                   9857: 
                   9858:        * toplev.c (debug_info_level): New variable.
                   9859:        * flags.h (debug_info_level, enum debug_info_level): New declarations.
                   9860:        * toplev.c (main): Rewrite handling of -g* and -G* options.
                   9861:        Now -G indicates use of GDB extensions.  -g0 removed.
                   9862: 
                   9863: Tue Sep 24 03:20:07 1991  Richard Stallman  ([email protected])
                   9864: 
                   9865:        * alloca.c: Test __STDC__, not X3J11.
                   9866:        Do nothing if alloca is defined as a macro.
                   9867: 
                   9868: Tue Sep 24 09:15:17 1991  Richard Kenner  ([email protected])
                   9869: 
                   9870:        * global-alloc.c (eliminable_regset): New variable.
                   9871:        (global_alloc): Compute it and use to turn off conflicts.
                   9872:        Refine computation of no_global_alloc_regs when ELIMINABLE_REGS is
                   9873:        defined.
                   9874:        (mark_elimination): Don't do anything with allocnos and don't do
                   9875:        any allocation.
                   9876: 
                   9877:        * reload1.c (eliminate_regs_in_insn): Try to re-recognize insn if
                   9878:        we replaced a (set X (plus Y Z)).
                   9879: 
                   9880: Tue Sep 24 06:34:04 1991  Michael Tiemann  (tiemann at mole.gnu.ai.mit.edu)
                   9881: 
                   9882:        * cplus-tree.c (virtual_member): Change TREE_VALUE accessor macro to
                   9883:        BINFO_TYPE.
                   9884:        * tree.h (BINFO_TYPE): New name for BINFO_VALUE.
                   9885:        * All cplus-* files: Changed to reflect new name.
                   9886: 
                   9887: Mon Sep 23 12:56:11 1991  Michael Meissner  (meissner at osf.org)
                   9888: 
                   9889:        * tm-mips.h (ASM_SPEC): Fix typo, and close {}'s properly.
                   9890: 
                   9891: Mon Sep 23 10:30:51 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9892: 
                   9893:        * cplus-tree.c (propagate_assoc_offsets): Keep relative offsets of
                   9894:        child_child correct when copying children.
                   9895: 
                   9896:        * cplus-class.c Use `BINFO_VALUE' instead of `TREE_VALUE' when
                   9897:        accessing the type value of a binfo node.
                   9898:        * cplus-decl.c (finish_function): Ditto.
                   9899:        * cplus-init.c (build_vbase_delete): Ditto.
                   9900: 
                   9901: Mon Sep 23 06:11:56 1991  Richard Kenner  ([email protected])
                   9902: 
                   9903:        * flow.c (reg_n_refs): Use int, not short.  Short can overflow
                   9904:        if we have very deep loop nesting.
                   9905:        (allocate_for_life_analysis): Allocate reg_n_refs as int.
                   9906:        * regs.h (reg_n_refs): Now int.
                   9907:        * sched.c: Delete duplicate definitions of objects defined in regs.h.
                   9908: 
                   9909:        * combine.c (try_combine): Correctly check for independent insns
                   9910:        in a PARALLEL.
                   9911: 
                   9912:        * combine.c (distribute_note, case REG_DEAD): If we discover a register
                   9913:        is never used, see if we can delete the insn that set it.
                   9914: 
                   9915: Sun Sep 22 19:24:52 1991  Michael Tiemann  (tiemann at cygnus.com)
                   9916: 
                   9917:        * cplus-type2.c (build_functional_cast): Don't forget a valid
                   9918:        function call if we found one (and nothing more).
                   9919: 
                   9920: Sun Sep 22 07:48:18 1991  Richard Kenner  ([email protected])
                   9921: 
                   9922:        * rtlanal.c (rtx_varies_p, case REG): Correct typo; sense of comparison
                   9923:        was backwards.
                   9924: 
                   9925:        * global-alloc.c (mark_elimination): Don't use HARD_REG_SET macros
                   9926:        to access basic_block_live_at_start.
                   9927: 
                   9928:        * reload1.c (set_label_offsets): New function.
                   9929:        (offsets_known_at, offsets_at): New variables.
                   9930:        (reload): Allocate and initialize them.
                   9931:        Set each label in FORCED_LABELS to be at initial offsets.
                   9932:        Call set_label_offset on all insns that might involve labels.
                   9933:        Use GET_RTX_CLASS when appropriate.
                   9934:        (eliminate_regs, mark_not_eliminable): Ignore sets of FP when looking
                   9935:        for sets of a "to" register.
                   9936:        (eliminate_regs_in_insn): No longer suppress elimination for any
                   9937:        pair not at its initial offet at a jump.
                   9938:        
                   9939:        * combine.c (distribute_links): Correctly find the place to put a
                   9940:        link.  Handle the case when we eliminate all uses of something that
                   9941:        we used to use; in that case, we must seach forward.
                   9942:        No longer need I3, I2, or ALL_ADJACENT arguments.
                   9943:        (try_combine): Change calls to distribute_links.
                   9944: 
                   9945:        * reload.c (find_equiv_reg): Use GET_RTX_CLASS when appropriate.
                   9946:        If GOAL is a MEM whose address varies, check whether registers
                   9947:        that are SET appear in the address rather than assuming they do.
                   9948:        Ensure REG_INC note is a REG; ignore it if not.
                   9949: 
                   9950:        * rtlanal.c (rtx_varies_p): Rework to use switch statement.
                   9951:        Check for {frame,arg}_pointer_rtx, not just register number.
                   9952:        (rtx_addr_can_trap_p): New function.
                   9953:        (may_trap_p): Use rtx_addr_can_trap_p instead of rtx_varies_p.
                   9954:        * genattrtab.c: Define {frame,arg,stack}_pointer_rtx for rtlanal.c.
                   9955: 
                   9956:        * combine.c (make_extraction): Make a ZERO_EXTRACT for something with
                   9957:        pos == 0 if it will be placed in a SET_DEST.
                   9958: 
                   9959:        * expmed.c (expand_shift): Rotate case was missing return statement.
                   9960:        extzv case had wrong arg to delete_insns_since.
                   9961:        Remove unneeded calls to delete_insns_since.
                   9962:        Allow BITS_BIG_ENDIAN to vary at run-time.
                   9963:        Use variable TEMP in a consistent manner.
                   9964:        Other miscellaneous changes and cleanups were made.
                   9965: 
                   9966:        * flow.c (max_uid_for_flow): New variable.
                   9967:        (flow_analysis): Compute maximum uid into max_uid_for_flow; if
                   9968:        we might have auto-inc, leave some space.
                   9969:        (find_auto_inc): Verify that the uid's of the insns we make are
                   9970:        within the allocated space of our per-insn tables.
                   9971:        Use get_insns instead of gen_sequence.
                   9972: 
                   9973:        * global-alloc.c (retry_global_alloc): When we allocate a register,
                   9974:        update regno_reg_rtx and mark the allocated register live.
                   9975:        (mark_elimination): New function.
                   9976:        * reload1.c (reload): Call mark_elimination for every elimination
                   9977:        we have been able to do.
                   9978:        (spill_hard_reg): No longer need to call mark_home_live.
                   9979: 
                   9980: Sun Sep 22 02:07:55 1991  Richard Stallman  ([email protected])
                   9981: 
                   9982:        * fixincludes: Redirect cmp output to /dev/null; don't close it.
                   9983: 
                   9984:        * varasm.c (assemble_function): Handle ASM_OUTPUT_FUNCTION_PREFIX.
                   9985: 
                   9986:        * final.c (final_scan_insn): No need to goto text section
                   9987:        for label on jump table.  We're normally in the text section.
                   9988: 
                   9989: Sat Sep 21 14:59:32 1991    (Eric Youngdale at [email protected])
                   9990: 
                   9991:        * make-cc1.com:  Fix typo in code that decides if bison needs to be
                   9992:        run.  Also, display a message when building the compiler that informs
                   9993:        the user about the need to update the assembler.
                   9994: 
                   9995: Sat Sep 21 17:23:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   9996: 
                   9997:        * loop.c (struct movable): Add field DEPENDENCIES.
                   9998:        (scan_loop): Remove mechanism based on REG_TO_FORCE and
                   9999:        MOVABLE_TO_FORCE.  Replace with use of new field.
                   10000:        Optionally allocate and initialize reg_single_usage and pass it to
                   10001:        count_loop_regs_set.
                   10002:        If an invariant register is used exactly once and this is a loop
                   10003:        that has a CALL_INSN, try to substitute the definition of the register
                   10004:        into its use.
                   10005:        (record_excess_regs): Fix typo in sense of checking in NOT_IN_THIS;
                   10006:        only check pseudo-regs.
                   10007:        (libcall_other_reg): Always return the list of registers used,
                   10008:        no matter how many there are.
                   10009:        (combine_movable): Only combine two movables if they have the same
                   10010:        dependencies.
                   10011:        (move_movables): Can only move something if its dependencies have
                   10012:        already been moved.
                   10013:        (find_single_use_in_loop): New function.
                   10014:        (count_loop_regs_set): Delete code that prevents moving a reg that
                   10015:        is used as a function address.
                   10016:        Call find_single_use_in_loop when required.
                   10017: 
                   10018: Sat Sep 21 16:28:34 1991  Richard Stallman  ([email protected])
                   10019: 
                   10020:        * c-typeck.c (build_unary_op):
                   10021:        Handle const and volatile lvalues correctly in ADDR_EXPR.
                   10022: 
                   10023:        * output.h (current_function_contains_functions):
                   10024:        Just declare it, don't define it.
                   10025: 
                   10026:        * cse.c (exp_equiv_p): New arg EQUAL_VALUES.  All callers changed.
                   10027: 
                   10028: Sat Sep 21 12:59:15 1991  Michael Tiemann  (tiemann at cygnus.com)
                   10029: 
                   10030:        * cplus-parse.y (object_star): New rule.
                   10031:        (POINTSAT_STAR): New token.
                   10032:        * cplus-lex.c (init_lex): Define entry for MEMBER_REF.
                   10033:        GNU C++ now overloads `operator->*' according to ARM semantics.  It
                   10034:        no longer attempts to implement operator->* as two distinct
                   10035:        operations.
                   10036: 
                   10037: Fri Sep 20 18:08:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10038: 
                   10039:         * combine.c (subst): Don't replace a CC0 or a PC in a SET_DEST if
                   10040:         FROM is the same thing.
                   10041:  
                   10042:        * combine.c (simplify_shift_const): Compute SHIFT_MODE at start of
                   10043:        loop and use its width, rather than width of RESULT_MODE, when checking
                   10044:        shift count.
                   10045: 
                   10046: Fri Sep 20 10:55:55 1991  Michael Tiemann  (tiemann at cygnus.com)
                   10047: 
                   10048:        * cplus-pt.c (uses_template_parms): Handle COMPONENT_REF case.
                   10049: 
                   10050: Fri Sep 20 00:27:43 1991  Richard Stallman  ([email protected])
                   10051: 
                   10052:        * c-typeck.c (build_modify_expr): When assigning to a cast,
                   10053:        convert value first to the type being cast to.
                   10054:        (build_unary_expr): Disallow adress of a cast.
                   10055: 
                   10056:        * explow.c (allocate_dynamic_stack_space):
                   10057:        Handle SETJMP_VIA_SAVE_AREA before rounding to STACK_BOUNDARY.
                   10058: 
                   10059: Thu Sep 19 21:13:17 1991  Richard Stallman  ([email protected])
                   10060: 
                   10061:        * Makefile.in (dist, gcc-*.tar, gcc-*.tar.Z): New targets.
                   10062: 
                   10063:        * jump.c (jump_optimize): In handling `if (...) x = a; else x = b;',
                   10064:        don't crash if scan reaches start of insns.
                   10065: 
                   10066:        * Makefile.in (protoize): Link with getopt.o and getopt1.o.
                   10067:        (unprotoize): Likewise.
                   10068:        (protoize.o): Depend on getopt.h.  Pass -D options for include dirs.
                   10069:        (unprotoize.o): Likewise.
                   10070:        (getopt.o, getopt1.o): New targets.
                   10071: 
                   10072:        * protoize.c: Major rewrite by RFG and RMS.
                   10073: 
                   10074: Thu Sep 19 09:58:25 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   10075: 
                   10076:        Changes from Ron Guilmette:
                   10077:        * dwarfout.c: Keep track of next_block_number correctly.
                   10078:        * final.c (final_scan_insn): Don't invoke dwarfout_{begin,end}_block
                   10079:        for the outermost block of a function.
                   10080: 
                   10081: Thu Sep 19 06:16:34 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10082: 
                   10083:        * reload.c (copy_replacements): New function.
                   10084:        * optabs.c (gen_move_insn): Don't call gen_lowpart while reloading
                   10085:        is in progress; it calls change_address, which wants to make pseudos.
                   10086: 
                   10087:        * combine.c (subst, case SET): Fix typo in last change.
                   10088: 
                   10089:        * combine.c (distribute_notes): When searching back for a place that
                   10090:        uses a register marked REG_DEAD, check for set and reference separately
                   10091:        since reg_overlap_mentioned_p doesn't check SET_DEST.
                   10092: 
                   10093:        * combine.c (simplify_shift_const): Correct handling of shift counts
                   10094:        that become out-of-range.
                   10095: 
                   10096:        * combine.c (expand_field_assignment): Don't allow sharing the RTL
                   10097:        for the inner object.
                   10098: 
                   10099:        * combine.c (can_combine_p, try_combine, record_value_for_reg): Use 
                   10100:        reg_overlap_mentioned_p instead in reg_mentioned_p in most places.
                   10101:        (distribute_notes, distribute_links): Likewise.
                   10102:        (combinable_i3pat): New function, from try_combine.
                   10103:        (try_combine): Default I1DEST and I1SRC to zero.
                   10104:        New var I1_FEEDS_I3.
                   10105:        Delete code to validate I3's pattern from here; call combinable_i3pat
                   10106:        instead.
                   10107:        If a substitution returns a (clobber (const_int 0)), stop immediately.
                   10108:        Don't abort if substitution made new regs; just don't do combine.
                   10109:        (subst): If IN_DEST, don't replace a matching object.
                   10110:        Don't look at a REG as a SET_DEST.
                   10111:        If substitution inside a PARALLEL fails, give up immediately.
                   10112:        Return (clobber (const_int 0)) even for a SET whose operand fails.
                   10113:        (subst, case SET): Correctly test for low-order SUBREG.
                   10114:        Don't use gen_lowpart_for_combine; make SUBREG explicitly since it
                   10115:        can't handle modes larger than a word.
                   10116: 
                   10117:        * combine.c (subst, case NOT): Code for (not (ashiftx ..)) was too
                   10118:        general; only handle (not (ashift 1 X)).
                   10119:        (subst, case NEG): Handle (neg (ashift ...)).
                   10120:        (merge_outer_ops): Support NEG.
                   10121:        (simplify_shift_const, case NEG): Handle (ashift (neg ...)).
                   10122: 
                   10123:        * cse.c (simplify_binary_operation, case ROTATE, ROTATERT):
                   10124:        Rotating all one bits is just all ones.
                   10125: 
                   10126: Thu Sep 19 01:08:14 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10127: 
                   10128:        * cplus-parse.h, cplus-decl.h: Remove trailing comma after the last
                   10129:        enum value in enum declarations.
                   10130: 
                   10131:        * cplus-type2.c (digest_init): Set TREE_PURPOSE of union initializer
                   10132:        when initializing a union by the first field.
                   10133: 
                   10134:        * cplus-method.c (fndecl_as_string): Test whether DECL_CLASS_CONTEXT
                   10135:        is NULL before using it.
                   10136:        (dump_aggr_type): New function.  Print aggr type's context when
                   10137:        appropriate.
                   10138:        (dump_type{_prefix}): Use `dump_aggr_type' to print ENUMERAL_TYPE,
                   10139:        UNION_TYPE, and STRUCT_TYPE types.
                   10140: 
                   10141:        * cplus-decl.c (start_decl): Don't use DECL_CLASS_CONTEXT if DECL
                   10142:        has no DECL_LANG_SPECIFIC.
                   10143: 
                   10144: Wed Sep 18 21:46:32 1991  Michael Meissner  (meissner at osf.org)
                   10145: 
                   10146:        * mips-tfile.c (cur_proc_value): New static to remember the starting
                   10147:        location of the current function.
                   10148:        (add_procedure): Save current procedure location.
                   10149:        (parse_begin, parse_bend): Subtract cur_proc_value from location.
                   10150:        (parse_bend): Correct error messages.
                   10151:        The above changes are from [email protected].
                   10152: 
                   10153:        * tm-mips.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
                   10154:        invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
                   10155:        the original .o file before mips-tfile is called.  Pass the correct
                   10156:        name for the assembler file.
                   10157:        (MASK_MIPS_TFILE): New mask for -mmips-tfile, -mno-mips-tfile, set
                   10158:        to 0, since that switch is handled entirely in ASM_FINAL_SPEC.
                   10159:        (TARGET_FLAGS): Add -mmips-tfile, -mno-mips-tfile switches.
                   10160:        (MUST_SAVE_REGISTER): Allow $30 to be saved, even if not being used
                   10161:        as the frame pointer.
                   10162: 
                   10163:        * tm-decrose.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress
                   10164:        invoking mips-tfile, instead of using -g0.  If -save-temps, preserve
                   10165:        the original .o file before mips-tfile is called.  Pass the correct
                   10166:        name for the assembler file.
                   10167: 
                   10168: Wed Sep 18 18:54:15 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10169: 
                   10170:        * cplus-*.c: Use DECL_CLASS_CONTEXT to figure out where a (static or
                   10171:        non-static) member function is declared, rather than trying to
                   10172:        divine the info from TYPE_METHOD_BASETYPE of the function's type.
                   10173: 
                   10174: Wed Sep 18 15:38:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10175: 
                   10176:        * c-decl.c (grokdeclarator): Error if nested function is extern.
                   10177: 
                   10178: Wed Sep 18 02:41:08 1991  Per Bothner  (bothner at cygnus.com)
                   10179: 
                   10180:        * cplus-typeck.c (convert_arguments):  Don't crash if the
                   10181:        formal parameter type is unknown (type==NULL) and the
                   10182:        actual is a function.  Do the default instead.
                   10183: 
                   10184: Tue Sep 17 22:33:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10185: 
                   10186:        * c-typeck.c (check_format):
                   10187:        No warning if types match except for signedness.
                   10188: 
                   10189: Tue Sep 17 10:56:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10190: 
                   10191:        * cplus-decl.c (pushtag): When creating a TYPE_DECL that's in class
                   10192:        scope, allocate the space needed for DECL_CLASS_CONTEXT.
                   10193: 
                   10194:        * cplus-search.c (get_abstract_virtuals): If the BASE is not on the
                   10195:        main spine, look at the virtuals that come from the most derived
                   10196:        class that has BASE on its main spine.
                   10197:        * cplus-tree.h (VF_*): New macros for dealing with VFIELDS.
                   10198: 
                   10199: Mon Aug 16 12:09:32 1991    (Eric Youngdale at [email protected])
                   10200: 
                   10201:        * make.com: Fix typo.
                   10202: 
                   10203: Tue Sep 17 15:13:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10204: 
                   10205:        * c-common.c (shorten_compare): Always compute args with side effects.
                   10206: 
                   10207:        * varasm.c (decode_addr_const): Use SYMBOL_REF unchanged in 1st switch.
                   10208: 
                   10209:        * varasm.c (output_addressed_constants):  Handle a CONSTRUCTOR in
                   10210:        an ADDR_EXPR correctly.
                   10211:        
                   10212:        * cccp.c (rescan): For unterm string, mention lineno of first newline.
                   10213: 
                   10214:        * fold-const.c (fold): Call optimize_bit_field_compare in constant case
                   10215:        even if not optimizing.
                   10216: 
                   10217:        * c-decl.c (finish_function): Don't clear DECL_INITIAL if nested.
                   10218:        (pop_c_function_context): Do it here instead.
                   10219: 
                   10220: Tue Sep 17 11:30:32 1991  Michael Meissner  (meissner at osf.org)
                   10221: 
                   10222:        * collect-osf.c (scan_prog_file): Recognize alternate forms for the
                   10223:        constructor and destructor names.
                   10224: 
                   10225:        * osf-main.c (_entry): Provide an alternative function (_entry) to
                   10226:        start up the static constructors/destructors.
                   10227: 
                   10228: Mon Sep 16 05:35:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10229: 
                   10230:        * combine.c (simplify_shift_const): Correct errors involving modes
                   10231:        to use for shift.
                   10232: 
                   10233: Sun Sep 15 19:13:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10234: 
                   10235:        * reload1.c (reload_as_needed): Remove code that deletes insns that
                   10236:        create equivalences.
                   10237:        (reload): Put it here so it is executed even if reload_as_needed
                   10238:        isn't called.
                   10239: 
                   10240: Sun Sep 15 17:13:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10241: 
                   10242:        * Makefile.in (GNULIB2_CFLAGS): Include GCC_CFLAGS.
                   10243:        (ENQUIRE_CFLAGS): Likewise (in place of plain CFLAGS).
                   10244: 
                   10245:        * genattrtab.c (main): Don't index by id->insn_code if negative.
                   10246: 
                   10247:        * genrecog.c (write_tree_1): Avoid pos[depth-1] if depth is 0.
                   10248: 
                   10249: Sun Sep 15 15:19:16 1991    (Eric Youngdale at [email protected])
                   10250: 
                   10251:        * make.com: Modify to allow direct submission to a batch queue.
                   10252:        Also, add instructions to build GNU C++ as well as GNU CC.
                   10253: 
                   10254:        * cccp.c (hack_vms_include_specification): If [000000] is present in
                   10255:        (implying a physical device or a rooted logical) try to open it.
                   10256:        If the open fails, then remove the [000000] (making the name suitable
                   10257:        for use with a non-rooted logical name) and return that.
                   10258: 
                   10259: Sun Sep 15 15:12:41 1991  Michael Meissner  (meissner at osf.org)
                   10260: 
                   10261:        * make-mips (Makefile): Remove rule building Makefile, since
                   10262:        Makefile.in now has one.
                   10263: 
                   10264:        * make-decrose (Makefile): Remove rule building Makefile, since
                   10265:        Makefile.in now has one.
                   10266: 
                   10267: Sun Sep 15 14:12:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10268: 
                   10269:        * Makeflags (SYSCALLS.c.X): Use CPPFLAGS and INCLUDES.
                   10270: 
                   10271: Sun Sep 15 12:03:35 1991  Michael Tiemann  (tiemann at cygnus.com)
                   10272: 
                   10273:        * cplus-decl.c (poplevel): Match change made to c-decl.c on Oct 3,
                   10274:        1989.
                   10275: 
                   10276: Sun Sep 15 06:52:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10277: 
                   10278:        * caller-save.c (save_call_clobbered_regs): Deaden registers mentioned
                   10279:        in REG_UNUSED notes.
                   10280:        (clear_reg_live): Verify that note refers to a REG.
                   10281:        (choose_hard_reg_mode): Rewrite to not use specific modes and to
                   10282:        handle the case where separate CCmode registers exist.
                   10283: 
                   10284: Sat Sep 14 13:03:29 1991  Michael Tiemann  (tiemann at cygnus.com)
                   10285: 
                   10286:        * all cplus-* files: Change {ASSOC,assoc} to {BINFO,binfo} where
                   10287:        appropriate.
                   10288:        cplus-tree.h, tree.h: Change name of CLASSTYPE_ASSOC to TYPE_BINFO.
                   10289:        Change names of CLASS_ASSOC_* to TYPE_BINFO_*.
                   10290:        all cplus-* files: FUNCTION_DECLs that are class methods now have
                   10291:        their DECL_VCONTEXT stored in the DECL_CONTEXT.
                   10292:        (lang_decl): The VCONTEXT field is now gone.
                   10293:        (lang_decl): _DECL nodes in class scope now record the class as a
                   10294:        context in the DECL_CLASS_CONTEXT field.
                   10295:        tree.h (TYPE_BINFO): Renamed TYPE_BASETYPES to this.
                   10296:        dbxout.c (dbxout_type): User of TYPE_BASETYPES changed.
                   10297:        (BINFO_{VALUE,OFFSET,VTABLE,VIRTUALS,BASETYPE{S}}): New macros
                   10298:        inherited from GNU C++.
                   10299:        (DECL_{VINDEX,FCONTEXT}): Ditto.
                   10300:        (TREE_VIA_{PUBLIC,VIRTUAL}): Ditto.
                   10301: 
                   10302: Sat Sep 14 09:14:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10303: 
                   10304:        * rtlanal.c (reg_set_p): Remove abort for MEM; reg_overlap_mentioned_p
                   10305:        now handles that case correctly.
                   10306:        REG is set if it is really a MEM and this is a CALL_INSN.
                   10307: 
                   10308: Sat Sep 14 01:34:39 1991  Richard Stallman  ([email protected])
                   10309: 
                   10310:        * configure (vax-ultrix*): New alternative.
                   10311: 
                   10312:        * reload1.c (choose_reload_regs): Always ignore cancelled reloads.
                   10313: 
                   10314:        * real.h (atof): Alternate declaration on MIPS.
                   10315: 
                   10316: Thu Sep 12 18:55:06 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
                   10317: 
                   10318:        * optabs.c (expand_binop): Fix carry propagation code for multiple
                   10319:        words.
                   10320: 
                   10321:        * tm-*.h: Fix systematic typo in comment.
                   10322: 
                   10323: Thu Sep 12 18:23:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10324: 
                   10325:        * gvarargs.h, va-mips.h, va-sparc.h (_va___list): Was __va_list.
                   10326: 
                   10327: Thu Sep 12 12:53:36 1991  Roland H. Pesch  (pesch at cygint.cygnus.com)
                   10328: 
                   10329:        * cpp.texinfo: (titlepage) use @title/@subtitle/@author
                   10330:        (copyright page) add note re future C manual; add 1991 to copyrights
                   10331:        (general) prepare for easy @smallbook formatting; clarification on
                   10332:        strings; less passive; add AMD29K predefined macros; update -d refs,
                   10333:        add -dM; add examples; add -pedantic-errors; add -MD, -MMD, -H; fix
                   10334:        minor typos.    
                   10335: 
                   10336: Thu Sep 12 07:58:11 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
                   10337: 
                   10338:        * m68k.md (umulsidi3, mulsidi3): New DEFINE_EXPANDs and DEFINE_INSN
                   10339:        recognizers.
                   10340: 
                   10341: Wed Sep 11 22:11:17 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10342: 
                   10343:        * a29k.md, romp.md: Update calling sequence to emit_no_conflict_block.
                   10344: 
                   10345: Wed Sep 11 21:06:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10346: 
                   10347:        * fold-const.c (const_binop): Fix last change for ceil and round.
                   10348: 
                   10349:        * gvarargs.h, va-mips.h, va-sparc.h (va_list): Now a macro again.
                   10350:        (__va_list): This is the typedef.
                   10351: 
                   10352: Wed Sep 11 16:52:20 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10353: 
                   10354:        * c-typeck.c (build_binary_op_nodefault, RSHIFT_EXPR): Change
                   10355:        "shift count" warnings changed to errors back to warnings.
                   10356: 
                   10357:        * cse.c (canon_hash): Also do not record global_regs if
                   10358:        SMALL_REGISTER_CLASSES.  Makes the code match the comment.
                   10359: 
                   10360:        * cexp.y (yylex): Add sprintf call to create error message,
                   10361:        because yyerror does not call *printf itself.
                   10362: 
                   10363:        * gcc.c (default_compilers): Support new option -traditional-cpp,
                   10364:        which passes traditional to cpp, but not to cc1.
                   10365:        * gcc.texinfo: Document it.
                   10366: 
                   10367:        * sched.c (INSN_LUID): New variable.  Give instructions logical
                   10368:        numbers, which can be used when sorting, to make the scheduling
                   10369:        algorithm more stable.
                   10370:        (sched_analyze): Initialize it.
                   10371:        (rank_for_schedule): Sort on it.
                   10372:        (schedule_insns): Alloca(te) it and (b)zero it.
                   10373:        (priority):  New priority algorithm.  Don't include latency of
                   10374:        current insn, and subtract one from total priority calculated.
                   10375:        Makes the scheduling algorithm more stable, and doesn't hurt
                   10376:        performance.
                   10377: 
                   10378:        * sched.c (swap_sort): Must pass &insn to rank_for_schedule, not a
                   10379:        pointer into the array being sorted.
                   10380: 
                   10381:        * cplus-lex.c (do_identifier): Put function return type on
                   10382:        preceeding line.
                   10383: 
                   10384: Wed Sep 11 05:51:00 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10385: 
                   10386:        * cplus-typeck.c (build_binary_op_nodefault): If OP0 or OP1 is a
                   10387:        zero pointer, canonicalize it to NULL_POINTER_NODE.
                   10388: 
                   10389:        * expr.c (preexpand_calls): Don't preexpand calls inside a
                   10390:        WITH_CLEANUP_EXPR.  The gestalt of a WITH_CLEANUP_EXPRs must be
                   10391:        understood at the top level.
                   10392: 
                   10393:        * cplus-tree.c (build_cplus_new): When building cleanup, make
                   10394:        the call to the cleanup nonvirtual.
                   10395: 
                   10396: Tue Sep 10 20:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10397: 
                   10398:        * fold-const.c (const_binop): Shortcut for dividing single-word
                   10399:        sizes
                   10400: 
                   10401:        * Makefile.in (varasm.o): Depend on insn-codes.h.
                   10402: 
                   10403: Tue Sep 10 19:29:26 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10404: 
                   10405:        * optabs.c (expand_binop): Try to open-code muldi3 if we have mulsi3
                   10406:        and mulsidi3.  Idea due to [email protected].
                   10407: 
                   10408:        * cse.c (fold_rtx, case MEM): Don't call find_best_addr when insn == 0.
                   10409:        Pass 0 to recursive call that tries to fold the address.
                   10410: 
                   10411: Tue Sep 10 18:16:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10412: 
                   10413:        * m68k.md (fix_trunc*):  Call CC_STATUS_INIT, since these patterns
                   10414:        do not leave the condition codes in the expected state.
                   10415: 
                   10416:        * tm-ultrix.h (CPP_PREDEFINES): Add __vax.
                   10417: 
                   10418: Tue Sep 10 04:12:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10419: 
                   10420:        * cplus-decl.c (finish_decl): Fix bug where the conversion from
                   10421:        WITH_CLEANUP_EXPR -> init/cleanup pair was not setting bits of
                   10422:        CURRENT_BINDING_LEVEL.
                   10423:        (init_decl_processing): Set FLAGS_THIS_IS_VARIABLE before calling
                   10424:        `init_exception_processing'.
                   10425: 
                   10426: Mon Sep  9 22:09:27 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10427: 
                   10428:        * cplus-tree.h (prev_class_type): Delete this bogus definition.
                   10429: 
                   10430:        * cplus-class.c (instantiate_type): Don't complain about no static
                   10431:        member functions being found until we have been through all the
                   10432:        baselinks.
                   10433: 
                   10434:        * cplus-dbxout.c (dbxout_type_methods): Don't write symbol
                   10435:        information about methods that were generated by the compiler.
                   10436:        (??? Is this really the right thing to do?)
                   10437: 
                   10438:        * cplus-decl2.c (lang_decode_option): Turn on warn_uninitialized if
                   10439:        -Wall is the argument.
                   10440: 
                   10441: Mon Sep  9 19:05:01 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10442: 
                   10443:        * gcc.c (default_compilers): For .S files, pass -traditional not
                   10444:        -ftraditional to cpp.
                   10445: 
                   10446: Mon Sep  9 15:01:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10447: 
                   10448:        * fold-const.c (optimize_bit_field_compare): Distinguish NE from EQ.
                   10449: 
                   10450:        * explow.c (allocate_dynamic_stack_space):
                   10451:        Handle SETJMP_VIA_SAVE_AREA by allocating extra space.
                   10452: 
                   10453:        * cplus-parse.y (empty_parms): Change inline to __inline.
                   10454: 
                   10455: Mon Sep  9 15:16:24 1991  Torbjorn Granlund  (tege at zevs)
                   10456: 
                   10457:        * longlong.h (m68000 umul_ppmm): Clobber one register less by
                   10458:        slightly rearranging the code.
                   10459: 
                   10460: Sun Sep  8 16:47:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10461: 
                   10462:        * cccp.c (main, fatal): Delete the deps output file if error.
                   10463:        (deps_file): New variable.
                   10464: 
                   10465:        * expr.c (convert_move): Update call to emit_no_conflict_block.
                   10466: 
                   10467:        * expmed.c (CEIL): New macro.
                   10468: 
                   10469:        * optabs.c (expand_binop): Don't do add by words for more than 2 words.
                   10470: 
                   10471:        * c-typeck.c (build_modify_expr): Test TREE_READONLY of lhs.
                   10472: 
                   10473: Sun Sep  8 01:17:47 1991  Torbjorn Granlund  (tege at zevs)
                   10474: 
                   10475:        * sparc.md (sgtu, sleu): Test for SUBREG as well as REG.
                   10476: 
                   10477: Sun Sep  8 07:04:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10478: 
                   10479:        * optabs.c (emit_no_conflict_block, emit_libcall_block): Rework to
                   10480:        accept a list of insns rather than a SEQUENCE.
                   10481:        (expand_binop, expand_unop, expand_float, expand_fix): Change calls to
                   10482:        above functions.
                   10483:        * emit-rtl.c (add_insn): No longer static.
                   10484:        * calls.c (expand_call): Change call to emit_libcall_block.
                   10485: 
                   10486:        * cse.c (fold_rtx): Fix typo with parens in associative operation case.
                   10487: 
                   10488: Sat Sep  7 21:49:46 1991  Jim Wilson  (wilson at cygint.cygnus.com)
                   10489: 
                   10490:        * expmed.c (store_bit_field): In the code handling bitfields
                   10491:        larger than the word size: set fieldmode to size large enough
                   10492:        to hold bitfield; new variable orig_bitsize; don't let
                   10493:        bit_offset calculation for WORDS_BIG_ENDIAN hosts go negative.
                   10494:        (extract_bit_field): Likewise.
                   10495:        (store_split_bit_field): For second word, strip of SUBREG if any
                   10496:        before calling operand_subword.  Offset for second word if in
                   10497:        memory is the next UNITS_PER_WORD aligned address.
                   10498:        (extract_split_bit_field): Likewise.
                   10499: 
                   10500:        * expr.c (emit_move_insn): When emitting multiple move insns in
                   10501:        the loop, remember last insn emitted so that it can be returned.
                   10502: 
                   10503:        * tree.c (enum tree_node_kind): Add new entry vec_kind to
                   10504:        represent TREE_VECs.
                   10505:        (tree_node_kind_names): Add name "vecs" for it.
                   10506:        (make_node): Handle TREE_VECs in the 'x' case.
                   10507:        (make_tree_vec): Use vec_kind instead of x_kind.        
                   10508: 
                   10509: Sat Sep  7 16:25:50 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10510: 
                   10511:        * cplus-call.c (ideal_candidate): Prefer non-const member functions
                   10512:        to const member functions when there is a choice.
                   10513:        * cplus-tree.c (propagate_assoc_offsets): Moved here from
                   10514:        cplus-class.c
                   10515:        (copy_nonvirtual_children): Deleted.
                   10516: 
                   10517:        * cplus-class.c, cplus-tree.c (layout_{v}basetypes,
                   10518:        propagate_assoc_offsets, finish_base_struct): New offset
                   10519:        computation/hierarchy implementation.  Now the lattice contains
                   10520:        vbasetypes with zero-based offsets (and children from these types
                   10521:        assume they are zero-based).  The CLASSTYPE_VBASETYPE list contains
                   10522:        vbasetypes with hierarchy-dependent offsets (and children from these
                   10523:        types have hierarchy-dependent offsets).  Note that now, virtual
                   10524:        baseclasses are fully shared in the hierarchy.  The still are not
                   10525:        shared at all in the CLASSTYPE_VBASETYPE list.
                   10526:        * cplus-decl.c (xref_tag): Share vbasetypes in the lattice.
                   10527:        * cplus-tree.h (lang_type): Add CLASSTYPE_VASSOC field so we can
                   10528:        share virtual basetypes in inheritance lattices.
                   10529: 
                   10530: Sat Sep  7 13:07:12 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10531: 
                   10532:        * c-parse.y (cast_expr): Supply OFWHAT arg to digest_init.
                   10533:        * c-typeck.c (error_init, pedwarn_init): New functions.
                   10534:        (digest_init, process_init_constructor): Use them.
                   10535: 
                   10536:        * out-m68k.c (output_function_prologue):  Add a negative constant
                   10537:        to sp rather than adding a positive one, since this is faster.
                   10538: 
                   10539:        * out-m68k.c (output_function_prologue, output_function_epilogue):
                   10540:        Use word sized immediates when possible.
                   10541: 
                   10542:        * Makefile.in (install-dir): Don't die if can't create mandir.
                   10543:        (install-man): Don't put . in front of manext.
                   10544:        (manext): Add . to the value.
                   10545:        (mandir): Don't use manext.
                   10546: 
                   10547:        * genextract.c (main): Don't use __builtin_memcpy in GCC 1.
                   10548: 
                   10549: Fri Sep  6 19:29:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10550: 
                   10551:        * caller-save.c (emit_mult_save, emit_mult_restore): Copy constant to
                   10552:        TEMPREG and add integer, instead of the opposite order, which might
                   10553:        not work on some machines.
                   10554: 
                   10555:        * fold-const.c (fold): Ensure we always return an object of the
                   10556:        desired type.
                   10557: 
                   10558:        * reload1.c (reload, reload_as_needed): reload_in_progress must be
                   10559:        set during caller-save processing.
                   10560: 
                   10561: Fri Sep  6 18:36:55 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10562: 
                   10563:        * out-sparc.c (leaf_reg_{remap,backmap}): Define mapping for
                   10564:        %o7/%i7, since user-defined registers might reference these.
                   10565:        (legitimize_pic_address): Set CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE
                   10566:        if ORIG is a LABEL_REF.  For CONST_INT case, don't call force_reg
                   10567:        during reload, use REG if available otherwise abort.
                   10568: 
                   10569: Fri Sep  6 17:16:05 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10570: 
                   10571:        * configure: Default $cpu_type properly.
                   10572: 
                   10573: Fri Sep  6 05:50:58 1991  Ken Raeburn  (raeburn at watch.com)
                   10574: 
                   10575:        * genextract.c: Generate one large function with a switch, instead
                   10576:        of a table of small functions to call.  Use __builtin_memcpy under
                   10577:        GNU C.
                   10578: 
                   10579:        * genoutput.c: For "@" constructs, now generates a lookup table per
                   10580:        insn, instead of a switch.
                   10581: 
                   10582: Fri Sep  6 15:40:54 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   10583: 
                   10584:        * cccp.c (skip_if_group): Deal with invalid directives the same
                   10585:        way handle_directive does.
                   10586: 
                   10587: Fri Sep  6 16:37:04 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10588: 
                   10589:        * tm-sparc.h (RTX_COSTS): Define costs for MULT and various divides.
                   10590: 
                   10591:        * loop.c (move_movables): Call `gen_lowpart_common' instead of
                   10592:        building SUBREG manually.
                   10593: 
                   10594:        * local-alloc.c (block_alloc): When convert scratch to a reg, must
                   10595:        set regs_ever_live for all hard registers used by the new reg, not
                   10596:        just the first.
                   10597: 
                   10598: Fri Sep  6 07:15:44 1991  Torbjorn Granlund  (tege at mole.gnu.ai.mit.edu)
                   10599: 
                   10600:        * gnulib2.c (__negdi2): Change it to work like __subdi3.
                   10601:        * gnulib2.c (_udivmoddi4): Make faster special case for CPUs with
                   10602:        a udiv_qrnnd that can handle unnormalized (i.e. with less than
                   10603:        LONG_TYPE_SIZE significant bit) divisors.
                   10604: 
                   10605:        * gnulib2.c (__muldi3): Cast operands to unsigned.
                   10606: 
                   10607:        * gnulib2.c (__Xcmpdi): Use `long' for all variables for
                   10608:        consistency.
                   10609: 
                   10610:        * gnulib2.c (__udivmoddi4): New function with code from __udivdi3,
                   10611:        extended to give remaider.
                   10612:        * gnulib2.c (__divdi3, __moddi3, __udivdi3, __umoddi3): Use
                   10613:        __udivmoddi4.
                   10614:        * gnulib2.c: (__moddi3): Result sign is only dependent on U, not V.
                   10615: 
                   10616: Fri Sep  6 05:44:07 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10617: 
                   10618:        * cse.c (cse_insn): Accept new arg IN_LIBCALL_BLOCK.
                   10619:        If in libcall block, don't record destinations in hash table.
                   10620:        Remove explicit use of SFmode and DFmode when checking -ffloat-store.
                   10621:        (cse_basic_block): Pass new arg to cse_insn to indicate when we
                   10622:        are processing an insn surrounded with REG_LIBCALL/REG_RETVAL notes.
                   10623: 
                   10624:        * optabs.c (emit_libcall_block): New function.
                   10625:        (expand_binop, expand_unop): Remove kludge of referencing library
                   10626:        function SYMBOL_REF before libcall block.
                   10627:        Use emit_libcall_block.
                   10628:        (expand_float, expand_fix): Rework library calls to use
                   10629:        emit_libcall_block.
                   10630:        * calls.c (struct arg_data): Add new field, initial_value.
                   10631:        (expand_call): Don't make libcall block for calls that return
                   10632:        aggregates.
                   10633:        Remove kludge of referencing function SYMBOL_REF outside of block.
                   10634:        For constant calls, save RTL for arg in args[i].initial_value and
                   10635:        start a sequence.
                   10636:        When making REG_EQUAL note, use INITIAL_VALUE instead of VALUE.
                   10637:        Use emit_libcall_block for constant calls.
                   10638:        * expr.h (emit_libcall_block): Define it.
                   10639: 
                   10640: Fri Sep  6 15:58:52 1991  Torbjorn Granlund  (tege at zevs)
                   10641: 
                   10642:        * longlong.h (68020, i386): Don't define machine-dependent
                   10643:          __umulsidi3 (so the default definition is used).
                   10644:        * longlong.h (all machines): Cast all operands, sources and
                   10645:          destinations, to `unsigned long int'.
                   10646:        * longlong.h: Add gmicro support.
                   10647: 
                   10648: Fri Sep  6 01:42:09 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10649: 
                   10650:        * jump.c (jump_optimize): Delete duplicate line number notes.
                   10651: 
                   10652: Thu Sep  5 19:23:24 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10653: 
                   10654:        * configure (romp): Fix typo in name of xm_file.
                   10655: 
                   10656:        * rtlanal.c (dead_or_set_p): If INSN has a CLOBBER for X, X is
                   10657:        dead.
                   10658: 
                   10659:        * gnulib1.c (cmpdf2, cmpsf2): Delete unused functions.
                   10660:        * gnulib2.c (anddi3, iordi3, xordi3, one_cmpldi2, adddi3, subdi3):
                   10661:        Likewise.
                   10662:        * optabs.c (emit_cmp_insn): Clean up code now that integer and
                   10663:        float comparisons are done differently.
                   10664:        (init_optabs): Remove references to unused functions listed above.
                   10665:        * Makefile.in (LIB1FUNCS, LIB2FUNCS): Likewise.
                   10666: 
                   10667: Thu Sep  5 18:32:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10668: 
                   10669:        * m68k.md (zero_extend*): Don't allow memory-memory due to aliasing.
                   10670: 
                   10671:        * expr.c (do_jump): Don't lose if only 1 insn precedes new jump.
                   10672: 
                   10673:        * sparc.md (ashldi3): Fix dumb bug detecting constant 1.
                   10674: 
                   10675:        * out-sparc.c (output_move_double): Use split_double for constant.
                   10676:        Properly decrement addreg1.
                   10677: 
                   10678: Thu Sep  5 15:20:25 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10679: 
                   10680:        * out-sparc.c: Include expr.h and delete extern declarations.
                   10681: 
                   10682:        * rtlanal.c (rtx_equal_p): Correct typo in comment or spacing.
                   10683:        * reload1.c (reload): Likewise.
                   10684:        * protoize.c: Likewise.
                   10685:        * longlong.h: Likewise.
                   10686:        * local-alloc.c (block_alloc): Likewise.
                   10687:        * jump.c: Likewise.
                   10688: 
                   10689:        * unroll.c (iteration_info): Don't calculate loop iterations based
                   10690:        on a giv iterator, since the current code often gives the wrong
                   10691:        result.  This case is rare, so it does not seem worth handling at all.
                   10692: 
                   10693:        * sched.c (schedule_insns): When the only sched pass is after
                   10694:        reload, must clear unused_insn_list and unused_expr_list then,
                   10695:        instead of during the nonexistant pass before reload.
                   10696: 
                   10697:        * sched.c (schedule_block): When calculating estimated IPC, avoid
                   10698:        divide by zero.
                   10699: 
                   10700:        * sparc.md: Correct two define_splits for seq/sne patterns of the
                   10701:        form `x + (i == 0)', and add a missing `addx' pattern used by
                   10702:        these define_splits.
                   10703: 
                   10704:        * toplev.c (fatal_insn_not_found): Correct typo in error message.
                   10705:        (main): Include "gsdb" and "gdbx" in warning message when -g is not
                   10706:        supported.
                   10707: 
                   10708:        * expr.h (enum expand_modifier): Delete last vestige of
                   10709:        EXPAND_INTO_STACK.
                   10710: 
                   10711: Thu Sep  5 13:50:21 1991  John Gilmore  (gnu at cygint.cygnus.com)
                   10712: 
                   10713:        * c-typeck.c (digest_init, process_init_constructor): Include the
                   10714:        variable name, member name, and/or array indices in error messages.
                   10715:        This makes it tolerable to debug large data structure initializers.
                   10716:        Reword some messages to work with the name and/or function call
                   10717:        argument included.  New arg OFWHAT.  All callers changed except
                   10718:        one digest_init call in each of c-parse.y and objc-parse.y.
                   10719:        (warn_for_assignment): Reduce to a single message argument,
                   10720:        automatically handling formatting for function call arguments.
                   10721:        All callers changed.
                   10722:        (convert_for_assignment): If ERRTYPE is a null string, this is
                   10723:        parameter passing for a function, so output different error messages.
                   10724:        (convert_arguments): Pass null string to convert_for_assignment to
                   10725:        indicate parameter passing.
                   10726: 
                   10727: Thu Sep  5 13:44:19 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   10728: 
                   10729:        * sched.c: Correct typos in comments.
                   10730:        (sched_note_set): Don't try to calculate live info for global
                   10731:        register variables.
                   10732:        (attach_deaths): Don't add REG_DEAD notes for global register
                   10733:        variables.
                   10734: 
                   10735:        * tm-sparc.h (SELECT_SECTION): Can't put a variable in text section
                   10736:        if flag_pic and RELOC are both true, same test that varasm.c does.
                   10737: 
                   10738: Thu Sep  5 13:15:43 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10739: 
                   10740:        * rtlanal.c (reg_referenced_p): Handle USE and CALL.
                   10741:        Use switch instead of if-then-else.
                   10742: 
                   10743: Thu Sep  5 08:03:58 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10744: 
                   10745:        * cplus-class.c (propagate_assoc_offsets): Don't fail to
                   10746:        propagate the offset to the rightmost basetype.
                   10747: 
                   10748:        * cplus-decl.c (xref_tag): Allocate nodes for basetype info on
                   10749:        permanent obstack, not temporary obstack.
                   10750: 
                   10751: Wed Sep  4 18:53:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10752: 
                   10753:        * fixincludes : Change `m68k' to `__m68k__' in all #if's.
                   10754: 
                   10755:        * Makefile.in (ALLOCA_FLAGS): Add -Demacs.
                   10756:        (ALLOCA_FINISH): Put option before input file name.
                   10757:        (alloca.o): Supply $(INCLUDES).
                   10758: 
                   10759:        * Makefile.in (GCC_CFLAGS): New parameter.
                   10760:        (protoize, protoize.o, unprotoize, unprotoize.o): Use GCC_CFLAGS.
                   10761:        (enquire, enquire.o, collect2, collect2.o, SYSCALLS.c.X): Likewise.
                   10762: 
                   10763: Wed Sep  4 18:13:56 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10764: 
                   10765:        * combine.c (make_extraction): When picking up low-order part,
                   10766:        ensure that we don't create a non-aligned object if alignment
                   10767:        is required.
                   10768: 
                   10769:        * expr.c (emit_push_insn): Ensure we only call force_const_mem on a
                   10770:        constant.
                   10771:        
                   10772:        * config.subr: Set `os' to be the last `-' and everything following it.
                   10773:        `romp' is the basic machine name for the rtpc.
                   10774:        `aos' is IBM's name for BSD.
                   10775:        * configure: Default `cpu_type' to the first field before an
                   10776:        optional `-'.
                   10777:        Add a29k, a29k-ultra, romp, and rs6000.
                   10778:        * xm-a29k-ultra.h: New file.
                   10779: 
                   10780: Wed Sep  4 15:46:50 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   10781: 
                   10782:        Changes from Ron Guilmette:
                   10783:        * dwarfout.c (output_symbol): Move tests for omitting declarations
                   10784:        to dwarfout_file_scope_symbol.  No need for `local' parameter.
                   10785:        Use TREE_PUBLIC and TREE_EXTERNAL to determine whether a variable
                   10786:        or function is global.
                   10787:        (finalizing, dwarfout_file_scope_delayed_symbol): Delete.
                   10788:        
                   10789:        * toplev.c (compile_file): Delete use of dwarfout_file_scope_symbol
                   10790:        for initialized VAR_DECLs.  All global declarations are passed to
                   10791:        dwarfout_file_scope_symbol (except function definitions and types).
                   10792: 
                   10793:        (compile_file, rest_of_decl_compilation): Attribute time in
                   10794:        {dbxout,sdbout,dwarfout} functions to symout_time.
                   10795: 
                   10796:        * varasm.c (assemble_variable): Check and update TREE_ASM_WRITTEN
                   10797:        for a global register variable.
                   10798:        Delete use of dwarfout_file_scope_symbol for VAR_DECLs. 
                   10799: 
                   10800: Tue Sep  3 23:34:57 1991  Torbjorn Granlund  (tege at zevs)
                   10801: 
                   10802:        * sparc.md (ashldi3 expander & recognizer): Make shift count have
                   10803:        SImode.  Used to have DImode.
                   10804: 
                   10805:        * expmed.c (emit_store_flag): Declare arg UNSIGNEDP.
                   10806: 
                   10807:        * vax.md (adddi3): Make operands 2 and 3 commutative.
                   10808: 
                   10809:        * sparc.md (subtract constant then return): Peephole deleted.
                   10810: 
                   10811: Tue Sep  3 22:23:52 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10812: 
                   10813:        * Makefile.in (mostlyclean, clean, realclean): Some files were missing.
                   10814: 
                   10815:        * gvarargs.h (va_list): Make it typedef, not macro.
                   10816:        * va-mips.h, va-pyr.h: Likewise.
                   10817: 
                   10818: Tue Sep  3 22:07:04 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10819: 
                   10820:        * cplus-init.c (build_vec_delete): Fix off-by-one error for arrays
                   10821:        of length 1.
                   10822: 
                   10823: Tue Sep  3 19:30:45 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10824: 
                   10825:        * combine.c (try_combine): Don't pass a STRICT_LOW_PART to
                   10826:        reg_overlap_mentioned_p.
                   10827: 
                   10828:        * cse.c (fold_rtx): If INSN is zero, copy X before we change 
                   10829:        anything inside it.
                   10830:        When looking for associative operation, pass zero as missing arg to
                   10831:        recursive call.
                   10832:        (find_comparison_args): Add zero for missing arg to fold_rtx calls.
                   10833: 
                   10834:        * reload.c (find_reloads): Correct code that prevents replacing
                   10835:        a SET_DEST with a constant so that it correctly looks for an
                   10836:        operand being a SET_DEST.
                   10837: 
                   10838: Tue Sep  3 19:17:34 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   10839: 
                   10840:        * out-i386.c (split_di): Call split_double for CONSTANT_P.
                   10841:        (fix_op): Delete.
                   10842:        (float_op): Don't examine the mode of the FLOAT operand.
                   10843:        (output_float_compare): Don't make new %ax RTX: use scratch
                   10844:        operand from insn.
                   10845: 
                   10846:        * i386.md (float mode tstM,cmpM,fixuns_truncMN2,fix_truncMN2): Use
                   10847:        match_scratch.
                   10848:        (float mode tstM,fixuns_truncMN2,fix_truncMN2): Don't gen temp RTX:
                   10849:        use scratch operand.
                   10850:        (fix_truncMN2,floatMN2): Split pattern into a separate DFmode and
                   10851:        SFmode patterns so that operands[1] has a mode.
                   10852:        (sCOND patterns): Don't set cc_status to previous status.
                   10853:        (cmpstrsi): Don't explicitly reference reg 2.
                   10854: 
                   10855: Tue Sep  3 16:28:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10856: 
                   10857:        * optabs.c (expand_binop): Fix carry calculation.
                   10858: 
                   10859:        * varasm.c (decode_addr_const): Given a LABEL_DECL, Make a LABEL_REF.
                   10860:        (const_hash): Handle a LABEL_REF.
                   10861:        * expr.c (expand_expr): Use FUNCTION_MODE for memref to a LABEL_REF.
                   10862: 
                   10863:        * configure: Fix typo in last change.
                   10864: 
                   10865:        * cccp.c (handle_directive): Normally no error for line with `###'.
                   10866: 
                   10867: Tue Sep  3 10:53:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   10868: 
                   10869:        * out-m88k.c, tm-m88k.h: Delete remnants of the fancy abort.
                   10870:        * tm-m88kdgux.h: No longer identify as version DG-*.
                   10871:        * m88k files: Update copyright dates.
                   10872: 
                   10873: Tue Sep  3 03:18:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10874: 
                   10875:        * expr.c (expand_expr): Get rid of EXPAND_INTO_STACK.
                   10876: 
                   10877: Mon Sep  2 14:07:54 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10878: 
                   10879:        * gcc.c (do_spec_1): In %X, terminate the arg after each option.
                   10880: 
                   10881:        * config.subr: If argument contains `local', always accept it.
                   10882:        * configure: If machine type contains `local',
                   10883:        construct file names from that machine type name.
                   10884: 
                   10885:        * configure: Make config.status a shellscript to redo the configure.
                   10886:        No need now to change / to - when storing $(target) in Makefile.
                   10887:        Store $(host_make_var_file) in Makefile also.
                   10888:        Set host_make_var_file to ../Makefile.in after creating Makefile
                   10889:        if no make-... file actually exists for this host.
                   10890:        * Makefile.in (host_make_var_file): Dummy definition to be filled in.
                   10891:        (Makefile): New rule to rerun `configure'
                   10892: 
                   10893:        * tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
                   10894: 
                   10895:        * tm-mips.h, tm-m88k.h (abort): Macro definition deleted.  It is
                   10896:        not right for any machines description to specify use of fancy_abort.
                   10897: 
                   10898:        * protoize.c [v.4]: Include fcntl.h.
                   10899:        (execvp): Correct type for second arg.
                   10900:        (compile_params): Remove `const'; that loses when calling execvp.
                   10901: 
                   10902:        * cccp.c (directive_table): Typo in entry for do_ident.
                   10903: 
                   10904:        * xm-m68k.h (alloca): Define macro with arg.
                   10905: 
                   10906:        * emit-rtl.c (reorder_insns_with_line_notes):  New function.
                   10907:        (find_line_note, emit_line_note_after):  New functions.
                   10908: 
                   10909:        * jump.c (jump_optimize):  When moving else clause before test,
                   10910:        only move the insn as far as needed, and use new function
                   10911:        reorder_insns_with_line_notes.
                   10912: 
                   10913: Mon Sep  2 03:30:35 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   10914: 
                   10915:        * Makefile.in (collect2): Compile with gcc.
                   10916: 
                   10917: Sun Sep 1 9:03:46 1991    (Eric Youngdale at [email protected])
                   10918: 
                   10919:        Define two macros to eliminate the need for a seperate collect pass.
                   10920: 
                   10921:        * tm-vms.h (ASSEMBLE_OUTPUT_CONSTRUCTOR): Define.
                   10922:        (ASSEMBLE_OUTPUT_DESTRUCTOR): Define.
                   10923: 
                   10924: Sun Sep  1 08:14:22 1991  Michael Meissner  (meissner at osf.org)
                   10925: 
                   10926:        * collect-osf.c (main): Print version number if -v.  Also ignore all
                   10927:        arguments beginning with -c rather than just '-c'.
                   10928: 
                   10929:        * make-decrose (collect): Add version.o to link.
                   10930: 
                   10931: Sat Aug 31 17:03:23 1991  Michael Meissner  (meissner at osf.org)
                   10932: 
                   10933:        * cplus-input.c (inline macro definition): If inline is already
                   10934:        defined, don't redefine it.
                   10935: 
                   10936:        * collect-osf.c (main): Look for gld and gas instead of ld and as,
                   10937:        so collect-osf can be installed as ld.  Use a default path of
                   10938:        /usr/ccs/gcc to find the linker and assember.  Ignore the -c switch,
                   10939:        which GCC uses to say that collect is needed.
                   10940: 
                   10941:        * osf-main.c (__finis): Don't call descructors already called if one
                   10942:        of the destructors calls exit (which in turn calls __finis).
                   10943: 
                   10944:        * tm-mips.h (DBX_REGISTER_NUMBER): Use mips_dbx_regno to map
                   10945:        register number to debug register number.
                   10946:        (GP_DBX_FIRST, FP_DBX_FIRST): New macros, giving the first debug
                   10947:        register numbers for gp registers and fp registers.
                   10948: 
                   10949:        * out-mips.c (mips_dbx_regno): New global array to map GCC register
                   10950:        number to debug register number, to fix problem with OSF/1 stabs
                   10951:        using 38 for the first fp registers, rather than 32.
                   10952:        (override_options): Set up OSF/1 SIGINFO signal handler to notmake
                   10953:        the interruptable system calls read, write, and wait not return
                   10954:        error condition.  Also initialize mips_dbx_regno.
                   10955: 
                   10956:        * make-decrose (CFLAGS): Add $(MSTATS) variable to set -mstats.
                   10957:        (CFLAGS_NODEBUG): Like CFLAGS, except no debugging or inlining.
                   10958:        (DEB_OPT): Define in terms of DEBUG, OPT, and PROFILE.
                   10959:        (cplus-lex rule): Build cplus-lex with no debug or inlinings.
                   10960: 
                   10961: Sat Aug 31 12:52:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   10962: 
                   10963:        * cccp.c (handle_directive): Be more fussy detecting `# LINE' case.
                   10964: 
                   10965:        * cccp.c (directive_table): Pass through and ignore #ident.
                   10966:        (do_ident): New function.
                   10967:        (skip_if_group): Error if unrecognized directive seen.
                   10968: 
                   10969:        * jump.c (jump_optimize): In converting  x=a; if (...) x=b;  to
                   10970:        store flag, insert all the new code in just one line.
                   10971: 
                   10972:        * gcc.c (do_spec_1): Use xmalloc to make linker_options the first time.
                   10973: 
                   10974:        * expr.c (expand_expr): Make EXPAND_SUM and EXPAND_INITIALIZER
                   10975:        imply EXPAND_CONST_ADDRESS in all cases.
                   10976: 
                   10977:        * c-decl.c (c_decode_option): -Wall sets warn_uninitialized.
                   10978:        * flags.h (warn_uninitialized): Declared.
                   10979:        * toplev.c (warn_uninitialized): No longer static.
                   10980: 
                   10981:        * cccp.c (main): Make no assumptions about include_defaults
                   10982:        in calculation of max_include_len.  Add fudge space if VMS.
                   10983: 
                   10984:        * reload.c (find_reloads_toplev): New arg IS_SET_DEST.
                   10985:        Don't replace reg with constant in destination of a SET.
                   10986:        (find_reloads): Pass that arg.  Also don't replace here.
                   10987: 
                   10988:        * cplus-xref.c: Finish installing changes from Youngdale.
                   10989: 
                   10990: Sat Aug 31 09:02:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   10991: 
                   10992:        * cplus-decl2.c (finish_file): Call varasm routines to assemble ctor
                   10993:        and dtor lists.
                   10994: 
                   10995:        * cplus-dbxout.c (dbxout_type_methods): Fix error in printing symbol
                   10996:        info for classes that only define a destructor.
                   10997: 
                   10998: Sat Aug 31 08:32:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   10999: 
                   11000:        * cse.c (cse_end_of_basic_block): Correctly handle the case of a basic
                   11001:        block where a conditional branch out of the block becomes unconditional
                   11002:        and a conditional branch to the end of the block becomes a noop.
                   11003: 
                   11004:        * combine.c (try_combine): In case where we have a PARALLEL
                   11005:        involving a load and sign extend, use reg_overlap_mentioned_p
                   11006:        instead of reg_mentioned_p.
                   11007:        If we have a PARALLEL of two independent SETs, try to split them
                   11008:        up into separate insns.
                   11009: 
                   11010:        * combine.c (move_deaths): Instead of placing the REG_DEAD notes
                   11011:        on TO_INSN, add them to a list whose address is given as an
                   11012:        operand.
                   11013:        (distribute_notes): Allow for the case when the death of an object
                   11014:        is between I2 and I3.
                   11015:        Set reg_last_death to corrspond to the location of the REG_DEAD
                   11016:        note being placed.
                   11017:        (try_combine): Call move_deaths in new way and pass returned list
                   11018:        to distribute_notes if it is non-empty.
                   11019: 
                   11020:        * local-alloc.c (requires_inout_p): Don't have cases for '[Q-U]' unless
                   11021:        EXTRA_CONSTRAINT is defined..
                   11022: 
                   11023:        * local-alloc (block_alloc): Don't allocate SCRATCH on machines with
                   11024:        SMALL_REGISTER_CLASSES defined.
                   11025: 
                   11026:        * regclass.c (reg_class_record): Add missing case for 'V'.
                   11027: 
                   11028: Fri Aug 30 04:42:19 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   11029: 
                   11030:        * tm-i386.h (OUTPUT_JUMP): Use cc_prev_status.
                   11031: 
                   11032: Fri Aug 30 17:08:52 1991    (Eric Youngdale at [email protected])
                   11033: 
                   11034:        * xm-vms.h (LOCATE_START_OF_FILE_NAME): Remove.
                   11035:        (FILE_NAME_NONDIRECTORY): Fix typo.
                   11036:        (XREF_FILE_NAME): Use FILE_NAME_NONDIRECTORY instead of
                   11037:        LOCATE_START_OF_FILE_NAME, and omit the leading underscore in the
                   11038:        generated file name.
                   11039:        (FILE_NAME_ABSOLUTE_P): Define to use hook in cplus-xref.c.
                   11040:        (FILE_NAME_JOINER): Define to use hook in cplus-xref.c.
                   11041: 
                   11042:        * cplus-xref.c: Fix bug in default definition of FILE_NAME_ABSOLUTE_P.
                   11043:        (GNU_xref_open): Fix bug - wrong argument to XREF_FILE_NAME.
                   11044:        (FILE_NAME_JOINER): New macro.
                   11045:        (GNU_xref_file): Use it.
                   11046: 
                   11047: Fri Aug 30 17:30:15 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11048: 
                   11049:        * cplus-xref.c: Reinstall Aug 25 changes discarded by Tiemann.
                   11050: 
                   11051:        * expr.c (expand_expr): New modifier option EXPAND_INITIALIZER.
                   11052:        * varasm.c (output_constant): Use that.
                   11053:        * jump.c (forced_labels): New var records labels not to delete.
                   11054:        (jump_optimize): Don't delete those labels.
                   11055:        * flow.c (find_basic_blocks): Any computed goto goes to those labels.
                   11056:        * varasm.c (decode_addr_const): Deal with LABEL_DECL.
                   11057: 
                   11058: Fri Aug 30 15:41:03 1991  Michael Meissner  (meissner at osf.org)
                   11059: 
                   11060:        * mips.md (copyleft): Use separate copyright years.
                   11061:        (mov*): Use nonimmediate_operand instead of general_operand.
                   11062: 
                   11063:        * tm-mips.h (copyleft): Use separate copyright years.
                   11064: 
                   11065:        * xm-mips.h (copyleft): Use separate copyright years.
                   11066: 
                   11067:        * xm-umips.h (copyleft): Use separate copyright years.
                   11068: 
                   11069: Fri Aug 30 08:47:30 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11070: 
                   11071:        * cplus-typeck.c (build_x_*): Try first calling `build_opfncall'
                   11072:        with FLAGS==0.  If that succeeds, check protection.
                   11073:        (build_conditional_expr): `fold' does not preserve the type of it's
                   11074:        expressions, which is a problem for C++ when trying to keep ints and
                   11075:        enums distinct.
                   11076: 
                   11077:        * cplus-decl.c (lookup_name): When there is a choice between seeing
                   11078:        a name as a type and seeing as a decl, call `arbitrate_lookup' to
                   11079:        make the decision.
                   11080:        * cplus-lex.c (arbitrate_lookup): New function.  Uses minute amounts
                   11081:        of syntactic context to decide whether to see a name as a type or
                   11082:        something else.
                   11083: 
                   11084: Fri Aug 30 07:40:49 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11085: 
                   11086:        * jump.c (delete_jump): When checking REG_DEAD notes, make sure they
                   11087:        have a legal value.
                   11088: 
                   11089: Fri Aug 30 00:57:05 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   11090: 
                   11091:        * local-alloc.c (alloc_qty_for_scratch): Treat Q - U as reg class if
                   11092:        EXTRA_CONSTRAINT is not defined.
                   11093:        * regclass.c (reg_class_record): Likewise.
                   11094: 
                   11095: Thu Aug 29 21:39:07 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11096: 
                   11097:        * c-typeck.c (build_binary_op_nodefault): Fix last change.
                   11098: 
                   11099: Thu Aug 29 19:11:05 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11100: 
                   11101:        * recog.c (general_operand, const_double_operand): Similar to
                   11102:        immediate_operand, don't accept a VOIDmode operand if the
                   11103:        caller wants floating.
                   11104:        * out-pyr.c (nonindexed_operand): Likewise.
                   11105: 
                   11106: Thu Aug 29 09:53:27 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   11107: 
                   11108:        * cplus-tree.h ({SET,CLEAR}_ASSOC_*): New macros needed because not
                   11109:        all C compilers support conditional expressions as lvalues.
                   11110:        (lang_type): Change type of MEMOIZED_TABLE_ENTRY and SEARCH_SLOT
                   11111:        from `void *' to `char *', to make braindead compilers at less of a
                   11112:        disadvantage.
                   11113: 
                   11114: Thu Aug 29 08:07:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11115: 
                   11116:        * m88k.md (define_function_unit): Update latencies.
                   11117: 
                   11118:        * out-m88k.c (output_function_profiler): Correct offsets for
                   11119:        register saves.
                   11120:        * tm-m88ksvr4.h (FUNCTION_PROFILER): Use the name _mcount and do
                   11121:        register saves.
                   11122: 
                   11123:        * tm-m88k.h (ASM_DWARF_POP_SECTION): Specify "previous".
                   11124: 
                   11125:        Changes from Ron Guilmette:
                   11126:        * dwarfout.c (lookup_filename): Only increment valid_ft_entries
                   11127:        once when adding a filename to the table.
                   11128:        (output_symbol): Do output DIEs for a global VAR_DECL definition.
                   11129: 
                   11130: Thu Aug 29 06:15:32 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
                   11131: 
                   11132:        * cplus-type2.c (build_functional_cast): If we have a valid value in
                   11133:        `expr_as_conversion' return that before returning error_mark_node.
                   11134: 
                   11135:        * cplus-init.c (expand_recursive_init): Fix typo is testing
                   11136:        TYPE_USES_VIRTUAL_BASECLASSES.
                   11137: 
                   11138: Wed Aug 28 23:12:35 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11139: 
                   11140:        * c-typeck.c (build_binary_op_nodefault): For shift and rotate ops,
                   11141:        if traditional, use the common type of the operands.
                   11142: 
                   11143: Wed Aug 28 07:31:33 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11144: 
                   11145:        * dwarfout.c, dwarf.h, README.DWARF: Replacement files from Ron
                   11146:        Guilmette that bring the dwarf implementation up to that defined by
                   11147:        draft 4 of the dwarf specification (dated 7/31/91).
                   11148: 
                   11149: Wed Aug 28 06:24:30 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11150: 
                   11151:        * all *.md files except a29k.md and romp.md: Don't allow CONST_INT
                   11152:        as operand for RTL operations that need a mode to be well-defined,
                   11153:        e.g., SIGN_EXTEND, ZERO_EXTEND, TRUNCATE, FLOAT.  Similarly, don't
                   11154:        allow CONST_INT as first operand of a COMPARE.
                   11155: 
                   11156:        * machmode.h (MIN, MAX): Undefine these before our definition.
                   11157: 
                   11158: Tue Aug 27 21:33:04 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   11159: 
                   11160:        * version.c: Now 1.95.
                   11161: 
                   11162: Tue Aug 27 18:05:25 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11163: 
                   11164:        * reload1.c (possible_group_p): Use earliest class that needs a group.
                   11165: 
                   11166:        * gcc.c (do_spec_1): Handle %x and %X.
                   11167:        (link_command_spec): Use %X.  If given -collect, pass -c.
                   11168:        (default_compilers c++): Use %x to pass -c to linker.
                   11169: 
                   11170:        * cse.c (find_comparison_code): Don't call fold_rtx,
                   11171:        because we don't know which insn to pass for its second argument.
                   11172: 
                   11173:        * cse.c (fold_rtx): Don't fold what we get from lookup_as_function.
                   11174: 
                   11175: Tue Aug 27 17:46:59 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11176: 
                   11177:        * cse.c (rtx_cost): A USE is free; it is likely being used as a marker.
                   11178: 
                   11179:        * cse.c (cse_insn): If we decided not to make a reg-reg copy between 
                   11180:        equivalent regs into a no-op, see if there is an equivalent constant
                   11181:        that is cheaper than the register we decided to use.
                   11182: 
                   11183:        * cse.c (cse_insn): Fix arg in insert_regs call when making a
                   11184:        secondary equivalence due to a SUBREG; we are not modifying the
                   11185:        register.
                   11186: 
                   11187:        * cse.c (delete_dead_from_cse): Treat a SET that copies a register
                   11188:        to itself as if it were setting a dead register.
                   11189: 
                   11190:        * cse.c (find_comparison_args): Call fold_rtx on the args that we
                   11191:        are about to return.
                   11192:        (fold_rtx, case SUBREG): Copy code from equiv_constant that looks up
                   11193:        a SUBREG in the hash table.
                   11194:        If our our folded operand is equivalent to a constant, use that when
                   11195:        seeing if we can get a part of a constant.
                   11196:        (fold_rtx): Don't short-circuit recursive call for an operand that
                   11197:        is a SUBREG; add comment in REG case that we are doing equiv_constant.
                   11198:        When looking for associative operation, call fold_rtx on potential
                   11199:        constant as well as equiv_constant.
                   11200:        (equiv_constant): Just look up a constant quantity for a register;
                   11201:        fold_rtx will do the SUBREG operations.
                   11202: 
                   11203:        * fold-const.c ({neg,mul,lshift,rshift,lrotate,rrotate}_double):
                   11204:        No longer static.
                   11205:        * cse.c (simplify_{unary,binary}_operation): Fold some DImode
                   11206:        operations.
                   11207: 
                   11208:        * fold-const.c (fold, case EQ_EXPR, NE_EXPR, ...): Add code to handle
                   11209:        cases where we are comparing the result of a comparison.
                   11210: 
                   11211: Tue Aug 27 14:35:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11212: 
                   11213:        * flow.c (mark_used_regs): Set regs_ever_live for all hard regs.
                   11214:        Warning: this might break FUNCTION_PROLOGUE and FUNCTION_EPILOGUE
                   11215:        in some ports.  But I've checked all the installed ones.
                   11216:        * tm-gmicro.h (FUNCTION_PROLOGUE):
                   11217:        Clear bit for fp reg if used as such.
                   11218:        * tm-mips.h (MUST_SAVE_REGISTER): Only frame_pointer_needed affects fp.
                   11219: 
                   11220:        * c-decl.c (store_parm_decls): No error if arglist contains type tag.
                   11221: 
                   11222:        * optabs.c (expand_fix): Really call emit_cmp_insn right.
                   11223: 
                   11224:        * floatlib.c: New file.
                   11225: 
                   11226:        * gnulib2.c (__clz_tab): Moved to _udivdi3.
                   11227: 
                   11228: Tue Aug 27 06:44:12 1991  Michael Tiemann  (tiemann at rtl.cygnus.com)
                   11229: 
                   11230:        * cplus-typeck.c (c_expand_return): Don't use the cleanup generated
                   11231:        by `build_functional_cast'.
                   11232: 
                   11233:        * cplus-class.c (resolves_to_fixed_type_p): Handle WITH_CLEANUP_EXPR.
                   11234: 
                   11235: Mon Aug 26 20:55:58 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11236: 
                   11237:        * c-parse.y (yylex): Cast shorts[n] to long before shifting.
                   11238:        * fold-const.c (decode): Likewise.
                   11239: 
                   11240:        * Makefile.in (INSTALL_DATA): Renamed from INSTALL_FILE.
                   11241: 
                   11242:        * cse.c (canon_hash): Don't crash if subexpression is 0.
                   11243: 
                   11244:        * cplus-lex.c (interface_strcmp): Put back variable s1.
                   11245: 
                   11246: Mon Aug 26 18:14:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11247: 
                   11248:        * function.c (instantiate_virtual_regs_1): Complete previous change;
                   11249:        had omitted arg on two returns.
                   11250: 
                   11251: Mon Aug 26 15:16:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11252: 
                   11253:        * optabs.c (expand_float, expand_fix): Pass new arg to emit_cmp_insn.
                   11254: 
                   11255:        * out-m68k.c (singlemove_string): Fix last change.
                   11256: 
                   11257: Mon Aug 26 11:20:51 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11258: 
                   11259:        * m88k.md (cmpsi insn): Don't provide an insn that compares two
                   11260:        constants.
                   11261: 
                   11262: Mon Aug 26 08:34:48 1991  Michael Meissner  (meissner at osf.org)
                   11263: 
                   11264:        * collect-osf.c (toplevel, read_file, end_file): Don't use mmap,
                   11265:        unless all defines needed are defined.
                   11266:        (various): If -debug turn on debugging code.  Change all occurances
                   11267:        of #ifdef DEBUG sections to if (debug).
                   11268:        (main, add_to_list): Correctly cast xcalloc calls.
                   11269:        (scan_prog_file): Correct xcalloc to allocate enough space
                   11270:        (scan_prog_file): If -debug, don't dump entire symbol table, just
                   11271:        dump the constructors and destructors.
                   11272: 
                   11273:        * make-decrose (CFLAGS): Use DEB_OPT for default debug and optimize
                   11274:        options, use SHLIB for default shared library versions.
                   11275:        (DEB_OPT): Define to be -g -O2.
                   11276:        (SHLIB): Define to be -L${BUILD}/usr/ccs/lib, which forces static
                   11277:        libraries with both old and new 1.39 compilers.
                   11278:        (COFF_CFLAGS): Define to be -O2 -g0.
                   11279:        (collect): Add LIBDEPS dependency.
                   11280: 
                   11281: Mon Aug 26 07:22:21 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11282: 
                   11283:        * machmode.h (MIN, MAX): Define here.
                   11284:        * c-decl.c, calls.c, cplus-class.c, cplus-decl.c, cplus-tree.c:
                   11285:        Don't define here.
                   11286:        * expr.c, fold-const.c, function.c, integrate.c, recog.c: Likewise.
                   11287:        * rtl.c, sdbout.c, stmt.c, stor-layout.c, varasm.c: Likewise.
                   11288:        * c-typek.c, combine.c, cse.c, emit-rtl.c, expmed.c, final.c:
                   11289:        Delete definitions of "min" and "max"; use MIN and MAX now defined
                   11290:        in machmode.h.
                   11291:        * genemit.c, regclass.c, reload.c, reload1.c: Likewise.
                   11292:        * cccp.c (MIN, MAX): Define instead of min and max for consistency.
                   11293: 
                   11294:        * tm-rs6000.h (HARD_REGNO_MODE_OK): Don't put DImode in reg 31;
                   11295:        similarly for TImode.
                   11296: 
                   11297:        * cse.c (cse_skip_to_next_block): Variable deleted.
                   11298:        (cse_insn): Don't set it anymore.
                   11299:        (cse_basic_block): Don't use cse_skip_to_next_block; instead, look
                   11300:        for unconditional jumps explicitly; correctly handle unconditional
                   11301:        jumps to the end of the basic block by extending the basic block in
                   11302:        that case.
                   11303: 
                   11304:        * reload1.c (alter_reg): Ensure that stack slot is always the correct
                   11305:        mode.
                   11306: 
                   11307: Mon Aug 26 06:20:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11308: 
                   11309:        * cplus-type2.c (build_functional_cast): Treat constructor casts as
                   11310:        having cleanups in this function.
                   11311:        * cplus-decl.c (finish_decl): Use cleanups created by functinal
                   11312:        casts used as initializers.
                   11313: 
                   11314:        * cplus-init.c (expand_member_init): Call error with
                   11315:        IDENTIFIER_POINTER, not DECL_NAME, of NAME.
                   11316: 
                   11317:        * cplus-method.c (fndecl_as_string): Don't skip `in_charge'
                   11318:        parameter twice.
                   11319: 
                   11320:        * cplus-init.c (build_new): Delete code which short-circuited
                   11321:        multiple indirections in ABSDCL and made everything look like just a
                   11322:        single level of indirection.
                   11323: 
                   11324:        * cplus-typeck.c (warn_for_assignment): Now takes a FUNCTION_DECL
                   11325:        instead of an IDENTIFIER_NODE as an argument.  Also, print
                   11326:        reasonable message when ARGNUM < 0.
                   11327: 
                   11328:        * cplus-typeck.c (type_unknown_p): If TREE_CODE (EXP) == TREE_LIST,
                   11329:        it's type is unknown.
                   11330: 
                   11331:        * cplus-typeck.c (commonparms): Don't insert default parmeter values
                   11332:        into existing arg lists.  Instead, unify them into new ones only.
                   11333: 
                   11334:        * cplus-typeck.c (convert_for_{initialization,assignment}): Pass
                   11335:        FNDECL instead of function name.  Use `lang_printable_name' to pass
                   11336:        printable name to `warn_for_assignment'.
                   11337: 
                   11338:        * cplus-typeck.c (convert_arguments): Don't forcibly convert ptrs to
                   11339:        other things into ptrs to functions just to satisfy the conversion
                   11340:        of virtual functions.
                   11341: 
                   11342: Sun Aug 25 22:44:57 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11343: 
                   11344:        * cplus-typeck.c (compparms): Deal with STRICT == 3.
                   11345:        * cplus-search.c (get_first_matching_virtual): Call `compparms' with
                   11346:        STRICT == 3.
                   11347: 
                   11348:        * cplus-lex.c (operator_name_string): Don't abort if we cannot find
                   11349:        a operator name for NAME.  Instead, return identifier for
                   11350:        <invalid operator>.
                   11351: 
                   11352: Sun Aug 25 15:42:59 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11353: 
                   11354:        * cplus-xref.c (FILE_NAME_ABSOLUTE_P): New macro.
                   11355:        (GNU_xref_file): Use it.
                   11356:        (open_xref_file): Use new macro XREF_FILE_NAME if defined.
                   11357:        * cplus-lex.c (FILE_NAME_NONDIRECTORY): New macro.
                   11358:        Used frequently instead of strrchr.
                   11359:        * xm-vms.h: Define those three macros.
                   11360: 
                   11361:        * optabs.c (expand_binop): Use word mode for force_reg on op1 of shift.
                   11362: 
                   11363:        * out-m68k.c (singlemove_string): Use moveq when appropriate.
                   11364: 
                   11365:        * final.c (split_double): Handle all integer constants.
                   11366:        * out-m68k.c (output_move_double): Use split_double for all constants.
                   11367:        * ??? Most out-*.c need changing.
                   11368: 
                   11369:        * c-decl.c (finish_enum): Make some local vars unsigned.
                   11370:        * c-common.c (type_for_size):
                   11371:        * c-convert.c (convert_to_integer): 
                   11372:        * tm-i860.h (ASM_OUTPUT_ASCII): 
                   11373:        * c-parse.y (yylex):
                   11374:        * expr.c (get_pointer_alignment):
                   11375:        * stor-layout.c (layout_union, layout_record):
                   11376:        * tree.c (get_unwidened, get_narrower):
                   11377: 
                   11378:        * expr.c (emit_library_call): Don't declare va_list as register.
                   11379:        * final.c (asm_fprintf): Likewise.
                   11380:        * tree.c (build, build_nt, build_parse_node): Likewise.
                   11381: 
                   11382:        * expr.c (do_jump_for_compare): Don't assume the compare survives
                   11383:        when the branch is emitted.
                   11384: 
                   11385:        * expr.c (convert_move): Fix typo in prev change.
                   11386: 
                   11387:        * emit-rtl.c (fconst2_rtx, dconst2_rtx): New vars.
                   11388:        (init_emit_once): Initialize them.
                   11389: 
                   11390:        * expmed.c (extract_bit_field, store_bit_field):
                   11391:        For multi-word field, do words from least significant first.
                   11392: 
                   11393:        (extract_split_bit_field): OP0 is only the first word of the
                   11394:        source, so if this is a SUBREG, must call operand_subword on
                   11395:        SUBREG_REG (OP0) instead of OP0.
                   11396: 
                   11397:        * varasm.c (output_constructor): Correctly output constants for
                   11398:        bitfields which are greater than HOST_BITS_PER_INT.  Use
                   11399:        TREE_INT_CST_HIGH for the high bits.
                   11400: 
                   11401:        * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): New parameters.
                   11402:        (enquire, enquire.o): Use them.
                   11403: 
                   11404:        * tm-sysv4.h: New file, cut out from tm-m88k.h.
                   11405:        * tm-m88k.h: Include that.
                   11406: 
                   11407:        * vax.md (sltu, sgeu): New patterns.
                   11408: 
                   11409: Sat Aug 24 11:19:43 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11410: 
                   11411:        * cplus-init.c (build_offset_ref): Pass a TYPE_DECL node, not a
                   11412:        RECORD_TYPE node, to `build_component_type_expr'.
                   11413: 
                   11414:        * cplus-cvt.c (convert_to_integer): Warn about conversion from
                   11415:        integral type to enumeral type if FLAG_INT_ENUM_EQUIVALENCE is zero.
                   11416:        (convert_force): Set FLAG_INT_ENUM_EQUIVALENCE non-zero when calling
                   11417:        `convert'.
                   11418: 
                   11419:        * cplus-typeck.c (build_x_*_op): Don't try using built-in operators
                   11420:        if user-defined ones are not accessible.
                   11421: 
                   11422:        * cplus-init.c (expand_aggr_init_1): Use `expand_expr' to set the
                   11423:        DECL_RTL of the TARGET_EXPR.  This is a generalization of code that
                   11424:        used to require that EXP be some sort of _DECL.
                   11425: 
                   11426:        * cplus-init.c (init_init_processing): Link global runtime functions
                   11427:        __builtin_new and __builtin_delete to their canonical operator
                   11428:        names (i.e., op$nw and op$dl).
                   11429: 
                   11430:        * cplus-lex.c (init_lex): Don't see `dynamic' as a reserved word if
                   11431:        SOS is not defined.
                   11432:        * cplus-decl2.c (flag_dynamic): Delete unused variable.
                   11433: 
                   11434:        * cplus-decl.c (define_case_label): Give error when case label cuts
                   11435:        into a binding contour with cleanups.
                   11436:        * stmt.c (last_cleanup_this_contour): Changed name from
                   11437:        `this_contour_has_cleanups_p'.  Now returns last cleanup, if there
                   11438:        was one.
                   11439:        * tree.h: Declare `last_cleanup_this_contour'.
                   11440: 
                   11441:        * cplus-decl.c (grokdeclarator): Don't let member functions have
                   11442:        static linkage.
                   11443: 
                   11444:        * cplus-tree.c (layout_basetypes): Copy non-virtual basetypes of
                   11445:        virtual basetypes so that search routines can find ambiguities
                   11446:        arising in lattices where the same type appears as a non-virtual
                   11447:        basetype of different types in the lattice.
                   11448:        (copy_nonvirtual_children): Implement a recursive deep-copy of
                   11449:        nonvirtual types in an inheritance lattice.
                   11450: 
                   11451:        * cplus-search.c (lookup_fnfields): Correctly catch case where there
                   11452:        are multiple functions in an MI lattice.
                   11453:        * cplus-call.c (ideal_candidate): If we find a requested function is
                   11454:        ambiguous in an MI lattice, set CP->EVIL to 1.
                   11455:        (build_method_call): If CP->EVIL is set on return from
                   11456:        `ideal_candidate', return error_mark_node.
                   11457: 
                   11458:        * cplus-decl.c (lookup_name): Prefer finding typenames to overloaded
                   11459:        functions where there's a collision.
                   11460:        (pushdecl): Don't override the declaration of global functions with
                   11461:        a TYPE_DECL that has the same name.  `lookup_name' now knows how to
                   11462:        find both.
                   11463:        (globalize_nested_type): Changed to look in IDENTIFIER_TYPE_VALUE
                   11464:        slot for global definitions that are not in IDENTIFIER_GLOBAL_VAL.
                   11465:        * cplus-type2.c (build_functional_cast): Deal with more ambiguities
                   11466:        and more cases where the syntactic form `NAME ( PARMS )' can have
                   11467:        meaning.
                   11468: 
                   11469: Sat Aug 24 01:33:00 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11470: 
                   11471:        * expr.c (convert_move): Make integer extension general.
                   11472: 
                   11473:        * optabs.c (init_extends, gen_extend_insn): Finish and turn on.
                   11474: 
                   11475:        * reload1.c (possible_group_p): Insist on regs in needed class.
                   11476: 
                   11477:        * SYSCALLS.c (alloca): Declare arg as size_t.
                   11478: 
                   11479:        * expr.c (store_constructor): Handle union constructor.
                   11480: 
                   11481:        * final.c (split_double): long long CONST_DOUBLE now has VOIDmode.
                   11482: 
                   11483:        * optabs.c (expand_binop): Fix carry propagation bugs.
                   11484:        Handle carry propagation for big-endian case.
                   11485: 
                   11486: Fri Aug 23 21:29:46 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11487: 
                   11488:        * cplus-decl.c (finish_decl): More PIC fixes.  Also, don't assign
                   11489:        any storage for static member variables except when they are being
                   11490:        defined.
                   11491: 
                   11492:        * cplus-init.c (build_virtual_init): Change interface to take
                   11493:        MAIN_ASSOC instead of FOR_TYPE.
                   11494:        (expand_aggr_init_1): Ditto.
                   11495:        (expand_recursive_init_1): Ditto.
                   11496:        (expand_aggr_vbase_init{_1}): Change interface to take an assoc
                   11497:        instead of a type.
                   11498:        (expand_recursive_init): Ditto.
                   11499: 
                   11500:        * cplus-pt.c (uses_template_parms): Handle PARM_DECL nodes.
                   11501: 
                   11502:        * cplus-search.c (get_base_assoc): Use ASSOC_MARKED instead of
                   11503:        ASSOC_BASETYPE_MARKED to mark visited nodes.
                   11504:        (lookup_field, loopup_fnfields): Use ASSOC_FIELDS_MARKED instead of
                   11505:        ASSOC_VBASE_MARKED when searching.
                   11506:        ({bfs_,un,bfs_un}marked2p): Deleted, unused.
                   11507:        (dfs_{un}mark2): Deleted, unused.
                   11508:        (dfs_unmark12): Deleted, unused.
                   11509:        (build_vbase_vtables_init): Change interface to take MAIN_ASSOC
                   11510:        instead of FOR_TYPE.
                   11511: 
                   11512: Fri Aug 23 18:31:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11513: 
                   11514:        * expr.c (do_store_flag): Give up if can't directly compare args.
                   11515: 
                   11516: Fri Aug 23 18:00:58 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11517: 
                   11518:        * function.c (instantiate_virtual_regs_1): Add new arg and now returns
                   11519:        int instead of void.
                   11520:        All callers changed.
                   11521: 
                   11522:        * expr.c (compare_constants): Deleted.
                   11523:        (compare_from_rtx): Use simplify_relational_operation instead of
                   11524:        compare_constants; abort is not needed since
                   11525:        simplify_relational_operation will return 0 if given VOIDmode.
                   11526: 
                   11527:        * cse.c (fold_rtx): Correctly compute mode of operands being
                   11528:        compared.
                   11529: 
                   11530: Fri Aug 23 17:16:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11531: 
                   11532:        * stmt.c (expand_end_case):
                   11533:        Avoid special cases for modes when widening.
                   11534:        Realize __builtin_classify_type reduces to int constant.
                   11535: 
                   11536:        * optabs.c (emit_cmp_insn): New arg, MODE.  All callers changed.
                   11537:        If both args are const_int, copy one to a reg.
                   11538: 
                   11539: Fri Aug 23 15:54:21 1991    (Eric Youngdale at [email protected])
                   11540: 
                   11541:        * make-cc1.com: Fix bug where cplus-parse.y was always being passed
                   11542:        through bison, whether it needed it or not.
                   11543: 
                   11544: Fri Aug 23 15:20:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11545: 
                   11546:        * stmt.c (expand_end_case): Remove Aug 12 change.
                   11547:        Convert index to nominal_type for subtraction.
                   11548: 
                   11549: Thu Aug 22 14:34:21 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11550: 
                   11551:        * configure, config.gcc: Switch to all-dashes config names.
                   11552: 
                   11553:        * gnulib2.c [U_udivdi3, L_muldi3]: Define __clz_tab for longlong.h.
                   11554: 
                   11555: Thu Aug 22 00:28:29 1991  Torbjorn Granlund  (tege at zevs)
                   11556: 
                   11557:        * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE.
                   11558:        * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm.
                   11559:        * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs.
                   11560:        * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the
                   11561:          nops.  (Saves two insn.)
                   11562:        * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid
                   11563:          branch, and to permit input/output register overlap.
                   11564:        * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition.
                   11565:        * longlong.h (__29k__ umul_ppmm): Split asm instructions into two
                   11566:          asm statements (gives better code if either the upper or lower
                   11567:          part of the product is unused.
                   11568:        * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of
                   11569:          udiv_qrnnd.
                   11570:        * longlong.h (IBMR2): Add udiv_qrnnd.
                   11571:        * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x
                   11572:          `unsigned long int'.
                   11573:        * longlong.h: Add `int' after `unsigned' and `long' everywhere.
                   11574:        * longlong.h: Add ARM, i860 support.
                   11575:        * longlong.h (sparc umul_ppmm): Use __asm__, not asm.
                   11576:        * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0
                   11577:          and m1 (overlap between output and input operands did not work).
                   11578:        * longlong.h: Add VAX, ROMP and HP-PA support.
                   11579:        * longlong.h: Sort the machine dependent code in alphabetical order
                   11580:          on the CPU name.
                   11581:        * longlong.h: Hack comments.
                   11582:        * longlong.h: Define BITS_PER_LONG to 32 if it's not already
                   11583:          defined.
                   11584:        * Define __BITS4 to BITS_PER_LONG / 4.
                   11585:        * Don't assume 32 bit word size in "count_leading_zeros" C macro.
                   11586:          Use __BITS4 and BITS_PER_LONG instead.
                   11587:        * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm
                   11588:          even for plain mc68000.
                   11589:        * longlong.h: Clean up comments.
                   11590:        * longlong.h: Don't use #elif.
                   11591:        * longlong.h: Use __asm__ instead of asm.
                   11592:        * longlong.h (sparc udiv_qrnnd): Make it to one string over several
                   11593:          lines.
                   11594:        * longlong.h: Preend __ll_ to B, highpart, and lowpart.
                   11595:        * longlong.h: Move array t in count_leading_zeros to gnulib2.c
                   11596:          Rename the array __clz_tab.
                   11597:        * longlong.h (umul_ppmm [C variant]): Make __ul...__vh
                   11598:          `unsigned int', and cast the multiplications.  This way
                   11599:          compilers more easily can choose cheaper multiplication
                   11600:          instructions.
                   11601: 
                   11602: Thu Aug 22 07:36:40 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11603: 
                   11604:        * rtl.h: Declare simplify_relational_operation.
                   11605: 
                   11606:        * out-m88k.c (output_file_start): Put the `gcc2_compiled.' symbol
                   11607:        in the data section.  Eliminates symbol translation problems with
                   11608:        debuggers.
                   11609: 
                   11610:        Changes from Ron Guilmette:
                   11611:        * toplev.c (compile_file): Use dwarfout_finish when done.
                   11612:        * final.c (output_source_line): Use dwarfout_line.
                   11613:        * dwarfout.c (dwarfout_finish): Rename from dwarfout_finalize.
                   11614:        * tm-m88k.h (ASM_OUTPUT_DWARF_LINE, ASM_FILE_END): No need for
                   11615:        dwarf specific actions.
                   11616: 
                   11617: Thu Aug 22 05:29:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11618: 
                   11619:        * combine.c (can_combine_p): Don't combine if INSN has REG_RETVAL note.
                   11620:        (try_combine): Similarly, don't combine if I3 has REG_LIBCALL note.
                   11621: 
                   11622:        * flow.c (propagate_block): Don't use variable PREV in
                   11623:        nested blocks that shadows PREV at function level.
                   11624:        If we handle this insn normally, arrange to scan any insns that
                   11625:        were inserted in front of it for making auto-inc addressing.
                   11626: 
                   11627:        * integrate.c (save_for_inline_copying): Clear CONST_DOUBLE
                   11628:        memory chain.
                   11629: 
                   11630:        * toplev.c (fatal_insn_not_found): Now that it is called in final.c
                   11631:        when an insn doesn't match constraints, write different error
                   11632:        message in that case.
                   11633:        * genattrtab.c (write_attr_case): Call fatal_insn_not_found instead
                   11634:        of abort when constrain_operands fails.
                   11635: 
                   11636: Thu Aug 22 05:29:09 1991  Matthew Self  (mself at next.com)
                   11637: 
                   11638:        * rtl.c (add_dependence): Uses of RTX_UNCHANGING_P should now be
                   11639:        SCHED_GROUP_P.
                   11640: 
                   11641: Thu Aug 22 00:34:20 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11642: 
                   11643:        * recog.c (offsettable_address_p): Always pass QImode to addressp.
                   11644: 
                   11645: Wed Aug 21 09:20:09 1991  Michael Meissner  (meissner at osf.org)
                   11646: 
                   11647:        * tm-decrose.h (LINK_SPEC): Allow -pic-none, -glue, -noshrlib
                   11648:        switches.
                   11649:        (LIB_SPEC): Add -L/usr/ccs/lib to get new 1.1 linker to use static
                   11650:        libraries instead of shared libraries, since the shared library
                   11651:        support has not yet been added.
                   11652: 
                   11653: Wed Aug 21 06:18:12 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11654: 
                   11655:        * out-rs6000.c (print_operand, case 'Y', 'Z'): Fix typo in
                   11656:        auto-inc case.
                   11657:        * rs6000.md (movti): Add missing %U in memory cases.
                   11658: 
                   11659:        * tm-rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Indexed addresses are not
                   11660:        valid for DImode and TImode.
                   11661:        * out-rs6000.c (indexed_mem_operand): Deleted.
                   11662:        (print_operand, case 'X'): Don't use indexed_mem_operand; check
                   11663:        ourselves instead.
                   11664:        * rs6000.md (movdi, movti): Don't check for indexed memory operands.
                   11665: 
                   11666: Tue Aug 20 16:02:41 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   11667: 
                   11668:        * sdbout.c (sdbout_parms): Handle parm passed in reg and living in
                   11669:        pseudo that was optimized away.
                   11670: 
                   11671: Mon Aug 19 19:10:42 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11672: 
                   11673:        * combine.c (simplify_comparision, case NEG): Can only convert
                   11674:        (-a) < C to a > C if C is zero.
                   11675: 
                   11676:        * expmed.c (store_bit_field, extract_bit_field): Use WORD_MODE for
                   11677:        mode of BITS_PER_WORD to avoid conflict with other use of variable
                   11678:        named MODE.
                   11679: 
                   11680:        * cse.c (cse_insn): Don't make a REG_EQUAL note whose contents
                   11681:        are a REG; the REG might have been eliminated.
                   11682: 
                   11683:        * reload1.c (reload_as_needed): Pass any CLOBBERs made when reloading
                   11684:        an insn to `forget_old_reloads_1'.
                   11685: 
                   11686: Mon Aug 19 12:47:46 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11687: 
                   11688:        * configure (m88k-luna): Rename alternative appropriately.
                   11689: 
                   11690:        * cse.c (simplify_relational_operation): Split out from ..._binary_...
                   11691:        (fold_rtx): Use that function for relationsals.
                   11692:        (simplify_binary_operation): Don't allow relationals.
                   11693:        * combine.c (subst, gen_binary): Use simplify_relation_operation.
                   11694:        * integrate.c (subst_constants): Likewise.
                   11695:        * jump.c (jump_optimize): Likewise.
                   11696: 
                   11697:        * c-common.c (shorten_compare): Warn about unsigned >= 0.
                   11698: 
                   11699: Sun Aug 18 17:29:16 1991    (Eric Youngdale at [email protected])
                   11700: 
                   11701:        * tm-vms.h (ASM_OUTPUT_EXTERNAL): Remove code to round the storage
                   11702:        size up to a multiple of 4 bytes.
                   11703: 
                   11704: Sun Aug 18 15:35:27 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11705: 
                   11706:        * dbxout.c (dbxout_parms):
                   11707:        Handle parm passed in reg and living in pseudo that was optimized away.
                   11708: 
                   11709:        * function.c (init_function_start): Give decl_printable_name both args.
                   11710: 
                   11711:        * expr.c (compare_from_rtx):
                   11712:        Don't change to unsigned if too wide for host int.
                   11713:        * cse.c (fold_rtx): Use mode_arg0 to simplify comparison ops.
                   11714:        Update mode_arg0 when we look at value of cc0.
                   11715: 
                   11716:        * cse.c (cse_insn): Really don't record bitfield destinations
                   11717:        unless source is constant which fits.
                   11718:        But pre-truncate other constants.
                   11719: 
                   11720:        * config.subr: Allow $os to be empty.
                   11721: 
                   11722:        * function.c (lookup_static_chain): Check for 0 before inline function.
                   11723: 
                   11724:        * config.subr (pc532, minix): New alternatives.
                   11725: 
                   11726:        * configure (editing Makefile): Use cross-make.
                   11727:        * Makefile.in (install-cross): Change dep to install-gnulib.
                   11728: 
                   11729: Sat Aug 17 17:18:05 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11730: 
                   11731:        * All cplus-* files: Change the representation of the C++
                   11732:        inheritance lattice for types.  There is no longer such a thing as a
                   11733:        classtype_variant.  Instead, types all have their own lattices
                   11734:        accessed via their CLASSTYPE_ASSOC field.
                   11735: 
                   11736:        * cplus-tree.h (lang_type): Delete fields OFFSET,
                   11737:        MAIN_CLASS_VARIANT, NEXT_CLASS_VARIANT, VIA_PUB_OR_VIRT.
                   11738:        Rename field AS_ID_LIST to ID_AS_LIST, since it's a list.
                   11739:        (CLASSTYPE_AS_ID_LIST): Renamed to CLASSTYPE_ID_AS_LIST.
                   11740:        Add field ASSOC_AS_LIST, which is a TREE_LIST whose TREE_VALUE is
                   11741:        the assoc for the type.
                   11742:        (CLASSTYPE_VIA_*, SET_CLASSTYPE_VIAS): Deleted.
                   11743:        (CLASSTYPE_OFFSET*): Deleted.
                   11744:        (CLASSTYPE_N_BASECLASSES): Now uses type's assoc.  TYPE_BASETYPES
                   11745:        field is unused.  Next change will make TYPE_BASETYPES hold the
                   11746:        assoc field.
                   11747:        (CLASSTYPE_VBASE_SIZE): Use slot in TYPE_LANG_SPECIFIC instead of
                   11748:        sneaking it into the TREE_TYPE field of the basetypes.
                   11749: 
                   11750:        (ASSOC_TYPE): Deleted.  Now use ASSOC_VALUE everywhere.
                   11751:        (ASSOC_{BASETYPE,BASETYPES}): New macros.  Both are operations on
                   11752:        assocs and return assocs.
                   11753:        (CLASS_ASSOC_BASETYPE): New macro.  This performs roughly the same
                   11754:        function that CLASSTYPE_BASECLASS used to, but it retains no assoc
                   11755:        info in the type it returns.
                   11756:        (ASSOC_NEXT_ASSOC): New macro used for traversing assoc chains built
                   11757:        up by search routines.
                   11758:        (ASSOC_VIA_{PUBLIC,VIRTUAL}): New macros for accessing inheritance
                   11759:        information.  CLASSTYPE_VIA_{PUBLIC,VIRTUAL} no longer used.
                   11760:        (ASSOC_CID): New macro.
                   11761: 
                   11762:        (DECL_ANON_UNION_ELEM): Deleted.  Now anonymous union decls are
                   11763:        distinguished as FIELD_DECLs with NULL DECL_NAMEs and UNION_TYPE
                   11764:        types.
                   11765: 
                   11766:        (DERIVED_FROM_P): New macro.  Change calls that testing inheritance
                   11767:        relationships (get_base_type and get_base_distance) to use this macro.
                   11768: 
                   11769:        * cplus-type2.c (basetype_or_else): Change interface to use/return an
                   11770:        assoc instead of a type.  Change name to base_assoc_or_else.
                   11771: 
                   11772:        * cplus-tree.c (build_classtype_variant): Deleted.
                   11773:        (copy_type_lang_specific): Deleted.
                   11774:        * all cplus-* files: Everything that used to use CLASSTYPE_OFFSET on
                   11775:        types now uses ASSOC_OFFSET on assocs.
                   11776: 
                   11777:        * cplus-class.c (propagate_basetype_offsets): Change interface to use
                   11778:        assocs instead of types.  Change name to propagate_assoc_offsets.
                   11779:        * cplus-search.c (get_base_type): Ditto; name changed to
                   11780:        get_base_assoc.
                   11781: 
                   11782:        * cplus-cvt.c (convert_pointer_to): Change interface to use an assoc
                   11783:        instead of a type.
                   11784:        (convert_pointer_to_vbase): Ditto.
                   11785:        * cplus-call.c (build_field_call): Ditto.
                   11786:        * cplus-class.c (get_vfield_offset): Ditto.
                   11787:        (build_method_call): Ditto.
                   11788:        (maybe_fixup_vptrs): Ditto.
                   11789:        * cplus-search.c (get_first_matching_virtual): Ditto.
                   11790:        (get_virtuals_named_this): Ditto.
                   11791:        (tree_needs_constructor_p): Ditto.
                   11792:        (get_virtual_destructor): Ditto.
                   11793:        (tree_has_any_destructor_p): Ditto.
                   11794:        (get_baselinks): Ditto.
                   11795:        (lookup_{field,fnfields}): Ditto.  Also, use ASSOC_VBASE_MARKED
                   11796:        instead of CLASSTYPE_MARKED2 to mark virtual basetypes that have
                   11797:        been visited.
                   11798:        (build_vbase_vtables_init): Ditto.
                   11799:        ({build,free}_mi_matrix): Ditto.
                   11800:        * cplus-init.c (expand_aggr_init_1): Ditto.
                   11801:        (expand_aggr_vbase_init_1): Ditto.
                   11802:        (build_virtual_init): Ditto.
                   11803:        * cplus-class.c (build_class_init_list): Rewritten to build list with
                   11804:        assoc entries instead of types.  Also, use new macro
                   11805:        ASSOC_BASEINIT_MARKED instead of CLASSTYPE_MARKED6.
                   11806:        (finish_base_struct): New argument ASSOCS is the list of assocs that
                   11807:        describe the basetypes of T.
                   11808: 
                   11809:        * cplus-tree.c (make_lang_type): Always initialize
                   11810:        CLASSTYPE_VBASE_SIZE to integer_zero_node.  To test if a class has
                   11811:        virtual baseclasses, test CLASSTYPE_VBASECLASSES, not
                   11812:        CLASSTYPE_VBASE_SIZE.
                   11813: 
                   11814:        * cplus-class.c (finish_struct): Rewritten to use assocs instead of
                   11815:        types where appropriate.
                   11816: 
                   11817:        * cplus-search.c (get_base_distance): Change interface to use assocs
                   11818:        or types.  Also, PATH_PTR argument is now an assoc chain, not a
                   11819:        TREE_LIST.  Algorithm to find leftmost path is now more efficient.
                   11820:        (compute_visibility): Uses assoc chain instead of TREE_LIST of
                   11821:        types.
                   11822:        (recursive_bounded_basetype_p): New function.
                   11823:        (dfs_walk, dfs_* functions): Change to be called with assocs instead
                   11824:        of types.
                   11825:        (breadth_first_search, all bfs_*): Ditto.
                   11826:        cplus-tree.c (reverse_path): New function.  Like nreverse, but works
                   11827:        on assoc chains.
                   11828: 
                   11829:        * cplus-class.c (build_vtable, prepare_fresh_vtable,
                   11830:        modify_vtable_{entries,entry},): Change interfaces to use assocs
                   11831:        instead of types.  Use macro ASSOC_VTABLE_PATH_MARKED on the assocs
                   11832:        instead of CLASSTYPE_MARKED3.  Use macro ASSOC_NEW_VTABLE_MARKED on
                   11833:        the assocs instead of CLASSTYPE_MARKED4.
                   11834: 
                   11835:        * cplus-dbxout.c: Now needs to know more about assocs.  When assocs
                   11836:        are put in the TYPE_BASETYPEs field, it should not need to know
                   11837:        about lang_type.
                   11838: 
                   11839:        * cplus-decl.c (xref_tag): Rewritten to build proper assoc lists.  No
                   11840:        longer builds basetype lists.
                   11841:        (finish_function): Make `flag_no_inline' really take effect.
                   11842: 
                   11843:        * cplus-tree.c (make_assoc): Changed for new assoc structure.  The
                   11844:        fields in assocs are now: VALUE (pointer to TYPE that this assoc is
                   11845:        for), OFFSET (the byte offset of this basetype in the whole object),
                   11846:        VTABLE (the virtual function table that should be used to initialize
                   11847:        objects controlled by this assoc), VIRTUALS (the virtual functions
                   11848:        to use for initializing VTABLE), BASETYPES (a TREE_VEC of basetypes
                   11849:        that this assoc has, or NULL_TREE if none), NEXT_ASSOC (a temporary
                   11850:        slot used to point to the next assoc in an assoc chain),
                   11851:        VIA_{PUBLIC,VIRTUAL} bits saying whether this assoc is a basetype of
                   11852:        its parent via public or virtual inheritance.
                   11853: 
                   11854:        * cplus-ptree.c (print_lang_type): Modified as necessary to cope with
                   11855:        new inheritance structure.
                   11856: 
                   11857:        * cplus-search.c (get_base_type_1): This function was unused and
                   11858:        wrong.  Deleted.
                   11859: 
                   11860:        * cplus-tree.c (layout_basetypes): Take new arg ASSOCS.  Layout the
                   11861:        basetypes my modifying the assocs, not the types.
                   11862:        (layout_vbasetypes): Ditto.
                   11863: 
                   11864:        * all cplus-* files: Removed dead code, unused variables, and change
                   11865:        asserts where appropriate.
                   11866: 
                   11867:        * all cplus-* files: DECL_VIRTUAL_P is no longer used as a truth test
                   11868:        for whether or not a function is virtual.  Use a test for non-NULL
                   11869:        DECL_VINDEX instead.
                   11870: 
                   11871: Sat Aug 17 15:16:40 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11872: 
                   11873:        * function.h (inline_function_decl): Declare it.
                   11874:        * integrate.c: Include function.h; don't declare var here.
                   11875: 
                   11876:        * rtl.h (regno_reg_rtx): Declare it.
                   11877: 
                   11878:        * stmt.c (expand_end_case):
                   11879:        When filling labelvec from case range, avoid overflow in i.
                   11880: 
                   11881: Fri Aug 16 23:06:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11882: 
                   11883:        * c-typeck.c (build_binary_op_nodefault):
                   11884:        Take out warning added by recent changes.
                   11885: 
                   11886: Fri Aug 16 22:00:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11887: 
                   11888:        * function.c (inline_function_decl): New var.
                   11889:        (lookup_static_chain): Decl is local if context is function being
                   11890:        inlined.
                   11891:        * integrate.c: Remove partially-completed previous change.
                   11892:        (expand_inline_function): Set inline_function_decl.
                   11893: 
                   11894: Fri Aug 16 21:41:10 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   11895: 
                   11896:        * a29k.md (insv,extv): Changed POS / SIZE to POS / 8, since high
                   11897:        order bit of BP selects half-word position for half-word ops.
                   11898: 
                   11899: Fri Aug 16 18:52:35 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   11900: 
                   11901:        * combine.c (distribute_links): Only put link on new insn if the
                   11902:        insn uses the register.  If first find an insn that sets the
                   11903:        register but does not otherwise use it, then drop the link.
                   11904:           
                   11905:        * combine.c (distribute_links): Strip off SUBREG, ZERO_EXTRACT,
                   11906:        etc. from the destination of the set before passing it to
                   11907:        reg_mentioned_p and reg_referenced_p.
                   11908:                  
                   11909: Sat Aug 16 17:02:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   11910: 
                   11911:        * cplus-pt.c (uses_template_parms): Run loop over _EXPR nodes from
                   11912:        TREE_CODE_LENGTH-1 to 0, not from TREE_CODE_LENGTH.
                   11913: 
                   11914:        * cplus-decl.c (grokfndecl): Change `==' to `=' in assignment to
                   11915:        `raises'
                   11916:        (finish_decl): If FLAG_PIC is nonzero, leave initialized data in
                   11917:        common space.
                   11918: 
                   11919: Fri Aug 16 13:13:11 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   11920: 
                   11921:        * reg-stack.c (current_function_returns_real): New variable.
                   11922:        (reg_to_stack): Set it.
                   11923:        (stack_reg_life_analysis): Use it.
                   11924:        (emit_pop_insn): Return the new insn.
                   11925:        (convert_regs): Pop any stack regs live at the end of the last basic
                   11926:        block.
                   11927: 
                   11928: Fri Aug 16 16:16:45 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   11929: 
                   11930:        * tm-sparc.h (SELECT_SECTION): Don't put relocatable values into
                   11931:        text space if generating position-independent code.
                   11932: 
                   11933: Fri Aug 16 16:00:30 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11934: 
                   11935:        * protoize.c (__flsbuf): Decl deleted; no need.
                   11936:        [ultrix]: Include string.h, not strings.h.
                   11937: 
                   11938:        * function.c (instantiate_virtual_regs_1): Bug adding NEW to addr of X.
                   11939: 
                   11940: Fri Aug 16 08:51:25 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11941: 
                   11942:        * expr.c (expand_expr, case ABS_EXPR, MIN_EXPR, MAX_EXPR): Don't
                   11943:        allow TARGET to be a hard reg because evaluating the comparison
                   11944:        might clobber it.
                   11945: 
                   11946: Thu Aug 15 23:38:04 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11947: 
                   11948:        * tm-m68k.h (PRINT_OPERAND): Use asm_fprintf to print immed prefix.
                   11949: 
                   11950: Thu Aug 15 23:36:12 1991  Micheal Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   11951: 
                   11952:        * cplus-decl.c (finish_enum): Remove last traces of Wood's mistaken
                   11953:        changes for tag handling in C++.
                   11954:        * cplus-class.c (finish_struct): Ditto.
                   11955: 
                   11956: Tue Aug 13 06:12:18 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   11957: 
                   11958:        * jump.c (find_cross_jump): When avoiding CALL_INSNs, don't
                   11959:        return a CODE_LABEL as a cross-jump point; use next_real_insn instead
                   11960:        of next_nonnote_insn.
                   11961: 
                   11962:        * fold-const.c (optimize_bit_field_compare, merge_component_reference):
                   11963:        Use mode_for_size to get mode for word; don't use SImode.
                   11964:        * tree.c (build_index_type, build_index_2_type): Don't use SImode;
                   11965:        get mode of SIZETYPE instead.
                   11966: 
                   11967:        * optabs.c (emit_cmp_insn): Use type of int instead of SImode for
                   11968:        return from memcmp and bcmp.
                   11969: 
                   11970: Mon Aug 12 17:54:55 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11971: 
                   11972:        * stmt.c: Include recog.h.
                   11973:        * stmt.c (expand_end_bindings): Expect abort to return void.
                   11974:        (expand_end_case): Give tablejump whatever mode it wants.
                   11975: 
                   11976:        * integrate.c (integrate_type): New function.
                   11977:        * c-typeck.c (build_binary_op_nodefault): Rewrite last change.
                   11978: 
                   11979:        * Makefile.in (install): Indirect through INSTALL_TARGET.
                   11980:        (install-native): New name for old install target.
                   11981:        (INSTALL_TARGET): New variable.
                   11982:        * cross-make (INSTALL_TARGET): Override it.
                   11983: 
                   11984: Mon Aug 12 17:25:48 1991  Michael Meissner  (meissner at osf.org)
                   11985: 
                   11986:        * out-mips.c (toplevel, override_options, siginfo): If the OSF/1
                   11987:        SIGINFO signal is provided, invoke siginfo handler, which prints
                   11988:        which file is being compiled, and runs ps on the compiler and it's
                   11989:        parent.
                   11990: 
                   11991:        * make-decrose (CC, OLDCC): Define CC and OLDCC to be the same, so
                   11992:        that tests within Makefile.in work as expected.
                   11993:        (LIB2FUNCS_EXTRA): Put osf-main in the gnulib2 portion of the
                   11994:        library, instead of the gnulib1 portion.
                   11995: 
                   11996: Mon Aug 12 16:31:47 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   11997: 
                   11998:        * explow.c (expr_size): Fix typo.
                   11999: 
                   12000: Mon Aug 12 14:27:31 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   12001: 
                   12002:        * expr.c (expand_expr, case COND_EXPR): Fix typo in comment.
                   12003:        In the singleton code, don't accept a hard register as a target if
                   12004:        we are going to store into it before testing the condition because
                   12005:        that evaluation may involve a subroutine call which might clobber it.
                   12006: 
                   12007:        * rtl.h (SCHED_GROUP_P): Fix typo in definition.
                   12008: 
                   12009: Mon Aug 12 08:01:01 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12010: 
                   12011:        * jump.c (find_cross_jump): Look at REG_EQUIV notes in addition to
                   12012:        REG_EQUAL notes.
                   12013:        (do_cross_jump): Remove REG_EQUAL or REG_EQUIV notes present on only
                   12014:        one branch of the cross-jump so we don't get confused by them if we
                   12015:        cross-jump again.
                   12016: 
                   12017: Mon Aug 12 01:44:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   12018: 
                   12019:        * unroll.c (unroll_loop): When naively unrolling loops, if the last
                   12020:        jump insn is an unconditional jump, and it does not jump to the loop
                   12021:        top, then it must be copied with the rest of the loop body.
                   12022: 
                   12023:        * rtl.h: Clean up documentation for uses of volatil and in_struct
                   12024:        fields of an rtx.
                   12025:        * gcc.texinfo: Document macros CONST_CALL_P, LABEL_PRESERVE_P, and
                   12026:        SCHED_GROUP_P. Clean up documentation for uses of used, in_struct,
                   12027:        and unchanging fields of an rtx.
                   12028: 
                   12029:        * final.c (final_scan_insn):  In the ASM_OUTPUT_LOOP_ALIGN code,
                   12030:        must verify that next exists before checking whether it is a label.
                   12031: 
                   12032: Sun Aug 11 16:46:17 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   12033: 
                   12034:        * i386.md (cmpstrsi): Enable it.  Now uses REG as output, not cc0.
                   12035:        Old cc0-output pattern remains for combining cmpstrsi & test pairs.
                   12036: 
                   12037: Sun Aug 11 15:52:33 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12038: 
                   12039:        * dbxout.c (dbxout_symbol): Handle var-length array with reference.
                   12040: 
                   12041:        * c-decl.c (xref_tag): Copy default mode from unsigned_type_node.
                   12042:        * explow.c (expr_size): Get it from size_type.
                   12043:        * reload1.c (allocate_reload_reg): No need to validate mode of
                   12044:        reload_in if that value is a const_int.
                   12045: 
                   12046:        * expr.c (expand_builtin): Get value mode properly, for memcmp.
                   12047: 
                   12048: Sun Aug 11 15:52:33 1991  Jim Wilson  (wilson at cygint.cygnus.com)
                   12049: 
                   12050:        * dbxout.c (dbxout_symbol): DECL_ASSEMBLER_NAME is a tree, not a
                   12051:        character string, so call IDENTIFIER_POINTER before printing it.
                   12052: 
                   12053:        * fold-const.c (fold): When converting foo++ == CONST to ++foo ==
                   12054:        CONST + INCR, the plus must have the same TREE_TYPE as the
                   12055:        postincrement, not the comparison.
                   12056: 
                   12057: Sat Aug 10 22:58:01 1991  Michael Meissner  (meissner at osf.org)
                   12058: 
                   12059:        * mips.md (extendqihi2 define_split): Use SImode on shifts rather
                   12060:        than HImode, and turn result register into SImode as well.
                   12061: 
                   12062: Sat Aug 10 21:00:59 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   12063: 
                   12064:        * calls.c (emit_call_1): New argument is_const.  Set CONST_CALL_P
                   12065:        true for the call_insn if is_const is true.
                   12066:        (expand_call): Pass is_const to emit_call_1.
                   12067:        * expr.c (emit_library_call): Pass no_queue to emit_call_1.
                   12068:        Document that no_queue means that the function call is const.
                   12069:        * local-alloc.c (validate_equiv_mem):  Don't invalidate memory for
                   12070:        const calls.
                   12071:        * rtl.h: Update comments describing uses of rtl unchanging and
                   12072:        in_struct bits.
                   12073:        (CONST_CALL_P): New macro.  True for a call_insn if it is calling
                   12074:        a const function.  Uses the unchanging bit.
                   12075:        (SCHED_GROUP_P): New macro.  True for an insn if it must be
                   12076:        scheduled together with the previous insn.  Uses the in_struct bit.
                   12077:        * sched.c: Rewrite to use new SCHED_GROUP_P macro insead of
                   12078:        RTX_UNCHANGING_P.
                   12079:        (sched_analyze): Rewrite to use new CONST_CALL_P macro.
                   12080: 
                   12081:        * sched.c (schedule_block): Don't schedule a block with a volatile
                   12082:        or traditional asm insn.  There is currently no code to correctly
                   12083:        handle dependencies for them.
                   12084: 
                   12085:        * combine.c (distribute_links): Fix typo in comment.
                   12086: 
                   12087: Sat Aug 10 18:42:22 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12088: 
                   12089:        * emit-rtl.c (operand_subword): Replace explicit SImode references
                   12090:        with mode for BITS_PER_WORD bits.
                   12091: 
                   12092: Sat Aug 10 14:17:08 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12093: 
                   12094:        * calls.c (expand_call): Handle ARGS_GROW_DOWNWARD.
                   12095: 
                   12096:        * ns32k.md (call_value): Consistently realize function is operand 1.
                   12097: 
                   12098:        * cccp.c (do_include): Get current dir from nominal_fname.
                   12099: 
                   12100:        * expr.c (expand_builtin): Give cmpstr* a target in the mode it wants.
                   12101:        * optabs.c (expand_cmp_insn): Likewise.
                   12102: 
                   12103: Fri Aug  9 09:59:27 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12104: 
                   12105:        * dwarfout.c (output_symbols_for_block): Fix typo in iterating over
                   12106:        subblocks.
                   12107: 
                   12108:        * make-m88k{,dgux,luna}: Eliminate m88k-trace.asm.
                   12109:        * tm-m88k.h, out-m88k.c: Make -mbig-pic a synonym for -fPIC.
                   12110:        Delete -mtrace-function.
                   12111: 
                   12112:        * Makefile.in (CROSS_TOOLS): New variable.
                   12113:        (gnulib1.null, gnulib2.ready): Depend on CROSS_TOOLS.
                   12114:        (gnulib1.null): Use $(AR) $(AR_FLAGS).
                   12115:        * cross-make (CROSS_TOOLS): Define as install-cross-tools.
                   12116: 
                   12117: Fri Aug  9 15:21:16 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12118: 
                   12119:        * optabs.c (emit_cmp_insn): Expect cmpstr* to have result operand.
                   12120:        Test the sign of the result we get.
                   12121:        i386.md needs to be changed.
                   12122: 
                   12123: Fri Aug 9 11:09:22 1991    (Eric Youngdale at [email protected])
                   12124: 
                   12125:        * make-cc1.com: Fix bug where the wrong program was being run to
                   12126:        generate insn-attrtab.c, and, add DEBUG option, so that images can be
                   12127:        linked to run under the debugger.
                   12128: 
                   12129: Fri Aug  9 06:42:15 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12130: 
                   12131:        * genemit.c (gen_split): Add "_fail:" label here too.
                   12132: 
                   12133:        * tree.h (STRIP_NOPS): Define macro here; add CONVERT_EXPR to list
                   12134:        of operations to possibly ignore.
                   12135:        * fold-const.c (STRIP_NOPS): Not here.
                   12136:        * expr.c (strip_nops): Delete function.
                   12137:        (string_constant): Use STRIP_NOPS macro instead of strip_nops function.
                   12138: 
                   12139:        * global-alloc.c (expand_preferences): New function.
                   12140:        (global_alloc): Call it.
                   12141: 
                   12142: Fri Aug  9 01:19:26 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   12143: 
                   12144:        * optabs.c (emit_cmp_insn): Correct typo in spacing.
                   12145: 
                   12146:        * unroll.c: Correct typo in comment.  Document that unrolling a
                   12147:        loop by a multiple of the number of memory accesses is a win.
                   12148:        (unroll_loop): New variable last_loop_insn, points to the last
                   12149:        real insn in the loop, which will either be a jump or a barrier.
                   12150:        Use last_loop_insn instead of assuming that PREV_INSN (loop_end)
                   12151:        is that last real insn in the loop.
                   12152:        Standardize comments printed to loop dump file when we can't
                   12153:        unroll a loop, so that they all start with "Unrolling failure".
                   12154:        No longer assumes that the insn before the backward jump is a
                   12155:        compare unless HAVE_cc0.  If not HAVE_cc0, then must copy this
                   12156:        insn, and for loop_iterations == 1 case, can not delete this insn.
                   12157:        If last_loop_insn is not a JUMP_INSN or BARRIER, then do not
                   12158:        unroll the loop.
                   12159:        (precondition_loop_p): Fail if loop_iteration_var is not live
                   12160:        before loop_start.
                   12161:        (copy_loop_body): Rewrite obsolete and misleading comment
                   12162:        concerning the splitting of address givs.
                   12163:        (back_branch_in_range_p): Correct typo in comment.  No longer
                   12164:        assumes that PREV_INSN (loop_end) is the backward branch at the
                   12165:        end of the loop.
                   12166:        (fold_rtx_mult_add):  Rewrite to use simplify_binary_operation.
                   12167:        (iteration_info): Fail if iteration variable is larger than
                   12168:        HOST_BITS_PER_LONG, or if it does not have an integer mode.
                   12169:        (find_splittable_givs): If an address giv was combined with
                   12170:        another address giv, then we can only split the first giv if the
                   12171:        second was actually reduced.
                   12172:        (loop_iterations): New variable last_loop_insn, use instead of
                   12173:        assuming that the last jump insn if PREV_INSN (loop_end).
                   12174:        Correct typo in comment.
                   12175: 
                   12176: Thu Aug  8 17:57:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12177: 
                   12178:        * Makefile.in (gnulib1.null): Use *_FOR_TARGET variables.
                   12179:        (TARGET_TOOLPREFIX): New variable.
                   12180:        (AR_FOR_TARGET, AR_FOR_TARGET_FLAGS): New variables.
                   12181:        (RANLIB_FOR_TARGET, RANLIB_TEST_FOR_TARGET): New variables.
                   12182:        * cross-make: New file.
                   12183:        * configure: Insert cross-make into Makefile.
                   12184: 
                   12185:        * tm-m68k.h (LEGITIMIZE_ADDRESS): Copy address before changing it.
                   12186:        (COPY_ONCE): New macro, subroutine for LEGITIMIZE_ADDRESS.
                   12187: 
                   12188:        * toplev.c (main): Accept -g with warning if not supported.
                   12189: 
                   12190:        * Makefile.in (install-cross-tools): Do nothing unless have gcc-cross.
                   12191:        (gnulib2.ready): Depend on install-cross-tools.
                   12192: 
                   12193: Thu Aug  8 14:34:53 1991  Ken Raeburn  (raeburn at watch.com)
                   12194: 
                   12195:        * expr.c (c_strlen): New function; determines strlen of string const.
                   12196:        (expand_builtin, cases BUILT_IN_STRCMP, BUILT_IN_STRCPY): Call it
                   12197:        instead of relying on TREE_STRING_LENGTH.  For strcmp, optimize
                   12198:        cases where two lengths are available, if at least one of them is
                   12199:        constant.
                   12200:        (expand_builtin, case BUILT_IN_MEMCMP): If alignment test fails, and
                   12201:        function was really BUILT_IN_STRCMP, delete length parameter before
                   12202:        expanding call.
                   12203: 
                   12204:        * tree.h (enum built_in_function): Added BUILT_IN_STRLEN.
                   12205:        * c-decl.c (sizet_ftype_string): New variable, for strlen prototype.
                   12206:        (init_decl_processing): Set it, and declare strlen and
                   12207:        __builtin_strlen as built-in functions.  Deleted variable `decl'
                   12208:        since it was only assigned to, never read.
                   12209:        * expr.c (expand_builtin, case BUILT_IN_STRLEN): Implement it.
                   12210: 
                   12211:        * cplus-decl.c (sizet_ftype_string, init_decl_processing): Copy
                   12212:        changes from c-decl.c.  Also initialize const_string_type_node.
                   12213: 
                   12214: Thu Aug  8 14:34:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12215: 
                   12216:        * c-decl.c (pushdecl): Just warn if trad. extern type is temporary.
                   12217: 
                   12218: Wed Aug  7 15:16:55 1991  Jim Wilson  (wilson at sphagnum.cygnus.com)
                   12219: 
                   12220:        * local-alloc.c (block_alloc): When converting a SCRATCH rtx to a
                   12221:        REG rtx, must clear the `used' bit.
                   12222: 
                   12223: Tue Aug  6 14:17:09 1991  Jim Wilson  (wilson at wombat.gnu.ai.mit.edu)
                   12224: 
                   12225:        * stmt.c (expand_start_bindings): Fix typo in comment or spacing.
                   12226:        * rtlanal.c (reg_referenced_between_p): Likewise.
                   12227:        (reg_set_last): Likewise.
                   12228:        * loop.c (make_loop_jump): Likewise.
                   12229:        * longlong.h (UDIV_NEEDS_NORMALIZATION): Likewise.
                   12230:        * local-alloc.c (update_equiv_regs): Likewise.
                   12231:        * global-alloc.c (hard_reg_copy_preferences): Likewise.
                   12232:        * fixcpp: Likewise.
                   12233:        * tm-m68k.h (CONDITIONAL_REGISTER_USAGE): Likewise.
                   12234:        * combine.c (reg_significant): Likewise.
                   12235:        * calls.c (expand_call): Likewise.
                   12236:        * cplus-tree.c (build_cplus_new): Likewise.
                   12237: 
                   12238:        * function.c (fixup_var_refs_insns): When emitting a move insn,
                   12239:        don't put it between a CALL_INSN and its USE insns as this will
                   12240:        break sched and reorg.  Instead, put it before the USE insns.
                   12241: 
                   12242:        * combine.c (subst): Convert (ior (ashift A CX) (lshift A CY)) where
                   12243:        CX+CY equals the mode size to (rotate A CX).
                   12244: 
                   12245:        * out-sparc.c (emit_move_sequence): For DImode constants, can not
                   12246:        create a temporary register to hold the high part.
                   12247:        (output_scc_insn): When in a delay slot, verify that NEXT_INSN (insn)
                   12248:        really is the next insn.
                   12249: 
                   12250:        * sparc.md: Fix support for DImode constants.  Two new patterns
                   12251:        added, one for high:DI operators and one for lo_sum:DI operators.
                   12252:        (*extend*): Rework these patterns.  Don't accept memory input
                   12253:        operands in the define_expands, as this gives better code.
                   12254:        Delete patterns for combining two loads into a load and move;
                   12255:        these are obsoleted by combiner improvements.
                   12256:        Delete define_splits for splitting these obsolete patterns.
                   12257:        (one_cmplsi2): Can not accept general_operand destinations, only
                   12258:        register destinations.
                   12259: 
                   12260:        * tm-sparc.h (STACK_POINTER_OFFSET): Explain how value is derived,
                   12261:        and compute in terms of another macro.
                   12262:        (STRUCT_VALUE_OFFSET): Explain how value is derived.
                   12263:        (FIRST_PARM_OFFSET): Fix typo in comment.
                   12264: 
                   12265:        * expr.c (MOVE_RATIO): Check for HAVE_movstrdi.
                   12266:        (emit_block_move): Add code to use HAVE_movstrdi if present.
                   12267:        (emit_push_insn): Likewise.
                   12268: 
                   12269:        * final.c (final_scan_insn): When insn fails constraint check,
                   12270:        call fatal_insn_not_found instead of just aborting to make
                   12271:        debugging easier.
                   12272: 
                   12273:        * tree.c (integer_all_onesp): Rewrite code to avoid shift by
                   12274:        HOST_BITS_PER_INT which is undefined according to ANSI.  Also,
                   12275:        abort for precision values not handled, i.e. those greater than
                   12276:        twice times HOST_BITS_PER_INT.
                   12277: 
                   12278: Tue Aug  6 14:05:42 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   12279: 
                   12280:        * i386.md (seq,sne): Use setb/setnb mnemonics instead of setc/setnc:
                   12281:        GAS doesn't understand the latter yet.
                   12282: 
                   12283: Tue Aug  6 13:01:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12284: 
                   12285:        * Makefile.in (install-common): Use -d, not -f, for tooldir/bin.
                   12286: 
                   12287: Tue Aug 6 10:37:02 1991    (Eric Youngdale at [email protected])
                   12288: 
                   12289:        * make-cc1.com: Replacement file.  This new version can build cc1plus
                   12290:        and cc1obj in addition to cc1 (known on VMS systems as gcc-cc1plus.exe,
                   12291:        gcc-cc1obj.exe and gcc-cc1.exe respectively).
                   12292: 
                   12293: Tue Aug  6 06:30:09 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12294: 
                   12295:        * cse.c (canon_hash): If a REG in an operand is equivalent to a
                   12296:        constant, hash as if we had the constant.
                   12297:        (exp_equiv_p): See if a REG and constant are equivalent.
                   12298: 
                   12299: Tue Aug  6 03:59:16 1991  Ken Raeburn  (raeburn at watch.com)
                   12300: 
                   12301:        * cplus-tree.c (make_deep_copy): Handle PARM_DECLs.
                   12302: 
                   12303:        * cplus-init.c (build_offset_ref): Use DECL_CHAIN, not TREE_CHAIN
                   12304:        when trying to determine if a function is unique.
                   12305: 
                   12306:        * cplus-decl.c (start_decl): When constructing a decl tree for a
                   12307:        function template, copy last_function_parms to permanent storage,
                   12308:        and save it as the function argument list.  Call build_lang_decl
                   12309:        instead of build_decl, instead of duplicating the extra work it does.
                   12310:        Set `overloaded' flag to 1.  Call dont_forget_overload, so the
                   12311:        template decl won't get discarded.
                   12312:        Also deleted some commented-out code.
                   12313: 
                   12314:        * cplus-pt.c (uses_template_parms, cases VAR_DECL, FUNCTION_DECL):
                   12315:        Give a warning if template parms are only used in places where they
                   12316:        can't be resolved (e.g., return types or global or fixed-class
                   12317:        variable types).
                   12318:        (tsubst): Preserve storage qualifiers on type field, and pass it to
                   12319:        layout_type if it has changed.
                   12320:        (tsubst, case TEMPLATE_TYPE_PARM):  Preserve storage qualifiers.
                   12321:        (tsubst, case INTEGER_TYPE): Process min and max fields, if needed.
                   12322:        (tsubst, case FUNCTION_DECL): Process arguments and result fields.
                   12323:        (tsubst, case PARM_DECL): New branch.  Handle parm list for
                   12324:        FUNCTION_DECL nodes.
                   12325:        (tsubst, case TREE_LIST): Copy TREE_PARMLIST flag from source.
                   12326:        Don't bother processing TREE_CHAIN field if it is void_type_node.
                   12327:        (tsubst, cases POINTER_TYPE, REFERENCE_TYPE): Preserve storage
                   12328:        qualifiers.
                   12329:        (tsubst, case FUNCTION_TYPE): Eliminate recursion for simple common
                   12330:        cases for values and context fields.  Preserve storage qualifiers.
                   12331:        (tsubst, default case): Print node type of correct variable in error
                   12332:        message.
                   12333:        (instantiate_template): Set function_maybepermanent_obstack to
                   12334:        permanent, along with the others, and restore old value after tsubst
                   12335:        call.  This permits the PARM_DECL case to work.
                   12336: 
                   12337: Mon Aug  5 22:44:51 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12338: 
                   12339:        * cplus-tree.h (struct pending_inline): Add new field `deja_vu' to
                   12340:        mark if this pending_inline has already been seen.
                   12341:        * cplus-lex.c (do_pending_inlines): Set DEJA_VU when seen.
                   12342:        * cplus-lex.c (reinit_parse_for_method, cons_up_default_function):
                   12343:        Initialize DEJA_VU to 0.
                   12344:        * cplus-decl2.c (mark_inline_for_output): Don't add DECL to
                   12345:        PENDING_INLINES if it's already been seen.
                   12346:        * cplus-pt.c (instantiate_template): Initialize DEJA_VU to 0.
                   12347: 
                   12348:        * cplus-method.c (do_inline_function_hair): Change some assignments
                   12349:        to asserts, since they seem to be copying values that are already
                   12350:        there.
                   12351: 
                   12352: Mon Aug  5 22:23:34 1991  Michael Meissner  (meissner at osf.org)
                   12353: 
                   12354:        * genemit.c (gen_expand, main): Change FAIL macro to be a simple
                   12355:        goto _fail, and initialize the return value to 0 in the prologue.
                   12356:        This avoids a useless warning message that the MIPS C compiler
                   12357:        gives if a return is encountered inside of a do { ... } while (0).
                   12358: 
                   12359: Mon Aug  5 21:28:06 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12360: 
                   12361:        * cplus-xref.c (GNU_xref_file): Treat VMS like USG.
                   12362: 
                   12363:        * optabs.c (expand_binop): In libcall, use actual mode of op1.
                   12364: 
                   12365:        * c-typeck.c (build_binary_op_nodefault):
                   12366:        In signed versus unsigned compare warning, note promotions of unsigned.
                   12367: 
                   12368:        * c-parse.y (simple_if): Allow error instead of lineno_labeled_stmt.
                   12369:        (if_prefix): New subroutine of simple_if.
                   12370: 
                   12371:        * gnulib2.c (__ashldi3, __ashrdi3, __lshldi3, __lshrdi3):
                   12372:        Accept second arg as int, not long long.
                   12373: 
                   12374: Sun Aug  4 22:31:53 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12375: 
                   12376:        * cplus-except.c (cplus_expand_start_except): Set up variables
                   12377:        `current_exception_name_as_rtx' and `current_exception_parms_as_rtx'.
                   12378:        These variables are used to factor out calls to `expand_assignment'
                   12379:        and allow instead calls to `emit_move_insn', which takes about 1/2x
                   12380:        the compilation time when called directly.
                   12381:        (various places): Use `store_expr' instead of `expand_assignment'
                   12382:        when reasonable.
                   12383:        (cplus_expand_reraise): Take advantage of above changes.
                   12384:        (setup_exception_throw_decl): This is where *_as_rtx variables are
                   12385:        initialized.
                   12386: 
                   12387:        * cplus-input.c (getch): Rewritten slightly to help GNU C optimizer.
                   12388:        * cplus-lex.c (yylex): In IDENTIFIER case, pre-test condition that
                   12389:        `getch' tests, and call `getc' directly when possible.  This cuts
                   12390:        calls to `getch' by a factor of 4 for typical C++.
                   12391: 
                   12392:        * cplus-class.c (add_virtual_function): Memoize the first 256
                   12393:        virtual function table index nodes (0x80000001, 0x80000002, etc.).
                   12394:        (finish_struct): Use `size_int' instead of `build_int_2' when we
                   12395:        know the int will not be changed in place (such as the size value of
                   12396:        virtual function tables).
                   12397:        * cplus-decl2.c (finish_table): Same change as for `finish_struct'.
                   12398:        * cplus-tree.c (layout_basetypes): Same change.
                   12399:        * cplus-decl.c (init_decl_processing): Use `size_int' to initialize
                   12400:        `size_zero_node' and `size_one_node'.
                   12401: 
                   12402:        * cplus-tree.h (TREE_OVERLOADS_ARROW): Define this.
                   12403:        * cplus-parse.y (operator_name): Set TREE_OVERLOADS_ARROW where
                   12404:        appropriate.
                   12405:        * cplus-type2.c (build_x_arrow): Use TREE_OVERLOADS_ARROW and
                   12406:        reorganize the logic for better speed.
                   12407:        * cplus-ptree.c (print_lang_type): Print when TREE_OVERLOADS_ARROW.
                   12408: 
                   12409: Sun Aug  4 16:44:54 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12410: 
                   12411:        * rtlanal.c (reg_referenced_p): Properly handle ASM_OPERANDS.
                   12412: 
                   12413:        * cse.c (cse_insn): When recording this_insn_cc0, build a COMPARE
                   12414:        rtl if SRC is a floating-point value.
                   12415: 
                   12416: Sun Aug  4 16:16:11 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12417: 
                   12418:        * fold-const.c (fold): Don't compute shift with negative count.
                   12419:        * cse.c (simplify_binary_operation): Likewise.
                   12420: 
                   12421: Sat Aug 3 15:57:55 1991    (Eric Youngdale at [email protected])
                   12422: 
                   12423:        * tm-vms.h (ASM_OUTPUT_EXTERNAL): Modify to always write the
                   12424:        correct size of the data object, if it is known.
                   12425:        (ASM_OUTPUT_COMMON): Modify to select the const or the data section
                   12426:        as appropriate.  This definition shadows a definition in tm-vax.h
                   12427:        (const_section): Change data type to void.
                   12428: 
                   12429: Sat Aug  3 15:02:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12430: 
                   12431:        * integrate.c (save_for_inline_copying): Clear constant pool after
                   12432:        saving constants into the insns.
                   12433: 
                   12434:        * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Ensure items
                   12435:        passed to emit_block_move are valid MEMs.
                   12436: 
                   12437:        * recog.c (offsettable_address_p): Don't change INTVAL of a CONST_INT
                   12438:        within an address; that CONST_INT is likely shared and may be used
                   12439:        elsewhere in the address.
                   12440: 
                   12441:        * stmt.c (expand_end_stmt_expr): Don't try to copy result to
                   12442:        REG; it might be BLKmode.
                   12443: 
                   12444:        * reload.c (MATCHES): Don't consider two things equal if they have
                   12445:        side effects.
                   12446: 
                   12447:        * combine.c (try_combine): When replacing SET_DEST inside a PARALLEL,
                   12448:        don't replace it with something that has a side effect.
                   12449: 
                   12450: Sat Aug  3 13:17:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12451: 
                   12452:        * c-decl.c (init_decl_processing):
                   12453:        If traditional, omit builtins with names that don't start with _.
                   12454:        Also omit if not optimizing.
                   12455: 
                   12456:        * Makefile.in (combine.o, emit-rtl.o, expr.o, final.o, tree.o):
                   12457:        Depend on gvarargs.h.
                   12458: 
                   12459: Fri Aug 2 11:00:10 1991    (Eric Youngdale at [email protected])
                   12460: 
                   12461:        Merge some VMS changes from 1.39 that did not make it to 2.0.
                   12462:        These changes will prohibit GCC from addressing external symbols with
                   12463:        indirect addressing modes, to be compatible with sharable
                   12464:        image libraries under VMS.
                   12465: 
                   12466:        * tm-vms.h: Define NO_EXTERNAL_INDIRECT_ADDRESS, define
                   12467:        ENCODE_SEGMENT_INFO to make use of hook in varasm.c
                   12468: 
                   12469:        * tm-vax.h: Provide alternative definitions of INDIRECTABLE_CONSTANT_P,
                   12470:        INDIRECTABLE_CONSTANT_ADDRESS_P, and INDIRECTABLE_ADDRESS_P, which
                   12471:        are used when NO_EXTERNAL_INDIRECT_ADDRESS is defined.  Also, define
                   12472:        INDIRECTABLE_CONSTANT_ADDRESS_P.   Modify definitions of
                   12473:        GO_IF_NONINDEXED_ADDRESS, and GO_IF_LEGITIMATE_ADDRESS to work with
                   12474:        either alternative.
                   12475: 
                   12476: Fri Aug  2 21:54:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12477: 
                   12478:        * loop.c (check_dbra_loop): Fix typo in arg to single_set.
                   12479: 
                   12480:        * reload1.c (choose_reload_regs): Verify that all registers in a 
                   12481:        group still contain the desired value.
                   12482:        (emit_reload_insns): Set reg_reloaded_contents and reg_reloaded_insn
                   12483:        for all registers in a group.
                   12484: 
                   12485:        * combine.c (set_significant): Handle a complex SET_DEST correctly.
                   12486: 
                   12487: Fri Aug  2 17:12:24 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12488: 
                   12489:        * tree.c (build_array_type): Make pointer type before array type.
                   12490: 
                   12491:        * Makefile.in (install-common): Never install gcc if gcc-cross exists.
                   12492: 
                   12493: Fri Aug  2 14:58:42 1991  Michael Meissner  (meissner at osf.org)
                   12494: 
                   12495:        * make-mips (CC, OLDCC): Comment why we need to define CC and OLDCC
                   12496:        to get around fixed size table complaints in the MIPS compiler.
                   12497: 
                   12498: Fri Aug  2 14:08:01 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12499: 
                   12500:        * configure (writing VPATH definition):  Avoid temp file.
                   12501: 
                   12502:        * tm-i860.h (MAX_PARM_BOUNDARY): Defined.
                   12503:        (GO_IF_LEGITIMATE_ADDRESS): Add parens around & operator.
                   12504:        (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Use sp, not r3 (that's fp).
                   12505:        * i860.md (movsf): Don't reload high address part if already loaded.
                   12506:        (cmplesf, cmpledf, cmpgesf, cmpgedf): Set CC_NEGATED; swap operands.
                   12507:        * out-i860.c (strict_single_insn_op_p):
                   12508:        Fix criterion for loading high half.
                   12509:        (output_load_address): #if 0 since not used.
                   12510: 
                   12511: Fri Aug  2 01:46:39 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   12512: 
                   12513:        * i386.md (swapdf): Don't condition on TARGET_387.
                   12514:        (bit set/complement/clear insns): Don't use if -m486.
                   12515:        (bit test insns): Don't allow a MEM operand.
                   12516: 
                   12517: Thu Aug  1 19:05:31 1991  Matthew Self  (mself at next.com)
                   12518: 
                   12519:        * local-alloc.c (block_alloc):  Record regs_live_at for last insn
                   12520:        in basic block too.  Otherwise REG_UNUSED regs may overlap hard
                   12521:        regs set in the last insn of the basic block.
                   12522: 
                   12523: Thu Aug  1 19:02:57 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12524: 
                   12525:        * emit-rtl.c (gen_rtx): Don't return frame_pointer_rtx (e.g.) if
                   12526:        mode is not Pmode.
                   12527: 
                   12528:        * emit-rtl.c (operand_subword): Don't write explicit divide by 0;
                   12529:        some (broken) compilers give errors for it.
                   12530: 
                   12531:        * m68k.md (udivhi3): One pattern had constraint of "d" with
                   12532:        const_int_operand.
                   12533:        (FPA insns): Operand 1's constraints allow memory and constants, but
                   12534:        the predicate is register_operand; change to general_operand.
                   12535: 
                   12536: Thu Aug  1 13:41:47 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12537: 
                   12538:        * cplus-lex.c (do_pending_inlines, process_next_inline): Zero out
                   12539:        the DECL_PENDING_INLINE_INFO field after processing it.
                   12540:        (store_pending_inline): Don't delay processing a virtual function,
                   12541:        since it needs to be processed in case the virtual function table is
                   12542:        needed.
                   12543: 
                   12544:        * cplus-decl2.c (mark_inline_for_output): If DECL has pending inline
                   12545:        info, cause it to be processed.
                   12546: 
                   12547:        * cplus-pt.c: Removed extraneous declaration of `permanent_obstack'.
                   12548:        Also, added comment for `reinit_parse_for_template'.
                   12549: 
                   12550:        * cplus-typeck.c (mark_addressable): For FUNCTION_DECL case, also
                   12551:        test DECL_PENDING_INLINE_INFO.
                   12552: 
                   12553: Thu Aug  1 13:26:12 1991  Michael Meissner  (meissner at osf.org)
                   12554: 
                   12555:        * mips-tfile.c (main): If input file is not specified, use the same
                   12556:        file for both input and output.  If renaming output file and rename
                   12557:        fails, copy the file.
                   12558:        (free_multiple_pages): New function.
                   12559: 
                   12560:        * tm-decrose.h (ASM_FINAL_SPEC): Add this to call mips-tfile if
                   12561:        using the MIPS assembler.
                   12562: 
                   12563:        * tm-mips.h (ASM_FINAL_SPEC): Add this to call mips-tfile unless
                   12564:        using gas.
                   12565:        (TARGET_VERSION): Do not put __DATE__ in the output.
                   12566: 
                   12567:        * make-mips (BISONFLAGS): Add -l to bison flags because the MIPS
                   12568:        based compilers have problems with #line.
                   12569:        (CC): Define in terms of $(OLDCC) so the USE_HOST macros work.
                   12570:        (EXTRA_PASSES): Build mips-tfile and mips-tdump.
                   12571:        (Makefile): Explicitly use sh to invoke configure.
                   12572: 
                   12573:        * make-decrose (EXTRA_PASSES): Build collect.
                   12574:        (Makefile): Explicitly use sh to invoke configure.
                   12575: 
                   12576: Thu Aug  1 12:22:17 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12577: 
                   12578:        * cccp.c (directive_table, node_type): Add #include_next.
                   12579:        (do_include): Support #include_next.
                   12580:        (finclude): New arg DIRPTR.  All callers changed.
                   12581: 
                   12582:        * reload1.c (reload_as_needed):  Check live_known before accessing
                   12583:        basic_block_head.
                   12584: 
                   12585: Thu Aug  1 11:47:37 1991  Michael Meissner  (meissner at osf.org)
                   12586: 
                   12587:        * gcc.c (compilers): Add new spec %A, which expands ASM_FINAL_SPEC.
                   12588:        This option is added after all other arguments to the assembler.  It
                   12589:        is for the MIPS port to run a cleanup program after the assembler
                   12590:        finishes, by having ASM_FINAL_SPEC be "\n mips-tfile args..."
                   12591:        (set_spec): If name is 'asm_final', set the asm_final_spec.
                   12592:        (process_command): print out asm_final_spec for -dumpspecs.
                   12593:        (do_spec_1): Expand %A to be ASM_FINAL_SPEC.
                   12594:        (validate_all_switches): look at any switches handled in
                   12595:        ASM_FINAL_SPEC.
                   12596: 
                   12597: Thu Aug  1 07:42:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12598: 
                   12599:        * dwarfout.c (element_list_attribute): AT_element_list is a BLOCK4.
                   12600: 
                   12601: Wed Jul 31 17:42:40 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12602: 
                   12603:        * jump.c (jump_optimize): In "if (...) x = 1; else {...} if (x) ...":
                   12604:        Don't assume that SYMBOL_REFs are always non-zero.
                   12605:        Handle operations other than EQ and NE.
                   12606:        Handle conditional RETURN properly.
                   12607: 
                   12608:        * out-a29k.c (print_operand, case 'e'): When writing LXn, use number
                   12609:        of last label in function.
                   12610:        (output_prolog): Fix missing arg in ADD  in a29k_first_epilogue_insn.
                   12611: 
                   12612: Wed Jul 31 13:41:37 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12613: 
                   12614:        * sdbout.c (sdbout_parms): Don't crash if MEM address is a MEM.
                   12615: 
                   12616: Wed Jul 31 12:36:37 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12617: 
                   12618:        * fixincludes: New variable INCLUDES specifies input dir.
                   12619: 
                   12620:        * Makefile.in (install-common): Add dummy elt to EXTRA_PASSES.
                   12621:        Fix typo in test.
                   12622: 
                   12623:        * Makefile.in (install-cross-tools): Use /. in args to test -d.
                   12624:        (cccp.o, dbxout.o, c-plus-*): Added missing dependencies.
                   12625: 
                   12626:        * c-common.c: Don't include rtl.h--that was unmodular.
                   12627: 
                   12628:        * make-i386v (INSTALL): Define this.
                   12629: 
                   12630: Wed Jul 31 07:38:12 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12631: 
                   12632:        * Makefile.in (LIB2FUNCS_EXTRA): Extra C and assembler files for
                   12633:        gnulib2.
                   12634:         * make-m88k*: Put the assembler files in gnulib2 and eliminate use
                   12635:        of gnulib1.
                   12636: 
                   12637: Tue Jul 30 20:21:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12638: 
                   12639:        * stddef.h (WCHAR_T):
                   12640:        Test _WCHAR_T_, __WCHAR_T, _T_WCHAR_ and ___int_wchar_t_h.
                   12641: 
                   12642:        * tm-i386isc.h (RETURN_POPS_ARGS): Caller pops the struct value addr.
                   12643: 
                   12644:        * cccp.c (default_include): Search local dir, system, then standard.
                   12645: 
                   12646:        * Makefile.in (USE_HOST_MALLOC, USE_HOST_OBSTACK):
                   12647:        Don't depend on which C compiler is in use.
                   12648: 
                   12649:        * reload1.c (reload): Use pseudoreg to compute spill_indirect_levels.
                   12650: 
                   12651:        * c-decl.c (start_function): Don't take arg types from builtin.
                   12652:        (duplicate_decls): Cancel builtin function if new arg types differ.
                   12653:        Don't take arg types from buiiltin.
                   12654: 
                   12655: Tue Jul 30 18:45:39 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12656: 
                   12657:        * reload.c (decompose): Don't blow up for constants; they are safe.
                   12658: 
                   12659: Tue Jul 30 15:49:34 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12660: 
                   12661:        * dbxout.c (dbxout_parms): Don't crash if MEM address is a MEM.
                   12662: 
                   12663:        * Makefile.in (install-common): Don't lose if EXTRA_PASSES is empty.
                   12664:        Don't install gcc if gcc-cross exists.
                   12665:        (install-cross-tools): Fix typos.
                   12666:        Avoid doing cd -- use absolute file names.
                   12667:        (gcc-cross.o): Rule deleted.
                   12668:        (gcc-cross): Build gcc, then copy it.
                   12669: 
                   12670: Tue Jul 30 15:37:25 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12671: 
                   12672:        * cplus-init.c (build_vec_delete): Use `size_binop' when building up
                   12673:        the array end boundary.
                   12674: 
                   12675: Tue Jul 30 10:03:54 1991  Michael Meissner  (meissner at osf.org)
                   12676: 
                   12677:        * tm-mips.h (DOLLARS_IN_IDENTIFIERS): Define to be 1.
                   12678: 
                   12679: Mon Jul 29 18:56:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12680: 
                   12681:        * reload.c (refers_to_regno_for_reload_p): New function.
                   12682:        (push_reload, find_dummy_reload, immune_p): Use
                   12683:        refers_to_regno_for_reload_p instead of refers_to_regno_p.
                   12684: 
                   12685:        * cse.c (fold_rtx): Don't make shifts wider than object.
                   12686: 
                   12687: Mon Jul 29 17:17:55 1991  Michael Collison  (collison at osf.org)
                   12688: 
                   12689:        * configure: Added entry for mmax-osfrose (Multimax with ns32k
                   12690:        running OSF/1).
                   12691: 
                   12692: Mon Jul 29 14:51:32 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12693: 
                   12694:        * Makefile.in (SYMLINK): New variable.
                   12695:        (install-cross-tools): Make symlinks if possible.
                   12696:        Otherwise, for executables, indirect to tooldir with a shell script.
                   12697:        (install-native): Install gcc-cross as bin/gcc under tooldir.
                   12698: 
                   12699:        * Makefile.in (USE_HOST_ALLOCA):
                   12700:        Generate nothing if don't need separate alloca.
                   12701:        (USE_HOST_OBSTACK, USE_HOST_MALLOC): New variables.
                   12702:        (HOST_LIBS): Use them. 
                   12703:        (HOST_PREFIX_1): Make a dummy file with this name,
                   12704:        for cross-compiling for a machine that needs no separate alloca, etc.
                   12705: 
                   12706:        * c-parse.y (stmts): Accept either labels or unlabeled statements.
                   12707:        (lineno_labeled_stmt): New nonterminals.
                   12708:        (stmt_or_label, lineno_stmt_or_label): New nonterminals.
                   12709:        (stmts): Use lineno_stmt_or_label.
                   12710:        (stmt): Don't allow labels at this level.
                   12711:        Use lineno_labeled_stmt in place of lineno_stmt.
                   12712: 
                   12713:        * cccp.c (default_include): Get rid of extra #endif.
                   12714:        Use CROSS_COMPILE, not CROSS.
                   12715: 
                   12716:        * make-i386mach: New file.
                   12717:        * configure (i386-mach): Use that file.
                   12718: 
                   12719: Mon Jul 29 09:10:13 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12720: 
                   12721:        * tm-m88kluna.h (SYSTEM_INCLUDE_DIR): Define (also MACH).
                   12722: 
                   12723: Sun Jul 28 16:15:39 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12724: 
                   12725:        * cccp.c (default_include): Use SYSTEM_INCLUDE_DIR.
                   12726:        Delete special cases for MACH, UNOS.
                   12727:        * tm-i386mach.h, tm-sun3mach.h, tm-crds.h (SYSTEM_INCLUDE_DIR): Define.
                   12728: 
                   12729:        * cccp.c (default_include): Use CROSS_INCLUDE_DIR if cross-compiler.
                   12730:        * Makefile.in (cccp.o): Pass a definition for CROSS_INCLUDE_DIR.
                   12731: 
                   12732:        * Makefile.in (gnulib1.null): New target.
                   12733:        (install-common, install-common-headers, install-cross-tools):
                   12734:        (install-cross-rest, install-float-h-cross): New targets.
                   12735:        (install-float-h): New target.
                   12736:        (install-cross, install-headers): Use them.
                   12737:        (tooldir): New variable.
                   12738:        (EXTRA_PASSES): New variable.
                   12739: 
                   12740:        * sdbout.c (plain_type_1): Don't record the size in sdb_type_size
                   12741:        unless a tag is output.
                   12742: 
                   12743:        * Makefile.in (install-cross): Install specs by copying.
                   12744:        Install either gcc or gcc-cross, whichever exists.
                   12745:        (native): Remove gcc from deps.
                   12746:        (start.encap): Add gcc to deps.
                   12747:        (all.cross): Add gcc-cross to deps.
                   12748:        (gcc-cross): Like gcc rule except different output file name.
                   12749:        (gcc-cross.o): Likewise.
                   12750: 
                   12751:        * Makefile.in (EXTRA_PASSES): New variable.
                   12752:        Used for machines which have extra passes to run.
                   12753:        (install-cross): Install those programs.
                   12754:        (native): Compile them.
                   12755: 
                   12756:        * c-parse.y: Support `foo:' before a close brace.
                   12757:        (label): New nonterminal.
                   12758:        (stmt): Use that.  Treat a label as a statement in itself.
                   12759: 
                   12760:        * Makefile.in (gnulib*.portable): Rules deleted.
                   12761:        (GNULIB1, GNULIB2): Point directly at gnulib1, gnulib2.
                   12762:        (gnulib): Use GNULIB1, GNULIB2 directly both as deps
                   12763:        and to specify the input files.
                   12764:        (gnulib1.conv): Renamed from gnulib1.convert; no longer phony.
                   12765:        (gnulib*.target): Rules deleted.
                   12766:        make-hp9k320 (GNULIB1): Use gnulib1.conv.
                   12767:        (LIBCONVERT): Override.
                   12768: 
                   12769:        * move-if-change: Use -f with rm and mv.
                   12770: 
                   12771:        * Makefile.in (gnulib2.ready): No longer phony.
                   12772: 
                   12773: Sat Jul 27 13:03:50 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12774: 
                   12775:        * combine.c (can_combine_p): Don't use NEXT_INSN, in previous change.
                   12776: 
                   12777:        * Makefile.in (class-c, objective-c): New targets.
                   12778: 
                   12779:        * tm-i386.h (ASM_OUTPUT_ALIGN_CODE): Define it.
                   12780:        (ASM_OUTPUT_LOOP_ALIGN): Use ASM_OUTPUT_ALIGN_CODE.
                   12781:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Override it.
                   12782:        (ASM_OUTPUT_LOOP_ALIGN): Definition deleted.
                   12783: 
                   12784:        * fixincludes (memvar.h): Make two defs of CAT, one ANSI and one trad.
                   12785: 
                   12786:        * expmed.c (emit_store_flag): Set ICODE only after CODE is right.
                   12787: 
                   12788: Sat Jul 27 06:45:32 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12789: 
                   12790:        * flow.c (insn_dead_p): Don't clobber NEEDED while ensuring that we
                   12791:        don't delete insns that set the frame or arg pointer.
                   12792: 
                   12793:        * flow.c (flow_analysis, find_basic_blocks, propagate_block):
                   12794:        Use GET_RTX_CLASS.
                   12795:        
                   12796: Fri Jul 26 08:18:08 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12797: 
                   12798:        * sdbout.c: Use <syms.h> for USG and provide a definition of
                   12799:        T_VOID if none existed.  Use ./gsyms.h for non-USG systems.
                   12800:        * gsyms.h: Renamed from syms.h.
                   12801: 
                   12802: Fri Jul 26 22:47:53 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12803: 
                   12804:        * cccp.c (macroexpand): Fix error message syntax.
                   12805: 
                   12806:        * Makefile.in (gnulib2.target): Add semicolon.
                   12807: 
                   12808: Fri Jul 26 18:17:36 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
                   12809: 
                   12810:        * make-mips (CC): Bump -Wf,-XNg option to 1500 to allow the MIPS
                   12811:        compiler to compile cc1plus.
                   12812: 
                   12813: Fri Jul 26 14:42:35 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12814: 
                   12815:        * c-parse.y (yylex): Don't use mbtowc to translate L'\0'.
                   12816: 
                   12817:        * tm-m88ksvr4.h (CPP_SPEC): Specify SVR4 pre-assertions.
                   12818: 
                   12819: Fri Jul 26 09:53:53 1991  Michael Meissner  (meissner at pogo.gnu.ai.mit.edu)
                   12820: 
                   12821:        * Makefile.in (cplus_expr.o): Add missing dependencies, so cc1plus
                   12822:        can be built without first building cc1.
                   12823: 
                   12824: Fri Jul 26 07:30:51 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12825: 
                   12826:        * combine.c (can_combine_p): Can't combine if DEST is used in an
                   12827:        insn in the range (succ, i3).
                   12828: 
                   12829:        * expmed.c (store_bit_field): Don't use insv if the mode of its
                   12830:        input is narrower than the width of the field.
                   12831:        (store_fixed_bit_field): Handle value with MODE_FLOAT mode.
                   12832:        (extract_bit_field): Don't use extzv/extv if its output mode is
                   12833:        narrower that width of field.
                   12834:        (extract_bit_field): Handle returning MODE_FLOAT mode.
                   12835: 
                   12836:        * reorg.c (steal_delay_list_from_target): Add new arg PNEW_THREAD.
                   12837:        Instead of redirecting jump, return its target in *PNEW_THREAD.
                   12838:        (fill_slots_from_thread): Pass &NEW_THREAD to
                   12839:        steal_delay_list_from_target.
                   12840: 
                   12841: Thu Jul 25 21:57:42 1991  Jim Wilson  (wilson at wookumz.gnu.ai.mit.edu)
                   12842: 
                   12843:        * sched.c: Correct tiemann's email address.
                   12844:        (schedule_block): Note that the values of leftover REG_DEAD notes
                   12845:        are meaningless.
                   12846:        (new_insn_dead_notes): If find an instruction that both uses and
                   12847:        sets dest, then no new REG_DEAD note is needed.
                   12848:        (update_links): When handling dest of last insn, no new REG_DEAD
                   12849:        note is needed if the last insn also uses its dest.
                   12850: 
                   12851: Thu Jul 25 18:15:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   12852: 
                   12853:        * flow.c (regno_clobbered_at_setjmp): Don't blow up if no basic blocks.
                   12854: 
                   12855: Thu Jul 25 16:55:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12856: 
                   12857:        * cse.c (invalidate, cse_insn): Don't use HASHREG directly.
                   12858:        (HASH): Substitute HASHREG in.
                   12859:        (HASHREG): Deleted.
                   12860: 
                   12861:        * tm-i386mach.h: New file.
                   12862:        * configure (i386-mach): Use that.
                   12863: 
                   12864:        * tm-i386isc.h: New file, copied from 1.40.
                   12865: 
                   12866:        * i386.md (jump, indirect_jump, tablejump, return):
                   12867:        Use ASM_OUTPUT_ALIGN_CODE.
                   12868:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_LOOP_ALIGN):
                   12869:        Override the usual definition.
                   12870: 
                   12871:        * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Fix typo.
                   12872: 
                   12873: Thu Jul 25 16:25:52 1991  Tom Wood  (wood at dg-rtp.dg.com)
                   12874: 
                   12875:        * out-m88k.c (legitimize_address): Note use of addressing base.
                   12876:        (m88k_layout_frame): Establish PIC addressing base as needed.
                   12877: 
                   12878:        * tm-m88kdgux.h (GPLUSPLUS_INCLUDE_DIR): Specify.
                   12879: 
                   12880: Thu Jul 25 07:54:36 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12881: 
                   12882:        * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Defined.
                   12883: 
                   12884:        * integrate.c (expand_inline_function): Propagate the value of
                   12885:        FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE.
                   12886: 
                   12887:        * function.h (struct function): Add new field USES_PIC_OFFSET_TABLE
                   12888:        to structure.  Leave it to md files to initialize this field.
                   12889:        * expr.h (current_function_uses_pic_offset_table): New declaration.
                   12890:        * function.c ({save,restore}_tree_status): Save and restore
                   12891:        CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE to/from this slot.
                   12892:        * out-sparc.c (legitimize_pic_address): Set
                   12893:        CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE when appropriate.
                   12894:        (finalize_pic): If the current function does not use the PIC offset
                   12895:        table, there's no need to emit the PIC prologue.
                   12896: 
                   12897: Wed Jul 24 13:54:41 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12898: 
                   12899:        * tm-m68k.h (NOTICE_UPDATE_CC):
                   12900:        Calls clear status even if value in address reg.
                   12901: 
                   12902:        * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Align with NOPs.
                   12903: 
                   12904:        * i386.md (andsi3): Don't use movzbl if op1 can't support it.
                   12905: 
                   12906: Wed Jul 24 07:47:59 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   12907: 
                   12908:        * cplus-decl.c (finish_decl): Don't build a cleanup for an variable
                   12909:        that is TREE_EXTERNAL.
                   12910: 
                   12911: Tue Jul 23 20:48:23 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   12912: 
                   12913:        * make-mips: Delete rules for saber C.
                   12914:        * Makefile.in (STAGESTUFF, gnulib2.ready): Undo last change.
                   12915: 
                   12916:        * tm-vax.h (LIB_SPEC): Supply missing close braces.
                   12917: 
                   12918: Tue Jul 23 14:03:10 1991  Michael Meissner  (meissner at osf.org)
                   12919: 
                   12920:        * protoize.c (toplevel): If FULL_PROTOTYPES is defined, assume that
                   12921:        the system provides full prototypes, and include stdlib.h and
                   12922:        unistd.h.
                   12923:        (toplevel): If _POSIX_SOURCE is defined, wait takes a pointer to an
                   12924:        int, even if the system is otherwise BSD.
                   12925:        (toplevel): If NO_CONST_IN_SYSCALL and __STDC__ is defined, assume
                   12926:        the system takes char *'s instead of const char *'s.
                   12927:        (process_aux_info_file, edit_file): Always pass 3 arguments to open,
                   12928:        to allow the NO_CONST_IN_SYSCALL macro to properly cast the
                   12929:        arguments.
                   12930: 
                   12931:        * make-decrose (ALL): Make sure Makefile is rebuilt if either
                   12932:        Makefile.in or make-decrose changes.
                   12933:        (BUILD, SYSTEM_INCLUDES, LDFLAGS): Add BUILD variable to retarget
                   12934:        which build is used.
                   12935:        (CPP_ABORT): Don't define abort=fancy_abort here, do it in
                   12936:        tm-mips.h.
                   12937:        (INSTALL): Use installbsd program, since install uses System V
                   12938:        semantics on OSF/1.
                   12939:        (LANGUAGES): Rename collect-osf to collect.
                   12940:        (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
                   12941:        add additional arguments.
                   12942:        (libdir, bindir, mandir): Define to current install values.
                   12943:        (cplus-lex.o): Work around problems with 1.39 bootstrap compiler
                   12944:        producing bad stabs for certain inlines.
                   12945:        (osf-main.c): Add a simple G++ constructor/destructor to gnulib.
                   12946: 
                   12947:        * make-mips (ALL): Make Makefile depend on Makefile.in and
                   12948:        make-mips.
                   12949:        (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to
                   12950:        add additional arguments.
                   12951:        (CC): Add -Wf,-XNg500 switch to compile with due to the MIPS
                   12952:        compiler having fixed size tables.
                   12953:        (SABER_*): Add rules to run saber-C.
                   12954: 
                   12955:        * mips.md (movsi_ulw): Allow unaligned register->register moves,
                   12956:        which is caused by the optimizer, and generate the normal reg move
                   12957:        code.  Also, turn loads from the stack into normal moves.
                   12958:        (movsi_usw): Turn stores into the stack into normal moves.
                   12959:        (call, call_value): Turn into a define_expand which takes three
                   12960:        arguments, to make Saber happier.
                   12961: 
                   12962:        * tm-mips.h (abort macro): Define abort to be saber_stop if running
                   12963:        under Saber C.
                   12964:        (__PTR_TO_INT, __INT_TO_PTR): Define as casts if running on a MIPS
                   12965:        machine instead of with subtraction, in an attempt to quiet Saber C.
                   12966:        (ASM_MODIFY_SPEC): Run mips-tfile after the assembler, needs
                   12967:        corresponding gcc.c change to enable.
                   12968: 
                   12969:        * tm-decrose.h (ASM_SPEC): Pass -v switch to gas as well as mips
                   12970:        assembler.
                   12971:        (ASM_MODIFY_SPEC): Run mips-tfile if -mmips-as.
                   12972:        (LINK_SPEC): Pass -v switch to linker.
                   12973:        (LIB_SPEC): Redefine as just -lc.
                   12974:        (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine, use standard
                   12975:        libdir, bindir, and mandir in Makefile now.
                   12976:        (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Define to get protoize
                   12977:        to compile cleanly.
                   12978: 
                   12979:        * osf-main.c (new file): Provide simple constructor, destructor
                   12980:        capability to be linked into gnulib.
                   12981: 
                   12982:        * collect-osf.c (various): General rewrite to improve speed and
                   12983:        portability.
                   12984: 
                   12985:        * Makefile.in (CPLUS_OBJS): If CPLUS_INPUT is defined to be
                   12986:        cplus-input.o, compile it separately to work around problems with
                   12987:        bootstraping when it is included in cplus-lex.c.
                   12988:        (STAGESTUFF): Use $(LANGUAGES) instead of hard coded list of
                   12989:        languages, so make-xxx file can override, and provide others.
                   12990:        (gnulib2.ready): Make gnulib2 depend on all LANGUAGES targets, so
                   12991:        that if a target needs something else built, such as mips-tfile, it
                   12992:        will be.
                   12993:        (mostlyclean): Add missing -f to rm.
                   12994:        (install-dir): Use test to see if the directory exists before trying
                   12995:        to create it, and fail if the mkdir fails.
                   12996:        (install-headers): ditto.
                   12997:        (stage?, risky-stage?): ditto.
                   12998:        (install-cross): Install collect and mips-tfile if they are present.
                   12999: 
                   13000:        * mips-tfile.c (toplevel, main): Add -I file option, which renames
                   13001:        the original output file to the given file.
                   13002: 
                   13003:        * cplus-lex.c (toplevel): Include <assert.h> instead of "assert.h"
                   13004:        in order to avoid problems when including cplus-input.c, which also
                   13005:        uses <assert.h>.
                   13006: 
                   13007:        * cplus-pt.c (toplevel): Move include of config.h before obstack.h
                   13008:        in case config.h defines some macros obstack.h uses such as
                   13009:        __PTR_TO_INT.
                   13010: 
                   13011: Tue Jul 23 13:15:43 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   13012: 
                   13013:        * xm-i386.h, xm-i860.h, xm-spur.h, xm-tahoe.h: Use __builtin_alloca.
                   13014: 
                   13015: Tue Jul 23 12:26:01 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   13016: 
                   13017:        * function.c (instantiate_virtual_regs_1): Change dubious code that
                   13018:        used to assign NEW to XEXP (x, 1) regardless of whether
                   13019:        validate_change accepted it to instead set XEXP (x, 0) back to OLD.
                   13020:        I.e., if the rtx is out of range and OBJECT is NULL, don't make any
                   13021:        change at all.
                   13022: 
                   13023:        * out-sparc.c (compute_frame_size): If a function has any
                   13024:        stack-local objects, it's frame size is non-zero and space must be
                   13025:        reserved for the register window.
                   13026: 
                   13027:        * loop.c (loop_optimize): Use get_max_uid to compute max_uid_for_loop.
                   13028: 
                   13029:        * fold-const.c (size_int): Extend SIZE_TABLE's range from
                   13030:        0..HOST_BITS_PER_INT-1 to 0..2*HOST_BITS_PER_INT.
                   13031: 
                   13032:        * integrate.c (expand_inline_function): Add minor efficiency
                   13033:        hack to not free all the temp slots as parameters are passed
                   13034:        from "caller" to "callee".
                   13035: 
                   13036:        * integrate.c (expand_inline_function): If the inline function
                   13037:        returns its value via a structure_value_addr, we must prepare for
                   13038:        this to take place, even if the value is ignored by the caller.
                   13039: 
                   13040:        * tm-decstatn.h (SIZE_TYPE): Define this to be "unsigned int".
                   13041: 
                   13042:        * emit-rtl.c (try_split): If `split_insns' actually returns a SEQ
                   13043:        which is isomorphic to PAT, return TRIAL.
                   13044: 
                   13045:        * out-sparc.c (eligible_for_epilogue_delay): FP register moves are
                   13046:        only eligible for leaf-function epilogue delay slots.
                   13047: 
                   13048: Tue Jul 23 11:52:50 1991  Michael Meissner  (meissner at geech.gnu.ai.mit.edu)
                   13049: 
                   13050:        * dbxout.c (dbxout_symbol): Correct typo in getting static member
                   13051:        names.  The problem is DECL_ASSEMBLER_NAME returns a tree, and not a
                   13052:        char *.
                   13053: 
                   13054: Tue Jul 23 07:10:41 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   13055: 
                   13056:        * varasm.c (immed_double_const): Use CONST_INT if MODE fits within
                   13057:        HOST_BITS_PER_INT, not BITS_PER_WORD.
                   13058: 
                   13059: Mon Jul 22 21:37:03 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   13060: 
                   13061:        * fold-const.c (fold): Always preserve type after using const_binop.
                   13062: 
                   13063: Mon Jul 22 18:34:55 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   13064: 
                   13065:        * reload1.c (reload): Fix typo in condition for reg_equiv_address
                   13066:        being set from reg_equiv_memory_loc; had X instead of XEXP (X, 0).
                   13067: 
                   13068: Mon Jul 22 15:25:48 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   13069: 
                   13070:        * gcc.c (process_command): -xnone turns off any -x option.
                   13071: 
                   13072:        * tree.c (copy_chain): Deleted.
                   13073:        * integrate.c (copy_decl_tree): Use copy_list and copy_node.
                   13074: 
                   13075: Mon Jul 22 11:35:47 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   13076: 
                   13077:        * tree.c, tree.h: Fix typos in Jul 22 merge.
                   13078: 
                   13079: Mon Jul 22 08:51:47 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   13080: 
                   13081:        * jump.c (thread_jumps): Don't set CHANGED if the jump's label isn't
                   13082:        changing.
                   13083: 
                   13084: Mon Jul 22 02:37:23 1991  Michael Tiemann  (tiemann at pogo.gnu.ai.mit.edu)
                   13085: 
                   13086:        * version.c: Bumped to 1.94 because of significant changes to
                   13087:        cplus-* files.
                   13088: 
                   13089: Sun Jul 21 18:45:57 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   13090: 
                   13091:        * toplev.c (rest_of_compilation):
                   13092:        Save and restore DECL_INITIAL if we use save_for_inline_copying.
                   13093:        * integrate.c (save_for_inline_copying): Really copy DECL_INITIAL.
                   13094:        Calling integrate_decl_tree doesn't do it; deleted that call.
                   13095:        (copy_decl_tree): New function.
                   13096: 
                   13097:        * integrate.c (integrate_decl_tree): Renamed from copy_decl_tree.
                   13098:        (integrate_parm_decls): Renamed from copy_parm_decls.
                   13099: 
                   13100:        * tree.c (copy_chain): New function.
                   13101: 
                   13102: Sun Jul 21 06:43:23 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   13103: 
                   13104:        * i386.md (tstsi): Add comment noting potential -m486 enhancement.
                   13105:        (SImode push): With -m486, don't push from MEM.
                   13106:        (addsi3): Don't use lea for three operand add if -m486.
                   13107:        (ashlsi3): Don't use lea for shift of 1 if -m486.
                   13108:        (zero_extendhisi2,zero_extendqihi2,zero_extendqisi2): If dest is
                   13109:        %eax, or if -m486, AND is faster than MOVZX.
                   13110: 
                   13111: Sun Jul 21 06:27:33 1991  Richard Kenner  (kenner at vlsi1.ultra.nyu.edu)
                   13112: 
                   13113:        * expmed.c (store_fixed_bit_field): Pass actual bit position (including
                   13114:        offset) to get_best_mode; also limit mode size to BITS_PER_WORD.
                   13115:        Use failure of get_best_mode to indicate that field spans word 
                   13116:        boundary.
                   13117:        Pass actual bit position to store_split_bit_field.
                   13118:        (store_split_bit_field): Accept actual bit position, hence handing
                   13119:        bitpos > BITS_PER_WORD.
                   13120:        Abort if BITPOS and BITSIZE don't cross exactly one word boundary.
                   13121:        Pass offset to store_fixed_bit_field; if register, use operand_subword;
                   13122:        else adjust offset for second word.
                   13123:        (extract_{fixed,split}_bit_field): Likewise.
                   13124: 
                   13125: Sun Jul 21 06:11:55 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   13126: 
                   13127:        * All cplus-* files: DECL_VIRTUAL_P is no longer applied to
                   13128:        FUNCTION_DECLs.  Instead, to test if a function is virtual or not,
                   13129:        it suffices to test whether its DECL_VINDEX is non-NULL.  We use
                   13130:        ERROR_MARK_NODE as the placeholder for a FUNCTION_DECL we know will
                   13131:        be virtual, but for which we don't yet know the actual index.
                   13132: 
                   13133:        * cplus-decl.c (define_function): Don't set up DECL_ASSEMBLER_NAME
                   13134:        until after having the chance to call through PFN.  Since `pushdecl'
                   13135:        now keys off of DECL_ASSEMBLER_NAME, we don't want to create
                   13136:        inadvertent aliases between builtin and library functions.
                   13137: 
                   13138:        * cplus-typeck.c (build_modify_expr): We don't need to build a
                   13139:        SAVE_EXPR for a WITH_CLEANUP_EXPR.
                   13140:        (unary_complex_lvalue): For good measure, know how to deal with a
                   13141:        WITH_CLEANUP_EXPR inside a SAVE_EXPR.
                   13142: 
                   13143:        * cplus-pt.c (uses_template_parms): Add handler for ARRAY_TYPE.
                   13144: 
                   13145:        * cplus-method.c (do_inline_function_hair): Use TYPE_METHODS instead
                   13146:        of CLASSTYPE_METHOD_VEC for traversing all methods when looking for
                   13147:        inline functions.
                   13148: 
                   13149:        * cplus-class.c (finish_struct_methods): Fix fencepost error if
                   13150:        there were no member functions except for ctors/dtors.
                   13151: 
                   13152: Sun Jul 21 06:19:01 1991  James Van Artsdalen  (james at bigtex.cactus.org)
                   13153: 
                   13154:        * tree.h, output.h (current_function_calls_longjmp): New variable.
                   13155:        * function.c (top level): Define it.
                   13156:        (push_function_context): Save it.
                   13157:        (pop_function_context): Restore it.
                   13158:        (init_function_start): Initialize it.
                   13159: 
                   13160:        * calls.c (expand_call): Set current_function_calls_longjmp if
                   13161:        this call is to `longjmp'.
                   13162: 
                   13163:        * flow.c, global-alloc.c: Include output.h so that
                   13164:        FRAME_POINTER_REQUIRED can use current_function_calls_*.
                   13165:        * Makefile.in (flow.o,global-alloc.o): Includes output.h.
                   13166: 
                   13167:        * rtl.h (FUNCTION_FLAGS_CALLS_LONGJMP): New macro.
                   13168: 
                   13169:        * integrate.c (initialize_for_inline): Record
                   13170:        current_function_calls_lonjmp in `function_flags'.
                   13171:        (output_inline_function): Set current_function_calls_longjmp if
                   13172:        the inline code calls longjmp.
                   13173: 
                   13174:        * function.h (struct function): New field `calls_longjmp'.
                   13175: 
                   13176:        * out-i386.c (simple_386_epilogue):  Add function description.
                   13177:        Return 0 if NON_SAVING_SETJMP && `setjmp' is called in function.
                   13178: 
                   13179:        * tm-i386v.h (NON_SAVING_SETJMP): New macro.
                   13180:        (FRAME_POINTER_REQUIRED): New macro.
                   13181: 
                   13182: Sat Jul 20 12:25:56 1991  Richard Stallman  (rms at mole.gnu.ai.mit.edu)
                   13183: 
                   13184:        * tm-m88k.h (OPTIMIZATION_OPTIONS): Don't change flag_signed_bitfields.
                   13185: 
                   13186:        * cccp.c (include_defaults) Use LOCAL_INCLUDE_DIR macro instead
                   13187:        of "/usr/local/include".  Provide default definition.
                   13188: 
                   13189:        * cccp.c (include_defaults) Added INCLUDE_DEFAULTS macro to
                   13190:        provide complete control over default include directories.
                   13191:        Delete the special case for VMS.
                   13192:        * xm-vms.h (INCLUDE_DEFAULTS): Defined.
                   13193: 
                   13194:        * proto-man: Renamed from proto-unproto.1.
                   13195: 
                   13196:        * final.c (final_scan_insn): Do ASM_OUTPUT_LOOP_ALIGN only for real loop.
                   13197: 
                   13198: Sat Jul 20 05:34:13 1991  Michael Tiemann  (tiemann at cygint.cygnus.com)
                   13199: 
                   13200:        * tree.h (tree_type): Use the MAXVAL slot for TYPE_METHODS.
                   13201:        * cplus-class.c (finish_struct): Methods are now chained with
                   13202:        TREE_CHAIN and placed in the TYPE_METHODS of their _TYPE node.
                   13203:        * cplus-dbxout.c (dbxout_type_methods): Use this fact, instead of
                   13204:        using more C++-specific knowledge.
                   13205: 
                   13206:        * cplus-decl.c (init_decl_processing): Variable
                   13207:        `const_ptr_type_node' was not being initialized.  Same with
                   13208:        `const_string_type_node'.
                   13209: 
                   13210:        * tree.h (DECL_PRINT_NAME): Marked for death.
                   13211:        (DECL_ASSEMBLER_NAME): Changed from a char* to a tree node.
                   13212:        All front-end files changed as necessary.
                   13213: 
                   13214:        * cplus-tree.h (DECL_ORIGINAL_NAME): Deleted.  Now we use
                   13215:        DECL_NAME.
                   13216:        (DECL_NAME): No longer means the mangled name.  Now we use
                   13217:        DECL_ASSEMBLER_NAME for that purpose.
                   13218:        All cplus-* files changed as necessary.
                   13219: 
                   13220:        * cplus-tree.c (lang_printable_name): Use a ring-buffer to hold
                   13221:        printable names instead of DECL_PRINT_NAME slot of a _DECL node.
                   13222: 
                   13223:        * collect2.c: #define COLLECT, and let config.h provide definition
                   13224:        of macros.
                   13225: 
                   13226: See file ChangeLog.3.
                   13227: 
                   13228: Local Variables:
                   13229: mode: indented-text
                   13230: left-margin: 8
                   13231: fill-column: 76
                   13232: version-control: never
                   13233: End:

unix.superglobalmegacorp.com

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