|
|
1.1 ! root 1: ! 2: Sat Oct 31 15:19:54 1992 Richard Stallman ([email protected]) ! 3: ! 4: * Version 2.3 released. ! 5: ! 6: * Makefile.in (install-libobjc): New target. ! 7: ($(srcdir)/gcc.dvi, $(srcdir)/cpp.dvi): New targets. ! 8: (extraclean): rm *diff, *lose, config/*lose. ! 9: (mostlyclean): rm config/core. ! 10: ! 11: * objc-actions.c (OBJC_SELECTORS_WITHOUT_LABELS): Define by default. ! 12: ! 13: Fri Oct 30 20:11:52 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 14: ! 15: * i386.c (output_move_double): Undo 10/25 change. Handle case ! 16: where part of a dest reg is used in a src mem rtx, without using ! 17: stack. ! 18: ! 19: Fri Oct 30 18:52:57 1992 Michael Meissner ([email protected]) ! 20: ! 21: * mips.h (MIPS_VERSION): Bump meissner version number to 28. ! 22: ! 23: * mips.md (addsi3, subsi3): Don't allow -32768 as the second ! 24: operand, the assembler complains if the instruction fills a delay ! 25: slot. ! 26: ! 27: Fri Oct 30 16:11:37 1992 Richard Stallman ([email protected]) ! 28: ! 29: * combine.c (simplify_shift_const): ! 30: For a subreg, require subreg_lowpart_p and not paradoxical. ! 31: ! 32: * Makefile.in (install-fixincludes): Ignore dirs that don't exist. ! 33: ! 34: Thu Oct 29 20:15:44 1992 Richard Stallman ([email protected]) ! 35: ! 36: * gvarargs.h, gstdarg.h [4.3 net 2]: If _VA_LIST_, is undefined ! 37: then va_list is already declared. ! 38: ! 39: * i386gas.h (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): ! 40: Override, if NO_UNDERSCORES. ! 41: ! 42: Thu Oct 29 17:30:52 1992 Richard Kenner ([email protected]) ! 43: ! 44: * flow.c (life_analysis): Mark FP live at end of function. ! 45: * reload1.c (reload): If FP was eliminated, remove it from ! 46: being live in any basic block. ! 47: ! 48: * varasm.c (output_constant_pool): Labels can be deleted by being ! 49: turned into NOTEs, not just have INSN_DELETED_P. ! 50: ! 51: Thu Oct 29 16:15:47 1992 Richard Stallman ([email protected]) ! 52: ! 53: * gstdarg.h: Use _ANSI_STDARG_H_, not _ANSI_STDARG_H. ! 54: ! 55: * gstddef.h [4.3 net 2]: If _SIZE_T_, etc. are undefined ! 56: then type is already declared. ! 57: ! 58: * m68k.c (print_operand_address) [MOTOROLA !SGS]: ! 59: Don't subtract 2 in the address displacement. ! 60: ! 61: Thu Oct 29 14:36:23 1992 Michael Meissner ([email protected]) ! 62: ! 63: * libgcc2.c (__builtin_vec_new): #undef NULL before including ! 64: stdio.h to prevent redeclaration message. ! 65: (pyramid __enable_execute_stack): Ditto. ! 66: ! 67: * i386rose.h (YES_UNDERSCORES): Define. ! 68: (ASM_OUTPUT_LABELREF): Don't redefine. ! 69: ! 70: * mips.h (ASM_FINAL_SPEC): If cross compiling, don't invoke ! 71: mips-tfile by default. ! 72: ! 73: * decrose.h (ASM_FINAL_SPEC): If cross compiling, don't invoke ! 74: mips-tfile by default. ! 75: ! 76: * mips-tdump.c, mips-tfile.c: Handle the case where CROSS_COMPILE ! 77: is defined more gracefully. ! 78: ! 79: Thu Oct 29 12:10:16 1992 Tim Moore (moore at defmacro.cs.utah.edu) ! 80: ! 81: * combine.c (make_extraction): Fix paren error in if for INNER is reg. ! 82: ! 83: Thu Oct 29 13:49:03 1992 Jim Wilson ([email protected]) ! 84: ! 85: * xm-mipsbsd.h: Really delete file. ! 86: ! 87: Thu Oct 29 02:48:28 1992 Tom Wood ([email protected]) ! 88: ! 89: * dwarfout.c, arm.c, m88k.c: Include "assert.h" instead of <assert.h>. ! 90: ! 91: Thu Oct 29 00:43:00 1992 Richard Stallman ([email protected]) ! 92: ! 93: * gstddef.h [4.3 net 2]: Force inclusion of ansi.h. ! 94: Undef _SIZE_T_, _PTRDIFF_T_, _WCHAR_T_ at end. ! 95: ! 96: * Makefile.in (libgcc2.a, libgcc1.a): Use || to exit if cp fails. ! 97: (install-float-h-cross): Use fi, not done. ! 98: Write float.h in $(tmpdir), not in `.'. ! 99: (tmpdir): New variable. ! 100: ! 101: * i386gas.h (NO_UNDERSCORES): Test was backwards. ! 102: (SDB_DEBUGGING_OUTPUT): Defined. ! 103: ! 104: Wed Oct 28 16:33:34 1992 Richard Stallman ([email protected]) ! 105: ! 106: * gstdarg.h, gvarargs.h: ! 107: On Net 2 system, don't test, define or undef _VA_LIST_. ! 108: Use _ANSI_H_, __BSD_NET2__ and ____386BSD____ to test for this. ! 109: ! 110: * i386bsd.h (CPP_PREDEFINES): Add ____386BSD____. ! 111: ! 112: * c-decl.c (pushdecl): Allow redeclaring builtin as any sort of static. ! 113: ! 114: * Makefile.in (install-cross-tools): Fix typo. ! 115: (all.build): Dep on xgcc instead of $(GCC_PASSES). ! 116: ! 117: Wed Oct 28 15:25:42 1992 Tom Wood ([email protected]) ! 118: ! 119: * m88k.c (print_operand): When AS_BUG_FLDCR is defined, use alternate ! 120: fldcr form. ! 121: * m88kdgux.h (AS_BUG_FLDCR): Define to accomodate 4.30 assembler bug. ! 122: ! 123: * m88kv3.h (CPP_PREDEFINES): Add -Dunix. ! 124: ! 125: * m88kdolph.h (SDB_ALLOW_FORWARD_REFERENCES): Don't override. ! 126: ! 127: Wed Oct 28 05:34:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 128: ! 129: * reload1.c (gen_input_reload): In PLUS, if OP0 and OP1 are the ! 130: same, use RELOADREG when generating the addition. ! 131: ! 132: * reload.c (find_reloads_address): When copying memref after we've ! 133: made recursive calls on it, copy any replacements we made. ! 134: ! 135: * combine.c (can_combine_p): Don't substitute an expression ! 136: containing a register that will be clobbered in I3. ! 137: ! 138: * objc/core.c, objc/hash.c: Include tconfig.h, not config.h. ! 139: Include gstdarg.h. ! 140: * objc/object.m: Include tconfig.h, not config.h. ! 141: Include gstdarg.h before stdio.h. ! 142: * objc/objc.h: Don't include gstdarg.h here. ! 143: * objc/objc-proto.h (CLASS_LOCATION_SHIFT): Use HOST_BITS_PER_LONG, ! 144: not BITS_PER_WORD. ! 145: (setClassNumber, getClassNumber): `info' field is long, not int. ! 146: ! 147: Wed Oct 28 10:54:50 1992 Michael Meissner ([email protected]) ! 148: ! 149: * libgcc2.c (L_caps_new): Properly close comment. ! 150: ! 151: Wed Oct 28 05:50:10 1992 Torbjorn Granlund ([email protected]) ! 152: ! 153: * pa.md (mulsi): Input predicates back to srcsi_operands. ! 154: Don't handle constants specifically for TARGET_SNAKE, but call ! 155: force_reg to put them in registers. ! 156: (indexed addressing mode patterns): Remove the patterns with ! 157: unscaled index. Switch off patterns that never match. ! 158: ! 159: * longlong.h (file header): Add comment describing sdiv_qrnnd. ! 160: (__hppa sub_ddmmss): Swap input operands. ! 161: ! 162: * gcc.c (process_command): Check that we have enough arguments. ! 163: ! 164: Wed Oct 28 00:40:18 1992 Richard Stallman ([email protected]) ! 165: ! 166: * configure (i[34]86-*-sysv*): Take note of $stabs. ! 167: * i386gas.h (SDB_DEBUGGING_INFO): #undef deleted. ! 168: (DBX_DEBUGGING_INFO): Definition deleted. ! 169: * i386gstabs.h: New file. ! 170: ! 171: * Makefile.in (mostlyclean): Don't delete tmp-limits.h. ! 172: ! 173: * i386vgas.h: File deleted. ! 174: ! 175: Tue Oct 27 15:35:51 1992 Richard Stallman ([email protected]) ! 176: ! 177: * libgcc2.c: Include stdio.h. ! 178: [__GNU_LIBRARY__] (write): Defined. ! 179: ! 180: * Makefile.in (install-cross-tools): When handling $(tooldir)/include, ! 181: do all cd's starting from build directory. ! 182: ! 183: * i386gas.h (NO_UNDERSCORES): Don't define, if YES_UNDERSCORES. ! 184: * i386linux.h (YES_UNDERSCORES): Defined. ! 185: ! 186: Tue Oct 27 14:17:43 1992 Jim Wilson ([email protected]) ! 187: ! 188: * configure (i[34]86-*-linux): Set broken_install. ! 189: * x-linux (INSTALL): Delete. ! 190: * x-iris (INSTALL): Delete. ! 191: ! 192: Tue Oct 27 13:39:22 1992 Tim Moore ([email protected]) ! 193: ! 194: * pa.h (ASM_GLOBALIZE_LABEL): Give function symbols CODE type, ! 195: others DATA type. ! 196: ! 197: Mon Oct 26 16:40:43 1992 Richard Stallman ([email protected]) ! 198: ! 199: * c-typeck.c (build_c_cast): Don't warn about size change between ! 200: pointer and integer if the value is constant. ! 201: ! 202: * Makefile.in (libobjc.a): If ln fails, copy libobjc.a. ! 203: ! 204: Mon Oct 26 16:21:11 1992 Tim Moore ([email protected]) ! 205: ! 206: * pa.h (EXPORT_PARMS, ASM_DECLARE_FUNCTION): Blow away usage of ! 207: EXPORT_PARMS. BUGGY_GAS isn't a problem any more. ! 208: (TEXT_SPACE_P, FUNCTION_NAME_P): New macros. ! 209: (ENCODE_SECTION_INFO): Use TEXT_SPACE_P. ! 210: (STRIP_NAME_ENCODING): Strip a '*' which might preceed a '@'. ! 211: (ASM_OUTPUT_EXTERNAL): Give only function labels a CODE type. ! 212: (ASM_OUTPUT_LABELREF): Use FUNCTION_NAME_P. ! 213: * pa.c (hppa_encode_label): Change function name encoding to ! 214: preserve leading '*' if there is one. ! 215: (function_label_operand): Use FUNCTION_NAME_P macro. ! 216: ! 217: Mon Oct 26 14:39:46 1992 Torbjorn Granlund ([email protected]) ! 218: ! 219: From Tim Moore: ! 220: * function.c (locate_and_pad_parm): In ARGS_GROW_DOWNWARD case, ! 221: don't pad to argument alignment if where_pad is downward. ! 222: ! 223: Mon Oct 26 11:21:36 1992 Chris Smith ([email protected]) ! 224: ! 225: * convex.h (SHIFT_COUNT_TRUNCATED): Undefine. ! 226: ! 227: Mon Oct 26 07:48:35 1992 Richard Kenner ([email protected]) ! 228: ! 229: * alpha.c (print_operand, new 'L'): New case. ! 230: * alpha.md (movhi/movqi patterns): For long constants, use 'i' ! 231: constraint instead of 'K'; use "%L1" in template. ! 232: ! 233: * configure (alpha): Set use_collect2. ! 234: ! 235: Mon Oct 26 04:19:24 1992 Richard Stallman ([email protected]) ! 236: ! 237: * xm-alpha.h: Declare calloc. ! 238: ! 239: Sun Oct 25 17:19:52 1992 Richard Stallman ([email protected]) ! 240: ! 241: * function.c (fixup_var_refs_insns): Don't call delete_insn if not -O. ! 242: Make a NOTE_INSN_DELETED instead. ! 243: ! 244: Sun Oct 25 11:57:04 1992 Chris Smith ([email protected]) ! 245: ! 246: * convex.h (target_flags): prevent -mnoc2 from clearing ! 247: TARGET_INDIRECTS. ! 248: (TARGET_INDIRECTS): Always on. ! 249: ! 250: Sun Oct 25 16:56:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 251: ! 252: * calls.c (expand_call): Don't call convert_to_mode if we obtained ! 253: VALUE in the proper mode; VALUE might be a CONST_INT. ! 254: ! 255: Sun Oct 25 03:18:03 1992 Richard Stallman ([email protected]) ! 256: ! 257: * expr.c (gen_push_operand): No longer static. ! 258: ! 259: * i386.c (output_move_double): Divert first word via the stack ! 260: if it's a register used in the input operand. ! 261: * i386.md (movdi): Delete the `&' from constraint. ! 262: ! 263: Sat Oct 24 21:41:00 1992 Chris Smith ([email protected]) ! 264: ! 265: * convex.md (movstrictsi): Correct output constraint is + not =. ! 266: ! 267: Sat Oct 24 14:10:43 1992 Richard Stallman ([email protected]) ! 268: ! 269: * news.h (FUNCTION_EPILOGUE): Fix typos. ! 270: ! 271: * cccp.c (get_lintcmd): Length of `LINTLIBRARY' is 11. ! 272: ! 273: Sat Oct 24 13:22:09 1992 Torbjorn Granlund ([email protected]) ! 274: ! 275: * arm.md (DImode patterns): Add `&' to target operand constraints. ! 276: ! 277: * Makefile.in (setting version variable): Prepend $(srcdir) to ! 278: version.c. ! 279: ! 280: From Wilson: ! 281: * longlong.h (sparclite): Use machine independent USItype instead ! 282: of explicit types. ! 283: ! 284: Sat Oct 24 10:35:18 1992 Richard Kenner ([email protected]) ! 285: ! 286: * rs6000.md (movdi): Tests were in wrong order. ! 287: ! 288: * rs6000.h (LEGITIMIZE_ADDRESS): Indexed addresses are not valid ! 289: for DImode and TImode; GO_IF_LEGITIMATE_ADDRESS knows this. ! 290: ! 291: * Makefile.in (mostlyclean): Add missing semicolon. ! 292: ! 293: * a29k.c (a29k_set_memflags, a29k_set_memflags_1): New functions. ! 294: * a29k.md (movqi, movhi, reload_{in,out}{qi,hi}): Use them. ! 295: ! 296: * alpha.c (get_aligned_mem): Copy memory flags to new MEM. ! 297: (alpha_set_memflags, alpha_set_memflags_1): New functions. ! 298: * alpha.md (movqi, movhi, reload_{in,out}{qi,hi}): Use new ! 299: functions. ! 300: ! 301: * alpha.h (ASM_FILE_START): Stop at blank in version string. ! 302: ! 303: Sat Oct 24 04:35:16 1992 Richard Stallman ([email protected]) ! 304: ! 305: * reload1.c (emit_reload_insns): If not -O, Don't try find_equiv_reg. ! 306: (choose_reload_regs): If not -O, don't inherit reloads. ! 307: ! 308: Fri Oct 23 18:07:10 1992 Richard Stallman ([email protected]) ! 309: ! 310: * news.h (FUNCTION_EPILOGUE): ! 311: If no frame ptr, increment stack ptr to free up the local space. ! 312: ! 313: * gcc.c (process_command): Discard after first space in spec_version. ! 314: ! 315: * print-tree.c (print_node): Always output `>' to match `<'. ! 316: ! 317: * Makefile.in (version): Use sed to extract. ! 318: Ignore excess after space. ! 319: (install-fixincludes): Fix typo in last change. ! 320: ! 321: * configure (i386-ibm-aix*): Use aix386ng.h if not --with-gas. ! 322: * aix386ng.h: New file. ! 323: ! 324: Fri Oct 23 15:14:49 1992 Brendan Kehoe ([email protected]) ! 325: ! 326: * sdbout.c (sdbout_symbol): Return if a symbol's DECL_NAME is ! 327: empty, since we won't be able to make a symtab of it. ! 328: ! 329: * convex.h (P_tmpdir): Remove definition. ! 330: * xm-convex.h: Put it here. ! 331: ! 332: Fri Oct 23 10:27:34 1992 Michael Meissner ([email protected]) ! 333: ! 334: * i386rose.h (ASM_OUTPUT_LABELREF): Define so that external ! 335: identifiers have leading underscores in front of them. ! 336: ! 337: * mips-tfile.c (parse_stabs_common): Allow stabs with line numbers ! 338: of 0. These come from g++ for compiler generated functions that ! 339: take arguments. ! 340: ! 341: Fri Oct 23 07:49:12 1992 Richard Kenner ([email protected]) ! 342: ! 343: * romp.c (output_fpops): Add SYMBOL_REF and LABEL_REF cases to ! 344: constants handled. ! 345: ! 346: Fri Oct 23 01:58:12 1992 Richard Stallman ([email protected]) ! 347: ! 348: * flow.c (find_basic_blocks): Check for LABEL_REF_NONLOCAL_P ! 349: in label_value_list. ! 350: * jump.c (mark_jump_label): Copy LABEL_REF_NONLOCAL_P from ! 351: LABEL_REF into REG_LABEL note. ! 352: ! 353: * toplev.c (push_float_handler): Declare arg old_handler. ! 354: ! 355: * t-next (OTHER_FIXINCLUDES_DIRS): Defined. ! 356: ! 357: * Makefile.in (OTHER_FIXINCLUDES_DIRS): New variable, normally empty. ! 358: (install-fixincludes): Run fixincludes on those dirs. ! 359: * fixincludes: Convert //-style comments to /*...*/ style. ! 360: ! 361: * loop.c (record_biv): Clear total_benefit field of new iv_class. ! 362: (get_condition): ! 363: Verify op 2 of source is label_ref before looking within. ! 364: ! 365: Thu Oct 22 21:17:53 1992 Tim Moore (moore at defmacro.cs.utah.edu) ! 366: ! 367: * varasm.c (STRIP_NAME_ENCODING): New macro to decode a symbol name ! 368: munged by ENCODE_SECTION_INFO. ! 369: (assemble_start_function, assemble_variable): Use STRIP_NAME_ENCODING. ! 370: * pa.h (STRIP_NAME_ENCODING): New definition. ! 371: ! 372: Thu Oct 22 17:53:37 1992 Richard Stallman ([email protected]) ! 373: ! 374: * Makefile.in (mostlyclean): Clean objc subdir only if it exists. ! 375: ! 376: * news.h (FUNCTION_PROLOGUE): Do allocate local stack space ! 377: when no frame pointer. ! 378: ! 379: Thu Oct 22 15:21:27 1992 Jim Wilson ([email protected]) ! 380: ! 381: * i960.h (FUNCTION_VALUE): Simplify, just return reg 0. ! 382: * i960.c (i960_function_value): Delete. ! 383: ! 384: Thu Oct 22 09:42:50 1992 Michael Meissner ([email protected]) ! 385: ! 386: * mips-tfile.c (parse_stabs_common): Ignore stab line numbers ! 387: of 0, since the G++ front end generates them. Check whether ! 388: line numbers can fit within the index field, and if not report ! 389: an error. ! 390: ! 391: * mips.c (function_arg): Align passed structures to double word ! 392: boundary if structure has double word alignment. ! 393: ! 394: * mips.h (STACK_DYNAMIC_OFFSET): Do not define this macro in order ! 395: to work around a bug. ! 396: ! 397: Thu Oct 22 08:00:43 1992 Richard Stallman ([email protected]) ! 398: ! 399: * gstdarg.h, gvarargs.h: Treat _AIX and _M_UNIX like __svr4__. ! 400: ! 401: * i386gas.h (NO_UNDERSCORES): Defined. ! 402: ! 403: * next.h (INCLUDE_DEFAULTS): Put in GPLUSPLUS_INCLUDE_DIR, ! 404: GCC_INCLUDE_DIR, LOCAL_INCLUDE_DIR, STANDARD_INCLUDE_DIR. ! 405: Don't define at all if cross-compiling. ! 406: ! 407: * tree.c (copy_node): Copy the excess bytes--don't clear them. ! 408: ! 409: Thu Oct 22 06:40:55 1992 Richard Kenner ([email protected]) ! 410: ! 411: * a29k.h (TARGET_SWITCHES): Add missing complementary switches: ! 412: -mno-stack-check and -mstorem-bug. ! 413: ! 414: * a29k.md (long constant split): Use gen_lowpart instead of making ! 415: a SUBREG directly. ! 416: ! 417: * arm.h (STORE_FLAG_VALUE): Remove bogus definition. ! 418: ! 419: Thu Oct 22 03:04:28 1992 Tom Wood ([email protected]) ! 420: ! 421: * m88k.c (prologue_marked): New variable. ! 422: (m88k_end_prologue): Output the epilogue mark here if the start of ! 423: the epilogue passed the end of the prologue. ! 424: (m88k_begin_epilogue): Don't output the epilogue mark if the end ! 425: of the prologue hasn't been processed yet. ! 426: ! 427: Thu Oct 22 03:20:40 1992 Richard Stallman ([email protected]) ! 428: ! 429: * function.c (put_var_into_stack): When we operate on a pseudo ! 430: that holds the address, use proper modes. ! 431: ! 432: * combine.c (make_extraction): Use is_mode, not inner_mode, ! 433: for BYTES_BIG_ENDIAN adjustment to offset for non-bitfield case. ! 434: Update is_mode when stripping subreg from around a mem. ! 435: ! 436: * m68k.h (GO_IF_INDEXABLE_BASE): Allow LABEL_REF only if jump table. ! 437: ! 438: Wed Oct 21 18:55:24 1992 Richard Stallman ([email protected]) ! 439: ! 440: * gstdarg.h: Check and define _ANSI_STDARG_H along with _STDARG_H. ! 441: ! 442: Wed Oct 21 11:41:39 1992 Tom Wood (wood at gen-rtx) ! 443: ! 444: * toplev.c (push_float_handler, pop_float_handler): New functions. ! 445: * fold-const.c (real_value_truncate): ! 446: Use them, in case another handler is already in effect. ! 447: ! 448: Wed Oct 21 22:08:31 1992 H.J. Lu ([email protected]) ! 449: ! 450: * Makefile (all.build): Add target $(GCC_PASSES) for xgcc. ! 451: * build-make (CC): Defined. ! 452: (CROSS_GCC_FLAGS): Deleted. ! 453: (HOST_CC): Delete -V option; CC supplies that. ! 454: ! 455: Wed Oct 21 12:34:39 1992 Torbjorn Granlund ([email protected]) ! 456: ! 457: From Wilson: ! 458: * longlong.h (sparclite udiv_qrnnd): Remove comma before ! 459: __AND_CLOBBER_CC. ! 460: ! 461: Wed Oct 21 12:24:24 1992 Michael Meissner ([email protected]) ! 462: ! 463: * decrose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names. ! 464: (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1. ! 465: ! 466: * i386rose.h (WORD_SWITCH_TAKES_ARG): Add -pic-names. ! 467: (CC1_SPEC): If -pic-names, pass -mhalf-pic to cc1. ! 468: ! 469: Wed Oct 21 07:34:16 1992 Richard Kenner ([email protected]) ! 470: ! 471: * configure (alpha): Only accept OSF/1. ! 472: ! 473: * alpha.h (ASM_FILE_START): Change .verstamp ident for BL9. ! 474: * alpha.md (div/mod): Change calling sequence to agree with BL9. ! 475: ! 476: * expr.c (do_store_flag): Ensure we don't get confused when ! 477: emit_store_flag fails and an operand has a QUEUED. ! 478: ! 479: Wed Oct 21 02:53:58 1992 Richard Stallman ([email protected]) ! 480: ! 481: * cexp.y (integer_overflow): Do nothing unless pedantic. ! 482: ! 483: Tue Oct 20 17:02:15 1992 Jim Wilson ([email protected]) ! 484: ! 485: * README, sparc.h, flow.c, regs.h: Change global-alloc.c to global.c. ! 486: ! 487: * i960.md (call, call_value): Use 'd' not 'r' constraint for scratch. ! 488: ! 489: * gcc.c (WORD_SWITCH_TAKES_ARG): Handle -Ttext and -Tbss in ! 490: addition to -Tdata. ! 491: * i960.h (WORD_SWITCH_TAKES_ARG): Delete, now unnecessary. ! 492: * next.h (WORD_SWITCH_TAKES_ARG): Add -Tbss. ! 493: * sparc.h, sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Add -Ttext and ! 494: -Tbss. ! 495: ! 496: Tue Oct 20 16:49:57 1992 Ron Guilmette (rfg at netcom.com) ! 497: ! 498: * dwarfout.c (dwarfout_file_scope_decl): Generate DIEs for ! 499: built-in non-fundamental types. ! 500: ! 501: Tue Oct 20 14:58:18 1992 Richard Stallman ([email protected]) ! 502: ! 503: * objc-actions.c (handle_impent, handle_class_ref): Use __ ! 504: to start the generated names, not period. ! 505: ! 506: Tue Oct 20 14:38:30 1992 Brendan Kehoe ([email protected]) ! 507: ! 508: * cp-method.c (fndecl_as_string): Undo change of Sep 14th for ! 509: emitting a space after the return type of a fn. ! 510: ! 511: Wed Oct 7 16:01:55 1992 Chip Salzenberg ([email protected]) ! 512: ! 513: * cp-lex.c (readescape): No warning if digits in \x are all 0's. ! 514: ! 515: Tue Oct 20 06:50:28 1992 Richard Kenner ([email protected]) ! 516: ! 517: * expr.c (force_operand): Clarify comment to say what it can return. ! 518: * integrate.c (copy_rtx_and_substitute): Don't assume force_operand ! 519: on an address returns a REG; it might be a SUBREG. Use force_reg. ! 520: ! 521: Tue Oct 20 04:54:01 1992 Richard Stallman ([email protected]) ! 522: ! 523: * tree.c (make_node, copy_node): ! 524: Don't assume node length is multiple of int. ! 525: ! 526: Mon Oct 19 18:14:56 1992 Jim Wilson ([email protected]) ! 527: ! 528: * genrecog.c (write_tree): For type SPLIT, check subroutine return ! 529: values for non-zero value not positive value. ! 530: ! 531: Mon Oct 19 16:11:04 1992 Michael Meissner ([email protected]) ! 532: ! 533: * c-typeck.c (print_table, scan_table): Add support for XPG4's %S ! 534: and %C formats for printing/reading wide characters. %lc and %ls too. ! 535: ! 536: Mon Oct 19 17:58:18 1992 Torbjorn Granlund ([email protected]) ! 537: ! 538: * arm.c (output_epilogue): Restore sp's value if no frame pointer. ! 539: ! 540: From Wilson: ! 541: * pa.h (WORD_SWITCH_TAKES_ARG): Delete sparc related cruft. ! 542: ! 543: Mon Oct 19 14:49:03 1992 Brendan Kehoe ([email protected]) ! 544: ! 545: * cp-parse.y (primary): Don't try building a CALL_EXPR or ! 546: converting types if $$ is an error_mark. ! 547: ! 548: Mon Oct 19 14:01:02 1992 Tom Wood ([email protected]) ! 549: ! 550: * m88k.h (SECONDARY_INPUT_RELOAD_CLASS): Require a temporary for a ! 551: pic address with a large constant term. ! 552: * m88k.md (reload_insi): New pattern. ! 553: (addsi3 pattern for large constants): Delete. Causes reload trouble. ! 554: * m88k.c (emit_move_sequence): Add scratch register. All callers ! 555: changed. ! 556: (legitimize_address): Add scratch register. All callers changed ! 557: to pass zero instead of gen_reg_rtx result. Allocate another temp ! 558: register for -fPIC case. Use scratch register for pic cases with ! 559: a large constant term. ! 560: ! 561: * m88k.h (FUNCTION_PROFILER_LENGTH, FUNCTION_BLOCK_PROFILER_LENGTH, ! 562: BLOCK_PROFILER_LENGTH, REG_PUSH_LENGTH, REG_POP_LENGTH): Added. ! 563: (ADJUST_INSN_LENGTH): Account for profiling code. ! 564: ! 565: Mon Oct 19 16:46:52 1992 Richard Stallman ([email protected]) ! 566: ! 567: * Makefile.in (libobjc.a): Don't mkdir objc if dir exists. ! 568: ! 569: * expr.c (store_field): If trying to sign-extend a constant, ! 570: use value_mode as the mode. ! 571: ! 572: Mon Oct 19 10:59:20 1992 Michael Meissner ([email protected]) ! 573: ! 574: * xm-umips.h (index): Define to be strchr. ! 575: (rindex): Define to be strrchr. ! 576: ! 577: * mips-tdump.c (index, rindex): Undefine these, since the MIPS ! 578: include files have a field spelled index. ! 579: ! 580: Mon Oct 19 03:34:04 1992 Richard Stallman ([email protected]) ! 581: ! 582: * Makefile.in (mostlyclean): Delete libobjc.a. ! 583: (libobjc.a): Create the objc subdir. ! 584: ! 585: Sun Oct 18 17:52:05 1992 Arne H. Juul ([email protected]) ! 586: ! 587: * objc/Makefile: Add .SUFFIXES .m and .m.o rule to keep non-GNU ! 588: make happy. ! 589: ! 590: * Makefile.in (libobjc.a): Remove libobjc.a in current directory ! 591: before attempting to hardlink it or make will fail in later stages. ! 592: (sublibobcj.a): Don't use $(MAKEFLAGS) for objc subdir stuff. ! 593: ! 594: Sun Oct 18 06:00:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 595: ! 596: * cse.c (canon_reg): Don't call validate_change if INSN is zero. ! 597: ! 598: Sun Oct 18 01:09:02 1992 Richard Stallman ([email protected]) ! 599: ! 600: * i860.h (PRINT_OPERAND): For `h', always use OPERAND_HIGH_ADJ_PART ! 601: even for integer constant addresses. ! 602: ! 603: * final.c (output_addr_const): Always use FILE, not asm_out_file. ! 604: ! 605: * cccp.c (collect_expansion): Don't add whitespace at end ! 606: if inside a string and not traditional. ! 607: (rescan): At end of string, if inside macro, always keep scanning. ! 608: ! 609: * expr.c (store_field): If signed bitfield and want value, sign extend. ! 610: ! 611: Sat Oct 17 21:11:09 1992 H.J. Lu ([email protected]) ! 612: ! 613: * Makefile.in (all.build): New rule for making gcc with a ! 614: cross-compiler. ! 615: (install.build): New target. ! 616: (line 271): Add `####build overrides'. ! 617: (gen*.o): Depend on hconfig.h, not config.h. ! 618: ($(HOST_PREFIX_1)rtl.o, $(HOST_PREFIX_1)print-rtl.o, ! 619: $(HOST_PREFIX_1)rtlanal.o, $(HOST_PREFIX_1)obstack.o, ! 620: $(HOST_PREFIX_1)malloc.o): Add final `h' to the regexp to replace. ! 621: ! 622: * configure: If $host == $taget, but $host != $build, merge ! 623: `build-make' and emit `build = $build'. ! 624: * build-make: New file for making gcc with a cross-compiler. ! 625: ! 626: Sat Oct 17 19:24:31 1992 Richard Stallman ([email protected]) ! 627: ! 628: * c-typeck.c (process_init_constructor): When initializing a union, ! 629: handle the case of an empty init list. ! 630: ! 631: * reload.c (find_reloads_address): Redo last change: copy the mem ! 632: in the same way it's usually done. ! 633: ! 634: * Makefile.in (gcc.xtar): Fix typo in last change. ! 635: (mostlyclean): Don't use $(MAKEFLAGS) for objc subdir stuff. ! 636: ! 637: Sat Oct 17 19:15:16 1992 John Wroclawski ([email protected]) ! 638: ! 639: * decstatn.h (SIZE_TYPE): Fix typo. ! 640: ! 641: Sat Oct 17 17:46:08 1992 Brendan Kehoe ([email protected]) ! 642: ! 643: * cp-method.c: Don't try to include string.h or strings.h. ! 644: * cp-decl.c: Ditto. ! 645: ! 646: Sat Oct 17 13:50:49 1992 Fred Fish ([email protected]) ! 647: ! 648: * fixinc.svr4 (string.h): ! 649: Remove #defines for other compiler's builtin functions. ! 650: ! 651: Sat Oct 17 00:39:30 1992 Richard Stallman ([email protected]) ! 652: ! 653: * protoize.c: Add #undef getopt after getopt.h. ! 654: ! 655: * gstdarg.h, gvarargs.h (va_list) [__SVR4_2__]: ! 656: Don't set or test _VA_LIST. ! 657: ! 658: * gstddef.h: Do nothing if _ANSI_STDDEF_H already defined. ! 659: ! 660: Fri Oct 16 11:39:06 1992 H.J. Lu ([email protected]) ! 661: ! 662: * emit-rtl.c (gen_lowpart_common): Fix typo in last change. ! 663: ! 664: Fri Oct 16 22:35:15 1992 Eric Youngdale ([email protected]) ! 665: ! 666: * make-cc1.com: Correct previous patch. ! 667: ! 668: Fri Oct 16 20:07:12 1992 Richard Stallman ([email protected]) ! 669: ! 670: * objc-actions.c (start_class): ! 671: For an INTERFACE_TYPE, push to permanent obstack. ! 672: (build_message_expr): Use TYPE_MAIN_VARIANT when comparing types. ! 673: ! 674: * Makefile.in (libobjc.a): Don't use $(MAKEFLAGS). ! 675: Add braces around shell variable references. ! 676: (collect2): Delete file before linking it. ! 677: * objc/Makefile (all): Don't use $(MAKEFLAGS). ! 678: (VPATH): Get rid of ../ since srcdir now absolute. ! 679: ! 680: Fri Oct 16 14:23:25 1992 Michael Meissner ([email protected]) ! 681: ! 682: * decstatn.h (all defines): Protect all defines with an #ifndef, ! 683: to allow dec-osf1.h to selectively override macros. ! 684: ! 685: Fri Oct 16 10:44:47 1992 Tom Wood ([email protected]) ! 686: ! 687: * Makefile.in (libobjc.a): Compute srcdir1 without changing ! 688: directories. Use srcdir1 to locate objc/Makefile. Put quotes ! 689: around all potential multi-word values. Recompute GCC_FOR_TARGET. ! 690: (sublibobjc.a): Use same text as libobjc.a. ! 691: (mostlyclean): Use $(MAKE) and srcdir1 for objc action. ! 692: * objc/Makefile (SUBDIR_INCLUDES): Don't use ../$(srcdir). ! 693: (all): Use $(MAKE). ! 694: ! 695: Fri Oct 16 04:16:36 1992 Richard Stallman ([email protected]) ! 696: ! 697: * function.c (find_fixup_replacement): Renamed from find_replacement. ! 698: ! 699: * varasm.c (output_addressed_constants): Handle NON_LVALUE_EXPR. ! 700: ! 701: Fri Oct 16 02:25:17 1992 Jeffrey A. Law ([email protected]) ! 702: ! 703: * pa.md (call define_expands): If TARGET_LONG_CALLS, then force ! 704: the address of the function into a register. ! 705: * pa.h (TARGET_SWITCHES): New switch "-mlong-calls". ! 706: * pa.c (call_operand_address): Only allow registers if ! 707: TARGET_LONG_CALLS. ! 708: ! 709: Fri Oct 16 00:21:57 1992 Richard Stallman ([email protected]) ! 710: ! 711: * Makefile.in (libobjc.a): Get directories right, using shell vars ! 712: thisdir1, srcdir1. Put quotes around $(GCC_CFLAGS). Use $(MAKE). ! 713: ! 714: Thu Oct 15 17:07:18 1992 Mike Stump ([email protected]) ! 715: ! 716: * configure, config.sub, config/elxsi.{c,h,md}, config/xm-elxsi.h, ! 717: config/x-elxsi: Add support for new 64 bit CPU, called Elxsi. ! 718: ! 719: Thu Oct 15 16:55:22 1992 Richard Kenner ([email protected]) ! 720: ! 721: * alpha.c (alpha_builtin_saveregs): Fix bug in last change. ! 722: ! 723: * fold-const.c (distribute_bit_expr): Test for BIT_{AND,IOR}_EXPR. ! 724: ! 725: * cse.c (cse_insn): Add missing call to apply_change_group. ! 726: ! 727: Thu Oct 15 15:09:45 1992 Michael Meissner ([email protected]) ! 728: ! 729: * t-mips (CCLIBFLAGS, LIBGCC2_CFLAGS): Delete, so that libgcc.a is ! 730: built with the -G 8 option, instead of -G 0, so that the linker ! 731: doesn't complain when linking in libg++.a. ! 732: * t-decstatn (CCLIBFLAGS, LIBGCC2_CFLAGS): Ditto. ! 733: ! 734: Thu Oct 15 14:30:25 1992 Jim Wilson ([email protected]) ! 735: ! 736: * mips-tfile.c (parse_def): Allow spaces in arguments for C++. ! 737: Correct test for null when searching for end of name. ! 738: ! 739: Thu Oct 15 11:55:51 1992 Tim Moore ([email protected]) ! 740: ! 741: * pa.c (compute_frame_size): Take an fregs_live parameter instead ! 742: of setting the static variable save_fregs. ! 743: (output_function_prologue): Initialize save_fregs to 0 and pass to ! 744: compute_frame_size. ! 745: * pa.h (INITIAL_FRAME_POINTER_OFFSET): Pass extra null parameter ! 746: to compute_frame_size. ! 747: ! 748: Thu Oct 15 08:40:07 1992 Richard Kenner ([email protected]) ! 749: ! 750: * alpha.h (TARGET_FPREGS): New flag. ! 751: (TARGET_SWITCHES): Remove temporary -mfp and add -msoft-float and ! 752: -mfp-regs. ! 753: (TARGET_DEFAULT): Set to -mfp-regs -mno-soft-float. ! 754: (CONDITIONAL_REGISTER_USAGE): Use TARGET_FPREGS. ! 755: (FUNCTION_VALUE, FUNCTION_ARG, LIBCALL_VALUE): Use integer registers ! 756: for FP items if -mno-fp-regs. ! 757: * alpha.c (alpha_builtin_saveregs): Store integer regs twice instead ! 758: of storing the FP regs if -mno-fp-regs. ! 759: ! 760: * fold-const.c (fold): Add missing test in case when we ! 761: distribute a NOP_EXPR into a COND_EXPR and try to pull it back ! 762: out again. ! 763: ! 764: Thu Oct 15 08:11:00 1992 Tom Wood ([email protected]) ! 765: ! 766: * fold-const.c (simple_operand_p): Don't regard global or static ! 767: variables as simple. ! 768: (fold_truthop): Only require the RHS to be simple. ! 769: ! 770: * m88k.h (CPP_SPEC): Add -D__m88110__ when -m88110 is in effect, ! 771: similarly for -m88100. ! 772: * m88kdgux.h (CPP_SPEC): Ditto. ! 773: * m88kluna.h (CPP_PREDEFINES): Drop -Dmc88100. ! 774: (CPP_SPEC): Reproduce the predefine -Dmc88100 when -m88100 is in ! 775: effect. Otherwise, supply -D__mc881x0__ when -m881x0 is in effect. ! 776: ! 777: Thu Oct 15 02:09:49 1992 Richard Stallman ([email protected]) ! 778: ! 779: * expr.c (get_inner_reference): ! 780: If flag_volatile, treat every INDIRECT_REF as volatile. ! 781: ! 782: * collect2.c (main): If COLLECT_GCC is a relative name, use it anyway. ! 783: ! 784: * x-next: New file. ! 785: * configure (m68k-next-*): Use that. ! 786: ! 787: * Changes from NeXT: ! 788: ! 789: * libgcc2.c [L_ctors] (__CTOR_LIST__, __DTOR_LIST__): ! 790: Initialize these default definitions if __NeXT__. ! 791: ! 792: * gvarargs.h [__NeXT__]: Define _VA_LIST_ if _ANSI_STDARG_H_ was ! 793: defined; then define _ANSI_STDARG_H_. ! 794: ! 795: * gstddef.h (_ANSI_STDDEF_H): Define, along with _STDDEF_H. ! 796: ! 797: * next.h (INCLUDE_DEFAULTS): New macro. ! 798: ! 799: * cp-method.c (index, rindex): Delete declarations. ! 800: (build_overload_value): Cast result of index. ! 801: ! 802: * cccp.c (cplusplus_comments): New var. ! 803: (main): Set it according to options. ! 804: (rescan, handle_directive, skip_if_group, validate_else): ! 805: (skip_to_end_of_comment, macarg1, discard_comments): ! 806: Use cplusplus_comments to enable C++ comment syntax. ! 807: ! 808: Wed Oct 14 11:34:58 1992 Chip Salzenberg ([email protected]) ! 809: ! 810: * libgcc2.c (__gcc_bcmp): Don't depend on signedness of `char'. ! 811: ! 812: Wed Oct 14 18:52:28 1992 Jim Wilson ([email protected]) ! 813: ! 814: * sched.c (sched_note_set): Set subreg_p for anything except a ! 815: paradoxical subreg. ! 816: ! 817: * configure (sparc-*-solaris2): Use xm-spc-sol2.h not xm-spcv4.h. ! 818: ! 819: * reload.c (find_reloads): Don't let an operand have a numbered ! 820: constraint that makes it match itself. ! 821: ! 822: Wed Oct 14 10:38:31 1992 Tim Moore ([email protected]) ! 823: ! 824: * pa.md (sCC patterns): Comparison operator should have SImode, ! 825: not CCmode. ! 826: (indexed addressing mode patterns): New patterns to use indexed ! 827: addressing if possible. ! 828: * pa.c (output_and): Do handle (const_int 0) as an operand; it ! 829: seems to occur in unoptimized compilation. ! 830: * pa.h (REGNO_OK_FOR_FP_P): Logic bug. ! 831: * va-pa.h : When __GNUC__ == 1, don't include the gcc 1 varargs ! 832: file (va-hp9k8.h). Instead, the definitions are explicitly defined ! 833: here. This avoids multiple typedefs of va_list. ! 834: * xm-pa.h (HAVE_VPRINTF) Define in HPUX 8.0. ! 835: ! 836: * pa.md (mulsi): Use the hardware multiply instruction, xmpyu, if ! 837: TARGET_SNAKE. ! 838: (umulsidi3): New pattern. ! 839: (reload_insi, reload_outsi, reload_indi, reload_outdi): New ! 840: patterns. These are needed because SImode and DImode pseudoregs ! 841: may be allocated (or reloaded) in floating point registers for ! 842: multiplication. That means that their addresses, which were ! 843: legitimate for SImode and DImode, aren't valid any more. ! 844: (movsi, movhi, movqi, movdf, movdi, movsf): Pass null scratch ! 845: operand to emit_move_sequence. ! 846: (fp SImode load and store patterns): Move before main movsi ! 847: pattern. ! 848: (fp DImode load and store patterns) New patterns. ! 849: (movhi, movqi patterns): Support moves to/from fp registers. ! 850: (movdf pattern): Ensure at least one operand is a register. ! 851: * pa.c (emit_move_sequence): Take reload scratch register ! 852: argument, deal with reloads of SImode and DImode mems into ! 853: floating point registers, handle function_label_operand moves. ! 854: (secondary_reload_class): A scratch register is needed if ! 855: reloading a function_label_operand address (probably doesn't ! 856: happen) or an SImode or DImode value into/out of a floating ! 857: point register. ! 858: * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, ! 859: REG_CLASS_FROM_LETTER): Define a new register class ! 860: FP_OR_SNAKE_FP_REGS, used only be reload_{in,out}{si,di}. ! 861: (HARD_REGNO_MODE_OK): Allow all integer modes in Snake floating ! 862: point registers. QImode and HImode pseudoregs may end up there ! 863: when using xmpyu. ! 864: ! 865: * pa.md (pic symbolic address pattern): New pattern. ! 866: (movsi, movdi patterns): Remove some * constraints from fp registers. ! 867: (pic label address pattern): Fix typo. ! 868: (function_label_operand patterns): New patterns for loading a ! 869: label address in HPUX 8.0. ! 870: * pa.c (finalize_pic): No real initialization is necessary for pic. ! 871: (output_function_prologue): Save r19, the pic offset table ! 872: register. If profiling, save and restore the structure value ! 873: return register (r28) around the call to mcount. ! 874: (hppa_encode_label, function_label_operand): New functions. ! 875: Record if a label is a code label so it can be treated specially ! 876: in HPUX 8.0. ! 877: * pa.h (TARGET_SHARED_LIBS): New flag. Generate code that can be ! 878: linked with HPUX 8.0 shared libraries. ! 879: (TARGET_SWITCHES): New flags: -mshared-libs and -mno-shared-libs. ! 880: (PIC_OFFSET_TABLE_REGNUM): This is really r19. The preliminary ! 881: docs from HP were wrong. ! 882: (ASM_DECLARE_FUNCTION_NAME): Specify "ENTRY" param in .EXPORT ! 883: directive. ! 884: (ENCODE_SECTION_INFO): Encode function labels. ! 885: (ASM_OUTPUT_LABELREF): Deal with function labels. ! 886: (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Don't do anything for ! 887: now; their only use (saving stuff during profiling) interacts in a ! 888: wierd way with required assembler directives at the start of a ! 889: function. Instead, do the save and restore in the function ! 890: prologue. ! 891: (hppa_encode_label): Declare. ! 892: * pa-hpux.h, pa-ghpux.h (TARGET_DEFAULT): Link against shared ! 893: libraries. ! 894: (LINK_SPEC): Don't link against shared libraries if debugging or ! 895: profiling. ! 896: * pa1-hpux.h, pa1-ghpux,h (TARGET_DEFAULT): Link against shared ! 897: libraries. ! 898: ! 899: Wed Oct 14 10:17:49 1992 Richard Stallman ([email protected]) ! 900: ! 901: * Makefile.in (gcc.xtar): Copy the objc subdir. ! 902: (mostlyclean): Run the mostlyclean target in the objc subdir. ! 903: (objc-runtime, libobjc.a, sublibobjc.a): New targets. ! 904: (objc, objective-c): Dep on objc-runtime. ! 905: ! 906: * objc/*: New files. ! 907: ! 908: Wed Oct 14 07:17:19 1992 Richard Kenner ([email protected]) ! 909: ! 910: * alpha.md (smax, smin): Fix typo in output strings. ! 911: ! 912: * a29k.c (const_16_operand, const_24_operand): Fix typo in declaration ! 913: of MODE. ! 914: (gpc_reg_or_immediate_operand, and_operand, add_operand): Likwise. ! 915: ! 916: Wed Oct 14 00:12:16 1992 Jeffrey A. Law ([email protected]) ! 917: ! 918: * pa.h (RTX_COST): Fix spacing typo. ! 919: ! 920: Tue Oct 13 21:51:05 1992 Jim Wilson ([email protected]) ! 921: ! 922: * a29k.md (call, call_value): Don't use call_operand, since ! 923: checking for recursive calls at this point is not safe. ! 924: ! 925: Tue Oct 13 18:52:17 1992 Brendan Kehoe ([email protected]) ! 926: ! 927: * cp-type2.c (my_friendly_abort): Tell them to write to bug-g++. ! 928: ! 929: Tue Oct 13 18:16:12 1992 Chris Smith ([email protected]) ! 930: ! 931: * convex.h (P_tmpdir): define to use /tmp. ! 932: (RETURN_POPS_ARGS): correct definition to return size. ! 933: (ASM_IDENTIFY_GCC): output something between gcc2_compiled and ! 934: first function to keep gcc2_compiled out of assembler stabs. ! 935: ! 936: * convex.md (adddi3, ordi3, xordi3): check sign of CONST_INT ! 937: operands before using as immediates; these insns are word only. ! 938: (ashrdi3): don't use negative shift counts. ! 939: ! 940: * convex*.h (CPP_SPEC): define __NO_INLINE_STDLIB ! 941: ! 942: * xm-convex.h: remove temporary workaround from OS 8.0. ! 943: ! 944: Tue Oct 13 14:10:15 1992 Jim Wilson ([email protected]) ! 945: ! 946: * cp-lex.c (check_newline): Verify that main_input_filename is ! 947: valid before using it. ! 948: ! 949: Tue Oct 13 19:08:54 1992 Richard Kenner ([email protected]) ! 950: ! 951: * a29k.c: Now includes reload.h. ! 952: (spec_reg_operand): Validate mode and know that some regs support ! 953: MODE_PARTIAL_INT and some MODE_INT. ! 954: (call_operand, reload_memory_operand, a29k_get_reloaded_address) ! 955: New functions. ! 956: (in_operand): Allow constants with MODE_PARTIAL_INT. ! 957: (out_operand): Allow special registers with any mode. ! 958: Any MEM a word or wider is valid. ! 959: (extend_operator): Deleted. ! 960: (secondary_reload_class): A pseudo is the same as memory; we need ! 961: BP_REGS for multi-word memory or for bytes and halfword if -mndw. ! 962: (print_operand): Delete %X; add %m. ! 963: (print_operand, case 'F'): Check for SYMBOL_REF. ! 964: * a29k.h (PROMOTE_MODE, ADJUST_COST): New macros. ! 965: (CALL_USED_REGISTERS): LR0 is call-used. ! 966: (HARD_REGNO_MODE_OK): Handle MODE_PARTIAL_INT and the special ! 967: registers that can only hold those modes. ! 968: (MODES_TIEABLE_P): Clean up and handle MODE_PARTIAL_INT modes. ! 969: (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new ! 970: classes LR0_REGS, FC_REGS, and CR_REGS. ! 971: (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Likewise. ! 972: (PREDICATE_CODES): Update for new and deleted predicates. ! 973: * a29k.md: Use GEN_INT when appropriate. ! 974: (define_attr type): New types for SQRT. ! 975: (call patterns): Use SCRATCH for LR0. ! 976: Use new predicate call_operand so that some integers can be ! 977: used as addresses; fix CALLI so it doesn't accept constant. ! 978: (EXBYTE, EXTHW, INBYTE, INHW): Use ZERO_EXTEND instead of AND ! 979: when combine will make it. ! 980: Use PSImode for BP value and don't reference BP explicitly. ! 981: Clean up define_expands for these operations. ! 982: (rotlsi3): Use PSImode pseudo for FC. ! 983: (sign_extend): Sign extension insns clobber BP. ! 984: ({load,store}_multiple): Use PSImode pseudo for CR. ! 985: (MTSR): Add pattern for TRUNCATE from SImode to PSImode. ! 986: (sqrtsf2, sqrtdf2, movpsi): New patterns. ! 987: (load/store bytes/halfword): Clean up to accept temporaries as ! 988: input and use PSImode when required. ! 989: (movhi, movqi): Allocate temporaries here. ! 990: (reload_inqi, reload_outqi, reload_inhi, reload_outhi): New ! 991: patterns. ! 992: (movdf, movdi, movti): Use SCRATCH for BP register. ! 993: (reload_{in,out}{df,di,ti}): New patterns. ! 994: ! 995: Tue Oct 13 16:52:33 1992 Richard Stallman ([email protected]) ! 996: ! 997: * fixinc.svr4 (sys/stream.h, sys/strsubr.h): Delete spurious `extern' ! 998: in various structure definitions. ! 999: ! 1000: * rtlanal.c (single_set): Fix typo in REG_UNUSED check. ! 1001: ! 1002: * cse.c (simplify_binary_operation): Insure that folded >> extends ! 1003: the sign even if the host bootstrap compiler doesn't. ! 1004: ! 1005: * final.c (output_asm_insn): Advance over the = when processing %=. ! 1006: ! 1007: * fixincludes (stdio.h): Fix va_list when preceeded by a *. ! 1008: ! 1009: Tue Oct 13 14:52:57 1992 Brendan Kehoe ([email protected]) ! 1010: ! 1011: * spc-sol2.h (STARTFILE_SPEC): Add crtbegin.o. ! 1012: (LIB_SPEC): Add crtend.o for running ctors/dtors. ! 1013: * t-sol2 (EXTRA_PARTS): Add crtbegin.o and crtend.o for C++. ! 1014: (FIXINCLUDES): Deleted. ! 1015: * configure (sparc-*-solaris2*): Set fixincludes here. ! 1016: ! 1017: Tue Oct 13 20:15:45 1992 Eric Youngdale ([email protected]) ! 1018: ! 1019: * make-cc1.com: Simplify extraction of YYEMPTY from cp-parse.c. ! 1020: Generate c-parse.y, objc-parse.y from c-parse.in if required. ! 1021: Pat Rankin did some of this. ! 1022: ! 1023: Tue Oct 13 14:06:45 1992 Jim Wilson ([email protected]) ! 1024: ! 1025: * sparc.md (in_branch_delay): Allow fpload and fpstore. ! 1026: ! 1027: * collect2.c (main): Only install a signal handler for signals ! 1028: that already have handlers. ! 1029: (fork_execute): Don't ignore signals before calling do_wait. ! 1030: ! 1031: * i960.md: Change 'f' constraint for dest to '*f' if it is not the ! 1032: only alternative. Add '*f' dest constraints to all patterns where ! 1033: it is valid but was previously missing. ! 1034: ! 1035: * i960.h (OVERRIDE_OPTIONS): Enable function inlining. ! 1036: * i960.c (g14_save_reg): Delete variable. ! 1037: (i960_output_call_insn): Add two new parameters arg_pointer and ! 1038: scratch_reg. Save/set/restore g14 if necessary. ! 1039: (i960_expand_call): Delete function. ! 1040: * i960.md (call, call_value): No longer call i960_expand_call, ! 1041: instead call call_internal/call_value_internal pattern. ! 1042: (call_internal, call_value_internal): Rewrite patterns to pass new ! 1043: args to i960_output_call_insn. ! 1044: ! 1045: * sparc.md (movstrsi+1): Add `+' to constraints for clobbered inputs. ! 1046: ! 1047: * i960.c (i960_output_call_insn): Emit bx instead of b, callx ! 1048: instead of callj. ! 1049: ! 1050: * sparc.c (sparc_frw_output_function_prologue): Frame pointer base ! 1051: must be same as for regular sparc code. ! 1052: ! 1053: Tue Oct 13 06:02:03 1992 Tom Wood ([email protected]) ! 1054: ! 1055: * loop.c (loop_optimize): Verify that max_uid_for_loop is still ! 1056: larger than the uid of any insn. Increase the number of exit ! 1057: blocks from 4 to 32 per loop. ! 1058: (find_and_verify_loops): Stop trying to relocate exit blocks when ! 1059: allocating a new label would exceed max_uid_for_loop. ! 1060: ! 1061: * combine.c (subst): Don't change a conditional branch into a ! 1062: conditional move. ! 1063: ! 1064: * m88k.md (ext shift patterns): No longer needed. ! 1065: ! 1066: * m88k.c (mostly_false_jump): Recognize a sequence properly. ! 1067: ! 1068: Mon Oct 12 22:31:37 1992 Jeffrey A. Law ([email protected]) ! 1069: ! 1070: * pa.h (LEGITIMIZE_ADDRESS): Fix typo. ! 1071: ! 1072: Tue Oct 13 00:14:09 1992 H Lu ([email protected]) ! 1073: ! 1074: * Makefile.in (install-common): Put - on cmd that handles protoize. ! 1075: (gcc.o, cccp.o): Define TOOLDIR for the compilation. ! 1076: (all HOST_PREFIX_1 targets): Fix typos. ! 1077: ! 1078: * x-linux (cpp.a, linux.a, cc1.a, cc1plus.a, gcc.a): Targets deleted. ! 1079: (LD, ALIBS, STANDARD_STARTFILE_PREFIX, GPLUSPLUS_INCLUDE_DIR): ! 1080: Vars deleted. ! 1081: ! 1082: * i386linux.h: Delete NO_JUMPTABLE conditional and contents. ! 1083: (GPLUSPLUS_INCLUDE_DIR): Defined. ! 1084: (STARTFILE_SPEC): Changed. ! 1085: ! 1086: * gen*.c: Include hconfig.h, not config.h. ! 1087: ! 1088: Mon Oct 12 16:25:22 1992 Richard Stallman ([email protected]) ! 1089: ! 1090: * configure.bat, vmsconfig.com: Make hconfig.h. ! 1091: ! 1092: * vax.h (PRINT_OPERAND): Detect `double' constants by DFmode, ! 1093: since VOIDmode means an integer. ! 1094: ! 1095: * mips.h (DEBUG_REGISTER_NAMES): New macro definition. ! 1096: * print-rtl.c (reg_names): ! 1097: Make it static. Use DEBUG_REGISTER_NAMES if that's defined. ! 1098: * regclass.c (reg_names): Reinstate the definition here. ! 1099: ! 1100: * fixinc.svr4: Delete excess fi in fixing stat.h. ! 1101: ! 1102: Mon Oct 12 08:10:37 1992 James Van Artsdalen ([email protected]) ! 1103: ! 1104: * Makefile.in (install-fixincludes): Only delete an existing ! 1105: syslimits.h if we install limits.h over it. ! 1106: ! 1107: * i386.h (PRINT_REG): Undo Oct 11 change. ! 1108: (DEBUG_PRINT_REG): New macro, used from print-rtl.c. ! 1109: ! 1110: * conditions.h (CC_NOT_SIGNED): New macro. ! 1111: * final.c (alter_cond): If CC_NOT_SIGNED, convert signed ! 1112: conditions to unsigned. ! 1113: ! 1114: * i386.md (cmpstrM patterns): Compare strings of unsigned chars, ! 1115: not strings of signed chars. ! 1116: ! 1117: Mon Oct 12 06:31:13 1992 Richard Kenner ([email protected]) ! 1118: ! 1119: * combine.c (try_combine): Save DEST of NI2PAT before calling ! 1120: recog_for_combine, which might make it a PARALLEL. ! 1121: ! 1122: * emit-rtl.c (gen_lowpart_common): Allow MODE_PARTIAL_INT where ! 1123: MODE_INT is allowed. ! 1124: ! 1125: * combine.c (try_combine): Properly call single_set when validating ! 1126: the result of a define_split. ! 1127: ! 1128: Mon Oct 12 00:24:29 1992 Richard Stallman ([email protected]) ! 1129: ! 1130: * calls.c (calls_alloca): Don't look within DECL_INITIAL if it's 0. ! 1131: ! 1132: * varasm.c (simplify_subtraction): New function. ! 1133: * rtl.h (simplify_subtraction): Declared. ! 1134: * final.c (output_addr_const): Call it. ! 1135: ! 1136: * print-rtl.c (DEBUG_PRINT_REG): Renamed from PRINT_REG. ! 1137: (print_rtx): Use DEBUG_PRINT_REG. ! 1138: ! 1139: Sun Oct 11 16:27:53 1992 Richard Kenner ([email protected]) ! 1140: ! 1141: * genrecog.c (merge_trees): When splitting, remember to clear DUPNO ! 1142: in addition to the other things we can test. ! 1143: ! 1144: * recog.c (general_operand, immediate_operand, const_double_operand): ! 1145: Allow CONST_INT with MODE_PARTIAL_INT. ! 1146: (nonmemory_operand): Likewise. ! 1147: ! 1148: Sun Oct 11 07:53:39 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 1149: ! 1150: * xm-i38v4.h,xm-aix386.h (USE_C_ALLOCA): New macro. Define if not ! 1151: using GNU C's builtin alloca. ! 1152: ! 1153: * i386.c (notice_update_cc): Only set CC_IN_80387 for float compares. ! 1154: ! 1155: * i386.h (PRINT_REG): Make register name arrays static within this ! 1156: macro. ! 1157: ! 1158: Sun Oct 11 01:41:06 1992 Richard Stallman ([email protected]) ! 1159: ! 1160: * jump.c (jump_optimize): Don't optimize jumps to store-flag insns ! 1161: when BLKmode values are being compared. ! 1162: ! 1163: Sat Oct 10 16:51:08 1992 Richard Stallman ([email protected]) ! 1164: ! 1165: * print-rtl.c (print_rtx): Print hard reg name as well as number. ! 1166: (PRINT_REG): New macro with default definition. ! 1167: (reg_name): Moved here. ! 1168: * regclass.c (reg_name): Deleted. ! 1169: ! 1170: Sat Oct 10 02:27:14 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 1171: ! 1172: * i386sco.h (TARGET_DEFAULT): New macro - don't make TARGET_IEEE_FP ! 1173: default for SCO. ! 1174: ! 1175: Sat Oct 10 04:52:06 1992 Richard Stallman ([email protected]) ! 1176: ! 1177: * function.h (struct function): New fields const_rtx_hash_table, ! 1178: const_rtx_sym_hash_table, first_pool, last_pool, pool_offset. ! 1179: * function.c (pop_function_context, push_function_context): ! 1180: Call {save,restore}_varasm_status. ! 1181: * varasm.c: Include function.h. ! 1182: (restore_varasm_status, save_varasm_status): New fns. ! 1183: (init_const_rtx_hash_table): Allocate the hash tables in obstack. ! 1184: (force_const_mem): Don't use CONST_DOUBLE_MEM for nested fns. ! 1185: (clear_const_double_mem): Do nothing for nested fns. ! 1186: * Makefile.in (varasm.o): Dep on function.h. ! 1187: ! 1188: Fri Oct 9 18:16:18 1992 Brendan Kehoe ([email protected]) ! 1189: ! 1190: * cp-decl.c (duplicate_decls): Only find out if olddecl is a ! 1191: friend after we know it's not a TREE_LIST. ! 1192: ! 1193: Fri Oct 9 18:10:19 1992 Jim Wilson ([email protected]) ! 1194: ! 1195: * sparc.c (sparc_type_code): Return reasonable result for COMPLEX_TYPE. ! 1196: ! 1197: Fri Oct 9 14:33:26 1992 Tom Wood ([email protected]) ! 1198: ! 1199: * reorg.c (start_of_epilogue_needs): New variable. ! 1200: (mark_target_live_regs): Add in start_of_epilogue_needs when ! 1201: NOTE_INSN_EPILOGUE_BEG is scanned. ! 1202: (dbr_schedule): Compute start_of_epilogue_needs and update ! 1203: end_of_function_needs to include sets by all instructions ! 1204: following NOTE_INSN_EPILOGUE_BEG. ! 1205: ! 1206: * m88k.md (return): Always available once reload has completed. ! 1207: (epilogue): Use a return insn rather than an indirect jump. ! 1208: ! 1209: Fri Oct 9 12:36:54 1992 Richard Stallman ([email protected]) ! 1210: ! 1211: * spc-sol2.h (DBX_DEBUGGING_INFO): Defined. ! 1212: ! 1213: * function.c (aggregate_value_p): Return 1 if regs we would use ! 1214: are not all call-clobbered. ! 1215: ! 1216: * stmt.c (POPSTACK): Pop discarded elts off all the stacks as we go. ! 1217: ! 1218: Fri Oct 9 07:30:14 1992 Richard Kenner ([email protected]) ! 1219: ! 1220: * reorg.c (mark_target_live_regs): Fix bug in last change. ! 1221: ! 1222: * combine.c (subst, case SUBREG): Don't make a new REG for ! 1223: stack, frame, or arg pointer. ! 1224: * emit-rtl.c (gen_lowpart_common, gen_highpart, operand_subword): ! 1225: Likewise. ! 1226: ! 1227: * local-alloc.c (optimize_reg_copy_1): Tighten up code to properly ! 1228: handle the case when SRC or DEST is a multi-word hard register ! 1229: and only some parts of the register are set or used. Also, avoid ! 1230: updating register status for DEST if we can't do the optimization. ! 1231: ! 1232: * jump.c (jump_optimize): Only use a REG as a target. ! 1233: ! 1234: * alpha.c (alpha_builtin_saveregs): Don't use value of NREGS greater ! 1235: than 6 when computing ARGSIZE. ! 1236: ! 1237: * va-alpha.h (va_arg): Put parens around all uses of __VA arg. ! 1238: ! 1239: Thu Oct 8 18:45:00 1992 Arne H. Juul ([email protected]) ! 1240: ! 1241: * Makefile.in (install-common-headers): added missing 'then' ! 1242: ! 1243: Thu Oct 8 15:52:22 1992 Michael Meissner ([email protected]) ! 1244: ! 1245: * mips.h (SELECT_RTX_SECTION): Rename macro from obsolete name ! 1246: SELECT_SECTION_MODE. ! 1247: ! 1248: * i386rose.h (whole file): Remove #ifdef before #undef of macros. ! 1249: (LEGITIMATE_CONSTANT_P): Define, so that when half-pic is on, ! 1250: half-pic addresses are not considered legitimate. ! 1251: (SELECT_RTX_SECTION): If putting a half-pic pointer that is ! 1252: loaded, put the pointer into the data section, rather than the ! 1253: readonly_data_section. ! 1254: (SELECT_SECTION): Define. ! 1255: (ASM_OUTPUT_DOUBLE): If not cross compiling, emit double as two ! 1256: longs, otherwise emit .double directive. ! 1257: (ASM_OUTPUT_FLOAT): If not cross compiling, emit float as long, ! 1258: otherwise emit .float directive. ! 1259: (perform_fixdfsi): Copy arg to memory variable. ! 1260: (SIZE_TYPE): Define to be long unsigned int. ! 1261: (PTRDIFF_TYPE): Define to be int. ! 1262: (WCHAR_TYPE)L: Define to be unsigned int. ! 1263: ! 1264: * i386.md (movsi): Remove obsolete half-pic code. ! 1265: (call insns): For half-pic insns, force address into register. ! 1266: ! 1267: Thu Oct 8 14:22:05 1992 Richard Stallman ([email protected]) ! 1268: ! 1269: * Makefile.in (install-common-headers): Fix dir in chmods for assert.h. ! 1270: ! 1271: * va-i860.h (__savereg, va_arg): Put uses of __va in parens. ! 1272: ! 1273: * vax.h (PRINT_OPERAND): Define new code, D. ! 1274: * vax.md (movdi): Use D code for operand 1. ! 1275: ! 1276: Thu Oct 8 13:23:25 1992 Jeffrey A. Law ([email protected]) ! 1277: ! 1278: * pa.md (fp_alu function unit, case fpcc): Fpcc instructions use ! 1279: the fpalu unit. In the most common case their result will be used ! 1280: in a ftest instruction. Minimum distance between the fcmp and ! 1281: ftest instruction is 4. ! 1282: ! 1283: Thu Oct 8 06:41:15 1992 Tom Wood ([email protected]) ! 1284: ! 1285: * function.c (assign_parms): Provide a safe value for ! 1286: DECL_INCOMING_RTL in case of syntax errors. ! 1287: ! 1288: * dwarfout.c (dwarfout_init, dwarfout_finish): Don't output labels ! 1289: or .debug_aranges entries for .data1 and .rodata1 as these ! 1290: sections aren't currently used. ! 1291: ! 1292: Thu Oct 8 04:44:17 1992 Richard Kenner ([email protected]) ! 1293: ! 1294: * reorg.c (mark_target_live_regs): Look at USE insns made by ! 1295: update_block when scanning forward past target. ! 1296: (mark_target_live_regs, dbr_schedule): Use GET_RTX_CLASS. ! 1297: ! 1298: * cse.c (PATHLENGH): Change from 20 to 10 to speed up compilations. ! 1299: ! 1300: Thu Oct 8 03:07:33 1992 Richard Stallman ([email protected]) ! 1301: ! 1302: * fold-const.c (invert_truthvalue): Never alter ARG. ! 1303: ! 1304: * Makefile.in (TAGS): Exclude =*.[chy] from tags table. ! 1305: ! 1306: * c-lex.c (yylex): For floats, use REAL_VALUES_LESS to distinguish ! 1307: underflow from overflow. Delete special case for 0.0. ! 1308: ! 1309: Wed Oct 7 16:25:19 1992 Tom Wood ([email protected]) ! 1310: ! 1311: * dwarfout.c (dwarfout_{begin,end}_function): New functions. ! 1312: (body_{begin,end}_attribute): New functions. ! 1313: (dwarf_attr_name): Print AT_body_begin and AT_body_end. ! 1314: (output_{local,global}_subroutine_die): Output the new attributes. ! 1315: * dwarf.h (enum dwarf_attribute): Add At_body_begin and AT_body_end. ! 1316: * final.c (final_scan_insn): Call dwarfout_begin_function. ! 1317: (final_end_function): Call dwarfout_end_function. ! 1318: ! 1319: * m88k.h (FASTEST_ALIGNMENT): Define as 8 for -m88110 otherwise 4. ! 1320: (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Base on FASTEST_ALIGNMENT. ! 1321: * m88k.md (movstrsi): No predicate is needed for the source or ! 1322: destination. ! 1323: * m88k.c (best_from_align): Add a target processor dimension for ! 1324: -m88000, -m88110, and -m88100. ! 1325: (expand_block_move): Choose method and limits based on -m88xxx option. ! 1326: (block_move_no_loop): Extend to allow DImode. ! 1327: * m88k-move.sh: Add the modules moveDI96x and moveDI41x through ! 1328: moveDI47x. ! 1329: * t-m88k, t-m88kluna, t-m88ksvr4: New modules added to MOVE_ASM. ! 1330: ! 1331: * m88k.c (output_call): Use different syntax for GAS. ! 1332: ! 1333: * m88k.h (READONLY_DATA_SECTION): Don't override svr4.h ! 1334: (ASM_OUTPUT_CASE_LABEL): For svr4, use .rodata. ! 1335: ! 1336: Wed Oct 7 15:47:19 1992 Richard Stallman ([email protected]) ! 1337: ! 1338: * configure (i486-ncr-sysv4): Use i386v4.h. ! 1339: (i386-*-sysv4, i386-*-linux, i386-*-sysv): Handle 486 too. ! 1340: (i486-*-sysv4, i486-*-linux): Deleted. ! 1341: * i486v4.h, i486linux.h: Files deleted. ! 1342: ! 1343: Wed Oct 7 12:40:00 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 1344: ! 1345: * populate (progname): Just the basename of $0 please. ! 1346: (target_dir): Use abs_target_dir and rel_target_dir for clarity. ! 1347: (source_dir): Use abs_source_dir and rel_source_dir for clarity. ! 1348: (*): List input and output dirs on startup. ! 1349: (*): Don't be so verbose; Don't echo names of output dirs/files as ! 1350: they are created. ! 1351: ! 1352: * fixinc.svr4 (<sys/signal.h>): Fix types of SIG_DFL, SIG_ERR, ! 1353: SIG_IGN, and SIG_HOLD. ! 1354: (<sys/stat.h>): Turn definitions of stat, lstat, fstat, and mknod ! 1355: into ANSI syntax and add __ to variables used. ! 1356: ! 1357: * c-parse.in (component_decl_list): Do pedwarn for missing semicolon ! 1358: after last field decl. ! 1359: ! 1360: Wed Oct 7 09:49:34 1992 Michael Meissner ([email protected]) ! 1361: ! 1362: * decstatn.h (LINK_SPEC): Don't define if it is already defined, ! 1363: ie dec-osf1.h has included decstatn.h. ! 1364: ! 1365: * dec-osf1.h (MACHINE_TYPE): Redefine to say DEC OSF/1 instead of ! 1366: ultrix. ! 1367: ! 1368: Wed Oct 7 03:50:11 1992 Richard Stallman ([email protected]) ! 1369: ! 1370: * configure (target_cpu_default): Var renamed from target_default. ! 1371: Set it to 2, for a 486. Define TARGET_CPU_DEFAULT macro. ! 1372: ! 1373: * i386.h (TARGET_CPU_DEFAULT): Add default definition. ! 1374: (TARGET_SWITCHES): Include that in the default. ! 1375: ! 1376: * toplev.c (main): Recover correctly from invalid -Wid-clash option. ! 1377: ! 1378: * cccp.c (finclude): Set fp->buf earlier, so it's freed on error. ! 1379: ! 1380: * Makefile.in (install-common-headers): Avoid ! operator, for assert.h. ! 1381: ! 1382: Tue Oct 6 20:21:21 1992 Jim Wilson ([email protected]) ! 1383: ! 1384: * unroll.c (copy_loop_body, JUMP_INSN case): Delete abort in the ! 1385: code for setting the JUMP_LABEL field. ! 1386: ! 1387: Tue Oct 6 19:29:19 1992 Brendan Kehoe ([email protected]) ! 1388: ! 1389: * cp-call.c (build_overload_call_real): If `functions' is an ! 1390: ADDR_EXPR (as with operator new and delete), give the name of its ! 1391: argument as the error fn. ! 1392: ! 1393: Tue Oct 6 14:15:15 1992 Richard Stallman ([email protected]) ! 1394: ! 1395: * configure: Correct conditional in setting build_xm_file. ! 1396: ! 1397: * function.c (get_first_block_beg): New function. ! 1398: ! 1399: * cross-make (assertdir): Override usual definition. ! 1400: * Makefile.in (install-common-headers): chmod assert.h in proper dir. ! 1401: Use $(assertdir). ! 1402: (assertdir): New variable. ! 1403: (install-dir): Create dir $(includedir). ! 1404: (includedir): Make this /usr/local/include. ! 1405: ! 1406: Tue Oct 6 12:05:35 1992 Jeffrey A. Law ([email protected]) ! 1407: ! 1408: * pa.md (memory function unit, load case): Loads take two cycles, ! 1409: not one. ! 1410: ! 1411: Tue Oct 6 07:56:05 1992 Torbjorn Granlund ([email protected]) ! 1412: ! 1413: * pa.md (adddi3): Fix typo. ! 1414: ! 1415: Tue Oct 6 04:03:40 1992 Richard Stallman ([email protected]) ! 1416: ! 1417: * m68k.c (floating_exact_log2, standard_68881_constant_p): ! 1418: (standard_sun_fpa_constant_p): Use REAL_VALUE_FROM_CONST_DOUBLE. ! 1419: (print_operand): Likewise. ! 1420: ! 1421: Mon Oct 5 18:39:29 1992 Brendan Kehoe ([email protected]) ! 1422: ! 1423: * tree.h (TREE_VIA_PROTECTED): Set protected_flag, not static_flag. ! 1424: ! 1425: Mon Oct 5 18:27:08 1992 Richard Stallman ([email protected]) ! 1426: ! 1427: * Makefile.in ($(srcdir)/INSTALL): Add -D INSTALLONLY. ! 1428: ! 1429: Mon Oct 5 14:46:08 1992 Brendan Kehoe ([email protected]) ! 1430: ! 1431: * cp-parse.y (unary_expr): Use the `new' rule when looking for ! 1432: something like `new(foo) char[10]'. ! 1433: ! 1434: * cp-decl.c (grokparms): Don't call digest_init on default args. ! 1435: ! 1436: Mon Oct 5 02:21:06 1992 Richard Stallman ([email protected]) ! 1437: ! 1438: * reload1.c (allocate_reload_reg): Always check for asm ! 1439: on failure instead of simply aborting. ! 1440: ! 1441: * optabs.c (init_optabs): Use cabs as the only libcall for abs. ! 1442: ! 1443: Mon Oct 5 03:10:14 1992 Mark Eichin (eichin at tweedledumber.cygnus.com) ! 1444: ! 1445: * c++ (numargs): $# was used after set was called; instead, save ! 1446: $# in $numargs and use that value instead. ! 1447: ! 1448: Sun Oct 4 12:34:00 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 1449: ! 1450: * dwarfout.c (hard-reg-set.h): Included to get decl of `reg_names'. ! 1451: (PRINT_REG): Default definition added. ! 1452: (dwarf_last_decl): Variable declaration added. ! 1453: (output_reg_number): New function; handle -fverbose-asm reg printing. ! 1454: (output_mem_loc_descriptor, output_loc_descriptor): Call it. ! 1455: (output_decl): Set `dwarf_last_decl' each time this fn is called. ! 1456: * i386.h (hi_reg_name, qi_reg_name, qi_high_reg_name): Declared. ! 1457: (PRINT_REG): Definition moved from i386.c. ! 1458: * i386.c (hi_reg_name, qi_reg_name, qi_high_reg_name): Not static. ! 1459: (PRINT_REG): Definition moved to i386.h. ! 1460: ! 1461: Sun Oct 4 00:53:37 1992 Richard Stallman ([email protected]) ! 1462: ! 1463: * c-decl.c (shadow_tag_warned): Use pedwarn for useless keyword. ! 1464: ! 1465: * c-lex.c (readescape): No warning if digits in \x are all 0's. ! 1466: ! 1467: Sat Oct 3 14:37:39 1992 Richard Stallman ([email protected]) ! 1468: ! 1469: * optabs.c (expand_complex_abs): New function. ! 1470: * expr.h (expand_complex_abs): Add declaration. ! 1471: ! 1472: Sat Oct 3 07:29:09 1992 Michael Meissner ([email protected]) ! 1473: ! 1474: * configure (mips-dec-osf1): Use x-dec-osf1 instead of x-decstatn. ! 1475: ! 1476: * x-dec-osf1 (new file): Like x-decstatn, except that INSTALL is ! 1477: installbsd -c. ! 1478: ! 1479: Sat Oct 3 05:04:43 1992 Tom Wood ([email protected]) ! 1480: ! 1481: * toplev.c (rest_of_decl_compilation): Don't call ! 1482: dwarfout_file_scope_decl as this causes duplicates. ! 1483: ! 1484: Sat Oct 3 01:35:23 1992 Richard Stallman ([email protected]) ! 1485: ! 1486: * explow.c (allocate_dynamic_stack_space) [MUST_ALIGN]: ! 1487: Always add to size, always round up to STACK_BOUNDARY, ! 1488: always round the address. ! 1489: ! 1490: * rtl.h (gen_realpart, gen_imagpart): Declared. ! 1491: ! 1492: Fri Oct 2 20:03:53 1992 Richard Stallman ([email protected]) ! 1493: ! 1494: * emit-rtl.c (gen_realpart, gen_imagpart): New functions. ! 1495: * optabs.c (expand_unop, expand_binop): Use them. ! 1496: * expr.c (expand_expr): Use them. ! 1497: ! 1498: * cccp.c (main): Handle -U before -D (and -A). ! 1499: ! 1500: * assert.h: Add magic comment at beginning. ! 1501: * Makefile.in (includedir): New variable. ! 1502: (USER_H): assert.h removed from value. ! 1503: (install-common-headers): Install assert.h separately, in includedir, ! 1504: but not if file exists and lacks the magic comment. ! 1505: ! 1506: * reload1.c (reload): Move test for failure to find any group ! 1507: to after the loop over i. Also check that all the regnos fit ! 1508: below FIRST_PSEUDO_REGISTER. ! 1509: ! 1510: * expr.c (expand_expr): ! 1511: For ABS_EXPR, give expand_unop the operand's mode. ! 1512: ! 1513: Fri Oct 2 14:58:06 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 1514: ! 1515: * i386v4.h (DBX_REGISTER_NUMBER): Don't abort here on pseudo-regs. ! 1516: * dwarfout.c (output_mem_loc_descriptor, output_loc_descriptor): ! 1517: Catch cases of bogus DECL_RTL values involving pseudo-regs (for all ! 1518: target systems) and print an annoying message if we ever see such a ! 1519: case. ! 1520: ! 1521: Thu Oct 1 17:23:08 1992 Michael Meissner ([email protected]) ! 1522: ! 1523: * mips-tfile.c (various): Rename some of the index variables and ! 1524: fields to indx, so that it doesn't conflict with the BSD ! 1525: index function, which may be #define'd to strchr. However, the ! 1526: MIPS symbol table has a field called index, so #undef index and ! 1527: rindex, and write our own functions local_index and local_rindex. ! 1528: ! 1529: * mips-bsd.h (CPP_PREDEFINES): Add single underscore in front of ! 1530: each of the defines, for RISC-OS 5.0 compatibility. ! 1531: ! 1532: * mips-sysv.h (CPP_PREDEFINES): Add single underscore in front of ! 1533: each of the defines, for RISC-OS 5.0 compatibility. ! 1534: ! 1535: * mips-svr4.h (CPP_PREDEFINES): Add single underscore in front of ! 1536: each of the defines, for RISC-OS 5.0 compatibility. ! 1537: ! 1538: * mips.h (CPP_PREDEFINES): Add single underscore in front of each ! 1539: of the defines, for RISC-OS 5.0 compatibility. ! 1540: ! 1541: * mips.c (override_options): Only call setvbuf to make stderr line ! 1542: buffered for -mstats on Ultrix, and OSF/1. ! 1543: ! 1544: Thu Oct 1 15:18:55 1992 Jim Wilson ([email protected]) ! 1545: ! 1546: * reload1.c (emit_reload_insns): Add a case to handle ! 1547: SECONDARY_MEMORY_NEEDED in the SECONDARY_OUTPUT_RELOAD_CLASS code. ! 1548: * sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Also need a temp reg ! 1549: when loading HImode and QImode values from memory to FP_REGS. ! 1550: (SECONDARY_OUTPUT_RELOAD_CLASS): New macro. Define this to handle ! 1551: HImode and QImode stores from FP_REGS to memory similar to above. ! 1552: ! 1553: Thu Oct 1 13:36:52 1992 Richard Stallman ([email protected]) ! 1554: ! 1555: * cccp.c (rescan): If traditional, recognize # only at bol. ! 1556: ! 1557: * expr.c (expand_expr): Just return the lowpart or highpart. ! 1558: ! 1559: * configure (i386-*-linux, i486-*-linux): New alternatives. ! 1560: * i386linux.h, i486linux.h, xm-linux.h: New files. ! 1561: ! 1562: * optabs.c (expand_unop): Handle complex negate and abs val. ! 1563: (init_optabs): Set up libcalls for complex abs. ! 1564: (init_complex_libcalls): New function. ! 1565: ! 1566: Thu Oct 1 22:58:45 1992 Eric Youngdale ([email protected]) ! 1567: ! 1568: * make-cc1.com: Extract line containing "#define YYEMPTY" from ! 1569: cp-parse.c, and append to cp-parse.h (a la Makefile.in). ! 1570: ! 1571: * cccp.c (main) [VMS]: Use .obj, not .o, in dependencies output. ! 1572: ! 1573: Thu Oct 1 17:15:49 1992 Chip Salzenberg ([email protected]) ! 1574: ! 1575: * c-common.c (declare_function_name): __FUNC__ variables ! 1576: are compiler-created, so set DECL_SOURCE_LINE to zero. ! 1577: * c-decl.c (pushdecl): Internally generated vars can be ! 1578: detected with DECL_SOURCE_LINE of zero, not DECL_IGNORED_P. ! 1579: ! 1580: Thu Oct 1 13:07:21 1992 Jeffrey A. Law ([email protected]) ! 1581: ! 1582: * pa.c (emit_move_sequence): When making a reference to the data ! 1583: space before reload, emit an insn sequence which is much more ! 1584: likely to create "addil" instructions rather than "ldil; add" ! 1585: sequences. Doing so greatly reduces the chance of running into a ! 1586: HPUX linker bug when compiling kernels. ! 1587: ! 1588: * pa.h (TARGET_KERNEL): New switch "-mkernel" which forces gcc to ! 1589: avoid "ldil; add" sequences when %r29 and instead generate "addil" ! 1590: sequences. This avoids a HPUX linker bug when compiling kernels. ! 1591: * pa.md (add high part and dp register): Split into two patterns, ! 1592: one for normal code, one for kernels. Kernel version only allows ! 1593: "r1" as the destination register. ! 1594: ! 1595: * pa.h (LEGITIMIZE_ADDRESS, SYMBOL_REF case): Emit a sequence ! 1596: which will cause "addil" instructions to be emitted instead of ! 1597: "ldil; add" sequences. ! 1598: ! 1599: Thu Oct 1 01:09:05 1992 Richard Stallman ([email protected]) ! 1600: ! 1601: * c-parse.in, cond.awk: New files. ! 1602: * Makefile.in (c-parse.y, objc-parse.y): Construct from c-parse.in. ! 1603: (gcc.xtar): Depend on c-parse.y, objc-parse.y. ! 1604: (realclean): Delete c-parse.y, objc-parse.y. ! 1605: ! 1606: * explow.c (allocate_dynamic_stack_space): If STACK_DYNAMIC_OFFSET ! 1607: or STACK_POINTER_OFFSET, always round address up to BIGGEST_ALIGNMENT. ! 1608: ! 1609: * gstddef.h: If _ANSI_H_, undef _PTRDIFF_T_, _SIZE_T_, _WCHAR_T. ! 1610: ! 1611: * gvarargs.h: In the first part (instead of va-*.h), define ! 1612: __gnuc_va_list, as in gstdarg.h. Always use __gunc_va_list ! 1613: as basis for defining va_list. ! 1614: Move interaction with BSD-NET2 down to where va_list itself is defined. ! 1615: ! 1616: * cccp.c (do_include): Delete unreachable goto after '"' case. ! 1617: ! 1618: Thu Oct 1 16:57:22 1992 Peter Schauer ([email protected]) ! 1619: ! 1620: * dpx2g.h (NO_DOLLAR_IN_LABEL): Undef because gas understands dollars ! 1621: in labels and gdb expects them if configured for gas. ! 1622: (STARTFILE_SPEC): Include huge.o to be compatible with native cc. ! 1623: (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): ! 1624: (CTOR_LISTS_DEFINED_EXTERNALLY, DO_GLOBAL_DTORS_BODY): ! 1625: (STARTFILE_SPEC): Conditionally redefine for a collectless version ! 1626: of gcc if USE_COLLECT2 is not defined. ! 1627: ! 1628: * dpx2.ifile: New ld command file to support not using collect2. ! 1629: ! 1630: Wed Sep 30 17:08:32 1992 Richard Stallman ([email protected]) ! 1631: ! 1632: * libgcc2.c (__eprintf): Do nothing if inhibit_eprintf is defined. ! 1633: ! 1634: * pbd.h, spc-sol2.h, tower.h (NO_UNDERSCORES): Deleted. ! 1635: ! 1636: * Makefile.in (install-fixincludes): rm syslimits.h before installing. ! 1637: Install it with cp. Add an else-part to the if that installs it. ! 1638: ! 1639: * c-decl.c (start_enum): Push obstacks, switch to permanent if global. ! 1640: (finish_enum): Pop obstacks. ! 1641: (store_parm_decls): When clearing ->names, clear out the values ! 1642: from the identifiers, restore shadowed values, and clear ->shadowed. ! 1643: ! 1644: * c-decl.c (grokdeclarator): Don't warn of const or volatile function ! 1645: in a system header file. ! 1646: ! 1647: * sdbout.c: Don't use system syms.h on hpux. ! 1648: ! 1649: * cccp.c (do_xifdef): Skip all kinds of whitespace, in bof test. ! 1650: ! 1651: Wed Sep 30 15:09:10 1992 Jim Wilson ([email protected]) ! 1652: ! 1653: * sparc.md (orcc peephole): Don't accept FP reg for operand 0. ! 1654: ! 1655: Wed Sep 30 00:47:48 1992 Richard Stallman ([email protected]) ! 1656: ! 1657: * gstdarg.h, gvarargs.h: Use <...> to include va-*.h. ! 1658: ! 1659: * c-decl.c (start_struct): Push the obstacks. ! 1660: Switch to permanent if at top level. ! 1661: (finish_struct): Pop them. ! 1662: ! 1663: * c-decl.c (store_parm_decls): If we have (erroneously) a prototype ! 1664: and old-style parm decls, throw away the old-style parm decls. ! 1665: ! 1666: * configure: Default $build after $host. Canonicalize all three ! 1667: config names before the main dispatch and save in $canon_host, etc. ! 1668: Write these into config.status and on terminal at the end. ! 1669: ! 1670: Tue Sep 29 18:41:54 1992 Jim Wilson ([email protected]) ! 1671: ! 1672: * unroll.c (find_splittable_givs): recog_memoized failure return ! 1673: is -1 not 0. ! 1674: ! 1675: Tue Sep 29 22:19:48 1992 Roland McGrath ([email protected]) ! 1676: ! 1677: * config.sub (os handling): Recognize `linux' as a valid os. ! 1678: ! 1679: Tue Sep 29 16:05:47 1992 Richard Stallman ([email protected]) ! 1680: ! 1681: * limitx.h: Use <...> in #include. ! 1682: ! 1683: * Makefile.in (ENQUIRE_CFLAGS): Remove -DNO_SC. ! 1684: ! 1685: Tue Sep 29 10:14:27 1992 Richard Kenner ([email protected]) ! 1686: ! 1687: * optabs.c (expand_binop): Convert X - C to X + (-C). ! 1688: ! 1689: Mon Sep 28 22:44:17 1992 Jim Wilson ([email protected]) ! 1690: ! 1691: * reload.c (find_reloads_address): If tem != ad, then create a new ! 1692: mem to hold it and store it back into memrefloc. ! 1693: ! 1694: Mon Sep 28 10:44:55 1992 Chip Salzenberg ([email protected]) ! 1695: ! 1696: * regclass.c: Fix comment syntax after #endif. ! 1697: ! 1698: Mon Sep 28 17:15:22 1992 Richard Stallman ([email protected]) ! 1699: ! 1700: * gstdarg.h (va_arg, va_start): Explicitly cast to __gnuc_va_alist. ! 1701: ! 1702: Mon Sep 28 17:12:04 1992 Jim Wilson ([email protected]) ! 1703: ! 1704: * unroll.c (copy_loop_body, JUMP_INSN case): When invert jump ! 1705: insn, must first construct new insn before trying to invert it, ! 1706: so that validate_change will work properly. ! 1707: ! 1708: * unroll.c (find_splittable_givs): Pass mem_mode not mode to ! 1709: memory_address_p. ! 1710: ! 1711: * unroll.c (copy_loop_body, JUMP_INSN case): When setting ! 1712: JUMP_LABEL field, verify that what we think is a label actually ! 1713: is. If it isn't then map the old JUMP_LABEL to find the new one. ! 1714: ! 1715: * sparc.md (orcc peephole): Don't allow FP regs to match pattern. ! 1716: ! 1717: * i960.md (indirect_jump): Use bx instead of b*, and accept any ! 1718: address_operand instead of just a register operand. ! 1719: ! 1720: * i960.c (i960_round_tree): Correct conversion of bits to bytes to ! 1721: round up to nearest byte. ! 1722: (i960_round_align): Likewise. ! 1723: ! 1724: Mon Sep 28 15:54:18 1992 Michael Meissner ([email protected]) ! 1725: ! 1726: * dec-osf1.h (LINK_SPEC): Fix typo. ! 1727: ! 1728: Mon Sep 28 08:15:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 1729: ! 1730: * rs6000.md (subsi3): Remove last change. ! 1731: (allocate_stack): Go back to calling subsi3. ! 1732: ! 1733: Mon Sep 28 02:41:32 1992 Richard Stallman ([email protected]) ! 1734: ! 1735: * optabs.c (expand_binop): Use get_insns, not gen_sequence. ! 1736: ! 1737: * c-typeck.c (build_unary_op): Address of nested fcn isn't constant. ! 1738: ! 1739: * libgcc2.c (__builtin_new): Avoid passing 0 to malloc. ! 1740: ! 1741: * m68k.md (indirect_jump): Use address_operand as predicate. ! 1742: ! 1743: * c-decl.c (finish_decl): Do the pop_obstacks sooner, when it's ! 1744: time to start allocating in the ambient context's obstack. ! 1745: Don't call permanent_allocation unless got back to permanent obstack. ! 1746: ! 1747: Sun Sep 27 13:06:19 1992 Richard Kenner ([email protected]) ! 1748: ! 1749: * function.c (assign_parms): If PROMOTE_FUNCTION_ARGS is defined, ! 1750: see if the incoming register should be used in a wider mode. ! 1751: (expand_function_start): Likewise for return value if ! 1752: PROMOTE_FUNCTION_RETURN is defined. ! 1753: * calls.c (struct arg_data): New field unsignedp. ! 1754: (expand_call): Handle PROMOTE_FUNCTION_ARGS and ! 1755: PROMOTE_FUNCTION_RETURN. ! 1756: ! 1757: * alpha.h (FUNCTION_VALUE): Promote mode for return value. ! 1758: ! 1759: * alpha.h (BYTE_LOADS_SIGN_EXTEND): Define. ! 1760: ! 1761: * rs6000.md (subsi3): Don't bother calling negate_rtx for constant; ! 1762: we shouldn't be called with a constant. ! 1763: (maskir patterns): Don't mention an operand before it is used; ! 1764: use operand number 1 for operand with '0' constraint. ! 1765: (allocate_stack): Use reg_or_short_operand for predicate of ! 1766: allocation amount; use negate_rtx and always make a PLUS. ! 1767: ! 1768: * romp.h (EXTRA_CONSTRAINT, case 'Q'): Check for MEM instead of ! 1769: calling memory_operand. ! 1770: (SHIFT_COUNT_TRUNCATED): No longer define this. ! 1771: ! 1772: Sat Sep 26 18:14:15 1992 Michael Meissner ([email protected]) ! 1773: ! 1774: * config.sub (os handling): Recognize riscos as an operating ! 1775: system. ! 1776: ! 1777: * configure (dec-osf1): Use x-decstatn for xmake_file. ! 1778: (mips computers): Handle RISC-OS 5 vs. RISC-OS 4 configuration ! 1779: changes -- RISC-OS 5. passes -non_shared by default. ! 1780: ! 1781: * mips-5.h (new file): RISC-OS rev 5 config file. ! 1782: * mips-5bsd.h (new file): RISC-OS rev 5, bsd 4.3 config file. ! 1783: * mips-5g4.h (new file): RISC-OS rev 5, svr4 + stabs config file. ! 1784: * mips-5gbsd.h (new file): RISC-OS rev 5, bsd 4.3 + stabs config file. ! 1785: * mips-5gdb.h (new file): RISC-OS rev 5 + stabs config file. ! 1786: * mips-5gsysv.h (new file): RISC-OS rev 5 svr3 + stabs config file. ! 1787: * mips-5svr4.h (new file): RISC-OS rev 5 svr4 + stabs config file. ! 1788: * mips-5sysv.h (new file): RISC-OS rev 5 svr3 config file. ! 1789: ! 1790: * dec-osf1.h (LINK_SPEC): Pass -non_shared to linker unless ! 1791: -shared was passed. ! 1792: (SIZE_TYPE): Define as long unsigned int. ! 1793: (PTRDIFF_TYPE): Define as int. ! 1794: (WCHAR_TYPE_SIZE): Define as SHORT_TYPE_SIZE. ! 1795: ! 1796: * decrose.h (MACHINE_TYPE): Shorten verbage. ! 1797: ! 1798: * i386rose.h (TARGET_VERSION): Print appropriate information. ! 1799: ! 1800: * xm-mips.h (HAVE_VFPRINTF, HAVE_PUTENV): Define on DEC OSF/1. ! 1801: ! 1802: * mips.c (siginfo): Print just current filename, and function ! 1803: being compiled. ! 1804: ! 1805: * mips-tfile.c (Size_t): Use long unsigned on OSF/1. ! 1806: (toplevel): Don't define rindex and index on OSF/1. ! 1807: ! 1808: Sat Sep 26 17:46:57 1992 Torbjorn Granlund ([email protected]) ! 1809: ! 1810: * arm.md (comment before extendhisi2): Remove the lie. ! 1811: (zero_extendhisi2): Rewrite to work if op0 == op1. Use ! 1812: gen_lowpart in preparation code. ! 1813: (extendqisi2, extendhisi2): Likewise. ! 1814: (extendqihi2): Expand. ! 1815: ! 1816: * arm.md (restorehi): Rewrite for correctness, efficiency, and ! 1817: clarity. Avoid generating insns involving truncate. Generate ! 1818: needed pseudos in preparation statements. ! 1819: (storehi): Likewise. ! 1820: (storeinthi): Likewise. ! 1821: (movhi): Call gen_storehi, gen_restorehi, gen_storeinthi according ! 1822: their new definitions. Use force_reg to put address in register. ! 1823: ! 1824: * m68k.md (indirect_jump): Use %a0 for output, and p for constraint. ! 1825: ! 1826: Sat Sep 26 02:42:42 1992 Richard Stallman ([email protected]) ! 1827: ! 1828: * reload1.c (eliminate_regs_in_insn): Rerecognize if move insn ! 1829: becomes a non-move. ! 1830: ! 1831: * Makefile.in (install-fixincludes): ! 1832: Use - when making syslimits.h; fix if-statement syntax. ! 1833: ! 1834: * jump.c (jump_optimize): When handling dispatch table that always ! 1835: goes to the same place, verify previous insn exists. ! 1836: ! 1837: * c-typeck.c (common_type): Renable code to merge qualifiers ! 1838: given two pointers to compatible types. ! 1839: ! 1840: Sat Sep 26 12:02:38 PDT 1992 Ron Guilmette (rfg at netocm.com) ! 1841: ! 1842: * dwarfout.c (location_attribute): If DECL_RTL looks like (MEM pseudo), ! 1843: treat that variable as optimized away. ! 1844: ! 1845: Fri Sep 25 19:48:46 1992 Richard Stallman ([email protected]) ! 1846: ! 1847: * c-decl.c (explicit_flag_signed_bitfields): New variable. ! 1848: (c_decode_option): Set that for -f[un]signed-bitfields. ! 1849: (grokdeclarator): If that's set, and -fsigned-bitfields, ! 1850: disregard -traditional when handling bitfield signedness. ! 1851: ! 1852: * configure: Handle --build option. Make link hconfig.h. ! 1853: * Makefile.in: In the targets such as $(HOST_PREFIX_1)rtl.o, ! 1854: use sed to make them include hconfig.h instead of config.h. ! 1855: (distclean): Add command to delete hconfig.h. ! 1856: ! 1857: Fri Sep 25 19:56:35 1992 Brendan Kehoe ([email protected]) ! 1858: ! 1859: * cp-search.c (compute_visibility): Don't mess with the context. ! 1860: ! 1861: * cp-decl.c (grokdeclarator): Return value from do_friend ! 1862: properly; this shouldn't have gone in yet. ! 1863: ! 1864: Fri Sep 25 02:23:51 1992 Richard Stallman ([email protected]) ! 1865: ! 1866: * c-typeck.c (initializer_constant_valid_p): Really use endtype. ! 1867: ! 1868: * cccp.c (do_include): "Concatenate" multiple "strings" in #include. ! 1869: ! 1870: * vmsconfig.com: Renamed from configure.com. ! 1871: ! 1872: * next.h (CPP_PREDEFINES): Define __ARCHITECTURE__. ! 1873: ! 1874: * dbxout.c (dbxout_symbol): For anonymous enum, output type anyway. ! 1875: ! 1876: Fri Sep 25 01:33:36 1992 Jim Wilson ([email protected]) ! 1877: ! 1878: * function.h (struct function): Add epilogue_delay_list field. ! 1879: * function.c (push_function_context): Save epilogue_delay_list. ! 1880: (pop_function_context): Restore epilogue_delay_list. ! 1881: ! 1882: * sparc.md (nonlocal_goto): Force operands[0] to be a register. ! 1883: ! 1884: * va-sparc.h (va_arg): Add 3 more (void *) casts to avoid warnings ! 1885: with -Wcast-align. ! 1886: ! 1887: * sparc.c (SF_MODES): Accept all single word or smaller integer ! 1888: modes not just SImode. These are needed for fix/float conversions. ! 1889: ! 1890: * sched.c (sched_analyze_2, PRE_DEC case): Call sched_analyze_2 in ! 1891: addition to sched_analyze_1. ! 1892: ! 1893: * va-i960.h (va_start): Must access anonymous arg as offset from ! 1894: start of argument block. ! 1895: ! 1896: * i960.md (movdi, movti, movdf, movtf): Make store zero to memory ! 1897: a separate case, only accept offsettable memory addresses, and call ! 1898: adj_offsettable_operand to calculate subword addresses. ! 1899: ! 1900: * i960.c (i960_output_ldconst): Pass missing xoperands argument to ! 1901: output_asm_insn call. ! 1902: ! 1903: * a29k.md (movti): Split CONST_INTs into 4 moves, and force all ! 1904: other constants to memory. ! 1905: ! 1906: Thu Sep 24 21:51:46 1992 Brendan Kehoe ([email protected]) ! 1907: ! 1908: Complete Cygnus<-->FSF merge. ! 1909: ! 1910: Thu Sep 24 17:05:27 1992 Brendan Kehoe ([email protected]) ! 1911: ! 1912: * cp-decl.c (pushdecl): Use a friendly abort rather than an assert. ! 1913: (grokparms): Pass whether init is set or not for the initialized ! 1914: parameter to grokdeclarator. ! 1915: ! 1916: Wed Sep 23 22:09:44 1992 Mike Stump ([email protected]) ! 1917: ! 1918: * cp-class.c (finish_struct), cp-decl2.c (warn_nonvdtor), ! 1919: cp-tree.c (layout_basetypes), cp-tree.h (warn_nonvdtor): Re-enable ! 1920: warnings for non-virtual destructors in some situations. ! 1921: ! 1922: Wed Sep 23 15:42:33 1992 Mike Stump ([email protected]) ! 1923: ! 1924: Wed Sep 23 16:31:27 1992 Michael Meissner ([email protected]) ! 1925: ! 1926: * cp-decl.c (duplicate_decls): Cast bcopy arguments to char * to ! 1927: avoid warning on OSF/1. ! 1928: ! 1929: Wed Sep 23 11:36:44 1992 Brendan Kehoe ([email protected]) ! 1930: ! 1931: * cp-decl.c (start_method): Give the name of the class if a method's ! 1932: being defined again, rather than say "aggregate scope". ! 1933: * cp-decl2.c (grokfield, grokbitfield, groktypefield): Ditto. ! 1934: ! 1935: Tue Sep 1 22:55:59 1992 Paul Eggert ([email protected]) ! 1936: ! 1937: * cp-cvt.c (convert_to_integer): Prefer unsigned ! 1938: arithmetic if the output type is unsigned and is no more precise than ! 1939: the computation type. This avoids unnecessary sign extension. ! 1940: ! 1941: Tue Sep 15 20:26:18 1992 John F Carr (jfc at Athena.MIT.EDU) ! 1942: ! 1943: * cp-pt.c (tsubst): Don't call layout_type near start of function ! 1944: with T. const and volatile attributes don't affect the memory ! 1945: structure of the type, and T may not yet be a valid argument for ! 1946: layout_type (for example, if it is an uninstantiated template). ! 1947: Individual switch cases will call layout_type if necessary. ! 1948: ! 1949: Mon Sep 21 15:59:22 1992 Brendan Kehoe ([email protected]) ! 1950: ! 1951: * cp-decl.c (pushdecl): Check if DECL_SOURCE_LINE is non-zero, not ! 1952: if DECL_IGNORED_P is set, when checking for shadowing. We no longer ! 1953: need DECL_IGNORED_P on builtin types. ! 1954: (record_builtin_type): Don't set DECL_IGNORED_P for a builtin type. ! 1955: ! 1956: * cp-decl.c (start_decl): When working with virtual functions, ! 1957: always use the node's DECL_CLASS_CONTEXT. ! 1958: * cp-method.c (hack_identifier): Ditto. ! 1959: * cp-search.c (compute_visibility): Ditto. ! 1960: ! 1961: * cp-decl.c (grokdeclarator): Don't allow a member to be declared ! 1962: extern. ! 1963: ! 1964: * cp-decl.c (grokdeclarator): Return a void_type_node if we're ! 1965: looking at a friend (even after calling do_friend). ! 1966: (pushdecl): Disable some code that's untested and ! 1967: doesn't necessarily help DWARF right now. ! 1968: (finish_function): Always emit debugging info for the ! 1969: return type of a function. ! 1970: (pushdecl): Don't change the DECL_CONTEXT of virtual ! 1971: methods. ! 1972: (finish_enum): Always output debugging info for enums. ! 1973: (grokdeclarator): It's an error if we're doing an init of an extern ! 1974: at the top level. If we are at the top level, just warn. ! 1975: ! 1976: * cp-typeck.c (comp_target_parms): Check if strict is non-zero, not ! 1977: just > 0. ! 1978: (build_function_call_real): Don't return an error-mark node when ! 1979: they call "main" from within the fn, it's only a pedantic warning. ! 1980: (pointer_int_sum): Reword warning when using a ptr-to-mem in arith. ! 1981: ! 1982: * cp-tree.c (layout_basetypes): Make record_align and const_size ! 1983: unsigned. ! 1984: ! 1985: Mon Sep 21 14:53:43 1992 Brendan Kehoe ([email protected]) ! 1986: ! 1987: * cp-tree.h (flag_no_ident): Add extern decl for cp-lex.c. ! 1988: ! 1989: * cp-decl.c (duplicate_decls): Save the DECL_UID and DECL_FRIEND_P ! 1990: info from olddecl. Otherwise, they'd get clobbered when newdecl's ! 1991: contents get copied into olddecl. ! 1992: ! 1993: * cp-lex.c (check_newline): Delete pedantic error about using #ident, ! 1994: since cccp.c already gives a warning. In the case that ! 1995: ASM_OUTPUT_IDENT is defined, only actually spit it out if flag_no_ident ! 1996: is not set. ! 1997: ! 1998: Sat Sep 19 14:53:31 1992 Brendan Kehoe ([email protected]) ! 1999: ! 2000: Sat Sep 19 11:37:11 1992 John F Carr (jfc at Athena.MIT.EDU) ! 2001: ! 2002: * cp-decl.c (finish_decl): Don't call ! 2003: CLASSTYPE_DECLARED_EXCEPTION if TYPE is error_mark_node, to avoid ! 2004: referencing a nonexistent field. ! 2005: ! 2006: Fri Sep 18 14:06:06 1992 Brendan Kehoe ([email protected]) ! 2007: ! 2008: * cp-parse.y (component_decl): Remove sorry about not implementing ! 2009: methods in anonymous unions---they're illegal, and we generate an ! 2010: error elsewhere to that effect. ! 2011: ! 2012: * cp-decl.c (start_method): Make the error message about a ! 2013: duplicated member a little more informative. ! 2014: ! 2015: Fri Sep 18 12:28:13 1992 Brendan Kehoe (brendan at rtl.cygnus.com) ! 2016: ! 2017: * cp-parse.y: Define YYDEBUG if SPEW_DEBUG is defined. ! 2018: (debug_yytranslate): YYDEBUG will always be defined, no need to test. ! 2019: ! 2020: Fri Sep 18 10:46:19 1992 Brendan Kehoe ([email protected]) ! 2021: ! 2022: * cp-parse.y (unary_expr): When parsing delete, first complain if ! 2023: it's a non-pointer, then check if it's a pointer with the value zero. ! 2024: Also be sure not to call build_delete if that's the case. ! 2025: ! 2026: Thu Sep 24 18:03:07 1992 Michael Meissner ([email protected]) ! 2027: ! 2028: * mips.h (MIPS_VERSION): Set Meissner version # to 27. ! 2029: (STRUCT_VALUE_REGNUM): Delete macro. ! 2030: (STRUCT_VALUE): Define as 0, so that structure return addresses ! 2031: are passed as the first argument. This fixes various codegen ! 2032: problems with functions returning structures. ! 2033: ! 2034: * mips.c (init_cumulative_args): Don't advance arg pointer if ! 2035: function returns a structure. ! 2036: ! 2037: Thu Sep 24 12:38:31 1992 Torbjorn Granlund ([email protected]) ! 2038: ! 2039: * pa.h (REGISTER_MOVE_COST): Fix typo. Use `||' instead of `|'. ! 2040: (REG_CLASS_FROM_LETTER): Don't handle 'r' constraints here. ! 2041: * pa.c (clobbered_register): Delete. ! 2042: (srcsi_operand): Return 1 also for things matching ! 2043: depi_cint_operand. ! 2044: (secondary_reload_class): Replace. ! 2045: * pa.md (ldo/ldil SImode and HImode recognizers): Use ! 2046: "const_int_operand" for operand 1 and simplify final condition. ! 2047: Remove `n' constraint. ! 2048: (depi SImode and HImode recognizers): Remove `n' constraint. ! 2049: (plus:SI ... high ... splitter): Don't overwrite input, go via ! 2050: clobber operand instead. ! 2051: (many patterns): Replace `in' constraint with just `i'. ! 2052: (movstrsi): Don't do (clobber (match_scratch)), use explicit ! 2053: pseudos instead, generated in preparation C code. Don't call ! 2054: force_not_mem for operand 2. ! 2055: (movstrsi recognizer): Add `&' to operand 3. ! 2056: (andsi3): Fix typo. ! 2057: (iorsi3): Fix typo. ! 2058: (load-shift-16): New optimizer. ! 2059: (load-shift optimizers): Set "type" attr. ! 2060: ! 2061: Thu Sep 24 15:17:38 1992 Richard Stallman ([email protected]) ! 2062: ! 2063: * toplev.c (lang_options): Add Objc options. ! 2064: ! 2065: * configure.bat: Use xgcc, not gcc. ! 2066: ! 2067: Thu Sep 24 06:30:47 1992 Richard Kenner ([email protected]) ! 2068: ! 2069: * c-lex.c (yylex, case '"'): Initialize arg pased to readescape. ! 2070: ! 2071: * genattrtab.c (length_used): New variable. ! 2072: (walk_attr_value): Set it when we have (eq_attr "length" ...). ! 2073: (write_const_num_delay_slots): Value is 1 unless LENGTH_USED is set. ! 2074: ! 2075: * reorg.c (mark_set_resources, case CC0): Set RES->CC if IN_SEST. ! 2076: ! 2077: * regclass.c (forbidden_inc_dec_class, in_inc_dec): New variables. ! 2078: (regclass): Don't alloca the costs twice. ! 2079: Initialize forbidden_inc_dec_class. ! 2080: For regs that have inc-dec, ignore forbidden classes. ! 2081: (record_address_regs): Update in_inc_dec. ! 2082: ! 2083: Thu Sep 24 02:36:00 1992 Richard Stallman ([email protected]) ! 2084: ! 2085: * syslimits.h: New file, includes system's limits.h. ! 2086: * limitx.h: Include syslimits.h instead of system's limits.h. ! 2087: * Makefile.in (USER_H): Add syslimits.h. ! 2088: (install-fixincludes): If we fix system's limits.h, install that ! 2089: as syslimits.h ! 2090: ! 2091: * c-lex.c (readescape): New arg ignore_ptr. ! 2092: (yylex): Pass new arg, handle result that comes back. ! 2093: ! 2094: Wed Sep 23 19:26:42 1992 Richard Kenner ([email protected]) ! 2095: ! 2096: * reload.c (find_reloads_address): Properly check for constant address. ! 2097: ! 2098: * cse.c (simplify_unary_operation, case SIGN_EXTEND): Use ! 2099: HOST_BITS_PER_WIDE_INT, not HOST_BITS_PER_INT. ! 2100: ! 2101: * fold-const.c (fold_convert): Add missing cast to HOST_WIDE_INT. ! 2102: ! 2103: * jump.c (jump_optimize): Tighten up test for when we can't ! 2104: delete a set of CC0. ! 2105: Don't insert insns between set and use of CC0. ! 2106: ! 2107: * final.c (shorten_branches): Correctly access insn needing delay slot. ! 2108: ! 2109: * combine.c (significant_bits, num_sign_bit_copies): Handle SUBREGs ! 2110: made for promoted variables. ! 2111: ! 2112: * reorg.c (fill_simple_delay_slots): Don't make copy of insn that ! 2113: references CC0. ! 2114: ! 2115: * romp.md (define_attr "type"): New type "ibranch". ! 2116: (define_attr "length"): Set length for "ibranch" type. ! 2117: (define_attr "in_delay_slot"): Add new type "ibranch"; ! 2118: for "branch", only has delay slot if length is 4. ! 2119: (define_attr "cc_type"): Add new type "ibranch". ! 2120: (indirect branches): Now type "ibranch". ! 2121: ! 2122: * alpha.c (alpha_gp_dead_after): Return 0 if not optimizing. ! 2123: ! 2124: Wed Sep 23 00:11:35 1992 Richard Stallman ([email protected]) ! 2125: ! 2126: * gvarargs.h: Finish changing _ANSI_H to _ANSI_H_. ! 2127: ! 2128: Tue Sep 22 23:39:06 1992 Richard Stallman ([email protected]) ! 2129: ! 2130: * i386mach.h (perform_fixdfsi): Copy arg to memory variable. ! 2131: ! 2132: Tue Sep 22 14:54:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 2133: ! 2134: * loop.c (basic_induction_var): Inside PLUS, when looking for promoted ! 2135: var, make sure it's a REG. ! 2136: ! 2137: Tue Sep 22 12:21:11 1992 Michael Meissner ([email protected]) ! 2138: ! 2139: * mips.h (MIPS_VERSION): Bump Meissner version # to 26. ! 2140: (REG_PARM_STACK_SPACE): Use UNITS_PER_WORD instead of 4, and ! 2141: substract FIRST_PARM_OFFSET. ! 2142: (FIRST_PARM_CALLER_OFFSET): Delete unused macro. ! 2143: ! 2144: * mips.c (init_cumulative_args): Print types of fntype and the ! 2145: return type if -mdebuge. ! 2146: ! 2147: * decrose.h (CPP_SPEC): Eliminate defining various builtin ! 2148: functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor ! 2149: -fno-builtin were passed. ! 2150: (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if ! 2151: neither -fbuiltin nor -fno-builtin were passed. Eliminate ! 2152: %{save-temps: } since gcc no longer gives an unknown switch ! 2153: message if it is used. ! 2154: ! 2155: * i386rose.h (CPP_SPEC): Eliminate defining various builtin ! 2156: functions with -D<name>=__builtin_<name>, if neither -fbuiltin nor ! 2157: -fno-builtin were passed. ! 2158: (CC1_SPEC): Eliminate passing -fno-builtin to the compiler if ! 2159: neither -fbuiltin nor -fno-builtin were passed. Eliminate ! 2160: %{save-temps: } since gcc no longer gives an unknown switch ! 2161: message if it is used. ! 2162: (MASK_HALF_PIC): Move bit mask to 0x40000000, to allow for i386.h ! 2163: to define more switches without overlapping our private switch. ! 2164: (TARGET switches): Add -mdebugb to debug half-pic code. ! 2165: (OPTIMIZATION_OPTIONS): Only set flag_gnu_linker FALSE always, and ! 2166: flag_inline_functions if -O3. In particular never set ! 2167: -fomit-frame-pointer which currently messes up debugging. ! 2168: (GO_IF_LEGITIMATE_ADDRESS): Define i386-osfrose version that deals ! 2169: with half-pic. ! 2170: (OVERRIDE_OPTIONS): Define to initialize half-pic. ! 2171: (ASM_FILE_END): Define to dump out half-pic variables if needed. ! 2172: ! 2173: * t-i386rose (EXTRA_OBJS): Define as halfpic.o. ! 2174: (CONFIG2_H): Add $(srcdir)/halfpic.h. ! 2175: (halfpic.o): Add dependencies. ! 2176: ! 2177: Tue Sep 22 03:12:01 1992 Richard Stallman ([email protected]) ! 2178: ! 2179: * reload1.c (choose_reload_regs): When setting reg_has_output_reload, ! 2180: loop over multiple regs only for hard reg. Set reg_is_output_reload ! 2181: in separate loop. ! 2182: ! 2183: Mon Sep 21 12:22:24 1992 Jeffrey A. Law ([email protected]) ! 2184: ! 2185: * reorg.c (mark_set_resources, case REG): A register is set iff ! 2186: "in_dest" is nonzero. ! 2187: ! 2188: Mon Sep 21 14:16:10 1992 Torbjorn Granlund ([email protected]) ! 2189: ! 2190: * combine.c (make_extraction): Make test whether to use AND or ! 2191: {SIGN,ZERO}_EXTRACT depend on UNSIGNEDP. ! 2192: ! 2193: Mon Sep 21 08:26:55 1992 Richard Kenner ([email protected]) ! 2194: ! 2195: * reload1.c (reload): If we can't get a register that we know won't ! 2196: interfere with groups, get one that might instead of giving up. ! 2197: ! 2198: * reload1.c (reload): Print the needs to the dump file. ! 2199: ! 2200: Mon Sep 21 02:45:19 1992 Richard Stallman ([email protected]) ! 2201: ! 2202: * function.c (put_var_into_stack): Check REG != 0 before dereference. ! 2203: ! 2204: Sun Sep 20 16:58:05 1992 Fred Fish (fnf at fishpond.cygnus.com) ! 2205: ! 2206: * x-svr4: New generic SVR4 host makefile fragment. ! 2207: * x-i386v4: File deleted. ! 2208: * x-ncr3000: Get alloca using ALLOCA, not libucb.a. ! 2209: * configure (i386-*-sysv4*): Use x-svr4, not x-i386v4. ! 2210: * configure (i486-*-sysv4*): Use x-svr4. ! 2211: ! 2212: Sun Sep 20 21:18:15 1992 Richard Stallman ([email protected]) ! 2213: ! 2214: * combine.c (subst): Set and compare extend_op with 0, not NULL. ! 2215: ! 2216: * cse.c (find_comparison_args): New args PMODE1, PMODE2. ! 2217: (fold_rtx, record_jump_equiv): Use them to get modes of comparison. ! 2218: (fold_rtx): Associate MINUS with nested PLUS. ! 2219: ! 2220: * seq386.h (LPREFIX): Overridden as `.L'. ! 2221: (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_INTERNAL_LABEL): Likewise. ! 2222: ! 2223: Sun Sep 20 05:53:20 1992 Richard Kenner ([email protected]) ! 2224: ! 2225: * combine.c (try_combine): Always call set_significant on new ! 2226: patterns, so don't call just in split case. ! 2227: ! 2228: * combine.c (subst): Move sign extension inside arithmetic ! 2229: when we have a constant computation inside another computation. ! 2230: ! 2231: * emit-rtl.c (emit_insn_after_with_line_notes): New function. ! 2232: * jump.c (jump_optimize): Delete insns that set registers that ! 2233: are not used elsewhere. ! 2234: Fix some bugs in "if (...) x = a; else x = b;" code. ! 2235: Remove uses of reorder_insns. ! 2236: Add code to make scc insns for "if (...) x = exp;" if EXP is simple ! 2237: enough. ! 2238: Optimize "if (...) x = b;" if jumps very expensive; don't use a REG ! 2239: as the older value of X since it doesn't help and can hurt. ! 2240: Correctly place generated insns in above case. ! 2241: ! 2242: * reload.c (find_reloads, find_reloads_toplev): Treat ! 2243: BYTE_LOADS_SIGN_EXTEND just like BYTE_LOADS_ZERO_EXTEND. ! 2244: * combine.c (subst, simplify_and_const_int, significant_bits): ! 2245: Likewise. ! 2246: (num_sign_bit_copies, case MEM): New case for BYTE_LOADS_SIGN_EXTEND. ! 2247: (num_sign_bit_copies, case SUBREG): Handle just like significant_bits. ! 2248: ! 2249: Sat Sep 19 15:55:31 1992 Richard Kenner ([email protected]) ! 2250: ! 2251: * combine.c (combine_instructions): Clear significant_valid ! 2252: at end of combine pass for a function. ! 2253: (find_split_point, case MEM): See if first operand of the PLUS ! 2254: that makes up an address is complex. ! 2255: (subst): Add missing arg to recursive calls when IF_THEN_ELSE ! 2256: is an arg of an operator. ! 2257: (subst, case IF_THEN_ELSE): Generalize code to propagate comparison ! 2258: result into arms by using known_cond. ! 2259: If an arm is the first operand of the comparison, make it the ! 2260: true arm. ! 2261: Remove unneeded comparison when arms are identical. ! 2262: Try to convert IF_THEN_ELSE to ABS, (neg (abs X)), [US]MIN, [US]MAX. ! 2263: Convert (if_then_else (ne A 0) (OP X C) X) to (OP X (mult A C)). ! 2264: (subst, case SET): If we don't have conditional moves, ! 2265: convert IF_THEN_ELSE into logical operations. ! 2266: (subst, case AND): Always make conditional moves, even if we ! 2267: don't support them on the machine. ! 2268: (known_cond, extended_count): New functions. ! 2269: (gen_binary): For commutative operations, put constant last. ! 2270: ! 2271: * combine.c (try_combine): The insns made by a DEFINE_SPLIT might ! 2272: contain a PARALLEL and the call to recog_for_combine might add it. ! 2273: ! 2274: * combine.c (simplify_comparison, case ASHIFT): Fix typo. ! 2275: ! 2276: * combine.c (try_combine): When removing REG_UNUSED note, ! 2277: update reg_n_deaths. ! 2278: Likewise, when making new REG_DEAD notes for distribute_notes. ! 2279: (remove_death, move_deaths): Update reg_n_deaths. ! 2280: (distribute_notes): When placing second REG_DEAD or REG_UNUSED note or ! 2281: ignoring such a note, update reg_n_deaths. ! 2282: ! 2283: * rtl.h (SUBREG_PROMOTED_{VAR,UNSIGNED}_P): New macros. ! 2284: * tree.h (DECL_MODE, DECL_RTL): Update comments. ! 2285: * expr.h (PROMOTE_MODE): Provide default definition. ! 2286: * expr.c (convert_move, convert_to_mode): Strip off a SUBREG made ! 2287: for variables with promoted modes. ! 2288: (store_expr): Store into variables with promoted modes by ! 2289: doing the appropriate extension operation. ! 2290: (expand_expr, case VAR_DECL): Generate SUBREGs for promoted objects. ! 2291: (expand_expr, case SAVE_EXPR): Likewise for SAVE_EXPRs. ! 2292: (expand_increment): Handle increment of promoted objects. ! 2293: * function.c (fixup_var_refs{,_insns}): Add new parms for promoted ! 2294: mode and signedness; all callers changed. ! 2295: Insert mode conversions when required. ! 2296: (fixup_var_refs_1): Add new parms for mode and signedness; ! 2297: handle SUBREGs for promoted values. ! 2298: (assign_parms): Promote the mode of parameters when useful for ! 2299: the target machine. ! 2300: * function.h (struct var_refs_queue): Remove unused field ORIGINAL. ! 2301: Add new fields PROMOTED_MODE and UNSIGNEDP. ! 2302: * integrate.c (expand_inline_function): Convert actual to formal's ! 2303: mode (in case formal was promoted). ! 2304: * loop.c (basic_induction_var): Add new parameter P. ! 2305: Check for bivs that are set over multiple insns and also ! 2306: allow a SIGN_EXTEND to be used; remove check for MINUS since ! 2307: we don't make MINUS with a constant 2nd operand any more. ! 2308: * optabs.c (expand_binop, expand_unop): Don't make SUBREG for promoted ! 2309: variables as operands. ! 2310: * stmt.c (tail_recursion_args): Use mode of DECL_RTL, not ! 2311: DECL_MODE. ! 2312: (expand_decl): Promote modes of scalar variables when useful on ! 2313: target. ! 2314: * unroll.c (find_splittable_regs): If any BIV update isn't ! 2315: simple, don't split it. ! 2316: (final_giv_value): Look for biv updates by matching insns; don't ! 2317: try to reparse the insn. ! 2318: * rs6000.h (PROMOTE_MODE): New macro. ! 2319: ! 2320: * rtlanal.c (reg_set_last): Allow old value to be a SUBREG. ! 2321: ! 2322: * rs6000.c (print_operand, case 'h', 'H', 'w'): Minor cleanups. ! 2323: * rs6000.h (BRANCH_COST): Increase from 2 to 3. ! 2324: * rs6000.md (smax, smin, umax, umin): Add define_splits. ! 2325: ! 2326: * alpha.h (PROMOTE_MODE): New macro. ! 2327: (REG_ALLOC_ORDER): Put $0 in front of $21-$16. ! 2328: (CONST_OK_FOR_LETTER): Change meanings of N, O, and P. ! 2329: (BRANCH_COST): Increase from 3 to 4. ! 2330: (PREDICATE_CODES): Add new predicates reg_or_cint_operand and ! 2331: sext_add_operand. ! 2332: * alpha.md (addsi3): subl can be used to sign-extend addition of ! 2333: small negative constants. ! 2334: (negsi2): Add pattern for (sign_extend (neg ..)). ! 2335: (and pattern): Fix typo in constraint. ! 2336: (ashldi3): Use new definition of constant letters. ! 2337: (smax, smin, umax, umin): Add define_splits. ! 2338: (compares): Can compare constant with zero by adding negative of ! 2339: constant. ! 2340: (store insns): Can store 0 into memory in both integer and FP. ! 2341: * alpha.c (sext_add_operand, reg_or_cint_operand): New function.s ! 2342: (print_operand, case 'r', case 'R'): Clean up code; use CONST0_RTX. ! 2343: ! 2344: * rtl.c (note_insn_name): Fix typo: had NOT_INSN_DELETED_LABEL. ! 2345: ! 2346: * jump.c (delete_insn): Don't change labels to NOTEs if we would ! 2347: not really have deleted them. ! 2348: ! 2349: * genconfig.c (walk_insn_part, case IF_THEN_ELSE): Refine when ! 2350: HAVE_CMOVE_FLAG gets set. ! 2351: ! 2352: Sat Sep 19 14:52:05 1992 Richard Stallman ([email protected]) ! 2353: ! 2354: * reload.c (find_reloads): Always use >= with FIRST_PSEUDO_REGISTER. ! 2355: ! 2356: * i386mach.h (SIZE_TYPE): Defined. ! 2357: ! 2358: Sat Sep 19 04:57:06 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 2359: ! 2360: * i386.md (sCOND patterns): Don't allow a MEM in the SET_DEST, ! 2361: because these insns can't have input reloads, and a MEM might need ! 2362: an input address reload. ! 2363: ! 2364: * fold-const.c (fold_convert): Avoid using conversion of unsigned ! 2365: to floating; offset value by hand to fit in signed type. ! 2366: ! 2367: Sat Sep 19 00:50:32 1992 Richard Stallman ([email protected]) ! 2368: ! 2369: * integrate.c (subst_constants): Do substitute in address of MEM dest. ! 2370: ! 2371: * reload1.c (init_reload): Fix typo. ! 2372: ! 2373: Fri Sep 18 21:09:15 1992 Richard Stallman ([email protected]) ! 2374: ! 2375: * libgcc2.c: Declare _exit as volatile. ! 2376: ! 2377: * function.c (assign_parms): Set MEM_IN_STRUCT_P right in stack slots. ! 2378: ! 2379: Fri Sep 18 15:58:15 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 2380: ! 2381: * fixincludes: Don't look for *.h symlinks if the host doesn't ! 2382: have symlinks. ! 2383: ! 2384: Fri Sep 18 17:34:27 1992 Michael Meissner ([email protected]) ! 2385: ! 2386: * mips.md (call_internal): If the memory address to call is really ! 2387: a constant integer, load it up into $at and do the call from ! 2388: there. ! 2389: (call_value_internal): Ditto. ! 2390: ! 2391: Fri Sep 18 03:48:17 1992 Tom Wood ([email protected]) ! 2392: ! 2393: * m88k.c (m88k_volatile_code): New variable. ! 2394: (print_operand): Track volatile memory references and output a ! 2395: serializing instruction before a load when necessary. ! 2396: * m88k.h (TARGET_SWITCHES): Add -m{no,}serialize-volatile. ! 2397: (OVERRIDE_OPTIONS): -m88110 and -m88000 imply -mserilize-volatile. ! 2398: (ADJUST_INSN_LENGTH): Volatile memory operantions may be longer. ! 2399: (CC_STATUS_INIT): Reset m88k_volatile_code to the unknown state. ! 2400: * m88k.md (load store patterns): Prepend loads and stores with %V ! 2401: and %v to track the type and address of the access. ! 2402: ! 2403: * m88k.c (m88k_version, m88k_version_0300): New variables. ! 2404: * m88k.h (TARGET_OPTIONS): Generalize to -mversion-STRING. ! 2405: (OVERRIDE_OPTIONS): Compute m88k_version_0300. ! 2406: * m88k.md (call_movstrsi_loop): Renamed from call_block_move_loop. ! 2407: Use call-value for the block move patterns. ! 2408: ! 2409: * m88kdgux.h (PERFERRED_DEBUGGING_TYPE): Compute based on ! 2410: m88k_version. ! 2411: (CPU_DEFAULT): Make it -m88000. ! 2412: ! 2413: * m88k.h: Don't use #elif ! 2414: ! 2415: Fri Sep 18 01:08:55 1992 Richard Stallman ([email protected]) ! 2416: ! 2417: * Makefile.in (install-common-headers): Don't copy byteorder.h. ! 2418: ! 2419: Thu Sep 17 20:06:22 1992 Brendan Kehoe ([email protected]) ! 2420: ! 2421: Complete 13th Cygnus<-->FSF merge. ! 2422: ! 2423: Thu Sep 17 13:15:15 1992 Brendan Kehoe ([email protected]) ! 2424: ! 2425: Do some much-needed housecleaning of the C++ front-end. ! 2426: * cp-call.c (ideal_candidate): Move `p2' down inside #if 0'd (only) ! 2427: section that actually uses it. Delete unused variable `buf'. ! 2428: (build_method_call): Delete unused variable `dtor_specd'. ! 2429: * cp-class.c (finish_struct): Delete unused variable `basetype'. ! 2430: * cp-cvt.c (convert_to_aggr): Add missing argument decl for `protect'. ! 2431: (convert_pointer_to): Delete unused variable `form'. ! 2432: * cp-decl.c: Include string.h/strings.h for strncpy() decl. ! 2433: Add decls for init_* fns. Delete unused decl `push_overload_decl_1'. ! 2434: Don't use `c_function_varargs', C++ doesn't need it. ! 2435: (push_binding_level): Add missing argument decls for ! 2436: `tag_transparent' and `keep'. ! 2437: (lookup_tag): Add missing argument decl for `tags_transparent'. ! 2438: (lookup_name): Add missing argument decl for `prefer_type'. ! 2439: (start_decl): Delete unused variables `classname' and `tmpl'. ! 2440: (grokvardecl): Add missing argument decl for `initialized'. ! 2441: (grokdeclarator): Delete unused variable `t'. ! 2442: * cp-decl2.c (get_temp_name): Delete unused variable `temp'. ! 2443: (finish_table): Delete unused variable `publicp'. ! 2444: (finish_builtin_type): Add missing argument decl for `len'. ! 2445: (finish_file): Delete unused variables `asm_out_file' and ! 2446: `init_function_name'. ! 2447: * cp-except.c (ansi_exception_object_lookup): Add missing ! 2448: argument decl for `type'. ! 2449: (cplus_expand_throw): Delete unused variables `cname', `name', ! 2450: and `raise_id'. ! 2451: * cp-init.c: Delete unneeded forward decl of `init_init_processing'. ! 2452: (build_new): Delete unused variable `alignment'. ! 2453: (expand_vec_init): Add missing argument decl for `from_array'. ! 2454: (build_vec_delete): Delete unused variable `rval'. ! 2455: * cp-input.c (feed_input): Add missing argument decl for `len'. ! 2456: * cp-lex.c: Delete unused variable `nextlastiddecl'. ! 2457: (check_newline): Delete unused variable `tmp'. Place `asm_out_file' ! 2458: inside a conditional for ASM_OUTPUT_IDENT. ! 2459: (real_yylex): Delete unused variable `typename_scope_in_progress' ! 2460: and unused labels `relex' and `reswitch'. ! 2461: * cp-method.c: Include string.h/strings.h for strncpy() decl. ! 2462: (new_text_len): Deleted. ! 2463: (dump_type_prefix): Delete unused variables `print_struct' and `name'. ! 2464: (dump_tyupe): Delete unused variable `print_struct'. ! 2465: (type_as_string): Delete unused variable `spaces'. ! 2466: (do_inline_function_hair): Delete unused variable `cname'. ! 2467: (flush_repeats): Delete unused variable `rval'. ! 2468: (build_t_desc_overload): Delete unused variable `i'. ! 2469: (build_opfncall): Add missing argument decl for `flags'. ! 2470: (hack_identifier): Add missing argument decl for `yychar'. ! 2471: * cp-parse.y (template_instantiate_once): Delete unused ! 2472: variables `id' and `members'. ! 2473: * cp-search.c (lookup_field): Add missing argument decl for `want_type'. ! 2474: (tree_needs_constructor_p): Add missing argument decl for `i'. ! 2475: (dfs_debug_mark): Delete unused variable `pending_vtables'. ! 2476: (dfs_get_vbase_types): Delete unused variable `basetype'. ! 2477: * cp-spew.c (init_spew): Delete unused variables `pc' and ! 2478: `chars_following_typename'. ! 2479: (yylex): Delete unused variables `dk' and `tmp'. Move decl of `t2' down ! 2480: to the block that actually uses it. ! 2481: * cp-tree.c (build_cplus_staticfn_type): Delete unused variable `ptype'. ! 2482: (propagate_binfo_offsets): Delete unused variables `t' and `basetype'. ! 2483: (layout_basetypes): Delete unused variable `binfo'. ! 2484: (array_type_nelts_total): Delete unused variable `index_type'. ! 2485: * cp-tree.h: Add many decls. ! 2486: * cp-typeck.c (comp_array_types): Add missing argument decl ! 2487: for `strict'. ! 2488: (build_compound_expr): Delete unused variable `tmp'. ! 2489: (convert_for_initialization): Delete unused label `converted'. ! 2490: ! 2491: Wed Sep 16 12:51:10 1992 Brendan Kehoe ([email protected]) ! 2492: ! 2493: * cp-decl.c (init_decl_processing): Enable code to add sin and cos ! 2494: as built-in functions. ! 2495: ! 2496: * cp-decl.c (duplicate_decls): Enable code to preserve the DECL_UID ! 2497: of olddecl. ! 2498: ! 2499: * cp-search.c (lookup_nested_fields): Make sure we're climbing along ! 2500: a chain of nested types, and nothing else. ! 2501: ! 2502: Tue Sep 15 17:38:34 1992 Brendan Kehoe ([email protected]) ! 2503: ! 2504: * cp-search.c (lookup_nested_fields): New function. ! 2505: * cp-tree.h: Declare it. ! 2506: * cp-decl.c (lookup_name): Call it if there's no class-local ! 2507: definition. (It could be nested.) ! 2508: * cp-lex.c (do_identifier): Call lookup_nested_field() if necessary. ! 2509: ! 2510: Tue Sep 15 12:37:16 1992 Brendan Kehoe ([email protected]) ! 2511: ! 2512: Mon Aug 24 14:58:02 1992 Chip Salzenberg (chip at animal) ! 2513: ! 2514: * cp-typeck.c (build_conditional_expr): Determine constness ! 2515: and volatility with TREE_... tests instead of TYPE_... tests. ! 2516: ! 2517: Mon Sep 14 18:00:35 1992 Chip Salzenberg ([email protected]) ! 2518: ! 2519: * cp-decl.c (grokdeclarator): Remove redundant (and broken) ! 2520: test for multiple destructors in a class. ! 2521: ! 2522: Fri Jul 31 19:09:10 1992 Chip Salzenberg ([email protected]) ! 2523: ! 2524: * cp-cvt.c (convert_to_integer): Push truncation inside COND_EXPR. ! 2525: ! 2526: Mon Sep 14 17:52:45 1992 Chip Salzenberg ([email protected]) ! 2527: ! 2528: * cp-class.c (finish_struct): Always write all structure types, ! 2529: even if they're defined in a "#pragma interface" header file. ! 2530: Otherwise, XCOFF debugging info is messed up. ! 2531: ! 2532: Mon Sep 14 17:39:32 1992 Chip Salzenberg ([email protected]) ! 2533: ! 2534: * cp-class.c (finish_struct): ``Actually, I don't understand ! 2535: this code. What is it supposed to do?'' --Niklas Hallqvist ! 2536: ! 2537: Mon Sep 14 17:27:23 1992 Chip Salzenberg ([email protected]) ! 2538: ! 2539: * cp-decl.c (finish_decl): Don't dump core if a decl is anonymous. ! 2540: A decl is at the global binding level if DECL_CONTEXT is null. ! 2541: (grokdeclarator): Don't globalize a type if its first mention ! 2542: is in a parameter. It's okay to initialize a function in a ! 2543: non-global scope. ! 2544: ! 2545: Tue Sep 15 12:15:26 1992 Brendan Kehoe ([email protected]) ! 2546: ! 2547: * cp-typeck.c (c_expand_return): Emit a warning when they try to ! 2548: return the address of a local variable. ! 2549: ! 2550: * cp-decl.c (finish_method): Make sure it's indeed nested before ! 2551: checking for the qualified name. ! 2552: ! 2553: Mon Sep 14 18:59:25 1992 Mike Stump ([email protected]) ! 2554: ! 2555: Wed Sep 2 11:04:24 1992 Chip Salzenberg ([email protected]) ! 2556: ! 2557: * cp-decl.c (init_decl_processing): Add sin and cos as built-in ! 2558: functions. Fix type of __builtin_constant_p. ! 2559: ! 2560: * cp-lex.c (readescape): For \x, don't include leading 0's in count. ! 2561: ! 2562: * cp-typeck.c (build_unary_op): For ADDR_EXPR, just set ! 2563: TREE_CONSTANT if staticp, but don't clear TREE_CONSTANT. ! 2564: ! 2565: Mon Sep 14 18:54:41 1992 Mike Stump ([email protected]) ! 2566: ! 2567: * cp-parse.y (permanent_obstack): Move to top of file. ! 2568: ! 2569: Mon Sep 14 18:50:19 1992 Mike Stump ([email protected]) ! 2570: ! 2571: Mon Sep 14 16:39:10 1992 Chip Salzenberg ([email protected]) ! 2572: ! 2573: [ Changes propagated from diffs to c-* in 920911 snapshot. ] ! 2574: ! 2575: * cp-decl.c (duplicate_decls): Set DECL_INLINE in newdecl so it ! 2576: is copied into olddecl. Don't set DECL_EXTERNAL in olddecl. ! 2577: Preserve DECL_UID and DECL_FRIEND_P of olddecl. ! 2578: ! 2579: * cp-typeck.c (build_binary_op_nodefault): Don't assume that a ! 2580: target integer fits in a HOST_WIDE_INT when checking shift widths. ! 2581: ! 2582: Mon Sep 14 18:15:42 1992 Mike Stump ([email protected]) ! 2583: ! 2584: Mon Aug 24 14:32:03 1992 Chip Salzenberg ([email protected]) ! 2585: ! 2586: * cp-parse.y (reserved_declspecs): Warn if storage class occurs here. ! 2587: (declmods): Warn if storage class is not first. ! 2588: ! 2589: Mon Sep 14 16:59:53 1992 Brendan Kehoe ([email protected]) ! 2590: ! 2591: * cp-method.c (fndecl_as_string): Don't output an extra space when ! 2592: printing the return type of a function. ! 2593: ! 2594: Mon Sep 14 16:01:53 1992 Mike Stump ([email protected]) ! 2595: ! 2596: Fri Jun 12 18:07:00 1992 Niklas Hallqvist ([email protected]) ! 2597: ! 2598: * cp-parse.y (structsp, named_class_head_sans_basetype): Call ! 2599: overload_template_name in the case of template specializations so ! 2600: that something like: ! 2601: ! 2602: template<class T> struct C { C(); }; ! 2603: struct C<int> { C(); }; ! 2604: ! 2605: works. ! 2606: ! 2607: Mon Sep 14 15:51:22 1992 Mike Stump ([email protected]) ! 2608: ! 2609: Fri Apr 10 13:20:56 1992 Niklas Hallqvist ([email protected]) ! 2610: ! 2611: * cp-spew.c (spew_debug): exported this flag for use in cp-decl.c ! 2612: (template_type_seen_before_scope): new global containing contextual ! 2613: information for the parser, making the compiler grok nested types in ! 2614: template classes. ! 2615: (shift_tokens): Guard bcopy calls against moves of zero size. ! 2616: (yylex): Handle nested types in template classes. ! 2617: ! 2618: * cp-parse.y (scoped_typename): Handle nested types in template ! 2619: classes. ! 2620: (template_type): Likewise. ! 2621: (base_class.1): Likewise. ! 2622: (member_init): Likewise. ! 2623: (scoped_baseclass): New rule for handling of nested types in ! 2624: template classes. ! 2625: ! 2626: * cp-decl.c (xref_defn_tag): Conditionalized debug printout on ! 2627: spew_debug (defined in cp-spew.c). ! 2628: (binding_levels_sane): void function returned value. ! 2629: ! 2630: Mon Sep 14 15:41:28 1992 Mike Stump ([email protected]) ! 2631: ! 2632: Mon Sep 14 17:26:18 1992 Chip Salzenberg ([email protected]) ! 2633: ! 2634: * cp-parse.y (unary_expr), cp-call.c (build_scoped_method_call): ! 2635: NEVER use `maybe_adjust' feature in destructors. It's unsafe. ! 2636: ! 2637: Mon Sep 14 15:12:34 1992 Brendan Kehoe ([email protected]) ! 2638: ! 2639: * cp-decl.c (finish_method): Complain when a qualifier is used as ! 2640: part of a member declaration. ! 2641: ! 2642: Mon Sep 14 11:47:30 1992 Mike Stump ([email protected]) ! 2643: ! 2644: * cp-decl2.c (groktypefield): Revert Wed Aug 19 14:47:08 1992 ! 2645: change as it breaks template constructor declarations. Gez, this ! 2646: code is horribly complex, and the comments are wrong. Note, ! 2647: template constructor definitions are broken in the same way, as ! 2648: declarations were with this patch in. ! 2649: ! 2650: Fri Sep 11 14:09:01 1992 Mike Stump ([email protected]) ! 2651: ! 2652: Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 2653: ! 2654: * cp-decl.c (duplicate_decls): For file-scope redefinitions, note ! 2655: that the variable was previously *defined* at some specific (earlier) ! 2656: point. ! 2657: ! 2658: Fri Sep 11 13:49:55 1992 Mike Stump ([email protected]) ! 2659: ! 2660: Tue Sep 8 21:39:35 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 2661: ! 2662: * cp-decl2.c (finish_file): Don't pass `1's as the `functionbody' ! 2663: flag to `poplevel' when getting ready to finishing up the per- ! 2664: compilation-unit constructors and destructors. ! 2665: ! 2666: Fri Sep 11 13:28:02 1992 Mike Stump ([email protected]) ! 2667: ! 2668: * cp-decl.c (grokdeclarator): Upgrade local externs with ! 2669: initializations to be errors, instead of warnings. ! 2670: ! 2671: Fri Sep 11 13:03:52 1992 Mike Stump ([email protected]) ! 2672: ! 2673: Thu Sep 10 09:40:56 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 2674: ! 2675: * cp-decl.c (grokdeclarator): Given an error if *either* a `static' ! 2676: or an `extern' specifier is attached to a defining declaration of a ! 2677: static data member. ! 2678: ! 2679: Wed Sep 9 19:46:43 1992 Mike Stump ([email protected]) ! 2680: ! 2681: * c++: Makes sure echo -nostdinc does not eat the -nostdinc. ! 2682: ! 2683: Tue Sep 8 13:42:35 1992 Brendan Kehoe ([email protected]) ! 2684: ! 2685: * cp-typeck.c (common_type, case FUNCTION_TYPE): An empty argument ! 2686: list is represented as a void_type_node; make sure we check for ! 2687: that, and not just an empty TYPE_ARG_TYPES list on either side. ! 2688: ! 2689: Tue Sep 8 02:31:05 1992 Mike Stump ([email protected]) ! 2690: ! 2691: * cp-tree.c (layout_basetypes, make_binfo): Added support for ! 2692: debugging information about virtual base class pointers. ! 2693: ! 2694: Mon Sep 7 15:34:58 1992 Brendan Kehoe ([email protected]) ! 2695: ! 2696: * cp-decl2.c (temp_name_p): Deleted function, never used anywhere. ! 2697: ! 2698: Sun Sep 6 23:09:29 1992 John F Carr (jfc at Athena.MIT.EDU) ! 2699: ! 2700: * cp-typeck.c (convert_arguments): Ignore arguments which are ! 2701: ERROR_MARK_NODE to avoid crashes trying to reference fields which ! 2702: are not present. ! 2703: ! 2704: Mon Sep 7 12:34:09 1992 Brendan Kehoe ([email protected]) ! 2705: ! 2706: * cp-decl.c (clear_anon_tags): Do assignment of B after we've seen ! 2707: if we're to work on an anonymous aggregate. No need to make the ! 2708: assignment for nearly every aggr we ever declare. ! 2709: ! 2710: Sun Sep 6 17:51:47 1992 Mike Stump ([email protected]) ! 2711: ! 2712: Sun Sep 6 13:12:16 1992 John Carr ([email protected]) ! 2713: ! 2714: * cp-decl.c (pushdecl, finish_decl, store_return_init, ! 2715: finish_function), cp-decl2.c (constructor_name, finish_file), ! 2716: cp-except.c (cplus_expand_reraise), cp-init.c (emit_base_init, ! 2717: expand_aggr_init_1), cp-typeck.c (build_modify_expr, ! 2718: c_expand_asm_operands, c_expand_return): Include rtl.h and eliminate ! 2719: unneeded casts. ! 2720: ! 2721: * cp-decl2.c (grokbitfield): Use NULL_TREE instead of NULL. ! 2722: ! 2723: * cp-decl2.c (finish_file): Don't try and not use stdio.h. ! 2724: ! 2725: * cp-except.c (cplus_expand_reraise): emit_move_insn takes 2 ! 2726: arguments, not three. ! 2727: ! 2728: Sat Sep 5 12:04:06 1992 Brendan Kehoe ([email protected]) ! 2729: ! 2730: * cp-decl.c (finish_function): Undo change of Mon Aug 17 16:28:48 ! 2731: 1992; it resulted in lots of unnecessary and incorrect warnings. ! 2732: ! 2733: * cp-lex.c (do_identifier): For nested classes, check if a variable ! 2734: being sought is actually in the scope of an enclosing class. If it ! 2735: is, and the variable's non-static, bail. ! 2736: ! 2737: * cp-decl.c (grok_enum_decls): Tighten up some code that was pretty ! 2738: twisty. ! 2739: ! 2740: * cp-class.c (start_struct): Delete; it was #if 0'd out anyway (C++ ! 2741: doesn't need it), and is an old hold-over from c-decl.c. ! 2742: ! 2743: * cp-class.c (minus_one_node): Delete, it's not used. ! 2744: (init_class_processing): Delete init of minus_one_node. ! 2745: ! 2746: * cp-spew.c (yylex): Check return of resolve_scope_to_name to ! 2747: be NULL_TREE. ! 2748: (frob_identifier): Likewise. ! 2749: (hack_more_ids): Likewise. ! 2750: ! 2751: * cp-cvt.c (convert_to_real): Use REAL_VALUE_ATOF to make 0. ! 2752: ! 2753: Fri Sep 4 19:23:17 1992 Mike Stump ([email protected]) ! 2754: ! 2755: * cp-decl.c (grok_ctor_properties): When looking for copy ! 2756: constructors, ignore the first argument since it is the in$chrg ! 2757: parameter for the object to copy from. ! 2758: ! 2759: Fri Sep 4 14:35:31 1992 Mike Stump ([email protected]) ! 2760: ! 2761: * cp-cvt.c (build_up_reference): Prevent the compiler from dumping ! 2762: core on semantic errors. ! 2763: ! 2764: Thu Sep 17 17:28:13 1992 Richard Stallman ([email protected]) ! 2765: ! 2766: * c-typeck.c (initializer_constant_valid_p): Warn about address ! 2767: arithmetic destined for a type that's too narrow. ! 2768: New argument ENDTYPE. ! 2769: ! 2770: * limitx.h: Don't include-next if _LIBC_LIMITS_H_ defined. ! 2771: ! 2772: Thu Sep 17 20:45:16 1992 Paul Eggert ([email protected]) ! 2773: ! 2774: * cexp.y (parse_escape): Diagnose '\x' with no digits. ! 2775: Diagnose integer overflow when parsing \x escapes. ! 2776: ! 2777: Thu Sep 17 11:52:53 1992 Michael Meissner ([email protected]) ! 2778: ! 2779: * gcc.c (SIGNED_CHAR_SPEC): Use #if rather than ?: in default defn. ! 2780: ! 2781: Thu Sep 17 14:53:51 1992 Tim Moore ([email protected]) ! 2782: ! 2783: * pa.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Fix double integer ! 2784: argument alignment. ! 2785: (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_SIZE): Define. ! 2786: * pa-hpux.h, pa-ghpux.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE, ! 2787: WCHAR_SIZE): Define for hpux. ! 2788: * x-pa, t-pa : New files. ! 2789: * configure (hppa cases): add definitions for xmake_file and ! 2790: tmake_file. ! 2791: ! 2792: Wed Sep 16 22:22:15 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 2793: ! 2794: * i386.c (print_operand): Don't abort if error: might have been a ! 2795: user asm. ! 2796: ! 2797: * i386.md (addsi3,ashlsi3): Handle the case where the stack ! 2798: pointer appears as an index reg. ! 2799: ! 2800: Wed Sep 16 21:22:23 1992 Richard Stallman ([email protected]) ! 2801: ! 2802: * cse.c (fold_rtx): For SUBREG, actually test subreg_lowpart_p in the ! 2803: code to handle narrowing subregs. And exclude binary ops like DIV ! 2804: where truncating the args is not valid. ! 2805: ! 2806: * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): Moved to separate member. ! 2807: * Makefile.in (LIB2FUNCS): Added _ctors. ! 2808: ! 2809: Wed Sep 16 23:28:41 1992 Paul Eggert ([email protected]) ! 2810: ! 2811: * cexp.y (parse_number): Warn about '9' in octal constants. ! 2812: Commonize overflow detection for various radices. ! 2813: ! 2814: Wed Sep 16 19:33:37 1992 Torbjorn Granlund ([email protected]) ! 2815: ! 2816: * pa.md (casesi): Use emit_jump_insn to emit casesi0 pattern. ! 2817: (xorsi3): Remove `r' from output template. ! 2818: (movstrsi recognizer): Add `+' to operand 0 & 1 constraints. ! 2819: ! 2820: Wed Sep 16 14:53:51 1992 Michael Meissner ([email protected]) ! 2821: ! 2822: * mips.h (MIPS_VERSION): Set Meissner version # to 25. ! 2823: ! 2824: * mips.c (gen_int_relational): Eliminate all vestiages of ! 2825: figuring out whether the comparison will always be true or false. ! 2826: Let the optimizer figure it out. ! 2827: (gen_conditional_branch): Ditto. ! 2828: (function_epilogue): Print correct number of half-pic pointers ! 2829: and references. ! 2830: (prev_half_pic_refs): New static variable. ! 2831: (prev_half_pic_ptrs): New static variable. ! 2832: ! 2833: Tue Sep 15 16:10:47 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 2834: ! 2835: * toplev.c (rest_of_decl_compilation): Call `dwarfout_file_scope_decl' ! 2836: immediately for actual *definitions* of file-scope variables (and ! 2837: file-scope typedefs too). ! 2838: ! 2839: Tue Sep 15 20:56:31 1992 Jim Wilson ([email protected]) ! 2840: ! 2841: * fixincludes (EXINIT): Clear it to avoid problems with bad values. ! 2842: * fixinc.svr4 (EXINIT): Likewise. ! 2843: ! 2844: * print-tree.c (print_node): Don't print blank line for null ! 2845: fields in a TREE_VEC. ! 2846: ! 2847: * cccp.c (macroexpand): Don't output another error message if have ! 2848: already output error message returned from macarg. ! 2849: ! 2850: * c-decl.c (grokparms): Copy parm list if it isn't permanent, ! 2851: instead of copying it if temporary allocation has been turned off. ! 2852: ! 2853: * final.c (only_leaf_regs_used): Check for global_regs. ! 2854: ! 2855: * c-parse.y (typespec): Don't warn if pedantic when typeof used. ! 2856: ! 2857: * c-tree.h (lang_identifier): Add limbo_value field for out of ! 2858: scope block level extern declarations. ! 2859: (IDENTIFIER_LIMBO_VALUE): New define, to access that field. ! 2860: * c-decl.c (print_lang_identifier): Print value of limbo field. ! 2861: (pushdecl): Check an extern decl against both previous global and ! 2862: previous limbo declarations. For global declarations, clear limbo ! 2863: value field. For block level extern declarations, set limbo field ! 2864: if zero. ! 2865: (grokdeclarator): If this is a block level extern, then allocate ! 2866: it on the permanent obstack, not the temporary obstack. ! 2867: ! 2868: Tue Sep 15 15:42:24 1992 Paul Eggert ([email protected]) ! 2869: ! 2870: * tree.c (int_fits_type_p): Negative ints never fit unsigned ! 2871: types, and unsigned ints with top-bit-set never fit signed types. ! 2872: * c-lex.c (yylex): Integer constant is unsigned for purposes of ! 2873: int_fits_type_p so that it compares huge constants properly. ! 2874: ! 2875: Tue Sep 15 14:44:51 1992 Michael Meissner ([email protected]) ! 2876: ! 2877: * i386.md (string move, string compare): Always issue cld ! 2878: instruction before doing a rep string move, so that we are ! 2879: guaranteed that the bytes are moved/compared correctly. ! 2880: ! 2881: Tue Sep 15 00:09:06 1992 Richard Stallman ([email protected]) ! 2882: ! 2883: * gstdarg.h: (va_arg): Cast ptr to void *, then to TYPE *. ! 2884: * va-i960.h, va-m88k.h, va-mips.h, va-pa.h, va-pyr.h, va-sparc.h: ! 2885: Likewise. ! 2886: ! 2887: * rtl.c (ftell): Declaration deleted. ! 2888: ! 2889: Mon Sep 14 15:17:09 1992 Michael Meissner ([email protected]) ! 2890: ! 2891: * configure (arg processing): Add --with-stabs switch. ! 2892: (all mips configurations, except decrose): If --with-stabs, use ! 2893: the configuration file that emits stabs as the debug debug ! 2894: configuration, rather than the native MIPS ECOFF format. ! 2895: ! 2896: Mon Sep 14 13:28:29 1992 Torbjorn Granlund ([email protected]) ! 2897: ! 2898: * configure (option case statement): Index with `$next_arg' instead ! 2899: of `next_arg'. Clean up order and indentation for switches. ! 2900: (several places): Remove space around assignment `='. ! 2901: (usage printing): Don't use `-n' for echo (SysV lossage). ! 2902: Print config.status with `tail +2'. ! 2903: ! 2904: Mon Sep 14 23:46:19 1992 Paul Eggert ([email protected]) ! 2905: ! 2906: * c-lex.c (yylex): Warn about integers so large that they are unsigned. ! 2907: ! 2908: * cexp.y (parse_number): Diagnose integer constants that are too large. ! 2909: Diagnose duplicate `l' and `u' suffixes. Diagnose ` 0x ' and ` 0a '. ! 2910: Warn about integer constants that are so large that they are unsigned. ! 2911: ! 2912: Mon Sep 14 10:26:34 1992 Charles Hannum ([email protected]) ! 2913: ! 2914: * reload1.c (init_reload): Fix typo in last change. ! 2915: ! 2916: Mon Sep 14 01:17:58 1992 Richard Stallman ([email protected]) ! 2917: ! 2918: * reload1.c (init_reload): For reg+reg+const, try various regs. ! 2919: ! 2920: Sun Sep 13 01:08:06 1992 Paul Eggert ([email protected]) ! 2921: ! 2922: * cexp.y (exp): Detect signed integer overflow. ! 2923: Replace `(unsigned)' with `(unsigned long)'. When ! 2924: evaluating << and >>, compute the correct answer without shifting ! 2925: by more than HOST_BITS_PER_LONG, or by a negative quantity. ! 2926: (integer_overflow, left_shift, right_shift): New functions. ! 2927: ! 2928: Sun Sep 13 02:00:52 1992 Torbjorn Granlund ([email protected]) ! 2929: ! 2930: * arm.md: Clean up indentation. ! 2931: ! 2932: * pa.c (output_load_address): Removed. Nothing uses it. ! 2933: * pa.md (high:DI recognizer): Add return \"\". ! 2934: * pa.md (sCC, bCC expanders): Remove constraints. ! 2935: * pa.md (and-with-immediate optimizer): New pattern. ! 2936: * pa.md (ior-with-immediate optimizer): New pattern. ! 2937: * pa.c (consec_zeros_p, and_operand, ior_mask_p, ior_operand, ! 2938: output_and, output_ior): New functions. ! 2939: * pa.h (output_and, output_ior): Declare. ! 2940: * pa.h (CONST_OK_FOR_LETTER_P): Add 'O' and 'P'. ! 2941: * pa.c (compute_xdepi_operands_from_integer): New function. ! 2942: Some code come from output_zdepi. ! 2943: (output_zdepi): Removed. ! 2944: (depi_cint_operand): New name for zdepi_operand. ! 2945: * pa.md (adddi3): Extend to handle CONST_INT. ! 2946: * pa.md (movstrsi): Change `!= 4' => `< 4' in test for alignment. ! 2947: * pa.md (negsi2): Don't use @ for just one output template. ! 2948: * pa.md (and-not patterns): Make them canonical. Put operands in ! 2949: the right order. ! 2950: * pa.md (casesi): Rewrite. Used to be buggy and slow. ! 2951: * pa.md (several patterns): Make sure # of attribute alternatives ! 2952: match # of constraint alternatives. ! 2953: Return assembler output template instead of calling output_asm_insn. ! 2954: Don't write to operands[n] for n >= max operand number in the ! 2955: pattern, use xoperands instead. ! 2956: ! 2957: Sat Sep 12 15:06:57 1992 Richard Stallman ([email protected]) ! 2958: ! 2959: * regclass.c (record_reg_classes): ! 2960: Ignore leading % when examining constraint. ! 2961: Don't bypass usual cost computation when a pseudo "matches" ! 2962: a non-pseudo in matching operands. ! 2963: ! 2964: * c-lex.c (yylex): If integer value overflows so highword is negative, ! 2965: it needs unsigned long long. ! 2966: ! 2967: Fri Sep 11 21:09:53 1992 Richard Stallman ([email protected]) ! 2968: ! 2969: * sys-types.h (va_alist): Supply `int' as the type to define it as. ! 2970: ! 2971: Fri Sep 11 12:39:39 1992 Jeffrey A. Law ([email protected]) ! 2972: ! 2973: * pa.md (non-[cf]branch define_delay): Use a single delay description ! 2974: for the delay slots in "branch", "call", and "milli" insns. ! 2975: (fbranch define_delay): fbranches have a single delay slot which ! 2976: may be nullified when the branch is taken (regardless of direction ! 2977: or distance to the target.) ! 2978: (in_branch_delay attribute): Disallow fbranch insns explicitly. ! 2979: (floating point branches): Use "fbranch" attribute for these insns. ! 2980: Update output template to properly handle nullification. ! 2981: ! 2982: Fri Sep 11 10:34:45 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 2983: ! 2984: * c-decl.c (duplicate_decls): For file-scope redefinitions, ! 2985: error message distinguishes previous definitions from mere decls. ! 2986: ! 2987: Fri Sep 11 01:07:11 1992 Richard Stallman ([email protected]) ! 2988: ! 2989: * c-convert.c (convert_to_integer): Don't pass truncation thru lshift ! 2990: if shift count >= width of narrower type. Instead, just use 0. ! 2991: ! 2992: * we32k.h (SIZE_TYPE): Defined. ! 2993: ! 2994: Fri Sep 11 00:03:45 1992 Paul Eggert ([email protected]) ! 2995: ! 2996: * c-decl.c (finish_struct): Don't assume that a target integer ! 2997: fits in a HOST_WIDE_INT when checking bit-field widths. ! 2998: * c-typeck.c (build_binary_op): Likewise, when checking shift widths. ! 2999: ! 3000: Thu Sep 10 22:23:10 1992 Richard Stallman ([email protected]) ! 3001: ! 3002: * optabs.c (expand_binop): ! 3003: Convert op1 of shift libcall to word_mode. ! 3004: ! 3005: Thu Sep 10 18:14:36 1992 Tim Moore ([email protected]) ! 3006: ! 3007: * final.c (shorten_branches): Do shorten branches with delay slots ! 3008: if the number of delay slots is constant. ! 3009: * genattrtab.c (write_const_num_delay_slots): New function; ! 3010: creates const_num_delay_slots (). ! 3011: (main): Call it. ! 3012: * genattr.c (main): Write declaration for const_num_delay_slots (). ! 3013: ! 3014: Thu Sep 10 17:33:42 1992 Michael Meissner ([email protected]) ! 3015: ! 3016: * mips.md (all move patterns): Do not allow memory to memory or ! 3017: non-zero constant to memory moves to be generated, which causes ! 3018: reload to generate the load/store using spilled registers, and ! 3019: does not allow for efficient CSE or scheduling to be done. ! 3020: ! 3021: * dec-gosf1.h, iris4g.h: New files. ! 3022: ! 3023: Thu Sep 10 12:46:17 1992 Torbjorn Granlund ([email protected]) ! 3024: ! 3025: * pa.md (casesi): Add `&' to constraint for clobber operand. ! 3026: ! 3027: * optabs.c (expand_binop): Fix typo, `mode' => `methods'. ! 3028: ! 3029: Thu Sep 10 00:21:05 1992 Richard Stallman ([email protected]) ! 3030: ! 3031: * optabs.c (expand_binop): Delete #ifdef GPC; complex code now uncond. ! 3032: ! 3033: * optabs.c (init_fixtab): Fix typo for fix_truncdfqi2. ! 3034: ! 3035: Wed Sep 9 13:25:53 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 3036: ! 3037: * c-common.c (declare_function_name): Allow for anonymous function. ! 3038: ! 3039: Wed Sep 9 15:56:09 1992 Richard Stallman ([email protected]) ! 3040: ! 3041: * Makefile.in (mostlyclean): Delete xlimits.h. ! 3042: ! 3043: * final.c (output_addr_const): ! 3044: If 2nd arg of MINUS is negative integer, put it in parens. ! 3045: ! 3046: Wed Sep 9 10:10:30 1992 Michael Meissner ([email protected]) ! 3047: ! 3048: * va-mips.h (va_arg): Handle structures larger than 8 bytes. ! 3049: (all macros): Put __ in front of all macro arguments. ! 3050: ! 3051: Wed Sep 9 00:45:02 1992 Richard Stallman ([email protected]) ! 3052: ! 3053: * sol2-crt1.asm (.nope): Really store into environ. ! 3054: ! 3055: * libgcc2.c (__gcc_bcmp): New function, in cond on L__gcc_bcmp. ! 3056: * Makefile.in (LIB2FUNCS): Add L__gcc_bcmp. ! 3057: ! 3058: * expr.c (expand_expr): Support IN_EXPR. ! 3059: ! 3060: Tue Sep 8 20:04:43 1992 Paul Eggert ([email protected]) ! 3061: ! 3062: * c-convert.c (convert_to_integer): When optimizing LSHIFT_EXPR and ! 3063: RSHIFT_EXPR, do compares at tree level. ! 3064: ! 3065: * tree.c (build_index_type, build_index_2_type): Don't pass ! 3066: HOST_WIDE_INT to routine expecting an int. Don't pass negative ! 3067: value even if hash code is INT_MIN. ! 3068: ! 3069: Tue Sep 8 17:35:51 1992 Richard Stallman ([email protected]) ! 3070: ! 3071: * dbxout.c (dbxout_type_fields): Handle nameless subrecords for Pascal. ! 3072: (dbxout_type): Handle CHAR_TYPE, BOOLEAN_TYPE. FILE_TYPE, SET_TYPE. ! 3073: ! 3074: * news.h (ASM_OUTPUT_OPCODE): Deleted. ! 3075: ! 3076: * c-parse.y (stmt): In for stmt, put proper lineno before increment. ! 3077: Don't call position_after_white_space. ! 3078: ! 3079: Tue Sep 8 06:31:17 1992 Michael Meissner ([email protected]) ! 3080: ! 3081: * cp-typeck.c (constant_print_warning): Deleted. ! 3082: ! 3083: Tue Sep 8 05:26:19 1992 Mike Stump (mrs@hal) ! 3084: ! 3085: Tue Aug 18 23:56:16 1992 Ron Guilmette (rfg at netcom.com) ! 3086: ! 3087: * tree.h (BINFO_VPTR_FIELD): Added to support debugging ! 3088: information about virtual base class pointers. ! 3089: ! 3090: Mon Sep 7 19:39:45 1992 Brendan Kehoe ([email protected]) ! 3091: ! 3092: * c-typeck.c (constant_print_warning): Deleted. ! 3093: * c-common.c: Moved here. ! 3094: ! 3095: Mon Sep 7 17:03:07 1992 Paul Eggert ([email protected]) ! 3096: ! 3097: * fold-const.c (fold): Check abs for constant integer overflow. ! 3098: ! 3099: Mon Sep 7 01:31:42 1992 Richard Stallman ([email protected]) ! 3100: ! 3101: * c-common.c (check_case_value): Call constant_expression_warning. ! 3102: ! 3103: * cse.c (simplify_binary_operation): For DIV by 0, do nothing. ! 3104: ! 3105: * c-decl.c (duplicate_decls): Set DECL_INLINE in newdecl ! 3106: so it is copied into olddecl. ! 3107: ! 3108: Sun Sep 6 08:53:46 1992 Fred Fish (fnf at fishpond) ! 3109: ! 3110: * m68k.md (fsglmul pattern): If FSGLMUL_USE_S, opcode has .s, not .x. ! 3111: * amix.h (FSGLMUL_USE_S): Defined. ! 3112: ! 3113: Sun Sep 6 17:42:33 1992 Jeffrey A. Law ([email protected]) ! 3114: ! 3115: * pa.md (indirect_jump): Annul the next instruction if the delay ! 3116: slot could not be filled instead of emitting a nop. ! 3117: ! 3118: * pa.c (output_function_prologue): Undo Aug. 13 change. ! 3119: If profiling, then this function makes calls. Reflect this in ! 3120: CALLINFO. ! 3121: (output_function_epilogue): If profiling, then be restore "rp" here. ! 3122: ! 3123: * pa.md (use_milli_regs attribute): Deleted, not necessary anymore. ! 3124: All references deleted. ! 3125: * pa.c (use_milli_regs): Deleted. ! 3126: ! 3127: Sun Sep 6 17:11:00 1992 Torbjorn Granlund ([email protected]) ! 3128: ! 3129: * arm.h (MOVE_MAX): Define as 4. ! 3130: ! 3131: * ns32k.c (hard_regno_mode_ok): Don't abort if unknown mode, ! 3132: return 0 instead. Declare argument MODE as `enum machine_mode'. ! 3133: ! 3134: * i860.h (HARD_REGNO_MODE_OK): Allow BLKmode. ! 3135: ! 3136: Sun Sep 6 16:57:12 1992 Richard Stallman ([email protected]) ! 3137: ! 3138: * expr.c (init_expr_once): Don't try HARD_REGNO_MODE_OK on VOIDmode ! 3139: or BLKmode. ! 3140: ! 3141: Sun Sep 6 14:27:57 1992 Michael Meissner ([email protected]) ! 3142: ! 3143: * cp-typeck.c (constant_expression_warning): New fn from c-typeck.c. ! 3144: ! 3145: Sun Sep 6 09:11:46 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 3146: ! 3147: * c-decl.c (duplicate_decls): Don't set DECL_EXTERNAL in olddecl. ! 3148: Preserve DECL_UID of olddecl. ! 3149: ! 3150: Sun Sep 6 03:37:21 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 3151: ! 3152: * i386.md (cmpstrsi): Rewrite expander to handle operands correctly. ! 3153: ! 3154: Sat Sep 5 22:55:53 1992 Richard Kenner ([email protected]) ! 3155: ! 3156: * combine.c (try_combine): Make change missing from last modification ! 3157: to splitting code. ! 3158: ! 3159: Sat Sep 5 19:21:03 1992 Richard Stallman ([email protected]) ! 3160: ! 3161: * stor-layout.c (layout_type): Caller must give size of FILE_TYPE. ! 3162: ! 3163: Sat Sep 5 16:34:50 1992 Torbjorn Granlund ([email protected]) ! 3164: ! 3165: * arm.c (before functions): Remove xmalloc decl. ! 3166: (arm_asm_output_label): Cast value from xmalloc. ! 3167: ! 3168: * arm.md (storehi): Use match_operand for operand 0. ! 3169: Use gen_lowpart to change mode of operand 0. ! 3170: (storeinthi): Use match_operand for operand 0. ! 3171: Change output code to reassign operand 0. ! 3172: (truncsihi2, truncsiqi2, trunchiqi2): Remove these patterns. ! 3173: ! 3174: Sat Sep 5 02:39:37 1992 Richard Stallman ([email protected]) ! 3175: ! 3176: * news.h (ASM_OUTPUT_OPCODE): Defined. ! 3177: ! 3178: Sat Sep 5 18:52:21 1992 Jukka Virtanen ([email protected]) ! 3179: ! 3180: * stor-layout.c (layout_type): Handle BOOLEAN_TYPE, CHAR_TYPE, ! 3181: and FILE_TYPE for Pascal. ! 3182: (fixup_signed_type): New function. ! 3183: ! 3184: * optabs.c (init_optabs): Use __gcc_bcmp, not real bcmp. ! 3185: (expand_unop): Handle NEG for complex modes. ! 3186: (expand_binop): Likewise. ! 3187: (expand_complex_binop): New function. ! 3188: ! 3189: * expr.c (emit_move_insn): When moving word by word, ! 3190: mark the whole thing as a libcall block. ! 3191: (group_insns): New function. ! 3192: (expand_expr): ! 3193: Implement COMPLEX_EXPR, REALPART_EXPR, IMAGPART_EXPR, CONJ_EXPR. ! 3194: ! 3195: * print-tree.c (print_node): Handle BOOLEAN_TYPE and CHAR_TYPE. ! 3196: * emit-rtl.c (gen_highpart): New function. ! 3197: ! 3198: Fri Sep 4 23:20:59 1992 Richard Stallman ([email protected]) ! 3199: ! 3200: * i860.md (mulsi3_big): Use low half of result. ! 3201: Use offset 1 in subregs in actual fmlow insn. ! 3202: (fmlow pattern): Split this into alternatives for big and little end. ! 3203: ! 3204: * regclass.c (record_reg_class): For matching operands, handle ! 3205: case where the earlier one is not a pseudo like the case ! 3206: where the later one is not a pseudo. ! 3207: ! 3208: Fri Sep 4 17:24:11 1992 Torbjorn Granlund ([email protected]) ! 3209: ! 3210: * pa.c (output_move_double): Use %R to store at auto-incr/decr ! 3211: addr. Split incr and decr cases for store. ! 3212: ! 3213: Fri Sep 4 03:49:05 1992 Richard Stallman ([email protected]) ! 3214: ! 3215: * gcc.c (main): No program should return the error_count! ! 3216: Return 2 if failure due to signal, 1 if just errors. ! 3217: (execute): Increment signal_count. ! 3218: ! 3219: * move-if-change: Undo previous change. ! 3220: ! 3221: * c-decl.c (grokparms): Copy arg type list to savable obstack if nec. ! 3222: ! 3223: Fri Sep 4 19:40:32 1992 Paul Eggert ([email protected]) ! 3224: ! 3225: * c-typeck.c (constant_expression_warning): Now works; ! 3226: it reports signed integer overflow in constant expressions, ! 3227: ! 3228: * fold-const.c (left_shift_overflows, same_sign, overflow_sum_sign): ! 3229: New macros. ! 3230: (add_double, div_and_round_double, lshift_double, mul_double, ! 3231: neg_double, const_binop, fold): Check for signed integer overflow. ! 3232: Propagate overflow flags from operands to result. ! 3233: (const_binop, fold_convert): Use pedwarn for overflow warnings. ! 3234: Say `constant expression', not `constant folding', for user's sake. ! 3235: ! 3236: Thu Sep 3 22:28:41 1992 Brendan Kehoe ([email protected]) ! 3237: ! 3238: Complete 12th Cygnus<-->FSF merge. ! 3239: ! 3240: Thu Sep 3 12:29:24 1992 Brendan Kehoe ([email protected]) ! 3241: ! 3242: These changes are propagated from changes to c-*.c. ! 3243: ! 3244: Mon Aug 17 16:28:48 1992 Chip Salzenberg ([email protected]) ! 3245: ! 3246: * cp-decl.c (finish_function): Test only can_reach_end for the ! 3247: warning about reaching the end of a non-void function. ! 3248: (grokdeclarator): When promoting an argument, retain unsignedness ! 3249: if traditional or if promoted type is not really getting wider. ! 3250: ! 3251: * cp-parse.y (datadef): For empty declaration, use pedwarn. ! 3252: ! 3253: Mon Aug 17 17:08:11 1992 Chip Salzenberg ([email protected]) ! 3254: ! 3255: * cp-cvt.c (convert): When converting to variant of same type, fold. ! 3256: ! 3257: Wed Aug 19 16:58:41 1992 Chip Salzenberg ([email protected]) ! 3258: ! 3259: * cp-typeck.c (default_conversion): Convert enumeral types to ! 3260: appropriate _signed_ type unless -traditional. ! 3261: ! 3262: Tue Aug 4 13:11:36 1992 Chip Salzenberg ([email protected]) ! 3263: ! 3264: * cp-cvt.c (convert): If main variants match, ! 3265: but the type is not identical, make a NOP_EXPR. ! 3266: ! 3267: * cp-decl.c (warn_redundant_decls): Declared. ! 3268: (duplicate_decls): Optionally warn about redundant declations. ! 3269: (pushdecl): Never reuse global fcn decl in place of local extern; ! 3270: just copy some info from it. ! 3271: (init_decl_processing): __builtin_saveregs returns void *. ! 3272: (store_parm_decls, finish_function, start_method, finish_method): ! 3273: Compare TYPE_MAIN_VARIANT against void_type_node. ! 3274: ! 3275: * cp-decl2.c (warn_redundant_decls): Defined. ! 3276: (lang_decode_option): Decode -Wredundant-decls. ! 3277: ! 3278: * cp-typeck.c (build_conditional_expr): Don't use type1 as ! 3279: temporary variable; set result_type directly. ! 3280: ! 3281: Tue Aug 4 12:04:17 1992 Chip Salzenberg ([email protected]) ! 3282: ! 3283: * cp-tree.h (C_PROMOTING_INTEGER_TYPE_P): Defined. ! 3284: * cp-class.c (finish_struct): Use it. ! 3285: * cp-decl.c (duplicate_decls, grokdeclarator): Ditto. ! 3286: (grokparms, start_function): Ditto. ! 3287: * cp-typeck.c (self_promoting_args_p, default_conversion): Ditto. ! 3288: * cp-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum. ! 3289: ! 3290: Tue Aug 4 09:17:32 1992 Chip Salzenberg ([email protected]) ! 3291: ! 3292: * cp-decl.c (duplicate_decls, grokdeclarator, grokparms): ! 3293: Use TYPE_MAIN_VARIANT when comparing against specific types. ! 3294: (build_enumerator): Use STRIP_TYPE_NOPS. ! 3295: (start_function): Force main() to return "int", not just any ! 3296: integral type. ! 3297: ! 3298: * cp-typeck.c (self_promoting_args_p, default_conversion): ! 3299: Use TYPE_MAIN_VARIANT when comparing against specific types. ! 3300: (unsigned_type, signed_type): If type is not known, return it ! 3301: unchanged instead of returning its TYPE_MAIN_VARIANT. ! 3302: (build_binary_op_nodefault): Use TYPE_MAIN_VARIANT when ! 3303: comparing against specific types. Also use STRIP_TYPE_NOPS. ! 3304: Also copy error messages from equivalent code in c-typeck.c. ! 3305: ! 3306: * cp-parse.y (primary): Wrap a NOP_EXPR around an enum value. ! 3307: ! 3308: Wed Sep 2 18:06:47 1992 Mike Stump ([email protected]) ! 3309: ! 3310: Wed Sep 2 17:33:59 1992 Chip Salzenberg ([email protected]) ! 3311: ! 3312: * cp-decl.c (grokdeclarator): Default friends to being PUBLIC. ! 3313: ! 3314: Tue Sep 1 12:33:01 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 3315: ! 3316: * cp-init.c (do_friends): Always return `void_type_node'. ! 3317: ! 3318: * cp-decl.c (grokparms): Call digest_init on default arguments for ! 3319: formal parameters. ! 3320: ! 3321: * cp-decl.c (xref_tag): The BINFO records describing individual ! 3322: inheritances aren't shared in the lattice. ! 3323: ! 3324: Tue Sep 1 12:27:17 1992 Mike Stump ([email protected]) ! 3325: ! 3326: * cp-call.c (convert_harshness, compute_conversion_costs): The ! 3327: READONLY flag for a const object could be down in the type of the ! 3328: reference. ! 3329: ! 3330: * cp-call.c (compute_conversion_costs): Don't ignore the cost of ! 3331: converting the first argument, if it is not a method. Fixes Mon Aug ! 3332: 31 22:32:34 change. ! 3333: ! 3334: Tue Sep 1 11:58:52 1992 Mike Stump ([email protected]) ! 3335: ! 3336: * cp-tree.h (THIS_NAME): Use the name ``this'' instead of the more ! 3337: cryptic name ``$t''. ! 3338: ! 3339: Mon Aug 31 22:32:34 1992 Mike Stump ([email protected]) ! 3340: ! 3341: * cp-init.c (build_member_call): When forming method calls that use ! 3342: a qualified name, convert the instance pointer to the type implied ! 3343: by the qualification. Base::member_func(); converts this to be a ! 3344: (Base *). ! 3345: ! 3346: * cp-call.c (compute_conversion_costs): Don't penalize conversion ! 3347: of the instance pointer on method calls, as they could be pointers ! 3348: to base classes. ! 3349: ! 3350: Mon Aug 31 18:34:33 1992 Brendan Kehoe ([email protected]) ! 3351: ! 3352: * cp-decl.c (start_function): When a friend function is being ! 3353: defined, put it in (lexical) scope of the class in which it appears. ! 3354: ! 3355: Mon Aug 31 09:57:27 1992 Brendan Kehoe ([email protected]) ! 3356: ! 3357: * cp-typeck.c (build_modify_expr): For assignments to member ! 3358: variables like "X::i", call resolve_offset_ref to get the lhs; all ! 3359: the code and checking was in there, it just wasn't being used. ! 3360: ! 3361: * cp-class.c (finish_struct_methods): Give the name of the class ! 3362: in question when reporting that all its member functions are ! 3363: private. ! 3364: ! 3365: Sun Aug 30 08:34:03 1992 Mike Stump ([email protected]) ! 3366: ! 3367: * cp-decl2.c (setup_vtbl_ptr): Disable the code, until problems can ! 3368: be worked around. ! 3369: ! 3370: Sat Aug 29 10:34:10 1992 Mike Stump ([email protected]) ! 3371: ! 3372: * cp-init.c (emit_base_init): Undo Sat Jan 18 12:06:58 change by ! 3373: tiemann that incorrectly makes -pedantic initialization of virtual ! 3374: base classes 1 or more levels deep impossible. ! 3375: ! 3376: Sat Aug 29 10:03:07 1992 Mike Stump ([email protected]) ! 3377: ! 3378: * cp-class.c (finish_struct): Allow extern "C" functions to be ! 3379: friends. ! 3380: ! 3381: Sat Aug 29 04:43:22 1992 Mike Stump ([email protected]) ! 3382: ! 3383: * cp-parse.y (used_extern_spec), cp-decl.c (start_decl, ! 3384: start_function): Make sure extern in extern "C" (fndef | datadef) ! 3385: applies to only one decl. Fixes problem introduced on Thu Aug 20 ! 3386: 16:11:58. ! 3387: ! 3388: Thu Aug 27 09:33:13 1992 Brendan Kehoe ([email protected]) ! 3389: ! 3390: * cp-decl.c (grokdeclarator): Name operators properly when ! 3391: complaining about trying to declare it as a method when not in a ! 3392: class. ! 3393: ! 3394: * cp-decl.c (grok_reference_init): Forbid volatile->const refs, ! 3395: and vice-versa. Also make the tests apply to all types, not just ! 3396: aggregates. (Now fully compliant with ANSI C++ June 5 1996 WP ! 3397: section 8.4.3.5.) ! 3398: ! 3399: * cp-decl.c (shadow_tag): Don't allow a function to be a member of ! 3400: an anonymous union. ! 3401: ! 3402: * cp-class.c (finish_struct): For a type that's nested within a ! 3403: class, use the class value itself when checking a typedef that uses ! 3404: that new nested type. ! 3405: ! 3406: Wed Aug 26 20:24:07 1992 Brendan Kehoe ([email protected]) ! 3407: ! 3408: * cp-decl.c (decls_match): When converting from a ! 3409: pseudo-METHOD_TYPE for a static member fn, handle the static ! 3410: function being both in the new and old declarations. ! 3411: (revert_static_member_fn): New function. ! 3412: ! 3413: * cp-call.c (build_method_call): Put out proper line number for ! 3414: error with the use of a private constructor. ! 3415: ! 3416: * cp-decl.c (grokdeclarator): If a storage class is erroneously ! 3417: specified for an operator, print the operator's name out properly in ! 3418: the error message (e.g., print `+' instead of `__pl'). ! 3419: ! 3420: * cp-decl.c (grokdeclarator): Allow neither constructors nor ! 3421: destructors to be declared const or volatile. ! 3422: ! 3423: * cp-decl.c (grok_op_properties): New argument VIRTUALP. ! 3424: Use it to disallow declaring new or delete as virtual. Also ! 3425: use coerce_new_type() and coerce_delete_type() to ! 3426: sanity-check overloading of new and delete. ! 3427: (grokfndecl): Give grok_op_properties if the decl is virtual. ! 3428: (start_method): Likewise. ! 3429: ! 3430: * cp-tree.c (lvalue_p, ADDR_EXPR case): Casts to references are ! 3431: lvalues. ! 3432: ! 3433: Thu Sep 3 02:46:44 1992 Richard Stallman ([email protected]) ! 3434: ! 3435: * caller-save.c (setup_save_areas): Don't look at WORDS_BIG_ENDIAN. ! 3436: ! 3437: * fixincludes: If we find a link pointing to ., make a similar ! 3438: link to ., not a link to an absolute name. ! 3439: (stdio.h): Change stdio.h to use stdarg.h to get va_list. ! 3440: ! 3441: * cexp.y: Comment syntax fix. ! 3442: ! 3443: Thu Sep 3 01:48:16 1992 Torbjorn Granlund ([email protected]) ! 3444: ! 3445: * we32k.md (casesi): Use match_dup for second mention of operand 4. ! 3446: ! 3447: Wed Sep 2 06:58:32 1992 Michael Meissner ([email protected]) ! 3448: ! 3449: * gcc.c (default_compilers): Add missing comma between strings, so ! 3450: that traditional compilers can compile gcc.c. ! 3451: (main): Don't pass strcpy or strlen a NULL pointer if some of the ! 3452: spec strings in default_compilers are NULL. ! 3453: (validate_all_switches): Don't dereference a NULL pointer if some of ! 3454: the spec strings in defalut_compilers are NULL. ! 3455: ! 3456: * gcc.c (main): Use new loop var J to avoid conflict with I. ! 3457: ! 3458: Wed Sep 2 19:09:02 1992 Jeffrey A. Law ([email protected]) ! 3459: ! 3460: * caller-save.c (init_caller_save): If we were unable to ! 3461: find a simple insn which meets all its constraints to save ! 3462: and restore with a single insn in a mode, then set ! 3463: regno_save_mode to VOIDmode to insure that this mode is never ! 3464: used to caller-save the current register. ! 3465: ! 3466: Wed Sep 2 12:34:39 1992 Jim Wilson ([email protected]) ! 3467: ! 3468: * caller-save.c (insert_save_restore): Correct test for ! 3469: determining whether multiple registers can be saved. ! 3470: ! 3471: * sparc.md (SImode ldd peepholes): Add `f' to constraints. ! 3472: ! 3473: * sparcv4.h (HANDLE_PRAGMA): Delete. ! 3474: * sparc.c (handle_pragma_token): Delete. ! 3475: ! 3476: * config/spc-sol2.h: Change the location of the Sun bundled C ! 3477: compiler in MD_STARTFILE_PREFIX (for backup defaults). ! 3478: ! 3479: Wed Sep 2 09:11:16 1992 Tom Wood ([email protected]) ! 3480: ! 3481: * m88k.h (MOVE_MAX): Express in bytes not bits. ! 3482: ! 3483: * m88k.c (output_ascii): Output known escape characters and don't ! 3484: terminate the constant if an octal escape is used. ! 3485: ! 3486: Wed Sep 2 06:38:37 1992 Richard Kenner ([email protected]) ! 3487: ! 3488: * combine.c (make_compound_operation, case ASHIFTRT): Add new ! 3489: code to handle (ashiftrt (neg (ashift FOO C1) C2)) just like we ! 3490: currently handle (ashiftrt (OP (ashiftrt FOO C1) C2) C2). ! 3491: ! 3492: Wed Sep 2 00:15:42 1992 Richard Stallman ([email protected]) ! 3493: ! 3494: * Makefile.in (install): Add semicolon to make an empty command. ! 3495: ! 3496: * reload.c (find_reloads): If have any earlyclobbers, don't let any ! 3497: reloads overlap with them. Make everything RELOAD_OTHER. ! 3498: ! 3499: * move-if-change: Give status 1 if file is unchanged. ! 3500: ! 3501: * Makefile.in (SYSTEM_HEADER_DIR): New variable. ! 3502: (xlimits.h): New target, broken out from install-limits-h. ! 3503: Look in SYSTEM_HEADER_DIR for system's limits.h. ! 3504: (start.encap): Dep on xlimits.h. ! 3505: (install-limits-h): Install xlimits.h already made. ! 3506: * cross-make (SYSTEM_HEADER_DIR): Overridden. ! 3507: ! 3508: * x-i386sco (X_CFLAGS): Deleted. ! 3509: * x-i386sco4: New file, like old x-i386sco. ! 3510: * configure (i386-*-sco3.2v4*): Use x-i386sco4. ! 3511: ! 3512: * t-sol2 (gmon.o): Find gmon-sol2.c in config. ! 3513: ! 3514: * c-typeck.c (process_init_constructor): Fix bugs in previous change. ! 3515: ! 3516: Tue Sep 1 23:51:19 1992 Brendan Kehoe ([email protected]) ! 3517: ! 3518: * gcc.c (default_compilers, ".C" and ".ii"): Pass `+e*' into cc1plus. ! 3519: (process_command): Allow +e[012] to be passed down into cc1plus. ! 3520: * cp-decl.c (lang_decode_option): The options `+e0' thru `+e2' will ! 3521: be coming in prefixed as `-+e'. ! 3522: ! 3523: Tue Sep 1 20:09:29 1992 Paul Eggert ([email protected]) ! 3524: ! 3525: * print-tree.c (print_node): Avoid 1 << (HOST_BITS_PER_INT - 1), ! 3526: which overflows. Use unsigned % to compute HASH. ! 3527: ! 3528: Tue Sep 1 17:23:28 1992 Tim Moore (moore@hal) ! 3529: ! 3530: * pa.h (CPP_SPEC, TARGET_SWITCHES): new flags: -mnosnake, ! 3531: -mpa-risc-1-0, -mpa-risc-1-1. ! 3532: (ASM_DECLARE_FUNCTION_NAME): Emit argument descriptors for all ! 3533: general registers if current_function_varargs. ! 3534: ! 3535: Tue Sep 1 11:27:08 1992 Brendan Kehoe ([email protected]) ! 3536: ! 3537: * sparc.c (handle_pragma_token): Only use if HANDLE_SYSV_PRAGMA ! 3538: isn't defined. (We'll be getting the fn from c-pragma.c, then.) ! 3539: ! 3540: Sat Aug 29 13:44:21 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 3541: ! 3542: * tree.h (current_block): Decl deleted. ! 3543: (set_block): Declared. ! 3544: * stmt.c (expand_fixup): Create a BLOCK node (via pushlevel/poplevel) ! 3545: to represent an artificial scope containing all of the fixup code. ! 3546: Also emit NOTE_INSN_BLOCK_BEG/NOTE_INSN_BLOCK_END for that block. ! 3547: (fixup_gotos): Declaration of NEWBLOCK deleted. ! 3548: Call `set_block' to use the BLOCK made in expand_fixup. ! 3549: Deleted code to insert NEWBLOCK into block hierarchy. ! 3550: * c-decl.c, cp-decl.c (current_block): Function deleted. ! 3551: (set_block): New function. ! 3552: (poplevel): If using a previously created block, ! 3553: don't insert it into the parent level. ! 3554: * emit-rtl.c (emit_insns_after): Update last_insn if nec. ! 3555: ! 3556: Tue Sep 1 10:53:58 1992 Torbjorn Granlund ([email protected]) ! 3557: ! 3558: * pa.c (output_move_double): Use `ldo' for immediate adds (instead ! 3559: of `addi' with bad syntax). ! 3560: (output_load_address): Likewise. ! 3561: ! 3562: Tue Sep 1 02:41:13 1992 Richard Stallman ([email protected]) ! 3563: ! 3564: * tree.h (struct tree_type): Make `align' field an int. ! 3565: ! 3566: * c-tree.h (IDENTIFIER_LIMBO_VALUE): New macro. ! 3567: (struct lang_identifier): New field limbo_value. ! 3568: ! 3569: Mon Aug 31 12:59:22 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 3570: ! 3571: * tree.c (make_node): Fix typo in July 6 change: ! 3572: assignment of DECL_IN_SYSTEM_HEADER was inserted in bad place. ! 3573: ! 3574: Mon Aug 31 21:28:08 1992 Jim Wilson ([email protected]) ! 3575: ! 3576: * sched.c (sched_analyze_2): Remove an explicit dependence between ! 3577: an insn that uses CC0 and the immediately previous insn ! 3578: (SCHED_GROUP_P represents the dependence). ! 3579: (schedule_block): Only check sets_cc0_p on an insn. ! 3580: ! 3581: Mon Aug 31 15:32:13 1992 Richard Stallman ([email protected]) ! 3582: ! 3583: * gcc.c (struct compiler): spec field is now array of 4 elements. ! 3584: (read_specs): Clear the entire new element of compilers. ! 3585: (lookup_compiler): Copy all of spec array. Check element 0 for @. ! 3586: (main): Concatenate all elements of compiler spec. ! 3587: (validate_all_switches): Validate from all elements of compiler spec. ! 3588: (default_compilers): Split CPP commands into separate strings. ! 3589: ! 3590: Mon Aug 31 10:06:16 1992 Jeffrey A. Law ([email protected]) ! 3591: ! 3592: * caller-save.c (restore_referenced_regs): When restoring a ! 3593: referenced hard register, use CEIL instead of a truncating divide ! 3594: to determine the maximum number of registers to restore. ! 3595: (insert_save_restore): Document maxrestore parameter. ! 3596: (CEIL): Define. ! 3597: ! 3598: Mon Aug 31 04:02:21 1992 Richard Stallman ([email protected]) ! 3599: ! 3600: * fold-const.c (const_binop): Delete special case for mult by 3. ! 3601: ! 3602: * toplev.c (lang_options): Add terminating zero. ! 3603: ! 3604: * configure.bat: Remove version number from initial message. ! 3605: ! 3606: Sun Aug 30 17:22:11 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 3607: ! 3608: * cccp.c (do_pragma): In prev. change, really use U_CHAR *, not char *. ! 3609: ! 3610: * aix386.h, i386gas.h, i386sun.h, i386v.h, i386v4.h, i386vgas.h, ! 3611: seq386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): ! 3612: Move from here, ! 3613: * unx386.h (TARGET_DEFAULT,VALUE_REGNO,FUNCTION_VALUE_REGNO): ! 3614: To here. ! 3615: (TARGET_DEFAULT): Make TARGET_IEEE_FP default on. ! 3616: (VALUE_REGNO): Test for MODE_FLOAT instead of specific modes. ! 3617: (VALUE_REGNO,FUNCTION_VALUE_REGNO): MODE_FLOAT return reg depends on ! 3618: TARGET_FLOAT_RETURNS_IN_80387. ! 3619: ! 3620: * i386.h (TARGET_FLOAT_RETURNS_IN_80387): New macro. ! 3621: (TARGET_SWITCHES): Add "no-80387", "no-soft-float", ! 3622: "fp-ret-in-387", and "no-fp-ret-in-387". ! 3623: Change no* switches to no-*. ! 3624: (CONDITIONAL_REGISTER_USAGE): Make 387 regs fixed if the 387 is not ! 3625: used at all. ! 3626: (REG_CLASS_FROM_LETTER): Constraint letters 'f', 't' and 'u' are ! 3627: NO_REGS if the 387 is not used. ! 3628: (TRAMPOLINE_TEMPLATE): Use GEN_INT to generate const_int rtx. ! 3629: ! 3630: * x-i386v4: New file. ! 3631: (CLIB): Get alloca from libucb.a. ! 3632: * configure (i386-*-sysv4*): Use x-i386v4. ! 3633: ! 3634: Sun Aug 30 15:32:54 1992 Dennis Glatting (dglattin at trirex.com) ! 3635: ! 3636: * objc-actions.c (create_builtin_decl): Set TREE_STATIC. ! 3637: Don't set DECL_EXTERNAL or TREE_PUBLIC. ! 3638: ! 3639: Sun Aug 30 03:08:48 1992 Richard Stallman ([email protected]) ! 3640: ! 3641: * c-parse.y (initlist): Handle ranges of array elements. ! 3642: * c-typeck.c (process_init_constructor): Handle ranges. ! 3643: ! 3644: * fixincludes: When link points to a dir $dirname outside $INPUT, ! 3645: copy that dir into $LIB/root$dirname. Translate the link itself ! 3646: into a link to that new dir. Make a file DONE in each treetop dir ! 3647: so no treetop is scanned twice. Improve progress messages. ! 3648: ! 3649: Sat Aug 29 22:41:49 1992 Richard Kenner ([email protected]) ! 3650: ! 3651: * alpha.h (ASM_FILE_START): Object file version number now 8.0. ! 3652: ! 3653: * alpha.h (ADJUST_COST): New macro. ! 3654: * alpha.c (alpha_adjust_cost): New function. ! 3655: * alpha.md: Adjust function unit delays and more precisely ! 3656: describe function units. ! 3657: ! 3658: * alpha.h (CONST_OK_FOR_LETTER_P): Add new letters `O' and `P'. ! 3659: * alpha.c (print_operand, case 'P'): New case. ! 3660: * alpha.md (ashldi3): Special-case shifts by 1, 2, and 3 bits to ! 3661: use arithmetic instructions. ! 3662: Add pattern for sign-extending shifts by 1, 2, and 3 bits. ! 3663: ! 3664: * alpha.h (INITIALIZE_TRAMPOLINE): Use Pmode when appropriate. ! 3665: (FUNCTION_MODE): Use Pmode. ! 3666: ! 3667: * alpha.md (div/mod): Indicate that reg 27 is clobbered too. ! 3668: ! 3669: * alpha.md (cmov): Add define_split for if_then_else/plus case. ! 3670: ! 3671: * expr.c (emit_library_call): Pass correct number of args to ! 3672: convert_to_mode. ! 3673: ! 3674: * expr.c (emit_block_move): Eliminate unnecessary test against ! 3675: HOST_BITS_PER_WIDE_INT. ! 3676: ! 3677: * optabs.c (expand_{binop,unop}): Don't make invalid ! 3678: paradoxical SUBREGs. ! 3679: ! 3680: * genattrtab.c (RTL_HASH, attr_rtx): Avoid warnings by casting ! 3681: pointers to HOST_WIDE_INT instead of int. ! 3682: ! 3683: ! 3684: Sat Aug 29 15:35:58 1992 Richard Stallman ([email protected]) ! 3685: ! 3686: * toplev.c (lang_options): New table. ! 3687: (main): Recognize all language-dependent options of any language ! 3688: and always treat them as language-specific and valid. ! 3689: ! 3690: * c-decl.c (c_decode_option): -fnotraditional really undoes ! 3691: -ftraditional. Handle -fno-traditional also. ! 3692: ! 3693: Sat Aug 29 00:34:01 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 3694: ! 3695: * reg-stack.c (record_reg_life): Mark an unused reg as such, even ! 3696: if it appears in SET_SRC. ! 3697: ! 3698: Fri Aug 28 17:40:49 1992 John F Carr (jfc at Athena.MIT.EDU) ! 3699: ! 3700: * tree.c (chainon): Check for op2 being the last elt of the chain. ! 3701: ! 3702: Fri Aug 28 13:26:56 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 3703: ! 3704: * cccp.c (do_pragma): Use rindex, not strrchr. ! 3705: ! 3706: * tree.h (BLOCK_END_NOTE): Macro definition added. ! 3707: (struct tree_block): `end_note' field added. ! 3708: * stmt.c (last_block_end_note): New variable. ! 3709: (remember_end_note): New function. ! 3710: (expand_end_bindings): Save NOTE_INSN_BLOCK_END in last_block_end_note. ! 3711: * c-decl.c, cp-decl.c (poplevel): Call `remember_end_note' for each ! 3712: newly created BLOCK node. ! 3713: * integrate.c (adjust_copied_decl_tree): New function. ! 3714: (save_for_inline_copying): When making copies of NOTE_INSN_BLOCK_END ! 3715: notes, stash a "forwarding" pointer in the original to point to the ! 3716: copy. Also, when all BLOCKs & insns for a function have been copied, ! 3717: call `adjust_copied_decl_tree' to fixup the end_note pointers in the ! 3718: copied BLOCKs. ! 3719: ! 3720: Fri Aug 28 13:25:59 1992 Richard Stallman ([email protected]) ! 3721: ! 3722: * cccp.c (do_pragma): In prev. change, use U_CHAR *, not char *. ! 3723: ! 3724: Fri Aug 28 09:11:56 1992 Tom Wood ([email protected]) ! 3725: ! 3726: * m88k.h (ADJUST_COST): Add definition. ! 3727: ! 3728: Thu Aug 27 18:27:02 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 3729: ! 3730: * c-decl.c (init_decl_processing): Add sin and cos as built-in ! 3731: functions. ! 3732: * expr.c (expand_builtin): Likewise. ! 3733: ! 3734: * expr.h (sin_optab,cos_optab): Declare optabs for sin and cos. ! 3735: * optabs.c (sin_optab,cos_optab): Define them. ! 3736: (init_optabs): Initialize them. ! 3737: ! 3738: * tree.h (BUILT_IN_SIN,BUILT_IN_COS): New builtin codes. ! 3739: ! 3740: * reg-stack.c (record_note_if_dead): Delete function. ! 3741: (record_reg_life_pat): Rewrite to handle any sort of pattern. ! 3742: (record_reg_life): Change interface to record_reg_life_pat. ! 3743: ! 3744: (stack_reg_life_analysis): Don't assume that MODE_FLOAT values are ! 3745: always returned in a float reg. ! 3746: ! 3747: (subst_stack_regs_pat): Add support for sin and cos insns. ! 3748: ! 3749: * i386.c (all gen_rtx (CONST_INT) references): Use GEN_INT to ! 3750: generate const_int rtx. ! 3751: (legitimize_pic_address): Pass NULL_RTX instead of "0" as pointer. ! 3752: ! 3753: * i386.md (all patterns): Use GEN_INT instead of gen_rtx to get ! 3754: const_ints. ! 3755: Avoid double-negative "! NON_*" constructs for clarity. ! 3756: Pass NULL_PTR as null parameter instead of 0. ! 3757: ! 3758: (sqrtM2): Patterns are only valid if IEEE FP or -ffast-math. ! 3759: (sinM2,cosM2): New patterns. ! 3760: (zero_extract test): New pattern. ! 3761: (movstrsi): Rewrite expander to handle operands correctly. ! 3762: ! 3763: Thu Aug 27 16:58:09 1992 Michael Meissner ([email protected]) ! 3764: ! 3765: * genattrtab.c (MAX_DIGITS): New macro to gauge how much space we ! 3766: need to reserve when printing integers. ! 3767: (expand_delays): Use sizeof and MAX_DIGITS to properly size the ! 3768: strings when calling attr_printf. ! 3769: (expand_units): Ditto. ! 3770: (encode_units_mask): Ditto. ! 3771: (make_numeric_value): Ditto. ! 3772: (oballoc): New macro, to allocate from the hash_obstack. ! 3773: (convert_const_symbol_ref): Call oballoc instead of xmalloc. ! 3774: (get_attr_value): Ditto. ! 3775: (fill_attr): Ditto. ! 3776: (make_length_attrs): Ditto. ! 3777: (gen_attr): Ditto. ! 3778: (gen_insn): Ditto. ! 3779: (gen_delay): Ditto. ! 3780: (gen_unit): Ditto. ! 3781: (find_attr): Ditto. ! 3782: (main): Ditto. ! 3783: ! 3784: Thu Aug 27 14:47:16 1992 Mike Stump ([email protected]) ! 3785: ! 3786: * cp-decl.c (curent_block, struct binding_level, poplevel): Copy ! 3787: Tue Aug 25 16:29:47 and Wed Aug 26 01:56:30 changes in c-decl.c by ! 3788: rms. ! 3789: ! 3790: Thu Aug 27 01:32:11 1992 Paul Eggert ([email protected]) ! 3791: ! 3792: * c-lex.c, cp-lex.c (readescape): DEL isn't printable. ! 3793: * c-typeck.c (check_format): Likewise. ! 3794: ! 3795: Wed Aug 26 20:42:36 1992 Richard Stallman ([email protected]) ! 3796: ! 3797: * c-lex.c (readescape): For \x, don't include leading 0's in count. ! 3798: ! 3799: * c-decl.c (init_decl_processing): Fix type of __builtin_constant_p. ! 3800: ! 3801: * expr.c (emit_block_move): When trying movstrMM, cvt size to mode MM. ! 3802: ! 3803: * c-parse.y (stmt): For computed goto, convert arg to void *. ! 3804: ! 3805: * fold-const.c (fold): Do A op C1 ? A : C2 opt only for INTEGER_TYPEs. ! 3806: ! 3807: Wed Aug 26 20:19:56 1992 Mike Stump ([email protected]) ! 3808: ! 3809: * cp-decl.c (insert_block, delete_block): New functions. ! 3810: * cp-parse.y (primary, using compstmt): Call delete_block instead ! 3811: of clearing TREE_USED. ! 3812: ! 3813: 11th Cygnus<-->FSF merge. ! 3814: ! 3815: Wed Aug 26 12:02:41 1992 Mike Stump ([email protected]) ! 3816: ! 3817: * cp-decl.c (finish_function): Don't core dump when a conversion is ! 3818: ambiguous. ! 3819: ! 3820: Tue Aug 25 16:32:42 1992 Mike Stump ([email protected]) ! 3821: ! 3822: * cp-init.c (build_new), cp-typeck.c (build_c_cast): Handle ``new ! 3823: type ( ... )'' better. Default constructors and better error ! 3824: checking. ! 3825: ! 3826: Tue Aug 25 01:21:48 1992 Mike Stump ([email protected]) ! 3827: ! 3828: * cp-decl2.c (finish_file): Mark " @%$#@!" as being internal. ! 3829: ! 3830: Mon Aug 24 16:40:15 1992 Brendan Kehoe ([email protected]) ! 3831: ! 3832: * cp-lex.c (check_newline): For `#pragma implementation', use ! 3833: strcmp to check if it was done at the top level, rather than relying ! 3834: on the pointers being the same. ! 3835: ! 3836: Mon Aug 24 20:48:16 1992 Mike Stump ([email protected]) ! 3837: ! 3838: Fri Aug 21 14:19:27 1992 Ron Guilmette (rfg at ncd.com) ! 3839: ! 3840: * cp-decl2.c (grokclassfn): Mark the artificial `this' parameter as ! 3841: "artificial". ! 3842: ! 3843: Thu Aug 20 22:59:16 1992 Mike Stump ([email protected]) ! 3844: ! 3845: * cp-spew.c (arbitrate_lookup): Make sure the type name in an ! 3846: argument list followed by &, or &) is seen as a type name, even when ! 3847: there is an enumeration constant with the exact same name. ! 3848: ! 3849: Thu Aug 20 21:58:30 1992 Mike Stump ([email protected]) ! 3850: ! 3851: * cp-search.c (get_first_matching_virtual): Don't core dump when a ! 3852: declaration of a static member is seen with the same name as a base ! 3853: class virtual function. ! 3854: ! 3855: Thu Aug 20 21:20:31 1992 Mike Stump ([email protected]) ! 3856: ! 3857: * cp-decl.c (finish_function): Don't core dump on parse errors. ! 3858: ! 3859: Thu Aug 20 20:52:43 1992 Mike Stump ([email protected]) ! 3860: ! 3861: * cp-method.c (build_component_type_expr): Don't core dump on parse ! 3862: errors. ! 3863: ! 3864: Thu Aug 20 18:31:58 1992 Mike Stump ([email protected]) ! 3865: ! 3866: Mon Aug 17 17:08:11 1992 Chip Salzenberg ([email protected]) ! 3867: ! 3868: Copy some changes from the C front-end: ! 3869: ! 3870: * cp-type2.c (process_init_constructor): Warn about partly bracketed ! 3871: initializers. ! 3872: * cp-typeck.c (build_component_ref): Don't warn for compound and ! 3873: conditional expressions when pedantic. These are valid in ANSI C. ! 3874: ! 3875: Thu Aug 20 16:11:58 1992 Mike Stump ([email protected]) ! 3876: ! 3877: * cp-decl.c (start_decl), cp-parse.y (have_extern_spec): extern "C" ! 3878: int i; is only a declaration, but a definition, make it so. ! 3879: ! 3880: Thu Aug 20 14:46:39 1992 Mike Stump ([email protected]) ! 3881: ! 3882: Thu Aug 20 02:36:39 1992 Ron Guilmette (rfg at ncd.com) ! 3883: ! 3884: * cp-lex.c (cons_up_default_function): Use DECL_SOURCE_LINE = 0 for ! 3885: compiler generated things, not DECL_IGNORED_P. ! 3886: ! 3887: Thu Aug 20 13:13:45 1992 Mike Stump ([email protected]) ! 3888: ! 3889: Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com) ! 3890: ! 3891: * cp-decl.c (grokdeclarator): Propagate some changes from the C ! 3892: front-end to deal with variable sized arrays. ! 3893: ! 3894: Wed Aug 19 16:55:43 1992 Mike Stump ([email protected]) ! 3895: ! 3896: * cp-cvt.c (convert_to_reference): Improve wording on error message. ! 3897: * cp-method.c (type_as_string), cp-pt.c ! 3898: (mangle_class_name_for_template), cp-xref.c (GNU_xref_decl): Delete ! 3899: first argument to type_as_string as it is not needed anymore. ! 3900: ! 3901: Wed Aug 19 15:29:02 1992 Mike Stump ([email protected]) ! 3902: ! 3903: Wed Aug 19 13:09:45 1992 Ron Guilmette (rfg at ncd.com) ! 3904: ! 3905: * cp-decl.c (kept_level_p): Update from C frontend. ! 3906: ! 3907: Wed Aug 19 14:47:08 1992 Mike Stump ([email protected]) ! 3908: ! 3909: * cp-decl2.c (groktypefield): Old style conversion operators ! 3910: are being desupported. Conversion operators much have an ! 3911: `operator' in front of them. ! 3912: ! 3913: Wed Aug 19 01:57:04 1992 Mike Stump ([email protected]) ! 3914: ! 3915: * cp-call.c (ideal_candidate): Fix bug introduced on Jan 21 ! 3916: 7:24:21. Warn about ambiguous function calls with multiple ! 3917: same cost conversions. ! 3918: ! 3919: Wed Aug 19 00:08:18 1992 Mike Stump ([email protected]) ! 3920: ! 3921: * cp-decl.c (grok_enum_decls): Remove invalid error message. ! 3922: ! 3923: Mon Aug 17 18:59:18 1992 Mike Stump ([email protected]) ! 3924: ! 3925: * cp-cvt.c (convert_to_reference, convert, ! 3926: build_type_conversion_1, build_type_conversion), cp-init.c ! 3927: (build_dynamic_new), cp-typeck.c (build_modify_expr_1, ! 3928: convert_for_initialization): Always use constructor_name, and ! 3929: never TYPE_IDENTIFIER (type) and similar things. ! 3930: * cp-init.c (expand_aggr_init_1): Try TYPE_HAS_CONSTRUCTOR ! 3931: before wasting time trying build_method_call. ! 3932: * cp-xref.c: Don't include memory.h. ! 3933: ! 3934: Mon Aug 17 15:10:21 1992 Mike Stump ([email protected]) ! 3935: ! 3936: * cp-init.c (expand_aggr_init_1): Check for ambiguous ! 3937: conversion. One through constructor and the other through a ! 3938: user defined conversion operator. ! 3939: ! 3940: Mon Aug 17 11:51:27 1992 Mike Stump ([email protected]) ! 3941: ! 3942: * cp-call.c (convert_harshness): When an argument is T, a T& ! 3943: should be choosen over a const T& when selecting overloaded ! 3944: functions. ! 3945: ! 3946: Mon Aug 17 01:37:06 1992 Mike Stump ([email protected]) ! 3947: ! 3948: * cp-call.c (build_method_call): The second argument to ! 3949: operator delete is sometimes magically deleted. ! 3950: * cp-decl.c (init_decl_processing, grokfndecl): Global ! 3951: operator delete never has two arguments. ! 3952: ! 3953: Wed Aug 5 18:54:19 1992 Mike Stump ([email protected]) ! 3954: ! 3955: * cp-class.c (finish_struct), cp-tree.c (layout_basetypes): ! 3956: Make sure VFIELD_BASEs are aligned. This fixes a really ! 3957: annoying problem that causes code that uses complex ! 3958: inheritance hierarchies that have virtual bases to get a ! 3959: segmentation fault. ! 3960: ! 3961: Wed Aug 5 12:35:07 1992 Mike Stump ([email protected]) ! 3962: ! 3963: Wed Aug 5 08:10:34 1992 Tom Wood ([email protected]) ! 3964: ! 3965: * cp-tree.c (__eprintf): `line' is unsigned. ! 3966: * cp-lex.c: Include stdlib.h and locale.h if needed. ! 3967: * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not ! 3968: TREE_EXTERNAL. ! 3969: ! 3970: Wed Aug 5 03:20:07 1992 Mike Stump ([email protected]) ! 3971: ! 3972: * cp-class.c (finish_struct_methods): Check to make sure ! 3973: operator delete is not overloaded. ! 3974: * cp-decl.c (grokfndecl): Check to make sure operator delete ! 3975: is declared properly. ! 3976: ! 3977: Tue Aug 4 16:52:28 1992 Mike Stump ([email protected]) ! 3978: ! 3979: Mon Aug 3 22:55:04 1992 Michael Meissner ([email protected]) ! 3980: ! 3981: * cp-decl.c (grokdeclarator): Make sure const and volatile get ! 3982: put on the type built when building reference types. ! 3983: * cp-parse.y (attrib): tree_cons takes three arguments, not ! 3984: two. ! 3985: * cp-tree.h: Add hash_chainon, build_virtual_init, ! 3986: build_vbase_delete, build_vbase_vtables_init. ! 3987: * cp-typeck.c (build_modify_expr_1. build_modify_expr): ! 3988: build_unary_op takes three arguments, not two. ! 3989: ! 3990: Tue Aug 4 16:07:57 1992 Mike Stump ([email protected]) ! 3991: ! 3992: Sat Aug 1 16:52:20 1992 John Carr ([email protected]) ! 3993: ! 3994: * cp-decl.c (): Make sure the base type of an ARRAY_TYPE is ! 3995: layedout before using it. ! 3996: ! 3997: Wed Aug 26 17:04:45 1992 Richard Stallman ([email protected]) ! 3998: ! 3999: * tree.h (current_block): Declared. ! 4000: ! 4001: Wed Aug 26 15:42:11 1992 Jeffrey A. Law ([email protected]) ! 4002: ! 4003: Major rework to have caller-saves emit load/store double insns when ! 4004: possible and to avoid useless resaving of registers restored for ! 4005: source accesses only. ! 4006: * caller-save.c (toplevel): All arrays are multi-dimensional to ! 4007: hold information for multiple save/restore insns. New variable ! 4008: hard_regs_need_restore. ! 4009: (choose_hard_reg_mode): New argument `nregs' indicating how many ! 4010: hard registers are desired. All callers changed. ! 4011: (init_caller_save): Change initialization to handle multiple ! 4012: register saves. A call-used register can not be live across ! 4013: if we can not find a single register mode to save it in. ! 4014: (multiple register saves are optional) ! 4015: (init_save_areas): Change initialization of regno_save_mem to ! 4016: handle multiple register saves. ! 4017: (setup_save_areas): Allocate space for consecutive hard registers ! 4018: in aligned consecutive memory locations. When allocating space ! 4019: for consecutive hard registers, also initialize regno_save_mem ! 4020: for each hard register stored as a single word. ! 4021: (save_call_clobbered_regs): Initialize hard_regs_need_restore. ! 4022: Set hard_regs_need_restore to hard_regs_saved after crossing ! 4023: a call. Also recompute n_regs_saved. At the end of a basic block ! 4024: we need only restore registers in hard_regs_need_restore. ! 4025: (set_reg_live, clear_reg_live): Do the right thing for ! 4026: hard_regs_need_restore and hard_regs_saved. ! 4027: (restore_referenced_regs): Just return if X is a clobber. ! 4028: Test hard_regs_need_restore to determine when to restore a hard ! 4029: register from the save area. ! 4030: (insert_save_restore): Now returns the number of extra registers ! 4031: saved/restored. New argument `maxrestore' which constrains how ! 4032: many hard registers should be restored. All callers changed. ! 4033: Do stores of consecutive registers with double store insns if ! 4034: possible. Else do them with single word insns. Likewise for ! 4035: loads, except constrained by maxrestore. Set hard_regs_saved ! 4036: and hard_regs_need_restore appropriately to minimize useless ! 4037: saves into the save area. Test against hard_regs_need_restore ! 4038: when trying to restore multiple regs and similarly test against ! 4039: hard_regs_saved when storing multiple regs. ! 4040: ! 4041: ! 4042: Wed Aug 26 14:24:28 1992 Michael Meissner ([email protected]) ! 4043: ! 4044: * mips.h (LINK_SPEC): Pass -shared, -non_shared on to linker. ! 4045: * mips-bsd.h (LINK_SPEC): Ditto. ! 4046: * mips-n5.h (LINK_SPEC): Ditto. ! 4047: * mips-svr4.h (LINK_SPEC): Ditto. ! 4048: * mips-sysv.h (LINK_SPEC): Ditto. ! 4049: * iris.h (LINK_SPEC): Ditto. ! 4050: * dec-osf1.h (LINK_SPEC): Ditto. ! 4051: ! 4052: * dec-osf1.h (DECSTATION): Don't define, since decstatn.h which is ! 4053: included defines it. ! 4054: (OBJECT_FILE_COFF): Undefine, since the DEC OSF/1 ldfcn doesn't ! 4055: look like the coff version. ! 4056: ! 4057: * decstatn.h (LINK_SPEC): Don't define if already defined. ! 4058: ! 4059: Wed Aug 26 13:56:08 1992 Tom Wood ([email protected]) ! 4060: ! 4061: * reorg.c: Enhance to fill the last delay slot of a call with an ! 4062: unconditional jump. ! 4063: (fill_simple_delay_slots): Look for the case of a call/branch ! 4064: first. If this applies, record the jump as `last_delay_insn'. ! 4065: Later, don't look for additional delay insns if the last one has ! 4066: alreay been filled. ! 4067: (mark_target_live_regs): A sequence may end in an unconditional ! 4068: branch. ! 4069: ! 4070: * m88k.md (define_function_unit): Correct and simplify memory unit ! 4071: specification. ! 4072: ! 4073: Wed Aug 26 01:56:30 1992 Richard Stallman ([email protected]) ! 4074: ! 4075: * c-decl.c (poplevel): Store into BLOCK iff it is non-null. ! 4076: ! 4077: Tue Aug 25 23:24:45 1992 Jim Wilson ([email protected]) ! 4078: ! 4079: * sched.c: Add #ifdef INSN_SCHEDULING around variables only used ! 4080: by schedule_insns. ! 4081: (INSN_QUEUE_SIZE): Delete default definition. ! 4082: ! 4083: * optabs.c, expr.c: Partially undo Mar 7 change. Only call ! 4084: emit_library_call with no_queue == 1 for const functions. ! 4085: ! 4086: * sparc.c (SF_MODES): Allow SImode in fp registers. ! 4087: (output_floatsisf2, output_floatsidf2, output_floatsitf2): Delete. ! 4088: * sparc.h: Delete declarations of the above 3 functions. ! 4089: * sparc.md (float*, fix*): Rewrite to match hardware; take/put ! 4090: integer input/output from/to fp register instead of memory or ! 4091: general register. Delete 6 now obsolete combiner patterns. ! 4092: ! 4093: Tue Aug 25 16:40:15 1992 Brendan Kehoe ([email protected]) ! 4094: ! 4095: * cccp.c (do_pragma): Warn if `#pragma implementation "foo.h"' is ! 4096: invoked after "foo.h" has been included. ! 4097: ! 4098: Tue Aug 25 16:29:47 1992 Richard Stallman ([email protected]) ! 4099: ! 4100: * stmt.c (struct goto_fixup): New field context. ! 4101: (fixup_cleanups): Function deleted. ! 4102: (fixup_gotos): Put the fixup in a block, and put that block ! 4103: into its proper place. Use sequences, not reorder_insns. ! 4104: ! 4105: * c-decl.c (current_block): New function. ! 4106: (struct binding_level): New field this_block. ! 4107: (poplevel): Use this_block if nonzero, rather than making new BLOCK. ! 4108: ! 4109: * sched.c (INSN_QUEUE_SIZE): Add default definition. ! 4110: ! 4111: Tue Aug 25 15:19:26 1992 Tom Wood ([email protected]) ! 4112: ! 4113: * sched.c (schedule_block): Add a virtual cycle counter CLOCK. ! 4114: Pass CLOCK to schedule_insn. ! 4115: Compute the tail in the scheduling loop, not before it. ! 4116: Enable the stall code that advances the insn queue. ! 4117: Select the insn to schedule and block others with schedule_select. ! 4118: (adjust_priority): Renamed from launch_link. ! 4119: (schedule_insn): Renamed from launch_links. ! 4120: ! 4121: * genattrtab.c (struct attr_desc): Add unsigned_p field. ! 4122: (struct function_unit_op): Add issue_delay, conflict_exp, and ! 4123: issue_exp fields. Drop busyexp field. ! 4124: (struct function_unit): Add needs_blockage_function, ! 4125: needs_range_function, issue_delay, and max_blockage fields. Drop ! 4126: costexp, and busy delay fields. ! 4127: (enum operator): Add POS_MINUS_OP, EQ_OP, MIN_OP, RANGE_OP. ! 4128: (operate_exp): Implement new ops. ! 4129: (make_internal_attr): Set unsigned_p based on the value of SPECIAL. ! 4130: (write_attr_get): Function is unsigned when unsigned_p is true. ! 4131: (write_attr_valueq): Write hex value of large constants in a comment. ! 4132: (simplify_by_exploding): Check for EXP having no EQ_ATTR expressions ! 4133: and for all values as the default. ! 4134: (find_and_mark_used_attributes): Add TERMS and NTERMS parameters. ! 4135: (max_attr_value): Allow IF_THEN_ELSE. ! 4136: (simplify_knowing, write_complex_function, extend_range): New ! 4137: functions. ! 4138: (gen_unit): Use local variables to name the fields. Change the ! 4139: meaning of busy-delay to issue-delay. ! 4140: (expand_units): Compute issue_exp. Write attributes for computing ! 4141: `<name>_unit_blockage' and `<name>_unit_blockage_range' functions. ! 4142: Compute max_blockage, and the needs_*_function values. ! 4143: (write_function_unit_info): Write blockage function and conflict cost ! 4144: functions using write_complex_function. Write new function_unit_desc ! 4145: fields. ! 4146: * genattr.c (extend_range, init_range): New functions. ! 4147: (write_units): Add blockage_function, blockage_range_function, ! 4148: max_blockage and max_issue_delay fields to struct function_unit_desc. ! 4149: Drop max_busy_cost field. Write #defines for min/max blockage, ! 4150: issue delay, multiplicity, and simultaneity and for BLOCKAGE_BITS ! 4151: and INSN_QUEUE_SIZE. ! 4152: (main): Compute the new values. ! 4153: * sched.c (insn_queue): Use INSN_QUEUE_SIZE. ! 4154: * rtl.def (define_function_unit): Update documentation. ! 4155: ! 4156: * sched.c (insn_units, insn_blockage, insn_tick, unit_last_insn, ! 4157: unit_tick, unit_n_insns): New variables. ! 4158: (schedule_insns): Allocate and initialize insn_tick, insn_units, and ! 4159: insn_blockage. ! 4160: (insn_unit, blockage_range, clear_units, prepare_unit, schedule_unit, ! 4161: actual_hazard_this_instance, actual_hazard, potential_hazard, ! 4162: schedule_select): New functions. ! 4163: (schedule_block): Add dependencies to force insns to remain in order ! 4164: at the end of a block rather than relying on having the scheduler ! 4165: issue them in priority order. ! 4166: ! 4167: * sched.c (insn_cost): Add LINK and USED parameters. All callers ! 4168: changed. Supply an ADJUST_COST interface. ! 4169: (insn_cost): Make a dependence from a USE insn free. ! 4170: (priority): Clear the link cost adjustment bits. ! 4171: * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): New macros. ! 4172: ! 4173: * genattrtab.c (expand_units): Use the normalized values of the ! 4174: unit's CONDEXP and BUSYEXP. ! 4175: ! 4176: * a29k.md (define_function_unit): Change meaning to ISSUE-DELAY. ! 4177: * i960.md (define_function_unit): Change meaning to ISSUE-DELAY. ! 4178: * m88k.md (type attribute, movdi movdf insns): Add loadd. ! 4179: (unit attribute): Delete. ! 4180: (function units): Correct simultaneity values. Break out ! 4181: independent units. Add conflict matrix for the 88100 load double. ! 4182: * mips.md (define_function_unit): Change meaning to ISSUE-DELAY. ! 4183: * pa.md (define_function_unit): Change meaning to ISSUE-DELAY. ! 4184: * sparc.md (define_function_unit): Change meaning to ISSUE-DELAY. ! 4185: Merge FP_MUL, FP_DIV, and FP_SQRT into one function unit. ! 4186: ! 4187: * jump.c (delete_computation): Derived from delete_jump. ! 4188: (delete_jump): Use delete_computation. ! 4189: ! 4190: Tue Aug 25 13:42:19 1992 Richard Stallman ([email protected]) ! 4191: ! 4192: * final.c (final_scan_insn): If 2 consec line notes have same line num, ! 4193: can omit one. ! 4194: ! 4195: Tue Aug 25 13:38:19 1992 Michael Meissner ([email protected]) ! 4196: ! 4197: * mips.h (MIPS_VERSION): Set Meissner version # to 24. ! 4198: (ASM_FINAL_SPEC): Use %U to get the last file name created with ! 4199: %u, rather than %u. ! 4200: (ARG_POINTER_REGNUM): Use the hardwired register $0 as the ! 4201: argument pointer, instead of the frame pointer, to allow the frame ! 4202: pointer to be the same as the stack pointer after the initial ! 4203: stack allocations. This is to allow GCC generated code to be ! 4204: linked against MIPS shared libraries. The linker rearranges the ! 4205: code, and needs to have a frame pointer, if used, to be the same ! 4206: as the stack. The argument pointer is always eliminated in favor ! 4207: of the stack pointer or frame pointer. ! 4208: (FRAME_GROWS_DOWNWARD): Don't define this any more. ! 4209: (STARTING_FRAME_OFFSET): Locals start after the stack area to pass ! 4210: arguments to called functions. ! 4211: (STACK_DYNAMIC_OFFSET): If function is a leaf function, but calls ! 4212: __builtin_alloca, assume a default argument area, so the MIPS ! 4213: linker doesn't think a second frame pointer is created. ! 4214: (INITIAL_FRAME_POINTER_OFFSET): Don't define, since we use ! 4215: elimination instead. ! 4216: (ELIMINABLE_REGS): Define to eliminate both the stack pointer and ! 4217: frame pointer, since they are now separate. ! 4218: (CAN_ELIMINATE): Ditto. ! 4219: (INITIAL_ELIMINATION_OFFSET): Ditto. ! 4220: (ELIGIBLE_FOR_EPILOGUE_DELAY): Don't allow variables based off of ! 4221: the argument pointer, in addition to frame and stack pointers. ! 4222: (MUST_SAVE_REGISTER): Add in GP_REG_FIRST to 31, in case we ever ! 4223: change the base of the gp registers. ! 4224: (MIPS_STACK_ALIGN): Use ~7, instead of 0xfffffff8. ! 4225: ! 4226: * mips.c (number_functions_processed): Delete variable, nobody ! 4227: uses it anymore. ! 4228: (mips_debugger_offset): Add support for the frame pointer being ! 4229: the same as the stack pointer, instead of being the same as the ! 4230: argument pointer. Abort if the address is not based on any of the ! 4231: stack, frame, or argument pointers. ! 4232: (print_operand_address): Add checks for the arg pointer not being ! 4233: eliminated. ! 4234: (function_prologue): Ditto. ! 4235: (mips_expand_prologue): Ditto. ! 4236: (function_epilogue): Ditto. ! 4237: (mips_expand_epilogue): Ditto. ! 4238: (function_epilogue): Strip leading '*' if it exists from ! 4239: current_function_name when printing statistics. Delete increment ! 4240: of number_functions_processed. ! 4241: (compute_frame_size): Don't base extra_size on the macro ! 4242: STARTING_FRAME_OFFSET. If function is a leaf function, but calls ! 4243: __builtin_alloca, allocate an arg area, so that the MIPS linker ! 4244: will not complain about creating a second frame pointer. Move the ! 4245: argument save area beneath local variables. ! 4246: ! 4247: * decrose.h (ASM_FINAL_SPEC): Use %U to get the last file name ! 4248: created with %u, rather than %u. ! 4249: ! 4250: * gcc.c (do_spec_1): Add %U to return the last name generated with ! 4251: %u. This is for use with mips-tfile, to find the generated object ! 4252: file. ! 4253: ! 4254: ! 4255: Mon Aug 24 18:09:34 1992 Richard Stallman ([email protected]) ! 4256: ! 4257: * c-typeck.c (build_unary_op): For ADDR_EXPR, just set TREE_CONSTANT ! 4258: if staticp, but don't clear TREE_CONSTANT. ! 4259: ! 4260: Mon Aug 24 13:52:13 1992 Brendan Kehoe ([email protected]) ! 4261: ! 4262: * gcc.c (process_command): Don't set verbose_flag if they make a ! 4263: typo (e.g., `-v-E'); only when it's exactly "-v". ! 4264: ! 4265: Mon Aug 24 06:49:16 1992 Richard Kenner ([email protected]) ! 4266: ! 4267: * combine.c (subst): When moving operation inside IF_THEN_ELSE, ! 4268: make a new rtx instead of using SUBST due to sharing. ! 4269: ! 4270: * combine.c (simplify_comparison): Correct test for sign extension ! 4271: when trying to widen comparison. ! 4272: ! 4273: Sun Aug 23 18:58:33 1992 Richard Stallman ([email protected]) ! 4274: ! 4275: * fold-const.c (fold): Avoid the normal STRIP_NOPS on arg of NOP_EXPR. ! 4276: ! 4277: Sun Aug 23 15:32:03 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 4278: ! 4279: * stmt.c (expand_end_bindings): Generation of NOTE_INSN_BLOCK_END ! 4280: moved down so that it occurs after call to `expand_cleanups'. ! 4281: ! 4282: Sun Aug 23 16:24:32 1992 Michael Meissner ([email protected]) ! 4283: ! 4284: * decrose.h (CPP_SPEC): Don't define strcmp as __builtin_strcmp in ! 4285: the case neither -fbuiltin nor -fno-builtin were defined. ! 4286: * i386rose.h (CPP_SPEC): Ditto. ! 4287: ! 4288: Sun Aug 23 02:03:41 1992 Richard Stallman ([email protected]) ! 4289: ! 4290: * libgcc2.c (__builtin_new): Cast the result of malloc. ! 4291: ! 4292: * toplev.c: Fix typo in prev change. ! 4293: ! 4294: * c-decl.c (insert_block, delete_block): New functions. ! 4295: * c-parse.y (primary, using compstmt): Call delete_block ! 4296: instead of clearing TREE_USED. ! 4297: * expr.c (expand_expr): For BIND_EXPR, call insert_block on the block. ! 4298: ! 4299: Sat Aug 22 14:12:02 1992 Richard Stallman ([email protected]) ! 4300: ! 4301: * configure: Use absolute pathname in value of INSTALL. ! 4302: ! 4303: Sat Aug 22 06:42:39 1992 Tom Wood ([email protected]) ! 4304: ! 4305: * emit-rtl.c (insn_emit_once): Provide a zero constant for CC modes. ! 4306: ! 4307: Fri Aug 21 18:33:30 1992 Jeffrey A. Law ([email protected]) ! 4308: ! 4309: * reorg.c (fill_simple_delay_slots): Always try to fill empty ! 4310: delay slots with insns from beyond the delay insn, even if ! 4311: optimize_skip was attempted. ! 4312: (fill_simple_delay_slots): When filling with insns from after the ! 4313: delay insn, make sure to always account for the sets and ! 4314: references in the delay insn. ! 4315: ! 4316: Fri Aug 21 16:47:06 1992 Richard Stallman ([email protected]) ! 4317: ! 4318: * sparc.c (print_operand): Use output_operand_error for unknown code. ! 4319: ! 4320: * c-typeck.c (build_conditional_expr): Use TREE_READONLY and ! 4321: TREE_THIS_VOLATILE, not TYPE_... ! 4322: ! 4323: Fri Aug 21 14:02:20 1992 James Van Artsdalen (james at bigtex.cactus.org) ! 4324: ! 4325: * reload.c (find_dummy_reload): Restore original RTX instead of ! 4326: passed IN rtx. ! 4327: ! 4328: Fri Aug 21 07:53:12 1992 Richard Kenner ([email protected]) ! 4329: ! 4330: * optabs.c (expand_binop): If, e.g., mulqi3 doesn't exist, try ! 4331: mulqihi3. ! 4332: ! 4333: * rs6000.h (FUNCTION_ARG): Don't make an EXPR_LIST if making a libcall. ! 4334: ! 4335: * combine.c (subst): Move up test for too many restarts. ! 4336: If we restart, clear OP0_MODE since we don't know it. ! 4337: ! 4338: Fri Aug 21 02:11:43 1992 Richard Stallman ([email protected]) ! 4339: ! 4340: * emit-rtl.c (emit_insns_after): New function. ! 4341: ! 4342: Fri Aug 21 01:53:04 1992 Jeffrey A. Law ([email protected]) ! 4343: ! 4344: * pa.md (call_value+1): For non-dynamic calls, use the "call" ! 4345: attribute, set length to 1, and fix output template to work ! 4346: properly with delay slots. ! 4347: ! 4348: * pa.md (address and use_call_clobbered attributes): Deleted, ! 4349: these attributes are useless. All references deleted. ! 4350: (call define delay): Use "in_branch_delay" as the condition since ! 4351: "call" delay slots and unconditional "branch" delay slots allow the ! 4352: same type of insns. ! 4353: (in_call_delay conditional): Deleted. ! 4354: (branch define delay): Do not define an annul-if-true delay slot. ! 4355: It is useless for an unconditional branch. ! 4356: (all delay branch conditionals): Make sure "call", "dyncall", "multi", ! 4357: and "milli" insns are explicitly disallowed in delay slots. ! 4358: ! 4359: * pa.c (output_mul_insn): Delete nop after branch in template, ! 4360: conditionally emit a nop if the delay slot was not filled. (via %#) ! 4361: ! 4362: * pa.c (output_function_prologue): Handle profiling in a function ! 4363: without a frame pointer. ! 4364: ! 4365: Thu Aug 20 16:16:40 1992 Tom Wood ([email protected]) ! 4366: ! 4367: * va-m88k.h (__INT_VARARGS_H): Define this to avoid trouble on DG/UX. ! 4368: ! 4369: Thu Aug 20 11:07:26 1992 Michael Meissner ([email protected]) ! 4370: ! 4371: * final.c: Move include of stdio.h before output.h. ! 4372: ! 4373: Thu Aug 20 01:08:55 1992 Pat Rankin (rankin at eql.caltech.edu) ! 4374: ! 4375: Support for bootstrapping cpp & cc1 with VAX C under VMS. ! 4376: ! 4377: * xm-vax-vms.h (USE_C_ALLOCA,NO_STAB_H): Define for VAXC. ! 4378: (bcopy,bzero,bcmp,index,rindex): Define as ANSI/SYSV counterparts. ! 4379: (QSORT_WORKAROUND, qsort): New macros, for avoiding buggy ! 4380: qsort in VAXCRTL library. ! 4381: (check_for_full_enumeration_handling,...): Use macros to shorten ! 4382: several external names which are longer than 31 characters to ! 4383: avoid warnings about truncation. ! 4384: (unlink): Remove redundant definition. ! 4385: * vax.c (not_qsort): New function. ! 4386: * cccp.c (toplevel: create_definition): Move forward declaration ! 4387: past the definition of struct macrodef. ! 4388: (strncat): New function. ! 4389: (bcopy, bzero, bcmp): Remove #if VMS code--always use inline C loops. ! 4390: * genrecog.c, reload1.c: Compare enums (preds. codes, mem_mode) ! 4391: explicitly to 0 in conditionals to work-around a VAXC bug that ! 4392: disallows enum as arguments to && and || operators. ! 4393: * getpwd.c (getpwd): Add alternative defn for VMS. ! 4394: * toplev.c (environ): Make declaration conditional. ! 4395: (main: -g debugging setup): Get rid of \ in #if condition. ! 4396: * make-cccp.com,make-cc1.com (CC,CFLAGS,LIBS): Add commented command ! 4397: variants for bootstrapping gcc-cpp and gcc-cc1 with VAXC. ! 4398: * make-cccp.com (alloca): Build alloca.obj from alloca.c if LIBS needs it. ! 4399: ! 4400: Not yet installed: ! 4401: ! 4402: * machmode.h (FILE_TYPE): For VMS, make sure FILE_TYPE is not ! 4403: defined as a macro, so that VAXC's <stdio.h> won't break tree.h. ! 4404: * genemit.c (gen_exp): #if VAXC, output a newline in front of ! 4405: gen_rtx calls, to prevent excessively long lines in insn-emit.c. ! 4406: ! 4407: Thu Aug 20 11:32:18 1992 Michael Tiemann ([email protected]) ! 4408: ! 4409: * cp-tree.h: Fix incorrect comment about "$this" needing to ! 4410: be lexicographically less than any other identifier. ! 4411: ! 4412: Thu Aug 20 05:37:00 1992 Richard Kenner ([email protected]) ! 4413: ! 4414: * a29k.md (load_multiple): Operand 2 should be a MATCH_OPERAND. ! 4415: (store_multiple_{,no_}bug): Likewise. ! 4416: ! 4417: * reorg.c (mark_set_resources): Fix two bugs in last change. ! 4418: ! 4419: * expr.c (init_expr_once): Set direct_load and direct_store if SOME ! 4420: hard register can be loaded or stored; not just if the first one ! 4421: we pick can be. ! 4422: ! 4423: Thu Aug 20 01:40:43 1992 Richard Stallman ([email protected]) ! 4424: ! 4425: * combine.c, emit-rtl.c, final.c, gcc.c, genattrtab.c, mips-tfile.c: ! 4426: Put include of stdio.h after GCC header files ! 4427: (for i860-stardent-sysv4). ! 4428: * tree.c: Likewise. ! 4429: ! 4430: * fixincludes (stdio.h): Rename va_list to __va_list__ to coexist ! 4431: with gvarargs.h. ! 4432: ! 4433: Wed Aug 19 21:06:49 1992 Jim Wilson ([email protected]) ! 4434: ! 4435: * cccp.c (finclude): Increment indepth before calling ! 4436: trigraph_pcp, so that warning uses the correct file name. ! 4437: ! 4438: Wed Aug 19 07:07:41 1992 Richard Kenner ([email protected]) ! 4439: ! 4440: * combine.c (force_to_mode): Add missing test of and_optab. ! 4441: ! 4442: * genconfig.c (have_cmove_flag): New variable. ! 4443: (walk_insn_part): Add new parm NON_PC_SET_SRC; all callers change. ! 4444: Look for IF_THEN_ELSE in a SET_SRC that isn't setting PC and ! 4445: set have_cmove_flag if so. ! 4446: (main): Define HAVE_conditional_move if have_cmove_flag is non-zero. ! 4447: * combine.c (subst, case AND): Only make IF_THEN_ELSE if conditional ! 4448: moves exist. ! 4449: ! 4450: * cse.c (find_comparison_args): Look for comparison operations ! 4451: if the second arg is 0 in any mode. ! 4452: (record_jump_cond): Don't make classes equivalent for floating-point ! 4453: equality comparison. ! 4454: ! 4455: * local-alloc.c (alloc_qty_for_scratch, block_alloc): Provide ! 4456: alternate code in some cases when REGISTER_CONSTRAINTS is not ! 4457: defined. ! 4458: (requires_inout_p): Only used when REGISTER_CONSTRAINTS is defined. ! 4459: ! 4460: * reorg.c (mark_set_resources): Add new parm IN_DEST; add callers ! 4461: changed. ! 4462: Rework to scan an entire insn to look for auto-inc operations. ! 4463: ! 4464: * unroll.c (copy_loop_body): Add missing declaration of EXIT_LABEL ! 4465: parameter. ! 4466: ! 4467: * function.c (instantiate_decl): New function. ! 4468: (instantiate_decls{,_1}): Call it. ! 4469: ! 4470: * combine.c (simplify_comparison): Add a few more cases where we can ! 4471: do the comparison in a wider mode. ! 4472: ! 4473: * combine.c (distribute_notes, REG_EQUAL): Don't put back a note ! 4474: with a non-constant expression since it may no longer be valid. ! 4475: ! 4476: Tue Aug 18 23:07:33 1992 Mike Stump ([email protected]) ! 4477: ! 4478: * expr.c (expand_expr): The first expansion of a TARGET_EXPR ! 4479: is marked by DECL_RTL (slot) being filled in AND TREE_OPERAND ! 4480: (exp, 1) being wiped-out with a NULL_TREE, not just the ! 4481: DECL_RTL (slot) being filled in. ! 4482: ! 4483: Tue Aug 18 00:07:23 1992 Dennis P. Glatting ([email protected]) ! 4484: ! 4485: * objc-actions.c ! 4486: (build_selector_translation_table): NULL-terminate the ! 4487: selector list. Mark _OBJC_SELECTOR_REFERENCES_decl as static, ! 4488: not extern. ! 4489: ! 4490: Tue Aug 18 21:38:46 1992 Mike Stump (mrs@hal) ! 4491: ! 4492: * xcoffout.c (assign_type_number): Skip decls with no name. ! 4493: ! 4494: * expr.c (expand_expr): When expanding TARGET_EXPRs, make sure ! 4495: that they are only expanded once, after the first expansion, ! 4496: the rtl can be used without further expansions. ! 4497: ! 4498: Tue Aug 18 12:58:33 1992 Richard Stallman ([email protected]) ! 4499: ! 4500: * x-i386sco (X_CFLAGS): Defined. ! 4501: ! 4502: * stmt.c (expand_return): Call emit_queue in ignore-the-value case. ! 4503: (expand_end_bindings): Check DECL_IN_SYSTEM_HEADER for unused warnings. ! 4504: ! 4505: * combine.c (simplify_comparison): ! 4506: Rearrange conditional in SUBREG case. ! 4507: ! 4508: Tue Aug 18 06:49:43 1992 Tom Wood ([email protected]) ! 4509: ! 4510: * cccp.c (HOST_WIDE_INT): Copy definition from machmode.h. ! 4511: ! 4512: * c-typeck.c (parser_build_binary_op): Replace the assignment of CLASS. ! 4513: ! 4514: * configure (Makefile edits): Make the edits independent. ! 4515: * Makefile.in (sed marker): Use the order {target, host, cross-make}. ! 4516: ! 4517: Tue Aug 18 00:15:12 1992 Richard Stallman ([email protected]) ! 4518: ! 4519: * c-typeck.c (parser_build_binary_op): ! 4520: For Z<Y<Z warning, test class of CODE; don't use TREE_CODE (result). ! 4521: ! 4522: * cccp.c (pcfinclude): Use HOST_WIDE_INT for rounding a pointer. ! 4523: ! 4524: Mon Aug 17 14:57:18 1992 Richard Stallman ([email protected]) ! 4525: ! 4526: * c-typeck.c (digest_init): Test TREE_TYPE (inside_init) is ! 4527: nonzero before testing anything else about it. ! 4528: ! 4529: * i860.md (mulsi3): Use emit_insn on results of gen fcns. ! 4530: Return with DONE. ! 4531: ! 4532: Mon Aug 17 11:50:23 1992 Mark Eichin ([email protected]) ! 4533: ! 4534: * cccp.c (do_include): If search_start is NULL, complain that ! 4535: we had nowhere to look. ! 4536: ! 4537: Mon Aug 17 14:53:46 1992 Jim Wilson ([email protected]) ! 4538: ! 4539: * function.c (assign_parms): When copy arg passed by invisible ! 4540: reference to pseudo reg, don't use nominal_mode. ! 4541: ! 4542: * i960.c (i960_address_cost): Don't abort for invalid addresses. ! 4543: ! 4544: Mon Aug 17 14:29:33 1992 Richard Stallman ([email protected]) ! 4545: ! 4546: * c-typeck.c (digest_init): ! 4547: Use TYPE_MAIN_VARIANT comparing type of inside_init. ! 4548: ! 4549: Mon Aug 17 10:32:08 1992 Michael Meissner ([email protected]) ! 4550: ! 4551: * genattrtab.c (simplfy_with_current_value): Return 'exp' to ! 4552: caller instead of random value. ! 4553: (convert_set_attr_alternative): Delete unused variable newexp. ! 4554: (simplify_cond): Delete unused variable spacer. ! 4555: (make_alternative_compare): Delete unused variable alternative. ! 4556: (optimize_attr): Delete unused variable nextie. ! 4557: (main): Delete unused variable av. ! 4558: (simplify_by_alternatives): #if 0, since the only caller is also ! 4559: #ifdef'ed away. ! 4560: (copy_rtx_unchanging): #if 0 variables that are only used inside ! 4561: of other code under #if 0. ! 4562: ! 4563: Mon Aug 17 07:37:41 1992 Richard Kenner ([email protected]) ! 4564: ! 4565: * a29kunix.h (LINK_SPEC): Add %s for default.ld. ! 4566: (LINK_LIBGCC_SPECIAL): No longer needed. ! 4567: (ASM_FILE_STARY): Add shared data section. ! 4568: (SHARED_SECTION_ASM_OP): New macro. ! 4569: (OVERRIDE_OPTIONS): If -fshared-data, add -fno-common. ! 4570: ! 4571: * alpha.c (alpha_function_needs_gp): New variable. ! 4572: (output_prolog): Set it. ! 4573: Write label after LDGP if function has recursive call and needs GP. ! 4574: (current_function_operand, divmod_operator, alpha_gp_dead_after): ! 4575: New functions. ! 4576: (print_operand, case 'E', 'F'): New cases. ! 4577: (alpha_need_gp): Just test for type of LDSYM, not CALL_INSN. ! 4578: * alpha.h (GO_IF_LEGITIMATE_ADDRESS): Allow a SYMBOL_REF for ! 4579: the current function as a valid address. ! 4580: * alpha.md (divXi3, udivXi3, modXi3, umodXi3): New patterns. ! 4581: (cmov): Add pattern for addq/cmov for signed divide by power of 2. ! 4582: (call): Omit GP restore if it is dead. ! 4583: Add patterns for recursive calls. ! 4584: (branch): Change type of everything but calls to IBR. ! 4585: (unaligned_storehi): Fix numbering of operands. ! 4586: * xm-alpha.h (malloc, realloc, sbrk): Declare as void * if __STDC__. ! 4587: ! 4588: * libgcc2.c (builtin_new): Remove declaration of malloc. ! 4589: ! 4590: * expmed.c (expand_mult): Bound second synth_mult cost by cost of ! 4591: algorithm from first call. ! 4592: ! 4593: * expmed.c (expand_divmod): When doing logical operations, the size ! 4594: of COMPUTE_MODE should be used, not MODE. ! 4595: ! 4596: * combine.c (struct undo, struct undo_int): Replace non-portable ! 4597: usage with some unions. ! 4598: (SUBST, SUBST_INT, undo_all, gen_rtx_combine): Make consistent ! 4599: with new definitions. ! 4600: ! 4601: * fold-const.c (fold): Move conversion back outside of COND_EXPR ! 4602: if moving it inside didn't help anything. ! 4603: ! 4604: * fold-const.c (div_and_round_double): Change some more ints ! 4605: to HOST_WIDE_INTs. ! 4606: ! 4607: * jump.c (jump_optimize): Allow SUBREG in many places where REG ! 4608: is allowed. ! 4609: ! 4610: * expr.c (expand_expr, case COMPONENT_REF): Don't actually do ! 4611: extraction from memory if we want address. ! 4612: ! 4613: * expr.c (emit_block_move): Fix problems in last change. ! 4614: ! 4615: Mon Aug 17 03:37:10 1992 Richard Stallman ([email protected]) ! 4616: ! 4617: * collect2.c (is_ctor_dtor): Don't collect cfront init fcns. ! 4618: ! 4619: * Makefile.in (GCC_FOR_TARGET): Put -B./ here. ! 4620: (GCC_CFLAGS): Not here. ! 4621: ! 4622: Sun Aug 16 10:38:10 1992 Torbjorn Granlund ([email protected]) ! 4623: ! 4624: * ns32k.c (print_operand_address): Fix typo. ! 4625: ! 4626: Sat Aug 15 20:23:39 1992 Richard Stallman ([email protected]) ! 4627: ! 4628: * cccp.c (PTR_INT_TYPE): Don't define this. ! 4629: (pcfinclude): Use int, not PTR_INT_TYPE. ! 4630: ! 4631: Sat Aug 15 11:10:07 1992 Michael Meissner ([email protected]) ! 4632: ! 4633: * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used, use ! 4634: %u rather than %g so each object filename will be unique. ! 4635: * decrose.h (ASM_FINAL_SPEC): Ditto. ! 4636: ! 4637: * x-decrose (CLIB, X_CFLAGS): Don't link in libbsd.a, instead use ! 4638: -Dvfork=fork on the command line. ! 4639: * x-encrose (CLIB, X_CFLAGS): Ditto. ! 4640: * x-i386rose (CLIB, X_CFLAGS): Ditto. ! 4641: ! 4642: Sat Aug 15 06:36:15 1992 Richard Kenner ([email protected]) ! 4643: ! 4644: * cccp.c: Remove declaration of malloc and realloc. ! 4645: ! 4646: * combine.c (get_last_value): Don't go past a CODE_LABEL when ! 4647: searching for a value. ! 4648: ! 4649: * expr.c (convert_move): Copy SUBREG to REG in one more case. ! 4650: ! 4651: * expr.c (do_jump*): Always do comparison in object's signedness ! 4652: now that combine can remove extraneous sign extends. ! 4653: ! 4654: Sat Aug 15 00:52:08 1992 Richard Stallman ([email protected]) ! 4655: ! 4656: * fixincludes (ansi_compat.h): Replace this with an empty file. ! 4657: ! 4658: * gcc.c (process_command): In second loop over all switches, ! 4659: don't increment I for switches that don't have separate arguments. ! 4660: ! 4661: * cccp.c: Don't ever include stddef.h. ! 4662: (append_include_chain): Avoid using size_t. ! 4663: (initialize_builtins): Output defn of __WCHAR_TYPE__ just once. ! 4664: ! 4665: * ns32k.md (movstrsi1): Renamed from movstrsi. ! 4666: (movstrsi): New define_expand. ! 4667: ! 4668: Fri Aug 14 18:51:57 1992 Jim Wilson ([email protected]) ! 4669: ! 4670: * sched.c (attach_deaths_insn): Don't call attach_deaths for CLOBBERs. ! 4671: ! 4672: Fri Aug 14 18:47:22 1992 Tom Wood ([email protected]) ! 4673: ! 4674: * genattr.c (write_units): Write #defines for the number of ! 4675: function units, the min/max ready cost and min/max busy delay. ! 4676: Add max_busy_cost field to struct function_unit_desc. ! 4677: ! 4678: * genattrtab.c (simplify_by_exploding, find_and_mark_used_attributes, ! 4679: unmark_used_attributes, add_values_to_cover, increment_current_value, ! 4680: test_for_current_value, simplify_with_current_value, ! 4681: simplify_with_current_value_aux): New functions. ! 4682: (struct function_unit): Add max_busy_cost, {min,max}_busy_delay. ! 4683: (expand_units): Use simplify_by_exploding to simplify the ! 4684: function_units_used attribute. Compute the ready cost attributes ! 4685: as a COND in numeric order. ! 4686: (gen_unit): Compute {min,max}_ready_cost and {min,max}_busy_delay. ! 4687: (write_function_unit_info): Determine if there is only one busy ! 4688: delay value by comparing the minimum and maximum busy delay. ! 4689: Write the initializer for function_units in numeric order. ! 4690: Write out the maximum busy delay field. ! 4691: ! 4692: * genattrtab.c (attr_desc): Add negative_ok field. ! 4693: (find_attr, make_internal_attr): Initialize negative_ok. ! 4694: (check_attr_value): Allow negative values for CONST_STRING for ! 4695: numeric attributes with negative_ok. ! 4696: (encode_units_mask): Change the encoding of the function_units_used ! 4697: result. ! 4698: ! 4699: * gcc.c (do_spec_1): Add %u. ! 4700: (default_compilers): For output of as when -c is not used, use %u ! 4701: rather than %g so each object filename will be unique. ! 4702: ! 4703: * cexp.y, cccp.c, gcc.c (NULL_PTR): Use the same definition as ! 4704: rtl.h and tree.h. ! 4705: ! 4706: Fri Aug 14 20:53:00 1992 Paul Eggert ([email protected]) ! 4707: ! 4708: * c-decl.c (grokdeclarator): Remove duplicate diagnostic for ! 4709: initialized parameters; start_decl already does this. ! 4710: ! 4711: * c-common.c (truthvalue_conversion): Optionally warn if an ! 4712: unparenthesized assignment is used as a truth value. ! 4713: * c-parse.y, objc-parse.y (expr_no_commas): ! 4714: Mark assignments for warning. ! 4715: ! 4716: Fri Aug 14 14:45:39 1992 Richard Stallman ([email protected]) ! 4717: ! 4718: * vax.md (casesi1): Renamed from casesi. ! 4719: (casesi): New trivial define_expand invokes casesi1. ! 4720: (movstrhi, movstrhi1): Analogous change. ! 4721: ! 4722: Fri Aug 14 14:36:52 1992 Tom Wood ([email protected]) ! 4723: ! 4724: * reload.c (find_reloads): Ignore `%' in the last operand after ! 4725: warning. ! 4726: ! 4727: Fri Aug 14 07:41:34 1992 Richard Kenner ([email protected]) ! 4728: ! 4729: * genflags.c (num_operands): MATCH_PARALLEL also represents an operand. ! 4730: ! 4731: * jump.c (invert_exp, redirect_exp): No longer static. ! 4732: Clean up order of declarations at start of file and remove ! 4733: extraneous decls. ! 4734: * unroll.c (copy_loop_body): Don't assume (pc) can be on either ! 4735: leg of jump; use invert_exp and redirect_exp instead. ! 4736: ! 4737: * alpha.c, alpha.h, alpha.md, xm-alpha.h, x-alpha, va-alpha.h: ! 4738: New files. ! 4739: * config.sub: Add "alpha". ! 4740: * configure: Likewise. ! 4741: * Makefile.in (USER_H): Add va-alpha.h and sort names. ! 4742: * gstdarg.h, gvarargs.h: Call va-alpha.h for Alpha. ! 4743: ! 4744: * rtl.def (MATCH_PAR_DUP): New RTL code. ! 4745: * genconfig.c (walk_insn_part): Treat it just like MATCH_OP_DUP. ! 4746: * genemit.c (max_operand_1): Likewise. ! 4747: (gen_exp): Treat it like MATCH_PARALLEL here. ! 4748: * genextract.c (walk_rtx): Treat it like MATCH_DUP. ! 4749: * genoutput (scan_operands): Likewise. ! 4750: * genpeep.c (match_rtx): Likewise. ! 4751: * genrecog.c (add_to_sequence): Likewise. ! 4752: * a29k.md, rs6000.md ({load,store}_multiple): Use MATCH_PAR_DUP. ! 4753: ! 4754: * cse.c (fold_rtx): Fix typo in two FLOAT_STORE_FLAG_VALUE tests. ! 4755: ! 4756: * flow.c (life_analysis, propagate_block, dump_flow_info): Add more ! 4757: missing casts to REGSET_ELT_TYPE. ! 4758: ! 4759: * expr.c (movstr_optab): New variable. ! 4760: (init_expr_once): Initialize it. ! 4761: (emit_block_move): Rework code that generates movstrxx insns to ! 4762: check predicates and use an optab. ! 4763: ! 4764: * cse.c (simplify_unary_operation): Remove "else". ! 4765: ! 4766: Fri Aug 14 07:41:05 1992 Torbjorn Granlund ([email protected]) ! 4767: ! 4768: * c-decl.c, cse.c, fold-const.c, integrate.c, obstack.h, protoize.c, ! 4769: reload1.c, stmt.c, tree.c, tree.h: Phicks speling erours. ! 4770: ! 4771: Fri Aug 14 03:21:17 1992 Richard Stallman ([email protected]) ! 4772: ! 4773: * c-convert.c (convert): When converting to variant of same type, fold. ! 4774: ! 4775: * varasm.c (assemble_variable): Change error message for unknown size. ! 4776: ! 4777: * c-parse.y (declmods): Don't warn for multiple storage classes ! 4778: all at the beginning. This is either good practice or an error. ! 4779: ! 4780: Thu Aug 13 19:43:13 1992 Paul Eggert ([email protected]) ! 4781: ! 4782: * c-decl.c (finish_decl): Avoid cascading messages for tentative ! 4783: definitions with incomplete types. ! 4784: ! 4785: * c-typeck.c (process_init_constructor): Warn about partly ! 4786: bracketed initializers. ! 4787: ! 4788: Thu Aug 13 17:18:49 1992 Richard Stallman ([email protected]) ! 4789: ! 4790: * cccp.c (handle_directive): Output macro name if dump_names. ! 4791: ! 4792: * m68k.h: Delete junk line inserted by mistake in last patch. ! 4793: ! 4794: Thu Aug 13 16:46:58 1992 Tom Wood ([email protected]) ! 4795: ! 4796: * regclass.c (regclass): Don't scan the constraints if there aren't ! 4797: any operands. Don't look for a commutative constraint in the last ! 4798: operand. ! 4799: ! 4800: * function.c (contains): Return the number of insns. ! 4801: (reposition_prologue_and_epilogue_notes): Count all the prologue and ! 4802: epilogue insns. ! 4803: ! 4804: Thu Aug 13 15:20:24 1992 Jim Wilson ([email protected]) ! 4805: ! 4806: * m68k.h (TARGET_SWITCHES): Make -m68040 set 01007 not 01000. ! 4807: ! 4808: * sparc.h (CPP_SPEC): For -mv8, define __sparc_v8__ not __sparcv8__. ! 4809: * longlong.h (__sparclite__): Define umul_ppmm, udiv_qrnnd, and ! 4810: count_leading_zeros for this sparc architecture variant. ! 4811: (__sparc_v8__): Changed from __sparc8__. ! 4812: ! 4813: * c-typeck.c (build_component_ref): Don't warn for compound and ! 4814: conditional expressions when pedantic. These are valid in ANSI C. ! 4815: ! 4816: Thu Aug 13 11:37:57 1992 Jeffrey A. Law ([email protected]) ! 4817: ! 4818: * pa.c (output_function_prologue): Restore "rp" after the call to ! 4819: mcount. ! 4820: ! 4821: Thu Aug 13 06:54:50 1992 Torbjorn Granlund ([email protected]) ! 4822: ! 4823: * pa.md (movsf recognizer): Output `fcpy,sgl', not `fcpy'. ! 4824: From Jeff Law: ! 4825: * pa.md (zdepi in HImode): Move this pattern after the standard ! 4826: movhi patterns. ! 4827: ! 4828: Wed Aug 12 11:45:15 1992 Michael Meissner ([email protected]) ! 4829: ! 4830: * mips.h (ASM_FINAL_SPEC): For output of as when -c is not used, ! 4831: use %g, rather than %b, because the file is going to be deleted ! 4832: anyway (sync up with gcc.c Aug 4 changes). Patch from Jim Meyering. ! 4833: ! 4834: * decrose.h (ASM_FINAL_SPEC): Ditto. ! 4835: ! 4836: Wed Aug 12 03:23:30 1992 Richard Stallman ([email protected]) ! 4837: ! 4838: * fixincludes (finding all .h files): Look for links as well as ! 4839: ordinary files. ! 4840: ! 4841: * m68k.h (TARGET_68040): Test for 01000 or 0400. ! 4842: (TARGET_SWITCHES): Rename -m68040 to -m68020-40. ! 4843: Rename -m68040-only to -m68040. ! 4844: ! 4845: * hp2bsd.h (TARGET_DEFAULT): Make value 0. ! 4846: ! 4847: Tue Aug 11 04:23:35 1992 Paul Eggert ([email protected]) ! 4848: ! 4849: * fold-const.c (operand_equal_p): Make it clear that this function ! 4850: tests for indistinguishable values, not for equality as computed by ! 4851: `=='; the distinction is important for IEEE NaNs and -0.0. ! 4852: ! 4853: Tue Aug 11 13:10:47 1992 Fred Fish (fnf at fishpond) ! 4854: ! 4855: * config.sub (amigaunix/amix): Use sysv4 as os. ! 4856: * configure (m68k-*-amix*): Change to m68k-cbm-sysv4* and ! 4857: eliminate fixincludes and broken_install. ! 4858: ! 4859: Tue Aug 11 15:42:58 1992 Jim Wilson ([email protected]) ! 4860: ! 4861: * function.c (identify_blocks): Handle case where no block nodes ! 4862: exist. Use xmalloc not alloca for block_vector. ! 4863: (reorder_blocks): New argument top_block. Handle case where no ! 4864: block nodes exist. Always clear BLOCK_SUBBLOCKS (block) when ! 4865: adding it to the block tree. ! 4866: (all_blocks): Handle case where vector is zero. Store current ! 4867: block at offset 0 in vector, not n_blocks. Don't count current ! 4868: block twice in n_blocks. ! 4869: * function.h (identify_blocks): Declare. ! 4870: (rtx, tree): Move undefs to the very end. ! 4871: * loop.c (loop_optimize): Delete uses of loop_number_first_block, ! 4872: loop_number_last_block, loop_number_block_level. Correct call of ! 4873: find_loop_tree_blocks. Add call to unroll_block_trees. ! 4874: * loop.h (loop_number_first_block, loop_number_last_block, ! 4875: loop_number_block_level): Delete declarations. ! 4876: * stmt.c: Likewise. ! 4877: (find_loop_tree_blocks): Completely rewritten to use ! 4878: identify_blocks. ! 4879: (unroll_block_trees): Completely rewritten to use reorder blocks. ! 4880: * unroll.c (unroll_loop): Delete call to unroll_block_trees. ! 4881: ! 4882: * unroll.c (copy_loop_body): Only copy VTOP note if it will end up ! 4883: before a loop exit test. ! 4884: ! 4885: Tue Aug 11 09:21:47 1992 Michael Meissner ([email protected]) ! 4886: ! 4887: * mips.h (MIPS_VERSION): Bump meissner version # to 23. ! 4888: (CONST_CODES): Remove declaration for eliminate_constant_term ! 4889: from inside of local {}'s. ! 4890: (SELECT_SECTION_MODE): Remove declaration of variable ! 4891: mips_section_threshold from inside of local {}'s. ! 4892: (SELECT_SECTION): Ditto. ! 4893: ! 4894: * mips.c (toplevel): Remove declarations for all of the gen_xxx ! 4895: functions used, since insn-flags.h contains them. ! 4896: ! 4897: * mip.md (fixuns_truncdfsi2): Remove extern declarations. ! 4898: (fixuns_truncsfsi2): Ditto. ! 4899: (movsi_unaligned, movsi_ulw, movsi_usw): Ditto. ! 4900: (seq, sne, sgt, sle, sgtu, sleu): Ditto. ! 4901: ! 4902: Tue Aug 11 02:51:25 1992 Richard Stallman ([email protected]) ! 4903: ! 4904: * fixincludes (memory.h): Fix versions 1.2 and 1.3 as well as 1.4. ! 4905: ! 4906: * configure: Improve err msg for unknown config. ! 4907: ! 4908: Tue Aug 11 04:02:51 1992 Paul Eggert ([email protected]) ! 4909: ! 4910: * fold-const.c (fold): Don't fold (A op B ? A : C) if A is IEEE ! 4911: floating point, because A might be -0.0 or NaN. ! 4912: ! 4913: * c-typeck.c (parser_build_binary_op): Warn about expressions like ! 4914: `1<=i<=N'. ! 4915: ! 4916: Mon Aug 10 22:11:50 1992 Michael Meissner ([email protected]) ! 4917: ! 4918: * reload1.c (emit_reload_insns): Use gen_rtx to create a secondary ! 4919: reload insn, not gen_reg_rtx. ! 4920: ! 4921: Mon Aug 10 06:23:23 1992 Torbjorn Granlund ([email protected]) ! 4922: ! 4923: * pa.md (Recognizer for zdepi_operand in HImode): New pattern. ! 4924: (Recognizer for zdepi_operand in SImode): Call output_zdepi for ! 4925: output. ! 4926: (shift patterns and recognizers): Handle 32 bit ints and truncate ! 4927: them for output. ! 4928: * pa.c (output_zdepi): New function (contents from pa.md). ! 4929: * pa.h (output_zdepi): Declare. ! 4930: ! 4931: Sun Aug 9 17:10:24 1992 Pat Rankin ([email protected]) ! 4932: ! 4933: * configure.com: Rename vms to vax-vms; split long lines. ! 4934: * make-l2.com: Assemble libgcc2 routines twice, preserving ! 4935: lowercase function names the second time. ! 4936: ! 4937: Sun Aug 9 00:50:46 PDT 1992 Ron Guilmette (rfg at netcom.com) ! 4938: ! 4939: * final.c (final_scan_insn): Call dwarfout_begin_block and ! 4940: dwarfout_end_block even for -g1. ! 4941: ! 4942: Sun Aug 9 18:10:33 1992 Michael Meissner ([email protected]) ! 4943: ! 4944: * genflags.c (gen_insn): Treat 'call_pop' and 'call_value_pop' like ! 4945: 'call' and 'call_insn'. ! 4946: ! 4947: * i386.h (LEGITIMIZE_ADDRESS): Emit_move_insn only takes two ! 4948: arguments, not three. ! 4949: ! 4950: Sat Aug 8 10:26:02 1992 Michael Meissner ([email protected]) ! 4951: ! 4952: * cp-tree.h (hash_chainon): Provide declaration. ! 4953: (build_virtual_init): Ditto. ! 4954: (build_vbase_delete): Ditto. ! 4955: (build_vbase_vtables_init): Ditto. ! 4956: ! 4957: * genflags.c (insn_name_ptr): Define, so that we can link in ! 4958: print-rtl.c for debugging. ! 4959: (call_obstack, normal_obstack): New obstacks to remember call ! 4960: insns, and normal insns, so that we can emit the prototypes later. ! 4961: (max_id_len): New variable to record the maximum identifier ! 4962: length. ! 4963: (num_operands): New function to return the number MATCH_OPERAND's ! 4964: and MATCH_OPERATOR's in an insn tree. ! 4965: (gen_proto): New function to print out a prototype for an insn. ! 4966: (gen_nonproto): New function to print out a declaration without a ! 4967: prototype. ! 4968: (gen_insn): Don't emit function declarations here, just save the ! 4969: insn on either the call_obstack if it is call or call_value, or ! 4970: normal_obstack otherwise. ! 4971: (main): Initialize call_obstack, normal_obstack. After all insns ! 4972: are processed, emit function declarations with and without ! 4973: prototypes, depending on whether NO_MD_PROTOTYPES, and ! 4974: CALL_MD_PROTOTYPES are defined. ! 4975: ! 4976: * rtl.h (PROTO): If not defined, define to either expand ! 4977: prototypes or just expand to (), depending on whether or not, the ! 4978: host compiler supports ANSI C. ! 4979: (NULL_PTR): Define as void * if we have prototypes. ! 4980: (all function declarations): Add prototypes for all functions ! 4981: where it is feasible to do so, using the PROTO macro. ! 4982: (force_reg): Add declaration. ! 4983: (eliminate_constant_term): Ditto. ! 4984: (output_constant_def): If tree.h has been included, add prototype. ! 4985: (immed_real_const): Ditto. ! 4986: (immed_real_const_1): Ditto. ! 4987: (make_tree): Ditto. ! 4988: ! 4989: * tree.h (PROTO): If not defined, define to either expand ! 4990: prototypes or just expand to (), depending on whether or not, the ! 4991: host compiler supports ANSI C. ! 4992: (NULL_PTR): Define as void * if we have prototypes. ! 4993: (all function declarations): Add prototypes for all functions ! 4994: where it is feasible to do so, using the PROTO macro. Do not ! 4995: define prototypes for build_binary_op, or build_indirect_ref, ! 4996: since GNU C and GNU G++ have different numbers of arguments. Do ! 4997: not define prototypes for make_tree, since it takes a rtx as the ! 4998: argument, and rtl.h is included after tree.h. ! 4999: ! 5000: Sat Aug 8 07:36:19 1992 Tom Wood ([email protected]) ! 5001: ! 5002: * cp-lex.c: Include stdlib.h and locale.h if needed. ! 5003: (errno): Declare only if it isn't a macro. ! 5004: * cp-tree.c (__eprintf): `line' is unsigned. ! 5005: * cp-typeck.c (mark_addressable): Use DECL_EXTERNAL not TREE_EXTERNAL. ! 5006: ! 5007: Fri Aug 7 00:16:28 1992 Richard Stallman ([email protected]) ! 5008: ! 5009: * gcc.c (read_specs): Cast args of xmalloc and read to unsigned. ! 5010: ! 5011: * final.c (final_scan_insn): Use ASM_OUTPUT_ADDR_DIFF_ELT ! 5012: and ASM_OUTPUT_ADDR_VEC_ELT only if defined. ! 5013: ! 5014: Thu Aug 6 22:00:13 1992 Jim Wilson ([email protected]) ! 5015: ! 5016: * sched.c (true_dependence): An unchanging read is guaranteed ! 5017: independent of a store only if the store is not unchanging. ! 5018: (anti_dependence): Added comment about unchanging reads. ! 5019: (sched_analyze_2): Don't ignore unchanging reads, they may be ! 5020: dependent on unchanging writes. ! 5021: ! 5022: * sparc.md: Correct DEFINE_SPLITs added Jul 27. They would ! 5023: overwrite the input register if it was the same as the result reg. ! 5024: ! 5025: Thu Aug 6 16:25:48 1992 Jeffrey A. Law ([email protected]) ! 5026: ! 5027: * pa.h (ASM_FILE_START): If profiling IMPORT "_mcount" instead of ! 5028: "__gcc_mcount". ! 5029: ! 5030: * These changes allow the PA to make use of the BSS subspace. They ! 5031: require you to use the HPUX assembler or a fixed version of pa-gas ! 5032: (available soon on jaguar.cs.utah.edu). ! 5033: * pa.h (TARGET_SWITCHES): New switch "no-bss" which forces gcc not ! 5034: to make use of the bss subspace. (For compatability with old buggy ! 5035: versions of pa-gas.) ! 5036: (ASM_FILE_START): Add $BSS$ subspace. ! 5037: (BSS_SECTION_ASM_OP): New macro which tells the assembler to switch ! 5038: to the bss subspace. ! 5039: (EXTRA_SECTIONS): Define in_bss as an extra section. ! 5040: (EXTRA_SECTION_FUNCTIONS): Define "bss_section" function to switch ! 5041: into the bss subspace. ! 5042: (ASM_OUTPUT_COMMON): If !TARGET_NO_BSS, then place commons into the ! 5043: bss subspace. ! 5044: (ASM_OUTPUT_LOCAL): Likewise. ! 5045: ! 5046: Thu Aug 6 13:04:16 1992 Tim Moore ([email protected]) ! 5047: ! 5048: * gvarargs.h : Check hp800 symbol too for the hppa case. ! 5049: * va-pa.h : Rewrite to be compatible with hpux. ! 5050: * pa.c (hppa_builtin_saveregs): Rewrite. ! 5051: (secondary_reload_class): Bug fix. ! 5052: (arith32_operand): New function. ! 5053: ! 5054: Wed Aug 5 11:23:05 1992 Tom Wood ([email protected]) ! 5055: ! 5056: * m88k.h (EXTRA_SECTIONS, svr3): Delete empty definitions for ! 5057: CTORS_SECTION_FUNCTION and DTORS_SECTION_FUNCTION. Add in_ctors ! 5058: and in_dtors. ! 5059: ! 5060: Tue Aug 4 23:54:15 1992 Richard Stallman ([email protected]) ! 5061: ! 5062: * gcc.c (default_compilers): For output of as when -c is not used, ! 5063: use %g, rather than %b, because the file is going to be deleted ! 5064: anyway. ! 5065: ! 5066: Tue Aug 4 20:30:12 1992 Michael Meissner ([email protected]) ! 5067: ! 5068: * cp-decl.c (grokdeclarator): Call build_type_variant to set const ! 5069: and volatile flags, since build_reference_type does not take those ! 5070: arguments. ! 5071: ! 5072: * cp-parse.y (attribute processing): Correctly call tree_cons with ! 5073: three arguments, passing NULL_TREE for the chain argument. ! 5074: ! 5075: * cp-tree.h (hash_chainon): Add declaration for this function. ! 5076: (build_virtual_init): Ditto. ! 5077: (build_vbase_delete): Ditto. ! 5078: (build_vbase_vtables_init): Ditto. ! 5079: ! 5080: * cp-typeck.c (build_modify_expr_1): Pass 0 as third argument to ! 5081: build_unary_op. ! 5082: (build_modify_expr): Ditto. ! 5083: ! 5084: Tue Aug 4 18:10:46 1992 Mike Stump ([email protected]) ! 5085: ! 5086: * cp-tree.h, tree.h: Moved definitions of TREE_VIA_* into tree.h for ! 5087: consistency. ! 5088: ! 5089: Tue Aug 4 17:35:32 1992 Mike Stump ([email protected]) ! 5090: ! 5091: Complete 10th FSF <---> Cygnus merge. ! 5092: ! 5093: Tue Aug 4 12:58:59 1992 Mike Stump ([email protected]) ! 5094: ! 5095: * cp-decl.c (pushtag): Don't set DECL_IGNORED_P for binding ! 5096: layer markers, use only DECL_SOURCE_LINE == 0, as otherwise, ! 5097: it messes up dbxout.c. ! 5098: ! 5099: Tue Aug 4 11:59:36 1992 Mike Stump ([email protected]) ! 5100: ! 5101: Tue Aug 4 13:43:55 1992 Chip Salzenberg ([email protected]) ! 5102: ! 5103: * cp-method.c (hack_identifier): Remove redundant call of ! 5104: assemble_external. ! 5105: ! 5106: Tue Aug 4 10:23:02 1992 Chip Salzenberg ([email protected]) ! 5107: ! 5108: * cp-decl.c (pushdecl): Any kind of DECL should be good enough ! 5109: at global scope, not just a TEMPLATE_DECL. ! 5110: ! 5111: Sun Aug 2 21:12:55 1992 david d `zoo' zuhn (zoo at cirdan.cygnus.com) ! 5112: ! 5113: * cp-tree.c: change definition of __eprintf to match libgcc2.c and ! 5114: assert.h ! 5115: ! 5116: Fri Jul 31 16:53:26 1992 Mike Stump ([email protected]) ! 5117: ! 5118: * cp-tree (break_out_calls): Only make ony copy of a node on ! 5119: 's' and 'e' nodes. Handle 'r' just like 's' and 'e' because ! 5120: nodes of type 'r' can be of different sizes (the old code ! 5121: would do the wrong thing for a COMPONENT_REF). ! 5122: ! 5123: Thu Jul 30 11:46:14 1992 Michael Tiemann ([email protected]) ! 5124: ! 5125: * cp-init.c (emit_base_init): Set transparent basetypes (those w/o ! 5126: ctors) as marked if we need to walk up the tree to find a ctor. ! 5127: ! 5128: Wed Jul 29 03:25:51 1992 Michael Tiemann ([email protected]) ! 5129: ! 5130: * cp-decl.c (grokdeclarator): In SCOPE_REF case, sort out visibility ! 5131: declarations from other declarations, since the compiler will ! 5132: ultimately handle them differently. This is a part of the solution ! 5133: to p525. ! 5134: (finish_method): Tentative (and probably wrong) fix for carrying ! 5135: along inline methods delcared within a class that really belong to ! 5136: nested classes of the class. This may be more of the solution to ! 5137: p525. ! 5138: ! 5139: * cp-init.c (build_offset_ref): Use IDENTIFIER_TYPE_VALUE of CNAME ! 5140: when CURRENT_CLASS_DECL is 0. ! 5141: ! 5142: * cp-class.c (finish_struct): Don't give errors for TYPE_DECLs in a ! 5143: struct that are really only meant for FIELD_DECLs. ! 5144: ! 5145: Tue Jul 28 23:36:58 1992 Mike Stump ([email protected]) ! 5146: ! 5147: * cp-decl.c (grok_op_properties): Do not core dump on parse errors. ! 5148: ! 5149: Tue Jul 28 22:43:12 1992 Mark Eichin ([email protected]) ! 5150: ! 5151: * cp-pt.c (end_template_instantiation) YYDEBUG is now defined in ! 5152: cp-parse.h -- so don't assume that it's -2 (since under byacc it is ! 5153: -1 anyway.) iomanip.C compiles again. ! 5154: ! 5155: Tue Jul 28 22:33:46 1992 Mike Stump ([email protected]) ! 5156: ! 5157: * cp-typeck.c (build_c_cast): Allow cast to array type in ! 5158: some situations to be more compatible with Cfront. ! 5159: ! 5160: Tue Jul 28 22:05:14 1992 Mark Eichin ([email protected]) ! 5161: ! 5162: * cp-parse.y (print_parse_statistics): don't reference TOKEN_LENGTH ! 5163: or REDUCE_LENGTH unless GATHER_STATISTICS is set. (YYDEBUG alone is ! 5164: not a sufficient condition.) ! 5165: ! 5166: Tue Jul 28 19:18:30 1992 Mike Stump ([email protected]) ! 5167: ! 5168: * cp-tree.c (break_out_calls): Don't do anything special to ! 5169: SAVE_EXPRs, as they cannot contain calls that would need ! 5170: breaking out. This fixes a problem introduced on Jul 15, by ! 5171: Ron Guilmette. ! 5172: ! 5173: Mon Jul 27 16:55:52 1992 Mike Stump ([email protected]) ! 5174: ! 5175: * c++: Fix errors introduced by rms. Bullet-proof handling ! 5176: of arguments with funny things in them such as newlines, ! 5177: spaces, tabs, single quotes, double quotes, etc... ! 5178: ! 5179: Mon Jul 27 15:03:23 1992 Ken Raeburn ([email protected]) ! 5180: ! 5181: * cp-init.c (build_vec_delete): Extract size of type even for ! 5182: destructorless types, so value can be computed to pass to delete ! 5183: operator. ! 5184: ! 5185: * Bludgeon interface/implementation code into leaving templates ! 5186: alone, until we've figured out how to handle their interaction ! 5187: properly: ! 5188: * cp-parse.y (template_instantiate_once): Temporarily set interface ! 5189: flags to `unknown' while processing member templates. ! 5190: * cp-decl.c (grokfndecl): Even if class vtable is getting written ! 5191: out, regardless of interface setting of class and write_virtuals ! 5192: flag, don't force virtual destructor of template class to be public. ! 5193: * cp-tree.h (struct pending_inline): New field `interface'. ! 5194: * cp-lex.c (do_pending_inlines): Restore interface flags from stored ! 5195: values, rather than calling extract_interface_info. ! 5196: (process_next_inline): Likewise, if more pending inlines exist; else ! 5197: do call extract_interface_info. ! 5198: (reinit_parse_for_method): Save away interface flags. ! 5199: (cons_up_default_function): Ditto. ! 5200: * cp-pt.c (instantiate_template): Set saved interface flag to ! 5201: `unknown'. ! 5202: (end_template_instantiation): Set CLASSTYPE_INTERFACE_UNKNOWN. ! 5203: ! 5204: * cp-pt.c (instantiate_member_templates): Deleted some unused code. ! 5205: ! 5206: * cp-decl.c (grokfndecl): Make class methods public if ! 5207: `implementation' pragma is set. ! 5208: ! 5209: * cp-pt.c (pending_templates): No longer exported. ! 5210: (add_pending_template): Ditto. ! 5211: * cp-parse.y (primary): Don't check it; always call ! 5212: do_pending_templates. ! 5213: ! 5214: Fri Jul 24 14:22:39 1992 Mike Stump ([email protected]) ! 5215: ! 5216: * cp-decl.c (init_decl_processing, finish_function), ! 5217: cp-method.c (build_decl_overload, build_opfncall), cp-init.c ! 5218: (build_x_delete, build_delete, build_vec_delete): Add support ! 5219: for two argument delete to support ARM 12.5. In some cases, ! 5220: the argument is smaller than it should be. ! 5221: ! 5222: Thu Jul 23 08:12:16 1992 Mike Stump ([email protected]) ! 5223: ! 5224: * cp-lex.c: Update wide character handling from c-lex.c and make ! 5225: the type of multicharacter constants be int per ANSI C++ WP. ! 5226: ! 5227: * cp-decl.c (init_decl_processing, grokdeclarator), cp-lex.h, ! 5228: gplus.gperf, cp-lex.c (init_lex), cp-decl2.c (groktypefield), ! 5229: cp-method.c (build_overload_name): Add support for wchar_t as a ! 5230: distinct type to conform to x3j16 working paper. ! 5231: * cp-hash.h: Regenerated. ! 5232: ! 5233: Wed Jul 22 17:41:08 1992 Mark Eichin ([email protected]) ! 5234: ! 5235: * cp-parse.y (structsp): note_got_semicolon was called before ! 5236: finish_struct (which always clears the got_semicolon bit.) However, ! 5237: note_got_semicolon was only called if yychar==';', without checking ! 5238: for YYEMPTY. ! 5239: ! 5240: Tue Jul 21 22:59:32 1992 Michael Tiemann ([email protected]) ! 5241: ! 5242: * cp-typeck.c (mark_addressable): If we have a recursive call to an ! 5243: otherwise inline function, clear TREE_EXTERNAL so the whole function ! 5244: is written to the asm file. ! 5245: ! 5246: Tue Jul 21 05:31:10 1992 Ken Raeburn ([email protected]) ! 5247: ! 5248: * cp-tree.h (start_type_method): Deleted unused declaration. ! 5249: ! 5250: * cp-pt.c (tsubst): Fix propagation of qualifiers in several cases. ! 5251: ! 5252: * cp-pt.c (tsubst, case FUNCTION_DECL): Look for matches that differ ! 5253: only in return type. ! 5254: ! 5255: * cp-pt.c (tsubst, case FUNCTION_DECL): Rewrite name of ! 5256: type-conversion operators, in case the target type involves a ! 5257: template parameter. ! 5258: ! 5259: Mon Jul 20 03:35:44 1992 Michael Tiemann ([email protected]) ! 5260: ! 5261: * cp-class.c (add_virtual_function): Don't crash if ! 5262: CURRENT_CLASS_TYPE is NULL_TREE. ! 5263: * cp-decl2.c (grokfield): Ditto. ! 5264: ! 5265: Tue Aug 4 15:36:07 1992 Richard Stallman ([email protected]) ! 5266: ! 5267: * c-decl.c (finish_decl): Don't do expand_decl_init for FUNCTION_DECL. ! 5268: ! 5269: * c-typeck.c (build_conditional_expr): Merged const and volatile flags ! 5270: of incoming types. ! 5271: ! 5272: Tue Aug 4 11:15:47 1992 Chip Salzenberg ([email protected]) ! 5273: ! 5274: * c-decl.c (finish_struct): If bit field is of an unsigned ! 5275: type that promotes to int, promote it unsigned if traditional ! 5276: or if it is the same size as int. ! 5277: (start_function): Ditto for function return value. ! 5278: * c-typeck.c (default_conversion): Ditto -- fix bug that ! 5279: promotes short to unsigned if sizeof(short) == sizeof(int). ! 5280: ! 5281: Tue Aug 4 15:12:51 1992 Tom Wood ([email protected]) ! 5282: ! 5283: * svr3.h (USING_SVR3_H): Define. ! 5284: * svr4.h (USING_SVR4_H): Define. ! 5285: * aoutos.h (USING_AOUTOS_H): Define. ! 5286: * m88k.h (EXTRA_SECTIONS): Base on the above defines. ! 5287: ! 5288: Tue Aug 4 14:22:44 1992 Jim Wilson ([email protected]) ! 5289: ! 5290: * dbxout.c: Include output.h. ! 5291: ! 5292: Tue Aug 4 00:21:06 1992 Richard Stallman ([email protected]) ! 5293: ! 5294: * Makefile.in (install-common): Install protoize and related files ! 5295: if they were compiled. ! 5296: (install-proto): Target deleted. ! 5297: (dbxout.o): Depend on output.h. ! 5298: ! 5299: Mon Aug 3 02:04:03 1992 Richard Stallman ([email protected]) ! 5300: ! 5301: * c-decl.c (finish_function): Test only can_reach_end for the warning ! 5302: about reaching the end of a non-void function. ! 5303: (poplevel): If apparently nested inline function has ! 5304: DECL_ABSTRACT_ORIGIN, don't output it; propagate TREE_ADDRESSABLE. ! 5305: (pushdecl): When copying inline details into an extern decl, ! 5306: copy DECL_RESULT, TREE_ASM_WRITTEN. Set DECL_ABSTRACT_ORIGIN. ! 5307: ! 5308: * c-parse.y (datadef): For empty declaration, use pedwarn. ! 5309: * objc-parse.y (datadef, mydecl): Likewise. ! 5310: ! 5311: * Makefile.in (install-cross-tools): Install nm from tooldir. ! 5312: ! 5313: * varasm.c: Include real.h. ! 5314: * sparcv4.h: Don't include real.h. ! 5315: ! 5316: * flow.c (mark_used_regs): Do recurse in setting of global hard reg. ! 5317: Do set reg_next_use for global hard reg. ! 5318: ! 5319: * objc-parse.y (reserved_declspecs, declmods): Change as in c-parse.y. ! 5320: ! 5321: Mon Aug 3 03:24:17 1992 Paul Eggert ([email protected]) ! 5322: ! 5323: * c-parse.y (reserved_declspecs): Warn if storage class occurs here. ! 5324: (declmods): Warn if storage class is not first. ! 5325: ! 5326: Sun Aug 2 21:44:34 1992 Richard Kenner ([email protected]) ! 5327: ! 5328: * emit-rtl.c (gen_rtx, case REG): Don't use frame_pointer_rtx or ! 5329: arg_pointer_rtx if reload is in progress. ! 5330: ! 5331: * jump.c (jump_optimize): When replacing jumps with logical ! 5332: expressions, use preserve_subexpressions_p. ! 5333: ! 5334: * calls.c (expand_call): Use HOST_WIDE_INT instead of int when ! 5335: comparing a pointer to an integer constant. ! 5336: * flow.c (find_use_as_address): Likewise; also when returning int. ! 5337: * integrate.c (expand_inline_function): Cast -1 to (HOST_WIDE_INT) ! 5338: first. ! 5339: ! 5340: * cse.c (canon_hash): Use HOST_WIDE_INT instead of int when casting ! 5341: pointers to integers. ! 5342: * print-tree.c (print_node): Likewise. ! 5343: * tree.c (TYPE_HASH): Likewise. ! 5344: * varasm.c (const_hash, SYMHASH): Likewise. ! 5345: ! 5346: * toplev.c: (main): Don't cast pointers to int unnecessarily. ! 5347: ! 5348: * tree.c: Include function.h after tree.h. ! 5349: ! 5350: * rtl.h (NOTE_BLOCK_NUMBER): Change definition to simpler form. ! 5351: (SET_NOTE_BLOCK_NUMBER): Deleted. ! 5352: (xrealloc, oballoc, permalloc): Declare here as well as in tree.h. ! 5353: * function.c (identify_blocks, reorder_blocks): Don't use ! 5354: SET_NOTE_BLOCK_NUMBER. ! 5355: ! 5356: * varasm.c (struct addr_const): Use HOST_WIDE_INT for OFFSET. ! 5357: ! 5358: * combine.c (reg_sign_bit_copies): New variable. ! 5359: (combine_instructions): Initialize it. ! 5360: (set_significant): Set it. ! 5361: (try_combine): Set subst_low_cuid immediately before calling `subst' ! 5362: to the INSN_CUID of the lowest insn involved in the call. ! 5363: Change XOR with out-of-range constant to (not (xor ...)). ! 5364: Call both split_insns and find_split_point; pass extra parm to ! 5365: find_split_point. ! 5366: Record I2DEST's value if I2 now sets it; similarly for I1DEST. ! 5367: (find_split_point): Add new arg INSN. ! 5368: If AND'ing with a large single-bit constant and we only care about ! 5369: equality with zero, replace with bit extraction. ! 5370: Make two shifts for ZERO_EXTRACTs unless very narrow. ! 5371: (subst): Move RESTART label earlier. ! 5372: If we have a simple operation applied to IF_THEN_ELSE, move ! 5373: the operation inside the two arms. ! 5374: (subst, case SUBREG): Use force_to_mode. ! 5375: (subst, case NOT): Change (not (xor X C)) to (xor X ~C). ! 5376: (subst, case NEG): Remove optimization of (neg (abs X)); redundant. ! 5377: Convert (neg (xor A 1)) to (plus A -1) if A is known to be 0 or 1. ! 5378: (subst, case IF_THEN_ELSE): Simplify if an arm contains a register ! 5379: being tested by substiting the known value. ! 5380: Put constant integer in last arm is can reverse comparison. ! 5381: (subst, case SET): Use gen_lowpart_for_combine. ! 5382: (subst, case AND): Make IF_THEN_ELSE when appropriate. ! 5383: (subst, case IOR): (ior A C) can sometimes be just C. ! 5384: (subst, case XOR): Go back and restart when canonicalizing. ! 5385: (subst, case ABS): Use num_sign_bit_copies. ! 5386: (make_extraction): Call force_to_mode. ! 5387: (make_compound_operation): Look at optabs rather that explicitly ! 5388: checking for operations and assuming we have SImode. ! 5389: Handle (ashiftrt (OP (ashift foo C1) C3) C2). ! 5390: (force_to_mode): Only change mode of arithmetic if optab says we ! 5391: have operation in that mode. ! 5392: Remove unneeded ASHIFTRT; add handling for IF_THEN_ELSE. ! 5393: (significant_bits, case NEG): Call num_sign_bit_copies. ! 5394: (significant_bits, case ABS, case [US]{MIN,MAX}, IF_THEN_ELSE): New. ! 5395: (num_sign_bit_copies): New function. ! 5396: (simplify_shift_const): Remove ASHIFTRT if value is known -1 or 0. ! 5397: Use num_sign_bit_copies to simplify (ashiftrt (ashift ...) ...) ! 5398: and (ashiftrt (neg ...) ...). ! 5399: Remove now redundant case when VAROP is a PLUS. ! 5400: (simplify_comparison): If A is known to be -1 or 0, A != -1 is A == 0. ! 5401: Simplify unsigned tests that really check the sign bit. ! 5402: (simplify_comparison, case ASHIFTRT): Convert to LSHIFTRT if ! 5403: equality comparison with zero. ! 5404: (get_last_value): Check if the desired register is set in the ! 5405: insn before the one whose INSN_CUID is subst_low_cuid. ! 5406: ! 5407: * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): Add missing ! 5408: call to TREE_CODE. ! 5409: ! 5410: * reload1.c (reload): Set reload_in_progress earlier. ! 5411: ! 5412: * fold-const.c (optimize_bit_field_compare): Correct bogus use of ! 5413: types in expressions; always do computation in a type wide enough ! 5414: for the result. ! 5415: ! 5416: Sun Aug 2 01:30:22 1992 Richard Stallman ([email protected]) ! 5417: ! 5418: * objc-parse.y (attrib): Copied from c-parse.y. ! 5419: ! 5420: Sat Aug 1 13:34:49 1992 Richard Stallman ([email protected]) ! 5421: ! 5422: * c-pragma.c (HANDLE_PRAGMA_WEAK): Define only if SET_ASM_OP defined. ! 5423: ! 5424: * vax-vms.h: Renamed from vms.h. ! 5425: * xm-vax-vms.h: Renamed from xm-vms.h. ! 5426: * configure (vax-*-vms): Change file names. ! 5427: ! 5428: Sat Aug 1 16:13:09 1992 Mark Eichin ([email protected]) ! 5429: ! 5430: * config/spc-sol2.h (ASM_OUTPUT_DWARF_STRING): redefinition was ! 5431: incorrect, and uneeded; while Solaris as doesn't support .string, it ! 5432: does support .asciz, and sparcv4.h takes care of including that ! 5433: definition. ! 5434: ! 5435: Fri Jul 31 08:19:41 1992 Richard Kenner ([email protected] ! 5436: ! 5437: * combine.c (try_combine): Correctly handle implicit deaths of ! 5438: I2DEST and I1DEST. ! 5439: ! 5440: * cexp.y: Add declaration for xmalloc. ! 5441: ! 5442: * cccp.c: Add declarations for malloc and realloc. ! 5443: Include stddef.h when __STDC__ is defined. ! 5444: (PTR_INT_TYPE): New macro. ! 5445: (pcfinclude): Use it. ! 5446: ! 5447: * c-decl.c (init_decl_processing): __builtin_return_address, ! 5448: __builtin_frame_address, and __builtin_saveregs all return void *. ! 5449: ! 5450: * reload.c (find_reloads_address_1): Convert another push_reload ! 5451: call into a call to find_reloads_address_part. ! 5452: ! 5453: * reload1.c (gen_input_reload): Correct order of insns emitted ! 5454: when using secondary memory. ! 5455: ! 5456: * reload1.c (reload_as_needed): Add missing semicolon after macro. ! 5457: ! 5458: * combine.c (distribute_notes, case REG_DEAD): If a register used ! 5459: exactly twice is referenced in both I2 and I3, show it is used 3 times. ! 5460: ! 5461: * final.c (output_operand): Abort if X is a pseudo. ! 5462: ! 5463: * cse.c (exp_equiv_p, case CONST_INT): Use INTVAL instead of XINT. ! 5464: ! 5465: * expr.c (convert_move): Put FROM into a register if it is a SUBREG. ! 5466: (For extension case.) ! 5467: ! 5468: Fri Jul 31 08:19:05 1992 Tom Wood ([email protected]) ! 5469: ! 5470: * function.c (reposition_prologue_and_epilogue_notes): Search for ! 5471: the notes without using basic_block_end[0] or basic_block_head[N-1]. ! 5472: ! 5473: Fri Jul 31 08:18:18 1992 Michael Meissner ([email protected]) ! 5474: ! 5475: * reorg.c (get_branch_condition): Return 0 if all tests fall through. ! 5476: ! 5477: Fri Jul 31 02:28:02 1992 Richard Stallman ([email protected]) ! 5478: ! 5479: * glimits.h: Renamed from limits.h. ! 5480: * Makefile.in (LIMITS_H): Deleted. ! 5481: (install-limits-h): Use glimits.h, not limits.h. ! 5482: * libgcc2.c: Include glimits.h. ! 5483: ! 5484: Thu Jul 30 09:54:07 1992 Tom Wood ([email protected]) ! 5485: ! 5486: * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN_CODE): Pack code ! 5487: more tightly for the m88110. ! 5488: ! 5489: * m88k.md (cpu attribute): List m88100 first for more efficient ! 5490: code in insn-attrtab.c. ! 5491: ! 5492: * m88k.md (rotate/and split pattern): Fix typo. ! 5493: ! 5494: Thu Jul 30 00:02:45 1992 Richard Stallman ([email protected]) ! 5495: ! 5496: * i860mach.h: New file. ! 5497: * configure (i860-*-mach*): New alternative. ! 5498: ! 5499: * svr3.h (BSS_SECTION_FUNCTION): New macro. ! 5500: (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Enable these. ! 5501: * tower-as.h (BSS_SECTION_FUNCTION): Deleted. ! 5502: * dpx2.h (EXTRA_SECTION_FUNCTIONS): Deleted. ! 5503: * att386.h (BSS_SECTION_FUNCTION): #undef before defining. ! 5504: ! 5505: * i860v3.h (USE_CONST_SECTION): #undef before defining. ! 5506: ! 5507: Wed Jul 29 20:04:55 1992 Jim Wilson ([email protected]) ! 5508: ! 5509: * sparc.md (cmpsi): Delete 'J' constraint. ! 5510: ! 5511: Wed Jul 29 00:38:45 1992 Richard Stallman ([email protected]) ! 5512: ! 5513: * c-lex.c (yylex): When traditional, convert 0x80000000 to -0x80000000. ! 5514: ! 5515: * gcc.c (link_command_spec): Accept -static but do nothing with it. ! 5516: ! 5517: * loop.c (move_movables): When testing whether a reg contains ! 5518: the function address of a call_insn in a libcall block, ! 5519: use reg_referenced_p, to ignore destinations. ! 5520: ! 5521: * stor-layout.c (layout_record): Take account of ! 5522: maximum_field_alignment when using the field's alignment. ! 5523: ! 5524: * c-parse.y (attrib): Fix previous change--the missing arg ! 5525: was the last arg. ! 5526: ! 5527: * fixincludes: Don't repeat the directory-link-chasing loop ! 5528: more than twice. Combine $prevdirs with $dirs--they had same value. ! 5529: Properly discard $d itself from the output of find. ! 5530: Find the links to directories by finding each link ! 5531: and testing it with test. Add $newdirs into $files. ! 5532: ! 5533: Tue Jul 28 12:46:31 1992 Michael Meissner ([email protected]) ! 5534: ! 5535: * c-common.c (decl_attributes): Call layout_decl with two arguments. ! 5536: ! 5537: * c-parse.y (attribute processing): Correctly call tree_cons with ! 5538: three arguments, passing NULL_TREE for the purpose argument. ! 5539: ! 5540: * emit-rtl.c (make_insn_raw): Eliminate unused argument pat_formals, ! 5541: and modify all callers. ! 5542: (make_jump_insn_raw): Ditto. ! 5543: ! 5544: * reorg.c (fill_slots_from_thread): Function follow_jumps only takes ! 5545: one argument. ! 5546: (relax_delay_slots): Ditto. ! 5547: ! 5548: Tue Jul 28 16:04:43 1992 Richard Stallman ([email protected]) ! 5549: ! 5550: * dpx2g.h (ASM_OUTPUT_IDENT): #undef it. ! 5551: ! 5552: * c-decl.c (duplicate_decls): Handle warn_redundant_decls here. ! 5553: But don't warn if function definition follows a declaration. ! 5554: (pushdecl): Don't handle it here. ! 5555: (grokparms): Don't warn about non-prototype decl in system header. ! 5556: ! 5557: * c-convert.c (convert): If main variants match, ! 5558: but the type is not identical, make a NOP_EXPR. ! 5559: ! 5560: Tue Jul 28 10:06:18 1992 Jim Wilson ([email protected]) ! 5561: ! 5562: * mips.md: Correct use of `*' in constraints. Put it before each ! 5563: letter to ignore, not each group to ignore. ! 5564: ! 5565: Tue Jul 28 01:23:35 1992 Richard Stallman ([email protected]) ! 5566: ! 5567: * dbxout.c (dbxout_parms): Do something for structures ! 5568: passed by invisible reference, and living in memory. ! 5569: ! 5570: * gstddef.h (wchar_t): Alternate typedef for C++. ! 5571: ! 5572: * Makefile.in (extraclean): Delete config/ChangeLog. ! 5573: ! 5574: * m68k.md (probe): Use %a0 to output the address. ! 5575: ! 5576: Mon Jul 27 20:08:21 1992 Mike Stump (mrs@hal) ! 5577: ! 5578: * c++: Fix errors introduced by rms. Bullet-proof handling of ! 5579: arguments with funny things in them such as newlines, spaces, tabs, ! 5580: single quotes, double quotes, etc... ! 5581: ! 5582: Mon Jul 27 17:38:52 1992 Jim Wilson ([email protected]) ! 5583: ! 5584: * sparc.md: Add DEFINE_SPLITs to optimize logic operation with ! 5585: certain immediate values. ! 5586: ! 5587: * sparc.md: Correct inconsistent operand constraints in peepholes. ! 5588: ! 5589: * sparc.h (ASM_LONG, ASM_SHORT, ASM_BYTE_OP): Definitions added. ! 5590: (ASM_OUTPUT_DOUBLE): Use REAL_VALUE_TO_TARGET_DOUBLE to convert. ! 5591: (ASM_OUTPUT_FLOAT): Use REAL_VALUE_TO_TARGET_SINGLE to convert. ! 5592: (ASM_OUTPUT_INT): Use ASM_LONG pseudo-op. ! 5593: (ASM_OUTPUT_SHORT): Use ASM_SHORT pseudo-op. ! 5594: (ASM_OUTPUT_CHAR): Use ASM_BYTE_OP pseudo-op. ! 5595: (ASM_OUTPUT_BYTE): Use ASM_BYTE_OP pseudo-op. ! 5596: ! 5597: Mon Jul 27 17:10:19 1992 Richard Stallman ([email protected]) ! 5598: ! 5599: * gstdarg.h (va_arg): Don't use +=; no need to set AP twice. ! 5600: ! 5601: Sun Jul 26 14:21:13 1992 Richard Stallman ([email protected]) ! 5602: ! 5603: * final.c (final_scan_insn): Align jump table only if ! 5604: READONLY_DATA_SECTION. Otherwise, the table is in the text section. ! 5605: ! 5606: * collect2.c (dup2): Defined, if NO_DUP2. ! 5607: ! 5608: * plexus.h: New file. ! 5609: * m68k.c (output_function_prologue): Make a probe instruction ! 5610: if NEED_PROBE if nonzero. ! 5611: * configure (m68k-plexus-sysv*): New alternative. ! 5612: ! 5613: * c-convert.c (convert): Succeed if TYPE is the main variant ! 5614: of the given type. ! 5615: * c-typeck.c (build_conditional_expr): Compare using TYPE_MAIN_VARIANT. ! 5616: ! 5617: * c-decl.c (duplicate_decls): Copy old RTL *before* make_var_volatile. ! 5618: ! 5619: Sat Jul 25 21:45:44 1992 Richard Stallman ([email protected]) ! 5620: ! 5621: * c-decl.c (pushdecl): Never reuse global fcn decl in place of ! 5622: local extern; just copy some info from it. ! 5623: ! 5624: Sat Jul 25 06:14:58 1992 Tom Wood ([email protected]) ! 5625: ! 5626: * expmed.c (expand_divmod): Eliminate the generation of branches ! 5627: when possible. ! 5628: ! 5629: Sat Jul 25 04:34:09 1992 Richard Stallman ([email protected]) ! 5630: ! 5631: * fixincludes (X11/Xmu/Xmu.h): Fix this or X11/Xmu.h, ! 5632: whichever exists. ! 5633: ! 5634: Sat Jul 25 00:41:12 1992 Paul Eggert ([email protected]) ! 5635: ! 5636: * c-parse.y (datadecl): Diagnose empty declarations in old-style ! 5637: function headers. ! 5638: * c-decl.c (shadow_tag_warned): New function. ! 5639: ! 5640: * c-lex.c (yylex): Diagnose `1.0fl'. Issue just one ! 5641: diagnostic for `1e1000000f'. ! 5642: ! 5643: Fri Jul 24 19:25:51 1992 Richard Stallman ([email protected]) ! 5644: ! 5645: * dbxout.c (dbxout_symbol): Distinguish implicit C++ typedefs ! 5646: from explicit C typedefs for structs, using DECL_SOURCE_LINE. ! 5647: ! 5648: * c-decl.c (duplicate_decls): Use TYPE_MAIN_VARIANT even for compares ! 5649: with void_type_node. ! 5650: (grokdeclarator, get_parm_info, store_parm_decls): Likewise. ! 5651: ! 5652: Fri Jul 24 10:07:13 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 5653: ! 5654: * dwarfout.c (is_tagged_type): New function added. ! 5655: (member_attribute): Use it. ! 5656: (type_ok_for_scope): Rewritten to eliminate serious bugs. ! 5657: (output_type): Call `output_pending_types_for_scope' at the end of ! 5658: struct/union types (which are themselves scopes in C++). ! 5659: ! 5660: Fri Jul 24 13:36:46 1992 Michael Meissner ([email protected]) ! 5661: ! 5662: * dbxout.c (toplevel): Include defaults.h to get the definition of ! 5663: ASM_STABD_OP. ! 5664: ! 5665: * Makefile.in (dbxout.o): Add defaults.h dependent. ! 5666: ! 5667: * i386rose.h (CC1_SPEC): Remove MIPS switches accidently left in. ! 5668: ! 5669: Thu Jul 23 09:49:43 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 5670: ! 5671: * dwarfout.c (is_body_block): Rewritten for greater saftey. ! 5672: (output_block): Fixed to deal correctly with non-inlined blocks. ! 5673: ! 5674: Thu Jul 23 15:37:23 1992 Jeffrey A Law (law at schirf.cs.utah.edu) ! 5675: ! 5676: * flow.c (propagate_block): Change "struct foo" to "struct sometimes". ! 5677: ! 5678: Thu Jul 23 15:10:51 1992 Tom Wood ([email protected]) ! 5679: ! 5680: * m88k.h (ASM_OUTPUT_CASE_LABEL): Change to readonly section if the ! 5681: table contains addresses. ! 5682: (JUMP_TABLES_IN_TEXT_SECTION): True by default. ! 5683: ! 5684: Thu Jul 23 13:54:27 1992 Michael Meissner ([email protected]) ! 5685: ! 5686: * mips.c (large_int): Use HOST_WIDE_INT type to hold INTVAL. ! 5687: (gen_int_relational): Ditto. ! 5688: (gen_conditonal_branch): Don't emit any insns if the result is ! 5689: always false, and emit a normal jump if the result is always true. ! 5690: ! 5691: * mips.c (mips_move_1word): Count LABEL_REF's as a memory ! 5692: reference. Rework half-pic load of symbols, to not expect movsi ! 5693: to have converted the load address into a load, and for CONST's, ! 5694: do the addition after the pointer is loaded. ! 5695: ! 5696: * mips.md (type attribute, movsi3): Eliminate 'pic' attribute, ! 5697: just use 'load' instead. ! 5698: (fix_truncdfsi2): Make this a define_insn, instead of a ! 5699: define_exapnd and an insn, and use match_scratch to allocate the ! 5700: two scratch registers. Adjust length costs, so that they match ! 5701: the current code the assembler produces. ! 5702: (fix_truncsfsi2): Ditto. ! 5703: (movsi): Don't convert load of half-pic addresses and CONST's into ! 5704: the real load. It causes more problems than it solves. Adjust ! 5705: cost of half-pic addresses to be 2, not 4. ! 5706: ! 5707: * mips-tfile.c (parse_def): Allow spaces in names, since C++ ! 5708: templates produce things like: #.def SMANIP<long unsigned int>; ... ! 5709: (parse_stabs_common): Code from Lisa Repka, to handle symbol +/- ! 5710: offset, and to look up things in the external string table, if the ! 5711: name is not found in the local string table. ! 5712: ! 5713: Wed Jul 22 13:08:33 1992 Jeffrey A. Law ([email protected]) ! 5714: ! 5715: * sparc.md (movdf+1): Use new 'T' and 'U' constraints to ! 5716: determine when an ldd or std will have a length of 1, and ! 5717: therefore is eligible for use in some delay slots. ! 5718: (uncond_branch): New attribute used for unconditional branches. ! 5719: All unconditional branch patterns changed. ! 5720: (define_delays and delay slot attributes): Do not allow ! 5721: uncond_branch instructions in delay slots. Do not allow fpload or ! 5722: fpstore operations in a conditional branch delay slot. Allow ! 5723: fpload and fpstore in call, unconditional branch, and annuled ! 5724: conditional branch delay slots. ! 5725: ! 5726: * sparc.c (registers_ok_for_ldd_peep, addrs_ok_for_ldd_peep): ! 5727: Functions renamed from registers_ok_for_ldd and ! 5728: memory_ok_for_ldd respectively. All callers changed. ! 5729: (register_ok_for_ldd): New function to determine if a register is ! 5730: a pseudo or the first register in a hard register pair. ! 5731: (mem_aligned_8): No longer static. Return 0 instead of aborting ! 5732: when presented an rtx which is not a MEM. ! 5733: (eligible_for_epilogue_delay): Use in_uncond_branch_delay since ! 5734: this in an unconditional branch. ! 5735: ! 5736: * sparc.h (EXTRA_CONSTRAINT) Add new 'T' and 'U' constraints ! 5737: which check for aligned accesses to memory and register pairs. ! 5738: ! 5739: Wed Jul 22 11:22:37 1992 Michael Meissner ([email protected]) ! 5740: ! 5741: * mips.h (MIPS_VERSION): Bump meissner version number to 22. ! 5742: (extern declarations): Add declarations for asm_file_name, ! 5743: call_used_regs, langguage_string, save_argv, version_string, ! 5744: mips_{begin,end,expand}_{pro,epi}logue, simple_epilogue_p, ! 5745: {address,const_{double,int},general,{,non}immediate}_operand, ! 5746: memory_address_p, {{,non}memory,register,scratch}_operand, ! 5747: abort_with_insn, debug_rtx, fatal_io_error, get_frame_size, ! 5748: offsettable_address_p, output_address, permalloc, ! 5749: reg_mentioned_p, abort, atoi, getenv, mktemp, and ! 5750: mips_expand_{epi,pro}logue. ! 5751: (*_REGNUM): Add in GP_REG_FIRST in case registers are ever ! 5752: renumbered. ! 5753: (struct mips_frame_info): Add num_gp, num_fp fields. ! 5754: (SECONDARY_MEMORY_NEEDED): Define, return 1 unless -mdebugh if ! 5755: moving between FP <-> GP registers. ! 5756: ! 5757: * mips.c (extern declarations): Move most of the declarations to ! 5758: mips.h, except for those of type 'rtx' or 'tree', since not all ! 5759: files include rtl.h and tree.h. Add more declarations for gen_xxx ! 5760: functions that are now used. ! 5761: (reg_or_0_operand): Add default case for switch on enumeration, to ! 5762: allow compiling with -Wall. ! 5763: (simple_memory_operand): Ditto. ! 5764: (mips_count_memory_refs): Ditto. ! 5765: (mips_move_1word): Ditto. ! 5766: (mips_move_2words): Ditto. ! 5767: (mips_address_cost): Ditto. ! 5768: (map_test_to_internal_test): Ditto. ! 5769: (mips_move_1word): Align asm comments in loading negative ints. ! 5770: (mips_move_1word): Use GEN_INT macro to generate CONST_INT's. ! 5771: (mips_move_2words): Ditto. ! 5772: (gen_int_relational): Ditto. ! 5773: (block_move_load_store): Ditto. ! 5774: (block_move_loop): Ditto. ! 5775: (expand_block_move): Ditto. ! 5776: (block_move_load_store): #if 0, not currently used. ! 5777: (block_move_sequence): Ditto. ! 5778: (compute_frame_size): Fill in num_gp and num_fp fields. ! 5779: (simple_prologue_p): Rename from null_prologue. ! 5780: (save_restore_insns): New function to emit appropriate save and ! 5781: restore operations for prologue/epilogue -- only prologue used at ! 5782: present. ! 5783: (function_prologue): Move generation of instructions to ! 5784: mips_expand_prologue. ! 5785: (mips_expand_prologue): Generate appropriate insns for the ! 5786: prologue of the function. ! 5787: (mips_expand_epilogue): Generate appropriate insns for the ! 5788: epilogue of the function -- not called at present. ! 5789: ! 5790: * mips.md (ashldi3_internal): Add `&' constraint to operand 0. ! 5791: (ashrdi3_internal): Add `&' constraint to operand 0. ! 5792: (return): Turn this into a define expand that wraps a return and a ! 5793: USE reg:31 inside of a parallel. ! 5794: (return_internal): Insn form of return instruction. ! 5795: (prologue): New define expand to generate the necessary ! 5796: instructions for the function prologue. ! 5797: (mov{si,hi,qi}): Split the integer move INSNs into two groups, ! 5798: those that support -mdebugh and allow ints to be in floating ! 5799: point registers, and those that don't allow it. ! 5800: ! 5801: Tue Jul 21 21:27:43 1992 Mike Stump ([email protected]) ! 5802: ! 5803: * Complete 9th Cygnus <---> FSF merge. ! 5804: ! 5805: Tue Jul 21 03:17:05 1992 Mark Eichin ([email protected]) ! 5806: ! 5807: * cp-lex.c (process_next_inline): when bailing out on a parse error, ! 5808: throw away nextchar as well in case it got set. ! 5809: ! 5810: Tue Jul 21 05:31:10 1992 Ken Raeburn ([email protected]) ! 5811: ! 5812: * cp-pt.c (tsubst, case FUNCTION_DECL): If the context class has a ! 5813: null method vector, don't look inside it for its size. ! 5814: ! 5815: Thu Jul 16 16:02:55 1992 Per Bothner ([email protected]) ! 5816: ! 5817: * cp-typeck.c (convert_for_assignment): If assigning (void*) ! 5818: to a normal pointer, emit a warning, not an error. There is ! 5819: a lot of existing code (including libg++ and converted C ! 5820: code) that expects to be able to assign from (void*). ! 5821: ! 5822: Tue Jul 14 06:59:38 1992 Michael Tiemann ([email protected]) ! 5823: ! 5824: * cp-decl.c (finish_function): Call destructors correctly when ! 5825: baseclasses are replicated in the inheritance hierarchy. ! 5826: ! 5827: Mon Jul 13 05:16:10 1992 Michael Tiemann ([email protected]) ! 5828: ! 5829: * cp-typeck.c (build_modify_expr): If we split a COND_EXPR in order ! 5830: to perform the assignment in each arm, convert the rhs of each ! 5831: branch according to RESULT_TYPE. ! 5832: ! 5833: * cp-typeck.c (convert_for_assignment): Treat null_pointer_node ! 5834: specially when converting to non-void pointers. ! 5835: ! 5836: * cp-class.c (modify_vtable_entries): In the loop that modifies ! 5837: vtable entries for each non-virtual baseclass, correctly handle ! 5838: cases where BASE is an ambiguous baseclass for BASE_CONTEXT. ! 5839: ! 5840: Sun Jul 12 01:32:31 1992 Mike Stump ([email protected]) ! 5841: ! 5842: Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com) ! 5843: ! 5844: * cp-type2.c (store_init_value), cp-typeck.c ! 5845: (build_modify_expr, convert_arguments, ! 5846: build_binary_op_nodefault, convert_for_assignment), cp-parse.y ! 5847: (member_init, template_def, datadef, stmt): changed some ! 5848: pedantics into !traditionals and reworded error messages. ! 5849: ! 5850: Sun Jul 12 01:11:53 1992 Mike Stump ([email protected]) ! 5851: ! 5852: Jul 1992 Ron Guilmette (rfg at ncd.com) ! 5853: ! 5854: * cp-decl.c (finish_function): Set BLOCK_SUPERCONTEXT for the ! 5855: outermost scopes of functions to point to the associated ! 5856: FUNCTION_DECL nodes. ! 5857: ! 5858: Fri Jul 10 17:52:36 1992 Ken Raeburn ([email protected]) ! 5859: ! 5860: * cp-decl.c (struct binding_level): New field pseudo_global ! 5861: indicates that this binding level should be treated like the global ! 5862: binding level in some respects. ! 5863: (declare_pseudo_global_level, pseudo_global_level_p): Set and test ! 5864: routines. ! 5865: (push_overloaded_decl): Don't forget overloads in pseudo-global ! 5866: binding levels. ! 5867: * cp-pt.c (tsubst, case FUNCTION_DECL): Search for an existing decl ! 5868: before creating a new one. ! 5869: (overload_template_name): Make new level pseudo-global. ! 5870: (type_unification): Indicate failure for unknown_type_node. ! 5871: (unify): Likewise. ! 5872: ! 5873: Wed Jul 8 01:59:03 1992 Mike Stump ([email protected]) ! 5874: ! 5875: * cp-decl.c (lookup_name, grokvardecl, grokdeclarator), ! 5876: cp-call.c (build_field_call), cp-seach.c (lookup_field), ! 5877: cp-typeck.c (build_component_ref), cp-lex.c (do_identifier), ! 5878: cp-init.c (expand_member_init, build_member_call, ! 5879: build_offset_ref): lookup_field now has 4 arguments. ! 5880: ! 5881: Wed Jul 8 01:14:43 1992 Mike Stump ([email protected]) ! 5882: ! 5883: * cp-parse.y (primary): Call to lookup_name needs 2 arguments. ! 5884: ! 5885: Tue Jul 7 21:14:05 1992 Mike Stump ([email protected]) ! 5886: ! 5887: * cp-method.c (build_overload_name): Handle INTEGER_TYPEs ! 5888: cleanly and uniformly. ! 5889: ! 5890: Tue Jul 7 09:19:52 1992 Michael Tiemann ([email protected]) ! 5891: ! 5892: * cp-call.c (build_method_call): If `convert_to_pointer' returns ! 5893: error_mark_node, return that without doing any more work. ! 5894: ! 5895: Thu Jul 2 15:42:28 1992 Mike Stump ([email protected]) ! 5896: ! 5897: Thu Jul 2 18:08:42 1992 Chip Salzenberg (chip at tct.com) ! 5898: ! 5899: * cp-typeck.c (convert_arguments): Don't assume that error ! 5900: message will be short enough for fixed-length buffer. ! 5901: ! 5902: Wed Jul 1 19:52:59 1992 Mike Stump (mrs at cygnus.com) ! 5903: ! 5904: Wed Jun 3 12:57:57 1992 Brendan Kehoe ([email protected]) ! 5905: ! 5906: * cp-decl2.c (grokbitfield): Only do width checking on properly ! 5907: parsed bitfields. ! 5908: ! 5909: Wed Jul 1 18:58:17 1992 Mike Stump (mrs at cygnus.com) ! 5910: ! 5911: Wed May 27 01:33:24 1992 Ron Guilmette (rfg at ncd.com) ! 5912: ! 5913: * cp-lex.c (readescape), cp-parse.y (unary_expr, maybecomma_warn, ! 5914: component_decl_list, stmt), cp-type2.c (digest_init), cp-typeck.c ! 5915: (c_sizeof, build_function_call_real, convert_arguments, ! 5916: build_binary_op_nodefault, pointer_int_sum, pointer_diff, ! 5917: build_unary_op, c_expand_return): change some warnings to ! 5918: pedwarns. Put in new pedwarns, change wording of messages so that ! 5919: they are more readable. Don't issue some warnings when ! 5920: traditional is given. ! 5921: ! 5922: Wed Jul 1 13:56:30 1992 Mike Stump (mrs at cygnus.com) ! 5923: ! 5924: Wed Apr 29 23:37:00 1992 Niklas Hallqvist (niklas at appli.se) ! 5925: ! 5926: * cp-decl.c (finish_decl): make sure destructors are called for ! 5927: objects in a file. ! 5928: ! 5929: Wed Jul 1 11:12:05 1992 Mike Stump (mrs at cygnus.com) ! 5930: ! 5931: * cp-lex.c: extract YYEMPTY out of the parser generated .c ! 5932: file and put in the parser .h so that cp-lex.c does not have ! 5933: to define it. ! 5934: ! 5935: Mon Jun 29 12:58:59 1992 Mike Stump (mrs at cygnus.com) ! 5936: ! 5937: Mon Jun 29 15:20:48 1992 Chip Salzenberg (chip at tct.com) ! 5938: ! 5939: * cp-cvt.c (convert_to_integer): Don't add a NOP_EXPR in cases ! 5940: where we can simply change the type of the entire tree. ! 5941: ! 5942: Mon Jun 29 10:56:56 1992 Mike Stump (mrs at cygnus.com) ! 5943: ! 5944: * c++: Makes sure -lg++ comes before -lm since libg++ uses ! 5945: things from libm. ! 5946: ! 5947: Mon Jun 22 13:47:42 1992 Mike Stump (mrs at cygnus.com) ! 5948: ! 5949: Sun Jun 21 14:06:41 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 5950: ! 5951: * cp-typeck.c (convert_for_initialization): Only try to convert a ! 5952: rhs that was parsed properly. ! 5953: ! 5954: Mon Jun 22 13:31:40 1992 Jim Wilson (wilson at sphagnum.cygnus.com) ! 5955: ! 5956: * cp-parse.y (primary): Clear the TREE_USED flag of a block tree ! 5957: put in a BIND_EXPR. ! 5958: ! 5959: Sun Jun 21 09:59:58 1992 Michael Tiemann (tiemann at rtl.cygnus.com) ! 5960: ! 5961: * cp-type2.c (build_scoped_ref): Use SCRATCH for head of typelist, ! 5962: rather than calling alloca. ! 5963: ! 5964: Fri Jun 19 16:23:02 1992 Mike Stump (mrs at cygnus.com) ! 5965: ! 5966: * cp-pt.c (unify): Type unification of things that do not have a ! 5967: valid IDENTIFIER_TEMPLATE fail instead of core dumping. ! 5968: ! 5969: Wed Jun 17 13:36:04 1992 Michael Tiemann (tiemann at rtl.cygnus.com) ! 5970: ! 5971: * cp-pt.c (tsubst): Don't try to substitute into error_mark_node. ! 5972: ! 5973: * cp-decl.c (grokparms): Convert initializers that have ! 5974: TREE_READONLY_DECL_P set into their constant equivalents. ! 5975: ! 5976: Tue Jun 16 19:09:23 1992 Mike Stump (mrs at cygnus.com) ! 5977: ! 5978: Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 5979: ! 5980: * cp-decl.c (grokdeclarator): Disallow virtual functions in unions. ! 5981: ! 5982: Tue Jun 16 18:11:45 1992 Mike Stump (mrs at cygnus.com) ! 5983: ! 5984: Wed Jun 3 12:57:57 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 5985: ! 5986: * cp-class.c (finish_struct): Forbid local classes to have static ! 5987: members. ! 5988: ! 5989: Mon Jun 15 21:44:08 1992 Mike Stump (mrs at cygnus.com) ! 5990: ! 5991: Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 5992: ! 5993: * cp-init.c (build_new): Don't allow the use of new on a reference. ! 5994: ! 5995: Mon Jun 15 20:52:08 1992 Mike Stump (mrs at cygnus.com) ! 5996: ! 5997: Tue Jun 2 09:26:34 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 5998: ! 5999: * cp-decl.c (grokparms): Don't allow a local variable to be used ! 6000: in a default argument expression. ! 6001: ! 6002: Mon Jun 15 18:54:28 1992 Mike Stump (mrs at cygnus.com) ! 6003: ! 6004: * cp-decl.c (finish_decl): Add an error message for uninitialized ! 6005: const objects like const int a;. ! 6006: ! 6007: Mon Jun 15 16:05:22 1992 Mike Stump (mrs at cygnus.com) ! 6008: ! 6009: Not sure if it is strictly necessary for the C++ front end, but... ! 6010: ! 6011: Sun May 31 15:31:46 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 6012: ! 6013: * cp-typeck.c (self_promoting_args_p): Allow the arg type to be ! 6014: null (copied from Oct 16, 1991 change by Wood). ! 6015: ! 6016: Fri Jun 12 16:42:05 1992 Mike Stump (mrs at cygnus.com) ! 6017: ! 6018: * cp-typeck.c (build_binary_op_nodefault): Conditionalize code that ! 6019: deals with the comparison of non-distinct object types, thus avoiding ! 6020: a core dump. ! 6021: ! 6022: Fri Jun 12 10:23:17 1992 Mike Stump (mrs at cygnus.com) ! 6023: ! 6024: Wed Jun 10 19:20:29 1992 Brendan Kehoe (brendan at cs.widener.edu) ! 6025: ! 6026: * cp-tree.c (break_out_calls): Begin at 1 less than the length of ! 6027: the length of the tree code, not the length itself, for generic ! 6028: expressions and those with side-effects. ! 6029: ! 6030: Thu Jun 11 17:43:55 1992 Mike Stump (mrs at cygnus.com) ! 6031: ! 6032: * cp-init.c (expand_default_init): New function to handle the ! 6033: details of default copy constructors and other magic in one place. ! 6034: ! 6035: * cp-init.c (expand_aggr_init_1): Implement default constructors ! 6036: more fully. ! 6037: ! 6038: Thu Jun 11 17:16:54 1992 Mike Stump (mrs at cygnus.com) ! 6039: ! 6040: * cp-call.c (build_method_call): Don't produce an error message if ! 6041: we are looking up things speculatively. ! 6042: ! 6043: Thu Jun 11 10:58:47 1992 Mike Stump (mrs at cygnus.com) ! 6044: ! 6045: * cp-call.c (convert_harshness): Penalize const arguments passed ! 6046: into non-const parameters. ! 6047: ! 6048: Thu Jun 11 10:02:52 1992 Mike Stump (mrs at cygnus.com) ! 6049: ! 6050: * cp-typeck.c (build_c_cast): Implement more reference casts so ! 6051: that one can cast a base reference to a derived reference. ! 6052: ! 6053: Tue Jul 21 15:28:36 1992 Jim Wilson ([email protected]) ! 6054: ! 6055: * sparc.h (SECONDARY_MEMORY_NEEDED): Define to force reload to ! 6056: handle any copy between GENERAL_REGS and FP_REGS. ! 6057: ! 6058: * sched.c (schedule_block): Give some insns high priorities, ! 6059: instead of excluding them from scheduling, to ensure that they end ! 6060: up at the end of the block after scheduling. ! 6061: ! 6062: * i960.c (i960_output_ldconst): Use REAL_VALUE_FROM_CONST_DOUBLE ! 6063: instead of pointer indirection to extract double from CONST_DOUBLE. ! 6064: ! 6065: Tue Jul 21 14:05:34 1992 Richard Stallman ([email protected]) ! 6066: ! 6067: * svr4.h (HANDLE_SYSV_PRAGMA): Defined. ! 6068: ! 6069: * sol-crt*.asm: Renamed from sol-crt*.s, and put in config. ! 6070: * t-sol2 (crt*.o): Changed accordingly. Also use $(AS). ! 6071: ! 6072: * gbl-ctors.h (ON_EXIT): Test HAVE_ATEXIT before sun. ! 6073: ! 6074: Mon Jul 20 18:56:02 1992 Fred Fish (fnf at fishpond) ! 6075: ! 6076: * svr4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): New macro--default definition. ! 6077: (ASM_OUTPUT_CASE_LABEL): Use that. ! 6078: * m68ksgs.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Do the swbeg here. ! 6079: (ASM_OUTPUT_CASE_LABEL): Use that. ! 6080: ! 6081: * configure (m68k-*-amix*): Use fixinc.svr4 and install.sh. ! 6082: ! 6083: * x-amix (ENQUIRE_CFLAGS): Remove; obsolete. ! 6084: ! 6085: * amix.h (TRANSFER_FROM_TRAMPOLINE): Remove #undef. ! 6086: ! 6087: Mon Jul 20 17:45:46 1992 Richard Stallman ([email protected]) ! 6088: ! 6089: * dbxout.c (dbxout_source_line): New function. ! 6090: * final.c (output_source_line): Use that. ! 6091: ! 6092: * configure (sparc-*-sunos5*): New alias. ! 6093: (sparc-*-solaris2*): Use t-sol2. ! 6094: ! 6095: * i860.md (mulsi3_little, mulsi3_big): New define_expand patterns. ! 6096: (mulsi3): Just use one of them. ! 6097: ! 6098: * Makefile.in (install-fixincludes): Pass second and third args. ! 6099: ! 6100: Mon Jul 20 16:07:12 1992 Pat Rankin ([email protected]) ! 6101: ! 6102: * vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): change _c$main_args to ! 6103: uppercase instead of relying on gas to make the case translation ! 6104: ! 6105: Sun Jul 19 00:04:16 1992 Richard Stallman ([email protected]) ! 6106: ! 6107: * c-tree.h (C_PROMOTING_INTEGER_TYPE_P): New macro. ! 6108: * c-decl.c (duplicate_decls, grokdeclarator, finish_struct): ! 6109: Use C_PROMOTING_INTEGER_TYPE_P to decide whether a type promotes. ! 6110: (start_function): Likewise. ! 6111: * c-typeck.c (default_conversion): Use C_PROMOTING_INTEGER_TYPE_P ! 6112: to decide whether a type should promote. ! 6113: (self_promoting_args_p, self_promoting_type_p): Likewise. ! 6114: ! 6115: * c-aux-info.c (gen_type): For array type, state the size. ! 6116: ! 6117: * final.c (output_addr_const): Handle ZERO_EXTEND and SIGN_EXTEND. ! 6118: * expr.c (expand_expr, NOP_EXPR case): If EXPAND_INITIALIZER, ! 6119: generate ZERO_EXTEND or SIGN_EXTEND; don't emit insns. ! 6120: ! 6121: * function.c (assign_parms): Use const0_rtx as DECL_RTL and as ! 6122: DECL_INCOMING_RTL if tmode of parm is void. ! 6123: ! 6124: * jump.c (mark_jump_label): Don't make REG_LABEL for nonlocal label. ! 6125: * loop.c (add_label_notes): Don't make REG_LABEL for nonlocal label. ! 6126: (rtx_renumbered_equal_p): Use == to compare nonlocal labels. ! 6127: ! 6128: * rtl.h (LABEL_REF_NONLOCAL_P): New macro. ! 6129: * expr.c (expand_expr): Set LABEL_REF_NONLOCAL_P for nonlocal labels. ! 6130: * reload1.c (set_label_offsets): Ignore nonlocal labels. ! 6131: ! 6132: * c-parse.y (primary): Set TREE_CONSTANT in the NOP_EXPR for an enum. ! 6133: ! 6134: * Solaris changes from Cygnus: ! 6135: ! 6136: * fixinc.svr4: take a third argument indicating where files to be ! 6137: copied in should come from (useful when not building in source ! 6138: directory). ! 6139: Set TERM to dumb so ex won't hang (by zoo). ! 6140: * fixincludes: Take the same new argument. ! 6141: ! 6142: * gmon-sol2.c: New file. ! 6143: * t-sol2: New file. ! 6144: * sol2-crt1.s, sol2-crti.s, sol2-crtn.s: New files. ! 6145: ! 6146: * xm-spcv4.h (ONLY_INT_FIELDS): Define, if __GNUC__. ! 6147: ! 6148: * sparc.h (FUNCTION_PROFILER): Use ASM_OUTPUT_INTERNAL_LABELREF. ! 6149: (FUNCTION_BLOCK_PROFILER): Mark with FIXME that it needs work. ! 6150: (ASM_OUTPUT_INTERNAL_LABELREF): Define. ! 6151: * spc-sol2.h: Entire file is new except for ! 6152: defining MD_STARTFILE_PREFIX. ! 6153: * dbxout.c (dbxout_block): obey DBX_BLOCKS_FUNCTION_RELATIVE ! 6154: (dbxout_init): Use ASM_IDENTIFY_GCC_AFTER_SOURCE if defined. ! 6155: ! 6156: * sparc.h (CONSTANT_ALIGNMENT): Add parens for Sun compiler. ! 6157: ! 6158: Sun Jul 19 11:03:56 1992 Fred Fish (fnf at fishpond) ! 6159: ! 6160: * i386v4.h (real.h): Remove apparently unnecessary inclusion. ! 6161: * i386v4.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA. ! 6162: ! 6163: Sat Jul 18 20:37:37 1992 Richard Stallman ([email protected]) ! 6164: ! 6165: * c-typeck.c (build_binary_op): Don't set shorten for signed division. ! 6166: ! 6167: * final.c (end_final): Align the table of addresses. ! 6168: ! 6169: Fri Jul 17 23:49:28 1992 Richard Stallman ([email protected]) ! 6170: ! 6171: * cexp.y: Include stdio.h. ! 6172: ! 6173: Fri Jul 17 06:17:34 1992 Tom Wood ([email protected]) ! 6174: ! 6175: * cp-tree.h (DECL_THIS_EXTERN): Renamed from DECL_EXTERNAL. ! 6176: * cp-pt.c, cp-decl.c: Rename DECL_EXTERNAL -> DECL_THIS_EXTERN and ! 6177: then rename TREE_EXTERNAL -> DECL_EXTERNAL. ! 6178: ! 6179: Fri Jul 17 05:59:26 1992 Richard Kenner ([email protected]) ! 6180: ! 6181: * function.c (instantiate_decls{,_1}): Don't do instantiation ! 6182: here if the address is mode-dependent. ! 6183: ! 6184: * libgcc2.c: Include tconfig.h instead of tm.h. ! 6185: Include machmode.h. ! 6186: (__do_global_dtors): Cast to widest integer type, then narrow, to ! 6187: avoid warning if int is narrower than pointer. ! 6188: * Makefile.in (libgcc2.a): Includes machmode.h. ! 6189: ! 6190: * cse.c (cse_insn): Allow paradoxical SUBREGs in the table. ! 6191: ! 6192: * reload.c (secondary_memlocs{,_elim}): New variables. ! 6193: (get_secondary_mem, clear_secondary_mem): New function. ! 6194: (push_reload): Convert SUBREG of hard reg to new hard reg. ! 6195: Call get_secondary_mem when needed. ! 6196: (find_reloads): Clear secondary_memloc_elim for each insn. ! 6197: * reload1.c (reload): If SECONDARY_MEMORY_NEEDED, check for frame ! 6198: size changed. ! 6199: Call clear_secondary_mem. ! 6200: (emit_reload_insns, gen_input_reload): Use memory when required to ! 6201: do reload. ! 6202: * reload.h (get_secondary_mem): Declare. ! 6203: ! 6204: * cccp.c (NULL_PTR): Define as void * if STDC. ! 6205: ! 6206: * rs6000.md (negdi2): Corrected name; used to be negdi3. ! 6207: ! 6208: * combine.c (subst, case SET): Put code to move SUBREG after ! 6209: code that calls make_compound_operation. ! 6210: (make_extraction): Don't check for INNER a REG except for in dest. ! 6211: Fix typo checking for REG. ! 6212: (make_compound_operation): Get the result in the same mode it ! 6213: used to be. ! 6214: ! 6215: * reload.c (push_reload): If a SUBREG requires a secondary reload ! 6216: but the inner expression doesn't, reload the inner expression ! 6217: instead. ! 6218: ! 6219: Fri Jul 17 02:20:51 1992 Richard Stallman ([email protected]) ! 6220: ! 6221: * gcc.c (process_command): Handle `-Wl,' and `-Wa,'. ! 6222: (do_spec_1): Handle %Y. ! 6223: (default_compilers): Use %Y in assembler commands. ! 6224: ! 6225: * function.c (assign_parms): In last change, test mode in parm type. ! 6226: ! 6227: Thu Jul 16 15:03:25 1992 Richard Stallman ([email protected]) ! 6228: ! 6229: * loop.c (find_and_verify_loops): Ignore jumps to missing labels, ! 6230: when using P. ! 6231: ! 6232: * c-typeck.c (build_binary_op): Improve shift warning messages. ! 6233: ! 6234: * x-dpx2 (AS): Use $(GAS). ! 6235: (GAS): New variable. ! 6236: ! 6237: * mot3300.h (ASM_OUTPUT_CASE_END): Deleted. ! 6238: ! 6239: * function.c (assign_parms): If arg was passed by invisible ! 6240: reference, copy it to a pseudo if appropriate. ! 6241: ! 6242: * dwarfout.c (pure_or_virtual_attribute): ! 6243: Add #if 0 around use of DECL_ABSTRACT_VIRTUAL_P. ! 6244: ! 6245: Wed Jul 15 16:29:05 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 6246: ! 6247: * dwarfout.c (BLOCK_INLINE_FUNCTION): Obsolete definition deleted. ! 6248: (block_ultimate_origin): New function. ! 6249: (output_block): ! 6250: Local var `have_significant_locals' renamed to `must_output_die'. ! 6251: (output_block): Rewritten to handle abstract & concrete instances of ! 6252: blocks of inline functions. ! 6253: (output_decls_for_scope): ! 6254: Don't bump `next_block_number' for abstract blocks. ! 6255: ! 6256: * toplev.c (rest_of_compilation): Call `dwarfout_file_scope_decl' for ! 6257: both types of "abstract" instances of inline functions. ! 6258: ! 6259: * tree.def (BLOCK): Use new tree code category letter 'b' for BLOCKs. ! 6260: * tree.h (struct tree_block): New struct type definition added. ! 6261: (BLOCK_VARS, BLOCK_TYPE_TAGS, BLOCK_SUBBLOCKS, BLOCK_HANDLER_BLOCK): ! 6262: Changed to reference fields of the new `struct tree_block' type. ! 6263: (BLOCK_ABSTRACT_ORIGIN, BLOCK_ABSTRACT): Definitions added. ! 6264: (union tree_node): Added `struct tree_block' as a new variant. ! 6265: * tree.c (typedef tree_node_kind): Added new kind, i.e. `b_kind'. ! 6266: (tree_node_kind_names): Added string name for new kind `b_kind'. ! 6267: (make_node, copy_node, stabilize_reference_1): ! 6268: Handle case 'b' (for BLOCK nodes). ! 6269: (make_node): Don't try to deal with BLOCKs when doing a type 'e' node. ! 6270: * print-tree.c (print_node): ! 6271: Handle type 'b'; delete code for BLOCK from 'e' case. ! 6272: Handle fields BLOCK_ABSTRACT_ORIGIN and BLOCK_ABSTRACT. ! 6273: * calls.c (calls_alloca): Don't return 0 automatically if the expr ! 6274: given is headed by a type 'b' node. ! 6275: * cp-tree.c (break_out_calls): Add case for decl nodes. ! 6276: Added case to catch BLOCK nodes (and to abort). ! 6277: * integrate.c (copy_decl_tree): Set BLOCK_ABSTRACT_ORIGIN in new ! 6278: instance block if not already set. ! 6279: (expand_inline_function): Set BLOCK_ABSTRACT_ORIGIN for outermost ! 6280: scope to point to progenitor (abstract inline) FUNCTION_DECL node. ! 6281: (integrate_decl_tree): Set BLOCK_ABSTRACT_ORIGIN for inlined instance ! 6282: BLOCKs. ! 6283: (set_block_origin_self, set_decl_origin_self, set_block_abstract_flags, ! 6284: set_decl_abstract_flags): New functions. ! 6285: (output_inline_function): Call `set_decl_origin_self' for each fndecl ! 6286: which is about to have an out-of-line instance generated for it. ! 6287: ! 6288: Wed Jul 15 15:08:00 1992 Richard Stallman ([email protected]) ! 6289: ! 6290: * c-convert.c (convert_to_integer): Push truncation inside COND_EXPR. ! 6291: ! 6292: * optabs.c (emit_cmp_insn): Always do protect_from_queue on x, y, size. ! 6293: (expand_float, expand_fix): Likewise. ! 6294: * expmed.c (expand_shift, expand_set_flag): ! 6295: Call protect_from_queue before convert_to_mode. ! 6296: * expr.c (convert_move): Don't call protect_from_queue. ! 6297: (emit_block_move): Protect SIZE. ! 6298: ! 6299: * explow.c (allocate_dynamic_stack_space) [SETJMP_VIA_SAVE_AREA]: ! 6300: Always call round_push; we can't rely on alignment of size. ! 6301: ! 6302: Wed Jul 15 06:47:11 1992 Richard Kenner ([email protected]) ! 6303: ! 6304: * combine.c (try_combine): Verify that I2DEST is a register before ! 6305: trying to change its mode. ! 6306: ! 6307: Tue Jul 14 15:13:28 1992 Jim Wilson ([email protected]) ! 6308: ! 6309: * c-decl.c (finish_struct): Handle nested struct redefinitions. ! 6310: * stor-layout.c (layout_record): Handle NULL dsize. ! 6311: ! 6312: Tue Jul 14 21:31:51 1992 Richard Stallman ([email protected]) ! 6313: ! 6314: * c-decl.c (duplicate_decls, pushdecl, grokdeclarator): ! 6315: (store_parm_decls, combine_parm_decls, finish_function): ! 6316: Use TYPE_MAIN_VARIANT when comparing against specific non-void types. ! 6317: * c-typeck.c (self_promoting_args_p, self_promoting_type_p): ! 6318: (signed_type, unsigned_type, default_conversion, check_format): ! 6319: (build_binary_op, c_expand_start_case): Likewise. ! 6320: ! 6321: Mon Jul 13 14:57:34 1992 Richard Stallman ([email protected]) ! 6322: ! 6323: * c-decl.c (finish_function): Fix braino validating ret type of main. ! 6324: ! 6325: * expr.c (expand_builtin): Refer to errno at rtl level only. ! 6326: * sparc.h (TARGET_EDOM, GEN_ERRNO_RTX): New macros. ! 6327: ! 6328: Mon Jul 13 06:35:53 1992 Paul Eggert ([email protected]) ! 6329: ! 6330: * expr.c (expand_builtin): ! 6331: For fsqrt, always use the special insn, then test for nan. ! 6332: ! 6333: Mon Jul 13 08:45:34 1992 Tom Wood ([email protected]) ! 6334: ! 6335: * m88k.md: Constraint fixes from Torbjorn. ! 6336: ! 6337: * jump.c (jump_optimize): In `x = a; if (...) x = b;' allow both a ! 6338: and b to be non-zero if jumps are very expensive. Also allow a ! 6339: and b to be constants where all the set bits in a are also set in ! 6340: b when jumps are merely expensive. ! 6341: ! 6342: Sun Jul 12 17:43:03 1992 Richard Kenner ([email protected]) ! 6343: ! 6344: * genpeep.c (match_rtx): Sometimes use %ld when printing an XWINT. ! 6345: ! 6346: * regclass.c (record_reg_classes): If OP is a REG, use it's mode ! 6347: in case the mode in MATCH_OPERAND is VOIDmode. ! 6348: ! 6349: Sun Jul 12 13:03:54 1992 Richard Stallman ([email protected]) ! 6350: ! 6351: * fixincludes: Replace the code that finds all directories ! 6352: so that it looks for subdirs of dir reached via symlinks. ! 6353: ! 6354: * cp-tree.h (IDENTIFIER_VIRTUAL_P): Macro moved here. ! 6355: * tree.h (IDENTIFIER_VIRTUAL_P): Deleted from here. ! 6356: ! 6357: * rtl.h (NOTE_BLOCK_NUMBER, SET_NOTE_BLOCK_NUMBER): New macros. ! 6358: (NOTE_DECL_NAME, NOTE_DECL_CODE, ...): #if 0'd. ! 6359: * function.c (identify_blocks, reorder_blocks): New functions. ! 6360: (all_blocks, blocks_nreverse): New functions. ! 6361: ! 6362: * isi.h: Deleted the #error; file should work now. ! 6363: (LIB_SPEC): Use -lg only once. ! 6364: (STRUCTURE_SIZE_BOUNDARY): Defined. ! 6365: ! 6366: * protoize.c (process_aux_info_file): Set must_create before jumping to ! 6367: start_over. Don't clear must_create at start_over. Don't test ! 6368: source file mod time for SYSCALLS. ! 6369: ! 6370: * machmode.h (GET_MODE_NUNITS): Avoid division by zero. ! 6371: ! 6372: Sat Jul 11 22:21:47 1992 Richard Stallman ([email protected]) ! 6373: ! 6374: * objc-parse.y (primary): Don't test TREE_EXTERNAL; ! 6375: call assemble_external regardless. ! 6376: ! 6377: * tree.h (DECL_INLINE, DECL_NONLOCAL, DECL_REGISTER, DECL_EXTERNAL): ! 6378: Renamed from TREE_INLINE, TREE_NONLOCAL, TREE_REGDECL, TREE_EXTERNAL. ! 6379: All uses changed. ! 6380: ! 6381: * xm-hp320.h (USG): Define it. ! 6382: ! 6383: Sat Jul 11 21:43:56 1992 Michael Meissner ([email protected]) ! 6384: ! 6385: * mips.h (MIPS_VERSION): Bump meissner version number to 21. ! 6386: ! 6387: * mips.md (andsi3, iorsi3, xorsi3): Make predicates match the ! 6388: actual machine, since combine can now recreate the bitfields, and ! 6389: doesn't do multiple logical operations when setting more than one ! 6390: bitfield in a word. ! 6391: ! 6392: * objc-actions.c (xmalloc, free): Don't provide extern decls for ! 6393: these, since tree.h and rtl.h both now provide them. ! 6394: ! 6395: * cp-lex.c (real_yylex): Declare a variable i, since a for loop ! 6396: uses it as an index. Remove an extra '(' from a build_int_2 call. ! 6397: ! 6398: Sat Jul 11 13:13:03 1992 Richard Stallman ([email protected]) ! 6399: ! 6400: * varasm.c: Get rid of default definitions of ASM_OUTPUT_CONSTRUCTOR ! 6401: and ASM_OUTPUT_DESTRUCTOR. ! 6402: ! 6403: * c-aux-info (affix_data_type): Don't be fooled by names starting ! 6404: with `const' or `volatile'. ! 6405: ! 6406: * c-typeck.c (digest_init): Deal with nested {...} for scalar. ! 6407: ! 6408: * loop.c, reload1.c: Include stdio.h before config.h. ! 6409: ! 6410: * toplev.c (rest_of_compilation): Save and restore DECL_ARGUMENTS. ! 6411: ! 6412: Fri Jul 10 22:42:34 1992 Paul Eggert ([email protected]) ! 6413: ! 6414: * tree.c (build_real_from_int_cst): Truncate when folding to float. ! 6415: (real_value_from_int_cst): Do not treat the topmost bit ! 6416: of an unsigned long long value as a sign bit. ! 6417: ! 6418: * cse.c (simplify_binary_operation): Don't optimize 0.0/x to 0.0 ! 6419: if IEEE floating point is used, because x might be negative or NaN. ! 6420: ! 6421: Fri Jul 10 15:37:42 1992 Richard Stallman ([email protected]) ! 6422: ! 6423: * genpeep.c (match_rtx): Handle `w' elts of rtx. ! 6424: ! 6425: * Makefile.in (INTERNAL_CFLAGS): Add -DIN_GCC. ! 6426: ! 6427: Fri Jul 10 18:56:22 1992 Eric Youngdale ([email protected]) ! 6428: ! 6429: * cccp.c (finclude): Clean error msf if file_size_and_mode fails. ! 6430: ! 6431: Fri Jul 10 13:44:46 1992 Howard Chu ([email protected]) ! 6432: ! 6433: * fx2800.h (LINK_LIBGCC_SPECIAL): Defined. ! 6434: (DBX_OUTPUT_STANDARD_TYPES): Check that DECL_NAME(decl) exists ! 6435: before trying to get its IDENTIFIER_POINTER. ! 6436: ! 6437: Thu Jul 9 20:56:01 1992 Per Bothner ([email protected]) ! 6438: ! 6439: * dbxout.c (dbxout_type_methods): Fix minimal_debug so ! 6440: that it skips a redundant class name prefix, as intended. ! 6441: It now expects the length digits that precede the class name. ! 6442: ! 6443: Thu Jul 9 18:23:12 1992 Torbjorn Granlund ([email protected]) ! 6444: ! 6445: * Makefile.in, libgcc2.c, longlong.h: Rename udiv_using_sdiv to ! 6446: udiv_w_sdiv. ! 6447: ! 6448: Thu Jul 9 18:10:40 1992 Richard Stallman ([email protected]) ! 6449: ! 6450: * tree.h (STRIP_TYPE_NOPS): New macro. ! 6451: * c-decl.c (build_enumerator): Use STRIP_TYPE_NOPS. ! 6452: * c-typeck.c (default_conversion): Use STRIP_TYPE_NOPS. ! 6453: (build_binary_op, build_function_call): Likewise. ! 6454: * c-common.c (check_case_value): Use STRIP_TYPE_NOPS. ! 6455: ! 6456: * mot3300.h (ASM_OUTPUT_CASE_END): New macro. ! 6457: * m68k.c (switch_table_difference_label_flag): New variable. ! 6458: ! 6459: * i860.md (QI and HI bte/btne patterns): Deleted. ! 6460: ! 6461: Thu Jul 9 06:09:20 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 6462: ! 6463: * c-typeck.c (default_conversion): Don't use STRIP_NOPS. ! 6464: ! 6465: * print-rtl.c: Missing merge from 64-bit changes. ! 6466: (print_rtx): Add new case 'w'. ! 6467: ! 6468: Wed Jul 8 14:35:39 1992 Richard Stallman ([email protected]) ! 6469: ! 6470: * fixincludes, fixinc.svr4: Error if no argument. ! 6471: ! 6472: * tree.c (integer_zerop, integer_onep, integer_all_onesp): ! 6473: (integer_pow2p, real_zerop, real_onep, real_twop): Use STRIP_NOPS. ! 6474: * expr.c (do_store_flag): Likewise. ! 6475: * varasm.c (output_constructor): Likewise. ! 6476: * c-decl.c (finish_struct, build_enumerator): Likewise. ! 6477: * c-typeck.c (default_conversion, build_binary_op): Likewise. ! 6478: (build_function_call): Likewise. ! 6479: ! 6480: * integrate.c (integrate_decl_tree): Get rid of arg functionbody; ! 6481: it was always 0. ! 6482: ! 6483: * mot3300.h: Fix typo. ! 6484: ! 6485: * final.c (leaf_renumber_regs_insn): Handle new 'w' format. ! 6486: ! 6487: Wed Jul 8 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 6488: ! 6489: * tree.h (DECL_ABSTRACT_ORIGIN, DECL_ABSTRACT): Definitions added. ! 6490: (struct tree_decl): New fields `abstract_origin' & `abstract_flag'. ! 6491: (struct tree_decl): Field `from_inline_flag' deleted. ! 6492: (DECL_FROM_INLINE): Definition revised to check DECL_ABSTRACT_ORIGIN. ! 6493: * integrate.c (copy_decl_list): New function added. ! 6494: (save_for_inline_copying): Call `copy_decl_list' for formal parameters. ! 6495: Set DECL_ABSTRACT_ORIGIN for fndecl to point to itself. ! 6496: (copy_decl_tree): Use `copy_decl_list' rather than just `copy_list'. ! 6497: (integrate_parm_decls, integrate_decl_tree): Set DECL_ABSTRACT_ORIGIN ! 6498: to point to the progenitor. ! 6499: * print-tree.c (print_node): Print the value of DECL_ABSTRACT_ORIGIN ! 6500: rather than the value of DECL_FROM_INLINE. ! 6501: ! 6502: * dwarfout.c (output_inlined_enumeration_type_die): New function. ! 6503: (output_inlined_structure_type_die, output_inlined_union_type_die): ! 6504: New functions added. ! 6505: (output_entry_point_die, output_formal_parameter_die, ! 6506: output_global_subroutine_die, output_global_variable_die, ! 6507: output_label_die, output_lexical_block_die, ! 6508: output_inlined_subroutine_die, output_local_variable_die, ! 6509: output_local_subroutine_die): ! 6510: Fixed to handle inline abstract & concrete (i.e. inlined) instances. ! 6511: (output_inlined_subroutine_die): Deleted. ! 6512: (output_label_die): Don't permit the rtx associated with a named ! 6513: user-declared label to be marked as INSN_DELETED_P. ! 6514: (output_tagged_type_instantiation): New function added. ! 6515: (output_decl): Call `output_tagged_type_instantiation'. ! 6516: Don't generate a pubnames label for anything marked as DECL_ABSTRACT. ! 6517: (output_die): Generate the proper kind fo DIE for each of the four ! 6518: possible combination of {normal, inlined} {variable, parameter}. ! 6519: (dwarfout_file_scope_decl): Don't generate pubnames entries if ! 6520: strictly abstract. ! 6521: ! 6522: * dwarfout.c (ordering_attribute): Only def if USE_ORDERING_ATTRIBUTE ! 6523: is defined. ! 6524: (output_array_type_die): Only call ordering_attribute if it is defined. ! 6525: (name_and_src_coords_attributes): Don't make it inline. ! 6526: Do make it static linkage. ! 6527: (const_value_attribute): Catch invalid kinds of rtx nodes ! 6528: by aborting for the default case in switch. ! 6529: ! 6530: * dwarfout.c (output_ptr_to_mbr_type_die): Make it static linkage. ! 6531: (output_formal_types): Make sure that `formal_type' is initialized. ! 6532: (output_type): Add a default case for switch. ! 6533: (output_decl): Don't suppress DIEs for the initial (artificial) ! 6534: arguments for C++ static member functions. ! 6535: ! 6536: * dwarfout.c (ceiling, field_type, simple_type_align_in_bits, ! 6537: simple_type_size_in_bits, field_byte_offset): New functions added. ! 6538: (data_member_location_attribute): Use new routine `field_byte_offset' ! 6539: to calculate the offset value for the AT_location attribute. ! 6540: (byte_size_attribute): Use new routine `field_type' to get the ! 6541: actual type for any FIELD_DECL. Also, use `simple_type_size_in_bits' ! 6542: to avoid potential problems with ERROR_MARKs when computing the size ! 6543: of a FIELD_DECL. ! 6544: (bit_offset_attribute): Rewritten to use `field_byte_offset' when ! 6545: determining the start of the "containing object". ! 6546: ! 6547: * integrate.c (expand_inline_function): Integrate parameters before ! 6548: locals to get debugging information in the proper order. ! 6549: (integrate_decl_tree): Don't do a redundant pushlevel/poplevel for ! 6550: the outermost scope (i.e. when level==0)... just use the one created ! 6551: by `expand_inline_function'. ! 6552: ! 6553: * calls.c (calls_alloca): For BLOCK, walk subblocks and vars by hand. ! 6554: ! 6555: Wed Jul 8 13:31:19 1992 Michael Meissner ([email protected]) ! 6556: ! 6557: * cp-decl.c (print_binding_level): Fix typo, where 'lbl' was used ! 6558: instead of 'lvl'. ! 6559: ! 6560: * objc-actions.c (build_shared_structure_initializer): Correct call ! 6561: to build_int_2 which had only one argument, instead of two. ! 6562: ! 6563: Wed Jul 8 06:37:40 1992 Torbjorn Granlund ([email protected]) ! 6564: ! 6565: * gstdarg.h, gvarargs.h: Test `__hppa__' instead of `__hp9000s800__'. ! 6566: ! 6567: * romp.md (zero_extendhisi2): Remove unneeded constraint. ! 6568: ! 6569: * rs6000.md (zero_extendhisi2): Remove unneeded constraint. ! 6570: (lu/stu): Use %0 instead of %1 in assembler insns. ! 6571: (call_value): Add missing "=" in constraint. ! 6572: ! 6573: Wed Jul 8 06:30:20 1992 Richard Kenner ([email protected]) ! 6574: ! 6575: * rs6000.md (floatsidf): Correctly handle case when SImode operand ! 6576: overlaps the first DFmode register. ! 6577: ! 6578: * fold-const.c (distribute_bit_expr, range_test, fold_truthop): ! 6579: Use TRUTH_AND_EXPR instead of BIT_AND_EXPR so invert_truthvalue works. ! 6580: ! 6581: * c-decl.c (grokdeclarator): Strip all NOP_EXPRs from SIZE. ! 6582: ! 6583: * integrate.c: Do 64-bit changes (this file omitted the last time). ! 6584: Replace use of NULL and 0 in functions args with NULL_RTX. ! 6585: (copy_rtx_and_substitute, subst_constants): Handle "w" rtl ! 6586: operand class. ! 6587: ! 6588: * rs6000.h (LINK_SPEC): Support -static. ! 6589: ! 6590: * tree.c (make_node, copy_node, make_tree_vec, tree_cons, build1): ! 6591: Clear or copy tree nodes in a consistent manner, referencing ! 6592: every byte of the node. ! 6593: ! 6594: * regclass.c: Initialize REG_CLASS_CONTENTS into an array of ! 6595: ints, then copy into a HARD_REG_SET to avoid conditionalization ! 6596: of REG_CLASS_CONTENTS on 64-bit machines. ! 6597: ! 6598: * c-common.c (check_case_value): Strip the NOP_EXPR added by ! 6599: the grammar. ! 6600: * stmt.c (pushcase, pushcase_range): Don't do it here. ! 6601: ! 6602: * c-lex.c (yylex): Ensure TOTAL_PARTS is wide enough to store a ! 6603: constant as wide as we can store in an INTEGER_CST. ! 6604: (LONG_LONG_TYPE_SIZE): Deleted; no longer needed. ! 6605: ! 6606: Tue Jul 7 15:50:38 1992 Chip Salzenberg ([email protected]) ! 6607: ! 6608: * x-i386sco (XCFLAGS): Omit flags specific to "rcc". ! 6609: (CC, OLDCC): Put them here instead. ! 6610: ! 6611: Tue Jul 7 18:57:10 1992 Mike Stump ([email protected]) ! 6612: ! 6613: The below entries should make DWARF debugging a little bit easier. ! 6614: ! 6615: * cp-decl.c (pushdecl): IDENTIFIER_GLOBAL_VALUE should not be _DECL ! 6616: nodes but rather TYPE_DECLs. ! 6617: ! 6618: * cp-decl.c (pushtag): Mark binding layer markers as internal. ! 6619: ! 6620: * cp-class.c (finish_struct): Propagate internal mark on binding ! 6621: layer markers. ! 6622: ! 6623: * cp-decl2.c (finish_file): Don't name things that should not be ! 6624: named. ! 6625: ! 6626: * cp-method.c (decl_as_string): New back-end routine for ! 6627: substitute_nice_name. ! 6628: ! 6629: * cp-decl2.c (substitute_nice_name): New function used to create ! 6630: reasonable DECL_NAMEs from cyrptic ones. ! 6631: ! 6632: * cp-decl2.c (grokclassfn): Use substitute_nice_name. ! 6633: ! 6634: Tue Jul 7 14:04:01 1992 Richard Stallman ([email protected]) ! 6635: ! 6636: * expr.c (emit_move_insn): Don't try subwords for a single word. ! 6637: ! 6638: * gcc.c (find_a_file, putenv_from_prefix): ! 6639: Handle value of 2 in require_machine_suffix. ! 6640: (process_command): Supply 2 for standard_exec_prefix{,_1}. ! 6641: ! 6642: * gstdarg.h: Undefine _BSD_VA_LIST if we define va_list. ! 6643: ! 6644: * cccp.c (append_include_chain): Fix setting of first_bracket_include. ! 6645: ! 6646: * loop.c (init_loop): Use word_mode, not SImode. ! 6647: ! 6648: * x-dpx2: New file. ! 6649: * x-dpx2200, x-dpx2300: Files deleted. ! 6650: * configure (m68k-bull-sysv*): Fatal error unless --with-gas. ! 6651: Always use x-dpx2. ! 6652: ! 6653: * libgcc2.c (XFtype): Turn off definition; not used. ! 6654: (TFtype): Define only if needed. ! 6655: ! 6656: Tue Jul 7 11:57:44 1992 Torbjorn Granlund ([email protected]) ! 6657: ! 6658: * tahoe.md (call_value): Add `=' to output operand constraint. ! 6659: * arm.md (call_value): Likewise. ! 6660: * gmicro.md (negsf2, negdf2, abssf2, absdf2): Likewise. ! 6661: (peephole for moving returned value to fp reg): Likewise. ! 6662: ! 6663: * longlong.h (SI_TYPE_SIZE): Renamed from LONG_TYPE_SIZE. ! 6664: ! 6665: * longlong.h (machine independent code): #define udiv_qrnnd to call ! 6666: __udiv_using_sdiv if we have sdiv_qrnnd but not udiv_qrnnd. ! 6667: * libgcc2.c (__udiv_using_sdiv): New function. ! 6668: * Makefile.in (LIB2FUNCS): Add __udiv_using_sdiv. ! 6669: ! 6670: Mon Jul 6 23:28:29 1992 Mike Stump ([email protected]) ! 6671: ! 6672: * cp-dem.c, cp-lex.c, cp-method.c, cp-xref.c: Do not include ! 6673: string.h or strings.h. ! 6674: ! 6675: Mon Jul 6 18:32:31 1992 Richard Kenner ([email protected]) ! 6676: ! 6677: * emit-rtl.c (operand_subword): Avoid conditionals in macro arg. ! 6678: ! 6679: * Changes to support execution on 64-bit machines. ! 6680: * machmode.h (HOST_BITS_PER_WIDE_INT, HOST_WIDE_INT, HOST_PTR_PRINTF): ! 6681: Provide default definitions. ! 6682: (MAX_SHORT): New macro. ! 6683: (GET_MODE_BITSIZE): Cast result and shift constant to HOST_WIDE_INT. ! 6684: * rtl.h (union rtunion_def): Add field rtwint. ! 6685: (XWINT): New accessor macro. ! 6686: (INTVAL): Use XWINT, not XINT. ! 6687: (exact_log2, floor_log2, plus_constant, plus_constant_for_output): ! 6688: Now macros that cast arg to HOST_WIDE_INT. ! 6689: (NULL, NULL_PTR): Provide default definitions. ! 6690: (GEN_INT): New macro. ! 6691: (get_integer_term): Now returns HOST_WIDE_INT. ! 6692: * tree.h (NULL, NULL_PTR): Provide default definitions. ! 6693: (INT_CST_LT, INT_CST_LT_UNSIGNED): Cast to HOST_WIDE_INT. ! 6694: (struct tree_int_cst): Pieces of constant are HOST_WIDE_INT, not ! 6695: long. ! 6696: (exact_log2, floor_log2, build_int_2): Now macros, like rtl.h. ! 6697: * real.h (REAL_VALUE_TYPE, union real_extract): Use HOST_WIDE_INT, ! 6698: not long. ! 6699: (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XWINT instead of XINT. ! 6700: * rtl.def (CONST_INT): Operand type now "w". ! 6701: (CONST_DOUBLE): Change operands from type "i" to "w". ! 6702: * basic-block.h (REGSET_ELT_BITS): Always use HOST_BITS_PER_WIDE_INT. ! 6703: (REGSET_ELT_TYPE): New macro; same as HOST_WIDE_INT. ! 6704: * expr.h (ARGS_SIZE_RTX): Use NULL_RTX in expand_expr call. ! 6705: (plus_constant): Remove duplicate declaration. ! 6706: * hard-reg-set.h (HARD_REG_SET): Only scalar type we use ! 6707: is HOST_WIDE_INT; array is array of HOST_WIDE_INT. ! 6708: * loop.h (struct induction): Field CONST_ADJUST is now HOST_WIDE_INT. ! 6709: (loop_n_iterations): Now unsigned HOST_WIDE_INT. ! 6710: (loop_iterations): Returns HOST_WIDE_INT. ! 6711: * c-parse.y, cexp.y, c-decl.c, c-lex.c, c-typeck.c, caller-save.c: ! 6712: Change 0 or NULL when passed as a parameter that should be a pointer ! 6713: to NULL_TREE, NULL_RTX, or NULL_PTR, as appropriate. ! 6714: * calls.c, cccp.c, combine.c, cp-lex.c, cse.c, dbxout.c: Likewise. ! 6715: * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise. ! 6716: * final.c, flow.c, fold-const.c, function.c, gcc.c: Likewise. ! 6717: * genattrtab.c, genpeep.c, genrecog.c, global-alloc.c: Likewise. ! 6718: * jump.c, local-alloc.c, optabs.c, recog.c, reg-stack.c: Likewise. ! 6719: * regclass.c, reload.c, reload1.c, reorg.c, rtl.c: Likewise. ! 6720: * rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c: Likewise. ! 6721: * toplev.c, unroll.c, varasm.c, loop.c, xcoffout.c: Likewise. ! 6722: * caller-save.c, combine.c, cp-class.c, cp-decl.c, cp-method.c: ! 6723: Cast and declare objects used to refer to wide values as HOST_WIDE_INT. ! 6724: Use HOST_BITS_PER_WIDE_INT instead of HOST_BITS_PER_INT. ! 6725: * cp-pt.c, cp-type2.c, cp-typeck.c, cse.c, dbxout.c: Likewise. ! 6726: * dwarfout.c, emit-rtl.c, explow.c, expmed.c, expr.c: Likewise. ! 6727: * final.c, fold-const.c, genattrtab.c, recog.c, reg-stack.c: Likewise. ! 6728: * regclass.c, reload.c, sched.c, stmt.c, stor-layout.c: Likewise. ! 6729: * loop.c, toplev.c, unroll.c, varasm.c: Likewise. ! 6730: * caller-save.c, combine.c, flow.c, global-alloc.c, reorg.c, sched.c: ! 6731: When refering to regsets, use type REGSET_ELT_TYPE. ! 6732: * calls.c, combine.c, emit-rtl.c, explow.c, expmed.c, expr.c, final.c: ! 6733: Use GEN_INT macro when making CONST_INTs. ! 6734: * function.c, jump.c, loop.c, optabs.c, recog.c, reload1.c: Likewise. ! 6735: * unroll.c: Likewise. ! 6736: * cp-decl.c, cp-ptree.c, print-tree.c: Use HOST_PTR_PRINTF when ! 6737: printing pointer values. ! 6738: * cccp.c, cexp.y, gcc.c (NULL, NULL_PTR): Provide default definition. ! 6739: * c-common.c (NULL): Remove definition from here. ! 6740: * c-decl.c (NULL): Likewise. ! 6741: (finish_struct): Ensure high-order part of width is zero. ! 6742: * cp-decl.c (finish_enum): Likewise. ! 6743: * c-lex.c (yylex): Call build_int_2 in more portable way. ! 6744: (yyprint): Print constant different ways, depending on host parameters. ! 6745: * final.c (output_asm_insn, output_addr_cont): Likewise. ! 6746: * genattrtab.c (write_test_expr): Likewise. ! 6747: * print-tree.c (print_node_brief, print_node): Likewise. ! 6748: * cp-decl.c (xref_tag): Remove explicit reference to modes. ! 6749: * cp-method.c (build_overload_value): Likewise. ! 6750: * cp-lex.c (real_yylex): Make accumulating bits for constant ! 6751: more portable. ! 6752: * cse.c (uid_cuid): Now pointer to int instead of to short. ! 6753: (exp_equiv_p): Change ifs on GET_RTX_FORMAT to a switch. ! 6754: Add format code of "w". ! 6755: * emit-rtl.c (gen_rtx): Add format code of "w". ! 6756: * jump.c (rtx_renumbered_equal_p, rtx_equal_for_thread_p): Likewise. ! 6757: * loop.c (rtx_equal_for_loop_p): Likewise. ! 6758: * reload.c (operands_match_p): Likewise. ! 6759: * rtl.c (copy_rtx, copy_most_rtx): Likewise. ! 6760: * rtlanal.c (rtx_equal_p): Likewise. ! 6761: * sched.c (rtx_equal_for_memref_p): Likewise. ! 6762: * explow.c (plus_constant_wide): Formerly plus_constant; argument ! 6763: is HOST_WIDE_INT. ! 6764: (plus_constant_for_output_wide): Similarly. ! 6765: * fold-const.c: Use MAX_SHORTS for dimension of array of shorts. ! 6766: * genattrtab.c (NULL_ATTR): New macro. ! 6767: (attr_rtx): Use XWINT, not XINT, for CONST_INT. ! 6768: Add case "w". ! 6769: (check_attr_test, write_test_expr, main): Use XWINT, not XINT, ! 6770: for CONST_INT. ! 6771: * genemit.c (gen_exp): Use "NULL_RTX" instead of "0" when ! 6772: emitting null. ! 6773: Use GEN_INT and proper width when emitting a CONST_INT. ! 6774: Abort if trying to write a CONST_DOUBLE. ! 6775: * genrecog.c (struct decision): Add new fields TEST_ELT_ZERO_WIDE ! 6776: and ELT_ZERO_WIDE. ! 6777: (add_to_sequence, not_both_true, merge_trees, write_tree_1): ! 6778: Use new fields. ! 6779: * global-alloc.c (INT_BITS, INT_TYPE): Use HOST_WIDE_INT for type ! 6780: of conflict matrix. ! 6781: * loop. (loop_n_iterations): Now HOST_WIDE_INT. ! 6782: * recog.c: Remove redundant declarations of plus_constant_for_output ! 6783: and copy_rtx. ! 6784: * rtl.c: Declare atol if needed. ! 6785: (rtx_format): Add code for "w". ! 6786: (read_rtx): Read code "w" field with atol if required. ! 6787: (init_rtl): Fields of CONST_DOUBLE are now type "w". ! 6788: * rtlanal.c (get_integer_term): Returns HOST_WIDE_INT. ! 6789: * cccp.c, toplev.c: Error function args are HOST_WIDE_INT (kludge). ! 6790: * toplev.c (exact_log2_wide): Renamed from exact_log2 and now has ! 6791: arg of type HOST_WIDE_INT. ! 6792: (floor_log2_wide): Similarly. ! 6793: * tree.c (permalloc): Type of SIZE arg is int, not long. ! 6794: (build_int_2_wide): Renamed from build_int_2 and has args of ! 6795: type HOST_WIDE_INT. ! 6796: * unroll.c (loop_iterations): Now returns HOST_WIDE_INT. ! 6797: * varasm.c (immed_double_const): Arguments are now HOST_WIDE_INT. ! 6798: ! 6799: Mon Jul 6 14:56:26 1992 Richard Stallman ([email protected]) ! 6800: ! 6801: * c-common.c (decl_attributes): Don't set DECL_PACKED on VAR_DECL. ! 6802: ! 6803: * Makefile.in (GCC_CFLAGS): ! 6804: Use CROSS_GCC_CFLAGS instead of -B for tooldir. ! 6805: * cross-make (CROSS_GCC_CFLAGS): Define as -B for tooldir. ! 6806: ! 6807: * c-decl.c (finish_function): If return type of `main' is not `int', ! 6808: warn instead of doing DEFAULT_MAIN_RETURN. ! 6809: ! 6810: * collect2.c, dwarfout.c, halfpic.c: Don't incude string.h. ! 6811: ! 6812: * c-decl.c (duplicate_decls): Let char *foo () match void *foo () ! 6813: only if one of them came from a system header file. ! 6814: ! 6815: * stmt.c (pushcase): Fix typo. ! 6816: ! 6817: * Makefile.in (ALLOCA_FINISH): Make default `true'. ! 6818: ! 6819: * cccp.c (main): Clear first_bracket_include for -I-. ! 6820: Set first_system_include for first system header directory. ! 6821: (is_system_include): Start search at first_system_include. ! 6822: ! 6823: Mon Jul 6 12:58:27 1992 Chip Salzenberg ([email protected]) ! 6824: ! 6825: * cccp.c (INCLUDE_LEN_FUDGE): Defined. ! 6826: (append_include_chain): New function. Adds directory(ies) ! 6827: to include chain and updates value of max_include_len. ! 6828: (main, path_include): Use append_include_chain. ! 6829: (do_include): Use INCLUDE_LEN_FUDGE. ! 6830: ! 6831: * tree.h (DECL_IN_SYSTEM_HEADER): Defined. ! 6832: (struct tree_decl): Add in_system_header_flag. ! 6833: * c-common.c (declare_function_name): For __FUNCTION__ ! 6834: and __PRETTY_FUNCTION__, set DECL_IN_SYSTEM_HEADER instead ! 6835: of TREE_USED to supress `unused' warnings. ! 6836: * c-decl.c (duplicate_decls): Merge DECL_IN_SYSTEM_HEADER flag. ! 6837: * print-tree.c (print_node): Display TREE_RAISES and ! 6838: DECL_IN_SYSTEM_HEADER flags. ! 6839: * toplev.c (compile_file): Do not warn if an unused DECL ! 6840: has DECL_IN_SYSTEM_HEADER set. ! 6841: (rest_of_compilation): Do not set TREE_USED on static ! 6842: functions defined in system headers; this will be taken ! 6843: care of with DECL_IN_SYSTEM_HEADER. ! 6844: * tree.c (make_node): Set DECL_IN_SYSTEM_HEADER on permanent ! 6845: decls defined in system headers. ! 6846: * objc-actions.c (build_module_descriptor,add_objc_decls): ! 6847: Set DECL_IN_SYSTEM_HEADER instead of TREE_USED on compiler- ! 6848: created decls. ! 6849: ! 6850: Mon Jul 6 10:17:30 1992 Michael Collison (collison at osf.org) ! 6851: ! 6852: * i386.h (SUBTARGET_SWITCHES): ! 6853: Incoporate SUBTARGET_SWITCHES into TARGET_SWITCHES. ! 6854: (HALF_PIC_P, HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS, ! 6855: HALF_PIC_ENCODE, HALF_PIC_DECLARE, HALF_PIC_INIT, ! 6856: HALF_PIC_ADDRESS_P, HALF_PIC_PTR, HALF_PIC_FINISH): ! 6857: Define these as stubs if not OSF/1 platform. ! 6858: * i386.md (movsi): Recognize half-pic moves. ! 6859: ! 6860: Mon Jul 6 11:16:47 1992 Tim Moore ([email protected]) ! 6861: ! 6862: * pa.h (ASM_DECLARE_FUNCTION_NAME): Fix typo ! 6863: ! 6864: Mon Jul 6 08:48:51 1992 Torbjorn Granlund ([email protected]) ! 6865: ! 6866: * m68k.md (swapsi): Add `+' operand constraints. ! 6867: (insert to memory recognizer): Add `+'. ! 6868: (peephole for moving returned value to fp reg): Add `='. ! 6869: ! 6870: Sun Jul 5 16:34:24 1992 John F Carr (jfc at Achates.mit.edu) ! 6871: ! 6872: * vax.md (addsi3): Code generation improvements (whether to use movab). ! 6873: ! 6874: * vax.md (andsi3, andhi3, andqi3): If one of the source operands ! 6875: is a constant, complement that operand instead of a register or ! 6876: memory operand. ! 6877: ! 6878: Sun Jul 5 13:16:15 1992 Richard Kenner ([email protected]) ! 6879: ! 6880: * combine.c (try_combine): When splitting using a DEFINE_SPLIT, ! 6881: update the number of sets of the destination if it is being set ! 6882: twice. Also update reg_significant. ! 6883: ! 6884: Sun Jul 5 13:14:50 1992 Richard Stallman ([email protected]) ! 6885: ! 6886: * c++: Fix typo testing $quote for nullness. ! 6887: ! 6888: * cse.c (simplify_binary_operation): Don't put sum of two symbolic ! 6889: addresses into a CONST. ! 6890: ! 6891: * m68kv4.h (ASM_OUTPUT_ALIGNED_COMMON): #undef this. ! 6892: (ASM_OUTPUT_ALIGNED_LOCAL): #undef this. ! 6893: (ASM_OUTPUT_ASCII): New overriding definition. ! 6894: (ASM_OUTPUT_CASE_END): New overriding definition. ! 6895: ! 6896: * c-typeck.c (convert_arguments): No -Wconversion warning ! 6897: if the function wants an enumeral type. ! 6898: ! 6899: * tek6000.h, tek6100.h, tek6200.h: New files. ! 6900: * configure (ns32k-tek6100-bsd, ns32k-tek6200-bsd): New alternatives. ! 6901: * config.sub: utek is synonym for bsd. ! 6902: ! 6903: * Makefile.in (alloca.o): Add -c. ! 6904: ! 6905: * Makefile.in (start.encap): Use LIBGCC1, not LIBGCC1_TARGET. ! 6906: (GCC_CFLAGS): Find executables in $(tooldir)/bin, not $(tooldir). ! 6907: (libgcc1.cross): New target. ! 6908: (all.cross, cross-test): Depend on libgcc.a. ! 6909: * cross-make (LIBGCC1): Use libgcc1.cross. ! 6910: ! 6911: * Makefile.in (USER_H): va-hp800.h changed to va-pa.h. ! 6912: (install-common): Fix typo. ! 6913: ! 6914: * stmt.c (pushcase, pushcase_range): Use STRIP_NOPS on the values. ! 6915: ! 6916: * x-amix, x-i860v4, x-ncr3000, x-sparcv4: Undo last change. ! 6917: * x-i386v4, x-m68kv4: Files deleted. ! 6918: * configure (i386-*-sysv4, i486-*-sysv4, m68k-*-sysv4): ! 6919: Corresponding changes. ! 6920: ! 6921: * c-decl.c (duplicate_decls): Don't warn about disagreement in `inline' ! 6922: except when non-inline fn is made inline after a call or definition. ! 6923: ! 6924: Sun Jul 5 10:25:22 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 6925: ! 6926: * c-decl.c (grokdeclarator): Make `long long long' an error, not a ! 6927: warning. Make duplicate qualifiers do pedwarn, not warning. ! 6928: ! 6929: * c-decl.c (pushdecl): Always create a new (variant) ..._TYPE node ! 6930: for each new TYPE_DECL node created. ! 6931: ! 6932: * libgcc2.c (UQItype, SItype, USItype, DItype, UDItype, SFtype, DFtype, ! 6933: XFtype, TFtype): Typedefs added. ! 6934: (SI_TYPE_SIZE): Renamed globally from LONG_TYPE_SIZE. ! 6935: Define names for ANSI C types to `bogus_type' over the range of lines ! 6936: where we must always use the new mode-related types. Undef them again ! 6937: at the end of that range (so we can used the ANSI types again), and ! 6938: then define the mode-related type names to `bogus_type' to insure ! 6939: those are not used from then on. ! 6940: ! 6941: * libgcc2.c, longlong.h (DIstruct): Renamed globally from `longlong'. ! 6942: (DIunion): Renamed globally from `long_long'. ! 6943: Universally use the new mode-related type names for all functions ! 6944: and macros which expect, yield, or otherwise rely on operands to be ! 6945: of certain GCC-defined machine modes. ! 6946: ! 6947: Sun Jul 5 11:11:00 1992 Torbjorn Granlund ([email protected]) ! 6948: ! 6949: * pa.h: (TARGET_VERSION): Print " (hppa)". ! 6950: * pa.md (zdepi recognizer): Add attribute. ! 6951: (recognizers for SImode load and store with fpregs): Add `=' to ! 6952: operand 0. ! 6953: ! 6954: Sat Jul 4 15:02:19 1992 Richard Stallman ([email protected]) ! 6955: ! 6956: * configure (mips-*-sysv4): Don't set use_collect2. ! 6957: ! 6958: * c-parse.y (primary): Wrap a NOP_EXPR around an enum value. ! 6959: ! 6960: * libgcc2.c (__builtin_saveregs for i860): Test __svr4__, not SVR4. ! 6961: * va-i860.h: Test __svr4__. ! 6962: ! 6963: * c-decl.c (finish_function): Set BLOCK_SUPERCONTEXT of outer block. ! 6964: ! 6965: * x-m88kv3: File deleted. ! 6966: ! 6967: * x-sparcv4 (X_CFLAGS): Add -dn. ! 6968: ! 6969: * reorg.c: Move the #ifdef DELAY_SLOTS after the #includes. ! 6970: ! 6971: Sat Jul 4 14:16:33 1992 Richard Kenner ([email protected]) ! 6972: ! 6973: * combine.c (SUBST): Ensure we don't call something that can make ! 6974: a new undo entry in the middle of our making one. ! 6975: ! 6976: Sat Jul 4 12:17:55 1992 Richard Stallman ([email protected]) ! 6977: ! 6978: * Makefile.in (cp-parse.c): Append YYEMPTY to cp-parse.h, not ...y. ! 6979: ! 6980: * cse.c (simplify_unary_operation): Add aborts in zero_extend ! 6981: and sign_extend cases, explaining how they might need to be changed. ! 6982: ! 6983: * i960.h (WORD_SWITCH_TAKES_ARG): Fix typo. ! 6984: ! 6985: * x-amix, x-sparcv4, x-i860v4, x-i386v4, x-ncr3000: ! 6986: Add -static to X_CFLAGS. ! 6987: * x-m68kv4: New file. ! 6988: * isc.h (HANDLE_SYSV_PRAGMA): Defined. ! 6989: ! 6990: Sat Jul 4 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 6991: ! 6992: * xm-spc-sol2.h: New file. ! 6993: ! 6994: * tree.h (DECL_UID): Definition added. ! 6995: (struct tree_decl): `uid' field added. ! 6996: * tree.c (DECL_UID): Initialize this uniquely for each new ..._DECL. ! 6997: ! 6998: * rtl.h (NOTE_INSN_DELETED_LABEL): Definition added. ! 6999: * rtl.c (note_insn_name): Add entry for NOTE_INSN_DELETED_LABEL. ! 7000: * final.c (final_scan_insn): Call `dwarfout_label' for each ! 7001: `NOTE_INSN_DELETED_LABEL'. ! 7002: * jump.c (delete_insn): Don't really delete CODE_LABELs corresponding ! 7003: to user-declared lables... Turn them into NOTE_INSN_DELETED_LABELs ! 7004: instead. ! 7005: ! 7006: * dwarf.h (AT_abstract_origin): Renamed from AT_specification. ! 7007: * dwarfout.c (dwarf_attr_name): Likewise. ! 7008: (dwarf_tag_name, dwarf_attr_name, dwarf_stack_op_name, ! 7009: dwarf_typemod_name, dwarf_fmt_byte_name): Use normal DWARF prefixes ! 7010: for string names of unrecognized values. ! 7011: (is_block_body): New function added. ! 7012: (DECL_NAME_FMT): Definition added. ! 7013: (equate_decl_number_to_die_number, abstract_origin_attribute, ! 7014: pure_or_virtual_attribute): New functions added. ! 7015: (src_coords_attribute): Only define this is DWARF_DECL_COORDINATES ! 7016: is defined. ! 7017: ! 7018: * populate: New file. ! 7019: ! 7020: * function.c (instantiate_decls): Delete #if 1. ! 7021: ! 7022: * flags.h, toplev.c, dbxout.c (use_gnu_debug_info_extensions): ! 7023: Renamed from `use_gdb_dbx_extensions'. ! 7024: ! 7025: * toplev.c (main): Added support for -gdwarf+ and for -gxcoff+. ! 7026: ! 7027: Sat Jul 4 08:39:47 1992 Tom Wood ([email protected]) ! 7028: ! 7029: * m88k.c (m88k_end_prologue): Reset frame_laid_out here. ! 7030: (m88k_expand_prologue): Not here. ! 7031: ! 7032: * m88k.h (IDENT_ASM_OPT, ALIGN_ASM_OPT, ASM_OUTPUT_CASE_LABEL): ! 7033: Override svr4.h. ! 7034: ! 7035: Fri Jul 3 12:40:27 1992 Paul Eggert ([email protected]) ! 7036: ! 7037: * fold-const.c (fold_convert): When converting a floating point ! 7038: constant to integer, warn about out-of-range values after truncating ! 7039: to integer, not before. ! 7040: ! 7041: Fri Jul 3 19:34:07 1992 Mike Stump (mrs@hal) ! 7042: ! 7043: * Makefile.in ($(srcdir)/cp-parse.c): extract YYEMPTY out of the ! 7044: parser generated .c file and put in the parser .h so that cp-lex.c ! 7045: does not have to define it. ! 7046: ! 7047: * cp-tree.c (__eprintf): Third argument line is now unsigned, ! 7048: completes Ron's Jul 2 change. ! 7049: ! 7050: Fri Jul 3 15:03:30 1992 Richard Stallman ([email protected]) ! 7051: ! 7052: * configure: Set FIXINCLUDES in Makefile based on sysv4 or not. ! 7053: * x-amix (ENQUIRE_CFLAGS, FIXINCLUDES): Deleted. ! 7054: ! 7055: * config.sub: Recognize i486 like i386. ! 7056: ! 7057: * defaults.h (ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ADDR_VEC_ELT): ! 7058: (ASM_OUTPUT_ADDR_DIFF_ELT, ASM_STABD_OP): New default definitions. ! 7059: * final.c: Include defaults.h. ! 7060: (ASM_STABD_OP): Deleted. ! 7061: * Makefile.in (final.o) Depend on defaults.h. ! 7062: ! 7063: * Makefile.in (toplev.o): Use MAYBE_TARGET_DEFAULT. ! 7064: * configure: Set MAYBE_TARGET_DEFAULT for some targets. ! 7065: Use 3, if target is i486... ! 7066: Recognize i486 as well as i386 for most targets. ! 7067: ! 7068: * x-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Deleted. ! 7069: * t-hp320g (LIBGCC1, AR, RANLIB, RANLIB_TEST, LIBCONVERT): Defined. ! 7070: * t-svr4 (FIXINCLUDES): Deleted. ! 7071: ! 7072: * Makefile.in (ENQUIRE_CFLAGS): Add -DNO_LONG_DOUBLE_IO. ! 7073: ! 7074: * fold-const.c (BRANCH_COST): Add default definition. ! 7075: ! 7076: * cp-tree.h: Declare intQI_type_node, etc. ! 7077: * cp-decl.c: Declare intQI_type_node, etc. ! 7078: (init_decl_processing): Initialize those nodes. ! 7079: ! 7080: Thu Jul 2 15:18:33 PDT 1992 Ron Guilmette (rfg at ncd.com) ! 7081: ! 7082: * amix.h (ASM_OUTPUT_CASE_END, ASM_OUTPUT_ALIGNED_LOCAL): Output ! 7083: tabs before SET_ASM_OP. ! 7084: ! 7085: * Makefile.in (dwarfout.o): Dependency on defaults.h added. ! 7086: ! 7087: * sparcv4.h: Include real.h. ! 7088: (SET_ASM_OP): Undef it. ! 7089: ! 7090: * svr4.h (IDENT_ASM_OP): Added generic svr4 definition. ! 7091: (ASM_FILE_END, ASM_OUTPUT_IDENT): Use IDENT_ASM_OP. ! 7092: (ALIGN_ASM_OP): Added generic svr4 definition. ! 7093: (ASM_OUTPUT_CASE_LABEL): Added generic svr4 definition. ! 7094: ! 7095: * i860.c (strict_single_insn_op_p, relop): Deleted. ! 7096: * i860.h (ASM_OUTPUT_CASE_LABEL): Fixed definition to use ! 7097: ASM_OUTPUT_ALIGN and ASM_OUTPUT_INTERNAL_LABEL. ! 7098: * i860b.h, i860v3.h (TARGET_VERSION): Definitions added. ! 7099: * i860v3.h (CPP_PREDEFINES): Predefine __svr3__ rather than SVR3. ! 7100: ! 7101: * c-decl.c (named_labels): Change linkage to static. ! 7102: ! 7103: * assert.h (__eprintf): Declare 3rd arg as unsigned. ! 7104: ! 7105: * cccp.c (do_include): Don't do fprintf's if inhibit_warnings. ! 7106: Renamed system_header_p to angle_brackets. Use is_system_include. ! 7107: (is_system_include): New function. ! 7108: (redundant_include_p) : Renamed from lookup_include. ! 7109: ! 7110: * c-common.c (type_for_size): If no ANSI type matches, check for ! 7111: matches with built-in mode-releated types. ! 7112: (type_for_mode): Likewise. ! 7113: * c-decl.c: Added declarations for mode-related internal type nodes. ! 7114: (init_decl_processing): Initialize the new type nodes. ! 7115: * c-tree.h: Added declarations for mode-related internal type nodes. ! 7116: intQI_type_node, etc. ! 7117: ! 7118: * c-lex.c (yylex): For integers, rename shorts to parts. ! 7119: Let the number of them be variable. Simplify overflow testing. ! 7120: Don't use long long types unless ll was specified. ! 7121: Don't warn twice. ! 7122: ! 7123: Thu Jul 2 20:30:20 1992 Roland McGrath ([email protected]) ! 7124: ! 7125: * gstdarg.h: #ifdef _STDARG_H, not __STDARG_H. ! 7126: ! 7127: Thu Jul 2 18:18:07 1992 Richard Stallman ([email protected]) ! 7128: ! 7129: * global.c: Renamed from global-alloc.c. ! 7130: ! 7131: Thu Jul 2 15:36:25 1992 Torbjorn Granlund ([email protected]) ! 7132: ! 7133: * pa.c (zdepi_operand): New function. ! 7134: (emit_move_sequence): Use it. ! 7135: * pa.md: New pattern to recognize cases where zdepi can be used to ! 7136: load immediate constant. ! 7137: (insv): Allow obvious immediate values. ! 7138: (insv + 1): New recognizer for non-obvious immediate values. ! 7139: ! 7140: Thu Jul 2 15:13:15 1992 Michael Meissner ([email protected]) ! 7141: ! 7142: * halfpic.c (half_pic_encode): Consider variables which are 'common' ! 7143: variables to need pic fixup. Move the debug code, so that it prints ! 7144: for all calls, and calls debug_tree also. ! 7145: (half_pic_address): When doing eliminate_constant_term on a CONST, ! 7146: do a XEXP (addr, 0) to get to the real address. ! 7147: ! 7148: * decrose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor ! 7149: -fno-builtin are passed, pass -fno-builtin, and renable the string ! 7150: and memory builtins via macros. This is to support compiling the ! 7151: OSF/1 kernel which has a prototyped exit function which takes three ! 7152: arguments. With no -pic switches, default to using shared libs. ! 7153: ! 7154: * i386rose.h (CPP_SPEC, CC1_SPEC): If neither -fbuiltin nor ! 7155: -fno-builtin are passed, pass -fno-builtin, and renable the string ! 7156: and memory builtins via macros. This is to support compiling the ! 7157: OSF/1 kernel which has a prototyped exit function which takes three ! 7158: arguments. Turn off pic support until the 386 backend supports it. ! 7159: ! 7160: * x-i386rose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib. ! 7161: ! 7162: * x-decrose (SHLIB): Use -pic-none instead of -L${BUILD}/usr/ccs/lib. ! 7163: ! 7164: * mips.md (movsi): Rewrite handling of half-pic code so that load ! 7165: address of symbol + value is handled. ! 7166: (branch_zero): Don't allow branch comparing constant to 0. ! 7167: ! 7168: Thu Jul 2 06:26:38 1992 Tom Wood ([email protected]) ! 7169: ! 7170: * m88k.md (blockage insn): Renamed from profiler. ! 7171: (epilogue insn): Don't provide this if a return insn will suffice. ! 7172: (m88k_end_epilogue): If the last insn isn't a barrier, print a return. ! 7173: * m88k.c (null_prologue): Renamed from null_epilogue. ! 7174: ! 7175: * m88k.c (condition_value): New function. ! 7176: * m88k.md (compare word insns): New insns and define_split ! 7177: patterns to take advantage of recent fold_truthop change. ! 7178: ! 7179: * m88k.h (ADDITIONAL_REGISTER_NAMES): Represent the condition code ! 7180: register as (reg:CC 0). Give it the names "cc" and "psr". ! 7181: * m88k.md (superoptimizer sequences): New define_split patterns. ! 7182: (add/sub with carry): New insns. ! 7183: (add/sub DImode, ffssi2): Clobber the condition code register. ! 7184: ! 7185: Wed Jul 1 13:37:37 1992 Richard Stallman ([email protected]) ! 7186: ! 7187: * gstddef.h Don't define macros associated with size_t unless we ! 7188: actually want to declare size_t. Likewise for ptrdiff_t and wchar_t. ! 7189: ! 7190: * Makefile.in (install-common): Depend on xgcc, g++, c++, EXTRA_PARTS. ! 7191: Don't delete specs from libsubdir unless it exists in build dir. ! 7192: ! 7193: * va-pa.h: Renamed from va-hp800.h. ! 7194: * gstdarg.h, gvarargs.h: Use new name. ! 7195: ! 7196: * news3.h, news3gas.h: New files. ! 7197: * configure (m68k-sony-newsos3*): New alternative. ! 7198: ! 7199: * romp.h (SIZE_TYPE): Defined. ! 7200: ! 7201: * configure: Support --exec-prefix. Simplify handling ! 7202: detached arguments of options. ! 7203: ! 7204: * isc.h, and other related files: ! 7205: waiting for entries from [email protected]. ! 7206: ! 7207: Wed Jul 1 12:04:53 1992 Ron Guilmette (rfg at ncd.com) ! 7208: ! 7209: * c-decl.c (grokdeclarator): Don't mark file-scope register variables ! 7210: as TREE_PUBLIC. ! 7211: ! 7212: Wed Jul 1 12:04:53 1992 Karl Berry ([email protected]) ! 7213: ! 7214: * i386iscgas.h (SIZE_TYPE, PTRDIFF_TYPE): Define these, since we ! 7215: need to override GCC's defaults. ! 7216: ! 7217: * configure (i386-*-isc): Use different files if we have gas. ! 7218: * t-i386iscgas, i386iscgas.h, isc.h: New files ! 7219: * i386isc.h: Include isc.h. Most of contents moved to isc.h. ! 7220: * bsd386.h (ASM_OUTPUT_LABELREF) [NO_UNDERSCORES]: do not prepend an ! 7221: underscore in this case. ! 7222: * i386gas.h (CPP_SPEC): if -posix, do -D_POSIX_SOURCE. ! 7223: ! 7224: Wed Jul 1 09:13:44 1992 Tom Wood ([email protected]) ! 7225: ! 7226: * fold-const.c (fold_truthop): Renamed from merge_component_references. ! 7227: (simple_operand_p): New function. ! 7228: (range_test): Change JCODE parameter to the unconditional operation. ! 7229: (fold_truthop): When branches are expensive, try to evaluate the ! 7230: RHS unconditionally. Compute local variables as late as possible. ! 7231: ! 7232: * m88k.h (HANDLE_SYSV_PRAGMA): Replaces HANDLE_PRAGMA. ! 7233: * m88k.c (m88k_handle_pragma_token): Deleted. ! 7234: ! 7235: Tue Jun 30 15:32:51 1992 Richard Stallman ([email protected]) ! 7236: ! 7237: * c-decl.c (duplicate_decls): If newdecl for builtin function ! 7238: has same return mode as the builtin, keep the builtin ! 7239: but use newdecl's return type. ! 7240: ! 7241: * i386.md (lshrdi3_const_int): Fix typo in shr insn. ! 7242: ! 7243: * Makefile.in (GCC_CFLAGS): Add `-B$(tooldir)/'. ! 7244: ! 7245: * i386sun.h, rs6000-mach.h, sparc.h, sun2o4.h, sun3.h (LINK_SPEC): ! 7246: Inhibit the default -e if -r or -nostdlib. ! 7247: ! 7248: * c-decl.c (lookup_label): Call label_rtx. ! 7249: ! 7250: * c-parse.y (primary): Rearrange and clean up. In C_DECL_ANTICIPATED ! 7251: case, always call assemble_external and set TREE_USED. ! 7252: ! 7253: Mon Jun 29 22:27:49 1992 Mike Stump ([email protected]) ! 7254: ! 7255: * cccp.c, cp-dem.c, dbxout.c, cp-lex.c, cp-xref.c, cp-method.c, ! 7256: dwarfout.c, c-typeck.c, mips-tfile.c, protoize.c, collect2.c: Make ! 7257: the compiler more consistent by using index and rindex everywhere ! 7258: instead of sometimes using strchr and strrchr. ! 7259: ! 7260: Mon Jun 29 22:20:13 1992 Richard Kenner ([email protected]) ! 7261: ! 7262: * regclass.c (regclass): Restore some accidentally-deleted code. ! 7263: ! 7264: Mon Jun 29 12:48:05 1992 Nobuyuki Hikichi ([email protected]) ! 7265: ! 7266: * collect2.c (MY_ISCOFF): New macro. ! 7267: (scan_prog_file): Use that instead of ISCOFF. ! 7268: ! 7269: * mips.c (override_options) [MIPS_NEWS]: Call setlinebuf. ! 7270: ! 7271: Mon Jun 29 12:48:05 1992 Richard Stallman ([email protected]) ! 7272: ! 7273: * gcc.c (do_spec_1): For %I, pass -iprefix, not -imacros. ! 7274: ! 7275: * c-common.c (decl_attributes): For `packed' on VAR_DECL, ! 7276: set DECL_PACKED and DECL_ALIGN. ! 7277: ! 7278: * configure: Update usage message. ! 7279: (m68k-sony-newsos*, mips-sony-newsos*): New synonyms. ! 7280: ! 7281: * fold-const.c (merge_component_references): ! 7282: Make sure the four fields correspond in the proper order. ! 7283: ! 7284: * c-lex.c (check_newline): Support HANDLE_SYSV_PRAGMA. ! 7285: (handle_sysv_pragma): New function. ! 7286: * c-pragma.c: New file. ! 7287: * stor-layout.c (maximum_field_alignment): New variable. ! 7288: (layout_decl): Use it. ! 7289: * Makefile.in (C_OBJS, OBJC_OBJS): Add c-pragma.o ! 7290: (c-pragma.o): New rule. ! 7291: ! 7292: * i386.c (handle_pragma_token): Function deleted. ! 7293: * i386v4.h (HANDLE_PRAGMA): Deleted. ! 7294: ! 7295: * g++: Reestablish symlink to c++. ! 7296: Delete the testing of $TRACE--this could confuse people. ! 7297: Delete spurious assignment of $version. ! 7298: ! 7299: * tree.h (DECL_PACKED): Store this in regdecl_flag. ! 7300: ! 7301: * Makefile.in (LIB2FUNCS): Change _builtin_New to _caps_New. ! 7302: * libgcc2.c: Change L_builtin_New to L_caps_New. ! 7303: ! 7304: * dbxout.c (dbxout_symbol): Pass 3 args to eliminate_regs. ! 7305: Call alter_subreg for subregs. Delete subreg case later on. ! 7306: Don't bother with reg_renumber--any pseudo reg is clearly ! 7307: a variable that was not allocated. ! 7308: * sdbout.c (sdbout_symbol): Call alter_subreg for subregs. ! 7309: Don't bother with reg_renumber--any pseudo reg is clearly ! 7310: a variable that was not allocated. ! 7311: ! 7312: * sequent.h (SIZE_TYPE): Defined. ! 7313: (LINK_LIBGCC_SPECIAL): Fix typo. ! 7314: ! 7315: Mon Jun 29 12:04:57 1992 Tom Wood ([email protected]) ! 7316: ! 7317: * toplev.c (rest_of_compilation): Thread the prologue and epilogue ! 7318: code immediately after reloading is done. ! 7319: * sched.c (schedule_insns): Reposition the prologue and epilogue ! 7320: notes as needed. ! 7321: * reorg.c (dbr_schedule): Ditto. ! 7322: * rtl.h (NOTE_INSN_PROLOGUE_END, NOTE_INSN_EPILOGE_BEGIN): New notes. ! 7323: * rtl.c (note_insn_name): Record them. ! 7324: * function.c (record_insns, contains, thead_prologue_and_epilogue_insns, ! 7325: reposition_prologue_and_epilogue_notes): New functions. ! 7326: * final.c: Include insn-flags.h. ! 7327: (profile_after_prologue): New function. ! 7328: (final_start_function): Use profile_after_prologue here when we ! 7329: don't HAVE_prologue. ! 7330: (final_scan_insn): Use profile_after_prologue when we scan ! 7331: NOTE_INSN_PROLOGUE_END. (This happens when we do HAVE_prologue.) ! 7332: Perform machine specific actions when the prologue-end and ! 7333: epilogue-begin notes are scanned. ! 7334: (final_scan_insn, BARRIER): Align only when something follows. ! 7335: * Makefile.in (final.o): Depends on insn-flags.h. ! 7336: ! 7337: * m88k.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE): Define. ! 7338: (DELAY_SLOTS_FOR_EPILOGUE, ELIGIBLE_FOR_EPILOGUE_DELAY): Delete. ! 7339: * m88k.md (prologue, epilogue, profiler, locate1, locate2): New ! 7340: patterns for representing prologues and epilogues. ! 7341: * m88k.c (delay_slots_for_epilogue, eligible_for_epilogue_delay, ! 7342: ok_for_epilogue_p): Delete epilogue delay slot functions. ! 7343: (m88k_begin_prologue m88k_end_prologue m88k_expand_prologue): New ! 7344: functions replacing m88k_output_prologue. ! 7345: (m88k_begin_epilogue m88k_end_epilogue m88k_expand_epilogue): Ditto. ! 7346: (preserve_registers): Delete epilogue delay slot mechanism and ! 7347: change to output insns. ! 7348: (emit_add, emit_ldst): New functions. ! 7349: ! 7350: Sun Jun 28 23:06:04 1992 Brendan Kehoe ([email protected]) ! 7351: ! 7352: * Makefile.in (bootstrap, bootstrap2, bootstrap3): In each ! 7353: passage of CC, use xgcc, not gcc. ! 7354: * dostage2, dostage3: Likewise. ! 7355: ! 7356: Sun Jun 28 09:48:18 1992 Richard Stallman ([email protected]) ! 7357: ! 7358: * c-decl.c (duplicate_decls): If have char *foo () and ! 7359: void *foo (...), make just a pedwarn. Add locals oldtype, newtype. ! 7360: * c-typeck.c (self_promoting_args_p): No longer static. ! 7361: ! 7362: * flow.c (regno_uninitialized): Return 0 for global reg var. ! 7363: ! 7364: * c-typeck.c (initializer_constant_valid_p): ! 7365: Allow CONVERT_EXPR if its operand is allowable. ! 7366: (build_c_cast): For cast to union, make a CONSTRUCTOR. ! 7367: ! 7368: * sparc.c (SPARC_STACK_ALIGN): Add default definition. ! 7369: ! 7370: * c++: Use `set "$@"' to modify arguments. ! 7371: Use a case to decide how to set $gcc. ! 7372: $quote is now empty for false and the option name for true. ! 7373: Error at end if $quote is nonempty. ! 7374: $speclang is now the -x option itself. ! 7375: Move the -v case above the -* case. ! 7376: ! 7377: * limitx.h: Add #ifndef. ! 7378: * limity.h: New file. ! 7379: * Makefile.in (install-limits-h): Append limity.h to the end. ! 7380: ! 7381: * c-typeck.c (digest_init): Don't push spellings here (for union case). ! 7382: (process_init_constructor): Fix errors for field not found. ! 7383: (build_c_cast): Fold casts to union type. ! 7384: ! 7385: * xm-vms.h (XREF_FILE_NAME): Fix typo. ! 7386: ! 7387: * i386sun.h (SIZE_TYPE): Defined. ! 7388: ! 7389: * Makefile.in (alloca.o): Delete the rm command. ! 7390: Use -Demacs explicitly in compilation command. ! 7391: (ALLOCA_FLAGS, ALLOCA_FINISH): Empty by default. ! 7392: * x-pa-hpux, x-rs6000, x-rs6k-mach, x-dpx2200, x-dpx2300: ! 7393: (ALLOCA_FLAGS, ALLOCA_FINISH): Deleted. ! 7394: * x-dpx2200, x-dpx2300 (AS): Deleted. ! 7395: ! 7396: * configure: Set broken_install for V.4. ! 7397: (i386-*-aix, ns32k-*-genix, i386-*-isc, i386-*-sco): ! 7398: (i386-*-sco3.2v4, m88k-dg-dgux): Set broken_install. ! 7399: (m88k-*-sysv): Don't use x-m88kv3. ! 7400: * x-m88kv3: File deleted. ! 7401: * x-aix386, x-dpx2200, x-dpx2300, x-genix, x-i386isc, x-i386sco: ! 7402: * x-i386v, x-i386v4, x-i860v3, x-i860v4, x-m88kdgux, x-m88kdolph: ! 7403: * x-m88kv4, x-ncr3000, x-sparcv4, x-xenix (INSTALL): Deleted. ! 7404: ! 7405: Sun Jun 28 08:44:32 1992 Michael Meissner ([email protected]) ! 7406: ! 7407: * regclass.c (record_address_regs): Make the function static to ! 7408: agree with the forward declaration. ! 7409: ! 7410: * mips.h (LINK_LIBGCC_SPECIAL): Define. ! 7411: ! 7412: Sun Jun 28 06:14:56 1992 Richard Kenner ([email protected]) ! 7413: ! 7414: * expr.c (direct_load, direct_store): New variables. ! 7415: (init_expr_once): New function. ! 7416: (convert_move, convert_to_mode): Don't let gen_lowpart make a MEM in ! 7417: a mode that can't be directly copied to or from memory. ! 7418: (store_field): Don't directly store into memory in a mode that ! 7419: can't be used in a single insn. ! 7420: (expand_expr, case COMPONENT_REF): Likewise, for load. ! 7421: * toplev.c (compile_file): Call init_expr_once. ! 7422: ! 7423: * cse.c (fold_rtx, case SUBREG): If we can find nested SUBREGs ! 7424: with an inner register in the mode we want, get rid of all the ! 7425: SUBREGs provided they are all within a word. ! 7426: ! 7427: * cp-call.c, cp-class.c, cp-decl.c, cp-edsel.c, cp-lex.c: Don't ! 7428: declare xmalloc and free here. ! 7429: * cp-methods.c, cp-pt.c, cp-search.c, flow.c, integrate.c: Likewise. ! 7430: * loop.c, opjc-actions.c, reload1.c, reorg.c, rtl.c: Likewise. ! 7431: * stmt.c, tree.c, varasm.c: Likewise. ! 7432: * toplev.c (xmalloc, xrealloc): Declare return types correctly. ! 7433: * rtl.h, tree.h: Declare xmalloc and free here. ! 7434: ! 7435: * expmed.c (emit_store_flag): Keep the last target around if we ! 7436: should preserve subexpressions. ! 7437: ! 7438: Sat Jun 27 07:11:28 1992 Richard Kenner ([email protected]) ! 7439: ! 7440: * cse.c (cse_insn): See if we have a CONST_INT that is already in ! 7441: a register in a wider mode. ! 7442: ! 7443: * regclass.c: Major rework of regclass pass to do a better job of ! 7444: setting up register preferences and replace the "preferred or ! 7445: nothing" method with a class that should be used if the preferred ! 7446: class cannot be allocated. ! 7447: (MEMORY_MOVE_COST): Default value is 4, not 2. ! 7448: (move_cost, may_move_cost): New arrays. ! 7449: (init_reg_sets): Initialize them. ! 7450: (struct costs): Replaces struct savings. ! 7451: (costs): Replaces savings. ! 7452: (op_costs): New array. ! 7453: (altclass): Replaces preferred_or_nothing. ! 7454: (reg_alternate_class): New function; replaced reg_preferred_or_nothing. ! 7455: (regclass): Major rework. Use new recording methods; make two ! 7456: passes if -fexpensive-optimizations; and refine REGNO_POINTER_FLAG ! 7457: and loop_depth setting. ! 7458: (record_reg_class): New function; replaces reg_class_record. ! 7459: (copy_cost): New function. ! 7460: (record_address_regs): Major changes. New parameters and simplified ! 7461: and more efficient algorithm for chosing base vs. index regs. ! 7462: * rtl.h (reg_alternate_class): Declare it. ! 7463: * Makefile.in (regclass.o): Now includes reload.h and real.h. ! 7464: * flow.c (dump_flow_info): Call reg_alternate_class instead of ! 7465: reg_preferred_or_nothing. ! 7466: * reload.c (find_reloads): Likewise. ! 7467: (n_occurrences): No longer static. ! 7468: * local-alloc.c: Use register alternate class instead of ! 7469: preferred_or_nothing uniformly; change qty_preferred_or_nothing ! 7470: to qty_alternate_class. ! 7471: * global-alloc.c (global_alloc, retry_global_alloc): Call ! 7472: reg_alternate_class instead of reg_preferred_or_nothing. ! 7473: (find_reg): Change ALL_REGS_P argument to ALT_REGS_P. ! 7474: Use alternate register class instead of ALL_REGS if can't allocate ! 7475: in preferred class. ! 7476: ! 7477: * cccp.c (install): Accept separate arguments for integer and ! 7478: pointer hash values; don't assume the sizes are the same. ! 7479: All callers changed. ! 7480: ! 7481: * rtl.c (copy_rtx, copy_most_rtx): Add new case for 'u'. ! 7482: ! 7483: * tree.c (make_node): Clear all of common area, in particular, flags. ! 7484: ! 7485: * c-tree.h, cp-tree.h: Add declaration of truthvalue_conversion. ! 7486: ! 7487: Sat Jun 27 06:21:18 1992 Tom Wood ([email protected]) ! 7488: ! 7489: * m88k.md (type attributes): Delete unused mbit and mfp types. ! 7490: (ffsi2 insn): Define. ! 7491: (negdf2 and absdf2 insns): Improve. ! 7492: ! 7493: * fold-const.c (range_test): Fix the misordered test. Fail if VAR ! 7494: isn't an integer. ! 7495: ! 7496: Sat Jun 27 00:54:44 1992 Richard Stallman ([email protected]) ! 7497: ! 7498: * gcc.c (link_command_spec): No %D if LINK_LIBGCC_SPECIAL. ! 7499: * sequent.h (LINK_LIBGCC_SPECIAL): Defined. ! 7500: ! 7501: * vax.h (PRINT_OPERAND): For SFmode, use 0f, not 0d or 0g. ! 7502: ! 7503: * ns32k.h (NS32K_DISPLACEMENT_P): Correct the range limits. ! 7504: * ns32k.c (print_operand_address): REG_OK_FOR_INDEX_P wants an rtx. ! 7505: ! 7506: Fri Jun 26 08:55:03 1992 Tom Wood ([email protected]) ! 7507: ! 7508: * fold-const.c (range_test): New function. ! 7509: (merge_component_references): Look for range tests as well. ! 7510: ! 7511: * va-m88k.h: Same changes as other va-*.h files below. Make this ! 7512: work when <stdio.h> and others are included on DG/UX. ! 7513: ! 7514: Fri Jun 26 08:17:33 1992 Richard Stallman ([email protected]) ! 7515: ! 7516: * expr.c (safe_from_p): Handle 0 in TREE_VALUE of a TREE_LIST. ! 7517: (store_constructor: Ignore empty links in element chain. ! 7518: ! 7519: Fri Jun 26 07:06:19 1992 Richard Kenner ([email protected]) ! 7520: ! 7521: * c-convert.c (convert_to_integer): Don't add a NOP_EXPR in cases ! 7522: where we can simply change the type of the entire tree. ! 7523: ! 7524: * cse.c (find_best_addr): Look for equivalents of a REG that is ! 7525: the first operand of an address that is a binary operator whose ! 7526: second operand is a CONST_INT. ! 7527: ! 7528: * stmt.c (expand_end_bindings): Don't save argument pointer if it ! 7529: will be eliminated in favor of the frame pointer. ! 7530: ! 7531: * combine.c (try_combine): When using define_split to split an ! 7532: insn, first try to put the pseudo-register into the mode of ! 7533: the destination since it is the most likely to be the correct mode. ! 7534: ! 7535: * combine.c (make_compound_operation): Treat PLUS and MINUS ! 7536: the same when passing down the code to the next level; for ! 7537: consistency, an ASHIFT inside either gets turned into a MULT. ! 7538: ! 7539: * fold-const.c (optimize_bit_field_compare): Delete dead ! 7540: assignment which can sometimes reference an undefined variable. ! 7541: ! 7542: * genoutput.c (gen_split): Initialize n_alternatives. ! 7543: ! 7544: * romp.md (movdf): Fix typo in operand_subword call in define_split. ! 7545: ! 7546: Fri Jun 26 04:38:37 1992 Richard Stallman ([email protected]) ! 7547: ! 7548: * Make stdarg mechanism work with libc. ! 7549: * va-hp800.h, va-i860.h, va-i960.h, va-mips.h, va-pyr.h, va-sparc.h): ! 7550: Don't define or declare va_list; declare __gnuc_va_list. ! 7551: But only declare it once. ! 7552: Define other things only if _STDARG_H or _VARARGS_H. ! 7553: Declare va_end as well as defining it. ! 7554: * gstdarg.h: Likewise. ! 7555: If __need___va_list was defined, then undef it ! 7556: and don't define _STDARG_H. ! 7557: For all machines, declare va_list from __gnuc_va_list ! 7558: but only if _STDARG_H is defined. ! 7559: ! 7560: * gvarargs.h: Test _ANSI_H_, not _ANSI_H. ! 7561: ! 7562: Thu Jun 25 23:24:02 1992 Richard Stallman ([email protected]) ! 7563: ! 7564: * ns32k.c (print_operand): ! 7565: Change NO_IMMEDIATE_PREFIX_IF_SYMBOLIC conditional to #ifdef. ! 7566: ! 7567: * genoutput.c (gen_split): Set d->n_alternatives. ! 7568: ! 7569: * Makefile.in (test-protoize-simple): Expect just 400 lines. ! 7570: (install-common-headers): When comparing srcdir with ., use pwd. ! 7571: ! 7572: Tue Jun 16 22:11:12 1992 Jim Wilson ([email protected]) ! 7573: ! 7574: * Makefile.in (enquire.o): Don't delete/copy enquire.c, just use ! 7575: the copy in the source directory. ! 7576: ! 7577: Tue Jun 25 23:52:27 1992 Howard Chu ([email protected]) ! 7578: ! 7579: * libgcc2.c (__builtin_saveregs): Use SVR4 code on Alliant FX2800, ! 7580: but with BSD function-naming convention. ! 7581: ! 7582: * va-i860.h: Use SVR4 definitions of __va_saved_regs and va_list ! 7583: on Alliant FX2800. ! 7584: ! 7585: * fx2800.h (I860_REG_PREFIX, ASM_COMMENT_START): Deleted. ! 7586: (DBX_NO_EXTRA_TAGS, BSS_ASM_OP): Deleted. ! 7587: (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Deleted. ! 7588: (ASM_FILE_START): Just call output_file_directive. ! 7589: ! 7590: Thu Jun 25 06:49:15 1992 Richard Stallman ([email protected]) ! 7591: ! 7592: * c-typeck.c (process_init_constructor): Strip NON_LVALUE_EXPR ! 7593: from specified array index. ! 7594: ! 7595: * configure (i386-*-bsd*, i386-*-mach*): Don't set tmake_file. ! 7596: They used to use t-libc-ok. ! 7597: ! 7598: * input.h (struct file_stack): Revert prev. change. ! 7599: ! 7600: Thu Jun 25 06:33:52 1992 Tom Wood ([email protected]) ! 7601: ! 7602: * stmt.c (expand_end_case): Add CASE_VALUES_THRESHOLD. ! 7603: * m88k.h (CASE_VALUES_THRESHOLD): Define. ! 7604: ! 7605: Thu Jun 25 06:13:39 1992 Richard Kenner ([email protected]) ! 7606: ! 7607: * explow.c (plus_constant, case PLUS): Remove obsolete code; ! 7608: use recursive call in case remaining operand is one we handle. ! 7609: ! 7610: Wed Jun 24 19:15:14 1992 Richard Kenner ([email protected]) ! 7611: ! 7612: * combine.c (subst, case PLUS): If adding two things with no bits ! 7613: in common, convert to IOR. ! 7614: ! 7615: * expr.c (do_jump, case BIT_AND_EXPR, COMPONENT_REF): Don't narrow ! 7616: comparison unless byte accesses are not slow and we have a ! 7617: comparison in the new mode. ! 7618: ! 7619: Wed Jun 24 14:29:09 1992 Richard Stallman ([email protected]) ! 7620: ! 7621: * c-parse.y (primary): If built-in decl has not had ! 7622: an official declaration, print warning. ! 7623: * c-decl.c (builtin_function): Set C_DECL_ANTICIPATED for ! 7624: user-visible names. ! 7625: * c-tree.h (C_DECL_ANTICIPATED): New macro. ! 7626: ! 7627: * fixincludes: Make some symlinks in the `multimedia' subdir. ! 7628: ! 7629: * i386.c: Change #error to just error. ! 7630: ! 7631: * protoize.c: Normalize error message syntax. ! 7632: (process_aux_info_file): Don't delete .X file if it existed before. ! 7633: (explicity compare modtime with .c file. ! 7634: ! 7635: Wed Jun 24 14:10:35 1992 Jim Wilson ([email protected]) ! 7636: ! 7637: * sparc.c (sparc_frw_compute_frame_size): New function, for flat ! 7638: register window model support. ! 7639: (sparc_frw_save_restore): Likewise. ! 7640: (sparc_frw_output_function_prologue): Likewise. ! 7641: (sparc_frw_output_function_epilogue): Likewise. ! 7642: (sparc_frw_epilogue_delay_slots): Likewise. ! 7643: (sparc_frw_eligible_for_epilogue_delay): Likewise. ! 7644: ! 7645: Tue Jun 23 22:36:12 1992 Richard Stallman ([email protected]) ! 7646: ! 7647: * cccp.c (rescan): Recognize # only when reading directly from a file. ! 7648: ! 7649: * input.h (struct file_stack): Add member `fd'. ! 7650: ! 7651: * regclass.c (regno_first_uid, regno_last_uid): Make elements ints. ! 7652: (reg_scan): Allocate and clear them as ints. ! 7653: * regs.h: Fix the declarations. ! 7654: ! 7655: * Create driver executable with name xgcc; rename to gcc in installing. ! 7656: (xgcc): Target renamed. ! 7657: (GCC_FOR_TARGET, GCC_PASSES, start.encap, specs, gcc-cross): ! 7658: (install-common, install-collect2): Rename in deps, commands or value. ! 7659: (install-collect2): Always get driver from xgcc whether cross or not. ! 7660: ! 7661: Tue Jun 23 00:00:35 1992 Brendan Kehoe ([email protected]) ! 7662: ! 7663: * toplev.c (strip_off_ending): Also strip off .C and .cxx. ! 7664: ! 7665: Tue Jun 23 18:58:43 1992 Jim Wilson ([email protected]) ! 7666: ! 7667: * genrecog.c (add_to_sequence): Don't ignore mode of first operand ! 7668: of a MATCH_OPERAND or MATCH_DUP_OP rtl. ! 7669: * sparc.md (scc): Use noov_compare_op instead of normal_compare_op. ! 7670: ! 7671: * function.c (expand_function_start): When not optimizing, don't ! 7672: put static chain pointer in a pseudo register. ! 7673: ! 7674: * sparc.c (print_operand): For '*', only annul branch if ! 7675: optimizing, to avoid dbx bug. Add '(' to handle unoptimized case. ! 7676: * sparc.h (PRINT_OPERAND_PUNCT_VALID_P): Add '('. ! 7677: * sparc.md (jump): Add '%(' to pattern. ! 7678: ! 7679: * c-decl.c (store_parm_decls): Change type of void parameter to ! 7680: error_mark_node. ! 7681: ! 7682: * configure (m68k-*-sysv4*): Use xm-m68kv.h not xm-m68kv4.h. ! 7683: ! 7684: * configure: Add -prefix option. ! 7685: ! 7686: * vax.c (split_quadword_operands): Declare paramater n. ! 7687: ! 7688: * i960.h (WORD_SWITCH_TAKES_ARG): Add -aux-info. ! 7689: ! 7690: * xcoffout.c (xcoffout_declare_function): Cast alloca result to char *. ! 7691: ! 7692: * c-convert.c (convert_to_integer): Don't pass truncation past ! 7693: shift that is larger than the size being truncated to. ! 7694: ! 7695: Tue Jun 23 06:15:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 7696: ! 7697: * optabs.c (expand_binop, expand_unop): Try widening before trying ! 7698: to make a library call. ! 7699: ! 7700: * stmt.c (expand_return): Add missing emit_queue call in tail ! 7701: recursion case. ! 7702: ! 7703: * cse.c (simplify_unary_operation): Add SIGN_EXTEND and ! 7704: ZERO_EXTEND to the operations we handle for wide results. ! 7705: ! 7706: * expr.c (emit_block_move): Convert size operand to mode that will ! 7707: be passed to emit_library_call. ! 7708: ! 7709: Tue Jun 23 00:41:03 1992 Paul Eggert (eggert@shadow) ! 7710: ! 7711: * objc-parse.y (stmt): Fix mispelling for "label" in message. ! 7712: ! 7713: * cccp.c: (deps_file, pipe_closed): Deleted. ! 7714: (main): Do not open deps_file until needed. ! 7715: Check error status of dep_stream and stdout more carefully. ! 7716: ! 7717: Tue Jun 23 00:21:05 1992 Richard Stallman ([email protected]) ! 7718: ! 7719: * Makefile.in (protoize.1, unprotoize.1): Rules deleted. ! 7720: (install-man, proto, realclean): Don't operate on them. ! 7721: * proto-man: File deleted. ! 7722: ! 7723: * protoize.c (main): Support -v as alias for -V. ! 7724: ! 7725: Mon Jun 22 21:50:01 1992 Richard Stallman ([email protected]) ! 7726: ! 7727: * Makefile.in (compare, compare3): Discard error output from second ! 7728: tail. If it fails, don't compare that file. ! 7729: ! 7730: * Makefile.in (stamp-proto): Move the touch command last. ! 7731: ! 7732: * cccp.c (finclude): Use xmalloc, not alloca, for file contents. ! 7733: ! 7734: * stmt.c (check_for_full_enumeration_handling): For a case range, ! 7735: consider all values in the range as handled. Also, check both ends ! 7736: for being in the enumeration. ! 7737: ! 7738: * ns32k.h (NS32K_DISPLACEMENT_P): Wide displacement range applies to ! 7739: all models. ! 7740: ! 7741: Mon Jun 22 20:29:47 1992 Ron Guilmette (rfg at ncd.com) ! 7742: ! 7743: * expr.h (*_libfunc): Added missing extern declarations of libfuncs ! 7744: to handle operations on/for TFmode and XFmode operands. ! 7745: * expr.c (convert_move): Added missing code to handle moves (with ! 7746: conversion) from/to TFmode and XFmode operands. ! 7747: * optabs.c (*_libfuncs): Added missing definitions of libfuncs ! 7748: to handle operations on/for TFmode and XFmode operands. ! 7749: (emit_float_lib_cmp): Added missing code to handle XFmode and TFmode ! 7750: comparisons. ! 7751: (init_fixtab): Added missing code to handle fixing (and trunc'ing) ! 7752: of XFmode and TFmode operands to various sizes of ints. ! 7753: (init_floattab): Likewise, but for "float" operations from ints to ! 7754: either XFmode or TFmode. ! 7755: (expand_float): Likewise. ! 7756: (expand_fix): Likewise. ! 7757: (init_libfuncs, init_integral_libfuncs, init_floating_libfuncs): New ! 7758: functions added to initialize whole hunks of various optabs with ! 7759: appropriate `libfunc' field values. ! 7760: (init_optabs): Use `init_integral_libfuncs' or `init_floating_libfuncs' ! 7761: wherever a group of consecutive optab entries need to all have their ! 7762: `libfunc' fields initialized. ! 7763: (init_optabs): added missing code to handle all operations on/of ! 7764: XFmode and TFmode operands. ! 7765: ! 7766: Mon Jun 22 06:40:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 7767: ! 7768: * rs6000.h (MEMORY_MOVE_COST): Increase to 6, from 4. ! 7769: (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add new reg ! 7770: classes SPEC_OR_GEN_REGS and NON_FLOAT_REGS. ! 7771: ! 7772: * rs6000.h (EXTRA_CONSTRAINT): Don't use indirect_operand; instead ! 7773: check explicitly. ! 7774: ! 7775: * rs6000.md (divmod): Use "2" constraint instead of using "q" ! 7776: twice. ! 7777: (tablejump): Constraint of "r" should be "l". ! 7778: ! 7779: * emit-rtl.c (init_emit): Show that all pointers into the frame are ! 7780: pointer registers. ! 7781: ! 7782: Mon Jun 22 04:20:26 1992 Richard Stallman ([email protected]) ! 7783: ! 7784: * va-sparc.h (va_arg): Rename local identifiers to start with __. ! 7785: ! 7786: Sun Jun 21 14:51:42 1992 Richard Stallman ([email protected]) ! 7787: ! 7788: * fold-const.c (real_value_truncate): New function. ! 7789: All calls to REAL_VALUE_TRUNCATE changed to use this function. ! 7790: ! 7791: * reload1.c (reload): Record which insn attains each maximum need. ! 7792: If can't find a spill, call spill_failure and return 1. ! 7793: (spill_failure): New subroutine. ! 7794: * global-alloc.c (global_alloc): Return 1 if reload returned 1. ! 7795: * toplev.c (rest_of_compilation): If they return nonzero, give up ! 7796: compiling this function. ! 7797: ! 7798: * c-decl.c (duplicate_decls): Never warn if redeclaring ! 7799: a predeclared function. Use the new declaration's types ! 7800: but keep any predeclared volatile flag. ! 7801: If redeclaring builtin function, use new declaration's type. ! 7802: If an old decl becomes volatile, fix the DECL_RTL. ! 7803: * varasm.c (make_var_volatile): New function. ! 7804: ! 7805: * configure (mips-sony-bsd): Use xm-mips.h. ! 7806: * xm-mipsbsdn.h: File deleted. ! 7807: ! 7808: * protoize.c (process_aux_info_file): Simplify logic for calling ! 7809: gen_aux_info_file. Get rid of the label `retry'. ! 7810: ! 7811: * m68ksgs.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): ! 7812: Override for sgs syntax. ! 7813: ! 7814: Sun Jun 21 14:06:41 1992 Brendan Kehoe ([email protected]) ! 7815: ! 7816: * va-sparc.h (va_arg): Use a character array of size TYPE for ! 7817: `d' in the union, and return its dereference as TYPE. ! 7818: ! 7819: Sun Jun 21 14:04:36 1992 Wilson Tien (wtien at urbana.mcd.mot.com) ! 7820: ! 7821: * m68k.c (print_operand_address) [MOTOROLA]: Use .w and .l, not :w, :l. ! 7822: ! 7823: Sat Jun 20 06:32:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) ! 7824: ! 7825: * stor-layout.c (get_best_mode): If SLOW_BYTE_ACCESS is true, return ! 7826: widest mode (but no wider than UNITS_PER_WORD) that meets all ! 7827: the conditions. ! 7828: ! 7829: * combine.c (make_extraction): Always ensure we have a SUBREG when ! 7830: we make a STRICT_LOW_PART. ! 7831: ! 7832: * varasm.c (const_hash, compare_constant_1, record_constant_1): ! 7833: Handle case when TREE_VALUE of a constructor is zero. ! 7834: (output_constant): Use CONSTRUCTOR_ELTS. ! 7835: ! 7836: * cse.c (cse_insn): Memory is not invalidated by a constant ! 7837: subroutine call. ! 7838: (delete_dead_from_cse): Correctly check for being within a ! 7839: libcall block. ! 7840: ! 7841: * cse.c (canon_reg): Call validate_change with IN_GROUP equal to 1. ! 7842: (cse_insn): Call apply_change_group after canon_reg. ! 7843: When canonicalizing, call validate_change with IN_GROUP equal to ! 7844: one and also call when canon_reg would. ! 7845: ! 7846: * combine.c (subst, shift cases): Use force_to_mode in ! 7847: SHIFT_COUNT_TRUNCATED case. ! 7848: ! 7849: * rs6000.md: Add new pattern to split move of large constant. ! 7850: ! 7851: * cse.c (delete_dead_from_cse): Really delete insn instead of ! 7852: turning it into a NOTE. ! 7853: ! 7854: * romp.md (shift patterns): Use QImode for count operand. ! 7855: ! 7856: Sat Jun 20 06:31:21 1992 Tom Wood ([email protected]) ! 7857: ! 7858: * a29k.md (storehinhww): Use inhw not inbyte. ! 7859: ! 7860: Thu Jun 18 16:01:56 1992 Richard Kenner ([email protected]) ! 7861: ! 7862: * protoize.c (WIFEXITED, WEXITSTATUS): Delete unused macros. ! 7863: ! 7864: * combine.c (subst): If comparison operator has floating-point ! 7865: result, adjust the value returned by simplify_relational_operation ! 7866: accordingly. ! 7867: * integrate.c (subst_constants): Likewise. ! 7868: * loop.c (get_condition): Likewise. ! 7869: * cse.c (fold_rtx): Likewise. ! 7870: When returning TRUE or FALSE, handle comparisons returning ! 7871: floating-point. ! 7872: (find_comparison_args): Handle comparisons returning FP values; ! 7873: only look at STORE_FLAG_VALUE for comparisons returning integers. ! 7874: ! 7875: * combine.c (try_combine, subst): Pass both comparison arguments ! 7876: to SELECT_CC_MODE. ! 7877: * i386.h, i960.h, i960.c, mips.h, pa.h, pa.c, rs6000.h: ! 7878: Add second argument to SELECT_CC_MODE. ! 7879: * sparc.h, sparc.c: Likewise. ! 7880: ! 7881: * cse.c (insert_regs): Make a quantity for the register in a ! 7882: SUBREG if it doesn't have one. ! 7883: (fold_rtx, case SUBREG): Always try to find a constant equivalent ! 7884: for a SUBREG; try for CONST_DOUBLE as well. ! 7885: (cse_insn): Call insert_regs on DEST if it is a SUBREG. ! 7886: ! 7887: Thu Jun 18 15:01:29 1992 Mike Stump ([email protected]) ! 7888: ! 7889: * c++: Allow for better quoting and -v handling. ! 7890: ! 7891: Thu Jun 18 14:49:20 1992 Tom Wood ([email protected]) ! 7892: ! 7893: For RMS: ! 7894: * varasm.c: Declare text_section and readonly_data_section. ! 7895: ! 7896: * dpx2.h (CPP_SPEC): Define __HAVE_68881__ unless -msoft-float. ! 7897: DPX/2 machines all have a 68882. ! 7898: ! 7899: * x-i386sco (RCCFLAGS): Use -DNULL=0 to avoid suurious warnings ! 7900: from rcc. ! 7901: ! 7902: * seq386.h (SIZE_TYPE): The Sequent running Dynix uses int for size_t. ! 7903: ! 7904: Thu Jun 18 14:36:41 1992 Mike Stump ([email protected]) ! 7905: ! 7906: Merge in Cygnus sources... ! 7907: ! 7908: Fri Jun 5 15:00:55 1992 Mike Stump (mrs at cygnus.com) ! 7909: ! 7910: * cp-typeck.c (build_c_cast): When casting, propagate const'ness ! 7911: from cast type. When casting to a reference to T, really just ! 7912: cast to T. ! 7913: ! 7914: * cp-cvt.c (build_up_reference): Make a copy of a node before ! 7915: changing it. Only propagate the const bit if we are not ! 7916: subverting it. ! 7917: ! 7918: Fri Jun 5 14:36:19 1992 Mike Stump (mrs at cygnus.com) ! 7919: ! 7920: * cp-cvt.c (build_up_reference): When casting away const on ! 7921: references, do not report an error. ! 7922: ! 7923: Fri Jun 5 13:26:11 1992 Mike Stump (mrs at cygnus.com) ! 7924: ! 7925: * cp-init.c (build_new): Handle new placement with arrays. ! 7926: ! 7927: Thu Jun 4 08:26:44 1992 Mike Stump (mrs at cygnus.com) ! 7928: ! 7929: * cp-search.c (compute_visibility): DERIVED_FROM_P had its ! 7930: arguments reversed, switched them to be in the right order. ! 7931: Fixes visibility on protected members. ! 7932: ! 7933: Wed Jun 3 14:45:40 1992 Mike Stump (mrs at cygnus.com) ! 7934: ! 7935: * cp-parse.y (unary_expr): Make it illegal to use delete on ! 7936: a pointer to a const object. With help from Brendan Kehoe. ! 7937: ! 7938: Wed Jun 3 13:25:26 1992 Ken Raeburn ([email protected]) ! 7939: ! 7940: * cp-parse.y (template_instantiate_once): Set ! 7941: CLASSTYPE_GOT_SEMICOLON to eliminate messages about missing ! 7942: semicolons. ! 7943: ! 7944: * cp-decl.c (start_function): Don't emit error message for missing ! 7945: semicolon after class decl; that syntax (declaring both class and ! 7946: function returning that type) should be legal. Do emit a warning if ! 7947: it's not an anonymous name. ! 7948: ! 7949: Mon Jun 1 18:08:09 1992 Mike Stump (mrs at cygnus.com) ! 7950: ! 7951: Sat May 30 15:38:54 1992 Brendan Kehoe ([email protected]) ! 7952: ! 7953: * cp-decl.c (grokdeclarator): Don't allow main to be static. ! 7954: ! 7955: Mon Jun 1 17:52:24 1992 Mike Stump (mrs at cygnus.com) ! 7956: ! 7957: Sat May 30 15:38:54 1992 Brendan Kehoe ([email protected]) ! 7958: ! 7959: * cp-decl.c (poplevel): Use DECL_INITIAL to detect undef label ! 7960: instead of DECL_SOURCE_LINE. ! 7961: ! 7962: Mon Jun 1 17:22:54 1992 Mike Stump (mrs at cygnus.com) ! 7963: ! 7964: * cp-parse.y (unary_expr): Don't allow old placement syntax(with {}) ! 7965: nor dynamic with new (with ()) new placement syntax. Completes May 27 ! 7966: fix. ! 7967: ! 7968: Mon Jun 1 13:57:28 1992 Mike Stump (mrs at cygnus.com) ! 7969: ! 7970: * cp-type2.c (digest_init): Trailing '\0' is never ignored in ! 7971: initializations using strings in ANSI draft C++ unlike ANSI C. ! 7972: ! 7973: Mon Jun 1 07:18:13 1992 Michael Tiemann (tiemann at rtl.cygnus.com) ! 7974: ! 7975: * cp-decl.c (pushdecl): Re-fix May 12 change regarding DECL_CONTEXT. ! 7976: * cp-call.c (build_method_call): Go back to using DECL_CONTEXT ! 7977: instead of DECL_CLASS_CONTEXT. DECL_CONTEXT says when a function ! 7978: was first declared virtual in a class, which is needed information ! 7979: in case the virtual function comes from a virtual baseclass (because ! 7980: the derived class won't have a vtable entry for that function (if it ! 7981: has a vtable at all!)). ! 7982: ! 7983: Wed May 27 17:05:50 1992 Mike Stump (mrs at cygnus.com) ! 7984: ! 7985: * cp-parse.y (unary_expr): Handle new placement syntax, desupport ! 7986: the old placement syntax with a pedwarn. ! 7987: ! 7988: Tue May 26 17:30:28 1992 Mike Stump (mrs at cygnus.com) ! 7989: ! 7990: Thu May 21 17:13:38 1992 Michael Tiemann (tiemann at cygnus.com) ! 7991: ! 7992: * cp-decl.c (grok_enum_decls): Allow reference to nested enums from ! 7993: other classes for NICHL. ! 7994: ! 7995: Tue May 26 15:31:30 1992 Mike Stump (mrs at cygnus.com) ! 7996: ! 7997: * cp-*.[chy]: Always include "assert.h" and not <assert.h> to ! 7998: be consistent. ! 7999: ! 8000: Tue May 26 10:07:02 1992 Mike Stump (mrs at cygnus.com) ! 8001: ! 8002: * cp-parse.y (return_init): Fix simple typo that caused '=' ! 8003: initialized named return values to fail. ! 8004: ! 8005: Mon May 25 11:42:18 1992 Mike Stump (mrs at cygnus.com) ! 8006: ! 8007: * cp-parse.y (component_decl): Handle anonymous unions as before, ! 8008: except check to make sure it is really an anonymous union. ! 8009: ! 8010: Sat May 23 23:37:38 1992 Mike Stump (mrs at cygnus.com) ! 8011: ! 8012: * cp-tree.c (layout_basetypes): Don't core dump on erroneous input. ! 8013: ! 8014: Sat May 23 22:04:31 1992 Mike Stump (mrs at cygnus.com) ! 8015: ! 8016: * cp-typeck.c (c_expand_start_case): build_type_conversion can ! 8017: return a NULL_TREE, so don't try and find a code or type of it. ! 8018: ! 8019: Wed May 20 09:09:08 1992 Michael Tiemann ([email protected]) ! 8020: ! 8021: * cp-call.c (build_method_call): Use DECL_CLASS_CONTEXT, not ! 8022: DECL_CONTEXT to find the class in which FUNCTION was declared (for ! 8023: non-virtual calls). ! 8024: ! 8025: Tue May 19 02:08:39 1992 Mike Stump (mrs at cygnus.com) ! 8026: ! 8027: * cp-parse.y (component_decl): Remove some bogus code that ! 8028: prevents empty nested union definitions from compiling. ! 8029: ! 8030: Tue May 19 01:08:23 1992 Mike Stump (mrs at cygnus.com) ! 8031: ! 8032: * cp-decl.c (grokfndecl): Propagate volatile from type of ! 8033: function out to the decl for the function. ! 8034: ! 8035: Mon May 18 17:19:39 1992 Mike Stump (mrs at rtl.cygnus.com) ! 8036: ! 8037: * cp-search.c (get_binfo): Since unions cannot participate in ! 8038: inheritance relationships, return 0 instead of aborting. ! 8039: ! 8040: Fri May 15 13:37:40 1992 Mike Stump (mrs at cygnus.com) ! 8041: ! 8042: * cp-parse.y (template_type_name): Handle ! 8043: template<class T> class task { friend task<T>* preempt(task<T>*); }; ! 8044: syntax. ! 8045: ! 8046: * cp-pt.c (lookup_template_class): Ditto. ! 8047: ! 8048: Thu May 14 22:54:17 1992 Mike Stump (mrs at cygnus.com) ! 8049: ! 8050: * cp-tree.c (layout_basetypes): Don't warn about non-virtual ! 8051: destructors unless the user asks with -Wall. ! 8052: ! 8053: Thu May 14 22:38:54 1992 Mike Stump (mrs at cygnus.com) ! 8054: ! 8055: * cp-type2.c (build_functional_cast): exp may be an error_mark_node, ! 8056: don't crash when it is. ! 8057: ! 8058: Thu May 14 18:56:26 1992 Mike Stump (mrs at cygnus.com) ! 8059: ! 8060: * cp-decl.c (hack_incomplete_structures): Test for underflow ! 8061: before decreamenting n_incomplete in current_binding_level, since ! 8062: it is unsigned. ! 8063: ! 8064: Tue May 12 15:52:49 1992 Mike Stump (mrs at cygnus.com) ! 8065: ! 8066: Mon May 11 14:10:50 1992 Ron Guilmette (rfg at ncd.com) ! 8067: ! 8068: * cp-decl.c (poplevel): Reconciled with recent changes made to the ! 8069: `poplevel' routine in c-decl.c. The changes here cause LABEL_DECL ! 8070: nodes to be attached (as the BLOCK_VARS chain) to the BLOCK node ! 8071: which represent the outermost scope of the function. ! 8072: ! 8073: Mon May 11 12:35:44 1992 Ron Guilmette (rfg at ncd.com) ! 8074: ! 8075: * cp-class.c (finish_struct): Check DECL_CONTEXT to see if it is ! 8076: any sort of a type (e.g. struct *or* union) rather than just ! 8077: checking it to see if it's a RECORD_TYPE. ! 8078: * cp-decl.c (pushdecl): Set DECL_CONTEXT of pushed ..._DECL node, ! 8079: just as is done in c-decl.c. ! 8080: (pushdecl): Delete useless variable `cntxt'. ! 8081: (finish_decl): Set TREE_USED rather than DECL_FROM_INLINE in order ! 8082: to prevent "unused" warnings. ! 8083: (finish_function): Check DECL_CONTEXT to see if it is a type. ! 8084: (finish_function): Fixed indentation problem. ! 8085: * cp-gc.c (build_m_desc): Check DECL_CONTEXT to see if it is a type. ! 8086: * cp-init.c (build_virtual_init): Fix indentation. ! 8087: * cp-lex.c (store_pending_inline): Check DECL_CONTEXT to see if it ! 8088: is a type. ! 8089: * cp-pt.c (tsubst, do_pending_expansions): Check DECL_CONTEXT to see ! 8090: if it is a type. ! 8091: * cp-typeck.c (mark_addressable): Check DECL_CONTEXT to see if it is ! 8092: any sort of a type (e.g. struct *or* union) rather than just ! 8093: checking it to see if it's a RECORD_TYPE. ! 8094: ! 8095: Tue May 12 08:52:06 1992 Michael Tiemann ([email protected]) ! 8096: ! 8097: * cp-typeck.c (build_component_ref): Call `break_out_cleanups'. ! 8098: Also clean up indentiation. ! 8099: ! 8100: Mon May 11 23:14:04 1992 Mike Stump (mrs at cygnus.com) ! 8101: ! 8102: * cp-decl.c (pushtag): Handle structure tags in the same way as the ! 8103: C front-end. This completes a change that rms put in on 3/12/92 and ! 8104: I put in the Cygnus tree on 3/13/92 and Mark Eichin took back out on ! 8105: 3/18/92. ! 8106: ! 8107: Sun May 3 00:29:59 1992 Mike Stump (mrs at cygnus.com) ! 8108: ! 8109: * cp-lex.c (copy_lang_decl, store_pending_inline): Cast ! 8110: arguments to bcopy to be char *. ! 8111: ! 8112: Fri May 1 12:22:31 1992 Michael Tiemann ([email protected]) ! 8113: ! 8114: * cp-init.c (expand_aggr_init, expand_vec_init): When comparing ! 8115: array types, use `comptypes' instead of ==, since two array types ! 8116: may be structurally identical but not == if one was defaulted from ! 8117: an initializer. ! 8118: ! 8119: Wed Apr 29 01:25:25 1992 Mike Stump (mrs at cygnus.com) ! 8120: ! 8121: * cp-init.c (do_friend): Check that PREVIOUS_DECL is non-NULL. ! 8122: ! 8123: Thu Jun 18 14:15:07 1992 Torbjorn Granlund ([email protected]) ! 8124: ! 8125: * pa.md (insv): Use `+' for operand 0 constraint. ! 8126: ! 8127: Thu Jun 18 13:39:22 1992 Michael Meissner ([email protected]) ! 8128: ! 8129: * mips.h (MIPS_VERSION): Bump Meissner version # to 20. ! 8130: (final_prescan_insn): Add declaration. ! 8131: (FINAL_PRESCAN_INSN): Just call final_prescan_insn. ! 8132: (CONST_OK_FOR_LETTER_P): Rewrite some tests, so that they will ! 8133: work on host systems with 64 bit integers. ! 8134: ! 8135: * mips.c (large_int): Rework, so that we don't get funny boundary ! 8136: conditions on systems with 64 bit integers. ! 8137: (mips_move_1word): Just use li to load constants that can be done ! 8138: with lui, instead of issuing the lui, since the GAS bug that ! 8139: generated two instructions has been fixed. ! 8140: (final_prescan_insn): Move the checking for filling the delay ! 8141: slots here from the FINAL_PRESCAN_INSN macro. ! 8142: ! 8143: * mips.md (andsi3, iorsi3, xorsi3): Make the constraints match ! 8144: the real machine (the predicate still is more general in order ! 8145: to optimize bitfields at the expense of not CSE'ing large ! 8146: constants used in logical ops, and making reload load it into ! 8147: a scratch register). Don't use $1 as a temporary register any ! 8148: more. ! 8149: ! 8150: * varasm.c (decode_reg_name): If `memory' return -4. ! 8151: ! 8152: * stmt.c (expand_asm_operands): If `memory' is used as a clobbered ! 8153: register, emit a (clobber (const_int 0)) to force the compiler not ! 8154: to cache memory values in registers across the assembly ! 8155: instruction(s). ! 8156: ! 8157: * mips-tfile.c (read_line): Semicolons within strings are not ! 8158: counted as statement separators. ! 8159: ! 8160: * collect2.c (scan_prog_file, OSF/rose case): Cast pointer arguments ! 8161: to bcopy to generic * to avoid warnings. ! 8162: ! 8163: Thu Jun 18 12:04:53 1992 David J. MacKenzie ([email protected]) ! 8164: ! 8165: * c++: If given -v with no file args, don't pass the libraries to ! 8166: gcc. ! 8167: ! 8168: Thu Jun 18 10:34:22 1992 Tom Wood ([email protected]) ! 8169: ! 8170: * expr.c (expand_builtin, BUILT_IN_FSQRT): Emit queue of increment ! 8171: instructions before starting a sequence that may get thrown away. ! 8172: ! 8173: See ChangeLog.5 for earlier changes.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.