Annotation of gcc/ChangeLog, revision 1.1.1.16

1.1.1.16! root        1: Sun Sep 24 00:21:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !             2: 
        !             3:        * Version 1.36 released.
        !             4: 
        !             5:        * genextract.c (main): Pass `insn' as arg to `fatal_insn_not_found'.
        !             6: 
        !             7:        * tahoe.md (casel patterns): Use %@ for operand of .align.
        !             8:        * tm-tahoe.h (PRINT_OPERAND): %@ prints `1'.
        !             9:        * tm-harris.h (PRINT_OPERAND): Redefine it; %@ prints `2'.
        !            10: 
        !            11:        * config.gcc (decstation): New entry.
        !            12: 
        !            13:        * tm-harris.h: New file, using tm-tahoe.h.
        !            14: 
        !            15:        * tm-decstatn.h, tm-mips-bsd.h, tm-mips-sysv.h: New files.
        !            16: 
        !            17: Sat Sep 23 00:28:14 1989  Alain Lichnewsky  (lich at glenlivet)
        !            18: 
        !            19:        * added -Zxxx flag in tm-mips.h. (-Z stands for systype)
        !            20: 
        !            21:          used as -ZSYSV or -ZBSD43 on RISC_OS. I suppose
        !            22:          that at somepoint -ZPOSIX might be required for Ultrix. 
        !            23: 
        !            24:        * changed command issued to loader to set -systype and to get
        !            25:           crt1 crtn instead of crt0.
        !            26: 
        !            27:         * changed predefines for cpp to agree with RISC-OS
        !            28: 
        !            29:        * tm-mips.h checks for machine type ( defined(ultrix) == DECSTATION)
        !            30:          so that user does not have to go in and change tm-mips.h anymore
        !            31: 
        !            32:        * cpp defines mips host_mips unix and SYSTYPE_SYSV
        !            33:          or SYSTYPE_BSD43. 
        !            34: 
        !            35: Fri Sep 22 00:31:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !            36: 
        !            37:        * pyr.md (andsi3): Flush spurious paren.
        !            38: 
        !            39:        * Makefile (hard-params): Don't use LIBS or LIBDEPS.
        !            40: 
        !            41:        * rtl.c (init_rtl):
        !            42:        Use malloc to allocate the string for format of CONST_DOUBLE.
        !            43:        Don't fail to store in rtx_format.
        !            44: 
        !            45: Thu Sep 21 00:33:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !            46: 
        !            47:        * print-tree.c (dump): Move decl of P in REAL_CST case.
        !            48: 
        !            49:        * fold-const.c (fold): For ABS_EXPR, handle REAL_IS_NOT_DOUBLE.
        !            50: 
        !            51:        * c-convert.c (convert_to_real): Use REAL_VALUE_ATOF to make 0.
        !            52: 
        !            53:        * mips.md (movdi): Handle constant with or without WORDS_BIG_ENDIAN.
        !            54:        For alternative 2, output just 2 store insns, not 3.
        !            55: 
        !            56:        * dbxout.c (dbxout_symbol): Optionally go to .data for
        !            57:        a static file-scope variable.
        !            58:        * tm-vax.h: Define DBX_STATIC_STAB_DATA_SECTION to request this.
        !            59: 
        !            60:        * varasm.c (output_constant, force_const_mem):
        !            61:        ASM_OUTPUT_DOUBLE_INT now takes rtx as argument.
        !            62: 
        !            63:        * gvarargs.h [__NeXT__]: Undefine macros defined by stdardg.h.
        !            64:        Define _VARARGS_H.
        !            65: 
        !            66:        * stddef.h (size_t): Don't define it if _SIZE_T macro is defined.
        !            67:        (NULL): Undef any previous defn.
        !            68: 
        !            69:        * cexp.y (NULL): Don't define if already defined.
        !            70: 
        !            71:        * emit-rtl.c (force_next_line_note): New function.
        !            72:        * stmt.c (expand_function_start): Call that just before returning.
        !            73: 
        !            74: Wed Sep 20 01:22:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !            75: 
        !            76:        * c-parse.y (asm_clobbers):
        !            77:        Allow string concatenation: call combine_strings.
        !            78: 
        !            79: Mon Sep 18 00:04:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !            80: 
        !            81:        * expr.c (expand_call): If calling const function, don't defer
        !            82:        pops for this call.
        !            83: 
        !            84:        * c-parse.y (yylex): When float constant ends in `f',
        !            85:        actually truncate to a single-float.
        !            86: 
        !            87: Sun Sep 17 01:36:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !            88: 
        !            89:        * gcc.c (SWITCH_TAKES_ARG): -A takes an arg.
        !            90:        (link_spec): Inhibit start files when -A.
        !            91: 
        !            92:        * convex.md (call, call_value): Supply dummy arg to RETURN_POPS_ARGS.
        !            93: 
        !            94:        * gnulib2.c (__fixunsdfdi): After removing top half, A can be neg.
        !            95:        (__cmpdi2, __ucmpdi2): Was misusing macros HIGH and LOW--
        !            96:        use .s.high and .s.low to extract words from long_long.
        !            97: 
        !            98:        * Makefile (gnulib2): Run `./gcc'.
        !            99: 
        !           100:        * Makefile (float.h): Use `make', not `$(MAKE)'.
        !           101:        (hard-params.o): Use `$(srcdir)' in deps as in commands.
        !           102: 
        !           103:        * out-tahoe.c (output_move_double): Handle constant operand 1.
        !           104: 
        !           105: Sat Sep 16 01:15:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           106: 
        !           107:        * reload1.c (emit_reload_insns): Put death note for input reload reg
        !           108:        even if reload was inherited.
        !           109: 
        !           110:        * out-i860.c (output_block_move): Typo loading size of block.
        !           111: 
        !           112:        * m68k.md (dbra patterns): Do CC_STATUS_INIT.
        !           113: 
        !           114:        * cse.c (fold_rtx): Check GET_MODE_CLASS before floating negate.
        !           115: 
        !           116: Fri Sep 15 00:39:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           117: 
        !           118:        * combine.c (subst): Don't combine (subreg (mem))
        !           119:        if subreg's mode is wider than mem's mode.
        !           120: 
        !           121: Thu Sep 14 04:33:51 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           122: 
        !           123:        * Makefile (clean): Delete temp files used in making gnulib.
        !           124: 
        !           125:        * tm-next.h (LINK_SPEC): Pass -Z and -seglinkedit options.
        !           126: 
        !           127: Tue Sep 12 01:06:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           128: 
        !           129:        * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for ints.
        !           130: 
        !           131:        * mips.md (cmpsi + bleu peephole): Should output unsigned insn.
        !           132: 
        !           133:        * expmed.c (store_bit_field, extract_bit_field): If loading mem
        !           134:        into reg for bit field insn, don't use a larger mode than insn wants.
        !           135: 
        !           136:        * Makefile (stamp-gnulib2): Depend on gcc, cc1, cpp to avoid
        !           137:        wrong order of making when parallel.
        !           138: 
        !           139:        * Makefile (float.h): Do use $(MAKE) to run recursive make.
        !           140: 
        !           141: Mon Sep 11 00:49:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           142: 
        !           143:        * cccp.c (main): Test for missing arg after -o, etc.
        !           144: 
        !           145:        * tm-next.h: Nearly completely new.
        !           146: 
        !           147:        * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Move after config.h.
        !           148: 
        !           149:        * cccp.c: Cast some args to strcpy and strcat.
        !           150: 
        !           151:        * genoutput.c (error): Declare arg S.
        !           152: 
        !           153:        * tm-pyr.h, pyr.md, out-pyr.c, xm-pyr.h: New files.
        !           154:        * config.gcc: New item for pyr.
        !           155: 
        !           156:        * gvarargs.h: If __pyr__, use va-pyr.h.
        !           157: 
        !           158: Sun Sep 10 00:48:43 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           159: 
        !           160:        * reload1.c (inc_for_reload): Really return the first of the insns.
        !           161: 
        !           162:        * stor-layout.c (build_int): Memoize size nodes for sizes <= 32.
        !           163: 
        !           164:        * loop.c (check_dbra_loop): Don't reverse a biv that is used
        !           165:        in between its update and the loop endtest insn.
        !           166: 
        !           167: Sat Sep  9 02:10:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           168: 
        !           169:        * stor-layout.c (genop): Don't use `combine' for nonexplicit constants.
        !           170:        Handle some identity elements, etc., directly.
        !           171:        (layout_basetypes): Function deleted.
        !           172:        (layout_record): Ignore any TYPE_DECLs in the fieldlist.
        !           173:        Don't do PCC_BUTFIELD_TYPE_MATTERS hack on field with ERROR_MARK type.
        !           174:        (layout_union): Delete error check for base types.
        !           175:        Ignore any TYPE_DECLs in the fieldlist.
        !           176:        (layout_type): Copy layout info directly into all variants of type.
        !           177:        Delete unused local `x'.
        !           178: 
        !           179:        * mips.md (movdi): Handle constant source operand.
        !           180:        (movsi): Some output code moved to output_load_immediate.
        !           181:        * out-mips.c (output_load_immediate): New function.
        !           182: 
        !           183:        * config.gcc (iris): Use tm-iris.h and xm-iris.h.
        !           184: 
        !           185:        * integrate.c (copy_for_inline): Copy all nonconstant MEM addresses.
        !           186: 
        !           187:        * tm-3b1.h (ASM_OUTPUT_SPACE): New override defn, to output explicit
        !           188:        bytes of 0 if in text segment.
        !           189: 
        !           190: Fri Sep  8 19:15:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           191: 
        !           192:        * combine.c (try_combine): Don't do i3dest stuff if i3 isn't a SET.
        !           193: 
        !           194: Thu Sep  7 00:16:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           195: 
        !           196:        * integrate.c (function_cannot_inline_p): Fn is "not even close"
        !           197:        only if > 3 * max_insns.
        !           198: 
        !           199:        * toplev.c (fatal_insn_not_found): New fn.
        !           200:        * genextract.c (main): Make insn_extract call that fn.
        !           201: 
        !           202:        * integrate.c (expand_inline_function): Don't abort about bad offset
        !           203:        in a parm whose type is error_mark_node.
        !           204:        Make another syntax level to hold parm destructors.
        !           205: 
        !           206:        * tm-mips.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE):
        !           207:        Increment push_loc after, not before, each reg save or restore.
        !           208:        When storing reg 9 or 29, use offset tsize-4.
        !           209:        Make tsize larger by 4 initially.
        !           210:        (STARTING_FRAME_OFFSET): -8, not -4.
        !           211: 
        !           212:        * gcc.c (choose_temp_base): Make use of TMPDIR and P_tmpdir
        !           213:        if they exist.
        !           214: 
        !           215:        * toplev.c, gcc.c, cccp.c, gen*.c (fancy_abort):
        !           216:        New function which can be used to replace `abort'.
        !           217: 
        !           218:        * toplev.c (main): Save argv, argc in save_argv, save_argc.
        !           219: 
        !           220:        * jump.c (delete_insn): Always advance NEXT across deleted insns,
        !           221:        in case not optimizing.  Fixes setting current_function_returns_null.
        !           222: 
        !           223:        * symout.c: Include stddef.h with <...>.
        !           224: 
        !           225: Wed Sep  6 00:39:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           226: 
        !           227:        * gcc.c (find_exec_file): Was using `argbuf[0]' where wanted `prog'.
        !           228: 
        !           229:        * combine.c (combine_instructions): Dont call record_dead_and_set_regs
        !           230:        if insn has become a NOTE.
        !           231: 
        !           232:        * reload.c (combine_reloads): Update reload_when_needed.
        !           233: 
        !           234:        * jump.c (delete_insn): If delete label on ADDR_VEC, delete table too.
        !           235:        (jump_optimize): If ADDR_DIFF_VEC label has 1 ref, delete it and table.
        !           236: 
        !           237:        * gunlib2.c (__fixunsdfdi, __floatdfdi): Make the long long,
        !           238:        and/or its two halves, unsigned.
        !           239: 
        !           240:        * reload1.c (reload): When setting double_reg_address_ok,
        !           241:        require it to be offsettable.
        !           242:        * out-sparc.c (output_fp_move_double): Now safe to use std
        !           243:        for all reg+reg addresses.
        !           244: 
        !           245:        * vax.md: Add another simplified-casesi pattern for operand 0 constant.
        !           246: 
        !           247:        * cse.c (fold_rtx): Don't truncate VAL at end if WIDTH is 0.
        !           248:        Don't alter WIDTH for that purpose based on the operands.
        !           249: 
        !           250:        * stmt.c (warn_if_unused_value): && or || is ok if 2nd op has effect.
        !           251: 
        !           252:        * c-parse.y (ALIGNOF unary_expr): Find a larger value if possible.
        !           253: 
        !           254:        * reload.c (combine_reloads): Don't combine an output address reload.
        !           255:        (find_reloads): Call combine_reloads after setting reload_when_needed.
        !           256:        (find_reloads_address): Update OPERAND if copy the operand.
        !           257: 
        !           258:        * cccp.c (macroexpand): Missing arg no error in 1-arg macro if -trad.
        !           259: 
        !           260: Tue Sep  5 14:12:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           261: 
        !           262:        * reload.c (find_dummy_reload): Don't use the output reg if it is
        !           263:        a fixed reg which can overlap with other regs.
        !           264: 
        !           265:        * cse.c (exp_equiv_p): Two vectors must have same length.
        !           266: 
        !           267:        * tree.def (WITH_CLEANUP_EXPR): Print-name string was wrong.
        !           268: 
        !           269:        * optabs.c (expand_fix): Undo previous change (unsigned conversion).
        !           270:        It doesn't work.
        !           271: 
        !           272:        * gcc.c: Pass -i option to cpp.  It takes an arg.
        !           273: 
        !           274:        * cccp.c (cplusplus_include_defaults) [VMS]: Typo in array indices.
        !           275: 
        !           276:        * Makefile (gnulib): Create it in tmpgnulib, then rename at the end.
        !           277: 
        !           278:        * i860.md (movdi from constant pattern): Fix `st' opcode typos.
        !           279: 
        !           280:        * Makefile (hard-params*): Use CCLIBFLAGS, not CFLAGS.
        !           281: 
        !           282: Fri Sep  1 03:43:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           283: 
        !           284:        * tm-i386gas.h (ASM_OUTPUT_ALIGN): .align arg isn't a log, in gas.
        !           285:        (ASM_OUTPUT_ALIGN_CODE): Align labels, etc. to 4-byte boundary.
        !           286: 
        !           287:        * integrate.c (save_for_inline): Delete NOTE_INSN_DELETED notes.
        !           288: 
        !           289:        * Makefile (clean): Delete dbr and jump2 dumps.
        !           290: 
        !           291:        * Makefile (gnulib, gnulib2): Compile in main dir, not libtemp subdir.
        !           292:        This avoids trouble with -I options, etc.
        !           293: 
        !           294: Thu Aug 31 15:07:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           295: 
        !           296:        * reload1.c (emit_reload_insns):
        !           297:        Be specific moving REG_DEAD notes to an output reload.
        !           298:        Sometimes move them to output-operand-address reloads.
        !           299: 
        !           300:        * out-sparc.c (output_fp_move_double): Very cautious about std.
        !           301:        Use it only for something visibly aligned, or for an array element.
        !           302: 
        !           303:        * cccp.c (main) [VMS]: Remove dirs and extension from PROGNAME.
        !           304:        (pfatal_with_name) [VMS]: Return VMS system call error code as status.
        !           305:        (cplusplus_include_defaults) [VMS]: Add GNU_GXX_INCLUDE.
        !           306: 
        !           307:        * xm-vms.h (FATAL_EXIT_CODE): Now (44 | 0x10000000).
        !           308: 
        !           309:        * expr.c (do_store_flag): Allow more values of STORE_FLAG_VALUE.
        !           310: 
        !           311:        * gnulib2.c (__fixunsdfdi): Explicitly cast doubles to `long int'
        !           312:        to avoid infinite recursion.
        !           313: 
        !           314: Wed Aug 30 13:28:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           315: 
        !           316:        * loop.c (skip_consec_insns): Skip NOTEs.
        !           317: 
        !           318:        * loop.c (general_induction_var): If G or V is a nonreplaceable giv,
        !           319:        give up.  If G is allocated here, consider it replaceable.
        !           320: 
        !           321:        * stupid.c: Make uid_suid, reg_where_born and reg_where_dead
        !           322:        vectors of ints, not short.
        !           323: 
        !           324: Tue Aug 29 00:21:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           325: 
        !           326:        * tm-iris.h: Fix typo in formfeed char.
        !           327: 
        !           328:        * out-i860.c (singlemove_string): Add missing `.l' to `st', `ld'.
        !           329: 
        !           330:        * loop.c (general_induction_var): Don't set G from 2nd op. of MINUS,
        !           331:        since that would negate the result.
        !           332: 
        !           333: Mon Aug 28 00:16:36 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           334: 
        !           335:        * dbxout.c (dbxout_symbol): When we need a pointer type, don't
        !           336:        record it in TYPE_POINTER_TO, lest it not live as long as its target.
        !           337: 
        !           338:        * tm-hp9k320.h (CPP_PREDEFINES): Delete __hp9000s300 and _HPUX_SOURCE.
        !           339: 
        !           340:        * Makefile (gnulib): Deleted stamp-gnulib2 in wrong dir.
        !           341:        (hard-params.o): Copy it into current dir before compiling.
        !           342:        (STAGESTUFF): Include the stamp-*.[ch] files.
        !           343: 
        !           344: Sun Aug 27 13:59:39 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           345: 
        !           346:        * out-i860.c (output_size_for_block_move): Typo in CC_KNOW_HI_R31.
        !           347: 
        !           348:        * integrate.c (expand_inline_function): Ignore insns to set value reg
        !           349:        if we don't want the value.
        !           350: 
        !           351:        * varasm.c (make_function_rtl, make_decl_rtl): Use DECL_ASSEMBLER_NAME.
        !           352: 
        !           353:        * Makefile (stamp-gnulib2): Don't explicitly delete old members,
        !           354:        just replace them.
        !           355: 
        !           356:        * m68k.md, alliant.md (trunchiqi): Use movew if moving from memory
        !           357:        or from a const_int.
        !           358: 
        !           359:        * integrate.c (expand_inline_function): Set first_parm_offset
        !           360:        later on, after computing the args, in case those args
        !           361:        contain inline function calls.
        !           362: 
        !           363:        * alliant.md (movqi): Like recent change in m68k.md.
        !           364: 
        !           365: Sat Aug 26 00:26:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           366: 
        !           367:        * tm-hp9k320.h (CPP_PREDEFINES): Take out m68k and mc68000.
        !           368:        * tm-news.h (CPP_PREDEFINES): Add mc68000.
        !           369: 
        !           370: Fri Aug 25 15:37:35 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           371: 
        !           372:        * optabs.c (expand_fix): Can convert to unsigned int
        !           373:        by subtracting 2**(N-1), converting to signed, and adding 2**(N-1).
        !           374: 
        !           375:        * reload.c (find_reloads_address): For out-of-range stack slot,
        !           376:        reload the displacement into a reg.
        !           377:        (find_reloads_toplev): For subreg of a reg with a reg_equiv_address,
        !           378:        turn the whole thing into a memref.
        !           379: 
        !           380: Thu Aug 24 14:07:03 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           381: 
        !           382:        * c-decl.c (grokdeclarator): If function is declared `extern inline',
        !           383:        set current_extern_inline.
        !           384:        (start_function): In that case, set TREE_EXTERN in function decl.
        !           385:        * toplev.c (rest_of_compilation): In that case, don't really compile.
        !           386:        (compile_file): Don't output such functions at the end either.
        !           387: 
        !           388:        * c-typeck.c (build_function_call): Do set NAME if we have one.
        !           389: 
        !           390:        * Prevent any variability in results of qsort.
        !           391:        * stupid.c (stupid_reg_compare): Compare by regno as last resort.
        !           392:        * global-alloc.c (allocno_compare): Same idea.
        !           393:        * local-alloc.c (qty_compare_1): Same idea.
        !           394:        * reload1.c (hard_reg_use_compare, reload_reg_class_lower): Same idea.
        !           395: 
        !           396:        * cccp.c (macroexpand): If read one arg, but it's whitespace,
        !           397:        consider that 0 args for checking number of args.
        !           398:        Improve plurals in error messages.
        !           399: 
        !           400:        * expr.h (inhibit_defer_pop): New name for current_args_size,
        !           401:        now declared here.
        !           402:        (NO_DEFER_POP, OK_DEFER_POP): Moved here.
        !           403:        * expr.c: Names related to current_args_size renamed.
        !           404:        (clear_current_args_size): Deleted.
        !           405:        * stmt.c (expand_function_start): Init inhibit_defer_pop here.
        !           406: 
        !           407:        * stmt.c (expand_start_stmt_expr): Do NO_DEFER_POP.
        !           408:        (expand_end_stmt_expr): Do OK_DEFER_POP, and don't do deferred pops.
        !           409: 
        !           410:        * Makefile (c-parse.tab.c): Pass -o option to Bison.
        !           411: 
        !           412: Wed Aug 23 23:14:06 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           413: 
        !           414:        * expmed.c (store_bit_field, extract_bit_field):
        !           415:        Use GET_MODE_WIDER_MODE to scan possible modes for bestmode.
        !           416: 
        !           417:        * Makefile (stamp-gnulib2): Discard error messages from `ar d'.
        !           418: 
        !           419: Tue Aug 22 00:31:51 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           420: 
        !           421:        * final.c (output_source_line): In COFF, don't output `.ln 0'.
        !           422: 
        !           423:        * Makefile (stamp-gnulib2): Depend on gnulib.  For parallel make.
        !           424: 
        !           425:        * stmt.c (uninitialized_vars_warning): Don't crash if DECL_RTL is 0.
        !           426: 
        !           427:        * i386.md (truncdfsf2): Pay attention whether stack top is dead.
        !           428: 
        !           429: Mon Aug 21 22:02:40 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           430: 
        !           431:        * reload1.c (choose_reload_regs): Don't use regno uninitialized,
        !           432:        in the code that does find_equiv_reg.
        !           433: 
        !           434: Sun Aug 20 00:06:47 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           435: 
        !           436:        * m68k.md (movqi): Was outputting bad code for areg->mem and mem->areg.
        !           437: 
        !           438:        * explow.c (memory_address): Handle a hard reg in wrong reg class.
        !           439: 
        !           440:        * stmt.c (expand_function_end): Set REG_FUNCTION_VALUE_P in return
        !           441:        reg when returning address of structure value block.
        !           442: 
        !           443:        * integrate.c (save_for_inline): Preserve integrated bit on insns.
        !           444: 
        !           445: Sat Aug 19 14:20:07 1989  Richard Stallman  (rms at apple-gunkies.ai.mit.edu)
        !           446: 
        !           447:        * combine.c (subst): Don't change (subreg:M (mem:N ...)) to 
        !           448:        (mem:M ...) if address is mode-dependent.
        !           449: 
        !           450:        * config.gcc: Copy and alter Makefile for any srcdir except `.'.
        !           451:        In that case, make a .gdbinit as well.
        !           452: 
        !           453:        * sparc.md (andcbsi3, iorcbsi3, xorcbsi3): These are not commutative.
        !           454: 
        !           455:        * vax.md (cmpv and cmpzv patterns): Use COMPARE, not MINUS.
        !           456: 
        !           457: Fri Aug 18 12:24:52 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           458: 
        !           459:        * alliant.md (movqi): Change move to mov in assembler code.
        !           460: 
        !           461:        * integrate.c (expand_inline_function):
        !           462:        Handle args passed in regs and copied to slots reached via arg ptr.
        !           463: 
        !           464:        * out-sparc.c (output_delayed_branch):
        !           465:        Do alter_subreg on operands of delay insn.
        !           466: 
        !           467:        * reload1.c (choose_reload_regs): Look for a reg to share
        !           468:        before one that we won't share.
        !           469: 
        !           470:        * expr.h: Define OPTAB_MUST_WIDEN.
        !           471:        * optabs.c (expand_binop): Handle that case.
        !           472:        * expmed.c (expand_shift): Use that when widening lshift to ashift.
        !           473: 
        !           474:        * optabs.c (emit_cmp_insn): Use CONST0_RTX, not individual vars.
        !           475: 
        !           476:        * gnulib2.c (lsh*di3, ash*di3): Return right away if count is zero.
        !           477:        Otherwise tried to shift by 32.
        !           478:        Also replace constant 32 by something symbolic.
        !           479: 
        !           480:        * final.c (output_source_line): Output line number in COFF
        !           481:        even if wrong file.
        !           482: 
        !           483: Thu Aug 17 15:16:34 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           484: 
        !           485:        * Makefile (version.o): Make this a target; specify source file.
        !           486:        (obstack.o): Likewise.
        !           487: 
        !           488:        * config.gcc (i860): New alternative.
        !           489: 
        !           490:        * i860.md (movstrsi): Record the alignment as operand 3.
        !           491:        Renumber following (internal) operands.
        !           492:        * out-i860.c (output_block_move): Rewrite as in out-sparc.c.
        !           493:        (output_size_for_block_move): Likewise.  And don't
        !           494:        subtract alignment from the size.
        !           495: 
        !           496: Wed Aug 16 13:27:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           497: 
        !           498:        * loop.c (combine_movables): Don't combine zero-extend
        !           499:        registers that live outside the loop.
        !           500: 
        !           501:        * integrate.c (expand_inline_function): Use copy_to_mode_reg
        !           502:        to set up this_struct_value_rtx, to handle sums right.
        !           503: 
        !           504:        * Makefile: Use $(srcdir) in bison output files used as deps.
        !           505:        Supply some missing deps.
        !           506:        (*.info, doc): *.info files go in srcdir.
        !           507: 
        !           508: Tue Aug 15 00:11:12 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           509: 
        !           510:        * i860.md, tm-i860.h, out-i860.c: New files.
        !           511: 
        !           512:        * c-decl.c (duplicate_decls): Fix bug determining whether NEWDECL
        !           513:        is a definition or just a decl.
        !           514:        Combine code to preserve various things from old definition
        !           515:        through a declaration.
        !           516: 
        !           517:        * config.gcc: Scan all args at beginning, setting variables.
        !           518:        Arg of form -srcdir=... sets srcdir explicitly.
        !           519:        srcdir now doesn't contain a slash, and is used with a slash.
        !           520: 
        !           521:        * Makefile (install): Copy header files and gcc.1 from srcdir.
        !           522:        But copy float.h from current dir.  (Remove that from USER_H.)
        !           523:        (various): Use new variable INCLUDES to get the -I options.
        !           524:        Add -I. at the beginning of these.
        !           525:        (gnulib, gnulib2): Likewise, use SUBDIR_INCLUDES.
        !           526:        Also, get source file from srcdir.
        !           527:        Also, depend on $(CONFIG_H).
        !           528:        (alloca.o): Get alloca.c from srcdir.
        !           529: 
        !           530:        * reload1.c (emit_reload_insns): Bug in last change:
        !           531:        don't fail to set this_reload_insn.
        !           532: 
        !           533:        * Makefile (Bison rules): Specify $(srcdir) for target and source.
        !           534:        (Explicit C rules): Specify $(srcdir)/ for source in commands.
        !           535:        Use sed to eliminate `./' in normal case.
        !           536:        (insn-*.c): Use $(srcdir) to run move-if-change.
        !           537: 
        !           538:        * config.gcc: Check . and .. for the sources.
        !           539:        If in .., use that when making links.
        !           540:        Also, copy Makefile, alter srcdir in it, and add a VPATH.       
        !           541: 
        !           542:        * stmt.c (expand_end_case): When converting CONST_INT index
        !           543:        to an INTEGER_CST, sign-extend if signed type.
        !           544: 
        !           545: Mon Aug 14 13:51:08 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           546: 
        !           547:        * c-decl.c (duplicate_decls): Warn for qualifier mismatch
        !           548:        only if pedantic; don't consider it a type mismatch.
        !           549:        Merge the qualifiers of the two decls if the types match.
        !           550: 
        !           551:        * expmed.c (store_bit_field): For insv, memref displacement
        !           552:        always counts in bytes, regardless of unit fetched.
        !           553:        When checking predicate of op0, accept any mode.
        !           554: 
        !           555:        * optabs.c (expand_float): One call to can_float_p had args backwards.
        !           556: 
        !           557:        * loop.c (check_dbra_loop): Set the JUMP_LABEL of the new jump insn.
        !           558:        Increment label's use count rather than storing 2.
        !           559: 
        !           560:        * Makefile: Instead of $<, which fails in certain makes,
        !           561:        use $@ and then substitute in the name with sed.
        !           562: 
        !           563:        * out-sparc.c (output_scc_insn): Handle CC_REVERSED for ordered tests.
        !           564:        Use orcc insns to store the result and set cc's for it.
        !           565: 
        !           566:        * sparc.md (scc combination patterns):
        !           567:        Use operands[0] as basis for recorded cc value.
        !           568: 
        !           569:        * gnulib2.c (floatdidf, fixdfdi, fixunsdfdi): New functions.
        !           570: 
        !           571:        * gnulib.c (floatdidf, fixdfdi, fixunsdfdi): Deleted.
        !           572:        (union longlong, union double_di): Deleted.
        !           573:        (HIGH, LOW): Deleted.
        !           574:        These were deleted because most did not handle full range of DI
        !           575:        and they didn't use the right calling convention for DI.
        !           576: 
        !           577: Sun Aug 13 13:06:45 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           578: 
        !           579:        * c-typeck.c (comptypes): Qualifiers must match.
        !           580:        (Was already true for scalars.)
        !           581:        Also, array elt qualifiers must match.
        !           582: 
        !           583:        * tm-apollo68.h (STRUCT_VALUE): Make it 0.
        !           584:        (This was done before and lost.)
        !           585:        * out-i386.c (function_epilogue): Use ret $4 to pop structure address.
        !           586:        (This was done before and lost.)
        !           587: 
        !           588:        * out-i386.c (call_top_dead_p): Don't fail to check
        !           589:        the rtx code of the insns themselves.
        !           590:        (This was done before and lost.)
        !           591: 
        !           592:        * out-sparc.c (output_block_move): If align is 8, make it 4.
        !           593: 
        !           594:        * typeclass.h: New file.
        !           595:        * expr.c: Include it.
        !           596:        (expand_builtin): Use those codes in __builtin_classify_type.
        !           597: 
        !           598:        * Makefile (all, lang-c): Reinstall gnulib2.
        !           599: 
        !           600:        * Makefile (gnulib2): Don't give up if `ar d' fails.
        !           601: 
        !           602:        * expr.c (emit_library_call): New 2nd arg NO_QUEUE.
        !           603:        All callers changed to pass it.
        !           604:        * optabs.c (expand_binop, expand_unop): Don't call emit_queue.
        !           605:        Instead, pass 1 for NO_QUEUE to emit_library_call.
        !           606: 
        !           607: Sat Aug 12 12:05:22 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           608: 
        !           609:        * reload1.c (emit_reload_insns): Decision for where to put input
        !           610:        reload insn is now common to ordinary case and auto-increment.
        !           611:        Likewise, updating these positions afterward.
        !           612: 
        !           613:        * stmt.c (assign_parms): Treat last named arg as nameless.
        !           614:        * expr.c (expand_call): Likewise.
        !           615: 
        !           616:        * explow.c (copy_to_mode_reg): Use force_operand for PLUS or MULT.
        !           617:        (copy_addr_to_reg): Use copy_to_mode_reg.
        !           618: 
        !           619:        * expmed.c (store_bit_field): Handle case where insv rejects memrefs.
        !           620: 
        !           621:        * tm-convex.h (ASM_OUTPUT_ALIGN): Magic to handle the fact
        !           622:        that this is not called when LOG is 0.
        !           623: 
        !           624: Fri Aug 11 16:39:51 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           625: 
        !           626:        * emit-rtl.c (get_lowpart): For multi-word, in error check,
        !           627:        test the unit size of the containing mode.
        !           628: 
        !           629:        * cccp.c (macroexpand, dump_all_macros): Return void.
        !           630:        (macroexpand): Cast sprintf arg to char*.
        !           631:        (error, warning, error_with_line): Declare first arg char*.
        !           632: 
        !           633: Thu Aug 10 21:42:13 1989  Richard Stallman  (rms at hobbes.ai.mit.edu)
        !           634: 
        !           635:        * expr.c (expand_call):
        !           636:        Use force_operand to copy arithmetic to register.
        !           637: 
        !           638:        * dbxout.c (dbxout_symbol): Go back to N_FUN for const variable.
        !           639: 
        !           640:        * integrate.c (expand_inline_function): Use proper machine mode
        !           641:        for a structure value in memory at address passed by caller.
        !           642: 
        !           643: Wed Aug  9 15:21:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           644: 
        !           645:        * config.gcc: Delete unnecessary variable assignments in case stmt.
        !           646:        (isi68-nfp): New alternative.
        !           647: 
        !           648:        * combine.c (try_combine): Don't substitute for a register
        !           649:        which is being explicitly clobbered.
        !           650: 
        !           651:        * This change was requested for C++.
        !           652:        * varasm.c (decode_reg_name, make_decl_rtl): Arg ASMSPEC now char *.
        !           653:        * toplev.c (rest_of_decl_compilation): Likewise.
        !           654:        * c-decl.c (finish_decl): Change call to rest_of_decl_compilation.
        !           655: 
        !           656:        * tree.h (struct tree_decl): Pack machine_mode into 8 bits.
        !           657: 
        !           658:        * explow.c (memory_address, copy_to_reg):
        !           659:        Use force_operand to copy arithmetic to register.
        !           660: 
        !           661:        * tm-isi68-nfp.h: New file.
        !           662:        * tm-isi68.h: Allow overriding TARGET_DEFAULT, and let that
        !           663:        change CPP_SPEC and LINK_SPEC.
        !           664:        (ASM_FILE_START): No `.globl fltused' if soft-float.
        !           665: 
        !           666: Tue Aug  8 21:50:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           667: 
        !           668:        * varasm.c (const_hash): For constructor, mask TREE_TYPE to HASHBITS
        !           669:        bits and take modulo, so we don't get negative numbers.
        !           670: 
        !           671:        * varasm.c (record_constant_1, compare_constant_1):
        !           672:        Record and compare the width of an integer.
        !           673: 
        !           674:        * varasm.c (assemble_function, assemble_variable, get_or_assign_label):
        !           675:        (force_const_mem): Don't call ASM_OUTPUT_ALIGN if boundary is 1.
        !           676: 
        !           677:        * c-decl.c (duplicate_decls): Consider const and volatile as part of
        !           678:        type when checking for match and when installing new type into OLDDECL.
        !           679: 
        !           680:        * expr.c (do_store_flag): Make sure target fits operand predicate.
        !           681:        Also, omit the AND insn when true-value is 1
        !           682:        and the mode we get is wider than the one we want.
        !           683: 
        !           684:        * genrecog.c (main): Make insn-recog.c include real.h.
        !           685: 
        !           686: Mon Aug  7 16:58:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           687: 
        !           688:        * genemit.c (main): Define `operands' as `emit_operands',
        !           689:        not `recog_operands'.
        !           690: 
        !           691:        * reload1.c (emit_reload_insns): Don't copy back a dead output reg.
        !           692: 
        !           693: Sun Aug  6 13:56:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           694: 
        !           695:        * sdbout.c (plain_type_1, sdbout_one_type): Use the main variant.
        !           696:        (sdbout_type_fields): No need to check TREE_ASM_WRITTEN here,
        !           697:        since sdbout_one_type does that.
        !           698: 
        !           699:        * expr.c (do_store_flag): Ensure the CLOBBER doesn't clobber an input.
        !           700: 
        !           701:        * fold-const.c (fold_convert): Attempt to avoid overflow
        !           702:        when converting real to integer.  Use unsigned conversion for
        !           703:        low part; always convert as positive and then change sign;
        !           704:        subtract high part before converting low part.
        !           705:        Also, check for real values out of range for chosen int type;
        !           706:        warn and do not convert.
        !           707: 
        !           708:        * tm-hp9k320.h (CPP_SPEC) [not HPUX_ASM]: Don't define mc68000 here.
        !           709:        (CPP_PREDEFINES): Remove mc68k, add m68k and mc68000.
        !           710:        [HPUX_ASM]: Define CPP_SPEC here as in the other case,
        !           711:        but add __HPUX_ASM__ to each alternative.
        !           712: 
        !           713:        * tm-m68k.h (FUNCTION_EPILOGUE): Call new hook FUNCTION_EXTRA_EPILOGUE.
        !           714:        * tm-altos3068.h (FUNCTION_EXTRA_EPILOGUE): Define it.
        !           715: 
        !           716:        * Makefile: Use $< wherever appropriate.
        !           717:        Also put definitions of customization vars before the comments
        !           718:        saying how to override them.
        !           719: 
        !           720: Sat Aug  5 14:15:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           721: 
        !           722:        * i386.md (sne): Typo in opcode name.
        !           723: 
        !           724:        * tree.h (struct tree_identifier): Delete redundant/unused error_locus.
        !           725: 
        !           726: Fri Aug  4 00:04:10 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           727: 
        !           728:        * varasm.c (const_hash, compare_constant_1, record_constant_1):
        !           729:        Compare types only for record constructors, not for array constructors.
        !           730: 
        !           731:        * dbxout.c (dbxout_parms): When outputing parm from home in local slot,
        !           732:        with address from the RTL, don't do big-endian correction on it.
        !           733: 
        !           734:        * c-typeck.c (build_unary_op): Do default conversion for unary +.
        !           735: 
        !           736:        * cccp.c (rescan): Accept comments between macro and its args.
        !           737: 
        !           738:        * c-decl.c (lang_decode_option): -traditional implies writable strings.
        !           739: 
        !           740:        * cccp.c (trigraph_pcp): Make warning msg more accurate.
        !           741: 
        !           742:        * c-typeck.c (c_expand_asm_operands): Delete the default promotion
        !           743:        which was inserted mysteriously since 1.35.
        !           744: 
        !           745:        * global-alloc.c (global_conflicts): Allocate regs_set only once.
        !           746:        Make it twice as big since clobbers are stored twice.
        !           747: 
        !           748:        * sparc.md (block move patterns): Record and use alignment operand.
        !           749:        * out-sparc.c (output_block_move): Get alignment from there.
        !           750:        (output_size_for_block_move): Greatly simplified.
        !           751: 
        !           752:        * tm-i386v.h (PCC_BITFIELD_TYPE_MATTERS): Define it.
        !           753: 
        !           754:        * stor-layout.c (layout_record): Anonymous bitfields don't affect
        !           755:        overall structure alignment, in PCC_BITFIELD_TYPE_MATTERS case.
        !           756: 
        !           757:        * loop.c (strength_reduce): Prevent hard reg from becoming biv or giv.
        !           758: 
        !           759:        * combine.c (subst): Simplify (eq (neg ...) (const_int 0)).
        !           760: 
        !           761: Thu Aug  3 13:08:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           762: 
        !           763:        * cse.c (fold_rtx): For (op var const) special cases, also check 
        !           764:        for constant as first argument.
        !           765: 
        !           766:        * c-decl.c (pushtag): For global_binding_level, make permanent nodes.
        !           767: 
        !           768:        * expr.c (do_store_flag): Put the CLOBBER before the comparison.
        !           769: 
        !           770:        * expr.c (emit_push_insn): Conditionalize recent changes
        !           771:        on no FIRST_PARM_CALLER_OFFSET, so they don't happen on sparc.
        !           772: 
        !           773:        * out-sparc.c (gen_scc_insn):
        !           774:        Don't be confused by CLOBBER emitted by do_store_flag.
        !           775:        Skip past such insns looking for last_insn.
        !           776:        Don't alter last_insn; instead, patch it to a NOTE and emit new insn.
        !           777: 
        !           778:        * varasm.c (const_hash, compare_constant_1, record_constant_1):
        !           779:        For a CONSTRUCTOR, hash/compare/record type as well as elts.
        !           780: 
        !           781:        * cse.c (cse_insn): July 18 change was wrong.
        !           782:        Now, invalidate at the beginning any regs explicitly clobbered
        !           783:        so they will not be substituted for if they appear as inputs.
        !           784:        * sparc.md (movstrsi): Copy addresses to temp regs, then use them.
        !           785: 
        !           786:        * loop.c (record_giv): When comparing life spans for setting
        !           787:        ->forces, use luids consistently, not uids.
        !           788: 
        !           789:        * sparc.md (ashlsi3, ashrsi3, lshrsi3): Truncate constants mod 32.
        !           790: 
        !           791: Wed Aug  2 17:50:30 1989  Richard Stallman  (rms at sugar-bombs)
        !           792: 
        !           793:        * mips.md (patterns to move a subreg): Deleted.
        !           794: 
        !           795: Sun Jul 30 19:23:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           796: 
        !           797:        * gcc.c (process_command): Skip `-b' like `-B', in 2nd scan.
        !           798: 
        !           799:        * xm-sunos4.h: Deleted.
        !           800:        * tm-sparc.h, tm-sun3.h: Define LINK_SPEC here instead.
        !           801:        * tm-sun4os3.h: Undef it here.
        !           802:        * tm-sun3os3.h, tm-sun3os3nf.h: New files to undef LINK_SPEC.
        !           803:        * config.gcc: Use those new files where needed.
        !           804: 
        !           805:        * config.gcc: Delete sun3-fpa and sun3-os4-fpa.
        !           806:        * tm-sun3-fpa.h: Deleted.
        !           807: 
        !           808:        * cccp.c (do_include): Mention even non-ex files for -M.
        !           809: 
        !           810:        * out-mips.c (addr_compensate): Handle HImode.
        !           811:        * mips.md (Set HI from subreg of SI rule):
        !           812:        Allow operand in memory.
        !           813: 
        !           814:        * mips.md (cmpqi, cmphi): Patterns deleted.
        !           815:        (cmpsi, cmpsf, cmpdf): Change predicates to register_operand.
        !           816: 
        !           817:        * cexp.y (rule for ?:): Result is unsigned if either operand is.
        !           818: 
        !           819:        * expr.c (emit_push_insn): If PARTIAL > 0, load the partial regs
        !           820:        at the end, in case the rest of the push does a function call.
        !           821: 
        !           822:        * reload1.c (alter_frame_pointer_addresses):
        !           823:        After altering a PLUS, re-fetch CODE before scanning subexps.
        !           824: 
        !           825:        * stmt.c (assign_parms): Don't copy the arg pointer value
        !           826:        if it is also the frame pointer.  If we do copy it,
        !           827:        inhibit REG_EQUIV notes for parms copied into pseudo regs
        !           828: 
        !           829:        * integrate.c (copy_for_inline, copy_rtx_and_substitute):
        !           830:        Set up filename and lineno fields of copy of ASM_OPERANDS.
        !           831: 
        !           832: Sat Jul 29 18:58:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !           833: 
        !           834:        * integrate.c (expand_inline_function): Handle struct-value-addr
        !           835:        passed in memory just like that passed in reg:
        !           836:        in either case, translate the pseudo-reg made in
        !           837:        expand_function_start.
        !           838:        (function_cannot_inline_p): Permit inlining in that case.
        !           839:        But reject it if using pcc-style return convention.
        !           840: 
        !           841:        * stor-layout.c (layout_type): Consider STRICT_ALIGNMENT
        !           842:        for ARRAY_TYPE just as for RECORD_TYPE.
        !           843: 
        !           844: Wed Jul 26 12:54:59 1989  Richard M. Stallman  (rms at mipos3)
        !           845: 
        !           846:        * cse.c (fold_rtx): If WIDTH is zero for binary operator,
        !           847:        look at the modes of the original operands.
        !           848: 
        !           849:        * cse.c (cse_insn): Set prev_insn_explicit_cc0, for (set (cc0) INT).
        !           850:        (predecide_loop_entry): Likewise.
        !           851:        (fold_rtx): Look at it, for (if_then_else (cc0) ...).
        !           852: 
        !           853:        * expr.c (expand_builtin): Pass back return value from
        !           854:        __builtin_saveregs.
        !           855: 
        !           856:        * stmt.c (assign_parms): Allow arg pointer reg not to be fixed.
        !           857:        If it is not, copy it to a pseudo reg and use that later on.
        !           858: 
        !           859: Tue Jul 25 15:42:04 1989  Richard M. Stallman  (rms at mipos3)
        !           860: 
        !           861:        * expr.c (expand_builtin): New builtin __builtin_classify_type.
        !           862:        * tree.h, c-decl.c: Additional support.
        !           863: 
        !           864:        * flow.c (mark_used_regs): Treat arg pointer like stack pointer.
        !           865: 
        !           866:        * expr.c (emit_library_call):
        !           867:        Pass (tree)0 as TYPE arg to FUNCTION_ARG, etc.
        !           868: 
        !           869: Mon Jul 24 11:18:10 1989  Richard M. Stallman  (rms at mipos3)
        !           870: 
        !           871:        * loop.c (regs_match_p): Fix braino.
        !           872: 
        !           873:        * integrate.c (copy_for_inline, copy_rtx_and_substitute):
        !           874:        Make ASM_OPERANDS constraint vector be shared like operand vector.
        !           875: 
        !           876:        * xm-iris.h: New file.
        !           877: 
        !           878:        * Makefile (stage4): New target.
        !           879: 
        !           880:        * gnulib2.c (badd, bsub, bmul, bdiv): If want long value from
        !           881:        arithmetic, widen the operands first.
        !           882:        (__div_internal aka bdiv): Rename to __bdiv.
        !           883: 
        !           884:        * sparc.md (seq combination patterns): Fully initialize cc_status.
        !           885: 
        !           886:        * expr.c (emit_push_insn): Like July 19 change, for BLKmode.
        !           887: 
        !           888:        * stmt.c (expand_function_end): Stack-restore for alloca
        !           889:        is now done after the return_label.
        !           890: 
        !           891:        * loop.c (scan_loop): Set MAYBE_NEVER for conditional jump to loopbeg.
        !           892: 
        !           893:        * integrate.c (copy_rtx_and_substitute): Allow mapping of hard regs.
        !           894:        (expand_inline_function): Always create parm_map.
        !           895:        Handle structure value that way if nec. even if no parms.
        !           896:        Otherwise, find the pseudo used in the function to hold the
        !           897:        structure address, and map it to a new pseudo.
        !           898: 
        !           899:        * expr.c (expand_call):
        !           900:        Use mark_addressable to make FNDECL addressable.
        !           901:        * c-typeck.c (mark_addressable): No longer static.
        !           902: 
        !           903:        * cse.c (cse_insn): Modify last change: don't canon_reg
        !           904:        for hard regs inside clobbers.
        !           905: 
        !           906:        * expr.c (expand_assignment): ALIGN arg to store_field comes from
        !           907:        the structure, not from the value stored.
        !           908: 
        !           909: Fri Jul 21 16:23:45 1989  Richard M. Stallman  (rms at mipos3)
        !           910: 
        !           911:        * stmt.c (warn_if_unused_value): Don't warn for a cast
        !           912:        around a MODIFY_EXPR.
        !           913: 
        !           914:        * tm-hp9k320.h (PCC_STATIC_STRUCT_RETURN): Undefine it.
        !           915:        (CPP_PREDEFINES): Add some.
        !           916: 
        !           917:        * combine.c (simplify_and_const_int):
        !           918:        Simplify (and (ashiftrt (zero_extend FOO) N) M).
        !           919: 
        !           920:        * optabs.c (expand_binop): When widening,
        !           921:        for some operations we need not actually extend.
        !           922: 
        !           923: Thu Jul 20 16:16:35 1989  Richard M. Stallman  (rms at mipos3)
        !           924: 
        !           925:        * Makefile (insn-emit.o): Depend on insn-codes.h.
        !           926: 
        !           927:        * stmt.c (check_for_full_enumeration_handling): 
        !           928:        Handle all cases for TYPE_NAME of enum type.
        !           929: 
        !           930: Wed Jul 19 17:00:39 1989  Richard M. Stallman  (rms at mipos3)
        !           931: 
        !           932:        * fold-const.c (fold_convert): Don't fail to force_fit_type.
        !           933: 
        !           934:        * expr.c (emit_push_insn): When pushing only part of scalar on stack,
        !           935:        adjust stack offset not to count the words not pushed.
        !           936: 
        !           937:        * stmt.c (expand_function_end): Always put return structure address
        !           938:        in return register.
        !           939: 
        !           940:        * c-typeck.c (process_init_constructor): Assume 0 for nameless field.
        !           941: 
        !           942:        * recog.c (general_operand, memory_operand):
        !           943:        Check validity of mem address using the mode of the MEM.
        !           944: 
        !           945:        * fixincludes: When calling egrep, use redirect, not -s.
        !           946: 
        !           947: Tue Jul 18 11:18:55 1989  Richard M. Stallman  (rms at mipos3)
        !           948: 
        !           949:        * Makefile (bootstrap*): Pass value of libdir down.
        !           950: 
        !           951:        * cse.c (cse_insn): Do canon_reg on any CLOBBERs and USEs.
        !           952: 
        !           953:        * cse.c (cse_insn): Don't use no_labels_between_p to check
        !           954:        for jump to following label; find following label and compare.
        !           955: 
        !           956:        * combine.c (try_combine): Don't substitute into subreg(x)=y
        !           957:        if modes of x and y are not tieable.
        !           958: 
        !           959:        * out-i386.c (call_top_dead_p): Don't fail to check
        !           960:        the rtx code of the insns themselves.
        !           961: 
        !           962:        * i386.md (tstsf, tstdf): Don't discard TOS if not dead.
        !           963: 
        !           964:        * stupid.c: Don't use regs with PRESERVE_DEATH_INFO_REGNO_P
        !           965:        for pseudos which live across jumps or labels.
        !           966:        (stupid_life_analysis): Update last_jump_suid, last_label_suid.
        !           967:        (stupid_mark_refs): Use those to set reg_crosses_blocks.
        !           968:        (stupid_find_reg): Check that data, passed from stupid_life_analysis.
        !           969: 
        !           970:        * toplev.c (main): Avoid using caddr_t.
        !           971: 
        !           972:        * mips.md (inverted bgeu peephole): Typo in opcode.
        !           973: 
        !           974: Mon Jul 17 12:29:45 1989  Richard M. Stallman  (rms at mipos3)
        !           975: 
        !           976:        * i386.md (mulb patterns): Turned off due to assembler bug.
        !           977: 
        !           978:        * rtl.c (read_name): Use 0, not NULL, for character.
        !           979: 
        !           980:        * alliant.md (movqi): Typos in mov opcodes.
        !           981: 
        !           982:        * tm-sparc.h, tm-spur.h (CONST_DOUBLE_OK_FOR_LETTER_P):
        !           983:        Use CONST_DOUBLE_LOW, etc. 
        !           984: 
        !           985:        * stmt.c (expand_function_end): Check value of EXIT_IGNORE_STACK,
        !           986:        not just whether defined.
        !           987: 
        !           988:        * i386.md (seq, etc.): New patterns.
        !           989:        * expr.c (do_store_flags): If result is wrong mode, 
        !           990:        ensure rest of bits are cleared.
        !           991:        Before storing low part of TARGET, emit a CLOBBER for it.
        !           992: 
        !           993:        * i386.md (load address): Use an immediate add if possible.
        !           994: 
        !           995:        * i386.md (ashlsi3): Don't generate leal; shift is faster.
        !           996: 
        !           997:        * Now struct_value_rtx is 0 to treat it as a parm.
        !           998:        * expr.c (expand_call): Implement that.
        !           999:        * integrate.c (expand_inline_function): Don't freak out.
        !          1000:        * tm-apollo68.h (STRUCT_VALUE): Make it 0.
        !          1001: 
        !          1002:        * On 386, called function must pop the structure value address.
        !          1003:        * tm-i386.h (STRUCT_VALUE): Don't change this.
        !          1004:        Address is now pushed but not counted as a parm.
        !          1005:        * out-i386.c (function_epilogue): Use ret $4 to pop that address.
        !          1006:        * output.h: Declare the current_function_... variables.
        !          1007:        * final.c: Include output.h.
        !          1008: 
        !          1009:        * varasm.c (make_decl_rtl): Insert missing `else', validating reg decl.
        !          1010: 
        !          1011: Fri Jul 14 14:12:17 1989  Richard M. Stallman  (rms at mipos3)
        !          1012: 
        !          1013:        * out-sparc.c, out-spur.c (output_move_double):
        !          1014:        Fixed typo, addreg0 => addreg1.
        !          1015: 
        !          1016:        * c-decl.c (lang_decode_option): Handle -fshort-enums.
        !          1017:        (finish_enum): In that case, give enum minimum number of bytes.
        !          1018:        * toplev.c (main): Default flag_short_enums.
        !          1019:        * toplev.c, flags.h (flag_short_enums, flag_signed_char): 
        !          1020:        Define those flags here, not in c-decl.c and c-tree.h.
        !          1021: 
        !          1022:        * i386.md (mulqi3, umulqi3): New patterns.
        !          1023: 
        !          1024:        * c-convert.c (convert_to_integer): Tighter restrictions on
        !          1025:        distributing truncation through max, min, and multiplication.
        !          1026:        If operands were extended from unsigned, make the operation
        !          1027:        unsigned.
        !          1028: 
        !          1029:        * cccp.c (main): Fix bug where #include <...>, when -I- was used,
        !          1030:        failed to search standard dirs and/or searched some dirs
        !          1031:        intended only for #include "...".
        !          1032: 
        !          1033:        * tm-mips.h (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE):
        !          1034:        Increment push_loc after store or load, not before.
        !          1035: 
        !          1036: Thu Jul 13 11:24:30 1989  Richard M. Stallman  (rms at mipos3)
        !          1037: 
        !          1038:        * emit-rtl.c (add_insn_after): Don't update last_insn
        !          1039:        if insn is in a sequence.  Instead, update end of sequence.
        !          1040: 
        !          1041:        * stmt.c (fixup_var_refs): Update end of stacked sequence.
        !          1042: 
        !          1043:        * stmt.c (expand_function_start): Set result rtl before assign_parms.
        !          1044: 
        !          1045:        * optabs.c (emit_unop_insn): Set PREV_INSN after preliminaries.
        !          1046: 
        !          1047:        * stmt.c (warn_if_unused_value): Do CONVERT_EXPR like NOP_EXPR.
        !          1048: 
        !          1049:        * stmt.c (expand_function_start): Make sure parm_birth_insn
        !          1050:        is a NOTE.
        !          1051: 
        !          1052:        * Makefile (clean): Delete tmp-insn-*.
        !          1053: 
        !          1054: Wed Jul 12 14:24:12 1989  Richard M. Stallman  (rms at mipos3)
        !          1055: 
        !          1056:        * i386.md (mulqi3): Restrict operand 2 to `q' reg.
        !          1057: 
        !          1058:        * reload1.c (choose_reload_regs): Check HARD_REGNO_MODE_OK
        !          1059:        for regs to be inherited.
        !          1060:        Also check HARD_REGNO_MODE_OK at end for modes of both
        !          1061:        reload_in and reload_out as well as reload_mode.
        !          1062: 
        !          1063:        * Makefile (maketest): Update for config subdir.
        !          1064: 
        !          1065: Tue Jul 11 16:29:57 1989  Richard M. Stallman  (rms at mipos3)
        !          1066: 
        !          1067:        * integrate.c (copy_decl_tree): Copy TREE_USED of each LET_STMT.
        !          1068: 
        !          1069:        * make-cc1.com: Changes by Angel Li.
        !          1070:        Define variables CC, CFLAGS, LDFLAGS, LIBS.
        !          1071:        Use LIBR library, not LIB.  Specify a /INC in CFLAGS.
        !          1072:        Use MCR to run the gen* files.  Add some comments.
        !          1073:        * make-cccp.com: Similar.
        !          1074:        * config-gcc.com: New file.
        !          1075: 
        !          1076:        * stmt.c (assign_parms): Compute parm alignment from passed type.
        !          1077: 
        !          1078:        * c-typeck.c (actualparameterlist): Instead of truncating
        !          1079:        and then promoting for PROMOTE_PROTOTYPES, go straight to int.
        !          1080: 
        !          1081:        * c-parse.y (setspecs): Save old current_declspecs on a stack.
        !          1082:        (decl, component_decl): Restore from that stack.
        !          1083: 
        !          1084: Wed Jul  5 15:01:00 1989  Richard Stallman  (tiemann at yahi)
        !          1085: 
        !          1086:        * tm-aix386.h, xm-aix386.h: New files.
        !          1087: 
        !          1088:        * loop.c (check_dbra_loop): Handle either test or compare
        !          1089:        for insn two before loop end; detect and reject anything else.
        !          1090: 
        !          1091:        * expr.c (expand_call, expand_builtin): If alloca is done,
        !          1092:        set current_function_calls_alloca.
        !          1093:        * stmt.c (expand_function_end): If so, generate code to save and
        !          1094:        restore the stack pointer, if not EXIT_IGNORE_STACK.
        !          1095: 
        !          1096:        * ns32k.md (movsi): Fixes for moving from fp or sp.
        !          1097: 
        !          1098:        * tm-mips.h (ASM_OUTPUT_ASCII): Start new .ascii every 256 chars.
        !          1099: 
        !          1100: Tue Jul  4 11:01:00 1989  Richard Stallman  (tiemann at yahi)
        !          1101: 
        !          1102:        * reload1.c (choose_reload_targets): Don't depend on
        !          1103:        reload_spill_index when cancelling invalid inheritance.
        !          1104:        Also, abort if trying to preserve death info
        !          1105:        on a spill reg used in operand addressing.
        !          1106: 
        !          1107:        * fold-const.c (fold): Don't fold "foo"[n] here.
        !          1108:        * expr.c (expand_expr): Do it here.
        !          1109:        Handle wide strings correctly.
        !          1110: 
        !          1111:        * i386.md (movsf,movdf): Disallow mem-mem moves.
        !          1112:        Enable mem-to-reg moves.
        !          1113: 
        !          1114:        * c-decl.c (finish_{struct,enum}): Warn if inside parm decls.
        !          1115:        (in_parm_level_p, declare_parm_level): Record when inside.
        !          1116:        * c-parse.y (parmlist, parmlist_or_identifiers): Call
        !          1117:        declare_parm_level.
        !          1118: 
        !          1119:        * c-decl.c (parmlist_tags_warning): Revise warning message text.
        !          1120: 
        !          1121:        * tm-hp9k320.h (ASM_SPEC): Pass -V switch to assembler.
        !          1122: 
        !          1123:        * tm-sun386.h (ASM_START_FILE): Truncate filename to 14 chars.
        !          1124: 
        !          1125:        * c-typeck.c (decl_constant_value): Use only literal values.
        !          1126: 
        !          1127: Sat Jul  1 17:29:54 1989  Richard Stallman  (tiemann at yahi)
        !          1128: 
        !          1129:        * integrate.c (copy_rtx_and_substitute): Don't make nested SUBREGs.
        !          1130: 
        !          1131:        * stmt.c (expand_function_start): Set new global
        !          1132:        current_function_returns_pointer.
        !          1133: 
        !          1134:        * stmt.c (get_frame_size): Return the size, not the offset.
        !          1135:        * integrate.c (expand_inline_function): When setting FP_DELTA,
        !          1136:        compensate for this change.
        !          1137:        * tm-alliant.h,tm-mips.h,tm-sparc.h,tm-tahoe.h
        !          1138:        (FUNCTION_PROLOGUE,FUNCTION_EPILOGUE): Compensate.
        !          1139: 
        !          1140:        * out-mips.c (function_arg): Return 0 for BLKmode.
        !          1141: 
        !          1142:        * tm-mips.h (FUNCTION_INCOMING_ARG): Delete; no register windows.
        !          1143:        * out-mips.c (function_inarg): Delete; no longer used.
        !          1144: 
        !          1145:        * mips.md (addsi3): Use register_operand for operands 0,1.
        !          1146:        (load address): New pattern, following movsi.
        !          1147:        (fix_trunc*): Use trunc insn, not cvt.
        !          1148:        (cmpfs + bgt peephole): Operands were backwards in template.
        !          1149: 
        !          1150:        * gcc.c (main): Record in explicit_link_files which input files go
        !          1151:        straight to linker.  If linker is not run, complain about them.
        !          1152:        (execute): Increment execution_count, to show we were called.
        !          1153: 
        !          1154:        * gcc.c (validate_all_switches): Check ASM_SPEC, CC1_SPEC, etc.,
        !          1155:        so we find all switches that could be valid.
        !          1156: 
        !          1157:        * varasm.c (output_constructor): Position fields according to
        !          1158:        DECL_OFFSET; don't try to compute alignment here.
        !          1159: 
        !          1160:        * tm-sparc.h (PCC_BITFIELD_TYPE_MATTERS): Define this.
        !          1161: 
        !          1162:        * reload1.c (emit_reload_insns): Fix stupid error in last change.
        !          1163: 
        !          1164:        * c-decl.c (duplicate_decls): If redeclaring builtin, give error is
        !          1165:        type mismatched; otherwise warn only if -W.
        !          1166: 
        !          1167:        * jump.c (jump_back_p): Verify that PREV is not null.
        !          1168: 
        !          1169: Mon Jun 26 13:50:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1170: 
        !          1171:        * reload1.c (choose_reload_regs): If number of reloads needing
        !          1172:        spill regs exceeds n_spills, don't inherit any reloads.
        !          1173: 
        !          1174:        * sdbout.c (sdbout_record_type_name): Dumb error in last change.
        !          1175: 
        !          1176:        * reload1.c (emit_reload_insns): Extend last change: don't use
        !          1177:        equiv reg if reg is in use at same stage of insn, either.
        !          1178: 
        !          1179: Sun Jun 25 00:00:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1180: 
        !          1181:        * reload1.c (emit_reload_insns): Don't use an equivalent register
        !          1182:        to reload from, if that register was used for reloading
        !          1183:        earlier in this insn.
        !          1184: 
        !          1185:        * sdbout.c (sdbout_record_type_name): Handle a TYPE_DECL as the
        !          1186:        type name.  Get rid of TYPE_TAG_NAME as separate macro.
        !          1187: 
        !          1188:        * optabs.c (emit_cmp_insn): Args to memcmp are addresses, not blocks.
        !          1189: 
        !          1190:        * reload1.c (choose_reload_regs): Typo, clearing reload_override_in.
        !          1191: 
        !          1192:        * tm-i386.h: Add register classes SIREG and DIREG.
        !          1193:        (enum reg_class, REG_CLASS_NAMES): Define class names.
        !          1194:        (REGNO_REG_CLASS, REG_CLASS_CONTENTS): Define their contents.
        !          1195:        (REG_CLASS_FROM_LETTER): Define letters `S' and `D'.
        !          1196: 
        !          1197: Sat Jun 24 00:17:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1198: 
        !          1199:        * c-decl.c (keep_next_level): New function.
        !          1200:        (struct binding): New slot `keep' says make a LET_STMT for this level.
        !          1201:        (pushlevel, poplevel): Implement that.
        !          1202:        * c-parse.y (stmt exprs): Call keep_next_level.
        !          1203: 
        !          1204:        * sdbout.c (plain_type_1): Handle REFERENCE_TYPE, METHOD_TYPE.
        !          1205:        Correct for size less than 0.
        !          1206:        (plain_type): Correct for size less than 0.
        !          1207: 
        !          1208:        * global-alloc.c (mark_reg_set): For CLOBBERs, call mark_reg_clobber.
        !          1209: 
        !          1210:        * reload1.c (order_regs_for_reload): Among regs explicitly used,
        !          1211:        prefer those used less often.
        !          1212: 
        !          1213:        * reload1.c (choose_reload_regs): If we find alternate place
        !          1214:        to reload from, verify it after all reloads assigned.
        !          1215:        New variable reload_override_in used for this.
        !          1216: 
        !          1217:        * combine.c (record_dead_and_set_regs): Look inside SIGN_EXTEND and
        !          1218:        STRICT_LOW_PART for place being set.
        !          1219:        (subst): When using reg_last_set to find what a register contains,
        !          1220:        verify the entire register was set.
        !          1221: 
        !          1222:        * toplev.c (rest_of_decl_compilation): Report invalid register name.
        !          1223: 
        !          1224: Fri Jun 23 13:19:41 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1225: 
        !          1226:        * tm-hp9k3bsd.h: New file.
        !          1227:        * config.gcc: New target hp9k320-bsd.
        !          1228: 
        !          1229:        * gcc.c (record_temp_file): Don't add a name twice to one queue.
        !          1230: 
        !          1231:        * stmt.c (expand_expr_stmt): Call warn_if_unused_value.
        !          1232:        (warn_if_unused_value): Code extracted from expand_expr_stmt.
        !          1233:        Recurse to handle COMPOUND_EXPR.  Don't warn about COND_EXPR.
        !          1234: 
        !          1235:        * tm-encore.h (DBX_REGISTER_NUMBER): Override tm-ns32k.h;
        !          1236:        return operand unchanged.
        !          1237: 
        !          1238:        * reload1.c (emit_reload_insns): Don't use recog_memoized
        !          1239:        on an asm.
        !          1240: 
        !          1241:        * jump.c (delete_insn): Update last_insn.
        !          1242:        * emit-rtl.c (set_last_insn): New function.
        !          1243: 
        !          1244:        * reload1.c (reload): Put a note at end of insn chain.
        !          1245: 
        !          1246:        * gcc.c: Put cpp output of .S file into a .s file.
        !          1247: 
        !          1248: Thu Jun 22 22:14:35 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1249: 
        !          1250:        * optabs.c (expand_binop, expand_unop): Emit queue before library call.
        !          1251:        It is done within emit_library_call, and cse screws up if there is a
        !          1252:        queued insn in the middle of a cse-able sequence.
        !          1253: 
        !          1254: Wed Jun 21 11:57:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1255: 
        !          1256:        * tm-mips.h (CPP_PREDEFINES): Define -Dunix.
        !          1257: 
        !          1258:        * reload.c (combine_reloads): Combined reload needed for entire insn.
        !          1259: 
        !          1260:        * c-parse.y (yylex): Braino checking for out-of-range escape seq.
        !          1261: 
        !          1262:        * stor-layout.c (layout_union): Handle PCC_BITFIELD_TYPE_MATTERS.
        !          1263:        (layout_struct): Don't let a bitfield cross the storage unit
        !          1264:        of its type, if PCC_BITFIELD_TYPE_MATTERS.
        !          1265: 
        !          1266: Tue Jun 20 00:03:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1267: 
        !          1268:        * varasm.c (get_or_assign_label): Let CONSTANT_ALIGNMENT specify
        !          1269:        alignment of the constant.
        !          1270:        CONSTANT_ALIGNMENT is a new optional macro.
        !          1271: 
        !          1272:        * varasm.c (force_const_mem, get_or_assign_label):
        !          1273:        Make buffer bigger.
        !          1274: 
        !          1275:        * toplev.c (print_target_switch_defaults): New fn called for -version.
        !          1276: 
        !          1277:        * toplev.c (compile_file): Detect error closing output file.
        !          1278: 
        !          1279:        * stor-layout.c (fixup_unsigned_type): Don't shift by 32.
        !          1280: 
        !          1281:        * stmt.c (emit_case_nodes): Pass UNSIGNEDP along to emit_cmp_insn.
        !          1282: 
        !          1283:        * stmt.c (expand_end_case): If index is narrow and cannot be
        !          1284:        directly compared, widen it just once.
        !          1285: 
        !          1286:        * c-parse.y (yylex): Support multi-character constants.
        !          1287:        Thorough rewrite of char constant parsing.
        !          1288: 
        !          1289:        * c-decl.c (pushdecl): Replace local extern function decl with
        !          1290:        previous global decl if latter is inline, or builtin, or has
        !          1291:        more arg type info.
        !          1292: 
        !          1293:        * hard-params.c (xmalloc): Define it, for alloca.c.
        !          1294: 
        !          1295:        * tm-hp9k320.h (STANDARD_STARTFILE_PREFIX): Override -D in Makefile.
        !          1296: 
        !          1297:        * expmed.c (store_fixed_bit_field): Avoid shift by 32.
        !          1298: 
        !          1299:        * stmt.c (expand_function_start): Emit a NOTE_INSN_FUNCTION_BEG.
        !          1300:        * final.c (final_scan_insn): For SDB output, do the
        !          1301:        sdbout_begin_function at that note.
        !          1302: 
        !          1303:        * reload1.c (choose_reload_regs): If a reload reg inherits
        !          1304:        from a previous reload, verify safety after all reloads are assigned.
        !          1305: 
        !          1306:        * c-decl.c (build_enumerator): Remove no-op casts.
        !          1307: 
        !          1308:        * reload.c (find_reloads): If an earlyclobber operand matches
        !          1309:        an input operand it is constrained to match, that's not a problem.
        !          1310:        If an earlyclobber operand loses due to earlyclobber, its matching
        !          1311:        input operand also loses.
        !          1312: 
        !          1313:        * reload1.c (choose_reload_regs): Don't use result of find_equiv_reg
        !          1314:        if that reg is used for reloading in an earlier part of the insn.
        !          1315: 
        !          1316:        * cse.c (fold_rtx): If WIDTH is 0, don't try sign-extending ARG0, ARG1.
        !          1317: 
        !          1318:        * Makefile (hard-params*): Use $(OLDCC).
        !          1319: 
        !          1320:        * c-typeck.c (c_alignof): No warning for -pedantic.
        !          1321: 
        !          1322:        * c-parse.y (readescape): Don't have both error and warning
        !          1323:        on one hex escape.
        !          1324: 
        !          1325:        * c-parse.y (yylex): Treat vertical tab as white space.
        !          1326:        (skip_white_space): Likewise.
        !          1327: 
        !          1328:        * c-parse.y (datadef): If pedantic, warn for stray semicolon.
        !          1329: 
        !          1330:        * expr.c (expand_increment): Pass accurate unsignedp arg
        !          1331:        to expand_binary_op.
        !          1332: 
        !          1333: Mon Jun 19 13:36:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1334: 
        !          1335:        * config.gcc (news, news-gas): Use xm-m68k.h.
        !          1336: 
        !          1337:        * final.c (output_asm_label, output_addr_const): Make buf bigger.
        !          1338: 
        !          1339:        * cexp.y (main): Handle EOF on input.
        !          1340:        (lookup, warning): Provide as a dummy.
        !          1341:        (is_idchar, is_idstart): Declare as unsigned char.
        !          1342: 
        !          1343:        * cexp.y (parse_escape): Use TARGET_NEWLINE, etc., as values.
        !          1344:        Support hex escapes.  Warn if octal or hex escape doesn't fit in char.
        !          1345: 
        !          1346:        * cexp.y (yylex): Sign-extend char constants if appropriate.
        !          1347: 
        !          1348:        * genemit.c: Make insn-emit.c include insn-flags.h.
        !          1349: 
        !          1350:        * gcc.c: Move record_temp_file past page which declares vflag.
        !          1351: 
        !          1352:        * integrate.c (expand_inline_function): If copying an insn with
        !          1353:        a REG_EQUIV note, make a similar note.
        !          1354: 
        !          1355:        * Allow reload regs to be reused for parts of an insn.
        !          1356:        * reload.c (find_reloads): Classify each reload for which part
        !          1357:        of the insn it is needed in.
        !          1358:        (find_reloads_address, etc.): Pass down the overall operand
        !          1359:        that this is part of, to record it on address reloads.
        !          1360:        (push_reload): Record that for each reload.
        !          1361:        * reload1.c (reload): Compute maximum needs of any part of the insn.
        !          1362:        (choose_reload_regs): Part of old choose_reload_targets.
        !          1363:        Hairier criteria for inheriting reloads and for which ones are
        !          1364:        available for the next insn to inherit.
        !          1365:        (emit_reload_insns): The rest of old choose_reload_targets.
        !          1366:        Emit reload insns in proper order according to where they are needed.
        !          1367:        * Record `reload_reg_in_use' separately for each part of the insn.
        !          1368:        (mark_reload_reg_in_use): New function.
        !          1369:        (reload_reg_free_p, reload_reg_free_before_p): New functions.
        !          1370:        (reload_reg_reaches_end_p): New function.
        !          1371: 
        !          1372:        * expr.c (expand_expr): Emit queue in X+=(Y?Z:A) optimization.
        !          1373: 
        !          1374:        * rtlanal.c (rtx_equal_p): Check vectors have same length.
        !          1375: 
        !          1376: Sun Jun 18 12:16:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1377: 
        !          1378:        * stmt.c (expand_expr_stmt): Maybe warn if top-level operator
        !          1379:        makes an unused result.
        !          1380: 
        !          1381:        * gcc.c (delete_temp_files, delete_failure_queue):
        !          1382:        If -v, report failures in unlink.
        !          1383: 
        !          1384:        * Makefile (includes): New target to run fixincludes.
        !          1385:        (install): Swap arms of if-statement.
        !          1386: 
        !          1387: Sat Jun 17 12:41:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1388: 
        !          1389:        * stor-layout.c (layout_union): Arg to error_with_decl was missing.
        !          1390: 
        !          1391:        * ns32k.md (movsf): Use CONST_DOUBLE_LOW to extract from CONST_DOUBLE.
        !          1392: 
        !          1393:        * loop.c (consec_sets_giv): Change type of force, force2.
        !          1394: 
        !          1395:        * combine.c (dump*): Declare arg as FILE*.
        !          1396: 
        !          1397:        * Makefile (clean): Delete hard-params.
        !          1398: 
        !          1399:        * flow.c (life_analysis): Use a special obstack for the temporary
        !          1400:        regsets.
        !          1401: 
        !          1402:        * m68k.md (clr pattern): On 68000, use moveq to clear data reg.
        !          1403: 
        !          1404:        * gvarargs.h: File varargs.h renamed.
        !          1405:        The old name conflicted with <varargs.h>, now that -I. is used.
        !          1406:        * tree.c, expr.c, emit-rtl.c: Change #include commands.
        !          1407:        * Makefile (install): Install gvarargs.h under name varargs.h.
        !          1408:        * gcc.c: Include gvarargs.h, not system's varargs.h.
        !          1409: 
        !          1410:        * Makefile: Use -I$(srcdir) before -I$(srcdir)/config.
        !          1411:        * config/tm.h: Deleted; didn't work if config was a symlink.
        !          1412: 
        !          1413:        * cse.c (cse_insn): Record location of inner_dest
        !          1414:        so it can be replaced properly if a new MEM rtx is made.
        !          1415: 
        !          1416: Fri Jun 16 14:17:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1417: 
        !          1418:        * make-cc1.com: Compile and link rtlanal.c.
        !          1419: 
        !          1420:        * c-typeck.c (build_array_ref): Call fold on the array ref.
        !          1421:        * fold-const.c (fold): Simplify array ref of string constant.
        !          1422: 
        !          1423:        * stmt.c (expand_asm_operands): Fix error message.
        !          1424: 
        !          1425:        * Makefile (gnulib2): Remove old members before compiling new.
        !          1426:        Fix stupid errors.
        !          1427:        * gnulib2.c (__cmpdi2, __ucmpdi2): Typos in names of interface unions.
        !          1428: 
        !          1429:        * genconfig.c (main): Don't write MAX_CLOBBERS_PER_INSN; obsolete.
        !          1430:        Add 3 to MAX_RECOG_OPERANDS.
        !          1431: 
        !          1432:        * cse.c (fold_cc0): Extra arg specifies machine mode.
        !          1433:        Callers changed.
        !          1434:        (cse_insn): Record original mode of each src for this purpose.
        !          1435: 
        !          1436: Thu Jun 15 12:35:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1437: 
        !          1438:        * gnulib2.c (_cmpdi2, _ucmpdi2): Moved here from gnulib.c.
        !          1439:        Use long long for argument type.
        !          1440: 
        !          1441:        * rtlanal.c (may_trap_p): Moved here from loop.c.
        !          1442:        Return 1 for division by explicit zero.
        !          1443: 
        !          1444:        * reload1.c (eliminate_frame_pointer, alter_frame_pointer_addresses):
        !          1445:        Rerecognize insns which are changed by this.
        !          1446: 
        !          1447:        * i386.md (call_value): Don't return prematurely.
        !          1448: 
        !          1449:        * alliant.md (movqi): Handle moving Aregs to mem and vice versa.
        !          1450:        (bftst -> btst): Restrict to bitpos less than 8
        !          1451:        so operand may be non-offsettable.
        !          1452:        (nop): New pattern.
        !          1453:        (return): Was disabled; now deleted.
        !          1454:        * tm-alliant.h (PRINT_OPERAND_PUNCT_VALID_P): Define it.
        !          1455:        * out-alliant.c (output_btst): Same change as in out-m68k.c
        !          1456: 
        !          1457:        * alliant.md, out-alliant.c: Offsetable -> offsettable.
        !          1458: 
        !          1459:        * c-parse.y (rule for stmt_exprs): Make the LET_STMT volatile. 
        !          1460: 
        !          1461:        * c-decl.c (duplicate_decls): Don't save inline function data
        !          1462:        from previous definition if a new *definition* is seen.
        !          1463: 
        !          1464:        * integrate.c (access_parm_map): Handle subregs and constants.
        !          1465: 
        !          1466:        * stmt.c (expand_return): Don't crash if DECL_RTL (DECL_RESULT()) is 0.
        !          1467: 
        !          1468:        * tm-tahoe.h (LONGJMP_RESTORE_FROM_STACK): Define it.
        !          1469: 
        !          1470:        * tm-mips.h (CONSTANT_P): Deleted; duplicates rtl.h.
        !          1471: 
        !          1472: Fri Jun  9 01:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1473: 
        !          1474:        * Makefile (float.h): Avoid using $(MAKE).
        !          1475: 
        !          1476:        * Don't cram two things into STMT_BODY of a LET_STMT.
        !          1477:        * tree.h (struct bind_stmt): New field, subblocks.
        !          1478:        (STMT_SUBBLOCKS): New macro to access it.
        !          1479:        * print-tree.c (walk): Print new field.
        !          1480:        * tree.c (build_let_stmt): Store the old BODY arg into subblocks field.
        !          1481:        * c-parse.y (stmt expr rule): Put rtl expr alone into body field.
        !          1482:        * dbxout.c (dbxout_block): Recurse on subblocks, not body.
        !          1483:        * sdbout.c, symout.c: Likewise.
        !          1484:        * integrate.c (copy_decl_tree): Likewise.
        !          1485:        * stmt.c (setjmp_protect, uninitialized_vars_warning): Likewise.
        !          1486:        * expr.c (expand_expr): For LET_STMT, simply use its body.
        !          1487: 
        !          1488:        * machmode.def: Add sixth arg to each entry.
        !          1489:        * tree.h, rtl.h, rtl.c: Add arg to DEF_MACHMODE.
        !          1490:        * rtl.h (GET_WIDER_MODE): New macro; table in rtl.c.
        !          1491:        * expr.c (expand_expr): Use that for widening multiply.
        !          1492: 
        !          1493:        * stmt.c (fixup_var_refs_1): When converting MEM to QImode for
        !          1494:        bit field, adjust the address if possible to make bitpos
        !          1495:        less than 8.
        !          1496:        * m68k.md (bftst -> btst): Restrict to bitpos less than 8
        !          1497:        so operand may be non-offsettable.
        !          1498: 
        !          1499:        * cccp.c (do_line): Accept and pass on 3rd arg for enter or leave file.
        !          1500: 
        !          1501:        * out-m68k.c (output_btst): Handle COUNT bigger than size of unit.
        !          1502: 
        !          1503:        * cccp.c (CHECK_DEPTH): Macro to detect instack overflow.
        !          1504:        (finclude, macroexpand, expand_to_temp_buffer): Use that.
        !          1505: 
        !          1506:        * cccp.c (rescan): Don't check for disabled macro if traditional.
        !          1507:        (macroexpand): Don't disable macro if traditional.
        !          1508: 
        !          1509:        * sdbout.c (sdbout_one_type): Take out last change; assembler barfs.
        !          1510: 
        !          1511:        * c-parse.y (maybe_attribute): Eliminate #-syntaxes.
        !          1512:        Make ATTRIBUTE the name for __attribute.
        !          1513: 
        !          1514:        * c-parse.gperf: Add __attribute{,__} and __signed{,__}.
        !          1515:        * c-parse.y: Install results of that change.
        !          1516: 
        !          1517:        * Fix bug in sizeof ({...}).
        !          1518:        * c-decl.c (poplevel): Set TREE_USED.  Return the LET_STMT.
        !          1519:        * c-parse.y (stmt-expr rule): Put the RTL_EXPR in the LET_STMT,
        !          1520:        clear its TREE_USED, and use it as the result.
        !          1521:        * expr.c (expand_expr): Allow LET_STMT as an expr.
        !          1522:        Set its TREE_USED and expand the TREE_VALUE of its body.
        !          1523:        * dbxout.c (dbxout_block): Ignore LET_STMT if TREE_USED not set.
        !          1524:        * sdbout.c, symout.c: Likewise.
        !          1525: 
        !          1526: Thu Jun  8 00:06:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1527: 
        !          1528:        * c-parse.y (yylex): Extend ERANGE-inhibitor for 0.0
        !          1529:        to 0.0e0 as well.
        !          1530: 
        !          1531:        * flow.c (life_analysis): Prevent allocation of regs live at setjmp
        !          1532:        on certain machines.  Controlled by LONGJMP_RESTORE_FROM_STACK.
        !          1533:        Sets reg_live_length to -1.
        !          1534:        * local-alloc.c (block_alloc): Be prepared for that.
        !          1535:        * tm-vax.h (LONGJMP_RESTORE_FROM_STACK): Define it.
        !          1536: 
        !          1537:        * gnulib2.c (all interfaces): Declare args and values as long long,
        !          1538:        and split them using unions.
        !          1539: 
        !          1540:        * loop.c (check_dbra_loop): Don't reverse loop if there are two
        !          1541:        refs to varying addresses.  Consider foo[i] = foo[i-1].
        !          1542:        (count_nonfixed_refs): Subroutine to count them.
        !          1543: 
        !          1544:        * cexp.y: Distinguish signed and unsigned.
        !          1545:        An integer value is now represented by a struct.
        !          1546:        All rules for arithmetic changed.
        !          1547:        (yylex): Adapt to change in yylval data type.
        !          1548: 
        !          1549:        * limits.h (LONG_MIN): Make sure it's a signed long.
        !          1550: 
        !          1551:        * sdbout.c (sdbout_one_type): Output types of fields first,
        !          1552:        if they are structs.  Don't go through pointers.
        !          1553:        (sdbout_field_types): Subroutine for that
        !          1554: 
        !          1555: Wed Jun  7 13:00:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1556: 
        !          1557:        * fixincludes: Switch to /usr/include before doing vuid_event.h.
        !          1558:        Use $2 as output directory for sed.
        !          1559: 
        !          1560:        * tm-i386.h (FUNCTION_PROFILER): Put counter address in %edx.
        !          1561:        * tm-i386v.h (LIB_SPEC): Use -L/usr/lib/libp if profiling.
        !          1562: 
        !          1563:        * expr.c (expand_increment): Typo testing for BImode component.
        !          1564: 
        !          1565:        * convex changes from csmith:
        !          1566:        * tm-convex.h: use EXTRA_SECTIONS to do .bss.
        !          1567:        out-convex.c: set_section, align_section are now unused.
        !          1568:        * convex.md: add pattern to pick an A-reg destination for sums
        !          1569:        whose source involves a dedicated A reg (frame or arg pointer)
        !          1570:        * convex.md: immediate and, or, xor instructions store a 32-bit
        !          1571:        result.  Fix instructions that assumed it was 64.
        !          1572: 
        !          1573:        * mips.md (probe): New pattern to create stack space.
        !          1574: 
        !          1575:        * Makefile (float.h): Ignore errors from hard-params.
        !          1576:        Specify ./ to run it.
        !          1577: 
        !          1578: Tue Jun  6 15:45:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1579: 
        !          1580:        * out-tahoe.c: Rename `offsetable' to `offsettable'.
        !          1581: 
        !          1582:        * tahoe.md (nop): New pattern.
        !          1583: 
        !          1584:        * i386.md (umul...): Constrain operand 1 as `0', not `a'.
        !          1585:        `a' sometimes wanted two a-regs for operands 0 and 1.
        !          1586: 
        !          1587:        * cccp.c: Forward-declare some structs.
        !          1588: 
        !          1589:        * c-decl.c: Rearrange fcn fwd decls and struct decls.
        !          1590: 
        !          1591:        * expr.c: Move some fcn fwd decls after structs their args use.
        !          1592:        * genpeep.c, genextract.c: Likewise.
        !          1593: 
        !          1594:        * loop.c: Forward-declare some structs.
        !          1595: 
        !          1596:        * stmt.c: Move decls of structs before those of static functions.
        !          1597: 
        !          1598:        * loop.c (strength_reduce): Delete extra arg to check_eliminate_biv.
        !          1599: 
        !          1600:        * integrate.c (expand_inline_function): Supply missing arg
        !          1601:        to convert_to_mode.
        !          1602: 
        !          1603:        * gcc.c (handle_braces): Supply missing arg to do_spec_1.
        !          1604: 
        !          1605:        * explow.c (lookup_static_chain): Accept a context arg.
        !          1606: 
        !          1607:        * expmed.c (store_split_bit_field): Pass ALIGN arg
        !          1608:        to extract_fixed_bit_field.
        !          1609: 
        !          1610:        * expr.c (expand_assignment): Convert TYPE_ALIGN to bytes.
        !          1611:        (store_constructor, expand_expr): Likewise.
        !          1612: 
        !          1613:        * m68k.h: NO_ADDSUB_Q conditionals turn off all addq, subq insns.
        !          1614:        (Fully supported only with MOTOROLA and HPUX_ASM flags.)
        !          1615: 
        !          1616:        * jump.c (do_cross_jump): Don't die if LABEL is 0.
        !          1617: 
        !          1618:        * tm-mips.h (PRINT_OPERAND_PUNCT_VALID_P): New macro.
        !          1619:        * tm-iris.h: New file.  Unsplit lines accidentally split.
        !          1620: 
        !          1621: Mon Jun  5 15:39:30 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1622: 
        !          1623:        * integrate.c (output_inline_function): Call init_function_start,
        !          1624:        not expand_function_start.
        !          1625:        * emit-rtl.c (restore_reg_data): No need to init reg_rtx_no.
        !          1626: 
        !          1627:        * stmt.c (init_function_start): Set current_function_returns_struct.
        !          1628: 
        !          1629:        * rtlanal.c (reg_set_between_p): New fn analogous to reg_used_between_p
        !          1630:        * loop.c (strength_reduce): Reject biv initial value which is altered
        !          1631:        subsequently before actual loop start.
        !          1632: 
        !          1633:        * rtlanal.c: New file split out from rtl.c.
        !          1634:        Has things not used in the gen files.
        !          1635: 
        !          1636:        * loop.c (strength_reduce): Reject biv initial value in a hard reg
        !          1637:        clobbered by an intervening function call.
        !          1638: 
        !          1639:        * tree.c (get_identifier): New flag needed to enable id-clash warnings.
        !          1640:        (start_identifier_warnings): Set that flag.
        !          1641:        * c-decl.c (init_decl_processing): Call that, after making built-ins.
        !          1642: 
        !          1643: Sat Jun  3 14:41:34 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1644: 
        !          1645:        * final.c (final_scan_insn): No basic block profiling at jump tables.
        !          1646: 
        !          1647:        * stmt.c (expand_decl): Probe the stack to make pages exist.
        !          1648:        * expr.c (expand_builtin): Likewise, for alloca.
        !          1649: 
        !          1650:        * move-if-change: Specify /bin/sh.
        !          1651: 
        !          1652:        * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): Don't accept PLUS
        !          1653:        with constant operands but not inside CONST.
        !          1654: 
        !          1655:        * integrate.c (output_inline_function, save_for_inline):
        !          1656:        Save stack_slot_list, and restore it for actual output.
        !          1657:        * emit-rtl.c (gen_inline_header_rtx): New arg for this.
        !          1658: 
        !          1659:        * emit-rtl.c (restore_reg_data): Initialize reg_rtx_no.
        !          1660:        (restore_reg_data_1): Handle reg_rtx_no jumping past
        !          1661:        reg_pointer_flag_length.
        !          1662: 
        !          1663:        * reload1.c (alter_reg): Do nothing if regno_reg_rtx has 0.
        !          1664: 
        !          1665:        * integrate.c (copy_rtx_and_substitute): Typos for stack parm
        !          1666:        addresses in PLUS case.
        !          1667: 
        !          1668:        * genoutput.c (gen_insn, gen_peephole): Make output_n fns static.
        !          1669:        (output_prologue): Use new macro DEFAULT_MACHINE_INFO if defined.
        !          1670: 
        !          1671:        * tree.h (enum machine_mode): Define MAX_MACHINE_MODE as in rtl.h.
        !          1672: 
        !          1673: Fri Jun  2 15:40:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1674: 
        !          1675:        * cccp.c (do_include): A file included via a system header file
        !          1676:        counts as a system header file for -M.
        !          1677: 
        !          1678:        * gnulib2.c: Support boolean ops and shifts.
        !          1679: 
        !          1680:        * loop.c (emit_iv_inc): Use emit_iv_init_code.
        !          1681: 
        !          1682:        * rtl.h (CONST0_RTX): Don't try to cast abort.
        !          1683: 
        !          1684:        * tm-news.h (PRINT_OPERAND_ADDRESS): Fix typo `reg_name'.
        !          1685:        Delete two garbage lines.
        !          1686: 
        !          1687:        * loop.c (eliminate_biv): Use emit_iv_init_code to compute comparison
        !          1688:        value.  If value is constant, recognize the insn, and if that fails,
        !          1689:        put the value in a register.  
        !          1690: 
        !          1691: Thu Jun  1 16:56:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1692: 
        !          1693:        * print-tree.c (dump): Don't die if rtx components are null.
        !          1694: 
        !          1695:        * expmed.c (expand_mult_add): New fn to do A * X + B.
        !          1696:        (make_tree): New subroutine.
        !          1697:        * loop.c (emit_iv_init_code): Use that.  Much simpler now.
        !          1698: 
        !          1699: Tue May 30 17:20:40 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1700: 
        !          1701:        * fold-const.c (fold): Use TREE_SET_CODE to store in tree codes.
        !          1702: 
        !          1703:        * tree.h (struct tree_common): Make `code' an unsigned int.
        !          1704:        (TREE_CODE, TREE_SET_CODE): Put in casts.
        !          1705: 
        !          1706:        * optabs.c (emit_cmp_insn): Supply all the args in recursive calls.
        !          1707: 
        !          1708:        * toplev.c (report_error_function): Fix typo; METHOD_TYPE missing.
        !          1709: 
        !          1710:        * fixincludes: Add code to make internal non-directory links.
        !          1711: 
        !          1712: Mon May 29 21:36:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1713: 
        !          1714:        * gcc.c (find_exec_file): Try both with and without machine_suffix.
        !          1715:        (find_file): Use machine_suffix here too.
        !          1716: 
        !          1717: Sat May 27 00:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1718: 
        !          1719:        * reload.c (decompose): OFFSET wasn't initialized.
        !          1720: 
        !          1721:        * cse.c (cse_main): Assign monotonic cuids.
        !          1722:        (make_regs_eqv, CHEAPER): Use cuids, not uids.
        !          1723:        (cse_end_of_basic_block): Return a cuid, not a uid.
        !          1724: 
        !          1725:        * expr.c (expand_builtin): For BUILTIN_SAVEREGS, range of regs
        !          1726:        moved included one extra previous insn.
        !          1727: 
        !          1728:        * emit-rtl.c (emit_line_note): Don't check -g here.
        !          1729:        (emit_note): For line number when no -g, increment cur_insn_uid anyway.
        !          1730:        * stmt.c (expand_start_case): Always output a NOTE_INSN_DELETED.
        !          1731: 
        !          1732:        * loop.c (loop_optimize): Don't count line-number NOTEs for luids.
        !          1733:        Prevents -g from affecting optimization decisions.
        !          1734: 
        !          1735: Fri May 26 17:31:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1736: 
        !          1737:        * local-alloc.c (block_alloc): Don't count notes in insn_number.
        !          1738:        Prevents -g from affecting order of allocation.
        !          1739: 
        !          1740: Thu May 25 14:12:19 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1741: 
        !          1742:        * local-alloc.c (block_alloc): Clear full length of regs_live_at.
        !          1743: 
        !          1744:        * ns32k.md (cmpsi): Make this the first cmp pattern.
        !          1745: 
        !          1746:        * jump.c (do_cross_jump): Skip NOTEs while checking for existing label.
        !          1747: 
        !          1748:        * cse.c (cse_insn): When no-oping a jump, decrement use count of label.
        !          1749:        (cse_basic_block): If label use count is 0, go past it.
        !          1750: 
        !          1751:        * integrate.c (access_parm_map): New fn, broken out of
        !          1752:        copy_rtx_and_substitute, handles case of mem ref to stack arg.
        !          1753:        (copy_rtx_and_substitute): Call it.
        !          1754:        Also use it for address of a stack arg.
        !          1755: 
        !          1756:        * gen*.c (fatal): Declare 1st arg as string.
        !          1757: 
        !          1758: Wed May 24 00:13:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1759: 
        !          1760:        * optabs.c (init_optabs): Handle movdi and movdf insns.
        !          1761: 
        !          1762:        * final.c (end_final): Realign locn ctr after outputting string.
        !          1763: 
        !          1764:        * tm-sparc.h (LINK_SPEC): Link bb_link.o before standard lib.
        !          1765: 
        !          1766:        * tm-sun386i.h (LINK_SPEC): Accept and ignore -sun386.
        !          1767: 
        !          1768:        * gcc.c (find_exec_file): Use machine_suffix.
        !          1769:        (process_command): Set that for -b option.
        !          1770: 
        !          1771:        * integrate.c (function_cannot_inline_p): No size limit
        !          1772:        for functions declared inline.
        !          1773: 
        !          1774:        * loop.c (skip_consec_insns): New fn, skip several insns or libcalls.
        !          1775:        (force_movables): New fn, part of scan_loop broken out.
        !          1776:        (ignore_some_movables): New fn, ignore a movable whose insn
        !          1777:        is within another movable's libcall.
        !          1778:        (scan_loop): Call those three.
        !          1779:        Don't handle m->consec for zero-extend movables, since always 0.
        !          1780: 
        !          1781: Tue May 23 12:58:24 1989  Joe Weening  (weening at gang-of-four.stanford.edu)
        !          1782: 
        !          1783:        * config/alliant.md:
        !          1784:        Removed operand classes 'x', 'y', 'G', 'H'.
        !          1785:        Added "%." to many opcodes to simplify comparison with m68k.md.
        !          1786:        Changed TARGET_68881 to TARGET_CE.
        !          1787:        Changed floating-point insns to better describe the Alliant CE.
        !          1788:        Most args to floating-point insns are now nonimmediate_operand.
        !          1789:        Removed special insns for pushing doublewords onto stack.
        !          1790:        Added non-CE versions of movsf and movdf to avoid using FP
        !          1791:        registers in this case.
        !          1792:        (float*i*f2): Don't allow immediate ops.
        !          1793:        (sne): Fix typo, fsne => fsneq.
        !          1794:        (call, call_value): Changed to always pop args from stack
        !          1795:        upon return; this gives better code than before and conforms
        !          1796:        to Alliant calling standard.
        !          1797:        Incorporated some recent changes to m68k.md.
        !          1798: 
        !          1799:        * config/out-alliant.c:
        !          1800:        (regno_reg_class): Removed FPA reg classes.
        !          1801:        (output_move_const_double): Function not needed, removed.
        !          1802: 
        !          1803:        * config/tm-alliant.h:
        !          1804:        Removed FPA registers and reg classes.
        !          1805:        Target flags: changed TARGET_68881 to TARGET_CE, removed
        !          1806:        TARGET_RTD, TARGET_REGPARM, TARGET_FPA.
        !          1807:        Removed TARGET_CE test in several places since we need to
        !          1808:        use FP regs even for non-CE programs.
        !          1809:        (TARGET_VERSION, CPP_SPEC): Define for Alliant.
        !          1810:        (CONDITIONAL_REGISTER_USAGE): Removed, not needed.
        !          1811:        (FRAME_POINTER_REQUIRED): Defined.
        !          1812:        (RETURN_POPS_ARGS): Defined.
        !          1813:        (FUNCTION_VALUE, LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P):
        !          1814:        Use fp0 to return floating-point values.
        !          1815:        (FUNCTION_ARG): Remove TARGET_REGPARM code.
        !          1816:        (FUNCTION_ARG_PARTIAL_NREGS): Always 0.
        !          1817:        (FUNCTION_PROFILER): Define for Alliant.
        !          1818:        (FUNCTION_EPILOGUE): Remove use of rtd instruction.
        !          1819:        Renamed CC_IN_68881 to CC_IN_FP.
        !          1820:        (NOTICE_UPDATE_CC): Incorporate changes that were made
        !          1821:        in tm-m68k.h.
        !          1822: 
        !          1823:        * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
        !          1824: 
        !          1825: Tue May 23 12:58:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1826: 
        !          1827:        * sdbout.c: Don't include c-tree.h.
        !          1828: 
        !          1829:        * tree.c (build_index_type): Use sizetype for min and max values.
        !          1830:        Convert maxval rather than clobbering it.
        !          1831: 
        !          1832:        * tm-hp9k320.h: Finish unterminated comment.
        !          1833: 
        !          1834:        * sdbout.c (sdbout_parms): Use gen_fake_label for anonymous parm.
        !          1835: 
        !          1836: Sun May 21 12:58:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1837: 
        !          1838:        * stmt.c (aggregate_value_p): New fn says whether expression is a type
        !          1839:        that functions cannot return as a scalar.
        !          1840:        (assign_parms, expand_function_start): Use that.
        !          1841:        * expr.c (expand_call): Likewise.
        !          1842: 
        !          1843:        * gcc.c (delete_failure_queue): New subroutine.
        !          1844:        (delete_temp_files): No longer delete the failure queue.
        !          1845:        (main): Delete failure queue after each failing compilation.
        !          1846: 
        !          1847: Sat May 20 13:16:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1848: 
        !          1849:        * varasm.c (force_const_mem): New optional macro SELECT_RTX_SECTION.
        !          1850: 
        !          1851:        * mips.md: Change %u0 to %:.
        !          1852:        (movsi): Add constraint alternative accepting address arg.
        !          1853: 
        !          1854:        * fold-const.c (mul_double): Special case for 2nd arg 2, 4, 8.
        !          1855:        (combine): Special case shortcuts for plus, minus, mult, div.
        !          1856: 
        !          1857:        * stmt.c (expand_function_start): Simplify hairy statement for 3B1.
        !          1858:        * expr.c (expand_call): Likewise.
        !          1859: 
        !          1860:        * math-68881.h: New file.
        !          1861: 
        !          1862:        * m68k.md (movqi): Handle moving aregs to mem and vice versa.
        !          1863: 
        !          1864:        * dbxout.c (dbxout_type): Don't test use_gdb_dbx_extensions
        !          1865:        in cases that occur in C.
        !          1866: 
        !          1867:        * stmt.c (expand_function_{start,end}): Make DECL_RESULT's rtl 0
        !          1868:        when function returns no value.
        !          1869: 
        !          1870:        * tree.c (build_decl): Initialize DECL_PRINT_NAME, DECL_ASSEMBLER_NAME.
        !          1871: 
        !          1872:        * c-decl.c (store_parm_decls): Call init_function_start.
        !          1873: 
        !          1874: Thu May 18 00:41:37 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1875: 
        !          1876:        * stmt.c (expand_null_return_1): New arg USE_GOTO says jump to
        !          1877:        return_label even if could otherwise use a return insn.
        !          1878:        Make a return_label if we need one and don't have one already.
        !          1879:        If have parm cleanups, always jump to cleanup_label.
        !          1880:        (expand_null_return): Pass 1 for USE_GOTO if cleanups pending.
        !          1881:        (expand_return): Set LAST_INSN if have local cleanups or parm cleanups.
        !          1882:        Use that if jumping to tail-recursion label.
        !          1883:        Optimization for returning a comparison is safe for local cleanups
        !          1884:        but don't do it if there are parm cleanups.
        !          1885:        Calling expand_null_return_1, pass 1 for USE_GOTO if local cleanups.
        !          1886:        (this_contour_has_cleanups_p): New function.
        !          1887: 
        !          1888:        * stmt.c (init_function_start): New function, beginning of
        !          1889:        expand_function_start broken out.
        !          1890:        Use DECL_PRINT_NAME to get function's name.
        !          1891:        (expand_function_start): Now two args, function and PARMS_HAVE_CLEANUPS
        !          1892:        Compute RETURN_LABEL sooner; make one if parm cleanups.
        !          1893:        If parms have cleanups, put scalar return value in pseudo-reg.
        !          1894:        Don't mark that pseudo with REG_FUNCTION_VALUE_P.
        !          1895:        (expand_function_end): Simplify decisions about output of return_label
        !          1896:        and return insn.
        !          1897:        If DECL_RESULT is pseudo-reg, copy it to real return reg.
        !          1898: 
        !          1899:        * stmt.c (expand_function_end): Handle ordinary struct values
        !          1900:        like pcc, but only if unoptimized.
        !          1901:        (expand_function_start): Make a return_label for ordinary struct value.
        !          1902: 
        !          1903:        * stor-layout.c (layout_type): Handle METHOD_TYPE like FUNCTION_TYPE.
        !          1904:        (layout_decl): Allow TYPE_DECL.
        !          1905: 
        !          1906:        * stor-layout.c (layout_basetypes): Code for basetypes broken
        !          1907:        out of layout_record.  Sets the type size tentatively.
        !          1908:        (layout_record): Start with that tentative size.
        !          1909:        Also, don't do anything with CONST_DECL members.
        !          1910: 
        !          1911:        * stor-layout.c (layout_union): Simpler error report for static memb.
        !          1912: 
        !          1913:        * reload1.c (eliminate_frame_pointer): Reduce PUSH_ROUNDING
        !          1914:        conditional to apply only to push instructions.
        !          1915: 
        !          1916:        * expr.c (expand_call): Fix stupid errors handling MAX_PARM_BOUNDARY.
        !          1917:        * stmt.c (assign_parms): Likewise.
        !          1918: 
        !          1919:        * toplev.c (announce_function, report_error_function):
        !          1920:        (error_with_decl, warning_with_decl): Use DECL_PRINT_NAME.
        !          1921: 
        !          1922:        * toplev.c (compile_file): Subtract integration_time from parse_time.
        !          1923: 
        !          1924:        * toplev.c (compile_file): Don't output read-only static variables
        !          1925:        at end of compilation if address was not used.
        !          1926: 
        !          1927:        * toplev.c (rest_of_compilation): Handle flag_syntax_only.
        !          1928: 
        !          1929:        * toplev.c (main): Handle -g0 and -G0 options.
        !          1930:        For -g and -G, set use_gdb_dbx_extensions.
        !          1931: 
        !          1932:        * toplev.c (main): Set `progname'.
        !          1933:        (pfatal_with_name, fatal_io_error, {error,warning}_with_file_and_line):
        !          1934:        (sorry): Print value of `progname', not "cc1".
        !          1935: 
        !          1936:        * tree.def: Delete FRIEND_DECL.  Add PUSH_EXPR and POP_EXPR.
        !          1937: 
        !          1938:        * tree.c (simple_cst_equal): Handle INDIRECT_REF.
        !          1939: 
        !          1940:        * tree.c (lvalue_p): Handle METHOD_TYPE.  Handle NEW_EXPR.
        !          1941: 
        !          1942:        * tree.c (copy_list): New function.
        !          1943: 
        !          1944:        * tree.h (struct tree_decl): New fields print_name and assembler_name.
        !          1945:        (DECL_PRINT_NAME, DECL_ASSEMBLER_NAME): New accessors.
        !          1946: 
        !          1947:        * c-decl.c (LONG_DOUBLE_TYPE_SIZE): New compilation parameter.
        !          1948: 
        !          1949: Wed May 17 22:07:17 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          1950: 
        !          1951:        * dbranch.c (emit_delay_sequence): Reset insn code to -1 when
        !          1952:        turning insn into a sequence so that it won't think that it matches
        !          1953:        something in the md file.
        !          1954: 
        !          1955:        * dbranch.c (insn_eligible_p): Call refers_to_regno_p with a
        !          1956:        non-zero range.
        !          1957: 
        !          1958:        * dbranch.c (pnote): Modified to make sure instruction clobbered
        !          1959:        register is a set, rather than, say, a clobber.
        !          1960: 
        !          1961: Wed May 17 14:01:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1962: 
        !          1963:        * sdbout.c (sdbout_parms): Handle parm with no name.
        !          1964: 
        !          1965:        * loop.c (combine_movables): Test for overlap of zero-extend regs
        !          1966:        was screwed up.
        !          1967: 
        !          1968:        * c-typeck.c (c_sizeof{,_nowarn}): Convert from bytes to chars,
        !          1969:        since c defines sizeof (char) as 1.
        !          1970:        (pointer_int_sum, pointer_diff): Use c_sizeof{,_nowarn}. 
        !          1971: 
        !          1972: Tue May 16 16:27:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1973: 
        !          1974:        * reload1.c (choose_reload_targets): Don't reuse regs
        !          1975:        mentioned in reload_reg_rtx.
        !          1976: 
        !          1977:        * tm-tahoe.h, tahoe.md, out-tahoe.c, xm-tahoe.h: New files.
        !          1978: 
        !          1979: Mon May 15 16:25:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1980: 
        !          1981:        * fixincludes: Exit with explicit status 0 at end.
        !          1982:        cd to /usr/include before cd to subtree root in case of relative link.
        !          1983:        Create dir $LIB earlier.
        !          1984:        When checking for a link, treat .. like an absolute target.
        !          1985: 
        !          1986:        * symout.c (symout_block_symbols): Give every local decl a typespec.
        !          1987:        * cexp.y (parse_number):
        !          1988:        * flow.c (life_analysis, dump_flow_info):
        !          1989: 
        !          1990:        * loop.c (consec_sets_invariant_p): Logic error accepted consec sets
        !          1991:        of which only one was invariant.
        !          1992: 
        !          1993:        * expr.c (expand_expr): Use no subtargets inside loops.
        !          1994:        * stmt.c (inside_loop): New function.
        !          1995: 
        !          1996: Sun May 14 00:11:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          1997: 
        !          1998:        * tree.h: Declare long long types.
        !          1999: 
        !          2000:        * c-parse.y (combine_strings): Make string contents saveable.
        !          2001: 
        !          2002:        * tree.c (savealloc): New function.
        !          2003: 
        !          2004:        * m68k.md (movdi): % missing in fmove%.d.
        !          2005: 
        !          2006:        * c-parse.y (yylex): Detect overflow past 64-bits.
        !          2007:        Detect specially numbers not fitting in signed long long.
        !          2008: 
        !          2009: Sat May 13 13:16:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2010: 
        !          2011:        * reload1.c (alter_frame_pointer_addresses): Preserve volatility.
        !          2012: 
        !          2013:        * varasm.c (output_constructor): Die if BITS_PER_UNIT is too big
        !          2014:        for this function to work.
        !          2015: 
        !          2016:        * genpeep.c (match_rtx): For match_operator, match the operands, too.
        !          2017: 
        !          2018:        * varasm.c (output_constant): Use ASM_OUTPUT_DOUBLE_INT for DImode.
        !          2019: 
        !          2020:        * stor-layout.c (make_signed_type, make_unsigned_type):
        !          2021:        (fixup_unsigned_type): Use HOST_BITS_PER_INT.
        !          2022: 
        !          2023:        * stor-layout.c (layout_type): Use TFmode if appro.
        !          2024: 
        !          2025:        * optabs.c (emit_cmp_insn): Use mode sizes to check cmpstrqi, cmpstrhi.
        !          2026: 
        !          2027:        * c-typeck.c (get_floating_type): Compare MODE against modes of types.
        !          2028:        (signed_type, unsigned_type, signed_or_unsigned_type, type_for_size):
        !          2029:        Handle long long types.
        !          2030:        (digest_init): Don't assume width of `char' is BITS_PER_UNIT.
        !          2031: 
        !          2032:        * c-parse.y (yylex): For truncating chars, use width of `char' type.
        !          2033:        Allow `ll' in int constants and make long long.
        !          2034:        Also make long long if constant won't fit in an int.
        !          2035: 
        !          2036:        * c-decl.c (SHORT_TYPE_SIZE): Round up when dividing.
        !          2037: 
        !          2038: Fri May 12 22:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2039: 
        !          2040:        * real.h: Allow multiple inclusion.
        !          2041: 
        !          2042:        * tm-sun386i.h (DBX_REGISTER_NUMBER): Bizarre renumbering.
        !          2043: 
        !          2044: Thu May 11 00:36:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2045: 
        !          2046:        * fixincludes: Fix non-ansi declaration of sprintf in X11/Xmu.h
        !          2047: 
        !          2048:        * c-parse.y (stmt from expr): Do default conversion if useful
        !          2049:        for sake of ({...}).
        !          2050: 
        !          2051:        * sparc.md (andcc recognizer): Operand missing in subreg.
        !          2052: 
        !          2053: Wed May 10 17:20:38 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2054: 
        !          2055:        * rtl.c (read_name): Error if name is missing.
        !          2056:        (dump_and_abort): Don't print char args if -1.
        !          2057: 
        !          2058:        * i386.md (umulqihi3): Operand numbers were missing.
        !          2059: 
        !          2060:        * reload1.c (choose_reload_targets): Allow spill reg in find_equiv_reg
        !          2061:        if it's free and correct class. 
        !          2062: 
        !          2063:        * cse.c (canon_hash): Handle empty strings.
        !          2064: 
        !          2065:        * cccp.c (macroexpand): Newline newline treated like real white space
        !          2066:        when stringifying.
        !          2067: 
        !          2068:        * Rename *offsetable* to *offsettable*.
        !          2069: 
        !          2070: Tue May  9 22:54:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2071: 
        !          2072:        * c-decl.c (finish_type): Layout any variants of the type.
        !          2073: 
        !          2074: Tue May  9 12:30:28 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          2075: 
        !          2076:        * final.c (final_scan_insn, final): Added an argument to
        !          2077:        final_scan_insn to disallow peephole processing (to turn it off
        !          2078:        during delayed branch scheduling).
        !          2079: 
        !          2080:        * final.c (final_scan_insn): Made insn not matching any MD rtl a
        !          2081:        criteria for delayed branch case.  Moved delayed branch case to just
        !          2082:        before real insn recognition to reduce the number of insns on which
        !          2083:        recog_memoized is called.
        !          2084: 
        !          2085: Mon May  8 15:02:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2086: 
        !          2087:        * fixincludes (LIB): Allow overriding.
        !          2088: 
        !          2089:        * cccp.c: Don't search /usr/include/CC by default.
        !          2090: 
        !          2091: Mon May  8 13:09:21 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
        !          2092: 
        !          2093:        * print-tree.c (dump): Fixed typo; IDENTIFIER ==> IDENTIFIER_NODE.
        !          2094: 
        !          2095: Sun May  7 12:44:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2096: 
        !          2097:        * print-tree.c (dump): TYPE_NAME may be IDENTIFIER or TYPE_DECL.
        !          2098: 
        !          2099: Sat May  6 00:13:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2100: 
        !          2101:        * tree.def: Define EXACT_DIV_EXPR, for when remainder known as 0.
        !          2102:        * fold-const.c (combine, fold, div_and_round_double): Handle new code.
        !          2103:        * expr.c (expand_expr): Likewise.
        !          2104:        * c-typeck.c (pointer_diff): Use EXACT_DIV_EXPR.
        !          2105: 
        !          2106:        * integrate.c (expand_inline_function): Use size of passed type
        !          2107:        for allocating stack slot with that type.
        !          2108: 
        !          2109:        * c-parse.y (maybe_attribute, attribute*): New syntax for Apollos.
        !          2110:        These tokens currently not generated.
        !          2111: 
        !          2112: Fri May  5 18:43:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2113: 
        !          2114:        * toplev.c [USG]: Undefine FLOAT for sake of sys/param.h on hpux.
        !          2115: 
        !          2116:        * optabs.c (expand_binop): If backtracking, don't delete insns made
        !          2117:        for -fforce-mem.
        !          2118: 
        !          2119: Thu May  4 01:57:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2120: 
        !          2121:        * reload.c (find_reloads): Don't compare an earlyclobber operand
        !          2122:        with itself.
        !          2123: 
        !          2124:        * reload.c (immune_p): Constants and stack slots don't overlap.
        !          2125: 
        !          2126:        * Put no-ops in front of loops and labels,
        !          2127:        to prevent confusion in the debugger.
        !          2128:        * c-parse.y (loops and labels): Call emit_nop.
        !          2129:        * stmt.c (emit_nop): New function--sometimes emit a no-op.
        !          2130:        * *.md (nop): New insn.
        !          2131: 
        !          2132:        * expr.c (expand_call): Typo in arg to FIRST_PARM_CALLER_OFFSET.
        !          2133: 
        !          2134: Wed May  3 01:34:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2135: 
        !          2136:        * loop.c (scan_loop): Scanning around end of loop
        !          2137:        should not set maybe_never.
        !          2138: 
        !          2139:        * Rename SELECT_VARIABLE_SECTION to SELECT_SECTION.
        !          2140:        * varasm.c (get_or_assign_label): Use SELECT_SECTION if defined.
        !          2141:        * varasm.c: Use EXTRA_SECTION_FUNCTIONS if defined (new macro).
        !          2142: 
        !          2143:        * mips.md: Change %u to %u0 to avoid error check.
        !          2144: 
        !          2145:        * tm-mips.h (TARGET_VERSNUM): Inc. to 1 08.
        !          2146:        (TARGET_VERSION): Change strings.
        !          2147:        (AL_DEBUG): Don't define it.
        !          2148:        (HARD_REGNO_MODE_OK): Add some casts to int.
        !          2149:        (STACK_ARGS_ADJUST): Name was misspelled.
        !          2150:        (PRINT_OPERAND_ADDRESS): Just abort for MEM, POST_INC, etc.
        !          2151:        (EXTRA_SECTIONS, SELECT_VARIABLE_SECTION, SELECTORS_EXTRA_SECTIONS,
        !          2152:        SELECT_VARIABLE_CONST_SECTION): New macros.
        !          2153:        (ASM_FILE_END): Change function name.
        !          2154:        * out-mips.c (function_arg_advance): Delete debugging printfs.
        !          2155:        (function_inarg, function_arg): Likewise.
        !          2156:        (compare_collect, compare_restore): Add some.
        !          2157: 
        !          2158:        * reload1.c (reload): Fix handling of caller_save_needed.
        !          2159: 
        !          2160:        * stmt.c (expand_function_start): Clear caller_save_needed.
        !          2161: 
        !          2162:        * stmt.c (emit_case_nodes): Some compiler has trouble with calling
        !          2163:        a function pointer.
        !          2164:        * gnulib.c: likewise.
        !          2165: 
        !          2166: Tue May  2 15:32:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2167: 
        !          2168:        * loop.c (combine_movables): For zero extend,
        !          2169:        do each from-mode separately.
        !          2170: 
        !          2171: Mon May  1 00:18:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2172: 
        !          2173:        * tm-apollo68.h: New file.
        !          2174: 
        !          2175:        * c-parse.y (is_reserved_word, hash): Add keywords `__asm__', etc.
        !          2176:        * c-parse.gperf: Corresponding changes.
        !          2177: 
        !          2178:        * c-parse.y (check_newline): Set main_input_filename before
        !          2179:        considering optional arguments.
        !          2180: 
        !          2181:        * final.c (final_scan_function): Return next insn to process.
        !          2182:        Usually that's the following insn; occasionally, previous compare.
        !          2183: 
        !          2184:        * c-decl.c (DOUBLE_TYPE_SIZE): Wrong value.
        !          2185: 
        !          2186:        * reload.c (decompose): Failed to return value.
        !          2187: 
        !          2188:        * Support local specified-register variables.
        !          2189:        * varasm.c (decode_reg_name): New function, cvt asmspec to regnum.
        !          2190:        (make_decl_rtl): Call that.
        !          2191:        * toplev.c (rest_of_decl_compilation): Handle local specified-register
        !          2192:        declarations.
        !          2193: 
        !          2194:        * i386.md (tstqi, trunc*qi): Constrain to `q' regs.
        !          2195: 
        !          2196:        * loop.c (scan_loop, move_movables): ->global for zero-extend register
        !          2197:        now means register is used outside range from where it is set
        !          2198:        to the following label.  Non-global zero-extend regs
        !          2199:        may be entirely cleared.
        !          2200: 
        !          2201:        * loop.c (combine_movables): Loop that combines matching movables
        !          2202:        broken out from scan_loop.
        !          2203:        Now also combine non-global zero-extend registers with each other
        !          2204:        if their lifespans don't overlap.
        !          2205: 
        !          2206:        * c-typeck.c (build_unary_op, ADDR_EXPR of a COMPONENT_REF):
        !          2207:        Always convert to desired result type.
        !          2208: 
        !          2209: Sun Apr 30 12:58:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2210: 
        !          2211:        * c-decl.c (init_decl_processing): New macros parameterize int types.
        !          2212:        CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, LONG_TYPE_SIZE, LONG_LONG_TYPE_SIZE,
        !          2213:        FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE.
        !          2214: 
        !          2215:        * fixincludes: Use sed instead of ex.  No problem with split lines.
        !          2216: 
        !          2217:        * print-tree.c (dump): Print type's name, if any.
        !          2218: 
        !          2219:        * c-parse.y: Use __inline, not plain inline.
        !          2220: 
        !          2221:        * toplev.c: New option -fdelayed-branch.
        !          2222:        (compile_file): Open and close dbranch dump file.
        !          2223:        Collect and print dbranch time.
        !          2224:        (rest_of_compilation): Optionally do dbranch scheduling, 
        !          2225:        only if HAVE_DELAYED_BRANCH.
        !          2226:        (main): Handle -dd.
        !          2227: 
        !          2228:        * rtl.c (copy_rtx): Handle null pointers as code `e'.
        !          2229: 
        !          2230:        * final.c (dbr_sequence_length): New function.
        !          2231:        (final_scan_insn): Most of `final' broken out.
        !          2232:        Add support for SEQUENCE insns.
        !          2233:        last_ignored_compare and new_block now top-level static.
        !          2234: 
        !          2235:        * c-parse.y (MAX_WORD_LENGTH): Long enough for __volatile.
        !          2236: 
        !          2237: Sat Apr 29 13:03:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2238: 
        !          2239:        * c-parse.y (asm statements): Output line numbers.
        !          2240: 
        !          2241:        * loop.c (emit_iv_init_code, emit_iv_inc, eliminate_biv): Copy
        !          2242:        additive term rtx's to prevent sharing between insns.
        !          2243: 
        !          2244:        * c-parse.y (check_newline): Increment input_file_stack_tick.
        !          2245:        * toplev.c (report_error_function): Describe input stack only if
        !          2246:        changed.
        !          2247: 
        !          2248:        * c-decl.c (finish_struct): Reject zero width for named field.
        !          2249: 
        !          2250:        * tm-sun3.h (CC1_SPEC): Prevent error on `-sun3'.
        !          2251:        * tm-sparc.h (CC1_SPEC): Prevent error on `-sun4'.
        !          2252: 
        !          2253:        * Makefile (cleanconfig): cleanlinks renamed; also delete gnulib.
        !          2254:        (gnulib): Delete stamp-gnulib2 since gnulib2 should be redone after.
        !          2255: 
        !          2256: Fri Apr 28 00:38:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2257: 
        !          2258:        * config.gcc (genix): Correct xm file name.
        !          2259: 
        !          2260:        * tm-genix.h: Undefine ASM_SPEC inherited from tm-encore.h.
        !          2261: 
        !          2262:        * Makefile: Make float.h using hard-params.
        !          2263:        (clean): Delete float.h.
        !          2264: 
        !          2265:        * hard-params.c: New program.
        !          2266: 
        !          2267:        * varasm.c (assemble_variable): Use SELECT_VARIABLE_SECTION if defined.
        !          2268:        (in_section): Use EXTRA_SECTIONS if defined.
        !          2269: 
        !          2270:        * toplev.c (compile_file): Call ASM_FILE_END if defined.
        !          2271: 
        !          2272:        * gcc.c (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): Let config override.
        !          2273: 
        !          2274:        * loop.c (emit_iv_init_code): Force A to a reg if it isn't.
        !          2275: 
        !          2276: Thu Apr 27 12:51:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
        !          2277: 
        !          2278:        * tm-mips.h (ASM_START_FILES): Don't call print_options.
        !          2279:        Don't call the funny abort-functions.
        !          2280:        * out-mips.c: Delete funny debugging functions and aborts.
        !          2281:        (print_options): #if 0.
        !          2282:        (compare_restore): Test for COMPARE, not MINUS.
        !          2283:        (mips_section_get, mips_output_external, mips_asm_final): New fns.
        !          2284: 
        !          2285:        * input.h: New file with *input_filename, lineno and input_file_stack.
        !          2286:        Included in toplev.c and c-parse.y.
        !          2287:        * c-decl.c (finish_function): LINENO is now arg.
        !          2288:        * c-parse.y: Calls changed.
        !          2289: 
        !          2290:        * c-parse.y (check_newline): Handle `1' or `2' from cpp
        !          2291:        by pushing or popping input_file_stack.
        !          2292:        * toplev.c (compile_file): Push main input file on input_file_stack.
        !          2293:        (report_error_function): If in include file, print the chain
        !          2294:        of include-locations.
        !          2295: 
        !          2296:        * cccp.c (output_line_command): New arg says whether entering or
        !          2297:        leaving a file.  Output `1' or `2' on #-line if so.  Callers changed.
        !          2298: 
        !          2299:        * gnulib2.c: Little-endian fixes from [email protected].
        !          2300: 
        !          2301:        * fixincludes: Wrong quoting in `echo' command.
        !          2302: 
        !          2303:        * tm-mips.h (REG_P): Duplicate defn deleted.
        !          2304:        (PRINT_OPERAND): `\' was missing.
        !          2305: 
