|
|
1.1 root 1: Tue Mar 1 19:43:31 1994 Stan Shebs ([email protected]) 2: 3: * a29k/a29k.h (TARGET_SOFT_FLOAT): Define. 4: (TARGET_SWITCHES): Add -msoft-float. 5: * a29k/a29k.md (all floating point): Disable floating point insns 6: if doing soft floats. 7: 8: Tue Mar 1 19:36:05 1994 Glenn Holloway ([email protected]) 9: 10: * defaults.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use 11: ASM_OUTPUT_INTERNAL_LABEL instead of ASM_GENERATE_INTERNAL_LABEL. 12: 13: Tue Mar 1 19:26:47 1994 Jim Wilson ([email protected]) 14: 15: * sparc/sol2.h (JUMP_TABLES_IN_TEXT_SECTION): Delete. 16: * sparc/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Add. 17: 18: * c-typeck.c (build_binary_op): Pass TREE_TYPE (orig_op0) not 19: orig_op0 to TREE_UNSIGNED. 20: 21: Tue Mar 1 18:33:33 1994 Richard Kenner ([email protected]) 22: 23: * varasm.c (output_constant): Strip off some NOP_EXPRs 24: before further processing. 25: 26: Tue Mar 1 12:00:00 1994 Stan Cox ([email protected]) 27: 28: * m88k.c (legitimize_address, print_operand): Make -fPIC work 29: again. Put addresses inside UNSPEC when loading them to 30: ensure that cse won't mistakenly optimize them. 31: 32: * m88k.md: Two new patterns, to match (HIGH (UNSPEC (..))) and 33: (LO_SUM (reg) (UNSPEC (..))) as generated above. 34: 35: * m88k.h: (GO_IF_LEGITIMATE_ADDRESS) Reject invalid PIC addresses. 36: 37: Tue Mar 1 11:00:14 1994 Doug Evans ([email protected]) 38: 39: * configure: Fix some typos. 40: * config.sub: Move comment to proper place. 41: 42: Mon Feb 28 18:31:50 1994 Doug Evans ([email protected]) 43: 44: * ns32k/encore.h (ASM_OUTPUT_ASCII): Fix typo. 45: 46: Mon Feb 28 18:31:42 1994 Steve Chamberlain ([email protected]) 47: 48: * expr.c (convert_move): Change name of truncsipsi to truncsipsi2 49: to conform to existing convention, same with extendpsisi. 50: 51: Mon Feb 28 08:11:55 1994 Jim Meyering ([email protected]) 52: 53: * cccp.c (check_precompiled): Delete unused var dollar_loc. 54: (pcstring_used): Delete unused var TMP. 55: (write_output): Delete unused var WRITTEN. 56: (assertion_lookup): Delete unused var BP. 57: (pedwarn_with_file_and_line): Delete unused var I. 58: 59: Mon Feb 28 07:12:24 1994 Julian Bradfield ([email protected]) 60: 61: * m68k.md (call): Change HPUX_ASM case. 62: * m68k/hp320.h (READONLY_DATA_SECTION, LEGITIMATE_PIC_OPERAND_P): 63: Defined. 64: (FUNCTION_PROLOGUE): Emit PIC prologue. 65: 66: Mon Feb 28 06:21:18 1994 Richard Kenner ([email protected]) 67: 68: * reload1.c (eliminate_regs, case MULT): New case, to apply 69: distributive law, when needed. 70: 71: * stor-layout.c (variable_size): If global_bindings_p < 0, 72: don't even make the SAVE_EXPR. 73: 74: * reg-stack.c (reg_to_stack): Use GET_RTX_CLASS. 75: Clear LABEL_REFs here. 76: (find_blocks): Make algorithm identical to that inreg_to_stack. 77: Use GET_RTX_CLASS. 78: Don't clear LABEL_REFs here. 79: Build a list of labels referenced by other than jumps. 80: If computed jump, mark using that list and forced_labels. 81: (uses_reg_or_mem): New function, copied from flow.c. 82: 83: * optabs.c (expand_binop): Use expand_divmod to do 84: integer division for DIV of MODE_COMPLEX_INT operands. 85: 86: Sun Feb 27 20:24:30 1994 Rob Austein ([email protected]) 87: 88: * protoize.c (process_aux_info_file): Properly start over on 89: file error. 90: 91: Sun Feb 27 17:42:19 1994 Jim Wilson ([email protected]) 92: 93: * expmed.c (store_split_bit_field): If OP0 is a SUBREG, then 94: compute WORD from the base register, instead of from the SUBREG. 95: (extract_split_bit_field): Likewise. 96: (extract_bit_field): Sign-extend multiword bitfield if necessary. 97: 98: * emit-rtl.c (subreg_realpart_p): New function. 99: * integrate.c (copy_rtx_and_substitute): Use subreg_realpart_p 100: instead of subreg_lowpart_p for CONCAT. 101: 102: * c-pragma.c (HANDLE_PRAGMA_WEAK): Depend on ASM_OUTPUT_DEF not 103: SET_ASM_OP when defining it. 104: * dwarfout.c (ASM_OUTPUT_DEF): Delete definition. 105: * defaults.h (ASM_OUTPUT_DEF): Add it here. 106: * varasm.c (handle_pragma_weak): Depend on ASM_OUTPUT_DEF not 107: SET_ASM_OP when defining it. Use ASM_OUTPUT_DEF to output value 108: instead of SET_ASM_OP and explicit ASM_OUTPUT_LABELREF calls. 109: 110: * calls.c (expand_call): Set nregs to -1 for BLKmode parameter, 111: then before move_block_to_reg call set it to the type size. 112: 113: * reorg.c (try_merge_delay_insns): Success when SLOT_NUMBER == 114: NUM_SLOTS not when NEXT_TO_MATCH == 0. 115: 116: * expmed.c (store_fixed_bit_field): Adjust BITPOS so that it 117: fits inside MODE before adjusting OFFSET to get an aligned address. 118: 119: * expmed.c (store_fixed_bit_field): Move float mode to integral 120: mode conversion from near end of function to top of function. 121: 122: * c-typeck.c (process_init_element): Check for constructor_type 123: set before dereferencing it in the string cst code. 124: 125: Sun Feb 27 17:28:06 1994 Philippe De Muyter ([email protected]) 126: 127: * m68k/mot3300.h (TARGET_DEFAULT): Default to 68020-40. 128: (ASM_SPEC): New macro. 129: (FUNCTION_VALUE, FUNCTION_VALUE_REGNO_P): Return pointer in a0. 130: (*_LIBCALL): Use functions from sysV68's library. 131: (INIT_CUMULATIVE_ARGS, FUNCTION_ARG*): Some libcalls pass 132: parameters in registers. 133: 134: Sun Feb 27 15:20:35 1994 Ron Guilmette ([email protected]) 135: 136: * flags.h (id_clash_len): Now unsigned. 137: (warn_larger_than, larger_than_size): New variables. 138: * toplev.c: Likewise. 139: (main): Support -Wlarger-than-NN. 140: * c-common.c (declare_hidden_char_array): Build new type if 141: warn_larger_than. 142: * c-decl.c (finish_decl, finish_function): Issue warning for 143: large objects, if requested. 144: 145: Sun Feb 27 10:50:50 1994 Richard Kenner ([email protected]) 146: 147: * integrate.c (expand_inline_function): Allow extra arguments 148: and force their evaluation for side-effects. 149: 150: * local-alloc.c (qty_compare{,_1}): Give multi-word regs higher 151: priority, as stated in the comments. 152: * global.c (allocno_compare): Likewise. 153: 154: * c-common.c (binary_op_error): Initialize OPNAME. 155: * c-decl.c (store_parm_decls): Initialize some vars. 156: * c-lex.c (readescape): Initialize FIRSTDIG. 157: * c-typeck.c (type_lists_compatible_p): Initialize NEWVAL. 158: (pop_init_level): Initialize SIZE. 159: (output_pending_init_elements): Initialize NEXTPOS_TREE. 160: * calls.c (expand_call): Initialize OLD_PENDING_ADJ. 161: * cccp.c (main, args case 'D'): Rewrite to avoid uninitialized var. 162: (main, args case 'A'): Delete unused var P1. 163: (rescan): Initialize STR. 164: (do_xifdef, do_endif): Initialize arg to skip_to_end_of_comment. 165: * expr.c (emit_move_insn): Delete unused vars. 166: (emit_move_insn_1): Don't set SUBMODE unless used. 167: (expand_builtin, case BUILT_IN_SAVEREGS): Clean up uses of VALREG 168: and SAVED_VALREG. 169: * final.c (final_scan_insn): Always set OPS and use alloca. 170: * gcc.c (execute): Initialize PROG. 171: * optabs.c (emit_float_lib_cmp): Init LIBFUNC; abort if not reset. 172: * stmt.c (expand_start_bindings): Properly set NOTE if bytecode. 173: * tree.c (make_node, stabilize_reference_1): Abort if unknown class. 174: * varasm.c (make_decl_rtl): Initialize NAME and abort if not reset. 175: 176: Sat Feb 26 13:09:37 1994 Doug Evans ([email protected]) 177: 178: * mips-tfile.c (fatal, error): Don't use prototypes 179: ifndef HAVE_VPRINTF. 180: 181: * fixincludes: Fix including of machine/r3_cpu.h and machine/r4_cpu.h 182: in machine/cpu.h on Ultrix 4.3. 183: 184: Sat Feb 26 07:14:04 1994 Richard Kenner ([email protected]) 185: 186: * rs6000.h (MASK_NO_SUM_IN_TOC, TARGET_NO_SUM_IN_TOC): New macros. 187: (MASK_MINIMAL_TOC): Change bit value. 188: (TARGET_SWITCHES): Add -mno-sum-in-toc; use -mfull-toc instead 189: of -mnormal-toc, other minor changes. 190: * rs6000.md (movsi): If -mno-sum-in-toc, do addition of 191: symbol + const. 192: 193: * jump.c (rtx_renumbered_equal_p): Fix bug in comparing SUBREGs 194: and REGs. 195: Two commutative operations are equal if the operands are in the 196: opposite order. 197: 198: * function.c (fixup_var_refs_insn): Delete CLOBBER of VAR. If 199: VAR is being assigned into by a libcall sequence, remove the 200: libcall notes. 201: 202: * cse.c (count_reg_usage, case SET): If SRC has side-effects, 203: count a usage of DEST in it. 204: 205: * expr.c (store_expr): In promoted TARGET case, if EXP is a 206: volatile MEM and WANT_VALUE is nonzero, only reference the MEM once. 207: Return TARGET if it is a hard register; clean up return code. 208: 209: * tree.c (substitute_in_type, case REAL_TYPE): Fix typo in 210: previous change. 211: 212: Fri Feb 25 06:42:20 1994 Richard Kenner ([email protected]) 213: 214: * tree.c (substitute_in_type, case REAL_TYPE): Allow 215: TYPE_{MIN,MAX}_VALUE to be unassigned. 216: 217: * combine.c (if_then_else_cond): Fix typo in narrowing of a SUBREG. 218: 219: * alpha.md (neg[sd]f2): Use %R1 consistently. 220: 221: * reload.c (find_reloads): Don't restrict class of multiword 222: operand to preferred class. 223: (find_reloads_address_1): Rework to use `switch'. 224: Reload a SUBREG of a hard reg as a unit. 225: 226: * alpha.md (mul*): Disallow multiply by constant. 227: 228: Thu Feb 24 21:20:11 1994 Ian Lance Taylor ([email protected]) 229: 230: * fixinc.sco: In <prototypes.h>, fix prototypes of getcwd and 231: link. 232: 233: Thu Feb 24 13:06:05 1994 Richard Stallman ([email protected]) 234: 235: * config.sub: Don't force os=-hpux for hp9k2... and hp9k3... 236: 237: Thu Feb 24 11:17:11 1994 Jeffrey A. Law ([email protected]) 238: 239: * configure (hppa*-*-osf*): Renamed from hppa*-*-mach. Target 240: filenames changed accordingly. 241: 242: Thu Feb 24 08:54:27 1994 Bob Miorelli ([email protected]) 243: 244: * lynx.h (LIB_SPEC, LINK_SPEC): Add missing blanks. 245: 246: Thu Feb 24 08:42:07 1994 Ian Willis ([email protected]) 247: 248: * i386/sco.h, i386/scodbx.h (HANDLE_SYSV_PRAGMA): Define. 249: 250: Thu Feb 24 07:31:44 1994 Richard Kenner ([email protected]) 251: 252: * loop.c (maybe_eliminate_biv_1): Ignore GIV if it isn't 253: always computed. 254: 255: * loop.c (scan_loop, strength_reduce): Go back to LOOP_TOP, not 256: its NEXT_INSN (in case SCAN_START == LOOP_TOP). 257: 258: Wed Feb 23 07:30:14 1994 Richard Kenner ([email protected]) 259: 260: * reload1.c (choose_reload_regs): If EQUIV is a SUBREG, 261: make a new REG. 262: 263: * c-common.c (decl_attributes): Warn if attribute will be ignored. 264: Allow `noreturn', `volatile', and `const' on object of type 265: pointer to function. 266: Always give decl with error or warning. 267: * calls.c (expand_call): Functions may be const or volatile from 268: their type. 269: 270: Tue Feb 22 11:00:12 1994 Ian Lance Taylor ([email protected]) 271: 272: * fixincludes: In #[el]if, put double underscores around M32, 273: m88k, pdp11, tower[_0-9]*, u370, u3b[0-9]*. From Kaveh R. 274: Ghazi. 275: 276: * fixinc.sco: Fix prototype declaration of utime in <sys/times.h>; 277: it's broken in SCO 3.2v4.0. 278: 279: Tue Feb 22 08:14:28 1994 Matthias Pfaller ([email protected]) 280: 281: * ns32k.h (FUNCTION_{PROLOGUE,EPILOGUE}): %$ is not supported 282: in fprintf. 283: (ADJSP): New macro to resolve %$. 284: 285: * pc532.h (FRAME_POINTER_REQUIRED): Deleted. 286: * pc532-mach.h (FRAME_POINTER_REQUIRED): Moved to here. 287: (DEFAULT_PCC_STRUCT_RETURN): Deleted; redundant. 288: 289: * ns32k.c (output_move_dconst): New function. 290: * ns32k.h (output_move_dconst): New declaration. 291: * ns32k.md: Added peephole patterns for stack adjustments followed 292: by QI/HI pushes. 293: (movsi): Use output_move_dconst for TARGET_32532. 294: (ffs): New patterns. 295: 296: * ns32k.c (global_symbolic_reference_mentioned_p): New function. 297: (print_operand_address): Allow pc-relative mode not only 298: for {LABEL, SYMBOL}_REF but for CONST too. If compiling PIC, 299: transform "symbol+const(Rx)" to "const(symbol(sb))[Rx:b]". 300: * ns32k.h (OVERRIDE_OPTIONS): New macro to support PIC. 301: (FUNCTION_PROLOGUE): Save/Load sb when compiling PIC. 302: (FUNCTION_EPILOGUE): Restore sb when compiling PIC. 303: (INITIAL_FRAME_POINTER_OFFSET): Take saved sb into account when PIC. 304: (LEGITIMATE_CONSTANT_P, GO_IF_LEGITIMATE_ADDRESS): 305: Set current_function_uses_pic_offset_table if P uses a global 306: symbolic reference. 307: (ENCODE_SECTION_INFO): New macro to support PIC. 308: 309: Tue Feb 22 07:59:27 1994 Torbjorn Granlund ([email protected]) 310: 311: * alpha.md (divsi3): Emit all RTL from RTL template. 312: (udivsi3, modsi3, umodsi3, divdi3, udivdi3, moddi3, umoddi3): Likewise. 313: 314: Tue Feb 22 07:21:31 1994 Samuel A. Figueroa ([email protected]) 315: 316: * i386/os2.h (LINK_SPEC, LIB_SPEC): New macros. 317: (PATH_SEPARATOR): Delete from here. 318: * i386/xm-os2.h (PATH_SEPARATOR): Add to here. 319: 320: Mon Feb 21 17:48:39 1994 Jim Wilson ([email protected]) 321: 322: * mips-tfile.c (fatal, error): Add ! HAVE_VPRINTF versions. 323: 324: Sun Feb 20 16:53:02 1994 Ted Lemon ([email protected]) 325: 326: * mips.c (mips_move_2words): Check for TARGET_FLOAT64 != TARGET_64BIT. 327: (override_options): Don't override MASK_64BIT; don't allow -gp64 328: without -mips3. 329: * mips.h: Update mips3 comments. 330: (TARGET_OPTIONS): Add gp64 and gp32. 331: (SECONDARY_MEMORY_NEEDED): Don't allow fp<->gp copy if TARGET_FLOAT64 332: != TARGET_64BIT. 333: (CC1_SPEC): Generate correct -mfp* and -mgp* from -mips* 334: * mips.md (movdf_internal1): Disable if TARGET_FLOAT64 != TARGET_64BIT. 335: (movdf_internal1a): New pattern. 336: * osfrose.h (CC1_SPEC): Update as above. 337: 338: Sun Feb 20 15:40:45 1994 Jim Wilson ([email protected]) 339: 340: * sparc.h (HARD_REGNO_MODE_OK): Update comment. 341: 342: * iris5.h (OBJECT_FORMAT_ELF): Add comments. 343: * configure (mips-sgi-irix5): Use collect. 344: 345: Sat Feb 19 14:25:41 1994 Ian Lance Taylor ([email protected]) 346: 347: * fixincludes: Permit upper case characters in typedef of size_t 348: in <sys/types.h>. 349: 350: Thu Feb 17 18:02:02 1994 Steve Chamberlain ([email protected]) 351: 352: * c-parse.in (attrib): Handle attribute ((section ("string"))). 353: * c-common.c (decl_attributes): Decode section attribute. 354: * c-decl.c (duplicate_decls): Merge section name into new decl. 355: * tree.h (DECL_SECTION_NAME): New macro. 356: (struct tree_decl): New member `section_name'. 357: * varasm.c (IN_NAMED_SECTION): New macro. 358: (named_section): New function. 359: (enum in_section): New value `in_named'. 360: (in_named_name): New global. 361: (make_function_rtl, make_decl_rtl, output_constant_def): Fix comment 362: regarding ASM_OUTPUT_LABELREF. 363: (make_decl_rtl): Warn if section attribute used with uninitialized 364: variable declaration. 365: (assemble_start_function, assemble_variable, output_constant_def): 366: Change to named section if given. 367: * sparc/sysv4.h (ASM_OUTPUT_SECTION_NAME): Define. 368: * h8300/h8300.h (ASM_OUTPUT_SECTION_NAME): Define. 369: (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION): Delete. 370: (ASM_OUTPUT_LABELREF): Call fprintf directly. 371: * h8300/h8300.c (asm_output_labelref): Delete. 372: * sh/sh.h (ASM_OUTPUT_SECTION_NAME): Define. 373: (ASM_OUTPUT_SECTION): Delete. 374: 375: Wed Feb 16 21:46:48 1994 Doug Evans ([email protected]) 376: 377: * i960/i960.c (i960_function_prologue): Put register save area before 378: outgoing arg block. 379: 380: Wed Feb 16 15:33:26 1994 Jim Wilson ([email protected]) 381: 382: * expr.c (get_pointer_alignment): ALIGN is alignment of innermost 383: object, not the MAX of alignment of all objects. 384: 385: * expr.c (group_insns): Delete. 386: (emit_move_insn_1, expand_expr): Use emit_no_conflict_block 387: instead of group_insns. 388: 389: * final.c (end_final): Pass BIGGEST_ALIGNMENT not align to 390: ASM_OUTPUT_ALIGNED_LOCAL. 391: 392: * alpha.c (alpha_builtin_saveregs): Don't include 393: current_function_arg_offset_rtx in argsize. Subtract 48 from arg 394: base address when no int registers stored on the stack. 395: 396: * genattrtab.c (expand_units): Fix blockage calculation. 397: 398: * loop.c (scan_loop): Add no_labels_between_p call to tests which 399: decide if an invariant reg can be safely replaced with its SET_SRC. 400: 401: Wed Feb 16 00:54:04 1994 Ian Lance Taylor ([email protected]) 402: 403: * fixincludes: Fix uses of new in Xm/Traversal.h. Found on 404: RS/6000. 405: 406: Tue Feb 15 19:44:41 1994 Per Bothner ([email protected]) 407: 408: * tree.def: Remove STRING_TYPE. No-one uses it. 409: * tree.h (struct tree_type): New bitfield string_flag. 410: * tree.h (TYPE_STRING_FLAG): New macro. 411: * tree.c, sparc.c: Remove unneeded tests for STRING_TYPE. 412: * expr.c (expand_builtin), dwarfout.c: Use TYPE_STRING_FLAG. 413: * dbxout.c (dbxout_type): For SET_TYPE and ARRAY_TYPE, use 414: TYPE_STRING_FLAG to emit appropriate indication. 415: 416: Tue Feb 15 19:36:45 1994 Stephen L Moshier ([email protected]) 417: 418: * real.c (real_value_truncate): If requested mode is not 419: supported, return the unmodified input instead of aborting. 420: 421: Tue Feb 15 19:30:48 1994 Richard Kenner ([email protected]) 422: 423: * expr.c (expand_increment): Handle both BAD_SUBREG and POST. 424: 425: Tue Feb 15 11:09:08 1994 Ian Lance Taylor ([email protected]) 426: 427: * fixinc.svr4: Make byteorder.h a here document, rather than 428: copying it from the source directory. 429: * byteorder.h: Removed. 430: 431: * fixinc.sco: Don't install <sys/byteorder.h>. 432: 433: * fixincludes: Removed references to GCCCMD. Instead of running 434: ${GCCCMD} to determine correct value for size_t, just fix the 435: header files to use __SIZE_TYPE__. 436: * Makefile.in (fixinc.ready): Removed target. 437: (stmp-fixinc): Don't depend upon fixinc.ready. Don't pass fourth 438: argument (was "`pwd`/xgcc -B`pwd`/") to $(FIXINCLUDES). 439: (clean): Don't remove fixinc.ready. 440: 441: * rs6000.h (RS6000_ITRUNC, RS6000_UITRUNC): Define. 442: * rs6000.md (fix_truncdfsi2, fixuns_truncdfsi2): Use RS6000_ITRUNC 443: and RS6000_UITRUNC, not "itrunc" and "uitrunc". 444: * rs6000.c (output_prolog): Likewise. 445: 446: Mon Feb 14 19:19:06 1994 Jim Meyering ([email protected]) 447: 448: * gen-protos.c (main): Remove unused args in call to fprintf. 449: * bi-opcode.c (main): Move unused arg ++i out of call to printf. 450: 451: Mon Feb 14 19:14:55 1994 Stephen L Moshier ([email protected]) 452: 453: * real.c (eifrac): If FIXUNS_TRUNC_LIKE_FIX_TRUNC, 454: convert on positive overflow as if unsigned. 455: 456: Mon Feb 14 19:13:15 1994 Jason Merrill ([email protected]) 457: 458: * toplev.c (lang_options): Add -W{no,}extern-inline. 459: 460: * gcc.c (default_compilers): Generate and use .ii files in the 461: intermediate stage of compiling C++ source. 462: 463: Mon Feb 14 19:08:37 1994 Richard Kenner ([email protected]) 464: 465: * local-alloc.c (optimize_reg_copy): A register that dies in 466: a CALL_INSN doesn't cross that call. 467: 468: * combine.c (simplify_shift_const, case AND): When remaking 469: binary operation, do it in SHIFT_MODE. 470: 471: Mon Feb 14 11:27:35 1994 Frederic Pierresteguy ([email protected]) 472: 473: * config.sub: Add case for Bull dpx20. 474: 475: Sun Feb 13 23:50:15 1994 Ian Lance Taylor ([email protected]) 476: 477: * rs6000.c (output_epilog): Don't output a traceback table if 478: flag_inhibit_size_directive is set. 479: 480: Sun Feb 13 17:47:14 1994 Richard Kenner ([email protected]) 481: 482: * rs6000.c (rs6000_adjust_cost): Renamed from ppc_adjust_cost. 483: * rs6000.h (ADJUST_COST): Call rs6000_adjust_cost. 484: 485: Sun Feb 13 17:07:02 1994 Ian Lance Taylor ([email protected]) 486: 487: * rs6000.h (ASM_OUTPUT_INTERNAL_LABEL_PREFIX): Define. 488: (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL instead 489: of assuming the default format for internal labels. 490: (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. 491: * rs6000.c (output_prolog, output_epilog): Likewise. 492: (output_function_profiler): Likewise. 493: 494: * fixincludes: Fix conflicts with C++ reserved words in 495: X11/ShellP.h, Xm/Traversal.h, and Xm/BaseClassI.h. Found on 496: RS/6000. 497: 498: Sun Feb 13 13:40:17 1994 Michael Meissner ([email protected]) 499: 500: * halfpic.h (toplevel): Include stdio.h if it hasn't been included 501: already, so that STDIO_PROTO can be defined. Otherwise, 502: asm_fprintf gets a prototype mismatch. 503: 504: Sun Feb 13 02:36:30 1994 Doug Evans ([email protected]) 505: 506: * gcc.c (fatal, error): Fix declarations (dependent on HAVE_VPRINTF).. 507: 508: Sat Feb 12 19:46:29 1994 Michael Meissner ([email protected]) 509: 510: * configure (386-*-osfrose): Use i386/xm-osf.h as xm file. 511: 512: * i386/xm-osf.h (new file): Define HAVE_PUTENV and HAVE_VPRINTF. 513: 514: Sat Feb 12 08:51:02 1994 Richard Earnshaw ([email protected]) 515: 516: * calls.c (expand_call): When preserving subexpressions, don't put 517: expensive arguments directly into hard registers. 518: 519: * combine.c (REVERSIBLE_CC_MODE): Add default definition. 520: (reversible_comparison_p): REVERSIBLE_CC_MODE. 521: * sparc.h (REVERSIBLE_CC_MODE): Define. 522: 523: * combine.c (subst): Always simplify true and false arms if 524: if_then_else_cond succeeds. 525: (subst, case IF_THEN_ELSE): More canonicalizations; delete some 526: redundant tests. 527: (if_then_else_cond): Canonicalize (OP (mult COMP A) (mult REV_COMP B)). 528: (gen_binary): Simplify (REL_OP (compare X Y) 0) here. 529: 530: Sat Feb 12 07:41:55 1994 Torbjorn Granlund ([email protected]) 531: 532: * cse.c (cse_main): Conditionalize special treatment of 533: PIC_OFFSET_TABLE_REGNUM on PIC_OFFSET_TABLE_REG_CALL_CLOBBERED. 534: 535: * expmed.c (expand_shift): Truncate immediate count if 536: SHIFT_COUNT_TRUNCATED. 537: 538: Fri Feb 11 18:49:42 1994 Per Bothner ([email protected]) 539: 540: * dbxout.c (dbxout_type_fields): Emit anonymous fields 541: just like other fields, but with an empty name. Don't 542: treat the fields as belonging to the containing object. 543: 544: Fri Feb 11 20:08:25 1994 Torbjorn Granlund ([email protected]) 545: 546: * rs6000.md (definition of "type"): Add "jmpreg" as new type. 547: Change "mtlr" to "mtjmpr". 548: (movsi matcher): Pair `c' and `l' in the same constraint 549: alternative. 550: (return): Set attribute to "jmpreg". 551: (indirect_jump): Likewise. 552: * rs6000.h (ADJUST_COST): Call ppc_adjust_cost. 553: * rs6000.c (ppc_adjust_cost): New function. Adjust for TYPE_JMPREG. 554: 555: Fri Feb 11 17:39:42 1994 Michael Collison ([email protected]) 556: 557: * reload1.c (gen_input_reload): If reg-reg add is not valid, 558: try copying reg-reg and adding reg-int. 559: 560: Fri Feb 11 17:36:11 1994 Jason Merrill ([email protected]) 561: 562: * expr.c (expand_builtin): If the builtin was called as 563: __builtin_whatever, pretend we're optimizing. 564: 565: Fri Feb 11 17:30:28 1994 Richard Kenner ([email protected]) 566: 567: * jump.c (mark_jump_label, case LABEL_REF): Update REG_LABEL 568: note if changing target of jump. 569: 570: * regclass.c (record_reg_classes): Fix logic in case of matching 571: operands. 572: 573: Fri Feb 11 16:03:21 1994 Doug Evans ([email protected]) 574: 575: * tree.h (VPROTO, VA_START): Avoid duplicate definition. 576: * rtl.h (VPROTO, VA_START): Likewise. 577: * gcc.c (VPROTO, VA_START): Define. 578: (PROTO): Define. 579: Add prototypes for static functions. 580: * g++.c (VPROTO, VA_START): Define. 581: 582: * gstdarg.h: Don't define _STDARG_H/etc. if not gcc, 583: it may collide with system's header. 584: 585: Thu Feb 10 19:26:37 1994 Chip Salzenberg ([email protected]) 586: 587: * c-typeck.c (c_expand_return): Do not warn about returning the 588: address of a locally declared extern variable. 589: 590: Thu Feb 10 15:57:06 1994 Jeffrey A. Law ([email protected]) 591: 592: * final.c (IS_ASM_LOGICAL_LINE_SEPARATOR): Provide default 593: definition. 594: (asm_insn_count): Use IS_ASM_LOGICAL_LINE_SEPARATOR rather 595: than assuming the logical line separator is ';'. 596: 597: * pa.h (IS_ASM_LOGICAL_LINE_SEPARATOR): Define. 598: 599: Thu Feb 10 08:49:39 1994 Richard Kenner ([email protected]) 600: 601: * reload.h (reload_secondary_{reload,icode}): Deleted. 602: (reload_secondary_{in,out}_{reload,icode}): New variables. 603: * reload.c: Likewise. 604: (MATCHES, MERGABLE_RELOADS, MERGE_TO_OTHER): Move to front of file. 605: (push_secondary_reload): New function, from find_secondary_reload. 606: (find_secondary_reload): Deleted. 607: (push_reload): Call push_secondary_reload. 608: (combine_reloads): Use new vars for secondary reloads and icodes. 609: * reload1.c (emit_reload_insns): Use new vars for secondary 610: reloads and icodes. 611: 612: * explow.c (memory_address): Fix error in last change. 613: 614: Thu Feb 10 08:13:49 1994 Stephen R. van den Berg ([email protected]) 615: 616: * rtl.h, tree.h, mips-tfile.c (VPROTO): New macro. 617: * combine.c, expr.h, genattrtab.c, output.h, rtl.h, tree.h, toplev.c: 618: Use PROTO for varargs functions. 619: * genattrtab.c (attr_printf): Only declare when defined. 620: * bc-emit.c, calls.c, combine.c, emit-rtl.c, final.c, g++.c: 621: If __STDC__, include gstdarg and use ANSI form of varargs. 622: * gcc.c, genattrtab.c, mips-tfile.c, tree.c, toplev.c: Likewise. 623: 624: Wed Feb 9 09:53:54 1994 Michael Meissner ([email protected]) 625: 626: * i386/osfrose.h (SUBTARGET_SWITCHES): Add -mmcount-ptr as a 627: synonym for -mno-mcount. 628: (CC1_SPEC): If -melf, pass -mmcount-ptr by default. 629: 630: * i386/osfelf.h (CC1_SPEC): Unless -mrose, pass -mmcount-ptr by 631: default. 632: 633: * configure (alpha-dec-osf): Use osf2.h and gdb-osf2.h on OSF/1 2.0 and 634: beyond. 635: 636: * alpha/osf2.h, alpha/gdb-osf2.h (new files): Support for OSF/1 2.0 637: that uses 4 byte wchar_t's instead of 2 byte. 638: 639: Tue Feb 8 20:18:12 1994 Paul Eggert ([email protected]) 640: 641: * real.c (earith, ereal_negate, eneg, eisneg, enan, emovo, esub): 642: Propagate the sign of NaNs, so that e.g. -(NaN) evaluates to -NaN. 643: (eadd, ediv, emul, eremain, e53toe, e64toe, e113toe, e24toe, esqrt): 644: Likewise. 645: (make_nan): New arg specifies sign of NaN. All callers changed. 646: (eiisneg): New function. 647: (esqrt): Compute sqrt(-0.0) to be -0.0, not 0.0. 648: 649: Tue Feb 8 19:23:41 1994 Richard Kenner ([email protected]) 650: 651: * toplev.c: Include ctype.h. 652: 653: * tree.c (int_fits_type_p): Properly handle case of variable bounds 654: for types. 655: 656: Tue Feb 8 19:20:04 1994 Jason Merrill ([email protected]) 657: 658: * fixproto: Add popen and pclose to required list for stdio.h. 659: Add putenv to required list for stdlib.h. 660: Add getopt to required list for unistd.h. 661: 662: * fixproto: Append "#include <stdlib.h>" to assert.h if it uses 663: exit or abort. 664: 665: * libgcc2.c (__builtin_new): If __new_handler returns, keep trying 666: to allocate the memory. 667: (__default_new_handler): Add __ to beginning of name to avoid 668: namespace clashing. 669: 670: Tue Feb 8 18:50:07 1994 Jim Wilson ([email protected]) 671: 672: * i386/x-aix (FIXINCLUDES): Delete definition. 673: * configure (i[34]86-ibm-aix): Delete definition of fixincludes. 674: * fixincludes: When edit size_t typedef, modify sed pattern to 675: avoid matching typedef uses of size_t. Likewise when adding 676: #ifndef GCC_SIZE_T. 677: * fixinc.ps2: Delete file. 678: 679: * mips.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_COMMON): Use SIZE not ROUNDED. 680: 681: * iris5.h (SIZE_TYPE, PTRDIFF_TYPE): Don't redefine. 682: (MAX_WCHAR_TYPE_SIZE): Define. 683: 684: * mips-tdump.c (print_file_desc): Correct printf format. 685: (main): Likewise. 686: 687: * flow.c (find_basic_blocks): Also look for REG_LABEL notes on first 688: instruction of each basic block. 689: 690: * sparc.c (save_regs, restore_regs): Use __inline__ not inline. 691: 692: Tue Feb 8 10:13:54 1994 Doug Evans ([email protected]) 693: 694: * toplev.c (open_dump_file): New function. 695: (compile_file): Open dump files with it. Remove dump_base_name_length. 696: 697: Sun Feb 6 15:52:48 1994 Jim Wilson ([email protected]) 698: 699: * collect2.c (sys_siglist): Don't declare if 700: DONT_DECLARE_SYS_SIGLIST is defined. 701: * mips/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define. 702: * sparc/xm-sol2.h (NO_SYS_SIGLIST): Delete. 703: (DONT_DECLARE_SYS_SIGLIST): Define. 704: * mips-tfile.c (sys_siglist): Don't declare if NO_SYS_SIGLIST or 705: DONT_DECLARE_SYS_SIGLIST are defined. 706: (catch_signal): Add code for NO_SYS_SIGLIST case. 707: 708: * sched.c (reg_pending_sets, reg_pending_sets_all): New variables. 709: (sched_analyze_1): Set reg_pending_sets instead of reg_last_sets. 710: (sched_analyze_2): Set reg_pending_sets or reg_pending_sets_all 711: instead of reg_last_sets. 712: (sched_analyze_insn): Use reg_pending_sets and 713: reg_pending_sets_all to set reg_last_sets. Set 714: reg_pending_sets_all instead of reg_last_sets. 715: (schedule_block): Allocate and clear reg_pending_sets. 716: 717: * sparc.md (movdi): Handle 'U' and 'T' constraints. 718: 719: * m68k/hp320.h (FUNCTION_PROFILER): Concatenate strings to avoid 720: use of ANSI C specific feature. 721: 722: * mips.c (function_arg): When soft-float, don't add bias for 723: second SFmode argument. 724: 725: * iris5.h (CPP_PREDEFINES): Add _MIPSEB. 726: 727: Sun Feb 6 08:40:46 1994 Richard Kenner ([email protected]) 728: 729: * function.c (struct temp_slot): Add new field, ADDRESS. 730: (assign_stack_temp): Initialize it to zero. 731: (find_temp_slot_from_address, update_temp_slot_address): New functions. 732: (preserve_temp_slots): Use find_temp_slot_from_address. 733: * explow.c (memory_address): Call update_temp_slot_address on 734: new and old address. 735: 736: * cse.c (canon_hash, case LABEL_REF, SYMBOL_REF): Avoid warning 737: on 64-bit machines. 738: 739: Sat Feb 5 17:55:52 1994 Richard Kenner ([email protected]) 740: 741: * configure (i[34]86-sequent-ptx): Alias for i[34]86-sequent-sysv*. 742: 743: Sat Feb 5 11:46:00 1994 Steve Chamberlain ([email protected]) 744: 745: * sh.c (hard_regno_mode_ok): New vector. 746: (output_stack_adjust): Always adjust stack with an addsi insn. 747: (calc_live_regs): Support alernative calling conventions. 748: (print_operand): Delete obsolete cases. 749: (synth_constant): New function to generate constants by 750: arithmetic means. 751: (expand_block_move): Use new block move support routines. 752: (prepare_move_operands): Use synth_constant when possible, try 753: and geneate splits for DI moves. 754: (output_jump_label_table, dump_table, output_far_jump, 755: prepare_split_double_ops,from_compare, equality_operator, 756: handle_pragma, expand_acall): New functions. 757: (prepare_scc_operands): When condition isn't supported swap args 758: and alter test. 759: (output_move_double): Generate better code for constant moves. 760: (output_shift): Cope with negative shifts. 761: (byte_index_operand, pop_operand, painful_immediate_operand, 762: ok_shift_value, hard_immediate_operand, adjust_insn_length, 763: dump_constants, output_movepcrel): Deleted. 764: (final_prescan_insn): Now only prints pc. 765: (shiftcosts, andcosts, multcosts): Work out some insn costs. 766: (gen_ashift, gen_shifty): Emit code for shift operations. 767: (fixit, hi_const, find_barrier, broken_move, 768: machine_dependent_reorg): New functions to fix move instructions 769: with out-of-range literals. 770: 771: * sh.h (OPTIMIZATION_OPTIONS, CONDITIONAL_REGISTER_USAGE): New. 772: (TARGET_SWITCHES): Extra -m options for experimental calling 773: conventions. 774: (HARD_REGNO_MODE_OK): Use hard_regno_mode_ok vector rather than 775: inline code. 776: (FRAME_POINTER_REQUIRED): Always 0. 777: (reg_class, REG_CLASS_CONTENTS, REG_CLASS_NAMES): Change order 778: of classes. 779: (FRAME_GROWS_DOWNWARD): Don't define. 780: (FUNCTION_ARG_PARTIAL_NREGS): Always 0. 781: (MAX_REGS_PER_ADDRESS): Is 2. 782: (GO_IF_LEGITIMATE_INDEX): Split up into smaller macros. 783: (CASE_VECTOR_MODE, CASE_VECTOR_PC_RELATIVE): Jump tables are of 784: switchable size and always pc relative. 785: (RTX_COSTS): Use new andcosts, multcosts and shiftcosts functions. 786: (INSN_SETS_ARE_DELAYED, INSN_REFERENCES_ARE_DELAYED): New. 787: (ASM_OUTPUT_CASE_LABEL, ASM_OUTPUT_ADDR_DIF_ELT): Now switches are 788: pc relative. 789: 790: * sh.md (define_attr length): Calculate lengths more accurately. 791: (define_attr "rte", "hit_stack"): New. 792: (cmp*): Allow all conditions by swapping args. 793: (addc, adddi3, and_ff, casesi, casesi_worker, peepholes): New. 794: (div*, mul*): Use library routines with special calling 795: conventions. 796: (shifts): Generate only legal shift insn sequences. 797: (extend*): Get clobbers right, extra constraints. 798: (mov*): Greatly simplified. 799: (b*): Use from_compare function. 800: (return, rte): Understand pragma interrupt. 801: (anddi3, iordi3, xordi3): Deleted. 802: (consttable_2,consttable_4, consttable_8, align_2, align_4, 803: consttable_end, movesi_k, movhi_k, movdi_k): Support for inline 804: literal tables. 805: (movstrsi, block_move_real, block_lump_real): Use new block move 806: routines. 807: 808: * toplev.c (rest_of_compilation): Invoke MACHINE_DEPENDENT_REORG if 809: defined. 810: 811: Sat Feb 5 08:05:58 1994 Richard Earnshaw ([email protected]) 812: 813: * cse.c (memory_extend_rtx): New variable. 814: (cse_main): Initialize it. 815: (cse_insn): See if we have already loaded a MEM in a wider mode. 816: 817: Sat Feb 5 07:05:29 1994 Jason Merrill ([email protected]) 818: 819: * fixproto: Add lstat to required_list for sys/stat.h 820: 821: Fri Feb 4 12:14:49 1994 Stan Cox ([email protected]) 822: 823: * m88k.h: (TARGET_SWITCHES) Assume -muse-div-instruction 824: -mno-check-zero-division for -m88110. (CONSTANT_ADDRESS_P) Fix a 825: -fpic reload bug. (DONT_REDUCE_ADDR) Don't strength reduce so 826: m88k scaled loads/stores will be used. (enum processor_type) Use 827: instead of attr_cpu, which is not always defined. 828: 829: * m88k.md: (movdf) Split movdf so it can go into a branch delay slot 830: 831: * m88k.c: (m88k_gp_threshold) Make -mshort-data- unsigned. 832: (block_move_*) Copy MEM_IN_STRUCT_P for block move cases. 833: 834: * dgux.h: (TARGET_SVR4) Use -msvr4/-msvr3 instead of 835: -mversion-03.00 to choose assembler syntax. 836: 837: Fri Feb 4 08:14:31 1994 Richard Kenner ([email protected]) 838: 839: * emit-rtl.c (gen_lowpart_common, gen_highpart): Test *_BIG_ENDIAN 840: with "if", not #if and fix one erroneous test. 841: 842: Thu Feb 3 17:15:07 1994 Jim Wilson ([email protected]) 843: 844: * expmed.c (store_bit_field, insv case): Don't use PUT_MODE on 845: xop0 when it is a SUBREG, generate a new SUBREG. 846: 847: Thu Feb 3 13:24:14 1994 Alex Zatsman ([email protected]) 848: 849: * hard-reg-set.h (GO_IF_HARD_REG_EQUAL): Fix typo. 850: 851: Thu Feb 3 07:45:45 1994 Richard Kenner ([email protected]) 852: 853: * flow.c: Add prototypes for static functions. 854: (uses_reg_or_mem): New function. 855: (find_basic_block): Some cleanups; eliminate shadowed variables. 856: Look for REG_LABEL notes in all insns and allow for multiple such. 857: Don't delete labels in forced_labels. 858: Generalize test for computed jumps. 859: (find_auto_inc): OFFSET should be HOST_WIDE_INT. 860: (mark_used_regs): Put decls of parms in parm order. 861: (find_use_as_address): PLUSCONST should be HOST_WIDE_INT. 862: 863: * reload1.c (eliminate_regs, case INSN_LIST): Properly remake 864: list when we change something further on. 865: 866: Wed Feb 2 21:25:03 1994 Jim Wilson ([email protected]) 867: 868: * c-typeck.c (signed_or_unsigned_type): Check for any 869: INTEGRAL_TYPE_P not just INTEGER_TYPE. 870: 871: * Makefile.in (enquire.o): Depend on stmp-int-hdrs. 872: 873: * mips.h (CPP_SPEC): Define __PTRDIFF_TYPE__ not __PTRDIFF_TYPE. 874: 875: * reorg.c (fill_simple_delay_slots): When fill epilogue delay 876: slot, set needed to end_of_function_needs instead of clearing it. 877: 878: Wed Feb 2 15:20:38 1994 Philippe De Muyter ([email protected]) 879: 880: * tree.c (FILE_FUNCTION_FORMAT): Fix typo if neither dot nor dollar 881: in label. 882: 883: Wed Feb 2 14:38:56 1994 Richard Kenner ([email protected]) 884: 885: * fold-const.c (const_binop, COMPLEX_TYPE, case RDIV_EXPR): 886: If complex integer, use TRUNC_DIV_EXPR for inner division. 887: 888: * c-tree.h: Re-order declarations for functions in c-typeck.c to 889: agree with order there; add some missing declarations. 890: * c-typeck.c: Add prototypes for static functions; delete 891: forward declarations of non-static functions. 892: (initializer_constant_valid_p): Add missing parameter to 893: recursive call. 894: 895: Wed Feb 2 14:22:05 1994 Kaveh R. Ghazi ([email protected]) 896: 897: * objc/Makefile (SUBDIR_INCLUDES): Add -I for include directory. 898: 899: Wed Feb 2 13:24:23 1994 Chip Salzenberg ([email protected]) 900: 901: * expmed.c (synth_mult): Delay allocation of algorithm structures 902: until they are needed. Reorder early-exit tests to avoid comparing 903: value that is not yet set. 904: 905: Tue Feb 1 18:56:19 1994 Chip Salzenberg ([email protected]) 906: 907: * c-common.c (decl_attributes): Allow format attributes 908: on old style (non-prototype) function declarations. 909: 910: Tue Feb 1 11:25:40 1994 Stephen R. van den Berg ([email protected]) 911: 912: * tree.c (build_type_variant): Simplify by using build_type_copy. 913: 914: * c-decl.c (grokdeclarator): `volatile' function warning 915: corrected to read `noreturn' function warning. 916: (finish_function): Likewise. 917: * cp-decl.c (finish_function): Likewise. 918: * c-typeck.c, cp-typeck.c (c_expand_return): Likewise. 919: * toplev.c (rest_of_compilation): Likewise. 920: 921: Tue Feb 1 06:06:22 1994 Richard Kenner ([email protected]) 922: 923: * combine.c (make_extraction): Don't make an extraction that 924: has the potential of crossing a boundary. 925: 926: * regclass.c: Add prototypes for static functions. 927: (auto_inc_dec_reg_p): New function. 928: (regclass): Call it to allow a register needing a secondary reload 929: to be used for inc/dec if it is already valid for it. 930: 931: * gcc.c (default_compilers, @ada): Don't duplicate "-gnat" parameters; 932: pass -quiet unless -Q is specified. 933: 934: * alpha.md (minsf3, maxdf3, mindf3): Properly insert constant of 935: zero into patterns. 936: 937: Mon Jan 31 20:55:41 1994 Jim Wilson ([email protected]) 938: 939: * i960.c (i960_function_name_declare): Handle names that start 940: with '*'. 941: 942: Mon Jan 31 19:13:59 1994 Chip Salzenberg ([email protected]) 943: 944: Unify error and message functions: 945: * toplev.c: Include "gvarargs.h". 946: (fatal_insn_not_found): Omit superfluous argument to error. 947: (vmessage, v_message_with_file_and_line): New functions. 948: (v_message_with_decl, file_and_line_for_asm): Likewise. 949: (v_error_with_file_and_line, v_error_with_decl): Likewise. 950: (v_error_for_asm, verror, vfatal): Likewise. 951: (v_warning_with_file_and_line, v_warning_with_decl): Likewise. 952: (v_warning_for_asm, vwarning): Likewise. 953: (error_with_file_and_line, error_with_decl, error, fatal): Now just 954: wrappers for above functions. 955: (error_for_asm, warning_with_file_and_line): Likewise. 956: (warning_with_decl, warning_for_asm, warning): Likewise. 957: 958: Mon Jan 31 19:03:16 1994 Jim Wilson ([email protected]) 959: 960: * sched.c (sched_analyze_insn): Add use dependencies for registers 961: mentioned in REG_DEAD notes. 962: 963: * configure (mips-tandem-sysv4*): Add. 964: * mips/svr4-t.h, mips/svr4-t-gdb.h: New files. 965: 966: * sched.c (priority): Call insn_cost() for anti- and output- 967: dependencies as well as for true dependencies. 968: 969: * cse.c (find_best_addr): Limit number of cse_gen_binary calls to 970: 20 per iteration. 971: 972: Mon Jan 31 18:08:27 1994 Richard Kenner ([email protected]) 973: 974: * real.c (emovo): Use separate variable for loop index. 975: 976: * fold-const.c (operand_equal_for_comparison_p): Declare 977: correct_width as unsigned. 978: 979: * configure (m68k-wrs-vxworks): Fix typo in name. 980: 981: * Makefile.in (cross-test, enquire, protoize, unprotoize): 982: Specify program name in -o to force into build directory. 983: 984: * i386/sol2.h (CPP_SPEC): Add -Dsun. 985: 986: * alpha/gdb.h: Renamed from alpha-gdb.h. 987: * alpha/gdb-osf12.h: New file. 988: * configure (alpha): Reflect new name for files and support 989: gdb with OSF V1.2. 990: 991: Mon Jan 31 15:18:40 1994 Jim Wilson ([email protected]) 992: 993: * bc-emit.c (class_narrowest_mode, byte_mode, word_mode): Add 994: extern to declaration. 995: * expr.c (local_vars_size): Likewise. 996: 997: * genattrtab.c (expand_units): When calculate BLOCKAGE, reverse 998: terms to POS_MINUS_OP. Clarify comment before BLOCKAGE computation. 999: (write_complex_function): Use EXECUTING_INSN for first switch, and 1000: CANDIDATE_INSN for second switch. 1001: 1002: * sparc/lite.h (TARGET_DEFFAULT): Add -mapp-regs. 1003: * sparc/sparc.h (TARGET_APP_REGS): Define. 1004: (TARGET_SWITCHES): Add new options -mapp-regs and -mno-app-regs. 1005: (TARGET_DEFAULT): Add -mapp-regs. 1006: (CONDITIONAL_REGISTER_USAGE): Make %g2, %g3, and %g4 be fixed when 1007: the -mno-app-regs option is used. 1008: * sparc/sun4os3.h (TARGET_DEFAULT): Delete. 1009: 1010: * svr4-5.h (STARTFILE_SPEC): Include values-X[cta].o file in link. 1011: 1012: * xcoffout.c (ASM_OUTPUT_LFE): Output absolute line number not 1013: relative line number. 1014: 1015: Fri Jan 28 19:20:07 1994 Michael Collison ([email protected]) 1016: 1017: * flow.c (find_auto_inc): Check for increment using single_set. 1018: 1019: Fri Jan 28 19:11:17 1994 David Edelsohn ([email protected]) 1020: 1021: * rs6000.md (fsel): Remove insns with record bit set. 1022: 1023: Thu Jan 27 18:22:25 1994 Richard Kenner ([email protected]) 1024: 1025: * alpha.c (output_prolog): Fix typo in previous change. 1026: 1027: Wed Jan 26 18:19:51 1994 Per Bothner ([email protected]) 1028: 1029: * c-typeck.c (initializer_constant_valid_p): Make non-static. 1030: (It's used by the Chill back-end.) 1031: 1032: Wed Jan 26 13:54:40 1994 Jim Wilson ([email protected]) 1033: 1034: * sched.c (attach_deaths_insn): Add REG_DEAD notes to CLOBBER if 1035: it is for a MEM. 1036: 1037: Tue Jan 25 08:30:11 1994 Chip Salzenberg ([email protected]) 1038: 1039: * cse.c (HASHBITS): Removed. 1040: (HASH, struct set, canon_hash, safe_hash, remove_from_table): 1041: Generate and use unsigned hash values, to avoid potential trouble 1042: with signed shift/overflow. 1043: Also name variables consistently: "hash", not "hash_code". 1044: (lookup, lookup_for_remove, insert, merge_equiv_classes): Likewise. 1045: (invalidate, rehash_using_reg, invalidate_for_call): Likewise. 1046: (find_best_addr, record_jump_cond, cse_insn): Likewise. 1047: 1048: Mon Jan 24 18:59:59 1994 Jim Wilson ([email protected]) 1049: 1050: * expmed.c (store_split_bit_field): For BYTES_BIG_ENDIAN, only 1051: pad on left if value not in memory. Reject gen_lowpart_common 1052: output if it returns the input value. 1053: 1054: * unroll.c (copy_loop_body): When delete simplified condjump, 1055: protect the label, so that it doesn't get deleted also. 1056: 1057: * toplev.c (compile_file): If yyparse returns an error, pop all 1058: pending binding levels. 1059: 1060: Mon Jan 24 18:30:53 1994 Doug Evans ([email protected]) 1061: 1062: * objc/Object.h (streamVersion, read, write): #ifndef out for the 1063: alpha since TypedStream not supported there yet. 1064: * objc/Object.m (streamVersion, read, write): Ditto. 1065: 1066: Mon Jan 24 17:40:56 1994 Jim Wilson ([email protected]) 1067: 1068: * sparc.c (sparc_address_cost): Delete. 1069: * sparc.h (ADDRESS_COST): Define to 1. 1070: 1071: * bsd-5.h, mips-5.h, svr3-5.h, svr4-5.h (ASM_OUTPUT_NEWLINE): 1072: Define new macro. 1073: * mips.h (ASM_OUTPUT_NEWLINE): New default for new macro. 1074: (ASM_OUTPUT_ASCII): Use ASM_OUTPUT_NEWLINE. 1075: 1076: * sparc.h (ASM_OUTPUT_COMMON): Don't output .global. Use SIZE not 1077: ROUNDED. 1078: (ASM_OUTPUT_LOCAL): Delete. 1079: (ASM_OUTPUT_ALIGNED_LOCAL): Define. 1080: 1081: Sun Jan 23 18:57:01 1994 Richard Earnshaw ([email protected]) 1082: 1083: * expr.c (do_jump_for_compare): Initialize JUMP_LABEL for the branch 1084: insn before trying to invert it. 1085: 1086: Sun Jan 23 18:40:23 1994 Samuel A. Figueroa ([email protected]) 1087: 1088: * i386/os2.h (PATH_SEPARATOR): New macro. 1089: * i386/gas.h (ASM_FILE_START): Delete; identical to one in bsd.h, 1090: which is included. 1091: 1092: Sun Jan 23 18:21:23 1994 Randy S. Welch ([email protected]) 1093: 1094: * m68k/plexus.h: Assume GAS 2.x used and add support for debugging. 1095: 1096: Sun Jan 23 06:19:28 1994 Richard Kenner ([email protected]) 1097: 1098: * reload.c (find_reloads): Properly test for output operand 1099: when changing RELOAD_FOR_OUTPUT_ADDRESS to RELOAD_FOR_INPUT_ADDRESS. 1100: 1101: * combine.c (subst, case SUBREG): Handle paradoxical SUBREG of 1102: constant. 1103: (IF_THEN_ELSE): Add missing "else" and check for comparison 1104: before calling reversible_comparison_p. 1105: 1106: * c-typeck.c (output_init_elements): Use FIELD instead 1107: of constructor_fields when doing alignment and sizing. 1108: (output_pending_init_elements): Don't blow up when writing 1109: other than first field put haven't written anything yet. 1110: Update constructor_bit_index when we emit a skip. 1111: 1112: * toplev.c (rest_of_compilation): Defer compilation of function 1113: that were specified as inline, whether or not they actually were 1114: inlined. 1115: 1116: * alpha.h (OBJECT_FORMAT_COFF, EXTENDED_COFF, NM_FLAGS): Define. 1117: * x-alpha: New file. 1118: 1119: * combine.c (simplify_comparison): Can remove NOT on both operands 1120: if we swap comparison code. 1121: 1122: * rs6000.md: Insert some missing blank lines. 1123: 1124: * alpha.c (output_{pro,epi}log): Use assemble_name to output 1125: alpha_function_name. 1126: 1127: * combine.c (simplify_comparison): Fix typos in last change. 1128: 1129: Sun Jan 23 05:59:31 1994 Per Bothner ([email protected]) 1130: 1131: * c-typeck.c (really_start_incremental_init): Save current elements 1132: instead of clearing them. 1133: 1134: Sat Jan 22 15:50:29 1994 Richard Kenner ([email protected]) 1135: 1136: * c-typeck.c (c_expand_return): Issue a warning if returning 1137: address of non-static local object. 1138: 1139: * combine.c (if_then_else_cond): Don't do anything with COMPARE. 1140: (simplify_comparison): Strip SIGN_EXTEND, NOT, or NEG when 1141: both operands have it. 1142: 1143: * combine.c (num_sign_bit_copies): Ifndef WORD_REGISTER_OPERATIONS, 1144: ensure we don't do the wrong thing if X is narrower than MODE. 1145: 1146: Thu Jan 20 01:06:23 1994 Jeffrey A. Law ([email protected]) 1147: 1148: * pa.h (ASM_OUTPUT_SOURCE_LINE): Make the first source line stab 1149: for each procedure special to avoid the need for nasty hacks in GAS. 1150: 1151: * pa.md (iorscc): Fix typo. 1152: 1153: Wed Jan 19 19:35:37 1994 Torbjorn Granlund ([email protected]) 1154: 1155: * pa.h (ASM_GLOBALIZE_LABEL): Don't globalize function labels here. 1156: 1157: Mon Jan 17 16:38:16 1994 Jim Wilson ([email protected]) 1158: 1159: * xcoffout.c (xcoffout_begin_block): Don't emit a .bb for the 1160: function level scope. 1161: (xcoffout_end_block): Don't emit a .eb for the function level 1162: scope. 1163: 1164: Sun Jan 16 14:29:31 1994 Richard Stallman ([email protected]) 1165: 1166: * config.sub: Alphabetize the list of machine-name aliases. 1167: Add nh3000 and nh[45]000. 1168: Delete duplicate clauses for hp9k2... and hp9k31... 1169: 1170: Sat Jan 15 18:06:45 1994 Torbjorn Granlund ([email protected]) 1171: 1172: * config/sparc/sparc.md (smulsi3_highpart): New pattern. 1173: (umulsi3_highpart): New pattern. 1174: * config/mips/mips.md (smulsi3_highpart): New pattern. 1175: (umulsi3_highpart): New pattern. 1176: 1177: Thu Jan 13 18:54:27 1994 Jim Wilson ([email protected]) 1178: 1179: * iris3.h (CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and 1180: __mips. 1181: (SIZE_TYPE, PTRDIFF_TYPE): Delete. 1182: * mips.c (dfhigh, dflow, sfhigh, sflow): New variables. 1183: (mips_sw_reg_names): Consistently use $ as name prefix. 1184: (large_int): Handle 64 bit constants. 1185: (reg_or_0_operand, mips_const_double_ok): Don't examine 1186: CONST_DOUBLE internals. 1187: (mips_const_double_ok): Use REAL_VALUE_* macros. 1188: (simple_memory_operand): Add 64 bit support. Only test 1189: TARGET_GP_OPT to determine if doing gp optimizations. Pass 1190: address not MEM to eliminate_constant_term. Use SMALL_INT. 1191: (mips_fill_delay_slot): Add 64 bit support. 1192: (mips_move_1word): Add 64 bit support. Don't examine CONST_DOUBLE 1193: internals. 1194: (mips_move_2words): Likewise. 1195: (mips_address_cost): Pass address not MEM to 1196: eliminate_constant_term. Use SMALL_INT. 1197: (gen_int_relational): New variable mode. Add 64 bit support. 1198: (gen_conditional_branch): Add 64 bit support. 1199: (block_move_load_store, block_move_loop, block_move_call, 1200: expand_block_move, output_block_move, function_arg_advance, 1201: function_arg, function_arg_partial_nregs): Likewise. 1202: (override_options): Clear MASK_GPOPT if threshold is zero or 1203: negative. Set MASK_GPOPT if optimizing. Set mips_isa from -misa= 1204: option, else from MIPS_ISA_DEFAULT if defined, else to 1. Make 1205: default cpu depend on isa. Add cpus r4400, r4600, orion. Rewrite 1206: TARGET_NAME_REGS support. Initialize dfhigh, dflow, sfhigh, 1207: sflow. Add 64 bit support. 1208: (print_operand): Use REAL_VALUE_* macros. 1209: (mips_output_external): Don't depend on mips_section_threshold. 1210: (make_temp_file): Define P_tmpdir when __MSDOS__. Malloc filename 1211: string. Don't unlink temp file when __MSDOS__. 1212: (mips_asm_file_start): Delete TARGET_NAME_REGS support. 1213: (mips_asm_file_end): Unlike temp file when __MSDOS__. 1214: (mips_declare_object): Don't test mips_sections_threshold. 1215: (compute_frame_size, save_restore_insns, function_prologue, 1216: mips_expand_prologue, function_epilogue, mips_expand_epilogue): 1217: Add 64 bit support. 1218: (function_epilogue): Correctly output `#' before .set volatile. 1219: * mips.h (enum cmp_type): Add 64 bit support. 1220: (enum processor_type): Add PROCESSOR_R4600. 1221: (MASK_64BIT, TARGET_64BIT): New mask bit, to indicate 64 bit mode. 1222: (HAVE_64BIT_P, OPTIMIZATION_OPTIONS): Delete. 1223: (CPP_SPEC): Don't abort if not defined. 1224: (CC1_SPEC): -mips1 and -mips2 imply -mfp32. -mips3 implies -mfp64. 1225: (CPP_SPEC): Define __SIZE_TYPE__, __PTRDIFF_TYPE__, and __mips. 1226: (BITS_PER_WORD, UNITS_PER_WORD, INT_SIZE_TYPE, LONG_TYPE_SIZE, 1227: LONG_LONG_TYPE_SIZE, POINTER_SIZE, POINTER_BOUNDARY, 1228: PARM_BOUNDARY, EMPTY_FIELD_BOUNDARY, HARD_REGNO_NREGS, 1229: CONST_OK_FOR_LETTER_P, STACK_ARGS_ADJUST, FUNCTION_PROFILER, 1230: TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT, 1231: INITIALIZE_TRAMPOLINE, CASE_VECTOR_MODE, MOVE_MAX, 1232: TRULY_NOOP_TRUNCATION, Pmode, FUNCTION_MODE, 1233: ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, 1234: ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Add 64 bit support. 1235: (MAX_BITS_PER_WORD, MAX_UNITS_PER_WORD, UNITS_PER_FPREG, 1236: MAX_INT_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE, MAX_LONG_TYPE_SIZE, 1237: MAX_MOVE_MAX): Define. 1238: (INDEX_REG_CLASS): NO_REGS not GR_REGS. 1239: (CONST_DOUBLE_OK_FOR_LETTER_P): Don't examine CONST_DOUBLE 1240: internals. 1241: (PREFERRED_RELOAD_CLASS): Return CLASS if it isn't ALL_REGS. 1242: (TRANSFER_FROM_TRAMPOLINE, ASM_OUTPUT_CASE_LABEL): Delete. 1243: (REGNO_OK_FOR_INDEX_P, REG_OK_FOR_INDEX_P): Redefine to 0. 1244: (GO_IF_LEGITIMATE_ADDRESS): Delete redundant code0 == REG test. 1245: (ENCODE_SECTION_INFO): Don't test mips_section_threshold. 1246: (CONST_COSTS): CONST_INT have cost 0 not CONSTS_N_INSNS (0). Pass 1247: address not MEM to eliminate_constant_term. Add 64 bit support. 1248: (MEMORY_MOVE_COST, ASM_OUTPUT_DOUBLE_INT): Define. 1249: (EXTRA_SECTIONS): Delete in_last_p1. 1250: (SELECT_RTX_SECTION): Delete division by BITS_PER_UNIT. 1251: (NO_BUILTIN_SIZE_TYPE, NO_BUILTIN_PTRDIFF_TYPE): Define. 1252: (SIZE_TYPE, PTRDIFF_TYPE): Add 64 bit support. 1253: * mips.md (cpu): Add r4600. 1254: (define_function_unit): Correct numerous errors. Add r4600. 1255: (adddi3*, subdi3*, mulsidi3, umulsidi3, negdi2*, one_cmpdl2*, 1256: nordi2*, anddi2*, iordi3*, xordi3*, movdi*, ashldi3*, ashrdi3*, 1257: lshrdi3*, seq, sne, sgt, sge, slt, sle, sgtu, sgeu, sltu, sleu, 1258: indirect_jump, tablejump, call*, call_value*): Add 64 bit support. 1259: (adddi3_internal_3, addsi3_internal_2, subdi3_internal_3, 1260: subsi3_internal_2, muldi3, muldi3_internal, divmoddi4, udivmoddi4, 1261: divdi3, moddi3, udivdi3, umoddi3, absdi3, ffsdi2, 1262: negdi2_internal_2, anddi3_internal1, xordi3_immed, truncdisi2, 1263: truncdihi2, truncdiqi2, zero_extendsidi2, 1264: zero_extendsidi2_interal, zero_extendhidi2, zero_extendqidi2, 1265: extendsidi2, extendhidi2, extendhidi2_internal, extendqidi2, 1266: extendqidi2_insn, fix_truncdfdi2, fix_truncsfdi2, floatdidf2, 1267: floatdisf2, fixuns_truncdfdi2, fixuns_truncdfsi2, 1268: ashldi3_internal4, ashrdi3_internal_4, lshrdi3_internal4, cmpdi, 1269: tstdi, branch_zero_di, branch_equality_di, seq_di_zero, seq_di, 1270: sne_di_zero, sne_di, sgt_di, sge_di, slt_di, sle_di_const, 1271: sle_di_reg, sgtu_di, sgeu_di, sltu_di, sleu_di_const, sleu_di_reg, 1272: indirect_jump_internal1, indirect_jump_internal2, 1273: tablejump_internal1, tablejump_internal2): New patterns. 1274: (mulsi3): Add missing mips_move_1word parameter. 1275: (mulsi3+1): Don't split on r4000. 1276: (divmodsi4, udivmodsi4, udivsi3, umodsi3): Correct lengths. 1277: (divsi3, modsi3, udivsi3, umodsi3): Allow constant operands. 1278: (sqrtdf2, sqrtsf2): Correct type attribute. 1279: (abssi2): Add mips2 support. 1280: (movsi_unaligned, movsi_ulw, movsi_usw): Comment out. 1281: (movsf, movdf): Use F not E. 1282: (cmpdf, cmpsf, branch_fp*, s{eq,ne,lt,le,gt,ge}_[ds]f): Depend on 1283: TARGET_HARD_FLOAT. 1284: * va-mips.h: Add 64 bit support. 1285: 1286: Thu Jan 13 06:14:17 1994 Paul Eggert ([email protected]) 1287: 1288: * c-parse.in (maybe_attribute): Allow multiple __attribute__ 1289: clauses on a declaration. 1290: 1291: Thu Jan 13 06:01:09 1994 Richard Kenner ([email protected]) 1292: 1293: * a29k.h (REG_CLASS_CONTENTS): Fix problems with last word of 1294: register set in some classes. 1295: 1296: * a29k.h (MEMORY_MOVE_COST): New macro. 1297: 1298: Thu Jan 13 05:42:30 1994 Torbjorn Granlund ([email protected]) 1299: 1300: * config.sub: Fix typo in -hiux* case. 1301: 1302: Wed Jan 12 13:25:12 1994 Per Bothner ([email protected]) 1303: 1304: * dbxout.c (dbxout_range_type): If the range has a base type 1305: (TREE_TYPE), emit it, even if that is some other integer type. 1306: 1307: Wed Jan 12 06:02:23 1994 David Edelsohn ([email protected]) 1308: 1309: * rs6000.h (MASK and TARGET): Change POWERPCSQR to PPCFPX to 1310: describe both fsqrt and fsel. 1311: (TARGET_SWITCHES): powerpc64 implies ppcfpx. 1312: * rs6000.c (rs6000_override_options): Change POWERPCSQR to PPCFPX. 1313: * rs6000.md (sqrtsf2, sqrtdf2): Change POWERPCSQR to PPCFPX. 1314: (maxsf3, minsf3, maxdf3, mindf3): New patterns using fsel instruction. 1315: 1316: Tue Jan 11 19:14:31 1994 Richard Kenner ([email protected]) 1317: 1318: * a29k.c (output_prolog): Update debug reg map when 1319: we have -mkernel-registers. 1320: 1321: * fold-const.c (fold, truth_andor): Don't apply distributive 1322: law when it would change evaluation order. 1323: Clean up code a bit to improve flow. 1324: 1325: Mon Jan 10 19:37:27 1994 David Robinson ([email protected]) 1326: 1327: * expr.c (emit_move_insn_1): Call gen_realpart and gen_imagpart 1328: instead of gen_lowpart and gen_highpart. 1329: * function.c (assign_parms): Likewise. 1330: * optabs.c: Remove redundant prototype for gen_highpart. 1331: 1332: Mon Jan 10 19:14:07 1994 Richard Earnshaw ([email protected]) 1333: 1334: * jump.c (comparison_dominates_p): NE is dominated by LT, GT, LTU 1335: and GTU. 1336: 1337: Mon Jan 10 19:06:57 1994 Richard Kenner ([email protected]) 1338: 1339: * emit-rtl.c (gen_{real,imag}part): Extract value from 1340: CONCAT directly. 1341: (gen_lowpart_common, gen_highpart): Don't do it here. 1342: 1343: * cse.c (simplify_relational_operation): Don't do anything with CC0 1344: in addition to MODE_CC values. 1345: 1346: * expr.c (protect_from_queue): If (MEM (QUEUED ...)), modify a 1347: new MEM instead of the one we were passed. 1348: 1349: * i386/linux.h: Update banner, reformat comments. 1350: (STARTFILE_SPEC, GPLUSPLUS_INCLUDE_DIR): No longer conditional 1351: on CROSS_COMPILER. 1352: * Makefile.in (gcc.o, cccp.o): No longer define TOOLDIR. 1353: 1354: * regclass.c (globalize_reg): New function. 1355: (init_reg_sets_1): Don't handle global regs here. 1356: * varasm.c (make_decl_rtl): Call globalize_reg, not init_reg_sets_1. 1357: 1358: * a29k.c (print_operand, case 'F'): If we have to do the last 1359: prolog insn, give that priority for an unfilled delay slot. 1360: 1361: * function.c (preserve_rtl_expr_result): New function. 1362: * expr.c (exand_expr, case RTL_EXPR): Call it. 1363: 1364: Mon Jan 10 13:43:04 1994 Jim Wilson ([email protected]) 1365: 1366: * sched.c (new_insn_dead_notes): Compare registers with rtx_equal_p. 1367: 1368: * Makefile.in (Makefile, stmp-fixinc, deduced.h, stmp-fixproto): 1369: Execute shell scripts with $(SHELL). 1370: * config/x-lynx (SHELL): Define to /bin/bash. 1371: 1372: Sun Jan 9 22:31:00 1994 Jeffrey A. Law ([email protected]) 1373: 1374: * pa.md (special indexed fpstores): Fix assorted typos. 1375: 1376: Sun Jan 9 04:34:17 1994 James Van Artsdalen (james at bigtex.cactus.org) 1377: 1378: * jump.c (follow_jumps): Don't follow tablejumps. 1379: 1380: * Makefile.in (install-headers-cpio): Run cpio in include-dir. 1381: 1382: Sat Jan 8 14:54:06 1994 Doug Evans ([email protected]) 1383: 1384: * toplev.c (rest_of_compilation): jump_optimize can change max_reg_num 1385: so rerun reg_scan before calling cse_main. 1386: 1387: Fri Jan 7 20:34:14 1994 Torbjorn Granlund ([email protected]) 1388: 1389: * config/alpha/alpha.h (RTX_COSTS): Return actual costs for 1390: multiplication. 1391: 1392: Tue Jan 4 13:44:09 1994 Jim Wilson ([email protected]) 1393: 1394: * sdbout.c (sdbout_symbol): Handle variables at zero offset from 1395: frame pointer. 1396: 1397: Tue Jan 4 07:35:05 1994 Richard Kenner ([email protected]) 1398: 1399: * tree.c (substitute_expr): Don't abort for RTL_EXPR and 1400: SAVE_EXPR; just do nothing. 1401: 1402: Tue Jan 4 00:52:15 1994 Jeffrey A. Law ([email protected]) 1403: 1404: * pa.md (andsi3): Use "?" instead of "!" to avoid losing 1405: in some cases. 1406: 1407: Mon Jan 3 16:59:34 1994 Torbjorn Granlund ([email protected]) 1408: 1409: * jump.c (thread_jumps): Don't thread to loop label; 1410: create new label before loop instead. 1411: (thread_jumps): Rename argument `verbose' -> `flag_before_jump'. 1412: * toplev.c (rest_of_compilation): Pass 1 for flag_before_jump 1413: first time we call thread_jumps. 1414: 1415: * c-typeck (build_binary_op, case *_DIV_EXPR): Use same shorten 1416: condition as for *_MOD_EXPR. 1417: 1418: Mon Jan 3 08:00:16 1994 Richard Kenner ([email protected]) 1419: 1420: * fold-const.c (truth_value_p): New function. 1421: (fold): Use it to see when we should make a TRUTH_{AND,OR}_EXPR. 1422: (fold, case TRUTH_{AND,OR,ANDIF,ORIF}_EXPR): Use distributive 1423: law on expressions such as (A && B) || (A && C). 1424: 1425: Sun Jan 2 08:14:38 1994 Richard Kenner ([email protected]) 1426: 1427: * cse.c (simplify_relational_operation): Correct declaration of 1428: variables holding parts of constants. 1429: 1430: Fri Dec 31 06:27:57 1993 Richard Kenner ([email protected]) 1431: 1432: * toplev.c (main): Turn on -fomit-frame-pointer if it is safe. 1433: Add -O3, which turns on -finline-functions. 1434: * a29k.h, alpha.h, clipper.h, h8300.h, m88k.h, pa.h, romp.h, rs6000.h: 1435: Define CAN_DEBUG_WITHOUT_FP; delete OPTIMIZATION_OPTIONS. 1436: * sh.h, sparc.h: Likewise. 1437: * arm.h: Delete OPTIMIZATION_OPTIONS. 1438: * h8300.h: Define NO_FUNCTION_CSE and CAN_DEBUG_WITHOUT_FP; 1439: delete OVERRIDE_OPTIONS. 1440: * i960.h (OPTIMIZATION_OPTIONS): Just turn on machine-specific opts. 1441: (CAN_DEBUG_WITHOUT_FP): Define. 1442: * mips.h (CAN_DEBUG_WITHOUT_FP): Define. 1443: (OPTIMIZATION_LEVELS): Just set MASK_GPOPT. 1444: 1445: * cse.c (simplify_relational_operation): Rewrite and simplify. 1446: Add case when we can simplify A-B for compare of A and B. 1447: 1448: * combine.c (added_links_insn): New variable. 1449: (distribute_links): Set it. 1450: (if_then_else_cond): New function. 1451: (try_combine): Return added_links_insn if it is earlier than what 1452: we would otherwise return. 1453: (subst): Generalize (OP X Y) to call if_then_else_cond 1454: instead of only checking for an explicit IF_THEN_ELSE. 1455: (subst, case IF_THEN_ELSE): When converting to a MULT, simplify 1456: the MULT before putting it into OP. 1457: (subst, case AND): Don't make IF_THEN_ELSE here; now made in 1458: generic case earlier. 1459: 1460: * combine.c (force_to_mode): Add new parm JUST_SELECT; all 1461: callers changed. 1462: 1463: Wed Dec 29 18:05:00 1993 Leonid Baraz ([email protected]) 1464: 1465: * fold-const.c (fold, case PLUS_EXPR): Add a missing test of 1466: flag_fast_math. 1467: 1468: Wed Dec 29 06:52:07 1993 Richard Kenner ([email protected]) 1469: 1470: * cse.c (simplify_binary_operation, case MULT): Don't convert 1471: to ASHIFT if still generating RTL. 1472: 1473: Mon Dec 27 22:15:55 1993 Ian Lance Taylor ([email protected]) 1474: 1475: * fixincludes: Do not fix <sundev/ipi_error.h>, because SunOS 1476: sed can not handle the very large macro it contains. 1477: 1478: Mon Dec 27 06:28:48 1993 Richard Kenner ([email protected]) 1479: 1480: * alpha.md (maxsf3, minsf3): Correct numerous errors. 1481: 1482: * combine.c (subst, case MINUS): Allow some FP simplifications 1483: if -ffast-math. 1484: (reversible_comparison_p): FP comparisons reversible with -ffast-math. 1485: * cse.c (simplify_binary_operation, fold_rtx): Allow some FP 1486: simplications with -ffast-math. 1487: (simplify_relational_operation): FP comparisons can be reversed 1488: if -ffast-math is specified. 1489: * fold-const.c (fold): Simplify more FP ops if -ffast-math. 1490: * jump.c (can_reverse_comparison_p): Return 1 if -ffast-math. 1491: * loop.c (get_condition): Can reverse comparison if -ffast-math. 1492: 1493: * alpha.c (ior_operand): New function. 1494: * alpha.h (PREDICATE_CODES): Add ior_operand. 1495: * alpha.md (iordi3): Use ornot for some constant cases. 1496: 1497: Sun Dec 26 07:55:26 1993 Richard Kenner ([email protected]) 1498: 1499: * expr.c (do_tablejump): Call emit_cmp_insn with likely-constant 1500: as second operand. 1501: 1502: * jump.c (jump_optimize): When deleting an insn after a jump, 1503: update reallabelprev since it might point to the deleted insn. 1504: 1505: * cse.c (count_reg_usage): Don't count a register used within 1506: a SET that sets it. 1507: (delete_dead_from_cse): Pass new parm to count_reg_usage. 1508: 1509: * cse.c (fold_rtx, case PLUS): If we have (plus A B), A is 1510: equivalent to a negative constant, and the negated constant is in 1511: register, convert to (minus A C) where C is the register containing 1512: the negated constant. 1513: 1514: Sat Dec 25 23:47:01 1993 Jeffrey A. Law ([email protected]) 1515: 1516: * pa.h (DBX_BLOCKS_FUNCTION_RELATIVE): Define. 1517: (ASM_OUTPUT_SOURCE_LINE): Likewise. 1518: (DBX_FUNCTION_FIRST): Likewise. 1519: 1520: * pa.h (FRAME_POINTER_REGNUM, ARG_POINTER_REGNUM): Change to %r3 1521: for compatability with HP compilers. 1522: 1523: * pa.h (READONLY_DATA_SECTION): Re-enable use of $LIT$. 1524: 1525: Sat Dec 25 06:05:28 1993 Richard Kenner ([email protected]) 1526: 1527: * emit-rtl.c (gen_reg_rtx): Only clear part of arrays we aren't 1528: going to copy into. 1529: 1530: * expr.c (expand_expr, case CONSTRUCTOR): If have a target, 1531: don't build constructor into memory. 1532: 1533: * expr.c (expand_expr, case ARRAY_REF): Remove uses of *_type_node 1534: and simplify folding a reference to a character in a STRING_CST. 1535: 1536: * a29k.c, a29k.h: Rename R_ACC to R_ACU to not conflict with access.h. 1537: 1538: * m68k/crds.h (HAVE_VPRINTF): Delete from here. 1539: * m68k/xm-crds.h (HAVE_VPRINTF): Define. 1540: * m68k/dpx2.h (USG): Delete from here (already in xm.h file). 1541: 1542: * print-tree.c (print_node, print_node_brief): Say something 1543: when TREE_CONSTANT_OVERFLOW is set. 1544: 1545: * loop.c (check_dbra_loop): Fix error in previous change. 1546: 1547: * combine.c (set_nonzero_bits_and_sign_copies, nonzero_bits): 1548: Fix errors in SHORT_IMMEDIATES_SIGN_EXTEND code. 1549: 1550: * alpha.h (FUNCTION_ARG): Pass complex float in float regs. 1551: 1552: * fold-const.c (fold, case EQ_EXPR, NE_EXPR): If COMPLEX_TYPE 1553: and at least one arg is a COMPLEX_EXPR, split into a logical 1554: operation on the real and imaginary parts. 1555: 1556: * c-typeck.c (common_type): For COMPLEX_TYPE, return one of the 1557: original types if is the desired common type. 1558: (build_binary_op): Use SHORT_COMPARE code even if complex. 1559: 1560: * c-decl.c (grokdeclarator): Properly validate __complex__ and 1561: create the various kinds of complex integer types. 1562: 1563: * cse.c (simplify_unary_operations): Check that operations really 1564: are double-word before doing them. 1565: 1566: Fri Dec 24 15:21:16 1993 Jim Wilson ([email protected]) 1567: 1568: * cccp.c (read_name_map, read_filename_string, open_include_file): 1569: New functions. 1570: (struct file_name_list): New members: name_map, got_name_map. 1571: (main, path_include, do_include, do_once): Set got_name_map. 1572: (do_include): Use open_include_file instead of open. Add new 1573: parameter to lookup_import calls. 1574: (lookup_import): New parameter searchptr. Call open_include_file 1575: instead of open. 1576: 1577: * expr.c (convert_modes): Can't truncate REG with gen_lowpart if 1578: TRULY_NOOP_TRUNCATION doesn't allow it. 1579: 1580: Fri Dec 24 14:36:53 1993 Jeffrey A. Law ([email protected]) 1581: 1582: * cse.c (cse_insn): Set "cse_jumps_altered" when collapsing 1583: a switch statement into an unconditional jump. 1584: * toplev.c (rest_of_compilation): Rerun jump_optimize 1585: before the second CSE pass. 1586: 1587: Fri Dec 24 05:34:38 1993 Richard Kenner ([email protected]) 1588: 1589: * cse.c (simplify_binary_operation, case PLUS, MINUS): 1590: Simplify such things as (X >> 1) - X. 1591: 1592: * alpha.md (define_attr type): Add new type ISUBR. 1593: (divmod): Set to type ISUBR. 1594: * alpha.c (output_prolog): Need GP if type ISUBR. 1595: 1596: * reload.c (push_reload, find_reloads): Reload inside a paradoxical 1597: SUBREG of MEM except don't force a reload unless the inner mode 1598: is narrower than BIGGEST_ALIGNMENT. 1599: 1600: * c-typeck.c (check_init_type_bitfields): Check recursively inside 1601: arrays and records. 1602: 1603: * c-parse.in (attrib): Allow expressions instead of constants. 1604: * c-common.c (decl_attribute): Verify that alignment and format 1605: argument numbers are all integer constants. 1606: Continue on to next attribute if one is in error. 1607: 1608: * cse.c (simplify_binary_operation): Can fold multi-word 1609: operations when first is CONST_INT. 1610: (simplify_binary_operation, case PLUS, MINUS): Don't call 1611: plus_constant when OP0 is VOIDmode. 1612: 1613: * c-typeck.c (pop_init_level): Don't abort if have incomplete array 1614: type inside some other type. 1615: 1616: Thu Dec 23 22:06:21 1993 Torbjorn Granlund ([email protected]) 1617: 1618: * jump.c (thread_jumps): Delete redundant loop termination test. 1619: 1620: * cse.c (simplify_binary_operation, case *SHIFT*): Reduce arg1 as 1621: defined by SHIFT_COUNT_TRUNCATED. 1622: 1623: * config/pa/pa.c (Several places): Declare values from INTVAL(x) as 1624: HOST_WIDE_INT. 1625: (uint32_operand): New function. 1626: (output_block_move): Change unroll threshold from 64 to 32. 1627: (compute_movstrsi_length): Corresponding change. 1628: (print_operand): Don't call debug_rtx, just abort. 1629: 1630: * config/pa/pa.h (FUNCTION_INCOMING_ARG): Delete definition. 1631: (RTX_COSTS) [PLUS]: Rewrite. 1632: (output_scc_insn): Delete. 1633: (output_floatsisf2): Delete. 1634: (output_floatsidf2): Delete. 1635: (PREDICATE_CODES): Define, but leave within #if 0 for now. 1636: 1637: * config/pa/pa.md (iorscc): New recognizer. 1638: 2 new recognizers for sub;subb. 1 new recognizer for addi;subb. 1639: (movstrsi): Remove predicates. Set inline threshold to 8. 1640: (umulsidi3): Change predicates to nonimmediate_operand. 1641: New recognizer for multiply-by-immediate. 1642: (andsi3): Add `!' for register alternative. 1643: (vdepi_ior, vdepi_and): New recognizers. 1644: (vextru rx,1,ry, vextrs rx,1,ry): New recognizers. 1645: 1646: * config/pa/pa.c (initialize_pic): Delete. 1647: (finalize_pic): Use PIC_OFFSET_TABLE_REGNUM rather than 19. 1648: * config/pa/pa.h (CONDITIONAL_REGISTER_USAGE): Never make 1649: PIC_OFFSET_TABLE_REGNUM fixed. 1650: (INITIALIZE_PIC): Delete. 1651: * config/pa/pa.md (call, call_value): If PIC, emit USE for for 1652: PIC_OFFSET_TABLE_REGNUM. Use PIC_OFFSET_TABLE_REGNUM rather than 19. 1653: 1654: Thu Dec 23 18:51:12 1993 Jim Wilson ([email protected]) 1655: 1656: * local-alloc.c (optimize_reg_copy_1): After decreasing sregno's 1657: reg_live_length, correct it if it is now obviously too small. 1658: 1659: * loop.c (check_dbra_loop): Don't reverse loop if there is a 1660: single memory store to an invariant address. 1661: 1662: * gcc.c (translate_options): Skip arguments of -B, -b, -V, -x, 1663: and -Xlinker options. 1664: 1665: * configure (riscos-*-*): Use fixincludes instead of fixinc.mips. 1666: * fixinc.mips: Delete file. 1667: * fixincludes: Merge in changes from fixinc.mips. Fix identifiers 1668: host_mips, mips, MIPSE[LB], R[34]000, SYSTYPE_*. Fix size_t uses 1669: in stddef.h, memory.h, unistd.h. Fix /**/ in bsd43/bsd43_.h. 1670: 1671: Thu Dec 23 18:28:02 1993 Richard Earnshaw ([email protected]) 1672: 1673: * expmed.c (expand_mult): Preserve useful sub-expressions when 1674: expanding a synthesized mult. 1675: 1676: Thu Dec 23 18:21:34 1993 Russ Noseworthy ([email protected]) 1677: 1678: * configure (m68k-wrs-vxworks): New, same as m68k-sun-sunos*. 1679: 1680: Thu Dec 23 09:03:30 1993 Phil Nelson ([email protected]) 1681: 1682: * ns32k.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long, not .double. 1683: 1684: Thu Dec 23 07:30:24 1993 Richard Kenner ([email protected]) 1685: 1686: * Makefile.in (libgcc.a): Allow chmod of tmpcopy directory to 1687: fail since it can be empty. 1688: 1689: * gcc.c (default_compilers, gnat1): Don't write -gnatb. 1690: 1691: * c-common.c (T_ST): Fix typo in last change. 1692: 1693: * expr.c (expand_expr, case MINUS_EXPR): When expanding an 1694: initializer, use plus_constant as appropriate. 1695: 1696: * collect2.c (main): When searching compiler directories, 1697: look for ld_suffix, not full_ld_suffix. 1698: 1699: * a29k/unix.h (TARGET_DEFAULT): Update to use new values. 1700: 1701: * Makefile.in (GCC_CFLAGS): Add -I./include. 1702: 1703: Thu Dec 23 06:57:39 1993 Chip Salzenberg ([email protected]) 1704: 1705: * Makefile.in (ENQUIRE_CFLAGS): Omit -DNO_STDDEF. 1706: (USE_ALLOCA): Allow ${ALLOCA} to begin with a dash. 1707: (OBJC, OBJECTIVE-C): Depend on objc-runtime. 1708: (objc-headers): Make include directory if missing. 1709: 1710: * xm-svr3.h (HAVE_VPRINTF): Define. 1711: 1712: * cse.c (delete_reg_equiv): Don't reference elements of 1713: REG_{NEXT,PREV}_EQV that are not defined. 1714: 1715: Wed Dec 22 14:21:49 1993 Jim Wilson ([email protected]) 1716: 1717: * dbxout.c (dbxout_parms): For parameter passed by invisible 1718: reference, use DECL_INCOMING_RTL if DECL_RTL is a pseudo-reg address. 1719: 1720: * xcoffout.h (DBX_FINISH_SYMBOL): Get variable name from DECL_RTL 1721: instead of from DECL_ASSEMBLER_NAME. 1722: 1723: * sched.c (priority): Handle INSN_DELETED_P insns, in addition to 1724: insns which were deleted by being turned into notes. 1725: 1726: * expr.c (expand_expr, NEGATE_EXPR case): Use subtarget in 1727: recursive call, not target. 1728: 1729: * fixproto (required_unistd_h): Delete getgroups from list. 1730: 1731: * fix-header.c (missing_extern_C_count): Ifdef out. 1732: (write_lbrac, recognized_function, read_scan_file, write_rbrac): 1733: Likewise. 1734: 1735: * cccp.c (main): Cast alloca result to char * to avoid warning. 1736: 1737: * unroll.c (find_splittable_givs): For rewritting illegal init 1738: insn, use force_operand instead of emit_iv_add_mult. 1739: 1740: Wed Dec 22 13:44:17 1993 Ron Guilmette ([email protected]) 1741: 1742: * tree.c (chainon): Detect more circularities. 1743: 1744: * enquire.c (main): Move declarations of SIZE and TOTAL to 1745: where they won't cause "unused" warnings when NO_MEM is defined. 1746: (promotions): Explicitly declare return type (to avoid warnings). 1747: Always return a value. 1748: 1749: Wed Dec 22 13:39:40 1993 Chip Salzenberg ([email protected]) 1750: 1751: * Makefile.in (gcc.o): Define DEFAULT_TARGET_VERSION. 1752: * gcc.c (compiler_version): New variable. 1753: (spec_version): Initialize from DEFAULT_TARGET_VERSION. 1754: (main): Distinguish COMPILER_VERSION from TARGET_VERSION. 1755: (process_command): Use COMPILER_VERSION for %v. 1756: Guard against a COMPILER_VERSION that lacks a minor. 1757: 1758: Wed Dec 22 07:47:17 1993 Greg Gilley ([email protected]) 1759: 1760: * gcc.c (default_compilers): Treat ".cpp" as C++. 1761: * cccp.c (main): Strip off ".cpp" extension. 1762: * toplev.c (strip_off_ending): Likewise. 1763: 1764: Wed Dec 22 07:26:26 1993 Rafal Pietrak ([email protected]) 1765: 1766: * Makefile.in (install-headers, install-headers-tar): Correctly 1767: handle directories when $(libsubdir) is a relative path. 1768: 1769: Wed Dec 22 07:12:06 1993 Richard Stallman ([email protected]) 1770: 1771: * c-common.c (T_ST): New macro. 1772: (scan_char_table): With s, c and [, allow `a' flag. 1773: (print_char_table): Accept Z and m codes. 1774: (check_format_info): Handle the `a' flag. 1775: 1776: Tue Dec 21 21:09:38 1993 Rainer Orther ([email protected]) 1777: 1778: * fixincludes (rpc/auth.h, rpc/xdr.h): Declare structures before 1779: using them in prototypes, for Irix 4.0.5. 1780: (rpc/rpc.h): Avoid a nested comment on Ultrix 4.3. 1781: 1782: Tue Dec 21 18:41:36 1993 Doug Evans ([email protected]) 1783: 1784: * configure (cpp_md_flags): Rename to md_cppflags. 1785: (MD_CPP, MD_DEPS): Set appropriately for native or cross build. 1786: (MD_FILE): Edit in place. 1787: * Makefile.in (MD_FILE rule): Depend on $(MD_DEPS). Invoke $(MD_CPP). 1788: 1789: Tue Dec 21 17:37:20 1993 Brendan Kehoe ([email protected]) 1790: 1791: * cp-tree.h (VTABLE_NAME): No def with NO_{DOLLAR,DOT} defined. 1792: (VTABLE_NAME_P): Use it instead of VTABLE_NAME_FORMAT. 1793: 1794: Tue Dec 21 13:25:39 1993 Jim Wilson ([email protected]) 1795: 1796: * sparc.h (FUNCTION_ARG_PASS_BY_REFERENCE): Also pass Pascal arrays 1797: by reference. 1798: 1799: * sched.c (sched_analyze): For CALL_INSN followed by 1800: NOTE_INSN_SETJMP note, make it depend on all registers not just 1801: hard registers, and add a REG_DEAD -1 note. 1802: (unlink_notes): Don't save away NOTE_INSN_SETJMP notes. 1803: (schedule_block): After scheduling CALL_INSN, check for REG_DEAD 1804: -1 note. If find it, delete it, and output a NOTE_INSN_SETJMP note. 1805: 1806: * rtlanal.c (replace_regs, case REG): Return copies of SUBREGs, to 1807: avoid invalid sharing. 1808: 1809: Tue Dec 21 13:07:14 1993 Jeffrey A. Law ([email protected]) 1810: 1811: * pa.c (output_function_prologue): Use ASM_GENERATE_INTERNAL_LABEL 1812: rather than generating one on its own. 1813: 1814: * pa.h (ASM_GENERATE_INTERNAL_LABEL): Always use L$ as the prefix 1815: for internal labels. 1816: (ASM_OUTPUT_INTERNAL_LABEL): Likewise. 1817: 1818: Mon Dec 20 19:10:16 1993 Richard Kenner ([email protected]) 1819: 1820: * c-typeck.c (struct initializer_stack): New field ELEMENTS. 1821: (start_init, finish_init): Save and restore constructor_elements. 1822: 1823: * emit-rtl.c (gen_lowpart_common): Return a new hard reg even 1824: if not valid in MODE if the input REG is not valid in its mode. 1825: 1826: * rs6000.md (divsi3): Correct logic for when we call force_reg. 1827: (modsi3): Ensure operands[2] is a CONST_INT; include REG in 1828: predicate. 1829: 1830: Thu Dec 16 16:14:53 1993 Jeffrey A. Law ([email protected]) 1831: 1832: * pa.c (compute_frame_size): Remove implicit assumption that %r4 1833: is the frame pointer. 1834: 1835: * pa.c (output_function_prologue): Reverse last change. Output 1836: both the function label and the .PROC here. 1837: 1838: * pa.h (ASM_DECLARE_FUNCTION_NAME): Do not output the function 1839: label or the .PROC here. 1840: 1841: Thu Dec 16 11:34:48 1993 Ian Lance Taylor ([email protected]) 1842: 1843: * fixincludes: Do not preserve _HIDDEN_VA_LIST in stdio.h. 1844: 1845: Wed Dec 15 13:48:25 1993 Mike Stump ([email protected]) 1846: 1847: * cp-decl.c (flag_conserve_space): New language specific flag to 1848: tell the compiler to use .common when possible. Reduces the size of 1849: .o files. 1850: * cp-decl.c (duplicate_decls): Copy DECL_COMMON from the olddecl. 1851: * cp-decl.c (start_decl): Set DECL_COMMON appropriately. 1852: * cp-decl.c (finish_decl): Use flag_conserve_space, instead of 1853: flag_no_common. 1854: * cp-decl2.c (flag_conserve_space, lang_f_options): New flag. 1855: * toplev.c (lang_options): New -fconserve-space flag. 1856: * tree.h (DECL_COMMON): New flag. 1857: * tree.h (tree_decl): New common_flag. 1858: * varasm.c (assemble_variable): Use DECL_COMMON to help determine if 1859: an object can be put in .common. 1860: * c-decl.c (start_decl): Set DECL_COMMON to 1. 1861: 1862: Wed Dec 15 19:04:55 1993 Conrad Kimball ([email protected]) 1863: 1864: * Makefile.in (cccp.o, stmt-proto): Use $(includedir). 1865: 1866: Wed Dec 15 18:44:03 1993 Leonid Baraz ([email protected]) 1867: 1868: * tree.c (copy_node): Handle length of INTEGER_CST like make_node. 1869: 1870: Wed Dec 15 18:37:29 1993 Richard Kenner ([email protected]) 1871: 1872: * final.c (profile_function): Set ALIGN properly. 1873: 1874: * protoize.c: Remove declarations of setjmp and longjmp. 1875: 1876: Wed Dec 15 18:31:01 1993 Paul Eggert ([email protected]) 1877: 1878: * c-typeck.c (missing_braces_mentioned): Renamed from 1879: `partial_bracket_mentioned'. 1880: (start_init): Clear `missing_braces_mentioned'. 1881: (warning_init): New function. 1882: (push_init_level): Optionally warn about missing braces. 1883: When warning about braces around scalars, identify which scalars. 1884: 1885: Wed Dec 15 18:21:29 1993 Richard Henderson ([email protected]) 1886: 1887: * mips/iris3.h (LIB_SPEC): Use shared libc when not profiling, 1888: not debugging, and no "-static". 1889: 1890: Wed Dec 15 18:14:31 1993 Doug Evans ([email protected]) 1891: 1892: * expr.c (expand_builtin): Allow __builtin_next_arg to be used 1893: in varargs functions. 1894: 1895: Wed Dec 15 18:09:57 1993 Kaveh R. Ghazi ([email protected]) 1896: 1897: * Makefile.in (gnucompare, gnucompare3): New targets. 1898: 1899: Tue Dec 14 00:19:44 1993 Jeffrey A. Law ([email protected]) 1900: 1901: * pa.c (output_call): Put temporary label after the 1902: RP adjustment. "- 8" adjustment is no longer necessary. 1903: 1904: * x-pa (CC): Do not use absolute path to gcc. 1905: 1906: * pa.c (output_function_prologue): Do not output the .PROC directive 1907: here. 1908: 1909: * pa.h (ASM_DECLARE_FUNCTION_NAME): Emit the .PROC immediately 1910: after the function's label. 1911: 1912: * pa.h (ASM_FILE_START): Emit a .file directive at the beginning 1913: of the output file if debug symbols are being generated. 1914: 1915: * pa.h (MAX_OFILE_ALIGNMENT): Define appropriately for the PA. 1916: 1917: * pa-ghiux.h (TARGET_DEFAULT): Enable TARGET_JUMP_IN_DELAY and 1918: TARGET_GAS. 1919: * pa1-ghiux.h (TARGET_DEFAULT): Likewise. 1920: 1921: * pa-ghpux.h (TARGET_DEFAULT): Enable TARGET_JUMP_IN_DELAY. 1922: * pa-gux7.h (TARGET_DEFAULT): Likewise. 1923: * pa-utahmach.h (TARGET_DEFAULT): Likewise. 1924: * pa.h (TARGET_DEFAULT): Likewise. 1925: * pa1-ghpux.h (TARGET_DEFAULT): Likewise. 1926: * pa1-utahmach.h (TARGET_DEFAULT): Likewise. 1927: * pa1.h (TARGET_DEFAULT): Likewise. 1928: 1929: * pa.h (LEGITIMATE_CONSTANT_P): Remove hack for function addresses. 1930: * pa.c (secondary_reload_class): Function addresses no longer 1931: need secondary reloads. 1932: (emit_move_sequence): Special handling of function addresses is 1933: no longer needed. 1934: * pa.md (lo_sum of a function address): Use short form as we have 1935: no intention of supporting MPE external calls. 1936: 1937: Mon Dec 13 20:58:58 1993 Richard Kenner ([email protected]) 1938: 1939: * combine.c (subst, case MINUS): Canonicalize (minus A (plus A B)). 1940: 1941: Mon Dec 13 19:09:42 1993 Torbjorn Granlund ([email protected]) 1942: 1943: * mips/iris4.h (ASM_OUTPUT_ASCII): Wrap in `do { ... } while (0)'. 1944: * clipper/clix.h, fx80/fx80.h, i860/bsd.h, m68k/3b1.h: Likewise. 1945: * m68k/amix.h, m68k/crds.h, m68k/hp320.h, m68k/m68kv4.h: Likewise. 1946: * m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h: Likewise. 1947: * ns32k/encore.h, tahoe/harris.h, tahoe/tahoe.h: Likewise. 1948: * vax/vaxv.h,we32k/we32k.h: Likewise. 1949: 1950: Mon Dec 13 03:28:02 1993 Doug Evans ([email protected]) 1951: 1952: * configure (sparc-*-solaris2): Fix typo in extra_parts. 1953: 1954: Sun Dec 12 08:19:38 1993 Chip Salzenberg ([email protected]) 1955: 1956: * cccp.c (main): Combine tests of single-character suffixes. 1957: (deps_output): Different second parameter: SPACER determines 1958: meaning of first argument (target, dependency, literal text). 1959: Wrap output correctly. 1960: 1961: Sun Dec 12 07:54:07 1993 Richard Kenner ([email protected]) 1962: 1963: * tree.c (type_hash_canon): Clean up obstack usage a bit. 1964: 1965: * recog.c (indirect_operand): Verify mode of OP is correct. 1966: 1967: * calls.c (expand_call, store_one_arg): Properly push and pop 1968: temporary level around expression evaluations. 1969: 1970: * configure: Handle EXTRA_PARTS and EXTRA_OBJS like the others. 1971: (i[34]86-*-osfrose*): Replace t-osfrose with extra_objs assignment. 1972: (i[34]86-*-sco*): Likewise for t-sco. 1973: (i[34]86-*-isc*): Likewise for t-isc. 1974: (i[34]86-ibm-ai*): Likewise for t-aix. 1975: (i[34]86-*-solaris2, i860-alliant-*): Add extra_parts. 1976: (sparc-*-solaris2*, m88k-*): Likewise. 1977: (mips-dec-osfrose*): Add extra_objs. 1978: (clipper-intergraph-clix*): Replace t-clix with extra_headers and 1979: extra_parts. 1980: * Makefile.in (halfpic.o): New rule; copied from t-osfrose. 1981: * h8300/t-h8300: Delete null LIB2FUNCS_EXTRA. 1982: * i386/t-sol2, i860/t-fx2800, m88k/t-dgux-gas: Delete EXTRA_PARTS. 1983: * m88k/t-dgux, m88k/t-m88k, m88k/t-sysv4, sparc/t-sol2: Likewise. 1984: * m88k/t-luna: Don't require bash. 1985: * mips/t-osfrose: Delete EXTRA_OBJS and halfpic.o rule. 1986: * clipper/t-clix, i386/t-aix, i386/t-isc, i386/t-osfrose, i386/t-sco: 1987: Deleted; no longer needed. 1988: 1989: Sun Dec 12 06:47:14 1993 Richard Kenner ([email protected]) 1990: 1991: * Version 2.5.7 released. 1992: 1993: Sun Dec 12 06:18:33 1993 Jim Wilson ([email protected]) 1994: 1995: * function.c (thread_prologue_and_epilogue_insns): When constructing 1996: USE chain, set both NEXT_INSN and PREV_INSN links. Also, preserve 1997: order of USE insns in chain. 1998: 1999: Sun Dec 12 06:13:51 1993 DJ Delorie ([email protected]) 2000: 2001: * configure.bat: Update to relect recent changes elsewhere. 2002: * objc/makefile.dos: Likewise. 2003: 2004: Sat Dec 11 18:09:50 1993 Per Bothner ([email protected]) 2005: 2006: * dbxout.c (dbxout_type): The "base type" of a SET_TYPE is its 2007: DOMAIN_TYPE, not its TREE_TYPE. 2008: * dwarfout.c (output_type): Likewise. 2009: 2010: Sat Dec 11 07:36:57 1993 David Rifkind ([email protected]) 2011: 2012: * rs6000.md: Add a few missing new nmemonics. 2013: 2014: Sat Dec 11 06:57:55 1993 Richard Kenner ([email protected]) 2015: 2016: * cccp.c (INPUT_STACK_MAX): Double size. 2017: 2018: * integrate.c (initialize_for_inline): Handle CONCAT when setting up 2019: parmdecl_map. 2020: 2021: * rs6000.md (modsi3): Reject REG in predicate to avoid undefined 2022: reference and extra pseudo creation if will fail. 2023: 2024: Fri Dec 10 10:03:36 1993 Mike Stump ([email protected]) 2025: 2026: * toplev.c (lang_options): Change -fnodollars-in-identifiers to 2027: -fno-dollars-in-identifiers to match docs. 2028: 2029: Fri Dec 10 15:42:02 1993 Jim Wilson ([email protected]) 2030: 2031: * c-lex.c (yylex): When reading malformed floating point constant, 2032: avoid printing error more than once, and avoid passing malformed 2033: number to subsequent atof call. 2034: 2035: Fri Dec 10 06:03:35 1993 Richard Kenner ([email protected]) 2036: 2037: * rs6000.c (easy_fp_constant): Use input_operand to see if 2038: each word can be loaded in one insn. 2039: 2040: * rs6000.md: Change numerous occurrences of TARGET_POWERPC 2041: to ! TARGET_POWER and make related changes. 2042: 2043: * rs6000.md (modsi3): Rework to operate correctly for both POWER 2044: and PowerPC. 2045: 2046: Thu Dec 9 16:19:05 1993 Brendan Kehoe ([email protected]) 2047: 2048: * cp-tree.h (OPERATOR_TYPENAME_P): Define outside of 2049: NO_{DOLLAR,DOT} macro checks, so it always gets defined. 2050: (VTABLE_NAME_P): Define for NO_DOT && NO_DOLLAR_IN_LABEL. 2051: 2052: Wed Dec 8 05:46:26 1993 Richard Kenner ([email protected]) 2053: 2054: * flow.c (mark_used_regs, case CLOBBER): Refine previous change 2055: to just look at the address of a MEM inside a CLOBBER. 2056: 2057: * fold-const.c (fold, case *_{DIV,MOD}_EXPR): When using 2058: distributive law, take care when C2 is negative. 2059: 2060: Tue Dec 7 08:45:59 1993 Richard Kenner ([email protected]) 2061: 2062: * flow.c (mark_used_regs): Look inside a CLOBBER; it may be the only 2063: place regs are used if it has a stack slot that is from an inlined 2064: function. 2065: 2066: Mon Dec 6 20:56:11 1993 David Rifkind ([email protected]) 2067: 2068: * expr.c (move_block_{to,from}_reg): Check HAVE_{load,store}_multiple 2069: value; don't just #idef the symbol. 2070: 2071: Mon Dec 6 08:01:59 1993 Torbjorn Granlund ([email protected]) 2072: 2073: * pa.c (hppa_legitimize_address): If we can't legitimize, 2074: do nothing; don't call abort. 2075: 2076: Mon Dec 6 07:38:30 1993 Richard Earnshaw ([email protected]) 2077: 2078: * arm.c (output_ascii_pseudo_op): 8-bit chars should be zero-extended. 2079: * arm.h (ASM_OUTPUT_ASCII): Likewise. 2080: 2081: Mon Dec 6 07:32:59 1993 Richard Kenner ([email protected]) 2082: 2083: * objc/encoding.h: Include ctype.h. 2084: 2085: * expr.c (expand_expr, case PLACEHOLDER_EXPR): Remove top entry 2086: from PLACEHOLDER_LIST when expanding the value in it. 2087: 2088: Mon Dec 6 05:40:38 1993 Doug Evans ([email protected]) 2089: 2090: * emit-rtl.c (start_sequence): Save current sequence_rtl_expr. 2091: 2092: Fri Dec 3 07:07:01 1993 Richard Kenner ([email protected]) 2093: 2094: * Version 2.5.6 released. 2095: 2096: * c-typeck.c (c_expand_return): Return if convert_for_assignment 2097: returns error_mark_node. 2098: 2099: Fri Dec 3 06:42:05 1993 Arne Henrik Juul ([email protected]) 2100: 2101: * fixincludes (stdio.h): Fix typos (missing quote) in previous change. 2102: 2103: Fri Dec 3 06:35:57 1993 Jim Wilson ([email protected]) 2104: 2105: * gstddef.h: Define and protect against __STDDEF_H__ for Irix 5.1. 2106: 2107: * sparc.c (shift_operand): Delete function. 2108: * sparc.md (ashlsi3, ashrsi3, lshrsi3): Use arith_operand instead 2109: of shift_operand. Truncate shift counts to 5 bits. 2110: 2111: Thu Dec 2 08:11:00 1993 Stefan Rapp ([email protected]) 2112: 2113: * loop.c (scan_loop): Correct arguments for register check. 2114: 2115: Thu Dec 2 07:07:05 1993 Ian Lance Taylor ([email protected]) 2116: 2117: * fixincludes: Preserve _HIDDEN_VA_LIST when changing VA_LIST to 2118: DUMMY_VA_LIST. Change __va_list to __gnuc_va_list. For AIX 2119: 3.2.5. 2120: 2121: Thu Dec 2 07:00:24 1993 Richard Kenner ([email protected]) 2122: 2123: * emit-rtl.c (push_topmost_sequence, end_sequence): Update 2124: sequence_rtl_expr from sequence_stack entry. 2125: 2126: * calls.c (emit_library_call): Use Pmode, not OUTMODE, when passing 2127: in structure address. 2128: 2129: * a29k.c (secondary_reload_class): Kernel regs are in same class 2130: as user regs. 2131: 2132: * a29k.md (movti split): Set CR to 3, not 1 like DImode. 2133: 2134: Thu Dec 2 06:46:07 1993 Jim Wilson ([email protected]) 2135: 2136: * reload.c (find_reloads_toplev): Replace obsolete reference to 2137: BYTE_LOADS_*_EXTEND with LOAD_EXTEND_OP. 2138: 2139: Thu Dec 2 06:39:16 1993 Jeffrey A Law ([email protected]) 2140: 2141: * pa.h (ASM_STABS_OP, ASM_STABN_OP): Define. 2142: (ASM_FILE_END): Put a TAB before the .stabs directive. 2143: 2144: Thu Dec 2 06:30:17 1993 David Edelsohn ([email protected]) 2145: 2146: * rs6000.md (define_function_unit): Restore ppc601 load and fpload 2147: timings. 2148: 2149: Wed Dec 1 17:24:17 1993 Brendan Kehoe ([email protected]) 2150: 2151: Wed Nov 24 06:36:10 1993 Brendan Kehoe ([email protected]) 2152: 2153: * cp-tree.c (get_decl_list): Use the DECL_NESTED_TYPENAME for the 2154: value we're going to paste onto CLASSTYPE_ID_AS_LIST. This will get 2155: the right name for nested classes, and for templates. 2156: 2157: Mon Nov 29 13:09:31 1993 Brendan Kehoe ([email protected]) 2158: 2159: * cp-decl.c (grokdeclarator): Properly evaluate TREE_PUBLIC for 2160: friends. (Fixes spurious warnings about friends being declared 2161: static but not used.) 2162: 2163: * cp-type2.c (build_functional_cast): If we got an error_mark_node 2164: from build_method_call, make sure EXPR_AS_METHOD is cleared out 2165: again, so the later checks will work properly. 2166: 2167: * cp-decl.c (build_enumerator): Fix logic so an enum inside a class 2168: that's local to a function has its enumerators end up in that 2169: class's list of members, not in the list for the function. 2170: 2171: Tue Nov 30 19:26:05 1993 Richard Kenner ([email protected]) 2172: 2173: * sparc.h (STATIC_CHAIN_REGNUM): Use %g2; %g1 is reserved 2174: for prologue. 2175: (TRAMPOLINE_TEMPLATE, INITIALIZE_TRAMPOLINE): Swap useage of %g1 2176: and %g2. 2177: 2178: * m68k.md (movdf): Don't need earlyclobber when a register 2179: is copied to itself. 2180: 2181: Sat Nov 27 06:19:22 1993 Richard Kenner ([email protected]) 2182: 2183: * Version 2.5.5 released. 2184: 2185: * c-typeck.c (pop_init_level): Ensure never on momentary_obstack 2186: when calling complete_array_type. 2187: 2188: Sat Nov 27 03:52:26 1993 Richard Stallman ([email protected]) 2189: 2190: * fixproto (scanning files_to_check): Create subdirs files are in. 2191: 2192: * config/m68k/m68k.md (cmpsi, cmphi, cmpqi): Handle SGS_CMP_ORDER 2193: when outputting cmpm insn. 2194: 2195: Fri Nov 26 15:57:24 1993 Richard Stallman ([email protected]) 2196: 2197: * gcc.c (default_compilers): Do define __GNUC_MINOR__ if input is `-'. 2198: 2199: Thu Nov 25 18:16:25 1993 Richard Kenner ([email protected]) 2200: 2201: * function.h (struct sequence_stack): New field sequence_rtl_expr. 2202: (struct function): Likewise. 2203: * emit-rtl.c: Include tree.h. 2204: (sequence_rtl_expr): New variable. 2205: (save_emit_status, restore_emit_status): Save and restore it. 2206: (init_emit): Initialize it. 2207: (start_sequence_for_rtl_expr): New function. 2208: * function.c: Declare sequence_rtl_expr. 2209: (struct temp_slot): New field rtl_expr. 2210: (assign_stack_temp): Set it from sequence_rtl_expr. 2211: ({free,pop}_temp_slots): Don't free any slot with nonzero rtl_expr. 2212: (free_temps_for_rtl_expr): New function. 2213: * expr.c (expand_expr, case RTL_EXPR): Call free_temps_for_rtl_expr. 2214: * stmt.c (expand_start_stmt_expr): Call start_sequence_for_rtl_expr 2215: instead of start_sequence. 2216: * cp-parse.y (except_stmts): Likewise. 2217: * cp-init.c (build_new): Likewise. 2218: * cp-typeck.c (build_modify_expr): Likewise. 2219: * Makefile.in (emit-rtl.o): Includes tree.h. 2220: 2221: Thu Nov 25 17:24:02 1993 Richard Stallman ([email protected]) 2222: 2223: * Makefile.in (stmp-fixproto): Create include subdir if doesn't exist. 2224: 2225: Wed Nov 24 14:32:47 1993 Jim Wilson ([email protected]) 2226: 2227: * c-common.c (shorten_compare): Correct typo from last change. 2228: 2229: Wed Nov 24 13:25:09 1993 Richard Earnshaw ([email protected]) 2230: 2231: * protoize.c (save_def_or_dec): Correct typo in change of Nov 23. Make 2232: sure pointers within def_dec_p are valid before it is freed. 2233: 2234: Wed Nov 24 07:02:50 1993 Brendan Kehoe ([email protected]) 2235: 2236: * expr.c (expand_expr, case ADDR_EXPR): Also pass const0_rtx if 2237: necessary, to avoid multiple cleanup runs. 2238: (expand_expr, case WITH_CLEANUP_EXPR): Pass const0_rtx if 2239: necessary, to keep the recursive call from running the same 2240: cleanups twice. 2241: (expand_expr, case TARGET_EXPR): Don't try to add the cleanup if 2242: ignore's non-zero, since we would have already done it. 2243: 2244: Tue Nov 23 21:10:22 1993 Brendan Kehoe ([email protected]) 2245: 2246: Cygnus<->FSF C++ front-end merge. 2247: Tue Nov 23 11:05:28 1993 Jason Merrill ([email protected]) 2248: 2249: * cp-errfn.c (STRDUP): Cast return value of alloca to (char *). 2250: 2251: Mon Nov 22 00:07:17 1993 Brendan Kehoe ([email protected]) 2252: 2253: * cp-lex.c (real_yylex): Move declaration of tmp inside the block 2254: that uses it, so compilers don't try to mis-optimize it away. 2255: 2256: * cp-search.c (dfs_pushdecls): Make sure there's a lang_specific 2257: node on the decl before trying to print the warning out. 2258: 2259: * cp-decl.c (grokdeclarator): Say the member was redeclared as 2260: static, not just that it can't be declared static. 2261: 2262: * cp-search.c (get_first_matching_virtual): Don't do 2263: SET_IDENTIFIER_ERROR_LOCUS as an attempt to avoid multiple warnings 2264: with -Woverloaded-virtual. It changes the compiler's behavior 2265: (elicits unwanted errors). 2266: 2267: Sat Nov 20 19:31:01 1993 Brendan Kehoe ([email protected]) 2268: 2269: * cp-tree.h (lang_type): Add field `has_nonpublic_ctor', and delete 2270: dummy since we used the two bits it was holding out for the MIPS 2271: compiler. 2272: (TYPE_HAS_NONPUBLIC_CTOR): Defined. 2273: * cp-class.c (finish_struct_methods): Set TYPE_HAS_NONPUBLIC_CTOR 2274: as appropriate for a copy ctor with non-public visibility. 2275: (finish_struct): Don't generate a copy ctor if the type if one of 2276: its fields has a private copy ctor, or a protected one for which we 2277: aren't allowed access. 2278: (base_info): Add member `saw_nonpublic_ctor'. 2279: (finish_base_struct): Set b->saw_nonpublic_ctor if necessary. 2280: 2281: * cp-method.c (hack_identifier): Make sure there's a 2282: DECL_LANG_SPECIFIC before getting ready to grope around a class. 2283: 2284: * cp-typeck.c (build_indirect_ref): Complain if we encounter a 2285: pointer to member. 2286: 2287: Fri Nov 19 16:37:28 1993 Brendan Kehoe ([email protected]) 2288: 2289: * cp-decl.c (start_decl): Complain when a function is declared as 2290: part of a template definition, but the class it's supposed to be 2291: part of wasn't a template. 2292: 2293: * cp-decl.c (pushdecl): Don't warn about shadowing a member of 2294: `this' if that member is static. 2295: 2296: * cp-call.c (convert_harshness_old): Don't die if one of the types 2297: isn't an aggregate with a binfo. 2298: (convert_harshness_ansi): Likewise. 2299: 2300: Fri Nov 19 12:18:31 1993 Brendan Kehoe ([email protected]) 2301: 2302: * cp-typeck.c (convert_for_assignment): Fix typo so initialization 2303: of a pointer from an integer actually work, rather than emit bogus 2304: code. 2305: 2306: * cp-pt.c (overload_template_name): Accept unions for templates. 2307: (instantiate_class_template): Likewise. 2308: * cp-parse.y (template_instantiate_once): Likewise. 2309: 2310: * cp-lex.c (real_yylex): Instead of using the "shorts" method to 2311: check for overflow, use the C front-end's "parts" method (to handle 2312: any size, and not rely on long long being 32 bits wide). 2313: 2314: Thu Nov 18 11:51:34 1993 Jason Merrill ([email protected]) 2315: 2316: * cp-lex.c (cons_up_default_function): Disable earlier change; it 2317: screws up stabs somehow. Very strange. 2318: 2319: Thu Nov 18 00:16:29 1993 Brendan Kehoe ([email protected]) 2320: 2321: * cp-decl.c (grokdeclarator): Say what class is involved when saying 2322: we can't declare a member inside it. 2323: 2324: * cp-lex.c (real_yylex): Recognize operator->() as POINTSAT, not 2325: POINTSAT_LEFT_RIGHT. By swallowing the parens, we ended up never 2326: building the call properly for them. 2327: * cp-parse.y (POINTSAT_LEFT_RIGHT): Remove token. 2328: (operator_name): Remove POINTSAT_LEFT_RIGHT rule. 2329: * cp-spew.c (init_spew): Remove POINTSAT_LEFT_RIGHT from 2330: toks_follow_ids. 2331: 2332: * cp-parse.y (primary): Only try to print out the operator's name if 2333: it's valid. 2334: 2335: * cp-decl.c (grok_op_properties): Fix missing parens to keep the 2336: logic from accidentally giving an error when it shouldn't. 2337: 2338: Wed Nov 17 20:04:00 1993 Jason Merrill ([email protected]) 2339: 2340: * cp-search.c (dfs_pushdecls): TREE_PURPOSE doesn't have to be 2341: a _DECL for class_value to be an envelope, it just can't be an 2342: IDENTIFIER_NODE. 2343: 2344: Wed Nov 17 15:54:02 1993 Brendan Kehoe ([email protected]) 2345: 2346: * cp-type2.c (process_init_constructor): Deal with pointers to 2347: members as initializers for initializer lists. 2348: 2349: Wed Nov 17 11:48:38 1993 Jason Merrill ([email protected]) 2350: 2351: * cp-decl.c (ambi_op_p): Add ++ and --. 2352: 2353: * cp-error.c: Lose the anon_parm_name stuff. 2354: 2355: * cp-lex.c (cons_up_default_function): Change input_filename for 2356: synthetic code. 2357: 2358: * cp-error.c (dump_aggr_type): Always print const or volatile. 2359: (dump_function_decl): Only print static if verbose. 2360: 2361: * cp-errfn.c (cp_sprintf): New function. 2362: 2363: * cp-decl.c (grokfndecl): Be more verbose in complaint about applying 2364: method qualifiers to non-methods. 2365: 2366: Wed Nov 17 09:51:04 1993 Jim Wilson ([email protected]) 2367: 2368: * cp-parse.y (attrib): Accept "noreturn" attribute. 2369: 2370: Tue Nov 16 12:28:49 1993 Jason Merrill ([email protected]) 2371: 2372: * cp-decl2.c (grokoptypename): Fix handling of udc's. 2373: 2374: * cp-method.c (build_component_type_expr): Ditto. 2375: 2376: * cp-class.c (finish_struct_methods): Be more verbose in complaint 2377: about overloaded operator delete. 2378: 2379: * cp-decl.c (grok_op_properties): Do more checking on operators. 2380: (grokdeclarator): Remove check for ops being members, fix handling 2381: of user-defined conversions. 2382: (grokfndecl): Remove checks for ops, move call to grok_op_properties 2383: up. 2384: (finish_decl): Remove check for ops with default arguments. 2385: (ambi_op_p): New fn, name for either unary or binary op 2386: (unary_op_p): New fn, checks name for unary op 2387: 2388: Mon Nov 15 12:38:54 1993 Brendan Kehoe ([email protected]) 2389: 2390: * g++.c (main): If they gave us -v, also show the invocation of the 2391: gcc driver. 2392: 2393: Mon Nov 15 12:04:47 1993 Jason Merrill ([email protected]) 2394: 2395: * cp-decl.c (grokdeclarator): Lose "operator <typename>". 2396: 2397: * cp-method.c (build_component_type_expr): Ditto. 2398: 2399: * cp-decl2.c (grokoptypename): Ditto. 2400: 2401: Make C++ accept template parameters as type names; for example, 2402: doing `template <class T, T t> A {...}'. 2403: 2404: * cp-pt.c (end_template_parm_list): Fix a bug in gs4t's patch. 2405: (grok_template_type): Simplify. 2406: 2407: * cp-typeck.c (build_modify_expr_1): Give error if trying to 2408: get default operator= for class where you can't. 2409: 2410: * cp-decl.c (duplicate_decls): Uniformify, fix redeclaration of 2411: builtins. 2412: 2413: Sat Nov 6 19:06:25 EST 1993 Gnanasekaran Swaminathan ([email protected]) 2414: 2415: * cp-pt.c (begin_template_parm_list): pushdecl here so that we 2416: can push TEMPLATE PARAMETERS as type names. 2417: (process_template_parm): build_lang_decl for TEMPLATE 2418: PARAMETERS here. 2419: (grok_template_type): New function. get the actual type of a 2420: TEMPLATE PARAMETER. 2421: (coerce_template_parms): delete pushdecl as it is moved (see 2422: above). Don't build type decls for TEMPLATE PARAMETERS as it is 2423: built above. 2424: 2425: Mon Nov 15 12:04:47 1993 Jason Merrill ([email protected]) 2426: 2427: * cp-decl.c (duplicate_decls): If a function has been declared with 2428: explicit language linkage, redeclaring (or defining) it without 2429: is OK. 2430: 2431: Fri Nov 12 15:30:27 1993 Jason Merrill ([email protected]) 2432: 2433: * cp-lex.c (operator_name_string): Fix handling of __ad__foo. 2434: 2435: * cp-error.c (dump_decl): Handle demangling of vtable names. 2436: 2437: * cp-tree.c (lang_printable_name): Pass everything to decl_as_string, 2438: not just functions. 2439: 2440: * cp-decl2.c (check_classfn): Use cp_error. 2441: 2442: * cp-error.c (dump_decl): Fix IDENTIFIER_TYPENAME_P case. 2443: 2444: * cp-method.c (build_decl_overload): Propagate IDENTIFIER_OPNAME_P 2445: to mangled identifier. 2446: 2447: * cp-type2.c (my_friendly_abort): Add "confusion" message for 2448: abort after earlier errors. 2449: 2450: Wed Nov 10 18:39:17 1993 Jason Merrill ([email protected]) 2451: 2452: * cp-decl2.c (lang_decode_option): Include warn_enum_clash among 2453: -Wall. 2454: 2455: Wed Nov 10 16:18:19 1993 Brendan Kehoe ([email protected]) 2456: 2457: * Makefile.in (stamp-cp-parse): Update counts. 2458: 2459: Wed Nov 10 15:27:12 1993 Jason Merrill ([email protected]) 2460: 2461: * cp-errfn.c (cp_thing): Allow cp_*_at to use an arbitrary argument, 2462: not just the first, by using, for instance, `%+D'. 2463: 2464: Mon Nov 8 13:50:49 1993 Jason Merrill ([email protected]) 2465: 2466: * cp-error.c (language_as_string): New function for printing language 2467: context. Corresponds to %L. 2468: 2469: Mon Nov 8 10:39:28 1993 Jason Merrill ([email protected]) 2470: 2471: * cp-pt.c (reinit_parse_for_template): Use inline_text_obstack 2472: instead of permanent_obstack so that yylex() doesn't clobber the 2473: growing object. 2474: 2475: * cp-lex.c (reinit_parse_for_block): Overhaul to reduce code size by 2476: half and make #line directives in template definitions work. 2477: 2478: Sun Nov 7 15:19:28 1993 Jason Merrill ([email protected]) 2479: 2480: * cp-pt.c (instantiate_class_template): if (!setup_parse), don't 2481: mess with lineno and input_filename. 2482: 2483: Mon Nov 1 18:15:59 1993 Kung Hsu ([email protected]) 2484: 2485: * cp-cvt.c(convert_to_reference): Fix when pass ref to array as 2486: initializer, the argument type is convert to pointer and the type 2487: in the field of the class should also convert to pointer. 2488: 2489: Fri Nov 5 11:57:41 1993 Jason Merrill ([email protected]) 2490: 2491: * cp-pt.c (instantiate_template): Work properly with 2492: -fexternal-templates. 2493: 2494: * cp-lex.c (extract_interface_info): #if 0 out earlier 2495: tinst_level work pending further work. 2496: 2497: Fri Nov 5 07:39:00 1993 Michael Tiemann ([email protected]) 2498: 2499: * cp-search.c (compute_visibility): Don't lose access to public 2500: members from base classes of base classes. 2501: 2502: * cp-typeck.c (convert_for_assignment): Allocate enough space in 2503: LHSBUF for the null terminiator. 2504: 2505: Tue Nov 2 07:20:03 1993 Michael Tiemann ([email protected]) 2506: 2507: * cp-decl2.c (build_push_scope): Don't push the scope for 2508: ptr-to-method declarations. Also, clarify some comments. 2509: 2510: * cp-parse.y (abs_member_declarator): Add `see_typename' epsilon 2511: rule so that parser can recognize ptr-to-member functions. 2512: 2513: Mon Nov 1 18:15:59 1993 Kung Hsu ([email protected]) 2514: 2515: * cp-cvt.c(convert_to_reference): Fix when pass ref to array as 2516: initializer, the argument type is convert to pointer and the type 2517: in the field of the class should also convert to pointer. 2518: 2519: Mon Nov 1 11:06:39 1993 Jason Merrill ([email protected]) 2520: 2521: * cp-errfn.c: Don't include <string.h>. 2522: Don't use the return value of strcpy. 2523: 2524: Sun Oct 31 22:32:05 1993 Jason Merrill ([email protected]) 2525: 2526: * cp-call.c (build_scoped_method_call): Return (void)0 if trying to 2527: call a nonexistent destructor. 2528: 2529: * cp-parse.y (object): Support p.~int(). 2530: 2531: * cp-error.c (dump_expr): Handle error_mark_node better. 2532: 2533: Sat Oct 30 21:49:00 1993 Jason Merrill ([email protected]) 2534: 2535: * cp-parse.y (primary): Support p->~int(). 2536: 2537: Fri Oct 29 18:09:12 1993 Mike Stump ([email protected]) 2538: 2539: * cp-type2.c (build_functional_cast): Don't delete things twice. 2540: 2541: Thu Oct 28 15:35:55 1993 Jason Merrill ([email protected]) 2542: 2543: * cp-tree.h (struct tinst_level): The template instantiation level 2544: structure. Used by the code described below. 2545: 2546: * cp-pt.c (push_tinst_level): New function for remembering file 2547: context when instantiating templates. Stores the identifier as well, 2548: for error reporting. 2549: (pop_tinst_level): Da opposite. 2550: (tinst_for_decl): Returns a pointer to the tinst_level structure to 2551: use for determining which file to associate the current DECL with, or 2552: NULL to use the current file and line. To restore the old behavior, 2553: just change this function to "return 0;". 2554: (instantiate_class_template): push_tinst_level. 2555: 2556: * cp-parse.y (tmplate_instantiate_once): pop_tinst_level() after 2557: instantiating member templates. 2558: 2559: * cp-lex.c (extract_interface_info): If instantiating a template, 2560: set up interface/implementation according to the spot in the user's 2561: code that triggered the instantiation. 2562: 2563: * cp-pt.c (tsubst): Associate the FUNCTION_DECL with the spot in the 2564: user's code that triggered the instantiation. *Currently disabled* 2565: 2566: * cp-class.c (finish_struct): If we're instantiating a template, 2567: associate the TYPE_DECL with the spot in the user's code that 2568: triggered the instantiation. *Currently disabled* 2569: 2570: * cp-pt.c (coerce_template_parms): Do extra checking on the template 2571: parms, since templates are more picky than initializers. 2572: 2573: Wed Oct 27 17:06:54 1993 Jason Merrill ([email protected]) 2574: 2575: * cp-parse.y (datadef): Don't override a template with a forward 2576: declaration of a template class. 2577: 2578: Tue Oct 26 17:54:12 1993 Kung Hsu ([email protected]) 2579: 2580: * cp-parse.y (component-declarator0): fix bit field name same as type 2581: name syntax error. 2582: 2583: Tue Oct 26 16:07:29 1993 Mike Stump ([email protected]) 2584: 2585: * cp-cvt.c (build_up_reference): Fix typo, fixes core dump on bad 2586: code. 2587: 2588: Tue Oct 26 11:52:09 1993 Jason Merrill ([email protected]) 2589: 2590: * cp-error.c (dump_function_decl): Only print default arguments 2591: if verbose. 2592: (dump_type): Ditto. 2593: 2594: Mon Oct 25 22:18:05 1993 Per Bothner ([email protected]) 2595: 2596: * cp-typeck.c (c_sizeof, build_c_cast): Re-enable Salzenberg's 2597: July 10 change (set TREE_OVERFLOW as well as TREE_CONSTANT_OVERFLOW). 2598: 2599: Mon Oct 25 18:53:08 1993 Jason Merrill ([email protected]) 2600: 2601: * cp-pt.c (instantiate_class_template): Don't do the 2602: push_template_decls thang if !setup_parse; the binding level 2603: never gets popped. 2604: 2605: Mon Oct 25 11:54:34 1993 Kung Hsu ([email protected]) 2606: 2607: * cp-method.c (hack_identifier): fix seg fault when an 2608: external variable does not have class context. 2609: 2610: Sun Oct 24 19:01:15 1993 Michael Tiemann ([email protected]) 2611: 2612: * cp-spew.c (scan_tokens): Test for ';' in first pre-scan of the 2613: tokens. 2614: 2615: Fri Oct 22 23:46:17 1993 Jason Merrill ([email protected]) 2616: 2617: * cp-tree.c (get_decl_list): When consing up CLASSTYPE_ID_AS_LIST, 2618: don't assume that `value' is a reasonable identifier to use. 2619: (list_hash_lookup_or_cons): Ditto. 2620: 2621: * cp-error.c (dump_decl, CONST_DECL): Pass off non-enum cases to 2622: dump_expr. 2623: (dump_expr): Pass off DECLs to dump_decl. 2624: 2625: Fri Oct 22 20:57:46 1993 david d `zoo' zuhn ([email protected]) 2626: 2627: * cp-errfn.c (STRDUP): Change to comma expr for bdmaged cc's. 2628: (cp_thing): Add decl for ap, initialize fmt later. 2629: 2630: Fri Oct 22 17:15:01 1993 Jason Merrill ([email protected]) 2631: 2632: * cp-error.c (dump_decl): Handle CONST_DECLs for enum tags. 2633: 2634: * cp-type2.c (my_friendly_abort): Move abortcount to global level. 2635: 2636: * cp-search.c (dfs_pushdecls): Be more helpful in shadowing warning. 2637: 2638: * cp-pt.c (mangle_class_name_for_template): If the last template 2639: parameter was also a template class, insert a space so that 2640: the mangled name can be used as input for the compiler (i.e. 2641: with default_copy_constructor_body). 2642: 2643: Fri Oct 22 16:40:27 1993 Mike Stump ([email protected]) 2644: 2645: Handle constructors in templates better. 2646: 2647: * cp-call.c (build_method_call): Use constructor_name_full instead 2648: of constructor_name. 2649: * cp-cvt.c (convert_to_reference, convert, build_type_conversion_1, 2650: build_type_conversion): Ditto. 2651: * cp-decl.c (make_temporary_for_reference, grok_reference_init): 2652: Ditto. 2653: * cp-init.c (expand_default_init, expand_aggr_init_1, build_new): 2654: Ditto. 2655: * cp-typeck.c (build_modify_expr_1, convert_for_initialization): 2656: Ditto. 2657: * cp-search.c (lookup_field, lookup_fnfields): Check for short 2658: constructor name, as that is how we store it. 2659: * cp-decl2.c (constructor_name_full): New routine. 2660: * cp-tree.h (constructor_name_full): Declare it. 2661: * cp-call.c (build_method_call): Check for either short or the full 2662: constructor name. 2663: 2664: Wed Oct 20 17:17:37 1993 Jason Merrill ([email protected]) 2665: 2666: * cp-tree.h: Declare code_as_string. 2667: 2668: * cp-error.c (code_as_string): New function, translates 2669: enum tree_code into a string. Very incomplete at the moment. 2670: 2671: * cp-decl.c (lookup_tag): Use cp_error more. 2672: 2673: Tue Oct 19 16:39:20 1993 Jason Merrill ([email protected]) 2674: 2675: * cp-error.c (dump_type_prefix): Do the prefix/suffix thang for 2676: ARRAY_TYPE nodes. 2677: 2678: Thu Oct 14 23:56:34 1993 Jason Merrill ([email protected]) 2679: 2680: * cp-gc.c (build_dynamic_cast): Avoid doing runtime work if possible. 2681: (build_typeid): Add logic. 2682: 2683: Thu Oct 14 10:56:43 1993 Jason Merrill ([email protected]) 2684: 2685: * cp-gc.c (build_typeid): New function, allegedly returns the 2686: Type_info object for the type of an expression, currently does 2687: nothing. 2688: (get_typeid): New function, allegedly returns the Type_info object 2689: for a _TYPE node, currently does nothing. 2690: (build_dynamic_cast): New function, supposedly implements 2691: run-time checked casting, currently only does what can be done 2692: at compile time. 2693: 2694: * cp-parse.y (.kindof_pushlevel): Only push first decl (the variable). 2695: (primary): Add dynamic_cast and typeid expressions. 2696: (simple_if): Use partially_scoped_stmt again. 2697: Makes 'if' condition work. 2698: 2699: * cp-error.c (expr_as_string): Suppress parens on initial call 2700: to dump_expr. 2701: 2702: * cp-tree.h: Add decls for Type_info_type_node, build_typeid, 2703: get_typeid and build_dynamic_cast. 2704: 2705: * gplus.gperf: Add typeid and dynamic_cast. 2706: 2707: * cp-spew.c (init_spew): Ditto. 2708: 2709: Wed Oct 13 19:15:21 1993 Jason Merrill ([email protected]) 2710: 2711: Partial implementation of Stroustrup's proposal for declarations in 2712: conditions from X3J16/92-0121. 2713: 2714: * cp-parse.y (paren_cond_or_null): New rule, use condition instead 2715: of expr. 2716: (xcond): Ditto. 2717: (condition): New rule, used in the condition parts of if, while, for 2718: and switch statements. Allows a restricted set of declarations of 2719: the form "type_specifier declarator = expression". 2720: (.kindof_pushlevel): Like pushlevel, but pushes all of the decls 2721: from the previous binding level into the new one too. 2722: (partially_scoped_stmt): Like implicitly_scoped_stmt, but uses 2723: .kindof_pushlevel instead of .pushlevel. 2724: (simple_if): .pushlevel before condition. 2725: (simple_stmt, simple_if ELSE): Ditto, pop binding level. 2726: (simple_stmt, simple_if): Ditto. 2727: (simple_stmt, WHILE): Ditto. 2728: (simple_stmt, forhead.1): .pushlevel before condition, use xcond 2729: instead of xexpr, pop binding level. 2730: (simple_stmt, forhead.2): Use xcond instead of xexpr, always pop 2731: binding level. 2732: (simple_stmt, SWITCH): .pushlevel before condition, etc, etc. 2733: (forhead.2): always .pushlevel. 2734: (datadef): Use cp_error more. 2735: (simple_stmt, CASE): Ditto. 2736: 2737: * cp-decl2.c (pushdecls): New function, push all decls in the chain 2738: into the current scope. 2739: 2740: Wed Oct 13 12:31:58 1993 Mike Stump ([email protected]) 2741: 2742: * cp-decl.c: Remove redefinition of NULL, as some machines don't 2743: like it. Clean up all NULL uses. 2744: 2745: Mon Oct 11 17:21:08 1993 Kung Hsu ([email protected]) 2746: 2747: * cp-decl2.c (finish_file): Fix libg++ build problem of mismatch 2748: blocks. 2749: 2750: Mon Oct 11 13:51:05 1993 Brendan Kehoe ([email protected]) 2751: 2752: Mon Oct 4 11:49:48 1993 Chip Salzenberg ([email protected]) 2753: 2754: * cp-typeck.c (build_modify_expr): Check whether recursive calls 2755: return error_mark_node. 2756: 2757: Mon Oct 4 12:41:16 1993 Chip Salzenberg ([email protected]) 2758: 2759: * cp-class.c (finish_struct): Too-long bitfield is an error. 2760: * cp-decl.c (grokdeclarator): "inline main()" is an error. 2761: (grok_op_properties): Overloaded ?: is an error. 2762: (start_enum): Duplicate enum definition is an error. 2763: 2764: Mon Oct 4 12:45:11 1993 Chip Salzenberg ([email protected]) 2765: 2766: * cp-typeck.c (common_type): Use TYPE_MAIN_VARIANT when preferring 2767: long int to int (when width is the same). 2768: 2769: Mon Oct 4 12:46:54 1993 Chip Salzenberg ([email protected]) 2770: 2771: * cp-typeck.c (convert_for_assignment): Mismatch in signedness 2772: of pointer targets should not inhibit warnings for const mismatch. 2773: 2774: Mon Oct 4 12:53:04 1993 Chip Salzenberg ([email protected]) 2775: 2776: * cp-typeck.c (default_conversion): Convert to unsigned int 2777: if original type is unsigned and of greater or equal size. 2778: 2779: Mon Oct 11 13:19:42 1993 Brendan Kehoe ([email protected]) 2780: 2781: * cp-decl.c (build_enumerator): Call default_conversion on the VALUE 2782: before calling constant_expression_warning. 2783: 2784: Mon Oct 11 10:21:37 1993 Kung Hsu ([email protected]) 2785: 2786: * cp-decl.c (finish_function): fix the mismatch LBB LBE block 2787: problem, specifically when compiler generated 2788: destructor/constructor (pr2972) 2789: * cp-decl2.c (finish_file): same as above 2790: * cp-parse.y (compstmt): same as above 2791: 2792: Mon Oct 11 01:08:09 1993 Jason Merrill ([email protected]) 2793: 2794: * cp-error.c (dump_type_suffix): Cope with arrays with unspecified 2795: bounds. 2796: 2797: Thu Oct 7 19:35:26 1993 Jason Merrill ([email protected]) 2798: 2799: * cp-error.c: Deal with printing out array DECLs properly. 2800: Use dump_char for printing out string literals, too. 2801: 2802: Tue Nov 23 18:08:27 1993 Richard Stallman ([email protected]) 2803: 2804: * dwarfout.c (function_start_label): New function. 2805: (output_entry_point_die): Use it. 2806: (output_global_subroutine_die, output_local_subroutine_die): Use it. 2807: 2808: * c-common.c (check_format_info): Always use TYPE_MAIN_VARIANT 2809: when comparing cur_type against wanted_type. 2810: 2811: * protoize.c (save_def_or_dec): If function's aux info doesn't end 2812: with a closeparen, ignore it. 2813: (xmalloc, xrealloc): Cast result of malloc. 2814: 2815: * c-typeck.c (build_binary_op): Don't accept complex types 2816: for max, min, lt, etc. 2817: 2818: Tue Nov 23 18:05:14 1993 Lisa Repka ([email protected]) 2819: 2820: * reorg.c (rare_destination): Ensure we always correctly handle 2821: a null JUMP_LABEL. 2822: 2823: Tue Nov 23 17:48:39 1993 Doug Evans ([email protected]) 2824: 2825: * i960/i960.h (ASM_SPEC): Pass -linkrelax, not -link-relax. 2826: 2827: Tue Nov 23 17:35:25 1993 Richard Earnshaw ([email protected]) 2828: 2829: * arm.c (arm_backwards_branch): Branching to the current insn is a 2830: backwards branch. 2831: 2832: Tue Nov 23 13:59:24 1993 Hallvard B Furuseth ([email protected]) 2833: 2834: * libgcc2.a (__bb_exit_func): Fix format %*d -> %*ld. 2835: 2836: * c-parse.in, cp-parse.y (maybe_type_qual): Don't fail to set $$. 2837: 2838: Tue Nov 23 15:26:28 1993 Richard Kenner ([email protected]) 2839: 2840: * combine.c (try_combine, simplify_shift_const): Add initializations 2841: for some uninitialized variables. 2842: 2843: * c-common.c (check_format_info): When we have INTEGER_TYPEs, 2844: save result of signed_type or unsigned_type for later 2845: comparison with the various forms of char types. 2846: 2847: * expr.c (expand_expr, case SAVE_EXPR): Properly recompute the 2848: value of UNSIGNEDP when SAVE_EXPR_RTL is nonzero and we have promoted. 2849: 2850: Tue Nov 23 04:14:04 1993 Richard Stallman ([email protected]) 2851: 2852: * dwarfout.c (output_local_subroutine_die): Use the function name 2853: from its symbol_ref, not DECL_ASSEMBLER_NAME. 2854: 2855: Mon Nov 22 13:59:41 1993 Steve Chamberlain ([email protected]) 2856: 2857: * final.c (get_attr_length): asm_insn_count takes a body, not an 2858: insn. 2859: 2860: Sun Nov 21 22:37:12 1993 Richard Stallman ([email protected]) 2861: 2862: * config/m68k/mot3300.h (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): 2863: Use SIZE, not ROUNDED. 2864: (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Definitions turned off. 2865: (REGISTER_PREFIX, IMMEDIATE_PREFIX): New definitions. 2866: (PARM_BOUNDARY): New definition. 2867: 2868: Sun Nov 21 15:39:04 1993 Tor Egge ([email protected]) 2869: 2870: * m88k/dolph.h (SDB_ALLOW_FORWARD_REFERENCES): Define. 2871: (SDB_ALLOW_UNKNOWN_REFERENCES): Define. 2872: (CPP_PREDEFINES): Redefine. 2873: (CPP_DEFAULT): Redefine. 2874: (INITIALIZE_TRAMPOLINE): Redefine. 2875: * m88k/dolphin.ld: New file. 2876: * m88k/t-m88k (realclean): Remove some generated .asm files. 2877: * m88k/x-dolph (EXTRA_PARTS): Redefined to also contain gcc.ld. 2878: (gcc.ld): Copied from dolphin.ld. 2879: (X_CFLAGS): Define __m88k__. 2880: * libgcc2.c (__enable_execute_stack): Add DolphinOS version. 2881: 2882: Sun Nov 21 01:00:40 1993 Richard Stallman ([email protected]) 2883: 2884: * config/m68k/isi.h (LIB_SPEC): Use -lm in addition to -lc-- 2885: not instead of -lc. 2886: 2887: * fix-header.c (write_rbrac): Make added declarations conditional 2888: on __cplusplus and nothing else. 2889: * fixproto (stdio.h): Reenable adding protos for v*printf. 2890: 2891: * sys-protos.h (authdes_create): Delete arg info. 2892: We can't count on having struct sockaddr defined. 2893: 2894: * fixincludes (math.h): When deleting inline sqrt and abs, 2895: be flexible about arg name and function body. 2896: 2897: * Makefile.in (stmp-fixproto): Never run fixproto twice. 2898: 2899: Sat Nov 20 16:52:15 1993 Jim Wilson ([email protected]) 2900: 2901: * stmt.c (warn_if_unused_value): Handle arbitrary number of casts 2902: before a modify. 2903: 2904: Sat Nov 20 16:38:25 1993 Eric Baur ([email protected]) 2905: 2906: * i386/perform.h (perform_divsi3, perform_modsi3): Add '&' in 2907: constraint for DX; explicitly copy arg arg1 to cx. 2908: 2909: Sat Nov 20 02:26:28 1993 Richard Stallman ([email protected]) 2910: 2911: * expr.c (expand_builtin): For sin, cos, fsqrt, alloca, ffs, strlen, 2912: strcpy, memcpy, strcmp, memcmp, if args are bad, use expand_call. 2913: 2914: * fix-header.c (write_rbrac): Treat rewinddir like memmove. 2915: 2916: Fri Nov 19 18:24:43 1993 Richard Kenner ([email protected]) 2917: 2918: * protoize.c: Remove declarations for malloc and realloc. 2919: 2920: * expr.c (store_field): Convert EXP to MODE before calling 2921: store_bit_field. 2922: 2923: * optabs.c (expand_complex_abs): Replace some erroneous 2924: uses of MODE with SUBMODE. 2925: 2926: * combine.c (force_to_mode): Don't allow sign-extension of 2927: constants when we are narrowing things in an IOR or XOR. 2928: 2929: Fri Nov 19 16:42:43 1993 Jim Wilson ([email protected]) 2930: 2931: * rs6000.c (output_function_profiler): When TARGET_MINIMAL_TOC, 2932: emit .long instead of .tc. 2933: 2934: Fri Nov 19 13:22:37 1993 Ian Lance Taylor ([email protected]) 2935: 2936: * configure: Let a host set truncate_target to specify that the 2937: installation directory names must be truncated to 14 characters. 2938: If set, truncate the target argument. 2939: 2940: Fri Nov 19 17:27:58 1993 Holger Teutsch ([email protected]) 2941: 2942: * clipper.h (HARD_REGNO_MODE_OK): Allow any mode in general regs. 2943: Float regs may only hold SFmode and DFmode. 2944: (FUNCTION_ARG): Only MODE_INT and MODE_FLOAT with size <= 8 are 2945: passed in registers. 2946: (FUNCTION_ARG_ADVANCE): Update accordingly. 2947: (FUNCTION_ARG_PARTIAL_NREG): Undefine. 2948: 2949: * clipper.md (movsf+1,2,movdf+1,2): Make 'f' preferred register class. 2950: 2951: Thu Nov 18 20:09:56 1993 Jim Wilson ([email protected]) 2952: 2953: * fixincludes: When compute DOTS, convert /./ to / to avoid 2954: accidentally converting it to /../. 2955: * fixinc.dgux, fixinc.svr4: Likewise. 2956: 2957: Thu Nov 18 06:14:55 1993 Richard Stallman ([email protected]) 2958: 2959: * function.c (expand_function_end): New arg END_BINDINGS. 2960: * c-decl.c (finish_function): Pass new arg to expand_function_end. 2961: * cp-decl.c (finish_function): Pass new arg to expand_function_end. 2962: Don't call expand_end_bindings here. 2963: * integrate.c (output_inline_function): 2964: Pass new arg to expand_function_end. 2965: 2966: Wed Nov 17 18:54:21 1993 Chip Salzenberg ([email protected]) 2967: 2968: * objc/objects.c: Include "tconfig.h" before "runtime.h". 2969: 2970: Wed Nov 17 19:15:31 1993 Richard Kenner ([email protected]) 2971: 2972: * fixincludes (math.h): Add missing quoting of `*' when fixing 2973: prototype of `sqr'. 2974: 2975: Tue Nov 16 07:15:52 1993 Richard Kenner ([email protected]) 2976: 2977: * alpha.h (EXTRA_CONSTRAINT): New macro. 2978: (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Disallow unaligned into float 2979: regs. 2980: * alpha.md (movdi): Use 'Q' instead of 'm' for FP. 2981: 2982: Tue Nov 16 02:06:01 1993 Richard Stallman ([email protected]) 2983: 2984: * Version 2.5.4 released. 2985: 2986: * c-typeck.c (push_init_level): When aligning next struct field, 2987: make sure there's another field left. 2988: 2989: * cp-errfn.c: Don't include string.h. 2990: (STRDUP): Macro deleted. 2991: (cp_thing): Copy strings "by hand". 2992: 2993: * combine.c (force_to_mode): Don't do right-shift in a narrower mode. 2994: 2995: Mon Nov 15 01:54:48 1993 Richard Stallman ([email protected]) 2996: 2997: * sdbout.c (sdbout_symbol): If non-static var has static-style RTL, 2998: don't output anything for it. 2999: 3000: * Makefile.in (stmp-fixproto): Don't depend on xsys-protos.h. 3001: (diff): Don't compare bi-parser.c 3002: 3003: * news.h (NO_DOT_IN_LABEL, NO_DOLLAR_IN_LABEL): Defined. 3004: 3005: * c-typeck.c (push_init_level, really_start_incremental_init): 3006: Skip any nameless bitfields at start of record. 3007: (process_init_element): Skip any nameless bitfields after the field 3008: just processed. 3009: 3010: Mon Nov 15 02:09:54 1993 Torbjorn Granlund ([email protected]) 3011: 3012: * pa.h (RETURN_IN_MEMORY): Define. 3013: 3014: Sun Nov 14 17:25:29 1993 Richard Stallman ([email protected]) 3015: 3016: * expr.c (expand_expr): For TRUTH_AND_EXPR, TRUTH_OR_EXPR 3017: and TRUTH_XOR_EXPR, if result mode doesn't match operands, 3018: don't use subtarget. 3019: 3020: * c-typeck.c (convert_for_assignment): Fix typo (codel => coder). 3021: 3022: Sun Nov 14 12:45:37 1993 Richard Kenner ([email protected]) 3023: 3024: * function.c (assign_parms): Clear STACK_PARM when we have a 3025: pass-by-pointer parm that we load into a pseudo. 3026: 3027: * flow.c (flow_analysis): Fix bug in previous change. 3028: 3029: * fold-const.c (twoval_comparison_p): Do nothing for SAVE_EXPR, at 3030: least for now. 3031: 3032: * reload.c (push_reload): Allow RELOAD_FOR_INPUT with a secondary 3033: reload the same class as the input if the modes differ. 3034: 3035: * expr.c (store_expr): Convert constants to proper mode in two places. 3036: 3037: * sh.h (HAVE_VPRINTF): Delete from here. 3038: * xm-sh.h (HAVE_VPRINTF): New macro. 3039: 3040: Sun Nov 14 04:28:56 1993 Richard Stallman ([email protected]) 3041: 3042: * config/i860/i860.h (SECONDARY_INPUT_RELOAD_CLASS): 3043: Moving any kind of integer cst to float reg needs intermediate. 3044: 3045: * sys-protos.h (getmntent): Delete the arg decls 3046: because BSD 4.4 and Sunos disagree on them. 3047: 3048: Sat Nov 13 23:06:42 1993 Richard Stallman ([email protected]) 3049: 3050: * config/mips/mips.c (function_arg, function_arg_advance): 3051: In default case, handle complex modes much like BLKmode. 3052: (function_arg_partial_nregs): Likewise. 3053: 3054: Sat Nov 13 22:31:48 1993 Richard Kenner ([email protected]) 3055: 3056: * alpha.h (CPP_SPEC): Always define __LANGUAGE_C__ unless assembler. 3057: Define __cplusplus for C++. 3058: 3059: * alpha.md (movsf, movdf): Add 'G' to constraint for operand 1 3060: when operand 0 is a register and support it in alternative 0. 3061: 3062: * stmt.c (expand_end_bindings): Use emit_move_insn instead of 3063: gen_move_insn in case nonlocal_goto_handler_slot is not a valid memref. 3064: 3065: * flow.c (find_basic_blocks): When starting new basic block 3066: for a CALL_INSN in the presence of nonlocal labels, don't 3067: get confused with following CLOBBER. 3068: (flow_analysis): Use same logic as find_basic_block to see when 3069: the insn after a CALL_INSN starts a new basic block. 3070: 3071: * expmed.c (store_split_bit_field): Properly load a constant VALUE 3072: into a WORD_MODE pseudo. 3073: 3074: Sat Nov 13 18:27:43 1993 Richard Stallman ([email protected]) 3075: 3076: * config/ns32k/ns32k.md (movsi): Handle moves to fp reg. 3077: Handle const_double as operand 1. 3078: 3079: * Makefile.in (diff): Fix typo in name gcc.??s. 3080: 3081: Fri Nov 12 08:34:58 1993 Richard Kenner ([email protected]) 3082: 3083: * dbxout.c (dbxout_type_field): Skip fields with variable 3084: position and/or size instead of crashing on them. 3085: 3086: Fri Nov 12 22:49:50 1993 Pat Rankin ([email protected]) 3087: 3088: * bi-arity.c, bi-opcode.c, bi-opname.c (main): Flush stdout and 3089: and check for errors prior to termination; end with call to exit 3090: rather than return from main, as with gen*.c. 3091: * bi-arity.c, bi-lexer.c, bi-opcode.c, bi-opname.c, bi-parser.y: 3092: Use FATAL_EXIT_CODE rather than hardcoded 1 for fatal exit code. 3093: 3094: Fri Nov 12 18:41:51 1993 Richard Stallman ([email protected]) 3095: 3096: * gstdarg.h, gvarargs.h: Test __bsdi__ like __BSD_NET2__. 3097: 3098: * pa.h (FUNCTION_ARG_BOUNDARY): Fix return value for 64bit 3099: pass by value structures. 3100: 3101: * fix-header.c (write_rbrac): Handle v*printf like memmove. 3102: 3103: Fri Nov 12 08:53:47 1993 Richard Earnshaw ([email protected]) 3104: 3105: * arm.md (comparison): Don't emit invalid optimization 3106: for (set (reg) (comparison)) and (set (reg) (neg (comparison))) 3107: when comparison is LT. 3108: 3109: * arm.c (pattern_really_clobbers_lr): Setting a subreg of a mem is 3110: valid and safe. 3111: 3112: Fri Nov 12 08:38:22 1993 Richard Kenner ([email protected]) 3113: 3114: * m68k/hpux7.h: Add directory name to #include of hp320.h. 3115: 3116: Thu Nov 11 00:00:55 1993 Richard Stallman ([email protected]) 3117: 3118: * Version 2.5.3 released. 3119: 3120: * fix-header.c, gen-protos.c (fancy_abort): New function. 3121: 3122: * c-typeck.c (mark_addressable): Handle REALPART_EXPR and 3123: IMAGPART_EXPR. 3124: 3125: * integrate.h (global_const_equiv_map_size): Declared. 3126: 3127: * dbxout.c (dbxout_symbol): If it's C++, don't check the 3128: DECL_SOURCE_LINE of a typedef. 3129: (dbxout_parms): Fix previous change. 3130: 3131: Wed Nov 10 10:33:28 1993 Richard Earnshaw ([email protected]) 3132: 3133: * fixproto (rel_source_subdir): Prune out redundant /subdir/../ to 3134: prevent recursion. 3135: 3136: Wed Nov 10 22:30:16 1993 Richard Stallman ([email protected]) 3137: 3138: * config/ns32k/encore.h (ASM_OUTPUT_ASCII): Declare i. 3139: 3140: Wed Nov 10 16:18:19 1993 Brendan Kehoe ([email protected]) 3141: 3142: * cp-decl.c (grokvardecl): Undo change of Jan 15 1993 which 3143: tried to implement the "one definition rule". The duplicate_decls 3144: call in pushdecl does implement this; grokvardecl got some bad hits. 3145: 3146: Wed Nov 10 08:44:17 1993 Niklas Hallqvist ([email protected]) 3147: 3148: * cp-search.c (compute_visibility): Revert Tiemann's patch of 3149: Nov 5. Instead check that privately inherited entities don't 3150: get restricted visibility if the private derivation is a 3151: shallow derivation (i.e. one leading to the most derived 3152: class) and we're actually in the most derived class' scope. 3153: 3154: * cp-search.c (dfs_pushdecls): Don't be confused by the fact that 3155: overloaded methods from an outer scope almost looks like an 3156: envelope. 3157: 3158: Wed Nov 10 18:55:22 1993 Richard Earnshaw ([email protected]) 3159: 3160: * fixincludes: Copy files needed for other files at the very end. 3161: 3162: * arm.md (reload patterns for mla instruction): New. 3163: 3164: Wed Nov 10 18:17:40 1993 Jim Wilson ([email protected]) 3165: 3166: * dbxout.c (dbxout_parms): For parms passed via invisible 3167: reference, accept any reg except FP, SP, and AP. 3168: 3169: * unroll.c (unroll_loop): Set global_const_equiv_map_size. 3170: 3171: Wed Nov 10 17:52:33 1993 Richard Kenner ([email protected]) 3172: 3173: * combine.c (subst_prev_insn): New variable. 3174: (try_combine): Set it. 3175: (get_last_value): Use subst_prev_insn if set instead of 3176: looking for the first insn before SUBST_LOW_CUID. 3177: 3178: * integrate.c (global_const_equiv_map_size): New variable. 3179: (expand_inline_function): Set it. 3180: (expand_inline_function, copy_rtx_and_substitute, try_constants): 3181: Never access const_equiv_map without checking for out-of-range. 3182: (mark_stores): Likewise. 3183: 3184: * alpha.md (smaxdi3): Was incorrectly called maxdi3. 3185: 3186: * rs6000.h (LINK_SPEC): Don't pass -btextro if -r. 3187: 3188: * alpha/osf12.h: New file. 3189: * configure (alpha-dec-osf1.2): New case, to use new file. 3190: 3191: * rs6000.md (sqrtdf2): Fix typo in extra condition. 3192: (plus/eq pattern): Fix typo: "addze" was "adddze". 3193: 3194: Wed Nov 10 12:32:56 1993 Jim Wilson ([email protected]) 3195: 3196: * expmed.c (expand_divmod): If rem_flag, always force op0 to a 3197: register. 3198: 3199: * expr.c (expand_expr): Use a smaller alignment when reading from 3200: a field with a variable offset. 3201: 3202: Wed Nov 10 01:28:27 1993 Richard Stallman ([email protected]) 3203: 3204: * expr.c (expand_assignment): Use a smaller alignment when storing 3205: into a field with a variable offset. 3206: 3207: * fixincludes (math.h): Delete inline definitions for sqr. 3208: 3209: Tue Nov 9 15:33:45 1993 Jason Merrill ([email protected]) 3210: 3211: * cp-method.c (hack_identifier): Undo rfg's earlier patch. 3212: 3213: Tue Nov 9 19:30:02 1993 Richard Stallman ([email protected]) 3214: 3215: * reload1.c (reload) [SMALL_REGISTER_CLASSES]: Try, at least, 3216: to avoid 2-groups whose second register is explicitly used. 3217: 3218: Tue Nov 9 19:08:47 1993 Jim Wilson ([email protected]) 3219: 3220: * mips.md (adddi3): Use DImode not SImode in force_reg call. 3221: 3222: * mips.c (PIC_OFFSET_TABLE_MASK): New macro. 3223: (function_epilogue): When -mabicalls, ignore 3224: PIC_OFFSET_TABLE_REGNUM when calculating load_only_r31. 3225: 3226: * loop.c (strength_reduce): Accept VOIDmode initial values. 3227: 3228: Tue Nov 9 09:23:31 1993 Torbjorn Granlund ([email protected]) 3229: 3230: * pa.md (negscc): Add mode for NEG. 3231: 3232: Tue Nov 9 12:51:54 1993 John Hassey ([email protected]) 3233: 3234: * m88k.md ("cmpsf" & "cmpdf"): Undo inadvertent change included 3235: with CCEVENmode change. 3236: 3237: Tue Nov 9 01:31:58 1993 Richard Stallman ([email protected]) 3238: 3239: * fixincludes (loop on $required): When a file is copied 3240: because another file needs it, scan it for what files it needs. 3241: 3242: * fix-header.c (write_rbrac): When adding proto for memmove, 3243: put it inside #ifndef memmove. 3244: 3245: Mon Nov 8 16:50:49 1993 Richard Stallman ([email protected]) 3246: 3247: * sdbout.c (sdbout_init) [RMS_QUICK_HACK_1]: Call sdbout_symbol 3248: for __vtbl_ptr_type. 3249: 3250: * cp-decl.c (init_decl_processing): Undo previous change. 3251: 3252: * c-typeck.c (build_binary_op): Warn for ordered compare of ptr with 0 3253: only if pedantic in both cases. 3254: 3255: Mon Nov 8 18:25:06 1993 David Edelsohn ([email protected]) 3256: 3257: * rs6000.h (ASM_FILE_START): Emit filename directive. 3258: 3259: Sun Nov 7 00:24:04 1993 Richard Stallman ([email protected]) 3260: 3261: * Makefile.in (mostlyclean): Delete fixhdr.ready here. 3262: (clean): Not here. 3263: 3264: * scan-decls.c (scan_decls): After seeing an extern variable 3265: declaration, goto new_statement to read a new token, rather 3266: than going to handle_statement (which uses the current token). 3267: 3268: Sat Nov 6 19:40:22 1993 Pat Rankin ([email protected]) 3269: 3270: * config/vax/vms.h (__MAIN_NAME): Define as " main(" rather 3271: rather than " main (" to reflect current cc1plus. 3272: 3273: * config/vax/vms.h: Add __GNUC_MINOR__=5 to CPP_PREDEFINES. 3274: 3275: Sat Nov 6 22:54:25 1993 Tor Egge ([email protected]) 3276: 3277: * m88k.c (partial_ccmode_register_operand, even_relop) 3278: (odd_relop): New functions, for support of CCEVENmode. 3279: (print_operand, new case '!'): Revert following condition. 3280: * m88k.h (EXTRA_CC_MODES, EXTRA_CC_NAMES, SELECT_CC_MODE): 3281: New macros to define CCEVENmode. 3282: * m88k.md: Handle CCEVENmode as a new mode. Logical operations 3283: on CCmode registers now results in CCEVENmode. 3284: Add patterns for jumps and ext's for CCEVENmode. 3285: (cmpsf, cmpdf): Use reg 65 and clobber reg 64. 3286: 3287: Sat Nov 6 17:07:54 1993 Richard Stallman ([email protected]) 3288: 3289: * cp-decl.c (init_decl_processing) [RMS_QUICK_HACK_1]: 3290: If sdb output, call sdbout_symbol for vtable_entry_type. 3291: * config/m88k/dgux.h (RMS_QUICK_HACK_1): Defined. 3292: 3293: Sat Nov 6 12:32:31 1993 Jim Wilson ([email protected]) 3294: 3295: * unroll.c (unroll_loop): Don't unroll loop if jump has combined 3296: the original loop start label with another label. 3297: 3298: Sat Nov 6 05:01:31 1993 Chris Smith ([email protected]) 3299: 3300: * convex.md (untyped_call, blockage): Add new patterns. 3301: 3302: Sat Nov 6 03:11:46 1993 Noah Friedman ([email protected]) 3303: 3304: * just-fixinc: Rename fixed native limits.h to syslimits.h (or 3305: install gsyslimits.h) before renaming gcc's limits.h from tmpfoo 3306: directory. 3307: 3308: Sat Nov 6 00:07:41 1993 Richard Stallman ([email protected]) 3309: 3310: * expr.c (emit_move_insn_1): Push the components of a complex 3311: in proper order: imag part has higher address. 3312: 3313: Fri Nov 5 16:23:51 1993 Jim Wilson ([email protected]) 3314: 3315: * mips.c (mips_abicalls): Change type to enum mips_abicalls_type. 3316: (override_options): Use MIPS_ABICALLS_{NO,YES} instead of 3317: ABICALLS_{NO,YES}. 3318: * mips.h (enum mips_abicalls_type): New type. 3319: (mips_abicalls_attr): New define. 3320: (mips_abicalls): Change type to enum mips_abicalls_type. 3321: * mips.md (abicalls): Use mips_abicalls_attr not mips_abicalls. 3322: 3323: Fri Nov 5 20:34:19 1993 Richard Stallman ([email protected]) 3324: 3325: * fixproto (stdio.h): Don't add protos for vprintf, vfprintf, vsprintf. 3326: 3327: Fri Nov 5 20:32:53 1993 Torbjorn Granlund ([email protected]) 3328: 3329: * config/pa/pa.md (decrement_and_branch_until_zero): 3330: Add missing `return'. 3331: 3332: Fri Nov 5 16:08:34 1993 Richard Stallman ([email protected]) 3333: 3334: * listing: Handle i386-linux like m68020. 3335: Pass compilation options thru an awk variable, not as ordinary args. 3336: 3337: * cccp.c (safe_read, safe_write): Handle EINTR. 3338: (output_line_command): Handle NO_IMPLICIT_EXTERN_C here. 3339: (main): Not here. 3340: 3341: * protoize.c (safe_read, safe_write): Handle EINTR. 3342: (safe_write): Return right away after safe_write. 3343: 3344: Fri Nov 5 11:40:59 1993 Jeff Law ([email protected]) 3345: 3346: * pa-ghpux.h (NO_IMPLICIT_EXTERN_C): Define. 3347: * pa-hpux.h (NO_IMPLICIT_EXTERN_C): Define. 3348: 3349: Fri Nov 5 09:45:20 1993 Kresten Krab Thorup (krab@viking) 3350: 3351: * objc/archive.c (objc_read_string): Allocate string properly. 3352: * objc/hash.h (compare_strings): Check for null pointers. 3353: 3354: Fri Nov 5 11:29:26 1993 David Edelsohn ([email protected]) 3355: 3356: * rs6000.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Use 3357: REAL_ARITHMETIC macros including hex for special values. 3358: 3359: Fri Nov 5 10:26:34 1993 Brendan Kehoe ([email protected]) 3360: 3361: * cp-call.c (build_method_call): For unions, don't use get_binfo and 3362: convert_pointer_to_real, since unions can't be involved in complex MI 3363: situations. (Fixes union ctor crash, and completes Sep 27 fix.) 3364: 3365: Fri Nov 5 07:39:00 1993 Michael Tiemann ([email protected]) 3366: 3367: * cp-search.c (compute_visibility): Don't lose access to public 3368: members from base classes of base classes. 3369: 3370: * cp-search.c (get_base_distance): Initialize BASETYPE_PATH before 3371: using. Also, initialize RVAL from get_base_distance_recursive. 3372: 3373: Fri Nov 5 05:48:04 1993 Richard Stallman ([email protected]) 3374: 3375: * config/i860/paragon.h (SIZE_TYPE): #undef it. 3376: 3377: * config/m88k/dgux.h (LIB_SPEC): Handle -msvr4. 3378: (GPLUSPLUS_INCLUDE_DIR): Definition and #undef deleted. 3379: 3380: * cccp.c (main): Handle NO_IMPLICIT_EXTERN_C. 3381: 3382: Fri Nov 5 03:11:05 1993 Torbjorn Granlund ([email protected]) 3383: 3384: * config/m68k/m68k.h (RTX_COST): Return actual costs for 3385: multiplication, not costs for theoretical special cases that are 3386: not handled in the md. 3387: 3388: Fri Nov 5 00:42:09 1993 Richard Stallman ([email protected]) 3389: 3390: * emit-rtl.c (gen_highpart): If arg is function value hard reg, 3391: return a subreg of it (as in gen_lowpart_common). 3392: 3393: * integrate.c (expand_inline_function): Handle CONCAT as rtl for parm. 3394: (copy_rtx_and_substitute): For subreg, handle case where the reg 3395: inside turns into a CONCAT. 3396: 3397: * configure: Treat hppa1.[01]-hpux8.0[01] like hppa1.[01]-hpux8.02. 3398: 3399: * fixproto: Don't scan sub-directories whose names end in CC 3400: or contain ++ - these are probably C++ directories. 3401: 3402: Thu Nov 4 12:02:04 1993 Jim Wilson ([email protected]) 3403: 3404: * integrate.c (expand_inline_function): Don't call 3405: push_temp_slots, free_temp_slots, and pop_temp_slots when handling 3406: parameters, because they might end up in a temp slot. 3407: 3408: Thu Nov 4 15:00:38 1993 Samuel Figueroa ([email protected]) 3409: 3410: * i386/os2.h, i386/xm-os2.h: New files. 3411: 3412: Thu Nov 4 14:36:54 1993 Richard Stallman ([email protected]) 3413: 3414: * c-decl.c (finish_enum): Undo previous change. 3415: 3416: Thu Nov 4 13:30:16 1993 Richard Kenner ([email protected]) 3417: 3418: * loop.c (strength_reduce): Ignore initial value if it is the 3419: wrong mode. 3420: (record_initial): Don't ignore any set of the register. 3421: 3422: * rs6000.md (movdf): Don't have reload choose alternative of 3423: loading a constant into a GPR. 3424: 3425: * reload.c (find_reloads, case 'o'): A pseudo is not always 3426: an offsettable memref. 3427: (find_reloads): If we reload a constant into a register via 3428: memory, count it as two reloads. 3429: 3430: * function.c (expand_function_start): If not optimizing, ensure 3431: we mark context display regs as live for the entire function. 3432: 3433: Thu Nov 4 02:24:22 1993 Richard Stallman ([email protected]) 3434: 3435: * tree.h (DECL_IN_TEXT_SECTION): New macro. 3436: * varasm.c (assemble_variable): Set DECL_IN_TEXT_SECTION. 3437: * dbxout.c (dbxout_symbol_location): Test DECL_IN_TEXT_SECTION. 3438: 3439: Wed Nov 3 23:59:48 1993 Richard Stallman ([email protected]) 3440: 3441: * c-typeck.c (build_function_call): Initialize fundecl to 0. 3442: 3443: Wed Nov 3 16:34:01 1993 Torbjorn Granlund ([email protected]) 3444: 3445: * pa.h (REGISTER_MOVE_COST): Decrease cost for move from 3446: SHIFT_REGS to avoid regclass overflow. 3447: 3448: Wed Nov 3 15:35:44 1993 Richard Stallman ([email protected]) 3449: 3450: * config/m68k/m68k.c (output_move_double): Fix up the test for overlap 3451: of source address with operands[0]. 3452: 3453: * regclass.c (regclass): Consider commutativity even when 3454: one arg is a constant. 3455: 3456: Wed Nov 3 12:06:23 1993 Jim Wilson ([email protected]) 3457: 3458: * expmed.c (expand_divmod): Use target as copy_to_suggested_reg 3459: argument only if it has the same mode as op0. 3460: 3461: Wed Nov 3 04:58:26 1993 Richard Stallman ([email protected]) 3462: 3463: * protoize.c (safe_write, safe_read): Really use arg DESC. 3464: 3465: * libgcc2.c (exit): Fix declaration of _exit. 3466: 3467: * c-common.c (check_format_info): Make warning nicer for mismatch 3468: of int vs long, etc. 3469: Don't warn if field width is an unsigned int. 3470: 3471: * c-decl.c (finish_enum): Always make an enum signed if it will fit. 3472: 3473: Wed Nov 3 14:23:52 1993 Torbjorn Granlund ([email protected]) 3474: 3475: * cse.c (cse_insn): Call `invalidate' also for STRICT_LOW_PART and 3476: ZERO_EXTRACT (three places). 3477: (invalidate_from_clobbers): Likewise (two places). 3478: (cse_around_loop): Likewise. 3479: (invalidate_skipped_set): Likewise. 3480: (cse_set_around_loop): Likewise. 3481: 3482: Wed Nov 3 03:56:55 1993 Paul Eggert ([email protected]) 3483: 3484: * dbxout.c (dbxout_type): Print `-2' instead of `0037777777776' 3485: for an enumeration constant whose value is -2; 3486: otherwise, GDB 4.11 rejects the type. 3487: 3488: Wed Nov 3 04:35:13 1993 Richard Stallman ([email protected]) 3489: 3490: * Makefile.in (fix-header, gen-protos): Link with HOST_LIBS. 3491: Depend on HOST_LIBDEPS. 3492: 3493: Wed Nov 3 00:07:18 1993 Per Bothner ([email protected]) 3494: 3495: * fixproto: When checking for uses of _flsbuf, make sure to 3496: not match (say) __flsbuf or other non-word _flsbuf strings. 3497: * fixproto: Be more robust when checking for files indirectly 3498: needed (via #include directives). E.g. handle "../foo/bar.h" 3499: properly, and silently ignore missing include files. 3500: 3501: Tue Nov 2 17:37:39 1993 Richard Stallman ([email protected]) 3502: 3503: * gcc.c (do_spec_1): Use spec_version for %v, not version_string. 3504: Distinguish %v1 and %v2. 3505: (default_compilers): For __GNUC_MINOR__, use %v2. 3506: For __GNUC__ and __GNUG__, use %v1. 3507: 3508: * protoize.c (safe_read): New function. 3509: (process_aux_info_file, edit_file): Use safe_read. 3510: 3511: * cccp.c (safe_read): New function. 3512: (main, finclude, check_precompiled): Use safe_read. 3513: 3514: Tue Nov 2 14:31:42 1993 Ian Lance Taylor ([email protected]) 3515: 3516: * fixincludes: Don't remove /**/ from X11/Xlibint.h or 3517: X11/extensions/multibufst.h; unnecessary. 3518: 3519: Tue Nov 2 07:20:12 1993 Richard Kenner ([email protected]) 3520: 3521: * optabs.c (init_optabs): Function `ffs' takes `int', not mode that 3522: is BITS_PER_WORD wide. 3523: 3524: Tue Nov 2 02:53:26 1993 Richard Stallman ([email protected]) 3525: 3526: * cp-typeck.c (comptypes): Fix typo in changing STRICT from 2 to 1. 3527: 3528: * protoize.c (edit_file): Use safe_write. 3529: (safe_write): New subroutine. 3530: 3531: * calls.c (expand_call): Discard __ prefix like _ or __x. 3532: 3533: * objc/objects.c: Include tconfig.h. 3534: 3535: Mon Nov 1 23:34:46 1993 Rainer Orth ([email protected]) 3536: 3537: * fixincludes (sys/stat.h) fix fchmod prototype, first arg is 3538: int, not char * [AIX 3.2.4] 3539: (rpc/svc.h): avoid nested comments [Ultrix 4.3] 3540: (stdio.h, stdlib.h): fixed getopt prototypes to match POSIX.2 3541: [DEC Alpha OSF/1 1.3] 3542: 3543: Mon Nov 1 11:42:29 1993 Ian Lance Taylor ([email protected]) 3544: 3545: * fixincludes: Fix <sys/limits.h> like <limits.h>. 3546: 3547: * fixincludes: Unquote 'f' in #define _IO. Fix elf.h like 3548: elf_abi.h. For Irix 5. 3549: 3550: Mon Nov 1 15:15:38 1993 Richard Stallman ([email protected]) 3551: 3552: * configure (mips-sgi-irix5*): Add fixincludes=Makefile.in. 3553: 3554: * fixproto (setjmp.h): Don't require siglongjmp and sigsetjmp. 3555: They need sigjmp_buf, and are missing on many systems. 3556: 3557: * Makefile.in (stmp-fixproto): Print a notice that warnings and errors 3558: from fixproto are normal. 3559: (distdir): Avoid spurious output from gcc.texi version number check. 3560: (diff): New target. 3561: 3562: Mon Nov 1 15:19:09 1993 Ian Lance Taylor ([email protected]) 3563: 3564: * fixincludes: Don't remove /**/ from X11/xmd.h; breaks gcc 3565: -traditional on some systems. 3566: 3567: Mon Nov 1 07:38:58 1993 Richard Kenner ([email protected] 3568: 3569: * rs6000.md: Add set_attr for "length" when we are going to split 3570: an insn at output time. 3571: 3572: * rs6000.md (bdn/bdz): Fix typo in checking for when we 3573: need to split. 3574: 3575: * rs6000.md (mulsi3): Make alternatives be "mq" and "no_mq" 3576: instead of "power" and "powerpc". Only allow one pattern (either 3577: with or without the clobber of MQ) to match. 3578: 3579: * stmt.c (expand_decl_init): If CONST_DECL, don't generate any 3580: code, but call expand_expr if DECL_INITIAL is a constant. 3581: 3582: Mon Nov 1 06:17:16 1993 Torbjorn Granlund ([email protected]) 3583: 3584: * m68k.md (divhisi3, udivhisi3, modhisi3, umodhi3): Comment out. 3585: (divhisi3, udivhisi3, modhisi3, umodhi3 recognizers): Comment out. 3586: 3587: * expmed.c (synth_mult): When factoring T, break from loop after 3588: first factor. 3589: (expand_mult): Increase max cost to 12 again. 3590: 3591: Mon Nov 1 01:06:27 1993 Richard Stallman ([email protected]) 3592: 3593: * cccp.c (safe_write): New function. 3594: (write_output): Use safe_write. 3595: 3596: Mon Nov 1 01:06:27 1993 Richard Stallman ([email protected]) 3597: 3598: * Version 2.5.2 released. 3599: 3600: * cccp.c (do_ident): Fix previous change. 3601: 3602: Sun Oct 31 14:41:40 1993 Richard Stallman ([email protected]) 3603: 3604: * Version 2.5.1 released. 3605: 3606: * cccp.c (do_ident): Substitute macros and output here. 3607: (directive_table): Turn off the pass_thru field for #ident. 3608: 3609: * c-common.c (shorten_compare): Undo previous change. 3610: Instead, just suppress warnings if both args are constant. 3611: 3612: * config/m68k/m68k.md (extzv, and its recognizer): 3613: If width is 32, don't set CC_NOT_NEGATIVE. 3614: If width is variable, clear the CC status. 3615: 3616: * config/m68k/m68k.c (output_move_double): Extend the special case 3617: for *--sp = sp[N] to handle 12 bytes as well as 8 bytes. 3618: 3619: Sun Oct 31 17:02:13 1993 Jason Merrill ([email protected]) 3620: 3621: * cp-init.c (expand_aggr_init_1): When unswitching a COND_EXPR 3622: initializer (i.e. int a = b ? 1 : 0 => int a; b ? a=1 : a=0), 3623: set TREE_SIDE_EFFECTS on the result. 3624: 3625: Sun Oct 31 13:33:46 1993 Jim Wilson ([email protected]) 3626: 3627: * expr.c (do_store_flag): For equality test of a single bit, use 3628: subtarget instead of target in calls. 3629: 3630: Sat Oct 30 17:58:37 1993 Richard Stallman ([email protected]) 3631: 3632: * config/m68k/hpux7.h: New file. 3633: * configure (m68k-hp-hpux7*): New alternative. 3634: 3635: * c-common.c (shorten_compare): Do nothing if both args constant. 3636: 3637: * config.sub: Re-add hitachi to list of companies not to treat 3638: as OS names. 3639: 3640: * expr.c (convert_move): When extending to multi-word register 3641: via its low word, clobber the whole thing. 3642: 3643: * config/i386/i386.c (output_move_double): Extend the special case 3644: for *--sp = sp[N] to handle 12 bytes as well as 8 bytes. 3645: 3646: Sat Oct 30 17:21:33 1993 Atsushi Furuta ([email protected]) 3647: 3648: * pa-ghiux.h, pa-hiux.h, pa1-ghiux.h: New files, for Hitachi H3050/RX. 3649: * pa1-hiux.h, x-pa-hiux, xm-pahiux.h: Likewise. 3650: * config.sub, configure: Add H3050/RX support. 3651: 3652: Sat Oct 30 03:40:08 1993 Richard Stallman ([email protected]) 3653: 3654: * config/pa/pa.c (output_dbra): Fix argument number in addi at end. 3655: 3656: * tree.h (enum built_in_function): Added END_BUILTINS to delimit 3657: standard from language-specific builtins. 3658: 3659: * toplev.c (rest_of_compilation): When an `extern inline' is not 3660: really inline, clear DECL_INITIAL so we don't complain about 3661: a subsequent non-extern definition. 3662: * c-decl.c (finish_function): If rest_of_compilation set DECL_INITIAL 3663: to null, leave it null. 3664: 3665: * c-common.c (convert_and_check): Don't warn converting 0xff 3666: to a signed char, etc., unless pedantic. 3667: 3668: * Makefile.in (mainversion): New variable. 3669: (distdir): Use mainversion when verifying gcc.texi has been updated. 3670: 3671: Sat Oct 30 03:12:54 1993 Torbjorn Granlund ([email protected]) 3672: 3673: * m68k.md (mulsidi3 patterns): Fix typo, LSHIFTRT was ASHIFT. 3674: 3675: Fri Oct 29 12:06:09 1993 Ian Lance Taylor ([email protected]) 3676: 3677: * fixinc.svr4 (sys/stat.h): Don't change definitions into 3678: prototypes if they may already be in prototype form. 3679: 3680: Fri Oct 29 16:50:33 1993 Richard Stallman ([email protected]) 3681: 3682: * config/i386/linux.h (LIB_SPEC): Use -lieee if -mieee-fp. 3683: 3684: Fri Oct 29 13:04:16 1993 Arne H. Juul ([email protected]) 3685: 3686: * mips/iris5.h (LINK_SPEC): Pass -no_unresolved if -call_shared. 3687: 3688: Fri Oct 29 12:52:54 1993 Richard Kenner ([email protected]) 3689: 3690: * rs6000.md (addsf3, subsf3, mulsf3, divsf3): Put POWERPC first, 3691: then POWER. 3692: 3693: * mips/iris5.h ({DBX,SDB,MIPS}_DEBUGGING_INFO): Turn off until working. 3694: 3695: Fri Oct 29 12:15:12 1993 Minh Tran-Le ([email protected]) 3696: 3697: * i386/xm-aix.h: Define HAVE_PUTENV for AIX PS/2. 3698: 3699: Fri Oct 29 11:49:46 1993 DJ Delorie ([email protected]) 3700: 3701: * i386/go32.h: Add support for coff-based ctor/dtor handling. 3702: 3703: Thu Oct 28 21:33:22 1993 Kresten Krab Thorup ([email protected]) 3704: 3705: * objc-act.c (check_methods_accessible): Fix bug in 3706: -Wno-protocol. Reset chain to bottom class for each search. 3707: 3708: Thu Oct 28 21:30:38 1993 Richard Kenner ([email protected]) 3709: 3710: * c-parse.in (init): Remove extraneous pop_momentary in error case. 3711: 3712: Thu Oct 28 19:01:33 1993 Ron Guilmette ([email protected]) 3713: 3714: * cp-method.c (hack_identifier): If an overloaded identifier 3715: can only mean one thing, it can only mean one thing. 3716: 3717: Thu Oct 28 18:52:15 1993 John F Carr ([email protected]) 3718: 3719: * cp-typeck.c (get_member_function_from_ptrfunc): Convert delta 3720: to size_t before adding to pointer. 3721: 3722: Thu Oct 28 18:43:41 1993 Richard Earnshaw ([email protected]) 3723: 3724: * arm.h (ENCODE_SECTION_INFO): Use DECL_RTL for DECLs. 3725: 3726: Wed Oct 27 20:58:31 1993 Torbjorn Granlund ([email protected]) 3727: 3728: * pa.c (emit_move_sequence): Fix typo, `Pmode' was `mode'. 3729: 3730: Wed Oct 27 00:01:06 1993 Richard Stallman ([email protected]) 3731: 3732: * cse.c (cse_insn): When using src_related, copy the rtx. 3733: Likewise for src_eqv_here. 3734: 3735: * c-typeck.c (output_pending_init_elements): Don't crash if 3736: constructor_unfilled_fields is 0. 3737: 3738: * fixincludes (bsd/sys/wait.h): Undo previous change. 3739: 3740: * config/m68k/xm-amix.h (abort): Don't use fancy_abort. 3741: (alloca): In GCC 1, define as __builtin_alloca. 3742: 3743: * config/m68k/amix.h (ASM_GENERATE_INTERNAL_LABEL) 3744: (ASM_OUTPUT_INTERNAL_LABEL): #if 0 deleted, to reenable these. 3745: (NO_DOT_IN_LABEL): Defined. 3746: (NO_DOLLAR_IN_LABEL): Undefined. 3747: 3748: * function.c (assign_parms): If parmreg is a CONCAT, handle the 3749: case where stack_parm is 0. 3750: 3751: * expr.c (do_jump): Use do_jump_by_parts_equality for complex compares. 3752: 3753: * c-typeck.c (build_c_cast): When making union constructor, 3754: copy TREE_CONSTANT from the given value. 3755: (initializer_constant_valid_p): Special handling for "constant" 3756: union constructor. 3757: 3758: * bytecode.def: Rename dup to duplicate. 3759: * expr.c (expand_assignment): Use duplicate. 3760: (bc_expand_expr): Likewise. 3761: (bc_expand_constructor): Likewise. 3762: 3763: * print-tree.c (print_node_brief): Use unsigned char to print 3764: the bytes of a real constant. 3765: 3766: * expmed.c (store_bit_field): When calling operand_subword_force, 3767: if VALUE has a non-void mode, pass that mode. 3768: 3769: * config/m68k/amix.h (NO_DOLLAR_IN_LABEL): Defined. 3770: 3771: Tue Oct 26 19:05:36 1993 John F Carr ([email protected]) 3772: 3773: * rs6000.c (rs6000_override_options): Support -mcpu=rsc1. 3774: 3775: Tue Oct 26 19:01:08 1993 Richard Stallman ([email protected]) 3776: 3777: * Makefile.in (deduced.h): Add -I. and -I$(srcdir). 3778: 3779: * scan-types.sh (CC): Move a " to avoid shell error. 3780: 3781: * config.sub (paragon): New alias. 3782: * configure (i860-*-osf*): New alternative. 3783: * gstdarg.h, gvarargs.h [__i860__]: Add to little-endian list. 3784: * libgcc2.c (___builtin_saveregs): New alternative for __PARAGON__. 3785: * va-i860.h: Treat __PARAGON__ like __SVR4__. 3786: (va_dcl) [__PARAGON__]: Declare va_alist. 3787: * paragon.h, xm-paragon.h: New files. 3788: 3789: Tue Oct 26 18:58:49 1993 Richard Kenner ([email protected]) 3790: 3791: * fix-header.c: Delete duplicate definition of "buf". 3792: * fix-header.c, gen-protos.c, scan-decls.c, scan.c: Include hconfig.h. 3793: * scan-decls.c: Remove unused #ifdef OLD. 3794: 3795: * Makefile.in (gen-protos.o, scan.o, fix-header.o, scan-decls.o): 3796: Add rule to compile using $(HOST_CC). 3797: Show using hconfig.h. 3798: 3799: * rs6000.md (movsi): Can copy a TOC address into a register. 3800: 3801: Tue Oct 26 15:03:07 1993 Richard Stallman ([email protected]) 3802: 3803: * gcc.c (default_compilers): Define __GNUC_MINOR__, using %v. 3804: (do_spec_1): Implement %v. 3805: 3806: Tue Oct 26 11:06:59 1993 Mike Stump ([email protected]) 3807: 3808: * cp-lex.c (consume_string): Handle "\"" and '\''. 3809: 3810: Tue Oct 26 13:44:17 1993 Jim Wilson ([email protected]) 3811: 3812: * Makefile.in (fix-header.o): Depend on fix-header.c. 3813: (scan-decls.o): New target. 3814: (gen-protos.o, scan.o): New targets. 3815: 3816: * Makefile.in (gen-protos, fix_header): Add $(HOST_CFLAGS) and 3817: $(HOST_LDFLAGS). 3818: 3819: * x-sysv (OLDCC): Add -XNh1500. 3820: * x-mips: Likewise. 3821: 3822: Tue Oct 26 12:21:06 1993 Ian Lance Taylor ([email protected]) 3823: 3824: * fixincludes: Fix NeXT <sys/wait.h> problem in <bsd/sys/wait.h> 3825: as well, since that is where the file is in NeXTStep 3.0. 3826: 3827: Tue Oct 26 07:23:08 1993 Torbjorn Granlund ([email protected]) 3828: 3829: * expmed.c (init_expmed): Use register 10000, not FIRST_PSEUDO_REGISTER 3830: that gets special treatment in rtx_cost. 3831: (expand_mult): Decrease max cost to 8. 3832: 3833: * c-typeck.c (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR, 3834: set common. 3835: 3836: Tue Oct 26 01:59:17 1993 Richard Stallman ([email protected]) 3837: 3838: * protoize.c [__NeXT__]: Don't declare setjmp or longjmp. 3839: 3840: * configure: Ignore --verbose option if specified. 3841: 3842: * expr.c (emit_move_insn_1): Don't call group_insns 3843: when X is a CONCAT. 3844: (emit_move_insn_1, case CONJ_EXPR and COMPLEX_EXPR): Likewise. 3845: 3846: * fixproto (signal.h): Add prototypes only for kill and raise. 3847: Not for the POSIX signal functions. 3848: (sys/resource.h): Delete special handling for this file. 3849: 3850: * c-typeck.c (push_init_level): Align here for element of record. 3851: (process_init_element): Not here (was before call to push_init_level). 3852: 3853: * scan-types.sh: Expect GCC source dir as argument. 3854: In dummy.c, use gstddef.h and gstdarg.h, not stddef.h and stdarg.h. 3855: * Makefile.in (deduced.h): Pass GCC source dir to scan-types.sh. 3856: 3857: Mon Oct 25 23:23:26 1993 Torbjorn Granlund ([email protected]) 3858: 3859: * c-typeck.c (build_binary_op): For TRUNC_MOD_EXPR and FLOOR_MOD_EXPR, 3860: don't shorten when divisor might be -1. 3861: 3862: Mon Oct 25 23:45:20 1993 Minh Tran-Le ([email protected]) 3863: 3864: * seq-sysv3.h (CPP_SPEC): Define _SEQUENT_ to be compatible with cc. 3865: (INVOKE__main): Defined. 3866: (HAVE_ATEXIT): Defined. 3867: 3868: * configure (i[34]86-sequent-sysv): Use fixinc.srv4 and define 3869: broken_install. 3870: 3871: Mon Oct 25 18:53:51 1993 Richard Kenner ([email protected]) 3872: 3873: * expr.c (expand_expr, case PLACEHOLDER_EXPR): Fix typos. 3874: 3875: Mon Oct 25 16:25:58 1993 Richard Stallman ([email protected]) 3876: 3877: * scan.c (scan_string, skip_spaces): Add newline before fn name. 3878: 3879: * scan-decls.c (scan_decls): When reading parameter list, 3880: handle whitespace differently, and keep track of line number. 3881: 3882: * config/i386/x-linux (STMP_FIXPROTO): Define as empty. 3883: 3884: Mon Oct 25 13:22:37 1993 Kaveh R. Ghazi ([email protected]) 3885: 3886: * fixincludes: Fix bad S_IS* macros in <sys/stat.h> on m88k-sysv3. 3887: 3888: Mon Oct 25 22:34:12 BST 1993 Richard Earnshaw ([email protected]) 3889: 3890: * fixincludes: Remove nested brackets in change of Oct 21. 3891: Fix token pasting operator in ARM/RISCiX include files. 3892: 3893: Mon Oct 25 13:01:52 1993 Jim Wilson ([email protected]) 3894: 3895: * sparc.h (LONG_DOUBLE_TYPE_SIZE): Don't define here. 3896: * sol2.h (LONG_DOUBLE_TYPE_SIZE): Do define here. 3897: 3898: * configure (mips-sgi-irix5): Don't use collect. 3899: 3900: Sun Oct 24 14:15:12 1993 Jim Wilson ([email protected]) 3901: 3902: * libgcc2.c (L_bb): Undef NULL before including <stdio.h>. 3903: 3904: Sun Oct 24 03:04:53 1993 Richard Stallman ([email protected]) 3905: 3906: * Makefile.in (g++.o): New target. 3907: 3908: * varasm.c (assemble_variable): Set last_assemble_variable_decl. 3909: (last_assemble_variable_decl): New variable. 3910: * toplev.c (rest_of_decl_compilation): Test that var. 3911: 3912: Sat Oct 23 20:28:13 1993 Jim Wilson ([email protected]) 3913: 3914: * configure (mips-sgi-irix5): Uncomment. 3915: * iris5.h: Replace with working version. 3916: * xm-iris5.h: New file. 3917: 3918: * mips.c (mips_abicalls): New variable. 3919: (override_options): Set mips_abicalls. Allow '^' as print operand 3920: punctuation character. 3921: (print_operand): Add support for '^'. 3922: (mips_asm_file_start): Use ABICALLS_ASM_OP instead of ".abicalls". 3923: (compute_frame_size): Handle TARGET_ABICALLS case. 3924: (mips_expand_prologue): Likewise. 3925: * mips.h (mips_abicalls): Declare new variable. 3926: (PIC_FUNCTION_ADDR_REGNUM): New macro. 3927: (STARTING_FRAME_OFFSET): Handle TARGET_ABICALLS case. 3928: * mips.md (abicalls): New attribute. 3929: (define_delay): Don't fill call delay slots when TARGET_ABICALLS. 3930: (call_internal3, call_value_internal3): Renamed from 3931: call_internal2 and call_value_internal2. 3932: (call_internal2, call_value_internal2): New call patterns for 3933: TARGET_ABICALL case. 3934: (call_internal4, call_value_internal4): Likewise. 3935: 3936: Sat Oct 23 00:06:14 1993 Richard Stallman ([email protected]) 3937: 3938: * Makefile.in (deduced.h): Depend on GCC_PASSES and stmp-int-hdrs. 3939: (xsys-protos.h): Depend on GCC_PASSES. 3940: (fixhdr.ready): New target. 3941: (stmp-fixproto): Depend on fixhdr.ready, not fix-header itself. 3942: (clean): Delete fixhdr.ready. 3943: 3944: Fri Oct 22 01:20:29 1993 Richard Stallman ([email protected]) 3945: 3946: * fix-header.c: Renamed from patch-header.c. 3947: (progname): Change name. 3948: * fixproto: Use fix-header. 3949: * Makefile.in (fix-header, fix-header.o): Renamed from patch-header*. 3950: (stmp-fixproto, mostlyclean): Rename references to them. 3951: 3952: * expr.c (store_field): In BLKmode case, return blk_object. 3953: 3954: * config/m88k/m88k.h (ASM_FINISH_DECLARE_OBJECT): Undef, then define. 3955: 3956: * Version 2.5.0 released. 3957: 3958: Thu Oct 21 13:02:48 1993 Jim Wilson ([email protected]) 3959: 3960: * mips.h (CUMULATIVE_ARGS): Double size of adjust array. 3961: * mips.c (function_arg): Add comment about too many adjust entries. 3962: 3963: Thu Oct 21 13:48:14 1993 Richard Kenner ([email protected]) 3964: 3965: * rs6000.h (HARD_REGNO_MODE_OK): Multi-word objects cannot 3966: go into MQ, LR, or CTR. 3967: 3968: * configure (mips-sgi-iris5*): Disable; not working yet. 3969: * mips/iris5.h (ASM_SPEC, LINK_SPEC, CPP_PREDEFINES): Extend a bit. 3970: 3971: * expmed.c (expand_divmod): Create RESULT in proper mode when trying 3972: quotient-and-remainder insn. 3973: 3974: Thu Oct 21 13:14:40 1993 Richard Stallman ([email protected]) 3975: 3976: * Makefile.in (STMP_FIXPROTO): Uncomment the definition. 3977: 3978: * varasm.c (output_constructor): Fix previous change: 3979: if no TYPE_DOMAIN, don't set min_index. 3980: 3981: Thu Oct 21 11:13:21 1993 Richard Earnshaw ([email protected]) 3982: 3983: * fixincludes: Avoid conflicting uses of __wchar_t in cc1plus and 3984: stdlib.h for ARM/RISCiX. 3985: 3986: Thu Oct 21 08:16:13 1993 Doug Evans ([email protected]) 3987: 3988: * Makefile.in (install-common): Remove g++ dependency. 3989: Not built for cross compilers. 3990: 3991: Thu Oct 21 00:04:40 1993 Richard Stallman ([email protected]) 3992: 3993: * fixincludes (required): Accept a space instead of a tab 3994: between #define and CTRL (or _CTRL). 3995: 3996: * config/m68k/m68k.c (output_move_double): Use reg_overlap_mentioned_p 3997: when checking for overlap between source and dest. 3998: Fix syntax for the lea insn for double overlap case. 3999: * m68k.md (movdi, movdf, movxf): Delete the & from load case. 4000: 4001: * config/m88k/m88k.h (ASM_FINISH_DECLARE_OBJECT): Emit .size 4002: only if DECLARE_ASM_NAME. 4003: 4004: Wed Oct 20 21:32:11 1993 Jeff Law ([email protected]) 4005: 4006: * pa.c (output_arg_descriptor): Do not stop searching if a USE 4007: for the static link or struct value register is found. 4008: 4009: Wed Oct 20 22:43:22 1993 Michael Meissner ([email protected]) 4010: 4011: * i386/osfrose.h (ASM_FINISH_DECLARE_OBJECT): Don't emit .size 4012: directive if using the OSF/rose object format. 4013: 4014: * i386/osfrose.h, i386/osfelf.h (SWITCH_TAKES_ARG): Allow use of 4015: System V.4 -h * and -z * switches. 4016: (LINK_SPEC): Pass -G, -h*, -z* switches through to the ELF linker. 4017: Map -static, -symbolic, and -shared into the appropriate -B, -d, 4018: and -G options when invoking the ELF linker. 4019: 4020: Wed Oct 20 20:32:54 1993 Richard Stallman ([email protected]) 4021: 4022: * cse.c (fold_rtx): Alter previous change: don't fold the shift 4023: if the count exceeds the width of the value inside the subreg. 4024: 4025: * varasm.c (copy_constant): New function. 4026: (output_constant_def): Use it. 4027: 4028: * Makefile.in ($(srcdir)/INSTALL): Add --no-split. 4029: 4030: Wed Oct 20 19:35:35 1993 John F Carr ([email protected]) 4031: 4032: * alpha.h (LIB_SPEC): Link -lprof1 when profiling. 4033: 4034: Wed Oct 20 19:21:18 1993 Jim Wilson ([email protected]) 4035: 4036: * cccp.c (sys_errlist): Conditionalize declaration for BSD 4.4. 4037: * collect2.c, g++.c, gcc.c, protoize.c: Likewise. 4038: * collect2.c (my_strerror): Move block local extern declarations 4039: for sys_errlist and sys_nerr to file level. 4040: 4041: Wed Oct 20 18:27:28 1993 Richard Stallman ([email protected]) 4042: 4043: * c-typeck.c (output_init_element): When initializing a union, 4044: do it right away: never put the field on the pending list. 4045: 4046: * patch-header.c (main): Delete output file before opening it. 4047: Discard directory names from progname. 4048: * patch-header.c: Simplify and fix handling of errno.h. 4049: (It no longer thinks errno.h always needs fixing.) 4050: * patch-header.c (write_lbrac, write_rbrac): Only write 4051: extern "C" if that specifically is needed. 4052: 4053: Wed Oct 20 18:12:21 1993 Torbjorn Granlund ([email protected]) 4054: 4055: * pa.md (cacheflush): Split into dcacheflush and icacheflush. 4056: Rewrite to use space regs correctly. 4057: * pa.h (TRAMPOLINE_TEMPLATE): Rewrite. 4058: (TRAMPOLINE_SIZE): Update with new size. 4059: (INITIALIZE_TRAMPOLINE): Rewrite. 4060: 4061: Wed Oct 20 17:58:32 1993 Per Bothner ([email protected]) 4062: 4063: * varasm.c (output_constructor): Add support for non-zero 4064: lower array bound. 4065: * expr.c (store_constructor): Likewise. 4066: 4067: Wed Oct 20 15:16:34 1993 Richard Stallman ([email protected]) 4068: 4069: * toplev.c (rest_of_decl_compilation): Use ASM_FINISH_DECLARE_OBJECT 4070: unconditionally, but define it as no-op by default. 4071: 4072: * config/convex/convex.h (MAX_LONG_TYPE_SIZE): Defined. 4073: 4074: * varasm.c (size_directive_output): New variable. 4075: * toplev.c (rest_of_decl_compilation): Use ASM_FINISH_DECLARE_OBJECT. 4076: * config/svr4.h (ASM_DECLARE_OBJECT_NAME): Set size_directive_output. 4077: (ASM_FINISH_DECLARE_OBJECT): Defined. 4078: * config/i386/osfrose.h, config/m88k/m88k.h: Likewise. 4079: 4080: * patch-header.c (inf_size): Move decl inside main. 4081: (strdup): Use xmalloc rathern than malloc. 4082: Don't use the return value of strcpy. 4083: (INF_UNGET): Take parameter; do nothing if EOF. 4084: (strcpy): Declaration deleted. 4085: 4086: Wed Oct 20 11:39:56 1993 Jim Wilson ([email protected]) 4087: 4088: * xm-mips.h (HAVE_VPRINTF): Define for BSD 4.4. 4089: 4090: * mips.c (mips_output_filename): When emitting stabs, don't 4091: disable them if using gas. 4092: (mips_output_lineno): Likewise. 4093: 4094: * sparc.h (INITIALIZE_TRAMPOLINE): Emit 3 flush instrutions. 4095: * sparc.md (flush): Add pattern. 4096: 4097: Wed Oct 20 10:47:54 1993 Michael Meissner ([email protected]) 4098: 4099: * configure (mips-dec-bsd, mips-dec-osf): Fix a typo in the last 4100: change. 4101: 4102: Wed Oct 20 07:57:06 1993 Richard Kenner ([email protected]) 4103: 4104: * rs6000.h, aix31.h (RS6000_CROR_BIT_NUMBER): Deleted. 4105: (RS6000_CALL_GLUE): New macro. 4106: * rs6000.c (print_operand, case '.'): Use RS6000_CALL_GLUE 4107: instead of RS6000_CROR_BIT_NUMBER. 4108: (print_operand, case 'E', case 0): Use "return", not "break". 4109: * rs6000.md (call): Don't use CROR or NOP; just use "%.". 4110: 4111: * c-common.c (check_format_info): Consider "char", "signed char", 4112: and "unsigned char" types as equivalent. 4113: 4114: * loop.c (find_and_verify_loops): Properly continue loop after 4115: moving a block of code near a loop exit. 4116: 4117: Wed Oct 20 02:01:50 1993 Richard Stallman ([email protected]) 4118: 4119: * Makefile.in (extraclean): Delete file djefoo. 4120: (stmp-fixproto): Depend on stmp-headers, not LIBGCC2_DEPS. 4121: 4122: Tue Oct 19 23:11:16 1993 James Van Artsdalen ([email protected]) 4123: 4124: * config/i386/isc.h (LONG_DOUBLE_TYPE_SIZE): Define as 64 bits 4125: due to FP emulator bugs in the target kernel. 4126: * config/i386/sco.h: Likewise (kernel bugs are only suspected). 4127: 4128: Tue Oct 19 21:21:34 PDT 1993 Ralph Campbell ([email protected]) 4129: 4130: * configure (mips-dec-bsd): New alternative. 4131: * config/mips/dec-bsd.h: New file. 4132: 4133: Tue Oct 19 18:49:40 1993 Jim Wilson ([email protected]) 4134: 4135: * c-typeck.c (digest_init): For arrays, use comptypes to compare 4136: types instead of comparing pointers. 4137: 4138: Tue Oct 19 11:24:16 1993 Steve Chamberlain ([email protected]) 4139: 4140: * reload1.c (reload): Cope when inherited register is larger than 4141: one word. 4142: (choose_reload_regs): Ditto. 4143: 4144: Tue Oct 19 18:09:18 1993 David Edelsohn ([email protected]) 4145: 4146: * rs6000.md (define_function_unit): Add support for RIOS2 4147: asymmetric integer units. 4148: 4149: Tue Oct 19 17:48:37 1993 Richard Kenner ([email protected]) 4150: 4151: * function.c (assign_parms): Properly set parm_reg_stack_loc for 4152: args that are a CONCAT. 4153: 4154: * clipper.md (movdi): Force use of "o" alternative if 4155: operand 1 is a MEM. 4156: 4157: * alpha.h (HAVE_ATEXIT): New macro. 4158: 4159: * reload.c (push_reload, find_reloads): If an operand is 4160: a SUBREG of a PLUS, force a reload and reload what is inside. 4161: 4162: * dbxout.c (print_int_cst_octal): Fix bug in last change. 4163: 4164: Tue Oct 19 17:42:23 1993 Richard Earnshaw ([email protected]) 4165: 4166: * arm.c: Include reload.h 4167: (arm_reload_out_hi): New function. 4168: (output_call): Don't look inside operands[0]. 4169: * arm.h: Add function definitions for shift_instr, 4170: output_mov_long_double_fpu_from_arm, 4171: output_mov_long_double_arm_from_fpu, 4172: and output_mov_long_double_arm_from_arm. 4173: (FLOAT_WORDS_BIG_ENDIAN): Define to 1. 4174: (SECONDARY_OUTPUT_RELOAD_CLASS): return GENERAL_REGS for HImode 4175: outputs. 4176: (ASM_OUTPUT_LONG_DOUBLE, ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): 4177: output floating point constants as hex, make order correct given 4178: definition of FLOAT_WORDS_BIG_ENDIAN. 4179: (PRINT_OPERAND): Delete redundant code when handling CONST_DOUBLE. 4180: * arm.md: (reload_outhi): New pattern. 4181: (movhi): Handle reloads better. 4182: (restorehi): Delete. Also tidy up commented out code. 4183: (call): Make this a define_expand. 4184: (matcher for above): only accept MEM(reg) 4185: (call_value): Handle as for (call). 4186: * xm-arm.h (HOST_FLOAT_WORDS_BIG_ENDIAN): Define to 1. 4187: 4188: Tue Oct 19 13:25:03 1993 Mike Stump ([email protected]) 4189: 4190: * cp-type2.c (build_m_component_ref): Fix typo, type must be set, 4191: after changing component. Fixes problem introduced on Thu Sep 9 4192: 21:22:40 1993. 4193: 4194: Tue Oct 19 01:09:56 1993 Richard Stallman ([email protected]) 4195: 4196: * configure (m68000-convergent-sysv*): Untangle from m68k-*-lynxos. 4197: 4198: * Makefile.in (stmp-fixproto): Depend on LIBGCC2_DEPS. 4199: (crtbegin.o, crtend.o): Specify -fno-inline-functions. 4200: 4201: * config/mips/iris5.h: New file. 4202: * config/mips/mips.c (mips_asm_file_start): Handle ABICALLS_ASM_OP. 4203: * configure (mips-sgi-iris5*): New configuration. 4204: 4205: Mon Oct 18 16:16:26 1993 Richard Stallman ([email protected]) 4206: 4207: * cse.c (note_mem_written): (mem (scratch)) means clobber everything. 4208: 4209: * gen-protos.c: Include ctype.h. 4210: 4211: * expmed.c (extract_split_bit_field): Change shift count calculation 4212: in little-endian case. 4213: 4214: * Makefile.in (stmp-fixproto): Added dependency on fixproto script. 4215: 4216: Mon Oct 18 11:26:08 1993 Jim Wilson ([email protected]) 4217: 4218: * c-typeck.c (process_init_element): Align structure elements 4219: that are subaggregates. 4220: 4221: * c-decl.c (finish_decl): After preserve_initializer call, set 4222: TREE_PERMANENT bit in initializer. 4223: 4224: * combine.c (can_combine_p): Don't combine instructions across a 4225: volatile insn. 4226: * rtlanal.c (volatile_insn_p): New function. 4227: 4228: Sun Oct 17 03:04:49 1993 Torbjorn Granlund ([email protected]) 4229: 4230: * configure (powerpc-ibm-aix*): Set cpu_type. 4231: * config.sub: Recognize powerpc. 4232: 4233: Sun Oct 17 21:37:57 1993 Jeffrey A. Law ([email protected]) 4234: 4235: * reload1.c (eliminate_regs_in_insn): Rerecognize some loads and 4236: stores. 4237: * pa.md (indexing loads and stores): Provide variants which avoid 4238: reload problems with shift-add operations. 4239: 4240: * pa.h (READONLY_DATA_SECTION): Disable. 4241: 4242: Thu Oct 14 12:38:27 1993 Richard Stallman ([email protected]) 4243: 4244: * cse.c (fold_rtx): Special case handling for folding 4245: a subreg of the result of a left shift. 4246: 4247: Thu Oct 14 00:05:42 1993 Richard Kenner ([email protected]) 4248: 4249: * alpha.h (DBX_CONTIN_LENGTH): Set to 4000. 4250: 4251: * expr.c (do_jump_for_compare): Don't blow up if aren't any insns 4252: in this sequence yet. 4253: 4254: * alpha.h (LINK_SPEC): Now OK to pass -O3 to linker. 4255: (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Work around 4256: bug in DEC assembler. 4257: 4258: Wed Oct 13 21:47:58 1993 Ian Lance Taylor ([email protected]) 4259: 4260: * fixincludes: Remove erroneous parens from Alpha OSF/1 <sym.h>. 4261: 4262: Wed Oct 13 16:08:54 1993 Richard Stallman ([email protected]) 4263: 4264: * config/m68k/sun3.h (CPP_PREDEFINES): Don't define _CROSS_TARGET_ARCH. 4265: 4266: * fold-const.c (invert_truthvalue): Handle SAVE_EXPR. 4267: 4268: * Makefile.in (install-collect2): Depend on install-dir. 4269: (install-info, install-float-h-cross): Likewise. 4270: 4271: Wed Oct 13 15:51:02 1993 Stephen L. Moshier ([email protected])\ 4272: 4273: * real.h (FLOAT_WORDS_BIG_ENDIAN): New macro. 4274: (HOST_FLOAT_WORDS_BIG_ENDIAN): Likewise, for host. 4275: (REAL_VALUE_TO_TARGET_DOUBLE (default version)): Use them. 4276: (efixi, efixui): Return HOST_WIDE_INT. 4277: (REAL_VALUE_FROM_INT): Cast inputs to HOST_WIDE_INT. 4278: * real.c (FLOAT_WORDS_BIG_ENDIAN, HOST_FLOAT_WORDS_BIG_ENDIAN): 4279: Use everywhere in place of WORDS_BIG_ENDIAN, HOST_WORDS_BIG_ENDIAN, 4280: except in reference to endian-ness of integers. 4281: (etrunci, etruncui, efixi, efixui, ereal_from_int, ereal_to_int, 4282: ltoe, ultoe, eifrac, euifrac): Change `long' to `HOST_WIDE_INT'. 4283: 4284: Wed Oct 13 15:47:37 1993 Richard Stallman ([email protected]) 4285: 4286: * c-parse.in (initdcl, notype_initdcl): Call decl_attributes 4287: before init as well as after. 4288: 4289: * config/ns32k/pc532.h (FRAME_POINTER_REQUIRED): 4290: Require a frame pointer if fn calls setjmp. 4291: 4292: Wed Oct 13 15:27:01 1993 Jim Wilson ([email protected]) 4293: 4294: * jump.c (jump_optimize): When moving a range of instructions, 4295: include all NOTEs before the range, not just line number notes. 4296: 4297: Wed Oct 13 11:01:51 1993 Per Bothner ([email protected]) 4298: 4299: * patch-header.c: #include <sys/types.h> before <sys/stat.h>. 4300: 4301: Wed Oct 13 11:57:33 1993 Richard Kenner ([email protected]) 4302: 4303: * rs6000.md (seq): Fix typo: had "xubfic" instead of "subfic". 4304: 4305: * va-m88k.h (_VA_LIST_): Define. 4306: 4307: * alpha.c (ignore_line_number): No longer used. 4308: 4309: * mips-tdump.c (print_global_hdr): Fix typo in cast in ctime call. 4310: 4311: * cccp.c (main): Don't catch SIGPIPE if no such signal. 4312: 4313: * x-alpha: File deleted, all shipped OSF systems have `ranlib'. 4314: 4315: * fold-const.c (optimize_bit_field_compare, decode_field_reference): 4316: Don't do anything if get_inner_reference returned its argument. 4317: 4318: * bi-reverse.c: Avoid defining NULL; can cause duplicate definition 4319: errors. 4320: 4321: Wed Oct 13 07:58:28 1993 Michael Meissner ([email protected]) 4322: 4323: * i386/osfrose.h (ASM_OUTPUT_ADDR_DIFF_ELT): Define like in V.4. 4324: (FUNCTION_PROFILER, FUNCTION_PROLOGUE): Don't load up %eax with 4325: the pointer value before calling indirect, just call indirect the 4326: memory address to save some cycles in profiling. 4327: 4328: Tue Oct 12 12:41:12 1993 Jim Wilson ([email protected]) 4329: 4330: * cse.c (record_jump_cond): At end, make missing equivalences 4331: first, and then merge them. 4332: 4333: Tue Oct 12 21:30:29 1993 Doug Evans ([email protected]) 4334: 4335: * va-h8300.h (__va_rounded_size): Fix typo in #ifdef. 4336: 4337: Tue Oct 12 20:19:22 1993 Richard Stallman ([email protected]) 4338: 4339: * bc-emit.c: Include stdio.h last. 4340: * combine.c: Include stdio.h after gvarargs.h. 4341: 4342: Tue Oct 12 13:28:18 1993 Per Bothner ([email protected]) 4343: 4344: * fixproto: Re-write. We now assume that there are two 4345: source directories (source_dir_all and source_dir_std). These 4346: are handled differently. All files in source_dir_all (normally 4347: ./include) are processed, but in source_dir_std (normally 4348: /usr/include) we only process the standard ANSI/Posix ones where 4349: we might be able to add missing prototypes. 4350: * scan-decls.c (scan_decls): Rewrote from being a program whose 4351: output is piped to patch-header, to a subroutine called by 4352: patch-header. This should be somewhat more efficient. 4353: * Makefile.in (scan-decls): Removed rule to make program. 4354: * patch-header.c (recognized_macro, recognized_extern, 4355: recognized_function): New functins, with logic moved out from 4356: read_scan_file, so they can be called by scan_decls. 4357: * patch-header (main): Read the original header file into a 4358: buffer (rather than reading it with stdio). This should be more 4359: efficient, partly because we can re-write it in place. 4360: (inf_skip_spaces, inf_read_upto, inf_scan_ident): New functions, 4361: based on skip_spaces, read_upto, and scan_ident in scan.c, but 4362: these read from the in-memory buffer mentioned above. 4363: * scan-types.sh: Don't check for sigset_t, since it can be a 4364: struct, whose name cannot be simplify replaced by its definition. 4365: * Makefile.in (deduced.h): Don't pass -nostdinc. 4366: 4367: Tue Oct 12 18:36:32 1993 Peter Schauer ([email protected]) 4368: 4369: Changes to support native ecoff and embedded stabs debugging 4370: for the Alpha. 4371: 4372: * alpha.c (output_prolog): Put out file and line number if sdb 4373: debugging format, put out .ent directive, signal start of function for 4374: alpha_output_filename and set up debugging auto/arg offsets. 4375: (output_epilog): Signal end of function for alpha_output_filename. 4376: (alpha_output_filename, alpha_output_lineno): New functions. 4377: * alpha.h (TARGET_SWITCHES): Add gas option. 4378: (ASM_DECLARE_FUNCTION_NAME): Moved output of .ent directive to 4379: output_prolog. 4380: (DBX_NO_XREFS): Removed, gdb understands cross references and the 4381: native debugger can't handle embedded stabs. 4382: (ASM_FILE_START): Replace output of .file directive 4383: by ASM_OUTPUT_SOURCE_FILENAME call. 4384: (TARGET_GAS, MASK_GAS, SDB_DEBUGGING_INFO, DBX_DEBUGGING_INFO, 4385: MIPS_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE, DEBUGGER_AUTO_OFFSET, 4386: DEBUGGER_ARG_OFFSET, ASM_OUTPUT_SOURCE_LINE, 4387: ASM_OUTPUT_SOURCE_FILENAME, DEFAULT_GDB_EXTENSIONS, ASM_STABS_OP, 4388: ASM_STABN_OP, ASM_STABD_OP, SDB_ALLOW_FORWARD_REFERENCES, 4389: SDB_ALLOW_UNKNOWN_REFERENCES, PUT_SDB_DEF, PUT_SDB_PLAIN_DEF, 4390: PUT_SDB_TYPE, PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END, 4391: PUT_SDB_FUNCTION_START, PUT_SDB_FUNCTION_END, PUT_SDB_EPILOGUE_END, 4392: ASM_FINAL_SPEC, CODE_MASK, MIPS_IS_STAB, MIPS_MARK_STAB, 4393: MIPS_UNMARK_STAB, SHASH_SIZE, THASH_SIZE): New macros. 4394: * alpha-gdb.h: New file. 4395: * configure (alpha-*-osf*): Handle --with-stabs and --with-gnu-as. 4396: * mips-tfile.c (add_local_symbol): Index in the external symbol 4397: must point to local symbol table entry for procedures. 4398: 4399: Mon Oct 11 16:14:53 1993 Ian Lance Taylor ([email protected]) 4400: 4401: * fixincludes: If a file is referenced with double quotes from 4402: a fixed file, make sure it is copied into the fixed include 4403: directory. 4404: Remove DPS/XDPSlib.h special-case code. 4405: 4406: Tue Oct 12 08:05:28 1993 David Edelsohn ([email protected]) 4407: 4408: * rs6000/powerpc.h: New file. 4409: * configure (powerpc-ibm-aix*): New target. 4410: * rs6000.h (MASK and TARGET): Add new flags for POWER2 and PowerPC 4411: with square root. 4412: (ASSEMBLER_DIALECT): New macro. 4413: (CONDITIONAL_REGISTER_USAGE): Set MQ register fixed if not POWER. 4414: (SHIFT_COUNT_TRUNCATED): Conditional on POWER. 4415: (ASM_OUTPUT_REG_{PUSH,POP}): Mnemonics dependencies. 4416: * rs6000.c (rs6000_override_options): Use new TARGET flags and 4417: add some more cpu choices. 4418: (output_prolog, output_epilog): Support new mnemonics and avoid 4419: using lm/stm when not POWER. 4420: * rs6000.md: Update define_function_units. 4421: Put both old and new mnemonics in all templates. 4422: Add target tests to pattern conditional field throughout. 4423: (one_cmplsi2): Make POWER and PowerPC variants. 4424: (mulsi3): Convert to define_expand which calls appropriate POWER 4425: or PowerPC pattern. 4426: (divsi3, udivsi3): Add patterns for PowerPC case. Update divsi3 4427: define_expand for PowerPC case. 4428: (ashlsi3, lshrsi3, ashrsi3, extendqisi2, extendqihi2): Convert to 4429: define_expand which calls appropriate POWER or PowerPC pattern. 4430: (floating-point): Add PowerPC single-precision FP, and SF/DF sqrt 4431: insns for 603, 604, 620. 4432: (call insns): Use "nop" for magic TOC restore. 4433: (move data, nop): Use PowerPC extended mnemonics. 4434: 4435: Tue Oct 12 07:58:36 1993 Richard Kenner ([email protected]) 4436: 4437: * alpha.h (SETUP_INCOMING_VARARGS): If not TARGET_FPREGS, 4438: save another copy of the integer regs where the FP regs would 4439: have gone. 4440: 4441: * tree.h (struct tree_type): symtab_address is now a union of 4442: pointer and integer. 4443: (TYPE_SYMTAB_ADDRESS): Refer to the integer. 4444: (TYPE_SYMTAB_POINTER): New macro to refer to pointer. 4445: * sdbout.c (KNOWN_TYPE_TAG, SET_KNOWN_TYPE_TAG): Refer to 4446: TYPE_SYMTAB_POINTER and remove casts. 4447: (tag_of_ru_type): Likewise. 4448: 4449: * reload1.c (reload): Fix typo in RELOAD_FOR_INSN case when 4450: accounting for reloads. 4451: 4452: * expr.c (convert_modes): Reset OLDMODE from X after we strip 4453: a SUBREG due to a promoted variable. 4454: 4455: * dbxout.c (dbxout_type, case INTEGER_TYPE): Output bounds in 4456: octal if type wider than HOST_WIDE_INT. 4457: (print_int_cst_octal): Trim bound by precision of its type. 4458: Avoid warning on what may be shift into sign bit. 4459: 4460: * bi-reverse.c: Add missing #include for hconfig.h. 4461: 4462: * fixincludes: Quote braces when looking for DONE files. 4463: 4464: * final.c (dialect_number): New variable. 4465: (init_final): Initialize it. 4466: (output_asm_insn, asm_fprintf): Support ASSEMBLER_DIALECT. 4467: 4468: Tue Oct 12 01:34:16 1993 Richard Stallman ([email protected]) 4469: 4470: * c-typeck.c (digest_init): If traditional, allow unbraced scalar 4471: to initialize the first element of an aggregate. 4472: 4473: * cccp.c (output_line_command): Output the `4' flag only if cplusplus. 4474: (do_line): Handle the `4' flag. 4475: 4476: * final.c (final_scan_insn): Call walk_alter_subreg for operands 4477: that are PLUS or MULT, before constrain_operands. 4478: 4479: Mon Oct 11 15:18:45 1993 Richard Stallman ([email protected]) 4480: 4481: * real.c (debug_real): New function. 4482: 4483: * regclass.c (reg_scan_mark_refs): XEXP (x, 0) in EXPR_LIST may be 0. 4484: 4485: * config/m68k/m68k.md (cmphi): Turn on constraints to support cmpm.w. 4486: 4487: Mon Oct 11 13:20:54 1993 Jim Wilson ([email protected]) 4488: 4489: * unroll.c (unroll_loop): Set map->const_equiv_map_size to 4490: new_maxregnum. 4491: (copy_loop_body): When set const_age_map entry for split dest reg, 4492: verify that it is within the bounds of the map. 4493: (find_splittable_regs): Count number of biv sets, not number of 4494: bivs. Don't pass result to find_splittable_givs. 4495: (find_splittable_givs): Delete parameter result. Add local 4496: variable result. 4497: 4498: Mon Oct 11 07:43:31 1993 Richard Kenner ([email protected]) 4499: 4500: * expr.c (expand_assignment): When assigning an INDIRECT_REF to 4501: a RESULT_DECL, the size and source rtx were swapped. 4502: 4503: * function.c (trampoline_address): Don't allocate anything 4504: from parent function's current obstack. 4505: 4506: * regclass.c (reg_scan): Don't call reg_scan_mark_refs on notes 4507: if there aren't any. 4508: (reg_scan_mark_refs, case INSN_LIST, EXPR_LIST): New cases. 4509: 4510: * cse.c (simplify_binary_operation): Test value of 4511: SHIFT_COUNT_TRUNCATED if it is defined. 4512: * combine.c (subst, shift and rotate cases): Likewise. 4513: * a29k.h, alpha.h, fx80.h, i960.h, mips.h, pa.h, pyr.h, rs6000.h: 4514: Define SHIFT_COUNT_TRUNCATED to have a value of 1. 4515: * sparc.h, tahoe.h, we32k.h: Likewise. 4516: 4517: Mon Oct 11 02:40:22 1993 Richard Stallman ([email protected]) 4518: 4519: * regclass.c (regno_last_note_uid): New vector. 4520: (reg_scan): Initialize regno_last_note_uid. 4521: Call reg_scan_mark_refs for the notes. Pass its new arg. 4522: (reg_scan_mark_refs): New arg NOTE_FLAG. Pass it recursively. 4523: Set regno_last_note_uid. 4524: * regs.h (regno_last_note_uid): Declared. 4525: * jump.c (jump_optimize): Use regno_last_note_uid when deciding 4526: whether a register is set and never used. 4527: 4528: Sun Oct 10 22:51:01 1993 Stephen Moshier ([email protected]) 4529: 4530: * real.c (asctoeg): Fix backward condition in last change. 4531: 4532: Sun Oct 10 22:33:17 1993 Jeffrey A. Law ([email protected]) 4533: 4534: * configure (hppa1.0-*-mach*): Use collect2. 4535: (hppa1.1-*-mach*): Likewise. 4536: 4537: * pa.c (legitimize_pic_address): Delete unused variables. 4538: (output_block_move, output_ior): Likewise. 4539: (hppa_builtin_saveregs): Likewise. 4540: (emit_move_sequence): Add parens as suggested by -Wall. 4541: (compute_frame_size): Likewise. 4542: (output_ascii): Return type is "void". 4543: (hppa_expand_prologue, import_milli): Likewise. 4544: 4545: * pa.c (output_function_prologue): Pass the highest register 4546: number saved for ENTRY_GR and ENTRY_FR directives rather 4547: than the number of registers saved. 4548: (hppa_expand_prologue): Account for %r4 when it's being 4549: used as a frame pointer. 4550: 4551: Sun Oct 10 18:42:49 1993 Richard Stallman ([email protected]) 4552: 4553: * c-typeck.c (start_init): Don't set require_constant_elements 4554: for scalar types. 4555: 4556: * c-parse.in (stmt): Don't call default_conversion on top-level 4557: expressions. 4558: 4559: * c-typeck.c (convert_for_assignment): Allow silent conversion to 4560: a pointer from an integer 0 that resulted from arithmetic. 4561: 4562: * varasm.c, c-pragma.c (enum pragma_state): Defined. 4563: 4564: * config/i386/i386.c (restore_386_machine_status) 4565: (save_386_machine_status): New functions. 4566: (clear_386_stack_locals): Store those functions in 4567: save_machine_status, restore_machine_status. 4568: (struct machine_function): New structure definition. 4569: 4570: * function.h (struct function): New field `machine'. 4571: * function.c (save_machine_status, restore_machine_status): New vars. 4572: (push_function_context, pop_function_context): Use them. 4573: 4574: * explow.c (emit_stack_save): Cast enum array index to int. 4575: 4576: Sun Oct 10 12:49:39 1993 Richard Earnshaw ([email protected]) 4577: 4578: * arm.c (const_ok_for_arm): Cast constants to unsigned HOST_WIDE_INT. 4579: (output_prologue): Sanity check the finite state machine. 4580: (output_epilogue): Delete unused variable. 4581: (final_prescan_insn): Always clear arm_target_insn when FSM goes to 4582: state 0. 4583: * arm.h (OPTIMIZATION_OPTIONS): Don't set flag_omit_frame_pointer, 4584: since this inhibits debugging. 4585: (ASM_OUTPUT_INTERNAL_LABEL): Always clear arm_target_insn when FSM 4586: goes to state 0. 4587: 4588: Sun Oct 10 08:56:58 1993 Richard Kenner ([email protected]) 4589: 4590: * alpha.h (ALPHA_COSTS): Add missing arg to call to rtx_cost. 4591: 4592: * combine.c (force_to_mode, case ASHIFTRT): Verify that result of 4593: making a LSHIFTRT remains a shift. 4594: 4595: * tree.c (save_tree_status): Function_maybepermanent_obstack is the 4596: function_obstack of parent function. 4597: (restore_tree_status): Only free objects later than 4598: maybepermanent_firstobj in function_maybepermanent_obstack. 4599: (make_node): Fix logic error in PARM_DECL code. 4600: Put PARM_DECL in parent function's saveable obstack. 4601: * function.c (put_reg_into_stack): Allocate fixup structure in 4602: saveable obstack. 4603: 4604: * expr.c (expand_assignment): Don't short circuit store_expr 4605: when TO is a VAR_DECL since it needs special handling if promoted. 4606: 4607: * combine.c (subst, case SUREG): Only call force_to_mode if both 4608: inner and outer modes are MODE_INT. 4609: 4610: * mips-tfile.c (WORD_ALIGN): Fix typo in last change. 4611: 4612: * c-common.c (check_format_info): Support X/Open formats like "%1$d". 4613: 4614: Sat Oct 9 22:29:17 1993 Per Bothner ([email protected]) 4615: 4616: * configure: If no target is specified, try getting one 4617: with config.guess. 4618: * config.guess: New file. 4619: 4620: Sat Oct 9 19:50:24 1993 Pat Rankin ([email protected]) 4621: 4622: * c-common.c (check_format_info): Avoid ?: conditional for function 4623: to be called. 4624: 4625: * config/vax/xm-vms.h [VAXC] (bc_check_for_full_enumeration_handling) 4626: (current_function_has_nonlocal_goto) 4627: (output_deferred_addressed_constants): New macros to shorten 4628: external names exceeding 31 characters. 4629: 4630: * make-cc1.com: Move alloca handling before bytecode construction 4631: so that VAX C won't need two different values for LIBS. Eliminate a 4632: comment about make-like functionality that referred to a capability 4633: which has not been implemented. 4634: 4635: Sat Oct 9 21:53:53 1993 Ian Lance Taylor ([email protected]) 4636: 4637: * fixincludes: Unquote a quoted `t' in a #define _IO line, for AIX 4638: 3.2 sys/stropts.h #define _IO(t,v). 4639: (sys/spinlock.h): Don't copy it if it doesn't exist. 4640: (DPS/XDPSlib.h): Change "XDPS.h" to <DPS/XDPS.h>, for AIX. 4641: 4642: Sat Oct 9 15:00:00 1993 DJ Delorie ([email protected]) 4643: 4644: * configure.bat: Change $(srcdir)/ to $(srcdir)\ in commands. 4645: 4646: Sat Oct 9 15:17:22 1993 Richard Kenner ([email protected]) 4647: 4648: * expr.c (expand_expr, case ABS_EXPR): Don't copy twice into 4649: volatile MEM. 4650: 4651: * expr.c (expand_expr): Never reset ORIGINAL_TARGET. 4652: Pass ORIGINAL_TARGET to lang_expand_expr, not TARGET. 4653: 4654: Sat Oct 9 13:27:10 1993 Richard Stallman ([email protected]) 4655: 4656: * tree.c (pop_momentary_nofree): New function. 4657: * c-parse.in (initdcl, notype_initdcl, init): Undo previous change. 4658: (init): Use pop_momentary_nofree if the initializer has real data. 4659: 4660: Sat Oct 9 12:55:26 1993 Stephen Moshier ([email protected]) 4661: 4662: * real.c (asctoeg): Allocate local buffer dynamically. Count 4663: any lost significant digits before the decimal point. 4664: 4665: Fri Oct 8 16:33:42 1993 Mike Stump ([email protected]) 4666: 4667: * cp-tree.h (OFFSET_REF): Override OFFSET_REFs from the back-end, as 4668: we need to do something more complex with them. 4669: * cp-tree.def (CP_OFFSET_REF): Very similar to OFFSET_REFs, but 4670: allow the front-end to handle them. 4671: 4672: Fri Oct 8 14:40:29 1993 Jason Merrill ([email protected]) 4673: 4674: * cp-error.c (dump_expr, REAL_CST): Support printing of real values 4675: when REAL_IS_NOT_DOUBLE (prints out rep in hex). 4676: 4677: Fri Oct 8 13:54:03 1993 Mike Stump ([email protected]) 4678: 4679: * cp-type2.c (store_init_value): Move pointer to member function 4680: initilization code to... 4681: * cp-type2.c (digest_init): here. Allows nested pointer to member 4682: functions to work. 4683: * cp-decl.c (build_ptrmemfunc_type): Use a real union instead of a 4684: magic union, as the initialization code doesn't like them. 4685: * cp-tree.h (TYPE_PTRMEMFUNC_FN_TYPE): Changed to go though the 4686: union. 4687: * cp-tree.h (DELTA2_FROM_PTRMEMFUNC, PFN_FROM_PTRMEMFUNC): Accessor 4688: macros to go thought union. Allows us to change pointer to member 4689: functions a little easier. 4690: * cp-typeck.c (get_member_function_from_ptrfunc, 4691: build_binary_op_nodefault): Changed to use new accessor macros. 4692: * cp-typeck.c (build_ptrmemfunc): Use new union instead. Also, make 4693: sure TREE_CONSTANT is set for CONSTANT things. 4694: * cp-decl.c (pfn_or_delta2_identifier): Added to cache 4695: get_identifier calls. 4696: * cp-tree.h (pfn_or_delta2_identifier): Declare it. 4697: * cp-decl.c (init_decl_processing): Setup pfn_or_delta2_identifier. 4698: 4699: Fri Oct 8 19:03:09 1993 Jim Wilson ([email protected]) 4700: 4701: * xcoffout.h (DBX_STATIC_BLOCK_START): For N_LCSYM, force change 4702: to text section to avoid assembler bug. 4703: 4704: * mips.md (movsi_unaligned): Change in comment "loads" to "stores". 4705: 4706: * calls.c (emit_library_call_value): Compute struct_value_size, 4707: and pass it to emit_call_1. 4708: 4709: Fri Oct 8 16:13:17 1993 H.J. Lu ([email protected]) 4710: 4711: * config/i386/linux.h (STARTFILE_SPEC): Handle -p and -pg 4712: outermost. Also add support for cross-linking. 4713: 4714: Fri Oct 8 15:20:58 1993 Brendan Kehoe ([email protected]) 4715: 4716: * Makefile.in (cp-error.o, cp-errfn.o): Add dependency rules. 4717: 4718: Fri Oct 8 08:00:51 1993 Eric Youngdale (eric@kafka) 4719: 4720: * linux.h: Only include i386/gstabs.h if LINUX_ELF is not defined. 4721: 4722: * linuxelf.h: Copy a lot of stuff from the SVr4 configuration: 4723: include "i386/i386.h", "i386/att.h" and "svr4.h". 4724: (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine. 4725: (ASM_FILE_START, RETURN_IN_MEMORY, ASM_OUTPUT_ADDR_DIFF_ELT) 4726: (JUMP_TABLES_IN_TEXT_SECTION, DBX_REGISTER_NUMBER): Copy from sysv4.h. 4727: (TARGET_VERSION): Define to print "i386 Linux/ELF". 4728: (LINUX_ELF): Define, before we include "i386/linux.h" 4729: (YES_UNDERSCORE): Undefine. 4730: 4731: Fri Oct 8 13:40:44 1993 Michael Meissner ([email protected]) 4732: 4733: * i386/osfrose.h, i386/osfelf.h (CPP_SPEC): If buliding for shared 4734: libraries, define __SHARED__. 4735: 4736: * i386/osfrose.h (FUNCTION_PROFILER): If half-pic, call mcount in a 4737: half-pic fashion. 4738: (FUNCTION_PROLOGUE): If half-pic call through _mcount_ptr in a 4739: half-pic fashion. 4740: 4741: * halfpic.c (half_pic_external): New function to declare a halfpic 4742: identifier as always external. 4743: 4744: * halfpic.h (half_pic_external): declare function. 4745: (HALF_PIC_EXTERNAL): Declare accessor macro. 4746: 4747: Fri Oct 8 15:03:56 1993 Brendan Kehoe ([email protected]) 4748: 4749: Cygnus<->FSF C++ front-end merge. 4750: Thu Oct 7 11:45:32 1993 Jason Merrill ([email protected]) 4751: 4752: * Makefile.in (CPLUS_OBJS): Change error.o to cp-errfn.o 4753: 4754: * cp-*.c, cp-parse.y: Rename lang_error and its kin to cp_error 4755: and the like to accomodate rms's belief structure. 4756: 4757: * error.c: Moved to cp-errfn.c to accomodate rms's belief structure 4758: 4759: Wed Oct 6 15:05:49 1993 Jason Merrill ([email protected]) 4760: 4761: * cp-pt.c (mangle_class_name_for_template): Always use type_as_string 4762: for printing out type parameters. Nuke id and type variables. 4763: 4764: * cp-error.c (dump_expr, INTEGER_CST): Support printing of character 4765: literals and large integers 4766: (dump_char): New function 4767: (dump_type): Deal with ** and *& more prettily 4768: 4769: * cp-pt.c (mangle_class_name_for_template): Strip out code for 4770: printing template parameters, replace with call to expr_as_string. 4771: 4772: * cp-method.c (build_overload_value): descend through 4773: TREE_OPERAND on NOP_EXPRs as well as NON_LVALUE_EXPRs. 4774: 4775: * cp-decl.c (poplevel_class): Add assertion that 4776: class_binding_level is not NULL. 4777: 4778: Tue Oct 5 11:11:25 1993 Jason Merrill ([email protected]) 4779: 4780: Patches to support proper handling of system includes without munging: 4781: 4782: * cp-lex.h: Declare in_c_header, a flag meaning 'implicitly wrap this 4783: file in extern "C" { }'. 4784: 4785: * cp-lex.c: Define in_c_header. 4786: (check_newline): If in_c_header when changing files, 4787: pop_lang_context(). 4788: (check_newline): If "4" seen on #line line, push_lang_context(C). 4789: 4790: * cccp.c: Add a new field c_system_include_path to struct 4791: file_name_list which indicates that the directory contains C-language 4792: system includes. 4793: (*various*): Set this flag correctly 4794: (is_system_include): Return 2 if C-language system include. 4795: (output_line_command): Output " 4" after " 3" for C-language system 4796: include. 4797: 4798: * cp-tree.h (SET_CLASSTYPE_INTERFACE_UNKNOWN_X): Coerce X to boolean 4799: value 4800: 4801: Mon Oct 4 17:03:48 1993 Jason Merrill ([email protected]) 4802: 4803: * cp-tree.h: Add declaration for flag_external_templates 4804: 4805: * cp-decl.c (start_decl): Don't declare flag_external_templates 4806: 4807: * cp-pt.c: Ditto 4808: 4809: * cp-parse.y (template_instantiate_once): Ditto 4810: 4811: * cp-lex.c (reinit_parse_for_method): Ditto 4812: (cons_up_default_function): Ditto 4813: (extract_interface_info): Don't set interface_unknown 4814: if (processing_template_defn && !flag_external_templates) 4815: 4816: * cp-error.c (dump_type): Deal properly with pointers to member 4817: functions. 4818: 4819: * cp-pt.c (instantiate_class_template): If !flag_external_templates, 4820: increment interface_unknown so that nested classes will be dealt with 4821: properly. 4822: (end_template_instantiation): If !flag_external_templates, 4823: decrement interface_unknown. 4824: 4825: * cp-lex.c (cons_up_default_function): Remove redundant check 4826: for processing_template_defn && !flag_external_templates 4827: (reinit_parse_for_method): Ditto 4828: 4829: * cp-parse.y (template_instantiate_once): Don't mess with 4830: interface_unknown 4831: 4832: Mon Oct 4 15:47:34 1993 Mike Stump ([email protected]) 4833: 4834: * cp-decl.c (duplicate_decls): Move setting of TREE_CHAIN after 4835: all possible return 0;s as we only want to do this when we know 4836: that we are dealing with a duplicate. 4837: 4838: * cp-decl.c (start_function): Remove my_friendly_abort 19. Allows 4839: one to declare a built-in as extern inline. 4840: 4841: Mon Oct 4 12:47:33 1993 John F Carr ([email protected]) 4842: 4843: * cp-lex.c (consume_string): Change variable `c' to int so return 4844: value of getch can be assigned to it safely. Compare return value 4845: of getch to EOF, not -1. 4846: 4847: Mon Oct 4 11:42:46 1993 Jason Merrill ([email protected]) 4848: 4849: * toplev.c (error and its kin): Use #defines for the argument 4850: lists for ease of adding arguments, and of moving to vfprintf when 4851: dje adds it. 4852: 4853: * error.c (lang_thing and its children): Do the same thing. 4854: 4855: * cp-typeck.c (build_binary_op): Do away with the kludge, now that 4856: error accepts more arguments. 4857: 4858: Sun Oct 3 16:34:39 1993 Jason Merrill ([email protected]) 4859: 4860: * cp-error.c: Remove all traces of in_parmlist 4861: 4862: Sun Oct 3 13:54:57 1993 Mike Stump ([email protected]) 4863: 4864: * cp-call.c (convert_harshness_ansi, convert_harshness_old): Handle 4865: pointer to function members properly. 4866: 4867: Fri Oct 1 16:42:30 1993 Mike Stump ([email protected]) 4868: 4869: * cp-error.c (dump_function_decl, dump_function_name): Make static 4870: to match prototype. 4871: 4872: Fri Oct 1 15:23:31 1993 Mike Stump ([email protected]) 4873: 4874: * cp-typeck.c (build_ptrmemfunc): Move some code into the virtual 4875: conditional part. Fixes problem with core core dumping when the 4876: class that we want to build a pointer to member function for doesn't 4877: have any virtual functions. 4878: 4879: Thu Sep 30 18:15:29 1993 Jason Merrill ([email protected]) 4880: 4881: * cp-parse.y (id_scope): Print the name of the invalid scope. 4882: (unary_expr): Add .scope new typespec '(' typespec ')' expansion 4883: which just gives an error. 4884: 4885: * cp-typeck.c (build_binary_op): Print more helpful message for 4886: a missing member operator (print the desired type involved). 4887: Very kludgey due to error()'s two-arg limit. 4888: 4889: * error.c (lang_thing): Abort if more than NARGS (currently 2) are 4890: passed, since this is likely to cause a seg fault elsewhere anyway. 4891: 4892: Thu Sep 30 14:19:28 1993 Jason Merrill ([email protected]) 4893: 4894: * g++int.texi: Add error reporting section, make `makeinfo'able 4895: 4896: * cp-type2.c (my_friendly_abort): Deal with recursive calls 4897: 4898: Thu Sep 30 12:24:33 1993 Brendan Kehoe ([email protected]) 4899: 4900: * cp-decl2.c (grok_array_decl): Don't pedwarn on reversing the array 4901: and its index in `a[b]'. 4902: 4903: * cp-typeck.c (build_conditional_expr): Make pointer type mismatch 4904: in a conditional expression get a pedwarn. 4905: (build_binary_op_nodefault): Make comparison between different 4906: pointer types lacking a cast get a pedwarn. 4907: (build_modify_expr): Don't strip the NOP_EXPRs, since we're using 4908: the rhs in a non-lvalue context. 4909: (convert_for_assignment): Allow conversion of 0 to a pointer, but 4910: not a 0 that results from casting or folding. 4911: 4912: Thu Sep 30 11:24:59 1993 Jason Merrill ([email protected]) 4913: 4914: * cp-typeck.c (build_modify_expr): For memberwise assignment, 4915: put nop_expr (reference_type (lhstype)) at the end of of the list so 4916: that the expression has the correct type. 4917: 4918: * error.c (lang_thing): Don't rely on STDC array initialization 4919: 4920: Tue Sep 28 18:20:05 1993 Mike Stump ([email protected]) 4921: 4922: * cp-init.c (build_virtual_init): Use get_binfo and 4923: convert_pointer_to_real, to find the right basetype to convert to, 4924: instead of trying to use convert_pointer_to, as convert_pointer_to 4925: doesn't handle complex MI situations. Cures a bogus "cannot 4926: convert a pointer of type `B' to a pointer of type `A'" when the 4927: compiler is initializing virtual table pointers. 4928: 4929: Mon Sep 27 14:54:42 1993 Mike Stump ([email protected]) 4930: 4931: * cp-call.c (build_method_call): Use get_binfo and 4932: convert_pointer_to_real, to find the right basetype to convert to, 4933: instead of trying to use convert_pointer_to, as convert_pointer_to 4934: doesn't handle complex MI situations. Cures a bogus "cannot 4935: convert a pointer of type `B' to a pointer of type `A'" when the 4936: compiler is setting up the `this' pointer. 4937: * cp-cvt.c (convert_pointer_to): Just call convert_pointer_to_real 4938: to implement functionality. 4939: * cp-cvt.c (convert_pointer_to_real): New routine. Uses new 4940: functionality in get_base_distance to figure out which exact 4941: parent we want to convert to. 4942: * cp-search.c (get_base_distance_recursive, get_base_distance): 4943: Modify to support searching for a specific PARENT given as a binfo 4944: from our hierarchy. 4945: * cp-typee.h (convert_pointer_to_real): Declare new routine. 4946: 4947: Mon Sep 27 13:02:51 1993 Jason Merrill ([email protected]) 4948: 4949: * cp-type2.c (my_friendly_abort): Undo previous change 4950: 4951: * cp-*.c: Use lang_error instead of error_with_decl, 4952: error_with_aggr_type, etc. Not complete; I only changed the easy 4953: cases and a few of the more obscure ones. Please convert calls 4954: over when you're working on an appropriate section. 4955: 4956: * cp-method.c: Strip out error reporting code 4957: 4958: * Makefile.in (CPLUS_OBJS): Add error.o and cp-error.o 4959: 4960: * cp-error.c: New file, contains call-back functions for C++. 4961: The actual output code is an extensively overhauled version of the 4962: code from cp-method.c. 4963: Don't call my_friendly_* to avoid undesirable recursion. 4964: 4965: * error.c: New file, provides call-back mechanism for language- 4966: dependent error reporting. 4967: 4968: Fri Sep 24 13:52:27 1993 Jason Merrill ([email protected]) 4969: 4970: * cp-type2.c (my_friendly_abort): Don't die quietly if 4971: errorcount or sorrycount are positive, die loudly. 4972: 4973: Fri Oct 8 13:58:13 1993 Doug Evans ([email protected]) 4974: 4975: * loop.c (scan_loop): When skipping consecutive insns, 4976: don't count notes. 4977: 4978: Fri Oct 8 10:41:07 1993 Chip Salzenberg ([email protected]) 4979: 4980: * c-common.c (check_function_format): Correct error in last 4981: change. 4982: 4983: Fri Oct 8 08:10:03 1993 Richard Stallman ([email protected]) 4984: 4985: * c-parse.in (initdcl, notype_initdcl): Call push_momentary and 4986: pop_momentary here. 4987: (init): Not here. 4988: 4989: Fri Oct 8 06:35:07 1993 Richard Kenner ([email protected]) 4990: 4991: * dbxout.c (dbxout_type, case INTEGER_TYPE): Correctly check 4992: for type smaller than `integer'. 4993: 4994: * expr.c (expand_expr, case MAX_EXPR): Don't use TARGET directly 4995: if it is a volatile MEM. 4996: 4997: * i386/t-aix, i386/t-isc, i386/t-osfrose, i386/t-sco, mips/t-osfrose: 4998: Remove LIMITS_H; hasn't been used for a while. 4999: 5000: * configure: Add EXTRA_PASSES like we add EXTRA_HEADERS. 5001: Correct EXTRA_HEADERS handling to accept multiple names. 5002: (mips-*-*): Set extra_passes to mips-tfile and mips-tdump when 5003: we use t-mips, t-bsd, t-svr[34], and t-ultrix. 5004: * Makefile.in (mips-tfile, mips-tfile.o, mips-tdump, mips-tdump.o): 5005: New rules. 5006: * mips-tfile.c: Don't define memory functions on Alpha. 5007: (Ptrdiff_t): Always `long'. 5008: (WORD_ALIGN): Make portable. 5009: * mips/t-bsd, t-mips, t-svr3, t-svr4, t-ultrix: Remove 5010: definition of EXTRA_PASSES and remove rules for mips-* files. 5011: 5012: * dbxout.c (dbxout_parms): Don't confuse a parameter at an 5013: offset of zero from AP or FP with one that has variable size. 5014: 5015: * calls.c (emit_library_call): Fix typo in last change; should 5016: use Pmode instead of SImode. 5017: 5018: Fri Oct 8 00:34:39 1993 Richard Stallman ([email protected]) 5019: 5020: * c-decl.c (finish_decl): Error if block-scope static var 5021: has incomplete type. 5022: 5023: * expr.c (expand_expr, case VAR_DECL): If decl wasn't laid out, 5024: lay it out now, and fix the rtl's mode. 5025: 5026: Thu Oct 7 12:30:10 1993 Chip Salzenberg ([email protected]) 5027: 5028: * c-decl.c (complete_array_type): Correctly set MAXINDEX to 5029: one less than array size. 5030: 5031: Thu Oct 7 20:44:41 1993 Torbjorn Granlund ([email protected]) 5032: 5033: * c-typeck.c (build_binary_op): For *_DIV_EXPR, set shorten based 5034: on orig_op0. 5035: 5036: Thu Oct 7 18:19:17 1993 Jim Wilson ([email protected]) 5037: 5038: * xm-mips.h (HAVE_VPRINTF): Correct typo, is VPRINTF not VFPRINTF. 5039: 5040: * Makefile.in (LIB2FUNCS): Add _fixtfdi, _fixunstfdi, _floatditf. 5041: 5042: Thu Oct 7 14:58:02 1993 Michael Meissner ([email protected]) 5043: 5044: * configure (i386-osf): ELF on OSF/1 does not need collect2. 5045: 5046: Thu Oct 7 17:38:25 1993 Richard Stallman ([email protected]) 5047: 5048: * cccp.c (main): New option -lang-c-c++-comments. 5049: 5050: Thu Oct 7 16:40:38 1993 Michael Meissner ([email protected]) 5051: 5052: * config/i386/osfrose.h (OSF_PROFILE_BEFORE_PROLOGUE): New macro 5053: to determine whether profiling goes before the function prologue 5054: or after. New style profiling goes before in order to save 5055: getting and saving the function's callers address or have mcount 5056: 'know' there is a frame pointer. Old style profiling using mcount 5057: and some ELF PIC profiling goes after the prologue. 5058: (FUNCTION_PROLOGUE): Redefine in order to get new style profiling 5059: before the function prologue if desired. 5060: (FUNCTION_PROFILER): Do not put a profile call if it already has 5061: been put out in the prologue. Change new style profiling to call 5062: through _mcount_ptr instead of _real_mcount. Propigate ROSE brain 5063: damage regarding mcount being in the users name space to ELF. 5064: (SUBTARGET_SWITCHES): Make -mmcount default again instead of 5065: -mno-mmcount. 5066: 5067: * i386.h (FINALIZE_PIC): Add macro to set the variable 5068: current_function_uses_pic_offset_table if either -p or -a switches 5069: are used. 5070: 5071: Thu Oct 7 17:07:57 1993 Ian Lance Taylor ([email protected]) 5072: 5073: * rtl.c (byte_mode, word_mode): Move to emit-rtl.c. 5074: (init_rtl): Move initialization of byte_mode and word_mode to 5075: init_emit_once. 5076: * emit_rtl.c (byte_mode, word_mode): Moved from rtl.c. 5077: (init_emit_once): Moved in initialization of bytes_mode and 5078: word_mode from init_rtl. 5079: 5080: Thu Oct 7 11:11:25 1993 Jason Merrill ([email protected]) 5081: 5082: * cccp.c (struct file_name_list): Add new field c_system_include_path. 5083: (*various*): Set this flag correctly 5084: (is_system_include): Return 2 if C-language system include. 5085: (output_line_command): Output " 4" after " 3" for C-language system 5086: include. 5087: 5088: Thu Oct 7 14:45:20 1993 Doug Evans ([email protected]) 5089: 5090: * Makefile.in (install-dir): Fix typo. 5091: (install-common): Remove obsolete comment. 5092: (install-common): Install native g++ only if not cross. 5093: 5094: Thu Oct 7 11:27:45 1993 Richard Stallman ([email protected]) 5095: 5096: * calls.c (emit_library_call, emit_library_call_value): 5097: Allocate a temp slot if arg must be passed by reference. 5098: 5099: * gcc.c (read_specs): Fix call to bzero. 5100: 5101: Thu Oct 7 08:53:57 1993 Torbjorn Granlund ([email protected]) 5102: 5103: * alpha.md: Clean up usage of commutative declarator `%'. 5104: 5105: Thu Oct 7 08:14:46 1993 Richard Kenner ([email protected]) 5106: 5107: * i860/xm-fx2800.h (HAVE_VPRINTF): Fix typo; was HAVE_VFPRINTF. 5108: 5109: * xm-alpha.h: Always declare malloc, realloc, etc, to be void *. 5110: 5111: * combine.c (force_to_mode): Sign-extend constant being truncated. 5112: 5113: Wed Oct 6 18:53:43 1993 Richard Stallman ([email protected]) 5114: 5115: * bi-lexer.c (xmalloc, xrealloc): Cast the result of malloc, realloc. 5116: 5117: Wed Oct 6 15:30:39 1993 Michael Meissner ([email protected]) 5118: 5119: * i386/osfrose.h (FUNCTION_PROFILER): Define to pass the function 5120: address, its caller, and the unique label address through the 5121: _real_mcount pointer, unless -mmcount is used, in which case use 5122: the old calling sequence. 5123: (SUBTARGET_SWITCHES): Add -mmcount, -mno-mcount support. 5124: 5125: Wed Oct 6 15:29:40 1993 Jeffrey A. Law ([email protected]) 5126: 5127: * pa.c (output_function_prologue): Pass on information about the 5128: number of callee saved general and floating point registers which 5129: are saved by the current function's prologue. 5130: (hppa_expand_prologue): Keep track of the number of callee 5131: register saves done for general and floating point registers. 5132: 5133: Wed Oct 6 13:50:03 1993 Ian Lance Taylor ([email protected]) 5134: 5135: * cexp.y (MAX_CHAR_TYPE_SIZE, MAX_INT_TYPE_SIZE, 5136: MAX_LONG_TYPE_SIZE, MAX_WCHAR_TYPE_SIZE): Define. 5137: (yylex): Use them instead of the non-MAX versions, to avoid 5138: dependencies on target_flags. 5139: 5140: Wed Oct 6 13:47:13 1993 Jim Wilson ([email protected]) 5141: 5142: * combine.c (try_combine): New variable i3_subst_into_i2. 5143: Set it for special case of substituting i3 into i2. Use it near 5144: end to detect when special case succeeded. Move i2notes to 5145: i3notes for this special case. 5146: (distribute_notes, REG_UNUSED case): Ignore all REG_UNUSED notes 5147: except those from I3. 5148: 5149: Wed Oct 6 13:14:13 1993 Richard Stallman ([email protected]) 5150: 5151: * c-typeck.c (build_c_cast): When making a CONSTRUCTOR, provide 5152: the dummy first operand. 5153: 5154: * real.c (real_value_truncate): Correct etrunci argument 5155: in case SImode. 5156: 5157: Wed Oct 6 06:55:05 1993 Richard Kenner ([email protected]) 5158: 5159: * final.c (asm_fprintf): Add cases for 'w' and 'l'. 5160: 5161: * Makefile.in (bi-opcode.o): Includes hconfig.h. 5162: * bi-lexer.c: Remove declarations of malloc and realloc. 5163: * bi-opcode.c: Include hconfig.h. 5164: * bi-parser.y: Remove declaration of malloc. 5165: 5166: * regclass.c (record_reg_classes): Check if operands are the same 5167: by seeing if they are the same register. 5168: 5169: * cse.c (record_jump_cond): Rehash OP1 if OP0's insert_regs returns 5170: nonzero. 5171: 5172: * calls.c (expand_call): Add yet another assignment to MEM_IN_STRUCT_P. 5173: 5174: Wed Oct 6 00:08:28 1993 Jim Wilson ([email protected]) 5175: 5176: * sparc.c (uns_small_int, uns_arith_operand): New functions. 5177: * sparc.md (umulsidi3): Use uns_arith_operand not arith_operand. 5178: (const_umulsidi3): Use uns_small_int not small_int. 5179: 5180: * sparc.h (SELECT_CC_MODE): Add support for ASHIFT. 5181: * sparc.md (ashlsi3+1, ashlsi3+2): New patterns to replace shift 5182: and compare with addcc. 5183: 5184: Tue Oct 5 16:25:32 1993 Jim Wilson ([email protected]) 5185: 5186: * sched.c (sched_analyze_2): Make volatile asms depend on all 5187: pseudo registers. 5188: 5189: * mips.c (mips_expand_prologue): Handle structure return values as 5190: the first argument if necessary. 5191: 5192: * mips.h (CLASS_MAX_NREGS): For DFmode and !TARGET_FLOAT64 case, 5193: return 2 not 4. 5194: (CLASS_UNITS): Take size parameter instead of num (words). 5195: 5196: * c-typeck.c (output_init_element): When try to copy FIELD if it 5197: is an interger constant, first check to make sure it is nonzero. 5198: 5199: * reorg.c (fill_simple_delay_slots): When take insn from a 5200: following unconditional branch target, if new_label is zero, must 5201: set it to the result of find_end_label (). 5202: 5203: * iris3.h (INITIALIZE_TRAMPOLINE, TRANSFER_FROM_TRAMPOLINE): 5204: Delete. 5205: * mips.h (INITIALIZE_TRAMPOLINE): Delete #ifndef/#endif. Change 5206: function name from __enable_execute_stack to __gcc_flush_cache. 5207: (TRANSFER_FROM_TRAMPOLINE): Likewise. Delete code calling 5208: mprotect. Uncomment code calling cacheflush. 5209: 5210: Tue Oct 5 16:11:53 1993 Jason Merrill ([email protected]) 5211: 5212: * toplev.c (error and its kin): Use #defines for the argument 5213: lists for ease of adding arguments and add one arg. 5214: 5215: Tue Oct 5 16:05:11 1993 Tor Egge ([email protected]) 5216: 5217: * cccp.c (rescan): Don't expand an identifier after a '#'. 5218: 5219: Tue Oct 5 15:15:52 1993 Chip Salzenberg ([email protected]) 5220: 5221: Move format warning code to c-common.c for use with C++. 5222: * c-tree.h (init_function_format_info, record_function_format, 5223: check_function_format): Declare. 5224: * c-common.c: Include <ctype.h>; avoid home-grown ISDIGIT. 5225: (decl_attributes): Call record_function_format with DECL_NAME 5226: and also DECL_ASSEMBLER_NAME. 5227: (struct format_char_info): Moved here from c-typeck.c. 5228: (print_char_table): Likewise; renamed from print_table. 5229: (scan_char_table): Likewise; renamed from scan_table. 5230: (struct function_format_info): Likewise; add assembler_name. 5231: (function_format_list): Make list, not array. 5232: (init_function_format_info): Likewise; renamed from 5233: init_format_info_table. 5234: (record_function_format): Likewise; renamed from 5235: record_format_info; record assembler_name. 5236: (check_format_info): Likewise; renamed from check_format. 5237: (check_function_format): New interface that does not require 5238: knowledge of struct function_format_info. 5239: * c-decl.c (init_decl_processing): Call init_function_format_info. 5240: * c-typeck.c (struct format_char_info, print_table, scan_table, 5241: struct function_info, function_info_entries, function_info_table, 5242: record_format_info, init_format_info_table, check_format): Moved 5243: to c-common.c. 5244: (build_function_call): Call check_function_format. 5245: 5246: Tue Oct 5 14:08:18 1993 Wolfgang Stukenbrock ([email protected]) 5247: 5248: * gcc.c (choose_temp_base): Correct size allocated for temp_filename. 5249: 5250: Tue Oct 5 06:34:34 1993 Richard Kenner ([email protected]) 5251: 5252: * tree.c (contains_placeholder_p): Return 0 for CONSTRUCTOR. 5253: (substitute_in_expr): Don't allow CONSTRUCTOR. 5254: 5255: * tree.c (make_node, case 'd'): Refine in which obstack 5256: PARM_DECLs are allocated. 5257: 5258: * calls.c (expand_call): Properly test if we need to promote 5259: operand; use convert_modes instead of convert_to_mode. 5260: * expr.c (convert_modes): Properly handle extending constants 5261: since we might be changing signedness. 5262: 5263: * gcc.c (read_specs): Make a null entry at end of `compilers' 5264: when reading new entry from file. 5265: 5266: * tree.c (contains_placeholder): Return 0 for WITH_RECORD_EXPR. 5267: 5268: * bi-arity.c, bi-lexer.c, bi-opname.c, bi-parser.y: Include hconfig.h. 5269: * Makefile.in (bi-arity.o, bi-lexer.o, bi-opname.o, bi-parser.o): 5270: Likewise. 5271: 5272: * bc-emit.c (dconst[012], dconstm1): Remove redundant definition. 5273: 5274: Tue Oct 5 06:24:43 1993 Lisa Repka ([email protected]) 5275: 5276: * varasm.c (decode_rtx_const, case CONST_DOUBLE): Only use mode 5277: of X if it is not VOIDmode. 5278: 5279: Tue Oct 5 00:45:30 1993 James Van Artsdalen ([email protected]) 5280: 5281: * i386/i386.c (output_to_reg): Handle XFmode write to MEM by 5282: reading back value after write if source doesn't die. 5283: * i386/i386.md (pushxf,movxf,extenddfxf2,extendsfxf2): Likewise. 5284: 5285: * i386/i386.md (movxf,extenddfxf2,extendsfxf2): Don't emit fld 5286: before calling output_to_reg: output_to_reg does that now. 5287: 5288: * i386/i386.h (FIXED_REGISTERS): Don't fix hard reg st7 if XFmode 5289: is enabled. 5290: 5291: * reg-stack.c (move_for_stack_reg): If the 387 regstack is not 5292: full when doing an XFmode write from 387 to MEM, copy the source 5293: reg and write the copy. 5294: 5295: Mon Oct 4 18:40:51 1993 Richard Stallman ([email protected]) 5296: 5297: * regclass.c (record_reg_classes): There is no alt_cost 5298: for a pair of matching args if they are the same pseudo reg. 5299: 5300: * varasm.c (bc_output_ascii): New function. 5301: (assemble_string): Use it. 5302: (assemble_static_space, assemble_variable): Put braces around uses 5303: of BC_OUTPUT_COMMON and BC_OUTPUT_LOCAL. 5304: 5305: Mon Oct 4 18:03:04 1993 Stephen L Moshier ([email protected]) 5306: 5307: * expr.c (bc_init_mode_to_opcode_maps, bc_expand_expr): Cast enum 5308: array indices to int. 5309: (bc_load_memory, bc_store_memory): Likewise. 5310: (bc_runtime_type_code): Cast enum logical operand to int. 5311: * bc-emit.c (bc_emit_bytecode): Cast enum array indices to int. 5312: * bc-optab.c (deduce_conversion, emit_typecode_conversion): Likewise. 5313: (bc_init_mode_to_code_map, preferred_typecode): Likewise. 5314: (bc_expand_binary_operation, bc_expand_unary_operation): Likewise. 5315: (bc_expand_increment): Likewise. 5316: * bc-typecd.h: Cast enum arithmetic and logical operands to int. 5317: 5318: Mon Oct 4 05:52:21 1993 Richard Kenner ([email protected]) 5319: 5320: * a29k.c (incoming_regs): Only use 16 registers for parameter 5321: passing. 5322: 5323: * tree.c (build_string): Remove previous change and comment why 5324: string text has to be in saveable_obstack. 5325: * varasm.c (output_constant_def): Remove last change; no longer needed. 5326: 5327: Sun Oct 3 18:51:19 1993 James Van Artsdalen ([email protected]) 5328: 5329: * i386/i386.c (output_op_from_reg): Handle 3-word XFmode values. 5330: (output_to_reg): Likewise. 5331: (output_move_double): Handle XFmode operands. 5332: (output_move_const_single): Use REAL_VALUE_TO_TARGET_SINGLE. 5333: (print_operand): Add letter `T', size `12'. Use REAL_VALUE 5334: macros to convert floating point operands. 5335: (convert_387_op): Add XFmode to case FLOAT_EXTEND. 5336: 5337: * i386/i386.h (LONG_DOUBLE_TYPE_SIZE): Define as 96. 5338: (FIXED_REGISTERS): If XFmode enabled, hard reg st7 is fixed. 5339: (ASM_OUTPUT_DOUBLE): Use REAL_VALUE_... macros. 5340: (ASM_OUTPUT_FLOAT): Likewise. 5341: (ASM_OUTPUT_LONG_DOUBLE): New macro. 5342: (PRINT_REG): Add size case 12. 5343: (DEBUG_PRINT_REG): Likewise. 5344: 5345: * i386/i386.md: (tstxf_cc, tstxf, cmpxf, cmpxf_cc, cmpxf_ccfpeq, 5346: swapxf, movxf, extenddfxf2, extendsfxf2, truncxfsf2, truncxfdf2, 5347: fixuns_truncxfsi2, fix_truncxfdi2, fix_truncxfsi2, floatsixf2, 5348: floatdixf2, addxf3, subxf3, mulxf3, divxf3, negxf2, absxf2, 5349: sqrtxf2): New patterns. 5350: 5351: * i386/next.h,i386/osfrose.h,i386/sysv4.h 5352: (ASM_OUTPUT_DOUBLE,ASM_OUTPUT_FLOAT): Use REAL_VALUE_ macros. 5353: (ASM_OUTPUT_LONG_DOUBLE): New macro. 5354: 5355: * i386/bsd.h,i386/sco4.h (ASM_OUTPUT_DOUBLE): Deleted, 5356: use default version. 5357: 5358: * i386/next.h,i386/sco.h (VALUE_REGNO): Add case XFmode. 5359: 5360: Sun Oct 3 16:35:05 1993 Michael Meissner ([email protected]) 5361: 5362: * collect2.c (read_file): Fix typo in prototype. 5363: 5364: Sun Oct 3 18:32:46 1993 Richard Stallman ([email protected]) 5365: 5366: * Makefile.in (bytecode.realclean): Don't delete bi-lexer.c. 5367: 5368: Sun Oct 3 19:45:02 1993 Richard Kenner ([email protected]) 5369: 5370: * gcc.c (default_compilers): Add rules for Ada. 5371: * toplev.c (lang_options): Add temporary parameter "gnat". 5372: 5373: * tree.c (staticp): DECL_EXTERNAL is not defined for CONSTRUCTOR. 5374: 5375: * tree.def (PLACEHOLDER_EXPR, WITH_RECORD_EXPR): New tree codes. 5376: * tree.c (save_expr): Don't evaluate something containing a 5377: PLACEHOLDER_EXPR. 5378: (contains_placeholder_p, substitute_in_{expr,type}): New functions. 5379: * tree.h: Add declarations for new functions. 5380: * calls.c (expand_call): Pass objects who size depends on the 5381: contents of the object by invisible reference. 5382: * function.c (assign_parms): Likewise. 5383: * explow.c (expr_size): If the size contains a PLACEHOLDER_EXPR, 5384: surround it with a WITH_RECORD_EXPR. 5385: * expr.c (store_expr): Use expr_size value, not size_int. 5386: (store_constructor): Handle case of variable position and allow 5387: it to contain a PLACEHOLDER_EXPR. 5388: (get_inner_reference): Make a WITH_RECORD_EXPR if required. 5389: (expand_expr, case PLACEHOLDER_EXPR, WITH_RECORD_EXPR): New cases. 5390: (expand_expr, case ARRAY_REF): Make WITH_RECORD_EXPR expressions 5391: when needed. 5392: 5393: * calls.c (expand_call): Set MEM_IN_STRUCT_P in stack slot if 5394: appropriate. 5395: 5396: * varasm.c (output_constant_def): Copy string as well as string 5397: node when deferring output of constants. 5398: 5399: * configure (i370-*): Renamed tm-mvs.h to mvs.h. 5400: * config/i370/mvs.h: Renamed from tm-mvs.h. 5401: 5402: Sun Oct 3 12:50:57 1993 Richard Earnshaw ([email protected]) 5403: 5404: * arm.h (function definitions): Add new functions definitions. 5405: (arm_condition_codes): make this externally visible. 5406: (STARTFILE_SPEC): Move to riscix.h and riscix1-1.h. 5407: (CPP_PREDEFINES): Move old defn to riscix.h and riscix1-1.h, add 5408: generaic default definition. 5409: (CPP_SPEC): Define for generic implementation, pass cpu variant 5410: defn to pre-processor. 5411: (TARGET_VERSION): Indicate this is generic variant. 5412: (TARGET_6): New macro, set when compiling for arm6 in 32bit mode. 5413: (ARM_EXTRA_TARGET_SWITCHES): New macro, hook for os dependent files 5414: to make additions to TARGET_SWITCHES. Default to null. 5415: (processor_type): new enum type defining processor variant for 5416: attributes. 5417: (arm_cpu_attr): Macro to get at cpu type from attributes. 5418: (TARGET_WHEN_DEBUGGING): remove non-generic definitions 5419: (OVERRIDE_OPTIONS): Set processor type for attributes. 5420: (OPTIMIZE_OPTIONS): Set flag_force_mem. 5421: (PROMOTE_MODE): Promote byte constants unsigned. 5422: (ENABLE_XF_PATTERNS): Define, do not enable XFmode insns by default 5423: -- it tends to crash riscix. 5424: (REAL_ARITHMETIC): Define. 5425: (CONSTANT_ALIGNMENT): Align string constants so that we can access 5426: them faster. 5427: (TARGET_FLOAT_FORMAT): Is IEEE_FLOAT_FORMAT. 5428: (FIRST_PSEUDO_REGISTER): Increase to support fake registers. 5429: (FIXED_REGISTERS): Describe behaviours of fake regs. 5430: (CALL_USED_REGISTERS): Likewise. 5431: (HARD_REGNO_NREGS): Deal with fake frame and argument registers. 5432: (HARD_REGNO_MODE_OK): Likewise. 5433: (FRAME_POINTER_REGNUM): Make this a fake register) 5434: (HARD_FRAME_POINTER_REGNUM): Define. set to reg 11 (fp). 5435: (FRAME_POINTER_REQUIRED): It is if TARGET_APCS. 5436: (ARG_POINTER_REGNUM): Set to new fake register. 5437: (CC_REGNUM): Define, set to fake register. 5438: (REG_ALLOC_ORDER): Adjust to get better allocation in small functions. 5439: Add fake registers. 5440: (REG_CLASS_CONTENTS): Add new fakes. 5441: (REGNO_REG_CLASS): Likewise. 5442: (CONST_OK_FOR_LETTER_P): Add recognition for negated and inverted 5443: constant integers. 5444: (EXTRA_CONSTRAINT): Add 'Q' to recognize MEM (REG). Add 'S' for 5445: symbols in the text segment. 5446: (CONST_DOUBLE_OK_FOR_LETTER_P): Add 'H' for negated fp constants. 5447: (SECONDARY_OUTPUT_RELOAD_CLASS): Define. Needed to store DFmode held 5448: in SImode regs. 5449: (REGISTER_MOVE_COST): Make this more expensive than memory for 5450: float<->int moves. 5451: (USE_RETURN_INSN): Define, call function. 5452: (ELIMINABLE_REGS): Define to eliminate fake regs. 5453: (CAN_ELIMINATE): Likewise. 5454: (INITIAL_ELIMINATION_OFFSET): Likewise. 5455: (INITIAL_FRAME_POINTER_OFFSET): Delete. 5456: (REGNO_OK_FOR_BASE_P): Add fake regs. 5457: (MAX_REGS_PER_ADDRESS): Is only 2; shifting by reg not allowed in addr. 5458: (CONSTANT_ADDRESS_P): Accept addresses with the symbol_ref flag set. 5459: (LEGITIMATE_CONSTANT): Accept negated floats; also constant addresses. 5460: (ENCODE_SECTION_INFO): Mark strings that will go in the text segment 5461: with the symbol_ref flag. 5462: (REG_OK_FOR_BASE_P [!REG_OK_STRICT]): Add new fakes. 5463: (REG_OK_FOR_PRE_POST_P [!REG_OK_STRICT]): Likewise. 5464: (REG_OK_FOR_PRE_POST_P [REG_OK_STRICT]): Likewise. 5465: (GO_IF_LEGITIMATE_INDEX): constant FLOAT indicees must be word 5466: aligned; be more restrictive about multi-reg ints; allow all legal 5467: shift operations; check boundary conditions more carefully. 5468: (DEFAULT_SIGNED_CHAR): Remove os dependent alternatives. 5469: (LOADS_ZERO_EXTEND): Define; only QImode loads do. 5470: (HAVE_VPRINTF): Move to xm-arm.h 5471: (SHIFT_COUNT_TRUNCATED): Not true -- Delete. 5472: (CONST_COSTS): Define; give the cost of constants. 5473: (RTX_COSTS): Define; give the cost of rtl. 5474: (MEMORY_MOVE_COST): Is expensive. 5475: (BRANCH_COST): Set high to get conditional instructions. 5476: (ADDRESS_COST): Are all the same. 5477: (NOTICE_UPDATE_CC): Delete. 5478: (EXTRA_CC_MODES): Add a no overflow mode and floating point modes. 5479: (EXTRA_CC_NAMES): Likewise. 5480: (SELECT_CC_MODE): Return the appropriate mode. 5481: (STORE_FLAG_VALUE): Define. 5482: (PREDICATE_CODES): Define, show what they are. 5483: (ARM_OS_NAME): Supply generic version. 5484: (ASM_FILE_START): Print appropriate OS name. 5485: (REGISTER_NAMES): Add fakes. 5486: (DBX_OUTPUT_MAIN_SOURCE_FILENAME): set desc field to compiler version 5487: number expected by dbx (RISCIX hack). 5488: (ASM_OUTPUT_INTERNAL_LABEL): Don't reset arm_ccfsm_state if label isn't 5489: a code ('L') label. 5490: (ASM_OUTPUT_LONG_DOUBLE): Define for XFmode. 5491: (ASM_OUTPUT_DOUBLE): Use REAL_ARITMETIC routines. 5492: (ASM_OUTPUT_FLOAT): Likewise. 5493: (ASM_OUTPUT_OPCODE): Change of arm_ccfsm_state is now handled by insns 5494: that need to change it. 5495: (PRINT_OPERAND): %d is replaced by appropriate condition characters, 5496: %D by the inverse of those given. CONST_DOUBLEs use REAL_ARITHMETIC 5497: functions. 5498: (PRINT_OPERAND_ADDRESS): Support all the shift types. 5499: (INIT_CUMULATIVE_ARGS): Add missing bracket. 5500: 5501: * riscix.h: New file -- OS dependent defintitions for riscix 1.2 and 5502: above. 5503: 5504: * riscix1-1.h: New file -- OS dependent definitions for riscix before 5505: version 1.2 5506: 5507: * rix-gas.h: New file -- riscix 1.2 and above, but with an assembler 5508: which supports stabs. 5509: 5510: * arm.c (arm_compare_op0, arm_compare_op1, arm_compare_fp): New 5511: variables. 5512: (arm_cpu): New variable. 5513: (lr_save_eliminated): New variable. 5514: (arm_condition_codes): delete definition. 5515: (return_used_this_function): New variable. 5516: (use_return_insn): New function. 5517: (const_ok_for_arm): Use HOST_WIDE_INT; rewrite to work if 5518: HOST_WIDE_INT > 32 bits. 5519: (fpa_consts_inited, strings_fpa): New variables. 5520: (init_fpa_table): New function, initialize above. 5521: (const_double_rtx_ok_for_fpu): Rewrite using fpa_consts_inited and 5522: REAL_ARITHMETIC functions. 5523: (neg_const_double_rtx_ok_for_fpu): New function. 5524: (s_register_operand): New function, as register_operand, but don't 5525: accept SUBREG (MEM). 5526: (reload_memory_operand): New function. 5527: (arm_rhs_operand): Use s_register_operand. 5528: (arm_rhsm_operand): New function. 5529: (arm_add_operand): New function. 5530: (arm_not_operand): New function. 5531: (fpu_rhs_operand): Use s_register_operand. 5532: (fpu_add_operand): New function. 5533: (di_operand): Use s_register_operand. 5534: (di_operand, case MEM): address must be offsettable. 5535: (index_operand): Use s_register_operand. 5536: (const_shift_operand): New function. 5537: (shift_operator): Also accept MULT by power of two. 5538: (equality_operator): New function. 5539: (minmax_operator): New function. 5540: (cc_register): New function. 5541: (minmax_code): New function. 5542: (adjacent_mem_locations): New function. 5543: (load_multiple_operation): New function. 5544: (store_multiple_operation): New function. 5545: (arm_gen_load_multiple): New function. 5546: (arm_gen_store_multiple): New function. 5547: (gen_compare_reg): New function. 5548: (arm_backwards_branch): New function. 5549: (short_branch): New function. 5550: (arm_insn_not_targeted): New function. 5551: (fp_immediate_constant): New function. 5552: (eliminate_lr2ip): New function. 5553: (output_call_mem): New function. 5554: (output_mov_long_double_fpu_from_arm): New function. 5555: (output_mov_long_double_arm_from_fpu): New function. 5556: (output_mov_long_double_arm_from_arm): New function. 5557: (output_move_double): output constants using output_move_immediate; 5558: sign_extend CONST_INTs; handle PRE/POST INCs. 5559: (shift_instr): Handle MULT. 5560: (output_shift_compare): New function. 5561: (pattern_really_clobbers_lr): New function. 5562: (function_really_clobbers_lr): New function. 5563: (output_return_instruction): New function. 5564: (output_prologue): Determine whether tail calling is possible, 5565: compensate for this when saving registers. Re-initialize 5566: return_used_this_function; use HARD_FRAME_POINTER_REGNUM, when 5567: saving floating point regs. 5568: (output_epilogue): Epilogue isn't needed if return_used_this_function; 5569: use HARD_FRAME_POINTER_REGNUM when restoring floating point regs 5570: and there is a stack frame; Arm 6 requires different return 5571: instruction. 5572: (output_load_symbol): New function. 5573: (final_prescan_insn): Add support for RETURN patterns; can also 5574: conditionalize and target a RETURN; use attributes to determine 5575: whether condition codes are set or clobbered; add new case CALL_INSN 5576: to switch, fail if Arm 6; support a jump inside a parallel; call 5577: recog () before returning to recover from using attributes on other 5578: insns. 5579: 5580: * arm.md (type): New attribute for scheduling. 5581: (cpu): New attribute for cpu type for use in conds attribute. 5582: (conds): New attribute to describe actions on condition codes, set in 5583: insns. 5584: (length): New attribute, set in insns. 5585: (write_conflict): New attribute describing conflicts with the write 5586: buffer. 5587: (fpa): New function unit for floating point co-processor. 5588: (write_buf): New function unit for Arm 6 write buffer. 5589: Most patterns: use s_register_operand instead of register_operand. 5590: Most patterns: Don't use general operand and then expect reload to 5591: do the work. 5592: (adddi3): op0 can be the same as ops1 or 2; clobbers condition codes. 5593: New unnamed patterns to add an SImode operand to a DImode op. 5594: (addsi3): accept constants that can be catered for using sub. 5595: New unnamed patterns that set conditions on add. 5596: (incscc): new pattern, conditional increment. 5597: New split to add some numbers in two insns. 5598: (addsf3): Use REAL_ARITHMETIC; support -ve immediates. 5599: (adddf3): Likewise. 5600: (FLOAT_EXTEND and ADD): New unnamed patterns. 5601: (addxf3): New pattern. 5602: (subdi3): Allow input and output operands to overlap exactly. 5603: (SUB DImode and SImode): New unnamed patterns. 5604: (subsi3): Don't accept a constant as last operand, it will never be 5605: matched. 5606: (SUB and set CC) New unnamed patterns. 5607: (decscc): new pattern, conditional decrment. 5608: (subdf3): Fix bad case alternative. 5609: (FLOAT_EXTEND and SUB): New unnamed patterns. 5610: (subxf3): New pattern. 5611: (mulsi3): Allow op2 to be the same as op0 5612: (MULT and set CC): New unnamed patterns. 5613: (MULT and ADD): Ops 2 and 3 can match op 0. 5614: (MULT, ADD and set CC): New unnamed patterns. 5615: (mulsf3): use fmls for faster multiply. 5616: (FLOAT_EXTEND and MULT): New unnamed patterns. 5617: (mulxf3): New pattern. 5618: (divsf3): use dvfs and rdfs for faster divide. 5619: (FLOAT_EXTEND and DIV): New unnamed patterns. 5620: (divxf3): New pattern. 5621: (FLOAT_EXTEND and MOD): New unnamed patterns. 5622: (modxf3): New pattern. 5623: (anddi3): op 0 can be the same as ops1 or 2. 5624: (*_EXTEND and AND): New unnamed patterns 5625: (andsi3): Also accept constants that can be handled with bic 5626: instruction. 5627: (AND and set CC): New unnamed patterns. 5628: (andcbsi3): Delete, this can't be generated any more. 5629: (NOT then AND): New unnamed patterns. 5630: (NOT then AND and set CC): Likewise. 5631: (iordi3): Ops 1 and 2 can match op 0. 5632: (*_EXTEND and IOR): New unnamed patterns. 5633: (iorsi3): Only accept a valid rhs operand for op 2. 5634: (IOR and set CC): New unnamed patterns. 5635: (xordi3): New pattern. 5636: (*_EXTEND and XOR): New unnamed patterns. 5637: (xorsi3): Only accept a valid rhs operand for op 2. 5638: (XOR and set CC): New unnamed patterns. 5639: (split pattern): Complex pattern with NOT, AND, and IOR, can 5640: sometimes produce better code if reordered. 5641: (AND (IOR () NOT ())): Special pattern to recognize spilt above. 5642: ([su]{min,max}si3): New patterns. 5643: (set memory from MIN/MAX operation): New pattern. 5644: (Arithmetic on MIN/MAX operation): New pattern. 5645: (ashlsi3, ashrsi3, lshrsi3, rotrsi3): Only accept a valid rsh for op2. 5646: (unnamed LSHIFT pattern): likewise. 5647: (SHIFT and set CC): New unnamed patterns. 5648: (SHIFT and NOT): New unnamed pattern. 5649: (SHIFT, NOT and set CC): New unnamed patterns. 5650: (negdi2): operand1 can be the same as op 0. 5651: (FLOAT_EXTEND and NEG): New unsigned pattern. 5652: (negxf2): New pattern. 5653: (abssi2): New pattern. 5654: (ABS and NEG): New unnamed pattern. 5655: (FLOAT_EXTEND and ABS): New unnamed pattern. 5656: (absxf2): New pattern. 5657: (FLOAT_EXTEND and SQRT): New unnamed pattern. 5658: (sqrtxf2): New pattern. 5659: ({sin,cos}{sf,df,xf}2): New patterns. 5660: (FLOAT_EXTEND and SIN/COS): New unnamed patterns. 5661: (one_cmpldi2): New pattern. 5662: (NOT and set CC): New unnamed patterns. 5663: (floatsixf2, fix_truncsfsi2, fix_truncdfsi2, fix_truncxfsi2): New 5664: patterns. 5665: (truncxfsf2, truncxfdf2): New patterns. 5666: (zero_extendsidi2, zero_extendqidi2, extendsidi2): New patterns. 5667: (ZERO_EXTEND and set CC): New patterns. 5668: (extend{sf,df}xf2): New patterns. 5669: (movdi): Constrains must accept PRE/POST INC/DEC. 5670: (movsi): make an expand that splits up integers and unsupported 5671: moves. 5672: (unnamed pattern to match movsi): New, don't allow things to 5673: be moved back together again. 5674: (REG-REG copy and set CC): New unnamed pattern. 5675: (restorehi): use plus_constant in expansion code, not PLUS in RTL part. 5676: (storehi, storeinthi): likewise. 5677: (movhi): Break up impossible moves. 5678: (pattern to match movhi): Don't allow impossible moves to be put 5679: back together. 5680: (movqi): Break up impossible moves. 5681: (pattern to match movqi): Don't allow impossible moves to be put 5682: back together; convert negative constants into mvn instruction. 5683: (movsf): Use REAL_ARITHMETIC for constants; add alternatives for 5684: moving GENERAL_REGS to and from memory. 5685: (movdf): Make this an expand; split out impossible moves. 5686: (reload_outdf): New pattern. 5687: (pattern to match movdf): Don't allow impossible moves to be put back 5688: together; add alternatives for moving GENERAL_REGS to and from memory; 5689: rearrange and weight to get optimal register allocation. 5690: (movxf): New pattern. 5691: (load_multiple): New expand pattern. 5692: (pattern to load multiple, pattern to load multiple with write-back): 5693: New unnamed patterns. 5694: (store_multiple): New expand pattern. 5695: (pattern to store multiple, pattern to store multiple with write-back): 5696: New unnamed patterns. 5697: (movstrsi): Expand short moves as a series of load/store multiples with 5698: write-back. 5699: (cmp*): Make these expands; just set some state variables. 5700: (CC = COMPARE op, op): New unnamed patterns. 5701: (CC = COMPARE op, NEG op): New unnamed pattern. 5702: (CC = COMPARE op, SHIFT op): New unnamed pattern. 5703: (FLOAT_EXTEND then COMPARE): New unnamed patterns. 5704: (CC = CC): New unnamed (dummy) pattern to allow cse to combine repeated 5705: compares. 5706: (b{eq,ne,le,lt,ge,gt,geu,gtu,leu,ltu}): Make these expand patterns, 5707: use gen_compare_reg(). 5708: (pattern to match branches, pattern to match inverted brances): New 5709: unnamed patterns. 5710: (s{eq,ne,le,lt,ge,gt,geu,gtu,leu,ltu}): New expands. 5711: (pattern to match store_flag operations): New unnamed pattern. 5712: (pattern to match NOT store_flag, pattern to match NEG store_flag): 5713: New unnamed patterns. 5714: (jump): handle arm_ccfsm_state explicitly. 5715: (CALL (MEM)): New unnamed patterns. 5716: (return): New pattern. 5717: (conditional RETURN): New unnamed patterns; 5718: (table_jump (MEM)): New unnamed pattern. 5719: (indirect_jump (MEM)): New unnamed pattern. 5720: Replace shift-arithmetic patterns with new versions that catche all 5721: cases. 5722: (Old peephole patterns (commented out)): remove. 5723: (shift-arithmetic and set CC): New unnamed patterns. 5724: (reload patterns for all shift-arithmetic patterns): New patterns. 5725: Add many new patterns to merge store_flag patterns, arithmetic and 5726: shifting. 5727: New patterns to match conditional comparisons. 5728: (movcond): New pattern. 5729: (arith (MEM, MEM+4)): New unnamed pattern to spot load multiple 5730: possibility. 5731: (patterns to match extended pre-increment): New unnamed patterns. 5732: (peepholes to match extended post-increment): New. 5733: (peephole to match move and set conds): Needed because combine misses 5734: this one. 5735: (peepholes to match load/store multiples): New. 5736: (CALL, RETURN): New peephole. 5737: (CALL, JUMP): New peephole. 5738: (save_stack_nonlocal, restore_stack_nonlocal): New expands for 5739: non-local gotos. 5740: special split to break up some conditional arithmetic sequences 5741: before scheduling. 5742: 5743: *configure (arm-*-riscix1.[01]*, arm-*-riscix*): New configurations. 5744: *config.sub: Recognize operating system "riscix*"; recognize acorn as 5745: vendor. 5746: 5747: Sat Oct 2 17:24:44 1993 James Van Artsdalen ([email protected]) 5748: 5749: * i386.md (addhi3): Use byte opcodes when the low byte of a word 5750: is known to be zero. 5751: 5752: Sat Oct 2 14:11:06 1993 John F Carr ([email protected]) 5753: 5754: * combine.c (can_combine_p): Allow an insn with a REG_EQUIV note 5755: that reads memory to be moved past an insn that writes memory. 5756: 5757: Sat Oct 2 14:04:03 1993 Richard Kenner ([email protected]) 5758: 5759: * regclass.c (record_reg_classes): Skip to next alternative 5760: when we skip normal cost computation. 5761: 5762: * collect2.c: Add prototypes to static declarations. 5763: (PROTO): New macro. 5764: (dup2, putenv): Functions return integers; add type and returns. 5765: 5766: * varasm.c (make_decl_rtl): Set TREE_SIDE_EFFECTS on global if 5767: -fvolatile-global. 5768: 5769: * tree.c (build_string): Make lifetime of string the same as 5770: tree node. 5771: 5772: Sat Oct 2 04:55:44 1993 Doug Evans ([email protected]) 5773: 5774: * a29k/a29k.h, a29k/unix.h, alpha/alpha.h, arm/arm.h, clipper/clix.h, 5775: convex/convex.h, elxsi/elxsi.h, fx80/fx80.h, gmicro/gmicro.h, 5776: h8300/h8300.h, i370/tm-mvs.h, i386/386bsd.h, i386/aix386ng.h, 5777: i386/gas.h, i386/go32.h, i386/linux.h, i386/lynx.h, i386/mach.h, 5778: i386/next.h, i386/osfelf.h, i386/osfrose.h, i386/sco.h, i386/sco4.h, 5779: i386/sco4dbx.h, i386/scodbx.h, i386/sequent.h, i386/sun.h, 5780: i386/sysv3.h, i386/sysv4.h, i860/fx2800.h, i860/i860.h, i860/mach.h, 5781: i860/sysv3.h, i860/sysv4.h, i960/i960.h, m68k/3b1.h, m68k/3b1g.h, 5782: m68k/altos3068.h, m68k/apollo68.h, m68k/crds.h, m68k/ctix.h, 5783: m68k/dpx2.h, m68k/hp2bsd.h, m68k/hp320.h, m68k/hp3bsd.h, 5784: m68k/hp3bsd44.h, m68k/isi.h, m68k/lynx.h, m68k/m68kv4.h, 5785: m68k/mot3300.h, m68k/news.h, m68k/next.h, m68k/pbb.h, m68k/plexus.h, 5786: m68k/sun2.h, m68k/sun3.h, m68k/sun3mach.h, m68k/tower-as.h, 5787: m68k/tower.h, m88k/dgux.h, m88k/luna.h, m88k/m88k.h, m88k/sysv3.h, 5788: m88k/sysv4.h, mips/bsd-4.h, mips/bsd-5.h, mips/dec-osf1.h, 5789: mips/iris3.h, mips/mips.h, mips/news4.h, mips/news5.h, 5790: mips/nws3250v4.h, mips/osfrose.h, mips/svr3-4.h, mips/svr3-5.h, 5791: mips/svr4-4.h, mips/svr4-5.h, mips/ultrix.h, ns32k/encore.h, 5792: ns32k/merlin.h, ns32k/ns32k.h, ns32k/pc532-mach.h, ns32k/pc532.h, 5793: ns32k/sequent.h, ns32k/tek6000.h, ns32k/tek6100.h, ns32k/tek6200.h, 5794: pa/pa-ghpux.h, pa/pa-gux7.h, pa/pa-hpux.h, pa/pa-hpux7.h, 5795: pa/pa-utahmach.h, pa/pa.h, pa/pa1-utahmach.h, pyr/pyr.h, romp/romp.h, 5796: rs6000/aix31.h, rs6000/mach.h, rs6000/rs6000.h, sh/sh.h, sparc/lite.h, 5797: sparc/lynx.h, sparc/pbd.h, sparc/sol2.h, sparc/sparc.h, sparc/sysv4.h, 5798: spur/spur.h, tahoe/harris.h, tahoe/tahoe.h, vax/ultrix.h, vax/vax.h, 5799: vax/vaxv.h, vax/vms.h, we32k/we32k.h 5800: (CPP_PREDEFINES): Add system/cpu/machine assertions where missing. 5801: 5802: Fri Oct 1 22:11:17 1993 Richard Stallman ([email protected]) 5803: 5804: * gvarargs.h: Test __sequent__ like __BSD_NET2__. 5805: 5806: Fri Oct 1 17:19:54 1993 Torbjorn Granlund ([email protected]) 5807: 5808: * cse.c (insert_regs): Always return something. 5809: (simplify_unary_operation): Remove unused variable. 5810: (cse_process_notes): Likewise. 5811: (invalidate_skipped_block): Likewise. 5812: (cse_set_around_loop): Likewise. 5813: 5814: * pa-ghpux.h (LINK_SPEC): Pass "-a -archive" when 5815: debugging. 5816: * pa-hpux.h (LINK_SPEC): Likewise. 5817: * pa-ghpux.h (LIB_SPEC): Make sure to add space between flags. 5818: * pa-gux7.h (LIB_SPEC): Likewise. 5819: * pa-hpux.h (LIB_SPEC): Likewise. 5820: * pa-hpux7.h (LIB_SPEC): Likewise. 5821: 5822: Fri Oct 1 22:17:12 1993 Eric Youngdale (eric@kafka) 5823: 5824: * vmsconfig.com: Write out the definitions from Makefile.in for 5825: the symbols BC_ALL and BI_OBJ into files BC_ALL.OPT and 5826: BI_ALL.opt. Remove "bytecode " from compiler options files so 5827: compiler will link correctly. 5828: 5829: * make-cc1.com (bc_generate): New VMS DCL function. Takes a BC 5830: header file that needs to be generated, and builds it. 5831: 5832: * make-cc1.com: Compile entries listed in BI_ALL.OPT, and then call 5833: bc_generate for every header file listed in BC_ALL.OPT 5834: 5835: Fri Oct 1 21:13:17 1993 H.J. Lu ([email protected]) 5836: 5837: * config/i386/linux.h (LIB_SPEC): Handle -p anmd -pg outermost. 5838: 5839: Fri Oct 1 18:23:57 1993 Jim Wilson ([email protected]) 5840: 5841: * reload1.c (gen_input_reload): Handle PLUS with MEM operand 5842: exactly the same as a PLUS with a REG operand. 5843: * reload.c (form_sum): Undo Sep 28 change. 5844: 5845: * Makefile.in (cc1, cc1plus, cc1obj): Delete superfluous 5846: dependencies on bytecode. 5847: (stamp-bcarity, stamp-bcopcode, stamp-bcopname): Create stamp files. 5848: 5849: Fri Oct 1 18:17:56 1993 Doug Evans ([email protected]) 5850: 5851: * configure (cpp_md_flags): New variable. 5852: (links): Build link from md.pre-cpp if cpp_md_flags defined. 5853: (CPP_MD, CPP_MD_FLAGS, MD_FILE): New macros for Makefile. 5854: * Makefile.in (md): New dependency. 5855: (MD_FILE): New macro. 5856: (clean): Remove file md if md.pre-cpp exists. 5857: (distclean): Remove md.pre-cpp. 5858: 5859: Fri Oct 1 15:44:48 1993 Michael Meissner ([email protected]) 5860: 5861: * halfpic.h (toplevel): Enclose the whole file inside a #ifndef 5862: NO_HALF_PIC conditional. 5863: 5864: * i386/x-osfrose (CCLIBFLAGS, GCC_CFLAGS): Define NO_HALF_PIC so 5865: that the two common variables in halfpic.h don't get created. 5866: 5867: * mips/x-osfrose (CCLIBFLAGS, GCC_CFLAGS): Ditto. 5868: 5869: Fri Oct 1 10:46:15 1993 Richard Kenner ([email protected]) 5870: 5871: * a29k.h (R_KR): New macro. 5872: (FIRST_PSEUDO_REGISTER, FIXED_REGISTERS, CALL_USED_REGISTERS): 5873: Adjust for more registers present. 5874: (REG_ALLOC_ORDER, REG_CLASS_CONTENTS, REGISTER_NAMES): Likewise. 5875: (HARD_REGNO_NREGS, HARD_REGNO_MODE_OK, REGNO_REG_CLASS): Likewise. 5876: (CONDITIONAL_REGISTER_USAGE): Swap names rather than replacing them. 5877: * a29k.c (gpc_reg_operand): Include kernel registers. 5878: 5879: * a29k.h (TARGET_LARGE_MEMORY): New flag; change value for 5880: all others. 5881: (ENCODE_SECTION_INFO): New macro. 5882: (TARGET_SWITCHES): Add "normal" and change values. 5883: 5884: * a29k.c (call_operand, case SYMBOL_REF): Handle TARGET_LARGE_MEMORY 5885: and SYMBOL_REF_FLAG. 5886: 5887: Thu Sep 30 23:25:13 1993 Jeffrey A. Law ([email protected]) 5888: 5889: * reorg.c (optimize_skip): Do not thread a jump to a new target if 5890: doing so would invalidate the insn in the jump's delay slot. 5891: 5892: Thu Sep 30 14:21:03 1993 Brendan Kehoe ([email protected]) 5893: 5894: * bi-lexer.c (scan_string): Do xmalloc if buffer is null and 5895: xrealloc if it's not, not the other way around. 5896: 5897: Thu Sep 30 10:57:30 1993 Jan Brittenson ([email protected]) 5898: 5899: * bc-emit.c (bc_end_function, seg_data): Use bcopy instead of memcpy. 5900: 5901: Thu Sep 30 05:53:58 1993 Richard Kenner ([email protected]) 5902: 5903: * fold-const.c (fold, case PLUS_EXPR, MINUS_EXPR): Properly handle 5904: case when ARG1 splits and VARSIGN is -1. 5905: 5906: Wed Sep 29 19:41:18 1993 Richard Stallman ([email protected]) 5907: 5908: * c-typeck.c (build_modify_expr): Check whether recursive calls 5909: return error_mark_node. 5910: 5911: Wed Sep 29 18:35:30 1993 Leonid Baraz ([email protected]) 5912: 5913: * rtl.h (GEN_INT): Add missing cast to HOST_WIDE_INT. 5914: * jump.c (rtx_renumbered_equal_p, case CONST_INT): Use INTVAL, 5915: not XINT. 5916: 5917: Wed Sep 29 17:32:03 1993 Doug Evans ([email protected]) 5918: 5919: * glimits.h (UINT_MAX, ULONG_MAX, ULONG_LONG_MAX): 5920: redefine in a simpler way. 5921: 5922: Wed Sep 29 17:25:17 1993 david d `zoo' zuhn ([email protected]) 5923: 5924: * fixincludes (sys/spinlock.h): change references of 5925: "../machine/*.h" to <machine/*.h> 5926: 5927: Wed Sep 29 07:09:50 1993 Richard Kenner ([email protected]) 5928: 5929: * rs6000.c (reg_or_short_operand): Remove redundant test. 5930: 5931: * sched.c: Add prototypes for static function. 5932: (add_dependence, remove_dependence, regno_use_in): Now static. 5933: (schedule_insns): Have dummy version also take FILE * parameter. 5934: 5935: Wed Sep 29 01:29:31 1993 Paul Eggert ([email protected]) 5936: 5937: * cccp.c (quote_string): New function. 5938: (special_symbol, write_output, output_line_command): Use it to escape 5939: special characters in file names when outputting #line directives. 5940: (do_line): Parse escape sequences in #line directives' file names. 5941: * c-lex.c, cp-lex.c (check_newline, yylex, real_yylex): Likewise. 5942: (ignore_escape_flag): Remove var. 5943: 5944: Tue Sep 28 21:27:26 1993 Richard Kenner ([email protected] 5945: 5946: * function.c (push_temp_slots, pop_temp_slots): Always change level. 5947: * cp-expr.c (cplus_expand_expr): Push and pop temp slots around 5948: making new temp slots and freeing them. 5949: * expr.c (expand_assignment, expand_expr, do_jumps): Likewise. 5950: * integrate.c (expand_inline_function): Likewise. 5951: 5952: Tue Sep 28 18:50:57 1993 Richard Stallman ([email protected]) 5953: 5954: * reload.c (find_reloads): Don't call find_reloads_toplev 5955: (or anything like that) for match_operator operands. 5956: 5957: * config/ns32k/ns32k.c (output_move_double): Special code for 5958: pushing from an address that uses the sp. Use PUSHOP for pushes, 5959: not POPOP. 5960: 5961: * config/ns32k/ns32k.h (FUNCTION_EPILOGUE, FUNCTION_PROLOGUE): 5962: Add %$ in adjspb/adjspd insns. 5963: * config/ns32k/ns32k.md (recognizer for subtracting const from reg 17): 5964: Add %$ in adjspb/adjspd insns. 5965: 5966: * bytetypes.h (QItype, HItype, SItype, DItype): Use __signed__. 5967: 5968: * Makefile.in (stamp-bcopname, stamp-bcopcode): 5969: Use shorter names for temporary files. 5970: (bc-emit.o): Depend on bc-arity.h. 5971: 5972: * bi-opname.c, bi-arity.c, bi-opcode.c (xmalloc): New function. 5973: * bi-opname.c, bi-arity.c: Include stdio.h. 5974: 5975: * function.c (expand_main_function): Put back accidentally 5976: deleted previous change to use NAME__MAIN. 5977: 5978: * glimits.h (INT_MAX, LONG_MAX, LONG_LONG_MAX): Delete parens. 5979: (__glimits__evconcat__, __glimits__concat__): New macros. 5980: (UINT_MAX, ULONG_MAX, ULONG_LONG_MAX): Use them. 5981: 5982: * cccp.c (output_dots): New function. 5983: (do_include): Call it (to indent output for print_include_names). 5984: 5985: Tue Sep 28 18:22:31 1993 Jim Wilson ([email protected]) 5986: 5987: * reload1.c (eliminate_regs): All recursive calls now pass INSN 5988: instead of NULL_RTX. Second assignment to ref_outside_mem changed 5989: to be same as first assignment. 5990: 5991: * combine.c (force_to_mode, LSHIFTRT case): Avoid shifts larger 5992: than HOST_BITS_PER_WIDE_INT. 5993: 5994: * sched.c (schedule_insns): Don't zero reg_n_calls_crossed for 5995: pseudos live across multiple blocks. 5996: 5997: * fixincludes ({sparc,sun3,sun3x,sun4,sun4c,sun4m}/asm_linkage.h, 5998: {sun4c,sun4m}/debug/asm_linkage.h: Replace /**/ with ##. 5999: 6000: * reorg.c (mark_target_live_regs): When scanning insns, ignore 6001: CLOBBERs in addition to USEs. 6002: 6003: * life.h: Comment that this is for sparclite w/o FPU. 6004: * sparc.h (CPP_SPEC): Handle -mf930 and -mf934. 6005: (TARGET_SWITCHES): Add -mf930 and -mf934 options. -msparclite no 6006: longer does -mno-fpu. 6007: 6008: * fixinc.svr4, fixincludes (math.h): Put #ifndef around HUGE_VAL 6009: define. 6010: * math-68881.h, math-3300.h (HUGE_VAL): Add #undef before HUGE_VAL 6011: define, instead of surrounding it with #ifndef/#endif. 6012: 6013: * sparc/bsd.h: New file. 6014: * configure (sparc-*-bsd*): New configuration. 6015: 6016: * reload.c (form_sum): Change the way that form_sum canonicalizes 6017: addresses, so that it never creates (PLUS (PLUS MEM CONST_INT) REG) 6018: but instead canonicallizes this to (PLUS (PLUS REG CONST_INT) MEM). 6019: 6020: Tue Sep 28 16:00:25 1993 Richard Stallman ([email protected]) 6021: 6022: * bc-emit.c: Include gvarargs.h, not varargs.h. 6023: Don't include string.h. 6024: (seg_align): Use bzero, not memset. 6025: 6026: Mon Sep 27 20:53:01 1993 Richard Stallman ([email protected]) 6027: 6028: * c-typeck.c (pop_init_level): Add special case for nonincremental 6029: scalar initializers. 6030: 6031: * protoize.c: Declare rindex unconditionally. 6032: 6033: * c-decl.c (init_decl_processing): Use signed_type and unsigned_type 6034: to set signed_wchar_type_node and unsigned_wchar_type_node. 6035: 6036: Mon Sep 27 20:31:01 1993 Paul Eggert ([email protected]) 6037: 6038: * dbxout.c (dbxout_init, dbxout_source_file): Quote special 6039: characters when outputting source file names. 6040: * config/a29k/a29k.h, config/a29k/unix.h, config/alpha/alpha.h, 6041: config/i386/aix386ng.h, config/i386/bsd.h, config/i386/gas.h, 6042: config/i386/sun386.h (ASM_FILE_START): Likewise. 6043: * config/elxsi/elxsi.h, config/m68k/3b1.h, config/m68k/crds.h, 6044: config/m68k/mot3300.h, config/m68k/tower-as.h, config/m88k/m88k.h, 6045: dwarfout.c (ASM_OUTPUT_SOURCE_FILENAME): Likewise. 6046: * xcoffout.h, config/i386/i386iscgas.h, config/i860/fx2800.h 6047: (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY, DBX_OUTPUT_MAIN_SOURCE_FILENAME): 6048: Likewise. 6049: * xcoffout.h (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. 6050: * config/mips/mips.c (mips_output_filename): Likewise. 6051: * toplev.c (output_file_directive): Likewise. 6052: (output_quoted_string): New function. 6053: 6054: Mon Sep 27 19:31:57 1993 Richard Stallman ([email protected]) 6055: 6056: * bi-lexer.c (xrealloc): Handle 0 passed as BLOCK. 6057: 6058: * Makefile.in (stamp-bcopname, stamp-bcopcode, stamp-bcarity): 6059: Renamed from stamp-bc-... to fit in 14 chars. 6060: Don't rm the .h files. 6061: (STAGESTUFF): Add some bc and bi files. 6062: 6063: * c-lex.c (yylex): Handle i together with f or l in float constant. 6064: 6065: Mon Sep 27 19:00:18 1993 Ian Lance Taylor ([email protected]) 6066: 6067: * cccp.c (special_symbol, initialize_builtins): If 6068: NO_BUILTIN_SIZE_TYPE is defined, never refer to SIZE_TYPE. 6069: Likewise for NO_BUILTIN_PTRDIFF_TYPE and PTRDIFF_TYPE. 6070: 6071: Mon Sep 27 18:59:09 1993 Richard Stallman ([email protected]) 6072: 6073: * reload1.c (eliminate_regs, SET case): Check for INSN_LIST 6074: along with EXPR_LIST. 6075: 6076: Mon Sep 27 14:29:17 1993 Kresten Krab Thorup ([email protected]) 6077: 6078: * objc/typedstream.h (objc_read_object): Add declaration. 6079: 6080: Mon Sep 27 17:00:38 1993 Richard Stallman ([email protected]) 6081: 6082: * configure: Handle option --with-elf. 6083: (i[34]86-*-linux*): Use linuxelf.h if --with-elf. 6084: (i[34]86-*-osfelf): Config deleted. 6085: (i[34]86-*-osfrose): Handle --with-elf. 6086: * config/i386/linuxelf.h: New file. 6087: 6088: Mon Sep 27 14:19:33 1993 Jan Brittenson ([email protected]) 6089: 6090: * expr.c (bc_expand_constructor): Delete cast of argument to 6091: bc_emit_instruction to HOST_WIDE_INT. Move assignment of ptroffs 6092: to separate line. 6093: 6094: Mon Sep 27 10:32:28 1993 Richard Kenner ([email protected]) 6095: 6096: * Makefile.in (stmt.o, expr.o, emit-rtl.o): Add missing dependency 6097: on bc-typecd.def. 6098: (bi-run.o): Fix formatting. 6099: 6100: Mon Sep 27 10:26:43 1993 Jan Brittenson ([email protected]) 6101: 6102: * Makefile.in (bi-arity.h, bc-opcode.h, bc-opname.h): Use 6103: move-if-changed. 6104: (stamp-bc-arity, stamp-bc-opcode, stamp-bc-opname): New targets. 6105: 6106: Sun Sep 26 23:11:34 1993 Jeffrey A. Law ([email protected]) 6107: 6108: * pa.h (ASM_FILE_START): Remove last change for $LIT$ subspace, 6109: not all HPUX linkers handle it correctly. 6110: 6111: Sun Sep 26 20:51:36 1993 Richard Stallman ([email protected]) 6112: 6113: * stmt.c (expand_exit_loop_if_false, bc_expand_start_cond): 6114: Use xjumpifnot, not jumpifnot. 6115: 6116: * Makefile.in (bi-arity, bi-opcode, bi-opname): Delete $(LEXLIB). 6117: 6118: * varasm.c (assemble_string): Put braces around ASM_OUTPUT_ASCII. 6119: 6120: Sat Sep 25 08:30:16 1993 Richard Kenner ([email protected]) 6121: 6122: * expr.c (expand_expr, case COND_EXPR): Set MEM_IN_STRUCT_P 6123: properly for TEMP. 6124: 6125: * combine.c (BYTE_LOADS_EXTEND, LOAD_EXTEND): Deleted. 6126: (subst, force_to_mode, nonzero_bits, num_sign_bit_copies): 6127: Use new macros LOAD_EXTEND_OP and WORD_REGISTER_OPERATION instead 6128: of BYTE_LOADS_*_EXTEND and LOAD_EXTEND. 6129: * expr.c (do_store_flag): Likewise. 6130: * reload.c (push_reload, find_reloads): Likewise. 6131: * reload1.c (eliminate_regs): Likewise. 6132: * a29k.h, alpha.h, clipper.h, arm.h, i960.h, m88k.h, mips.h: 6133: Use WORD_REGISTER_OPERATION and LOAD_EXTEND_OP and delete 6134: BYTE_LOADS_{SIGN,ZERO}_EXTEND. 6135: * pa.h, romp.h, rs6000.h, sh.h, sparc.h: Likewise. 6136: 6137: Sat Sep 25 06:19:20 1993 Jan Brittenson ([email protected]) 6138: 6139: * bi-lexer.l: Deleted. 6140: 6141: * bi-lexer.c: New file. 6142: 6143: * Makefile.in (bi-lexer): Deleted. 6144: (bi-lexer.l): Deleted. 6145: 6146: Fri Sep 24 16:59:03 1993 Brendan Kehoe ([email protected]) 6147: 6148: Cygnus<->FSF C++ front-end merge. 6149: 6150: Tue Sep 21 19:17:29 1993 Mike Stump ([email protected]) 6151: 6152: * cp-decl.c (build_ptrmemfunc_type): Set CLASSTYPE_GOT_SEMICOLON 6153: just in case. 6154: * cp-decl.c (start_function): Exclude pointer to member functions in 6155: IS_AGGR_TYPE test. 6156: * cp-method.c (dump_type_prefix, dump_type_suffix, dump_type): 6157: Handle pointer to member functions. 6158: 6159: Tue Sep 21 10:47:10 1993 Mike Stump ([email protected]) 6160: 6161: * cp-tree.c (finish_struct): Since we know which base class we want 6162: the binfo for, get it directly, instead of searching for it. Cures 6163: a compiler_error in binfo_value. 6164: 6165: Thu Sep 16 20:33:25 1993 Mike Stump ([email protected]) 6166: 6167: * cp-cvt.c (convert_pointer_to): Make error more specific and more 6168: readable. 6169: 6170: Thu Sep 16 20:14:18 1993 Mike Stump ([email protected]) 6171: 6172: * cp-lex.c (consume_string): Add second argument so that we can use 6173: this routine for character constants too. Also, handle eof inside 6174: the string or character constant better. Make static, as it isn't 6175: used anyplace else. 6176: 6177: * cp-lex.c (reinit_parse_for_block): Add second argument to 6178: consume_string. Add support for character constants. 6179: 6180: * cp-tree.h (consume_string): Remove declaration, not used any place 6181: else. 6182: 6183: Wed Sep 15 12:44:13 1993 Per Bothner ([email protected]) 6184: 6185: * cp-gc.c (build_t_desc): Make sure finish_table is called 6186: for the methods and ivars tables. 6187: 6188: Mon Sep 13 14:40:23 1993 Brendan Kehoe ([email protected]) 6189: 6190: * cp-pt.c (unify): Use the referent type if necessary. 6191: 6192: Fri Sep 10 16:34:37 1993 Mike Stump ([email protected]) 6193: 6194: * cp-typeck.c (build_binary_op_nodefault): Add missing fourth 6195: argument to build_binary_op calls, and eliminate bogus delta2 6196: check. 6197: 6198: Fri Sep 10 14:52:59 1993 Mike Stump ([email protected]) 6199: 6200: * cp-typeck.c (build_binary_op_nodefault): Make sure delta2's match 6201: when comparing pointers to _virtual_ member functions. 6202: 6203: Fri Sep 10 14:27:45 1993 Mike Stump ([email protected]) 6204: 6205: * cp-typeck.c (convert_for_assignment): Revert a cast. 6206: * cp-typeck.c (build_binary_op_nodefault): Add missing fourth 6207: argument to build_binary_op calls. 6208: 6209: Thu Sep 9 21:22:40 1993 Mike Stump ([email protected]) 6210: 6211: Complete re-vamp of pointer to member functions. Implements 6212: complete semantics. Cures problems on CONVEX, i960 and alpha. 6213: 6214: * cp-tree.h (get_member_function_from_ptrfunc, build_ptrmemfunc): 6215: New routines. 6216: * cp-decl.c (build_ptrmemfunc_type): New routine, builds canonical 6217: pointer to member function types. 6218: * cp-decl.c (grokdeclarator): Use new type for POINTER_TYPE to 6219: METHOD_TYPEs. 6220: * cp-method.c (build_overload_name): Make the old mangling to show 6221: through when mangling the new pointer to member function type. 6222: 6223: * cp-tree.h (TYPE_PTRMEMFUNC_P, TYPE_PTRMEMFUNC_FN_TYPE, 6224: TYPE_GET_PTRMEMFUNC_TYPE, TYPE_SET_PTRMEMFUNC_TYPE): New macros 6225: for pointer to member function code. 6226: * cp-init.c (resolve_offset_ref): Handle pointer to member functions 6227: specially. 6228: * cp-type2.c (store_init_value): Make new pointer to member 6229: functions initializable. 6230: * cp-typeck.c (convert_for_assignment): Make new pointer to member 6231: functions assignable. 6232: * cp-type2.c (build_m_component_ref): Make new pointer to member 6233: functions work. 6234: * cp-typeck.c (build_x_function_call, build_function_call_real, 6235: build_binary_op): Ditto. 6236: * cp-class.c (add_virtual_function): Don't set the high bit on 6237: DECL_VINDEXs. 6238: 6239: * cp-typeck.c (get_member_function_from_ptrfunc): New routine to 6240: resolve a pointer to member function. 6241: * cp-typeck.c (build_ptrmemfunc): New routine to build CONSTRUCTORs 6242: for new pointer to member functions. Used by to generate 6243: initialization and assignment expressions. 6244: * cp-typeck.c (build_binary_op_nodefault): Implement == and != for 6245: new pointer to member functions. 6246: * cp-typeck.c (unary_complex_lvalue): Handle & in more reasonable 6247: ways to make new pointer to member functions work. 6248: 6249: * cp-parse.y (expr_no_commas): Don't dereference the second 6250: argument, this is now done in build_m_component_ref as needed. 6251: * cp-typeck.c (build_x_binary_op): Ditto. 6252: 6253: Other misc work. 6254: 6255: * cp-call.c (build_field_call, build_scoped_method_call, 6256: build_method_call): Second arg to build_indirect_ref should be 6257: NULL_PTR, not NULL or 0. 6258: * cp-class.c (build_vbase_path, build_vfn_ref, popclass): Ditto. 6259: * cp-cvt.c (convert_from_reference): Ditto. 6260: * cp-decl2.c (setup_vtbl_ptr, finish_file): Ditto. 6261: * cp-init.c (emit_base_init, build_virtual_init, 6262: expand_aggr_vbase_init_1, expand_recursive_init_1, 6263: get_member_function, resolve_offset_ref, build_new, build_delete, 6264: build_vec_delete): Ditto. 6265: * cp-search.c (dfs_init_vbase_pointers, init_vbase_pointers, 6266: build_vbase_vtables_init): Ditto. 6267: * cp-type2.c (build_x_arrow, build_functional_cast): Ditto. 6268: * cp-typeck.c (build_modify_expr): Ditto. 6269: 6270: Instead of calling get_identifier with the same value all the time, 6271: call it once, and re-use the cached value. 6272: 6273: * cp-decl.c (pfn_identifier, index_identifier, delta_identifier, 6274: delta2_identifier): New cached calls to get_identifier. 6275: * cp-tree.h (this_identifier, pfn_identifier, index_identifier, 6276: delta_identifier, delta2_identifier): Allow them to be accessed 6277: everywhere. 6278: * cp-decl.c (init_decl_processing): Initialize pfn_identifier, 6279: index_identifier, delta_identifier and delta2_identifier and 6280: use a cached get_identifier call. 6281: * cp-class.c (delta_name, pfn_name): Removed, use delta_identifier 6282: and pfn_identifier instead. 6283: * cp-class.c (popclass): Use a cached get_identifier call for `this'. 6284: 6285: Tue Sep 7 16:01:14 1993 Brendan Kehoe ([email protected]) 6286: 6287: * cp-search.c (immediately_derived): New function. 6288: (get_binfo): Use it. 6289: (compute_visibility): Rewrite how private inheritance is handled, so 6290: it actually works. Use the new immediately_derived fn. 6291: 6292: Mon Sep 6 14:44:46 1993 Jim Wilson ([email protected]) 6293: 6294: * cp-decl.c (grokfndecl): Add empty statement after foundaggr label. 6295: 6296: Sat Sep 4 16:12:27 1993 Jason Merrill ([email protected]) 6297: 6298: * cp-decl.c (grokfndecl): Require class or enum argument to 6299: operators. 6300: 6301: * cp-init.c (build_member_call): Make destructor without object 6302: error more useful, don't complain of missing destructor. 6303: 6304: Thu Sep 2 15:51:54 1993 Brendan Kehoe ([email protected]) 6305: 6306: * cp-decl.c (globalize_nested_type): Make sure the type in question 6307: has a lang_specific area before trying to clear DECL_CLASS_CONTEXT. 6308: 6309: Wed Sep 1 13:40:30 1993 Chip Salzenberg (chip@fin) 6310: 6311: * cp-decl.c (start_function): Call duplicate_decls when user 6312: redefines a builtin function. 6313: 6314: Thu Sep 2 15:38:43 1993 Brendan Kehoe ([email protected]) 6315: 6316: * cp-pt.c (instantiate_class_template): Only kick back the local 6317: value if we're setting things up for the parser. 6318: 6319: Wed Sep 1 12:54:38 1993 Brendan Kehoe ([email protected]) 6320: 6321: * cp-init.c (emit_base_init): Don't complain if the base has no 6322: constructor; we should try to use the default constructor instead. 6323: 6324: Wed Sep 1 11:57:00 1993 Brendan Kehoe ([email protected]) 6325: 6326: * cp-call.c (find_scoped_type): Undo the sorry for now, it's hitting 6327: a lot of code that it shouldn't be. 6328: 6329: Mon Aug 30 13:08:48 1993 Mike Stump ([email protected]) 6330: 6331: * cp-typeck.c (build_x_unary_op): unary & on an expression of 6332: RECORD_TYPE that has an incomplete type gives the simple address of 6333: the object, and should not give an error about method not found. 6334: 6335: Mon Aug 30 11:06:26 1993 Brendan Kehoe ([email protected]) 6336: 6337: * cp-pt.c (instantiate_class_template): Don't try to instantiate a 6338: template that's already being worked on. 6339: 6340: * cp-init.c (perform_member_init): Make an uninitialized reference 6341: be a pedwarn, not a warning. 6342: 6343: * cp-class.c (finish_struct): Make declaration of a negative width 6344: for a bit-field be an error, not a warning. 6345: 6346: Sat Aug 28 09:40:47 1993 Michael Tiemann ([email protected]) 6347: 6348: * cp-call.c (find_scoped_type): Add a `sorry' call if we hit an 6349: uninstantiated type. 6350: 6351: Thu Aug 26 13:53:23 1993 Jason Merrill ([email protected]) 6352: 6353: * cp-call.c (build_scoped_method_call): Don't produce an error 6354: if the type has no destructor. 6355: 6356: * cp-decl.c (record_builtin_type): Don't set TYPE_HAS_DESTRUCTOR 6357: after all. 6358: 6359: Wed Aug 25 19:10:24 1993 Jason Merrill ([email protected]) 6360: 6361: * cp-call.c (build_method_call): Check for class type value as 6362: well 6363: 6364: * cp-tree.h (IDENTIFIER_CLASS_TYPE_VALUE): Create macro 6365: (IDENTIFIER_HAS_CLASS_TYPE_VALUE): Ditto 6366: 6367: * cp-init.c (is_aggr_typedef): Check for class type value as well 6368: (for template destructors) 6369: (build_delete): Don't assert aggregate type, don't check 6370: TREE_GETS_DELETE if built-in type. 6371: 6372: Fri Sep 24 15:57:14 1993 Richard Earnshaw ([email protected]) 6373: 6374: * rtl.h: (HARD_FRAME_POINTER_REGNUM): New macro. 6375: (hard_frame_pointer_rtx): New variable 6376: * combine.c: (combinable_i3_pat): Don't add REG_DEAD notes for 6377: HARD_FRAME_POINTER_REGNUM. 6378: (subst, case SUBREG): Don't change register number or mode if it 6379: is HARD_FRAME_POINTER_REGNUM. 6380: * cse.c: (FIXED_REGNO_P): HARD_FRAME_POINTER_REGNUM is fixed. 6381: (CHEAP_REG): HARD_FRAME_POINTER_REGNUM is cheap. 6382: (FIXED_BASE_PLUS): Allow hard frame pointer as base. 6383: (NONZERO_BASE_PLUS_P): Likewise. 6384: (cannon_hash, case REG): Add HARD_FRAME_POINTER_REGNUM to list of 6385: special registers for SMALL_REGISTER_CLASSES. 6386: (find_best_addr): Addresses containing HARD_FRAME_POINTER_REGNUM 6387: cannot be replaced. 6388: (cse_main): value in HARD_FRAME_POINTER_REGNUM is preserved across 6389: calls. 6390: * dbxout.c: (dbxout_symbol): FRAME_POINTER_REGNUM has been eliminated 6391: by now, use HARD_FRAME_POINTER_REGNUM. 6392: * emit-rtl.c: (hard_frame_pointer_rtx): New variable. 6393: (gen_rtx): return hard_frame_pointer_rtx if generating rtl 6394: for HARD_FRAME_POINTER_REGNUM. 6395: (enit_emit_once): Generate initial rtl for hard_frame_pointer_rtx. 6396: * explow.c: (copy_all_regs): Don't copy HARD_FRAME_POINTER_REGNUM. 6397: * flow.c: (life_analysis): Mark HARD_FRAME_POINTER_REGNUM as live at 6398: the end of the function. 6399: (insn_dead_p): Don't delete insns that set the hard frame pointer. 6400: (mark_set_1): Don't add death information about 6401: HARD_FRAME_POINTER_REGNUM. 6402: (mark_used_regs, case REG): Don't put HARD_FRAME_POINTER_REGNUM in 6403: regs_ever_live. Don't mark it as needed either. 6404: * function.c: (instantiate_virtual_regs_1, case MEM): references to 6405: MEM via the hard frame pointer shouldn't be copied. 6406: * genattrtab.c: (hard_frame_pointer_rtx): New Dummy definition. 6407: * global.c: (global_alloc): Make sure that it is always possible to 6408: eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM. 6409: * jump.c: (thread_jumps): Value in HARD_FRAME_POINTER_REGNUM is never 6410: modified by a call. 6411: * local-alloc.c: (find_free_reg): Make sure we will always be able 6412: to eliminate FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM. 6413: * loop.c: (invariant_p, case REG): hard_frame_pointer_rtx is 6414: invariant. 6415: * reload.c: (immune_p): Constants never overlap hard frame pointer 6416: references. 6417: (find_reloads_address): Compute invalid references to the hard 6418: frame pointer in a register; also (reg + const) 6419: and (reg + reg + const). 6420: 6421: * reload1.c: (init_reload): use HARD_FRAME_POINTER_REGNUM instead of 6422: FRAME_POINTER_REGNUM. 6423: (reload): Only prohibit elimination of HARD_FRAME_POINTER_REGNUM, not 6424: FRAME_POINTER_REGNUM if frame_pointer_needed. Never prohibit 6425: elimination of FRAME_POINTER_REGNUM into HARD_FRAME_POINTER_REGNUM. 6426: Mark HARD_FRAME_POINTER_REGNUM as live at the start of a block if 6427: it is still needed after elimination. 6428: (eliminate_regs): For non-local goto's, don't delete stores into the 6429: hard frame pointer. 6430: (eliminate_regs_in_insn): adjust comment. 6431: (mark_not_eliminable): if frame_pointer_rtx and hard_frame_pointer_rtx 6432: are not the same, then frame_pointer_rtx is eliminable; 6433: hard_frame_pointer_rtx never is if it is set.. 6434: (order_regs_for_reload): HARD_FRAME_POINTER_REGNUM is a bad spill reg. 6435: (choose_reload_regs): HARD_FRAME_POINTER_REGNUM is a bad choice. 6436: * reorg.c: (mark_referenced_resource): if frame_pointer_needed, 6437: HARD_FRAME_POINTER_REGNUM is also a referenced resource. 6438: (mark_target_live_regs): value in HARD_FRAME_POINTER_REGNUM is not 6439: call-clobbered. 6440: (dbr_schedule): HARD_FRAME_POINTER_REGNUM should be valid at the 6441: end of a function. 6442: * rtlanal.c: (rtx_unstable_p): HARD_FRAME_POINTER_REGNUM is not 6443: an unstable register. 6444: (rtx_varies_p, case REG): hard_frame_pointer_rtx is invariant. 6445: (rtx_addr_can_trap_p, case REG): hard_frame_pointer_rtx won't trap. 6446: * sched.c: (memrefs_conflict_p): We can work out whether references 6447: via hard_frame_pointer_rtx are likely to conflict. 6448: (attach_deaths, case REG): Don't add death notes for 6449: HARD_FRAME_POINTER_REGNUM. 6450: * sdbout.c: (sdbout_symbol): Use HARD_FRAME_POINTER_REGNUM instead of 6451: FRAME_POINTER_REGNUM. 6452: * stmt.c: (expand_goto): Set hard_frame_pointer_rtx when restoring 6453: the frame. Use it when restoring other registers. 6454: (expand_end_bindings): ARG_POINTER_REGNUM will be eliminated into 6455: HARD_FRAME_POINTER_REGNUM, not FRAME_POINTER_REGNUM; adjust code 6456: accordingly. 6457: * stupid.c: (stupid_find_reg): never use HARD_FRAME_POINTER_REGNUM. 6458: 6459: Fri Sep 24 15:05:14 1993 Richard Stallman ([email protected]) 6460: 6461: * reload1.c (eliminate_regs): Specially handle the case where INSN 6462: is a note (an EXPR_LIST or INSN_LIST). 6463: (eliminate_regs_in_insn): Pass the notes as INSN, 6464: when calling eliminate_insn to process the notes. 6465: 6466: Fri Sep 24 11:29:26 1993 Michael Meissner ([email protected]) 6467: 6468: * i386/osfrose.h (SET_ASM_OP): Define. 6469: 6470: Fri Sep 24 04:47:33 1993 Jan Brittenson ([email protected]) 6471: 6472: * Makefile.in (toplev.o): Add bytecode.h and bc-emit.h to list 6473: of dependencies. 6474: (stmt.o): Add bytecode.h, bc-typecd.h, bc-opcode.h, bc-optab.h, 6475: and bc-emit.h to list of dependencies. 6476: (expr.o): Add bytecode.h, bc-opcode.h, bc-typecd.h, bc-optab.h, 6477: bc-emit.h, and modemap.def to list of dependencies. 6478: (emit-rtl.o): Add bytecode.h, bc-opcode.h, bc-typecd.h, 6479: bc-optab.h, bc-emit.h, bc-opname.h to list of dependencies. 6480: (integrate.o, regclass.o, varasm.o, function.o): Add bytecode.h to 6481: list of dependencies. 6482: 6483: Thu Sep 23 23:58:58 1993 James Van Artsdalen ([email protected]) 6484: 6485: * att.h (ASM_OUTPUT_ASCII): Enclose macro in "do { .. } while (0)". 6486: * sun386.h (ASM_OUTPUT_ASCII): Likewise. 6487: 6488: Thu Sep 23 11:55:47 1993 Ted Lemon ([email protected]) 6489: 6490: * toplev.c (lang_options): Add -fallow-single-precision. 6491: 6492: Thu Sep 23 00:40:28 1993 Richard Stallman ([email protected]) 6493: 6494: * Makefile.in (bi-parser.c): Supply explicit rule. 6495: Add bi-parser.h as target. 6496: Put these files in srcdir. 6497: 6498: * bc-emit.c (bc_gen_rtx): Call gen_rtx. 6499: (bc_print_rtl): #if 0 the contents. 6500: 6501: * Makefile.in (bc-optab.o, bc-emit.o): Add missing deps. 6502: (bi-parser.c, bi-lexer.c): Don't depend on .h files here. 6503: 6504: * varasm.c (handle_pragma_weak): Test HANDLE_PRAGMA_WEAK 6505: and WEAK_ASM_OP and SET_ASM_OP. 6506: 6507: * Makefile.in (stmt.o): Fix typo. 6508: 6509: * emit-rtl.c (gen_label_rtx): If output_bytecode, make a CODE_LABEL 6510: but with different contents. 6511: 6512: * rtl.h (BYTECODE_LABEL, BYTECODE_OFFSET, BYTECODE_BC_LABEL): 6513: (BYTECODE_UID): New macros. 6514: (struct rtx_def): Delete elements label, offset, bc_label, uid. 6515: 6516: * Makefile.in (bc-arity.h, bc-opcode.h, bc-opname.h): Use `./'. 6517: (bi-arity, bi-opcode, bi-opname, bi-lexer): Use host compiler. 6518: Link with HOST_LIBS and depend on HOST_LIBDEPS. 6519: (bi-unparse): Deleted. 6520: (bytecode.distclean): Don't do anything with bi-unparse 6521: (bi-arity.o, bi-opcode.o, bi-opname.o, bi-parser.o, bi-reverse.o) 6522: (bi-lexer.o): Use host compiler. 6523: 6524: * expr.c (expand_increment): Don't store directly ito a subreg 6525: that is narrower than a word. 6526: 6527: Wed Sep 22 22:18:35 1993 Chip Salzenberg ([email protected]) 6528: 6529: * combine.c (init_reg_last_arrays): New function. 6530: (combine_instructions): Use it. 6531: (force_to_mode): Narrow mask to fit mode (except VOIDmode). 6532: (record_value_for_reg): When zeroing reg_last_set_value, also 6533: zero reg_last_set_{mode,nonzero_bits,sign_bit_copies}. 6534: (record_dead_and_set_regs): Likewise. 6535: 6536: Wed Sep 22 22:13:07 1993 James Van Artsdalen ([email protected]) 6537: 6538: * bc-emit.c (bc_initialize): Add MODE arg to REAL_VALUE_ATOF calls. 6539: 6540: * Makefile.in (bi-lexer.c): File is in $(srcdir). 6541: 6542: * reg-stack.c (record_label_references): Don't follow a null label 6543: reference chain. 6544: 6545: Wed Sep 22 15:56:27 1993 Richard Stallman ([email protected]) 6546: 6547: * Makefile.in (bi-arity, bi-opcode, bi-opname, bi-unparse, bi-lexer): 6548: Make the rules explicit. Don't use $^. 6549: (bi-run.o, bi-parser.o, bi-lexer.o): Eliminate $<. 6550: (bc-arity.h, bc-opcode.h, bc-opname.h): Eliminate $< and $@. 6551: 6552: * c-typeck.c (set_init_index): Handle and allow CONST_DECL. 6553: (build_c_cast): When making a CONSTRUCTOR for a union cast, 6554: specify its type. 6555: 6556: * Makefile.in (bi-lexer.o, bi-parser.o): Use ALL_CFLAGS. 6557: 6558: * bi-arity.c (main): Make sure there's some value within 6559: each pair of braces. 6560: 6561: * expr.c (bc_adjust_stack): Use VALIDATE_STACK_FOR_BC, 6562: not VALIDATE_STACK. 6563: * bc-emit.c (bc_emit_bytecode): Likewise. 6564: (bc_emit_instruction) [! __GNUC__]: Don't really use bc-typecd.def. 6565: 6566: * varasm.c (bc_assemble_integer): Make definition static. 6567: 6568: * expr.c (bc_strdup): Don't use strcpy's value. 6569: 6570: * bytetypes.h: New file. Typedefs moved from bytecode.h. 6571: (union stacktype): Moved here. 6572: * bytecode.h: Typedefs deleted. 6573: * bi-run.h: (union stacktype): Deleted. 6574: (BI_PARAMS): Don't continue the parmlist. 6575: * bc-emit.c: Include bytetypes.h, if __GNUC__. 6576: 6577: Wed Sep 22 15:49:47 1993 Ted Lemon ([email protected]) 6578: 6579: * c-decl.c (flag_allow_single_precision): New variable. 6580: (c_decode_option): Handle -fallow-single-precision. 6581: * c-tree.h (flag_allow_single_precision): Declared. 6582: * c-typeck.c (default_conversion): Implement -fallow-single-precision. 6583: 6584: Wed Sep 22 11:18:24 1993 Mike Stump ([email protected]) 6585: 6586: * cp-class.c (finish_struct): Move special C++ only code that 6587: handles anonymous unions inside structures here. 6588: * stor-layout.c (layout_record): From here. 6589: 6590: Wed Sep 22 14:14:55 1993 Richard Stallman ([email protected]) 6591: 6592: * enquire.c (FPROP): Recognize 80387 or 68881 XFmode format. 6593: 6594: * c-typeck.c (build_component_ref): For a field in an anonymous union, 6595: make two nested COMPONENT_REFs. 6596: (lookup_field): Additional arg INDIRECT. 6597: 6598: Wed Sep 22 14:45:42 1993 Kresten Krab Thorup ([email protected]) 6599: 6600: * tm.texi (CLEAR_INSN_CACHE): New macro. 6601: * libgcc2.c (__clear_cache): add case for new CLEAR_INSN_CACHE. 6602: 6603: * libgcc2.c (__enable_execute_stack): Add case for NeXT/__MACH__. 6604: * config/m68k/next.h (INITIALIZE_TRAMPOLINE): Append call to 6605: __enable_execute_stack. 6606: (CLEAR_INSN_CACHE): New macro. 6607: 6608: * varasm.c (output_constructor): Use the type given 6609: by the constructor expression only if available. Otherwise 6610: use the type of the declared type. 6611: 6612: Tue Sep 21 19:51:26 1993 Andrew McCallum ([email protected]) 6613: 6614: * objc/Object.[hm] (-compare:, -shouldNotImplement:): Added. 6615: 6616: * objc/archive.c (objc_write_type, objc_write_types): Take 6617: take char** args for writing strings in stead of char* to 6618: match NeXT. Also correct some typos in error messages. 6619: 6620: Tue Sep 21 18:35:04 1993 Per Bothner ([email protected]) 6621: 6622: * c-typeck.c (push_member_name): Take a decl instead of a string. 6623: Allow DECL_NAME to be NULL (anonymous fields). 6624: * c-typeck.c (push_init_level, process_init_element): Change 6625: callers appropriately. 6626: 6627: Tue Sep 21 16:44:17 1993 Richard Stallman ([email protected]) 6628: 6629: * libgcc2.c (L_bb): Test inhibit_libc. 6630: 6631: * Makefile.in (ENQUIRE, CROSS_TEST): New variables. 6632: (all.cross): Use them. 6633: 6634: * mips-tfile.c, mips-tdump.c [CROSS_COMPILE]: Include mips/a.out.h. 6635: 6636: * arm.h, clipper.h, i386.h, i860.h, pyr.h, spur.h: 6637: (INIT_CUMULATIVE_ARGS): Pass just the return value type 6638: to aggregate_value_p. 6639: 6640: Tue Sep 21 10:50:19 1993 Jan Brittenson ([email protected]) 6641: 6642: * emit-rtl.c (gen_label_rtx, emit_line_note): add conditional for 6643: bytecode. 6644: 6645: * expr.c (mode_to_const_map, mode_to_load_map, mode_to_store_map): 6646: new variable. 6647: (bc_init_mode_to_opcode_maps): new function; initialize maps. 6648: (expand_assignment, expand_expr, expand_increment): add 6649: conditional for bytecode. 6650: (bc_expand_expr, bc_load_memory, bc_store_memory, 6651: bc_allocate_local, bc_allocate_variable_array, bc_load_externaddr, 6652: bc_strdup, bc_load_externaddr_id, bc_load_localaddr, 6653: bc_load_parmaddr, bc_canonicalize_array_ref, 6654: bc_expand_component_address, bc_push_offset_and_size, 6655: bc_expand_address, bc_runtime_type_code, bc_gen_constr_label, 6656: bc_expand_constructor, bc_store_field, bc_store_bit_field, 6657: bc_load_bit_field, bc_adjust_stack): new function. 6658: 6659: * function.c (put_var_into_stack, expand_main_function): do 6660: nothing for bytecode. 6661: (bc_build_calldesc): new function. 6662: (init_function_start): use it if outputting bytecode. 6663: (expand_function_start, expand_function_end): add conditional for 6664: bytecode. 6665: (bc_expand_function_start, bc_expand_function_end): new function. 6666: 6667: * integrate.c (output_inline_function): signal error for bytecode. 6668: 6669: * regclass.c (fix_register): signal error for bytecode. 6670: 6671: * stmt.c (struct nesting): new members bc_stack_level, skip_label). 6672: (struct goto_fixup): new members bc_target, label, bc_handled, 6673: bc_stack_level. 6674: (emit_nop, expand_computed_goto, expand_label, expand_goto, 6675: expand_goto_internal, fixup_gotos, expand_asm, 6676: expand_asm_operands, expand_expr_stmt, expand_start_expr_stmt, 6677: expand_end_expr_stmt, expand_start_cond, expand_start_else, 6678: expand_end_cond, expand_start_loop, expand_loop_continue_here, 6679: expand_end_loop, expand_exit_loop_if_false, expand_null_return, 6680: expand_return, expand_start_bindings, expand_end_bindings, 6681: expand_decl, expand_start_case, pushcase, 6682: check_for_full_enumeration, expand_end_case): add conditional for 6683: bytecode. 6684: (bc_expand_goto_internal, bc_expand_fixup, bc_fixup_gotos, 6685: bc_expand_start_cond, bc_expand_end_cond, bc_expand_start_else, 6686: bc_expand_end_bindings, bc_expand_decl, 6687: bc_expand_variable_local_init, bc_expand_decl_init, 6688: bc_expand_start_case, bc_pushcase, 6689: bc_check_for_full_enumeration_handling, bc_expand_end_case, 6690: bc_new_uid): new function. 6691: 6692: * toplev.c (output_bytecode): new variable. 6693: (f_options): add entry for -fbytecode. 6694: (fatal_insn_not_found, compile_file, rest_of_decl_compilation, 6695: rest_of_compilation, main): add conditional for bytecode. 6696: 6697: * config/m68k/m68k.c config/m68k/m68k.h: add bytecode specific 6698: definitions. 6699: 6700: * varasm.c (text_section, data_section, make_function_rtl, 6701: make_decl_rtl, assemble_asm, assemble_start_function, 6702: assemble_zeros, assemble_string, assemble_variable, 6703: assemble_external, assemble_external_libcall, assemble_label, 6704: assemble_name, assemble_static_space, 6705: assemble_trampoline_template, assemble_integer, assemble_real, 6706: decode_addr_const, output_constant_def, output_constant_pool, 6707: output_constant, output_constructor): add conditional for 6708: bytecode. 6709: (bc_output_constructor, output_byte_asm, bc_make_rtl, 6710: bc_output_data_constructor, bc_assemble_integer): 6711: new function. 6712: (handle_pragma_weak): break out asm writing code from 6713: handle_pragma_token, move to varasm.c, so bytecode-specific 6714: macros can access static varasm data and functions. 6715: 6716: * c-pragma.c (handle_pragma_token): use handle_pragma_weak. 6717: 6718: * function.h (enum pragma_state): moved from c-pragma.c 6719: 6720: * bc-config.h, bc-emit.c, bc-optab.c, bc-optab.h, bc-trans.h, 6721: bc-typecd.def, modemap.def, bytecode.def, bc-emit.h, bc-typecd.h, 6722: bi-arity.c, bi-defs.h, bi-lexer.c, bi-opcode.c, bi-opname.c, 6723: bi-parser.c, bi-parser.h, bi-reverse.c, bi-run.c, bi-run.h, 6724: bi-unparse.c: new file. bc-* are exclusively compiler files, bi-* 6725: are interpreter files. 6726: 6727: * Makefile.in: add rules and/or dependencies for bc-emit.o, 6728: bc-optab.o, bytecode, bi-arity, bi-opcode, bi-opname, bi-lexer, 6729: bi-run.o, bi-parser.c, bi-parser.o, bi-lexer.o bi-arity.o, 6730: bi-opcode.o, bi-opname.o, bi-reverse.o, bc-arity.h, bc-opcode.h, 6731: bc-opname.h, bytecode.mostlyclean, bytecode.distclean, 6732: bytecode.realclean 6733: 6734: 6735: Tue Sep 21 10:20:55 1993 Richard Kenner ([email protected]) 6736: 6737: * jump.c (jump_optimize): Try putting RETURN at end of function 6738: both at start and at end of our optimization. 6739: 6740: Mon Sep 20 17:22:13 1993 Richard Stallman ([email protected]) 6741: 6742: * expr.c (expand_expr): Handle flag_volatile here. 6743: * c-typeck.c (build_indirect_ref): TREE_THIS_VOLATILE no longer 6744: depends on flag_volatile. 6745: 6746: Mon Sep 20 15:21:31 1993 Doug Evans ([email protected]) 6747: 6748: * gstddef.h: Back out change of Sep 15 (handles Sun lossage). 6749: Prevented bootstrapping. 6750: 6751: Mon Sep 20 12:21:56 1993 Kresten Krab Thorup ([email protected]) 6752: 6753: * objc/archive.c (objc_read_string): Allocate n+1 chars instead of 6754: just n. 6755: 6756: Sun Sep 19 13:06:37 1993 Richard Stallman ([email protected]) 6757: 6758: * function.c (combine_temp_slots): Handle deletion properly. 6759: Free the RTL that is allocated. 6760: * rtl.c (rtx_free): New function. 6761: 6762: * config/m68k/m68k.c (output_move_double): Handle register overlap 6763: case that occur in soft-float XFmode. Code basically copied from 6764: i386.c. 6765: 6766: Sun Sep 19 14:40:08 JDT 1993 Michael Ben-Gershon ([email protected]) 6767: 6768: * cse.c (simplify_unary_operation): If REAL_ARITHMETIC is defined, 6769: and a FIX operation is applied to convert a CONST_DOUBLE to an INT, 6770: the CONST_DOUBLE must first be rounded to zero. 6771: 6772: Sun Sep 19 12:49:05 1993 James Van Artsdalen ([email protected]) 6773: 6774: * Makefile.in (objc-headers): Depend on stmp-fixinc to build the 6775: include/ subdirectory first. 6776: 6777: Sun Sep 19 09:45:16 1993 Richard Earnshaw ([email protected]) 6778: 6779: * gstddef.h (size_t): Acorn RISCiX requires __size_t defined. 6780: 6781: Sun Sep 19 09:08:09 1993 Richard Kenner ([email protected]) 6782: 6783: * genrecog.c (preds): Correct typo in name of `comparison_operator'. 6784: (add_to_sequence): If PREDICATE_CODES specified, warn if we find a 6785: predicate not in that list. 6786: 6787: * reload.c (find_reloads): Reject an alternative if two operands 6788: match the same output and we have to do a reload. 6789: 6790: * rs6000.c (rs6000_override_options): Change processor type to 6791: "rios1"; allow "rios" as synonym. 6792: Add synonyms for "mpc6xx". 6793: * rs6000.h (enum processor_type): Change from RIOS to RIOS1. 6794: (PROCESSOR_DEFAULT): Likewise. 6795: * rs6000.md (attribute "cpu"): Change from "rios" to "rios1"; all 6796: uses changed. 6797: 6798: * xm-alpha.h: Add extern declaration for alloca. 6799: 6800: * a29k.h (PREDICATE_CODES): Fix typos and add missing entries. 6801: * alpha.h, i860.h i960.h, m88k.h, mips.h, rs6000.h: Likewise. 6802: 6803: Sat Sep 18 09:27:03 1993 Richard Stallman ([email protected]) 6804: 6805: * expr.c (convert_move): Use emit_library_call_value. 6806: 6807: Sat Sep 18 08:01:44 1993 Richard Kenner ([email protected]) 6808: 6809: * alpha.h (REG_ALLOC_ORDER): Add missing entries. 6810: 6811: * combine.c (recog_for_combine): Fix typos in previous change. 6812: 6813: * reload.c (earlyclobber_operand_p): New function. 6814: (combine_reloads): Use it. 6815: (find_reloads): Set reload_earlyclobbers earlier. 6816: (refers_to_regno_for_reload_p): Count something being stored into 6817: if it is an earlyclobber operand. 6818: 6819: Fri Sep 17 21:40:02 1993 Per Bothner ([email protected]) 6820: 6821: * fold-const.c (invert_truthvalue): Instead of aborting, 6822: build a TRUTH_NOT_EXPR when unable to optimize. 6823: (The aborts were not a problem for C, which always first 6824: calls truthvalue_conversion, but that should not be 6825: necessary for a language with real Booleans.) 6826: 6827: Fri Sep 17 20:38:53 1993 Richard Stallman ([email protected]) 6828: 6829: * c-typeck.c (output_init_element): Update constructor_bit_index 6830: for union types. 6831: 6832: * libgcc2.c: Declare __fixunsxfdi only if really have XFmode. 6833: Likewise for __fixunstfdi. 6834: 6835: Fri Sep 17 18:08:37 1993 Richard Kenner ([email protected]) 6836: 6837: * combine.c (recog_for_combine): Always reject a PARALLEL containing 6838: our special CLOBBER. 6839: 6840: * cse.c (fold_rtx, case MINUS): Copy result obtained from 6841: hash table. 6842: 6843: * cse.c (fold_rtx, case SUBREG): If paradoxical SUBREG of a 6844: constant, return the constant. 6845: 6846: * c-typeck.c (lookup_field): Use HOST_WIDE_INT instead of long or 6847: int when we want integer wide enough to hold a pointer difference. 6848: 6849: Fri Sep 17 16:03:22 1993 Per Bothner ([email protected]) 6850: 6851: * dbxout.c (dbxout_type): For CHAR_TYPE and BOOLEAN_TYPE (in 6852: languages that have them - not C), adopt an AIX convention 6853: to distinguish these from other types. 6854: 6855: Fri Sep 17 09:02:06 1993 Richard Stallman ([email protected]) 6856: 6857: * expr.h (emit_library_call_value): Fix declaration. 6858: 6859: Thu Sep 16 12:05:44 1993 Ian Lance Taylor ([email protected]) 6860: 6861: * Makefile.in (fixinc.ready): New target, like libgcc2.ready, 6862: depending on xgcc and cpp. 6863: (stmp-fixinc): Depend on fixinc.ready instead of xgcc and cpp. 6864: (clean): Remove fixinc.ready. 6865: 6866: Thu Sep 16 10:22:17 1993 Richard Stallman ([email protected]) 6867: 6868: * reload.c (find_reloads): For PLUS operand, call find_reloads_toplev. 6869: 6870: * optabs.c (expand_complex_abs): Fix typo in prev change. 6871: 6872: Thu Sep 16 02:06:11 1993 Jim Wilson ([email protected]) 6873: 6874: * flags.h (current_function_has_nonlocal_goto): Declare. 6875: * function.h (struct function): New field has_nonlocal_goto. 6876: * function.c (current_function_has_nonlocal_goto): New var. 6877: (push_function_context): Save it. 6878: (pop_function_context): Restore it. 6879: (init_function_start): Init it. 6880: * integrate.c (function_cannot_inline_p): Don't inline if it's set. 6881: * stmt.c (expand_goto): Set it. 6882: 6883: * reorg.c (mark_set_resources): For CALL_INSN, if followed by a 6884: NOTE_INSN_SETJMP note, then assume that all registers are clobbered. 6885: Handle case where CALL_INSN is in a sequence. 6886: 6887: Wed Sep 15 17:38:38 1993 Richard Stallman ([email protected]) 6888: 6889: * gstddef.h: Delete the conditional that used to semi-avoid 6890: interference with sys/stdtypes.h on Sun. (fixincludes makes 6891: it ok.) 6892: 6893: Wed Sep 15 16:17:09 1993 Jeffrey A. Law ([email protected]) 6894: 6895: * pa.h (ASM_FILE_START): Fix access information for $LIT$ 6896: subspace. 6897: 6898: Wed Sep 15 14:53:49 1993 Richard Stallman ([email protected]) 6899: 6900: * config/ns32k/ns32k.md: Add peepholes for stack adjust plus pushes. 6901: 6902: Wed Sep 15 13:38:24 1993 Doug Evans ([email protected]) 6903: 6904: * c-typeck.c (lookup_field): New function (for chill). 6905: (build_component_ref): Call it. 6906: 6907: Wed Sep 15 08:12:32 1993 Richard Stallman ([email protected]) 6908: 6909: * libgcc2.c: Declare __fixunsxfdi and __fixunstfdi. 6910: 6911: * integrate.c (copy_for_inline, copy_rtx_and_substitute): 6912: Always preserve the volatil flag when copying ASM_OPERANDS. 6913: 6914: Tue Sep 14 21:56:20 1993 Jim Wilson ([email protected]) 6915: 6916: * c-typeck.c (valid_compound_expr_initializer): New function. 6917: (digest_init): Handle compound expressions as initializers when 6918: pedantic. 6919: 6920: * varasm.c (immed_double_const, immed_real_const_1): Don't touch 6921: const_double_chain if not inside a function. 6922: 6923: Tue Sep 14 16:22:03 1993 Per Bothner ([email protected]) 6924: 6925: * c-typeck.c (digest_init): Compare types using comptypes 6926: instead of comparing pointers. (Helps Chill front end.) 6927: 6928: Tue Sep 14 12:16:52 1993 Richard Stallman ([email protected]) 6929: 6930: * calls.c (emit_library_call_value): Finish making it work. 6931: * optabs.c (expand_float): Use emit_library_call_value. 6932: (expand_unop, expand_binop): Likewise. 6933: (expand_complex_abs): Likewise. 6934: Also pass SUBMODE as output mode to emit_library_call_value. 6935: * function.c (aggregate_value_p): Allow type node as argument. 6936: 6937: * config/ns32k/ns32k.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): 6938: If omitting frame pointer, output an adjspd if necessary. 6939: Use movd to save registers if four or less need saving. 6940: Set DEPTH properly. 6941: 6942: * reload.c (find_dummy_reload): New args inmode, outmode. 6943: (find_reloads): Pass new args. 6944: (push_reload): Likewise. 6945: 6946: Mon Sep 13 12:52:03 1993 Richard Stallman ([email protected]) 6947: 6948: * c-typeck.c (set_init_index): Don't allow variable indices. 6949: 6950: * c-decl.c (complete_array_type): Handle TREE_PURPOSE 6951: of array constructor elements. 6952: 6953: * expr.c (store_constructor): Handle TREE_PURPOSE of array constructor. 6954: (expand_expr, ARRAY_REF case): Likewise. 6955: 6956: * varasm.c (output_constructor): Handle index value in 6957: the TREE_PURPOSE, for array constructors. 6958: 6959: * c-typeck.c (output_init_element): When putting an elt into a 6960: CONSTRUCTOR, always set the TREE_PURPOSE (even for arrays). 6961: Copy the node if it's an INTEGER_CST. 6962: (output_pending_init_elements): If have gap and not incremental, 6963: advance constructor_unfilled_fields or constructor_unfilled_index. 6964: 6965: Sun Sep 12 23:00:25 1993 Per Bothner ([email protected]) 6966: 6967: * expr.c (expand_expr, case ARRAY_REF): Coerce lower bound (if 6968: non-zero) to sizetype before subtraction. 6969: 6970: Sun Sep 12 16:18:18 1993 Richard Stallman ([email protected]) 6971: 6972: * c-typeck.c (push_init_level): Pop any implicit levels 6973: that have been filled up. 6974: Don't die if constructor_type is 0. 6975: (process_init_element): If VALUE is 0 for union type, 6976: update constructor_bit_index. 6977: 6978: Sun Sep 12 10:59:08 1993 Bill Cox ([email protected]) 6979: 6980: * c-typeck.c (digest_init): Remove obsolete comments on args 6981: TAIL, OF_WHAT. 6982: 6983: Sun Sep 12 08:45:36 1993 Richard Stallman ([email protected]) 6984: 6985: * loop.c (basic_induction_var): New arg MODE. 6986: Use it to call convert_modes. 6987: (strength_reduce): Supply the new arg to basic_induction_var. 6988: 6989: * expmed.c (expand_shift): Use convert_modes. 6990: (emit_store_flag): Likewise. 6991: 6992: Sat Sep 11 16:44:15 1993 Doug Evans ([email protected]) 6993: 6994: * collect2.c (main): Provide upward compatibility with old version 6995: of collect (avoids infinite mutual recursion between the two). 6996: 6997: Sat Sep 11 13:05:07 1993 Per Bothner ([email protected]) 6998: 6999: * c-typeck.c (constructor_no_implicit): New variable. 7000: If set, dis-allows eliding of braces in initializers. 7001: (Set by Chill front-end.) 7002: * c-typeck.c (process_init_element): Use it. 7003: 7004: Sat Sep 11 15:55:25 1993 Richard Stallman ([email protected]) 7005: 7006: * stor-layout.c (layout_record): Turn off PCC_BITFIELD_TYPE_MATTERS 7007: rounding of field bitpos, if maximum_field_alignment is nonzero. 7008: 7009: Fri Sep 10 08:52:01 1993 Richard Stallman ([email protected]) 7010: 7011: * c-typeck.c (check_init_type_bitfields): Check for mismatch 7012: between field's mode and its type's mode. 7013: 7014: * expr.c (protect_from_queue): Don't alter an existing MEM. 7015: (convert_modes): Use X's mode (not OLDMODE) unless it is VOIDmode. 7016: 7017: Fri Sep 10 01:01:32 1993 Roland McGrath ([email protected]) 7018: 7019: * config.sub: Recognize operating system `netbsd*'. 7020: 7021: Thu Sep 9 18:09:14 1993 Per Bothner ([email protected]) 7022: 7023: * c-typeck.c (really_start_incremental_init, push_init_level): 7024: Add support for arrays with non-zero lower bounds. (Used by Chill.) 7025: 7026: Thu Sep 9 19:20:59 1993 Jim Wilson ([email protected]) 7027: 7028: * tree.c (make_node): Put PARM_DECLs of nested functions onto 7029: parent's saveable obstack. 7030: 7031: Thu Sep 9 14:17:00 1993 Ian Lance Taylor ([email protected]) 7032: 7033: * Makefile.in (CROSS_LIBGCC1): New variable. Rule to use when 7034: building libgcc1.a for a cross compiler. Defaults to 7035: libgcc1.cross. 7036: * cross-make (LIBGCC1): Default to $(CROSS_LIBGCC1) rather than 7037: libgcc1.cross. 7038: * config/i386/t-next, config/i386/t-sol2, config/m88k/t-dgux, 7039: config/m88k/t-luna, config/m88k/t-dgux-gas, 7040: config/m88k/t-luna-gas, config/m88k/t-m88k, 7041: config/m88k/t-m88k-gas, config/m88k/t-sysv4, 7042: config/m68k/t-next, config/mips/t-bsd, config/mips/t-bsd-gas, 7043: config/mips/t-mips, config/mips/t-mips-gas, 7044: config/mips/t-osfrose, config/mips/t-svr3, 7045: config/mips/t-svr3-gas, config/mips/t-svr4, 7046: config/mips/t-svr4-gas, config/mips/t-ultrix, config/pa/t-pa, 7047: config/sparc/t-sol2, config/h8300/t-h8300, config/sh/t-sh, 7048: config/t-libc-ok (CROSS_LIBGCC1): Defined to be libgcc1.null. 7049: 7050: Thu Sep 9 09:48:54 1993 Richard Stallman ([email protected]) 7051: 7052: * expr.c (expand_expr): Set ignore for COND_EXPR with VOID_TYPE. 7053: 7054: * expr.c (convert_modes): New function. 7055: (convert_to_mode): Use that. 7056: * expr.h (convert_modes): Declared. 7057: * optabs.c (expand_twoval_binop): Use convert_modes. 7058: (expand_complex_abs): Likewise. 7059: (emit_cmp_insn): Likewise. 7060: (expand_inline_function): Likewise. 7061: * expmed.c (expand_divmod): Likewise. 7062: (emit_store_flag): Likewise. 7063: * loop.c (basic_induction_var): Likewise. 7064: * integrate.c (expand_inline_function): Likewise. 7065: 7066: * optabs.c (widen_operand): New arg OLDMODE. 7067: (expand_binop, expand_unop): Fix calls to widen_operand. 7068: 7069: Wed Sep 8 18:25:50 1993 Doug Evans ([email protected]) 7070: 7071: * sparc.c, sparc.h, sparc.md: Cosmetic changes only. Just 7072: reordered code a little. 7073: 7074: Wed Sep 8 14:49:59 1993 Jim Wilson ([email protected]) 7075: 7076: * dbxout.c (dbxout_parms): For parameters in registers, if use 7077: DECL_RTL, then must use TREE_TYPE instead of DECL_ARG_TYPE. 7078: 7079: * mips.md (fix_truncdfsi2, fixtruncsfsi2): Mark SImode scratch 7080: register as early clobbered when dest is in memory. 7081: 7082: * fixincludes (sbusdev/audiovar.h): Fix wrongly edited // comments 7083: nested within /* */ comments. 7084: 7085: * gcc.c (process_command): Don't warn for -x after last input file 7086: if spec_lang is zero. 7087: 7088: * fixinc.mips (bsd43/bsd43.h): Change /**/ to ##. 7089: 7090: * expr.c (convert_move): When truncating, call force_reg first if 7091: it is something that gen_lowpart won't understand. 7092: 7093: * sys-protos.h (getrlimit, getrusage, setrlimit): Return int not void. 7094: 7095: Wed Sep 8 11:28:41 1993 John Hassey ([email protected]) 7096: 7097: * m88k.c (output_call): Avoid use of jsr.n r1, this loses on 7098: the 88110. 7099: 7100: Wed Sep 8 10:51:07 1993 David Edelsohn ([email protected]) 7101: 7102: * rs6000.h: (MASK_*, TARGET_*): Add target masks and tests. 7103: (TARGET_SWITCHES): Add target switches for various architectures 7104: and mnemonics options. 7105: (TARGET_OPTIONS): Add cpu type as special target option. 7106: (OVERRIDE_OPTIONS): Call rs6000_override_options to decipher. 7107: 7108: * rs6000.c (rs6000_cpu, rs6000_cpu_string): New variables. 7109: (rs6000_override_options): New function. 7110: 7111: * rs6000.md (define_attr): Expand list of instruction attributes. 7112: (define_function_unit): Compute delay information based 7113: upon processor type and expand functional unit types. 7114: (mulsi3, divsi3, divmodsi4, divsf3, divdf3, muldf3, movsf): 7115: Use expanded attributes. 7116: (load with update): Likewise. 7117: 7118: Wed Sep 8 06:34:32 1993 Richard Stallman ([email protected]) 7119: 7120: * c-typeck.c (output_init_element): When adding to 7121: constructor_pending_elts, copy field. 7122: 7123: Wed Sep 8 06:15:58 1993 David Gershovich ([email protected]) 7124: 7125: * expmed.c (make_tree, case CONST_INT): Properly set high part if 7126: unsigned. 7127: 7128: * optabs.c (expand_binop): Must always widen second operand 7129: of shift. 7130: 7131: Wed Sep 8 05:16:59 1993 Richard Stallman ([email protected]) 7132: 7133: * c-typeck.c (push_init_level): Diagnose extra brace group at end 7134: of record. Set constructor_type to 0. 7135: (pop_init_level): Don't output anything if constructor_type is 0. 7136: (process_init_element): Do nothing if constructor_type is 0. 7137: 7138: Tue Sep 7 19:11:20 1993 Richard Kenner ([email protected]) 7139: 7140: * c-common.c (c_build_type_variant): Allocate new type in same 7141: obstack as old one. 7142: 7143: Tue Sep 7 17:45:50 1993 Richard Stallman ([email protected]) 7144: 7145: * c-typeck.c (digest_init): Fix error message text. 7146: 7147: Tue Sep 7 14:32:51 1993 Leonid Baraz ([email protected]) 7148: 7149: * sched.c (schedule_block): Correct type of BIT. 7150: 7151: * fold-const.c (fold): Don't try to process an RTL_EXPR. 7152: 7153: Tue Sep 7 06:18:50 1993 Richard Stallman ([email protected]) 7154: 7155: * dbxout.c (dbxout_type): Handle enum constants bigger than one word. 7156: Don't print big unsigned values as negative. 7157: * c-decl.c (build_enumerator): Choose type properly for wide constants. 7158: (finish_enum): Always set type of the enumerators to the enum type. 7159: * c-typeck.c (default_conversion): For enum that's unsigned, 7160: if it's at least as wide as int, convert to an unsigned type. 7161: 7162: * config/i386/sol2.h (LIB_SPEC, LINK_SPEC, SWITCH_TAKES_ARG): 7163: Definitions copied from sparc/sol2.h. 7164: (CPP_SPEC): Copied from sparc/sol2.h, but deleted -msparclite. 7165: 7166: Mon Sep 6 14:43:20 1993 Richard Earnshaw ([email protected]) 7167: 7168: * genextract.c (insn_name_ptr): Define for debugging. 7169: (walk_rtx, case MATCH_OP_DUP): Expand recog_dup_loc using XEXP not 7170: XVECEXP. 7171: 7172: Mon Sep 6 13:28:03 1993 Richard Kenner ([email protected]) 7173: 7174: * rtlanal.c (modified_between_p): Handle vectors. 7175: (modified_in_p): New function. 7176: (refers_to_regno_p): If setting AP, FP, or SP, we clobber the 7177: virtual registers. 7178: * optabs.c (emit_libcall_block): Don't move insns that reference 7179: things set in previous insns. 7180: 7181: Mon Sep 6 08:35:34 1993 Richard Stallman ([email protected]) 7182: 7183: * config/mips/mips.h: Don't declare abort. 7184: 7185: Mon Sep 6 01:03:58 1993 Jim Wilson ([email protected]) 7186: 7187: * protoize (abort): Correct volatile function declaration. 7188: 7189: Sun Sep 5 18:23:09 1993 Doug Evans ([email protected]) 7190: 7191: * Makefile.in (USER_H): Add va-h8300.h. 7192: 7193: * collect2.c (our_file_name, last_file_name): deleted. 7194: (our_file_names): New variable. 7195: (is_in_prefix_list): New function. 7196: (find_a_file): Call is_in_prefix_list. 7197: (main): Make COLLECT_NAMES a list of our invocations. 7198: If we've invoked ourselves, try again with ld_file_name. 7199: 7200: Sun Sep 5 16:00:47 1993 Richard Stallman ([email protected]) 7201: 7202: * function.c (assign_parms): When parm needs conversion on entry, 7203: don't store it back in the slot where it was passed. 7204: 7205: Sun Sep 5 14:51:14 1993 Jim Wilson ([email protected]) 7206: 7207: * c-decl.c (grokdeclarator): For PARM_DECLs, only call 7208: c_build_type_variant is constp or volatilep is true. 7209: 7210: Sun Sep 5 06:44:09 1993 David Edelsohn ([email protected]) 7211: 7212: * rs6000.c: (print_operand): Convert fprintf of single letters 7213: to putc and convert fprintf of constant strings to fputs. 7214: Output '%u' operand as hexadecimal. 7215: 7216: Sat Sep 4 11:16:18 1993 Craig Burley ([email protected]) 7217: 7218: * c-common.c (truthvalue_conversion): A complex value is nonzero 7219: if either part is nonzero, not if both parts are nonzero. 7220: 7221: Fri Sep 3 19:02:41 1993 Paul Eggert ([email protected]) 7222: 7223: * c-decl.c (build_enumerator): Apply default conversion to 7224: constant-expression. 7225: 7226: Fri Sep 3 18:03:47 1993 Chris Lang ([email protected]) 7227: 7228: * cccp.c (skip_if_group): Check for traditional mode when 7229: skipping ahead to next #, ignore unless at beginning of line. 7230: 7231: Fri Sep 3 18:00:15 1993 Michael Meissner ([email protected]) 7232: 7233: * i386/osfrose.h, i386/osfelf.h (LINK_SPEC): Pass -v and -dn on to 7234: the ELF linker, which now accepts these switches. 7235: 7236: Fri Sep 3 13:34:22 1993 Doug Evans ([email protected]) 7237: 7238: * i386/x-linux: Add -Iinclude to BOOT_CFLAGS. 7239: 7240: Fri Sep 3 01:54:19 1993 Jeffrey A. Law ([email protected]) 7241: 7242: * pa.h (READONLY_DATA_ASM_OP): Define. 7243: (READONLY_DATA_SECTION): Define. 7244: (EXTRA_SECTIONS): Add in_readonly_data. 7245: (EXTRA_SECTION_FUNCTIONS): Add readonly_data. 7246: 7247: Thu Sep 2 19:19:14 1993 Holger Teutsch ([email protected]) 7248: 7249: * clipper.h : Improve generated code for C400 Clipper. 7250: (TARGET_SWITCHES): New options `c300' `c400'. 7251: (TARGET_C300, TARGET_C400): New defines. 7252: (TARGET_DEFAULT): Define as TARGET_C300. 7253: (CONDITIONAL_REGISTER_USAGE): New define. 7254: 7255: Thu Sep 2 17:47:57 1993 Doug Evans ([email protected]) 7256: 7257: * glimits.h (__INT_MAX__, __LONG_MAX__, __LONG_LONG_MAX__): New macros. 7258: (INT_MAX, LONG_MAX, LONG_LONG_MAX): Use them. 7259: (UINT_MAX, ULONG_MAX, ULONG_LONG_MAX): Ditto. 7260: 7261: Thu Sep 2 14:26:28 1993 Michael Meissner ([email protected]) 7262: 7263: * i386/osfrose.h (YES_UNDERSCORES): Delete macro, since we have 7264: redefined all of the macros that are based on using it. 7265: (CPP_SPEC, CC1_SPEC): Remove #ifndef NO_UNDERSCORE version. 7266: OSF/ELF will now omit the leading underscore by default. 7267: (LINK_SPEC): Pass -dy through to ELF linker. Do not pass -v to 7268: ELF linker. 7269: 7270: * i386/osfelf.h (CPP_SPEC, CC1_SPEC): Remove #ifndef NO_UNDERSCORE 7271: version. OSF/ELF will now omit the leading underscore by default. 7272: (LINK_SPEC): Pass -dy through to ELF linker. Do not pass -v to 7273: ELF linker. 7274: 7275: 7276: * final.c (tree.h): Include tree.h to get the declaration for 7277: decl_printable_name. 7278: (last_filename): Global to hold last filename encountered in a 7279: NOTE. 7280: (add_bb): New function to do common code for emitting a basic 7281: block profiling increment. Remember the current function, and if 7282: debugging, line number and filename for each basic block. 7283: (add_bb_string): New function to remember strings for profiling 7284: basic blocks. 7285: (end_final): Bump name array size to 20. Use BSS to store profile 7286: block count array unless -fno-common. Eliminate redefining name 7287: within for loop block. Add a length field and three new parallel 7288: arrays for basic blocks to hold function name, and if debugging, 7289: line number and file name for basic block profiling. 7290: (final_start_function): Save a printable version of the current 7291: function name away if profiling basic blocks. 7292: (final_end_function): Forget the current printable version of the 7293: current function name if profiling basic blocks. 7294: (final): Move basic block profiling support to just call add_bb. 7295: (final_scan_insn): Ditto. 7296: (output_source_line): Save filename in last_filename. If the file 7297: name was changed and profiling basic blocks, remember the new file 7298: name for the next call to add_bb. 7299: 7300: * libgcc2.c (L_bb): If BLOCK_PROFILER_CODE is defined, expand it 7301: here directly. If BLOCK_PROFILER_CODE is not defined, add code 7302: that appends basic block profile information into a text file 7303: bb.out. Move sun3 specific block profiling code to m68k/sun3.h. 7304: 7305: * Makefile.in (final.o): Final.c now includes tree.h. 7306: 7307: * m68k/sun3.h (BLOCK_PROFILER_CODE): Move the sun3 specific basic 7308: block profiling code here from libgcc2.c. 7309: 7310: Wed Sep 1 19:00:06 1993 Jim Wilson ([email protected]) 7311: 7312: * rs6000.md (truncdfsf2): Round to single instead of doing nothing. 7313: 7314: * jump.c (jump_optimize): When optimize conditional jump around 7315: unconditional jump, handle case where prev_label can be zero. 7316: 7317: * c-decl.c (finish_decl): For static const variables, preserve 7318: initializers instead of discarding them. 7319: 7320: Wed Sep 1 18:43:01 1993 Richard Kenner ([email protected]) 7321: 7322: * reload.c (find_reloads): Bump REJECT for a hard register; just 7323: not for a pseudo. 7324: 7325: * rs6000.md: Clean up hex constants a bit in emitted insns. 7326: 7327: * rs6000.c (input_operand): Allow "easy" FP constants. 7328: * rs6000.h (SECONDARY_MEMORY_NEEDED): New macro. 7329: * rs6000.md (movdf): Simplify by taking advantage of 7330: having SECONDARY_MEMORY_NEEDED. 7331: Fix bugs relating to order in which moves are done. 7332: 7333: Wed Sep 1 18:08:36 1993 Jim Wilson ([email protected]) 7334: 7335: * reload.c (find_reloads_address_1): Handle SUBREGs same as REGs. 7336: 7337: Wed Sep 1 18:03:45 1993 Mike Stump ([email protected]) 7338: 7339: * collect2.c (is_ctor_dtor): Make sizeof argument match the 7340: string. 7341: 7342: Wed Sep 1 15:01:48 1993 Brendan Kehoe ([email protected]) 7343: 7344: * Makefile.in (start.encap): Build g++ here also. 7345: 7346: Tue Aug 31 16:30:53 1993 Jim Wilson ([email protected]) 7347: 7348: * combine.c (make_compound_operation): Handle the case 7349: (and (xor/ior (lshift...) (lshift...)) ...). 7350: (make_field_assignment): In get_pos_from_mask call, only invert 7351: bits in mode mask. 7352: 7353: * reload.c (push_reload): Abort is secondary_reload wants same 7354: class as an input reload. 7355: 7356: * Makefile.in (libgcc1.a, libgcc2.a): Don't use set -e. 7357: * configure (i[34]86-*-lynxos, m68k-*-lynxos, sparc-*-lynxos): Use 7358: xm-lynx.h, x-lynx. Don't run fixincludes. 7359: * x-lynx, xm-lynx.h: New files. 7360: 7361: * Makefile.in (xsys-protos.h): Use fixtmp.c not tmp.c, and delete 7362: it afterwards. 7363: 7364: * function.c (assign_stack_temp): When allocate a slot too large, 7365: split extra off into a slot of its own. 7366: (combine_temp_slots): New function. 7367: (free_temp_slots, pop_temp_slots): Call combine_temp_slots. 7368: 7369: Tue Aug 31 06:35:37 1993 David Edelsohn ([email protected]) 7370: 7371: * rs6000.md: (zero_extendqisi2, zero_extendqihi2): Change anonymous 7372: patterns to use 16-bit and 32-bit hexadecimal values and masks 7373: instead of bit ranges if constant. 7374: (rotlsi3, lshrsi3, move condition codes, scc insns): Likewise. 7375: 7376: Tue Aug 31 06:25:52 1993 Paul Eggert ([email protected]) 7377: 7378: * c-decl.c (struct c_function): Remove unneeded enum_next_value. 7379: (push_c_function_context, pop_c_function_context): Don't save it. 7380: 7381: Mon Aug 30 16:16:56 1993 Paul Eggert ([email protected]) 7382: 7383: * c-decl.c (get_parm_info, store_parm_decls): If PROMOTE_PROTOTYPE, 7384: promote all integral types shorter than int, including short enums. 7385: * c-typeck.c (convert_arguments): Likewise. 7386: * cp-decl.c (grokparms): Likewise. 7387: * cp-except.c (finish_exception_decl): Likewise. 7388: * cp-typeck.c (convert_arguments): Likewise. 7389: 7390: Sun Aug 29 18:34:25 1993 Richard Kenner ([email protected]) 7391: 7392: * rs6000.h (TARGET_NO_FP_IN_TOC): New; deleted TARGET_FP_IN_TOC. 7393: (TARGET_SWITCHES): Rearrange to have three TOC choices. 7394: (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Use TARGET_NO_FP_IN_TOC. 7395: * rs6000.c (output_toc): Likewise. 7396: 7397: Sat Aug 28 15:04:35 1993 Jim Wilson ([email protected]) 7398: 7399: * mips.h (SELECT_SECTION): Simplify sdata_section test. 7400: 7401: * lynx.h (CPP_SPEC): Use include_v not include-v. 7402: (LINK_SPEC): Add missing `-' before `k' option. 7403: (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG. 7404: (SDB_DEBUGGING_INFO): Define. 7405: (MD_EXEC_PREFIX): Define to /usr/local/lib/gcc-. 7406: (LINK_LIBGCC_SPECIAL_1): Define. 7407: (NAME__MAIN, SYMBOL__MAIN): Define. 7408: 7409: * sparc.h (EXTRA_CONSTRAINT): Delete 'S'. 7410: * sparc.md (call+1, call+2, call_value+1, untyped_call+1): Split 7411: into two patterns, one using address_operand and 'p', the other 7412: immediate_operand and 'i'. 7413: 7414: Fri Aug 27 15:43:19 1993 Richard Kenner ([email protected]) 7415: 7416: * combine.c (nonzero_bits): Fix reversed test for when we 7417: need to insert extra bits when sizes differ. 7418: (nonzero_bits, case EQ): Always return STORE_FLAG_VALUE when returning 7419: integer mode; remove now-redundant test. 7420: 7421: * rs6000.h (LINK_SPEC): Add -bexport:/usr/lib/libg.exp when -g. 7422: 7423: Fri Aug 27 13:17:28 1993 Jim Wilson ([email protected]) 7424: 7425: * rs6000.c (print_operand_address): When TARGET_MINIMAL_TOC, use 7426: r30 instead of r2 for TOC references. 7427: (output_prologue): If TARGET_MINIMAL_TOC, and the constant pool 7428: is needed, then setup r30. 7429: (output_toc): When TARGET_MINIMAL_TOC, use .long instead of .tc. 7430: * rs6000.h (TARGET_MINIMAL_TOC): New macro. 7431: (TARGET_SWITCHES): Add -mminimal-toc and -mno-minimal-toc. 7432: (ELIMINABLE_REGS): Add elimination for r30. 7433: (CAN_ELIMINATE): Add case for r30. 7434: (INITIAL_ELIMINATION_OFFSET): Add case for r30. 7435: (toc_section): When TARET_MINIMAL_TOC, initialize toc_table. 7436: 7437: Thu Aug 26 17:59:38 1993 Doug Evans ([email protected]) 7438: 7439: * gstdarg.h, gvarargs.h: Add support for H8/300H. 7440: * va-h8300.h: New file. 7441: 7442: Thu Aug 26 15:15:27 1993 Brendan Kehoe ([email protected]) 7443: 7444: Cygnus<->FSF C++ front-end merge. 7445: Wed Aug 25 17:55:58 1993 Brendan Kehoe ([email protected]) 7446: 7447: * cp-class.c (alter_visibility): Properly grok protected visibility. 7448: 7449: Wed Aug 25 12:55:17 1993 Brendan Kehoe ([email protected]) 7450: 7451: * cp-typeck.c (c_sizeof): If we're given an OFFSET_TYPE, work with 7452: the type it refers to. 7453: 7454: * cp-decl.c (finish_function): Properly handle inline functions, 7455: don't just call rest_of_compilation. 7456: 7457: * cp-decl2.c (flag_inline_debug): Deleted, never used. 7458: (lang_f_options): Deleted -finline-debug. 7459: * toplev.c (lang_options): Likewise. 7460: 7461: Tue Aug 24 16:06:23 1993 Mike Stump ([email protected]) 7462: 7463: * cp-dem.c: Deleted. See demangler in the binutils distribution. 7464: 7465: Tue Aug 24 14:24:34 1993 Brendan Kehoe ([email protected]) 7466: 7467: * cp-decl.c (start_function): Don't get ready to complain about a 7468: built-in C-linkage function against a C++-linkage function. 7469: 7470: Tue Aug 24 13:54:43 1993 david d `zoo' zuhn ([email protected]) 7471: 7472: * g++.c: also include <sys/types.h> 7473: 7474: Tue Aug 24 05:39:57 1993 Michael Tiemann ([email protected]) 7475: 7476: * cp-parse.y (id_scope): Renamed from scoped_id. Also added handler 7477: for case when rule appears after `dont_see_typename' action. Now 7478: handles pointer-to-member syntax. 7479: 7480: Mon Aug 23 14:04:34 1993 Brendan Kehoe ([email protected]) 7481: 7482: * cp-parse.y (datadef): Disallow forward declaration of an enum. 7483: 7484: * cp-class.c (finish_struct): Set LAST_X to X, so we keep the chain 7485: in some semblance of sanity. Makes more than one nested typedef 7486: work properly. 7487: * cp-decl.c (grokdeclarator): Rewrite how class-local typedefs are 7488: handled to generate a TYPE_DECL that's useful. 7489: 7490: * cp-decl.c (start_function): Don't error out if it's a static 7491: function; don't return 0, which can cause other problems. 7492: 7493: Sun Aug 22 18:00:57 1993 Michael Tiemann ([email protected]) 7494: 7495: * cp-decl.c (duplicate_decls): Set DECL_OVERLOADED flag on "C" 7496: functions so that they are treated properly when "C++" functions of 7497: the same name are declared before they are. 7498: 7499: Sun Aug 22 13:31:44 1993 Brendan Kehoe ([email protected]) 7500: 7501: Fix how we handle binding levels, and tweak Niklas's new scoping 7502: code to work 100%. This work should significantly improve how 7503: g++ handles the use of nested classes. 7504: * cp-tree.h (NEW_CLASS_SCOPING): Default to 1 now! 7505: * cp-decl.c (pop_binding_level): Set current_binding_level to be 7506: class_binding_level if it's non-NULL. Change code that looks for 7507: our method of climbing back up the binding levels when we're 7508: dealing with a parm. 7509: (pushlevel_class): Call push_binding_level, not pushlevel. 7510: (poplevel_class): Don't weird out if level is 0. DO NOT set 7511: class_binding_level to the level_chain, this was the biggest bug 7512: that made the pushes and pops to end up being unbalanced. 7513: Call pop_binding_level instead of manually putting the level on 7514: the free_binding_level chain. 7515: (pop_from_top_level): Don't call poplevel if previous_class is 7516: non-NULL. 7517: (finish_function): Call expand_start_bindings and 7518: expand_end_bindings in a balanced way. 7519: (finish_function): Don't flail around screwing with the RTL for 7520: the function in a very special case, just always call 7521: rest_of_compilation as we normally would. 7522: (finish_method): Call poplevel, not pop_binding_level. 7523: * cp-class.c (pushclass): Don't call unuse_fields. 7524: * cp-tree.c (break_out_calls): Always call copy_node, not just 7525: when changed++ == 0. 7526: * cp-search.c (bridge_obstack): Deleted. 7527: (push_class_decls): Use search_obstack, not bridge_obstack. 7528: (init_search_processing): Don't init bridge_obstack anymore. 7529: 7530: * cp-init.c (build_new): Don't clear LOOKUP_COMPLAIN on flags, since 7531: we need to honor the visibility of what we find. 7532: 7533: Sat Aug 21 12:07:26 1993 Brendan Kehoe ([email protected]) 7534: 7535: * cp-decl.c (grokdeclarator): Give an error about an array of 7536: offset types and method types, in addition to reference types. 7537: Also make sure to set `type' to be error_mark_node for each. 7538: 7539: * cp-parse.y (primary, PLUSPLUS/MINUSMINUS): Resolve the OFFSET_REF 7540: here. 7541: * cp-typeck.c (build_x_unary_op): Not here. 7542: 7543: * cp-class.c (finish_struct): Set DECL_CLASS_CONTEXT only if it's 7544: a virtual function. 7545: * cp-decl.c (grokfndecl): Communicate the virtual bit to function 7546: decls that overload a virtual function from a base class. 7547: * cp-search.c (dfs_pushdecls): Look at DECL_CLASS_CONTEXT if it's 7548: a virtual function. 7549: 7550: Fri Aug 20 13:35:54 1993 Brendan Kehoe ([email protected]) 7551: 7552: Make the g++ driver work with MS-DOS. 7553: * g++.c (P_tmpdir, {R,W,X}_OK) [__MSDOS__]: Defined. 7554: (choose_temp_base_try, choose_temp_base, perror_exec, 7555: run_dos) [__MSDOS__]: New functions for the g++ program to operate 7556: correctly under MS-DOS. 7557: (temp_filename, temp_filename_length) [__MSDOS__]: New variables. 7558: (main): Fix off-by-one error in allocation of arglist. When 7559: running the main GCC program, handle running it under OS/2, MS-DOS, 7560: as well as on a system that has execvp(2). Only find the location 7561: of the GCC executable if we're not using DOS. 7562: 7563: * cp-decl.c (poplevel): Only call remember_end_note if we haven't 7564: already created the block. Set TREE_USED on the block. 7565: (duplicate_decls): If the type of either the old or new decl is an 7566: error_mark_node, we've already issued an error so set types_match 7567: to be 1 now. 7568: (xref_defn_tag): Mark the TYPE_DECL as ignored if doing dwarf 7569: debugging. 7570: 7571: * cp-parse.y (base_init, nodecls): Call keep_next_level to make 7572: sure the BLOCK node is kept with the outermost curly braces of a 7573: function. 7574: (compstmt): For `{ }', insert a .pushlevel and do all of the other 7575: stuff we need in every other compstmt situation, to generate proper 7576: debugging for such things and handle the binding levels properly for 7577: them. 7578: 7579: Thu Aug 19 18:24:25 1993 Mike Stump ([email protected]) 7580: 7581: * cp-init.c (build_vec_delete): Wrap void COND_EXPR in NOP_EXPR, so 7582: that the backend does not abort when trying to use the void mode 7583: expression. Fixes make check (tString.o) in libg++. 7584: 7585: Thu Aug 19 12:21:12 1993 Brendan Kehoe ([email protected]) 7586: 7587: * cp-typeck.c (build_x_unary_op): When we receive an OFFSET_REF, 7588: resolve it before looking for a way to handle the operation. 7589: 7590: * cp-method.c: Include ctype.h. 7591: 7592: Thu Aug 19 12:00:08 1993 Mike Stump ([email protected]) 7593: 7594: * cp-class.c, cp-search.c (NEW_SEARCH, NEW_CONVERT, 7595: CHECK_convert_pointer_to_single_level): Remove ability to revert to 7596: old code, and remove checks. Cleans-up the code a little. 7597: 7598: Thu Aug 19 00:41:55 1993 Mike Stump ([email protected]) 7599: 7600: * cp-init.c (expand_aggr_init): Avoid faulting, give error instead. 7601: 7602: Wed Aug 18 22:43:25 1993 Mike Stump ([email protected]) 7603: 7604: * cp-lex.h (RID_BIT_TYPE, RIDBIT_SETP, RIDBIT_NOTSETP, RIDBIT_SET, 7605: RIDBIT_RESET, RIDBIT_RESET_ALL, RIDBIT_ANY_SET): New RID macros, 7606: replaces RIDBIT macro. The new macros allow us to easily expand 7607: past 32 RIDs. 7608: * cp-decl.c (grokvardecl, grokdeclarator): Use them. 7609: 7610: * cp-decl.c (grokdeclarator): Implement `mutable' keyword. 7611: * cp-lex.c (init_lex, ): Ditto. 7612: * cp-lex.h (enum rid): Ditto. 7613: * cp-ptree.c (print_lang_decl): Ditto. 7614: * cp-tree.h (struct lang_decl_flags, DECL_MUTABLE_P): Ditto. 7615: * cp-typeck.c (build_component_ref_1, build_component_ref): Ditto. 7616: * gplus.gperf (mutable): Ditto. 7617: * cp-hash.h: Regenerate. 7618: 7619: * cp-tree.h (struct lang_type): Fill out type_flags to multiple of 4 7620: bytes for MIPS. 7621: 7622: Fri Aug 13 16:07:46 1993 Brendan Kehoe ([email protected]) 7623: 7624: * cp-lex.c (DEBUG_DEFAULT_FUNCTIONS): Take out the #undef, so we can 7625: use the command line to turn this on. 7626: 7627: * cp-decl.c (grokdeclarator): Look for IDENTIFIER_TEMPLATE in the 7628: name of current_class_type, not in current_class_type itself. 7629: 7630: * cp-decl.c (pushdecl): Change to also check TREE_PUBLIC on the decl 7631: in question, and do a pedwarn_with_decl instead of 7632: warning_with_decl for conflicting extern declarations. 7633: 7634: Fri Aug 13 12:26:41 1993 Brendan Kehoe ([email protected]) 7635: 7636: * cp-tree.h: Delete all the old PARANOID stuff, it's suffered 7637: serious bit rot. 7638: (PRINT_LANG_DECL, PRINT_LANG_TYPE): Deleted, not used anymore. 7639: (LANG_ID_FIELD, SET_LANG_ID): New macros. 7640: ({,SET_}IDENTIFIER_{LABEL_VALUE, IMPLICIT_DECL, AS_DESC, AS_LIST, 7641: ERROR_LOCUS}): Redefine these macros to use the new LANG_ID_FIELD 7642: and SET_LANG_ID ones, so everything is much cleaner and readable. 7643: 7644: * cp-decl.c (pushtag) [NEW_CLASS_SCOPING]: Push into the template's 7645: class scope before trying to push the decl, and then pop back out. 7646: (globalize_nested_type) [NEW_CLASS_SCOPING]: Asserts 348 and 349 7647: aren't correct, shadow can come out to be null in some situations. 7648: 7649: Thu Aug 12 10:56:50 1993 Mike Stump ([email protected]) 7650: 7651: * cp-method.c (build_overload_name): Allow the debugger to 7652: deterministically demangle names with more than 9 nested class 7653: levels. 7654: 7655: Thu Aug 12 00:46:54 1993 Mike Stump ([email protected]) 7656: 7657: * cp-search.c (pushd_stack_level): Fix memory corruption problem. 7658: Don't assume that the obstack won't move, because they will. Among 7659: other things, the fix allows one to nest classes upto 240 levels 7660: deep, instead of 60 or so. 7661: 7662: Thu Aug 12 00:38:05 1993 Per Bothner ([email protected]) 7663: 7664: * cp-decl2.c (finish_file): Use new get_file_function_name(). 7665: * cp-tree.h (FILE_FUNCTION_FORMAT): No longer needed. 7666: 7667: Fri Aug 6 11:37:08 1993 Brendan Kehoe ([email protected]) 7668: 7669: * cp-decl.c (pop_binding_level) [DEBUG_CP_BINDING_LEVELS]: Don't 7670: call abort, since we need to see where things end up. 7671: 7672: Fri Aug 6 11:13:57 1993 Mike Stump ([email protected]) 7673: 7674: * cp-class.c (finish_struct): Blast away old DECL_SIZE on 7675: base_layout_decl so that the old value is not reused, but rather the 7676: new value in the TREE_TYPE (TYPE_SIZE ()) will be. 7677: 7678: Thu Aug 5 18:45:26 1993 Mike Stump ([email protected]) 7679: 7680: * cp-init.c (emit_base_init): Move vbase vtable pointer init to very 7681: end of base initialization code. Completes July 30 change. The 7682: dynamic type of a virtual base should not be the type of the current 7683: constructor, until after all bases are initialized. 7684: 7685: Thu Aug 26 06:00:09 1993 Richard Kenner ([email protected]) 7686: 7687: * expr.c: (apply_args_register_offset): Don't use ANSI-style 7688: definition. 7689: 7690: Wed Aug 25 19:37:26 1993 Jeffrey A. Law ([email protected]) 7691: 7692: * expmed.c (store_bit_field): Do not use bitfield instructions for 7693: STRICT_ALIGNMENT machines if the MEM's alignment isn't as big as 7694: the MEM's mode. 7695: 7696: Wed Aug 25 19:17:13 1993 Richard Kenner ([email protected]) 7697: 7698: * c-typeck.c (format_char_info_print_table, "p"): Allow width. 7699: 7700: Tue Aug 24 18:36:31 1993 Richard Kenner ([email protected]) 7701: 7702: * rs6000.c (output_{pro,epi}log): Don't need no-ops after calls 7703: to functions to save and restore FP regs. 7704: 7705: Tue Aug 24 15:43:43 1993 Michael Meissner ([email protected]) 7706: 7707: * osfrose.h (SUBTARGET_SWITCHES): Add -mlarge-align and 7708: -mword-align to control whether alignments of > 4 are honored. 7709: (ASM_OUTPUT_ALIGN_CODE): If -mlarge-align allow alignments > 4. 7710: (ASM_OUTPUT_ALIGN): Ditto. 7711: (ASM_OUTPUT_LOOP_ALIGN): Always do a .align 2. 7712: (FUNCTION_BLOCK_PROFILER): Define. 7713: (BLOCK_PROFILER): Define. 7714: 7715: Tue Aug 24 14:04:11 1993 Jeffrey A. Law ([email protected]) 7716: 7717: * pa.c (compute_frame_size): Always align stack to 64 byte 7718: boundary. 7719: 7720: * pa.h (STACK_BOUNDARY): Stack pointer is 512 bit (64 byte) 7721: aligned. 7722: 7723: * pa.c (output_call): Use ASM_OUTPUT_INTERNAL_LABEL instead of 7724: output_asm_label. 7725: 7726: Tue Aug 24 11:24:27 1993 Kresten Krab Thorup ([email protected]) 7727: 7728: * Merge of Objective C related changes since June 1. 7729: 7730: * objc/xforward.c, objc/mutex.h: Files removed. 7731: * objc/encoding.[ch]: New files. 7732: * objc/todo: File removed. 7733: 7734: Tue Jun 1 00:05:12 1993 Kresten Krab Thorup ([email protected]) 7735: 7736: * expr.c (apply_args_register_offset): New function 7737: (apply_args_reg_offset): New variable 7738: (apply_args_size): Added initialization of apply_args_reg_offset. 7739: 7740: * objc-act.c (offset_is_register): New variable 7741: (forwarding_offset): Use apply_args_register_offset to get 7742: register offset. 7743: (encode_method_def, encode_method_prototype): Prepend argument 7744: offset by '+' if passed in register. 7745: (apply_args_register_offset): Added declaration. 7746: 7747: Sun Jun 6 20:57:03 1993 Kresten Krab Thorup ([email protected]) 7748: 7749: * objc/encoding.h, objc/encoding.c: New files. 7750: * objc/Object.m (-performv): Use new objc_msg_sendv. 7751: * objc/sendmsg.c (objc_msg_sendv): Use new encoding facilities. 7752: * objc/objc.h (arglist_t): Data-definition changed. 7753: * objc/xforward.c: File removed. 7754: * objc/Makefile (sendmsg.c, fflags, xforward): Targets removed; 7755: (OBJC_O): Added encoding.o; 7756: (OBJC_H): Added encoding.h, removed mutex.h. 7757: 7758: * objc/objc.h (nil_method): Don't define it, import it from sendmsg.c. 7759: 7760: Wed Jun 16 17:39:56 1993 Kresten Krab Thorup ([email protected]) 7761: 7762: * objc/objc-api.h: (CLS_SETNUMBER): Clear old number 7763: * objc/sendmsg.c (__objc_update_dispatch_table_for_class): 7764: Don't free dtable... (memory leak to make posing work) 7765: * objc/class.c (class_pose_as): lazy copy dtables. 7766: #include sarray.h 7767: 7768: Tue Jun 22 21:39:11 1993 Kresten Krab Thorup (krab@xiv) 7769: 7770: * objc/class.c (class_pose_as): Rewritten 7771: * objc/sendmsg.c (__objc_update_dispatch_table_for_class): 7772: Free old dispatch table and install a new. 7773: 7774: Tue Aug 24 00:41:35 1993 Kresten Krab Thorup ([email protected]) 7775: 7776: * objc-act.c (generate_method_descriptors, generate_ivar_lists, 7777: generate_dispatch_tables): Reorganized use of constructors. 7778: (build_descriptor_table_initializer, build_ivar_list_initializer, 7779: build_dispatch_table_initializer): Removed argument `int *size'. 7780: 7781: Tue Aug 24 00:52:04 1993 Kresten Krab Thorup ([email protected]) 7782: 7783: * objc/sendmsg.c (__objc_install_dispatch_table_for_class): 7784: Dynamically expand dispatch table when full. 7785: 7786: Mon Aug 23 19:37:33 1993 Jeffrey A. Law ([email protected]) 7787: 7788: * pa.h (TARGET_TRAILING_COLON): Delete switch. TARGET_GAS now 7789: controls the use of trailing colons. 7790: 7791: Mon Aug 23 18:46:14 1993 Frederic Pierresteguy ([email protected]) 7792: 7793: * config/m68k/dpx2g.h (ASM_LONG): Move from dpx2.h. 7794: 7795: * configure (m68k-bull-sysv): Add support for working with native 7796: assembler. 7797: * config/m68k/dpx2.h (MOTOROLA): Define this. 7798: (VERSADOS): This the name of the DPX2 assembler. Define this in case. 7799: (USG): Define this. 7800: (SGS_NO_LI): define this to suppress jump table usage. 7801: (TARGET_DEFAULT): Define this to 3 inside the conditional USE_GAS 7802: since bitfields do not work a clean way on DPX2. 7803: (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, SELECT_SECTION, 7804: SELECT_RTX_SECTION): #undef these. 7805: (READONLY_DATA_SECTION): Define to data_section. 7806: (*_ASM_OP, ASM_OUTPUT_*): Define these accordingly to the native 7807: assembler syntax. 7808: (LONG_DOUBLE_TYPE_SIZE): Set to 64 to not use XFmode. 7809: (REAL_ARITHMETIC): Define this to use the software floating point 7810: emulator. 7811: (JUMP_TABLES_IN_TEXT_SECTION): Define this to 1. 7812: (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Override m68k.h default. 7813: (ASM_OUTPUT_ASCII): add a new variable to take care of the lentgh of 7814: the operand field which must be < 80 chars. 7815: (PRINT_OPERAND_ADDRESS): Override m68k.h default. 7816: (PUT_SDB_TYPE): Output type in decimal. 7817: (PUT_SDB_FUNCTION_[START|END]): Override sdbout.c default. 7818: (PUT_SDB_BLOCK_[START|END]): Override sdbout.c default. 7819: 7820: Mon Aug 23 18:33:26 1993 Richard Kenner ([email protected]) 7821: 7822: * fold-const.c (twoval_comparison_p): Add new arg, SAVE_P; all 7823: callers changed. 7824: (fold, case EQ_EXPR): If SAVE_P is true after call to 7825: twoval_comparison_p, call save_expr on the expression we make. 7826: 7827: Mon Aug 23 07:57:41 1993 Michael Meissner ([email protected]) 7828: 7829: * i386/osfrose.h (CC1_SPEC, CPP_SPEC): If NO_UNDERSCORE is 7830: defined, the ELF compiler defaults to -mno-underscores to remove 7831: leading underscores. Clean up ROSE -pic options so that they are 7832: never passed when building ELF objects. 7833: * i386/osfelf.h: Likewise. 7834: 7835: Sun Aug 22 23:36:24 1993 Jeffrey A. Law ([email protected]) 7836: 7837: * expr.c (expand_builtin_apply): Fix typo. 7838: 7839: * pa.md (untyped_call): New define_expand. 7840: 7841: Fri Aug 20 12:24:50 1993 Ian Lance Taylor ([email protected]) 7842: 7843: * gcc.c (main): Correct August 6 change. 7844: 7845: Thu Aug 19 19:19:19 1993 Jim Wilson ([email protected]) 7846: 7847: * combine.c (simplify_shift_const, XOR case): When applying 7848: distributive law, use shift_mode and GET_MODE (varop) instead of 7849: result_mode. 7850: 7851: Thu Aug 19 08:28:50 1993 Richard Kenner ([email protected]) 7852: 7853: * rs6000.md (scc): Fix typo in scc with compare and set. 7854: 7855: * combine.c (can_combine_p): Don't reject SUBREG assignments here. 7856: (subst): Instead, do it here, but also allow it in as a 7857: nested SUBREG since the inner one will be eliminated. 7858: (simplify_and_const_int): Convert (and (neg X) (const_int 1)) 7859: to a shift when X is known to be either 0 or 1. 7860: 7861: * fold-const.c (fold): Handle EQ_EXPR and NE_EXPR where both 7862: args are comparisons or BIT_AND_EXPR with constant 1. 7863: 7864: Wed Aug 18 23:37:05 1993 Jim Wilson ([email protected]) 7865: 7866: * mips.h (SELECT_SECTION): Put object in sdata only if size is 7867: known, i.e. greater than 0. 7868: 7869: Wed Aug 18 17:48:51 1993 Richard Kenner ([email protected]) 7870: 7871: * combine.c (try_combine): Don't split a PARALLEL of a SIGN_EXTEND 7872: and the object being sign extended if we have made assumptions 7873: about the form the I2DEST. 7874: 7875: * combine.c (nonzero_bits): Handle case when BYTE_LOADS_EXTEND is 7876: not on and we are asked for something in a mode wider than it. 7877: 7878: Wed Aug 18 02:21:35 1993 Jeffrey A. Law ([email protected]) 7879: 7880: * pa.md (movdf insn): Distinguish between offsettable and 7881: nonoffsettable memory locations when loading/storing a GR. 7882: (movdi insn): Likewise. Loading a DImode constant can take as 7883: many as 4 insns (length of 16 bytes). 7884: 7885: * pa.md (zero_extendqihi2): No need to explicitly set a length; 7886: the defaults are correct. 7887: (zero_extendqisi2, floatsisf2, floatsidf2): Likewise. 7888: (fix_truncdfsi2, fix_truncsfdi2, fix_truncdfdi2): Likewise. 7889: 7890: * pa.c (emit_move_sequence): Check both reload_in_progress and 7891: reload_completed when choosing a scratch/temporary register. 7892: 7893: * pa.h (TARGET_KERNEL): Delete switch and all references to it. 7894: * pa.c (emit_move_sequence): Always handle secondary reloads for 7895: symbolic addresses. 7896: (secondary_reload_class): Symbolic operands always need a secondary 7897: reload from R1_REGS if their target class is not R1_REGS. 7898: * pa.md (HIGH for symbolic operands): TARGET_KERNEL version is now 7899: the only choice. Delete ! TARGET_KERNEL version. 7900: 7901: * pa.h (DEFAULT_GDB_EXTENSIONS): GDB extensiosn are on by default. 7902: * pa-hpux.h (DEFAULT_GDB_EXTENSIONS): Turn GDB extensions off. 7903: * pa-hpux7.h (DEFAULT_GDB_EXTENSIONS): Likewise. 7904: 7905: * pa.h (TARGET_GAS): New target flag to control use of GAS 7906: specific assembler directives. 7907: (TARGET_SWITCHES): Support -mgas and -mno-gas. 7908: (ASM_DECLARE_FUNCTION_NAME): If TARGET_GAS then emit .PARAM 7909: directives for static functions so argument relocations work. 7910: * pa-ghpux.h (TARGET_DEFAULT): Enable TARGET_GAS. 7911: * pa-gux7.h, pa-utahmach.h, pa.h (TARGET_DEFAULT): Likewise. 7912: * pa1-ghpux.h, pa1-utahmach.h, pa1.h (TARGET_DEFAULT): Likewise. 7913: 7914: * pa.c (hppa_legitimize_address): Rework address computation for 7915: x[n - m] so that problems with implicit space register selection 7916: are avoided. 7917: 7918: * pa.h (EXTRA_CONSTRAINT): Delete unused 'S' constraint. 7919: * pa.md (call_internal_symref): Make pattern unavailable if 7920: TARGET_LONG_CALLS. 7921: (call_value_internal_symref): Likewise. 7922: 7923: Mon Aug 16 18:47:56 1993 Richard Kenner ([email protected]) 7924: 7925: From [email protected]: 7926: * encore.h, ns32k.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use .double instead 7927: of .word. 7928: * ns32k.h (CASE_VECTOR_MODE): Now SImode; was HImode. 7929: * ns32k.md (tablejump): Now SImode and uses cased. 7930: 7931: * fold-const.c (fold, case EQ_EXPR): Re-enable converting 7932: signed MOD operations to unsigned when inside comparisons 7933: against zero, but only when the second operand of the MOD 7934: is an integral power of two. 7935: 7936: Mon Aug 16 12:38:28 1993 John Hassey ([email protected]) 7937: 7938: * fixinc.dgux: Fixed va_list problem in _int_varargs.h 7939: 7940: Mon Aug 16 11:26:57 1993 Kevin Buettner ([email protected]) 7941: 7942: * configure (m88k-mot-sysv4*): Added new configuration for m88k 7943: delta machines running svr4. 7944: 7945: * config/m88k/mot-sysv4.h: New file. 7946: 7947: Mon Aug 16 11:16:32 1993 Richard Earnshaw ([email protected]) 7948: 7949: * combine.c: (use_crosses_set_p): Check for partially overlapping 7950: hard regs. 7951: 7952: Sun Aug 15 20:17:20 1993 Jeffrey A. Law ([email protected]) 7953: 7954: * reorg.c (find_end_label): If a suitable RETURN insn exists at 7955: the end of the current function, place a label in front of it for 7956: the end_of_function_label. 7957: 7958: Fri Aug 13 16:40:03 1993 Pat Rankin ([email protected]) 7959: 7960: * c-typeck.c (check_format): For scan of "%[", skip over scan set 7961: til closing ']' to avoid processing it as ordinary format characters. 7962: 7963: Fri Aug 13 16:02:23 1993 Chip Salzenberg ([email protected]) 7964: 7965: * c-common.c (declare_hidden_char_array): New function to 7966: factor out duplicate code in declare_function_name. 7967: Don't set DECL_EXTERNAL (which is illegal without TREE_PUBLIC) 7968: to prevent output; instead, set TREE_ASM_WRITTEN. 7969: (declare_function_name): Use declare_hidden_char_array. 7970: 7971: Fri Aug 13 14:58:52 1993 Richard Stallman ([email protected]) 7972: 7973: * config/ns32k/encore.h (ASM_OUTPUT_ALIGN_CODE): Override as no-op. 7974: 7975: Fri Aug 13 14:29:17 1993 Stephen Moshier ([email protected]) 7976: 7977: * sparc.h (LONG_DOUBLE_TYPE_SIZE): Define to 128. 7978: 7979: * real.c (GET_REAL, PUT_REAL): Add TFmode versions. 7980: (MAXDECEXP, MINDECEXP): New decimal exponent limits 7981: that vary with definition of LONG_DOUBLE_TYPE_SIZE. 7982: (endian, ereal_atof, real_value_truncate, einfin, emdnorm, asctoeg): 7983: Add cases for TFmode. 7984: (etartdouble): New function converts REAL_VALUE_TYPE to TFmode 7985: for use by ASM_OUTPUT_LONG_DOUBLE. 7986: (edivm, emulm): Ifdef out, replace by faster multiply and divide. 7987: (etoe113, toe113, e113toe): New type conversions for TFmode. 7988: (asctoe113, e113toasc): New TFmode binary <-> decimal conversions. 7989: (at top level): Define constants ezero, eone, emtens, etens, ... 7990: in a new 20-byte format when LONG_DOUBLE_TYPE_SIZE = 128 and 7991: set NE to 10. Otherwise, the internal format remains 12 bytes wide. 7992: (etoudi, etodi, ditoe, uditoe): New functions, signed and unsigned 7993: DImode float and fix, for real.c used in a libgcc-of-last-resort. 7994: (esqrt): New function, correctly rounded square root for libgcc. 7995: (etodec): Delete ifdef'd version. 7996: (eroundi, eroundui): Rename to efixi, efixui and always 7997: round towards zero. 7998: 7999: From [email protected] (Frank Crawford): 8000: (etoibm, toibm, ibmtoe): New conversions for IBM 370 float format. 8001: (e53toe, e64toe, toe64, etoe53, toe53, etoe24, toe24, asctoe53, 8002: asctoeg, make_nan): Ifdef for IBM. 8003: 8004: * real.h (REAL_VALUE_TYPE): Define array at least 20 bytes wide 8005: if LONG_DOUBLE_TYPE_SIZE is 128 bits. 8006: (etartdouble): Declare and use for REAL_VALUE_TO_TARGET_LONG_DOUBLE 8007: when long double is TFmode. 8008: (REAL_VALUE_FIX, REAL_VALUE_UNSIGNED_FIX): Must always round 8009: towards zero. 8010: 8011: Fri Aug 13 07:50:42 1993 Richard Kenner ([email protected]) 8012: 8013: * expr.c (expand_expr, case SAVE_EXPR): Set MEM_IN_STRUCT_P 8014: appropriately when the result is a MEM. 8015: 8016: * integrate.c (expand_inline_function): Copy args that are in 8017: hard regs instead of substituting them directly into insns. 8018: 8019: * rs6000.md (subsi3): Merge alternatives. 8020: (comparison patterns): Eliminate generation of "sfi."; no such 8021: instruction exists. 8022: 8023: Thu Aug 12 21:24:01 1993 Richard Stallman ([email protected]) 8024: 8025: * config/m68k/sun3.h (CPP_PREDEFINES): Define _CROSS_TARGET_ARCH. 8026: 8027: Thu Aug 12 19:02:47 1993 Richard Kenner ([email protected]) 8028: 8029: * rs6000.md (attribute "type"): Add new type, "branch". 8030: (attribute "length"): New attribute; put on all insns that don't 8031: have default length. 8032: (branch patterns): If conditional branch won't reach, take 8033: conditional branch around an unconditional branch. 8034: 8035: * rs6000.md (plus): Split (plus (COMPARISON FOO ...) ...) at FOO. 8036: 8037: Thu Aug 12 14:04:40 1993 Michael Meissner ([email protected]) 8038: 8039: * i386/osfrose.h (SUBTARGET_SWITCHES): Add -munderscores and 8040: -mno-underscores. 8041: (CPP_SPEC): If -mno-underscores, define __NO_UNDERSCORES__. 8042: (LPREFIX): Redefine, to take -m{,no-}underscores into account. 8043: (ASM_GENERATE_INTERNAL_LABEL): Ditto. 8044: (ASM_OUTPUT_INTERNAL_LABEL): Ditto. 8045: (ASM_OUTPUT_LABELREF): Ditto. 8046: 8047: * i386/osfelf.h (CPP_SPEC): If -mno-underscores, define 8048: __NO_UNDERSCORES__. 8049: 8050: * c-decl.c (pushdecl): Don't give nested warning messages if 8051: DECL_IN_SYSTEM_HEADER is set in order not to give warnings when 8052: defining new instances of __FUNCTION__ and __PRETTY_FUNCTION__. 8053: 8054: Thu Aug 12 13:42:04 1993 Jim Wilson ([email protected]) 8055: 8056: * sparc.c (legitimize_pic_address): Delete 4th arg SCRATCH. 8057: Fix all callers. 8058: (emit_move_sequence): Delete 3rd arg SCRATCH_REG. Fix all 8059: callers. If operand1 is an invalid PIC address, then legitimize 8060: it before doing anything else. 8061: * sparc.h (SECONDARY_INPUT_RELOAD_CLASS): Delete case for invalid 8062: PIC addresses. 8063: (CONSTANT_ADDRESS_P): Reject invalid PIC addresses. 8064: (LEGITIMATE_PIC_OPERAND_P): New macro. 8065: (GO_IF_LEGITIMATE_ADDRESS): Reject invalid PIC addresses. 8066: (LEGITIMIZE_ADDRESS): Fix call to legitimize_pic_address. 8067: * sparc.md (reload_insi): Delete. 8068: (*): Fix all callers of legitimize_pic_address and emit_move_sequence. 8069: 8070: * sched.c (sched_analyze_insn): Handle USE before a JUMP_INSN just 8071: like a USE before a CALL_INSN. 8072: * function.c (thread_prologue_and_epilogue_insns): For the 8073: epilogue, put USE insns immediately before the return insn. 8074: 8075: * sparc.h (ASM_OUTPUT_DOUBLE): Always use REAL_VALUE_TO_TARGET_DOUBLE. 8076: (ASM_OUTPUT_FLOAT): Always use REAL_VALUE_TO_TARGET_SINGLE. 8077: 8078: Wed Aug 11 19:48:24 1993 Per Bothner ([email protected]) 8079: 8080: * tree.c (get_file_function_name): New function 8081: for language-independent constructor name generation. 8082: * objc-act.c (build_module_descriptor): Use it. 8083: * tree.h (CONSTRUCTOR_NAME_FORMAT): Removed. 8084: 8085: Wed Aug 11 19:50:05 1993 Jeffrey A. Law ([email protected]) 8086: 8087: * reorg.c (try_merge_delay_insns): Fix typo. 8088: (fill_simple_delay_slots): Only access the JUMP_LABEL field 8089: if the INSN needing delay slots is a JUMP_INSN. 8090: 8091: Wed Aug 11 15:09:52 1993 Michael Meissner ([email protected]) 8092: 8093: * c-typeck.c (output_init_element): Don't call default_conversion 8094: for a STRING_CST if type is directly suitable for it. 8095: (digest_init): Eliminate a lot of code that checks the variable 8096: 'element', since element is always 0 in these code paths. 8097: 8098: Wed Aug 11 17:59:28 1993 Richard Kenner ([email protected]) 8099: 8100: * combine.c (combine_instructions): Fix typo on test of basic block 8101: number. 8102: 8103: Wed Aug 11 17:44:38 1993 Richard Stallman ([email protected]) 8104: 8105: * configure (m68k-hp-bsd4.4*): Add missing *; 8106: move before m68k-hp-bsd*. 8107: 8108: Wed Aug 11 09:21:56 1993 Ian Lance Taylor ([email protected]) 8109: 8110: * fixincludes: Get SIZE_TYPE by invoking gcc rather than cc; gcc 8111: location is passed in as fourth argument. 8112: * Makefile.in (stmp-fixinc): Depend upon xgcc and cpp; pass 8113: objdir/xgcc -Bobjdir/ as fourth argument to $(FIXINCLUDES). 8114: 8115: Tue Aug 10 15:12:11 1993 Jim Wilson ([email protected]) 8116: 8117: * cse.c (cse_insn): After inserting src_eqv, check to see if it is 8118: identical to any uninserted SET_SRCs, and if so, set their src_elt 8119: to src_eqv_elt. 8120: 8121: Tue Aug 10 12:56:46 1993 Jeffrey A. Law ([email protected]) 8122: 8123: * pa.h (DOLLARS_IN_IDENTIFIERS): Define as 2. 8124: 8125: Mon Aug 9 19:02:49 1993 Per Bothner ([email protected]) 8126: 8127: Merged fixproto stuff from Cygnus. 8128: 8129: Fri Aug 6 12:23:04 1993 Per Bothner ([email protected]) 8130: 8131: * fixproto, Makefile.in: Rename tmp.[ci] -> fixtmp.[ci]. 8132: 8133: Tue Aug 3 22:24:58 1993 Per Bothner ([email protected]) 8134: 8135: * fixproto: Find not only nested directories, but also 8136: links to directories. 8137: 8138: Mon Aug 2 18:58:35 1993 Per Bothner ([email protected]) 8139: 8140: * fixproto: Add kludge to getting hit by double globbing. 8141: * scan-types.sh: Fix to emit #define, not a typedef. 8142: * patch-header.c (main): Make sure to print a space after 8143: a function name when we didn't see a '('. 8144: * Makefile.in (stmp-fixproto): Fix so (/*...*/) becomes (). 8145: 8146: Fri Jul 30 17:18:22 1993 Per Bothner ([email protected]) 8147: 8148: * fixproto: Append seen files to fixproto.list file, 8149: instead of done_files variable (which could become too long). 8150: * fixproto: Don't generate a huge rel_souce_files variable 8151: (which might become too long); instead loop over directories. 8152: * fixproto: Remove signal() from list of required functions 8153: for signal.h, because we can't grok its complicted prototype. 8154: * Makefile.in (mostlyclean): Also delete fixproto.list. 8155: 8156: Thu Jul 29 12:43:53 1993 Per Bothner ([email protected]) 8157: 8158: * scan-decls.c (skip_to_enclosing_brace): New function. 8159: * scan-decls.c (main): After a parameter list, skip 8160: any following function body (usually for inline functions). 8161: 8162: * fixproto: Fix to make sure stdlib.h and unistd.h get 8163: the proper required_list, even when they need to be created. 8164: * fixproto: Direct cpp error messages to /dev/null. 8165: * patch-header.c: Make less verbose. 8166: 8167: Wed Jul 28 16:12:39 1993 Per Bothner ([email protected]) 8168: 8169: * fixproto: Rewrite to use a case statement instead of eval to 8170: set required_list and extra_check_list. 8171: * fixproto: Simplify remaining call to tr improving portability. 8172: 8173: * scan-decl: Recognize inline functions, emitting typecode 'I'. 8174: * patch-header (read_scan_file): Handle inline functions. 8175: * patch-header (read_scan_file): Fix thinko. Rename variable. 8176: 8177: Mon Aug 9 17:47:48 1993 Richard Stallman ([email protected]) 8178: 8179: * c-typeck.c (build_c_cast): For (void *) (FOO *) 0, return a nop_expr 8180: so it doesn't count as a null pointer constant. 8181: (convert_for_assignment, build_binary_op): Pedantically warn about 8182: that case if looking for a null_pointer_constant. 8183: (build_conditional_expr): Likewise. 8184: 8185: * ns32k.c (output_move_double): Fix typos in last change. 8186: 8187: * expr.c (store_expr): Don't return TEMP if it's a MEM. 8188: 8189: Mon Aug 9 15:26:27 1993 Jim Wilson ([email protected]) 8190: 8191: * varasm.c (assembler_variable): For XCOFF_DEBUG, restore section 8192: if dbxout_symbol call changes it. 8193: 8194: * sched.c (schedule_insns): Don't emit a NOTE at the end of the last 8195: basic block if that would put it between a JUMP_INSN and a BARRIER. 8196: 8197: * mips.h (OPTIMIZATION_OPTIONS): Use |=, not &= to set -mpgopt. 8198: * mips.c (function_arg, DFmode case): Set regbase to GP_ARG_FIRST 8199: if cum->arg_number greater than or equal to 2. 8200: 8201: Mon Aug 9 07:31:07 1993 Richard Kenner ([email protected]) 8202: 8203: * optabs.c (widen_operand): New function. 8204: (expand_binop, expand_unop): Call it. 8205: 8206: Sun Aug 8 17:32:04 1993 Richard Kenner ([email protected]) 8207: 8208: * combine.c (num_sign_bit_copies): Properly handle case when MODE is 8209: narrower than that of X. 8210: (simplify_shift_const): Remove change of July 26. 8211: 8212: Sun Aug 8 17:26:57 1993 Jim Wilson ([email protected]) 8213: 8214: * sparc.c (sparc_type_code): Support range types. 8215: 8216: * expr.c (expand_increment): Call save_expr on inner expression if 8217: it is itself an increment expression. 8218: 8219: * configure (*-*-riscos*): Set broken_install. 8220: (mips-*-riscos[56789]sysv4): Use xm-sysv4.h. 8221: * mips/xm-sysv4.h: New file. 8222: * mips/svr3-5.h, mips/svr4-5.h (_SC_PAGE_SIZE): Define to 8223: _SC_PAGESIZE if that exists. 8224: 8225: * sparc.h (CONST_DOUBLE_OK_FOR_LETTER_P): Use fp_zero_operand. 8226: * sparc.c (reg_or_0_operand): Use fp_zero_operand. 8227: (fp_zero_operand): New function. 8228: 8229: * c-typeck.c (build_array_ref): Force array to be allocated on the 8230: stack if it is accessed by out-of-bound constant integer subscript. 8231: 8232: * configure (mips-*): Standardize indentation. 8233: (mips-*-*bsd*): Use t-bsd and t-bsd-gas. 8234: (mips-*-*sysv4*): Use t-svr4 and t-svr4-gas. 8235: (mips-*-*sysv*): Use t-svr3 and t-svr3-gas. 8236: * mips/t-bsd, mips/t-bsd-gas, mips/t-svr3, mips/t-svr3-gas, 8237: mips/t-svr4, mips/t-svr4-gas: New files. 8238: 8239: Sun Aug 8 11:33:51 1993 John F Carr ([email protected]) 8240: 8241: * expmed.c (SLOW_UNALIGNED_ACCESS): Define, but allow override. 8242: (store_bit_field): Test that instead of STRICT_ALIGNMENT. 8243: Also, allow fetching as non-bitfield if memory is aligned enough. 8244: (extract_bit_field): Install code here like that in store_bit_field. 8245: 8246: Sun Aug 8 04:26:21 1993 Richard Stallman ([email protected]) 8247: 8248: * expr.c (expand_assignment): If WANT_VALUE is 0, return NULL. 8249: (store_expr): Likewise. 8250: Rename arg SUGGEST_REG to WANT_VALUE. 8251: Never return TARGET if WANT_VALUE unless BLKmode. 8252: Instead, return TEMP or a value copied from TARGET. 8253: Pass 0 for WANT_VALUE in recursive calls that ignore value. 8254: 8255: * varasm.c (contains_pointers_p): New function. 8256: (assemble_variable): Use that. 8257: 8258: * toplev.c (rest_of_decl_compilation): Don't look at DECL_IGNORED_P. 8259: Don't output a read-only initialized extern variable. 8260: 8261: * c-common.c (declare_function_name): Set DECL_EXTERNAL in the decls. 8262: 8263: Sat Aug 7 22:25:42 1993 Richard Stallman ([email protected]) 8264: 8265: * c-typeck.c (process_init_element): Don't call clear_momentary 8266: if value is 0. 8267: 8268: Sat Aug 7 15:53:06 1993 Doug Evans ([email protected]) 8269: 8270: * caller-save.c (MAX_MOVE_MAX, MAX_UNITS_PER_WORD): New macros. 8271: (regno_save_mode, regno_save_mem): Use them. 8272: * tm.texi (MAX_MOVE_MAX, MAX_UNITS_PER_WORD): Document them. 8273: 8274: * c-decl.c (init_decl_processing): Make long long available to 8275: use for SIZE_TYPE and PTRDIFF_TYPE. 8276: 8277: Sat Aug 7 14:47:12 1993 Richard Stallman ([email protected]) 8278: 8279: * config/ns32k/ns32k.md (strict_low_part add/subtract recognizers): 8280: Use %2, not %1, in template. 8281: 8282: Sat Aug 7 07:40:28 1993 Richard Kenner ([email protected]) 8283: 8284: * reload.c (find_reloads): Don't combine two reloads if their 8285: reload_reg_rtx values differ. 8286: 8287: * alpha.c (add_long_const): New function. 8288: (output_{pro,epi}log): Use it. 8289: If register save area is more than 32768 from SP, compute its 8290: address into a register. 8291: 8292: * expmed.c (expand_divmod): Clean up code and documentation, 8293: especially in areas related to when copies are made. 8294: 8295: * reload.c (push_reload, find_reloads): Treat (subreg (pseudo)) 8296: and (subreg (mem)) the same. 8297: If we have (subreg:M1 (mem:M2 ...) ...), never do anything 8298: special if M1 and M2 are the same size. 8299: 8300: * tree.c (print_obstack_name): New function; derived from 8301: original debug_obstack. 8302: (debug_obstack): Call print_obstack_name. 8303: * print-tree.c (print_node): Print obstack node is contained in. 8304: 8305: Sat Aug 7 04:47:43 1993 Richard Stallman ([email protected]) 8306: 8307: * c-decl.c (finish_decl): Allow file-scope static incomplete array. 8308: 8309: Fri Aug 6 13:03:27 1993 Jim Wilson ([email protected]) 8310: 8311: * expr.c (expand_expr, case PLUS_EXPR): Goto binop2 not 8312: both_summands if we should not be returning a plus. 8313: 8314: Fri Aug 6 16:35:50 1993 Richard Stallman ([email protected]) 8315: 8316: * config/m68k/m68k.md (call and call_value pic recognizers) [HPUX_ASM]: 8317: Output plain bsr, without `@PLTPC'. 8318: 8319: Fri Aug 6 16:12:08 1993 Richard Kenner ([email protected]) 8320: 8321: * alpha.c (reg_or_6bit_operand): New function. 8322: * alpha.h (PREDICATE_CODES): Add reg_or_6bit_operand to list. 8323: * alpha.md (shifts): Use reg_or_6bit_operand for shift counts. 8324: 8325: Fri Aug 6 15:57:58 1993 Ian Lance Taylor ([email protected]) 8326: 8327: * gcc.c (main): If standard_startfile_prefix is a relative path, 8328: prepend standard_exec_prefix/MACHINE/VERSION and, if 8329: GCC_EXEC_PREFIX is defined, GCC_EXEC_PREFIX/MACHINE/VERSION. 8330: 8331: * configure: If config.status did not change, don't update its 8332: modification time. 8333: 8334: Fri Aug 6 15:23:49 1993 Richard Stallman ([email protected]) 8335: 8336: * c-typeck.c (output_init_element): Fix backward test in last change. 8337: Use TYPE_MAIN_VARIANT. 8338: 8339: Fri Aug 6 06:43:09 1993 Michael Meissner ([email protected]) 8340: 8341: * g++.c (fancy_abort): Provide function in case user does 8342: #define abort fancy_abort when building GCC. 8343: 8344: Fri Aug 6 00:15:21 1993 Richard Stallman ([email protected]) 8345: 8346: * cccp.c (main): If -v, print header search dir list. 8347: 8348: * c-typeck.c (output_init_element): Call default_conversion here. 8349: Set constructor_erroneous, etc., here. 8350: (process_init_element): Not here. 8351: 8352: Thu Aug 5 20:55:47 1993 Brendan Kehoe ([email protected]) 8353: 8354: Cygnus<->FSF merge. 8355: 8356: Thu Aug 5 17:07:20 1993 Brendan Kehoe ([email protected]) 8357: 8358: * cp-class.c (build_vtable, prepare_fresh_vtable): Turn on 8359: WRITABLE_VTABLES stuff that I disabled July 30th. 8360: * cp-pt.c: Include flags.h to get write_symbols. 8361: 8362: Thu Aug 5 15:50:25 1993 Mike Stump ([email protected]) 8363: 8364: * cp-class.c (finish_struct): Make DWARF conditional code, really 8365: DWARF conditional (write_symbols == DWARF_DEBUG). 8366: * cp-decl.c (pushtag): Ditto. 8367: * cp-decl2.c (finish_vtable_vardecl): Ditto. 8368: * cp-pt.c (end_template_instantiation): Ditto. 8369: * cp-search.c (dfs_debug_mark): Ditto. 8370: 8371: Wed Aug 4 15:42:19 1993 Brendan Kehoe ([email protected]) 8372: 8373: * cp-typeck.c (build_object_ref): Pass the original basetype, not 8374: the type value of it, into build_scoped_ref (completes change of 8375: Jul 1). 8376: 8377: Wed Aug 4 14:40:35 1993 Mike Stump ([email protected]) 8378: 8379: * cp-class.c (related_vslot): Additional check to make sure vslots 8380: are related. 8381: * cp-class.c (modify_vtable_entries): Use DECL_CONTEXT, not 8382: DECL_CLASS_CONTEXT when finding the vtable to put the virtual 8383: function in, as otherwise we might not be able to find secondary 8384: vtables. Ensures that the virtual function pointer will be put in 8385: the correct vtable, instead of the wrong one. 8386: * cp-class.c (modify_vtable_entry): Delete unused argument context. 8387: * cp-class.c (modify_vtable_entries): Ditto. 8388: 8389: Tue Aug 3 08:24:50 1993 Brendan Kehoe ([email protected]) 8390: 8391: * cp-init.c (nc_nelts_field_id): New variable to cache the value of 8392: the "nelts" identifier, to avoid unnecessary calls to get_identifier. 8393: (init_init_processing): Use it. 8394: (build_new): Likewise. 8395: (build_vec_delete): Likewise. 8396: 8397: * cp-decl2.c (walk_vtables): Make sure the type of VARS isn't an 8398: error_mark_node when we're running down the list. 8399: 8400: * cp-decl.c (grokdeclarator): Give an error and return an 8401: error_mark_node, instead of saying sorry, when we're dealing with a 8402: structure that's not yet been defined. Make sure type isn't an 8403: error_mark_node when looking for an anonymous type. 8404: 8405: * cp-pt.c (end_template_instantiation): If we're supplying dwarf 8406: debug info, set up the TYPE_STUB_DECL and output the rest of the 8407: debug output for the decl. 8408: 8409: * cp-search.c (pop_search_level): Change from a macro into a 8410: function, so we can more easily debug it. 8411: 8412: * cp-search.c (dfs_debug_mark): Only mark the type name as ignored 8413: if we aren't doing dwarf debugging. 8414: 8415: * cp-typeck.c (build_unary_op): Only allow the prefix operators to 8416: be lvalues, not the postfix ones. 8417: 8418: * cp-decl.c (duplicate_decls): Delete the code that saved and 8419: restored the UID of a decl, it's no longer necessary. 8420: 8421: * cp-call.c (compute_conversion_costs_ansi): Avoid generating 8422: warnings when we call build_type_conversion. 8423: 8424: Mon Aug 2 17:56:36 1993 Brendan Kehoe ([email protected]) 8425: 8426: * cp-decl.c (start_function): Complain about redeclaration of a 8427: template function, being careful to only deal with pre-parsed 8428: declarations that *are* in fact from templates. 8429: 8430: Fri Jul 30 18:03:10 1993 Brendan Kehoe ([email protected]) 8431: 8432: * cp-class.c, cp-decl.c, cp-pt.c, cp-tree.h: Delete all of the old 8433: code for DEBUG_CP_BINDING_LEVELS, and replace it with a new, cleaner, 8434: and more usable format. 8435: 8436: Fri Jul 30 17:06:24 1993 Brendan Kehoe ([email protected]) 8437: 8438: * cp-class.c (build_vtable, prepare_fresh_vtable): Temporarily 8439: disable the change of June 20th making vtables readonly by default. 8440: 8441: Fri Jul 30 14:47:09 1993 Mike Stump ([email protected]) 8442: 8443: * cp-init.c (emit_base_init): Make sure we initialize the pointer to 8444: vtables even when we are not in charge. Fixes virtual calls to derived 8445: objects that have a static base type, so that they call derived 8446: functions, not base functions. 8447: * cp-search.c (build_vbase_vtables_init): Change comments to reflect 8448: uses of last argument more accurately. Also rename last argument to 8449: a better name. 8450: 8451: Wed Jul 28 16:23:52 1993 Brendan Kehoe ([email protected]) 8452: 8453: * cp-search.c (build_type_pathname): Deleted fn. 8454: * cp-class.c (build_type_pathname): Moved to here and made static, 8455: since prepare_fresh_vtable is the only fn that ever uses it. 8456: * cp-tree.h (build_type_pathname): Deleted prototype. 8457: 8458: * g++.c (error) [!HAVE_VFPRINTF]: Move before fatal to avoid an 8459: implicit declaration. 8460: 8461: Wed Jul 28 13:49:58 1993 david d `zoo' zuhn ([email protected]) 8462: 8463: * Makefile.in (g++-cross): Add an explicit $(srcdir) for g++.c, pass 8464: the quotes as part of GCC_NAME 8465: 8466: * g++.c: only define GCC_NAME if it's already undefined 8467: 8468: Tue Jul 27 10:48:30 1993 Brendan Kehoe ([email protected]) 8469: 8470: * cp-decl.c (finish_decl): Don't error on uninitialized const 8471: arrays. Use error, not error_with_decl, so we know what really 8472: brought about the problems. 8473: 8474: * g++.c: New file, written in C so we don't do so many exec's, as we 8475: did with the shell script. 8476: * g++, c++: Deleted. 8477: * Makefile.in (STAGESTUFF): Added g++ and g++-cross. 8478: (all.cross): Added g++-cross. 8479: (all.build): Depend upon g++. 8480: (g++, g++-cross): New rules. 8481: (install-common): Depend upon g++. Changed installation of g++/c++ 8482: to install the g++ program, and link c++ to it. Likewise for 8483: g++-cross and c++-cross. 8484: 8485: Mon Jul 26 09:40:37 1993 Brendan Kehoe ([email protected]) 8486: 8487: * cp-typeck.c (build_unary_op) [case ADDR_EXPR]: When taking the 8488: address of an increment/decrement operation, act on the thing 8489: being incremented, not the ..._EXPR itself. 8490: 8491: Fri Jul 23 08:33:32 1993 Brendan Kehoe ([email protected]) 8492: 8493: * cp-call.c (build_method_call): Check DECL_STATIC_FUNCTION_P, not 8494: TREE_STATIC, when validating a method call in a static call context. 8495: 8496: Thu Aug 5 19:18:00 1993 Richard Kenner ([email protected]) 8497: 8498: * tree.h (TYPE_OBSTACK): New macro. 8499: (struct tree_type): Add new field obstack. 8500: * tree.c (make_node, copy_node): Set TYPE_OBSTACK. 8501: (build_type_variant, build_type_copy, build_pointer_type): Put 8502: new node in same obstack as old node; use push/pop obstacks. 8503: * stor-layout.c (layout_type): Put size-related nodes in same 8504: obstack as type. 8505: 8506: * reload.c (push_reload, find_reloads): Refine when we reload 8507: inside a SUBREG by respecting BYTE_LOADS_*_EXTEND; see comments 8508: in push_reload. 8509: 8510: Thu Aug 5 14:17:59 1993 Michael Meissner ([email protected]) 8511: 8512: * i386/osfrose.h (ASM_DECLARE_FUNCTION_SIZE): Enable setting the 8513: size for elf functions. 8514: 8515: Thu Aug 5 01:44:37 1993 Jeffrey A. Law ([email protected]) 8516: 8517: * toplev.c (rest_of_compilation): If not optimizing, turn off 8518: DECL_INLINE for functions declared as inline. Avoid turning on 8519: DECL_INLINE when -finline-functions is used without -O. 8520: 8521: Thu Aug 5 00:06:45 1993 Richard Stallman ([email protected]) 8522: 8523: * collect2.c (handler): Check whether c_file and o_file are 0. 8524: 8525: Wed Aug 4 18:06:26 1993 Samuel A. Figueroa ([email protected]) 8526: 8527: * i386/gas.h (ASM_FILE_START): Write out two backslashes for each 8528: backslash in the filename. 8529: 8530: Wed Aug 4 18:00:43 1993 Holger Teutsch ([email protected]) 8531: 8532: * clipper.md (movdf+2): Allow `f' register as source operand in 8533: first alternative. 8534: 8535: Wed Aug 4 07:35:03 1993 Richard Kenner ([email protected]) 8536: 8537: * reload1.c (eliminate_regs_in_insn): Always do elimination in 8538: REG_NOTES if we changed anything in the insn. 8539: 8540: * genattrtab.c: Include gvarargs.h after hconfig.h, like elsewhere. 8541: 8542: Wed Aug 4 01:32:27 1993 Richard Stallman ([email protected]) 8543: 8544: * c-typeck.c (output_init_element): Call digest_init before 8545: calling output_constant. Always pass 0, 0 for last 2 args 8546: to digest_init. 8547: 8548: * expr.c (do_tablejump) [PIC_CASE_VECTOR_ADDRESS]: If pic, 8549: copy INDEX to a register early, to avoid invalid address later. 8550: 8551: Tue Aug 3 23:56:49 1993 Richard Stallman ([email protected]) 8552: 8553: * gcc.c (process_command): Don't check whether file `-' exists. 8554: 8555: Tue Aug 3 18:52:13 1993 John Hassey ([email protected]) 8556: 8557: * configure (m88k-dg-dgux*): Use fixinc.dgux. 8558: * x-dgux (INSTALL_HEADERS): Definition deleted. 8559: * fixinc.dgux: New file. 8560: 8561: Tue Aug 3 17:34:53 1993 Richard Kenner ([email protected]) 8562: 8563: * calls.c (store_one_arg): Don't pass ARG->STACK as TARGET if it 8564: is a different mode than the expression (i.e., a promoted mode). 8565: 8566: * combine.c (force_to_mode): Now pass actual AND mask instead 8567: of number of bits; generalize appropriately. 8568: Move most cases from simplify_and_const_int in. 8569: (simplify_and_const_int): Remove most code from here; call 8570: force_to_mode instead. 8571: (subst, make_extraction, make_compound_operation): Change calls 8572: to force_to_mode. 8573: (make_field_assignment): Likewise. 8574: (simplify_comparison): Add call to force_to_mode when 8575: doing a sign bit comparison. 8576: * optabs.c (code_to_optab): New variable. 8577: (init_optab): Initialize it. 8578: * expr.h: Declare code_to_optab. 8579: 8580: Tue Aug 3 15:40:16 1993 Richard Stallman ([email protected]) 8581: 8582: * gstddef.h: Test and define __INT_WCHAR_T_H. 8583: 8584: Mon Aug 2 22:42:10 1993 Richard Stallman ([email protected]) 8585: 8586: * configure (i[34]86-sequent-sysv*): New alternative. 8587: * config/i386/seq-sysv3.h: New file. 8588: 8589: * combine.c (struct undo): Rename `rtx' fields to `r'. 8590: (undo_all, SUBST, gen_rtx_combine): Corresponding changes. 8591: 8592: Mon Aug 2 18:53:23 1993 Richard Kenner ([email protected]) 8593: 8594: * combine.c (subst): Move simple operations inside IF_THEN_ELSE 8595: if the IF_THEN_ELSE is in the second operand as well as the first. 8596: (subst, case NEG): Use plus_constant to make a PLUS. 8597: (subst, case MINUS): Simplify (minus 1 (comparison foo bar)). 8598: (subst, case EQ): Add a number of missing cases where 8599: comparisons may be replaced with arithmetic or logical ops. 8600: (subst, case IF_THEN_ELSE): Handle (if_then_else COND (OP Z C1) Z) 8601: in a more general manner. 8602: (simplify_and_const_int): Make AND with gen_binary in case we 8603: can simplify it. 8604: 8605: Mon Aug 2 14:45:43 1993 Frederic Pierresteguy ([email protected]) 8606: 8607: * genattrtab.c (substitute_address): In prototype, don't specify 8608: the arg types of the arg functions. 8609: 8610: * config/m68k/x-dpx2 (CLIB): Fix typo. 8611: 8612: Mon Aug 2 06:36:53 1993 John F Carr ([email protected]) 8613: 8614: * local-alloc.c (block_alloc): Don't attempt to allocate a 8615: SCRATCH if it will not fit in scratch_list. 8616: 8617: Mon Aug 2 00:02:54 1993 Richard Stallman ([email protected]) 8618: 8619: * calls.c (expand_call): Check properly for volatile function. 8620: 8621: Sun Aug 1 04:18:23 1993 Richard Stallman ([email protected]) 8622: 8623: * c-common.c (decl_attributes): Support attributes `volatile' 8624: with alias `noreturn', and `const'. 8625: * c-parse.in (attrib): Accept those attributes. 8626: 8627: * c-typeck.c (build_binary_op): Warn about ordered comparison 8628: between pointers to complete and incomplete types. 8629: 8630: * c-parse.in (stmt): In an expr stmt, call default_conversion 8631: for arrays and for functions. 8632: 8633: * c-decl.c (finish_struct): No pedwarn for field with enum type 8634: if size matches int. 8635: (grokdeclarator): No error for void type for extern or global var. 8636: 8637: * c-typeck.c (digest_init): No error for a STRING_CST that already 8638: went through digest_init. 8639: (parser_build_binary_op): Generate a NON_LVALUE_EXPR, not NOP_EXPR, 8640: around a constant value. 8641: 8642: * config/m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL) 8643: (ASM_GENERATE_INTERNAL_LABEL): Definitions deleted. 8644: 8645: * expr.c (do_tablejump): Use PIC_CASE_VECTOR_ADDRESS if defined. 8646: * config/m68k/m68k.h (PIC_CASE_VECTOR_ADDRESS): Defined. 8647: (GO_IF_LEGITIMATE_ADDRESS): If pic, accept LABEL+INDEX. 8648: 8649: * c-decl.c (grokdeclarator): Warn here for volatile fn returning 8650: non-void type. 8651: (start_function): Not here. 8652: 8653: * c-decl.c (grokdeclarator): Don't pass on const and volatile 8654: fron function value type to function type. 8655: 8656: Sat Jul 31 01:48:08 1993 Richard Stallman ([email protected]) 8657: 8658: * c-typeck.c (digest_init): Finish getting rid of tail. 8659: Also get rid of old_tail_contents. Don't set free_tree_list. 8660: (free_tree_list): Var deleted. 8661: 8662: * c-typeck.c (process_init_element): Treat string constants specially 8663: only for arrays of integers. 8664: 8665: Fri Jul 30 06:49:58 1993 Torbjorn Granlund ([email protected]) 8666: 8667: * expmed.c (mult_is_very_cheap): Delete. 8668: (mult_cost): Delete. 8669: (init_expmed): Delete computation of mult_cost and mult_is_very_cheap. 8670: (expand_mult): Compute mult_cost here for every constant multiplier. 8671: (synth_mult): Return found algorithms through a struct pointer. 8672: 8673: Fri Jul 30 06:45:35 1993 Richard Kenner ([email protected]) 8674: 8675: * fold-const.c (fold, case NOP_EXPR): Delete a pair of conversions 8676: back to the original type when intermediate type is at least as wide. 8677: 8678: * combine.c: Remove change of July 21. 8679: (this_basic_block): New variable. 8680: (combine_instructions): Set it. 8681: (try_combine, distribute_links): Use it and basic_block_head 8682: to see if we've gone to a new basic block instead of trying 8683: to reproduce calculation done in flow. 8684: 8685: * stmt.c (expand_return): Don't use jumps for "return x == y" if 8686: they are expensive. 8687: 8688: Fri Jul 30 02:03:12 1993 Richard Stallman ([email protected]) 8689: 8690: * config/i386/i386.md (ffssi2 and ffshi2 recognizers): 8691: Generate unique labels by hand. 8692: 8693: Thu Jul 29 01:47:21 1993 Richard Stallman ([email protected]) 8694: 8695: * c-typeck.c (push_init_level): For braces around scalar, just warn. 8696: (process_init_element): Special handling for {"foo"}. 8697: (struct constructor_stack): New field `replacement_value'. 8698: (push_init_level, really_start_incremental_init): Clear new field. 8699: (pop_init_level): Return the replacement_value if any. 8700: At top level in initializer, output that value, 8701: and set the array size from it. 8702: 8703: * c-typeck.c (digest_init): Delete arg TAIL. Fix all calls. 8704: 8705: * objc-act.c (build_shared_structure_initializer): 8706: Call default_conversion for NAME. 8707: (add_objc_string): Make an ADDR_EXPR to return. 8708: (init_objc_symtab): Make ADDR_EXPR for UOBJC_SELECTOR_TABLE_decl. 8709: 8710: * objc-act.c: Build all CONSTRUCTORs with types. 8711: (build_constructor): New function. All CONSTRUCTOR builds changed. 8712: (init_def_list, init_objc_symtab): New arg TYPE. 8713: (init_module_descriptor): Likewise. 8714: (init_objc_symtab): Pass TYPE arg to init_def_list. 8715: (generate_objc_symtab_decl): Pass TYPE arg to init_objc_symtab. 8716: (build_module_descriptor): Pass TYPE arg to init_module_descriptor. 8717: (build_descriptor_table_initializer): New arg TYPE. 8718: (generate_method_descriptors): Pass TYPE arg to 8719: build_descriptor_table_initializer. 8720: (generate_protocols): Pass TYPE arg to build_protocol_initializer. 8721: (uild_protocol_initializer): New arg TYPE. 8722: (build_ivar_list_initializer): New arg TYPE. 8723: (generate_ivar_lists): Pass TYPE arg to build_ivar_list_initializer. 8724: (build_dispatch_table_initializer): New arg TYPE. 8725: (generate_dispatch_tables): Pass TYPE arg to 8726: build_dispatch_table_initializer. 8727: (build_category_initializer): New arg TYPE. 8728: (build_shared_structure_initializer): New arg TYPE. 8729: (generate_category): Pass TYPE arg to build_category_initializer. 8730: (generate_shared_structures): Pass TYPE arg to 8731: build_shared_structure_initializer. 8732: 8733: * config/i386/x-ncr3000 (CC, OLDCC): Deleted. 8734: * config/i386/xm-sysv4.h [__HIGHC__]: Include alloca.h. 8735: 8736: * convert.c (convert_to_integer): Don't pass truncate into ABS_EXPR. 8737: 8738: * configure: Ignore -enable... and --enable... options. 8739: 8740: Wed Jul 28 20:15:05 1993 Richard Stallman ([email protected]) 8741: 8742: * Makefile.in (compare): Add ./ in tail command. 8743: 8744: Wed Jul 28 15:36:11 1993 Richard Kenner ([email protected]) 8745: 8746: * integrate.c (copy_rtx_and_substitute, case LABEL_REF): If 8747: we turn off LABEL_REF_NONLOCAL_P, increment function_call_count. 8748: 8749: * integrate.c (copy_for_inline, case LABEL_REF): Properly copy 8750: LABEL_REF with LABEL_REF_NONLOCAL_P set. 8751: Copy LABEL_OUTSIDE_LOOP_P flag. 8752: (copy_rtx_and_substitute, case LABEL_REF): Likewise. 8753: (copy_rtx_and_substitute, case CONST): Make recursive call for 8754: a LABEL_REF in the constant pool. 8755: 8756: * c-iterate.c (iterator_loop_{pro,epi}logue): Set TREE_SIDE_EFFECTS 8757: on the MODIFY_EXPRs we make. 8758: Pass const0_rtx as TARGET to expand_expr. 8759: * cp-cvt.c (build_up_reference): Set TREE_SIDE_EFFECTS on MODIFY_EXPR. 8760: * stmt.c (expand_return): Likewise. 8761: 8762: Wed Jul 28 12:17:39 1993 Michael Meissner ([email protected]) 8763: 8764: * i386/osfrose.h (SUBTARGET_OVERRIDE_OPTIONS): Use this instead of 8765: OVERRIDE_OPTIONS. 8766: 8767: Wed Jul 28 13:45:13 1993 Richard Stallman ([email protected]) 8768: 8769: * expr.c (expand_expr, case ADDR_EXPR): Treat CONCAT like REG. 8770: 8771: * c-decl.c (start_function): Warn if volatile fn returns non-void. 8772: 8773: Wed Jul 28 13:22:15 1993 Jim Wilson ([email protected]) 8774: 8775: * c-parse.in (simple_if, if_prefix, stmt): Undo Jul 7 change. 8776: (if_prefix): Store stmt_count in $$ not $1. 8777: (stmt): Add comment explaining why empty-if warning is here. 8778: 8779: * sparc.c (shift_operand): New function. 8780: * sparc.md (ashlsi3, ashrsi3, lshrsi3): Use shift_operand. 8781: 8782: * loop.c (strength_reduce): Don't ignore a giv that depends on a 8783: reversed biv. 8784: 8785: * mips/x-sysv (ALLOCA): Define. 8786: * mips-5.h (STARTFILE_SPEC): Define. 8787: * x-iris3: New file. 8788: * configure (mips-sgi-*): Use x-iris3 instead of x-iris. 8789: * Makefile.in (libgcc.a): Do `chmod +w *' between two ar commands. 8790: 8791: * i960.h (INITIAL_FRAME_POINTER_OFFSET): Negate, and subtract 64 8792: bytes. 8793: 8794: * sched.c (schedule_block): Do not emit line number notes before 8795: other notes. 8796: 8797: * varasm.c (assemble_variable): flag_no_common applies only if 8798: external linkage. 8799: 8800: * calls.c (expand_call): For unaligned arguments on 8801: BYTES_BIG_ENDIAN machines, correct bitfield offset calculations. 8802: * expr.c (move_block_from_reg): New argument SIZE. If SIZE less 8803: than word and BYTES_BIG_ENDIAN, shift block left to align it 8804: before storing it to memory. 8805: * expr.h (move_block_from_reg): Add new argument to prototype. 8806: * function.c (assign_parms): Pass extra argument SIZE to 8807: move_block_from_reg calls. 8808: (locate_and_pad_parm): For !ARGS_GROW_DOWNWARD case, move downward 8809: padding pad_below call after round_up call. 8810: * mips.c (function_arg): Shift all structures less than 4 bytes, 8811: not just those which are QImode or HImode. 8812: * a29k.h, alpha.h, i960.c, m88k.c, pa.c, romp.h, rs6000.h: 8813: Add new parameter to move_block_from_reg calls. 8814: 8815: Wed Jul 28 12:40:06 1993 Doug Evans ([email protected]) 8816: 8817: * expmed.c (store_split_bitfield): Fix handling of bitfields that 8818: cross word boundaries, can only handle a word at a time. 8819: (extract_split_bitfield): Likewise. 8820: 8821: Wed Jul 28 06:44:50 1993 John Hassey ([email protected]) 8822: 8823: * configure: Use m88k/x-sysv3 for m88k-*-sysv3. 8824: * m88k/x-sysv3: New file, use gnu alloca. 8825: 8826: Tue Jul 27 13:53:06 1993 Per Bothner ([email protected]) 8827: 8828: * fixproto: Pass '-' to tr as the 1-character range '---'. 8829: * cross-make: Define STMP_FIXPROTO to empty for cross. 8830: * patch-header.c (read_scan_file): Minor re-write to avoid 8831: obstack_copy0, since that uses the non-portable bcopy(). 8832: * Makefile.in (patch-header): Use $(HOST_OBSTACK). 8833: * gen-protos.c (main): Disable obnoxious warning message. 8834: 8835: Tue Jul 27 16:42:44 1993 John F Carr ([email protected]) 8836: 8837: * fold-const.c (optimize_bit_field_compare): Preserve volatility 8838: of bitfield. 8839: 8840: Tue Jul 27 01:33:25 1993 Richard Stallman ([email protected]) 8841: 8842: * c-typeck.c (convert_for_assignment): Mismatch in signedness 8843: of pointer targets should not inhibit warnings for const mismatch. 8844: 8845: * function.c (assign_parms): Don't copy too much when extending 8846: parm_reg_stack_loc. 8847: 8848: * config/m88k/m88k.h (ASM_DECLARE_OBJECT_NAME): Don't make a .size 8849: if the size is not known. Use DECL, not decl. 8850: * config/svr4.h, config/i386/osfrose.h: Likewise. 8851: 8852: * c-typeck.c (set_init_index): Add pedantic warning. 8853: (set_init_label): Likewise. 8854: 8855: Tue Jul 27 14:22:48 1993 Frederic Pierresteguy ([email protected]) 8856: 8857: * gstddef.h (_WCHAR_T_H): Test this and define this. 8858: 8859: * configure (m68k-bull-sysv): Test for --stabs; 8860: generate either native coff or dbx-in-coff debugging information. 8861: 8862: * config/m68k/dpx2.h (CPP_PREDEFINES): added -D_POSIX_SOURCE 8863: -D_XOPEN_SOURCE -D_BULL_SOURCE to the list. 8864: (CPP_SPEC): removed ansi definition. 8865: * config/m68k/dpx2g.h (DBX_DEBUGGING_INFO): Remove this to let gcc 8866: deals with gas and coff. 8867: * config/m68k/dpx2cdbx.h: New file for gas and dbx-in-coff. 8868: * config/x-dpx2 (CLIB): removed -lc_s and added -lmalloc. 8869: (X_CFLAGS): removed -D_SYSV and added -D_POSIX_SOURCE -D_XOPEN_SOURCE 8870: -D_BULL_SOURCE to deal with the posix stuff. 8871: 8872: Mon Jul 26 17:42:22 1993 Richard Stallman ([email protected]) 8873: 8874: * c-typeck.c (digest_init): Add `static' to definition. 8875: 8876: * combine.c (simplify_shift_const): Inhibit hacks based on 8877: num_sign_bit_copies if shift_mode differs from the mode of varop. 8878: 8879: * toplev.c (main): When -W sets warn_uninitialized, avoid later warning 8880: if warn_uninitialized is not supported. 8881: 8882: Mon Jul 26 14:14:02 BST 1993 Richard Earnshaw ([email protected]) 8883: 8884: * collect2.c (NAME__MAIN, SYMBOL__MAIN): Add default definitions. 8885: (write_c_file, scan_prog_file [OBJECT_FORMAT_ROSE]): 8886: Use macros instead of explicitly __main. 8887: 8888: * function.c (expand_main_function): Likewise. 8889: 8890: * libgcc2.c (__main): Use macro SYMBOL__MAIN instead of invoking 8891: directly. 8892: 8893: Mon Jul 26 16:03:33 1993 Richard Kenner ([email protected]) 8894: 8895: * fold-const.c (fold, case EQ_EXPR): Remove code that converts 8896: mod to unsigned mod; it isn't correct for negative operands. 8897: 8898: * toplev.c (strip_off_ending): Allow .ad* for Ada. 8899: 8900: Mon Jul 26 14:06:04 1993 Bill Cox ([email protected]) 8901: 8902: * c-decl.c (print_lang_decl, print_lang_type): Correct function 8903: headers to match prototype, and calls. 8904: 8905: Sun Jul 25 17:01:34 1993 Per Bothner ([email protected]) 8906: 8907: * fixproto: New script to add prototypes and otherwise clean up 8908: system include files (especially for C++ and also gcc -Wimplicit). 8909: * scan-decl.c: New program used by fixproto to analyze header 8910: files (it extracts declarations from cpp output). 8911: * patch-header.c: New program used by fixproto to analyze and 8912: patch header files. 8913: * scan.c: New file. Routines used by scan-decls and 8914: patch-header. 8915: * scan.h: New file. Common declarations. 8916: * gen-protos.c: New file. Massages a list of prototypes. 8917: * Makefile.in: Add fixproto support. 8918: * populate: Deleted. Superseded by fixproto. 8919: 8920: Sun Jul 25 03:56:18 1993 Richard Stallman ([email protected]) 8921: 8922: * c-typeck.c (start_init): Fill in p->next. 8923: 8924: * config/i386/i386.md (movstrictqi): Change q<-g alternative to q<-m. 8925: 8926: Sat Jul 24 18:17:55 1993 Richard Stallman ([email protected]) 8927: 8928: * expr.c (emit_move_insn_1): For complex stack push, 8929: don't use change_address. 8930: 8931: Sat Jul 24 15:05:50 1993 Per Bothner ([email protected]) 8932: 8933: * fixincludes (unistd.h): Generalize AIX fix (for using 8934: C++ keyword new) to unistd.h as well as stdio.h. 8935: * fixincludes (sys/wait.h): Fix NeXT problem with 8936: a 'wait(union wait*)' prototype that breaks Posix.1. 8937: * fixincludes (math.h): For C++, patch AIX's use of 8938: 'class' as function name. 8939: 8940: Sat Jul 24 02:48:31 1993 Richard Stallman ([email protected]) 8941: 8942: * function.c (put_reg_into_stack): New subroutine. 8943: (put_var_into_stack): Use that; handle CONCAT. 8944: 8945: * varasm.c (assemble_variable): For array whose size comes from 8946: the initializer, determine proper alignment here. 8947: (assemble_align): New function. 8948: 8949: * c-typeck.c: Handle gaps in record initializers. 8950: (constructor_bit_index): New variable. 8951: (constructor_stack): New field bit_index. 8952: (really_start_incremental_init, push_init_level): Save and init it. 8953: (pop_init_level): Restore it. 8954: (output_init_element): Update constructor_bit_index. 8955: Use it to output gaps. 8956: (pop_init_level): Speed up by using constructor_bit_index. 8957: 8958: * c-typeck.c (process_init_element): Accept STRING_CST for subarray. 8959: 8960: * loop.c (mark_loop_jump): Handle weird cases like jumping to 8961: a symbol_ref. 8962: 8963: Fri Jul 23 15:55:14 1993 Doug Evans ([email protected]) 8964: 8965: * c-tree.h: Fix prototypes for print_lang_decl, print_lang_type. 8966: 8967: Fri Jul 23 15:06:05 1993 Richard Stallman ([email protected]) 8968: 8969: * c-typeck.c (start_init): Second arg is now a tree. 8970: 8971: Fri Jul 23 08:26:43 1993 Brendan Kehoe ([email protected]) 8972: 8973: Cygnus<->FSF merge. 8974: Thu Jul 22 09:54:05 1993 Brendan Kehoe ([email protected]) 8975: 8976: * cp-decl.c (push_overloaded_decl): Fix typo in warning msg. 8977: 8978: Tue Jul 20 13:13:18 1993 Mike Stump ([email protected]) 8979: 8980: * cp-class.c (build_vtable, prepare_fresh_vtable): Make the vtables 8981: readonly by default. 8982: 8983: Mon Jul 19 13:16:58 1993 Brendan Kehoe ([email protected]) 8984: 8985: * cp-tree.h (NEW_CLASS_SCOPING): Turn this off for now. 8986: 8987: Mon Jul 19 11:04:51 1993 Jason Merrill ([email protected]) 8988: 8989: * cp-class.c (build_vfn_ref): Rename `index' to `idx'. 8990: 8991: Fri Jul 16 07:44:49 1993 Brendan Kehoe ([email protected]) 8992: 8993: * cp-class.c (finish_struct): Check both if the type has a default 8994: constructor, and if it has a non-const copy constructor, so we'll know 8995: not to generate a const copy constructor for the type we're working on. 8996: * cp-lex.c (cons_up_default_function): Add other front-end debugging 8997: info. 8998: (default_copy_constructor_body): And take it out of here. 8999: 9000: * cp-expr.c (cplus_expand_expr): Add missing arguments to expand_expr. 9001: 9002: Thu Jul 15 16:54:33 1993 Brendan Kehoe ([email protected]) 9003: 9004: * cp-lex.c (default_copy_constructor_body): Also check to copy 9005: anonymous unions, since they don't show up as FIELD_DECLs. 9006: (largest_union_member): New function. 9007: 9008: Thu Jul 15 16:23:18 1993 Mike Stump ([email protected]) 9009: 9010: * cp-expr.c (cplus_expand_expr): Use resolve_offset_ref to handle 9011: OFFSET_REFs, as anything else would be wrong. 9012: 9013: Thu Jul 15 13:23:40 1993 Mike Stump ([email protected]) 9014: 9015: * cp-tree.h (CLASSTYPE_INTERFACE_KNOWN, 9016: SET_CLASSTYPE_INTERFACE_UNKNOWN_X, SET_CLASSTYPE_INTERFACE_UNKNOWN, 9017: SET_CLASSTYPE_INTERFACE_KNOWN): New access methods. 9018: * cp-class.c (import_export_vtable, duplicate_tag_error, 9019: finish_struct): Use new access method. 9020: * cp-decl.c: (grokfndecl, grokdeclarator, xref_tag): Ditto. 9021: * cp-gc.c (build_t_desc): Ditto. 9022: * cp-lex.c (set_vardecl_interface_info, make_lang_type): Ditto. 9023: * cp-pt.c (end_template_instantiation, do_pending_expansions): 9024: Ditto. 9025: * cp-search.c (dfs_debug_mark): Ditto. 9026: 9027: * cp-decl.c (grok_reference_init): Reword error message. 9028: 9029: Wed Jul 14 09:17:18 1993 Brendan Kehoe ([email protected]) 9030: 9031: * cp-cvt.c (convert_to_reference): Adjust change of May 30th to 9032: accept more things (and still handle ARM p308 properly). Disable 9033: the old way, but leave it to be properly fixed later. 9034: 9035: Tue Jul 13 22:43:38 1993 Mike Stump ([email protected]) 9036: 9037: * cp-decl.c (get_binfo_from_vfield): New function. 9038: * cp-decl.c (finish_function): Use get_binfo_from_vfield to get the 9039: binfo used to find the vtable for this vfields. Corrects problem 9040: with vtable pointers being wrong during called member functions, 9041: called from destructors. 9042: 9043: Tue Jul 13 11:52:37 1993 Brendan Kehoe ([email protected]) 9044: 9045: * cp-decl.c (grokdeclarator): Don't pedwarn about a duplicate long 9046: for `long long', until we figure out how we really want to handle it. 9047: 9048: Sat Jul 10 14:54:36 1993 Chip Salzenberg ([email protected]) 9049: 9050: * cp-tree.h (warn_redundant_decls, warn_missing_braces): Declared. 9051: * cp-decl.c (warn_redundant_decls): Not declared here. 9052: * cp-decl2.c (warn_missing_braces): Defined. 9053: (lang_decode_option): Handle -Wmissing-braces. 9054: * cp-type2.c (process_init_constructor): Test warn_missing_braces. 9055: 9056: * cp-typeck.c (build_binary_op_nodefault): Make warning 9057: message distinguish between right/left and shift/rotate. 9058: 9059: * cp-decl.c (init_decl_processing): When making SIZETYPE, 9060: start with name in SIZE_TYPE. If -traditional, use a signed 9061: version of that type, if it is unsigned. 9062: 9063: * cp-typeck.c (c_sizeof, build_c_cast): Set TREE_OVERFLOW in 9064: addition to TREE_CONSTANT_OVERFLOW. 9065: 9066: * cp-decl.c (finish_enum): Store layout results into variant types. 9067: 9068: * cp-typeck.c (internal_build_compound_expr): When pedantic, don't 9069: simplify a COMPOUND_EXPR, so that it won't be mistaken for an 9070: lvalue or an integer constant expression. 9071: 9072: * cp-parse.y (program): After extdefs, pop any unpopped binding lvls. 9073: 9074: * cp-decl.c (grokdeclarator, ARRAY_REF case): Build array type, 9075: and then build the variant array type. 9076: 9077: * cp-lex.c (real_yylex): Avoid invalid shift for erroneous empty 9078: char const. 9079: 9080: * cp-decl.c (complete_array_type): Make maxindex -1 for empty 9081: constructor. 9082: 9083: * cp-type2.c (initializer_constant_valid_p): Allow cast of ptr to 9084: wider integer. 9085: 9086: * cp-decl.c (pushdecl): Copy DECL_FRAME_SIZE for inline function decls. 9087: 9088: * cp-decl.c (finish_decl): Do not allocate static var of 9089: unknown size. 9090: (complete_array_type): Use 0 as default maxindex. 9091: 9092: Fri Jul 23 07:18:20 1993 Richard Kenner ([email protected]) 9093: 9094: * function.c (aggregate_value_p): An ARRAY_TYPE is also an aggregate. 9095: 9096: Fri Jul 23 01:54:28 1993 Richard Stallman ([email protected]) 9097: 9098: * gcc.c (main): Improve "No input files" error message. 9099: 9100: Thu Jul 22 23:00:11 1993 Jeffrey A. Law ([email protected]) 9101: 9102: * reorg.c (relax_delay_slots): Do not redirect a jump if doing so 9103: invalidates insns in the jump's delay slots. 9104: (redirect_with_delay_slots_safe_p): New function. 9105: 9106: Thu Jul 22 18:01:29 1993 John Hassey ([email protected]) 9107: 9108: * invoke.texi, m88k.h, m88k.c: Changed serialize-volatile 9109: to use tb1 instead of fldcr, fldcr has problems on 88110. 9110: Made serialize-volatile the default behavior for all models. 9111: 9112: Thu Jul 22 11:19:28 PDT 1993 Ron Guilmette ([email protected]) 9113: 9114: * fixinc.svr4 (making LIB absolute): Just concat with $ORIG_DIR. 9115: 9116: * configure: Use `sed' rather than `cat' to put `MAYBE_TARGET_DEFAULT' 9117: definition in. (This is a work-around for an NFS bug.) 9118: 9119: Thu Jul 22 14:59:38 1993 Richard Stallman ([email protected]) 9120: 9121: * c-typeck.c: Output most constructors an element at a time. 9122: (digest_init): Deleted code for raw constructors. 9123: (process_init_constructor): Function deleted. 9124: (start_init, finish_init): New functions. 9125: (really_start_incremental_init) 9126: (push_init_level, check_init_type_bitfields, pop_init_level) 9127: (set_init_index, set_init_label, process_init_element) 9128: (output_init_element, output_pending_init_elements): New functions. 9129: * c-tree.h: Declare most of those functions. 9130: 9131: * c-parse.in (cast_expr): Use new initializer parsing functions. 9132: (initdcl, notype_initdcl): Likewise. 9133: (init): Likewise. 9134: (initlist_maybe_comma, initlist1): These replace initlist. 9135: (initelt): New nonterminal. 9136: Change specified index syntax to `[INDEX]='. 9137: Change specified field syntax to `.NAME='. 9138: 9139: * varasm.c (output_constant_def_contents): New function. 9140: (output_constant_def): Use it. 9141: (deferred_constants): New list of constants not yet output. 9142: (defer_addressed_constants): New function. 9143: (output_deferred_addressed_constants): New function. 9144: (make_decl_rtl): Don't ever replace old rtl; 9145: instead, change its mode if necessary. 9146: 9147: Wed Jul 21 15:50:19 1993 Jim Wilson ([email protected]) 9148: 9149: * expr.c (expand_expr, COMPONENT_REF case): For unaligned object 9150: in an aligned union, set MEM_IN_STRUCT_P if create a MEM rtx. 9151: 9152: * sparc.c (output_move_double): Only set highest_first if first reg 9153: of dest overlaps memory src address. Otherwise, if addreg1 set and 9154: is same as second reg of dest, suppress trailing decrement. 9155: 9156: * sparc.md (movdi+1): Delete & from r/i constraint. 9157: 9158: From [email protected]: 9159: * fixinc.svr4 (<ftw.h>): Don't apply specialized fixes to <ftw.h> 9160: if we are on Solaris. They are not needed in that case. 9161: 9162: * combine.c (nonlocal_label_list): New variable. 9163: (combine_instructions): Set it. 9164: (try_combine, distribute_links): CALL_INSN terminates a basic 9165: block if nonlocal_label_list is set. 9166: 9167: * config/mips/{bsd-4.h, bsd-5.h, iris3.h, mips.h, news4.h, 9168: news5.h, nws3250v4.h, osfrose.h, svr3-4.h, svr3-5.h, svr4-4.h, 9169: svr4-5.h, ultrix.h} (CPP_SPEC): Define LANGUAGE_ASSEMBLY, not 9170: LANGUAGE_C, when compiling a .s file. 9171: 9172: * m68k.h (TARGET_SWITCHES): Recognize -m68851, -mno-68851, 9173: -m68302, -mno-68302, -m68332, -mno-68332. 9174: 9175: * lynx.h, i386/lynx.h, m68k/lynx.h, sparc/lynx.h: New files. 9176: * i386.h (OVERRIDE_OPTIONS, SUBTARGET_OVERRIDE_OPTIONS): Define. 9177: * m68k.h (TARGET_SWITCHES): Add SUBTARGET_SWITCHES. 9178: (OVERRIDE_OPTIONS): Add SUBTARGET_OVERRIDE_OPTIONS. 9179: (SUBTARGET_SWITCHES, SUBTARGET_OVERRIDE_OPTIONS): Define. 9180: * sparc.h (TARGET_SWITCHES): Add SUBTARGET_SWITCHES. 9181: (OVERRIDE_OPTIONS): Add SUBTARGET_OVERRIDE_OPTIONS. 9182: (SUBTARGET_SWITCHES, SUBTARGET_OVERRIDE_OPTIONS): Define. 9183: 9184: * fixincludes (sys/types.h sys/stdtypes.h): Delete newline before 9185: do. 9186: (machine/cpu.h): Delete space in `2>& 1'. 9187: 9188: * config.sub (lynx): Recognize as vendor. 9189: (lynxos): Recognize as OS. 9190: * configure (i386-*-lynxos, sparc-*-lynxos, m68k-*-lynxos): 9191: Recognize as new configurations. 9192: 9193: * gcc.c (link_command_spec): Move %{T*} after %{L*} and %D. 9194: 9195: * optabs.c (expand_binop): Synthesize double word shifts and 9196: rotates from single word shifts. 9197: * sparc.md (ashldi3, lshrdi3): Obsolete, deleted. 9198: 9199: Wed Jul 21 15:55:18 1993 Ian Lance Taylor ([email protected]) 9200: 9201: * fixinc.svr4: When fixing ftw.h, preserve remainder of 9202: ftw and nftw declaration; don't just rewrite it. 9203: 9204: Tue Jul 20 23:35:36 1993 Richard Stallman ([email protected]) 9205: 9206: * collect2.c (is_ctor_dtor): Delete leading _'s from sym names 9207: in `special' table, in neither-dots-nor-dollars case. 9208: 9209: Tue Jul 20 18:49:09 1993 Michael Meissner ([email protected]) 9210: 9211: * i386/osfrose.h, i386/osfelf.h (CC1_SPEC): Don't turn on 9212: -mhalf-pic if ELF. 9213: 9214: * i386/osfrose.h (ASM_FILE_END): Put filename, sans directory into 9215: the .ident string. 9216: 9217: Tue Jul 20 15:07:06 1993 Richard Kenner ([email protected]) 9218: 9219: * combine.c: Add prototypes for static functions. 9220: (subst, case IF_THEN_ELSE): Add missing arg to make_compound_operation. 9221: (make_compound_operation, case ASHIFTRT): Delete extra gen_unary arg. 9222: 9223: Mon Jul 19 18:15:48 1993 John F Carr ([email protected]) 9224: 9225: * rs6000.c (current_file_function_operand): New function. 9226: * rs6000.h (ENCODE_SECTION_INFO): New macro. 9227: (PREDICATE_CODES): Add current_file_function_operand. 9228: * rs6000.md: Add variants of call and call_value patterns for 9229: calls to functions defined in the same file. Omit the TOC pointer 9230: reload after such calls. 9231: 9232: Mon Jul 19 13:17:52 1993 Jeffrey A. Law ([email protected]) 9233: 9234: * reorg.c (fill_simple_delay_slots): Try filling any insn needing 9235: delay slots with a JUMP_INSN. 9236: 9237: Mon Jul 19 00:33:24 1993 Richard Stallman ([email protected]) 9238: 9239: * varasm.c (assemble_variable): New arg DONT_OUTPUT_DATA. 9240: * toplev.c (rest_of_decl_compilation): Pass 0 as DONT_OUTPUT_DATA. 9241: 9242: Sun Jul 18 15:38:04 1993 Richard Stallman ([email protected]) 9243: 9244: * c-typeck.c (c_expand_return): Set TREE_SIDE_EFFECTS 9245: for the MODIFY_EXPR that we make. 9246: 9247: * stmt.c (expand_return): When expanding assignment into DECL_RESULT, 9248: ignore the "value"--do it for effect. 9249: 9250: * fold-const.c (fold): Handle CONJ_EXPR. 9251: * c-typeck.c (build_unary_op): Support CONJ_EXPR. 9252: Change BIT_NOT_EXPR to CONJ_EXPR if arg is complex. 9253: 9254: Sun Jul 18 14:22:05 1993 Richard Kenner ([email protected]) 9255: 9256: * function.c (init_function_start): Initialize trampoline_list here. 9257: (expand_function_end): Not here. 9258: 9259: Sun Jul 18 01:24:54 1993 Richard Stallman ([email protected]) 9260: 9261: * c-typeck.c (common_type): Use TYPE_MAIN_VARIANT when preferring 9262: long int to int (when width is the same). 9263: 9264: * varasm.c (assemble_variable): Move debugging output calls 9265: to after section has been selected. Select the section again 9266: if the debugging output call changes the section. 9267: * dbxout.c (dbxout_symbol_location): Call in_text_section 9268: to decide whether to use DBX_STATIC_CONST_VAR_CODE. 9269: 9270: * objc-act.c (synth_module_prologue): Call layout_type for the array 9271: type used for _OBJC_SELECTOR_TABLE. 9272: 9273: Sat Jul 17 00:41:52 1993 Richard Stallman ([email protected]) 9274: 9275: * expr.c (expand_increment): Convert constant subtract to add 9276: before setting single_insn. Compensate for this when choosing 9277: the tree code to pass to `build'. 9278: 9279: * toplev.c (rest_of_compilation): If function is extern inline, 9280: even if we can't inline it, don't compile it. 9281: 9282: Fri Jul 16 21:33:50 1993 Richard Stallman ([email protected]) 9283: 9284: * dwarfout.c (dwarfout_init): Report failure of getpwd. 9285: 9286: Fri Jul 16 15:59:07 1993 Ian Lance Taylor ([email protected]) 9287: 9288: * config/m68k/hp320.h (LINK_LIBGCC_SPECIAL, SPACE_AFTER_L_OPTION) 9289: (LIB_SPEC): Move outside of USE_GAS conditional. 9290: 9291: Fri Jul 16 14:26:25 1993 David d `zoo' Zuhn ([email protected]) 9292: 9293: * config.sub: if [ "$os" ] --> if [ x"$os" != x"" ] 9294: 9295: Fri Jul 16 05:50:35 1993 Paul Eggert ([email protected]) 9296: 9297: * c-typeck.c (check_format): With -Wformat, warn about 9298: printf("%ld", 1) even if sizeof (int) == sizeof (long), 9299: since the code isn't portable. Similarly for "%d" vs 1L. 9300: 9301: * c-typeck.c (convert_arguments) [PROMOTE_PROTOTYPES]: 9302: With -Wconversion, use unpromoted type to check for signedness changes. 9303: 9304: Thu Jul 15 13:04:48 1993 Richard Stallman ([email protected]) 9305: 9306: * fixincludes (stdlib.h): Check carefully for definition of size_t. 9307: 9308: Wed Jul 14 19:05:51 1993 Richard Stallman ([email protected]) 9309: 9310: * fixincludes: Fix size_t definition in stdlib.h as in types.h. 9311: Also a conditional to prevent repeated definition. 9312: 9313: Wed Jul 14 14:53:26 1993 Ian Lance Taylor ([email protected]) 9314: 9315: * fixincludes: Don't discard comment end characters on lines that 9316: look like "#endif */". Fixes Esix 4.0.4 problem. 9317: 9318: Wed Jul 14 12:20:13 1993 Jeffrey A. Law ([email protected]) 9319: 9320: * pa.c (emit_move_sequence): Use cint_ok_for_move instead of 9321: checking each condition ourselves. 9322: 9323: * pa-utahmach.h (CPP_PREDEFINES): Do not define HPUX_SOURCE, hp700 9324: or HP700. 9325: * pa1-utahmach.h (CPP_PREDEFINES): Do not define hp9000s800, 9326: hp9k8, HPUX_SOURCE, or hp800. 9327: 9328: * Allow unconditional jumps in delay slots of call and millicode 9329: call instructions. 9330: * pa.h (TARGET_JUMP_IN_DELAY): New target flag to allow/disallow 9331: jump instructions in call delay slots. 9332: (TARGET_SWITCHES): Add -mjump-in-delay and -mno-jump-in-delay. 9333: Provide -mno alternatives for most options. 9334: (output_call): Declare. 9335: * pa.c (output_call): New function to output a function call or 9336: millicode call, possibly with a jump in the delay slot. 9337: (output_mul_insn): Accept additional argument, use output_call. 9338: (output_div_insn): Likewise. 9339: (output_mod_insn): Likewise. 9340: (jump_in_call_delay): New function to determine if the given 9341: JUMP_INSN is in the delay slot of a call or millicode call. 9342: * pa.md (uncond_branch): New type attribute. Explicitly disallow 9343: uncond_branch in most delay slots. 9344: (in_call_delay attribute): New test for delay slot of call insns. 9345: Allow uncond_branches in the delay slot if TARGET_JUMP_IN_DELAY. 9346: (define_delay for calls, millicode calls, branches, returns, etc): 9347: Broken up into two define delays. One for calls and millicode 9348: calls, a second for branches, returns, etc. 9349: (millicode insns): Pass the current insn down to 9350: output_{mul,div,mod}_insn. 9351: (jump insn): Use "uncond_branch" type attribute. Length of this 9352: insn varies if it is in the delay slot of a call. 9353: (call_internal_symref): Use output_call. 9354: (call_value_internal_symref): Likewise. 9355: (call_internal_reg): Use %r syntax instead of just register numbers. 9356: (call_value_internal_reg): Likewise. 9357: 9358: Wed Jul 14 02:19:11 1993 Richard Stallman ([email protected]) 9359: 9360: * rtl.def (CONCAT): New rtx code. 9361: * emit-rtl.c (gen_lowpart_common, gen_highpart): Handle CONCAT. 9362: (operand_subword): Likewise. 9363: (gen_reg_rtx): For complex mode, return a CONCAT of two pseudos. 9364: * stmt.c (expand_decl): Make a CONCAT, for decls of complex type. 9365: * dbxout.c (dbxout_symbol_location): Subroutine broken out from 9366: dbxout_symbol. Handle CONCAT here. 9367: (dbxout_symbol_name): New subroutine. Handle anonymous decls too. 9368: (dbxout_reg_parms): Simplify using dbxout_symbol_location. 9369: Handle CONCAT. 9370: 9371: * c-typeck.c (build_c_cast): When casting to union, if value is array 9372: or function, do default_conversion. 9373: 9374: Wed Jul 14 00:52:23 1993 Jim Blandy ([email protected]) 9375: 9376: * config.sub: Add case for Bull dpx/2. 9377: 9378: Mon Jul 12 17:26:53 1993 Richard Stallman ([email protected]) 9379: 9380: * fixincludes: When looking for #define CTRL, 9381: accept multiple spaces between the two words. 9382: 9383: * reload1.c (reload): Don't free scratch_list or scratch_block if 0. 9384: 9385: Mon Jul 12 17:12:31 1993 Paul Eggert ([email protected]) 9386: 9387: * c-common.c (unsigned_conversion_warning): Just use `warning', 9388: not `pedwarn'; these diagnostics are not required by Standard C. 9389: * c-typeck.c (convert_for_assignment): Use `convert_and_check', 9390: not `convert', for converting arithmetic types, since 9391: `convert_and_check' no longer reports an error 9392: where it should just warn. 9393: 9394: Mon Jul 12 16:44:37 1993 Richard Stallman ([email protected]) 9395: 9396: * config/i386/i386.md (ffssi2, ffshi2): Assume bsf produces 9397: garbage if input is 0. Use jumps to load output in that case. 9398: 9399: * config/vax/vax.h (INITIALIZE_TRAMPOLINE): Add code to 9400: do an rei to clear the insn cache. 9401: 9402: Sun Jul 11 18:13:47 1993 Richard Stallman ([email protected]) 9403: 9404: * config/ns32k/ns32k.c (output_move_double): Do the low reg first, 9405: when only the high reg has an overlap. 9406: 9407: * c-typeck.c (convert_arguments): Don't warn about sign change 9408: for an INTEGER_CST inside NOP_EXPR, if value not fits new type. 9409: Delete the code to check for VAL having enumeration type. 9410: 9411: * i860.c (output_move_double): Fix typos in Jun 28 change. 9412: 9413: Sat Jul 10 16:05:26 1993 Jim Wilson ([email protected]) 9414: 9415: * i860.c (output_move_double): Only set highest_first if first reg 9416: of dest overlaps memory src address. Otherwise, if addreg1 set and 9417: is same as second reg of dest, suppress trailing decrement. 9418: 9419: Sat Jul 10 19:49:31 1993 Jeffrey A. Law ([email protected]) 9420: 9421: * jump.c (jump_optimize): Correctly identify branches to the end 9422: of a function so that they may be turned into RETURN insns. 9423: 9424: Sat Jul 10 17:37:12 1993 Richard Stallman ([email protected]) 9425: 9426: * collect2.c (main): Allocate COLLECT_NAME string with xmalloc. 9427: 9428: Sat Jul 10 14:44:29 1992 Chip Salzenberg ([email protected]) 9429: 9430: * basic-block.h (REGSET_ELT_TYPE): Make unsigned to avoid 9431: signed arithmetic overflow. 9432: * hard-reg-set.h (HARD_REG_ELT_TYPE): New unsigned type to 9433: avoid signed arithmetic overflow. 9434: (HARD_REG_SET): Define as HARD_REG_ELT_TYPE, or array thereof. 9435: (HARD_CONST): Always cast to HARD_REG_ELT_TYPE. 9436: (*_HARD_REG_*): Use unsigned HARD_CONST and HARD_REG_ELT_TYPE 9437: types instead of assuming HOST_WIDE_INT. 9438: 9439: Sat Jul 10 10:25:16 1993 Karl Berry ([email protected]) 9440: 9441: * fixincludes: Check for symlinks being available in /tmp. 9442: 9443: Sat Jul 10 02:01:08 1993 Richard Stallman ([email protected]) 9444: 9445: * config/m68k/3b1.h (MY_ISCOFF, OBJECT_FORMAT_COFF, NO_SYS_SIGLIST): 9446: New definitions. 9447: 9448: Fri Jul 9 20:40:29 1993 Jeffrey A. Law ([email protected]) 9449: 9450: * pa.md (dbra and movb patterns): Fix constraints so that FP 9451: registers are never preferred. 9452: 9453: Fri Jul 9 17:36:35 1993 Holger Teutsch ([email protected]) 9454: 9455: * va-clipper.h: Make var/stdargs compatible with apogee's acc. 9456: (__gnuc_va_list): Replace __va_f and __va_r with __va_reg. 9457: (__va_list, _SYS_INT_STDARG_H): New defines. 9458: (va_arg): Corresponding changes. 9459: 9460: * config/clipper/clipper.c (clipper_builtin_saveregs) : Dito. 9461: 9462: Fri Jul 9 13:39:08 1993 Brendan Kehoe ([email protected]) 9463: 9464: Cygnus<->FSF merge. 9465: Fri Jul 9 12:17:20 1993 Brendan Kehoe ([email protected]) 9466: 9467: * cp-typeck.c (build_array_ref): Force the array to be allocated on 9468: the stack if it is accessed by a out-of-bound constant integer 9469: subscript. 9470: 9471: * cp-decl.c (pushdecl): Undo change to generate a new _TYPE node for 9472: a typedef. 9473: 9474: Thu Jul 8 16:25:52 1993 Brendan Kehoe ([email protected]) 9475: 9476: * cp-decl.c (pushtag): Don't mark the binding layer marker; for 9477: dwarf debugging, do mark the TYPE_DECL we created as ignored. 9478: 9479: * cp-tree.h (IN_CHARGE_NAME): Define to not need DOLLAR_IN_LABEL. 9480: (VTBL_PTR_TYPE): Likewise. 9481: (VTABLE_DELTA_NAME, VTABLE_INDEX_NAME, VTABLE_PFN_NAME, 9482: VTABLE_DELTA2_NAME): Use two leading underscores. 9483: 9484: Thu Jul 8 14:31:40 1993 Brendan Kehoe ([email protected]) 9485: 9486: * cp-tree.h (TREE_ANON_UNION_ELEM): Deleted, it's never set. 9487: * cp-decl.c (build_default_constructor): Delete checking 9488: TREE_ANON_UNION_ELEM. 9489: * cp-init.c (emit_base_init): Likewise. 9490: * cp-type2.c (my_friendly_abort): Update count. 9491: 9492: * cp-type2.c (build_functional_cast): Disable assert 323 (see 9493: comments for explanation). 9494: 9495: * cp-typeck.c (comp_target_parms): Return 0 if strict is != 0, not 9496: just > 0. 9497: 9498: * cp-decl.c (init_decl_processing): Don't set WARN_RETURN_TYPE. 9499: 9500: Wed Jul 7 18:36:59 1993 Niklas Hallqvist ([email protected]) 9501: 9502: Add the changes to redo how we handle scoping. [Merged by bpk.] 9503: 9504: * cp-class.c ({pop,push}_nested_class): New functions to use 9505: instead of plain {push,pop}class. These functions will see to 9506: that static entities of enclosing classes will be visible. 9507: * cp-tree.h ({pop,push}_nested_class): Declare them. 9508: * cp-decl.h ({finish,start}_function): Use these new functions 9509: instead of plain {push,pop}class calls. 9510: (grokdeclarator): Ditto. 9511: * cp-decl2.c (build_push_scope): Ditto. 9512: * cp-class.c (popclass): Only call pop_class_decls if MODIFY is 9513: set. 9514: 9515: * cp-decl.c (start_decl): Maybe call pushdecl_class_level instead of 9516: pushdecl. This is used for nested types. 9517: (grokdeclarator): Remove the {push,pop}level calls around the 9518: indirect recursion occuring when groking class-local typedefs. 9519: Remove the error check of such typedefs hiding other fields in the 9520: same scope. Remove the pushdecl_class_level call since start_decl 9521: does the work now. 9522: 9523: Class scoping (and type value caching) redone. The new behaviour 9524: is triggered by NEW_CLASS_SCOPING being defined to 1. The old 9525: behavior is accomplished by defining it to the value 0. The entries 9526: below describes the effective changes when NEW_CLASS_SCOPING is set 9527: to non-zero. 9528: 9529: * cp-class.c (set_class_shadows): Add prototype. 9530: (previous_class_values): New variable. 9531: (pushclass): Adapted to not use previous_class_type & unuse_fields. 9532: Removed setting of IDENTIFIER_CLASS_VALUE. 9533: (popclass): Adapted to not use previous_class_type. Don't reset 9534: IDENTIFIER_CLASS_VALUE. Moved call of pop_class_decls. 9535: (maybe_push_cache_obstack): New function. 9536: * cp-decl.c (current_class_depth): Add extern decl. 9537: (previous_class_values): Add extern decl. 9538: (pop_decl_level): Don't reset IDENTIFIER_CLASS_VALUE. 9539: (set_class_shadows): New function. 9540: (poplevel_class): Adjust setting of IDENTIFIER_CLASS_VALUE to only 9541: happen if we're not leaving a toplevel class. 9542: (push_to_top_level): Don't use adjust_type_value. 9543: (set_identifier_type_value): Reverse the choice between class and 9544: local scope when installing the type value. 9545: (set_identifier_local_value): Set the type value if we're seeing a 9546: TYPE_DECL. 9547: (set_nested_typename): Added comment. 9548: (pushtag): Don't call set_identifier_type_value. Leave out 9549: setting of IDENTIFIER_CLASS_VALUE. 9550: (adjust_type_value): Removed. 9551: (pushdecl): Don't call adjust_type_value. 9552: (pushdecl_class_level): Call push_class_level_binding. Set the 9553: type value if we're seeing a TYPE_DECL. 9554: (push_class_level_binding): New function whose guts came from 9555: pushdecl_class_level. 9556: (globalize_nested_type): See to that both the class_shadowed and 9557: type_shadowed lists in the binding stack gets updated correctly. 9558: Don't call set_identifier_type_value on the DECL_NESTED_TYPENAME. 9559: Clear DECL_CLASS_CONTEXT as well as DECL_CONTEXT. Install a 9560: correct IDENTIFIER_{CLASS,TYPE}_VALUE if needed. 9561: (grokdeclarator): Prefer pushdecl_class_level over pushtag when 9562: recording a nested typedef. 9563: (build_enumerator): Don't install a method-local enumerator into 9564: class scope. 9565: * cp-decl2.c (grokfield): Don't call set_identifier_type_value. 9566: * cp-search.c (closed_envelopes): New list containing information 9567: of what decls should be pushed when entering a class scope. 9568: (dfs_pushdecls): Build and maintain the closed_envelopes list 9569: instead of managing the IDENTIFIER_CLASS_VALUEs directly. 9570: (dfs_compress_decls): Adapted to recognize the envelopes 9571: dfs_pushdecls has installed in the IDENTIFIER_CLASS_VALUE slots. 9572: (push_class_decls): Tell overload_template_name to push the 9573: template decls into class scope instead of building a new level. 9574: Added code to open up the envelopes in closed_envelopes and 9575: install the class/type values in the class binding contour with 9576: proper shadowing. 9577: (dfs_popdecls): Removed. 9578: (pop_class_decls): Removed the actual decl-popping code, leaving 9579: just the obstack freeing pop_search_level call. The popping is 9580: automatically handled by poplevel now. 9581: * cp-tree.h (NEW_CLASS_SCOPING): A new macro constant defaulted to 9582: the value 1. 9583: (adjust_type_value): Prototype removed. 9584: (push_class_level_binding): Added prototype. 9585: 9586: Wed Jul 7 11:04:09 1993 Brendan Kehoe ([email protected]) 9587: 9588: * cp-decl.c (pushdecl): When processing a typedef statement, 9589: generate a whole new ..._TYPE node. Be careful that the type we're 9590: looking at isn't an error_mark_node. 9591: 9592: * cp-class.c (finish_struct): Set the DECL_CONTEXT on the type we've 9593: found. 9594: * cp-decl.c (pushtag): Mark the TYPE_DECL as ignored when using 9595: dwarf debugging; don't ignore it if it's anonymous for dwarf 9596: debugging. Put the DECL_CONTEXT in the TYPE_CONTEXT of TYPE. 9597: (globalize_nested_type): Remember to set TYPE_CONTEXT. 9598: * cp-pt.c (overload_template_name): Set DECL_CONTEXT. 9599: * cp-search.c (compute_visibility): Set DECL_CONTEXT if the context 9600: is NULL. 9601: 9602: * cp-class.c (finish_struct): Mark the tag as ignored for dwarf 9603: debugging. 9604: 9605: * cp-except.c (EHS_type): Don't make it static. 9606: * cp-class.c (finish_struct): Don't create a default copy 9607: constructor for the EHS_type. 9608: 9609: * cp-class.c (get_vtable_name): Leave the numbers in the name for 9610: the vtable, so we're uniform with what prepare_fresh_vtable is 9611: doing. Introduces a binary incompatability. 9612: 9613: * cp-tree.c (build_cplus_method_type): Mark the first argtype (the 9614: this pointer) as artificial. 9615: 9616: * cp-init.c (do_friend): Don't allow a friend of a class that's not 9617: yet been defined; instead, complain. Make sure we mark every decl 9618: that comes in as being a friend of something. 9619: 9620: * cp-decl2.c (grokclassfn): Mark the __in_chrg parameter as 9621: artificial. Don't mark it as readonly, and for destructors make 9622: sure the first arg in the arg_types chain has TREE_SIDE_EFFECTS set, 9623: so it's seen as artificial. 9624: (finish_vtable_vardecl): For dwarf debugging, make the vtable's 9625: VAR_DECL node be ignored. 9626: 9627: * cp-decl.c (redeclaration_error_message): Use comptypes to see if 9628: OLDDECL and NEWDECL have the same type. 9629: * cp-typeck.c (comptypes): Compare the main variants of the types, 9630: after we've checked the qualifiers that could have been used on them. 9631: 9632: * cp-call.c (EVIL_RETURN, QUAL_RETURN, TRIVIAL_RETURN, ZERO_RETURN): 9633: Rewrite definitions to not use do/while(0), to avoid bogus warnings 9634: on compilers that can't deal with a return inside it. Change all 9635: uses of them to do `return FOO_RETURN'. 9636: 9637: Tue Jul 6 13:00:44 1993 Brendan Kehoe ([email protected]) 9638: 9639: * cp-decl.c (duplicate_decls): Set GIVE_ERROR so we know where the 9640: previous declaration was for empty parameter name list declarations. 9641: 9642: * cp-class.c (finish_struct): Clean up error message about anonymous 9643: classes. 9644: 9645: * cp-class.c (finish_struct): Don't play with TAIL when we're 9646: dealing with a TYPE_DECL of a RECORD_TYPE; the list continues on 9647: just fine, and TAIL is only used for managing FN_FIELDS. 9648: 9649: * cp-decl.c (pushlevel): Change cast to HOST_WIDE_INT. 9650: * cp-search.c (breadth_first_search): Likewise. 9651: 9652: Fri Jul 2 19:24:55 1993 Steve Chamberlain ([email protected]) 9653: 9654: * cp-method.c: Include "cp-class.h" 9655: 9656: Fri Jul 2 18:16:10 1993 Michael Tiemann ([email protected]) 9657: 9658: * cp-call.c (build_overload_call_real): Don't look at a required 9659: template instantiation and a speculative template instantiation as 9660: two different functions if they are really the same function. 9661: 9662: Thu Jul 1 22:28:46 1993 Michael Tiemann ([email protected]) 9663: 9664: * cp-tree.h: Don't include "cp-class.h" here. 9665: * cp-call.c, cp-cvt.c: Include it here instead. 9666: 9667: Thu Jul 1 18:42:03 1993 Mike Stump ([email protected]) 9668: 9669: * cp-decl.c (duplicate_decls): Fix typo. (olddecl->olddecls) 9670: 9671: Thu Jul 1 18:34:12 1993 Brendan Kehoe ([email protected]) 9672: 9673: New implementation of argument matching. This is now much cleaner 9674: to read, and is designed such that it should be easy to tweak 9675: things when incorrect decisions are made based on the candidates 9676: being examined. 9677: 9678: * cp-decl2.c (flag_ansi_overloading): New variable. 9679: (lang_f_options): Add -fansi-overloading. 9680: * toplev.c (lang_options): Add -fansi-overloading and 9681: -fno-ansi-overloading. 9682: 9683: * cp-class.h (harshness_code): New struct. 9684: (candidate): New members `h' and `h_len' used by new method. New 9685: anonymous union `v', with ansi_harshness and old_harshness. 9686: Deleted member `harshness' (used by old method, now in `v'). 9687: Change every file that uses harshness to refer to it in the union 9688: as appropriate. 9689: (EVIL_CODE, CONST_CODE, ELLIPSIS_CODE, USER_CODE, STD_CODE, 9690: PROMO_CODE, QUAL_CODE, TRIVIAL_CODE): New macros. 9691: 9692: * cp-call.c (EVIL_RETURN, QUAL_RETURN, TRIVIAL_RETURN, 9693: ZERO_RETURN): New macros. 9694: (rank_for_overload): Renamed to rank_for_overload_old. 9695: (rank_for_overload_ansi): New function for new method. 9696: (rank_for_overload): Call the appropriate fn based on the new flag. 9697: (rank_for_ideal): New function for new method. 9698: (compute_harshness): Renamed to compute_harshness_old. 9699: (compute_harshness_ansi): New function for new method. 9700: (compute_conversion_costs): Renamed to compute_conversion_costs_old. 9701: (compute_conversion_costs_ansi): New function for new method. 9702: (compute_conversion_costs): Call the appropriate fn based on the 9703: new flag. 9704: (ideal_candidate): Renamed to ideal_candidate_old. 9705: (ideal_candidate_ansi): New function for new method. 9706: (ideal_candidate): Call the appropriate fn based on the new flag. 9707: (strictly_better): New function for new method. 9708: (build_method_call): Change things to use the new method if 9709: -fansi-overloading is set. 9710: (build_overload_call_real): Likewise. 9711: * cp-cvt.c (convert_to_aggr): Likewise. 9712: 9713: * cp-call.c (build_overload_call_real): Only use the speed hack 9714: to trigger immediately if the OVERLOAD_NAME has a global value if we 9715: aren't using the new overloading scheme. 9716: 9717: * cp-cvt.c (build_type_conversion): Only accept using an `operator 9718: double' if there isn't a conflicting `operator int', if 9719: -fansi-overloading is on. 9720: 9721: Thu Jul 1 17:54:44 1993 Mike Stump ([email protected]) 9722: 9723: * cp-decl.c (duplicate_decls): Propagate some changes from C 9724: front-end. Conflicts with built-in functions are now only warnings. 9725: 9726: Thu Jul 1 15:43:48 1993 Mike Stump ([email protected]) 9727: 9728: * cp-call.c (build_field_call): Use real type if type is a 9729: REFERENCE_TYPE. 9730: * cp-parse.y (primary): Cleanup and move some code out into new 9731: function build_object_ref. 9732: * cp-tree.h (build_object_ref): New function. 9733: * cp-typeck.c (build_object_ref): Define new function. 9734: * cp-typeck.c (build_x_function_call): Return error_mark_node if 9735: first argument is, and handle when TREE_PURPOSE is a binfo and comes 9736: from lookup_fnfields. 9737: 9738: Thu Jul 1 13:48:46 1993 Brendan Kehoe ([email protected]) 9739: 9740: * cp-lex.c (readescape): Don't complain for \% unless pedantic. 9741: 9742: Wed Jun 30 10:35:50 1993 Brendan Kehoe ([email protected]) 9743: 9744: * cp-decl2.c (bad_specifiers): Moved to cp-decl.c. New args 9745: `inlinep' and `object' (old object renamed to type), so we can see 9746: where the thing was declared. Use error_with_decl instead of error. 9747: * cp-decl.c (grokdeclarator): Pass INLINEP and DECL down; move calls 9748: so we'll have a valid DECL to give it. 9749: * cp-tree.h (bad_specifiers): Deleted prototype. 9750: 9751: * cp-call.c (build_scoped_method_call): If it's a reference, work 9752: with the actual type. 9753: * cp-type2.c (build_scoped_ref): Likewise. 9754: 9755: Tue Jun 29 19:49:57 1993 Mike Stump ([email protected]) 9756: 9757: * cp-lex.c (default_copy_constructor_body): Hack broken code to work 9758: marginally better than how it worked before, so that PlotFile3D's 9759: make check of libg++ works. 9760: 9761: Tue Jun 29 12:44:48 1993 Brendan Kehoe ([email protected]) 9762: 9763: * cp-typeck.c (mark_addressable): Don't complain about taking the 9764: address of an object with register storage class; it's legal in C++. 9765: 9766: * cp-typeck.c (convert_arguments): Only warn about passing an object 9767: through an ellipsis. 9768: 9769: * cp-parse.y (typed_declspecs): Make sure the TYPESPEC we hit 9770: upon is non-null. 9771: 9772: Tue Jun 29 11:58:03 1993 Tony Deigh ([email protected]) 9773: 9774: * cp-decl.c (grokdeclarator): Look at the decl as a FUNCTION_TYPE 9775: before seeing if its TYPE_MAIN_VARIANT matches or it's a friend; 9776: this way, we can properly detect declaration of another class's 9777: methods inside another class. Solves chainon aborts. 9778: 9779: Tue Jun 29 09:47:36 1993 Brendan Kehoe ([email protected]) 9780: 9781: * cp-class.c (finish_struct): Use pedwarn_with_decl for warnings 9782: about non-static const/ref in class without a ctor, so the line 9783: number is helpful. 9784: 9785: Tue Jun 29 02:46:39 1993 Mike Stump ([email protected]) 9786: 9787: * cp-cvt.c (build_up_reference): Delete unneed cast. 9788: * cp-typeck.c (convert_for_assignment): Likewise. 9789: 9790: Mon Jun 28 19:19:34 1993 Mike Stump ([email protected]) 9791: 9792: * cp-lex.c (real_yylex): Use pedwarn to warn about using catch, try 9793: and throw as identifiers. 9794: 9795: Mon Jun 28 11:13:17 1993 Brendan Kehoe ([email protected]) 9796: 9797: * cp-method.c (hack_identifier): Only look for visibility if we have 9798: a basetype path. 9799: 9800: * cp-decl.c (grokdeclarator): Also forbid the subscripting operator, 9801: and class member access operator being declared as a non-member 9802: function. 9803: 9804: * cp-init.c (add_friend): Pedwarn on duplicate friend decls. 9805: 9806: * cp-init.c (is_friend_type): New function. 9807: (is_friend): Call it; rewrite in minor ways, to clean the code up. 9808: * cp-tree.h (is_friend_type): Add prototype. 9809: * cp-search.c (compute_visibility): Also check if the 9810: CURRENT_CLASS_TYPE is a friend of CONTEXT, which can buy us access 9811: to the field in question. 9812: 9813: * cp-init.c (sort_member_init): Disable assert that was wrong. 9814: 9815: * cp-class.c (finish_struct): Make declaration of a non-static const 9816: or reference member get a pedwarn if the class it's in has no 9817: constructor. 9818: 9819: * cp-decl2.c (grokfield): Fix up the error message about member 9820: initialization. 9821: 9822: * cp-typeck.c (c_expand_return): Make sure we don't set 9823: CURRENT_FUNCTION_RETURNS_VALUE if we set CURRENT_FUNCTION_RETURNS_NULL. 9824: 9825: * cp-method.c (dump_init): Don't emit digit_buffer if we're giving 9826: an enum's tag. 9827: 9828: Fri Jul 9 16:45:25 1993 David d `zoo' Zuhn ([email protected]) 9829: 9830: * config.sub: Make -solaris reflect the most recent major release. 9831: 9832: Fri Jul 9 16:18:20 1993 Jeffrey A. Law ([email protected]) 9833: 9834: * Change length attributes to use bytes instead of instruction 9835: counts. 9836: * pa.h (CASE_VECTOR_MODE): Change to DImode. 9837: * pa.c (compute_movstrsi_length): Return length in bytes. 9838: (pa_adjust_insn_length): Return adjustment in bytes. 9839: (output_cbranch): Handle lengths as bytes. 9840: (output_bb, output_dbra, output_movb): Likewise. 9841: * pa.md (default length define_attr): Lengths are in bytes now. 9842: (asm_attributes): Likewise. 9843: (delay slot attributes): Deal with lengths in bytes. 9844: (explicit length computations): Compute length in bytes. 9845: 9846: * Make more dbra insns and support movb insns. 9847: * pa.h (output_dbra, output_movb): Declare. 9848: * pa.md (dbra pattern): Use output_dbra. 9849: (dbra pattern #2): New pattern. Also use output_dbra. 9850: (movb, inverted movb): New patterns. 9851: * pa.c (pa_adjust_insn_length): dbra and movb insns which have 9852: their output in a FP register do not need adjustment. 9853: (output_cbranch, output_bb): Handle conditional jump to the 9854: following instruction. 9855: (output_dbra): New function extracted from dbra pattern. 9856: (output_movb): New function. 9857: (eq_neq_comparison_operator): New function. 9858: (movb_comparison_operator): New function. 9859: 9860: Fri Jul 9 01:07:52 1993 Richard Stallman ([email protected]) 9861: 9862: * config/m68k/mot3300.h (ASM_OUTPUT_OPCODE): Don't add .w suffix 9863: to jump insns. 9864: 9865: * combine.c, cse.c: Include stdio.h before rtl.h. 9866: 9867: Wed Jul 7 18:06:45 1993 Jim Wilson ([email protected]) 9868: 9869: From [email protected]: 9870: * sparc.c (singlemove_string): Convert SFmode by REAL_VALUE... macros. 9871: * sparc.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): 9872: Use REAL_VALUE_TO_DECIMAL to generate decimal string. 9873: (REAL_ARITHMETIC): Define. 9874: 9875: * sparc.h (SECONDARY_MEMORY_NEEDED_RTX): Use 9876: STARTING_FRAME_OFFSET. 9877: (STARTING_FRAME_OFFSET): Set to -16. 9878: 9879: * c-parse.in (simple_if): Save stmt_count, and print empty body 9880: warning here. 9881: (if_prefix): Don't save stmt_count here. 9882: (stmt): Don't print empty body warning here. 9883: 9884: * combine.c (simplify_comparison): Add parentheses to satify gcc. 9885: * sparc.c (sparc_frw_save_restore): Likewise. 9886: * expr.c (convert_to_mode): Move misplaced parentheses. 9887: 9888: Wed Jul 7 16:37:26 1993 Jeffrey A. Law ([email protected]) 9889: 9890: * Improve code for conditional branches and dbra insns on the PA. 9891: * pa.c (pa_adjust_insn_length): Rewrite so that it only adjusts 9892: insns which really need adjustment. 9893: (output_cbranch): Rework so that output templates are simpler. 9894: Use shorter sequence for long backwards conditional branches with 9895: a filled delay slot that is nullified. More agressively use "skip" 9896: instructions. More agressively nullify the delay slot if nothing 9897: useful could be placed there. 9898: (output_bb): Likewise. 9899: (forward_branch_p): New function. 9900: * pa.md (conditional branches): Use the full displacement range 9901: for the branch target. Update length computations to match current 9902: reality. 9903: (branch on bit patterns): Likewise. 9904: (decrement_and_branch_until_zero): Re-enable pattern. Rewrite to 9905: be simpler and more efficient. Also handle case where loop counter 9906: is in a FP register. 9907: 9908: Wed Jul 7 11:19:03 1993 Ian Lance Taylor ([email protected]) 9909: 9910: * glimits.h (MB_LEN_MAX): Don't override the value from the system 9911: <limits.h>. Just define it if it is not already defined. 9912: 9913: * collect2.c (main): Search for ld in the compiler directories. 9914: 9915: Wed Jul 7 13:40:55 1993 Jim Wilson ([email protected]) 9916: 9917: * collect2.c (fork_execute, scan_prog_file): Use "fork" in error 9918: messages instead of "vfork" when vfork is defined to fork. 9919: 9920: Tue Jul 6 16:38:36 1993 Jim Wilson ([email protected]) 9921: 9922: * sparc.c (sparc_type_code): Recognize SET_TYPE. For special 9923: Fortran/Pascal types, just return qualifiers instead of aborting. 9924: 9925: * c-decl.c (insert_block): Correct typo in comment. 9926: 9927: * combine.c (simplify_and_const_int, LSHIFTRT case): Must be at 9928: least as many sign bit copies as bits in mask. 9929: 9930: * c-typeck.c (build_conditional_expr): All simplified results 9931: must go through pedantic_non_lvalue. 9932: * cp-typeck.c (build_conditional_expr): Likewise. 9933: * fold-const.c (fold, COND_EXPR case): Likewise. 9934: (pedantic_non_lvalue): New function. 9935: * tree.h (pedantic_non_lvalue): Add declaration. 9936: 9937: * fold-const.c (invert_truthvalue): Check for ERROR_MARK input. 9938: 9939: * m68k.h (LEGITIMATE_BASE_REG_P): New macro. 9940: (INDIRECTABLE_1_ADDRESS_P, GO_IF_INDEXABLE_BASE, 9941: LEGITIMATE_INDEX_REG_P): Accept SUBREG everywhere REG is accepted. 9942: 9943: * sparc.h (EXTRA_CONSTRAINT): For 'T', pass address not mem to 9944: strict_memory_address_p call. For 'U', don't accept unallocated 9945: pseudo-reg when strict. 9946: 9947: * sparc.c (output_move_quad): Implement CNSTOP case. 9948: 9949: * i960.h (ASM_OUTPUT_COMMON): Use SIZE not ROUNDED. 9950: 9951: Tue Jul 6 02:12:15 1993 Richard Stallman ([email protected]) 9952: 9953: * cse.c (simplify_binary_operation, case MINUS): Fix backwards 9954: test added in last change. 9955: 9956: * config/i386/sun.h (SIZE_TYPE): Deleted. 9957: 9958: * c-typeck.c (convert_arguments): Don't warn for -Wconversion 9959: about signedness of an arg that's extended from narrower unsigned type. 9960: 9961: * c-decl.c (duplicate_decls): Don't warn for non-extern var decl 9962: following an extern one (for -Wredundant-decls). 9963: 9964: Mon Jul 5 17:50:27 1993 Richard Kenner ([email protected]) 9965: 9966: * reload1.c (emit_reload_insns): Don't use gen_lowpart_common to 9967: get reload register into proper mode. 9968: * reload.c (subst_reloads): Likewise. 9969: 9970: * combine.c (subst, case PLUS): Simplify (plus (comp A B) -1), etc. 9971: 9972: * fold-const.c (fold, case EQ_EXPR, LE_EXPR): If comparing results 9973: of signed MOD with zero, use an unsigned MOD. 9974: 9975: * calls.c: Fix typo: had ARGS_GROW_DOWNARD. 9976: 9977: * configure (rs6000-ibm-aix): Use default files for aix3.2 and 9978: aix31.h for aix3.[01]. Add new file x-aix31. 9979: * rs6000.c (input_operand): Fix missing operand on a return. 9980: (print_operand): Add new code '.'. 9981: (rs6000_sa_size): Delete unused variable `i'. 9982: (output_prolog, output_epilog): Use new RS6000_CROR_BIT_NUMBER. 9983: * rs6000.h (CPP_PREDEFINES): Define _AIX32. 9984: (ASM_DECLARE_FUNCTION_NAME, TEXT_SECTION_ASM_OP): Use ".text[PR]" as 9985: csect name. 9986: (RS6000_CROR_BIT_NUMBER): New macro. 9987: (PRINT_OPERAND_PUNCT_VALID_P): Allow `.' as valid. 9988: * rs6000.md (call patterns): Use %. in cror. 9989: * x-rs6000 (CLIB): No longer need -lm. 9990: * aix31.h, x-aix31.h: New files. 9991: * aix32.h: Deleted. 9992: 9993: Mon Jul 5 17:44:09 1993 John F Carr ([email protected]) 9994: 9995: * romp.md (movhi): When storing a constant in an HImode register, use 9996: cal16 instead of cal so that the high bits are clear (combine 9997: requires this). 9998: 9999: Mon Jul 5 17:15:27 1993 Richard Stallman ([email protected]) 10000: 10001: * objc-act.c (encode_type_qualifiers): Add casts to enums in indices. 10002: 10003: Mon Jul 5 02:25:54 1993 Doug Evans ([email protected]) 10004: 10005: * Makefile.in: Parameterize libgcc.a and install-libgcc 10006: (LIBGCC and INSTALL_LIBGCC). 10007: 10008: * tree.c (get_narrower): Preserve unsignedness when bitschange == 0. 10009: 10010: Sun Jul 4 02:55:46 1993 Richard Stallman ([email protected]) 10011: 10012: * expmed.c (store_split_bit_field, extract_split_bit_field): 10013: Handle fields split across more than 2 aligned units. 10014: 10015: * expr.c (store_field): Test STRICT_ALIGNMENT at run time. 10016: (expand_expr, COMPONENT_REF case): Fetch unaligned field as bitfield. 10017: 10018: * collect2.c (error, fatal, fatal_perror): Say collect2, not collect. 10019: 10020: * c-parse.in (primary): In statement expression case, 10021: if compstmt returns something other than a BLOCK, 10022: return it unchanged. 10023: 10024: Sat Jul 3 20:32:43 1993 Minh Tran-Le ([email protected]) 10025: 10026: * fixinc.svr4: Added fixup for __STDC__ == 0 and __STDC__ == 1 10027: cases found in sequent PTX-2.0.x headers. 10028: 10029: Sat Jul 3 18:54:07 1993 Jeffrey A. Law ([email protected]) 10030: 10031: * pa.c (call_operand_address): Do not accept registers anymore. 10032: * pa.md (call expanders): Emit different patterns for named calls 10033: and indirect calls. 10034: (call_internal_symref, call_internal_reg): New patterns. 10035: (call_internal): Deleted. Now handled by call_interal_{symref,reg}. 10036: (call_value_internal_symref, call_value_internal_reg): New patterns. 10037: (call_value_internal): Deleted. Now handled by 10038: call_value_internal_{symref,reg). 10039: 10040: Sat Jul 3 16:40:52 1993 Doug Evans ([email protected]) 10041: 10042: * collect2.c (main): Give ld_file_name an initial value. 10043: 10044: Fri Jul 2 16:36:56 1993 Jim Wilson ([email protected]) 10045: 10046: * sparc.md (ashldi3+2): Change lshift to ashift. 10047: 10048: * sparc.md (zero_extendhisi2, extendhisi2, extendqihi2, 10049: extendqisi2): Preserve the SUBREG_WORD value of subreg operands. 10050: (ashldi3): Delete, obsoleted by lshldi3 pattern. 10051: (lshldi3): Rename to ashldi3 for consistency with SImode shifts. 10052: 10053: Fri Jul 2 01:10:56 1993 Richard Stallman ([email protected]) 10054: 10055: * Makefile.in (install-headers-tar): Ignore exit status of the 10056: first tar command. 10057: 10058: Thu Jul 1 14:31:45 1993 Doug Evans ([email protected]) 10059: 10060: * flow.c (find_auto_inc): In *p=expr;q=p+size case, avoid clobbering q 10061: if referenced in expr. 10062: 10063: Fri Jul 2 01:26:01 1993 Paul Eggert ([email protected]) 10064: 10065: * tree.h (pushcase, pushcase_range): Add a new converter 10066: function argument that specifies how to convert case labels to the 10067: nominal type. 10068: * stmt.c (pushcase, pushcase_range): Likewise. 10069: * c-parse.in (label): Use `convert_and_check' when checking for 10070: overflow in case labels. 10071: * cp-parse.y (simple-stmt): Similar change, but use `convert' instead; 10072: this leaves the behavior unchanged for C++. A C++ expert should look 10073: into this. 10074: 10075: * tree.h (TREE_OVERFLOW): New macro. 10076: * c-common.c (constant_expression_warning, overflow_warning, 10077: convert_and_check): Distinguish between TREE_OVERFLOW, which is just 10078: for warnings, and TREE_CONSTANT_OVERFLOW, which is for required 10079: pedantic diagnostics. 10080: * c-typeck.c (c_sizeof, build_c_cast): Set TREE_OVERFLOW in addition 10081: to TREE_CONSTANT_OVERFLOW. 10082: (store_init_value): STRIP_TYPE_NOPS is required before 10083: constant_expression_warning. 10084: * fold-const.c: (const_binop, fold_convert, fold): 10085: Set TREE_OVERFLOW in addition to TREE_CONSTANT_OVERFLOW. 10086: 10087: Thu Jul 1 20:55:27 1993 Richard Stallman ([email protected]) 10088: 10089: * reload1.c (eliminate_regs): Fix typo in BYTE_LOADS_ZERO_EXTEND. 10090: 10091: Thu Jul 1 20:00:00 1993 DJ Delorie ([email protected]) 10092: 10093: * gcc.c (choose_temp_base): Try multiple variables. Don't 10094: assume that the variable points to a valid directory. 10095: 10096: * gcc.c (pexecute): Handle the MS-DOS return codes correctly. 10097: Add .exe to file name when appropriate. 10098: 10099: * configure.bat: Make gcc use its own obstack.o. 10100: 10101: * objc/makefile.dos: New file for building with djgpp. 10102: 10103: Thu Jul 1 18:15:17 1993 Paul Eggert ([email protected]) 10104: 10105: * fixincludes, fixinc.svr4: Don't create absolute symbolic links; 10106: make them relative instead. 10107: * fixincludes: Remove special case for IRIX 4.0.1 that was 10108: superseded by a more general fix to fixincludes. 10109: 10110: * fixinc.svr4: Remove everything after #endif, instead of trying 10111: to turn it into comments, which loses inside comments. 10112: * fixincludes: Likewise. Remove #endif workarounds for Ultrix 4.[12] 10113: and SunOS 4.1, which are no longer needed because of this bug fix. 10114: 10115: Thu Jul 1 14:56:56 1993 Jeffrey A. Law ([email protected]) 10116: 10117: * pa.h (OVERRIDE_OPTIONS): Define. Give a warning if -fpic or 10118: -fPIC was specified on the command line. 10119: 10120: * configure (hppa1.0-hp-hpux8.02): New target. 10121: (hppa1.1-hp-hpux8.02): Accept "--gas" in this configuration. 10122: * pa-oldas.h: New target for 1.0 machines running HPUX 8.02. 10123: * pa.c (output_arg_descriptor): Reverse polarity of test for 10124: HP_FP_ARG_DESCRIPTOR_REVERSED. 10125: * pa.h (ASM_DOUBLE_ARG_DESCRIPTORS): Likewise. 10126: * pa-hpux7.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Define. 10127: * pa1-oldas.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Define. 10128: (TARGET_DEFAULT): Clear useless bits in TARGET_DEFAULT. 10129: * pa-utahmach.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Do not define here. 10130: * pa1-utahmach.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Likewise. 10131: * pa1-ghpux.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Likewise. 10132: * pa1-hpux.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Likewise. 10133: 10134: Thu Jul 1 09:48:23 1993 Richard Kenner ([email protected]) 10135: 10136: * fold-const.c (fold, case GE_EXPR, LT_EXPR): Don't assume 10137: result of comparison is integer_type_node. 10138: 10139: Thu Jul 1 00:23:16 1993 Roland McGrath ([email protected]) 10140: 10141: * config/i386/mach.h (SIZE_TYPE): Definition deleted. 10142: 10143: Wed Jun 30 16:16:20 1993 Richard Stallman ([email protected]) 10144: 10145: * config/m68k/sun3.h (SIZE_TYPE): Definition deleted. 10146: 10147: Wed Jun 30 16:55:25 1993 John F Carr ([email protected]) 10148: 10149: * mips.c (gen_int_relational): For test with constant result, 10150: copy const0_rtx or const_true_rtx to result register instead 10151: of allocating a new pseudo-register. 10152: 10153: Wed Jun 30 15:19:42 1993 Roland McGrath ([email protected]) 10154: 10155: * config.sub: Recognize `gnu' as a valid operating system. Sheesh. 10156: 10157: Wed Jun 30 13:43:45 1993 Jeffrey A. Law ([email protected]) 10158: 10159: * pa.c (output_function_prologue): Emit SAVE_SP flag if a frame 10160: pointer is needed. 10161: 10162: Wed Jun 30 00:52:25 1993 Richard Stallman ([email protected]) 10163: 10164: * collect2.c (main): Don't look for `gld' or `TARGET-gld'. 10165: 10166: * fixincludes (stdtypes.h): Verify that size_t etc. follow whitespace. 10167: 10168: * expr.c (expand_expr, case PLUS_EXPR): In the special case 10169: to return sym+integer as an expression, limit it to when 10170: the non-CONST_INT arg is at least a constant. 10171: (expand_increment): Do preinc with single insn if there's such an insn. 10172: 10173: * stmt.c (expand_end_case): Pass 1 as UNSIGNEDP to emit_cmp_insn 10174: when handling wide values. 10175: Save original minval in orig_minval and use for making the table. 10176: 10177: Tue Jun 29 22:28:06 1993 Jeffrey A. Law ([email protected]) 10178: 10179: * pa.c (singlemove_string): Use zdepi and ldil to load constants 10180: into registers when appropriate. 10181: 10182: Tue Jun 29 11:26:35 1993 Richard Stallman ([email protected]) 10183: 10184: * config.sub: Recognize -sysv* after -sysvr4. 10185: 10186: * config/vax/vax.h (GO_IF_NONINDEXED_ADDRESS): Declare reg_equiv_mem. 10187: 10188: Mon Jun 28 20:12:04 1993 Steve Chamberlain ([email protected]) 10189: 10190: * config/sh/*: Major rework. 10191: 10192: Mon Jun 28 02:46:47 1993 Richard Stallman ([email protected]) 10193: 10194: * fixincludes (file): When changing VA_LIST to DUMMY_VA_LIST, 10195: preserve _NEED___VA_LIST. 10196: 10197: * config/ns32k/ns32k.c (output_move_double): 10198: Handle reg[n,n+1] = mem[reg[n] + reg[n+1]]. 10199: * config/ns32k/ns32k.md (movdf, movdi): Delete `&' from constraint. 10200: 10201: * config/sparc/sparc.c (output_move_double): Use new local var 10202: highest_first to make sure addreg1 gets handled in the overlap case. 10203: In 2-reg-overlap case, really use proper reg in new address. 10204: 10205: * config/i860/i860.c (output_move_double): 10206: Handle reg[n,n+1] = mem[reg[n] + reg[n+1]]. Use new local var 10207: highest_first to make sure addreg1 gets handled in the overlap case. 10208: * config/i860/i860.md (movdf, movdi): Delete `&' from load constraint. 10209: 10210: * config/sparc/sol2.h (CPP_SPEC): For -compat-bsd, put the ucbinclude 10211: dirs before, not after. 10212: 10213: * expr.c (store_field): Store unaligned field with bit field methods. 10214: 10215: * config/vax/vax.h (GO_IF_NONINDEXED_ADDRESS): If reload_in_progress, 10216: check a REG's reg_equiv_mem the way we would check a MEM. 10217: 10218: * reload.c (find_reloads_address): Be selective about what inner 10219: addresses to allow in an indirect mem ref. 10220: 10221: Sun Jun 27 16:40:59 1993 Richard Stallman ([email protected]) 10222: 10223: * emit-rtl.c (copy_rtx_if_shared): Don't try to copy a 0-length vector. 10224: 10225: * config/m68k/x-apollo68 (TAROUTOPTS): New definition. 10226: 10227: * config.sub: Canonicalize -sco4 and -sco3.2.4 to -sco3.2v4. 10228: 10229: * gcc.c (DEFAULT_WORD_SWITCH_TAKES_ARG): Check for -iwithprefixbefore. 10230: (option_map): Add --include-with-prefix-before and 10231: --include-with-prefix-after. 10232: 10233: Sun Jun 27 16:04:52 1993 Holger Teutsch ([email protected]) 10234: 10235: * va-clipper.h: Use and define Macro __GNUC_VA_LIST. Define struct 10236: __gnuc_va_list. 10237: 10238: Sun Jun 27 08:32:19 1993 Richard Kenner ([email protected]) 10239: 10240: * machmode.h (INTEGRAL_MODE_P, FLOAT_MODE_P): New macros. 10241: * cse.c (simplify_*_operation, fold_rtx, record_jump_cond, cse_insn): 10242: Use them. 10243: * combine.c (subst, apply_distributive_law): Likewise. 10244: (reversible_comparison_p): Likewise. 10245: Can reverse if MODE_COMPLEX_INT or MODE_PARTIAL_INT. 10246: 10247: * function.c (fixup_stack_1): Handle 10248: current_function_internal_arg_pointer. 10249: 10250: * stor-layout.c: Add prototypes for layout_record and layout_union. 10251: (smallest_mode_for_size): New function. 10252: (variable_size): Allow variable sizes if global_bindings_p returns a 10253: negative value. 10254: (mode_for_size): Fix incorrect comment. 10255: (layout_decl): If DECL has a size already, don't copy from type. 10256: (layout_type, case INTEGER_TYPE, ENUMERAL_TYPE): Use smallest 10257: integer mode that fits, whether or not it fits exactly. 10258: 10259: * emit-rtl.c (restore_emit_status): Clear LAST_LABEL_NUM. 10260: 10261: * calls.c (expand_call): If function hasn't been used before, 10262: call assemble_external. 10263: 10264: * expr.c (store_constructor): Treat QUAL_UNION_TYPE just 10265: like UNION_TYPE. 10266: (safe_from_p, case ADDR_EXPR): EXP is safe from X it is is static or 10267: if the object whose address is being taken is safe from X. 10268: (expand_expr): Fix misplaced comment from last change. 10269: (expand_expr, case *_DECL): If not already used, assemble external. 10270: (expand_expr, case EXIT_EXPR): Simplify. 10271: (expand_expr, TRUTH_{AND,OR}IF_EXPR): Properly handle IGNORE case. 10272: 10273: * tree.c (array_type_nelts): Tighten up code and make more general. 10274: (build_function_type): Allow function to return array. 10275: (decl_function_context): Treat QUAL_UNION_TYPE like UNION_TYPE. 10276: 10277: * fold-const.c (fold, case TRUTH_XOR_EXPR): End with `return', 10278: not `break'. 10279: 10280: * dwarfout.c (output_compile_unit_die): Add support for Ada. 10281: 10282: * c-iterate.c (collect_iterators, case SAVE_EXPR): Simplify code 10283: added in previous change. 10284: 10285: * expr.c: Fix typo: was ARGS_GROW_DOWNARD. 10286: 10287: * combine.c (subst, case IF_THEN_ELSE): Install correct version of 10288: last change. 10289: 10290: Sat Jun 26 15:38:33 1993 Richard Stallman ([email protected]) 10291: 10292: * cccp.c (main): For -iwithprefix, if no include_prefix, 10293: make a default from GCC_INCLUDE_DIR. 10294: Support -iwithprefixbefore. 10295: 10296: * reload.c (find_reloads): When merging reloads again after they have 10297: been changed, do check reload_reg_class and reload_nocombine. 10298: 10299: * config/sparc/sparc.md (movdf recognizer): Remove & from 10300: constraint for loading mem to cpu reg. 10301: 10302: * expr.c (expand_assignment): If FROM is scalar function call, 10303: expand_expr FROM before TO. 10304: 10305: * gcc.c (translate_options): `*' inhibits warning of extraneous arg. 10306: 10307: Sat Jun 26 11:07:23 1993 Richard Kenner ([email protected]) 10308: 10309: * reload1.c (reload): Use reg_equiv_address for invalid addresses 10310: of the form (mem (reg)). 10311: 10312: * config/*/xm-*.h: Remove line that #define's alloca 10313: to __builtin_alloca. 10314: 10315: * fold-const.c (fold, case PLUS_EXPR, MINUS_EXPR): Apply 10316: distributive law to multiplication. 10317: (fold, case *_DIV_EXPR): Replace code to handle (A*C1)/C2 with 10318: more general code to handle addition as well. 10319: (fold, case *_MOD_EXPR): Add simplified version of above code. 10320: 10321: * integrate.c (function_cannot_inline_p): Can now inline nested 10322: functions. 10323: (expand_inline_function): Set up static chain if needed. 10324: (output_inline_function): Don't switch to temporary allocation 10325: here. 10326: * toplev.c (compile_file): Switch to temporary allocation when 10327: writing out inline function. 10328: * cp-decl2.c (write_vtable_entries, finish_file): Likewise. 10329: * c-decl.c, cp-decl.c (poplevel): Start new function context 10330: when writing inline function. 10331: 10332: * c-decl.c (init_decl_processing): When making SIZETYPE, 10333: start with name in SIZE_TYPE. If -traditional, use a 10334: signed version of that type, if it is unsigned. 10335: 10336: * fold-const.c: Add prototypes for static functions. 10337: ({l,r}{shift,rotate}_double): COUNT arg is HOST_WIDE_INT, PREC is int. 10338: (all_ones_mask): Remove __inline__. 10339: (range_test): Make static; not used elsewhere. 10340: * tree.h: Add more decls for functions in fold-const.c. 10341: 10342: * calls.c (expand_calls): Fix typo: ALLOCATE_OUTGOING_ARGS 10343: should be ACCUMULATE_OUTGOING_ARGS. 10344: 10345: * tree.def (TRUTH_{AND,OR,XOR}_EXPR): Make code class be 'e' like 10346: the rest of the truth operations. 10347: * fold-const.c (fold_truthop): Treat a BIT_AND_EXPR with a constant of 10348: one as if it were surrounded with an NE_EXPR. 10349: (fold): Don't move operation into conditional if it 10350: is BIT_{AND,OR}_EXPR with the constant 1; change it to TRUTH_*_EXPR 10351: instead. 10352: When moving things inside conditions, move comparisons as well as 10353: binary operations. 10354: Don't make a SAVE_EXPR when moving things inside conditionals unless 10355: the value would really have been used twice. 10356: 10357: * expr.c (do_store_flag): When computing via a shift, allow for 10358: an inner RSHIFT_EXPR in BITNUM. 10359: Sometimes do the operations as signed. 10360: 10361: * combine.c (subst): apply_distributive_law can also handle AND. 10362: (subst, case IF_THEN_ELSE): Make a shift when appropriate. 10363: (simplify_shift_const): If we have an outer operation and made 10364: a shift, see if it can be simplified. 10365: 10366: Sat Jun 26 03:25:35 1993 Richard Stallman ([email protected]) 10367: 10368: * configure (i370-*-mvs*): New configuration. 10369: * config/i370/i370.md, mvs370.c, tm-mvs.h, xm-mvs.h 10370: 10371: * final.c, varasm.c: Include ctype.h. 10372: * c-lex.c: Include ctype.h. 10373: (isalnum, isdigit): Macros deleted. 10374: 10375: * config/sparc/sparc.c (output_move_double): Handle 10376: reg[n,n+1] = mem[reg[n] + reg[n+1]]. 10377: * config/sparc/sparc.md (movdi): Delete the earlyclobber in load case. 10378: 10379: Sat Jun 26 03:15:38 1993 Doug Evans ([email protected]) 10380: 10381: * gcc.c (option_map): Add missing comma. 10382: 10383: Sat Jun 26 02:17:28 1993 Richard Stallman ([email protected]) 10384: 10385: * config/we32k/we32k.c: Clean up formatting. 10386: 10387: * calls.c (calls_function_1): Add declaration. 10388: 10389: * config/m68k/m68k.md (fix_truncdfsi2, fix_truncdfhi2, fix_truncdfqi2): 10390: Require TARGET_68881 as well as TARGET_68040. 10391: 10392: Fri Jun 25 20:13:51 1993 Richard Stallman ([email protected]) 10393: 10394: * calls.c (calls_function): Don't scan a single save_expr twice. 10395: (calls_function_1): New subroutine for the actual recursion. 10396: 10397: * c-parse.in (all_iter_stmt_simple): Add missing `else'. 10398: 10399: Fri Jun 25 15:53:59 1993 Brendan Kehoe ([email protected]) 10400: 10401: Cygnus<->FSF merge. 10402: Fri Jun 25 10:00:34 1993 Brendan Kehoe ([email protected]) 10403: 10404: * cp-decl.c: Delete some #if 0'd code that has been there forever. 10405: 10406: * cp-type2.c (my_friendly_abort): Update count of aborts (added by 10407: emit_base_init rewrite). 10408: 10409: Make default copy constructors work properly. 10410: * cp-lex.c (cons_up_default_function): Mark the generated ctor with 10411: RID_INLINE, so it won't get emitted unless it's needed. 10412: * cp-decl.c (grok_ctor_properties): If CTYPE has virtual base 10413: classes, make sure we don't pay attention to the int that we 10414: magically added to the ctor decl. 10415: * cp-ptree.c (print_lang_type): Note a const copy ctor vs a normal 10416: copy ctor. Say if TYPE_HAS_DEFAULT_CONSTRUCTOR. 10417: * cp-tree.h (cons_up_default_function): Modify prototype. 10418: * cp-class.c (finish_struct): Also check TYPE_HAS_CONSTRUCTOR, so 10419: we don't generate a default ctor if they already declared one 10420: (taking whatever arg types). 10421: 10422: Wed Feb 3 17:41:02 1993 Chip Salzenberg ([email protected]) 10423: 10424: * cp-class.c (needs_const_ctor): Eliminate as meaningless. 10425: (finish_struct) Always generate default functions. 10426: Generate exactly one copy constructor: either "X(X&)" or 10427: "X(const X&)", but not both. 10428: * cp-lex.c (cons_up_default_function): Take list of fields 10429: as a new parameter. Use default_copy_constructor_body. 10430: Set TREE_PUBLIC and DECL_EXTERNAL correctly for usage with 10431: #pragma interface. 10432: (default_copy_constructor_body): New function (uses obstacks). 10433: 10434: Thu Jun 24 12:41:16 1993 Mike Stump ([email protected]) 10435: 10436: * cp-call.c (build_scoped_method_call, build_method_call): Remove 10437: maybe_adjust argument to build_delete as it is unneeded and remove all 10438: support for the magic cookie key in the area just before the data 10439: allocated by new []. 10440: * cp-decl.c (finish_function, maybe_build_cleanup, 10441: push_exception_cleanup): Likewise. 10442: * cp-decl2.c (delete_sanity, finish_file): Likewise. 10443: * cp-init.c (init_init_processing, build_new, 10444: maybe_adjust_addr_for_delete, build_delete, build_vbase_delete, 10445: build_vec_delete): Likewise. 10446: * cp-tree.c (build_cplus_new): Likewise. 10447: * cp-tree.h (build_delete): Likewise. 10448: 10449: Wed Jun 23 17:18:41 1993 Brendan Kehoe ([email protected]) 10450: 10451: * cp-decl.c (init_decl_processing): Also catch SIGBUS. 10452: (sigsegv): Rename to signal_catch; also reset SIGBUS. 10453: 10454: * cp-typeck.c (pointer_diff): Error if op1 is a pointer to an 10455: incomplete type. 10456: 10457: Wed Jun 23 16:17:43 1993 Mike Stump ([email protected]) 10458: 10459: * cp-search.c (dfs_get_vbase_types, get_vbase_types): Conform to ARM 10460: 12.6.2 with respect to virtual bases. Virtual bases are now 10461: initialized in dfs order. 10462: 10463: Wed Jun 23 16:04:17 1993 Brendan Kehoe ([email protected]) 10464: 10465: * cp-tree.c (layout_basetypes): Disable the warning relating to a 10466: non-virtual dtor. 10467: 10468: Tue Jun 22 20:03:59 1993 Mike Stump ([email protected]) 10469: 10470: * cp-lex.c (reinit_parse_for_block): Detect EOFs inside templates. 10471: 10472: Tue Jun 22 16:10:46 1993 Mike Stump ([email protected]) 10473: 10474: * cp-class.c (finish_struct): Set TYPE_NONCOPIED_PARTS now that the 10475: right vtable can be found, so that the vtable pointers are set 10476: correctly when implementing default copy constructors. 10477: * cp-typeck.c (build_modify_expr): Use TYPE_NONCOPIED_PARTS in the 10478: same way the backend uses it when implementing default copy 10479: constructors. 10480: 10481: Tue Jun 22 10:50:56 1993 Brendan Kehoe ([email protected]) 10482: 10483: * cp-decl.c (grokdeclarator): Don't try to mangle the name of a fn 10484: that has C linkage. 10485: 10486: * cp-init.c (xref_friends): Deleted fn, since it's the same as 10487: xref_friend. 10488: (xref_friend): Make it static. 10489: (do_friend): Change call to xref_friend. 10490: * cp-tree.h (xref_friend, xref_friends): Delete extern decls. 10491: 10492: * cp-tree.h (lang_type): Delete `dynamic' bit. 10493: * gplus.gperf (dynamic): Delete reserved word. 10494: * cp-hash.h: Generated a new version. 10495: * cp-lex.c (init_lex): Delete doing an unset of `dynamic'. 10496: * cp-parse.y (DYNAMIC): Delete token and setting it to %right. 10497: (new, aggr): Delete DYNAMIC rules. 10498: * cp-spew.c (init_spew, struct toks_follow_types): Delete DYNAMIC. 10499: 10500: * cp-typeck.c (convert_for_assignment): There's no standard 10501: conversion from a pointer to member to a `void *'. 10502: 10503: * cp-decl.c (init_decl_processing): Add builtins for 10504: __builtin_apply_args, __builtin_apply, and __builtin_return. 10505: 10506: Mon Jun 21 12:05:28 1993 Brendan Kehoe ([email protected]) 10507: 10508: * cp-decl2.c (grok_x_components): New function. Adjust the code that 10509: handles ENUMERAL_TYPEs and UNION_TYPEs to make more sense. 10510: * cp-parse.y (component_decl): Move a lot of code into that fn. 10511: * cp-tree.h (grok_x_components): Add extern decl. 10512: 10513: * cp-parse.y (component_decl_list): Don't warn about a semicolon 10514: after a component_decl_list. 10515: 10516: * cp-search.c (lookup_field): Be careful to handle operators 10517: properly when complaining about ambiguities &c. 10518: 10519: * cp-search.c (dfs_pushdecls): Make sure we have a context before 10520: seeing if it derives from TYPE. 10521: 10522: Fri Jun 18 08:14:11 1993 Brendan Kehoe ([email protected]) 10523: 10524: * cp-decl2.c (finish_anon_union): Use simple_cst_equal to find the 10525: member that can hold all the values, instead of just doing a compare 10526: between the DECL_SIZEs. 10527: 10528: Wed Jun 16 10:57:37 1993 Brendan Kehoe ([email protected]) 10529: 10530: * cp-typeck.c (build_unary_op): Make sure it's the global fn `main' 10531: before complaining about taking the address of it. 10532: 10533: * cp-decl.c (grokdeclarator): Also forbid `operator ()' as a 10534: non-member fn. 10535: 10536: * cp-decl.c (grok_reference_init): Don't allow an initializer list 10537: as the initializer for a reference. 10538: 10539: * cp-method.c (dump_init): Handle a NON_LVALUE_EXPR. 10540: 10541: Sun Jun 13 12:55:22 1993 Brendan Kehoe ([email protected]) 10542: 10543: * cp-decl.c (grokvardecl): Don't complain about duplicate 10544: definitions of `extern "C"' declarations (parallelize it with how 10545: regular `extern' decls are handled). 10546: 10547: * cp-decl.c (start_function): Avoid a null-reference on CTYPE. 10548: 10549: * cp-cvt.c (build_default_binary_type_conversion): Look deeper into 10550: what ARG1 and ARG2 are if they're POINTER_TYPEs. 10551: 10552: Thu Jun 10 12:09:17 1993 Brendan Kehoe ([email protected]) 10553: 10554: * cp-decl.c (grokdeclarator): Make the warning about opr-eq being a 10555: member function be a pedwarn. 10556: 10557: Thu Jun 10 00:30:08 1993 Mike Stump ([email protected]) 10558: 10559: * cp-tree.h: (previous_class_type): Add external declaration. 10560: * cp-class.c (prev_class_type): Rename to previous_class_type. 10561: * cp-decl.c (struct saved_scope): Add previous_class_type slot. 10562: * cp-decl.c (push_to_top_level, pop_from_top_level): Track 10563: previous_class_type value. The only trick is that we have to call 10564: popclass(-1) when we have a previous_class_type that we are about to 10565: destroy, to keep things in sync. 10566: 10567: Tue Jun 8 16:48:49 1993 Mike Stump ([email protected]) 10568: 10569: * cp-cvt.c (build_thunk, convert_fn_ptr): New routines to handle 10570: thunks. 10571: * cp-cvt.c (cp_convert_to_pointer): Use convert_fn_ptr when 10572: converting non-static pointer to members. 10573: 10574: Tue Jun 8 16:41:59 1993 Brendan Kehoe ([email protected]) 10575: 10576: * cp-lex.c (reinit_parse_for_block): Make sure not to try to use 10577: consume_string on an escaped double-quote. 10578: 10579: Tue Jun 8 16:25:43 1993 Mike Stump ([email protected]) 10580: 10581: * cp-call.c (build_method_call): Don't search hidden functions from 10582: base classes, as this violates chapter 10. 10583: 10584: Mon Jun 7 18:46:01 1993 Brendan Kehoe ([email protected]) 10585: 10586: * cp-init.c (emit_base_init): Rewrite, merging the two paths into 10587: one for member initialization. Now members will be initialized in 10588: order of declaration, not in the order of the mem-initializer list. 10589: (perform_member_init, sort_member_init): New functions. 10590: 10591: Mon Jun 7 18:01:31 1993 Mike Stump ([email protected]) 10592: 10593: * cp-search.c (is_subobject_of_p, lookup_field, lookup_fnfields): 10594: Because virtual bases don't necessarily share the same binfo, use 10595: the binfo hierarchy of TYPE_BINFO of any virtual bases, when 10596: performing hiding checks. Fixes problem introduced on Thu Mar 25 10597: 23:09:27 1993. The symptom is the compiler reports non ambiguous 10598: members as being ambiguous. 10599: 10600: Sun Jun 6 11:45:44 1993 Michael Tiemann ([email protected]) 10601: 10602: * cp-call.c (EVIL,TRIVIAL): New macros. 10603: (convert_harshness): Use these macros. 10604: 10605: Sat Jun 5 19:06:13 1993 Michael Tiemann ([email protected]) 10606: 10607: * cp-init.c (emit_base_init): Make clearing BINFO_BASEINIT_MARKED 10608: symmetric with its setting. Fixes p2825. 10609: 10610: Thu Jun 3 16:24:30 1993 Brendan Kehoe ([email protected]) 10611: 10612: * cp-parse.y (component_declarator, component_declarator0): 10613: Allow attribute after nameless field. 10614: 10615: * cp-lex.c (real_yylex): Take care to expand token_buffer before 10616: storing each character. 10617: 10618: * cp-lex.c (real_yylex): If an integer value overflows so the high 10619: word is negative, it's of unsigned long long type. Integer constant 10620: is unsigned for purposes of int_fits_type_p so that it compares huge 10621: constants properly. Warn about integers so large that they are 10622: unsigned. 10623: 10624: * cp-cvt.c (convert_from_reference): Do an or-equals on setting 10625: TREE_SIDE_EFFECTS for NVAL. 10626: * cp-tree.c (lvalue_p): For a SAVE_EXPR, check its first argument. 10627: 10628: Thu Jun 3 11:34:35 1993 Brendan Kehoe ([email protected]) 10629: 10630: * cp-decl2.c (grok_alignof): New function. 10631: * cp-parse.y (unary_expr, ALIGNOF unary_expr rule): Move the code 10632: into the new function, to reduce the size of the parser. 10633: * cp-tree.h (grok_alignof): Add prototype. 10634: 10635: * cp-decl.c (grokdeclarator): Allow function-call notation for 10636: initialization of scalars as well as aggregates. 10637: 10638: * cp-decl.c (pushdecl): Don't pay attention to friends when noting a 10639: missing `static' decl. Disable this code for now. 10640: 10641: Wed Jun 2 12:23:05 1993 Brendan Kehoe ([email protected]) 10642: 10643: * cp-decl.c (duplicate_decls): Do a regular error if the line number 10644: on NEWDECL hasn't been set yet (e.g., before finish_struct). 10645: 10646: * cp-class.c (finish_struct): Remove warning about a bit-field 10647: having a bad type in ANSI C++, it's not appropriate given the 10648: warning immediately above. 10649: 10650: * cp-typeck.c (require_instantiated_type): Don't allow an 10651: initializer list in an argument list. 10652: 10653: * cp-decl.c (pushdecl): Change shadowing of a param in outermost 10654: block of the fn from a pedwarn to an error, since it's a 10655: redeclaration. 10656: 10657: * cp-class.c (finish_struct): Say anonymous classes and structs are 10658: useless, not just classes. 10659: 10660: * cp-lex.c (real_yylex): Warn if catch, throw, or try are used as 10661: identifier names. 10662: 10663: * cp-decl.c (pushdecl): Make sure we have a CURRENT_FUNCTION_DECL 10664: before setting its public flag. 10665: 10666: * cp-decl.c (expand_static_init): Only complain about multiple 10667: initializations of a static variable if we actually have an 10668: initializer. 10669: (finish_decl): Likewise for const. 10670: 10671: * cp-search.c (build_mi_matrix): Fix off-by-one error in 10672: clearing of MI_MATRIX. 10673: (get_base_distance): Init NEW_BINFO to 0. 10674: 10675: * cp-pt.c (instantiate_member_templates): Initialize XXX to 0. 10676: 10677: * cp-call.c (build_method_call): Zero out candidates. 10678: (build_overload_call_real): Likewise. 10679: 10680: Wed Jun 2 11:53:24 1993 Mike Stump ([email protected]) 10681: 10682: * cp-search.c (lookup_fnfields_here): Use TYPE_MAIN_VARIANT on 10683: context types before comparing. Fixes const member functions not 10684: being found in templates. 10685: 10686: Tue Jun 1 18:26:18 1993 Brendan Kehoe ([email protected]) 10687: 10688: * cp-parse.y (structsp): Avoid a null-ref on ID. 10689: (left_curly): Likewise. 10690: 10691: Tue Jun 1 13:49:20 1993 Brendan Kehoe ([email protected]) 10692: 10693: * cp-decl.c (pushdecl): Communicate a `static' decl of a prototype 10694: into its definition, if they forget to take care of it. 10695: 10696: * cp-init.c (emit_base_init): Make error message more useful about 10697: insufficient initializers for a member of a class w/o a ctor. 10698: 10699: Sun May 30 09:45:06 1993 Michael Tiemann ([email protected]) 10700: 10701: * cp-call.c (compute_conversion_costs): Penalise each argument that 10702: matches an ellipsis, not just the ellipsis itself. 10703: (build_method_call): Don't consider a candidate an easy match if 10704: cp->ellipsis is non-zero (fixes p2778). 10705: 10706: Sat May 29 09:34:57 1993 Michael Tiemann ([email protected]) 10707: 10708: * cp-cvt.c (convert_to_reference): Match ARM rules more closely by: 10709: (1) not converting between types of different signedness, and 10710: (2) converting between types of different varieties if a const& 10711: suggests we can use a temporary (fixes p2780). 10712: 10713: * cp-decl.c (decls_match): Handle pseudo-match of parameter lists 10714: according to p308 of the ARM. 10715: (push_overloaded_decl): Ditto. 10716: * cp-typeck.c (comptypes): Rest of change (closes p2779). 10717: 10718: * cp-call.c (compute_conversion_costs): Count ellipses when we see 10719: them. 10720: (ideal_candidate): Gracefully handle arg lists that have ellipses 10721: (Fixes p2777). 10722: 10723: * cp-call.c (build_method_call): Delete some #ifdefs that are 10724: obsoleted by ANSI. 10725: 10726: Fri May 28 12:15:21 1993 Brendan Kehoe ([email protected]) 10727: 10728: * cp-decl.c (finish_decl): Don't allow overloaded operators to have 10729: default arguments. 10730: 10731: * cp-cvt.c (convert): If it's an anonymous enum, say so instead of 10732: giving the cryptic `._123' as the enum type. 10733: 10734: Thu May 27 10:52:49 1993 Brendan Kehoe ([email protected]) 10735: 10736: * cp-decl.c (grokdeclarator): Return 0 instead of doing a 155 abort, 10737: so we'll get the right error message later. 10738: 10739: * cp-type2.c (readonly_error): Give a more useful error when the arg 10740: is a RESULT_DECL. 10741: 10742: * cp-init.c (build_new): Set LOOKUP_COMPLAIN on the flags, so we'll 10743: pay attention to the visibility of the constructor we're trying to 10744: call. 10745: 10746: * toplev.c (lang_options): Add warning about ctor/dtor privacy. 10747: * cp-decl2.c (lang_decode_option): Grok it. Make -Wall effect it. 10748: (warn_ctor_dtor_privacy): New variable, default being on. 10749: * cp-tree.h (warn_ctor_dtor_privacy): Add extern decl. 10750: * cp-class.c (finish_struct_methods): Make the ctor warning 10751: conditionalized on the flag. 10752: (finish_struct): Likewise for ctors. 10753: * invoke.texi (Option Summary, Warning Options): Add it. 10754: (Options to Request or Suppress Warnings): Explain it. 10755: 10756: * cp-decl.c (grokdeclarator): Use a pedwarn on extern inline. 10757: 10758: Tue May 25 13:55:48 1993 Brendan Kehoe ([email protected]) 10759: 10760: * cp-init.c (build_delete): Don't pass the size as an argument to 10761: builtin delete for a non-aggregate type. Only pass it for a class 10762: when we'll be using its own operator delete(). (complies w/ $12.5) 10763: (build_x_delete): Don't pass the size down to builtin delete. 10764: 10765: * cp-decl2.c (delete_sanity): If it's a pointer to a type that has 10766: no destructor, then build a regular delete expression, instead of a 10767: vector one (since we didn't push any info into the BI_header_type 10768: area). 10769: 10770: * cp-decl2.c (grok_array_decl): Add a pedwarn if they do `5[a]'. 10771: 10772: * cp-typeck.c (comptypes): Don't warn about t2 being an 10773: error_mark_node. 10774: 10775: * cp-decl.c (finish_decl): If type is laid out, but decl is not, 10776: call layout_decl. 10777: 10778: Mon May 17 10:35:55 1993 Brendan Kehoe ([email protected]) 10779: 10780: * cp-tree.h (error_not_base_type): Add prototype. 10781: 10782: Fri May 14 17:16:55 1993 Mike Stump ([email protected]) 10783: 10784: * cp-class.c (finish_struct): Use get_binfo instead of binfo_value 10785: to find vfields. Cures compiler_error. 10786: 10787: Thu May 13 14:57:51 1993 Mike Stump ([email protected]) 10788: 10789: * cp-tree.c (binfo_value): If type is the main binfo for elem, 10790: return it. 10791: 10792: Wed May 12 13:10:07 1993 Brendan Kehoe ([email protected]) 10793: 10794: * cp-typeck.c (c_expand_return): Pedwarn on using return without a 10795: value in a function that requires one. Clear 10796: CURRENT_FUNCTION_RETURNS_NULL, so we don't get a bogus warning about 10797: reaching the end of a non-void function. 10798: 10799: Tue May 11 17:51:16 1993 Mike Stump ([email protected]) 10800: 10801: * cp-decl.c (start_decl): Allow -fexternal-templates compiled code to 10802: fall back to old strategy of generating static copies for templates 10803: that are not under the control of #pragma interface/implementation, 10804: but warn if this happens. 10805: * cp-decl2.c (warn_if_unknown_interface): Likewise. 10806: * cp-lex.c (reinit_parse_for_method, cons_up_default_function): 10807: Likewise. 10808: * cp-pt.c (end_template_decl, instantiate_member_templates, 10809: instantiate_template): Likewise. 10810: * cp-tree.h (warn_if_unknown_interface): Likewise. 10811: 10812: Sat May 8 05:53:17 1993 Michael Tiemann ([email protected]) 10813: 10814: * cp-decl.c (finish_decl): TOPLEV should be set non-zero also if we 10815: are at the pseudo-global level. Use TOPLEV instead of testing 10816: CURRENT_BINDING_LEVEL. 10817: 10818: Fri May 7 12:42:46 1993 Brendan Kehoe ([email protected]) 10819: 10820: * cp-decl2.c (grok_array_decl): New function. 10821: * cp-parse.y (primary): Use it instead of lots of code in the 10822: parser. 10823: * cp-tree.h (grok_array_decl): Add prototype. 10824: 10825: * cp-parse.y (component_decl): Disable change about TYPE_DECLs going 10826: into the TYPE_FIELDS list for now. 10827: * cp-type2.c (store_init_value): Disable checks for now. 10828: 10829: Thu May 6 16:59:19 1993 Brendan Kehoe ([email protected]) 10830: 10831: * cp-lex.c (check_newline): Use a while instead of a do-while to 10832: avoid reading the line after the #pragma if we're at a newline. 10833: 10834: Wed May 5 16:38:06 1993 Brendan Kehoe ([email protected]) 10835: 10836: * Makefile.in (stamp-cp-parse): Update reduce/reduce count to 13. 10837: 10838: * cp-decl2.c (delete_sanity): New function. 10839: * cp-parse.y (unary_expr): Call it, getting rid of a lot of 10840: repeated code in the parser. 10841: * cp-tree.h (delete_sanity): Add prototype. 10842: 10843: * cp-init.c (emit_base_init): Don't try to do anything with a member 10844: that lacks a DECL_NAME (e.g., types we added in component_decl from 10845: the parser). 10846: 10847: Wed May 5 12:57:33 1993 Jim Wilson ([email protected]) 10848: 10849: * cp-parse.y (get_current_declspecs): Obsolete, deleted. 10850: 10851: Tue May 4 13:46:09 1993 Brendan Kehoe ([email protected]) 10852: 10853: * cp-type2.c (process_init_constructor): Don't check for private or 10854: protected members; we do that in store_init_value now. 10855: 10856: * cp-parse.y (simple_stmt): Use expr_no_commas instead of expr for 10857: case labels. 10858: 10859: * cp-typeck.c (build_binary_op_nodefault): Add 'right' and 'left' to 10860: shift count warnings to distinguish them from each other. 10861: 10862: * cp-decl.c (finish_decl, grokdeclarator): Report overflows in 10863: storage sizes. 10864: (build_enumerator): Report overflows on enumerators. 10865: * cp-decl2.c (grokbitfield): Likewise. 10866: * cp-parse.y (unary_expr): Warn about overflows in parser-built 10867: unary expressions. 10868: * cp-typeck.c (c_sizeof): Call force_fit_type only for INTEGER_CST. 10869: (build_c_cast): Ignore any integer overflow caused by a cast. 10870: (convert_for_assignment): Warn if source had overflow in folding. 10871: (build_conditional_expr): Check conversions in if-then-else 10872: expressions. 10873: * cp-tree.h (convert_and_check, overflow_warning, 10874: unsigned_conversion_warning): Add prototypes for fns in c-common.c. 10875: 10876: * cp-decl.c (init_decl_processing): Make the arrays 200 long to 10877: leave enough room for most names. 10878: 10879: * cp-decl.c (lookup_label): Return a NULL_TREE if not within a 10880: function. 10881: * cp-parse.y (unary_expr, ANDAND identifier): Handle lookup_label 10882: returning a NULL_TREE. 10883: 10884: * cp-method.c (dump_init): Grok a FIELD_DECL as well. 10885: 10886: * cp-decl.c (finish_function): Move setting of the DECL_RESULT's 10887: context and calling setjmp_protect after poplevel, so we have a 10888: valid DECL_INITIAL for the fndecl (not an error_mark_node). 10889: 10890: Mon Jan 25 11:04:23 1993 Niklas Hallqvist (niklas at della.appli.se) 10891: 10892: * cp-parse.y (component_decl): Handle anonymous unions as static 10893: class members. 10894: * cp-decl.c (grokdeclarator): Ditto. 10895: 10896: * cp-decl.c (shadow_tag): Emit error message if static or extern 10897: is specified as per ARM 7.1.1. 10898: 10899: * cp-decl2.c (finish_anon_union): Issue error if a global 10900: anonymous union is not declared static, remove old funny error 10901: about some optimizer failing. 10902: 10903: * cp-class.c (finish_struct): Corrected error message concerning 10904: anonymous classes. 10905: 10906: * cp-lex.c (check_for_missing_semicolon): Allow trailing storage 10907: specifiers. 10908: 10909: Fri Jan 29 09:39:17 1993 Niklas Hallqvist (niklas at della) 10910: 10911: * cp-parse.y (component_decl): Nested unions, enums and structs 10912: should have their TYPE_DECLs in the TYPE_FIELDS slot of the 10913: containing type so the access flags eventually will get correctly 10914: set. 10915: 10916: * cp-type2.c (store_init_value): Check for the aggregate conditions 10917: described in ARM 8.4.1. 10918: 10919: Mon May 3 19:10:28 1993 Brendan Kehoe ([email protected]) 10920: 10921: * cp-lex.c (real_yylex): Don't warn about floating point out of 10922: range if target floating-point format is IEEE. 10923: 10924: * cp-class.c (finish_struct): Promote unsigned bitfields to signed 10925: int if the field isn't as wide as an int. 10926: 10927: * cp-search.c (dfs_pushdecls): Use warning_with_decl, so we give the 10928: line number of the offending method declaration, rather than the 10929: line number of the curly-brace that ends the class definition. 10930: 10931: Mon May 3 18:04:15 1993 Brendan Kehoe ([email protected]) 10932: 10933: * cp-cvt.c (convert): When doing int->enum conversions, always call 10934: pedwarn, even if we didn't give `-pedantic'. 10935: 10936: * cp-decl.c (start_function): Add extern decl of 10937: `flag_external_templates'. 10938: 10939: * cp-lex.c (check_newline): Warn if there's anything after a 10940: `#pragma interface'. 10941: 10942: Mon May 3 12:39:49 1993 Brendan Kehoe ([email protected]) 10943: 10944: * cp-class.c (finish_struct_methods): Use `warning' on a class w/ a 10945: private dtor and no friends, so the line number comes out right. Also 10946: only emit this warning when `extra_warnings' is true. 10947: 10948: * cp-type2.c (process_init_constructor): Don't allow use of an 10949: initializer list for a class with private or protected members. 10950: 10951: Sat May 1 15:07:24 1993 Mike Stump ([email protected]) 10952: 10953: * cp-decl.c (start_decl, start_function): Add a new flag 10954: -fexternal-templates. Use flag_external_templates to determine when 10955: template definitions should be made externally visible and 10956: accessible. This permits non-exponential growth in object files 10957: that use templates. 10958: * cp-decl2.c (lang_f_options): Likewise. 10959: * cp-lex.c (reinit_parse_for_method, cons_up_default_function): 10960: Likewise. 10961: * cp-parse.y (template_instantiate_once): Likewise. 10962: * cp-pt.c (end_template_decl, instantiate_member_templates, 10963: instantiate_template, end_template_instantiation): Likewise. 10964: * toplev.c (lang_options): Likewise. 10965: 10966: Fri Apr 30 18:50:00 1993 Brendan Kehoe ([email protected]) 10967: 10968: * cp-spew.c (arbitrate_lookup): If the next character is a '[', then 10969: have the compiler assume it's an expression instead of a type. 10970: 10971: Fri Apr 30 14:39:28 1993 Mike Stump ([email protected]) 10972: 10973: * cp-class.c (maybe_fixup_vptrs): Use the VF_NORMAL_VALUE of the 10974: vfields to get the binfo to get the vtable, so that we may pick up 10975: the most derived version of the vtable. 10976: 10977: * cp-class.c (finish_base_struct): Always set the VF_NORMAL_VALUE so 10978: that maybe_fixup_vptrs can get the most derived vtable. 10979: 10980: Fri Jun 25 14:00:17 1993 Richard Stallman ([email protected]) 10981: 10982: * config.sub: Convert ...-sysvr4 into ...-sysv4. 10983: 10984: * config/m68k/news.h (CPP_PREDEFINES): Have two alternatives, 10985: one for motorola and one for not motorola. 10986: 10987: * config/m68k/tower-as.h, mot3300.h, m68kv4.h, hp320.h, amix.h: 10988: * config/m68k/3b1.h, crds.h (CPP_PREDEFINES): Add __motorola__. 10989: 10990: * expr.c (store_expr): If TARGET is volatile mem ref, return it. 10991: 10992: * toplev.c (lang_options): Add -fdollars-in-identifiers. 10993: * c-decl.c (c_decode_option): Handle -fdollars-in-identifiers. 10994: 10995: Fri Jun 25 13:33:39 1993 Jeffrey A. Law ([email protected]) 10996: 10997: * pa-hpux.h (LINK_SPEC): Search shared libraries by default; turn 10998: off shared library searching of -static is specified. 10999: * pa-ghpux.h (LINK_SPEC): Likewise. 11000: 11001: * pa.h (TARGET_SHARED_LIBS): Delete switch and all references to 11002: the switch. 11003: * pa.c: References to TARGET_SHARED_LIBS deleted. 11004: * pa.md: Likewise. 11005: 11006: * pa-utahmach.h (TARGET_DEFAULT): Allow indexing on Mach ports. 11007: * pa1-utahmach.h (TARGET_DEFAULT): Likewise. 11008: * pa.h (TARGET_DISABLE_INDEXING): Clean up comments. 11009: 11010: Fri Jun 25 00:50:48 1993 Richard Stallman ([email protected]) 11011: 11012: * expr.c (store_expr): Ignore SUGGEST_REG if target is volatile. 11013: 11014: * config/mips/mips.md (negdi2, negdi2_internal): Renamed from negdi3... 11015: 11016: Thu Jun 24 00:31:27 1993 Richard Stallman ([email protected]) 11017: 11018: * gcc.c (option_map): Make --version alias for -dumpversion. 11019: 11020: Wed Jun 23 07:50:21 1993 Richard Kenner ([email protected]) 11021: 11022: * romp.c (output_prologue): Delete unused var, INSN. 11023: (output_encoded_offset): New function. 11024: (output_epilogue): Minor changes to traceback table; call 11025: new output_encoded_offset. 11026: (romp_debugger_{auto,arg}_correction): New functions. 11027: * romp.h (DBX_REGPARM_STABS_LETTER, DEBUGGER_{AUTO,ARG}_OFFSET): 11028: New macros. 11029: 11030: * reorg.c (fill_slots_from_thread): When replacing a use of a 11031: register with what it was set to, don't do it when either the 11032: destination or source of the copy is set in the insn. 11033: 11034: * jump.c (jump_optimize): Properly make jump into store-flag 11035: sequence when the jump can't be reversed but the TRUE branch 11036: is const0_rtx. 11037: 11038: * expr.c (expand_expr): Set IGNORE if target is const0_rtx or 11039: result type is VOID. 11040: Move most IGNORE processing to one place to avoid expanding things 11041: that don't need to be expanded. 11042: (expand_expr, case CONSTRUCTOR, case COND_EXPR): If IGNORE, don't 11043: expand anything we don't have to. 11044: (expand_expr, case CONVERT_EXPR): Don't deal with IGNORE here. 11045: 11046: Wed Jun 23 07:47:32 1993 John F Carr ([email protected]) 11047: 11048: * regs.h (scratch_list, scratch_block, scratch_list_length): New vars. 11049: * reload1.c (mark_scratch_live): New function. 11050: (reload): Call it on each SCRATCH. 11051: Free scratch list and block. 11052: (spill_hard_reg): Reallocate any SCRATCH whose register we want to 11053: spill. 11054: * local-alloc.c (scratch_block, scratch_list{,_length}, scratch_index): 11055: New variables. 11056: (local_alloc): Allocate and initialize them. 11057: (alloc_qty_for_scratch): Can allocate likely-spilled register 11058: classes for SCRATCH. 11059: (block_alloc): Likewise for regs in small register classes. 11060: Only allocate a SCRATCH if it can fit in the block we make. 11061: Don't mark regs used in SCRATCH live here; instead, make entry in 11062: new tables. 11063: 11064: Tue Jun 22 19:52:08 1993 Richard Stallman ([email protected]) 11065: 11066: * emit-rtl.c (copy_rtx_if_shared): In `E' case, get the length 11067: before copying, and don't get it again after. 11068: 11069: Tue Jun 22 10:50:56 1993 Brendan Kehoe ([email protected]) 11070: 11071: * toplev.c (report_error_function): Change format of the 11072: included-file stack to be more readable. 11073: * cccp.c (print_containing_files): Likewise. 11074: 11075: Mon Jun 21 19:21:18 1993 Richard Kenner ([email protected]) 11076: 11077: * rs6000.c (print_operand, case 'J'): Write out shift count 11078: of 0, not 32 for bit 31 of CCR. 11079: 11080: See ChangeLog.7 for earlier changes.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.