1.1.1.15  root     2306: Wed Apr 26 02:44:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2307: 
1.1.1.16! root     2308:        * cccp.c (handle_directive): Preprocess even #pragma, but copy 
        !          2309:        to output file afterward.
        !          2310:        (do_pragma): Use standard calling convention.
        !          2311:        (install_builtins, special_symbol): Define __INCLUDE_LEVEL__.
        !          2312: 
        !          2313:        * cccp.c (do_include): Don't forget to close file.
        !          2314: 
        !          2315:        * final.c (output_asm_insn): Use PRINT_OPERAND_PUNCT_VALID_P
        !          2316:        to validate punctuation after percent.
        !          2317:        * tm-m68k.h, tm-alliant.h, tm-ns32k.h, tm-vax.h, tm-i386.h:
        !          2318:        Define PRINT_OPERAND_PUNCT_VALID_P.
        !          2319: 
1.1.1.15  root     2320:        * Version 1.35 released.
                   2321: 
                   2322:        * c-decl.c (grokdeclarator): Use INT_CST_LT only on int constants.
                   2323: 
                   2324: Tue Apr 25 15:47:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2325: 
                   2326:        * reload.c (find_reloads_address_1): Always return a value.
                   2327: 
                   2328:        * flow.c (mark_set_1): Look inside zero_extract, sign_extract.
                   2329: 
                   2330:        * expr.c (emit_library_call) [STACK_ARGS_ADJUST]:
                   2331:        Fix typo for `struct args_size'.
                   2332: 
                   2333: Mon Apr 24 00:12:18 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2334: 
                   2335:        * flow.c (mark_set_1): Look inside strict_low_part.
                   2336: 
                   2337:        * c-typeck.c (decl_constant_value): Don't use var's init if volatile.
                   2338: 
                   2339:        * print-tree.c (dump): Don't call walk on rtx's.
                   2340: 
                   2341:        * integrate.c (expand_inline_function): Convert expanded arg from
                   2342:        passed mode to nominal mode.
                   2343: 
                   2344: Sun Apr 23 13:14:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2345: 
                   2346:        * fixincludes: fix _IO macros if split across two lines.
                   2347:        Fix typo: EOF was indented.
                   2348: 
                   2349:        * gnulib2.c: New file with DImode library routines.
                   2350:        * Makefile (gnulib2): Put them into gnulib.
                   2351:        Must be explicitly requested.
                   2352: 
                   2353: Fri Apr 21 13:45:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2354: 
                   2355:        * cccp.c (main): Don't turn on trigraphs for -Wtrigraphs or -Wall;
                   2356:        use -trigraphs for that.
                   2357: 
                   2358:        * cccp.c (main): Use -trigraphs to enable trigraphs.
                   2359:        * gcc.c: Pass -trigraphs to cpp; don't pass -T.
                   2360: 
                   2361:        * Makefile: Variable srcdir relates location of sources
                   2362:        to current directory.  Default is `.'.
                   2363: 
                   2364:        * integrate.c (expand_inline_function): When copying expanded arg,
                   2365:        use mode it's passed in, not arg's nominal mode.
                   2366: 
                   2367:        * dbxout.c (dbxout_block): Print generated name with assemble_name.
                   2368: 
                   2369: Thu Apr 20 12:36:09 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2370: 
                   2371:        * stdarg.h: check __sparc__ instead of sparc.
                   2372: 
                   2373: Tue Apr 18 18:58:03 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2374: 
                   2375:        * tm-next.h (STARTFILE_SPEC): Define it.
                   2376: 
                   2377: Mon Apr 17 19:56:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2378: 
                   2379:        * dbxout.c (dbxout_block): Use ASM_GENERATE_INTERNAL_LABEL to format
                   2380:        the labels LBB... and LBE...
                   2381: 
                   2382: Sun Apr 16 23:57:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2383: 
                   2384:        * mips.md: Change MINUS to COMPARE where appropriate.
                   2385: 
                   2386: Sat Apr 15 16:11:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2387: 
                   2388:        * c-decl.c (finish_struct, redeclaration_error_message):
                   2389:        Rename variables named OLD and NEW.
                   2390: 
                   2391:        * sparc.md (cse'd mult pattern): Handle memory operands.
                   2392:        Optimize small integer operands.
                   2393: 
                   2394:        * stmt.c (expand_decl): On sparc, ensure dynamic arrays of doubles
                   2395:        are properly aligned, despite unaligned STACK_POINTER_OFFSET.
                   2396: 
                   2397: Fri Apr 14 10:59:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2398: 
                   2399:        * expr.c (expand_call): Bugs treating struct value address as param:
                   2400:        do so only if it's supposed to be pushed;
                   2401:        decode value of FUNCTION_ARG properly.
                   2402: 
                   2403:        * tm-altos3068.h (CPP_SPEC): Some braces were dropped.
                   2404: 
                   2405:        * gcc.c (pexecute): Print message when exec fails.
                   2406:        (perror_exec): New fn.
                   2407:        (perror_with_name,pfatal_with_name): Change message syntax.
                   2408: 
                   2409:        * tm-hp9k320.h (ASM_IDENTIFY_GCC): Define as no-op.
                   2410: 
                   2411: Wed Apr 12 00:20:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2412: 
                   2413:        * cse.c (cse_insn): Can record constant value being stored in
                   2414:        a bit field, if we can tell that truncation won't change it.
                   2415: 
                   2416:        * m68k.md (bfset, bfclr, bfchg insns): Do CC_STATUS_INIT
                   2417:        since the cc's are set from the old contents.
                   2418: 
                   2419:        * gcc.c (compilers): Running `as', put -o option before input file.
                   2420: 
                   2421:        * gcc.c: Delete output file only if that file's compilation fails.
                   2422:        * gcc.c (record_temp_file): Changed args: always_delete, fail_delete.
                   2423:        (store_arg): Likewise.  Callers changed.
                   2424:        (clear_failure_queue): Called after each compilation.
                   2425: 
                   2426: Tue Apr 11 01:18:53 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2427: 
                   2428:        * combine.c (subst): (SET (ZERO_EXTRACT) (OR (ZERO_EXTRACT) const))
                   2429:        optimization was sometimes invalid.
                   2430: 
                   2431:        * tm-m68k.h (NOTICE_UPDATE_CC): A doubleword move that requires 2 insns
                   2432:        does not set the cc's usefully.
                   2433: 
                   2434:        * Makefile (cleanlinks): Just do `clean', not `realclean'.
                   2435:        (realclean): Delete config links also.
                   2436: 
                   2437:        * expr.c (expand_call): Handle case where return value is in memory
                   2438:        but TARGET is a register.
                   2439: 
                   2440:        * c-typeck.c (build_binary_op_nodefault): New arg ERROR_CODE
                   2441:        is passed to binary_op_error instead of CODE.
                   2442:        All callers changed.
                   2443:        (binary_op_error): CODE = NOP_EXPR is new special case.
                   2444:        (truthvalue_conversion): Call build_binary_op_nodefault directly
                   2445:        and specify NOP_EXPR for the error code.
                   2446: 
                   2447:        * c-decl.c (xref_tag): If pedantic, warn on fwd ref to enum.
                   2448: 
                   2449: Mon Apr 10 19:44:48 1989  Chris Smith  (csmith at mozart)
                   2450: 
                   2451:        * tm-convex.h (PCC_BITFIELD_TYPE_MATTERS): It doesn't,
                   2452:        but set it anyway.  It makes for better code on this
                   2453:        word machine.
                   2454: 
                   2455:        * convex.md (one_compl*): add not:QI and not:HI, which
                   2456:        do get used after all.
                   2457: 
                   2458:        * tm-convex.h (A_REG_P, S_REG_P): define new macros
                   2459:        convex.md: use them
                   2460: 
                   2461:        * convex.md (addsi3): tidy up constraints.
                   2462: 
                   2463:        * tm-convex.h (REG_OK_FOR_INDEX_P): stack pointer is not ok.
                   2464: 
                   2465:        * convex.md: add a pattern to push REG+CONST so we can
                   2466:        prefer an A reg.
                   2467: 
                   2468:        * tm-convex.h (tstqi): should sign extend, not zero extend.
                   2469: 
                   2470:        * expr.c (convert_move): Extending narrow to DI via SI,
                   2471:        operand of extendsidi2 was wrong.
                   2472: 
                   2473:        * emit-rtl.c (gen_lowpart): Handle CONST_DOUBLE.
                   2474: 
                   2475: Mon Apr 10 05:19:39 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2476: 
                   2477:        * recog.c (nonmemory_operand): Test constant operands
                   2478:        as general_operand does.
                   2479: 
                   2480:        * tm-m68k.h (PRINT_OPERAND): Limit effect of code `d'
                   2481:        to constant addresses.
                   2482: 
                   2483:        * loop.c (can_eliminate_biv_p, eliminate_biv): Don't rely on givs with
                   2484:        nonconstant coefficients, since the coeffs could be zero.
                   2485: 
                   2486:        * loop.c (can_eliminate_biv_p): Check each giv for ! ignore
                   2487:        before assuming it can be used.
                   2488:        (check_eliminate_biv): New fn, a piece of strength_reduce broken out.
                   2489: 
                   2490:        * cccp.c (error_from_errno): New fn, like error and perror_with_name.
                   2491:        (do_include): Call that if open fails.
                   2492:        (finclude): Print I/O error msg before closing desc.
                   2493: 
                   2494:        * c-decl.c (shadow_tag): If more than one tag or structure,
                   2495:        or anything other than a tag, warning.
                   2496: 
                   2497:        * c-parse.y (components): Just warn if memb decl has no member,
                   2498:        and only if pedantic.
                   2499: 
                   2500:        * loop.c (strength_reduce): Print uids, not luids, for dump.
                   2501:        (record_giv): giv_count field counts only DEST_REG givs.
                   2502:        (check_dbra_loop): src_two_before_end was set wrong.
                   2503: 
                   2504:        * loop.c (record_giv): New arg LOOP_END; all callers changed.
                   2505:        Don't mark giv replaceable if used past LOOP_END.
                   2506:        (find_mem_givs): New arg LOOP_END; all callers changed.
                   2507: 
                   2508:        * out-i386.c (FP_CALL): Make this a `return' stmt.
                   2509: 
                   2510: Fri Apr  7 11:56:58 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2511: 
                   2512:        * expr.c (expand_expr, case ..._DECL): Preserve mode thru
                   2513:        calling change_address.
                   2514: 
                   2515:        * expr.c (emit_library_call): Typo: ARGNUM => COUNT.
                   2516: 
                   2517:        * expr.c (preexpand_calls, expand_call): Take note of RETURN_IN_MEMORY.
                   2518:        * stmt.c (assign_parms): Likewise.
                   2519:        * integrate.c (function_cannot_inline_p): Likewise.
                   2520: 
                   2521:        * STACK_ARGS_ADJUST: Arg is now a `struct arg_data' and it should
                   2522:        be updated in place.
                   2523:        * tm-mips.h: Define it.
                   2524:        * expr.c (expand_call): Adapt to this.  Assume padding comes after args
                   2525:        so turn off the feature of changing the args' offsets.
                   2526:        (emit_library_call): Adapt to this.
                   2527: 
                   2528:        * tm-mips.h (PRINT_OPERAND): Use CONST_DOUBLE_{LOW,HIGH}.
                   2529:        Truncate SFmode constants to single precision.
                   2530: 
                   2531:        * c-typeck.c (mark_addressable): Fix test for local vs global reg var.
                   2532: 
                   2533:        * config.gcc: Change `:-' to `-' in var refs.
                   2534:        Shell on convex doesn't handle `:-'.
                   2535: 
                   2536: Thu Apr  6 00:09:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2537: 
                   2538:        * integrate.c (expand_inline_function): Compare actual's mode
                   2539:        against formal's DECL_ARG_TYPE's mode, not TREE_TYPE's mode.
                   2540: 
                   2541:        * c-decl.c (implicitly_declare): Make the decl permanent if
                   2542:        in global binding level.  (Can happen for certain invalid input.)
                   2543: 
                   2544:        * c-typeck.c (build_modify_expr): Block path that made a MODIFY_EXPR
                   2545:        containing an ERROR_MARK.
                   2546: 
                   2547:        * config/tm.h: New file.
                   2548: 
                   2549:        * loop.c (only_reg_use_p): Fix bugs in recursion, add some fast
                   2550:        special cases.  Comment on return value was backwards.
                   2551:        (strength_reduce): Negate the value of only_reg_use_p.
                   2552: 
                   2553:        * genoutput.c (output_prologue): Output `#include hard-reg-set.h'.
                   2554:        * Makefile: insn-output.o depends on that.
                   2555: 
                   2556:        * toplev.c (main): Typo recognizing -Wswitch.
                   2557: 
                   2558:        * config.gcc (mips): New alternative.
                   2559:        * tm-mips.h, out-mips.c, mips.md, va-mips.h: New files.
                   2560:        * varargs.h: Include va-mips.h if on mips.
                   2561: 
                   2562: Wed Apr  5 16:58:04 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2563: 
                   2564:        * c-decl.c (duplicate_decls): Rename OLD, NEW to OLDDECL, NEWDECL.
                   2565: 
                   2566:        * stmt.c (expand_function_start): Ref subr instead of
                   2567:        current_function_decl; should make no difference.
                   2568: 
                   2569:        * stmt.c (assign_parms): Do extra padding for some parms,
                   2570:        controlled by MAX_PARM_BOUNDARY.
                   2571:        * expr.c (expand_call): Same thing for caller side.
                   2572:        Note this is implemented only for machines that lack push insns.
                   2573:        Also, in both cases, it doesn't handle variable-size args.
                   2574: 
                   2575: Tue Apr  4 12:22:06 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2576: 
                   2577:        * gcc.c (find_file): Try STANDARD_EXEC_PREFIX for startfiles too.
                   2578: 
                   2579:        * varasm.c (make_decl_rtl): Delete never-executed clause.
                   2580: 
                   2581:        * spur.md (movqi, loadhi, extend*, zero_extendhisi):
                   2582:        Make subregs with C code, not RTL patterns, so we can
                   2583:        avoid generating subreg of subreg.
                   2584: 
                   2585:        * optabs.c (emit_cmp_insn): Not all clauses always succeed,
                   2586:        so stop using `else' structure.
                   2587: 
                   2588:        * stmt.c (expand_return): Avoid moving void to void, in cleanups case.
                   2589: 
                   2590: Mon Apr  3 18:04:33 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2591: 
                   2592:        * m68k.md (cmphi): Don't allow a-reg vs a-reg, since that sign-extends.
                   2593:        If there is one a-reg, make sure it is not last.
                   2594: 
                   2595: Sun Apr  2 13:02:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2596: 
                   2597:        * stor-layout.c (agg_mode): Use highest mode that has desired size.
                   2598:        Allow all integer modes, but reject sizes > MAX_FIXED_MODE_SIZE.
                   2599:        (That defaults to the size of DImode.)
                   2600: 
                   2601:        * machmode.def: Add PSI, PDI and XF, CXF modes.
                   2602: 
                   2603: Sat Apr  1 00:50:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2604: 
                   2605:        * ns32k.md (ashd, lshd): Delete patterns that logand the count with 31.
                   2606:        The shift count is not truncated on this machine.
                   2607: 
                   2608:        * combine.c (subst): Simplify nested or's, nested xor's.
                   2609:        (try_distrib): XOR doesn't distribute through anything.
                   2610: 
                   2611:        * rtl.c (rtx_equal_p): Don't die on null pointers.
                   2612: 
                   2613:        * loop.c (eliminate_biv): Use COMPARE, not MINUS, in generated compare.
                   2614: 
                   2615:        * loop.c (invariant_p): Mem refs in constant pool are invariant.
                   2616: 
                   2617:        * c-decl.c (redeclaration_error_message): If -traditional, allow
                   2618:        redeclarations of typedef provided they agree.
                   2619: 
                   2620:        * c-decl.c (start_decl): Do expand_decl on the decl that pushdecl
                   2621:        returns.  If there was a prev. decl with a different type,
                   2622:        we have changed its type and cleared its old rtl, so it need new rtl.
                   2623: 
                   2624: Sat Apr  1 00:50:11 1989  Matthew Self  (rms at sugar-bombs.ai.mit.edu)
                   2625: 
                   2626:        * expr.c (convert_move): Modified to use mode classes
                   2627:        instead of refering to specific machine modes.
                   2628: 
                   2629:        * expr.c (do_jump): Converted to use CONST0_RTX macro.
                   2630:        do_jmp no longer refers to any machine modes directly except
                   2631:        for VOIDmode!
                   2632: 
                   2633:        * expr.c (compare, compare1): Modified to use CONST0_RTX
                   2634:        macro.  No longer refers to any machine modes directly
                   2635:        except VOIDmode and BLKmode!
                   2636: 
                   2637:        * machmode.def: Documented assumptions made about the order
                   2638:        of machine modes during mode widening.
                   2639: 
                   2640:        * optabs.c (expand_binop, expand_twoval_binop, expand_unop,
                   2641:        emit_cmp_insn): Added mode widening which is independent of
                   2642:        specific machine modes.  It assumes that we may widen to any
                   2643:        higher numbered mode of the same mode class.
                   2644:          NOTE: the checks for VOIDmode ops which were present in
                   2645:        QI and HI to SI widening are now present in all widening.
                   2646:        I assume this is correct.  Also, widening is now possible
                   2647:        from QI to HI.  This may or may not be a good thing....
                   2648: 
                   2649:        * rtl.h (CONST0_RTX): Added definition of new macro
                   2650:        CONST0_RTX (mode).
                   2651: 
                   2652:        * rtl.h (GET_NOTE_INSN_NAME, GET_REG_NOTE_NAME): New macros.
                   2653:        * rtl.c (note_insn_name, reg_note_name): New tables.
                   2654:        * rtl.def (NOTE): Change last field from `i' to `n'.
                   2655:        * rtl.c (print_rtx): Print mode of INSN_LIST or EXPR_LIST as reg-note.
                   2656:        Print operand code `n' as name of kind of note.
                   2657:        (read_rtx): treat `n' like `i'.
                   2658: 
                   2659:        * loop.c (struct induction): Add `mode' field.
                   2660:        (strength_reduce, record_giv): Set the `mode' field in V.
                   2661:        (can_eliminate_biv_p, eliminate_biv): Use that field.
                   2662: 
                   2663:        * loop.c (struct iv_class): `init_insn' records what inits the biv.
                   2664:        Replaces `init_val_set' flag.
                   2665:        (strength_reduce): Update and test `init_insn' instead.
                   2666:        Use of a biv between its init and the start of the loop
                   2667:        does not preclude its elimination from the loop.
                   2668:        Setting a giv is ok for eliminating a biv, even if giv is "ignore",
                   2669:        since that just means giv will be combined with another.
                   2670:        Handle some DEST_ADDR givs for that purpose.
                   2671:        Test for giv-setting before check can_eliminate_biv_p.
                   2672:        New error check for replaceable giv whose value needed after loop.
                   2673:        (only_reg_use_p): New fn.
                   2674: 
                   2675:        * expr.c (expand_expr): PLUS, MINUS with EXPAND_SUM:
                   2676:        Associate even harder.
                   2677: 
                   2678:        * loop.c (strength_reduce): Treat all constant biv init vals like ints.
                   2679: 
                   2680:        * loop.c (strength_reduce): Clear all_reduced when v->ignore is set;
                   2681:        the code to check this later didn't always do the job.
                   2682: 
                   2683:        * loop.c (verify_loop): Set loop_continue.
                   2684:        (scan_loop): mention its value.
                   2685:        * rtl.h: Define NOTE_INSN_LOOP_CONT.
                   2686:        * stmt.c (expand_loop_continue_here): Output one.
                   2687: 
                   2688: Fri Mar 31 10:08:29 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2689: 
                   2690:        * c-typeck.c (pointer_int_sum, pointer_diff): Treat const void * like
                   2691:        void *.
                   2692: 
                   2693:        * rtl.c (rtx_addr_varies_p): Don't die on null exp.
                   2694:        * cse.c (refers_to_mem_p, refers_to_p): Likewise.
                   2695: 
                   2696:        * gcc.c (validate_switches, validate_all_switches): New fns.
                   2697:        Mark a switch as valid if any compiler spec or the linker spec
                   2698:        matches it, even for languages not being used.
                   2699: 
                   2700: Thu Mar 30 00:22:14 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2701: 
                   2702:        * loop.c (loop_optimize, move_movables): when moving a `clr' insn used
                   2703:        in zero-extension, sometimes change it to an `and' so that the
                   2704:        significant low bits are not clobbered.
                   2705: 
                   2706:        * cccp.c: Implement __BASE_FILE__ and #once.
                   2707:        (savestring): New fn.
                   2708:        (struct file_name_list): new name for struct directory_stack.
                   2709:        (enum node_type): Add T_ONCE, T_BASE_FILE.
                   2710:        (directive_table): Add #pragma once.
                   2711:        (initialize_builtins): Add __BASE_FILE__.
                   2712:        (special_symbol): Handle __BASE_FILE__, together with __FILE__.
                   2713:        (do_include): Ignore the file if it's on the #pragma once list.
                   2714:        (do_once): New fn; add current file to #pragma once list.
                   2715: 
                   2716:        * cccp.c (do_include): Don't add non-ex files to list of deps.
                   2717: 
                   2718:        * config.gcc: Use {...:-...}, not {...=...}.
                   2719: 
                   2720:        * c-parse.y: Add precedence for IF/ELSE, and for parens;
                   2721:        avoids some conflicts.
                   2722: 
                   2723:        * tm-newsgas.h: Include tm-news.h and define USE_GAS.
                   2724: 
                   2725:        * tm-news.h: New name for tm-news800.h.
                   2726:        If not USE_GAS, define SONY_ASM.
                   2727:        Don't define USE_GAS by default.
                   2728:        (CPP_PREDEFINES): Various alternatives depending on processor type.
                   2729:        (ASM_FORMAT_PRIVATE_NAME): Override this.
                   2730:        (ASM_IDENTIFY_GCC): Override; output nothing.
                   2731:        (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Round fsize up to % 4.
                   2732:        Max for halfword link insn is 32k, not 64k.
                   2733:        (FUNCTION_EPILOGUE): Don't output move.l if no regs to restore.
                   2734:        (PRINT_OPERAND_ADDRESS): Change handling of tableref pc-rel addresses.
                   2735:        * m68k.md (movhi): Add SONY_ASM conditional.
                   2736: 
                   2737:        * cse.c (cse_insn): If replacing a dest address, preserve MEM_IN_STRUCT
                   2738: 
                   2739:        * gcc.c (error, fatal): alternate varargs defns if HAVE_VPRINTF.
                   2740: 
                   2741: Wed Mar 29 09:54:13 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2742: 
                   2743:        * gcc.c (process_command): Check WORD_SWITCH_TAKES_ARG, so that
                   2744:        -Tdata can be handled right.
                   2745: 
                   2746:        * stmt.c (check_for_full_enumeration_handling): new fn, for warn_switch
                   2747:        (expand_end_case): Call it, if orig index was enum.
                   2748:        * toplev.c (main): Handle -Wswitch.
                   2749:        * c-parse.y (SWITCH stmt): Pass orig switch expr to expand_end_case.
                   2750: 
                   2751:        * tm-*.h, out-*.c: Uniformly use reg_names, not reg_name, and don't
                   2752:        define any duplicates.
                   2753:        * final.c: Delete reg_name.
                   2754: 
                   2755:        * c-parse.y (is_reserved_word): Add keywords __asm and __inline;
                   2756:        also __const and __volatile.
                   2757:        (yylex): Keywords that start with `__' are recognized regardless of
                   2758:        -traditional or -ansi.
                   2759: 
                   2760:        * c-parse.y (check_newline): Always recognize #ident.
                   2761:        Macro IDENT_DIRECTIVE is no more.
                   2762:        If ASM_OUTPUT_IDENT is undefined, don't output anything for #ident.
                   2763:        * tm-3b1.h: Don't define IDENT_DIRECTIVE or ASM_OUTPUT_IDENT.
                   2764:        * tm-encore.h, tm-i386gas.h, tm-i368v.h, tm-sun386i.h, tm-vaxv.h:
                   2765:        Don't define IDENT_DIRECTIVE; define ASM_OUTPUT_IDENT to output in
                   2766:        default way.
                   2767: 
                   2768:        * expr.h (RETURN_IN_MEMORY): New macro, default defn here.
                   2769:        * expr.c (expand_call): Use it to control where to return value.
                   2770:        * stmt.c (expand_function_start): Likewise.
                   2771: 
                   2772:        * out-sparc.c (find_addr_reg): Abort if none found.
                   2773:        Eliminate confusion; do only one change between tests for PLUSness.
                   2774:        (output_move_double): Arg to find_addr_reg is address, not mem ref.
                   2775:        * out-m68k.c, out-spur.c, out-i386.c, out-alliant.c: Likewise.
                   2776: 
                   2777:        * jump.c (find_cross_jump): Don't let either E1 or E2 be included
                   2778:        in the range of matching insns preceding the other (E2 or E1).
                   2779: 
                   2780:        * c-parse.y (check_newline): No error for `#pragma\n'.
                   2781: 
                   2782:        * Makefile (gcc.o): Control STANDARD_STARTFILE_PREFIX here.
                   2783: 
                   2784:        * stmt.c (walk_fixup_memory_subreg): handle null.
                   2785: 
                   2786:        * tm-sparc.h (FUNCTION_BLOCK_PROFILER): Change LPBnn to LPYnn,
                   2787:        to avoid conflict with final.c.
                   2788: 
                   2789: Tue Mar 28 15:23:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   2790: 
                   2791:        * cccp.c (do_include): If fail, print system error message.
                   2792:        (perror_with_name): Use more standard error format.  Inc. `errors'.
                   2793: 
                   2794:        * dbxout.c (dbxout_function): Output any temporary types
                   2795:        that were made by dbxout itself.
                   2796: 
                   2797:        * stmt.c: always use an epilogue if pcc-struct-return.
                   2798:        (expand_function_start): Compute return_label after testing that.
                   2799:        (expand_function_end): Output a return insn after pcc-struct-return
                   2800:        processing, if there is a return insn.
                   2801:        (expand_null_return): Don't output a return insn, in that case.
                   2802:        Simplify the conditions--depends entirely on HAVE_return.
                   2803: 
                   2804:        * tm-m68k.h (FUNCTION_BLOCK_PROFILER): Use jsr, not call.
                   2805: 
                   2806:        * reload.c (find_reloads): Certain mem addresses will be offsetable
                   2807:        after reloading; in particular, those where reg_equiv_address applies.
                   2808: 
                   2809:        * loop.c (check_dbra_loop): Change MINUS to COMPARE.
                   2810: 
                   2811:        * c-typeck.c (convert_for_assignment): Return THE standard error_mark.
                   2812: 
                   2813: Thu Mar 23 09:39:02 1989  Richard M. Stallman  (rms at watson)
                   2814: 
                   2815:        * c-parse.y (components): Error if empty.
                   2816: 
                   2817:        * dbxout.c (dbxout_symbol): Output const variables as N_STSYM.
                   2818: 
                   2819:        * varasm.c (force_const_mem): Use ASM_OUTPUT_DOUBLE_INT if defnd.
                   2820: 
                   2821:        * c-decl.c (grokdeclarator): Warn about `long long long'.
                   2822: 
                   2823:        * reload1.c (reload): When changing REG to MEM, clear REG_USERVAR_P.
                   2824:        * final.c (alter_subreg): Preserve volatile bit of MEM.
                   2825: 
                   2826:        * m68k.md (cmpsi, cmphi): Permit cmpm.
                   2827: 
                   2828:        * gcc.c (find_file): Use standard_startfile_prefix_2.
                   2829:        Now search /usr/local/lib/, /lib/ and /usr/lib/.
                   2830: 
                   2831:        * tm-m68k.h (PRINT_OPERAND): Support code `d'.
                   2832:        * m68k.md (cmpsi, cmphi, cmpqi): Use it for all mem addresses.
                   2833: 
                   2834:        * final.c (output_asm_insn): Don't allow %LETTER without an
                   2835:        operand number.
                   2836:        * tm-m68k.h, m68k.md, tm-hp9k320.h, tm-news*.h: Use %@ instead of %s.
                   2837:        * tm-alliant.h, alliant.md: Likewise.
                   2838:        * i386.md, out-i386.h: Put `0' after each %L, %W, %B, %S, %Q, %R.
                   2839: 
                   2840:        * stmt.c (expand_end_stmt_expr): Pop pending stack args.
                   2841: 
                   2842:        * varasm.c (assemble_variable): For 0-size common variable,
                   2843:        allocate at least 1 byte.
                   2844: 
                   2845:        * tm-encore.h (ASM_OUTPUT_DOUBLE, PRINT_OPERAND): Use 0f, not 0l,
                   2846:        for doubles.
                   2847: 
                   2848: Mon Mar 13 10:24:56 1989  Richard M. Stallman  (rms at ccvi)
                   2849: 
                   2850:        * out-i386.h (function_prologue, function_epilogue):
                   2851:        Use call_used_regs, not a copy, so -f options work.
                   2852:        Save regs in the opposite order.
                   2853:        Save regs even starting from 0 if they happen to be call-saved.
                   2854: 
                   2855:        * Bug fixes from Rob McMahon.
                   2856: 
                   2857:        * loop.c (strength_reduce): When inserting insn to set
                   2858:        nonreplaceable giv, put it after all the consecutive insns
                   2859:        that compute it.
                   2860: 
                   2861:        * reload.c (find_reloads): When forcing const to mem,
                   2862:        use the insn's operand mode, not the const's mode.
                   2863: 
                   2864:        * reload1.c (choose_reload_targets): Use wider of inmode and outmode
                   2865:        when determining have_groups.
                   2866: 
                   2867:        * reload1.c (choose_reload_targets): typo checked wrong insn with
                   2868:        constraint_accepts_reg_p.
                   2869: 
                   2870:        * reload1.c (choose_reload_targets): Enable #if-0'd code for
                   2871:        forgetting old reloads in case of output reload from a non-spill-reg.
                   2872: 
                   2873: Sun Mar 12 00:04:49 1989  Richard M. Stallman  (rms at ccvi)
                   2874: 
                   2875:        * c-parse.y (yyerror): Add forward-decl here.
                   2876:        * c-tree.h: Delete decl here.
                   2877: 
                   2878:        * New macro USE_C_ALLOCA.
                   2879:        * cse.c (cse_main): Do alloca (0) to clear out C alloca.
                   2880:        * flow.c (life_analysis):
                   2881:        * local-alloc.c (local_alloc):
                   2882:        * reload1.c (reload_as_needed): likewise.
                   2883: 
                   2884:        * loop.c (emit_iv_init_code, eliminate_biv):
                   2885:        Always put constant in a PLUS last.
                   2886: 
                   2887:        * gcc.c (make_switch): Unused function deleted.
                   2888: 
                   2889:        *gcc.c (switches): Each switch has a `used' field.
                   2890:        (process_command): Init it to 0 when making `switches'.
                   2891:        (do_spec_1, handle_braces, give_switch): Set to 1 when switch is used.
                   2892:        (main): If it remains 0 at the end, print error message.
                   2893: 
                   2894:        * expr.c (convert_move, convert_to_mode): Don't truncate a MEM in
                   2895:        place if it is volatile.
                   2896: 
                   2897:        * loop.c (strength_reduce): When reducing a giv, if the biv is
                   2898:        incremented between the giv's creation and its use, increment
                   2899:        the reduced giv var *after* its use.
                   2900: 
                   2901:        * c-decl.c (duplicate_decls): Warn about proto vs nonproto
                   2902:        only if no other errors apply.
                   2903: 
                   2904:        * jump.c (invert_exp): Don't crash if arg is null.
                   2905: 
                   2906:        * alliant.md (float*i*f2): Don't allow immediate ops.
                   2907:        (sne): Fix typo, fsne => fsneq.
                   2908: 
                   2909:        * expr.c (store_one_arg, expand_call): When size doesn't matter,
                   2910:        pass const0_rtx, not (rtx) 0.
                   2911: 
                   2912:        * expr.c (do_jump): Args to invert_exp were missing.
                   2913: 
                   2914:        * gcc.c (store_arg): Now 2 separate args for delete-on-success
                   2915:        and delete-on-failure.  All calls changed.
                   2916:        (do_spec_1): DELETE_THIS_FILE is meaningful for output files.
                   2917: 
                   2918:        * config/xm-alliant.h (LINK_SPEC): Pass -X to linker.
                   2919: 
                   2920: Sat Mar 11 10:30:41 1989  Richard M. Stallman  (rms at ccvi)
                   2921: 
                   2922:        * tm-*.h, xm-*.h, *.md: Moved to subdir `config'.
                   2923:        * output-*.c: Moved to `config/out-*.c'.
                   2924:        * Makefile (.c.o): Define rule to use -Iconfig when compiling.
                   2925:        (various): Delete the commands from some compilation rules.
                   2926:        Put -Iconfig in other compilation commands.
                   2927:        Also some reordering of variable defs and comments for cleanliness.
                   2928:        (realclean): Change a shell comment to a Make comment.
                   2929: 
                   2930:        * fold-const.c (fold): Simplify and extend TRUTH_... operators
                   2931:        knowing that args must be ints and values will be 0 or 1.
                   2932: 
                   2933:        * gcc.hlp: New file (for VMS).
                   2934: 
                   2935:        * reload1.c (reload): Don't let two 2-groups overlap.
                   2936: 
                   2937:        * reload.c (push_reloads): When a plain reg matches a reload
                   2938:        for an increment, don't change the reload_in to a plain reg.
                   2939:        Leave the increment there.
                   2940: 
                   2941:        * integrate.c (expand_inline_function): Don't try to inline
                   2942:        unless the parm machine modes really match what's expected.
                   2943: 
                   2944:        * stmt.c (emit_case_nodes): default_label is an rtx, not tree.
                   2945: 
                   2946:        * tm-next.h (DOLLARS_IN_IDENTIFIERS): Define it as 1.
                   2947: 
                   2948:        * output-sparc.c (output_move_double): Don't trust random structs
                   2949:        to be double-word aligned.
                   2950: 
                   2951:        * gcc.c: Pass -Wcomments to cpp.
                   2952: 
                   2953:        * rtl.def (ASM_OPERANDS): New operands, source file and line.
                   2954:        * rtl.h (ASM_OPERANDS_*): New macros for components of ASM_OPERANDS.
                   2955:        * stmt.c (expand_asm_operands): Use new fields, not REG_ASM_* notes.
                   2956:        * toplev.c (error_for_asm): likewise.
                   2957:        * rtl.h (enum reg_note): Delete REG_ASM_FILE, REG_ASM_LINE.
                   2958: 
                   2959:        * combine.c (try_combine): Check explicitly for volatility in I2, I1.
                   2960: 
                   2961: Fri Mar 10 19:30:10 1989  Richard M. Stallman  (rms at ccvi)
                   2962: 
                   2963:        * c-parse.y (GOTO stmt): Set TREE_USED for the label.
                   2964:        * c-decl.c (poplevel): Warn about unused label.
                   2965: 
                   2966:        * c-decl.c (warn_pointer_arith, warn_strict_prototypes): New vars.
                   2967:        (lang_decode_options): Options to set them.
                   2968:        * c-typeck.c (pointer_int_sum, c_sizeof): Maybe warn if bad target.
                   2969:        * c-decl.c (grokparms): Maybe warn if nonprototype fn decl.
                   2970: 
                   2971:        * flags.h, toplev.c (warn_shadow): New flag.
                   2972:        * toplev.c (main): Decode it.
                   2973:        * c-decl.c (pushdecl): Maybe warn about any shadowing.
                   2974:        Existing parm-shadowing warning now disabled if shadowing decl
                   2975:        is also a parm.
                   2976: 
                   2977:        * flags.h, toplev.c (warn_id_clash, id_clash_len): New flags.
                   2978:        * toplev.c (main): Decode -Wid-clash-LEN.
                   2979:        * tree.c (get_identifier): Implement warning if two idents match.
                   2980: 
                   2981:        * toplev.c (compile_file): Warn about statics defined and unused.
                   2982: 
                   2983:        * rtl.h (CONST0_RTX): New macro.
                   2984: 
                   2985:        * recog.c (offsetable_address_p): New 1st arg says whether to demand
                   2986:        a strictly valid address.
                   2987:        (offsetable_memref_p): Pass nonzero.
                   2988:        * stmt.c (optimize_bit_field): Pass zero.
                   2989: 
                   2990:        * cccp.c (main): Allow -Wcomment like -Wcomments.
                   2991:        * c-decl.c (lang_decode_options): Likewise.
                   2992: 
                   2993: Sun Mar  5 15:02:59 1989  Randall Smith  (randy at apple-gunkies.ai.mit.edu)
                   2994: 
                   2995:        * m68k.md [tstdf, cmp[sd]f, truncdfsf2, floatsi[sd]f2, add[sd]f3,
                   2996:        sub[sd]f3, mul[sd]f3, div[sd]f3, neg[sd]f2, abs[sd]f2]: Made sure
                   2997:        that the test function's in the match_operands of the define_expand
                   2998:        and define_insn's matched, and made that test function
                   2999:        "register_operand" when both define_insn's really needed registers
                   3000:        in that spot.
                   3001: 
                   3002: Sat Mar  4 00:25:37 1989  Richard M. Stallman  (rms at c2v)
                   3003: 
                   3004:        * expr.c (emit_push_insn): Don't ever bypass the big-endian
                   3005:        padding at the end.
                   3006: 
                   3007:        * cccp.c (deps_output): Break line if would otherwise exceed 75 chars.
                   3008:        Make a name for that value 75.
                   3009: 
                   3010:        * combine.c (subst): Handle general case of (subreg (sign_extend X)).
                   3011: 
                   3012:        * tm-sun386i.h (CPP_PREDEFINES): Define `sun'.
                   3013: 
                   3014:        * fixincludes: change `find' calls to find dirs thru symlinks.
                   3015: 
                   3016:        * flow.c (mark_set_1): (set (subreg (reg N))...)
                   3017:        does make reg N significant for this basic block.
                   3018: 
                   3019: Fri Mar  3 13:55:25 1989  Richard M. Stallman  (rms at c2v)
                   3020: 
                   3021:        * c-decl.c (parmlist_tags_warning): Print an explanation
                   3022:        for the first such warning.
                   3023: 
                   3024:        * i386.md (extendsfdf): Let op 1 match op0 if that is an fp reg.
                   3025: 
                   3026:        * expr.c (expand_call): Fix stupid errors copying pcc struct value.
                   3027: 
                   3028:        * varasm.c (output_constructor): Discard NOP_EXPRs from build_c_cast.
                   3029: 
1.1.1.14  root     3030: Thu Feb 23 05:55:57 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3031: 
                   3032:        * Version 1.34 released.
                   3033: 
                   3034:        * c-typeck.c (build_c_cast): If EXPR is an error mark, return that.
                   3035: 
                   3036:        * fold-const.c (div_and_round_double): Abort if divisor is 0.
                   3037:        (combine): Likewise, for real constants.
                   3038:        (real_zerop): New subroutine.
                   3039:        (fold): Don't try to fold division if divisor is 0.
                   3040:        Don't try to fold reals if can't do arithmetic on them.
                   3041:        Don't try to compare reals for TRUTH_..._EXPR if can't do arith.
                   3042:        Use real_zerop to test reals for zeroness.
                   3043:        For TRUTH_ANDIF_EXPR and TRUTH_ORIF_EXPR, can simplify based on
                   3044:        first operand alone.
                   3045: 
                   3046:        * c-typeck.c (store_init_value): Fix error msg text.
                   3047: 
                   3048:        * tm-sparc.h (FUNCTION_PROFILER): Use `mcount'.
                   3049:        * tm-sun4os3.h (FUNCTION_PROFILER): Override it; use `.mcount'.
                   3050: 
                   3051: Wed Feb 22 04:33:22 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3052: 
                   3053:        * tm-hp9k320.h (CPP_SPEC, CPP_PREDEFINES): Make handling of
                   3054:        -Dmc68000 depend on TARGET_DEFAULT.
                   3055: 
                   3056:        * tm-sparc.h (FUNCTION_PROFILER): Missing newline in fprintf.
                   3057: 
                   3058:        * integrate.c (expand_inline_function): Don't map struct-value-address
                   3059:        in memory if fn does not use it.
                   3060: 
                   3061:        * c-parse.y (check_newline): At skipline, detect eof.
                   3062: 
                   3063:        * stmt.c (uninitialized_vars_warning): Change text of warning.
                   3064: 
                   3065: Tue Feb 21 03:58:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3066: 
                   3067:        * output-sparc.c (output_mul_insn): Handle case of both args
                   3068:        in reg 8, or both in reg 9.
                   3069: 
                   3070:        * tm-sparc.h (ASM_SPEC): Define, to handle -pipe.
                   3071: 
                   3072:        * tm-sparc.h (FUNCTION_PROFILER): Add omitted fprintf args.
                   3073:        (BLOCK_PROFILER): Likewise.  Use tempvar.
                   3074: 
                   3075:        * m68k.md (QImode btst): Allow nonoffsetable mem refs.
                   3076: 
                   3077: Mon Feb 20 00:32:42 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3078: 
                   3079:        * flow.c (mark_used_regs): Don't record about global reg vars.
                   3080: 
                   3081:        * config.gcc (convex-*): tm file names are tm-convex1.h, tm-convex2.h.
                   3082: 
                   3083:        * tm-vax.h, tm-ns32k.h, tm-alliant.h: Define PCC_STATIC_STRUCT_RETURN.
                   3084: 
                   3085:        * gcc.c (compilers): Pass `-a' to cc1.
                   3086:        * tm-sun3.h, tm-sparc.h (LIB_SPEC): Define, to handle `-a'.
                   3087: 
                   3088:        * expr.c (emit_push_insn): Copy stack addresses to be passed to bcopy;
                   3089:        old method of preadjustment is broken by changes in emit_library_call.
                   3090: 
                   3091:        * c-decl.c (finish_decl): New temp `temporary'; don't get confused
                   3092:        about whether allocation was temporary.
                   3093: 
                   3094: Sun Feb 19 17:03:35 1989  Chris Smith  (csmith at mozart)
                   3095: 
                   3096:        * tm-convex.h: define PCC_STATIC_STRUCT_RETURN
                   3097: 
                   3098:        * convex.md:
                   3099:        remove pshea patterns, movsi does it better.
                   3100:        add ashift:DI abs:DF abs:SF
                   3101:        (tstdi): use a clobbered register instead of a bogus DImode zero.
                   3102:        (trunchiqi2): delete noninstruction cvth.b
                   3103:        (udivsi3, udivhi3, udivqi3): deleted, expand_divmod does it now.
                   3104:        (call, call_value): delete stupid call/ret -> jump optimization.
                   3105:        (call, call_value): flush call_ap_check, use reg_mentioned_p instead.
                   3106: 
                   3107:        * convex.md: (movxx): swap constraint alternatives so that the
                   3108:        leftmost alternative is (set =g r).  This makes (set mem const)
                   3109:        get combinable input reloads of const instead of uncombinable
                   3110:        output reloads to mem.  They still do not combine, but wtf,
                   3111:        I'll inch up on it.
                   3112: 
                   3113:        * output-convex.c: (const_double_{high,low}_int): new routines
                   3114:        to pick apart const_doubles for assembler.
                   3115: 
                   3116: Sun Feb 19 01:40:17 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3117: 
                   3118:        * sparc.md (shift memory right 24 bits): Another `a1' typo.
                   3119: 
                   3120:        * config.gcc (convex-*): Delete troublesome whitespace.
                   3121: 
                   3122:        * c-decl.c (grokparms): Delete redundant `parm != 0' tests.
                   3123: 
                   3124:        * stmt.c (fixup_memory_subreg): Slight simplification.
                   3125: 
                   3126:        * tm-sparc.h (FUNCTION_PROFILER): Fill delay slot.
                   3127:        (FUNCTION_BLOCK_PROFILER): Use sethi.
                   3128:        (BLOCK_PROFILER): Use %g2, not %g0.  Use sethi.
                   3129: 
                   3130: Sat Feb 18 02:11:25 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3131: 
                   3132:        * expr.c (expand_expr): Ignore const array's initial value
                   3133:        if it's an error_mark.
                   3134:        * c-decl.c (finish_decl): Set DECL_INITIAL to an error_mark
                   3135:        if the decl is a permanent node.
                   3136: 
                   3137:        * cccp.c (rescan): If traditional, if macro ends inside string,
                   3138:        keep scanning for the end of the string.
                   3139:        (handle_directive): A line of just `#' becomes blank.
                   3140:        (collect_expansion): \ in strings traditionally doesn't hide macro arg.
                   3141: 
                   3142:        * m68k.md, alliant.md (addsi3): New alternative a=r+a, in addition
                   3143:        to old a=a+r, needed since reload-insns are not commuted.
                   3144: 
                   3145: Fri Feb 17 03:15:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3146: 
                   3147:        * tm-m68k.h (PCC_STATIC_STRUCT_RETURN): Define it.
                   3148:        * toplev.c, flags.h: New var flag_pcc_struct_return.
                   3149:        * stmt.c (expand_function_start): Obey new flag and new variable.
                   3150:        * expr.c (expand_call): Obey new flag and new variable.
                   3151:        * varasm.c (assemble_static_space): New function.
                   3152: 
                   3153:        * stmt.c (expand_return): If we need cleanups, compute retval first
                   3154:        into pseudo reg, then do the cleanups, then copy it to return reg.
                   3155: 
                   3156: Thu Feb 16 02:59:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3157: 
                   3158:        * regclass.c (init_reg_sets_1): Win if STATIC_CHAIN_REGNUM undefined.
                   3159: 
                   3160:        * expr.c (expand_call): Handle conflict between two precomputed
                   3161:        args that are both function calls returning structures.
                   3162: 
                   3163:        * loop.c (move_movables): Bkwds test of m->partial, for a matching reg.
                   3164: 
                   3165:        * expr.c (emit_library_call, expand_call): Handle STACK_ARGS_ADJUST.
                   3166: 
                   3167: Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3168: 
                   3169:        * toplev.c (flag_caller_saves): New var, for -fcaller-saves.
                   3170:        DEFAULT_CALLER_SAVES controls initial value.
                   3171:        * global-alloc.c (find_reg): Do caller saves only if flag set.
                   3172:        * local-alloc.c (find_free_reg): Do caller saves only if flag set.
                   3173:        * tm-alliant.h, tm-convex.h: Define DEFAULT_CALLER_SAVES.
                   3174: 
                   3175: Wed Feb 15 01:59:15 1989  Chris Smith  (rms at sugar-bombs.ai.mit.edu)
                   3176: 
                   3177:        * caller-save.c: New file.
                   3178:        * regs.h (CALLER_SAVE_PROFITABLE): New macro.
                   3179:        (reg_n_calls_crossed): new int-vector replaces reg_crosses_calls.
                   3180:        * flow.c (allocate_for_life_analysis, propagate_block, dump_flow_info):
                   3181:        Use reg_n_calls_crossed.
                   3182:        * stupid.c (stupid_mark_refs, stupid_life_analysis): Likewise.
                   3183:        * global-alloc.c (find_reg): Sometimes allocate call-clobbered regs
                   3184:        for call-crossing pseudos.
                   3185:        New arg ACCEPT_CALL_CLOBBERED; callers changed.
                   3186:        * local-alloc.c (find_free_reg): Similar changes.
                   3187:        (qty_n_calls_crossed): New int-vector replaces qty_crosses_calls.
                   3188:        (alloc_qty, local_alloc, combine_regs, find_free_reg): change that var.
                   3189:        * regclass.c (call_fixed_regs, call_fixed_reg_set): new vars.
                   3190:        (init_reg_sets_1): Initialize them.
                   3191:        * reload1.c (reload): Call caller-saves processing if needed.
                   3192: 
                   3193: Wed Feb 15 01:59:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3194: 
                   3195:        * expr.c (expand_expr): INTEGER_CST for DImode: don't handle
                   3196:        endianness here.  So CONST_DOUBLE_LOW is always the low word.
                   3197:        * varasm.c (force_const_mem): Handle it here. 
                   3198: 
                   3199:        * expr.c (convert_move): widening followed by extendsidi2 had braino.
                   3200: 
                   3201:        * integrate.c: Don't include ctype.h; not needed and kills Sun cpp.
                   3202: 
                   3203:        * m68k.md (cmpsf, cmpdf and their recognizers):
                   3204:        Replace MINUS with COMPARE.
                   3205:        Also, use VOIDmode for COMPAREs, not SF or DF.
                   3206: 
                   3207:        * optabs.c (sign_expand_binop): Handle ops such as division where
                   3208:        an unsigned char could be widened and handled with signed int insns.
                   3209:        * expmed.c (expand_divmod): Use that.
                   3210: 
                   3211:        * c-typeck.c (digest_init): Allow for type variants in validating
                   3212:        initialization from a string constant.
                   3213: 
                   3214:        * c-typeck.c (decl_constant_value): Disable opt. if pedantic or
                   3215:        outside functions, so that validity of program is never affected.
                   3216: 
                   3217:        * fold-const.c (fold): Signedness-test for ABS_EXPR was backwards.
                   3218: 
                   3219: Tue Feb 14 01:30:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3220: 
                   3221:        * cccp.c (main): Don't omit normal output, if we want deps on
                   3222:        a separate stream.
                   3223: 
                   3224:        * c-decl.c (grokdeclarator): Don't record any arg types for functions
                   3225:        if -traditional.
                   3226: 
                   3227:        * print-tree.c (prtypeinfo): Mention permanent attribute.
                   3228: 
                   3229:        * tm-next.h: New file.
                   3230: 
                   3231:        * c-typeck.c (decl_constant_value): The DECL_INITIAL may be ERROR_MARK.
                   3232: 
                   3233:        * c-decl.c (duplicate_decls): For fns, new static decl overrides
                   3234:        old non-static one.
                   3235: 
                   3236:        * emit-rtl.c (gen_lowpar, gen_highpart): Use change_address, so we
                   3237:        preserve volatility, etc.
                   3238: 
                   3239:        * stmt.c (expand_expr_stmt): Use emit_filename, emit_lineno
                   3240:        as file and line for any warning.
                   3241:        * emit-rtl.c (emit_line_note): Set those vars.
                   3242: 
                   3243:        * c-decl.c (store_parm_decls): If -Wimplicit, warn of arg with no decl.
                   3244: 
                   3245:        * recog.c (offsetable_address_p): Use strict_memory_address_p,  
                   3246:        since called from reload.c.
                   3247: 
                   3248: Mon Feb 13 03:11:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3249: 
                   3250:        * sparc.md (compare-to-reg patterns): Some still had MINUS.
                   3251: 
                   3252:        * toplev.c (main): Warn if `-a' on system that can't handle it.
                   3253: 
                   3254:        * stmt.c (expand_asm_operands): Delete unused local `val'.
                   3255:        (pushcase_range): Likewise for `value'.
                   3256:        (fixup_var_refs): Likewise for `insn'.
                   3257:        * emit-rtl.c (start_sequence): Likewise for `save'.
                   3258:        * loop.c (scan_loop): Likewise for `before_start'.
                   3259:        * expr.c (expand_expr): Delete label `binop1'.
                   3260: 
                   3261:        * reload1.c (constraint_accepts_reg_p): Handle SUBREGs of REGs.
                   3262: 
                   3263: Sun Feb 12 05:37:46 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3264: 
                   3265:        * gnulib.c (__bb_init_func): New function
                   3266: 
                   3267:        * tm-m68k.h (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): Defined.
                   3268: 
                   3269: Sat Feb 11 00:05:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3270: 
                   3271:        * tm-sparc.h (FUNCTION_PROFILER): Make it really work.
                   3272:        (BLOCK_PROFILER, FUNCTION_BLOCK_PROFILER): New macros.
                   3273: 
                   3274:        * final.c (final): Use BLOCK_PROFILER at start of each basic block.
                   3275:        (final_start_function): Use FUNCTION_BLOCK_PROFILER if -a.
                   3276:        (end_final): New fn to output the block-profiling tables.
                   3277:        * toplev.c (profile_block_flag): Set if -a.
                   3278:        (compile_file): Call end_final.
                   3279: 
                   3280:        * combine.c (try_combine): Avoid combining in most cases if I3
                   3281:        has an inc or dec and I1 or I2 uses the same register.
                   3282: 
                   3283:        * tree.c (size_in_bytes, int_size_in_bytes): Use type's main variant.
                   3284: 
                   3285:        * c-typeck.c (actualparameterlist): Error if parm type is incomplete.
                   3286: 
                   3287:        * expr.c (expand_call): Ignore args that have incomplete type.
                   3288: 
                   3289: Fri Feb 10 02:26:02 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3290: 
                   3291:        * c-parse.y (case stmts): strip dummy NOP_EXPRs.
                   3292: 
                   3293:        * reload1.c (reload_as_needed): Clear reg_{has,is}_output_reload here,
                   3294:        (choose_reload_targets): not here.
                   3295: 
                   3296: Thu Feb  9 01:35:55 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3297: 
                   3298:        * output-sparc.c (output_mul_by_constant): Forget cc status.
                   3299: 
                   3300:        * stmt.c (assign_parms): Don't put volatile parms in regs.
                   3301: 
                   3302:        * vax.md (jlbs/jlbc recognizers): Move them before jbc/jbs recognizers.
                   3303: 
                   3304:        * cse.c (fold_rtx): Handle (EQ (COMPARE ...) (CONST_INT 0)).
                   3305: 
                   3306:        * c-typeck.c (default_conversion, digest_init): For static const
                   3307:        nonvolatile scalar variable, use its initial value if known.
                   3308: 
                   3309:        * expr.c (expand_expr: case COMPONENT_REF): If containing structure
                   3310:        comes out volatile, leave the component MEM volatile too.
                   3311: 
                   3312:        * hard-reg-set.h: Fix multi-word case macros to swallow semicolon.
                   3313: 
                   3314:        * c-typeck.c (default_conversion): In array=>ptr, volatility
                   3315:        of target type comes from TREE_THIS_VOLATILE, not TREE_VOLATILE.
                   3316: 
                   3317:        * reload1.c (forget_old_reload_1, choose_reload_targets):
                   3318:        New array reg_is_output_reload is converse of reg_has_output_reload.
                   3319:        forget_old_reload_1 needs both.
                   3320: 
                   3321: Wed Feb  8 01:26:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3322: 
                   3323:        * reload1.c (forget_old_reloads_1): New fn, guts of forget_old_reloads.
                   3324:        Do process a spill reg if it isn't used for reloading in this insn.
                   3325:        (forget_old_reloads): Deleted, replaced with note_stores.
                   3326:        (reload_as_needed): Undo Feb 1 change.
                   3327:        Call forget_old_reloads_1 on pseudos autoincremented and not reloaded.
                   3328: 
                   3329:        * c-typeck.c (convert_for_assignment): Handle variant types.
                   3330: 
                   3331:        * c-decl.c (lang_decode_option): -Wall implies -Wunused.
                   3332: 
                   3333: Tue Feb  7 01:32:28 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3334: 
                   3335:        * combine.c (try_combine): Don't try adding outputs to an asm_operands.
                   3336: 
                   3337:        * cse.c (CHEAPER): Don't ever let a hard reg get ahead of a pseudo.
                   3338: 
                   3339:        * stmt.c (fixup_gotos): Don't crash on undef label if THISBLOCK is 0.
                   3340: 
                   3341:        * c-decl.c (parmlist_tags_warning): New fn.
                   3342:        * c-parse.y (parmlist, parmlist_or_identifiers): Call it,
                   3343:        to warn about any tags defined inside the parmlist.
                   3344:        * c-decl.c (grokparms): Don't warn about ptr to incomplete type.
                   3345:        The new warning is better.
                   3346: 
                   3347: Mon Feb  6 01:11:36 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3348: 
                   3349:        * expr.c (store_constructor): Incorrect ALIGN arg in store_field calls.
                   3350: 
                   3351:        * c-parse.y (%union): Delete unused alternative.
                   3352: 
                   3353:        * c-decl.c (grokparms): Use main variant to test for ptr to incomplete.
                   3354: 
                   3355:        * c-decl.c (finish_enum): Delete superfluous init for `pair'.
                   3356: 
                   3357:        * cse.c (fold_rtx): Optimize X+0, X-0 in floating point.
                   3358:        Fix typo in PLUS case; omitted value to compare GET_MODE_CLASS against.
                   3359:        (equiv_constant): Allow CONST_DOUBLE.
                   3360: 
                   3361:        * cse.c: Optimize past if-statements that are known to fail.
                   3362:        (cse_insn): If condjump becomes uncond to end of this block,
                   3363:        set cse_skip_to_next_block.
                   3364:        (cse_basic_block): If that happens, ignore rest of block, and maybe
                   3365:        treat next block as part of this one (if tables have room).
                   3366:        Resume insn that starts next basic block to be scanned.
                   3367:        (cse_main): Make room for at least 500 qtys.
                   3368:        (cse_end_of_basic_block): Subroutine broken out of cse_main.
                   3369: 
                   3370:        * c-parse.y (hash, is_reserved_word): Rewrite: new hash technique.
                   3371: 
                   3372:        * c-decl.c (duplicate_decls): Be smart about proto vs nonproto mismatch
                   3373:        involving a function definition.
                   3374: 
                   3375: Sun Feb  5 17:31:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3376: 
                   3377:        * alliant.md (movdi): Typo in `fmoved'.
                   3378:        (ftruncsf2): Handle moving into fp reg.
                   3379: 
                   3380:        * jump.c (jump_optimize): Typo in testing PRESERVE_DEATH_INFO_REGNO_P.
                   3381: 
                   3382:        * reload1.c (choose_reload_targets): Move all death notes to the
                   3383:        output reload insn.
                   3384: 
                   3385:        * m68k.md (fix_truncsfsi2,fix_truncdfsi2): Use accurate rtl pattern.
                   3386: 
                   3387:        * loop.c (delete_insn_forces): Use presence of REG_RETVAL to check
                   3388:        for value-of-library-call insn.
                   3389: 
                   3390: Sat Feb  4 18:17:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3391: 
                   3392:        * integrate.c (expand_inline_function): Make addresses of stack
                   3393:        slots valid somehow.
                   3394: 
                   3395:        * tm-3b1.h (DIVSI3_LIBCALL, etc.): Define these macros; avoid gnulib.
                   3396: 
                   3397:        * expmed.c (store_bit_field): Avoid (subreg (mem)) when converting
                   3398:        VALUE1 to SImode.
                   3399: 
                   3400:        * jump.c (jump_optimize): Do delete USE and CLOBBER insns.
                   3401:        This is needed for proper jump optimization.
                   3402: 
                   3403:        * rtl.def (COMPARE): New code.
                   3404:        * *.md (compare and related patterns): Use COMPARE, not MINUS:VOID.
                   3405:        * loop.c (eliminate_biv, can_eliminate_biv_p): Likewise.
                   3406:        * cse.c (fold_rtx, fold_cc0, cse_insn):
                   3407:        * output-m88k.c (output_{f,}compare, output_store):
                   3408:        * output-sparc.c (strict_single_insn_op_p, single_insn_src_p, safe_insn_src_p):
                   3409:        * combine.c (subst):
                   3410:        * jump.c (jump_back_p):
                   3411: 
                   3412: Fri Feb  3 18:34:27 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3413: 
                   3414:        * output-i386.c (notice_update_cc): If arith insn sets the cc's,
                   3415:        discard all remnants of previous cc value and flags.
                   3416: 
                   3417:        * sparc.md (ashiftrt mem by 24): Fix typo `a1'.
                   3418: 
                   3419: Thu Feb  2 14:55:44 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3420: 
                   3421:        * output-sparc.c (output_mul_insn): Clear the CC status.
                   3422: 
1.1.1.13  root     3423: Wed Feb  1 20:01:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3424: 
                   3425:        * Version 1.33 released.
                   3426: 
                   3427:        * reload1.c (reload_as_needed): On entering new basic block,
                   3428:        if it didn't need reload regs, forget all inherited contents of those.
                   3429: 
                   3430:        * tm-alliant.h (NOTICE_UPDATE_CC): Floating moves don't set the cc's.
                   3431:        Also delete the clauses and tests for FPA regs. 
                   3432: 
                   3433: Tue Jan 31 21:51:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3434: 
                   3435:        * config.gcc: Handle convex-c1, convex-c2.
                   3436:        * tm-convex1.h, tm-convex2.h: New files that include tm-convex.h.
                   3437:        * tm-convex.h: Define switches -mnoc1, -mnoc2.
                   3438: 
                   3439:        * config.gcc: rename `nofp' to `nfp', to match the file names.
                   3440: 
                   3441: Mon Jan 30 22:12:15 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3442: 
                   3443:        * output-sparc.c (output_delay_insn): Extract the operands,
                   3444:        call alter_subreg, constrain_operands and NOTICE_UPDATE_CC.
                   3445:        So callers other than output_eager_then_insn don't lose.
                   3446:        (output_eager_then_insn): No need to do that stuff.
                   3447: 
                   3448:        * symout.c (symout_block_symbols): Handle (MEM (REG)) for
                   3449:        variable-sized arrays.
                   3450: 
                   3451:        * tm-encore.h (ASM_SPEC): Always pass -j; avoid jump-range lossage.
                   3452: 
                   3453: Sun Jan 29 17:06:26 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3454: 
                   3455:        * alliant.md: Fix refs to CONST_DOUBLEs to use CONST_DOUBLE_{HIGH,LOW}.
                   3456: 
                   3457:        * combine.c (subst): (minus (zero_extend ...) (const_int ...)) opt.
                   3458:        now limited to within the context of (set (cc0) ...).
                   3459: 
                   3460: Sat Jan 28 14:26:08 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3461: 
                   3462:        * cse.c (fold_cc0): Missing `&' extracting CONST_DOUBLEs.
                   3463:        (fold_rtx): Don't put CONST_DOUBLEs together into a (CONST (PLUS...)).
                   3464: 
                   3465:        * output-convex.c (gen_cmp): Recognize CONST_DOUBLE as a constant.
                   3466: 
                   3467:        * tree.c (build_real_from_int_cst): Typo in REAL_ARITHMETIC case.
                   3468: 
                   3469:        * Makefile (bootstrap2): Don't use bootstrap3 as subroutine.
                   3470: 
                   3471:        * varasm.c (force_const_mem): Put the CONST_DOUBLE on the chain
                   3472:        if its MEM is stored in it; so it can be cleared at end of function.
                   3473: 
                   3474:        * stmt.c (emit_case_nodes): Put a compare before each cond-jump.
                   3475:        Two cond-jumps after one cond is invalid and makes cse produce garbage.
                   3476: 
                   3477: Fri Jan 27 01:05:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3478: 
                   3479:        * tm-sun2.h (CPP_SPEC): Define __HAVE_68881__ only if -m68881.
                   3480: 
                   3481:        * c-decl.c (start_decl): Don't expand_decl if DECL already has rtl.
                   3482:        (grokparms): If just declaring fcn, incomplete parm type is just
                   3483:        a warning, and don't discard the specified type.
                   3484: 
                   3485:        * expmed.c (expand_divmod): Be smarter about not clobbering args
                   3486:        with intermediate results; one mem can clobber another, and a reg
                   3487:        can clobber a mem.
                   3488: 
                   3489:        * tm-i386.h (FUNCTION_PROFILER): Use LPREFIX.  May actually work now.
                   3490:        * tm-i386gas.h: Include tm-bsd386.h, not tm-att386.h.
                   3491:        This means changing asm syntax.
                   3492:        #undef DBX_NO_XREFS and DBX_CONTIN_LENGTH.
                   3493: 
                   3494:        * sparc.md (eager branch peepholes): Don't forget 2nd arg to
                   3495:        safe_insn_src_p.
                   3496:        Don't print warnings.
                   3497:        * output-sparc.c: (strict_single_insn_op_p): Return 0 for floating
                   3498:        REG or MEM, since copying that may take 2 insns.
                   3499:        (operands_satisfy_eager_branch_peephole): require delay insn to
                   3500:        be strict_single_insn_op_p as well as safe_insn_src_p.
                   3501:        (operand_clobbered_before_used_after): Don't print warnings.
                   3502: 
                   3503:        * varasm.c (decode_rtx_const): Clear entire structure incl. gaps.
                   3504:        Avoids spurious hash mismatches.
                   3505:        (force_const_mem): If CONST_DOUBLE, store its CONST_DOUBLE_MEM field.
                   3506:        Also look in that field rather than hashing, to save time.
                   3507: 
                   3508:        * c-typeck.c (build_c_cast): If value is literal, mark NOP_EXPR as so.
                   3509:        (store_init_value): Change error msg.
                   3510: 
                   3511:        * c-decl.c (duplicate_decls): Classify prototype vs nonprototype
                   3512:        mismatches better.
                   3513: 
                   3514:        * tm-3b1.h: Fix comment.
                   3515: 
                   3516: Wed Jan 25 12:46:50 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3517: 
                   3518:        * Makefile (cleanlinks): Use -f.
                   3519: 
                   3520: Tue Jan 24 17:54:16 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3521: 
                   3522:        * cse.c (canon_hash): Fix paren error in last change.
                   3523: 
                   3524:        * varasm.c (immed_real_const_1): Missing arg to bcmp.
                   3525: 
                   3526: Mon Jan 23 02:43:45 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3527: 
                   3528:        * stor-layout.c (layout_type): BLKmode elts force array to be BLKmode.
                   3529: 
                   3530:        * genpeep.c, genoutput.c, genemit.c: Put `#include "real.h"' in output.
                   3531: 
                   3532:        * stmt.c (expand_expr_stmt): No "no effect" warning for error-mark.
                   3533: 
                   3534:        * varargs.h: Rename implicit arg name to __builtin_va_alist
                   3535:        which triggers code in assign_parms.  Does this really matter?
                   3536: 
                   3537:        * sparc.md (sne): New define_expand.
                   3538:        (seq recognizers): Handle sne as well.
                   3539:        * output-sparc.c ({strict_,}single_insn_src_p):
                   3540:        Some NEG and MINUS insns are actually 2 asm insns.
                   3541:        (safe_insn_src_p): No floating arith is safe; they can trap.
                   3542:        (eq_or_neq): New fn, for seq/sne recognizers.
                   3543: 
                   3544:        * c-decl.c (grokdeclarator, size of array type):
                   3545:        Strip from SIZE any NOP_EXPRs that don't change anything.
                   3546: 
                   3547:        * reload.c, recog.c: Include real.h so constraint macros can examine
                   3548:        CONST_DOUBLEs.
                   3549: 
                   3550: Sun Jan 22 04:12:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3551: 
                   3552:        * c-decl.c (init_decl_processing): Define __builtin_saveregs.
                   3553:        * tree.h: likewise.
                   3554:        * expr.c (expand_builtin): Handle it.
                   3555: 
                   3556:        * tm-sparc.h: Define TARGET_EAGER and -meager.
                   3557:        * sparc.md (eager branch peepholes): Reenable, but test TARGET_EAGER.
                   3558:        Change fb insns to use %F.  Delete `,a' from some of them.
                   3559:        * jump.c (jump_optimize): Don't delete USE and CLOBBER insns.
                   3560: 
                   3561:        * xm-vms.h (const): Define it as empty.
                   3562: 
                   3563:        * make-cccp.com: Move the rename of cexp_tab.c.
                   3564:        Compile cccp.c with no macro definitions.
                   3565: 
                   3566:        * cccp.c (main): VMS conditional for setting max_include_len.
                   3567: 
                   3568: Sat Jan 21 12:53:00 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3569: 
                   3570:        * varargs.h (va_start): On sparc, call __builtin_saveregs.
                   3571:        Delete the old conditional that used va-sparc.h.
                   3572:        Rename macros and locals to start with two underscores.
                   3573:        * va-sparc.h: File deleted.
                   3574: 
                   3575:        * c-decl.c (store_parm_decls): Initialize OTHERS.
                   3576: 
                   3577:        * stmt.c (assign_parms): Obey layout_decl.
                   3578: 
                   3579: Fri Jan 20 02:19:32 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3580: 
                   3581:        * cse.c (fold_rtx): For SYMBOL_REF and LABEL_REF, mask address
                   3582:        to 16 bits.
                   3583: 
                   3584:        * tree.h (NUM_TREE_CODES): NUM_TREE_CODE renamed.
                   3585: 
                   3586: Thu Jan 19 13:53:24 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3587: 
                   3588:        * c-typeck.c (mark_addressable): For global reg var, report error.
                   3589:        Now returns an int; value of 0 means caller should fail.
                   3590:        All calls (in this file) changed.
                   3591: 
                   3592:        * stor-layout.c (layout_decl): Don't let an more than 1 word
                   3593:        of any aggregate go in any 1 register.  (Needed for machines whose
                   3594:        integer regs are 64 bits).
                   3595: 
                   3596:        * tm-convex.h, xm-convex.h, convex.md, output-convex.c: new files.
                   3597: 
                   3598:        * expr.c (convert_move): Use extendqidi2, etc. for converting
                   3599:        small ints to double ints.  Use zero_extendsidi2 rather than
                   3600:        clearing the high half.
                   3601: 
                   3602: Wed Jan 18 01:20:52 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3603: 
                   3604:        * varasm.c (make_decl_rtl): If global `register' decl is invalid,
                   3605:        make ordinary non-register rtl.
                   3606: 
                   3607:        * output-sparc.c (operand_clobbered_before_used_after): new fn.
                   3608:        (reg_clobbered_p, safe_insn_src_p): New fns.
                   3609:        (single_insn_src_p): Treat constants all as ok, even though not
                   3610:        always literally so.  Also accept some SIGN_EXTENDs and ZERO_EXTENDs.
                   3611:        (strict_single_insn_src_p): New fn, like above but is strict
                   3612:        about constants and constant memory addresses.
                   3613:        (relop): New fn.
                   3614:        (output_move_double): Don't make a MEM, and don't use %m.
                   3615:        (output_delayed_branch): New name for output_delay_insn.
                   3616:        Now handle non-small constant operands.
                   3617:        Avoid duplicate loads of g1 for constant addresses.
                   3618:        Use recog_operand directly for output of the delay insn.
                   3619:        (output_delay_insn): Now a completely new fn.
                   3620:        (output_eager_then_insn, next_real_insn_no_labels): New fns.
                   3621:        (operands_satisfy_eager_branch_peephole): New fn.
                   3622: 
                   3623:        * sparc.md: New peepholes for testing a recently used operand.
                   3624:        New peepholes for delayed branches, incl. conditional ones.
                   3625:        ** Some of them commented out because they seem not to work.
                   3626:        (andcc recognizer): Fix typo, missing %.
                   3627:        (bgt): Change bgt to bg in output.
                   3628:        (reversed jumps): Replace with one pattern using match_operand.
                   3629:        It uses %F to output the condition.
                   3630:        (movsi): For round-valued immed const, use just a sethi.
                   3631:        For other immed, use explicit sethi and or.
                   3632:        (movhi, movqi): use `move' for reg source or small int source.
                   3633:        For other immed, use explicit sethi and or.
                   3634:        (movsi, etc.):  Handle all constant addresses like SYMBOL_REFs.
                   3635:        (movsf): Delete never-used duplicate code for constant addresses.
                   3636:        (addsi3, subsi3, cse'd multiply): Use sethi and or, rather than set.
                   3637:        (andsi3, iorsi3, xorsi3): Likewise.
                   3638:        (jump): Make an annulled branch.
                   3639: 
                   3640:        * tm-sparc.h (PROMOTE_PROTOTYPES): Define this.
                   3641:        (GO_IF_LEGITIMATE_ADDRESS): Now accept all constant addresses;
                   3642:        also cleaned up.
                   3643:        (NOTICE_UPDATE_CC): Don't change the G1 status when storing in memory.
                   3644:        Assume all PARALLEL insns are peepholes.
                   3645:        (PRINT_OPERAND): New codes C and N for outputting conditions,
                   3646:        either forward or reversed.  Also F for reversed floating.
                   3647: 
                   3648:        * jump.c (delete_for_peephole): New function to delete range of insns.
                   3649:        * genpeep.c (gen_peephole): Output code to use this.
                   3650: 
                   3651:        * Makefile (install): Fix typo, had $${name} for $${file}.
                   3652: 
                   3653: Tue Jan 17 00:00:12 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3654: 
                   3655:        * i386.md (ashlsi3): Use addl or leal for special cases.
                   3656: 
                   3657:        * c-decl.c (grokdeclarator): Make a non-global VAR_DECL public
                   3658:        if it is external.
                   3659: 
                   3660:        * masm386.c: Clean up formatting.
                   3661: 
                   3662:        * cse.c (fold_rtx): Typo simplifying x|0 or x^0
                   3663:        when the 0 comes second.
                   3664: 
                   3665:        * expmed.c (store_fixed_bit_field): For halfwords, verify that
                   3666:        the field fits in an *aligned* halfword.
                   3667:        (extract_fixed_bit_field): likewise.
                   3668: 
                   3669:        * expmed.c (store_split_bit_field): New arg align, passed in from
                   3670:        store_fixed_bit_field and passed back to it.
                   3671:        (extract_split_bit_field): likewise.
                   3672: 
                   3673:        * expr.c: Reinsert changes from Jan 2, mysteriously deleted Jan 3.
                   3674:        Also changes from Dec 23, Dec 28 and Dec 29.
                   3675: 
                   3676:        * tm-i386.h: Likewise for changes from Dec 30.
                   3677: 
                   3678:        * c-typeck.c (build_component_ref): If field's type is error-mark,
                   3679:        return an error-mark.
                   3680: 
                   3681: Mon Jan 16 14:16:54 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3682: 
                   3683:        * genpeep.c (main): Output code to exit early if insn is followed
                   3684:        by a barrier.
                   3685:        (gen_peephole): Reject barriers just like labels.
                   3686: 
                   3687:        * stmt.c (do_jump_if_equal): New arg UNSIGNEDP, for emit_cmp_insn.
                   3688:        Caller changed.  Now static.
                   3689: 
                   3690:        * final.c (final): Set INSN_DELETED_P in insns when output.
                   3691: 
                   3692:        * final.c (final): Re-set BODY if peephole does anything.
                   3693: 
                   3694:        * c-decl.c (grokparms): Ignore anything but PARM_DECLs in the list.
                   3695:        (store_parm_decls): If we had a prototype, separate out anything other
                   3696:        than a PARM_DECL declared in it, and pushdecl those at the end,
                   3697:        after DECL_ARGUMENTS is set.
                   3698: 
                   3699:        * stmt.c (expand_end_case): Do stack adjusts after computing index.
                   3700: 
                   3701:        * expr.c (store_one_arg): Handle padding for case of BLKmode
                   3702:        for which space was preallocated.
                   3703: 
                   3704:        * integrate.c (copy_rtx_and_substitute): When copying asm insn,
                   3705:        preserve sharing of the input-operand vectors.
                   3706:        (expand_inline_function): Clear {orig,copy}_asm_operands_vector
                   3707:        to make that mechanism work.
                   3708:        (save_for_inline, copy_for_inline): Likewise.
                   3709: 
                   3710:        * stmt.c (expand_asm_operands): Reject `+' in constraints.
                   3711:        Every output constraint requires `='; inputs reject it.
                   3712: 
                   3713:        * stmt.c (expand_function_end): Arg to fixup_gotos was missing.
                   3714: 
                   3715: Sun Jan 15 00:28:23 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3716: 
                   3717:        * cccp.c, gcc.c (main): Handle SIGPIPE.
                   3718:        (pipe_closed): New fn; report suitable fatal error.
                   3719: 
                   3720:        * loop.c (loop_optimize): Initialize moved_once.
                   3721: 
                   3722:        * gcc.c (do_spec): Don't call `execute' if value != 0.
                   3723:        Delete redundant second call to do_spec_1.
                   3724: 
                   3725:        * toplev.c (compile_file): Make declared-but-not-defined warnings
                   3726:        only if -Wunused.
                   3727: 
                   3728:        * stmt.c (emit_case_nodes): Fix typo setting gen_ble_pat.
                   3729: 
                   3730:        * tm-sparc.h ({U,}MODSI3_LIBCALL): Name was wrong.
                   3731: 
                   3732:        * gcc.c (env_exec_prefix refs): Don't try to open via it if it's null.
                   3733: 
                   3734:        * output-sparc.c (output_store, output_load_{fixed,floating}):
                   3735:        Fixed confusions between the mem ref and its address.
                   3736: 
                   3737:        * cse.c (canon_hash): global_regs has entries only for hard regs.
                   3738:        * flow.c (insn_dead_p, mark_set_p, mark_used_regs): Likewise.
                   3739: 
                   3740:        * cse.c (fold_rtx): More simplifications for MULT, IOR, AND, XOR
                   3741:        DIV and shifts with one arg 0 or 1.
                   3742: 
                   3743: Sat Jan 14 11:41:11 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3744: 
                   3745:        * c-typeck.c (build_array_ref): If pedantic, check for regdecl arrays.
                   3746: 
                   3747:        * fixincludes: Make all subdirs in advance, so no need for `dirname'.
                   3748: 
                   3749:        * genpeep.c (gen_peephole): Delete code to increment LABEL_NUSES;
                   3750:        instead, clear JUMP_LABEL for any jumps being deleted.
                   3751:        No need to test INSN1 for being a label, since not called then.
                   3752:        [If any of the matched insns is a JUMP_INSN, set want_jump,
                   3753:        and in that case make the matched peephole a JUMP_INSN itself.]
                   3754:        That's in an #if 0 now; it's good in jump, but not in final.
                   3755: 
                   3756:        * jump.c (jump_optimize): Don't do peepholes here.
                   3757:        * final.c (final): Do them here.
                   3758: 
                   3759:        * jump.c (jump_optimize): In optimizing `if (foo) bar; else break;',
                   3760:        don't try to invert anything but a standard-looking conditional jump.
                   3761: 
                   3762:        * jump.c (jump_optimize): Do peepholes on ALL BUT the first pass.
                   3763: 
                   3764:        * gcc.c (env_exec_prefix): New var used like user_exec_prefix
                   3765:        but set from envvar GCC_EXEC_PREFIX.
                   3766: 
                   3767: Fri Jan 13 13:21:59 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3768: 
                   3769:        * genpeep.c (gen_peephole): Test INSN1 for a label at the very start,
                   3770:        then test following insns at the end of the loop.
                   3771: 
                   3772:        * sparc.md (call recognizers): do CC_STATUS_INIT, for %g1.
                   3773: 
                   3774: Thu Jan 12 02:13:49 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3775: 
                   3776:        * varasm.c (make_decl_rtl): Recognize more error cases for reg vars:
                   3777:        BLKmode, or initializer given.
                   3778:        Distinguisn missing asm from invalid name.
                   3779: 
                   3780:        * expr.c (expand_call): Never return 0; return const0_rtx instead.
                   3781:        This makes expand_expr more uniform.
                   3782: 
                   3783:        * c-decl.c (grokparms): For ptr to incomplete type, just warn;
                   3784:        don't change the parm's type.
                   3785: 
                   3786:        * stmt.c (expand_return): Set RETVAL_RHS so as to recognize
                   3787:        tail-recursive fcn returning void.
                   3788:        Unconditionally test value of expand_expr for being a REG.
                   3789: 
                   3790:        * reload.c (find_reloads): Don't process insns that have
                   3791:        no constraint alternatives.  No more need for have_constraints.
                   3792: 
                   3793:        * recog.c (constrain_operands): New local var nalternatives.
                   3794:        Don't bother checking the insn if nalternatives is 0.
                   3795: 
                   3796: Wed Jan 11 01:27:48 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3797: 
                   3798:        * Implement global register decls.
                   3799: 
                   3800:        * varasm.c (make_decl_rtl): Handle global register vars.
                   3801:        (make_function_rtl): Set function_defined: after 1st function dfn.
                   3802:        (assemble_variable): Ignore global register vars.
                   3803: 
                   3804:        * c-decl.c (grokdeclarator): Don't reject global register decls.
                   3805:        (builtin_function): Use make_decl_rtl, not make_function_rtl,
                   3806:        to avoid setting function_defined.
                   3807: 
                   3808:        * regclass.c (init_reg_class{,_1}): Init and process global_regs.
                   3809:        They are fixed, and call-clobbered.
                   3810: 
                   3811:        * flow.c (insn_dead_p): Storing one of global_regs is never dead.
                   3812:        (mark_used_regs, mark_set_1): A global reg is never dead.
                   3813: 
                   3814:        * cse.c (canon_hash): Consider global regs volatile.
                   3815: 
                   3816: 
                   3817:        * expr.c (do_jump): Know how to invert jumps which are sequences.
                   3818: 
                   3819:        * dbxout.c, symout.c, final.c: On USG, use our own stab.h.
                   3820: 
                   3821:        * tm-i386gas.h: New file for GAS on sysV (with DBX debugging info).
                   3822: 
                   3823:        * m68k.md (bfchg and bfins patterns): Make # alternatives uniform.
                   3824:        * alliant.md: Likewise; also in movdf patterns.
                   3825: 
                   3826:        * genoutput.c (output_epilogue): Spurious `break' disabled
                   3827:        error check for mismatched # of alternatives.
                   3828:        (output_epilogue, scan_operands): Errors in input are not fatal.
                   3829: 
                   3830:        * flow.c (regno_uninitialized): Avoid crash if no basic blocks.
                   3831: 
                   3832:        * sparc.md (move insns): Delete special patterns that handled
                   3833:        symbolic constant addresses.  The main move patterns now do this.
                   3834:        * output-sparc.c (output_store, output_load_{fixed,floating}):
                   3835:        Subroutines to do the work for this; has the code from those
                   3836:        special patterns.  Also fixed bugs in testing against cc_status.mdep.
                   3837: 
                   3838:        * output-sparc.c (output_delay_insn): Clear the CC status.
                   3839:        This is necessary for %g1 in the case of a call insn.
                   3840: 
                   3841:        * tm-i386.h (REG_CLASS_CONTENTS): INDEX_REGS is now all but ESP.
                   3842:        (REGNO_REG_CLASS): Corresponding change.
                   3843:        (REG_CLASS_FROM_LETTER): Eliminate `x' letter since not used.
                   3844: 
                   3845:        * optabs.c (emit_cmp_insn): New arg ALIGN, used for BLKmode.
                   3846:        All callers changed.
                   3847:        Pass alignment (as rtx) as 4th arg to cmpstr gen functions.
                   3848:        Use cmpstrhi if available.
                   3849:        * expr.c (compare): Only this call passes a nonzero ALIGN.
                   3850: 
                   3851:        * expr.c (emit_push_insn, emit_block_move): Pass alignment (as rtx)
                   3852:        as 4th arg to movstr gen functions.
                   3853: 
                   3854: Tue Jan 10 23:43:05 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3855: 
                   3856:        * stor-layout.c (layout_type): Use BLKmode, if a struct isn't
                   3857:        aligned well enough for a scalar mode.
                   3858: 
                   3859:        * expr.c (expand_expr): For static CONSTRUCTOR, ensure memory
                   3860:        address is made valid.
                   3861: 
                   3862:        * genpeep.c (match_rtx): For MATCH_OPERATOR, set max_opno, n_operands.
                   3863: 
                   3864: Mon Jan  9 17:07:56 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3865: 
                   3866:        * varasm.c (output_constant): Split strings every 2000 chars.
                   3867: 
                   3868:        * stmt.c (expand_end_case): Test bkwds, handling constant switch arg.
                   3869: 
                   3870: Fri Jan  6 09:11:20 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3871: 
                   3872:        * output-sparc.c (output_delay_insn): Add parens to first if test.
                   3873:        (output_move_double): Turn addr for `sethi' into MEM for %m.
                   3874: 
                   3875:        * c-typeck.c (convert_for_assignment): move test for ERROR_MARK.
                   3876: 
                   3877:        * c-parse.y (unary_expr): Allow cast_expr as arg of unary op.
                   3878: 
                   3879:        * stmt.c (expand_decl): Don't abort if FUNCTION_DECL lacks rtl;
                   3880:        assemble_variable is called after this.
                   3881: 
                   3882:        * c-parse.y (primary -> identifier): Separate case for undeclared
                   3883:        identifier outside of functions; avoids confusing error msgs.
                   3884: 
                   3885: Thu Jan  5 01:24:47 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3886: 
                   3887:        * Makefile (install): Ignore errors in all `if' commands.
                   3888:        Create $(libdir) if nec.
                   3889: 
                   3890:        * Makefile (insn-*.[ch]): Put in empty commands.  May help Ultrix Make.
                   3891: 
                   3892:        * stmt.c (emit_case_nodes): New arg UNSIGNEDP says do unsigned jumps.
                   3893:        Arg INDEX is an rtx, not a tree.
                   3894:        (expand_end_case): Pass that arg.
                   3895:        (node_has_{low,high}_bound): check for overflow, avoid confusion.
                   3896: 
                   3897: Wed Jan  4 02:24:21 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3898: 
                   3899:        * sparc.md (movdi, movdf): Use `&' constraint when loading reg from;
                   3900:        otherwise can lose on (set (reg X) (mem (plus (reg X) (reg X+1)))).
                   3901: 
                   3902:        * expr.c (emit_push_insn): For memory scalar partially going in regs,
                   3903:        copy each word to reg before pushing.  Avoids memory-to-memory move.
                   3904:        Make the displaced address valid.
                   3905:        Also delete unfinished STACK_OFFSET variable.
                   3906: 
                   3907:        * c-parse.y (check_newline): Read just one #-directive and return.
                   3908:        This prevents lossage when toplev.c calls it to get the main input file
                   3909:        name, and it gets a following #ident as well.
                   3910: 
                   3911:        * c-decl.c (lang_decode_option): Set warn_cast_qual for -Wcast-qual.
                   3912:        * c-typeck.c (build_c_cast): Issue some warnings if set.
                   3913: 
                   3914:        * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Missing `;'.
                   3915: 
                   3916: Tue Jan  3 18:07:31 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3917: 
                   3918:        * expr.c (emit_library_call): Do force_operand on each operand
                   3919:        if it isn't a REG, MEM or constant.
                   3920:        Do this, or mode conversions, earlier, before loading any hard regs.
                   3921: 
                   3922:        * m68k.md (addsi3) [SGS]: Put a zero displacement in the `lea'.
                   3923: 
                   3924:        * c-typeck.c (default_conversion): Don't lose `const' or `volatile'
                   3925:        when converting array type to pointer.
                   3926: 
                   3927: Mon Jan  2 01:18:01 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3928: 
                   3929:        * expmed.c (store_bit_field, store_fixed_bit_field): New arg,
                   3930:        alignment in bytes the structure is known to have.
                   3931:        (store_fixed_bit_field): Handle working in halfwords,
                   3932:        in case the pointer isn't known to have fullword alignment.
                   3933:        * expmed.c (extract_bit_field, extract_fixed_bit_field): likewise.
                   3934:        (extract_bit_field): fix unsignedp arg to extract_fixed_bit_field.
                   3935:        * expr.c (store_field): New arg, passed to {store,extract}_bit_field
                   3936:        (expand_assignment, store_constructor): Pass that arg.
                   3937:        (expand_expr): Pass new arg to extract_bit_field.
                   3938: 
                   3939:        * m68k.md (casesi_2 recognizer): Offset always 6 for 3b1.
                   3940: 
                   3941:        * c-typeck.c (convert_for_assignment): Strip from rhs no-op NOP_EXPRs
                   3942:        put on by build_c_cast (to make the result not an lvalue).
                   3943:        (build_modify_expr, build_compound_expr): likewise.
                   3944:        (build_conditional_expr): likewise.
                   3945:        (actualparameterlist, build_function_call): likewise.
                   3946:        (default_conversion, truthvalue_conversion): likewise.
                   3947: 
                   3948:        * loop.c (move_movables): If reg has moved out of one loop,
                   3949:        divide `savings' by 2.
                   3950: 
                   3951: Sun Jan  1 03:00:07 1989  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   3952: 
                   3953:        * c-typeck.c (truthvalue_conversion): Distribute the conversion
                   3954:        into the arms of a COND_EXPR.
                   3955: 
                   3956:        * cse.c (fold_rtx): Don't fold a MINUS with VOIDmode
                   3957:        into a symbolic constant--it's incorrect.
                   3958: 
                   3959:        * cse.c (cse_insn): If SRC is a subreg with known value, simplify it.
                   3960: 
                   3961:        * integrate.c (copy_rtx_and_substitute): Allow a ref to a part of
                   3962:        MEM parm whose actual parm is a reg, provided it refs
                   3963:        the low part of the MEM.
                   3964:        (function_cannot_inline_p): Don't inline functions which have
                   3965:        aggregate parameters and take their addresses.  This could produce
                   3966:        refs to non-low-parts, which copy_rtx_and_substitute can't handle.
                   3967: 
                   3968:        * c-typeck.c (build_modify_expr): If lhs is COND_EXPR,
                   3969:        make a COMPOUND_EXPR to ensure the rhs is computed before the branch.
                   3970: 
                   3971:        * Implement -pipe.
                   3972:        * gcc.c (do_spec_1): `|' is now a special delimiter
                   3973:        which goes in the argbuf.
                   3974:        When a newline is preceded by a `|', delete it if no -pipe.
                   3975:        Otherwise, don't execute yet, and keep scanning.
                   3976:        (do_spec): At end, if we have stuff with no newline, execute it.
                   3977:        (handle_braces): Implement %{|foo:...}.
                   3978:        (execute): If argbuf contains some `|'s, run several processes
                   3979:        and pipe them together.
                   3980:        (pexecute): new subroutine to make one of the processes.
                   3981:        (find_exec_file): new fn to search for program to execute.
                   3982:        (record_temp_file): new arg FAIL_ONLY.
                   3983:        (store_arg): 2nd arg == 3 means delete file on failure.
                   3984:        This is used for output files.
                   3985:        (delete_temp_files): delete certain files only if fail.
                   3986: 
                   3987:        * cccp.c (include_defaults): /usr/include before /usr/local/include.
                   3988: 
                   3989:        * recog.c (asm_noperands): 1-off in loop checking CLOBBERS
                   3990:        when no output operands and PARALLEL.
                   3991: 
                   3992:        * expmed.c (negate_rtx): Sign-extend the high bits rather than clear.
                   3993: 
                   3994:        * cse.c (fold_rtx): fold negation of real values.
                   3995:        (fold_cc0): fold comparisons on real values.
                   3996: 
                   3997:        * Makefile (install): Use $(INSTALL) for gcc.1 and files in USER_H.
                   3998: 
                   3999:        * Handle floating-point problems for cross-compilation.
                   4000: 
                   4001:        * real.h (CONST_DOUBLE_LOW, etc.): new macros to access CONST_DOUBLE.
                   4002:        * varasm.c (immed_double_const, decode_rtx_const): Use these.
                   4003:        ({force,clear}_const_double_mem): Likewise.
                   4004:        * output-*.c (output_move_double): Use these.
                   4005:        * output-m68k.c (standard_{68881,sun_fpa}_constant_p): Likewise.
                   4006:        * tm-*.h (PRINT_OPERAND): Use these.
                   4007:        * output-i386.c (print_operand): Use these.
                   4008:        * final.c (output_addr_const): Likewise.
                   4009:        * emit-rtl.c (gen_rtx): Delete special code for CONST_DOUBLE.
                   4010: 
                   4011:        * real.h (union real_extract): Portable type for storing real as ints.
                   4012:        * varasm.c (immed_double_const, decode_rtx_const): Use these.
                   4013: 
                   4014:        * varasm.c (immed_real_const_1, decode_rtx_const):
                   4015:        Don't assume REAL_VALUE_TYPE is 2 ints long.
                   4016:        * emit-rtl.c (init_emit_once): Likewise.
                   4017: 
                   4018:        * real.h (REAL_VALUE_TYPE): Define as `double' if not defined.
                   4019:        (REAL_IS_NOT_DOUBLE): Define this if default REAL_VALUE_TYPE not used.
                   4020:        (REAL_VALUES_EQUAL, REAL_VALUES_LESS): Define, if not already defined.
                   4021:        (REAL_VALUE_LDEXP, REAL_VALUE_ATOF): Likewise.
                   4022:        * tree.h (struct tree_real_cst): Use REAL_VALUE_TYPE for the value.
                   4023: 
                   4024:        * rtl.c (init_rtl): Increase length of CONST_DOUBLE if REAL_VALUE_TYPE
                   4025:        needs more space.  Change the rtx_format element to match.
                   4026:        * varasm.c (immed_real_const_1): 1st arg now has REAL_VALUE_TYPE.
                   4027:        (force_const_mem): Assume a CONST_DOUBLE contains REAL_VALUE_TYPE.
                   4028:        * emit-rtl.c (init_emit_once): Likewise.
                   4029:        And use REAL_VALUE_ATOF to get a floating zero.
                   4030:        * optabs.c (expand_float): Use REAL_VALUE_TYPE, REAL_VALUE_LDEXP.
                   4031:        * c-parse.y (yylex): Likewise, and use REAL_VALUE_ATOF.
                   4032:        * fold-const.c (split_tree): Don't accept REAL_CSTs.
                   4033:        (combine, fold_convert, fold): Use REAL_ARITHMETIC if defined;
                   4034:        else don't fold reals if they are not doubles.
                   4035:        * tree.c (build_real_from_int_cst): Likewise.
                   4036:        * print-tree.c (dump) [REAL_IS_NOT_DOUBLE]: output float value
                   4037:        in hex, since we don't know how to do it right.
                   4038: 
                   4039: Sat Dec 31 14:15:13 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4040: 
                   4041:        * optabs.c (init_optabs): Handle new macros {U,}MULSI3_LIBCALL,
                   4042:        DIVSI3_LIBCALL, MODSI3_LIBCALL.
                   4043:        * tm-sparc.h: Define {,U}{MUL,DIV,MOD}SI3 to call Sun's library direct.
                   4044: 
                   4045:        * tm-sun3-nfp.h, tm-sun3-fpa.h: New files.
                   4046: 
                   4047: Fri Dec 30 00:14:36 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4048: 
                   4049:        * cccp.c (main): Certain envvars specify a file to write deps info to.
                   4050: 
                   4051:        * toplev.c (compile_file): Warn about undefined fns declared static.
                   4052: 
                   4053:        * m68k.md (casesi_2 recognizer) [SGS] RTX_INTEGRATED_P test backwards.
                   4054:        * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Likewise.  Also missing `\'.
                   4055: 
                   4056:        * reload1.c (count_occurrences): New function.
                   4057:        (choose_reload_targets): Don't delete a reload if the same reg
                   4058:        is used elsewhere in the current insn.
                   4059:        (delete_output_reload): code split out from choose_reload_targets.
                   4060: 
                   4061:        * c-typeck.c (build_c_cast): Always put on some operator,
                   4062:        so the cast is never an lvalue for strict ANSI.
                   4063: 
                   4064:        * c-typeck.c (initializer_constant_valid_p): Don't depend on
                   4065:        distinction between NOP_EXPR and CONVERT_EXPR.
                   4066: 
                   4067:        * c-convert.c: Fns reordered; new comments.
                   4068: 
                   4069:        * fold-const.c (fold): If simplifying a NOP_EXPR within a BIT_AND_EXPR,
                   4070:        return a NOP_EXPR.
                   4071:        New var TYPE holds type of expr.
                   4072: 
                   4073:        * c-parse.y (expr_no_commas): Split off cast_expr and unary_expr,
                   4074:        to reject `sizeof (int) foo'.
                   4075: 
                   4076:        * toplev.c (main): Treat plain `-' as input filename.
                   4077: 
                   4078:        * final.c (final): If an insn's output routine returns 0,
                   4079:        it means to output the deleted compare insn immediately preceding.
                   4080: 
                   4081:        * m68k.md (branch insns): Use 0 as 3rd arg for OUTPUT_JUMP
                   4082:        rather than explicitly clearing the overflow flag.
                   4083: 
                   4084:        * tm-i386.h (OUTPUT_JUMP): Really use NO_OV; don't abort.
                   4085:        * i386.md (branch insns): Put real data (sometimes 0) in 3rd arg
                   4086:        of OUTPUT_JUMP.  0 means preceding test may not be deleted.
                   4087:        (lea pattern): Clear the cc's.
                   4088:        * output-i386.c (notice_update_cc): various arith insns set the cc's.
                   4089: 
                   4090: Thu Dec 29 13:22:01 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4091: 
                   4092:        * stmt.c (expand_decl_init): Do nothing for static decls.
                   4093: 
                   4094:        * reload.c (find_reloads_address{,_1}): Return 1 iff entire arg
                   4095:        was reloaded as a whole, else 0.
                   4096:        (find_reload): If find_reloads_address returns 1, don't let that MEM
                   4097:        satisfy a `>' or `<' constraint.
                   4098: 
                   4099:        * m68k.md (cmpmb): Delete special pattern, make cmpqi handle it.
                   4100:        The special pattern couldn't handle reloading the incremented register.
                   4101: 
                   4102:        * integrate.c (copy_rtx_and_substitute): Test BYTES_BIG_ENDIAN,
                   4103:        not BITS...
                   4104: 
                   4105:        * combine.c (subst): Consider big-endian correction
                   4106:        when simplifying (subreg (mem ...) ...).
                   4107: 
                   4108:        * reload.c (find_reloads): Don't crash if matching operands in `asm'
                   4109:        are both read or both write.
                   4110: 
                   4111:        * expr.c (emit_push_insn): Address for movstr must be XINNER, not X.
                   4112: 
                   4113:        * toplev.c (main): Typo parsing `-fno...'.
                   4114: 
                   4115: Wed Dec 28 13:07:21 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4116: 
                   4117:        * toplev.c (rest_of_compilation): `volatile' fns need jump_optimize
                   4118:        for warnings, as if -Wreturn-type.
                   4119:        * c-typeck.c (c_expand_return): Warn about `return' in a `volatile' fn.
                   4120:        * c-decl.c (finish_function): Warn if `volatile' fn can drop thru end.
                   4121: 
                   4122:        * cse.c (canon_reg): Handle nulls as subexpressions.
                   4123:        (fold_rtx, canon_hash, mention_regs, exp_equiv_p): Likewise.
                   4124:        * loop.c (invariant_p, replace_regs, replace_call_address, may_trap_p,
                   4125:        {basic,general}_induction_var): Likewise.
                   4126: 
                   4127:        * expr.c (expand_call): Handle `const' functions:
                   4128:        Local IS_CONST is 1 if function is const.
                   4129:        Attach REG_RETVAL and REG_LIBCALL notes around the call.
                   4130:        Copy fn address to register outside of those notes.
                   4131:        Likewise precompute all parms outside them.
                   4132: 
                   4133:        * expr.c (expand_call): If fn is volatile, emit barrier after the call.
                   4134: 
                   4135:        * c-decl.c (grokdeclarator): Allow function declared const or volatile.
                   4136: 
                   4137: Sat Dec 24 18:40:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4138: 
                   4139:        * integrate.c (function_cannot_inline_p): If STRUCT_VALUE_INCOMING
                   4140:        or STRUCT_VALUE is defined, can't inline functions returning BLKmode.
                   4141: 
                   4142: Fri Dec 23 13:26:26 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4143: 
                   4144:        * expr.c (store_constructor): Compute array's size
                   4145:        with int_size_in_bytes.
                   4146: 
                   4147:        * varasm.c (assemble_variable): If shared data, go to data section
                   4148:        before outputting an uninitialized symbol.
                   4149: 
                   4150:        * tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Missing backslash.
                   4151:        (SHARED_SECTION_ASM_OP): Macro defined.
                   4152:        * tm-seq386.h (SHARED_SECTION_ASM_OP): Macro defined.
                   4153: 
                   4154:        * c-typeck.c (c_expand_asm_operands): Warn if output op is `const'.
                   4155: 
                   4156:        * Fix problem where a stmt expr in an initialization
                   4157:        refers to the variable it is initializing.
                   4158:        * stmt.c (expand_decl_init): New fn split out from `expand_decl'.
                   4159:        * c-decl.c (finish_decl): Call that.
                   4160:        Don't call expand_decl if already done.
                   4161:        (start_decl): Call expand_decl if type is complete already.
                   4162: 
                   4163:        * Makefile (install): Typo in ranlib command.
                   4164: 
                   4165: Thu Dec 22 15:57:12 1988  Richard Stallman  (rms at sugar-bombs.ai.mit.edu)
                   4166: 
                   4167:        * tree.h (tree_identifier): New field.
                   4168:        (IDENTIFIER_ERROR_LOCUS): Accessor for it.
                   4169:        * c-parse.y (primary => IDENTIFIER):
                   4170:        Undeclared variable gets one err msg per function it appears in.
                   4171: 
                   4172:        * ns32k.md (andsi3): Delete extra brace.
                   4173: 
                   4174:        * alliant.md, xm-alliant.h, tm-alliant.h, output-alliant.c: New files.
                   4175: 
                   4176:        * combine.c (SUBST, SUBST_INT): Store new field `is_int'.
                   4177:        (copy_substitutions): Don't copy an int as an rtx.
                   4178: 
                   4179:        * Makefile (INSTALL): Install gcc.1 properly.
                   4180: 
                   4181:        * tm-ns32k.h (FUNCTION_PROLOGUE, ASM_OUTPUT_ALIGN_CODE):
                   4182:        Add missing backslashes.
                   4183: 
1.1.1.9   root     4184: See file OChangeLog.
1.1       root     4185: 
                   4186: Local Variables:
                   4187: mode: indented-text
                   4188: left-margin: 8
                   4189: fill-column: 76
                   4190: version-control: never
                   4191: End:

unix.superglobalmegacorp.com

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