|
|
1.1 root 1: Sat Feb 22 02:09:55 1992 Richard Stallman ([email protected]) 2: 3: * Version 2.0 released. 4: 5: * gcc.c (do_spec_1): Handle SPACE_AFTER_L_OPTION. 6: * hp320.h (SPACE_AFTER_L_OPTION): Defined. 7: Note: for 2.1, try making a space there on all systems. 8: 9: * i386mach.h (perform_*): New macros, copied from i386rose.h. 10: 11: * Makefile.in (distclean): New target. 12: (realclean): Avoid duplication with self or with distclean. 13: (gcc.xtar.Z): Depend on gcc.xtar. 14: (gcc.xtar): Fixes in copying files. 15: 16: * expr.c (do_store_flag): Don't correct CODE before where it is set. 17: 18: * cp-parse.y (stmt): Pass pushcase_range all the args it wants. 19: 20: Fri Feb 21 18:14:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 21: 22: * combine.c (distribute_notes): Correctly handle the case of a 23: REG_DEAD note for a multi-word hard register when not all of 24: the words are used. 25: 26: Fri Feb 21 16:47:32 1992 Michael Meissner ([email protected]) 27: 28: * mips.h (MIPS_VERSION): Change Meissner version # to 12. 29: (half_pic support): Move the halfpic support to halfpic.h which is 30: included in the decrose case, and nop the support in other MIPS 31: platforms. 32: (OPTIMIZATION_OPTIONS): Move setting caller-saves to -O2. 33: (OBJECT_FORMAT_COFF, EXTENDED_COFF): Define unless OSF/rose. 34: (INITIAL_FRAME_POINTER_OFFSET): Always recalculate the frame size, 35: don't rely on cached values. 36: 37: * mips.c (half_pic support): Move the halfpic support to halfpic.c, 38: which is only compiled for OSF/rose. 39: (expand_block_move): Use copy_addr_to_reg instead of copy_to_reg in 40: case either the source or destination is an integer constant 41: converted to an appropriate pointer type. 42: (mips_debugger_offset): Use a local variable to hold function 43: result. 44: 45: * decrose.h (toplevel): Include halfpic.h for halfpic support. 46: (PTRDIFF_TYPE): Change to 'int' to match current include files. 47: (WCHAR_TYPE): Change to 'unsigned int' to match include files. 48: (INIT_SECTION_ASM_OP): Delete, since the OSF/rose assembler doesn't 49: support a true initialization section. 50: 51: * encrose.h (PTRDIFF_TYPE): Change to 'int' to match current include 52: files. 53: (WCHAR_TYPE): Change to 'unsigned int' to match include files. 54: 55: * t-decrose (EXTRA_OBJS): Define as halfpic.o to provide halfpic 56: support. 57: (CONFIG2_H): Treat halfpic.h as another config file. 58: (halfpic.o): Add dependencies. 59: 60: * halfpic.h (new file): Common include file for systems needing the 61: OSF/rose half-pic shared library support. 62: 63: * halfpic.c (new file): Common support file for systems needing the 64: OSF/rose half-pic shared library support. Currently these are stub 65: functions. 66: 67: Fri Feb 21 01:34:08 1992 Richard Stallman ([email protected]) 68: 69: * dwarfout.c (location_or_const_value_attribute): Use DECL_RTL again. 70: Seems to be safer for the moment. 71: * function.c (instantiate_decls): Don't instantiate DECL_INCOMING_RTL. 72: 73: * dwarfout.c (output_mem_loc_descriptor): Handle CONST like SYMBOL_REF. 74: 75: * collect2.c (errno): Declare if not macro. 76: 77: * dbxout.c [MIPS]: Include gstab.h, not stab.h. 78: 79: * dbxout.c (dbxout_symbol): No longer flush leading _ for C++ syms. 80: 81: * cp-parse.y (.hush_warning): Set $$. 82: 83: * gstdarg.h: Handle _HIDDEN_VA_LIST as in gvarargs.h. 84: 85: Thu Feb 20 07:41:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 86: 87: * vax.c (reg_or_nxmem_operand): New function. 88: (split_quadword_operands): Add missing return type (void). 89: * vax.md (jlbc/jbc/jlbs/jbs): Handle QImode operands properly. 90: 91: * caller-save.c (set_reg_live): Use mode of SUBREG to see how many 92: hard regs are written. 93: 94: * combine.c (simplify_shift_const, case IOR, AND, XOR): Perform 95: logic computation in RESULT_MODE, not mode of VAROP. 96: 97: Wed Feb 19 18:32:05 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 98: 99: * hp320.h (PRINT_OPERAND): Support codes '$' and '&'. 100: 101: * reload1.c (reload): Add cast of enum in index. 102: 103: * vms.h (CPP_PREDEFINES): Define __GNUC__ as 2. 104: 105: Wed Feb 19 21:43:36 1992 Ron Guilmette (rfg at ncd.com) 106: 107: * dwarfout.c (output_mem_loc_descriptor): Deleted useless blank line. 108: (output_mem_loc_descriptor) Added code to handle CONSTs in DECL_RTL 109: expressions. 110: (dwarfout_finish): Added code to put a null string at the end of 111: the terminating .debug_macinfo section. 112: 113: Tue Feb 18 18:34:13 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 114: 115: * cccp.c (main): Fix typo in comment or spacing. 116: * dbxout.c (dbxout_block): Likewise. 117: * expr.c (convert_move): Likewise. 118: * reload1.c (emit_reload_insn): Likewise. 119: * rtl.h (REG_NOTES): Likewise. 120: * sun4o3.h: Likewise. 121: * ultrix.h (CPP_PREDEFINES): Likewise. 122: * toplev.c (flag_no_common): Likewise. 123: * stmt.c (layout_type): Likewise. 124: * gcc.c (is_linker_dir, lookup_compiler): Likewise. 125: 126: * sched.c (schedule_block): Comment code handling USE insns as 127: obsolete. 128: 129: Tue Feb 18 14:44:49 1992 Richard Stallman ([email protected]) 130: 131: * c++: Run gcc in same dir as c++ was in, if exists there. 132: Use `exec' to run it. 133: New var `havefiles'; special message if no input files specified. 134: Pass through any unrecognized options. 135: 136: * g++: Now a link to c++. 137: 138: Tue Feb 18 04:54:52 1992 david d [zoo] zuhn (zoo at lynx.spa.umn.edu) 139: 140: * protoize.c (main): added support for -p flag, to specify which 141: gcc is the one to call for -fgen-aux-info support. 142: 143: Tue Feb 18 07:29:23 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 144: 145: * combine.c (try_combine): Don't clobber OTHER_INSN's PATTERN if 146: we aren't able to change the insn. 147: 148: * romp.md (bit_insv): Add missing CLOBBER when making pattern to 149: match mftb; likewise for the DEFINE_INSN. 150: 151: Tue Feb 18 01:03:41 1992 Richard Stallman ([email protected]) 152: 153: * rs6000.h (bss_section): Set `in_section' correctly. 154: 155: * expmed.c (synth_mult): Count second shift for alg_compound. 156: Count extra shift for lea case. 157: * m68k.h (RTX_COSTS): Reduce cost of multiply. 158: 159: * function.c (instantiate_decls): Instantiate DECL_INCOMING_RTL. 160: 161: Mon Feb 17 19:17:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 162: 163: * a29k.md (divmodsi4, udivmodsi4): Don't use reg 180 explicitly. 164: Instead use 'q' constraint letter. 165: 166: Mon Feb 17 16:15:02 1992 Richard Stallman ([email protected]) 167: 168: * global-alloc.c (global_alloc): Always call `reload'. 169: 170: Mon Feb 17 10:38:38 1992 Jim Wilson (wilson at sphagnum.cygnus.com) 171: 172: * a29k.md (movdi define_split): Use DImode in operand_subword 173: calls, not DFmode. 174: 175: Mon Feb 17 08:20:33 1992 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 176: 177: * varasm.c (assemble_external): Check that DECL is some sort of 178: _DECL before referencing its DECL_RTL. 179: 180: Sun Feb 16 13:05:36 1992 Michael Tiemann (tiemann at cygnus.com) 181: 182: * cp-call.c (build_method_call): Add call to `assemble_external' in 183: case this is the first use of FUNCTION. 184: * cp-class.c (build_vfn_ref): Ditto for VTBL. 185: * cp-decl2.c (write_vtable_entries): Ditto for FN. 186: * cp-init.c (build_offset_ref): Ditto for T. 187: * cp-typeck.c (build_function_call_real): Ditto for FUNCTION. 188: * cp-method.c (hack_identifier): Ditto for VALUE. Also remove 189: action that made call to `assemble_external' when !TREE_USED (VALUE). 190: 191: * cp-lex.c (do_identifier): Remove call to `assemble_external' when 192: implicitly declaring ID. 193: 194: * cp-parse.y (primary): Simplify rules for calling assemble_external. 195: 196: * cp-decl.c (finish_function): For destructors, don't call 197: expand_expr_stmt if EXPRSTMT is VOID_ZERO_NODE. 198: 199: Sun Dec 16 23:31:54 1992 Ron Guilmette (rfg at ncd.com) 200: 201: * dwarfout.c (fundamental_type_code): Deleted gunk for handling 202: OFFSET_TYPEs. (They are *not* fundamental types). 203: (fundamental_type_code): Fixed typo. 204: (location_attribute, const_value_attribute): Changed to take one 205: rtx parameter rather than one tree parameter. 206: (location_or_const_value_attribute): Changed to use DECL_INCOMING_RTL 207: rather than DECL_RTL for formal parameters. Also changed calls to 208: location_attribute and const_value_attribute to provide the rtl 209: parameter. 210: (fund_type_attribute): Changed to accept an actual fundamental type 211: code as a parameter directly. Also changed all calls correspondingly. 212: (type_attribute): Separated tests for ERROR_MARK and for VOID_TYPE 213: and added comments. 214: (output_unspecified_parameters_die): Changed to take one tree param 215: and to generate *both* an AT_name and an AT_type attribute when the 216: input parameter represents of function definition. Also adjusted 217: all calls correspondingly. 218: 219: Sun Feb 16 00:54:10 1992 Richard Stallman ([email protected]) 220: 221: * fixincludes: Add #ifndef around size_t declaration in types.h. 222: 223: * varasm.c (assemble_external): Do nothing if arg isn't a decl. 224: 225: * Makefile.in (cp-parse.c): Update "expect" msg. 226: 227: * next.h (CPP_SPEC): Rename -bsd to -strict-bsd. 228: 229: * Makefile.in (mostlyclean): Add ld, mips-tfile, mips-tdump. 230: 231: * protoize.c (directory_specified_p): Don't match files in subdirs. 232: 233: * xm-rs6k-m.h: Renamed from xm-rs6000-mach.h. 234: * configure (rs6000-*-mach*): Changed accordingly. 235: 236: * collect2.c (handler): No error msg here. Just resend signal. 237: (write_c_file): Arg to write_list... is pointer. 238: (do_wait): Fix typo. 239: (scan_prog_file for non-OSF): Preserve all underscores. 240: 241: * Makefile.in (install-collect2): Install gcc in libsubdir. 242: 243: Sat Feb 15 15:26:03 1992 Richard Stallman ([email protected]) 244: 245: * varasm.c (decode_reg_name): Empty string is not a reg number. 246: 247: * fold-const.c (merge_component_references): NE tests against 248: mismatched constants forces 1, not 0, as value. 249: 250: * i386gas.h (ASM_OUTPUT_OPCODE): Convert repz to repe. 251: 252: * collect2.c: Get rid of PROTO macro; use non-prototype decls. 253: Don't include gstddef.h (had conflicts). Use gstdarg.h, not stdarg.h. 254: (xcalloc, xmalloc): Add casts. 255: (do_wait): Avoid macros WTERMSIG, WEXITSTATUS missing on some machines. 256: 257: * cp-typeck.c (default_conversion): Don't use initial value if BLKmode. 258: 259: * objc-actions.c (finish_objc): Fix typos in last change. 260: 261: * c-aux-info.c, dbxout.c, cccp.c (errno): Declare, if not a macro. 262: 263: * i386.md (QI bit test recognizer): Split into separate patterns 264: for memory and register args. Make a scratch reg for memory. 265: 266: Fri Feb 14 23:39:58 1992 Richard Stallman ([email protected]) 267: 268: * tree.c (get_identifier): Improve -Wid-clash message. 269: 270: Fri Feb 14 16:22:48 1992 Michael Collison (collison at osf.org) 271: 272: * i386rose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and 273: LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. 274: (INIT_SECTION_ASM_OP): Define as .init. 275: (CC1PLUS_SPEC): Define it. 276: (LINK_LIBGCC_SPECIAL): Define this to work around linker bug. 277: 278: Fri Feb 14 00:38:15 1992 Richard Stallman ([email protected]) 279: 280: * Makefile.in (protoize.o, unprotoize.o): g++-include is under libdir. 281: 282: * Makefile.in (enquire.o): Make the command one long line. 283: 284: * gcc.c (do_spec_1): Omit relative prefixes from -L'ing 285: only if RELATIVE_PREFIX_NOT_LINKDIR is defined. 286: * rs6000.h (RELATIVE_PREFIX_NOT_LINKDIR): Defined. 287: 288: * varasm.c (assemble_external): Test TREE_EXTERNAL. 289: 290: * jump.c (follow_jumps): If can't find chain end, return orig label 291: 292: * mot3300.h (PRINT_OPERAND): Always print 16 hex digits for a double. 293: 294: * objc-actions.c (build_module_descriptor) [NEXT_OBJC_RUNTIME]: Ret 0. 295: (finish_objc): Value 0 from build_module_descriptor means no ctor. 296: When referencing a class_name symbol, don't output a .globl for it. 297: (finish_objc): Put artificial refs in text section. 298: 299: * cccp.c (pedwarn_with_file_and_line): Handle -w, -W. 300: 301: Fri Feb 14 07:44:08 1992 James Van Artsdalen (james at bigtex.cactus.org) 302: 303: * i386.c (notice_update_cc): sCOND opcodes don't change the flags. 304: Don't record test or compares involving stack-like regs, since 305: final can't omits tests or compares involving such regs correctly. 306: 307: * i386.c (seq,sne,beq,bne): These opcodes use the state of 308: cc_status from before the curren insn. 309: 310: * reg-stack.c (stack_reg_mentioned_p): Don't make static. 311: 312: Fri Feb 14 06:27:48 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 313: 314: * jump.c (jump_optimize): Disable "if (...) {... x = C;} if (x) ..." 315: optimization; there doesn't seem to be a way to fix it. 316: 317: Thu Feb 13 18:06:06 1992 James Van Artsdalen (james at bigtex.cactus.org) 318: 319: * seq386.h (ASM_OUTPUT_OPCODE): New macro. Change "movs" into 320: "smov" at the start of a string move mnemonic - Sequent as(1) 321: doesn't handle the former. 322: 323: Thu Feb 13 17:21:26 1992 Richard Stallman ([email protected]) 324: 325: * c-decl.c (finish_struct): Use pedwarn for pedantic warning. 326: (grokdeclarator): Likewise. 327: * c-parse.y (component_decl_list2): Likewise. 328: 329: Thu Feb 13 22:11:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 330: 331: * combine.c (make_extraction): Default modes to byte and register 332: size, as appopriate, when the bitfield insn doesn't exist. 333: 334: * a29kunix.h (LINK_SPEC): Pass default option file to gld. 335: (LINK_LIBGCC_SPECIAL): Define to work around gld bug. 336: 337: * explow.c (copy_to_suggested_reg): Try getting mode from TARGET. 338: 339: * rs6000.h (ASM_FILE_END): New macro. 340: (EXTRA_SECTIONS): New section read_only_private_data. 341: (EXTRA_SECTION_FUNCTIONS): New function read_only_private_data_section. 342: (SELECT_RTX_SECTION): Always make non-toc data private, read-only. 343: (SELECT_SECTION): Put read-only data in appropriate sections. 344: 345: * jump.c (jump_optimize): Place branch in correct place when 346: optimizing "if (...) {... x = C;} if (x) ...". 347: (redirect_jump): Ensure jump's UID is within range of jump chain. 348: 349: * a29k.c (output_prologue): Correctly set LR1 when more than 64 350: registers are needed. 351: 352: Wed Feb 12 22:22:46 1992 (Eric Youngdale at [email protected]) 353: 354: * make-cccp.com: Define link as a local symbol to avoid 355: possible conflict with a user defined global symbol. 356: 357: * make-cc1.com: Likewise. 358: 359: Thu Feb 13 11:05:07 1992 Michael Meissner (meissner at osf.org) 360: 361: * mips.c (make_temp_file): Store created filename into a static 362: file-scope variable, not an auto. 363: (mips_asm_file_end): Use the appropriate filename in printing 364: errors. 365: 366: Thu Feb 13 01:15:00 1992 Richard Stallman ([email protected]) 367: 368: * cccp.c (skip_if_group): Skip comments after the #. 369: 370: * cccp.c (macarg): Don't assume stringify will compress spaces. 371: (macroexpand): In stringify, compress space only outside tokens. 372: 373: * cexp.y (exp1): Use pedwarn for comma in #if. 374: 375: * cp-decl.c (push_binding_level, pop_binding_level): 376: Change `inline' to `__inline'. 377: 378: * combine.c (make_compound_operation): Undo previous change. 379: 380: Wed Feb 12 18:47:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 381: 382: * function.c (instantiate_virtual_regs_1, case IF_THEN_ELSE): 383: Don't special case; allow all operands to be processed. The last 384: two operands are nontrivial on the Vax. 385: 386: Wed Feb 12 18:58:48 1992 Richard Stallman ([email protected]) 387: 388: * gcc.c (do_spec_1): Only absolute prefixes turn into -L's. 389: (link_command_spec): Handle LINK_LIBGCC_SPECIAL. 390: 391: Wed Feb 12 18:38:29 1992 Chris Smith (csmith at convex.com) 392: 393: * convex.h (DEFAULT_CALLER_SAVES): define again, bug is fixed. 394: * convex.h (BRANCH_COST): Define as 0, so we won't use complex 395: alternatives to branches (whose expansions contain branches 396: on convex). 397: 398: Wed Feb 12 17:23:57 1992 Richard Stallman ([email protected]) 399: 400: * config.sub: Accept just `hppa' for machine. 401: 402: * Makefile.in (Install-collect2): New target. 403: 404: Wed Feb 12 13:55:24 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 405: 406: * reorg.c (relax_delay_slots): Don't convert jump to return here. 407: 408: * configure (a29k-ultra-*): Deleted. 409: (a29k-*-bsd*): Merged with a29k-ultra-*. 410: (romp-*-mach*): Fixed typo in xmake_file name. 411: * xm-a29kunix.h: Renamed from xm-a29k-ult.h. 412: * x-a29kunix: New file. 413: 414: * reload.c (find_reloads): Don't use class from preference if it 415: is a single-register class. 416: 417: Wed Feb 12 13:03:16 1992 Tom Wood (wood at dg-rtp.dg.com) 418: 419: * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN): Pack code tightly 420: when compiling crtstuff.c (flag_inhibit_size_directive). 421: 422: Wed Feb 12 10:34:09 1992 Michael Meissner (meissner at osf.org) 423: 424: * decrose.h (*_SPEC): Compress some whitespace in the specs. Also, 425: simpify which LANGUAGE_xxx names are defined, to be the ones uses by 426: the system(s). 427: * decstatn.h (*_SPEC): Likewise. 428: * iris.h (*_SPEC): Likewise. 429: * mips.h (*_SPEC): Likewise. 430: * mips-bsd.h (*_SPEC): Likewise. 431: * mips-news.h (*_SPEC): Likewise. 432: * mips-sysv.h (*_SPEC): Likewise. 433: 434: Wed Feb 12 10:34:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 435: 436: * caller-save.c (insert_save_restore): Properly check for insns that 437: reference CC0. 438: 439: Wed Feb 12 03:17:00 1992 Chris Smith (csmith at convex.com) 440: 441: * convex.h (DEFAULT_CALLER_SAVES): don't define, to sidestep a bug. 442: * convex.md (ffssi2): Comment out. 443: 444: Wed Feb 12 00:08:42 1992 (Eric Youngdale at [email protected]) 445: 446: * make-libgcc2.com: Do not save .s file. 447: 448: * vms.h: Wrap #include <stdio.h> in #ifdef L__main/endif 449: 450: Tue Feb 11 21:58:42 1992 (Eric Youngdale at [email protected]) 451: 452: * libgcc2.c (DO_GLOBAL_DTORS_BODY): New macro. 453: 454: * make-l2.com: New file to build libgcc2 on VMS. 455: 456: * vms.h (DO_GLOBAL_CTORS_BODY): Replacement definition. 457: 458: * vms.h (DO_GLOBAL_DTORS_BODY): Likewise. 459: 460: * make-cccp.com: Define bison and rename as local symbols to avoid 461: possible conflict with user defined global symbols. 462: 463: Tue Feb 11 22:17:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 464: 465: * sched.c (attach_deaths): Don't treat PIC offset table register 466: specially; flow.c doesn't. 467: 468: * combine.c (make_compound_operation, case AND): We can have 469: a (and (subreg (lshiftrt ..) ..) ..); handle same as without SUBREG. 470: 471: * Makefile.in (HOST_CLIB, HOST_ALLOCA, HOST_MALLOC, HOST_OBSTACK): New 472: variables to override. 473: (USE_HOST_*, HOST_LIBDEPS): Use HOST_PREFIX and new variables. 474: (HOST_LIBS): Use HOST_CLIB. 475: 476: Tue Feb 11 21:32:07 1992 Richard Stallman ([email protected]) 477: 478: * Makefile.in (install-common-headers): Copy byteorder.h to 479: compilation dir. 480: 481: * config.sub: Allow unicos as operating system. 482: 483: * m88kv4.h (INIT_SECTION_ASM_OP): Add #progbits. 484: 485: * vax.h (DYNAMIC_CHAIN_ADDRESS): New macro. 486: 487: * c++: Propagate quoted args properly. 488: 489: Tue Feb 11 16:35:01 1992 Jim Wilson (wilson at cygnus.com) 490: 491: * fixincludes: Define TERM to `unknown', to ensure that it is 492: valid. Otherwise, ex may fail. 493: * fixinc.svr4: Likewise. 494: 495: Tue Feb 11 18:04:32 1992 Michael Meissner (meissner at osf.org) 496: 497: * decrose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and 498: LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. 499: Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS. 500: * decstatn.h (CPP_SPEC): Likewise. 501: * iris.h (CPP_SPEC): Likewise. 502: * mips-bsd.h (CPP_SPEC): Likewise. 503: * mips-news.h (CPP_SPEC): Likewise. 504: * mips-sysv.h (CPP_SPEC): Likewise. 505: 506: * decstatn.h (CPP_PREDEFINES): Eliminate __<name> versions, since 507: gcc will do these automatically. Eliminate LANGUAGE_C, since it is 508: handled in CPP_SPEC. 509: 510: Tue Feb 11 15:38:27 1992 Richard Stallman ([email protected]) 511: 512: * flow.c (find_basic_blocks): Don't delete labels used in non-jumps. 513: 514: * vms.h (DO_GLOBAL_CTORS_BODY): Modify the return address 515: only the first time __main is called. 516: 517: * fixinc.svr4: Change headers to test __STRICT_ANSI__ instead of 518: testing __STDC__ != 0. 519: 520: * fixinc.svr4 (mman.h): Fix backward __STDC__ conditional. 521: Don't add declarations of munmap and mprotect. 522: 523: * varasm.c (output_constant): Allow empty constructor for any type. 524: 525: * dwarfout.c (ASM_OUTPUT_DWARF_DATA8): Just one definition; 526: test WORDS_BIG_ENDIAN "at run time". 527: 528: Tue Feb 11 09:00:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 529: 530: * reload.c (find_reloads): Don't substitute in MATCH_DUPs if we 531: are not generating replacements. 532: 533: Tue Feb 11 08:45:14 1992 Tom Wood (wood at dg-rtp.dg.com) 534: 535: * m88kv4.h ({CTORS,DTORS}_SECTION_ASM_OP): Fix typo. 536: 537: Mon Feb 10 22:34:47 1992 Chris Smith (csmith at convex.com) 538: 539: * convex.h(HARD_REGNO_NREGS): define correctly for 64-bit regs 540: 541: Mon Feb 10 21:50:23 1992 Michael Meissner (meissner at osf.org) 542: 543: * mips.h (MIPS_VERSION): Change Meissner version # to 11. 544: (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and 545: LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. 546: Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS. 547: (FP_DBX_FIRST): Change the test so that stabs in ECOFF uses the 548: value 38, in addition to stabs in GAS. 549: 550: * mips.md (all function units): Make the function units simpler, and 551: not depend on the cpu type, to work around a memory hungry 552: genattrtab, which attempts to grow the data segment to than 32 553: megabytes. 554: 555: Mon Feb 10 16:34:11 1992 Richard Stallman ([email protected]) 556: 557: * convex.h (REAL_VALUE_TRUNCATE): Obsolete definition deleted. 558: 559: * config.sub (convex-*): These are BSD, not sysv. 560: 561: * dbxout.c (have_used_extensions): New var. 562: (dbxout_type, dbxout_type_fields, dbxout_symbol): 563: Set have_used_extensions when use an extension. 564: (dbxout_symbol): Don't use `Tt' extension unless extensions 565: have been used. 566: 567: Mon Feb 10 12:28:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 568: 569: * xm-a29k-ult.h: Fix typo in placement of copyright notice. 570: 571: Mon Feb 10 05:36:45 1992 Richard Stallman ([email protected]) 572: 573: * dbxout.c (dbxout_type): Don't use GDB extensions if they are empty. 574: 575: Mon Feb 10 00:10:20 1992 Michael Tiemann (tiemann at cygnus.com) 576: 577: * cp-class.c (finish_struct): Use DECL_CHAIN, not TREE_CHAIN to walk 578: through the list of methods identified by a visibility declaration. 579: 580: * cp-cvt.c (convert_pointer_to): No longer need to abort if BINFO is 581: not a TREE_VEC or AGGR_TYPE node. 582: 583: * cp-parse.y (stmt): Improve error handling for try/except. 584: 585: * cp-class.c (add_method): If we create RTL for a copy of METHOD, 586: copy the RTL to METHOD's DECL_RTL slot. 587: 588: * cp-method.c (dump_type): Print `const' and/or `volatile' for 589: VOID_TYPE and REAL_TYPEs, too. 590: 591: Sun Feb 9 21:07:45 1992 Richard Stallman ([email protected]) 592: 593: * varasm.c (assemble_integer): Pass third arg in recursive calls. 594: Act appropriately if word-by-word loop doesn't finish. 595: 596: * Makefile.in (bootstrap*): Don't override value of ALLOCA. 597: 598: * dbxout.c (dbxout_symbol, dbxout_parms): Do leaf function remap 599: only if LEAF_REG_REMAP and only in leaf functions. 600: 601: Sun Feb 9 16:46:27 1992 Michael Tiemann (tiemann at cygnus.com) 602: 603: * cp-init.c (maybe_adjust_addr_for_delete): Build final COND_EXPR 604: with TREE_TYPE (addr). 605: 606: Sun Feb 9 14:20:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 607: 608: * rs6000.h (rs6000_{bss,private_data,read_only}_section_name): 609: Add declarations. 610: (rs6000_text_section_asm_op): Deleted. 611: (ASM_FILE_START): Initialize section names and enter bss section once. 612: (EXTRA_SECTIONS): Add `private_data' and `bss'; 613: delete `global_variable'.. 614: (read_only_data_section): Don't form name here. 615: (global_variable_section): Deleted. 616: (private_data_section, bss_section): New functions. 617: (ASM_DECLARE_FUNCTION_NAME): Don't write function name with [PR]. 618: (ASM_OUTPUT_POLL_PROLOGUE): No longer needed. 619: (SELECT_{RTX_,}SECTION): Just calls data_section or 620: private_data_section. 621: (ASM_OUTPUT_LOCAL): Put in bss section. 622: (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Now a constant. 623: * rs6000.c (rs6000_text_section_asm_op): Deleted. 624: (rs6000_{bss,private_data,read_only}_section_name): Add definitions. 625: (rs6000_gen_section_name): New function. 626: 627: Sun Feb 9 08:29:21 1992 James Van Artsdalen (james at bigtex.cactus.org) 628: 629: * i386.h (REGNO_REG_CLASS): Use a lookup table: AIX can't handle 630: complex tertiary expressions. 631: (GO_IF_LEGITIMATE_ADDRESS): Simplify slightly for the AIX 632: compiler. 633: 634: * i386.c (regclass_map): New variable. Lookup array for 635: REGNO_REG_CLASS. 636: 637: Sat Feb 8 01:20:33 1992 Richard Stallman ([email protected]) 638: 639: * cp-parse.y (yyprint): Test __GNUC__, not __GNU__. 640: Use __inline, like everywhere else. 641: 642: * a29k.h, romp.h (OVERRIDE_OPTIONS): Deleted. 643: (OPTIMIZATION_OPTIONS): Defined, instead. 644: * rs6000.h (OPTIMIZATION_OPTIONS): New macro. 645: (OVERRIDE_OPTIONS): Don't change optimization. 646: 647: * final.c (leaf_renumber_regs_insn): No longer static. 648: * dbxout.c (dbxout_symbol, dbxout_parms): Call that. 649: 650: * c-decl.c (lookup_name): Do nothing special if type is error mark. 651: (grokdeclarator): Ignore putative type name whose type is error mark. 652: * c-parse.y (primary): If var type is error mark, return error mark. 653: 654: * c-typeck.c (build_array_ref): Return early if arg is error mark. 655: 656: * Makefile.in (test-protoize): Rule deleted. 657: 658: * stmt.c (emit_case_nodes): Handle just-left-subtree case 659: like just-right-subtree--delete mysterious code that tests cost_table. 660: 661: * varasm.c (decode_reg_name): Accept decimal number as reg name. 662: 663: * c-decl.c (finish_decl): If pop_obstacks goes to perm obstack, 664: call permanent_allocation. 665: 666: * gcc.c (link_command_spec): Use -lgcc, not libgcc.a. 667: 668: Fri Feb 7 16:56:17 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 669: 670: * rs6000.h (DOLLARS_IN_IDENTIFIERS): Define to zero, because the 671: assembler does not accept dollar signs. 672: 673: Fri Feb 7 15:36:40 1992 Richard Stallman ([email protected]) 674: 675: * Makefile.in (mostlyclean): Fix name of tmp-proto.1. 676: 677: * configure: Delete excess space in assignment to srcdir. 678: 679: * cp-decl2.c (DOLLARS_IN_IDENTIFIERS): Default now 1, as in C. 680: 681: * i386gas.h (ASM_OUTPUT_LOOP_ALIGN): New macro. 682: (ASM_OUTPUT_ALIGN_CODE): Use 16-byte boundary on 486. 683: 684: * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use operands for the memrefs 685: to avoid dependence on assembler syntax. 686: 687: Fri Feb 7 10:26:32 1992 Michael Meissner (meissner at osf.org) 688: 689: * Makefile.in (EXTRA_OBJS): New variable for extra object files 690: needed when linking cc1, cc1plus, and cc1objc. 691: 692: Fri Feb 7 07:34:03 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 693: 694: * reload1.c (set_label_offsets, reload_as_needed): Recompute 695: num_not_at_initial_offset when we pick up offsets from offsets_at. 696: 697: * unroll.c (unroll_loop): Copy initial and final values to avoid 698: sharing. 699: 700: * cse.c (simplify_relational_operation): Complete last change by 701: correctly handling <= and >=. 702: 703: Thu Feb 6 23:57:02 1992 Michael Tiemann (tiemann at cygnus.com) 704: 705: * cp-decl.c (grokdeclarator): Invert sense of warning about 706: initialized extern vars, since in C++, const has funny semantics. 707: 708: Thu Feb 6 15:12:02 1992 Richard Stallman ([email protected]) 709: 710: * cse.c (simplify_relational_operation): Test properly for floating 711: equality; don't deduce this from < and >. 712: 713: * xm-mips.h (alloca): Don't define or declare if MIPS_OVERRIDE_ALLOCA. 714: * xm-irix4.h (MIPS_OVERRIDE_ALLOCA): Defined. 715: 716: * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use explicit reg var 717: to avoid dependence on register name syntax. 718: 719: * mot3300.h (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): 720: New macros. 721: (PUT_SDB_DIM): Deleted. 722: (PRINT_OPERAND): Handle %$ and %&. 723: (ASM_OUTPUT_OPCODE): Handle f%$move and f%&move. 724: 725: * gstdarg.h: If not __GNUC__, use system's stdarg.h. 726: 727: Thu Feb 6 22:36:36 1992 (Eric Youngdale at [email protected]) 728: 729: * vms.h (DEFAULT_GDB_EXTENSIONS): Define as 0. 730: 731: Thu Feb 6 13:32:37 1992 Michael Meissner (meissner at osf.org) 732: 733: * mips.h (MIPS_VERSION): Set Meissner version # to 10. 734: (flag_half_pic, mips_branch_likely): New global variables. 735: (call_memory_operand): New function declaration. 736: (half_pic_encode_section_info): Likewise. 737: (mips_constant_address_p): Likewise. 738: (mips_debugger_offset): Likewise. 739: (CC1_SPEC): Make OSF/1 -pic-xxx switches to -mhalf-pic, which is 740: currently undergoing development. 741: (DEBUGGER_AUTO_OFFSET): Emit correct information if frame pointer is 742: omitted. 743: (DEBUGGER_ARG_OFFSET): Likewise. 744: (TARGET_SWITCHES): Add -mabicalls and -mhalf-pic switches. 745: (PIC_OFFSET_TABLE_REGNUM): Define as the GP register ($28). 746: (EXTRA_CONSTRAINT): Add 'S' constraint for half-pic references. 747: (CONSTANT_ADDRESS_P): Call mips_constant_address_p. 748: (ENCODE_SECTION_INFO): Reorder test to test optimize first, and to 749: call half_pic_encode_section_info if half pic. 750: (PREDICATE_CODES): Add call_memory_operand. 751: 752: * mips.c (flag_half_pic): New global variable to indicate to produce 753: half-pic output for OSF/rose. 754: (mips_branch_likely): New global variable to indicate the branch 755: should use the branch likely form of the instruction. 756: (mips_sw_reg_names): Use $fp instead of fp, since regdef.h no longer 757: defines fp. 758: (call_memory_operand): New function to return TRUE if the argument 759: is a valid MEM for a call instruction. 760: (mips_move_1word): Emit comment in la of half-pic addresses as a 761: temporary flag to put the right code down. 762: (mips_constant_address): New function to determine if something is a 763: constant address or not. Add stub code for -mhalf-pic. 764: (override_options): Set flag_half_pic if -mhalf-pic. 765: (override_options): Mark %? as valid for print_operand. 766: (mips_debugger_offset): New function to correct the offset for 767: variables and arguments if the frame pointer has been omitted. 768: (print_operand): %? now emits a 'l' if mips_branch_likeley is set. 769: (mips_asm_file_start, function_prologue): If -mabicalls, emit the 770: pseudo ops that the Pyramid System V.4 port seems to want. 771: (compute_frame_size): Reserve space for saving GP if -mabicalls. 772: (half_pic_encode_section_info): Stub function for encoding whether 773: or not to generate a half pic reference. 774: 775: * mips.md (type attribute): Add pic attribute. 776: (cpu attribute): New attribute to get the CPU type. 777: (branch_likely attribute): New attribute to say whether or not we 778: can use branch likely instructions. 779: (define_delay): Note that we can annull false branches if -mips2. 780: (memory function unit): Add pic in addition to load. 781: (various function units): Use the cpu attribute. 782: (branch patterns): Support branch likely instructions if -mips2. 783: (call, call_internal): Use call_memory_operand instead of 784: memory_operand. If -mhalf-pic put function address in a register. 785: (call_value, call_value_internal): Likewise. 786: 787: * decrose.h (INIT_SECTION_ASM_OP): Define as .init. 788: 789: Thu Feb 6 10:07:17 1992 Tom Wood (wood at dg-rtp.dg.com) 790: 791: * m88k.c (preserve_registers): Change to walk the epilogue delay 792: insns in the forward rather than reverse order (for reorg.c change). 793: 794: Thu Feb 6 02:54:28 1992 Richard Stallman ([email protected]) 795: 796: * cse.c (simplify_binary_operation, case PLUS): Don't make 797: a (const (plus X Y)) with X a CONST_INT. 798: 799: * fixincludes: Simplify egrep command. 800: 801: Thu Feb 6 01:11:28 1992 Mark Eichin (eichin at cygnus.com) 802: 803: * cp-lex.c (process_next_inline): if we get a "parse error at end of 804: saved function text", set yychar to something that 805: restore_pending_input will digest (if it thinks input is still 806: pending, it will abort, but we've already reported the problem to 807: the user.) 808: 809: Wed Feb 5 18:42:56 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 810: 811: * reorg.c (fill_simple_delay_slots): When filling delay slots by 812: searching backward, put each new insn we find at the head of the 813: delay list instead of at the tail. 814: 815: * cse.c (fold_rtx): When associating operations, avoid infinite 816: recursion if the new expression contains our operand. 817: 818: Wed Feb 5 21:18:06 1992 Mark Eichin (eichin at cygnus.com) 819: 820: * cp-decl.c (globalize_nested_type): If the type isn't found at all, 821: this is an anonymous forward reference, so permit it. 822: Abort if type is already globally defined. 823: 824: Wed Feb 5 18:01:12 1992 Richard Stallman ([email protected]) 825: 826: * varasm.c, hp800.h, i386.h, m88k.h, mips.h, romp.h, vms.h: 827: (ENCODE_SECTION_INFO): Renamed from ENCODE_SEGMENT_INFO. 828: 829: * sparc.md (nonlocal_goto): Copy static chain into 830: virtual_stack_vars_rtx, not frame pointer itself. 831: (nonlocal goto return recognizer): Jump to %o0+0. 832: 833: * toplev.c (main): Fix test for -Wid-clash. 834: 835: Wed Feb 5 16:58:15 1992 Ron Guilmette (rfg at ncd.com) 836: 837: * dwarfout.c (dwarfout_init): Add two words containing the starting 838: and ending address of the .text section for this compilation unit to 839: the special initial entry in the .debug_srcinfo section. 840: 841: Tue Feb 4 14:51:16 1992 Richard Stallman ([email protected]) 842: 843: * dbxout.c (dbxout_symbol): Handle DBX_OUTPUT_CONSTANT_SYMBOL. 844: (dbxout_block): Handle DBX_OUTPUT_CATCH. 845: 846: * cccp.c (lookup_import, add_import, do_include): 847: Use bcmp and bcopy to access st_ino and ->inode fields. 848: 849: * dbxout.c (dbxout_init): Pass syms to DBX_OUTPUT_STANDARD_TYPES. 850: 851: * fold-const.c (operand_equal_p): Check that modes match. 852: (comparison_equiv_p): New function. 853: (fold): Use that when converting ?: to min_expr or max_expr. 854: 855: * c-common.c (c_expand_expr_stmt): Test for ERROR_MARK as type. 856: 857: Tue Feb 4 12:03:26 1992 Michael Tiemann (tiemann at cygnus.com) 858: 859: * stmt.c (expand_end_case): Don't crash if function called 860: is not an ADDR_EXPR. 861: 862: Tue Feb 4 14:17:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 863: 864: * expr.h ({float[sd]i[sd]f,fix[sd]f[sd]i,fixuns[sd]f[sd]i}_libfunc): 865: New declarations. 866: * optabs.c: Define them. 867: (expand_float, expand_fix): Use them instead of making a new 868: SYMBOL_REF each call. 869: (init_optabs): Initialize them. 870: 871: Tue Feb 4 00:27:35 1992 Richard Stallman ([email protected]) 872: 873: * Makefile.in (protoize.1, unprotoize.1): Rename temp files < 14 chrs. 874: 875: * cccp.c (skip_if_group): Make unknown cmd name a pedantic warning. 876: 877: Mon Feb 3 18:10:41 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 878: 879: * romp.h (LEGITIMATE_CONSTANT_P, ENCODE_SEGMENT_INFO): Use 880: SYMBOL_REF_FLAG. 881: 882: * x-romp-mach: New file. 883: * configure (romp-*-mach*): New alternative. 884: 885: Mon Feb 3 16:43:55 1992 Richard Stallman ([email protected]) 886: 887: * cp-typeck.c (warn_for_assignment): Print arg num in origin 1. 888: 889: * sparc.md (nonlocal_goto trap recognizer): Fix opcode spelling. 890: 891: * function.c (fix_lexical_addr): Properly search for correct display. 892: 893: * romp.h (OVERRIDE_OPTIONS): Don't set flag_omit_frame_pointer. 894: 895: Mon Feb 3 11:11:58 1992 Michael Tiemann (tiemann at cygnus.com) 896: 897: * gcc.c (@c++-cpp-output): Delete extraneous "}}}" at the end of the 898: rule. 899: 900: Mon Feb 3 11:38:19 1992 Ron Guilmette (rfg at ncd.com) 901: 902: * dwarfout.c (dwarfout_init): Generate an initial 2-word entry in the 903: .debug_srcinfo section containing the addresses of the starts of the 904: .line and .debug_sfnames sections. Generate it after the initial entry 905: for the .line section. 906: 907: * dwarfout.c [DWARF_TIMESTAMPS]: Ensure time_t and time declared. 908: (dwarfout_init): Make third word of initial .debug_srcinfo entry be 909: the compilation date/time if DWARF_TIMESTAMPS is defined, or else -1. 910: 911: * dwarfout.c (dwarfout_init): Output compilation directory name as 912: the first thing in the .debug_sfnames section. 913: 914: Mon Feb 3 04:12:51 1992 James Van Artsdalen (james at bigtex.cactus.org) 915: 916: * Makefile.in (install-dir): `parent' is a shell variable. 917: 918: Mon Feb 3 09:43:51 1992 Tom Wood (wood at dg-rtp.dg.com) 919: 920: * m88k.h (EXTRA_SECTIONS): Use init and fini sections from svr3.h, 921: but only when using svr3.h. 922: 923: Sun Feb 2 19:50:29 1992 James Van Artsdalen (james at bigtex.cactus.org) 924: 925: * i386.h (ADDRESS_COST): New macro. 926: 927: Sun Feb 2 17:08:47 1992 Michael Meissner (meissner at osf.org) 928: 929: * mips.c (simple_memory_operand): Don't recognize references to 930: variables in .sdata or .sbss, which has the effect of not putting 931: stores into delay slots. This fixes a bug and also doesn't temp the 932: MIPS linker from trying to put 4 instructions into the delay slot 933: when it rewrites the function as a PIC function. 934: 935: Sun Feb 2 16:58:11 1992 Richard Stallman ([email protected]) 936: 937: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Do ON_EXIT last. 938: 939: * Makefile.in (install-dir): Create the parent of mandir if nec. 940: 941: * real.h (REAL_VALUE_TRUNCATE): sizeof says what cast to float does. 942: 943: * dbxout.c (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): New parameter macro. 944: (DBX_OUTPUT_MAIN_SOURCE_FILENAME, DBX_OUTPUT_SOURCE_FILENAME): 945: (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. 946: These are used in place of ASM_... 947: * newpbb.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Macro renamed. 948: (DBX_OUTPUT_SOURCE_FILENAME): Likewise. 949: * next.h (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): Macro renamed. 950: (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. 951: 952: Sun Feb 2 12:51:54 1992 Michael Tiemann (tiemann at cygnus.com) 953: 954: * cp-typeck.c (build_component_ref_1): Call `compute_visibility' 955: with a BASETYPE_PATH, not a TREE_LIST. 956: 957: * cp-class.c (build_vtable_entry): Apologize if we cannot build a 958: proper vtable because of builtin liminations. 959: 960: Sun Feb 2 07:30:08 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 961: 962: * reload.c (combine_reloads): Don't combine two reloads with different 963: secondary reloads; copy secondary reload to combined reload. 964: 965: * cse.c (cse_main): PIC_OFFSET_TABLE_REGNUM is not clobbered by calls 966: if -fpic or -fPIC. 967: * reorg.c (mark_target_live_regs): Likewise. 968: * sched.c (attach_deaths): Likewise. 969: 970: * flow.c (find_basic_blocks): Don't separate a CALL_INSN from 971: following CLOBBER insns. 972: 973: * function.c (use_variable, use_variable_after): Don't interpret 974: reference to internal arg pointer as variable-sized object. 975: (expand_function_start, expand_function_end): Add USE for virtual 976: arg pointer if stupid alloc and it is not the real arg pointer. 977: 978: * flow.c (insn_dead_p, mark_set_1, mark_used_regs): Don't treat 979: ARG_POINTER_REGNUM specially if it isn't fixed. 980: * sched.c (attach_deaths): Likewise. 981: * reorg.c (mark_target_live_regs): Likewise; also make set of regs 982: clobbered on call agree with cse and flow. 983: 984: * function.c (fix_lexical_addr): Rework to look for AP references 985: using internal_arg_pointer; make some related cleanups. 986: * expr.c (expand_expr, case VAR_DECL, SAVE_EXPR): Treat 987: inline_function_decl just like current_function_decl. 988: * stmt.c (expand_end_bindings): When restoring arg pointer, restore 989: into the virtual form so we will subtract the proper offset, since 990: the saved value includes the offset. 991: 992: Sat Feb 1 14:41:34 1992 Ken Raeburn ([email protected]) 993: 994: * cp-pt.c (end_template_decl): For method template, no longer call 995: popclass; it isn't needed any more. If after processing template 996: we're not at the global binding level, throw away any other binding 997: levels, rather than aborting. Also deleted some other unused code. 998: 999: Sat Feb 1 09:13:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1000: 1001: * xm-rs6000-mach.h, rs6000-mach.h: New files. 1002: * configure (rs6000-*-mach): New option. 1003: 1004: Sat Feb 1 00:57:24 1992 James Van Artsdalen (james at bigtex.cactus.org) 1005: 1006: * i386.c: Include tree.h 1007: (symbolic_operand): New predicate function. 1008: (symbolic_reference_mentioned_p): New function. 1009: (legitimize_pic_address,emit_pic_move): New functions. 1010: (function_prologue): Delete unused variable nregs. 1011: If the PIC reg is used, save the old contents and initialize with 1012: a pointer to the GOT. 1013: (simple_386_epilogue): Count the PIC reg if it is used. 1014: (function_epilogue): Delete unused variable "insn". Restore the 1015: original contents of the PIC reg if it was used. 1016: 1017: (output_pic_addr_const): New function to handle PIC symbol 1018: reference suffixes. 1019: (print_operand_address): Use that if flag_pic is true. 1020: (print_operand): Likewise. Don't print a prefix in front of any 1021: constant if the 'P' code is used. 1022: 1023: (output_387_binary_op): abort if the op is not one we handle. 1024: 1025: (maximum_field_alignment): New variable. 1026: (handle_pragma_token): New function. Handle `weak' and `pack'. 1027: 1028: * i386.h (CONDITION_REGISTER_USAGE): New macro. Mark PIC reg as 1029: fixed and call used if flag_pic is true. 1030: (PIC_OFFSET_TABLE_REGNUM): New macro. 1031: (FUNCTION_PROFILER): Output PIC compatible code if flag_pic. 1032: (INITIAL_ELIMINATION_OFFSET): Count the PIC reg if it is used. 1033: 1034: (GO_IF_LEGITIMATE_ADDRESS): If flag_pic is true, reject bare 1035: label or symbol references, but allow constant pool references. 1036: In all cases, don't bother to check for a constant as the first 1037: operand of a PLUS. 1038: (LEGITIMIZE_ADDRESS): Call legitimize_pic_address for symbolic 1039: references if flag_pic is true. In all cases, HImode regs are not 1040: valid memory pointers. 1041: (LEGITIMATE_PIC_OPERAND): New macro. 1042: (SYMBOLIC_CONST): New macro. 1043: (ENCODE_SEGMENT_INFO): New macro to notice static variables. 1044: (CONST_COSTS): Symbolic constants cost more if flag_pic is true. 1045: 1046: * i386.md (movsi): Use define_expand. Call emit_pic_move for 1047: symbolic constants if flag_pic is true. 1048: (divmodM4,udivmodM4): Change predicates so that only regs are 1049: allowed in operands that can't be a mem. Avoids reload 1050: congestion. 1051: (indirect_jump): Allow any reg or mem as operand, not just reg 0. 1052: (casesi): New insn, only used if flag_pic is true. 1053: (call,call_pop,call_value,call_value_pop): Use define_expand to 1054: record if this function ever emits a call, which will implicitly 1055: use the PIC address register. 1056: 1057: * svr4.h (SELECT_SECTION): Any item whose initial value involves 1058: linker relocation must go in the data section if flag_pic is true. 1059: 1060: * i386v4.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output in PIC style. If 1061: flag_pic is false, ADDR_DIFF_VECs are not output and this is not 1062: used. 1063: (JUMP_TABLES_IN_TEXT_SECTION): New macro. 1064: 1065: (WEAK_ASM_OP,DEF_ASM_OP): New macros. 1066: (maximum_field_alignment): New variable. Declare here. 1067: (PCC_BITFIELD_TYPE_MATTERS): New macro. Value depends on 1068: maximum_field_alignment. 1069: (BIGGEST_FIELD_ALIGNMENT): New macro. Likewise. 1070: (HANDLE_PRAGMA): New macro. 1071: (ASM_OUTPUT_ALIGNED_LOCAL): New macro. 1072: 1073: Sat Feb 1 00:15:41 1992 Richard Stallman ([email protected]) 1074: 1075: * flow.c (flow_analysis, find_basic_blocks): 1076: If have nonlocal labels, calls end basic blocks. 1077: Each call can jump to each nonlocal label. 1078: Pass extra arg to find_basic_blocks. 1079: * function.c (nonlocal_label_rtx_list): New function. 1080: 1081: * dbxout.c (dbxout_init): Vars wd and wd_gotten moved to top level 1082: and renamed to cwd and cwd_gotten. 1083: 1084: * c-decl.c (start_function): -Wmissing-prototypes warns if static 1085: function was previously used without a prototype. 1086: 1087: * loop.c (find_and_verify_loop): Initialize uid_loop_num[0]. 1088: (loop_optimize): Give up fast if no loops. 1089: 1090: * stmt.c (expand_end_bindings): Don't adjust fp in nonlocal goto hndlr 1091: if there is a nonlocal_goto insn. 1092: 1093: * Makefile.in (cccp.o): Use just libdir in GPLUSPLUS_INCLUDE_DIR. 1094: 1095: * gcc.c (do_spec_1): Supply missing arg in some recursive calls. 1096: 1097: Fri Jan 31 21:50:03 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) 1098: 1099: * m68k.h (OVERRIDE_OPTIONS): -fPIC is only supported on the 68020 1100: and later cpus. Give an error if -fPIC is tried on a 68000. 1101: 1102: Fri Jan 31 21:39:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1103: 1104: * flow.c (find_auto_inc): If emitting a move insn in front of the 1105: first insn in a block, update basic_block_head. 1106: 1107: * caller-save.c (init_caller_save): Correctly check for case where the 1108: save or restore insns aren't recognized. 1109: 1110: Fri Jan 31 21:02:35 1992 Mark Eichin (eichin at cygnus.com) 1111: 1112: * cp-decl.c (pushtag): when calling pushdecl, if we're in a 1113: class_binding_level just do a pushdecl_class_level. Otherwise 1114: pushdecl gets called multiple times on class-nested enums, which 1115: short circuits the name list in the global_binding_level. 1116: 1117: Fri Jan 31 00:14:20 1992 Richard Stallman ([email protected]) 1118: 1119: * stmt.c (expand_goto): Use nonlocal_goto pattern if it exists. 1120: * sparc.md (nonlocal_goto): New pattern. 1121: Also nameless pattern for the special trap insn. 1122: 1123: * gcc.c (S_ISDIR): Add default definition. 1124: 1125: * function.c (expand_function_end): 1126: Set up arg_pointer_save_area at start of function. 1127: 1128: * c++: Accept -nostdlib, not -nostinc. 1129: 1130: * va-sparc.h: If GCC v1, define __extension__ as nothing. 1131: * va-i860.h, va-pyr.h, va-spur.h: Likewise. 1132: 1133: * cp-class.c (finish_struct): Fill in DECL_ALIGN of vtable field. 1134: 1135: * regclass.c (reg_class_record): 1136: Don't follow indirect loops in constraints. 1137: 1138: * function.c, expr.h (current_function_internal_arg_pointer): New var. 1139: * function.c (assign_parms): Set it. 1140: (push_function_context, pop_function_context): Save and restore it. 1141: * expr.c (expand_builtin): Use it. 1142: * function.h (struct function): New slot to save it in. 1143: 1144: * cse.c (cse_main): Calls do clobber arg pointer if not fixed. 1145: 1146: * hp320.h (HAVE_ATEXIT): New definition. 1147: 1148: * Makefile.in (ALL_CPPFLAGS): New variable. 1149: Use in all compile steps instead of CPPFLAGS. 1150: (X_CPPFLAGS, T_CPPFLAGS): New vars, used in ALL_CPPFLAGS. 1151: * x-vax (X_CPPFLAGS): Use this instead of X_CFLAGS. 1152: 1153: * stmt.c (expand_end_bindings): Fix typo. 1154: 1155: Fri Jan 31 12:15:09 1992 Ron Guilmette (rfg ay ncd.com) 1156: 1157: * dwarfout.c (LINE_LAST_ENTRY_LABEL): Definition added. 1158: (dwarfout_finish): Put a label on the last .line section entry. 1159: (dwarfout_finish): Make first word of final .debug_srcinfo record 1160: contain the offset of the final .line section entry. 1161: 1162: Fri Jan 31 10:31:44 1992 James Van Artsdalen (james at bigtex.cactus.org) 1163: 1164: * cp-tree.c (__eprintf): Make definition match assert.h 1165: declaration. 1166: 1167: Thu Jan 30 23:17:11 1992 Per Bothner (bothner at cygnus.com) 1168: 1169: * c++: The flags -c, -S, or -E suppress passing -lg++ 1170: to gcc. (Otherwise, gcc prints a warning.) 1171: 1172: Thu Jan 30 21:10:02 1992 Ron Guilmette (rfg at ncd.com) 1173: 1174: * dwarfout.c (dwarfout_init): Fix generation of initial .debug_aranges 1175: entry to be Dwarf Version 1 compliant. 1176: 1177: Thu Jan 30 15:51:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 1178: 1179: * i386sun.h (LINK_SPEC): Delete useless %{-Bstatic} term. 1180: * sun2o4.h (LINK_SPEC): Likewise. 1181: * sun3.h (LINK_SPEC): Likewise. 1182: * sparc.h (LINK_SPEC): Delete useless %{Bstatic} term. 1183: 1184: * cccp.c (default_include): Delete use of obsolete 1185: NO_STANDARD_INCLUDE_DIR macro. 1186: * protoize.c (default_include): Likewise. 1187: 1188: * Makefile.in (libgcc1.null): Delete dummy.o and dummy.c. 1189: 1190: Thu Jan 30 15:34:06 1992 Michael Meissner (meissner at osf.org) 1191: 1192: * gstdarg.h: Include va-mips.h on MIPS systems. 1193: 1194: * va-mips.h (va_start): Provide alternate definition when included 1195: via stdarg.h. 1196: (va_arg): Use __alignof(...) instead of sizeof(...) to determine 1197: whether or not to dword align the argument pointer. 1198: 1199: Thu Jan 30 13:06:36 1992 Richard Stallman ([email protected]) 1200: 1201: * Makefile.in (install-common): Get c++ and g++ from srcdir. 1202: 1203: * i860.h (FIXED_REGISTERS): Arg pointer is no longer fixed. 1204: 1205: * assert.h (__eprintf): Add const to string args in GCC ANSI case. 1206: 1207: * Makefile.in (cccp.o, protoize.o, unprotoize.o): 1208: Define LOCAL_INCLUDE_DIR based on $(prefix). 1209: 1210: * stmt.c (expand_end_bindings): Arg pointer needs no special 1211: treatment if not fixed. 1212: 1213: * cp-parse.y, c-lex.c (yyerror): 1214: Avoid sign-extension of characters in error messages. 1215: 1216: Thu Jan 30 11:39:56 1992 Ron Guilmette (rfg at ncd.com) 1217: 1218: * dwarfout.c (dwarfout_finish): Fix generation of .debug_pubnames 1219: terminating entry to be 4-bytes of zero followed by a null string. 1220: 1221: Thu Jan 30 09:30:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1222: 1223: * rs6000.c (ccr_bit): Fix typo causing reference to possibly 1224: undefined operand. 1225: 1226: * rs6000.h (ASM_SPEC): Remove until new AIX assembler is available. 1227: (ASM_OUTPUT_POOL_PROLOGUE): Add missing "." in csect name. 1228: (ENCODE_SEGMENT_INFO): Deleted. 1229: (ASM_OUTPUT_EXTERNAL): Move code from ENCODE_SEGMENT_INFO here, 1230: using permalloc instead of putting name into saveable_obstack. 1231: Re-enable macro. 1232: (ASM_OUTPUT_EXTERNAL_LIBCALL): Re-enable. 1233: 1234: Wed Jan 29 21:50:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1235: 1236: * rs6000.h (ASM_SPEC): Add -u, now require new /bin/as for AIX. 1237: (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): No longer needed. 1238: 1239: * rs6000.h (ENCODE_SEGMENT_INFO): New macro; add [RW] or [DS] to name. 1240: (RS6000_OUTPUT_BASENAME): New macro. 1241: (ASM_OUTPUT_*): Use it instead of assemble_name when required. 1242: (ASM_OUTPUT_POOL_PROLOGUE): Remove trailing [RW] or [DS]. 1243: * rs6000.c (print_operand, case 'z'): New case, for name in CALL_INSN. 1244: (output_toc): Use RS6000_OUTPUT_BASENAME instead of assemble_name 1245: for toc entry name. 1246: * rs60000.md (call): Use %z. 1247: 1248: Wed Jan 29 17:17:42 1992 Michael Tiemann (tiemann at cygnus.com) 1249: 1250: * cp-init.c (build_member_call): Fix bug involving static members 1251: that are function pointers. 1252: 1253: Wed Jan 29 13:25:18 1992 Tom Wood (wood at dg-rtp.dg.com) 1254: 1255: * gcc.c (do_spec_1): For %D, only add -L options that are relevant. 1256: (is_linker_dir): Determine if a -L option is relevant. 1257: 1258: Wed Jan 29 00:57:55 1992 Richard Stallman ([email protected]) 1259: 1260: * configure: Turn ns32k alternatives back on. 1261: 1262: * Makefile.in (getopt.o, getopt1.c): Join two lines into one. 1263: 1264: * x-i386v4, x-i860v4 (GCC_CFLAGS): Add missing `-B./'. 1265: 1266: * reload.c (find_dummy_reload, push_reload): Don't reuse dying input 1267: reg as a reload if it is a fixed reg. 1268: 1269: * c-tree.h (C_MISSING_PROTOTYPE_WARNED): Deleted since unused. 1270: 1271: Wed Jan 29 00:42:34 1992 Tim Moore (moore at fast.cs.utah.edu) 1272: 1273: * hp800.c (print_operand): Handle INSN_ANNULLED_BRANCH_P in '*' 1274: operand type. 1275: * hp800.h (DEFAULT_GDB_EXTENSIONS): Define as 0. 1276: * hp800.md (cmpsi): Change arith_operand to arith5_operand. 1277: (bCC patterns): Delete pattern that matches a compare with a 1278: constant first operand. Change arith_operand to arith5_operand. 1279: (fp branches): Change type to cbranch. 1280: 1281: * function.c (assign_parms): Set current_function_arg_offset_rtx 1282: correctly for ARGS_GROW_DOWNWARD. 1283: * gstdarg.h: Include va-hp800.h. 1284: * va-hp800.h: Complete rewrite. 1285: 1286: Tue Jan 28 17:04:38 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 1287: 1288: * varasm.c (make_decl_rtl): Delete unused var `i'. 1289: 1290: * c-convert.c (convert_to_pointer): 1291: Abort if no integer type is as wide as a pointer. 1292: 1293: * gcc.c (default_compilers, .i case): Add error message for -pg 1294: and -fomit-frame-pointer incompatibility. 1295: 1296: * Makefile.in (install-common): Install c++ and g++ shell scripts in 1297: bindir. 1298: 1299: Tue Jan 28 15:44:10 1992 Michael Collison (collison at osf.org) 1300: 1301: * x-encrose (OLDCC): changed to $(GNU_ROSE_BIN)/gcc 1302: 1303: * ns32k.h: Added trampoline code. 1304: 1305: Tue Jan 28 14:19:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1306: 1307: * rtl.def (UNSPEC, UNSPEC_VOLATILE): New RTL codes. 1308: * cse.c (canon_hash): UNSPEC_VOLATILE operations are volatile. 1309: * loop.c (invariant_p): Likewise. 1310: * reorg.c (mark_referenced_resources): Likewise. 1311: * sched.c (sched_analyze_2): Likewise. 1312: * rtlanal.c (volatile_refs_p, side_effects_p, may_trap_p): Likewise. 1313: (reg_referenced_p): Support UNPEC and UNSPEC_VOLATILE. 1314: 1315: Tue Jan 28 11:50:35 1992 Michael Meissner (meissner at osf.org) 1316: 1317: * mips.c (toplevel): Add include of <ctype.h>, since isdigit is 1318: used. 1319: 1320: Tue Jan 28 05:47:08 1992 Michael Tiemann (tiemann at cygnus.com) 1321: 1322: * cp-decl.c (xref_tag): Addition to eichin's Jan 25 change. If REF 1323: is extant, and it's seen in the global scope outside of 1324: CLASS_BINDING_LEVEL, set its IDENTIFIER_GLOBAL_VALUE if NULL. 1325: 1326: * cp-class.c (pushclass): Forcibly remove any remnants of incomplete 1327: type that was previously pushed. 1328: 1329: * cp-decl.c (various places): Remove all error messages about C++ 1330: constructs being invalid in C language context; extern "C" is a 1331: linkage specifier--no more. 1332: 1333: * cp-method.c (dump_type_prefix,dump_type): Never need to output 1334: `unsigned' since its always part of an unsigned integer type name. 1335: (build_overload_name): Change test for unsigned to use 1336: `unsigned_type' instead of examining TREE_UNSIGNED. 1337: 1338: * cp-call.c (ideal_candidate): Don't convert PARMS in place if 1339: BASETYPE is NULL_TREE. 1340: 1341: Tue Jan 28 02:21:31 1992 Richard Stallman ([email protected]) 1342: 1343: * c-decl.c (grokdeclarator): Use `auto' for nested fn fwd decls. 1344: 1345: * g++: New file. 1346: 1347: * fixincludes: 1348: Convert machine names in #if's to have underscores. 1349: Fix specific files stdlib.h, locale.h, hsfs/... for Sunos 4.1. 1350: * fixinc.svr4: Convert machine names in #if's to have underscores. 1351: 1352: * gcc.c (do_spec_1): For %D, also make -L's for startfile_prefix. 1353: Also append the machine 1354: 1355: * fold-const.c (fold_convert): Properly handle real-to-real case. 1356: 1357: * configure (i486-*-sysv4*): New alternative. 1358: 1359: Tue Jan 28 00:37:24 1992 Ron Guilmette (rfg at ncd.com) 1360: 1361: * dwarfout.c (location_attribute): Fix handling of objects which 1362: were optimized out of existance for Dwarf Version 0 compliance. 1363: 1364: Tue Jan 28 00:42:57 1992 James Van Artsdalen (james at bigtex.cactus.org) 1365: 1366: * Makefile.in (mostlyclean): Delete stack dump files too. 1367: 1368: Mon Jan 27 18:26:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1369: 1370: * rs6000.h (HAVE_ATEXIT, NO_DOLLAR_IN_LABEL): Now defined. 1371: 1372: Mon Jan 27 13:32:51 1992 Richard Stallman ([email protected]) 1373: 1374: * libgcc2.a (L_exit): Declare __CTOR_LIST__ and __DTOR_LIST__ 1375: with length 2; get rid of __CTOR_END__ and __DTOR_END__. 1376: (L_ctor_list, L_dtor_list): New library members. 1377: 1378: * cccp.c (main): Add terminating null, then call trigraph_pcp. 1379: 1380: * fixincludes, fixinc.svr4: Fail unless an arg was given. 1381: * Makefile.in (install-fixincludes): Pass output dir as argument. 1382: 1383: * Makefile.in: Renamed libgcc[12] to libgcc[12].a. 1384: Likewise for tmplibgcc[12]. 1385: 1386: * toplev.c (rest_of_decl_compilation): Treat all fcns as if external. 1387: 1388: * Makefile.in (TAGS): Do the work in srcdir. 1389: Include c-parse.h in files to move. 1390: 1391: Mon Jan 27 10:54:24 1992 Jim Wilson (wilson at sphagnum.cygnus.com) 1392: 1393: * cccp.c (get_filename): Don't pass -1 file descriptor to close. 1394: 1395: Mon Jan 27 00:26:33 1992 Michael Tiemann (tiemann at cygnus.com) 1396: 1397: * cp-decl.c (start_function): Preserve TREE_TYPE of RESULT_DECL, in 1398: case we have a named return value. 1399: (finish_function): Restrict the cases under which we build 1400: `no_return_label'. Use CURRENT_FUNCTION_RETURN_VALUE to eliminate 1401: the generation of needless cleanups when functions end with a return 1402: stmt. No longer zeros out CLEANUP_LABEL. Also, call `emit_jump' 1403: instead of `expand_null_return' in case NO_RETURN_LABEL is 1404: non-NULL. 1405: 1406: * cp-decl2.c (grokfield): Don't specially hack static member 1407: function names. 1408: 1409: * cp-except.c (cplus_expand_raise): Test correct predicate that we 1410: have a non-null value return. 1411: (cplus_expand_{throw,reraise}): Ditto. 1412: 1413: * cp-typeck.c (c_expand_return): Handle case where named return 1414: value has incomplete type. 1415: 1416: Sun Jan 26 20:50:55 1992 Michael Tiemann (tiemann at cygnus.com) 1417: 1418: * cp-parse.y (LC): Fix rule to use `push_obstacks_nochange'. 1419: (structsp): Use `pop_obstacks'. 1420: 1421: Sun Jan 26 17:39:15 1992 Richard Stallman ([email protected]) 1422: 1423: * c-parse.y (LC): Use push_obstacks_nochange and always call 1424: end_temporary_allocation. 1425: (structsp, template_instantiate_once): After LC, use pop_obstacks. 1426: 1427: * c-decl.c (grokdeclarator): 1428: Static function decl within a function is not external. 1429: 1430: Sun Jan 26 08:14:53 1992 Michael Meissner (meissner at osf.org) 1431: 1432: * mips.h (MIPS_VERSION): Bump meissner version # to 9. 1433: (enum processor_type): Delete PROCESSOR_R2000, since a r2000 1434: schedules just like a r3000. 1435: (mips_isa, mips_isa_string, mips_cpu_string): New global variables. 1436: (MD_EXEC_PREFIX): If not defined, define as "/usr/lib/cmplrs/cc/". 1437: (TARGET_SWTICHES macros): Move setting the processor from 1438: TARGET_SWITCHES to TARGET_OPTIONS. Also, delete the -mfixed-ovrfl 1439: switch, and move -mwc8/-mwc16 to not use any bits, since we can't 1440: support these in GCC 2.00. Readjust the positions the bits are in. 1441: (TARGET_OPTIONS): Define to add switches -mcpu=x to set which 1442: processor type to schedule for, and -mipsx to specify the 1443: instruction set architecture level. 1444: (BRANCH_LIKELY_P): New macro, true if MIPS ISA >= 2. 1445: (HAVE_64BIT_P): New macro, true if MIPS_ISA >= 3. 1446: (HAVE_SQRT_P): New macro, true if MIPS_ISA >= 2. 1447: (BRANCH_COST): Define as 2 if r4000/r6000, 1 otherwise. 1448: (ASM_OUTPUT_SKIP): Eliminate OSF/1 gas work around. 1449: 1450: * mips.c (mips_isa, mips_isa_string, mips_cpu_string): New global 1451: variables. 1452: (print_options): Print CPU and ISA level. 1453: (override_otpions): Handle TARGET_OPTIONS setting cpu and ISA. 1454: (override_options, print_operand): %: is no longer supported, since 1455: -mfixed-ovfl is eliminated. 1456: 1457: * mips.md (type attribute): Add fsqrt. 1458: (all define_function_units): Redo, to add full r6000 and r4000 1459: support, and to use the default case in case another processor type 1460: is added. Also, tests against PROCESSOR_R2000 eliminated. 1461: (add, subtract patterns): Delete use of %:. 1462: (sqrtdf2, sqrtsf2): Define if the MIPS ISA >= 2. 1463: 1464: * decrose.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define these to 1465: use the defaults on the OSF/1 reference platform. 1466: (i386rose.h): Likewise. 1467: 1468: Sun Jan 26 07:58:00 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1469: 1470: * cse.c (cse_insn): Don't call insert_regs on a SUBREG. 1471: When scanning table for SUBREG assignment, ignore invalid entries. 1472: 1473: * cse.c (cse_insn): When looking for first non-deleted entry in 1474: table, start by scanning backwards from the deleted entry. 1475: 1476: * function.c (assign_parms): Set current_function_return_rtx 1477: unconditionally. 1478: (expand_function_start): Don't set it here. 1479: 1480: Sat Jan 25 06:44:16 1992 Mark Eichin (eichin at cygnus.com) 1481: 1482: * cp-decl.c (set_identifier_local_value): New function. Clone of 1483: set_identifier_type_value, but uses level->shadowed instead. Only 1484: used in pushdecl, where the non-global install was previously 1485: setting the local value directly which "stuck" and didn't get 1486: cleared the next time through. 1487: (pushdecl): use set_identifier_type_value so that the local value 1488: actually gets erased when we leave this level. Changed code that 1489: checks for global_binding_level to recognize that if 1490: class_binding_level is set, we're not in the global one. 1491: (poplevel_class): restore shadowed list too, like poplevel does. 1492: (print_binding_level): added no_print_functions and 1493: no_print_builtins variables to eliminate clutter while trying to 1494: debug binding level problems. 1495: 1496: Fri Jan 24 18:03:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1497: 1498: * tree.c (pop_momentary): Don't reference freed stack entry. 1499: 1500: Fri Jan 24 14:20:05 1992 Michael Tiemann (tiemann at cygnus.com) 1501: 1502: * cp-parse.y (stmt): Call `define_case_label' for default label. 1503: * cp-decl.c (current_function_return_value): New variable. 1504: (define_{case_}label): Clear CURRENT_FUNCTION_RETURN_VALUE. 1505: * cp-typeck.c (c_expand_return): Set CURRENT_FUNCTION_RETURN_VALUE. 1506: 1507: * cp-tree.c (lang_printable_name): Use DECL_RING, and don't free 1508: the printable name for CURRENT_FUNCTION_DECL. 1509: 1510: Fri Jan 24 14:17:30 1992 Richard Stallman ([email protected]) 1511: 1512: * gvarargs.h: If _ANSI_H, undef _VA_LIST_. 1513: 1514: * c-typeck.c (pointer_int_sum): Don't distribute * into pointer diff. 1515: 1516: * hp320.h (MD_STARTFILE_PREFIX): Defined. 1517: (STANDARD_STARTFILE_PREFIX): Deleted. 1518: 1519: Fri Jan 24 09:30:41 1992 Fred Fish (fnf at fishpond) 1520: 1521: * assert.h (__eprintf): Declare as prototype for __STDC__ 1522: 1523: Fri Jan 24 05:28:53 1992 James Van Artsdalen (james at bigtex.cactus.org) 1524: 1525: * i386.md (jump,indirect_jump,tablejump): Don't output an align 1526: directive here: let the following BARRIER do it. 1527: 1528: Thu Jan 23 11:54:11 1992 Ron Guilmette (rfg at ncd.com) 1529: 1530: * i486v4.h: New file. 1531: 1532: Thu Jan 23 20:34:22 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 1533: 1534: * fixinc.svr4: Surround uses of ${INPUT} with "" instead of '' 1535: so that it will get expanded. 1536: 1537: Thu Jan 23 17:50:13 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1538: 1539: * cse.c (qty_mode): New variable. 1540: (reg_rtx): Deleted. 1541: (hard_regs_in_table, regs_invalidate_by_call): New variables. 1542: (new_basic_block): Clear hard_regs_in_table. 1543: (delete_reg_equiv): New name for reg_invalidate; don't update reg_tick. 1544: (mention_regs): Don't set reg_rtx. 1545: Update reg_tick for all registers in a multi-register hard register 1546: reference. 1547: (insert_regs): Don't do anything special with SUBREG. 1548: Only insert register in a class if it is the same mode. 1549: Don't set reg_rtx; set qty_mode instead. 1550: (insert): Update hard_regs_in_table. 1551: Get constant equivalence in proper mode. 1552: (merge_equiv_classes): Call delete_reg_equiv. 1553: (invalidate): Call delete_reg_equiv and update reg_tick. 1554: Invalidate all parts of multi-word hard regs and invalidate 1555: any multi-word hard reg overlapping what we are to invalidate. 1556: Only look at constant in proper mode. 1557: (remove_invalid_refs): Use refers_to_regno_p. 1558: (invalidate_for_call): New function. 1559: (canon_hash, refers_to_mem_p, fold_rtx, equiv_constant): Look at 1560: constant in proper mode. 1561: (cse_rtx_addr_varies_p, cse_process_notes): Likewise. 1562: (exp_equiv_p): Likewise. 1563: Check reg_tick for all parts of multi-word hard register. 1564: (canon_reg): Don't use reg_rtx; get register from regno_reg_rtx or 1565: build hard reg in proper mode. 1566: (record_jump_equiv): Split into two pieces. 1567: (record_jump_cond): Second part of record_jump_equiv; make recursive 1568: call to some equivalences if args are SUBREGs. 1569: (cse_insn): Only replace register with equivalent if proper mode; 1570: don't use reg_rtx. 1571: Call invalidate_for_call. 1572: Don't avoid call to gen_lowpart for hard register. 1573: Make a SUBREG if gen_lowpart_if_possible fails for SUBREG 1574: assignment. 1575: (invalidate_from_clobbers): Update reg_tick of SP; invalidate 1576: REG entry in table, if present; use stack_pointer_rtx. 1577: (cse_main): Don't allocate reg_rtx. 1578: Initialize regs_invalidated_by_calls. 1579: (cse_basic_block): Allocate qty_mode. 1580: 1581: * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add so we can disambiguate 1582: fixed and floating registers. 1583: 1584: * rs6000.md (ashrdi3): Reject all but constant shift counts. 1585: 1586: * jump.c (simplejump_p): Don't access PATTERN unless we know it is 1587: a JUMP_INSN. 1588: 1589: * combine.c (get_last_value): Don't do a recursive call for a 1590: paradoxical SUBREG. 1591: 1592: * jump.c (jump_optimize): In "if (...) x = a; else x = b;", 1593: don't move "x = b;" if it has non-trivial REG_NOTES. Also, allow 1594: B to be any constant, not just a CONT_INT. 1595: 1596: * stor-layout.c (layout_type): Handle alignment for arrays the same 1597: as we do for records and unions. 1598: 1599: * calls.c (expand_call): Ignore `const' on void functions. 1600: 1601: * i860.c: Include recog.c. 1602: Remove many explicit declaration of vars from include files. 1603: (i860_compare_op[01]): Define these here. 1604: * i860.h (i860_compare_op[01]): Add declarations. 1605: * i860.md (compare, branch): Rework to use define_expand for cmpxx. 1606: Compare just saves operands in i860_compare_op[01]. Branch emits 1607: both insns using the saved operands. 1608: 1609: * i860.h (PREFERRED_RELOAD_CLASS): Handle FP registers and constants. 1610: (SECONDARY_INPUT_RELOAD_CLASS): We need a scratch register to copy 1611: an integer constant to a floating-point register. 1612: * i860.md (addsi3, subsi3): Allow use of floating registers. 1613: 1614: Thu Jan 23 13:33:40 1992 Richard Stallman ([email protected]) 1615: 1616: * i386v4.h (CPP_PREDEFINES): Don't define X86. 1617: 1618: * c-lex.c (readescape): Warn for \a and \x if warn_traditional. 1619: Handle \v as vertical tab regardless of -traditional. 1620: 1621: * fixincludes, fixinc.svr4: Make LIB absolute, near the beginning. 1622: 1623: * fixincludes: Simplify egrep command while matching the same lines 1624: (plus occasional additional lines). 1625: 1626: * function.c (fixup_memory_subreg): New arg UNCRITICAL. Calls changed. 1627: 1628: * gcc.c (process_command): Handle LPATH like LIBRARY_PATH. 1629: 1630: * svr3.h (ASM_LONG): Deleted. 1631: 1632: * gvarargs.h: Ignore _VA_LIST_ if _ANSI_H_; 1633: don't define _VA_LIST_ if already defined. 1634: 1635: Thu Jan 23 09:10:52 1992 Tom Wood (wood at dg-rtp.dg.com) 1636: 1637: * m88kluna.h (includes): Include aoutos.h. 1638: 1639: Thu Jan 23 09:10:52 1992 Ron Guilmette (rfg at ncd.com) 1640: 1641: * va-i860.h (__savereg): Fix typo. 1642: 1643: * i860.h (PREDICATE_CODES): Added definition. 1644: 1645: * i386v4.h (ASM_FILE_START): Definition added which generates 1646: .version directive. 1647: 1648: Wed Jan 22 23:15:45 1992 (Eric Youngdale at [email protected]) 1649: 1650: * make-cc1.com: Predefine symbols for "rename" and "bison"; always 1651: generate c-parse.h when generating c-parse.c. 1652: 1653: Wed Jan 22 20:01:11 1992 Per Bothner (bothner at cygnus.com) 1654: 1655: * sdbout.c (sdbout_record_type_name): Use typedef names 1656: for C++. (A kludge.) 1657: * sdbout.c (sdbout_one_type): Emit base classes as 1658: dummy fields, just like dbxout.c when not using gdb extensions. 1659: 1660: Wed Jan 22 20:01:11 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 1661: 1662: * fixincludes: Surround uses of ${INPUT} with "" instead of '' 1663: so that it will get expanded. 1664: 1665: * gcc.c (default_compilers): For c++, define __GNUG__ to 2, and 1666: pass -trigraphs. 1667: 1668: * cccp.1, cpp.1, gcc.1, g++.1: Delete more RCS variables. 1669: 1670: Wed Jan 22 19:02:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1671: 1672: * combine.c (simplify_shift_const, case ASHIFT): If we will 1673: be suppressing a sign extension because the upper bits are 1674: already the same, verify that the operand is in the same 1675: mode as we will be doing the shift; don't ignore a SUBREG 1676: inside the inner SHIFT. 1677: 1678: Wed Jan 22 09:25:07 1992 Tom Wood (wood at dg-rtp.dg.com) 1679: 1680: * c-typeck.c (comp_target_types): Make decl static. 1681: Don't forget to return the value. 1682: (function_types_compatible_p, comptypes): Initialize `val'. 1683: 1684: Tue Jan 21 13:29:50 1992 Richard Stallman ([email protected]) 1685: 1686: * cross-make (ALL): Override with definition it here. 1687: * configure: Don't edit its value explicitly here. 1688: 1689: * crtstuff.c (__do_global_ctors): Include DO_GLOBAL_CTORS_BODY 1690: in crtend.o, not in crtbegin.o. 1691: 1692: * svr3.h: Prepare to use with i386. 1693: (PCC_BITFIELD_TYPE_MATTERS): Definition deleted. 1694: This pertains to the individual cpu types. 1695: (ASM_SHORT, ASM_LONG, ASM_DOUBLE): Likewise. 1696: (DBX_DEBUGGING_INFO): Undef this. 1697: (DBX_REGISTER_NUMBER): Deleted the #undef. 1698: (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): Deleted. 1699: * i860v3.h (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): New definitions. 1700: 1701: * att386.h: Coexist with svr3.h. 1702: (ASM_FILE_START): Deleted. 1703: (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. 1704: (ASM_BYTE_OP, NO_DOLLAR_IN_LABEL): Likewise. 1705: (ASM_OUTPUT_LABELREF): Undef before defining. 1706: (ASM_FILE_START_1): Undef before defining. 1707: (EXTRA_SECTION_FUNCTIONS): Deleted. 1708: (BSS_SECTION_FUNCTION): New macro; defines bss_section. 1709: 1710: * i386v.h, aix386.h: Include svr3.h. 1711: (SCCS_DIRECTIVE, ASM_OUTPUT_IDENT): Deleted. 1712: (TARGET_MEM_FUNCTIONS): Deleted. 1713: (SDB_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Deleted. 1714: 1715: * Support constructors and destructors on svr3. From james@bigtex. 1716: * i386v.h, aix386.h (STARTFILE_SPEC): Use crtbegin.o after crt1.o. 1717: (LIB_SPEC): Use crtend.o before crtn.o. 1718: (CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR): New macros. 1719: (INIT_SECTION_ASM_OP): Likewise. 1720: * svr3.h (DTORS_SECTION_ASM_OP): New macros. 1721: (DO_GLOBAL_CTORS_BODY): New macro. 1722: (EXTRA_SECTIONS,EXTRA_SECTION_FUNCTIONS): Use .init and .fini 1723: sections in addition to .bss. 1724: ({INIT,FINI}_SECTION_FUNCTION): New macros for *_section functions. 1725: ({CTORS,DTORS}_SECTION_FUNCTION): Macros deleted. 1726: (ASM_OUTPUT_CONSTRUCTOR): Deleted. 1727: (ASM_OUTPUT_DESTRUCTOR): Use ASM_LONG. 1728: (INT_ASM_OP): Deleted. 1729: 1730: * c-typeck.c (default_conversion): Don't use initial value if BLKmode. 1731: If do use the initial value, update `type'. 1732: 1733: * arm.h (STRUCTURE_SIZE_BOUNDARY): New definition. 1734: 1735: * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for integers. 1736: 1737: * ultrix.h (SIZE_TYPE): Use `unsigned int'. 1738: * Makefile.in (install-common): Add missing -f in rm. 1739: (install-fixincludes): Install the README file. 1740: 1741: * fixincludes: Don't match on size_t, etc., since we don't actually 1742: change them. 1743: 1744: Mon Jan 20 23:22:45 1992 Michael Tiemann (tiemann at cygnus.com) 1745: 1746: * cp-call.c (ideal_candidate): Don't see two functions as ambiguous 1747: if one is argument-by-argument equivalent or better than another. 1748: 1749: Mon Jan 20 14:08:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1750: 1751: * toplev.c (strip_off_ending): Add ".ada". 1752: 1753: Mon Jan 20 13:53:15 1992 Richard Stallman ([email protected]) 1754: 1755: * protoize.c (xfree): No longer static. 1756: 1757: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Allow tm.h to override. 1758: 1759: * final.c (leaf_renumber_regs_insn): Do just the pattern of an insn. 1760: 1761: * pyr.h (PCC_BITFIELD_TYPE_MATTERS): Defined. 1762: (STRUCTURE_SIZE_BOUNDARY): Deleted. 1763: 1764: * mips.c: Clean up spacing around square brackets. 1765: 1766: * c-typeck.c (convert_arguments): 1767: Get rid of feature to convert to a tagless union type. 1768: (common_type): Add pedantic warning. 1769: (comptypes, function_types_compatible_p): Return 2 meaning warn. 1770: (comp_target_types): Do the warning here. 1771: (type_lists_compatible_p): New function. 1772: 1773: Sun Jan 19 17:32:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1774: 1775: * reload1.c (emit_reload_insns): Fix typos when checking for secondary 1776: icode. 1777: 1778: Sun Jan 19 15:28:53 1992 Richard Stallman ([email protected]) 1779: 1780: * global-alloc.c (global_alloc): If LEAF_REGISTERS, those are the 1781: regs that cost nothing to save, for setting regs_already_used. 1782: 1783: * expr.c (expand_builtin): Preserve function value reg 1784: around the call to __builtin_saveregs. 1785: 1786: * configure (mips-sgi-irix4*, mips-sgi-irix*): Set install_with_cp. 1787: 1788: * c-decl.c (start_function): 1789: Check properly for `static' function in handling -Wmissing-prototypes. 1790: 1791: * libgcc2.c (__main): Omit this fn if INIT_SECTION_ASM_OP. 1792: 1793: Sun Jan 19 13:23:13 1992 Fred Fish (fnf at sunfish) 1794: 1795: * amix.h (ASM_OUTPUT_ASCII): Override version in svr4.h. 1796: 1797: Sun Jan 19 13:16:56 1992 Michael Tiemann (tiemann at cygnus.com) 1798: 1799: * cp-search.c (lookup_field): Accept IS_AGGR_TYPE_CODE, not 1800: just == RECORD_TYPE. 1801: 1802: * cp-class.c (finish_struct): Clear a tentative setting of 1803: DECL_BIT_FIELD. 1804: 1805: * cp-decl.c (start_decl): Don't call `pushclass' for incomplete 1806: CONTEXT. 1807: 1808: * cp-typeck.c (comp_target_types): Call `comp_target_parms' with 1809: STRICT == 0, not -1. 1810: (build_conditional_expr): Check that the target types of TYPE1 and 1811: TYPE2 are aggr type before calling `common_base_type'. 1812: 1813: Sun Jan 19 04:10:16 1992 James Van Artsdalen (james at bigtex.cactus.org) 1814: 1815: * configure: Fix typo inserting INSTALL=cp into makefile. 1816: 1817: Sat Jan 18 12:06:58 1992 Michael Tiemann (tiemann at cygnus.com) 1818: 1819: * cp-lex.c (build_with_cleanup): Delete obsolete function. 1820: * cp-tree.c (break_out_cleanups): New function. 1821: * cp-decl.c (cplus_expand_expr): Call `break_out_cleanups'. 1822: * cp-typeck.c (build_compound_expr): Ditto. 1823: 1824: * cp-call.c (convert_harshness): Make any inheritance relationship 1825: preferable to a void* conversion. 1826: * cp-tree.h (CLASSTYPE_MAX_DEPTH): New macro. 1827: * cp-class.c (finish_struct_bits): Set CLASSTYPE_MAX_DEPTH. 1828: 1829: * cp-cvt.c (build_up_reference): Don't return in ARRAY_REF case, 1830: since we may need to adjust the return value for complex 1831: inheritance. 1832: 1833: * cp-decl2.c (lang_f_options): Add recognizers for -f{no-}builtin, 1834: -f{no-}ident, and -ansi. Also, remove unnecessary "no-*" forms. 1835: 1836: * cp-init.c (emit_base_init): If PEDANTIC, don't let base 1837: initializers leak up the hierarchy. 1838: 1839: * cp-parse.y (structsp): Disable gratuitous error message. 1840: 1841: * cp-call.c (convert_harshness): Don't overlook PENALTY when 1842: signed/unsigned differences are noted (in both POINTER_TYPE and 1843: REFERENCE_TYPE cases). 1844: 1845: * toplev.c (strip_off_ending): Grok ".ii" endings (C++ preprocessed 1846: files). 1847: 1848: * cp-typeck.c (build_component_ref): Add special handler when 1849: COMPONENT is the CLASSTYPE_VFIELD name for BASETYPE. 1850: 1851: Sat Jan 18 08:29:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1852: 1853: * cse.c (cse_insn): Don't make constant pool entries in MODE_CC modes. 1854: 1855: Sat Jan 18 00:28:48 1992 Richard Stallman ([email protected]) 1856: 1857: * Makefile.in (install-common): Fix typo installing gcc. 1858: 1859: * crds.h, isi.h, newpbb.h, tti68k.h: Add #error because -m68000 1860: will cause a crash (I think), to ask people what to do. 1861: 1862: * gmicro.h (ASM_FILE_START): Don't do anything. 1863: (TARGET_DEFAULT): Turn on the bitfield flag. 1864: (TARGET_SWITCHES): Get rid of the bitfield options. 1865: 1866: * c-lex.c (readescape): No warning for \?. 1867: 1868: * protoize.c (munge_compile_params): Fix cast that sets compile_params. 1869: (xmalloc, xrealloc): No longer static. 1870: * Makefile.in (protoize, unprotoize): Add LIBDEPS as deps. 1871: 1872: * va-i860.h (va_arg): Use __extension__ to suppress pedantic warning. 1873: * va-sparc.h, va-spur.h, va-pyr.h: Likewise. 1874: 1875: * x-irix4.h: New file. 1876: * config.sub: Don't convert irix to sysv. 1877: * configure (mips-sgi-irix4*): New configuration. 1878: (mips-sgi-irix*): Renamed from mips-sgi-sysv*. 1879: 1880: * gcc.c (process_command): 1881: Handle the standard_exec_prefix* before the md_*_prefix. 1882: 1883: * i386.h, ns32k.h (PCC_BITFIELD_TYPE_MATTERS): Defined. 1884: 1885: * Makefile.in (libgcc1.null): Depend on GCC_PASSES. 1886: 1887: * cccp.c (lookup_import, add_import): VMS kludges so they compile. 1888: (hack_vms_include_specification): Add forward declaration. 1889: 1890: * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED 1891: just like one of the things done for PCC_BITFIELD_TYPE_MATTERS. 1892: 1893: * x-next, x-i386mach: Deleted. 1894: * t-libc-ok: New file. Define just LIBGCC1. 1895: * configure (i386-*-mach, m68k-next-*): Use t-libc-ok. 1896: 1897: * t-svr4 (FIXINCLUDES): Defined. 1898: * t-m88kv4 (FIXINCLUDES): Defined. 1899: * t-svr3 (EXTRA_PARTS): Defined. 1900: * t-i386sco (EXTRA_PARTS): Defined. 1901: 1902: * configure (sparc-*-sysv4*): New alternative. 1903: 1904: * configure (install_with_cp): New flag an alternative can set. 1905: If host sets it, add INSTALL=cp to Makefile. 1906: Set this for any system V, and for m68k-crds-unos. 1907: 1908: Sat Jan 18 23:15:08 1992 Ron Guilmette (rfg at ncd.com) 1909: 1910: * va-i860.h (va_list): Made __reg_base field type long* to avoid 1911: compilation errors. 1912: (__savereg): Add explicit cast to (__va_saved_regs *). 1913: 1914: Fri Jan 17 15:09:34 1992 James Van Artsdalen (james at bigtex.cactus.org) 1915: 1916: * i386.h (FUNCTION_BOUNDARY): Do larger alignments for i486. 1917: (ASM_OUTPUT_ALIGN_CODE): Same here. 1918: (ASM_OUTPUT_LOOP_ALIGN): But not here - do word aligns as before. 1919: 1920: (enum reg_class): Delete classes ADREG and BREG - neither used nor 1921: useful. Add classes FP_TOP_REG and FP_SECOND_REG. 1922: (REG_CLASS_NAMES): Likewise. 1923: (REG_CLASS_CONTENTS): Likewise. 1924: (REGNO_REG_CLASS): Reflect that change. 1925: (REG_CLASS_FROM_LETTER): Likewise. Add "t" and "u" constraints. 1926: (CLASS_MAX_NREGS): New classes use only 1 hard reg for any mode. 1927: 1928: (CONST_OK_LETTER_P): Document uses of letters. 1929: 1930: * reg-stack.c: Add comments describing rules for asm statements 1931: involving stack-like regs. 1932: (asm_regs): Delete unused variable. 1933: (fatal_for_asm): Delete unused function. 1934: 1935: (get_asm_operand_lengths): New function. 1936: (constrain_asm_operands): New function. Like constrain_operands, 1937: but records some information about the matched alternative. 1938: 1939: (record_asm_reg_life): New function. 1940: (record_reg_life): If INSN is an asm statement, decode operands 1941: and pass to record_asm_reg_life. 1942: (record_reg_life_pat): Abort if any asm is seen here. 1943: 1944: (subst_asm_stack_regs): New function. 1945: (subst_stack_regs): If INSN is an asm statement, decode operands 1946: and pass to subst_asm_stack_regs. When handling REG_UNUSED notes, 1947: emit the pops in the right order. 1948: 1949: (change_stack): New argument to insert any new insns before INSN 1950: instead of after. All callers changed. 1951: 1952: (emit_swap_insn): Abort if the reg is not found in REGSTACK. 1953: 1954: * Makefile.in (reg-stack.o): Depends on insn-config.h. 1955: 1956: Fri Jan 17 16:38:32 1992 Richard Stallman ([email protected]) 1957: 1958: * toplev.c, flags.h (in_system_header): Declare here. 1959: * c-lex.c, cp-lex.c (in_system_header): Not here. 1960: * toplev.c (rest_of_compilation): Don't warn of unused static function 1961: if definition is in a system header. 1962: 1963: * gcc.c (do_spec_1): Add missing arg in recursive call. 1964: (link_command_spec): Don't pass -s, -S, -u*, -X, -Y*. 1965: 1966: Fri Jan 17 12:51:28 1992 Jim Wilson (wilson at cygnus.com) 1967: 1968: From Tiemann: 1969: * rtlanal.c (reg_set_between_p): Call `reg_set_p' with INSN, not the 1970: body of INSN so that CALL_INSNs are properly handled. 1971: * explow.c (find_next_ref): Ditto. 1972: 1973: * hp800.h, hp800.md: Delete RCS Header variables. 1974: 1975: * reg-stack.c (replace_reg): Change `abort' to `abort ()'. 1976: 1977: Fri Jan 17 14:30:14 1992 Michael Meissner (meissner at osf.org) 1978: 1979: * caller-save.c (insert_save_restore): Don't pass a CODE_LABEL to 1980: reg_mentioned_p when the machine has a condition code, since 1981: CODE_LABEL's don't have the same format as normal INSN's do. 1982: 1983: Fri Jan 17 13:24:33 1992 Tom Wood (wood at dg-rtp.dg.com) 1984: 1985: * Makefile.in (unprotoize.o): Use the rm -f option. 1986: 1987: * cp-lex.c (check_newline): Define `used_up' as in c-lex.c. 1988: (in_system_header): Define as in c-lex.c. 1989: 1990: Fri Jan 17 08:14:04 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 1991: 1992: * reorg.c (delete_from_delay_slot): Pass correct length to 1993: emit_delay_sequence. 1994: 1995: * genattrtab.c (substitute_address): Handle IF_THEN_ELSE in addition 1996: to COND. 1997: 1998: * expr.c (expand_builtin, case BUILT_IN_STRLEN): Correct args in 1999: expand_expr call. 2000: 2001: Fri Jan 17 17:33:40 1992 James Van Artsdalen (james@raid) 2002: 2003: * x-i386v4 (CCLIBFLAGS): Delete macro. 2004: (GCC-CFLAGS): Delete macro. Prevented Makefile.in from working. 2005: 2006: Thu Jan 16 17:03:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 2007: 2008: * Makefile.in (cleanconfig): Also delete tconfig.h. 2009: 2010: * varasm.c (assemble_external): Only call ASM_OUTPUT_EXTERNAL once 2011: for each symbol. 2012: (assemble_external_libcall): Fix minor typo in spacing. 2013: 2014: * toplev.c (main): Force error if invalid -W option is used. 2015: 2016: Thu Jan 16 13:35:13 1992 Tom Wood (wood at dg-rtp.dg.com) 2017: 2018: * m88kdgux.h (CPP_PREDEFINES): Added __CLASSIFY_TYPE__ back and 2019: noted when it would be useful. 2020: 2021: * m88k.h (ASM_FILE_END, ASM_OUTPUT_ASCII): Override svr4.h. 2022: 2023: Thu Jan 16 12:37:16 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2024: 2025: * svr4.h (SVR4): Add this back. 2026: 2027: * cccp.c (lookup_import): Use bcmp to compare inodes. 2028: 2029: * cccp.c (main): Handle -idirafter option. 2030: 2031: * m68kv4.h, m88kv4.h, i386v4.h, sparcv4.h, i860v4.h (CPP_PREDEFINES): 2032: Add __svr4__ in case user programs want to distinguish. 2033: 2034: * cp-lex.c (check_newline): Changes like Jan 12 changes in c-lex.c. 2035: 2036: * Makefile.in (install-fixincludes): Renamed from `includes'. 2037: Move comments so some shells are happier. Dep. on install-headers. 2038: 2039: * m88kdgux.h (CPP_PREDEFINES): Add __svr4__. Remove __CLASSIFY_TYPE__. 2040: Add some assertions. 2041: 2042: * c-decl.c (init_decl_processing): Don't give arg type for abort, etc. 2043: Always declare strlen, etc., so -O doesn't alter the warnings. 2044: * expr.c (expand_builtin): Open-code str* or mem* or ffs if -O. 2045: 2046: * c-decl.c (start_function): Fix backwards test for -W* options. 2047: 2048: * protoize.c (GUESSPATHLEN): Treat POSIX like USG--and use just 200. 2049: 2050: * cccp.c (deps_output): Break line iff string is empty. 2051: (do_include): Fix up the deps_output calls. 2052: 2053: * vax.c (print_operand_address): Handle form index + (reg+offset). 2054: 2055: * m88k.h (TARGET_VERSION): Don't use __DATE__. 2056: 2057: * gcc.c (default_compilers): Typos in c++-cpp-output case. 2058: 2059: Thu Jan 16 12:25:51 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 2060: 2061: * loop.c (get_condition): In HAVE_cc0 code, generate a zero with 2062: CONST0_RTX instead of just using const0_rtx. 2063: 2064: * cse.c (cse_isnsn): A CALL_INSN clobbers all fixed regs except 2065: for ap, fp, and sp. 2066: 2067: Thu Jan 16 08:03:40 1992 Tom Wood (wood at dg-rtp.dg.com) 2068: 2069: * c-decl.c (finish_enum): Compute the precision properly if the 2070: maximum value is negative. 2071: 2072: Thu Jan 16 07:40:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2073: 2074: * reorg.c (try_merge_delay_insns, fill_slots_from_thread): Have 2075: update_block put the phantom insn before THREAD. 2076: (update_block): Update block status if WHERE, not INSN, is block head. 2077: 2078: Thu Jan 16 00:28:14 1992 Ron Guilmette (rfg ay ncd.com) 2079: 2080: * i860.c (output_fp_move_double): Fixed typo. 2081: 2082: * protoize.c (GUESSPATHLEN, pointer_type, const_pointer_type): 2083: moved definitions declarations out of conditional region. 2084: (string_list_cons, shortpath, munge_compile_params): Added casts. 2085: (find_extern_def): Fixed string literal to avoid trigraph. 2086: (find_rightmost_formals_list): Fixed to avoid unreached code warnings. 2087: 2088: * svr4.h (ASM_OUTPUT_ASCII): Fixed typo. 2089: 2090: Wed Jan 15 21:58:01 1992 Jeffrey A Law (law at b117b.super.org) 2091: 2092: * sparc.h (SELECT_RTX_SECTION): When generating PIC, place symbolic 2093: operands in the data section. 2094: 2095: Wed Jan 15 21:45:09 1992 Michael Meissner (meissner at osf.org) 2096: 2097: * collect2.c (main): Pass any -b<xx>, -B<xx>, -m<xx>, -f<xx>, and 2098: -V<xx> options to gcc instead of the linker, in order to allow 2099: target switches that affect the size of pointers and search paths to 2100: be passed through. 2101: (main, choose_temp_base): Use TMPDIR environment variable, and the 2102: P_tmpdir macro if defined to locate directory to put temp files. 2103: (whole file): Reorganize so that all of the OSF/rose stuff goes at 2104: the end of the file, rather than being scattered throughout. 2105: (main, scan_prog_file): Invoke scan_prog_file twice, once on each 2106: output of ld. 2107: (scan_prog_file, read_file, write_file): On the second invocation, 2108: rewrite the object file in place, adding a load command to put 2109: __main in the list of initializer functions. This allows users 2110: to put constructors and destructors into shared libraries. 2111: (scan_prog_file): Move debug stuff and error routines to separate 2112: functions. 2113: 2114: Wed Jan 15 17:59:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2115: 2116: * combine.c (can_combine_p): Don't combine if DEST is still a field 2117: assignment after we've tried to expand it. 2118: 2119: Wed Jan 15 16:01:13 1992 James Van Artsdalen (james at bigtex.cactus.org) 2120: 2121: * regclass.c (fix_register): Don't match a null register name. 2122: * varasm.c (decode_reg_name): Likewise. 2123: 2124: * i386.h (HI_REGISTER_NAMES): Give the eliminable arg pointer a 2125: null name. 2126: 2127: Wed Jan 15 13:40:50 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2128: 2129: * gcc.c (default_compilers): Pass -lang-asm, not -lang-asmc, to cpp. 2130: 2131: * gcc.c (process_command): Don't dump md_exec_prefix in specs. 2132: Use the md_... prefixes only if no -b. 2133: 2134: Wed Jan 15 13:35:09 1992 Ron Guilmette (rfg at ncd.com) 2135: 2136: * i386v4.h (RETURN_IN_MEMORY): Definition added. 2137: (CPP_PREDEFINES): Added -DX86 (needed for some system headers). 2138: (ASM_OUTPUT_DWARF_STRING): Deleted. 2139: (ASM_OUTPUT_ASCII): Added specialized definition for i386/svr4. 2140: 2141: * svr4.h (SVR4): Deleted useless define. 2142: (ASM_FILE_END): Added definition. 2143: (ESCAPES, STRING_LIMIT, STRING_ASM_OP, ASM_OUTPUT_LIMITED_STRING): 2144: (ASM_OUTPUT_ASCII): Generic svr4 definitions added. 2145: 2146: * m68kv4.h (CPP_PREDEFINES): Don't define SVR4. 2147: * sparcv4.h (CPP_PREDEFINES): Don't define SVR4. 2148: (ASM_OUTPUT_ASCII): Deleted obsolete definition. 2149: 2150: * xm-svr4.h (SVR4): Removed useless definition. 2151: (POSIX): Added definition for protoize.c. 2152: 2153: * i860b.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Moved from i860.h. 2154: * i860v3.h (ASCII_DATA_ASM_OP): Added OS-specific definition. 2155: * i860v4.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): 2156: Deleted (now in svr4.h). 2157: 2158: * fixinc.svr4: Replaced all occurances of {1,\} in sed command 2159: string with functional equivalents (to avoid bogus results). 2160: 2161: * c-lex.c (readescape): Pass thru escaped x, a, and v if -traditional. 2162: (readescape): Pedantic warning for \?, \(, \{, and \[. 2163: 2164: * dwarfout.c: Updated copyright. 2165: (fundamental_type_code): Abort for all non-fundamental types. 2166: (type_is_fundamental): Return 0 for all non-fundamental types. 2167: (containing_type_attribute, output_ptr_to_mbr_type_die): New functions. 2168: (output_pointer_type_die, output_reference_type_die): Added calls to 2169: equate_type_number_to_die_number. 2170: (output_type): Handle OFFSET_TYPE correctly. 2171: (output_type): Ignore LANG_TYPE (for now). 2172: 2173: Wed Jan 15 09:30:08 1992 Michael Tiemann (tiemann at cygnus.com) 2174: 2175: * All cp-* files: Remove calls to `cleanup_after_call'. 2176: 2177: * cp-method.c (fndecl_as_string): Add a missing space when printing 2178: the return type. 2179: 2180: * cp-typeck.c (build_modify_expr): Treat arrays specially in both 2181: INIT_EXPR and NOP_EXPR cases. Also, if we take the address NEWRHS 2182: when it's not a SAVE_EXPR, build a new NEWRHS using that address. 2183: * cp-tree.c (lvalue_p): Handle WITH_CLEANUP_EXPR case. 2184: 2185: * cp-decl.c (grokvardecl): Don't get tripped up by static class 2186: members of incomplete type. 2187: 2188: Wed Jan 15 09:12:51 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) 2189: 2190: * m68k.c (legitimize_pic_address): Re-enable code which was 2191: mistakenly #ifdef'd out. 2192: 2193: Wed Jan 15 08:12:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2194: 2195: * reload.c (find_reloads): Check for insn not recognized. 2196: 2197: * caller-save.c (reg_{save,restore}_code): New variables. 2198: (init_caller_save): Set them. 2199: (insert_save_restore): Just make SET for pattern of insn and set 2200: code from reg_{save,restore}_code. 2201: (save_call_clobbered_regs): Put restore insns before JUMP_INSN that 2202: ends basic block, but after any other insn that ends the block. 2203: 2204: * sdbout.c (sdbout_symbol): Treat (mem (reg SP)) the same 2205: as (mem (reg FP)). 2206: 2207: * reorg.c (mark_referenced_resources): Fix typo in last change. 2208: (emit_delay_sequences): Update chain correctly when previous or 2209: next insn is also a SEQUENCE. 2210: 2211: Wed Jan 15 08:10:29 1992 Chris Smith (cks at bach.convex.com) 2212: 2213: * t-convex: Use collect2 to link. 2214: * convex.h: remove assembly output defines for old collect2. 2215: * convex.h: define vprintf and wait macros for pcc mode boot of 2216: collect2. 2217: 2218: * convex.h (ASM_OUTPUT_DOUBLE_INT): define. 2219: 2220: * convex.h (DEFAULT_GDB_EXTENSIONS): define as 0 until GDB version 4 2221: port is available. 2222: 2223: * convex.c (ap_reload_needed): Fix comment. 2224: 2225: Wed Jan 15 07:08:25 1992 Tom Wood (wood at dg-rtp.dg.com) 2226: 2227: * m88k.h (CONST_SECTION_FUNCTION): Trivial definition for targets 2228: not based on svr[34].h (m88k-luna). 2229: 2230: * m88k.h (PREDICATE_CODES): Use it. 2231: 2232: * m88k.md (casesi_enter): Don't use bsr.n with -fno-delayed-branch. 2233: * m88k.h (ASM_OUTPUT_CASE_END): The lda goes here when bsr is used. 2234: 2235: * m88k.c (legitimize_address): When converting a symbol_ref for 2236: PIC, add a REG_EQUAL note. 2237: 2238: Wed Jan 15 06:22:34 1992 Michael Meissner (meissner at osf.org) 2239: 2240: * mips.h (MIPS_VERSION): Bump Meissner version # to 8. 2241: (fcmp_op): Add function declaration. 2242: (TARGET_FLOAT64): Support for -mfp64 switch to support the R4000 FR 2243: psw bit, which doubles the number of floating point registers. 2244: (TARGET_SWITCHES): Likewise. 2245: (HARD_REGNO_NREGS): Likewise. 2246: (CLASS_FCMP_OP): New bit for classifing floating point compares. 2247: (PREDICATE_CODES): Add cmp2_op and fcmp_op support. 2248: 2249: * mips.c (various): Move extern declarations from inside of 2250: functions to outside all functions. 2251: (fcmp_op): Match comparison operators for floating point. 2252: (mips_move_2words): Add -mfp64 support. 2253: (override_options): Likewise. 2254: (compute_frame_size): Likewise. 2255: (override_options): Set up for fcmp_op. 2256: (gen_conditional_branch): Redo floating point compares/branches, so 2257: that it is like the rest of the compiler expects -- set cc0 to a 2258: compare operator, instead of the exact test required, and put the 2259: smarts in the branch operators to generate both the test and the 2260: branch. 2261: 2262: * mips.md (cmpdf_eq, cmpdf_lt, cmpdf_le): Delete. 2263: (cmpsf_eq, cmpsf_lt, cmpsf_le): Delete. 2264: (cmpdf_internal): New define insn to match FP compares. 2265: (cmpsf_internal): Likewise. 2266: (branch_fp_true1, branch_fp_true2): Likewise. 2267: (branch_fp_false1, branch_fp_false2): Likewise. 2268: (branch_fp_true, branch_fp_false): New define_insns to match the 2269: branch part of FP compares. 2270: 2271: Wed Jan 15 01:42:39 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 2272: 2273: * unroll.c (copy_loop_body): New parameter copy_notes_from, to 2274: correct problem with bad debug info generated for preconditioned 2275: loops. 2276: (unroll_loops): Fix calls of copy_loop_body to pass new parameter. 2277: 2278: Wed Jan 15 01:01:39 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2279: 2280: * gcc.c (main): Don't use TARGET_VERSION. 2281: (endfile_spec, switches_need_spaces): New vars, initted from macros. 2282: (set_spec, process_command): Read and write those vars. 2283: (do_spec_1, process_command): Use the new vars, not the macros. 2284: (SWITCHES_NEED_SPACES): New default macro definition. 2285: 2286: * Makefile.in (install-common): Install driver as gcc-$(target). 2287: 2288: * gstddef.h (wchar_t): Check for _T_WCHAR. 2289: 2290: * stmt.c (pushcase, pushcase_range): Return 5 if jump into stack level. 2291: * c-parse.y, objc-parse.y (stmt): Print error msg for that. 2292: * cp-parse.y: Likewise. 2293: 2294: Tue Jan 14 23:25:37 1992 Ron Guilmette (rfg at ncd.com) 2295: 2296: * dwarfout.c: Include <string.h> if USG *or* POSIX. 2297: (TREE_UID): Deleted. 2298: (current_funcdef_number): Replacement for TREE_UID. 2299: (dwarfout_file_scope_decl): Increment 2300: current_funcdef_number after each funnction definition is processed. 2301: (pending_sibling_stack_depth): Renamed globally to pending_siblings. 2302: (pending_sibling_stack_size): Renamed to pending_siblings_allocated. 2303: (PENDING_SIBLING_STACK_INCREMENT): Renamed PENDING_SIBLINGS_INCREMENT. 2304: (pending_types_list, pending_types_allocated, pending_types, 2305: PENDING_TYPES_INCREMENT, fake_containing_scope): New vars/macros. 2306: 2307: * dwarfout.c (total_ft_entries): Renamed to ft_entries_allocated. 2308: (valid_ft_entries): Renamed to ft_entries. 2309: (FT_ENTRIES_INCREMENT): Definition added. 2310: (lookup_filename): Expand filename table (when needed) 2311: by adding FT_ENTRIES_INCREMENT more table elements rather than 2312: doubling current size. 2313: (dwarfout_init): Allocate initial filename table. 2314: 2315: * dwarfout.c (INSN_LABEL_FMT, FUNC_END_LABEL_FMT): Use decimal format. 2316: 2317: * dwarfout.c (member_attribute): Rewritten for proper C++ support. 2318: (output_array_type_die, output_set_type_die, output_entry_point_die, 2319: output_enumeration_type_die, output_global_subroutine_die, 2320: output_global_variable_die, output_inline_subroutine_die, 2321: output_local_variable_die, output_member_die, output_pointer_type_die, 2322: output_reference_type_die, output_string_type_die, 2323: output_structure_type_die, output_local_subroutine_die, 2324: output_subroutine_type_die, output_typedef_die, output_union_type_die): 2325: Added calls to member_attribute (for C++). 2326: 2327: * dwarfout.c (inline_attribute): Test for TREE_INLINE in here. 2328: (output_global_subroutine_die, output_local_subroutine_die): 2329: Don't test for TREE_INLINE here. 2330: 2331: * dwarfout.c (output_formal_types): Fixed to handle METHOD_TYPE 2332: nodes and to output all related type DIEs last (for SDB). 2333: (type_ok_for_scope, output_pending_types_for_scope, pend_type): 2334: Functions added to support C++. 2335: (output_type, output_decl): Added `containing_scope' 2336: parameter to handle C++ nested types. 2337: (output_type): Don't output the type unless it's OK 2338: for the current DIE chain (i.e. unless it's OK for the current scope). 2339: (output_type): Output completed non-global tagged types 2340: right away even if not finalizing. 2341: (output_type): Use correct method to get head of chain 2342: of C++ function members. 2343: (output_decl): Skip first item on chain of DECL_ARGUMENTS 2344: for a FUNCTION_DECL whose type is a METHOD_TYPE. 2345: Suppress output of type DIEs for formal parms of a FUNCTION_DECL 2346: until after all TAG_parameter DIEs have been output (for SDB 2347: compatability). 2348: Output DIEs for any LABEL_DECL nodes attached to outermost BLOCK of 2349: a FUNCTION_DECL. 2350: Handle LABEL_DECL nodes. 2351: 2352: * dwarfout.c (dwarfout_file_scope_decl): Un-pend all pending file- 2353: scope types after each file-scope declaration is output. 2354: (output_decls_for_scope): Un-pend all pending local types 2355: at end of each local scope. 2356: 2357: Tue Jan 14 16:40:39 1992 Tim Moore (moore at fast.cs.utah.edu) 2358: 2359: * calls.c (expand_call): If ARGS_GROW_DOWNWARD, make slot_offset 2360: negative and set highest_outgoing_arg_in_use to needed + 1. 2361: (store_one_arg): If ARGS_GROW_DOWNWARD deal with negative slot_offset. 2362: 2363: Tue Jan 14 20:01:59 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 2364: 2365: * sparc.h (TARGET_SUN_ASM, TARGET_GNU): Delete support for 2366: obsolete and undocumented flags -msun-asm and -mgnu. 2367: * sparc.md: Likewise. 2368: 2369: Tue Jan 14 19:36:21 1992 Tim Moore (moore at fast.cs.utah.edu) 2370: 2371: * xm-hp800.h (hpux8): define. 2372: * hp800.h (LINK_SPEC): Conditionalize on hpux8. 2373: (STACK_BOUNDARY): Define for snake. 2374: (CALL_USED_REGISTERS): Shift register is special. 2375: (HARD_REGNO_MODE_OK): Don't allow modes smaller that SImode in fp 2376: registers. 2377: (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Eliminate 2378: GENERAL_OR_FP_REGS, GENERAL_OR_SNAKE_FP_REGS classes. 2379: (FUNCTION_ARG): Handle snake fp arguments. 2380: (ASM_DOUBLE_ARG_DESCRIPTORS): define. 2381: (ASM_DECLARE_FUNCTION_NAME): Use above macro to get around hpux 2382: 8.0 change. 2383: * hp800.md (movsi, movdi): Add ! and * to constraints of anonymous 2384: define-insns to discourage SImode values in fp registers. Don't 2385: modify the stack pointer when moving between general and fp registers. 2386: (mulsi): Take out pattern that matches a degenerate multiplication 2387: by 1; it doesn't seem to be needed and causes problems. 2388: (sar_sub): Change so that const_int isn't the first argument of 2389: the comparison. 2390: * hp800.c (output_fp_move_double): As above, don't modify the 2391: stack pointer when moving between general and fp registers. 2392: (output_block_move): Don't make one CONST_INT rtx and store 2393: different integer values in it; cons up a "new" one for each value. 2394: (output_floatsisf2, output_floatsidf2): Fix typos. 2395: (output_arg_descriptor): Conditionalize for HPUX 8.0. 2396: 2397: Tue Jan 14 14:38:09 1992 Michael Tiemann (tiemann at cygnus.com) 2398: 2399: * cp-typeck.c (build_unary_op): Call readonly_warning_or_error if 2400: ARG is TREE_READONLY (in addition to the type being TYPE_READONLY). 2401: 2402: * cp-init.c (maybe_adjust_addr_for_delete): If the adjustment needs 2403: to be done, zero out the storage that held part of the cookie. 2404: 2405: Tue Jan 14 13:12:48 1991 Ron Guilmette (rfg at ncd.com) 2406: 2407: * c-decl.c (poplevel): Set TYPE_CONTEXT for each tagged type 2408: except inside function declaration parm list. 2409: (grokdeclarator): Set TYPE_CONTEXT for tagged type in decl parm list. 2410: (pushtag): Don't set TYPE_CONTEXT for tagged types here. 2411: 2412: Tue Jan 14 06:46:37 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2413: 2414: * global-alloc.c (global_alloc): Count multi-word pseudos correctly 2415: in local_reg_n_refs. 2416: (find_reg): Evict pseudos that overlap the register we take, not just 2417: that start with that register. 2418: 2419: * a29k.c (a29k_debug_reg_map): New variable. 2420: (output_prologue): Initialize it. 2421: * a29k.h (DBX_REGISTER_NUMBER): Use that map. 2422: 2423: * ultrix.h (WCHAR_TYPE): Make definition be a known type. 2424: 2425: * final.c (final_scan_insn): Call DBR_OUTPUT_SEQEND before we 2426: clear `final_sequence', so it can call dbr_sequence_length. 2427: 2428: * reload1.c (reload): Clear insn_needs once we know we have 2429: reloads, instead of always. 2430: Don't skip processing of reloads for CALL_INSNs when caller-save 2431: needs a spill register. 2432: 2433: * flow.c (mark_used_regs, case RETURN): Insert missing test for global 2434: registers. 2435: 2436: * reorg.c (mark_referenced_resources): Mark asm's as volatile 2437: when appropriate. 2438: 2439: * integrate.h (struct inline_remap): New field const_equiv_map_size. 2440: * integrate.c (expand_inline_function): Set it; make larger map. 2441: (subst_constants): Don't reference out-of-range entry in equiv map. 2442: * unroll.c (unroll_loop): Set const_equiv_map_size. 2443: 2444: Mon Jan 13 19:12:18 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 2445: 2446: * unroll.c (find_splittable_givs): When completely unrolling loop, 2447: use biv initial value stored in splittable_regs instead of 2448: bl->initial_value, since the later may not be safe. 2449: 2450: * sched.c (schedule_block): When calculating whether a register 2451: crosses a call, must do this after registers are killed and before 2452: new registers are made live. 2453: 2454: * x-rs6000: Define INSTALL as /usr/ucb/install -c. /etc/install 2455: (the SYS V version) does not handle -c option as Makefile.in 2456: intends it. 2457: 2458: Mon Jan 13 11:21:24 1992 Michael Meissner (meissner at osf.org) 2459: 2460: * mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and 2461: N_RBRAC stabs for compatibility with other stabs implementations. 2462: 2463: Mon Jan 13 07:41:32 1992 Michael Tiemann (tiemann at cygnus.com) 2464: 2465: * cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here. 2466: TREE_PRIVATE is only for visibility. 2467: (start_function): Don't test TREE_PRIVATE here. #pragma 2468: interface/implementation should properly handle the case of static 2469: (i.e. non-public) defns in implementation section now. 2470: 2471: Mon Jan 13 07:31:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2472: 2473: * rs6000.c (output_ascii): The AIX assembler silently truncates 2474: strings longer than 666 characters, so break them up well before that. 2475: 2476: Mon Jan 13 00:26:47 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2477: 2478: * c-decl.c (pushdecl): Warn about shadowing at top level any symbol 2479: that was declared among the function parms. But don't warn for 2480: parms in a nested function. 2481: * tree.c (chain_member): New function. 2482: 2483: * sparc.c (output_return): Handle structure value in all the cases. 2484: 2485: * toplev.c (main): -gstabs+ means use stabs with gdb extensions. 2486: 2487: * fixincludes: Insert #undef NULL before #define NULL. 2488: 2489: * gvarargs.h (va_list): Check some macros to avoid redefinition. 2490: 2491: * tree.h (DECL_PACKED): New macro. 2492: * c-common.c (decl_attribute): Handle `packed'. 2493: * stor-layout.c (layout_record): Handle DECL_PACKED. 2494: * c-parse.y (attrib): Accept `packed' with no arg. 2495: 2496: * c-decl.c (shadow_tag): For useless keyword, just warn. 2497: (duplicate_decls): Don't preserve volatile bit from old decl 2498: if that is just a default declaration for abort, exit, etc. 2499: 2500: * cccp.c (do_assert, do_unassert, check_assertion): 2501: No pedantic warnings in system header files. 2502: 2503: * ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined. 2504: (WCHAR_TYPE_SIZE): Defined. 2505: 2506: * i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16. 2507: 2508: * dbxout.c (flag_minimal_debug): Make it static. 2509: 2510: Sun Jan 12 18:10:46 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2511: 2512: * c-lex.c (check_newline): Check #line for `3' meaning system header. 2513: * cccp.c (output_line_command): Output `3' if system header. 2514: * c-tree.h (system_header_p): Declare it. 2515: (ridpointers): Declaration deleted. 2516: 2517: * dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer. 2518: (type_is_fundamental, output_type): Likewise. 2519: 2520: * optabs.c (expand_float): Abort if FROM has VOIDmode. 2521: * expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode. 2522: 2523: Sun Jan 12 16:11:40 1992 Michael Meissner (meissner at osf.org) 2524: 2525: * mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the 2526: .space directive, since the table PREDICATE_CODES generates tickles 2527: a bug. 2528: 2529: Sun Jan 12 15:59:41 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2530: 2531: * expmed.c: Include real.h. 2532: (make_tree): Properly handle CONST_INT and handle many more rtl codes. 2533: (expand_mult_add): Don't do folding here; just call make_tree and fold. 2534: * Makefile.in (expmed.o): Includes real.h. 2535: 2536: Sun Jan 12 12:26:20 1992 Michael Tiemann (tiemann at cygnus.com) 2537: 2538: * cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992. 2539: 2540: * cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after 2541: CURRENT_CLASS_TYPE has been defined. 2542: 2543: * cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a 2544: #pragma implementation or if it's the toplevel file. 2545: 2546: Sat Jan 11 22:04:34 1992 Michael Meissner (meissner at osf.org) 2547: 2548: * mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will 2549: strip the clobbers when substituting a register for a cs'ed value, 2550: unlike GCC 1. 2551: (fix_truncdfsi2_opt): Likewise. 2552: (long long shifts): Fix various typos. 2553: 2554: Sat Jan 11 15:26:24 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2555: 2556: * expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG. 2557: * xm-romp.h (FUNCTION_CONVERSION_BUG): Define it. 2558: 2559: * i386.md (cmpstrsi recognizers): Change back to repz. 2560: 2561: Sat Jan 11 11:18:32 1992 Michael Tiemann (tiemann at cygnus.com) 2562: 2563: * cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the 2564: list that will become DECL_ARGUMENTS. 2565: 2566: * cp-decl2.c (grokfield): Convert () initialization to = 2567: initialization in FIELD context. 2568: * cp-decl.c (parmlist_is_exprlist): Now non-static. 2569: 2570: * cp-decl.c (grokdeclarator): Don't let static class members be 2571: declared `static' at top-level. 2572: 2573: * cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME. 2574: 2575: * cp-decl.c (grokdeclarator): Don't let language linkage interfere 2576: with declarator grokking--the two are independent. 2577: 2578: * cp-call.c (compute_conversion_costs): Look for constructor or type 2579: conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS 2580: or not. Also, `#if 0' some dead code. 2581: 2582: * cp-method.c (report_type_mismatch): Fix bugs in formatting error 2583: messages. 2584: 2585: * cp-decl.c (grokvardecl): Verify that when static class members are 2586: declared at toplevel, the types match their initial declaration. 2587: 2588: Sat Jan 11 08:41:24 1992 Fred Fish (fnf at fishpond) 2589: 2590: * config/m68kv4.h (NO_DOLLAR_IN_LABEL): Undefine so that the 2591: default for m68k/SVR4 systems is to use '$', which is more 2592: widely supported. 2593: 2594: Sat Jan 11 10:56:10 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) 2595: 2596: * Finish PIC implementation on the 68k 2597: * output.h (flag_pic): Declare here so that insn-*.c can see it. 2598: 2599: * reload1.c (reload): When compiling PIC ignore REG_EQUIV notes 2600: which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P. 2601: 2602: * m68k.md (call, call_value): Make these into define_expands. If 2603: compiling PIC code, then load the address of the function into a 2604: register so that we make indirect calls. 2605: (Non-PIC call, call_value): New define_insns. These are 2606: standard call insns. 2607: (PIC call, call_value): New define_insns which output PIC calls. 2608: (movsi): Make this into a define_expand. Legitimize PIC addresses 2609: if necessary. Old movsi code is now an unnamed define_insn pattern. 2610: 2611: * m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P): 2612: Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS 2613: without PIC relocation when compiling PIC code. 2614: 2615: * m68k.c (legitimize_pic_address): New function. Given an address 2616: return that address as "legitimized" PIC code. 2617: (print_operand_address): When generating PIC code, handle PIC 2618: relocated label_refs just like a PIC relocated symbol_ref. 2619: (print_operand_address): If -fpic then add ":w" to displacement in 2620: PIC relocated references. 2621: (print_operand_address): If -fPIC then add ":l" to displacement in 2622: PIC relocated references. 2623: 2624: Fri Jan 10 18:03:08 1992 Ken Raeburn ([email protected]) 2625: 2626: * cp-init.c (build_new): Don't allocate header for arrays if no 2627: destructor is needed. Also fix broken calculation of array size. 2628: (build_delete): Don't skip array header if no destructor is needed. 2629: 2630: Fri Jan 10 14:54:19 1992 Michael Tiemann (tiemann at cygnus.com) 2631: 2632: * cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y 2633: cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn 2634: (from rfg). 2635: 2636: * cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c: 2637: Add (unsigned) casts to all places where native SVr4 compilers 2638: expect to see unsigned values. 2639: 2640: Fri Jan 10 08:34:36 1992 Fred Fish (fnf at sunfish) 2641: 2642: * m68ksgs.h (REGISTER_NAMES): Provide separate versions for 2643: SUPPORT_SUN_FPA defined and not defined. 2644: 2645: Fri Jan 10 22:36:41 1992 (Eric Youngdale at [email protected]) 2646: 2647: * Improve I/O performance of gcc on VMS. 2648: * cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions. 2649: (open, fopen, freopen): Define as macros on VMS. 2650: * toplev.c (VMS_fopen): New function. 2651: (fopen): Define as macro on VMS. 2652: 2653: Fri Jan 10 22:00:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2654: 2655: * genrecog.c (merge_trees): If two trees both have actions, but 2656: one adds clobbers and one doesn't, ignore the one that does. 2657: 2658: * genemit.c (gen_split): Say that we are giving the definition number 2659: in our error message. 2660: * genrecog.c (fatal): Likewise. 2661: * genoutput.c (scan_operands): Likewise. 2662: 2663: * caller-save.c: Include expr.h (for gen_move_insn). 2664: (regno_save_elim): Deleted. 2665: (init_save_areas): Don't initialize it. 2666: (setup_save_areas): Don't set it. 2667: (save_call_clobbered_regs, restore_referenced_regs): Accept mode, 2668: not spill register. 2669: (insert_save_restore): Don't do our own register elimination and 2670: reloading; instead set the insns we make to the desired mode. 2671: * reload1.c (struct elim_table): New field MAX_OFFSET. 2672: (reload): Always call init_save_areas. 2673: Initialize max_offset each pass. 2674: At each CALL_INSN, create a need for a spill register that will 2675: be used by caller-save. 2676: Pass mode for insns to save_call_clobbered_regs instead of a 2677: spill reg number. 2678: Call reload_as_needed if we will have to reload the caller-save 2679: insns, even if nothing else needs reload (unlikely). 2680: (eliminate_regs_in_insn): Record maximum offset value. 2681: * Makefile.in (caller-save.o): Includes expr.h. 2682: 2683: * reload.c (find_reloads): CALL_INSNs can't have output reloads. 2684: * reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN 2685: in front of any immediately-preceeding USE insns. 2686: 2687: * flow.c (life_analysis): Mark all global regs as live at the end of 2688: the function. 2689: (propagate_block): Each call makes all global registers live. 2690: (mark_used_regs): A RETURN may use the stack pointer and uses all 2691: global regs. 2692: * cse.c (cse_insn): A CALL_INSN clobbers any global regs. 2693: * reorg.c (mark_referenced_resources): Calls used global regs. 2694: (mark_set_resources): CALL_INSNs clobber global regs. 2695: 2696: Fri Jan 10 17:24:06 1992 Michael Meissner (meissner at osf.org) 2697: 2698: * collect2.c (whole file): Major rewrite to merge in collect3 2699: functionality which uses GCC to build up the constructor and 2700: destructor tables, instead of using the assembler. Also improve 2701: the support for cross compilers to find the tools. The old assembly 2702: language support has been removed. 2703: 2704: * mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump 2705: also. 2706: (MIPS_IS_STAB): Likewise. 2707: (MIPS_MARK_STAB): Likewise. 2708: (MIPS_UNMARK_STAB): Likewise. 2709: 2710: * mips-tdump.c (various): Changes by Per Bothner to print 2711: encapsulated stabs, and to shorten the output. 2712: 2713: * mips.h (MIPS_VERSION): Set Meissner version # to 7. 2714: (cmp2_op): Make cmp2_op a real function instead of just a 2715: macro to cmp_op. 2716: (OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and 2717: flag_schedule_insns_after_reload. 2718: (CC1_SPEC): Fix typo preventing -mgpopt from being set if 2719: optimization. 2720: (PREDICATE_CODES): Define. 2721: (USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in 2722: GCC 2.00. 2723: (ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise. 2724: (CODE_MASK): Move from mips-tfile. 2725: (MIPS_IS_STAB): Likewise. 2726: (MIPS_MARK_STAB): Likewise. 2727: (MIPS_UNMARK_STAB): Likewise. 2728: 2729: * mips.c (cmp2_op): Make this a real function, instead of a macro 2730: pointing to cmp_op. 2731: (volatile_buffer): New static variable to support .set volatile. 2732: (mips_move_1word): Do .set volatile/.set novolatile around volatile 2733: memory references. 2734: (mips_move_2words): Likewise. 2735: 2736: * mips.md (sne define_split): Fix so that it generates a gtu 0. 2737: (all set cc define_splits): Remove reload_completed tests. 2738: (all set cc define_insns): Don't allow 0 as operand 1. 2739: 2740: Fri Jan 10 16:40:45 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) 2741: 2742: * m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes): 2743: Perform small (8 < N <= 16) constant additions and subractions to 2744: address registers with two addqw (or subqw) instructions. 2745: 2746: Fri Jan 10 06:54:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2747: 2748: * calls.c (expand_call): Check for _longjmp as well as longjmp; 2749: clean up code a bit and merge with check for setjmp-like names. 2750: Emit a BARRIER if this is a call to longjmp in addition to 2751: volatile calls. 2752: 2753: Fri Jan 10 02:25:54 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2754: 2755: * c-typeck.c (digest_init): Properly return error_mark_node 2756: after invalid element in array initializer. 2757: 2758: * gcc.c (pexecute): Use `fork' in error message if don't have vfork. 2759: 2760: * Makefile.in: Add .NOEXPORT. 2761: 2762: Thu Jan 9 13:36:25 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2763: 2764: * expr.c (expand_expr): Handle OFFSET_REF. 2765: 2766: * cse.c (simplify_binary_operation): Never use associative law for 2767: floating arithmetic. 2768: 2769: * fixinc.svr4: Renamed INCLUDES to INPUT. 2770: 2771: * i386.md (cmpstrsi recognizers): Output repe, not repz. 2772: 2773: Thu Jan 9 18:02:34 1992 Dennis P. Glatting (dennisg at tti) 2774: 2775: * tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format. Old format 2776: was recognized as destructors not constructors. 2777: * objc-actions.c (build_module_descriptor): 2778: Null-terminate global_object_name. 2779: 2780: Thu Jan 9 10:35:58 1992 Tom Wood (wood at dg-rtp.dg.com) 2781: 2782: * sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL. 2783: 2784: Thu Jan 9 08:17:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2785: 2786: * fold-const.c (merge_component_references): Treat constants as 2787: unsigned, so we don't get extra sign bits where we don't want them. 2788: 2789: Wed Jan 8 19:12:59 1992 James Van Artsdalen (james at bigtex.cactus.org) 2790: 2791: * reload.c (combine_reloads): Don't use a fixed_reg as an reload 2792: reg, even if it dies. 2793: 2794: * loop.c (record_giv): Fix typo extracting insn_uid. 2795: 2796: Wed Jan 8 15:41:10 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2797: 2798: * cpp.texi, gcc.texi: Files renamed. 2799: * invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles. 2800: * Makefile.in: Corresponding changes. 2801: 2802: * fixincludes: Renamed INCLUDES to INPUT. 2803: 2804: * m68k.c (notice_update_cc, print_operand): Fix typos. 2805: 2806: * cp-decl.c (expand_static_init): Save and restore current obstacks. 2807: 2808: * c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block. 2809: 2810: Wed Jan 8 12:53:48 1992 Michael Tiemann (tiemann at cygnus.com) 2811: 2812: * cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during 2813: expansion. 2814: 2815: Wed Jan 8 07:45:58 1992 Tom Wood (wood at dg-rtp.dg.com) 2816: 2817: * m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files. 2818: 2819: * configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}. 2820: 2821: Wed Jan 8 06:01:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2822: 2823: * romp.md (mftbi): Allow memory in the contraints since there can't 2824: be an input reload on an insn that uses cc0. 2825: 2826: * cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx. 2827: (NONZERO_BASE_PLUS_P): New macro. 2828: (find_comparison, simplify_relational_operation_args): Use 2829: NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate. 2830: 2831: * m68k.md (peepholes): Don't change around stack adjusts and pushes 2832: when we are pushing something whose address involves sp. 2833: 2834: * cse.c (simplify_unary_operation): Check for operations on 2835: integers by looking at mode of OP, not output mode, to avoid 2836: confusion with FIX operations whose result is an integer. 2837: 2838: * rtl.h ([df]const[012]_rtx): Deleted. 2839: (const_tiny_rtx): New declaration. 2840: (CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx. 2841: (CONST1_RTX, CONST2_RTX): New macros. 2842: * emit-rtl.c ([df]const[012]_rtx): Deleted. 2843: (const_tiny_rtx): New definition. 2844: (init_emit_once): Initialize const_tiny_rtx instead of old vars. 2845: * cse.c (simpify_binary_operation): Use CONST[01]_RTX. 2846: * varasm.c (immed_real_const_1): Likewise. 2847: * combine.c (subst): Likewise. 2848: * reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise. 2849: * convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise. 2850: 2851: Tue Jan 7 22:11:17 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2852: 2853: * x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix. 2854: 2855: * protoize.c (_POSIX_SOURCE): Define only if POSIX. 2856: 2857: * m68k.h (FPA_REG_P): Always define this somehow. 2858: 2859: * c-decl.c (c_decode_option): Handle -Wchar-subscripts. 2860: * c-typeck.c (build_array_ref): Do the real work. 2861: 2862: Tue Jan 7 21:15:54 1992 Michael Meissner (meissner at osf.org) 2863: 2864: * mips.md (branch_zero_false): Use correct mode (CC_0) on 2865: match_operator. 2866: 2867: Tue Jan 7 14:24:45 1992 James Van Artsdalen (james at bigtex.cactus.org) 2868: 2869: * reg-stack.c (replace_reg): get mode class from a mode, not a reg. 2870: 2871: Tue Jan 7 14:16:18 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2872: 2873: * reg-stack.c (emit_pop_insn): Fix typo FPmode_reg. 2874: 2875: * protoize.c (longjmp): Don't declare it. 2876: 2877: Tue Jan 7 09:47:47 1992 Michael Tiemann (tiemann at cygnus.com) 2878: 2879: * cp-lex.c (real_yylex): From John Hassey, allocate space for the 2880: terminating null on wide character literals. 2881: 2882: Tue Jan 7 07:41:42 1992 Tom Wood (wood at dg-rtp.dg.com) 2883: 2884: * m88kv3.h (LIB_SPEC): Add -lg. 2885: 2886: Tue Jan 7 06:29:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2887: 2888: * stor-layout.c (layout_type): Don't over-align a structure 2889: when strict alignment is not required. 2890: 2891: * rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used. 2892: 2893: * rs6000.md (add-and-compare): Fix duplicate operand number. 2894: 2895: * a29k.md (inbyte, inhw): Correct duplicate operand number. 2896: 2897: * fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)). 2898: * combine.c (subst, case MULT): Likewise. 2899: (simplify_shift_const, shift cases): Similarly, associate A << B << C. 2900: 2901: * genoutput.c (seen): New array. 2902: (scan_operands): Give error if an operand number was specified 2903: twice. Include pattern number in error message. 2904: (gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'. 2905: (gen_split, gen_peephole): Add initializations for arrays that 2906: are copied. 2907: 2908: * optabs.c (expand_unop): Complete recent change; one TARGET was 2909: not changed to TEMP. 2910: 2911: * expmed.c (expand_mult): Always try multiplication by value and 2912: by negated value. Fix bug where we don't include the cost of the negate 2913: when seeing which way is better. Write proper value in REG_EQUAL 2914: note. 2915: 2916: * optabs.c (extendtab): Replacement for {zero,sign}_extend_codes. 2917: (can_extend_p): Use new table and return type is not enum insn_code. 2918: (gen_extend_insn): Deleted; not used. 2919: (init_extends): Make like init_flottab: use new table and initialize 2920: unused entries to CODE_FOR_nothing, not zero. 2921: * expr.c (convert_move): can_extend_p fails if it returns 2922: CODE_FOR_nothing, not zero. 2923: * expr.h (can_extend_p): Add definition. 2924: 2925: * expr.h: Add "extern" to function definitions. 2926: 2927: Mon Jan 6 10:12:34 1992 Leonard Norrgard (vinsci at nic.funet.fi) 2928: 2929: * m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the 2930: optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA. 2931: * m68k.h (SUPPORT_SUN_FPA): Likewise. 2932: 2933: * m68k.c (notice_update_cc): New function. 2934: * m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc. 2935: 2936: * sun3.h (SUPPORT_SUN_FPA): New define. 2937: 2938: Mon Jan 6 16:42:43 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 2939: 2940: * varasm.c (assemble_global, assemble_label): New functions. 2941: * objc-actions.c (finish_objc): Call them to define and globalize. 2942: Use output_constant to reference a class. 2943: 2944: * Makefile.in (install-limits-h): New target. 2945: (install-headers): Depend on install-limits-h. 2946: (USER_H): Deleted LIMITS_H. 2947: (INSTALLED_H): Added limits.h. 2948: (mostlyclean): Remove tmp-limits.h. 2949: * limitx.h: New file. 2950: 2951: * x-isc: File deleted. 2952: 2953: * objc-actions.c (build_module_descriptor): Init global_object_name. 2954: 2955: * Makefile.in (collect2): Depend on version.o. 2956: 2957: * protoize.c (PATH_MAX): Definition deleted. Just test it 2958: to see if param.h should be included. 2959: 2960: * cse.c (simplify_binary_operation, case MULT): Make a copy 2961: of the operand when converting 2.0 * X to X+X. 2962: 2963: * reload.c (find_reloads): Refine when we set force_reload and 2964: better document the cases. 2965: 2966: Mon Jan 6 08:22:19 1992 James Van Artsdalen (james at bigtex.cactus.org) 2967: 2968: * i386.c (output_float_compare): Output only single-pop compare 2969: if both operands are the FP top of stack reg. 2970: When comparing FP top of stack with itself, print `%st(0)' as the 2971: reg name, not `%st'. 2972: 2973: Mon Jan 6 12:01:51 1992 Tiggr (rcpieter at mole.gnu.ai.mit.edu) 2974: 2975: * arm.md (mulsi3): Fixed contraints. 2976: 2977: Mon Jan 6 08:21:46 1992 Tom Wood (wood at dg-rtp.dg.com) 2978: 2979: * m88k-move.sh: Renamed from m88k-movstr.sh. Rename the generated 2980: files move*.asm from movstr*.asm to be SVR3-legit. 2981: * t-m88k, t-m88kluna, t-m88kv4: Use the new names. 2982: 2983: * c-aux-info.c, dbxout.c: Include errno.h as in protoize.c. 2984: 2985: * Makefile.in (BISONFLAGS): Don't use -v since *.output is big. 2986: (cp-parse.c): Do use -d to create cp-parse.h. 2987: (cp-parse.o): Don't define PARSE_OUTPUT. 2988: * x-mips, x-m88kdgux (BISONFLAGS): No -v. 2989: 2990: Mon Jan 6 07:54:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 2991: 2992: * genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the 2993: natural order so we see an operand before we see a MATCH_DUP referring 2994: to it. 2995: 2996: * genrecog.c (write_tree_1): Simplify code that writes braces and 2997: avoid writing them unnecessarily. 2998: Don't write dead code when last test was unconditional. 2999: 3000: * optabs.c (expand_binop, expand_twoval_binop, expand_unop): 3001: Standardize loop for wider mode. 3002: (emit_cmp_insn, emit_float_lib_cmp): Likewise. 3003: (expand_binop): Correct how extensions are done: use convert_to_mode, 3004: don't use SUBREG for non-integer operations, and remove test 3005: involving HOST_BITS_PER_INT. 3006: (expand_unop): Similar changes; make code closer to expand_binop. 3007: Handle failure of recursive call when expanding. Fix incorrect use 3008: of TEMP when widening. Use SUBREG for NEG and NOT. 3009: 3010: * reload.c (find_reloads_address_part): New function. 3011: (find_reloads_address): Call it instead of push_reload when we are 3012: reloading a PLUS or a constant. 3013: 3014: Sun Jan 5 18:34:15 1992 (Eric Youngdale at [email protected]) 3015: 3016: * make-cc1.com: Change file names from cp-tab.* to cp-parse.*. 3017: 3018: Sun Jan 5 18:06:11 1992 Michael Tiemann (tiemann at cygnus.com) 3019: 3020: * cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE 3021: parameters when TYPE_REFERENCE_TO is automagically converted. 3022: 3023: Sun Jan 5 05:19:19 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3024: 3025: * tree.h (CONSTRUCTOR_NAME_FORMAT): New macro. 3026: * objc-actions.c (build_module_descriptor): Make constructor name 3027: from name of file or of a global that it defines. 3028: Return constructor name. 3029: (finish_objc): Use name returned as name to call. 3030: 3031: * protoize.c (GUESSPATHLEN): New macro. 3032: (main): Use that for initial buffer size for getcwd. 3033: * dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c. 3034: (dbxout_init): Call getcwd in loop, as in protoize.c. 3035: * c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c. 3036: (gen_aux_info_record): Call getcwd in loop. 3037: * i386v.h, i386vgas.h (MAXPATHLEN): Don't define. 3038: 3039: * svr3.h (LINK_SPEC): Don't pass -K. 3040: 3041: * reload.c (find_reloads): Do record in non_reloaded_operands if no -O. 3042: 3043: * m68k.c (output_function_prologue, output_function_epilogue): 3044: Add braces and adjust conditionals to fix balance and indentation. 3045: 3046: * objc-actions.c (build_module_descriptor): Mark __objc_file_init used. 3047: 3048: Sat Jan 4 13:27:40 1992 James Van Artsdalen (james at bigtex.cactus.org) 3049: 3050: * protoize.c: unprotoize getcwd & fork declarations. 3051: (edit_fn_declaration): use "VOLATILE", not "volatile". 3052: 3053: Sat Jan 4 20:19:41 1992 Michael Meissner (meissner at osf.org) 3054: 3055: * mips.h (set_volatile): Add new global variable reference. 3056: 3057: * mips.c (set_volatile): New global variable to keep track of the 3058: number of .set volatile's done. At present, no code actually turns 3059: this on. 3060: (mips_move_1word): Use %. instead of putting const0_rtx into an 3061: unused operator and using %z to get to $0, which is hardwired to 0. 3062: (mips_move_2words): Likewise. 3063: (override_options): Allow %., %{, and %} punctuation. 3064: (print_operands): Add support for %. to get the current name of 3065: register 0, %{ to turn on .set volatile, and %} to turn on .set 3066: novolatile. 3067: (function_epilogue): Give an error if .set volatile was left on in 3068: the epilogue. 3069: (mips_asm_file_start): Don't emit .set nobopt unless we are filling 3070: branch delay slots. 3071: 3072: * mips.md (set reg on comparison define_splits): Don't allow the 3073: scheduler to split any set of a comparision insns, to work around a 3074: bug in sched.c. 3075: 3076: Sat Jan 4 23:01:41 1992 Jeffrey A Law (law at planet.super.org) 3077: 3078: * m68k.c (output_function_prolog): Decrement (instead of 3079: increment) num_saved_regs when a frame pointer is needed. 3080: (the link/unlk will restore the frame pointer register) 3081: 3082: Sat Jan 4 11:11:24 1992 Dennis P. Glatting (dennisg at tti) 3083: 3084: * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining. 3085: 3086: Sat Jan 4 07:40:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3087: 3088: * expr.c (convert_to_mode): Correctly zero-extend a constant into 3089: a mode whose size is twice the host int size. 3090: 3091: * machmode.h (enum mode_class): Add MAX_MODE_CLASS. 3092: (GET_CLASS_NARROWEST_MODE): New macro. 3093: (byte_mode, word_mode): Add declarations. 3094: * caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE. 3095: * combine.c (make_extraction): Don't use explicit QImode and SImode. 3096: * cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have 3097: VOIDmode, not DImode. 3098: (simplify_binary_operation): Remove explicit DFmode reference. 3099: * expmed.c (init_expmed): Don't make our own copy of word_mode. 3100: (store_bit_field, extract_bit_field): Remove explicit 3101: QImode reference; don't recompute word_mode. 3102: (store_fixed_bit_field, {store,extract}_split_bit_field): Don't 3103: recompute word_mode. 3104: (emit_store_flag): Likewise. 3105: (extract_fixed_bit_field): Replace explicit mode references with a 3106: loop on modes; don't recompute word_mode. 3107: * expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't 3108: recompute word_mode. 3109: (emit_push_insn, do_jump_by_parts*): Likewise. 3110: (push_block): Remove explicit QImode reference. 3111: (get_inner_reference): Use mode_for_size. 3112: * emit-rtl.c (restore_reg_data): Make unused regs word_mode. 3113: (operand_subword): Don't recompute word_mode. 3114: * fold-const.c (optimize_bit_field_compare): Likewise. 3115: (merge_component_references): Likewise. 3116: * flow.c (mark_set_1, mark_used_regs): Likewise. 3117: * loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE. 3118: * optabs.c (expand_binop): Replace SImode references in multi-word 3119: multiply with the mode used for each subpart. 3120: (expand_binop, expand_unop): Don't recompute word_mode. 3121: * reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE. 3122: * reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode. 3123: * rtl.c (class_narrowest_mode, byte_mode, word_mode): Define. 3124: (init_rtl): Initialize them. 3125: * sched.c (attach_deaths): Don't recompute word_mode. 3126: * stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE. 3127: (get_best_mode): Likewise. 3128: Don't recompute word_mode. 3129: * unroll.c (unroll_loop): Replace default of SImode with word_mode. 3130: 3131: * calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT. 3132: 3133: Sat Jan 4 03:42:09 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3134: 3135: * protoize.c (pointer_type): Use char * if non-ANSI. 3136: (const_pointer_type): Likewise. 3137: (malloc, realloc): Declare to return pointer_type. 3138: (setjmp): Don't declare, to avoid trouble with macro defns. 3139: (const): If not ANSI, define as empty macro. 3140: 3141: Sat Jan 4 00:59:53 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 3142: 3143: * sparc.c (legitimize_pic_address): When converting a symbol_ref, 3144: use an extra temp reg when -fPIC, and add a REG_EQUAL note to the 3145: insn referencing the global offset table. This allows loop to 3146: optimize these PIC sequences. 3147: 3148: Fri Jan 3 20:29:57 1992 James Van Artsdalen (james at bigtex.cactus.org) 3149: 3150: * i386.md (return): Always output return insns. 3151: 3152: * i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function 3153: is a BARRIER, don't output a function epilogue. 3154: 3155: Fri Jan 3 12:43:09 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3156: 3157: * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL): 3158: Use libgcc.a, not libgcc. 3159: 3160: * protoize.c (STRINGIFY): Provide non-ANSI alternative definition. 3161: 3162: * c-decl.c (get_parm_info): Keep non-parms in the parm list. 3163: 3164: * stmt.c (cost_table): Now short. 3165: (estimate_case_costs): Handle that. 3166: 3167: * Makefile.in (float.h, *protoize.1, gcc.xtar.Z): 3168: Make temp files, then rename. 3169: (clean): Delete those temp files. 3170: 3171: * Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big. 3172: 3173: Fri Jan 3 10:32:31 1992 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 3174: 3175: * Makefile.in (cp-parse.c): Add missing -o flag. 3176: 3177: Fri Jan 3 08:21:04 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3178: 3179: * reg-stack.c: Complete last change (renaming DFmode_reg). 3180: 3181: * expmed.c (init_expmed): Pass dummy pointer to number of clobbers to 3182: recog so it can let us see patterns that need added clobbers. 3183: 3184: Fri Jan 3 07:54:32 1992 Tom Wood (wood at dg-rtp.dg.com) 3185: 3186: * c-decl.c (implicitly_declare): Record whether this is an implicit 3187: declaration before setting IDENTIFIER_IMPLICIT_DECL. 3188: 3189: Thu Jan 2 21:17:12 1992 Michael Meissner (meissner at osf.org) 3190: 3191: * mips.c (compute_frame_size): Don't count FP registers twice. 3192: 3193: Thu Jan 2 14:59:55 1992 Michael Tiemann (tiemann at hal) 3194: 3195: * cp-lex.h: Renamed from cp-parse.h. Now cp-parse.h is the file 3196: created by bison from cp-parse.y. 3197: * Makefile.in: reflect this naming change. 3198: 3199: Thu Jan 2 12:37:32 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3200: 3201: * objc-actions.c (build_obj_method_call): Typo in NEXT case. 3202: 3203: * next.h (HAVE_ATEXIT): Defined. 3204: 3205: * c-decl.c (duplicate_decls): 3206: No error if override decl that has DECL_BUILT_IN_NONANSI. 3207: 3208: * Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big. 3209: 3210: * Makefile.in (protoize, PROTOIZE): Delee these 2 new targets; 3211: `protoize' was redundant. 3212: 3213: * c-typeck.c (build_function_call): If the fn is volatile, 3214: make a pointer-to-volatile-function type pointer. 3215: * calls.c (expand_call): Handle calls to such pointers as volatile. 3216: 3217: * expmed.c (init_expmed): Pass all 3 args to `recog'. 3218: 3219: * varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits. 3220: 3221: * sparc.md (storing SF into mem at symb addr): Fix typos. 3222: 3223: * protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink): 3224: (my_open, my_chmod): Macros that run access, stat,... with casts. 3225: Renamed from former POSIX-only macros and made unconditional. 3226: All calls to these functions also renamed. 3227: 3228: * m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below, 3229: thus making the behavior really change to accept all CONST_DOUBLE. 3230: 3231: * libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c. 3232: * gcc.c (link_command_spec): Link with libgcc.a. 3233: * Makefile.in (libgcc): Rename targets and variables from gnulib. 3234: * *.h, t-*, x-*: Rename refs to those symbols and files. 3235: * expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_... 3236: 3237: * m68k.c (symbolic_operand): Reject all CONST_DOUBLE. 3238: * m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P. 3239: (LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs 3240: that symbolic_operand used to accept. 3241: 3242: Thu Jan 2 21:06:13 1992 James Van Artsdalen (james at bigtex.cactus.org) 3243: 3244: * protoize.c (is_id_char,free_def_dec,check_aux_info): 3245: Don't declare them `inline'. 3246: (save_def_or_dec,munge_compile_params,find_extern_def,check_source, 3247: scan_for_missed_items): Use alloca instead of variable length arrays. 3248: 3249: * Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca. 3250: 3251: Thu Jan 2 21:40:52 1992 Jeffrey A Law (law at b115.super.org) 3252: 3253: * sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2 3254: and higher optimization levels. 3255: 3256: Thu Jan 2 06:46:56 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3257: 3258: * final.c (final_scan_insn): Compare debug_info_level with entries in 3259: its enum, not with integers. 3260: 3261: * reg-stack.c ({SF,DF}mode_reg): Deleted. 3262: (FP_mode_reg): New array, indexed by register and by mode. 3263: (reg_to_stack): Replace initialization of old vars with initialization 3264: of FP_mode_reg. 3265: (replace_reg): Use new array. 3266: 3267: * romp.c, romp.h, romp.md: Rename symbolic_operand to 3268: romp_symbolic_operand. 3269: 3270: * emit-rtl.c (init_emit_once): Create virtual registers before the 3271: structure value regsisters, since the latter might use the former. 3272: 3273: * varasm.c (output_constant): Fix typo: missing arg to expand_expr. 3274: 3275: * vax.md (call_pop, call_pop_value): Use correct register number for 3276: stack pointer. Add new patterns for case of zero args. 3277: 3278: Thu Jan 2 08:12:59 1992 Fred Fish (fnf at sunfish) 3279: 3280: * x-amix: Minor changes to some comments. 3281: * x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS): Remove definitions. 3282: * x-amix (manext): Add definition. 3283: 3284: Thu Jan 2 11:14:28 1991 Ken Raeburn ([email protected]) 3285: 3286: * fold-const.c (fold, case PLUS_EXPR): If association permits 3287: reduction to var+0, convert var to the desired type before returning 3288: it. 3289: 3290: Wed Jan 1 10:37:50 1992 Michael Tiemann (tiemann at cygnus.com) 3291: 3292: * expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) > 3293: BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE). 3294: 3295: * expr.c (expand_expr): In CONSTRUCTOR case, preserve 3296: MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might 3297: not be independent. 3298: 3299: Wed Jan 1 18:32:03 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3300: 3301: * c-parse.y (parmlist_1): Accept `PARMS; PARMS'. 3302: (parmlist_or_identifiers_1): Likewise. Also use plain parmlist_2. 3303: Delete the ([names] decls) syntax. 3304: (defn_parms, defn_parmlist_2): Deleted. 3305: * c-decl.c (get_parm_info): Put parm decls into original order. 3306: Don't nreverse the original decls list. 3307: (pushdecl, duplicate_decls): Avoid error for forward parm decl. 3308: (clear_parm_order): New function. 3309: (push_parm_decl): Record original order of parms. 3310: 3311: * c-decl.c (struct binding_level): New slot subblocks_tag_transparent. 3312: (pushlevel): Use that, not ->parm_flag. 3313: (start_function): Set that slot. 3314: 3315: * config.sub: Always distinguish between amix and sysv4. 3316: Convert commodore to cbm and digital to dec. 3317: 3318: * m68k.md (stack adjust then push SI): New peephole. 3319: 3320: * m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int". 3321: * sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining. 3322: 3323: * cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE. 3324: (LONG_TYPE_SIZE): Add default definition. 3325: 3326: * objc-actions.c: Declare index and rindex. 3327: (build_module_descriptor): Simplify last change. 3328: Use a fixed name for the initialization function. 3329: (init_objc): Don't do constructor here. 3330: (finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME. 3331: 3332: * protoize.c: Unprotoized. 3333: (edit_file): Improve message in -n case. 3334: 3335: * Makefile.in (LANGUAGES): Add proto. 3336: (C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets. 3337: (PROTOIZE, protoize, PROTO): Aliases for proto. 3338: (rest.encap): Delete dep `proto'. 3339: 3340: Wed Jan 1 15:07:41 1992 Michael Meissner (meissner at osf.org) 3341: 3342: * mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than 3343: doing it wrong by hand. If not optimizing, make sign extends from 3344: memory not force the operand into a register first and do two 3345: shifts -- combine already does this when optimizing. 3346: (copyright): Add 1992 to list of years the file was modified. 3347: 3348: Wed Jan 1 06:10:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3349: 3350: * reload1.c (reload): When forcing an illegitimate constant into 3351: memory, use mode of SET_DEST in case constant is VOIDmode. 3352: 3353: * stmt.c (expand_end_case): Pass index type to emit_case_nodes instead 3354: of unsigned flag. 3355: (node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see 3356: if the a node value is at the limit of values of the type. 3357: (node_is_bounded): Accept INDEX_TYPE and pass to above functions; 3358: always call them. 3359: (emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg; 3360: pass index type to recursive calls and to calls to bound checking 3361: functions. 3362: 3363: * varasm.c (assemble_integer_zero): Deleted. 3364: (assemble_integer, assemble_real): New functions. 3365: (output_constant_pool, output_constant): Use new functions. 3366: * final.c (end_final, profile_function): Likewise. 3367: 3368: * calls.c (calls_alloca): Don't interpret operands that are RTL as if 3369: they were trees; check args of nested CALL_EXPR for alloca calls. 3370: 3371: Wed Jan 1 16:51:30 1992 Fred Fish (fnf at fishpond) 3372: 3373: * Makefile.in (manext): Include the '.' character. 3374: (mandir): Don't use manext. 3375: (install-man, uninstall): Change uses of manext. 3376: 3377: Wed Jan 1 21:31:01 1992 Ron Guilmette (rfg at ncd.com) 3378: 3379: * i860.md (cmpeqsi, cmpltsi, cmpgtsi): Made control flow more obvious. 3380: (cmpnesi, cmplesi, cmpgesi): New patterns. 3381: (cmpgeusi, cmpleusi): Fixed bug in compares against zero. 3382: 3383: Tue Dec 31 11:16:37 EST 1991 Dennis P. Glatting (...!uunet!tti!dennisg) 3384: 3385: * objc-actions.c (build_module_descriptor): Emit a constructor 3386: function. Constructor function calls a ObjC run-time routine passing 3387: a pointer to the module's module structure. 3388: (init_objc): Call different constructor function if not Next. 3389: (build_selector_translation_table): Don't give a selector global scope. 3390: Changed in construction of decl_specs. 3391: 3392: Tue Dec 31 18:06:23 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3393: 3394: * genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand". 3395: (same_modes): Properly check when we should ignore a mode test. 3396: 3397: * reload1.c (emit_reload_insns): Only change spill_reg_store for 3398: output reloads. 3399: Clear spill_reg_store when we did an input reload to a spill register. 3400: (delete_output_reload): Use single_set. 3401: (count_occurrences): Don't count use which is SET_DEST. 3402: 3403: Tue Dec 31 16:51:37 1991 Michael Meissner (meissner at osf.org) 3404: 3405: * mips.h (MIPS_VERSION): Change Meissner version # to 6. 3406: (ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile. 3407: (CONSTANT_ALIGNMENT): Align constructors on word boundaries. 3408: 3409: * mips.md (extend*): Replace sign extension insns with a 3410: define_expand that converts the expansion into the appropriate 3411: shifts. Add insns that do sign extension from memory, which the 3412: optimizer will utilitize if the thing being sign extended really 3413: comes from memory. This allows the shifts to compete for CSE, at a 3414: potential cost of generating worse code if reload spills a HI or QI 3415: register to the stack. 3416: (sne define_split): Instead of using a constant 0 as the second 3417: argument to the slti instruction, use a hard coded regisiter 0. 3418: 3419: * mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the 3420: directory where the MIPS compilers live. 3421: (LIB_SPEC): Add crtn.o after all libs. 3422: (STARTFILE_SPEC): Use crt1.o, not crtn.o. 3423: (MACHINE_TYPE): Correct typo, this is System V, not BSD. 3424: Changes are from Ron Guilmette (rfg at ncd.com). 3425: 3426: * configure (mips-*-sysv): Correctly use mips-sysv.h instead of 3427: mips.h. Change is from Ron Guilmette. 3428: 3429: Tue Dec 31 16:51:37 1991 Michael Stump (mrs at charlie.secs.csun.edu) 3430: 3431: * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove 3432: collect2 from EXTRA_PASSES, as collect2 does not need installing as 3433: collect2. Also, change the symlink back to a hard link. 3434: 3435: * Makefile.in: Add collect2 to STAGESTUFF as it is something that 3436: needs removing or moving to stagen, but it should not be installed. 3437: 3438: Tue Dec 31 15:47:50 1991 Michael Tiemann (tiemann at hal) 3439: 3440: * combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so 3441: the lattern can use the result of the former. 3442: 3443: * conditions.h: In comments, refer to `tm.h', since `tm-' is no 3444: longer the form used for these files. 3445: 3446: Tue Dec 31 11:45:26 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3447: 3448: * cp-lex.c (lineno, finput): Decls deleted. 3449: 3450: * global-alloc.c (find_reg): New arg RETRYING. 3451: (retry_global_alloc, global_alloc): Pass that arg. 3452: 3453: * Makefile.in (*protoize, *protoize.o): Compile with CC. 3454: * protoize.c: Include config.h, not tconfig.h. 3455: Always define _POSIX_SOURCE. 3456: 3457: * convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE. 3458: * conv1*.h, conv2*.h: Files deleted. 3459: 3460: * m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined. 3461: 3462: Tue Dec 31 08:08:32 1991 Tom Wood (wood at dg-rtp.dg.com) 3463: 3464: * cexp.y (yylex): Record the parsed characters when dealing with 3465: multibyte characters. 3466: 3467: Mon Dec 30 17:13:30 1991 James Van Artsdalen (james at bigtex.cactus.org) 3468: 3469: * i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the 3470: two operand multiply instead of three operand form: the AT&T 3471: assemblers generate incorrect object code for the latter. 3472: 3473: Mon Dec 30 17:39:36 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3474: 3475: * jump.c (jump_optimize): Complete last change: use expand_and result. 3476: 3477: * reload1.c (emit_reload_insns): Check if reload_in needs a secondary 3478: reload if we have an in-out reload, since it might have been the 3479: output the needed the secondary reload. 3480: 3481: * cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is 3482: VOIDmode, not DImode. 3483: 3484: * fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the 3485: comparison is LE_EXPR or LT_EXPR. 3486: 3487: * calls.c (calls_alloca): New function. 3488: (expand_call): Preexpand any argument that contains a call to alloca 3489: if this call will use the stack. 3490: 3491: * rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation 3492: error. 3493: 3494: * rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix 3495: incorrect definition. 3496: 3497: Mon Dec 30 16:10:46 1991 Michael Meissner (meissner at osf.org) 3498: 3499: * mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt 3500: in favor of -mno-gpopt. 3501: 3502: Mon Dec 30 11:32:05 1991 Michael Tiemann (tiemann at cygnus.com) 3503: 3504: * cp-class.c (build_vtable): If we're doing #pragma interface 3505: and the interface is known, set TREE_PUBLIC, regardless of 3506: TREE_EXTERNAL settings. 3507: 3508: * cp-decl.c (make_temporary_for_reference): Don't call 3509: `convert_pointer_to', since the type may not be an aggr type. 3510: 3511: * cp-decl.c (finish_decl): Now takes 4th arg NEED_POP. 3512: All callers changed. 3513: 3514: * cp-class.c (permanent_obstack): Declare it. 3515: (add_method): push and pop obstacks before changing out of/into 3516: temporary allocation. 3517: * cp-decl.c (implicitly_declare): Add 3518: push_obstacks_nochange/pop_obstacks around changes out of/into 3519: temporary allocation. 3520: (shadow_tag,xref_tag,start_decl,finish_decl): Ditto. 3521: * cp-decl2.c (grokfield,get_temp_name): Ditto. 3522: * cp-except.c ({ansi_}lookup_exception_object): Ditto. 3523: * cp-lex.c (get_time_identifier): Ditto. 3524: * cp-tree.c (build_exception_variant): Ditto. 3525: * cp-typeck.c (mark_addressable): Ditto. 3526: 3527: * cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to 3528: preserve allocation status. Now handled by callers. 3529: 3530: Mon Dec 30 01:44:21 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3531: 3532: * c-lex.c (yyprint): Function moved here. 3533: * c-parse.y, objc-parse.y: Moved from here. 3534: 3535: * Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c): 3536: cd to srcdir to run Bison. 3537: 3538: * c-lex.c (check_newline): Get rid of #ident pedantic warning. 3539: * cccp.c (do_ident): Put it here. 3540: Don't warn if in system header file. 3541: 3542: * cccp.c (main, finclude): Warn if file ends in backslash-newline. 3543: 3544: * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions. 3545: 3546: * global-alloc.c (find_reg): Kick out local regs if that helps. 3547: (global_alloc): Set up vars local_regs_live_length, local_regs_n_refs. 3548: 3549: * protoize.c (do_processing): Fix setting syscalls_absolute_filename. 3550: 3551: * configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives. 3552: * config.sub (*-commodore): Default OS to Amigados. 3553: (-amix*): Allow this as input. 3554: (amiga): New abbreviation. 3555: 3556: * sparc.c (output_function_epilogue): Skip unimp differently in leaf. 3557: Use jmp insn rather than separate add. 3558: (output_return): Skip unimp here too. 3559: * sparc.md (return "peepholes"). Handle skipping the unimp. 3560: 3561: * fold-const.c (fold, optimizing 2*EXPR): Use save_expr. 3562: 3563: * varasm.c (make_decl_rtl): Permit initializer for local explicit reg. 3564: 3565: * c-decl.c (kept_level_p): Changed to also return TRUE for binding 3566: levels which contain only tagged type declarations. 3567: 3568: * calls.c (expand_call): Cleaned up prev change. 3569: 3570: Mon Dec 30 11:29:47 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 3571: 3572: * cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args. 3573: 3574: * calls.c (expand_call): Handle allocating ARGBLOCK in the case 3575: that ACCUMULATE_OUTGOING_ARGS is not defined. 3576: 3577: Mon Dec 30 10:27:11 1991 James Van Artsdalen (james at bigtex.cactus.org) 3578: 3579: * protoize.c: fix typo in <sys/wait.h> inclusion. 3580: 3581: Mon Dec 30 06:16:16 1991 Leonard Norrgard (vinsci at nic.funet.fi) 3582: 3583: * c-decl.c (grokdeclarator): Changed erroneus error message. 3584: 3585: Sun Dec 29 16:16:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3586: 3587: * toplev.c (main): Last -On option wins. 3588: * Makefile.in (ENQUIRE_CFLAGS): Add -O0. 3589: 3590: * Makefile.in (cp-tab.c): Change "expect" message. 3591: 3592: * final.c (leaf_renumber_regs): Renumber just the PATTERN. 3593: 3594: Sun Dec 29 14:20:15 1991 Per Bothner (bothner at cygnus.com) 3595: 3596: * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov 3597: 20) was a little too drastic: If it succeded, no type info was 3598: emitted at all, which made for syntactically invalid stabs. 3599: Instead, just set 'full=0', 3600: * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a 3601: little cleaner. It *seems* to work ... 3602: 3603: Sun Dec 29 07:04:22 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3604: 3605: * expr.c (convert_move): Add truncates from DImode to smaller modes. 3606: (move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit 3607: references to integer modes. 3608: Never need to align greater than BIGGEST_ALIGNMENT. 3609: 3610: * optabs.c (init_extends, init_fixtab, init_floattab, init_optabs): 3611: Add TImode operations. 3612: 3613: * reload.c (find_reloads): Prefer alternatives that reload SCRATCH 3614: instead of something else. 3615: 3616: * rs6000.md (movti): Adjust constraints and alternative order so 3617: we actually get to use the stsi insn. 3618: 3619: * rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to 3620: put a TImode value in r11 as often. 3621: 3622: * caller-save.c (setup_save_areas): New parameter pchanged; set when 3623: memory is allocated. 3624: * reload1.c (reload): Pass pointer to something_changed to 3625: setup_save_areas. 3626: 3627: * loop.c (scan_loop): Don't suppress moving insns that can trap just 3628: because we have passed a call inside a libcall/retval block. 3629: 3630: * jump.c (get_label_before): Don't separate a CALL_INSN from any USE 3631: insns immediately preceeding it. 3632: (get_label_after): Likewise, for following CLOBBERs. 3633: 3634: * cse.c (fold_rtx, case '<'): When seeing if we have seen this 3635: comparison before, use a constant equivalence. 3636: Add test for things like "(a | 1) != 0". 3637: (fold_rtx, case '2'): Move code to handle associative operations to 3638: here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN. 3639: (record_jump_equiv): See if OP1 is equivalent to a constant. 3640: 3641: * jump.c (jump_optimize): Don't pass a SUBREG as a target to 3642: expand_and. 3643: 3644: * combine.c (subst): Never associate floating-point, even if not IEEE. 3645: Associate MAX and MIN operations. 3646: 3647: * output.h (output_asm_insn, asm_fprintf): Add "extern" to decls. 3648: (alter_subreg): Add declaration. 3649: * rs6000.md (movsf, movdf): Don't declare alter_subreg here. 3650: (trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used. 3651: * rs6000.c (rs6000_trunc_used): New name of trunc_used. 3652: * rs6000.h (rs6000_trunc_used): Add declaration. 3653: 3654: Sat Dec 28 18:14:21 1991 Michael Tiemann (tiemann at cygnus.com) 3655: 3656: * cp-method.c (build_overload_name): Don't call OB_FINISH unless END 3657: is nonzero. 3658: 3659: Sat Dec 28 17:46:05 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 3660: 3661: * gcc.c (default_compilers): Handle -ansi in the C++ entries 3662: exactly the same way as the C entries do. 3663: 3664: * rtl.c (add_dependence): Cast enums to int before doing an 3665: ordered comparison, since some compilers can't do this. 3666: 3667: * sparc.c (pic_address_needs_scratch): New function. Returns 3668: true if the pic address X needs a scratch register when loaded. 3669: (legitimize_pic_address): Clean up. New argument SCRATCH, which 3670: is a scratch register for those loads that need it. 3671: (emit_move_sequence): New argument SCRATCH_REG, which is a scratch 3672: register for those loads that need it. When loading a pic label, 3673: set %o7 instead of clobbering it so its value can be used later. 3674: (compute_frame_size): Leaf functions need to allocate space for 3675: register window in frame if size greater than 0. 3676: (print_operand): Delete obsolete %^ which added %o7 to addresses. 3677: All uses of %o7 are now explicit. 3678: * sparc.h: Fix callers of legitimize_pic_address. 3679: (REG_CLASS_FROM_LETTER): Add 'r' case. 3680: (SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to 3681: allocate a scratch register for certain pic address reloads. 3682: (flag_pic): Define as extern so that it will be defined for 3683: insn-emit.c. 3684: * sparc.md: Fix all callers of legitimize_pic_address and 3685: emit_move_sequence. 3686: (reload_insi): New pattern. Used to force reload to allocate a 3687: scratch register for those pic address loads that need one. 3688: (reload_insi+2): When loading pic label, set %o7 instead of 3689: clobbering it. 3690: (movdf, movsf): Reject matches that would require reloading via 3691: use of a condition. 3692: (tablejump): Now a define_expand, so can generate different 3693: pattern when pic. 3694: (pic_tablejump): Explicitly mention in rtl that %o7 is used, 3695: instead of using %^. 3696: 3697: * m88k.h, sparc.h: Delete references to non-existent 3698: BLOCK_PROFILER_USED_REG_P macro. 3699: 3700: Sat Dec 28 14:31:36 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3701: 3702: * c-lex.c (check_newline): Set ignore_escape_flag for reading filename. 3703: (yylex): Handle ignore_escape_flag in string constant. 3704: 3705: * gnulib2.c (__do_global_dtors): Count elements properly. 3706: 3707: * m68k.md (tsthi): Don't allow address register. 3708: 3709: Sat Dec 28 11:49:06 1991 James Van Artsdalen (james at bigtex.cactus.org) 3710: 3711: * final.c (final): Initialize elements of line_note_exists. 3712: 3713: * protoize.c: Don't include <sys/wait.h> on USG unless SVR4. 3714: 3715: Sat Dec 28 11:09:36 1991 Fred Fish (fnf at fishpond) 3716: 3717: * Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref. 3718: 3719: Sat Dec 28 06:31:16 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3720: 3721: * sparc.md (movstrsi): Fix typo testing for more than 32 subunits. 3722: 3723: * genrecog.c: Major rework. 3724: We now check to see if pairs of comparison nodes can have anything 3725: that they both match. If not, they can be reordered. An efficient 3726: ordering is established that groups all nodes with identical rtl 3727: codes inside groups with identical modes. This allows us to generate 3728: a comparison tree that is a list of nested switch statements. 3729: Also, genrecog.c is now indented properly so that debugging is eased. 3730: (add_to_sequence): Enforce mode on the first arg of COMPARE, comparison 3731: operation, SIGN_EXTEND, and ZERO_EXTEND. 3732: 3733: * a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition. 3734: 3735: Fri Dec 27 17:31:48 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 3736: 3737: * a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE): 3738: Add definition. 3739: * rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise. 3740: 3741: * expmed.c (expand_mult): For negative values, try multiplication by 3742: the original value as well as by negated value. 3743: 3744: Fri Dec 27 20:54:59 1991 Fred Fish (fnf at fishpond) 3745: 3746: * m68kv4.h: Include m68ksgs.h rather than m68k.h. 3747: 3748: * m68kv4.h: Define TARGET_DEFAULT to be 68020 + 68881. 3749: (CPP_SPEC): Define based on TARGET_DEFAULT 3750: 3751: * m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this. 3752: (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted. 3753: (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted. 3754: 3755: * m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P): 3756: (FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP): 3757: (FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE): 3758: (STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT): 3759: Redefined to match m68k/SVR4 conventions. 3760: 3761: * m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'. 3762: (ASM_NO_SKIP_IN_TEXT): Defined. 3763: 3764: * amix.h, xm-amix.h, x-amix: New files. 3765: 3766: Fri Dec 27 20:43:11 1991 Michael Tiemann (tiemann at cygnus.com) 3767: 3768: * cp-tree.h (build_overload_name): Declare this function. 3769: * cp-decl2.c, cp-method.c: Delete random `extern' declarations. 3770: 3771: * cp-lex.c (get_directive_line): Declare it extern. 3772: (lineno,yychar,yylval,lastiddecl,finput): Ditto. 3773: (ridpointers): Don't need to declare it here. 3774: (check_newline): Handle new #pragmas. 3775: 3776: * cp-class.c (add_method): Add a cast in call to `obstack_base'. 3777: 3778: Fri Dec 27 20:22:05 1991 Michael Tiemann (tiemann at cygnus.com) 3779: 3780: * cp-decl.c (push_overloaded_decl): Now returns a value. 3781: All callers changed. 3782: 3783: * cp-decl.c (duplicate_decls): Give better error message when user 3784: declaration conflicts with built-in one. Also, when we decide to 3785: keep a builtin function builtin, copy the DECL_RTL from OLDDECL to 3786: NEWDECL. 3787: 3788: Fri Dec 27 17:18:15 1991 Michael Meissner (meissner at osf.org) 3789: 3790: * mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS. 3791: (TRAMPOLINE_SIZE): Define to be 9 words. 3792: (INITIALIZE_TRAMPOLINE): Define correctly for MIPS. 3793: (TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the 3794: trampoline, so that we can jump to it. I suspect the mprotect may 3795: fail on some MIPS based systems, because the trampoline is on the 3796: stack, and not in the data section. 3797: 3798: * mips.c (mips_output_filename): Don't warn about ECOFF not 3799: handling #line's within functions if we are using the OSF/rose 3800: object format. 3801: 3802: Fri Dec 27 15:35:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3803: 3804: * c-typeck.c (build_array_ref): Special warning about `register' array. 3805: 3806: * gnulib2.c (L_trampoline): Don't create a function here. 3807: The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec. 3808: * m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here. 3809: 3810: * fx80.*: Renamed from alliant.*. 3811: * configure: Alternative renamed to fx80-alliant-*. 3812: * config.sub: Corresponding changes. 3813: 3814: * cccp.c (traditional): No longer static. 3815: * cexp.y (yylex): Handle full variety of character constants. 3816: Include stdlib.h and locale.h if needed. 3817: 3818: * c-decl.c (shadow_tag): Change warnings to error or pedwarn. 3819: 3820: * gnulib2.c (__do_global_dtors): If length not given, count it. 3821: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null. 3822: (__CTOR_END__, __DTOR_END__): Declarations deleted. 3823: 3824: * cp-decl2.c (finish_file): Always change $ to _ 3825: regardless of NO_DOLLAR_IN_LABEL. 3826: 3827: Fri Dec 27 15:04:40 1991 Tom Wood (wood at dg-rtp.dg.com) 3828: 3829: * svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo. 3830: 3831: * m88k.c: Move extern decls. 3832: (output_ascii): Use ASCII_DATA_ASM_OP. 3833: * m88k.h (HAVE_ATEXIT): Delete. 3834: (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL, 3835: ASCII_DATA_ASM_OP): Override svr4.h. 3836: (EXTRA_SECTIONS): No ctors/dtors for m88k-luna. 3837: * m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h. 3838: 3839: Fri Dec 27 11:34:59 1991 Ken Raeburn ([email protected]) 3840: 3841: * cp-pt.c (mangle_class_name_for_template): Use a local obstack 3842: rather than fixed-size buffers. 3843: 3844: * cp-class.c (add_method): Case obstack_base value to desired type 3845: when reallocating vector node. 3846: 3847: Fri Dec 27 09:16:50 1991 Ron Guilmette (rfg at ncd.com) 3848: 3849: * sort-protos: New file. 3850: 3851: * i386.c: Remove decls of frame_pointer_needed; include flags.h. 3852: * i386.c (output_387_binary_op, output_float_compare): 3853: Moved declarations of strcat to top level. 3854: 3855: * i860.md (cmpnesf, cmpnedf): New patterns. 3856: * i860.md (cmplesf, cmpgesf): Corrected to allow for IEEE conformance. 3857: 3858: Thu Dec 26 11:20:07 1991 Michael Tiemann (tiemann at cygnus.com) 3859: 3860: * cp-class.c: Declare N_* variables here. 3861: * cp-class.h: Declare N_* variables extern here. 3862: 3863: * cp-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead 3864: of implementing it directly. 3865: * varasm.c (assemble_gc_entry): New function. 3866: 3867: * calls.c (expand_call): Don't crash if somebody declared a void 3868: function `const'. 3869: 3870: * cp-cvt.c (convert): Handle case when two equal array types are 3871: distinct (in memory). 3872: * tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound. 3873: (index_type_equal): New function. 3874: 3875: * cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing 3876: to handle (*)[] and (&)[] declarations as well. 3877: 3878: * cp-decl2.c (finish_file): Unconditionally call 3879: assemble_{constructor,destructor}. Also, delete code for writing 3880: _init and _fini sections that was #if 0'd. These actions belong in 3881: varasm if anywhere. 3882: 3883: * cp-class.c (add_method): Fix handling of obstacks to correctly 3884: extend TREE_VECs. 3885: 3886: Thu Dec 26 15:24:45 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3887: 3888: * cccp.c (main): Add new option -include. Rename -i to -imacros. 3889: * gcc.c (SWITCH_TAKES_ARG): Remove -i. 3890: (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. 3891: * hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives. 3892: * mips.h (SWITCH_TAKES_ARG): Remove -Y and -i. 3893: * next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. 3894: * sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h. 3895: * svr4.h (SWITCH_TAKES_ARG): Remove -i, -f. 3896: (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. 3897: 3898: * toplev.c (flag_gnu_linker): New variable. -fgnu-linker. 3899: * flags.h (flag_gnu_linker): Declare it. 3900: * varasm.c (assemble_constructor, assemble_destructor): 3901: Handle flag_gnu_linker. 3902: 3903: * sparc.md (structure values): Separate unimp pattern deleted. 3904: New pattern for combined call and unimp. `call' pattern changed. 3905: (type): Deleted type marker, added call_no_delay_slot. 3906: 3907: Thu Dec 26 05:04:28 1991 James Van Artsdalen (james at bigtex.cactus.org) 3908: 3909: * reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED, 3910: just pop the SET_SRC. 3911: 3912: Wed Dec 25 17:23:25 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3913: 3914: * c-decl.c (init_decl_processing): Fix type of exit, _exit. 3915: 3916: * jump.c (cross_jump_death_matters): Move def to front, make static. 3917: 3918: Tue Dec 24 20:41:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 3919: 3920: * hard-reg-set.h (reg_names): Declare here. 3921: * stmt.c (expand_asm_operands): Not here. 3922: 3923: * gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*. 3924: 3925: * expr.c (expand_expr): Delete decl of lang_expand_expr. 3926: 3927: * final.c (final_scan_insn): Delete line number followed by another 3928: line number, if numbers are effectively consecutive. 3929: 3930: * jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump. 3931: * reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize. 3932: Don't set cross_jump_death_matters here. 3933: (record_reg_life): Delete decl of call_used_reg_set. 3934: 3935: * c-decl.c (init_decl_processing): 3936: Declare abort, exit, and _exit as volatile. 3937: 3938: * c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier. 3939: (pushdecl): Test that and avoid nested extern warning. 3940: 3941: * c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS. 3942: 3943: Tue Dec 24 15:42:34 1991 Michael Tiemann (tiemann at cygnus.com) 3944: 3945: * cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro 3946: application to strncmp argument. 3947: 3948: * cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead 3949: of relying on fixed buffers of finite length. 3950: (fndecl_as_string): Ditto. 3951: All callers changed. 3952: * cp-except.c (cplus_exception_name): Definition moved to 3953: cp-method.c. 3954: 3955: Tue Dec 24 10:38:49 1991 Michael Collison (collison at osf.org) 3956: 3957: * ns32k.c (hard_regno_mode_ok): Define this as a function now. 3958: Also change the way it work so that we don't allow moves between 3959: the general registers and the floating point registers. 3960: 3961: * ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call. 3962: 3963: * ns32k.md (call_value): fix to correct a bug where the compiler thinks 3964: the return value of a function call is in f0 instead of r0. Fix 3965: courtesy of vince russo. 3966: (movqi, movhi): Fix up these patterns because they could return 3967: undefined instruction templates. Fix courtesy of vince russo. 3968: 3969: Tue Dec 24 10:14:20 1991 Ron Guilmette (rfg at ncd.com) 3970: 3971: * mips-tfile.c (main): Move nested extern decl of version_string to 3972: file-scope. 3973: (catch_signal): Move nested extern decl of sys_siglist to 3974: file-scope. 3975: 3976: * varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON. 3977: * svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New. 3978: (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted. 3979: 3980: * gcc.c (SWITCH_TAKES_ARG, default_compilers): Eliminated -Y* option. 3981: (execute): Moved decls of execv and execvp to top level. 3982: (do_spec, do_spec1, handle_braces, give_switch): Support new %* spec. 3983: 3984: * c-lang.c (recognize_objc_keyword): Added explicit return. 3985: 3986: * svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): New definitions. 3987: (ASM_SPEC, LINK_SPEC): Support more standard svr4 options. 3988: (LIB_SPEC): Fixed to link crtend.o *after* libc.a. 3989: 3990: * svr4.h (CONST_SECTION_FUNCTION): Moved decl of `text_section' to 3991: top level. 3992: 3993: * cexp.y (main): Add explicit return type and explicit value. 3994: Move decl of yydebug to top level. 3995: 3996: * gnulib2.c (__bb_init_func): Moved decl of ___tcov_init to top level. 3997: 3998: * toplev.c (main): Deleted obsolete checks for -opt and -noreg. 3999: Moved decls of environ, version_string, language string to file-scope. 4000: Compile-time error if PREFERRED_DEBUGGING_TYPE is missing. 4001: 4002: * tree.c (dump_tree_statistics): Deleted decl of class_obstack. 4003: (object_permanent_p): Added explicit return type. 4004: 4005: Tue Dec 24 09:29:24 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu) 4006: 4007: * expr.h (lang_expand_expr): Fix typo. 4008: 4009: Tue Dec 24 06:52:45 1991 Michael Meissner (meissner at osf.org) 4010: 4011: * gnulib2.c (__main): Make sure the exit module is pulled in if we 4012: have atexit, since that module defines constructor/destructor 4013: variables as bss symbols rather than as references. 4014: 4015: * decrose.h (HAVE_ATEXIT): Define. 4016: * encrose.h (HAVE_ATEXIT): Define. 4017: * i386rose.h (HAVE_ATEXIT): Define. 4018: * decstatn.h (HAVE_ATEXIT): Define. 4019: 4020: * gcc.texinfo (HAVE_ATEXIT): Expand documentation. 4021: (EXIT_BODY): Document. 4022: 4023: * protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym 4024: for POSIX to make the code and documentation agree. Also, if the 4025: user defined _POSIX_SOURCE explicitly, turn on POSIX support in 4026: protoize. 4027: 4028: Tue Dec 24 00:14:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4029: 4030: * calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE. 4031: Use as arg in call and call_value insns. 4032: (expand_call): Record the size, to pass it. 4033: * expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE. 4034: * sparc.md (call, call_value): Make use of new arg. 4035: Generate an unimp instruction to use sparc calling convention. 4036: Add nameless pattern to recognize it. 4037: * sparc.c (output_function_epilogue): Skip the caller's unimp insn. 4038: 4039: * Makefile.in (INSTALLED_H): New variable. 4040: (includes): Preserve just those specific files. 4041: 4042: * expr.h (lang_expand_expr): Declare it. 4043: * expr.c: Don't declare it. 4044: * cp-expr.c (init_cplus_expand): Set up lang_expand_expr here. 4045: * cp-lex.c (init_lex): Call init_cplus_expand. 4046: 4047: Mon Dec 23 15:17:59 1991 Tom Wood (wood at dg-rtp.dg.com) 4048: 4049: * configure: Delete m88k-v88r32 (this is supported by m88k-svr3) 4050: and add m88k. 4051: * config.sub: Delete v88r as a system type. 4052: 4053: Mon Dec 23 19:50:48 1991 Fred Fish (fnf at fishpond) 4054: 4055: * 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h, 4056: tower-as.h: Replace port oriented macros SGS_3B1, HPUX_ASM, and 4057: SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES, 4058: SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI. 4059: 4060: * m68ksgs.h: New file. 4061: 4062: * m68k.c (print_operand_address): Change switch labels for MOTOROLA. 4063: Don't use a `%'. Add missing `L' to some labels. 4064: For SGS assembler, use one symbol for the offset. 4065: 4066: Mon Dec 23 17:03:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4067: 4068: * recog.h (insn_name): New declaration. 4069: * final.c (output_asm_insn): Don't declare insn_name here. 4070: 4071: * dbxout.c (dbxout_function, dbxout_begin_function): 4072: Pass missing arg to dbxout_really_begin_function. 4073: 4074: * jump.c (jump_optimize): Set new var can_reach_end. 4075: * c-decl.c, cp-decl.c (finish_function): 4076: Merge that into current_function_returns_null. 4077: 4078: * config.sub (fx2800): New machine alias. 4079: 4080: * va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__. 4081: 4082: * m88kv4.h: New version from Wood. 4083: (CPP_PREDEFINES): Put -A options here. Remove __CLASSIFY_TYPE__. 4084: 4085: * cccp.c (initialize_builtins): Define __GNUC__ as 2. 4086: 4087: * rtl.h (read_rtx): New declaration. 4088: 4089: * c-lex.c: Don't include output.h. 4090: (asm_out_file): Declare it. 4091: (ridpointers): Allocate storage here. 4092: 4093: * c-lex.h (lastiddecl, token_buffer): Declare here. 4094: (yylex, make_pointer_declarator, reinit_parse_for_function): Likewise. 4095: * c-parse.y, objc-parse.y: Not here. 4096: 4097: * objc-actions.c (error_with_ivar, error_with_method): 4098: (warn_with_method): Use count_error, not errorcount. 4099: 4100: Mon Dec 23 11:50:37 1991 Ron Guilmette (rfg at ncd.com) 4101: 4102: * sdbout.c: Fixed typo. 4103: * stmt.c (init_stmt, init_stmt_for_function): Explict return type. 4104: * gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls. 4105: * recog.c (init_recog): Added explicit return type. 4106: * longlong.h (count_leading_zeros): Moved decl of `__clz_tab'. 4107: * print-rtl.c (insn_name_ptr): Make decl `extern'. 4108: 4109: * objc-actions.h, objc-actions.c (doing_objc_thang): Make extern. 4110: * objc-actions.h, objc-actions.c (finish_class): Return void. 4111: * objc-actions.c (continue_class): Added default error return value. 4112: 4113: * fixinc.svr4: Map assertion tests to equivalent ANSI macro tests. 4114: 4115: * i860.c (output_block_move): Disabled code to move by words or 4116: halfwords until it can be made to work right. 4117: 4118: * i860.c (output_block_move): Moved a sequence of common 4119: `output_asm_insn' calls out of (and before) conditionals. 4120: 4121: * i860.c (output_block_move): Corrected bugs in move loop. 4122: 4123: Mon Dec 23 15:25:01 1991 Tom Wood (wood at dg-rtp.dg.com) 4124: 4125: * m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg. 4126: (includes): Include svr4.h before m88k.h so the overrides in m88k.h 4127: will take effect. 4128: 4129: Mon Dec 23 07:06:27 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4130: 4131: * i860.c (output_delayed_branch): Call insn_extract and 4132: constrain_operands so that `which_alternative' is set properly. 4133: 4134: * stor-layout.c (layout_type, case ARRAY_TYPE): Handle 4135: TYPE_NO_FORCE_BLK similar to RECORD_TYPE. 4136: 4137: * encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused. 4138: 4139: Sun Dec 22 12:02:03 1991 James Van Artsdalen (james at bigtex.cactus.org) 4140: 4141: * i386.c (function_epilogue): Use correct operand for insn mode. 4142: 4143: Sun Dec 22 12:20:16 1991 Michael Tiemann (tiemann at cygnus.com) 4144: 4145: * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member 4146: functions that are really declared as inline methods. 4147: 4148: * cp-init.c (build_virtual_init): Add missing call to 4149: `assemble_external' when we use a virtual function table. 4150: 4151: * cp-decl.c (implicitly_declare): Don't allocate a decl if at the 4152: global binding level. 4153: 4154: * vax.h (PRINT_OPERAND): Handle new 'R' case. 4155: * vax.md: Change all patterns which passed a negated operand for 4156: `rotl' to use 'R' as the negator, since rotl cannot acctually handle 4157: negative arguments. 4158: 4159: Sun Dec 22 12:31:46 1991 Ron Guilmette (rfg at ncd.com) 4160: 4161: * i386v4.h (TARGET_VERSION): Added definition. 4162: * i860v4.h (TARGET_VERSION): Added definition. 4163: 4164: * m68kv4.h: New file. 4165: * fx2800.h: New file. 4166: 4167: * m88kv4.h (DWARF_DEBUGGING_INFO): Deleted redundant definition. 4168: (It's defined already in svr4.h.) 4169: 4170: * m88kv4.h (CPP_PREDEFINES): Added definition. 4171: 4172: * m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC): 4173: Deleted redundant definitions. (These are defined in svr4.h.) 4174: 4175: * cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev. 4176: * function.c (round_down): Likewise. 4177: * calls.c, c-convert.c: Delete block-level extern decls. 4178: * c-convert.c: Include flags.h. 4179: 4180: * configure (i386-*-sysv*): Fixed tmake_file value. 4181: (i860-*-sysv3*): Fixed xmake_file and tmake_file value. 4182: (i860-alliant-*): New configuration. 4183: 4184: * i860.c (recog_operand, call_used_regs, insn_template, 4185: insn_n_operands, insn_outfun, alter_subreg): Moved extern 4186: declarations out of local contexts and put them at file-scope. 4187: 4188: * i860.c (zero_operand): Deleted useless function. 4189: 4190: * i860.c (singlemove_string): Added code to optimize moving halfword 4191: constants. 4192: 4193: * i860.c (output_block_move): Don't do CC_STATUS_INIT until it is 4194: definitely necessary & appropriate. 4195: 4196: * i860.c (output_block_move): Create up to 16 sequential load/store 4197: pairs for constant length moves regardless of operand sizes (e.g. 4198: byte, halfword, word). 4199: 4200: * i860.c (output_block_move): Try to generate widest kind of 4201: sequential load/store pairs for constant length moves before trying 4202: the less efficient (narrower) ones. 4203: 4204: * i860.c (output_block_move): Don't do sequential load/store pairs 4205: for constant length moves unless the size is a multiple of the 4206: size of the operands moved each time (i.e. word, halfword, byte). 4207: 4208: * i860.c (output_block_move): Re-wrote code to do inline variable 4209: length block moves to correct fatal errors (e.g. no check for zero 4210: or neagtive start count) and to make it more efficient (saved 1 cycle 4211: per iteration). 4212: 4213: * i860.c (output_block_move): Make variable length moves with starting 4214: alignment of 4 or 2 `#if 0' for now, until they can be fixed to work 4215: right. Also reordered all three cases so that longer alignments are 4216: checked for first. 4217: 4218: Sun Dec 22 01:25:07 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4219: 4220: * i386v4.h: Include svr4.h just once. 4221: 4222: * protoize.c (fprintf, printf): Decls put in #if 0. 4223: 4224: * emit-rtl.c (stack_slot_list): Delete superfluous extern decl. 4225: (emit): Abort if arg isn't recognized. 4226: 4227: * c-parse.y (current_declspecs, declspec_stack): Declare static. 4228: (undeclared_variable_notice): Likewise. 4229: (lastiddecl): Declare extern. 4230: * objc-parse.y: Same changes as c-parse.y. 4231: (token_buffer): Declare extern. 4232: 4233: * c-lex.c: Include output.h. 4234: (check_newline): Decl of asm_out_file deleted. 4235: 4236: * c-lex.h (ridpointers, NORID): Declare/define here. 4237: * c-lex.c, c-parse.y, objc-parse.y: Not here. 4238: 4239: * sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'. 4240: (LINK_SPEC): Pass -assert to linker. 4241: 4242: * gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'. 4243: 4244: * sparc.h (RTX_COSTS): Increase multiply cost to 20. 4245: (MULSI3_LIBCALL): Use .umul. 4246: (UMULSI3_LIBCALL): Deleted. 4247: 4248: Sat Dec 21 18:34:27 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4249: 4250: * combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it 4251: is a COMPARE or a comparison operation. 4252: 4253: * i860.md (bte): Remove now unneeded patterns. 4254: Correct mode mismatch errors in patterns that will now be used. 4255: 4256: Sat Dec 21 00:14:25 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4257: 4258: * ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted. 4259: (INITIALIZE_TRAMPOLINE): Likewise. #error inserted. 4260: 4261: * ns32k.c (print_operand_address): For invalid address, just abort. 4262: 4263: * Makefile.in (FIXINCLUDES): New variable. 4264: (includes, maketest): Use that. 4265: * x-i386v4 (FIXINCLUDES): Override here. 4266: 4267: Fri Dec 20 18:28:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4268: 4269: * dbxout.c (dbxout_really_begin_function): New subroutine. 4270: (dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST. 4271: (dbxout_begin_function): New function. 4272: * varasm.c (assemble_start_function): Call dbxout_begin_function. 4273: 4274: * dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END. 4275: 4276: * sparc.md (movstrsi): Add missing double quote. 4277: 4278: * gcc.c (process_command): Handle -Xlinker. 4279: 4280: * calls.c (expand_call): Treat vfork like setjmp. 4281: 4282: * c-decl.c (implicitly_declare): Use push_obstacks_nochange. 4283: 4284: * sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert. 4285: (LINK_SPEC): Pass -assert to linker. 4286: 4287: * svr4.h (ASM_OUTPUT_LOCAL): Fix typo. 4288: 4289: Fri Dec 20 07:52:19 1991 Michael Tiemann (tiemann at cygnus.com) 4290: 4291: * cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION 4292: options which need special treatment (in the turning off of the 4293: option). 4294: 4295: * cp-parse.y (named_class_head_sans_basetype_either): Rule deleted. 4296: (identifier_either): Rule deleted. 4297: (delete): Don't call `build_x_delete'' if the type does not have a 4298: destructor. We may still need to adjust the address passed to 4299: `operator delete'. 4300: 4301: * cp-init.c (build_delete): New argument MAYBE_ADJUST. All callers 4302: changed. Also, add #if 0/#endif around code dealing with ALIGNMENT. 4303: It's dead code, and that's unclear otherwise. 4304: (maybe_adjust_addr_for_delete): New function. 4305: (build_new): Initialize special header for arrays allocated with 4306: `operator new[]'. This is a rewrite of Ken's code. 4307: (init_init_processing): New built-in type BI_header_type. 4308: 4309: * cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN, 4310: BID. 4311: (build_builtin_call): New function. 4312: 4313: * cp-decl.c (grokvardecl): Set TREE_EXTERNAL. 4314: (grokdeclarator): Set TREE_PUBLIC for all member functions. They 4315: are effectively global. Do the same for static members. 4316: (start_function): Don't clear TREE_EXTERNAL in case the function 4317: belongs to another file's implementation. Other fixes to 4318: TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation. 4319: 4320: * cp-method.c (hack_identifier): Call `assemble_external' if 4321: necessary. 4322: 4323: Fri Dec 20 06:27:38 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4324: 4325: * reload1.c (emit_reload_insns): Always record first insn emitted 4326: for a reload, including any insns for a secondary reload. 4327: (gen_input_reload): Correct documentation of function. 4328: 4329: Thu Dec 19 22:01:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4330: 4331: * gnulib1.c (perform_fixdfsi): New customization macro. 4332: 4333: * svr4.h (SELECT_RTX_SECTION): Undef before defining. 4334: 4335: Thu Dec 19 16:59:12 1991 (Eric Youngdale at [email protected]) 4336: 4337: * cccp.c (hack_vms_include_specification): Make conversion of 4338: filenames more versatile for user specified include directories. 4339: 4340: Thu Dec 19 17:38:18 1991 Michael Meissner (meissner at osf.org) 4341: 4342: * mips.h (#error's): Put tab in front of all #error's, so that 4343: ancient pre-ANSI compilers will not complain about unknown 4344: directives, even if the #error is #ifdef'ed out. 4345: 4346: * mips.md (fix_trunc*): Reorder constraints so that 'd' comes before 4347: 'f', and put a '*' in front of 'f' constraints to keep integer in 4348: the GP registers. 4349: (define_splits): Add reload_completed check for all define_splits 4350: that use subreg on the arguments to work around bug in sched.c. 4351: 4352: * cccp.c (lang_asm): New static variable to indicate we are 4353: processing an assembly file and to ignore unknown directives in case 4354: they are comments, like they are on the MIPS systems. 4355: (main): Set lang_asm if -lang-asm switch. 4356: (handle_directive, skip_if_group): Don't report about unknown 4357: directives if lang_asm is set. 4358: 4359: * gcc.c (default_compilers array): Pass -lang-asm to cpp when 4360: processing .S files instead of -lang-c. 4361: 4362: Thu Dec 19 15:06:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4363: 4364: * c-decl.c (c_decode_option): Handle -fno-ident. 4365: * c-lex.c (check_newline): Ignore #ident for -fno-ident. 4366: 4367: * svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name. 4368: 4369: * mips.h: Use #error, not #include, for error messages. 4370: 4371: * cccp.c (warning, main): Implement -Werror. 4372: 4373: * i386sco.h (CPP_SPEC): Move non-fixed option here. 4374: (CPP_PREDEFINES): From here. 4375: 4376: * gcc.c (do_spec_1): For %p, just pass -D options. 4377: For %P, pass all -A options. Put in whitespace, fix typos. 4378: 4379: * c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...). 4380: * c-decl.c (get_parm_info): Don't warn here. 4381: 4382: Thu Dec 19 06:15:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4383: 4384: * toplev.c (compile_file): Avoid ordered comparison of debug_info_level 4385: since it is an enum. 4386: 4387: * mips.c: Include gstab.h. 4388: 4389: * sparc.md: Fix typo. 4390: 4391: * caller-save.c (save_call_clobbered_regs): Don't save regs that 4392: die in a CALL_INSN or that are born there. 4393: 4394: Thu Dec 19 04:28:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4395: 4396: * c-aux-info.c (gen_aux_info_record): Don't write space at line beg. 4397: 4398: Wed Dec 18 11:46:13 1991 Tom Wood (wood at dg-rtp.dg.com) 4399: 4400: * cse.c (cse_main): Use get_max_uid rather than computing it. 4401: 4402: Wed Dec 18 18:13:06 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4403: 4404: * loop.c (scan_loop): Ensure replacement made by single-use code 4405: is not modified in the life of the register being replaced. 4406: 4407: Wed Dec 18 15:37:52 1991 Ron Guilmette (rfg at ncd.com) 4408: 4409: * rtl.h (fconst2_rtx, dconst2_rtx): Added extern declarations. 4410: 4411: * flags.h (flag_inhibit_size_directive): Declared. 4412: 4413: * svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP): Moved around. 4414: (ASCII_DATA_ASM_OP): Definition added. 4415: (flag_inhibit_size_directive): Deleted superfluous extern decls. 4416: 4417: * Makefile.in: Correct number of expected shift/reduce conflicts 4418: reported by bison for cp-parse.y. 4419: 4420: * sparcv4.h: New file. 4421: 4422: * i860.h (FUNCTION_ARG_BOUNDARY): Added definition. 4423: (sfmode_constant_to_ulong): Added extern declaration. 4424: 4425: * i860.md (BTE/BTNE patterns): Changed all instances of 4426: `(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'. 4427: 4428: * i860.md (load then BTE/BTNE patterns): Added 8 new patterns, 4429: for cond branch on EQ/NE of a zero-extended memref with small integer. 4430: 4431: * i860.md: 20 new patterns (involving BTE/BTNE) like existing 20 4432: but simplified so that the combiner will find them. 4433: 4434: * i860.md (sfmode_constant_to_ulong, fconst2_rtx): Removed 4435: superfluous nested extern declarations. 4436: 4437: Wed Dec 18 15:39:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4438: 4439: * va-i860.h (va_start for stdarg.h): Divide reg counts by 4. 4440: 4441: * stmt.c (emit_case_nodes): Fix typo, near testing cost_table. 4442: 4443: * i860.h (CUMULATIVE_ARGS): Define a named struct, then use it. 4444: 4445: * function.c (expand_function_start): Compute sizes in proper order. 4446: 4447: * svr4.h (MD_STARTFILE_PREFIX): Defined. 4448: (STANDARD_STARTFILE_PREFIX): Deleted. 4449: 4450: * sparc.md (movstrsi): Disable if needs more than 32 insns. 4451: 4452: * expr.c (store_expr): Handle copying too-short STRING_CST. 4453: 4454: * gstdarg.h (_VA_LIST): Handle this like _VA_LIST_. 4455: 4456: * m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'. 4457: Fix uses of %L by adding `L'. 4458: * m68k.c (print_operand_address): Fix use of %L. 4459: * m68k.md (movhi): Fix use of %L. They were inconsistent. 4460: 4461: Wed Dec 18 14:59:26 1991 Michael Meissner (meissner at osf.org) 4462: 4463: * limits.h (whole file): Protect against inclusion. 4464: 4465: * t-decrose (LIMITS_H): Don't install limits.h on OSF/1. 4466: * t-encrose (LIMITS_H): Don't install limits.h on OSF/1. 4467: * t-i386rose (LIMITS_H): Don't install limits.h on OSF/1. 4468: 4469: * x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include. 4470: * x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include. 4471: * x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include. 4472: 4473: Wed Dec 18 04:53:23 1991 Ken Raeburn ([email protected]) 4474: 4475: * cp-init.c (build_new): Rewrote some of the array-handling code. 4476: Now stores the number of elements (after stripping off all outer 4477: ARRAY_TYPE nodes) at the start of allocated storage, just before the 4478: pointer the user's program sees. We also store the 2s compliment 4479: value of the pointer returned so we can distinguish when deleting a 4480: pointer whether it was "adjusted" or not. 4481: (expand_vec_init): Added a type conversion for cases when the 4482: address of an array gets passed in and we want to deal with the 4483: elements. 4484: (build_delete): Catch a case where deletion of arrays could slip 4485: through. 4486: (build_vec_delete): More array-handling rewrites. Extract the 4487: stored value and use it as the number of objects to destroy; ignore 4488: any value supplied by the user. 4489: 4490: * cp-init.c (init_vfields): Now static. 4491: 4492: * cp-tree.h (struct lang_decl_flags): Merged "dummy" fields. 4493: 4494: * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a 4495: list of instantiations already made of a template. (Only 4496: implemented for functions currently.) 4497: * cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it. 4498: * cp-pt.c (instantiate_template): Maintain and make use of it. 4499: 4500: * cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type 4501: instead of constructing the type here. 4502: 4503: Wed Dec 18 03:37:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4504: 4505: * c-parse.y (label_decl): Use identifiers_or_typenames. 4506: 4507: * c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}. 4508: (defn_parmlist_2, defn_parms): New nonterminals. 4509: (identifiers_or_typenames): New nonterminal. 4510: (parmlist_or_identifiers_1): Changed. 4511: * c-decl.c (combine_parm_decls): New function. 4512: 4513: Tue Dec 17 22:18:43 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4514: 4515: * function.c (expand_main_function): Build SYMBOL_REF with Pmode, 4516: not VOIDmode. 4517: 4518: * rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold 4519: 64 bits, not any size FP value. 4520: 4521: * reload1.c (reload): Remove variable old_caller_save_needed. 4522: Call init_save_areas and setup_save_areas instead of 4523: allocate_save_areas and elim_save_addrs. 4524: * caller-save.c (init_caller_save): New function, from part of 4525: allocate_save_areas. 4526: (setup_save_areas): New function, from rest of allocate_save_areas 4527: and elim_save_addrs. 4528: When scanning pseudos to find hard regs that might need caller-save, 4529: look at all parts of multi-word registers. 4530: 4531: * flow.c (elim_reg_set): New variable. 4532: (flow_analysis): Set it to contain those regs that we can eliminate. 4533: (mark_used_regs): Don't set eliminable regs as live when they are used. 4534: 4535: * global-alloc.c (global_alloc): Clear preferences with eliminable 4536: regs, in addition to clearing conflicts. 4537: 4538: * reload.c (find_reloads_toplev): Abort instead of making 4539: a SUBREG of a VOIDmode constant. 4540: 4541: * emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared. 4542: 4543: Tue Dec 17 21:06:03 1991 Michael Meissner (meissner at osf.org) 4544: 4545: * mips.h (MIPS_VERSION): Bump MM version number to 5. 4546: (processor_type): New enum to hold which type of 4547: processor to schedule for. 4548: (mips_cpu): New global to hold processor type. 4549: (MASK_*, TARGET_*): Rearrange target bits, add bits to select 4550: processor type, r4000 int/long/long long sizes. 4551: (TARGET_SWITCHES): Delete redunant no options, only leave no- 4552: version. 4553: (CUMULATIVE_ARGS): Make this a structure, not a pointer to a 4554: structure. 4555: (INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes. 4556: (FUNCTION_ARG_ADVANCE): Ditto. 4557: (FUNCTION_ARG): Ditto. 4558: (FUNCTION_ARG_PARTIAL_NREGS): Ditto. 4559: (RTX_COSTS): Count simple memory refs as one instruction. 4560: (REGISTER_MOVE_COST): Define as 4, to make sure constraints are 4561: checked. 4562: 4563: * mips.md (hilo type attribute): Add hilo type attribute to 4564: separate moves to/from the hi/lo registers with other register 4565: transfers. 4566: (move patterns): Set hilo attribute as appropriate. 4567: (define_function_units): Update the integer and memory functional 4568: units to include R4000 and R6000 processors, keyed off of the 4569: -mr[46]000 switches. Add a new functional unit for transfering 4570: stuff between register sets. 4571: (mov{sf,df}_xfer*): Remove these patterns, as they are no longer 4572: needed in GCC 2.00 to move between the different register sets, 4573: and generate insn not found messages if used. 4574: (movsi_ulw, movsi_usw): Correct test to see if stack loads are 4575: aligned. Use UNITS_PER_WORD-1 instead of a hard coded 3. 4576: (move define_expands): Delete move define_expands, since they are 4577: illegal according to the documentation, and the bug they guard 4578: against has long ago been fixed. 4579: 4580: * mips.c (mips_cpu): New global to hold processor type. 4581: (override_options): Set mips_cpu, check for 64 bit r4000 switches 4582: if processor not a r4000. 4583: (init_cumulative_args): CUMULATIVE_ARGS changes. 4584: (function_arg_advance): Ditto. 4585: (function_arg): Ditto. 4586: (function_arg_partial_nregs): Ditto. 4587: (mips_output_filename): Except for first .file, don't emit any other 4588: .file if encapsulating stabs in ECOFF, just put out stabs. This 4589: confuses gdb. 4590: (mips_output_lineno): Don't put out .loc's if encapulating stabs in 4591: ECOFF. 4592: (mips_asm_file_start): Put a .set nobopt for MIPS assembler to 4593: work around bug where the assembler goes bonkers if a branch 4594: inside of a .set noreorder section jumps to a label outside of a 4595: .set noreorder section. This is supposed to be fixed in 2.20 of 4596: the assembler. 4597: (function_epilogue): Correctly emit nops with tabs and newlines if 4598: needed. 4599: 4600: * decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to 4601: enable OSF/rose support, rather than use nm. 4602: 4603: * encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to 4604: enable OSF/rose support, rather than use nm. 4605: 4606: * i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to 4607: enable OSF/rose support, rather than use nm. 4608: 4609: * t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf, 4610: and link it to ld. 4611: 4612: * t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf, 4613: and link it to ld. 4614: 4615: * t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf, 4616: and link it to ld. 4617: 4618: * x-decrose (DEBUG): Delete -g, since CFLAGS already passes it. 4619: (GCC_CFLAGS): Define POSIX so we can build protoize. 4620: 4621: * x-encrose (DEBUG): Delete -g, since CFLAGS already passes it. 4622: (GCC_CFLAGS): Define POSIX so we can build protoize. 4623: 4624: * x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it. 4625: (GCC_CFLAGS): Define POSIX so we can build protoize. 4626: 4627: * t-decstatn (EXTRA_PASSES): Explicitly mention collect2. 4628: (ld): Use $(SYMLINK) rather than just ln. 4629: 4630: * t-mips (EXTRA_PASSES): Explicitly mention collect2. 4631: 4632: * collect2.c (whole file): Rewrite file based on collect-osf, to 4633: make it more portable. Highlights include: running ld only once if 4634: there are no constructors; OSF/rose support; not assuming that the 4635: linker, assembler, nm live in /bin; -v support to trace the commands 4636: being executed and print a version number; loops instead of 4637: recursion used to write out the tables; support for user using -r; 4638: checking all error returns; not using the shell to start processes. 4639: 4640: * collect-osf.c (whole file): Deleted, merged into collect2.c. 4641: 4642: Tue Dec 17 15:49:06 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 4643: 4644: * sched.c (schedule_insns): Don't update value of reg_live_length 4645: when it is negative, because negative values are special. 4646: 4647: * sched.c (schedule_block): Make new_needs an int not an enum, since 4648: some compilers won't accept using `|' and `&' with enums. 4649: 4650: * sparc.md: Don't emit nop after floating point compare; this is 4651: no longer needed. 4652: 4653: From Tom Wood: 4654: * sched.c (memrefs_conflict_p): Exchange xsize and ysize when x 4655: and y are exchanged. 4656: 4657: Tue Dec 17 15:01:04 1991 Mark Eichin (eichin at cygnus.com) 4658: 4659: * cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE, 4660: not set_identifier_type_value, so that the binding doesn't get 4661: unwound by leaving class scope. 4662: 4663: Tue Dec 17 10:57:12 1991 Tom Wood (wood at dg-rtp.dg.com) 4664: 4665: * toplev.c (main): Make -g0 produce no debugging information. 4666: 4667: Tue Dec 17 15:15:20 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4668: 4669: * gcc.c (do_spec_1): In %P, duplicate the names with __ just in front. 4670: 4671: * gstab.h: Renamed from stab.h. 4672: * collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed. 4673: * dbxout.c (N_CATCH): Define this if stab.h does not. 4674: * Makefile.in: Depend on gstab.h where appropriate. 4675: 4676: * Makefile.in (STAGESTUFF): Remove collect and collect2. 4677: 4678: * c-parse.y (parmlist_2): Allow just `...' with no named args. 4679: * c-decl.c (get_parm_info): Pedantic warning for that usage. 4680: 4681: * final.c (final_scan_insn): Don't output blocks for -g1. 4682: 4683: * Makefile.in (crtbegin.o, crtend.o): Use -g0. 4684: 4685: * function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP. 4686: 4687: * varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST. 4688: * stmt.c (expand_asm): Likewise. 4689: * c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm. 4690: 4691: Tue Dec 17 15:01:11 1991 Tom Wood (wood at dg-rtp.dg.com) 4692: 4693: * m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h. 4694: * m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h. 4695: * m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h 4696: except when compiling crtstuff.c. 4697: 4698: Mon Dec 16 21:50:42 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4699: 4700: * stmt.c (struct case_node): Remove unused field `test_label'. 4701: (pushcase, pushcase_range): Don't initialize it. 4702: 4703: * stmt.c (check_for_full_enumeration_handling): Only print warnings 4704: if -Wswitch is specified. 4705: (expand_end_case): Call check_for_full_enumeration_handling even if 4706: -Wswitch is not specified. 4707: 4708: * expr.c (convert_move): Add missing arg to call to force_reg. 4709: (convert_to_mode): Likewise, for protect_from_queue. 4710: 4711: Mon Dec 16 20:33:10 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4712: 4713: * expr.c (expand_builtin): Check number and types of args. 4714: 4715: * c-parse.y (stmt, extdef): Allow constant expression inside plain asm. 4716: 4717: * m68k.md (movhi): Use asm_fprintf to print .set or equivalent. 4718: * m68k.c (print_operand_address): Use %R when printing pc register. 4719: * m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): 4720: Use %L. 4721: 4722: * c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type. 4723: 4724: Mon Dec 16 11:14:28 1991 Ken Raeburn ([email protected]) 4725: 4726: * cp-decl.c (init_decl_processing): Don't declare unused function 4727: __builtin_vec_delete. 4728: 4729: Mon Dec 16 08:35:04 1991 Torbjorn Granlund (tege at hal.gnu.ai.mit.edu) 4730: 4731: * gnulib2.c (__udivmoddi4): Add comment. 4732: 4733: Mon Dec 16 07:47:13 1991 Michael Tiemann (tiemann at cygnus.com) 4734: 4735: * cp-call.c (ideal_candidate): Always set BEST before using it. 4736: Also, call `build_component_ref_1' with 3 args everywhere, and 4737: `build_indirect_ref' with 2 args everywhere. 4738: 4739: Mon Dec 16 07:17:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4740: 4741: * reload.h: Add `extern' to function declarations. 4742: (gen_input_reload): Add declaration. 4743: * reload1.c (reload): Allocate save area if caller-saves are needed; 4744: check for case when it becomes needed after some spill registers are 4745: obtained. 4746: Can now eliminate frame pointer even when caller-saves are needed. 4747: Perform register elimination of save area and see if caller-save needs 4748: a spill register. 4749: If required, find a spill register and pass it to caller-save code. 4750: (gen_input_reload): No longer static. 4751: * Makefile.in (caller-save.o): Now includes reload.h (again). 4752: * global-alloc.c (global_alloc): Can eliminate frame pointer even if 4753: we have caller-saves. 4754: * toplev.c (compile_file): Call init_caller_saves. 4755: 4756: * caller-save.c: Major rewrite; almost entirely new code. 4757: Integrate caller-saving with frame pointer elimination. 4758: Don't try to save and restore registers that cannot be directly 4759: copied to memory (such as MQ). 4760: Correctly place save and restore insns. 4761: Don't restore a saved register until end of block or if it is needed. 4762: 4763: * cse.c (mention_regs): Now returns int to indicate that the hash code 4764: may have changed. 4765: For COMPARE and comparison op, ensure that any register operand has 4766: a quantity number. 4767: (insert_regs): Return value from mention_regs. 4768: (rehash_using_reg): New function. 4769: (record_jump_equiv, mention_regs): Call rehash_using_reg if an operand 4770: of a compare is a REG whose hash code is changing. 4771: 4772: Mon Dec 16 07:09:21 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4773: 4774: * function.c (expand_main_function): New subroutine. Call __main. 4775: * c-decl.c, cp-decl.c (store_parm_decls): Use that. 4776: * cp-decl.c (init_decl_processing): Don't declare __main. 4777: 4778: * objc-actions.c (init_objc): Call __objcInit as a constructor. 4779: 4780: * toplev.c (compile_file): Reenable SDB code #if 0'd before. 4781: 4782: * protoize.c (version_string): Make it extern. 4783: * Makefile.in (protoize, unprotoize): Link with version.o. 4784: 4785: Sun Dec 15 23:31:47 1991 Michael Tiemann (tiemann at cygnus.com) 4786: 4787: * cp-tree.c (virtual_member): When recurring, don't dive into 4788: nonexistent baseclasses. 4789: 4790: * cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const 4791: arrays. 4792: * cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might 4793: be chagned to TREE_EXTERNAL due to #pragma interface/implementation. 4794: 4795: Sun Dec 15 14:57:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4796: 4797: * Makefile.in (SYSCALLS.c.X): Fix typo. 4798: (INTERNAL_CFLAGS): Delete -DMERGED. 4799: 4800: * dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*. 4801: * newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments. 4802: 4803: * stmt.c (emit_case_nodes): Rewrite to change induction conditions. 4804: Handle boundedness in the bounded node itself. 4805: Handle branching entirely at the parent level. 4806: 4807: * gstdarg.h: Use va-i860.h. 4808: * va-i860.h (va_start for ANSI): Fix typo. Call __builtin_next_arg. 4809: 4810: Sat Dec 14 20:45:30 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4811: 4812: * Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h. 4813: 4814: * loop.c (invariant_p): Call-clobbered register is not invariant if 4815: loop has calls. 4816: (count_loop_regs_set): Count a CLOBBER as a setting of a register. 4817: 4818: * stmt.c: Move include of ctype.h and definition of cost variables to 4819: front of file. 4820: (expand_end_case): Always set use_cost_table. Check type here instead 4821: of in estimate_case_costs. Don't suppress use of cost table when 4822: not optimizing. 4823: (estimate_case_costs): Now returns int. Check for any case tag 4824: that is an unusual control character here and reject use of table 4825: if so. Always do comparisons signed, since that's how we access the 4826: cost table. 4827: (balance_case_nodes): Don't check for strange control characters here. 4828: (node_has_low_bound): Do checking if we don't have a left branch, 4829: instead of if we do. 4830: (node_has_{low,high}_bound): Remove spurious checks on branches. 4831: (emit_case_nodes): Ensure operation passed to emit_cmp_insn matches 4832: the branch we actually emit. 4833: Fix case of a range node with no left or right branch; use of case 4834: and default label were backward for the high test. 4835: Remove unused variables defaulted_{left,right}. 4836: 4837: Sat Dec 14 16:10:11 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4838: 4839: * protoize.c: Don't include limits.h. 4840: Rename `pathname' to `filename' everywhere. 4841: Clean up indentation of fprintf calls. 4842: Use standard GNU format for file name/line in error messages. 4843: (n_base_source_files): Renamed from base_source_files. 4844: (convert_filename, invocation_filename, base_source_filenames): 4845: `path' renamed to `filename'. 4846: (syscalls_absolute_filename): Renamed from syscalls_pathname. 4847: (find_file): Arg FILENAME no longer const. 4848: (main): Fix getcwd error-checking logic. 4849: (varargs_style_indicator): Delete `const'. 4850: (savestring): Declare arg `input' const. 4851: 4852: * Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o): 4853: Use GCC_FOR_TARGET. 4854: (getopt.o, getopt1.o): Likewise. 4855: (GCC_FOR_TARGET): Delete -B./. 4856: (GCC_CFLAGS): Add -B./. Copy ALL_CFLAGS's definition, less XCFLAGS. 4857: 4858: * cp-init.c (add_friends): Pass proper args to strncmp. 4859: 4860: * toplev.c (compile_file): Clear DECL_RTL for vars not really output. 4861: #if 0 possibly redundant code for SDB output. 4862: 4863: * sys-types.h: Include gstddef.h to get size_t and wchar_t. 4864: 4865: * ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2. 4866: 4867: * Makefile.in (STAGESTUFF): Add collect, collect2. 4868: 4869: Sat Dec 14 12:16:12 1991 Michael Tiemann (tiemann at cygnus.com) 4870: 4871: * cp-search.c (get_baselinks): Use obstacks right, instead of 4872: aborting when we know we're using them wrong. 4873: 4874: * cp-parse.y (structsp): Fix typo in exception declaration rule. 4875: 4876: * cp-typeck.c (build_modify_expr_1): Recursive call to 4877: `build_modify_expr_1' used pre-BINFO representation for 4878: BASETYPE_PATH argument. 4879: 4880: * cp-decl.c (start_decl): Don't switch to temporary allocation for 4881: decls of type REFERENCE_TYPE, as their initializers may live a long 4882: time, too. 4883: 4884: Sat Dec 14 07:11:03 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 4885: 4886: * reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word 4887: constant, try to extract just the word we want. 4888: 4889: * global-alloc.c (global_alloc): Correct reference to ELIMINABLES. 4890: 4891: Fri Dec 13 15:28:38 1991 Michael Meissner (meissner at osf.org) 4892: 4893: * configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not 4894: xm-mips.h. 4895: 4896: * gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case 4897: non-GCC 2.00 compiler is used. 4898: (__SIZE_TYPE__): Ditto. 4899: (__WCHAR_TYPE__): Ditto. 4900: 4901: Fri Dec 13 14:49:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4902: 4903: * config.sub: Renamed from config.subr. 4904: Support os -sym1. 4905: Convert -svr3, -svr4 to -sysv3, -sysv4. 4906: * configure: Used new name. 4907: 4908: * Makefile.in (includes): Preserve files from GCC already in dir. 4909: 4910: Fri Dec 13 11:01:12 1991 Fred Fish (fnf at fishpond) 4911: 4912: * att386.h: Fix unparenthesized macro arguments in 4913: ASM_OUTPUT_ASCII macro. 4914: 4915: * i386v4.h: Select an assembly language syntax file and include 4916: it. Supply missing macros from ones in i386v.h (TARGET_DEFAULT, 4917: VALUE_REGNO, FUNCTION_VALUE_REGNO_P). 4918: 4919: * svr4.h: Fix misspelled variable name labelno (was labeno). 4920: 4921: Fri Dec 13 09:07:22 1991 Michael Tiemann (tiemann at cygnus.com) 4922: 4923: * cp-typeck.c (build_component_ref): Call `assemble_external' as 4924: nec. 4925: (build_function_call_real): Call `assemble_external' as nec. for 4926: function calls we build. Code slightly rearranged for clarity. 4927: * cp-call.c (build_method_call): Call `assemble_external' as nec. 4928: 4929: Thu Dec 12 22:03:52 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) 4930: 4931: * make-cc1.com: Change message given to user. Change c-parse_tab.* 4932: to c-parse.* 4933: 4934: * config-gcc.com: Purge excess versions of version.opt. 4935: 4936: Thu Dec 12 20:25:20 1991 Michael Meissner (meissner at osf.org) 4937: 4938: * Makefile.in (BOOT_CFLAGS): Remove quotes around the argument, 4939: since this causes a syntax error when it is later expanded. 4940: 4941: Thu Dec 12 17:53:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4942: 4943: * config.subr: Add many new machines and some OS's. 4944: 4945: * va-i860.h: Rewrite from rfg. 4946: 4947: * toplev.c (main): Handle -dm on USG systems. 4948: 4949: * m68k.c (print_operand, print_operand_address): New functions. 4950: * m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them. 4951: 4952: * m68k.c (S_*, D_*): Delete the #undefs at the end. 4953: 4954: * stmt.c (expand_return): Special case if fcn returns void. 4955: 4956: * objc-actions.c (build_objc_method_call): Fix typo in NeXT case. 4957: 4958: * expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr. 4959: 4960: * protoize.c: Delete the `extern "C"' for C++ compilation. 4961: 4962: Thu Dec 12 10:01:13 1991 Michael Meissner (meissner at osf.org) 4963: 4964: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in 4965: handling the constructor list when a valid count is supplied. 4966: 4967: * collect2.c (write_hooks): Emit a count before the list of 4968: constructors, to go back to the old format. 4969: 4970: * collect-osf.c (write_s_file): Emit a count before the list of 4971: constructors, to go back to the old format. 4972: 4973: * gnulib2.c (exit): Provide default defintions as bss symbols for 4974: all of the constructor/destructor related symbols if the macro 4975: INIT_SECTION_ASM_OP is not defined. The second link that collect 4976: does and/or gld will provide the right values. 4977: 4978: * decrose.h (HAVE_ATEXIT): Nuke macro, no longer used. 4979: * encrose.h (HAVE_ATEXIT): Nuke macro, no longer used. 4980: * i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used. 4981: 4982: Thu Dec 12 07:27:05 1991 Tom Wood (wood at dg-rtp.dg.com) 4983: 4984: * gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__. 4985: * collect-osf.c collect2.c: Rename here as well. 4986: 4987: Thu Dec 12 04:15:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4988: 4989: * c-parse.y (stmt): Make asm alternatives allow expr. 4990: * c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr. 4991: 4992: * c-parse.y (datadecl, datadecls, lineno_datadecl): New rules. 4993: (xdecls): Use them. 4994: 4995: Wed Dec 11 18:36:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 4996: 4997: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT. 4998: Test for -1 and handle both kinds of table format. 4999: * gnulib2.c (__do_global_dtors): Check for -1... 5000: (__do_global_ctors): Dummy defn of ON_EXIT if no other defined. 5001: (__main): Do nothing if called again. 5002: (exit): Use EXIT_BODY if defined. 5003: * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__): 5004: Renamed from *_BEGIN__. Add -1 as first elt. 5005: (__CTOR_END__, __DTOR_END__): Add 0 as last elt. 5006: (ON_EXIT): Dummy defn if no other is defined. 5007: 5008: Wed Dec 11 18:08:36 1991 Mark Eichin (eichin at cygnus.com) 5009: 5010: * cp-parse.y (template_parm): removed some reduce/reduce conflicts 5011: by noting which of identifier or identifier_defn would actually be 5012: passed up in this context. 5013: 5014: Wed Dec 11 17:52:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5015: 5016: * flow.c (propagate_block): Adjust loop depth if it is changed in 5017: notes at the end of a block. 5018: Abort if loop depth ever reaches zero. 5019: 5020: Wed Dec 11 16:30:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5021: 5022: * cccp.c (do_endif): Don't call record_control_macro at top level. 5023: 5024: Wed Dec 11 14:45:42 1991 Mark Eichin (eichin at cygnus.com) 5025: 5026: * cp-decl.c (set_identifier_type_value): If we're in a 5027: class_binding_level, shadow the type there. 5028: (xref_defn_tag): New function. Calls xref_tag with special flag set 5029: to indicate that we know we're defining something. 5030: (pushdecl_top_level): if class_binding_level is set, search from it 5031: instead of only from current_binding_level when trying to find 5032: shadowed values. This is in support of tests m5.cc through m8.cc, 5033: which broke after the changes for m9.cc were installed. 5034: 5035: * cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if 5036: we have AGGR identifier { or AGGR identifier : which are both 5037: definitions, and passes up identifier_DEFN instead. This is in 5038: support of test m9.cc. 5039: (yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in 5040: the displayed stream. 5041: (yylex, case AGGR): added call to do_aggr. 5042: (debug_yychar): added call to debug_yytranslate for proper 5043: translations. 5044: 5045: * cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG 5046: translations. 5047: (TYPENAME_DEFN): new token, TYPENAME seen by do_aggr. 5048: (IDENTIFIER_DEFN): new token, ditto. 5049: (PTYPENAME_DEFN): new token, ditto. 5050: (identifier_defn): corresponds to identifier, but when the 5051: identifier has been seen by do_aggr. 5052: (named_class_head_sans_basetype_defn): specially recognize aggr 5053: identifier_defn. 5054: (named_class_head): add parallel clauses calling xref_tag_defn when 5055: we know we're defining this aggr. 5056: (named_class_head_sans_basetype_defn_either): for when we don't care 5057: if it is a defn or not (such as templates) 5058: (identifier_either): ditto. 5059: 5060: * cp-tree.h (xref_defn_tag): New declaration. 5061: 5062: Wed Dec 11 12:37:51 1991 Ken Raeburn ([email protected]) 5063: 5064: * cp-parse.y (label_colon): New nonterminal, with all label prefixes 5065: from "stmt" moved here. 5066: (stmt): Use it. Also provide useful message for label followed by 5067: end of block (close-brace). 5068: 5069: * cp-init.c (BIVN): Deleted unused variable. 5070: * cp-decl.c (init_decl_processing): Don't declare function 5071: __builtin_vec_new; it's never used. 5072: 5073: Wed Dec 11 10:59:48 1991 Michael Meissner (meissner at osf.org) 5074: 5075: * toplev.c (main): Complete last change from RMS, use variable 5076: 'level' which used to be named 'arg'. 5077: 5078: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for 5079: those poor systems without atexit or on_exit. 5080: 5081: Wed Dec 11 09:06:52 1991 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) 5082: 5083: * m68k.c (output_function_prologue, output_function_epilogue): 5084: When saving/restoring only 2 registers, do so with two "movel" 5085: instructions instead of a single "moveml". This results in 5086: faster code for the 68020 and later machines. 5087: 5088: Wed Dec 11 06:45:08 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5089: 5090: * x-romp (MAKE): Add definition; the supplied `make' doesn't define it. 5091: 5092: Tue Dec 10 22:17:50 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5093: 5094: * combine.c (try_combine): Always make a copy of I2's pattern if 5095: it will be used in a PARALLEL (`added_sets_2' nonzero). 5096: 5097: * Makefile.in (BOOT_CFLAGS): New parameter. 5098: (bootstrap*): Use it. 5099: 5100: * flow.c (find_basic_blocks): Set depth of last insn, not first, 5101: into basic_block_loop_depth. 5102: (propagate_blocks): Use consistently with new definition. 5103: 5104: * cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous 5105: change; it can cause loops following around branches. 5106: 5107: * Makefile.in (USER_H): Add va-hp9k8.h. 5108: 5109: Tue Dec 10 17:22:01 1991 Tom Wood (wood at dg-rtp.dg.com) 5110: 5111: * m88k*.h: Include svr3.h as the default. m88kv4.h and m88kdgux.h 5112: include svr4.h. Override svr[34].h as needed. 5113: * t-m88k, t-m88kv4: Specify EXTRA_PARTS. 5114: 5115: * m88k.c (uses_arg_area_p): Check current_function_varargs. 5116: 5117: Tue Dec 10 15:41:03 1991 Michael Meissner (meissner at osf.org) 5118: 5119: * osf-main.c (whole file): Delete, since the constructor stuff was 5120: moved to gnulib2.c. 5121: 5122: * Makefile.in (collect2, collect2.o): Change to use the default 5123: compiler to build collect2, instead of the newly built GCC, since 5124: otherwise, collect2 will create a circular dependency. Also, pass 5125: LDFLAGS when linking. 5126: 5127: * collect-osf.c (write_s_file): Change to the new way of doing 5128: constructors and destructors of having an end marker instead of a 5129: count. 5130: 5131: * collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros 5132: to allow cross compilers to specify where the real linker, 5133: assembler, and nm live. 5134: (NM_FLAGS): New macro to allow a configuration to change what flags 5135: get passed to nm. 5136: (alloca defines): Remove alloca defines, since config.h provides 5137: them. 5138: (write_hooks): Change to the new way of doing constructors and 5139: destructors of having an end marker instead of a count. Cast all 5140: alloca calls to be the appropriate pointer type. Put both 5141: constructors and destructors into the data section, because the MIPS 5142: tools do not like non-instructions in the .text section. 5143: 5144: * decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. 5145: (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used. 5146: 5147: * encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. 5148: (FULL_PROTOTYPES): Remove, no longer used. 5149: 5150: * i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. 5151: 5152: * t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer 5153: needed, since constructor/destructor support moved into gnulib2.c. 5154: 5155: * t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer 5156: needed, since constructor/destructor support moved into gnulib2.c. 5157: 5158: * t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer 5159: needed, since constructor/destructor support moved into gnulib2.c. 5160: 5161: * t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1 5162: and gnulib2 are both compiled with -G 0, in case the users compiles 5163: and links this way. It also fixes a bug where the constructors and 5164: destructors that collect2 produces are in the big data section, but 5165: gnulib2 thinks they are in the small data section, because it only 5166: sees a pointer. 5167: (ld): Add -f to remove old ld link to collect2, if it exists. 5168: 5169: * t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1 5170: and gnulib2 are both compiled with -G 0, in case the users compiles 5171: and links this way. It also fixes a bug where the constructors and 5172: destructors that collect2 produces are in the big data section, but 5173: gnulib2 thinks they are in the small data section, because it only 5174: sees a pointer. 5175: (ld): Add rule to link collect2 to ld. 5176: (EXTRA_PASSES): Build collect2 (aka ld). 5177: 5178: * xm-mips.h (alloca): If not GNU C, declare alloca to be char *. 5179: 5180: * mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size, 5181: so that it agrees with MIPS ECOFF practice, rather than the 5182: documentation, which affects enum bitfields. Changes from Per 5183: Bothner. 5184: 5185: Tue Dec 10 14:10:10 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5186: 5187: * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc. 5188: * gnulib2.c (__do_global_dtors): Remove & before arrays. 5189: 5190: * configure: Set a default value for xm_file. 5191: Remove redundant defaulting of cpu_type. 5192: 5193: * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly. 5194: 5195: * function.c (assign_parms): Set current_function_args_info. 5196: * output.h: Declare that var. 5197: * tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS. 5198: * expr.c (expand_builtin): Implement __builtin_args_info. 5199: * c-decl.c (init_decl_processing): Declare it. 5200: * va-i860.h: Use it. 5201: Also update order of elements in struct __va_ctl. 5202: 5203: * toplev.c (main): Eliminate -gsdb and -gdbx. 5204: Clean up setting of use_gdb_dbx_extensions. 5205: 5206: Tue Dec 10 10:33:58 1991 Tom Wood (wood at gen-rtx) 5207: 5208: * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label. 5209: 5210: Tue Dec 10 07:12:28 1991 James Van Artsdalen (james@raid) 5211: 5212: * Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir). 5213: 5214: Tue Dec 10 06:56:26 1991 Michael Tiemann (tiemann at cygnus.com) 5215: 5216: * cp-decl.c (kept_level_p): New function, borrowed from c-decl.c. 5217: * cp-parse.y (compstmt): Call it. 5218: 5219: Mon Dec 9 18:37:32 1991 Ken Raeburn ([email protected]) 5220: 5221: * cp-decl.c (grok_enum_decls): Don't give warning for class-local 5222: enum types; this is a perfectly reasonable usage. 5223: 5224: Mon Dec 9 12:23:48 1991 Ron Guilmette (rfg at ncd.com) 5225: 5226: * toplev.c (main): Check that no extra chars follow the level # 5227: in a -gNNN option. Also check that the debugging level requested 5228: is between 0 and 3 (inclusive). 5229: 5230: Mon Dec 9 20:34:48 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 5231: 5232: * sched.c (schedule_block): Don't crash if `line' is zero. 5233: (schedule_insns): Initialize line_note_head. 5234: 5235: Mon Dec 9 15:31:46 1991 Michael Meissner (meissner at osf.org) 5236: 5237: * mips-tfile.c (pseudo_ops array): Correctly size the .stabs and 5238: .stabn elements. 5239: 5240: * mips.c (function_prologue, function_epilogue): Use assemble_name 5241: to print the current function, instead of fprintf, in case there is 5242: a leading '*'. 5243: 5244: * mips-news.h (CPP_PREDEFINES): Define news3700, not news7300. 5245: 5246: * mips.md (ashldi3_internal3): Fix typos. 5247: (ashrdi3_internal3): Ditto. 5248: (lshldi3_internal3): Ditto. 5249: 5250: Mon Dec 9 11:49:52 1991 Torbjorn Granlund (tege at hal.gnu.ai.mit.edu) 5251: 5252: * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand 5253: 2 constraint. 5254: 5255: Mon Dec 9 11:22:58 1991 Ken Raeburn ([email protected]) 5256: 5257: * cp-typeck.c (build_x_function_call): A method might have type 5258: pointer-to-method as well. Don't build an OFFSET_REF for any 5259: "function" that already has pointer type. Only use 5260: DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for 5261: method pointer expressions, look up the basetype of the method type. 5262: (build_unary_op): Fix comment in typo. 5263: 5264: * cp-tree.c: Fix typo in comment at start of file. 5265: 5266: Mon Dec 9 07:17:13 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5267: 5268: * cse.c (cse_insn): When a jump is converted to unconditional, 5269: delete the dead code, but leave the notes. 5270: (cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are 5271: part of the basic block. 5272: (cse_basic_block): Add missing arg to cse_end_of_basic_block call. 5273: 5274: Mon Dec 9 07:16:15 1991 Ron Guilmette (rfg at ncd.com) 5275: 5276: * sys-types.h: New file. 5277: * sys-protos.h: New file. 5278: * SYSCALLS.c: Just include those files. 5279: 5280: * protoize.c (VOLATILE): Define this symbol conditionally so that 5281: it can be used to declare GNU `volatile' functions. 5282: (abort): Added VOLATILE extern declaration (but not if it's a macro). 5283: (kill, fork): Added extern declaration. 5284: (substr): Declare c as int. 5285: 5286: * gbl-ctors.h: New file. 5287: * crtstuff.c: Include gbl-ctors.h. 5288: (INIT_SECTION_ASM_OP): Delete default definition. 5289: Only compile .init section code if INIT_SECTION_ASM_OP is defined. 5290: (pointer): Globally changed to `func_ptr'. 5291: * Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h. 5292: * gnulib2.c: Added definition of __builtin_saveregs for i860/svr4 5293: and fixed up definition of __builtin_saveregs for i860/non-svr4. 5294: (__bb_avoid_warning): Added explicit return type. 5295: (__builtin_new, __builtin_vec_new, __builtin_delete, 5296: __builtin_vec_delete): Use `void*' where appropriate. 5297: (exit): Change conditional to ON_EXIT. Make dummy if no real exit. 5298: Include gbl-ctors.h. 5299: (__main): Change conditional to INIT_SECTION_ASM_OP. 5300: (__do_global_ctors): Conditional on INIT_SECTION_ASM_OP. 5301: Use DO_GLOBAL_CTORS_BODY for the guts. 5302: Include gbl-ctors.h. 5303: 5304: Mon Dec 9 01:07:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5305: 5306: * fixinc.svr4: Don't change #ident or assertion tests. 5307: Don't install inline.h. 5308: 5309: * c-common.c (get_directive_line): Declare c as int. 5310: 5311: * configure: Create additional file tconfig.h. 5312: * protoize.c: Include that, not tm.h. 5313: * Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h. 5314: 5315: * svr4.h (HAVE_ATEXIT): Defined. 5316: * gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit. 5317: 5318: * final.c (final_scan_insn): Output first and last note in a series. 5319: 5320: * objc-actions.c (build_objc_method_call): 5321: New arg LOOKUP_OBJECT. 5322: (build_message_expr): Pass RECEIVER for LOOKUP_OBJECT. 5323: Pass RECEIVER or self_decl as OBJECT. 5324: 5325: * unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted. 5326: 5327: * rtl.h: Undef FLOAT. 5328: 5329: * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): 5330: Fix typo. 5331: 5332: Sun Dec 8 21:46:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5333: 5334: * protoize.c (main): Declare `value'. 5335: (abspath): Declare endp. Declare and set outp and inp. 5336: 5337: * cp-decl.c (sigsegv): Function deleted. 5338: (init_decl_processing): Don't use it. 5339: Also don't include signal.h. 5340: 5341: * t-svr4: New file. 5342: * configure (i386-*-sysv4*, i860-*-sysv4*): Use that file. 5343: 5344: Sun Dec 8 12:01:36 1991 Ron Guilmette (rfg at ncd.com) 5345: 5346: * fixinc.svr4: New file. 5347: 5348: * final.c (profile_function): Specify return type. 5349: (get_attr_length): Added a return statement to prevent warnings. 5350: 5351: * final.c (final_scan_insn): Switch to .text section before output 5352: of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION). 5353: Don't switch sections again after the label. 5354: 5355: * configure (i386-*-sysv*): Configuration deleted. 5356: (i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4): 5357: Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS). 5358: (i860-*-sysv3, i860-*-sysv4): Added assignment to `xmake-file'. 5359: (i860-*-sysv3): Deleted bogus GAS related stuff. 5360: 5361: * combine.c (combinable_i3pat): Added explicit return type. 5362: 5363: * i860.h (TARGET_FPU): Deleted this target flag. i860 fpu is on chip. 5364: (TARGET_XP): New target flag for XR and XP models. 5365: (TARGET_FLAGS, HARD_REGNO_MODE_OK): Adjusted for above changes. 5366: (REG_ALLOC_ORDER): Use first the regs less likely for other purposes. 5367: (LITERAL_COMPARE_BETTER_UNSIGNED): Defined. 5368: (BRANCH_COST): Defined. 5369: (CC_ONLY_*): Deleted these obsolete defines. 5370: (CC_NEGATED): Added for IEEE behavior with cmpgesf and cmplesf. 5371: (ASM_OUTPUT_CASE_LABEL): 5372: Added .align so assembler doesn't barf on subsequent .long(s). 5373: (FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): 5374: Added definitions needed to build a useable gnulib1 library. 5375: 5376: * i860.md: Removed all references to CC_ONLY_* symbols. 5377: (cmpledf, cmpgedf): Adjusted assembler code as suggested 5378: by i860 manuals, for IEEE results. 5379: (cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch): 5380: Check for CC_NEGATED. 5381: (bte, btne patterns): Complete rewrite. 5382: (anonymous sign-extend patterns): Moved before the named patterns. 5383: 5384: * i860.md (addsi3, subsi3): Disparaged alternatives with a floating- 5385: pointer input register to avoid complicated reloading problem. 5386: (negsi2): Deleted bogus `I' constraint on operand 1. 5387: (divdf3, divsf3): Added additional continuation characters 5388: needed to make lines acceptable to `read_rtx' in the gen* programs. 5389: 5390: * i860.c: Include "flags.h" to get access to `optimize' flag. 5391: (leaf_function_p): Added extern declaration. 5392: (zero_operand): New function. 5393: (must_preserve_r1, must_preserve_bytes): New variables. 5394: (function_prologue, function_epilogue): 5395: Support treatment of return-address reg (r1) in leaf functions. 5396: 5397: * i860v4.h (CPP_PREDEFINES): Add pre-assertions for i860/svr4. 5398: (CPP_SPEC): Deleted definition. 5399: (TYPE_OPERAND_FMT): New definition. 5400: (ASM_OUTPUT_FUNCTION_PREFIX): #undef before defining. 5401: (ASM_OUTPUT_EPILOGUE_SUFFIX): Deleted obsolete macro. 5402: (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, 5403: TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, 5404: TDESC_SECTION_FUNCTION): Definitions added. 5405: 5406: * i860v3.h: Complete rewrite. Uses svr3.h. 5407: 5408: * i386v4.h: Don't include i386v.h. Include i386.h instead. 5409: (SDB_DEBUGGING_INFO): #undef deleted. 5410: (ASM_OUTPUT_DWARF_STRING): Added definition. 5411: 5412: * gcc.c (default_compilers): Pass -g* options to cpp. 5413: 5414: * gcc.c (do_spec_1): Don't duplicate -A options in CPP_PREDEFINES. 5415: 5416: * gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors): 5417: New functions. 5418: 5419: * i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): 5420: Define here, and use IP. 5421: 5422: * i386.h: Don't include syms.h or define FILNMLEN. 5423: 5424: * x-i860v3, x-i860v4: New files. 5425: * x-i386v4 (CCLIBFLAGS, GCC_CFLAGS): Added definitions. 5426: 5427: * xm-svr3.h: New file. 5428: * xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten. 5429: * xm-i38v4.h: New file. 5430: 5431: * svr4.h (LIB_SPEC): Make crtend.o come before any *crtn.o 5432: file (to avoid hitting return without standard epilogue in .init code). 5433: (INIT_SECTION_ASM_OP): Added definition for crtstuff.c (and friends). 5434: (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): 5435: Adjusted indentation of continuations to match those in rest of file. 5436: 5437: * svr3.h (CPP_PREDEFINES): Don't define this here. 5438: (ASM_FILE_START_1): Provide no-op default definition. 5439: (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Undef these before defining. 5440: (INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP, 5441: CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, 5442: EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION, 5443: CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION, 5444: ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION, 5445: SELECT_RTX_SECTION): Definitions added. 5446: 5447: Sun Dec 8 15:27:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5448: 5449: * next.c (handle_pragma): Use get_directive_line. 5450: 5451: * gnulib2.c (__do_global_dtors, __do_global_ctors): 5452: Remove the feature to control the order of execution. 5453: This is not a clean solution to the overall problem. 5454: 5455: Sun Dec 8 14:47:44 1991 Michael Meissner (meissner at osf.org) 5456: 5457: * mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common): 5458: More changes for smuggling stabs through from [email protected] and 5459: [email protected]. 5460: 5461: * mips.h (ignore_line_number): New global, set when we must avoid 5462: putting out a MIPS ECOFF .loc because the file changed inside of a 5463: function, and we are also putting out stabs, which can handle this. 5464: (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment 5465: in front of the pseudo op, if we are encapsulating stabs in MIPS 5466: ECOFF. 5467: (ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename. 5468: (ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno. 5469: 5470: * mips.c (toplevel): Include stab.h for encapsulating stabs. 5471: (ignore_line_number): New global variable. 5472: (reg_or_0_operand): Call register_operand for REG's as well as 5473: SUBREG's. 5474: (override_option): Don't allow ints in FP registers unless -mdebugh. 5475: (mips_output_filename): New function to write the filename to the 5476: assembler output. Add special support for encapsulating .stabs in 5477: MIPS ECOFF. 5478: (mips_output_lineno): New function to write the line number to the 5479: assembler output. Add special support for encapsulating .stabs in 5480: MIPS ECOFF. 5481: (function_epilogue): Clear ignore_line_number. 5482: 5483: * mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint 5484: back to '*'. 5485: 5486: Sat Dec 7 16:58:57 1991 Ken Raeburn ([email protected]) 5487: 5488: * cp-spew.c (scan_tokens): Stop scanning at semi-colon. 5489: 5490: * cp-spew.c: Made SPEW_DEBUG code useable: 5491: (yylex): Use stderr in SPEW_DEBUG code. 5492: (yytags): Deleted table. 5493: (debug_yychar): Print to stderr, and don't try finding translations 5494: for values over 256. 5495: 5496: * cp-class.c (push_lang_context): Fix typo in comment. 5497: 5498: * cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for 5499: top-level decls of methods. 5500: 5501: * cp-lex.c (restore_pending_input): Cast 0 to pointer type for 5502: obstack_free. 5503: 5504: * cp-pt.c (do_pending_expansions): Use TREE_USED instead of 5505: TREE_ADDRESSABLE for functions. Put in comments explaining why we 5506: compile unused methods of classes that are interface-unknown: the 5507: file initializer/cleanup functions might need them. 5508: (mumblefrotz): Delete unused function; this code is in cp-parse.y. 5509: 5510: Sat Dec 7 15:46:55 1991 Timothy Moore ([email protected]) 5511: 5512: * function.c: Handle ARGS_GROW_DOWNWARD. 5513: (pad_below, pad_to_arg_alignment, round_down): New subroutines. 5514: (locate_and_pad_parm): Use them, for the existing case. 5515: Also handle the ARGS_GROW_DOWNWARD case, using them. 5516: 5517: Sat Dec 7 15:46:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5518: 5519: * tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro. 5520: * c-decl.c (grokdeclarator): Store value there. 5521: 5522: * m68k.c (output_function_prologue, output_function_epilogue): 5523: Support MOTOROLA syntax. 5524: 5525: * toplev.c (main): Testing for -ggdb catches -g also. 5526: Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx. 5527: Specified default is for -g. 5528: 5529: * cccp.c (handle_directive): Store start address in directive_start. 5530: (do_xifdef): Use that, checking if at start of file. 5531: (do_endif): Compute ep properly. 5532: 5533: * protoize.c (abspath): Fix errors referencing argument cwd. 5534: (main): Allocate big enough buffer for getcwd. 5535: Don't clobber varargs_style_indicator, copy it. 5536: (savestring): New function. 5537: 5538: Sat Dec 7 00:53:16 1991 Ron Guilmette (rfg at ncd.com) 5539: 5540: * c-decl.c (warn_redundant_decls, warn_nested_externs): New vars. 5541: (c_decode_option): Support -Wredundant-decls and -Wnested-externs. 5542: (pushdecl): Print those warnings. 5543: * c-tree.h (warn_redundant_decls, warn_nested_externs): Declared. 5544: 5545: * c-decl.c (pending_xref_error, c_mark_varargs): Added return type. 5546: 5547: * cccp.c (main): Added code to support the presence of -A (assertion) 5548: options within CPP_PREDEFINES. 5549: 5550: * c-lang.c: Minor cleanups. 5551: 5552: * c-lex.c (check_newline): Added support for the -g3 option. 5553: 5554: * dwarfout.c (type_tag): Fixed bug in gcc Dwarf generation for 5555: tagged types. 5556: 5557: * dwarfout.c (output_decl): Added two pre-checks to see if nodes 5558: are ERROR_MARK nodes before using them. 5559: 5560: * dwarfout.c (generate_new_sfname_entry): Function added. 5561: 5562: * dwarfout.c (lookup_filename): Call generate_new_sfname_entry 5563: as soon as each new source filename is added to the list of 5564: known filenames (thus avoiding an m68k forward-ref assembler bug). 5565: 5566: * dwarfout.c (dwarfout_line): Initialize prev_file_entry_num to 5567: (unsigned) -1 rather than zero to avoid bogus suppression of 5568: first .debug_sfnames section entry. 5569: 5570: * dwarfout.c (compare_filename_entries): Function deleted. (It's 5571: no longer needed.) 5572: 5573: * dwarfout.c (dwarfout_finish): Don't generate .debug_sfnames 5574: section entries here anymore. (See lookup_filename.) 5575: 5576: * Makefile.in (realclean): Delete c-parse.h. 5577: Delete objc-parse.output just once. 5578: 5579: Fri Dec 6 17:49:28 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5580: 5581: * cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is 5582: a fixed address. 5583: (find_comparison_args): If we find something equivalent to a 5584: fixed address, return the fixed address. 5585: 5586: * combine.c (try_combine): Don't access new_i2_notes if it hasn't been 5587: defined (it isn't defined unless newi2pat != 0). 5588: 5589: Fri Dec 6 16:01:02 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 5590: 5591: * rtl.h (enum reg_note): Define two new values REG_DEP_ANTI, 5592: REG_DEP_OUTPUT, which are used to mark LOG_LINKS. 5593: * rtl.c (reg_note_name): Likewise. 5594: (add_dependence): Return void. New parameter DEP_TYPE to indicate 5595: type of dependence. 5596: 5597: * sched.c: Major rewrite to delete much obsolete code, correct many 5598: comments, delete unused variables, etc. Modify all callers of 5599: add_dependence to pass new argument. Significant changes are: 5600: (reassign_dependence): Deleted, was unnecessary. 5601: (priority): Account for type of dependence when calculating 5602: priority. 5603: (flush_pending_lists): New function. Encapsulate code which makes 5604: dependencies between an INSN and every insn on the 5605: pending_read_insns and pending_write_insns lists. 5606: (rank_for_schedule): Account for type of dependence with last 5607: scheduled insn when deciding which ready insn to schedule next. 5608: (launch_link): Give all birthing insns the same priority. 5609: (schedule_block): Only sort the ready list once, after all ready 5610: insns have been added to it. 5611: (schedule_block): When deciding what REG_DEAD notes are needed on a 5612: just scheduled insns, process all sets first (sched_note_set) then 5613: process all uses (attach_deaths_insn). 5614: (attach_deaths): Simplified by above change. 5615: (sched_note_set): Likewise. 5616: (update_flow_info): Renamed from update_links, since it no longer 5617: does anything with LOG_LINKS. Sched_analyze_insn creates all 5618: necessary new LOG_LINKS already. 5619: (schedule_insn): Delete no op move insns after reload. 5620: 5621: Fri Dec 6 13:33:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5622: 5623: * crtstuff.c: Give permission to link with non-free programs. 5624: 5625: * toplev.c (flag_inhibit_size_directive): New var and -f option. 5626: * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it. 5627: * Makefile.in (crtbegin.o, crtend.o): Use that option. Use -g1. 5628: 5629: Fri Dec 6 08:42:53 1991 Ron Guilmette (rfg at ncd.com) 5630: 5631: * Makefile.in (STAGESTUFF): Added __main and _exit to support g++. 5632: 5633: * c-common.c (c_expand_expr_stmt): Made return type explicit. 5634: 5635: * c-common.c: (get_directive_line): Function added to support -g3. 5636: 5637: Fri Dec 6 04:50:39 1991 Michael Tiemann (tiemann at cygnus.com) 5638: 5639: * cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed. 5640: * cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P. 5641: * cp-init.c (add_{friend,friends}): Ditto. 5642: 5643: Thu Dec 5 22:31:12 1991 Jeffrey A Law (law at super.super.org) 5644: 5645: * m68k.h (CONST_COSTS): Show that constants which can be easily 5646: generated are less expensive than most. 5647: 5648: * m68k.md (movsi): Use two instruction sequences to load constants 5649: which are just outside moveq's range (within 8 of moveq's range). 5650: Likewise for positive even constants within twice moveq's range. 5651: 5652: Thu Dec 5 20:17:13 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) 5653: 5654: * config-gcc.com: Generate a file 'version.opt' which will be given 5655: to the VMS linker to put the gcc version number in the image 5656: header version number field. 5657: 5658: * make-cc1.com: Compile c-lex.c when building gcc and objc, and 5659: add c-lex.obj to the list of files given to the linker. 5660: Add version.opt to the list of files given to the linker. 5661: 5662: * make-cccp.com: Add version.opt to the list of files given to the 5663: linker. 5664: 5665: Thu Dec 5 23:04:20 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5666: 5667: * combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM; 5668: clean up comments so they agree with the code. 5669: 5670: * combine.c (try_combine): Correct test for when we can safely change 5671: the mode of a pseudo; can't if it doesn't die in I3. 5672: 5673: * c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used. 5674: * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed. 5675: (combine_strings): Use size of `wchar_type_node' to get number of 5676: bytes in wchar_t. 5677: * next.h (WCHAR_TYPE_SIZE): Delete; no longer used. 5678: 5679: * cse.c (cse_main): Add new argument to cse_basic_block_call. 5680: Don't call cse_around_loop here. 5681: (cse_basic_block): Call cse_around_loop from here while we still 5682: have our arrays allocated. 5683: 5684: * combine.c (simplify_comparison): Fix error in last change; don't 5685: reference TEM before it is set. 5686: 5687: * toplev.c (fatal_insn_not_found): Flush all files before aborting. 5688: 5689: Thu Dec 5 21:42:29 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5690: 5691: * objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR 5692: only once. Always pass self_decl as self to the method. 5693: 5694: Thu Dec 5 14:52:16 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 5695: 5696: * ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h, 5697: since these are complied for the target, host defines do not apply. 5698: 5699: Thu Dec 5 14:52:24 1991 Michael Meissner (meissner at osf.org) 5700: 5701: * dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If 5702: not defined, define as .stabs/.stabn/.stabd respectively. Change 5703: all places emitting stabs to use the macros. 5704: * cp-decl2.c: Ditto. 5705: * cp-gc.c: Ditto. 5706: * final.c: Ditto. 5707: * varasm.c: Ditto. 5708: * gcc.texinfo: Document ASM_STAB[DNS]_OP macros. 5709: 5710: Thu Dec 5 12:03:40 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5711: 5712: * gcc.c (process_command): Don't put `.' on startfile_prefix. 5713: Cast result of alloca. 5714: 5715: * config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args. 5716: 5717: * hp800.h, hp800.c, hp800.md, xm-hp800.h: New files. 5718: * va-hp800.h: New file. 5719: * gvarargs.h: Use va-hp800.h if needed. 5720: * config.subr, configure: Add alternatives for hp800, hp700. 5721: 5722: Thu Dec 5 09:35:15 1991 Michael Tiemann (tiemann at cygnus.com) 5723: 5724: * cp-search.c (note_debug_info_needed): Do the right thing for 5725: static member functions. 5726: 5727: Thu Dec 5 01:25:13 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 5728: 5729: * version.c: Now 1.96. 5730: 5731: Wed Dec 4 23:17:23 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5732: 5733: * reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly 5734: update NEXT_TRIAL after possibly splitting an insn. 5735: 5736: Wed Dec 4 17:03:11 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 5737: 5738: * gplus.gperf: Add throw and template keywords. Update private, 5739: protected, and public definitions. 5740: 5741: * print-tree.c (print_node): Add missing indentation argument to 5742: print_node call for values field. 5743: 5744: Wed Dec 4 18:39:33 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5745: 5746: * objc-actions.c (build_objc_method_call): Define as static. 5747: 5748: Wed Dec 4 17:04:49 1991 Michael Meissner (meissner at osf.org) 5749: 5750: * mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how 5751: many pages we allocated for varrays as well as the small stuff. 5752: (stabs_filename): New static to hold the special filename used for 5753: passing stabs through. 5754: (parse_stabs_common, parse_stabs, parse_stabn): New functions to 5755: smuggle stabs through to the debugger. Stabs must be commented out, 5756: just like the other debug directives. 5757: (add_local_symbol): Check hash_ptr to see if it's null before 5758: storing into it, in case no name is passed. 5759: (add_file): Add support for the special stabs file. 5760: (copy_object): Before copying the external symbols, figure out the 5761: file indexes of each of the files, and then explicitly remap the 5762: original file indexes of the external symbol to be the new file 5763: index. If this isn't done, then bad file numbers can get generated 5764: if a filename is repeated. 5765: (various): Change the name of small_alloc to alloc_counts, since we 5766: now track large memory allocations as well. 5767: 5768: * mips-tdump.c (toplevel): Delete unnecessary include file stamp.h. 5769: 5770: Wed Dec 4 11:05:04 1991 Michael Collison (collison at osf.org) 5771: 5772: * encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition 5773: * ns32k.h: ditto 5774: 5775: * ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is 5776: defined provide alternate definitions 5777: 5778: * encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide 5779: alternate definition 5780: 5781: Wed Dec 4 01:39:07 1991 Ken Raeburn ([email protected]) 5782: 5783: * cp-pt.c (end_template_decl): For method templates, pop the class 5784: binding level before the others rather than after. 5785: 5786: * cp-class.c: Added DEBUG_CP_BINDING_LEVELS code. Include cp-decl.h 5787: if that symbol is defined, but don't list it in Makefile.in since 5788: that's not the normal mode. 5789: (pushclass): Print messages and frob indentation level. 5790: (popclass): Likewise. 5791: 5792: * cp-spew.c (yylex): If identifier_type says PTYPENAME, and 5793: following token is "<", force looking_for_typename to be 5794: non-negative. 5795: 5796: * cp-pt.c (mangle_class_name_for_template): Drop extra spaces 5797: between last parm and closing ">". Print a message before aborting 5798: if a parm type isn't handled. 5799: 5800: * cp-decl.c (maybe_globalize_type): Don't do it if the identifier 5801: that names the type doesn't currently have a type value. 5802: 5803: Wed Dec 4 01:06:28 1991 Michael Tiemann (tiemann at cygnus.com) 5804: 5805: * cp-decl.c (finish_enum): Call `rest_of_type_compilation' for 5806: ENUMTYPE. 5807: * cp-class.c (finish_struct): Ditto. 5808: * cp-decl.c (pushtag): Set TYPE_STUB_DECL. 5809: * cp-search.c (note_debug_info_needed): Call 5810: `rest_of_type_compilation' if we notice we need debug info for TYPE. 5811: * dbxout.c (dbxout_init): Fix typo in comment. 5812: 5813: * cp-parse.y (DOT_STAR): New token. 5814: (expr_no_commas): Handle DOT_STAR expressions. 5815: * cp-lex.c (real_yylex): Recognize DOT_STAR. Also, rearrange 5816: scanner to make it more efficient. 5817: 5818: * cp-decl.c (maybe_build_cleanup): When building cleanups, pass 5819: TYPE_MAIN_VARIANT to `build_delete'. 5820: 5821: Tue Dec 3 22:52:33 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 5822: 5823: * flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note 5824: for the part of multi-word hard registers not needed. 5825: 5826: Tue Dec 3 22:34:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5827: 5828: * configure: Support --objdir. 5829: 5830: * objc-parse.y: Get rid of many static decls. 5831: Reorder all token definitions to match c-parse.y. 5832: (recognize_objc_keyword): New function. 5833: * c-lex.c (token_buffer): No longer static. 5834: (yylex): For @, call recognize_objc_keyword. Don't use keyword table. 5835: * c-lang.c (recognize_objc_keyword): Dummy definition. 5836: 5837: * objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]: 5838: Pass selector as arg to the method. 5839: Always cast the method to a function type. 5840: 5841: * xm-sparc.h (alloca): If using Sun CC, include alloca.h. 5842: If using GCC, define as __builtin_alloca the way other machines do. 5843: 5844: * cccp.c (print_containing_files): Print the nominal file names. 5845: 5846: Tue Dec 3 16:54:04 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 5847: 5848: * jump.c (jump_optimize): If branches are expensive, convert jumps 5849: around increments or decrements by one into an increment by the 5850: conditional expression. 5851: 5852: * combine.c (simplify_comparison): Don't remove a SUBREG unless 5853: it doesn't affect either operand. 5854: 5855: * cse.c (find_comparison_args): Rework so that we can correctly 5856: fold comparisons on machines that set CC0 to the result of a 5857: condition test, not just a COMPARE. 5858: (cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know 5859: its mode. 5860: 5861: Tue Dec 3 12:01:12 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 5862: 5863: * mips.md: Use AND not IOR in define_function_unit definitions. 5864: Correct setting of MODE attribute in various insn patterns. 5865: 5866: Tue Dec 3 08:31:18 1991 Michael Tiemann (tiemann at cygnus.com) 5867: 5868: * cp-spew.c (scan_tokens): Delete Dec 2 change. 5869: (yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on 5870: the wrong obstack. 5871: (probe_obstack): New function to support the above change. 5872: 5873: * cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag. 5874: (CLASSTYPE_ASM_WRITTEN): Deleted. 5875: cp-class.c (finish_struct): Now almost always assume that classes 5876: with methods are to ignored for debugging purposes. 5877: cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new 5878: algorithm for minimizing debug output. 5879: 5880: * cp-decl2.c (constructor_name): Handle case when THING is a 5881: UNION_TYPE. 5882: 5883: Tue Dec 3 06:35:38 1991 Michael Tiemann (tiemann at cygnus.com) 5884: 5885: * jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call 5886: replace_regs on the REG_NOTES of COPY. 5887: 5888: * cp-spew.c (scan_tokens): Don't read past '='. 5889: 5890: * cp-call.c (compute_conversion_costs): For now, treat 5891: CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the 5892: difference between when we should accept it (pointers to the right 5893: sort of methods) and when we shouldn't (base* to derived* 5894: conversions). 5895: 5896: Mon Dec 2 18:53:42 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 5897: 5898: * cse.c (cse_around_loop): Fix typo in comment. 5899: * dbxout.c (dbxout_type_fields): Likewise. 5900: 5901: * sched.c (sched_analyze_1): Pass the second and third args of a 5902: ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2. 5903: 5904: * combine.c (make_compound_operation): Change (lshiftrt (ashift ...)) 5905: to a ZERO_EXTRACT, not a SIGN_EXTRACT. 5906: 5907: Mon Dec 2 15:09:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5908: 5909: * jump.c (jump_optimize): New arg AFTER_REGSCAN. 5910: If not set, don't use duplicate_loop_exit_test. 5911: * toplev.c (compile_file): Pass new arg to jump_optimize. 5912: 5913: * next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY. 5914: 5915: * xm-i86v[34].h: Renamed from xm-i860v[34].h. 5916: * configure: Corresponding changes. 5917: 5918: * m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf. 5919: 5920: * t-decstatn (ld): Just copy collect2. 5921: (collect): Target deleted. 5922: (EXTRA_PASSES): Deleted collect. 5923: (mips-tfile, mips-tdump): Depend on LIBDEPS. 5924: * t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS. 5925: * collect2.c (main): Run /bin/ld. 5926: Use fatal_perror where appropriate. 5927: 5928: * objc-actions.c (build_message_expr): Fix typo. 5929: 5930: * configure: Add missing fi to finish last change. 5931: 5932: * cse.c (simplify_binary_operation): Restore missing break in case DIV. 5933: 5934: * sdbout.c (sdbout_init): Explicitly do nothing. 5935: (sdbout_typedefs): Function deleted. 5936: 5937: Mon Dec 2 12:504:35 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) 5938: 5939: * config-gcc.com: Finish changeover from tm-*.h to *.h. 5940: 5941: Sun Dec 1 05:18:32 1991 Michael Tiemann (tiemann at cygnus.com) 5942: 5943: * cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't 5944: memoize the entry we find. 5945: 5946: * cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of 5947: `build_decl' if we retroactively allocate a VAR_DECL. 5948: 5949: Sun Dec 1 00:10:18 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 5950: 5951: * configure: Convert option syntax from + to --. 5952: Support --target. 5953: 5954: * i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted. 5955: (ASM_FILE_START): Deleted. 5956: (STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted. 5957: (STDC_VALUE): Deleted. 5958: 5959: * real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode. 5960: 5961: * config/*.h: Renamed from tm-*.h. #includes and comments changed. 5962: * configure: Changed accordingly. 5963: * t-*: tm-*.h file names changed. 5964: 5965: * gnulib2.c (__enable_execute_stack): Renamed function. 5966: * convex.h (INITIALIZE_TRAMPOLINE): Use new name. 5967: 5968: Sun Dec 1 08:57:45 1991 Michael Meissner (meissner at osf.org) 5969: 5970: * cccp.c (main): Add cast in front of alloca for non GCC compilers. 5971: 5972: Sat Nov 30 22:33:24 1991 Chris Smith ([email protected]) 5973: 5974: * config.subr: Recognize -c3*. 5975: New alternatives for convex-c3*. 5976: * configure: Alternatives for convex rewritten. 5977: 5978: * gnulib2.c (__execute_enable_stack): New function for Convex only. 5979: 5980: * gcc.c (do_spec_1): Use \ as quoting char. 5981: 5982: * convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38. 5983: Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3. 5984: * convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect 5985: addressing if ! TARGET_INDIRECTS. 5986: 5987: * convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN): 5988: It now works to describe machine correctly. 5989: 5990: * convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather 5991: than longs to match usage in /usr/include. 5992: 5993: * convex.h (enum reg_class): Add classes SP_REGS, the stack 5994: pointer, and INDEX_REGS, the remaining A_REGS. 5995: (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust 5996: for new classes. 5997: (INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will 5998: not index off the stack pointer (register 0). 5999: 6000: * convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, 6001: INITIALIZE_TRAMPOLINE): Define. 6002: 6003: * convex.h (INITIAL_FRAME_POINTER_OFFSET): Define. 6004: 6005: * convex.h (RTX_COSTS): Specify costs to prevent multiply 6006: from being synthesized from shifts (which aren't faster). 6007: 6008: * convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT, 6009: cc is never looked at. 6010: 6011: * convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX): 6012: define so g++ works. 6013: 6014: * convex.h: If COLLECT is defined, define output macros for 6015: collect to call. 6016: 6017: * convex*.h: If !traditional, define _LONGLONG and 64-bit 6018: typedefs to prevent types.h from murdering ansi compilations. 6019: 6020: * convex.md (movsi): split into define_expand and two 6021: anonymous define_insns, one that uses indirection and 6022: one that doesn't. TARGET_INDIRECTS selects which. 6023: 6024: * convex.c (output_call): New routine. Scan forward from call 6025: to decide if AP is live, omit AP reload if not. 6026: * convex.md (call, call_value): use output_call. 6027: 6028: * convex.md (bit manipulation peepholes): remove, now done in 6029: combine. 6030: 6031: * convex.md (indirect_jump): Define. 6032: 6033: * convex.c (const_double_{high,low}_int): Just return the 6034: appropriate word, remove slow float computations. 6035: 6036: * math-convex: New file to use builtin instructions. 6037: 6038: * x-convex: Use cc -pcc to bootstrap gcc. 6039: 6040: Sat Nov 30 10:21:26 1991 Ron Guilmette (rfg at ncd.com) 6041: 6042: * tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering. 6043: 6044: * tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed 6045: so that the progbits parameter actually appears in the definitions. 6046: 6047: * tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Adapted 6048: for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP. 6049: 6050: Sat Nov 30 07:05:06 1991 Michael Tiemann (tiemann at cygnus.com) 6051: 6052: * cp-spew.c (follows_{identifier,typename}): New arrays. 6053: * cp-spew.c (init_spew): Initialize new arrays. 6054: * cp-decl.c (lookup_name): takes new parameter PREFER_TYPE. 6055: All callers changed. 6056: * cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an 6057: AGGR or ENUM. 6058: 6059: * cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call 6060: `real_yylex', not `yylex'. Changed other places that depended on 6061: calling `real_yylex' for their input. 6062: 6063: * cp-spew.c (scan_tokens): Never read past '{' or ':'. Fill the 6064: token buffer with EMPTY tokens in that case. 6065: (yylex): Handle EMPTY tokens. 6066: 6067: * cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back 6068: on the input stream. 6069: (START_DECLARATOR): New token. 6070: (absdcl): Handle START_DECLARATOR. 6071: * cp-spew.c (consume_token): Renamed from `discard_token'. 6072: (struct token): Changed structure to make it smaller. 6073: (spew_init): Renamed from init_spew. Now called from init_lex. 6074: (scan_tokens): Renamed from slurp_next_token. 6075: Many functions reformatted to match GCC indentation style. 6076: 6077: * cp-lex.c (arbitrate_lookup): Don't guess in favor of type if 6078: yychar is ')'. 6079: 6080: * cp-decl.c (lookup_name): Fixed so that all binding levels use 6081: `looking_for_typename' consistently. 6082: * cp-type2.c (build_functional_cast): Handle new case that we are 6083: called in a context where a method is appropriate (but we parsed it 6084: as a ctor call). 6085: 6086: * cp-call.c (CONST_HARSHNESS): Change bit that we test. 6087: (convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS 6088: consisently when needed. 6089: 6090: * cp-init.c (decl_constant_value): Keep enabled even when 6091: CURRENT_FUNCTION_DECL is null. 6092: 6093: Sat Nov 30 01:23:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6094: 6095: * sdbout.c (sdbout_init): Just call sdbout_one_type on each type. 6096: 6097: * tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP. 6098: * tm-sun386.h: Likewise. 6099: * tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise. 6100: (ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise. 6101: (ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise. 6102: * tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE): 6103: Don't end with space. 6104: * tm-sun386.h, tm-bsd386.h: Likewise. 6105: 6106: * c-lex.h: Renamed from c-parse.h. All #includes changed. 6107: * c-parse.c, c-parse.h: Renamed from c-parse.tab.*. 6108: * Makefile.in: Changed accordingly. 6109: (C_OJBS, realclean, TAGS): These changed too. 6110: 6111: * tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): 6112: Undef before defining. 6113: 6114: * tm-i386v4.h: Include tm-svr4.h. 6115: (CPP_PREDEFINES): Define SVR4, and several assertions. 6116: (LIB_SPEC): Delete -Qy. LINK_SPEC handles this. 6117: (DBX_REGISTER_NUMBER): New macro. 6118: 6119: Fri Nov 29 22:16:06 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6120: 6121: * rs6000.md: Cannot use "muls" and "muli" to do widening multiply 6122: from HImode to SImode; delete the 12 patterns that try to do this. 6123: 6124: Fri Nov 29 21:32:52 1991 Michael Tiemann (tiemann at cygnus.com) 6125: 6126: * cp-cvt.c (build_type_conversion): Don't assume that if 6127: TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for 6128: the given type combination is non-NULL. 6129: 6130: Fri Nov 29 16:08:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6131: 6132: * crtstuff.c: New file. Needs papers from rfg. 6133: * Makefile.in (crtbegin.o, crtend.o): New targets. 6134: 6135: * objc-actions.c (build_message_expr): Lots of cleanups. 6136: (build_objc_method_call): New subroutine. 6137: Handles new option NEXT_OBJC_RUNTIME. 6138: 6139: * expr.c (do_jump): Any LABEL_REF is nonzero. 6140: (expand_expr): Construct LABEL_REFs with Pmode. 6141: 6142: Fri Nov 29 14:43:32 1991 Michael Meissner (meissner at osf.org) 6143: 6144: * mips-tfile.c (parse_def): Change an error into a warning. 6145: 6146: * mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint 6147: to '!' to keep reload from allocating FP registers from holding 6148: excess integer values. 6149: (ashift right define_splits): Fix typo, so that the long long 6150: arithmetic right shifts are recognized. 6151: (all define_splits): dummy out constraints, since they are not used. 6152: 6153: * mips.c (override_options): Allow int's in FP registers again, now 6154: that ! constraints are used. 6155: 6156: Fri Nov 29 13:20:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6157: 6158: * dwarfout.c (output_compile_unit_die): Don't include the name 6159: of the compiler which compiled the compiler in the AT_producer 6160: string. It goofs up comparisons of stage2 & stage3 object files. 6161: 6162: * c-parse.y, objc-parse.y: Don't declare position_after_white_space 6163: as static; it is now in c-lex.c. 6164: 6165: Fri Nov 29 05:15:26 1991 Michael Tiemann (tiemann at cygnus.com) 6166: 6167: * cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type 6168: before storing into CLASSTYPE_DECLARED_CLASS (ref). 6169: 6170: * cp-decl2.c (build_push_scope): Don't let non-aggr types appear in 6171: `cname::fname' expressions. 6172: 6173: * cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL 6174: nodes of ARRAY_TYPE may resolved to fixed type. Also handle other 6175: cases of WITH_CLEANUP_EXPR. 6176: 6177: * cp-spew.c (frob_identifier): Handle case of a type conversion 6178: operator that converts to a nested type. 6179: 6180: * cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is 6181: permanent, build a new arglist instead of modifying it in place. 6182: 6183: * cp-typeck.c (convert_arguments): Add ??? to comment about virtual 6184: function conversions. ??? I don't understand what that code is 6185: supposed to do anymore. 6186: (comp_target_parms): If STRICT <= 0, accept types whose 6187: TYPE_MAIN_VARIANTs are equal. 6188: 6189: * cp-call.c (convert_harshness): Revamped to handle contravariance 6190: better. 6191: * cp-class.h (struct candidate): Declaration moved from cp-tree.h. 6192: 6193: * cp-class.c (duplicate_tag_error): New function. 6194: * cp-parse.y (LC): Call it if we're redefining a tag. 6195: * cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL 6196: if non-NULL. Otherwise we get nonsense when we try to parse 6197: inline function bodies of classes that have already been redefined. 6198: * cp-lex.c (reinit_parse_for_method): If we get some text for a 6199: class that's been redefined, flush the text. 6200: * cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'. 6201: 6202: * cp-cvt.c (convert_to_integer): Only warn about anachronistic 6203: conversion from int to enum if PEDANTIC is nonzero. 6204: 6205: * cp-typeck.c (convert_for_initialization): No longer give warning 6206: messages about bitwise copy: this is currently how the default X(X&) 6207: constructor is implemented. 6208: * cp-init.c (expand_aggr_init_1): Ditto. 6209: 6210: * cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR. 6211: * tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR. Correct 6212: handling of TARGET_EXPR case. 6213: 6214: * cp-decl.c (grok_reference_init): If DECL is permanent, make it's 6215: DECL_REFERENCE_SLOT permanent as well. 6216: 6217: * cp-cvt.c (build_type_conversion): If PEDANTIC, give message about 6218: conversions which cast away const. 6219: 6220: * cp-decl.c (store_return_init): If PEDANTIC, give error about named 6221: return values. 6222: 6223: * cp-init.c (decl_constant_value): Don't return DECL_INITIAL if 6224: CURRENT_FUNCTION_DECL is null or if the initializer is a 6225: CONSTRUCTOR. 6226: 6227: Thu Nov 28 05:29:52 1991 Michael Tiemann (tiemann at cygnus.com) 6228: 6229: * integrate.c (expand_inline_function): When passing objects by 6230: invisible reference, correctly compute the amount of space to be 6231: allocated in the pseudo-frame we create for the inline function. 6232: 6233: * cp-typeck.c (mark_addressable): Add call to 6234: `mark_inline_for_output' that got lost in Nov 25 change. 6235: 6236: * cp-decl.c (push_overloaded_decl): If the value of a name is an 6237: ADDR_EXPR, look inside to get the _DECL node. 6238: 6239: * cp-decl.c (grokdeclarator): Don't convert type of operators new 6240: and delete to METHOD_TYPE; they remain FUNCTION_TYPEs. 6241: 6242: * function.c (expand_function_start): Set TREE_REGDECL bit on 6243: RESULT_DECL if result starts life in a register. 6244: 6245: * c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as 6246: a NOP when it or the expression inside it is of REFERENCE_TYPE. 6247: 6248: * cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on 6249: DECL_ASSMBLER_NAME, not DECL_NAME. 6250: 6251: Wed Nov 27 13:49:10 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 6252: 6253: * cse.c (simplify_relational_operation): Correct handling of 6254: COMPARE as first argument. Always strip it off. Don't invert 6255: return value for EQ when !HAVE_cc0. 6256: 6257: Thu Nov 28 20:08:15 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6258: 6259: * gmon.c: New file. 6260: 6261: Thu Nov 28 15:02:24 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6262: 6263: * combine.c (subst, case SET): Never make a paradoxical SUBREG of 6264: a REG unless the SUBREG and REG occupy the same number of words. 6265: 6266: * emit-rtl.c: Include flags.h. 6267: (operand_subword): Always look inside floating if -fpretend-float. 6268: * final.c (split_double): Likewise. 6269: * Makefile.in (emit-rtl.o): Includes flags.h. 6270: 6271: * c-lex.c (yylex): Add goto to `L' case. 6272: 6273: Thu Nov 28 08:37:02 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 6274: 6275: * tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be 6276: used in if/else constructs. 6277: 6278: Thu Nov 28 00:23:26 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6279: 6280: * tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS): 6281: New function codes. 6282: * c-decl.c (init_decl_processing): Declare the functions. 6283: * expr.c (expand_builtin): Implement them. 6284: 6285: * gcc.c: Pass to ld all the dirs in LIBRARY_PATH: 6286: (library_prefix): New list of prefixes. 6287: (process_command): Put dirs from LIBRARY_PATH on that list. 6288: (do_spec_1): %D outputs those dirs. 6289: (link_command_spec): Use %D after passing -L options. 6290: 6291: * gcc.c (process_command): Don't require machine suffix 6292: for dirs from COMPILER_PATH or LIBRARY_PATH. 6293: 6294: * cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing. 6295: 6296: * Use the TYPE_DECLs to drive dbx and sdb output of type tags. 6297: * toplev.c (rest_of_type_compilation): New function. 6298: (compile_file): Pass list of initial decls to dbxout_init, sdbout_init. 6299: (various): Don't call get_*_types. 6300: * dbxout.c (dbxout_init): Get initial types from that list. 6301: * sdbout.c (sdbout_init): Likewise. 6302: * sdbout.c, dbxout.c: Don't call get_*_types. 6303: (*out_typedefs): New subroutines. 6304: * c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation. 6305: (pushtags): Record TYPE_STUB_DECL. 6306: * tree.h (TYPE_STUB_DECL): New macro. 6307: * stor-layout.c (chain_type, get_permanent_types, get_temporary_types): 6308: Deleted. 6309: (save_storage_status, restore_storage_status): Don't frob chains. 6310: (layout_type): Don't call chain_type. 6311: 6312: * dbxout.c (dbxout_type_fields): Output `/'-spec after type tag 6313: only if really needed. 6314: 6315: Wed Nov 27 18:52:55 1991 Michael Tiemann (tiemann at cygnus.com) 6316: 6317: * expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case. 6318: 6319: Wed Nov 27 23:10:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6320: 6321: * cccp.c (main): Use savestring, not strdup. 6322: 6323: Wed Nov 27 17:10:17 1991 Michael Meissner (meissner at osf.org) 6324: 6325: * mips.c (mips_load_reg3, mips_load_reg4): New global variables to 6326: enable scheduling the second nop for the mfhi and mflo instructions. 6327: (mips_hard_regno_mode_ok): New global array to give the results 6328: of HARD_REGNO_MODE_OK for each register and mode. 6329: (mips_fill_delay_slot): Instead of taking the number of nops as a 6330: parameter, take an enumeration, giving what kind of delay this is. 6331: If the next instruction is a label, put nops before label, not 6332: after. Add support for mflo/mfhi, which need 2 nops if the next 6333: instruction would modify the hi/lo registers. 6334: (mips_move_1word, mips_move_2words): mips_fill_delay_slot calling 6335: sequence changes. Pass mflo/mfhi to schedule nops. 6336: (mips_move_2words): Move DImode to/from hi and lo registers is now 6337: supported. 6338: (function_arg): Correctly align long long parameters, just like 6339: doubles. Also correct typo in debug code. Bug report from 6340: [email protected]. 6341: (override_options): Initialize mips_hard_regno_mode_ok. Restrict 6342: int's from going in the FP registers, to limit the register 6343: allocator from allocating them instead of using memory. Also, make 6344: the special registers (HI, LO, FPSW) only accept full sized ints, or 6345: a double int for the HI:LO combination. 6346: (compute_frame_size): Don't set the initialized member until reload 6347: has completed, since otherwise the information may change. 6348: 6349: * mips.md (various): Add 64 bit integer operations for addition, 6350: subtraction, negation, and, inclusive or, exclusive or, one's 6351: complement, shifts, and nor. Add 32x32->64 bit support for 6352: multiply, which the compiler then uses to construct 64 bit 6353: multiplies. 6354: (mulsi3): Break mul into it's two instructions, and schedule the 6355: two nops needed for the mflo instruction. Don't allow an integer 6356: multiplier anymore. 6357: (ffssi2): Delete define_expand, and use a second clobber'ed register 6358: to preserve the original input, instead of (clobber (match_dup 1)). 6359: (movsi_ulw): Change mips_fill_delay_slot calling sequence. 6360: (movdi_internal): Allow DImode move from HI/LO to/from GP registers. 6361: (movdi define_split): Add a define_split to separate the two parts 6362: of DImode register pairs when using GP registers. 6363: (movdf define_split): Add a define_split to separate the two parts 6364: of DFmode register pairs when using GP registers. 6365: (mov??_internal): Change condition to call memory_operand, instead 6366: of just checking for MEM, which disallows (subreg (MEM)) during 6367: the intermediate parts of the compilation. Reported by 6368: [email protected]. 6369: (negsi2): Turn back into a real insn instead of just a 6370: define_expand for subsi3. 6371: (one_cmplsi2): Turn back into a real insn instead of just a 6372: define_expand for norsi3. 6373: (andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and 6374: allow 32 bit constants to improve the code generated for bitfields, 6375: at the expense of potentially not moving the constant out of loops. 6376: (various): Add = constraint to all clobbers. 6377: (fix_trunc*): Go back to old method of using two clobbers, since 6378: unoptimized compiles call abort otherwise, when returning the result 6379: of truncating a float as a function result. 6380: 6381: * tm-mips.h (delay_type): New enum to express different types of 6382: delay slots. 6383: (mips_load_reg3, mips_load_reg4): Declarations for more registers 6384: to check for needing nops. Used by multiply/divide to schedule 6385: the two nops needed after mfhi/mflo if the next instruction would 6386: clobber the register. 6387: (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP 6388: registers. 6389: (MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode 6390: patterns, in case the code is wrong. 6391: (HARD_REGNO_NREGS): All FP registers use register pairs, so that 6392: SF in a GP register takes only one register, and SI in a FP 6393: register takes 2. 6394: (HARD_REGNO_MODE_OK): Change macro to reference the array 6395: mips_hard_regno_mode_ok, which is now built in override_options. 6396: (CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is 6397: an exact power of 2, and 'P' is now for positive numbers. 6398: (PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP 6399: register. 6400: (PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it. 6401: (FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4 6402: being mentioned. Also add a missing tab when more than one delay 6403: slot. 6404: (CONST_COSTS): Make all constant ints cost 0 to lower register 6405: pressure according to Richard Kenner. 6406: (RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS 6407: costs as well. 6408: (REGISTER_MOVE_COSTS): Bump costs for moving between register 6409: classes, so that reload doesn't try to store int type values in the 6410: floating point registers. 6411: 6412: Wed Nov 27 15:01:52 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6413: 6414: * config-gcc.com: Renaming of out-vax.c. 6415: * make-cc1.com: Link dbxout with all languages. Add cp-spew. 6416: 6417: * cccp.c (include_defaults_array): Fix typo. 6418: 6419: * gstddef.h: Handle _STDDEF_H_. 6420: 6421: * configure.bat, Makefile.dos: New files. 6422: 6423: * c-lex.c: New file. All subroutines moved here. 6424: (yylex): Small diffs between C and OBJC merged. 6425: * c-parse.y, objc-parse.y: Deleted from here. 6426: * c-lang.c (lookup_interface): New stub. 6427: * Makefile.in (c-lex.o): New rule. 6428: (OBJC_OBJS, C_OBJS): Changed for new files. 6429: 6430: Wed Nov 27 13:34:15 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 6431: 6432: * c-parse.y (yylex): Don't assume that long is 32 bits and long 6433: long is 64 bits when warning for out of range integer constants, 6434: and when creating a tree to represent integer constants. 6435: * cp-lex.c (real_yylex): Likewise. 6436: * objc-parse.y (yylex): Likewise. 6437: 6438: * combine.c (simplify_comparison, ASHIFT case): Prevent shift by 6439: HOST_BITS_PER_INT for inequality comparisons. 6440: 6441: * fold-const.c (operand_equal_p): Arguments are not equal if 6442: signedness differs. Conversions don't match if signedness differs. 6443: 6444: * sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that 6445: would require reloading by the use of conditions. 6446: 6447: * alloca.c (alloca): Add parens to make precedence clearer. 6448: 6449: * tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler 6450: will bootstrap. 6451: 6452: Wed Nov 27 09:41:13 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6453: 6454: * expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number 6455: in safe_from_p call. 6456: 6457: * recog.c (indirect_operand): Correctly handle case where we have 6458: a (subreg (mem X) C) after reload. 6459: 6460: Tue Nov 26 16:24:03 1991 Ron Guilmette (rfg at ncd.com) 6461: 6462: * dwarfout.c (output_enumeration_type_die): Handle a GNU C 6463: language extension: incomplete enum types. 6464: 6465: * dwarfout.c (output_type): Fixed bug which causes DIEs for 6466: file-scope tagged types to be generated in a local-scope 6467: under some conditions. 6468: 6469: * dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which 6470: generates most of the .debug_aranges entries from dwarfout_init 6471: into dwarfout_finish to avoid m68k assembler bug. 6472: 6473: * Makefile.in (EXTRA_PARTS): New parameter. 6474: (install-common): Compile the things in EXTRA_PARTS. 6475: (GCC_PASSES, GCC_PARTS): New variables. 6476: (STAGESTUFF, native, enquire, enquire.o): Use them. 6477: (protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X): 6478: (gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise. 6479: 6480: * tm-svr4.h (CPP_PREDEFINES): Don't define this here. Undef it 6481: so that other files which include this one will be forced to 6482: define it appropriately for the specific target and OS. 6483: (CPP_SPEC): Deleted. 6484: (LIB_SPEC): Add crtend.o as last thing linked in on each link-step. 6485: (STARTFILE_SPEC): Add crtbegin.o as the first thing linked in. 6486: (NO_DOLLAR_IN_LABEL): Added define. Most svr4's don't support $. 6487: 6488: * tm-svr4.h: Added support for the .ctors and .dtors sections 6489: (as for the m88k). 6490: (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros. 6491: * tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE): Deleted 6492: define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not 6493: try to use a dot when computing a function's size in a .size 6494: directive (because Tom Wood says that 88open doesn't approve 6495: of dot as an asm operand). 6496: 6497: * x-genix, x-i386sco, x-xenix (INSTALL): Define as cp. 6498: 6499: Tue Nov 26 16:24:03 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6500: 6501: * gcc.c (default_compilers): Pass -A* to cpp. 6502: 6503: * Make names unique if unpacked on MSDOG. 6504: * config/*.c: `out-' removed from all file names out-*.c. 6505: * x-hp*: Renamed from x-hp9k*. 6506: * tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h. 6507: * tm-hp*.h: `9k' removed from these names. 6508: * tm-isi*.h: `68' removed from these names. 6509: * tm-i860b.h, tm-i860bg.h: `sd' removed. 6510: * tm-i860g3.h: Renamed from tm-i860v3g.h. 6511: * tm-i386sun.h: Renamed from tm-sun386i.h. 6512: * tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h. 6513: * tm-sun3n3.h: Was tm-sun3os3nf.h. 6514: * tm-sun3n.h: Was tm-sun3-nfp.h. 6515: * tm-sun2o4.h: Was tm-sun2os4.h. 6516: * xm-hp320.h: Was xm-hp9k320.h. 6517: * xm-i386sun.h: Was xm-sun386i.h. 6518: * configure: Adjust for those renamings. 6519: 6520: * configure (m68000-hp-hpux*): Use xm-hp320.h. 6521: 6522: * stmt.c (expand_value_return): New subroutine. 6523: (expand_return): Use that. 6524: 6525: * make-gcc.com: New name for make.com. 6526: 6527: * stor-layout.c (layout_record): Return list of static members. 6528: (layout_type): Lay them out here. 6529: 6530: * expmed.c (init_expmed): Use 3 as shift count for shift_cost. 6531: 6532: * x-sco: File deleted. 6533: 6534: * print-tree.c (print_node): Always be brief for vector elts. 6535: 6536: Tue Nov 26 07:42:41 1991 Michael Tiemann (tiemann at rtl.cygnus.com) 6537: 6538: * cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC. 6539: 6540: Mon Nov 25 21:51:09 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6541: 6542: * optabs.c (emit_cmp_insn): If both operands are VOIDmode, 6543: put first operand into register, not second. 6544: 6545: * alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md: 6546: Don't allow a constant as the first operand to tstxx insns. 6547: * tahoe.md, vax.md: Likewise. 6548: * convex.md: Remove erroneous comment on tstsi. 6549: 6550: Mon Nov 25 20:51:00 1991 DJ Delorie ([email protected]) 6551: 6552: * cccp.c (main): Look in env vars to override header dir list. 6553: * gcc.c (process_command): Likewise. 6554: 6555: * gcc.c (execute): Alternate way to get status on MSDOS. 6556: Error for -pipe on MSDOS. 6557: (pexecute): Alternate definition for MSDOS. 6558: (find_a_file): Handle new hook EXECUTABLE_SUFFIX. 6559: (EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS. 6560: (P_tmpdir): Add default definition for MSDOS. 6561: 6562: Mon Nov 25 17:18:52 1991 Michael Collison (collison at osf.org) 6563: 6564: * x-encrose: New file for mmax running OSF/1. 6565: * t-encrose: ditto. 6566: 6567: * ns32k.md (movsi): Use new constraint letters 'x' and 'y' 6568: representing the frame and stack pointer. 6569: (movhi,movqi): Add constraints and template code to allow moves 6570: between the floating point and general purpose registers. 6571: 6572: * tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage 6573: moves between the floating point registers and the frame and stack 6574: pointer. Also discourage moves between the fp and general registers. 6575: (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, 6576: REG_CLASS_FROM_LETTER): Add two new register classes representing 6577: the frame pointer and stack pointer respectively. 6578: (GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a 6579: base register. This causes reload to reject pseudo registers when 6580: REG_OK_STRICT is defined. 6581: 6582: * tm-i386rose.h: New file for 386 running on OSF/1. 6583: * x-i386rose: ditto 6584: * t-i386rose: ditto 6585: 6586: * config.subr: Added case for 'osf-'. 6587: * configure: Added case for i386-osfrose 6588: 6589: * tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing. 6590: (ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined 6591: nothing is passed to the assembler. 6592: (TARGET_DEFAULT): Changed so that, by default, no code is generated 6593: using the static base (sb) register. 6594: (OVERRIDE_OPTIONS): Removed in lieu of the new debug macros 6595: PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION. 6596: (DEFAULT_GDB_EXTENSIONS): Define it 6597: (PREFERRED_DEBUGGING_TYPE): Use it. 6598: 6599: Mon Nov 25 17:18:52 1991 Jyrki Kuoppala (jkp at batman.hut.fi) 6600: 6601: * ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1. 6602: (ashlqi3): likewise. 6603: (addsi3): don't use addr instead of addd on the 32532. 6604: 6605: * out-ns32k.c (calc_address_cost): don't assume unknown RTX codes 6606: have XEXP's which are rtx's. 6607: 6608: * ns32k.md (movsi): don't use addr for the 32532 immed displacements. 6609: (shift patterns): fixed a typo with %$%n. 6610: 6611: * out-ns32.c (calc_address_cost) new function. 6612: tm-ns32k.h (ADDRESS_COST): call calc_address_cost. 6613: 6614: * out-ns32k.c (print_operand_address): use error & debug_rtx if error. 6615: 6616: * tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't 6617: match anything on the 32532 to make negative arithmetic left 6618: shifts behave consistently. 6619: 6620: * ns32k.md (subsf+1): don't use ajdspb on the 32532. 6621: 6622: * tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for 6623: constraint 'I' if on 32532. 6624: 6625: * ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}. 6626: 6627: * ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532. 6628: 6629: * ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of 6630: n for offset. 6631: 6632: * ns32k.md (insv-1): use only register_operand with constraint 6633: "r" for operand 2, insd can't take constant offsets >= 8. 6634: (pattern insv-2): added another insv-like pattern, for 6635: offsettable operand. 6636: (insv): constraint should be "+g". 6637: (pattern before insv): installed an insv-like pattern 6638: with operand 0 having register_operand and SImode. 6639: 6640: * out-ns32k.c (print_operand): define as a void function. 6641: 6642: * ns32k.md (call_value): use operands[1], not operands[0] to check 6643: for CONSTANT_ADDRESS_P. 6644: 6645: * out-ns32k.c (print_operand): eliminate 6646: PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN. 6647: 6648: * tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P, 6649: not CONSTANT_P. 6650: 6651: * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT 6652: is not right because displacements are not 32-bit. Use 6653: CONSTANT_ADDRESS_NO_LABEL_P instead. 6654: 6655: * tm-ns32k.h (output_move_double, output_shift_insn): New declarations. 6656: 6657: * out-ns32k.c (print_operand_address): Use fatal for errors. 6658: 6659: * ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40. 6660: 6661: * out-ns32k.c (print_operand): function moved from tm-ns32k.h. 6662: Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added 6663: macro PRINT_OPERAND_EXTRACT_FLOAT. 6664: 6665: * out-ns32k.c (print_operand_address): replaced the function with 6666: a more clean version, written for gas syntax. 6667: 6668: * ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not 6669: defined. 6670: (call_value): likewise. 6671: 6672: * ns32k.md (pattern after ashrsi3): added % before $ so the 6673: pattern works also for gas syntax. 6674: (pattern after ashrhi3): likewise. 6675: (pattern after ashrqi3): likewise. 6676: (pattern after lshrsi3): likewise. 6677: (pattern after lshrhi3): likewise. 6678: (pattern after lshrqi3): likewise. 6679: (pattern after rotrsi3): likewise. 6680: (pattern after rotrhi3): likewise. 6681: (pattern after rotrqi3): likewise. 6682: 6683: * ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since 6684: for now we only use GAS syntax. 6685: 6686: * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a 6687: condition in addition to CONSTANT_ADDRESS_P. 6688: 6689: * tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE 6690: == SYMBOL_REG, add TARGET_SB to the second-part condition. 6691: 6692: * ns32k.md (rotrsi3): fixed a typo NEGATE->NEG 6693: 6694: * tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not 6695: strictly according to the spec. 6696: 6697: * tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX 6698: etc, using gas syntax. 6699: 6700: * out-ns32k.c: removed macro FP_REG_P. 6701: 6702: * tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to 6703: 2 since GAS syntax is the default assembler syntax now. 6704: (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call 6705: print_operand and print_operand_address in out-ns32k.c, 6706: respectively. 6707: 6708: * tm-ns32k.h: New macros TARGET_SB, TARGET_PIC. 6709: Dummy code for trampolines, calls fatal(). 6710: Macro FP_REG_P moved here from out-ns32k.c. 6711: Some reorganizations of blocks. 6712: 68000 -> ns32k. 6713: 6714: * tm-ns32k.h (TARGET_VERSION) says GAS syntax. 6715: (TARGET_*) added some empty lines for clarity. 6716: 6717: Mon Nov 25 14:29:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6718: 6719: * Makefile.in (aux-output.o): Depend on insn-codes.h. 6720: 6721: * make-cc1.com: Handle print-rtl.c. 6722: 6723: * toplev.c (warn_aggregate_return): New variable. 6724: (W_options): Define option to set it. 6725: * flags.h: Declare it. 6726: * calls.c (expand_call): Print warning if value is aggregate. 6727: * function.c (init_function_start): Likewise. 6728: 6729: Mon Nov 25 13:29:50 1991 Per Bothner (bothner at cygnus.com) 6730: 6731: * cp-except.c (init_exception_processing): Fix return type of 6732: longjmp (from int to void). 6733: 6734: Mon Nov 25 13:11:51 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 6735: 6736: * rtlanal.c (refers_to_regno_p): Check for `x == 0' on repeat. 6737: 6738: * x-mips, xm-vms.h: Change cplus-* to cp-* in comments. 6739: * x-tower (X_CFLAGS): Add missing `-'. 6740: 6741: * unroll.c (unroll_loop): When simplifying loops executed only once, 6742: use last_loop_insn not copy_end. 6743: 6744: Mon Nov 25 07:45:46 1991 Michael Tiemann (tiemann at rtl.cygnus.com) 6745: 6746: * cp-except.c (init_exception_processing): Mark `ExceptionHandler' 6747: constructor and destructor as being TREE_EXTERNAL, and mark the 6748: `ExceptionHandler' type as being interface-only. 6749: 6750: * cp-decl.c (maybe_globalize_type): Don't test TYPE_BEING_DEFINED 6751: for ENUMERAL_TYPE. 6752: 6753: * cp-class.c (modify_vtable_entry): Disable code which attempts to 6754: encode in a vtable an indirection to another vtable entry. 6755: 6756: * cp-call.c (build_method_call): Convert FUNCTION to 6757: DECL_MAIN_VARIANT (FUNCTION) once we are going to use it for real. 6758: * cp-init.c (build_delete): Use DECL_MAIN_VARIANT (DTOR). * 6759: * cp-typeck.c (mark_addressable): Use DECL_MAIN_VARIANT (X). 6760: 6761: Mon Nov 25 00:41:14 1991 Per Bothner (bothner at cygnus.com) 6762: 6763: * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov 6764: 20) was a little too drastic: If it succeded, no type info was 6765: emitted at all, which made for syntactically invalid stabs. 6766: Instead, just set 'full=0', 6767: * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a 6768: little cleaner. It *seems* to work ... 6769: 6770: Sun Nov 24 19:32:07 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 6771: 6772: * sched.c (update_links): Use PUT_REG_NOTE_KIND to change REG_NOTE. 6773: 6774: Sun Nov 24 14:53:37 1991 Ron Guilmette (rfg at ncd.com) 6775: 6776: * cccp.c: Add `return 0;' statements to all do_* functions which 6777: needed them to prevent spurious warnings. Also change plain 6778: `return;' statements to `return 0;' statements where appropriate. 6779: 6780: Sun Nov 24 07:37:17 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6781: 6782: * cse.c (cse_insn): When making equivalences of subparts of 6783: a SET, avoid putting a (hard) register in the hash table twice, 6784: each time with different modes. 6785: 6786: * genrecog.c (write_tree_1,change_state): Don't check for a position 6787: containing a '*' since we don't set it to that. 6788: (main): Don't define recog_addr_dummy; no longer used. 6789: * recog.c (recog_addr_dummy): No longer needed; wasn't actually used. 6790: (init_recog_no_volatile, init_recog): Don't set recog_addr_dummy. 6791: 6792: * expmed.c (store_split_bit_field, extract_bit_field): Abort if 6793: operand_subword of target returns 0. 6794: * expr.c (convert_move, move_block_from_reg, emit_move_insn): Likewise. 6795: 6796: * combine.c (subst, case SUBREG): Don't allow making a SUBREG of 6797: a hard reg in a mode not valid for that hard reg. 6798: * emit-rtl.c (gen_lowpart_common, operand_subword): Likewise. 6799: 6800: * expmed.c (extract_split_bit_field): Use operand_subword_force. 6801: * expr.c (emit_move_insn): If operand_subword fails for non-const, 6802: use operand_subword_force. 6803: 6804: * expmed.c (expand_mult): Pass OP0 through protect_from_queue so we can 6805: use it in a REG_EQUAL note and check it for being a MEM. 6806: 6807: * rtl.def (SMIN, SMAX, UMIN, UMAX): New RTL codes. 6808: * fold-const.c (const_binop, case MIN_EXPR, MAX_EXPR): Use MIN and MAX. 6809: (fold, case MIN_EXPR, MAX_EXPR): Check for operands equal; check for 6810: min (x, lowest-value-for-type) and max (x, highest-value-for-type). 6811: (fold, case COND_EXPR): Look for conditionals that are equivalent 6812: to ABS_EXPR, MIN_EXPR, or MAX_EXPR and convert them to the appropriate 6813: expression. 6814: * expr.h (smin_optab, smax_optab, umin_optab, umax_optab): New vars. 6815: * gcc.texinfo (smin, smax, umin, umax): Add documentation. 6816: * expr.c (expand_expr, case ABS_EXPR): Ignore ABS on unsigned types. 6817: If jumps are expensive, we can do ABS with shifts and xors. 6818: (expand_expr, case MIN_EXPR, MAX_EXPR): Try to do using new optabs. 6819: * optabs.c (smin_optab, smax_optab, umin_optab, umax_optab): 6820: Initialize new optabs. 6821: * cse.c (simplify_binary_operation): New cases SMIN, SMAX, UMIN, UMAX. 6822: * rs6000.md (sminsi3, smaxsi3, uminsi3, umaxsi3): New patterns. 6823: * m88k.md (abssi2): Delete pattern; now done in expr.c. 6824: 6825: * rs6000.md (scc): Correct typos in last change. 6826: 6827: * expmed.c (expand_mult): TARGET will only be written once, so 6828: function return register is OK. 6829: Write a REG_EQUAL note so multiplications can be cse'ed. 6830: 6831: * expmed.c (emit_store_flag): Skip trying most sequences of insns 6832: if branches are very cheap (BRANCH_COST == 0). 6833: * expr.c (expand_expr, case COND_EXPR): Check for BRANCH_COST <= 1, 6834: not equal to 1. 6835: Know that emit_store_flag won't do most sequence if branches are very 6836: cheap. 6837: 6838: * tm-vax.h (BRANCH_COST): Define to be equal to zero. 6839: 6840: Sun Nov 24 07:07:31 1991 Michael Tiemann (tiemann at cygnus.com) 6841: 6842: * cp-decl.c (maybe_globalize_type): Don't globalize a type that's 6843: being defined. 6844: 6845: Sun Nov 24 05:08:57 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6846: 6847: * c-decl.c (finish_struct): Use main variant checking ANSI bitfields. 6848: 6849: * tm-tower-as.h (ASM_FILE_START): Use output_file_directive. 6850: 6851: * gcc.c (process_command): Treat `-' as file name, not option. 6852: 6853: Sat Nov 23 20:28:58 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6854: 6855: * cse.c (simplify_binary_operation): Remove duplicate code for SFmode 6856: and DFmode; use of REAL_VALUE_TRUNCATE means that all modes can be 6857: handled with the same code. 6858: Truncate result as well as inputs to computations. 6859: 6860: * cse.c (cse_basic_block): Allow recording of destinations in the 6861: final insn of a LIBCALL block. 6862: 6863: * flow.c (insn_dead_p): Add new argument CALL_OK. 6864: (propagate_block): Pass new arg. 6865: (libcall_dead_p): Indicate that we can accept a CALL when we use 6866: insn_dead_p to see if the destination of the CALL is dead. 6867: 6868: * genrecog.c (struct decision): Remove fields `dupcount' 6869: and `reg_class' and all references; they were being set but never 6870: used and are now obsolete. 6871: 6872: * emit-rtl.c (gen_lowpart_common, operand_subword): Don't make 6873: a new REG for the function return value until we after the RTL 6874: is copied for possible inlining; use a SUBREG instead. 6875: 6876: * combine.c (can_combine_p): Don't move insn past a volatile ref if 6877: it is an `asm', even if non-volatile. 6878: 6879: * gmicro.md: Fix punctuation problem causing syntax error. 6880: 6881: * tm-rs6000.h (CONST_OK_FOR_LETTER_P): Add `O' and `P'. 6882: * out-rs6000.c (reg_or_neg_short_operand): New function. 6883: 6884: * rs6000.md (attribute "type"): New type `delayed_compare'. 6885: Add define_function_unit for delayed comparisons. 6886: Mark comparison results of certain insns as being delayed for 6887: longer that normal comparison results; add a new missing types 6888: of `compare'. 6889: (seq, sle): Remove special-cases for (const_int 0) operands; use 6890: alternative with constraint of `O' instead. 6891: (sltu, sgeu): Support most constants in second operand. 6892: 6893: * cse.c (prev_insn_cc0_mode): New variable. 6894: (fold_rtx): When folding CC0, get the mode from prev_insn_cc0_mode. 6895: (cse_insn): Save mode of SET of CC0 in prev_insn_cc0_mode. 6896: 6897: Sat Nov 23 17:01:47 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 6898: 6899: * expmed.c (init_expmed): Make REG a pseudo, not a hard reg. 6900: 6901: * tm-m68k.h (RTX_COSTS): New macro. 6902: 6903: * varasm.c (make_decl_rtl): Get rid of pedantic warning. 6904: 6905: * gcc.c (link_command_spec): Delete code for handling -collect. 6906: (default_compilers): Get rid of the %x for g++. 6907: This is because now collect is always supposed to be run. 6908: 6909: * tm-vms.h (ASM_OUTPUT_COMMON): Avoid void as type in :? operator. 6910: * tm-sun3.h (ASM_OUTPUT_FLOAT_OPERAND, ASM_OUTPUT_DOUBLE_OPERAND): 6911: Likewise. 6912: * tm-vaxv.h (ASM_OUTPUT_ASCII): Declare `s' as unsigned char *. 6913: * tm-crds.h (FUNCTION_EPILOGUE): Don't call FUNCTION_EXTRA_EPILOGUE. 6914: 6915: * configure (i386-dontknow-*, ns32k-*-*): Alternatives deleted. 6916: (m68k-tti2-*): Deleted. 6917: (m68k-tti-*): Renamed from m68k-tti1-*. 6918: 6919: * i860.md (floatsidf2): Escape the doublequotes. 6920: 6921: * Makefile.in (final.o): Add insn-codes.h as dep. 6922: (OBJS): Add dbxout.o. 6923: (C_OBJS, OBJC_OBJS): Deleted here. 6924: (CPLUS_OBJS): Deleted cp-dbxout.o. 6925: (cp-dbxout.o): Target deleted. 6926: 6927: Sat Nov 23 06:33:24 1991 Michael Tiemann (tiemann at cygnus.com) 6928: 6929: * cp-spew.c (yylex): Don't see TYPENAME if LOOKING_FOR_TYPENAME 6930: is < 0. Definitely see TYPENAME if LOOKING_FOR_TYPENAME > 0. 6931: 6932: * cp-decl.c (grokdeclarator): Any type construction that uses a 6933: struct/union/enum type that is not yet defines pushes that type into 6934: the global namespace. 6935: 6936: * cp-spew.c (discard_token): Renamed from `eat_token'. 6937: Also, make all local functions static. Some day we'll use inlining. 6938: 6939: Thu Nov 21 16:06:14 1991 Mark Eichin (eichin at cygnus.com) 6940: 6941: * Makefile.in: added rule for cp-spew.o 6942: 6943: * cp-parse.y (TYPENAME_SCOPE): added an action, since it is no 6944: longer done in the lexer. 6945: (yyprint): Took out case for TYPENAME_SCOPE. 6946: 6947: * cp-lex.c (real_yylex): renamed from yylex. Also all of the code 6948: dealing with nested classes has been #if 0'd in favor of the code in 6949: cp-spew.c. 6950: 6951: * cp-spew.c (New File): This calls yylex (which is now real_yylex) 6952: and looks ahead as far as possible to bind up nested classes and 6953: pass them on to the parser. 6954: 6955: Thu Nov 21 18:14:11 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 6956: 6957: * out-sparc.c (output_function_epilogue): Correct parameters in 6958: call to final_scan_insn, write_symbols parameter no longer exists. 6959: 6960: * integrate.c (save_for_inline_copying): Use GET_RTX_CLASS. 6961: 6962: Thu Nov 21 17:44:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6963: 6964: * gcc.texinfo (PCC_BITFIELD_TYPE_MATTERS): Clarify that macro 6965: must always be non-zero unless MEM extv/extzv/insv exist. 6966: 6967: * romp.md (movdi): Disable define_split when we are moving 6968: between overlapping registers prior to reload to work 6969: around hard-to-fix sched.c bug. 6970: 6971: Thu Nov 21 17:14:54 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 6972: 6973: * jump.c (invert_exp): Correct typo in comment. 6974: 6975: Thu Nov 21 15:34:27 1991 Michael Meissner (meissner at osf.org) 6976: 6977: * gcc.texinfo (warning options): Make the documentation agree with 6978: the code, -Wstrict-prototypes and -Wmissing-prototypes are not 6979: turned on via -Wall; -Wnoparenthesis is now spelled 6980: -Wno-parenthesis. 6981: (option header): Mention that -W options take the no- prefix as well 6982: as -f options. 6983: 6984: Thu Nov 21 08:12:51 1991 Tom Wood (wood at dg-rtp.dg.com) 6985: 6986: * out-m88k.c (check_float_value): Change use of REAL_VALUE_TRUNCATE. 6987: * tm-m88k.h (FLOAT_TO_INT_INTERNAL): Ditto. 6988: (AS_BUG_POUND_TYPE): Simplify. 6989: * tm-m88kdgux.h: Don't need AS_BUG_DOT_LABELS or AS_BUG_POUND_TYPE. 6990: 6991: Thu Nov 21 06:47:11 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 6992: 6993: * rs6000.md (scc): Add missing '&' in some alternatives of constraints. 6994: 6995: * a29k.md (negdf2): Fix typo in constraints for SCRATCH in 29050 case. 6996: 6997: * real.h (REAL_VALUE_TRUNCATE): Default is to truncate to float if 6998: mode size is BITS_PER_WORD instead of when mode if SFmode. 6999: 7000: Thu Nov 21 01:58:27 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7001: 7002: * dbxout.c (dbxout_type): Test TYPE_BINFO before TYPE_BINFO_BASETYPES. 7003: 7004: Thu Nov 21 01:45:53 1991 Ken Raeburn ([email protected]) 7005: 7006: * cp-parse.y (unary_expr): Break out `new' expressions with 7007: parenthesized types into more basic forms, and handle trailing array 7008: dimensions with an appropriate warning message. 7009: 7010: * cp-class.c (pushclass): For UPType, overload the template name. 7011: (popclass): For UPType, undo the overload. 7012: 7013: * cp-decl.c (pop_decl_level): Don't look up DECL_NAME slot of a 7014: null pointer. 7015: (pushdecl_top_level): Reworked handling of shadow lists to be 7016: correct. 7017: (lookup_tag): Bypass redefinition error message for UPT as well as 7018: for TEMPLATE_DECL. 7019: (start_decl): Add template decls only to top level. Print message 7020: for non-function, non-class templates. 7021: (finish_decl): Disable code that renames anonymous types; leave it 7022: disabled until we figure out why it was being done in the first 7023: place. 7024: (grokdeclarator): Eliminate hack to deal with destructor templates. 7025: Extend some code handling constructors to handle destructors as 7026: well. Deleted some unnecessary code dealing with function 7027: templates. 7028: 7029: * cp-decl2.c (constructor_name): Treat class template decl like 7030: type decl. 7031: 7032: * cp-lex.c (store_pending_inline): If a function is not to be 7033: compiled, discard its text only if can_free flag is set. 7034: 7035: * cp-decl.c (start_function): For `pre-parsed' functions, only 7036: set extern-inline flag if inline flag is set. 7037: * cp-lex.c (do_pending_inlines): Don't set inline flag for method 7038: templates, regardless of default-inline flag setting. 7039: (process_next_inline): Ditto. 7040: 7041: * cp-method.c (dump_type): Do something semi-useful with UPT 7042: nodes, instead of crashing. 7043: (fndecl_as_string): For constructor and destructor, use name of 7044: function rather than looking up class constructor name; should be 7045: the same, and it's cheaper this way. 7046: (build_overload_name): Make template-related names unique, as well 7047: as unlikely to be accepted by the assembler. 7048: 7049: * cp-parse.y (yyprint): Handle PRE_PARSED_CLASS_DECL. 7050: (template_def): In case handling destructors, pass new decl to 7051: end_template_decl, rather than ungrokked call_expr node. Rewrote 7052: last derivation. 7053: (scoped_typename): Don't try building from template type; it doesn't 7054: work. 7055: (try_for_typename): Treat typename using template parms like any 7056: other typename. 7057: 7058: * cp-pt.c: New comment at start lists some known problems. 7059: (end_template_decl): Do nothing for error_mark_node. Check 7060: DECL_CLASS_CONTEXT and DECL_EXTERNAL when setting TREE_EXTERNAL 7061: field of template decl. Don't need to pop extra class level for 7062: non-operators any more, but do need to assign class context field. 7063: (instantiate_member_templates): Now returns void. 7064: (tsubst, case FUNCTION_DECL): Process flag fields of method as for 7065: other functions. Handle class context field. Push decl at top 7066: level only if decl context is null. 7067: (tsubst, case TREE_LIST): Use via-public and via-virtual fields. 7068: (do_pending_expansions): Correct handling of methods. 7069: 7070: * cp-pt.c (overload_template_name): If not class-level, push 7071: extra binding level. Disable check that overload hasn't already 7072: been done; for now, it's needed. 7073: (undo_template_name_overload): Pop it. 7074: 7075: Thu Nov 21 00:15:33 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7076: 7077: * dbxout.c (dbxout_type_methods): Don't dereference TYPE_NAME and 7078: ctor_name until after checking for non-null methods. 7079: 7080: * sched.c (create_reg_dead_note): New function. Add a REG_DEAD note 7081: for REG to INSN, reusing a REG_DEAD note from the dead_notes line. 7082: (attach_deaths): Add quick exit for many rtx that can't contain a 7083: register. Rewrite REG_DEAD note code to use the new scheme (see 7084: the Nov 1 ChangeLog entry). 7085: (new_insn_dead_notes): Don't add a REG_DEAD note to an insn that 7086: already has one. 7087: (update_links): Must convert REG_UNUSED notes to REG_DEAD when a 7088: register formerly just clobbered is now explicitly set and used in 7089: the new split insns. 7090: 7091: Wed Nov 20 18:02:38 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7092: 7093: * c-decl.c, cccp.c: Change all -Wno options to 7094: -Wno- options so as to be consistent with toplev.c, and so as 7095: to also be consistent with the -fno- options. 7096: * objc-actions.c: Add a -Wno-selector option to match the 7097: -Wselector option. 7098: 7099: * gcc.c (default_compilers): Pass all -W options to cpp, so that 7100: -Wno options will be passed along with the -W options that it 7101: understands. 7102: * cccp.c (main): Accept -Wno option counterparts for every 7103: existing option. 7104: 7105: Wed Nov 20 00:03:41 1991 Michael Tiemann (tiemann at cygnus.com) 7106: 7107: * cp-tree.c (lang_output_debug_info): Deleted. 7108: * cp-class.c (finish_struct): Set DECL_IGNORED_P on the TYPE_DECL 7109: nodes for types that should not have their debugging info written 7110: out. 7111: * dbxout.c (dbxout_{symbol,type}): Check DECL_IGNORED_P for 7112: TYPE_DECLs of RECORD_TYPE nodes. 7113: 7114: * cp-decl.c (grok_op_properties): Fix bug in grokking NEW_EXPR 7115: and DELETE_EXPR operators. 7116: * cp-method.c (hack_operator): Deleted. 7117: * cp-init.c (init_init_processing): Use `ansi_opname' for 7118: {NEW,DELETE}_EXPR instead of calling hack_operator and build_opid. 7119: * cp-decl2.c (grokopexpr): Deleted. 7120: * cp-lex.c (build_opid): Deleted. 7121: * cp-class.c (build_instantiated_decl): Deleted. 7122: * All cp-* files: OP_IDENTIFIER is no longer used. 7123: 7124: * cp-parse.y (operator_name): For most cases, Use `ansi_opname' 7125: directly instead of calling `build_opid'. 7126: 7127: Tue Nov 19 16:02:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7128: 7129: * c-decl.c (xref_tag): If we find wrong kind of type, return it. 7130: (lookup_tag): Fill in pending_invalid_xref_file, ..._line. 7131: 7132: * real.h (REAL_VALUE_TRUNCATE): New argument MODE. 7133: * cse.c (simplify_unary_operation, simplify_binary_operation): 7134: Pass that arg. 7135: * c-parse.y, objc-parse.y, cp-lex.c (yylex): Likewise. 7136: * fold-const.c (combine): Truncate floating result to fit mode. 7137: (fold): Don't add 1 to float constant if that doesn't change the value. 7138: 7139: Tue Nov 19 09:37:36 1991 Michael Meissner (meissner at osf.org) 7140: 7141: * configure (ns32k-encore-osf): Restore Encore Multimax using the 7142: OSF/rose object format, since the necessary files, such as 7143: tm-encrose.h, are present in the distribution. 7144: 7145: Mon Nov 18 21:38:13 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7146: 7147: * out-sparc.c (output_cbranch): Always emit a nop before a FP branch 7148: to avoid illegal assembly output. 7149: * sparc.md: Don't define delay slot for FP compare insns. This was 7150: meant to solve the above problem, but fails with insn scheduling. 7151: 7152: * sparc.md (movsi): Must accept 'f' in addition to 'r' because 7153: combine can convert FP hard registers to SImode. 7154: 7155: Mon Nov 18 13:43:12 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7156: 7157: * rtlanal.c (replace_regs): Correct code that prevents nested SUBREGs. 7158: 7159: Mon Nov 18 13:43:12 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7160: 7161: * c-decl.c (finish_decl): Reinstall lost end_temporary_allocation. 7162: 7163: * tree.h (DECL_LANG_FLAG_8): Deleted. 7164: * print-tree.c (print_node): Don't use it. Do print DECL_IGNORED_P. 7165: 7166: Mon Nov 18 06:59:37 1991 Michael Tiemann (tiemann at cygnus.com) 7167: 7168: * cp-decl.c (value_identifier): Gone, following c-decl.c. Now use 7169: zero DECL_NAME for this purpose. 7170: * cp-typeck.c: Also affected by this change. 7171: 7172: * c-lang.c, objc-lang.c (lang_output_debug_info): New function. 7173: * dbxout.c (dbxout_type_methods): Fix minor problems arising from 7174: assuming all RECORD_TYPE are C++ RECORD_TYPE nodes. 7175: (dbxout_type): Ditto. 7176: 7177: Sun Nov 17 17:33:58 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7178: 7179: * tree.c (struct obstack_stack): New slots expression and rtl. 7180: (push_obstacks, push_obstacks_nochange, pop_obstacks): 7181: Save and restore all 4 obstack vars individually. 7182: 7183: * c-decl.c (start_decl): Call push_obstacks_nochange here. 7184: (push_parm_decl, grokfield): Also here. 7185: (finish_decl): Not here. 7186: Also clean up test for whether to replace DECL_INITIAL with error mark. 7187: 7188: Sun Nov 17 14:25:15 1991 Michael Tiemann (tiemann at cygnus.com) 7189: 7190: * cp-typeck.c (c_expand_return): Be more careful about throwing 7191: away only cleanup generated by 'build_functional_cast'. 7192: 7193: * cp-init.c (build_new): Use TRUE_TYPE instead of TYPE more 7194: consistently, in case TYPE is really an ARRAY_TYPE on its own. 7195: 7196: * cp-dbxout.c: Gone. Now G++ uses dbxout.c. 7197: * cp-tree.h (OPERATOR_NAME_P): Changed to IDENTIFIER_OPNAME_P. 7198: (OPERATOR_TYPENAME_P): Changed to IDENTIFIER_TYPENAME_P. 7199: (OPERATOR_{NEW,DELETE}_FORMAT): Deleted. 7200: * cp-lex.c (ansi_{opname,assopname}): New variables. All cp-* files 7201: changed to use these where comparisons against *_FORMAT were made. 7202: (init_lex): Initialize `ansi_{opname,assopname}' arrays. 7203: Also, update {opname,assignop}_tab grok new ANSI equivalences. 7204: (build_operator_fnname): Changed to build ANSI-style overloaded 7205: names. 7206: * cp-dem.c (optable): Add new ANSI equivalences. 7207: (cplus_demangle): Fixed to recognize new ANSI demangling. Note that 7208: old-style destructors, and possibly other codes were broken by the 7209: (undocumented) 27 Oct changes. 7210: 7211: * cp-decl2.c (grokclassfn): Set DECL_CLASS_CONTEXT here. 7212: * cp-class.c (finish_struct): Don't skip over FUNCTION_DECL that 7213: already has a DECL_CLASS_CONTEXT. 7214: 7215: * cp-except.c (cplus_expand_end_try): Set BLOCK_HANDLER_BLOCK for 7216: blocks that handle exceptions. 7217: (EXCEPTION_NAME_PREFIX): Shorted to "__ex" (from "__exception"). 7218: (EXCEPTION_NAME_LENGTH): Reduced to 4 from 12. 7219: 7220: * dbxout.c (flag_minimal_debug): Define new variable that is 7221: non-zero when symtab output routines can output abbreviated. 7222: (dbxout_type_fields): Move code that writes out debugging info about 7223: fields of RECORD_TYPE and UNION_TYPE nodes from `dbxout_type' into 7224: this function. 7225: (dbxout_type_{method,method_1}): Move code from `dbxout_type' into 7226: these new functions. 7227: (dbxout_type): Now writes out info about basetypes. Also, no longer 7228: need to record info about types having ctors, dtors, or both. GDB 7229: now figures out what it needs to, when it needs to. 7230: (dbxout_symbol): Implement special abbreviated form for C++ classes, 7231: which place their names in both the struct and decl namespaces. 7232: (dbxout_block): Write out special debugging stabs for exception 7233: handler blocks. 7234: 7235: * tree.h (BLOCK_HANDLER_BLOCK): Define new flag to indicate that a 7236: BLOCK is an exception handler block (a `catch' block for C++). 7237: (TREE_VFIELD, DECL_IGNORED_P): New macros. 7238: 7239: Sat Nov 16 22:21:56 1991 Jeffrey A Law (law at super.super.org) 7240: 7241: * tm-m68k.h (CONST_COSTS): Integer values between -128 and 127 7242: inclusive are very cheap because of moveq. 7243: 7244: Sat Nov 16 00:40:04 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7245: 7246: * Makefile.in (install-cross-tools): Avoid clobbering symlinks already 7247: made. Double the $ before the @ in the indirection script. 7248: 7249: * t-decstatn: New file. 7250: * configure: (mips-dec-ultrix*): Use t-decstatn. 7251: 7252: * collect-ld: Always run collect if collect is installed. 7253: 7254: * collect-osf.c, enquire.c, gnulib2.c: Use gstddef.h, not stddef.h. 7255: 7256: * gnulib2.c (__eprintf): Undef NULL. 7257: 7258: * c-typeck.c (build_array_ref): Ref is volatile if array is volatile. 7259: 7260: Fri Nov 15 19:53:41 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7261: 7262: * c-typeck.c (build_binary_op_nodefault): Delete ERROR_CODE 7263: argument because it is always the same as CODE. Add new argument 7264: CONVERT_P, and call default_conversion on the operand trees if 7265: true. Rename to build_binary_op. 7266: (old build_binary_op): Deleted because it is now unnecessary. 7267: * c-common.c, c-convert.c, c-decl.c, c-tree.h, c-typeck.c: All 7268: callers and other references to build_binary_op* fixed. 7269: * c-typeck.c (new build_binary_op): Add warning message for 7270: comparisons of signed and unsigned variables that won't give the 7271: expected result due to unexpected sign extension. 7272: 7273: * expr.c (convert_move): Add TFmode support and clean up code. 7274: * optabs.c (init_fixtab): Add TFmode support. 7275: (init_floattab): Likewise. 7276: (expand_float): Likewise. 7277: (expand_fix): Likewise. 7278: (init_optabs): Likewise. 7279: 7280: From Per Bothner: 7281: * collect2.c: Define vfork as fork for USG. Rewrite to not use 7282: prototypes, so it doesn't need gcc for compilation. 7283: (main): No longer uses static sized array for ld arguments, so 7284: that long command lines will work. Vfork ld instead of running 7285: via popen with nm. 7286: (write_hooks): Use type names not variable names in sizeof calls. 7287: 7288: Fri Nov 15 15:01:41 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7289: 7290: * fold-const.c (size_int): Properly preserve old obstack settings. 7291: * c-decl.c (finish_decl, grokdeclarator, xref_tag): Likewise. 7292: * stor-layout.c (layout_type): Likewise. 7293: * varasm.c (output_constant_def): Likewise. 7294: * tree.c (push_obstacks_nochange): New function. 7295: 7296: * stor-layout.c (layout_type): Make size of temp type saveable. 7297: * tree.c (saveable_allocation): New function. 7298: 7299: * configure: Comment out certain alternatives not yet updated. 7300: (sparc-unicom-*, m68k-tti1-*, m68-tti2-*): New alternatives. 7301: (m88k-*-v88r32*): New alternative. 7302: (i386-alternate-sysv): New alternative, not sure why. 7303: (sparc-*-sysv*): Commented out--not really supported. 7304: 7305: Fri Nov 15 22:22:32 PDT 1991 Mike Stump (mrs at csun.edu) 7306: 7307: * configure: Recognize only canonical names. Added missing entries 7308: for some configurations that obviously have not been tested in a 7309: while. 7310: 7311: * config.subr: Massive overhaul. It claimed to canonicalize 7312: the machine specification, but it never really did. Now it 7313: does. In general, it is not necessary to specify the os for 7314: popular machines that have a popular os, or given the os, it 7315: can sometimes figure out the vendor. Added in all the old 7316: ways of specifying machines from configure. Also added 7317: support for all (before it was missing a few) of the tm-*.h 7318: files. It now supports the concept of guessing the vendor for 7319: a given CPU type. It now supports the concept of guessing the 7320: os version given the vendor and/or the CPU type. Changed the 7321: default os for vax to ultrix, changed the default os for i386 7322: to sco. 7323: 7324: * collect-ld: New file. It is useful when compiling C++ programs 7325: on machines that use collect. This includes the decstation. 7326: 7327: Fri Nov 15 14:19:29 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7328: 7329: * out-sparc.c: Singlemove_string no longer static. 7330: (emit_move_sequence): Emit sethi/low_sum insn pair for values which 7331: are not arith_double_operands, was missing not. 7332: * sparc.md: DImode sethi pattern now uses singlemove_string to load 7333: a constant into a reg. 7334: * tm-sparc.h (LEGITIMATE_CONSTANT_P): Accept anything except a 7335: floating point constant. 7336: Declare singlemove_string so it can be used in sparc.md. 7337: 7338: * jump.c (jump_optimize): Correct typos in comments. 7339: 7340: Fri Nov 15 08:05:26 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7341: 7342: * out-rs6000.c (scc_comparison_operator): Allow non-FP EQ. 7343: 7344: * combine.c (subst, case NEG): Correct shift count in code that 7345: negates ZERO_EXTRACT to SIGN_EXTRACT. 7346: 7347: Thu Nov 14 23:03:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 7348: 7349: * genrecog.c (try_merge_1): Add big new comment. 7350: 7351: Thu Nov 14 19:28:57 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7352: 7353: * m68k.md: Fix peephole that merges a stack adjust with a push to 7354: use addqw instead of addql since we know we are incrementing an 7355: address register (sp). 7356: 7357: * loop.c (scan_loop): Rework code that looks for loops starting at the 7358: exit test; don't skip non-jump insns at start of loop and modernize 7359: and clean up code. 7360: 7361: * gcc.texinfo (SECONDARY_RELOAD_CLASS): Update description to 7362: show uses for both intermediate and scratch registers. 7363: * reload.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Default from 7364: SECONDARY_RELOAD_CLASS, if defined. 7365: (HAVE_SECONDARY_RELOADS): Defined if any of the secondary reload 7366: macros are defined. 7367: (reload_secondary_icode, reload_{in,out}_optab): New vars. 7368: * reload.c: Include insn-codes.h. 7369: (find_secondary_reload): New function. 7370: (push_reload): Call find_secondary_reload to process input and 7371: output reloads. Create both secondary and tertiary reloads, 7372: as required. 7373: * reload1.c: Include insn-codes.h. 7374: (init_reload): Initialize reload_{in,out}_optab. 7375: (emit_reload_insns): Handle cases where a secondary reload 7376: is a scratch register and where tertiary reloads are required. 7377: * Makefile.in (reload.o, reload1.o): Now include insn-codes.h. 7378: 7379: * tm-romp.h (SECONDARY_OUTPUT_RELOAD_CLASS): Define to use a BASE_REGS 7380: for symbolic memory locations. 7381: * romp.md (reload_outsi, reload_outhi, reload_outqi): New patterns. 7382: 7383: * expr.c (expand_expr): Pass BRANCH_COST to do_store_flag. 7384: (do_store_flag): Canonicalizations done in emit_store_flag 7385: need to be done here as well. 7386: Test for ffs as well as abs when seeing if scc is expensive. 7387: * expmed.c (emit_store_flag): Correct cases that are open-coded: 7388: Add a few missing cases and correct handling of normalizep. 7389: * combine.c (simplify_shift_const, case IOR): Convert sequence 7390: open-coded by emit_store_flag into LE or (neg (le ..)), as 7391: appropriate. 7392: (simplify_shift_const, case MINUS): Similarly, for GT. 7393: (simplify_comparison): sign_bit_comparison_p now true only if 7394: also comparing against constant zero. 7395: (simplify_comparison, case NOT): If sign bit comparison, just 7396: reverse comparison. 7397: (simplify_comparison, case MINUS): Move case where we subtract 7398: one from the absolute value of something to PLUS, since we 7399: subtract one using a PLUS operation. 7400: (simplify_comparison, case MINUS): Handle GT case done by 7401: emit_store_flag. 7402: (simplify_comparison, cae IOR): Similarly, for IOR. 7403: 7404: * tm-rs6000.h (BRANCH_COST): Define as 2. 7405: * rs6000.md (scc): Allow some more cases. 7406: (new scc patterns): Add numerous patterns to reflect superoptimizer 7407: results for scc insns on RS/6000. 7408: 7409: Thu Nov 14 16:42:19 1991 Michael Meissner (meissner at osf.org) 7410: 7411: * mips-tfile.c (all): Change small allocation requests to use 7412: separate allocation and free functions, instead of using the word8 7413: union to hold each request. In order to support this easily, a free 7414: field was added to each small structure that is released. 7415: (main): If debugging, print a summary of the number of small 7416: allocations, frees, and the number of pages used. 7417: (add_procedure, copy_objects): Stuff the pointer to the end symbol 7418: into the shash chain, and use it's value to generate the new value 7419: for the computed end block. This is much safer than trying to 7420: calculate this on the fly. 7421: (main): Don't try to avoid using malloc by setvbuf'ing the streams 7422: we use. 7423: 7424: Wed Nov 13 23:47:10 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7425: 7426: From [email protected]: 7427: * sparc.md: In DF load peephole, use operands not xoperands, so 7428: that output_asm_insn will use the right values. 7429: 7430: * tm-sun3.h, tm-sun2os4.h: Define PTRDIFF_TYPE, SIZE_TYPE, 7431: WCHAR_TYPE same as tm-sparc.h. 7432: 7433: * c-decl.c (finish_function): Don't clear current_function_decl 7434: for nested functions. 7435: 7436: * dbxout.c: Include insn-config.h and reload.h. 7437: (dbxout_symbol): Pass DECL_RTL (decl) through eliminate_regs before 7438: using. 7439: (dbxout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through 7440: eliminate_regs before using. 7441: * sdbout.c: Include insn-config.h and reload.h. 7442: (sdbout_symbol): Pass DECL_RTL (decl) through eliminate_regs before 7443: using. 7444: (sdbout_parms): Pass DECL_RTL and DECL_INCOMING_RTL of parms through 7445: eliminate_regs before using. 7446: * Makefile.in: Update dependency lists for dbxout.c and sdbout.c. 7447: 7448: * combine.c (try_combine): Don't pass sets with (USE (MEM ...)) 7449: dests to reg_referenced_p. 7450: 7451: Wed Nov 13 21:38:03 1991 John Bunda (bunda at cs.utexas.edu) 7452: 7453: * reload1.c (gen_input_reload): If IN is a PLUS whose second arg 7454: is the same as the reload register, swap the args of the PLUS. 7455: 7456: Wed Nov 13 14:43:09 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 7457: 7458: * tm-sparc.h (OPTIMIZATION_OPTIONS): Don't redefine options set in 7459: toplev.c, only effect flag_omit_frame_pointer. 7460: 7461: * sparc.md: Delete obsolete sign_extract and zero_extract patterns. 7462: We get better code without them. 7463: (indirect_jump, tablejump): Extend indirect_jump pattern to accept 7464: any address, not just a register. Add tablejump like pattern which 7465: also accepts any address. 7466: 7467: * unroll.c (final_biv_value): Make sure the initial value of the biv 7468: is invariant if it is used after the loop. 7469: 7470: Tue Nov 12 23:16:51 1991 Michael Meissner (meissner at osf.org) 7471: 7472: * tm-mips.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Correct so 7473: ASM_OUTPUT_REG_PUSH actually does a push instead of pop, and vica 7474: versa. Also make ASM_OUTPUT_REG_POP turn on .set noreorder, and 7475: increment the appropriate -mstats load delay counters. 7476: 7477: Tue Nov 12 22:53:45 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7478: 7479: * expr.h (BRANCH_COST): Supply default value here. 7480: * jump.c (BRANCH_COST): Don't default BRANCH_COST here. 7481: 7482: * global-alloc.c (global_alloc): Use proper entry in eliminables 7483: when searching for the frame pointer. 7484: 7485: Tue Nov 12 22:23:36 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 7486: 7487: * expr.c: (expand_expr, MIN_EXPR case): Check for const_true_rtx 7488: not const1_rtx as return value from compare_from_rtx. 7489: (do_jumps_by_part_greater): Handle const0_rtx and const_true_rtx 7490: return values from compare_from_rtx. 7491: (do_jumps_by_part_equality, do_jumps_by_part_equality_rtx): Likewise. 7492: 7493: * sched.c (sched_analyze_2): Correctly handle ASM_OPERAND and 7494: ASM_INPUT rtx. Volatile and traditional asm statements are 7495: assumed to use and clobber all hard registers and all memory. 7496: (schedule_block): Delete code that incorrectly handles ASM_OPERAND 7497: and ASM_INPUT rtx by exiting early. 7498: 7499: Tue Nov 12 15:38:56 1991 Tom Wood (wood at dg-rtp.dg.com) 7500: 7501: * sched.c: Introduce names for various priority values. Reduce 7502: LAUNCH_PRIORITY to avioid wrap-around in launch_link. 7503: 7504: Tue Nov 12 14:21:52 1991 Per Bothner (bothner at cygnus.com) 7505: 7506: * cp-lex.c (init_lex): Exception-handling fixes. 7507: * cp-tree.h: Add new OPERATOR_CHARS_P that is like 7508: OPERATOR_NAME_P, except if takes a (char*), not a tree. 7509: * cp-dbxout.c (dbxout_type_methods): Handle operators 7510: specially when chopping prefix for minimal_debug. 7511: 7512: * config/tm-news.h: In PRINT_OPERAND, recognize new 68040 7513: operand types. Add definition of CPP_DEFINES for cross-compiling. 7514: 7515: Tue Nov 12 13:11:01 1991 Michael Meissner (meissner at osf.org) 7516: 7517: * protoize.c (__OSF1__ ifdef): Remove OSF/1 specific ifdefs, since 7518: the problem they address has been fixed, and the ifdefs now cause 7519: spurious warnings. 7520: 7521: * tm-mips.h (INT_TYPE_SIZE): Define. 7522: (SHORT_TYPE_SIZE): Define. 7523: (LONG_TYPE_SIZE): Define. 7524: (LONG_LONG_TYPE_SIZE): Define. 7525: (CHAR_TYPE_SIZE): Define. 7526: (FLOAT_TYPE_SIZE): Define. 7527: (DOUBLE_TYPE_SIZE): Define. 7528: (LONG_DOUBLE_TYPE_SIZE): Define. 7529: 7530: * out-mips.c (block_move_load_store): New commn function to create 7531: one load and store for the block move functions. The load is 7532: emitted directly, and the store is returned, to be emitted later. 7533: (block_move_sequence): Call block_move_load_store. For straight 7534: line moves, have two outstanding loads before a store, for newer 7535: machines that want two delay slots. 7536: (block_move_loop): Call block_move_load_store. Move 4 words per 7537: loop, for a loop that moves 16 bytes in 11 cycles if aligned, and 16 7538: bytes in 19 cycles if not aligned. 7539: (block_move_memcpy): Change argument names for consistancy. 7540: (expand_block_move): Always move address into a register, even for 7541: one byte moves. Fix bugs in calling memcpy. If moving a large 7542: constant amount of unaligned data, emit a runtime check to see if 7543: the data is really aligned, and if so do an aligned move, otherwise 7544: an unaligned move loop. 7545: 7546: * mips-tfile.c (toplevel): Make some changes, so that mips-tfile can 7547: be debugged on OSF/1. 7548: (efdr structure): Align identifiers in declaration. 7549: (cur_proc_value): Delete variable. 7550: (cur_oproc_begin): New global to record original proc .ent symbol. 7551: (cur_oproc_end): New global to record original proc .end symbol. 7552: (add_procedure): Set cur_oproc_begin, cur_oproc_end variables 7553: instead of cur_proc_value. 7554: (parse_begin, parse_end): Add check for cur_oproc_begin being set. 7555: (parse_end): Use cur_oproc_end's value node for new value node. 7556: (main): Add cast to free_multiple_pages call. 7557: 7558: Tue Nov 12 08:57:39 1991 Tom Wood (wood at dg-rtp.dg.com) 7559: 7560: * jump.c (jump_optimize): Merge the "if (...) x = 0;" case with 7561: the "x = a; if (...) x = b;" case. 7562: 7563: Mon Nov 11 19:27:03 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7564: 7565: * cp-cvt.c (convert_pointer_to): Correctly get type of a TREE_VEC 7566: object. (This patch is from someone at Cygnus.) 7567: 7568: * combine.c (try_combine): Add missing parens. 7569: 7570: Mon Nov 11 19:26:24 1991 Ron Guilmette (rfg at ncd.com) 7571: 7572: * c-typeck.c (build_binary_op_nodefault, convert_for_assignment): 7573: A (void *) object is compatible with a function pointer if it is 7574: the constant zero. 7575: (build_conditional_expr): Properly check for pointers to functions. 7576: 7577: Sun Nov 10 19:59:12 1991 Michael Meissner (meissner at osf.org) 7578: 7579: * cccp.c (make_undef): Fix by off by one error. 7580: (MIN, MAX): Add #undef, in case some system include file defined 7581: these macros. 7582: 7583: Sun Nov 10 10:34:17 1991 Michael Tiemann (tiemann at cygnus.com) 7584: 7585: * cp-decl2.c (grokfield): Set TREE_EXTERNAL on static const 7586: decls that are either uninitialized in their initial declaration, 7587: or initialized by something we cannot evaluate at initial 7588: declaration time. 7589: 7590: * cp-init.c (build_new): Make `operator new' with placement cast 7591: its return type to the type of the object being allocated. 7592: 7593: * cp-typeck.c (commonparms): If the last element of P1 is 7594: VOID_LIST_NODE, use that. 7595: 7596: * stor-layout.c (layout_record): Return PENDING_STATICS. 7597: (layout_type): Don't commit static members to a particular mode 7598: until REC has been laid out completely. 7599: 7600: Sat Nov 9 23:16:51 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7601: 7602: * cccp.c (fancy_abort): Don't declare as static. 7603: 7604: Sat Nov 9 20:38:30 1991 Michael Tiemann (tiemann at cygnus.com) 7605: 7606: * cp-decl.c (push_overloaded_decl): Don't cons new decl to 7607: existing ERROR_MARK_NODE. If the old decl was erroneous, just 7608: ignore it. 7609: 7610: * cp-call.c (ideal_candidate): Fix typo in error message. 7611: 7612: Sat Nov 9 14:13:46 1991 Jeffrey A Law (law at super.super.org) 7613: 7614: * tm-hp9k2bsd.h (MULSI3_LIBCALL): New define which avoids 7615: the use of __mulsi3 for signed integer multiplication. 7616: (UMULSI3_LIBCALL, DIVSI3_LIBCALL, UDIVSI3_LIBCALL): Likewise. 7617: (MODSI3_LIBCALL, UMODSI3_LIBCALL): Likewise. 7618: 7619: Fri Nov 8 12:05:39 1991 Per Bothner (bothner at cygnus.com) 7620: 7621: First cut at ANSI-style exception handling (using 7622: syntax and semantics of Stroustrup 2nd ed). 7623: THIS IS WORK IN PROGRESS! 7624: * cp-tree.h: Declare flag_ansi_exceptions. 7625: * gplus.gperf: Add 'throw' (for ANSI exception handling), 7626: and update private/protected/public from (old) cp-lex.c. 7627: * cp-hash.h: New file, generated from gplus.gperf. 7628: * cp-lex.c: #include cp-hash.h, instead of requiring 7629: manual cut-and-paste when keywords are changed. 7630: * cp-lex.c: Commented out some extern declarations that 7631: were conflicting with inlines in cp-input.c. 7632: Hooks for ANSI-style exception handling. 7633: * cp-parse.y: Parse ANSI-style exception stuff. 7634: * cp-decl2.c: Define new flag flag_ansi_exceptions. 7635: * cp-decl2.c (finish_table): Off-by-one error in 7636: calculating index type. 7637: * clus-decl2.c (finish_vtable_vardecl): Add missing 7638: TREE_OPERAND to get dossier decl. 7639: * cp-except (cplus_expand_start_except): Allow NULL name, 7640: since there is no distinguished name for ANSI exceptions. 7641: * cp-except (cplus_expand_raise): Too few 7642: parameters to expand_expr; add them. 7643: * cp-except.c: New functions for ANSI exceptions: 7644: cplus_exception_name, ansi_exception_object_lookup, 7645: cplus_expand_throw, ansi_expand_start_catch. 7646: These are heavily hacked from similar old functions. 7647: 7648: Try to make -fdossier work better (but more work is needed). 7649: (Especially, generate fewer unneeded descriptors.) 7650: * cp-class.c (add_virtual_function, finish_struct): Do not 7651: create a vtable just because of -fdossier. 7652: * cp-gc.c: Each type points to an array of fields, 7653: instead of an array of pointers to fields. Ditto for methods. 7654: This saves one pointer per field or method by removing 7655: unneded extra indirection. Also other tweaks to save space. 7656: * cp-decl.c (init_decl_processing): Add length of 7657: field and method arrays to descriptors, instead of 7658: relying on NULL-termination (since we no longer have 7659: the extra pointer array). 7660: Make the parameter count and required count of 7661: method descriptors be shorts. 7662: * cp-method.c: Remove no-longer-needed functions 7663: build_i_desc_overload and build_m_desc_overload. 7664: 7665: Other C++ fixes: 7666: * cp-dbxout.c (dbxout_symbol): Class types were 7667: emitting only a "t" spec which made gdb unhappy. 7668: Kludged it so that it once more emits "Tt". 7669: * cp-tree.c (lang_output_debug_info): Do emit debugging 7670: info if this implementation file corresponds the the 7671: type's interface, even if nothing is written. 7672: 7673: Fri Nov 8 08:18:55 1991 Tom Wood (wood at dg-rtp.dg.com) 7674: 7675: * tm-m88k*.h: Fix comments, minor cleanups. 7676: 7677: Thu Nov 7 16:21:05 1991 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) 7678: 7679: * longlong.h (__ibm032__): Fix operand order for add_ssaaaa and 7680: sub_ddmmss. 7681: 7682: Thu Nov 7 12:47:14 1991 Michael Meissner (meissner at osf.org) 7683: 7684: * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.3. 7685: (PCC_BITFIELD_TYPE_MATTERS): Define this to be 1. 7686: 7687: * out-mips.c (block_move_loop): New function to generate a loop to 7688: do a block move. 7689: (block_move_call): Pass the source, destination, size as separate 7690: arguments, rather than a pointer to an array of operands. 7691: (expand_block_move): Change block_move_call calling sequence. 7692: (expand_block_move): If moving big aligned items, generate a loop to 7693: do it, rather than calling memcpy/bcopy. 7694: (override_options): If -msoft-float, 'f' constraint picks GP 7695: registers. 7696: 7697: * t-decrose (collect): Use ALL_CFLAGS instead of CFLAGS, since this 7698: gets the shared library flags in x-decrose. 7699: 7700: Thu Nov 7 07:57:36 1991 Tom Wood (wood at dg-rtp.dg.com) 7701: 7702: * tm-m88k.h (MEMORY_MOVE_COST): Define. 7703: (TARGET_88*): Fix. 7704: 7705: Wed Nov 6 19:07:42 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7706: 7707: * a29k.md (negsf2, negdf2): Add missing CLOBBER in 29050 case. 7708: 7709: * jump.c (jump_optimize): When looking for a conditional jump 7710: skipping an unconditional jump, be sure the conditional jump is 7711: not an unconditional jump. 7712: 7713: * combine.c (try_combine): If we make an unconditional jump, 7714: be sure it is followed by a BARRIER. 7715: (subst, case SET): Convert (set (pc) (return)) to (return). 7716: 7717: Wed Nov 6 13:41:55 1991 Tom Wood (wood at dg-rtp.dg.com) 7718: 7719: * tm-m88kv3.h, xm-m88kv3.h: Renamed from *m88ksysv3*. 7720: 7721: Wed Nov 6 09:27:16 1991 Michael Meissner (meissner at osf.org) 7722: 7723: * tm-mips.h (MIPS_VERSION): Bump meissner version number to 3.2. 7724: (TARGET_SWITCHES): Add -msoft-float and -mhard-float. 7725: (GP_RETURN): Use GP_REG_FIRST as base of GP registers. 7726: (FP_RETURN): Use FP_REG_FIRST as base of FP registers. If 7727: -msoft-float, make $2 be the return register. 7728: (GP_ARG_FIRST, GP_ARG_LAST): Use GP_REG_FIRST as 1st GP reg. 7729: (FP_ARG_FIRST, FP_ARG_LAST): Use FP_REG_FIRST as 1st FP reg. 7730: 7731: * mips.md (ffssi2, ffssi2_internal): Fix ffs builtin so that it 7732: doesn't clobber the input argument by turning it into a 7733: define_expand, and using a parallel operation including the 7734: necessary clobber's. 7735: (abssi2, ffssi2, ffssi2_internal): Use the 'd' constraint which only 7736: matches the integer registers, rather than 'r' which can match 7737: floating point registers as well. 7738: 7739: * tm-mips-news.h (CPP_SPEC): Add -Dnews7300, -Dsony_news, -Dmips, 7740: and -Dhost_mips. 7741: 7742: Wed Nov 6 08:46:54 1991 Mark Eichin (eichin at cygnus.com) 7743: 7744: * cp-class.c (add_method): when adding a new constructor or 7745: destructor, actually chain onto method_vec[0] rather than replacing 7746: the list with the current entry. 7747: 7748: Wed Nov 6 07:04:55 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7749: 7750: * expr.c (store_field): Handle case where we are storing into a BLKmode 7751: field of an object that is in a register. 7752: (expand_expr, case COMPONENT_REF): Handle case where we are extracting 7753: a BLKmode field from an object in a register. 7754: 7755: Tue Nov 5 22:16:39 1991 Michael Meissner (meissner at osf.org) 7756: 7757: * tm-mips.h (target_flags): Delete second declaration. 7758: (MASK_G0, MASK_G1, MASK_G2): Delete, since -G xx now works to set 7759: the size of the small data/bss area cutoff. 7760: (MASK_G012_USED, MASK_G012_NUSED): ditto. 7761: (TARGET_GVALUE): ditto. 7762: (TARGET_G012_USED): ditto. 7763: (TARGET_SWITCHES): Delete -mGx, -mno-Gx switches. 7764: (TARGET_DEFAULT): Set to 0 instead of MASK_G012_NUSED. 7765: 7766: * tm-decrose.h (TARGET_DEFAULT): Eliminate MASK_G012_NUSED. 7767: 7768: * out-mips.c (override_options): Remove support for -mGx and -mno-Gx 7769: switches to set the cutoff size for small data/bss. 7770: 7771: * mips.md (abssi2): Add new pattern. 7772: (ffssi2): Add new pattern. 7773: 7774: Tue Nov 5 18:36:29 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7775: 7776: * gcc.texinfo (MEMORY_MOVE_COST): Document new macro. 7777: * regclass.c (MEMORY_MOVE_COST): Default it to 2. 7778: (regclass, reg_class_record): Use MEMORY_MOVE_COST, not constant 2. 7779: (regclass): Look at result of single_set instead of checking again if 7780: pattern is a SET. 7781: * tm-rs6000.h (MEMORY_MOVE_COST): Add definition. 7782: 7783: Tue Nov 5 17:01:05 1991 Ken Raeburn (raeburn at cygnus.com) 7784: 7785: * cp-pt.c (tsubst): For char_type_node, just build variant and 7786: return it. 7787: (tsubst, case FUNCTION_DECL): Walk methods more efficiently. 7788: 7789: * cp-pt.c (overload_template_name): Push a binding level, to 7790: separate template name binding from method parameters. Check 7791: identifier value slots for TYPE_DECLs, not RECORD_TYPEs. Don't need 7792: to do extra push of TYPE_DECL for template name. 7793: (undo_template_name_overload): Pop it. Don't need to explicitly 7794: clear template name binding. 7795: 7796: * cp-ptree.c (print_lang_decl): For FIELD_DECL, don't try to 7797: print fields that go off the end of the lang_decl_flags structure. 7798: 7799: * cp-pt.c (pop_template_decls): Don't explicitly clear out value 7800: slots of identifier; let poplevel/poplevel_class do it. 7801: 7802: * cp-pt.c: Use build_lang_decl insteaed of build_decl for 7803: all TEMPLATE_DECL and TYPE_DECL nodes. 7804: 7805: * cp-tree.h (make_anon_name): Declare it. 7806: 7807: * cp-pt.c (unify): Deleted unreachable code. 7808: 7809: * cp-decl.c (push_overloaded_decl): Fixed typo from merge. 7810: (start_decl): Ditto. 7811: (grokdeclarator, case CALL_EXPR): Remove debug_tree call 7812: accidentally left in. Handle constructor templates specially, like 7813: destructor templates. Removed some commented-out code. 7814: (grokdeclarator, case SCOPE_REF): If the type is uninstantiated, 7815: treat it like any other aggregate type code. 7816: 7817: * cp-lex.c (identifier_typedecl_value): If no binding slot from 7818: the identifier is the right type decl, use the type name if it is 7819: non-null, even if the name doesn't match. 7820: (build_lang_decl): If new decl node is TREE_PERMANENT, make sure the 7821: lang-specific info gets allocated that way too; don't assume that 7822: the current obstack is permanent. 7823: (copy_decl_lang_specific): If decl is TREE_PERMANENT, assert that 7824: the current obstack is permanent. 7825: 7826: * cp-parse.y (template_def): Delete derivations that were 7827: purportedly for constructors; they didn't work. 7828: (notype_declarator): Deal with them here. 7829: (template_instantiate_once): Copy decl node with permanent obstacks, 7830: thereby clearing the chain pointer, before pushing it into top 7831: level. 7832: (structsp): Don't need to undo template name overload here. 7833: (scoped_typename): Want TYPENAME with template type, not PTYPENAME. 7834: 7835: Tue Nov 5 13:46:06 1991 Tom Wood (wood at dg-rtp.dg.com) 7836: 7837: * sdbout.c (sdbout_init, sdbout_symbol): Don't reverse the 7838: permanent types. 7839: 7840: * cccp.c (make_definition): Eliminate previous change associated 7841: with pretty-printing strings passed to do_define. 7842: (pass_thru_directive): Move pretty-printing here. 7843: 7844: Tue Nov 5 11:21:34 1991 Michael Meissner (meissner at osf.org) 7845: 7846: * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Correctly pass -EB instead 7847: of -EL, since the Sony News system is big endian not little endian. 7848: 7849: Tue Nov 5 09:54:08 1991 Tom Wood (wood at dg-rtp.dg.com) 7850: 7851: * tm-m88kv4.h, t-m88kv4, x-m88kv4: Renamed from *m88ksysv4*. 7852: 7853: Tue Nov 5 06:36:07 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7854: 7855: * cse.c (simplify_relational_operation, unsigned comparisons): Don't 7856: simplify unless mode of operand is a MODE_INT mode. 7857: 7858: * Makefile.in (*CFLAGS): More clearly document the purposes of each 7859: of the flags. Add X_CFLAGS and T_CFLAGS for x-* and t-* to override. 7860: * x-decrose, x-hp9k320g, x-i386isc, x-m88ksysv4, x-mips, x-tower: 7861: Override X_CFLAGS instead of CFLAGS or INTERNAL_CFLAGS. 7862: * x-vax: Likewise. 7863: * x-sco: Don't include XCFLAGS in definition of CFLAGS. 7864: 7865: * gstddef.h: Renamed from stddef.h. 7866: * Makefile.in (USER_H, install-common-headers): Install gstddef.h as 7867: stddef.h. 7868: 7869: Mon Nov 4 17:54:04 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7870: 7871: * integrate.c (save_constants): If we are referencing a constant in 7872: the constant pool in a different mode than its normal mode, make 7873: a SUBREG so that we can record both modes. 7874: (copy_for_inline, restore_constants): Handle these SUBREG's. 7875: (copy_for_inline): Must copy a MEM if it's address contains an 7876: ADDRESS (i.e., the address of a constant pool entry). 7877: 7878: * expr.c (expand_expr, case PLUS_EXPR): If adding constant, FP, and 7879: something else, add FP to the constant and then add the other operand. 7880: 7881: * global-alloc.c (find_reg): If all_regs_p, use ALL_REGS, not 7882: GENERAL_REGS. 7883: * local-alloc.c (block_alloc): Likewise. 7884: 7885: * genoutput.c (gen_expand): Record all the same information as 7886: for a DEFINE_INSN. 7887: 7888: * cse.c (simplify_binary_operation, case PLUS): Simplify expressions 7889: like (a +/- b) - (a +/- c). 7890: (simplify_binary_operation, case MULT): For X * (-1), try to simplify 7891: the NEG before we make it. 7892: 7893: Mon Nov 4 16:29:01 1991 Mark Eichin (eichin at cygnus.com) 7894: 7895: * cp-pt.c (overload_template_name): use build_lang_decl so that 7896: lang_specific gets initialized properly. 7897: 7898: * cp-parse.y (LC): use make_lang_type to produce complete node, 7899: not just make_node. 7900: 7901: * cp-ptree.c (print_lang_type): return if TYPE_LANG_SPECIFIC is 7902: null, since everything printed here is in lang_specific. 7903: 7904: Mon Nov 4 16:17:48 1991 James Van Artsdalen (james at raid.dell.com) 7905: 7906: * x-i386v4: New file. 7907: * configure (i386-sysv4): Use it. 7908: 7909: Mon Nov 4 12:36:09 1991 Michael Meissner (meissner at osf.org) 7910: 7911: * gcc.texinfo (BRANCH_COST): Move so BRANCH_COST formats correctly. 7912: 7913: Mon Nov 4 08:03:44 1991 Tom Wood (wood at dg-rtp.dg.com) 7914: 7915: * x-m88kdgux, x-m88ksysv4: Don't set XCFLAGS. 7916: 7917: * jump.c (jump_optimize): Change "if (...) x = 0;" to use a 7918: store-flag insn if jumps are expensive (BRANCH_COST). 7919: 7920: * tm-m88k.h (BRANCH_COST): Branches are cheap on the m88100. 7921: (OVERRIDE_OPTIONS): Make m88100 the default. 7922: (STORE_FLAG_VALUE): Use -1. 7923: (.ctors and .dtors sections): Change section flags. 7924: * m88k.md (sxx, negate sxx): Use ext and extu. Eliminate extendsxx. 7925: 7926: Mon Nov 4 07:19:36 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7927: 7928: * romp.md (movdf, movdi): When splitting, ensure we put in a CLOBBER 7929: for a scratch register, when needed. 7930: 7931: * tm-a29k.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Define to be 7932: compatible with those chosen by EPI. 7933: 7934: * tm-rs6000.h (REG_ALLOC_ORDER): Put CR registers before integer regs. 7935: 7936: * cse.c (simplify_relational_operation): Fix error in last change. 7937: 7938: Sun Nov 3 12:22:41 1991 Torbjorn Granlund (tege at sics.se) 7939: 7940: * longlong.h (m68020 count_leading_zeros): Fix typo in previous 7941: change. 7942: 7943: Sun Nov 3 09:25:39 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7944: 7945: * cse.c (simplify_relational_operation, cases GEU, LTU, GTU, LEU): 7946: Simplify comparisons that have known values such as (unsigned) x < 0. 7947: 7948: * final.c (final_scan_insn): If we've just made a branch unconditional, 7949: convert (set (pc) (return)) to (return). 7950: Use const_true_rtx instead of calling gen_rtx to make it again. 7951: 7952: * x-romp (CC): Pass -Hnocpp to hc so it will use builtin preprocessor. 7953: (INTERNAL_CFLAGS): Don't define BSTRING here. 7954: * xm-romp.h (alloca): Add definition to allow use of hc's builtin. 7955: (BSTRING): Define here. 7956: 7957: * reload1.c (spill_hard_reg): Correct typo in previous change; had 7958: test backwards. 7959: 7960: * function.c (instantiate_virtual_regs_1, case PLUS): If can't 7961: replace operand with register, try to replace all copies of operand 7962: with the register in case of MATCH_DUP. 7963: 7964: * recog.c (validate_replace_rtx_1): Use rtx_equal_p to see if 7965: things are equal. 7966: 7967: * genconfig.c (max_recog_operands, max_dup_operands): Remove `_flag' 7968: in name since these aren't flags. 7969: (max_clobbers_per_insn): Likewise. 7970: (main): Default to at least 10 operands (for asm) and 1 dup operand. 7971: 7972: Sun Nov 3 07:26:57 1991 Ron Guilmette (rfg at ncd.com) 7973: 7974: * Makefile.in (gnulib1.null): Use $(GCC_FLAGS) instead 7975: of $(CCLIBFLAGS). 7976: (gnulib1): Don't copy gnulib1.c into a temporary .c file before 7977: compiling. That messes up the source file names in the debug info, 7978: which makes it harder to debug gnulib1 problems. 7979: 7980: * Makefile.in (install-*): Force removal of previously installed files 7981: before installing new ones (in case they got set to read-only somehow). 7982: 7983: * Makefile.in (uninstall): Remove protoize.1 and unprotoize.1 man 7984: page files. 7985: 7986: Sat Nov 2 22:42:06 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 7987: 7988: * out-a29k.c (output_epilog): Remove write_symbols from parameter list 7989: of call to final_scan_insn. 7990: * out-m88k.c (preserve_registers): Likewise. 7991: * out-mips.c (function_epilogue): Likewise. 7992: * out-sparc.c (output_function_epilogue, output_tail_call): Likewise. 7993: 7994: Sat Nov 2 22:02:45 1991 Ken Raeburn (raeburn at cygnus.com) 7995: 7996: * cp-search.c (push_class_decls): Added missing argument to 7997: overload_template_name. 7998: 7999: * cp-ptree.c (print_lang_decl): Don't print lang-specific fields 8000: for FIELD_DECL, since it has only the shorter flags structure. 8001: 8002: * cp-class.c (finish_struct_method): Fixed comment typo. 8003: 8004: * cp-decl.c: Add some code for debugging binding level 8005: manipulations, conditionalized on DEBUG_CP_BINDING_LEVELS. 8006: (debug_bindings_indentation): New var, used to maintain indentation 8007: to indicate which changes are on the behalf of other routines. 8008: (push_binding_level): Print debugging messages to track binding 8009: level changes and call/nesting sequences. 8010: (pushlevel, poplevel): Ditto. 8011: (pushlevel_class): Ditto. 8012: (pop_binding_level): Ditto. Also scribble over freed binding level, 8013: and don't store it for re-use. 8014: (poplevel_class): Ditto. 8015: * cp-decl.h (debug_bindings_indentation): Declare it. 8016: * cp-pt.c (push_template_decls, pop_template_decls): Added 8017: debugging fprintf calls here too. 8018: 8019: Sat Nov 2 17:00:22 1991 Ron Guilmette (rfg at ncd.com) 8020: 8021: * cp-except.c (finish_exception_decl): Change `enum debugger' to 8022: `enum debug_info_type'. 8023: * final.c (final_start_function, final, final_end_function, 8024: output_source_line): Delete the `write_symbols' parameter. 8025: Instead use the global `write_symbols' declared in flags.h. 8026: * sched.c (unlink_notes, schedule_block, schedule_insns): Compare 8027: `write_symbols' with NO_DEBUG rather than with zero. 8028: * toplev.c (rest_of_decl_compilation, rest_of_compilation): Don't 8029: pass `write_symbols' to assemble_variable, final_start_function, 8030: final, final_end_function. 8031: * varasm.c (assemble_variable): Delete the `write_symbols' parameter. 8032: Instead use the global`write_symbols' declared in flags.h 8033: 8034: Sat Nov 2 09:48:47 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8035: 8036: * caller-save.c: Don't include reload.h; not used. 8037: * Makefile.in (caller-save.o): Likewise. 8038: 8039: * final.c (final_start_function, final_end_function, final): Change 8040: enum debugger to enum debug info to finish previous change. 8041: (final_scan_insn, output_source_line): Likewise. 8042: * varasm.c (assemble_variable): Likewise. 8043: 8044: * rtlanal.c (modified_between_p, find_last_value): New functions; not 8045: yet used. 8046: * rtl.h (find_last_value): Declare. 8047: 8048: * cse.c (simplify_binary_operation): Remove comparison cases from 8049: here; now in simplify_relational_operation. 8050: 8051: Fri Nov 1 19:04:50 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8052: 8053: * rtl.h (REG_DEAD): More precisely describe when a REG_DEAD note 8054: should be present. 8055: * rtlanal.c (dead_or_set_regno_p): New function. 8056: (dead_or_set_p): A value is dead or set only if each register in it 8057: is dead or set. 8058: * combine.c (reg_bitfield_target): New function. 8059: (distribute_notes, case REG_DEAD): Place REG_DEAD note only if both 8060: dead_or_set_p and reg_bitfield_target are false. 8061: * flow.c (cc0_live): New variable; replaces following_insn_dead. 8062: (propagate_block): Initialize cc0_live instead of following_insn_dead. 8063: Track CC0's life just like other regs instead of using special 8064: mechanism involving following_insn_dead. 8065: Clear last_mem_set even when not final pass. 8066: Don't call mark_used_regs on dead insns. 8067: (insn_dead_p): Use cc0_live to see if a set of CC0 is dead. 8068: Correctly test if set of multi-word value is needed; set if dead only 8069: if none of the words are needed. 8070: (libcall_dead_p): Allow CALL to be in any part of PARALLEL. 8071: Use insn_dead_p to see if SET of return register is dead; old code 8072: incorrectly tested multi-word registers. 8073: (mark_set_1): Track whether all or only some words of a value are 8074: needed; write partial REG_UNUSED note if only some words won't be 8075: needed. 8076: (mark_used_regs): Likewise for REG_DEAD notes. 8077: Set cc0_live for a reference to CC0. 8078: Don't write REG_DEAD note if register is already dead or set in INSN. 8079: No longer check for unused SET_DEST since it won't be called for dead 8080: insns; if a single SET's result was unneeded but the insn can't be 8081: deleted, the source of the SET is live. 8082: Clear last_mem_set even if not final pass. 8083: 8084: * reload1.c (gen_input_reload): Handle REG+MEM the same as REG+INT. 8085: 8086: * gcc.c (xmalloc, xrealloc): Use unsigned instead of size_t for `size'. 8087: 8088: * cccp.c (bcopy, bzero, bcmp): No longer static. Only declare at 8089: front of file if we are going to define them later. 8090: 8091: Fri Nov 1 18:57:25 1991 Ron Guilmette (rfg at ncd.com) 8092: 8093: * cccp.c (timebuf): Declaration moved out of `special_symbol' and 8094: made global (and "static") to get values of __DATE__ and __TIME__ 8095: to remain constant throughout compilation. 8096: (debug_output): New variable. 8097: (main): Accept -g3 option and set debug_output when seen. 8098: (main): Moved initializations of `outbuf' and `fp' to before call 8099: to `initialize_builtins'. 8100: Pass fp and &output to initialize_builtins so that it can write out 8101: artificial #define lines for builtin symbols. 8102: Call `output_line_directive' before doing each make_define or 8103: make_undef so that when `debug_output' is in effect, we'll 8104: get #line 0 directives before each artificial #define or #undef. 8105: (special_symbol): Initialization of `timebuf' deleted from here. 8106: (initialize_builtins): Initialize timebuf here. 8107: (pass_thru_directive): New function. 8108: (do_define, do_undef): Use `pass_thru_directive' for "precompilation" 8109: of header files. 8110: Call `pass_thru_directive' when -g3 option used. 8111: (initialize_builtins): Generate artificial #define directives (in the 8112: output) to represent the values of all builtin symbols whose defs 8113: can't change during compilation. 8114: (make_undef): Added output buffer param so that make_undef could let 8115: do_undef do output to stdout. 8116: Call do_undef with a real output buffer. 8117: (make_definition): Likewise. 8118: Many minor changes to get strings passed to do_define to always look 8119: like correctly formed #define directives. 8120: 8121: * c-decl.c (store_parm_decls): Remove non-params from the list before 8122: checking to see if the type of any element of the list is complete. 8123: (pushlevel): Fixed bug which caused scope of tagged types to be 8124: incorrectly assigned to the outermost {} block of functions rather 8125: than to the outermost binding contours of functions. 8126: (pushtag): Revised to clarify code used to find applicable 8127: binding level for a tagname. 8128: Set TYPE_CONTEXT of new tagged type so that dwarfout.c can tell 8129: file-scope tagged types from non-file-scope tagged types. 8130: Create a NULL-named TYPE_DECL node for each new tagged type 8131: (even incomplete ones). 8132: (finish_struct, finish_enum): Don't create NULL-named 8133: TYPE_DECL nodes for complete tagged types. (This is now done in 8134: `pushtag' for *all* new tagged type declarations and definitions.) 8135: 8136: * toplev.c (compile_file): Adjust conditions under which 8137: `dwarfout_file_scope_decl' is called during final traversal of 8138: the chain of file-scope decls so that it is called also for 8139: file-scope TYPE_DECLs. 8140: (rest_of_decl_compilation): Deleted call to `dwarfout_file_scope_decl' 8141: for file-scope TYPE_DECLs; call `dwarfout_file_scope_decl' instead of 8142: `dwarfout_file_scope_symbol'. 8143: 8144: * dbxout.c, sdbout.c, flags.h, toplev.c: Change DEBUG_LEVEL_* to 8145: DINFO_LEVEL_* to prevent possible confusion about meaning. 8146: 8147: * flags.h, toplev.c: (enum debug_info_type): Renamed type from 8148: `debugger' and cleaned up definition of type (including deletion 8149: of useless EXTENDED_DBX_DEBUG code). 8150: (use_gdb_dbx_extensions): Make declarations conditional on 8151: DBX_DEBUGGING_INFO being defined. 8152: 8153: * out-i860.c (output_fp_move_double, find_addr_reg): Add return stmts 8154: to avoid warnings when compiling with -Wreturn-type. 8155: (output_delayed_branch): Fix test for CONST_INT values which must be 8156: loaded in two instructions (as two halves). 8157: (function_epilogue): Remove ASM_OUTPUT_EPILOGUE_SUFFIX. (Superceeded 8158: by ASM_DECLARE_FUNCTION_SIZE in varasm.c.) 8159: 8160: * xm-i386.h (i386): Define in case the native host compiler doesn't. 8161: 8162: * tm-svr4.h (SVR4): Define this rather than SVR4_target. 8163: (ASM_FINAL_SPEC): Support the -pipe option. 8164: (ASM_DECLARE_FUNCTION_NAME, ASM_DECLARE_OBJECT_NAME): Allow easy 8165: redefinition of the syntax for second operand of .type. 8166: (ASM_DECLARE_FUNCTION_SIZE): Fix line continuations. 8167: 8168: Fri Nov 1 14:14:14 1991 Michael Meissner (meissner at osf.org) 8169: 8170: * out-mips.c (mips_asm_file_end): Generate correct code if the user 8171: uses asm("name"). Patch from [email protected]. 8172: 8173: * mips-tfile.c (init_file initialization): Fix #ifdef 8174: BYTES_BIG_ENDIAN to be #if BYTES_BIG_ENDIAN, to allow the DECstation 8175: to work again. 8176: (toplevel): Remove declarations of internal library functions, 8177: _flsbuf, _filbuf. 8178: 8179: Thu Oct 31 14:59:11 1991 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) 8180: 8181: * longlong.h (m68020 count_leading_zeros): Use %b for offset and 8182: width syntax for bfffo instruction. 8183: 8184: Thu Oct 31 05:45:54 1991 Ken Raeburn ([email protected]) 8185: 8186: * cp-decl.c (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Replaced 8187: uses of macros with their expansions, and deleted the macros. 8188: 8189: Wed Oct 30 12:45:33 1991 Ron Guilmette (rfg at ncd.com) 8190: 8191: * dwarfout.c, dwarf.h, README.DWARF: Replacement files that bring 8192: the Dwarf implementation up to that defined by draft 5 of the 8193: UI/PLSIG Dwarf specification. 8194: 8195: Wed Oct 30 10:50:07 1991 Michael Meissner (meissner at osf.org) 8196: 8197: * objc-parse.y (yylex): Cast short types to int before shifting, to 8198: avoid bogus warnings from the MIPS C compiler. 8199: 8200: * cccp.c (fancy_abort): Make this global again, so that 8201: -Dabort=fancy_abort will not cause a link error, because obstack.c 8202: contains a reference to abort. 8203: 8204: Wed Oct 30 07:38:08 1991 Tom Wood (wood at dg-rtp.dg.com) 8205: 8206: * SYSCALLS.c (abort): Undefine first. 8207: 8208: * xm-m88k.h (HOST_WORDS_BIG_ENDIAN): Define it. 8209: * out-m88k.c (output_and): Choose "clr" last. 8210: 8211: Tue Oct 29 22:49:47 1991 Michael Meissner (meissner at osf.org) 8212: 8213: * tm-mips.h (num_refs): New global array. 8214: (mips_count_memory_refs): New function decl. 8215: 8216: * out-mips.h (num_refs): New global array to count number of 1, 2, 8217: or 3 instruction data references with -mstats. 8218: (mips_count_memory_refs): New function decl to determine whether a 8219: data memory reference uses 1, 2, or 3 instructions. 8220: (mips_move_1word, mips_move_2words): Call mips_count_memory_refs 8221: as appropriate. 8222: (function_epilogue): Print number of 1, 2, and 3 instruction 8223: memory references if -mstats. 8224: 8225: * mips.md (movsi_ulw, movsi_usw): Call mips_count_memory_refs if 8226: needed. 8227: 8228: Tue Oct 29 05:14:27 1991 Ken Raeburn (raeburn at cygnus.com) 8229: 8230: * cp-parse.y (template_def): Don't pass bogus declspecs to 8231: start_decl. 8232: 8233: * cp-pt.c (tsubst, case FUNCTION_DECL): Build new argument list 8234: from method template, instead of retaining the old one. 8235: 8236: Tue Oct 29 00:44:51 1991 Ken Raeburn (raeburn at cygnus.com) 8237: 8238: * cp-class.c (finish_struct): Skip type fields if they are 8239: template names bound to their expansions. 8240: 8241: * cp-decl.c (binding_levels_sane): Define only if PARANOID; use a 8242: macro returning 1 otherwise. Check class_binding_level stack for 8243: consistency also. 8244: (pushdecl): Verify that bindings pushed at global scope are in 8245: permanent obstack storage. 8246: (start_decl): While processing_template_decl, don't also need to 8247: verify that the decl uses the template parameters. For method 8248: templates, construct proper method type for result. TREE_EXTERNAL 8249: flag for methods should be cleared if DECL_EXTERNAL is clear. 8250: (grokdeclarator, case CALL_EXPR): Intercept destructor templates, 8251: which have a different internal form, and convert them to a form 8252: that can be recognized. 8253: 8254: * cp-decl2.c (grokclassfn): Include length of class name when 8255: creating assembler name for destructor; otherwise ambiguities 8256: result. 8257: 8258: * cp-lex.c (identifier_typedecl_value): New fn; scans bindings of 8259: identifier for a given type decl; falls back to name of type. 8260: * cp-tree.h (IDENTIFIER_TYPEDECL_VALUE): Call it. 8261: 8262: * cp-method.c (fndecl_as_string): Print constructor_name of type 8263: for constructor and destructor, not type name. 8264: 8265: * cp-parse.y (template_def): Don't output warning about missing 8266: type and storage class, since this gets printed for destructor 8267: templates. 8268: (notype_declarator): Accept '~' PTYPENAME. 8269: (scoped_typename): Want a PTYPENAME, not TYPENAME. Build a 8270: SCOPE_REF node instead of calling resolve_scope_to_name. 8271: 8272: * cp-pt.c (instantiate_member_templates): New fn. Instantiates 8273: members associated with template for a given template class. 8274: * cp-method.c (template_instantiate_once): Call it. 8275: 8276: * cp-pt.c (end_template_decl): Catch destructor templates that 8277: are being passed through without being converted to TEMPLATE_DECL 8278: nodes; convert them now. Copy argument list for function template 8279: into permanent storage. 8280: (lookup_template_class): Supply IDENTIFIER_TEMPLATE data for new 8281: anonymous type name. 8282: (tsubst, case FUNCTION_DECL): Improve method lookup code. 8283: (tsubst): Use hash table and build_cplus_* functions for building 8284: new nodes when possible, so equality tests are easier. Extend 8285: FUNCTION_TYPE case to handle METHOD_TYPE as well. 8286: (instantiate_template): Don't do anything for error_mark_node. 8287: (do_pending_expansions): Keep expansions not used in queue to check 8288: again later. 8289: 8290: * cp-tree.def: Fix up some comments relating to PT-related types. 8291: 8292: * tree.c (init_tree_codes): Now void, in agreement with decl 8293: elsewhere. 8294: 8295: Mon Oct 28 22:07:44 1991 Jeffrey A Law (law at b117.super.org) 8296: 8297: * output.h (current_function_uses_pic_offset_table): Declare here 8298: so that out-*.c can see it. 8299: 8300: * tm-m68k.h (FINALIZE_PIC): New macro. 8301: (PIC_OFFSET_TABLE_REGNUM): New macro. Defines which address 8302: register is used to hold the offset table for PIC. 8303: (CONDITIONAL_REGISTER_USAGE): Make PIC_OFFSET_TABLE_REGNUM be 8304: fixed when generating position independent code. 8305: 8306: * out-m68k.c (finalize_pic): New function. 8307: (output_function_prologue): If generating position independent 8308: code output assembler text to load the pic_offset_table register. 8309: 8310: Mon Oct 28 10:02:36 1991 Michael Meissner (meissner at osf.org) 8311: 8312: * toplev.c (main): If -G is used, set g_switch_set to true, and set 8313: g_switch_value to be the integer value of it's argument, for use in 8314: the MIPS port to determine whether a static or global item goes into 8315: the normal data area, or into the small data area. 8316: 8317: * out-mips.c (g_switch_set, g_switch_value): Delete these global 8318: variables, since toplev.c now defines them. 8319: 8320: * tm-mips.h (EXTRA_INT_OPTIONS): Delete macro which is no longer 8321: used in internal OSF patches to provide -G xx support. 8322: (ASM_SPEC, CC1_SPEC, LINK_SPEC): Remove -G32, since the new -G 8323: patches take care of it now. 8324: 8325: * tm-decrose.h (ASM_SPEC, LINK_SPEC): Remove -G32. 8326: 8327: * tm-decstatn.h (ASM_SPEC, LINK_SPEC): Remove -G32. 8328: 8329: * tm-iris.h (ASM_SPEC, LINK_SPEC): Remove -G32. 8330: 8331: * tm-mips-bsd.h (LINK_SPEC): Remove -G32. 8332: 8333: * tm-mips-news.h (ASM_SPEC, LINK_SPEC): Remove -G32. 8334: 8335: * tm-mips-sysv.h (LINK_SPEC): Remove -G32. 8336: 8337: Mon Oct 28 07:11:28 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8338: 8339: * combine.c (try_combine): Don't delete unused SETs if they have 8340: side-effects. 8341: 8342: * Makefile.in, t-i386sco: Had both LIMIT_H and LIMITS_H; latter 8343: is correct. 8344: 8345: * combine.c (subst): New argument `unique_copy'; if non-zero ensure 8346: each copy of `from' replaced gets a unique copy of `to'. 8347: Pass arg to recursive callers. 8348: (try_combine): Pass new arg to subst. 8349: 8350: * Makefile.in (LANGUAGES): Use `objective-c' instead of `class-c' 8351: to avoid confusion. 8352: 8353: * gcc.c (xmalloc, xrealloc): Really make non-static. 8354: 8355: Mon Oct 28 00:21:56 1991 Michael Meissner (meissner at osf.org) 8356: 8357: * tm-mips.h (CC1_SPEC): Convert -gline into -g1. 8358: 8359: Sun Oct 27 17:15:48 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8360: 8361: * reload1.c (spill_hard_reg): Rework code that relies on the fact that 8362: reg_class_superclasses[i][0] == i, since it isn't true! 8363: 8364: Sun Oct 27 06:15:24 1991 Ron Guilmette (rfg at ncd.com) 8365: 8366: * configure: Always remove any files before we write them in case 8367: the old copy was read-only. 8368: 8369: * Makefile.in (manext): Now just extension without the period. 8370: (mandir): Default to include manext. 8371: (install-man): Adjust to new definition of manext. 8372: (uninstall): Remove protoize.1 and unprotoize.1 from mandir. 8373: 8374: * genemit.c (gen_exp): Write integer using %u instead of %d to 8375: avoid warnings from some compilers when most negative int is written. 8376: 8377: * cccp.c: Make variables not used outside this file static. 8378: (main, line_to_error, xmalloc, xrealloc, xcalloc): Add missing return 8379: statements (in unreachable paths). 8380: (xmalloc, xrealloc, xcalloc, savestring): Make SIZE arg unsigned. 8381: 8382: Sun Oct 27 06:14:45 1991 Jeffrey A Law (law at b115.super.org) 8383: 8384: * tm-m68k.h (SELECT_RTX_SECTION): New macro. Used to force 8385: symbolic objects in the constant pool into the read-write data 8386: section when generating position independent code. 8387: 8388: * recog.c (general_operand, immediate_operand, nonmemory_operand): 8389: Use LEGITIMATE_PIC_OPERAND_P to reject constants which are not 8390: valid when generating position independent code. 8391: 8392: * reload.c (find_reloads): Do not win in 's', 'i', or 'g' cases 8393: if the constant does not satisfy LEGITIMATE_PIC_OPERAND_P. 8394: 8395: * tm-m68k.h (LEGITIMATE_PIC_OPERAND_P): New macro. 8396: 8397: * out-m68k.c (symbolic_operand): New function. Copied from 8398: tm-sparc.h. 8399: 8400: * gcc.texinfo: Document LEGITIMATE_PIC_OPERAND_P. 8401: 8402: Sat Oct 26 07:51:40 1991 Michael Meissner (meissner at osf.org) 8403: 8404: * mips.md (movsi_usw): Remove invalid '&' constraint on a memory 8405: address. 8406: 8407: Sat Oct 26 07:16:15 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8408: 8409: * flow.c (find_basic_blocks): Build label_value_list as list of 8410: CODE_LABELs, not LABEL_REFs. 8411: 8412: * fold-const.c (optimize_bit_field_compare): Call fold on result 8413: of build1 call that converts integer to proper mode. 8414: 8415: * rtl.h (unsigned_condition, signed_condition): Add definition; 8416: functions were previously added to jump.c. 8417: * combine.c (simplify_comparison): Use unsigned_condition to simplify 8418: last change. 8419: 8420: Sat Oct 26 06:48:59 1991 Jeffrey A Law (law at b115.super.org) 8421: 8422: * tm-sun2.h, tm-sun3.h (ASM_SPEC): Pass "-k" to the assembler if 8423: -fpic or -fPIC. 8424: 8425: Fri Oct 25 20:43:54 1991 Michael Meissner (meissner at osf.org) 8426: 8427: * tm-mips.h (CC1_SPEC): Remove special rules for -g0, -g1, etc., now 8428: that GCC supports these directly. 8429: 8430: * configure (dec-mips-osf): DECstation running OSF/rose uses 8431: t-decrose, not t-mips. 8432: 8433: * x-decrose (COFF_CC, COFF_CFLAGS, WARNINGS): Delete. 8434: (libdir, bindir, mandir): Put GCC 2 in the /usr/ccs/gcc tree. 8435: 8436: * x-mips (comment): Delete a comment about cross compilers that is 8437: no longer true. 8438: 8439: * t-decrose (coff-obstack.o): Delete rule that is no longer used. 8440: 8441: Fri Oct 25 18:46:51 1991 Mark Eichin (eichin at cygnus.com) 8442: 8443: * cp-dem.c (cp-demangle): added support for templates, static 8444: data, and the new (correct) mangling for destructors. 8445: 8446: Fri Oct 25 16:18:18 1991 Mark Eichin (eichin at tweedledumber.cygnus.com) 8447: 8448: * cp-decl2.c: (grokclassfn): destructor names *should* contain 8449: the length; otherwise, we can't tell the difference between a 8450: destructor for a class whose name begins with 't' and a destructor 8451: for an instance of a template class. 8452: 8453: Fri Oct 25 02:15:12 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 8454: 8455: * SYSCALLS.c, protoize.c: Changes from rfg. 8456: waiting for real changelog entries from rfg. 8457: 8458: * gcc.c (xmalloc, xrealloc): No longer static. 8459: 8460: Thu Oct 24 19:21:04 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 8461: 8462: * fold-const.c (optimize_bit_field_compare): 8463: Use build1 rather than convert, to avoid warnings. 8464: 8465: * final.c (output_source_line): Fix if-scope for DBX fmt. 8466: 8467: Thu Oct 24 13:29:34 1991 Tom Wood (wood at dg-rtp.dg.com) 8468: 8469: * gcc.c gen*.c: Don't make fancy_abort static. 8470: 8471: Thu Oct 24 12:07:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 8472: 8473: * combine.c (simplify_comparison): When narrowing a comparison 8474: and removing ANDs, make it unsigned. 8475: 8476: Thu Oct 24 08:02:04 1991 Ken Raeburn (raeburn at cygnus.com) 8477: 8478: * cp-decl.c (binding_levels_sane): New function, tests that stack 8479: of binding levels is consistent. Argument provides extra 8480: identification for call site, in case compiler optimizes too well. 8481: If PARANOID is not set, does nothing. 8482: (push_binding_level, pop_binding_level): Now functions, for easier 8483: debugging. Inlined under GNU C if not PARANOID. 8484: (PUSH_BINDING_LEVEL, POP_BINDING_LEVEL): Invoke functions. 8485: (push_to_top_level): Use type-shadowed slots to unwind 8486: IDENTIFIER_TYPE_VALUE back to top level. 8487: (start_decl): When processing a template decl, shouldn't need to 8488: check uses_template_parms. For methods, modify arg list to include 8489: `this'. Don't set context of template. Use perm_tree_cons when 8490: building members list for class template. 8491: (grokdeclarator): Check "friend" flag before calling 8492: globalize_nested_type. Build a method type for a function that has 8493: a context. 8494: 8495: * cp-pt.c (end_template_decl): If template has non-null context, 8496: chain it off of the containing class, rather than using pushdecl. 8497: (instantiate_class_template): Instantiate all the member templates 8498: hanging off the class template. Also, simplify some code in the 8499: case where setup_parse is 0. 8500: (tsubst): Check for several common values that won't be modified by 8501: substitutions. 8502: (tsubst, case FUNCTION_DECL): Don't return type passed if it has a 8503: non-null context that might need fixing. Process that context while 8504: building up the new decl node; use it to notify build_decl_overload 8505: that we've got a method rather than a function. 8506: (tsubst, case METHOD_TYPE): Handle like FUNCTION_TYPE; enhance that 8507: case to handle TYPE_METHOD_BASETYPE when set. 8508: (unify): Increment value pointed to by nsubsts, not the pointer 8509: itself. 8510: (do_pending_expansions): Method context is in DECL_CONTEXT, not 8511: DECL_CLASS_CONTEXT. 8512: 8513: * cp-lex.c (do_identifier): Don't try looking up fields in base 8514: classes of UNINSTANTIATED_P_TYPE. 8515: 8516: * cp-parse.y (primary): Call require_complete_type only for 8517: CALL_EXPR nodes of types other than void. 8518: (template_type): Don't call IDENTIFIER_TYPE_VALUE on 8519: error_mark_node. 8520: 8521: * cp-ptree.c (print_lang_decl): For UNINSTANTIATED_P_TYPE, show 8522: template as well as parameters. 8523: 8524: * cp-tree.h (DECL_TEMPLATE_*, UPT_*): New accessor macros for 8525: TEMPLATE_DECL and UNINSTANTIATED_P_TYPE nodes. All (most?) uses 8526: except for node creation changed to use these. 8527: * cp-tree.def: Updated comments for these node types. 8528: 8529: * cp-pt.c (uses_template_parms): Handle ADDR_EXPR. 8530: (end_template_decl): For function with non-null context, pop class 8531: binding level. 8532: 8533: Thu Oct 24 06:57:28 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8534: 8535: * a29k.md, romp.md, rs6000.md (movdi, movdf, movti): Handle case of 8536: reg-reg copy with overlapping registers correctly. 8537: 8538: * out-rs6000.c (ccr_bit, case NE): Fix typo in bit number. 8539: (output_epilog): Must restore stack using backchain if alloca called. 8540: 8541: * romp.md, rs6000.md (extendxxyy2, zero_extendxxyy2): Use DEFINE_EXPAND 8542: to force operand to register; DEFINE_INSN allows memory (better cse). 8543: 8544: * rs6000.md (ffssi2): New patterns. 8545: (maskir): Add patterns to use maskir instructions. 8546: 8547: * tm-a29kunix.h (TARGET_DEFAULT, CPP_SPEC): Default to 29050. 8548: 8549: * tm-rs6000.h (LINK_SPEC): Add -bnodelcsect. 8550: (HARD_REGNO_MODE_OK): Delete kludge that didn't allow DImode in reg 31 8551: and TImode in 29-31; the bug was fixed elsewhere. 8552: 8553: Wed Oct 23 17:48:43 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8554: 8555: * combine.c (try_combine): If an insn doesn't match, check for case 8556: where first SET's result isn't used; previously only checked second. 8557: 8558: * combine.c (try_combine): When we substitute into a COMPARE, check 8559: SELECT_CC_MODE to see if we should try to change the mode of the 8560: COMPARE and its result. 8561: 8562: Wed Oct 23 16:38:26 1991 Torbjorn Granlund (tege at hal.gnu.ai.mit.edu) 8563: 8564: * gnulib2.c (__ashrdi3): Compute sign extension shift count from 8565: machine word size instead of using 31. 8566: 8567: Wed Oct 23 14:25:04 1991 Michael Meissner (meissner at osf.org) 8568: 8569: * tm-mips.h (PREFERRED_DEBUGGING_TYPE): Unless otherwise defined, 8570: set to SDB_DEBUG. 8571: 8572: * tm-decrose.h (PREFERRED_DEBUGGING_TYPE): Define to DBX_DEBUG. 8573: 8574: * out-mips.c (override_options): Don't override debugger choice now 8575: that PREFERRED_DEBUGGING_TYPE is provided. 8576: 8577: Wed Oct 23 07:25:32 1991 Tom Wood (wood at dg-rtp.dg.com) 8578: 8579: * sdbout.c (sdbout_symbol/FUNCTION_DECL, sdbout_toplevel_data, 8580: sdbout_end_epilogue): Use DECL_ASSEMBLER_NAME to avoid link-time 8581: multiple definitions. 8582: 8583: Tue Oct 22 15:06:31 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8584: 8585: * reload1.c (reload): For now, we must always have a frame pointer 8586: if a function calls alloca and EXIT_IGNORE_STACK is non-zero. 8587: 8588: * cse.c (insert_regs): Don't make new quantity for the register in 8589: a SUBREG. 8590: (merge_equiv_classes): Don't invalidate the register inside a SUBREG. 8591: (canon_hash, case SUBREG): Remove code to treat SUBREGs like REGs. 8592: 8593: Tue Oct 22 10:25:29 1991 Tom Wood (wood at dg-rtp.dg.com) 8594: 8595: * tm-m88kdgux.h (PREFERRED_DEBUGGING_TYPE): Use it. 8596: * tm-m88k.h (OVERRIDE_OPTIONS): Don't override write_symbols. 8597: 8598: * out-m88k.c (m88k_output_{prologue,epilogue}): Renamed. 8599: 8600: Tue Oct 22 00:51:48 1991 Richard Stallman ([email protected]) 8601: 8602: * c++: New shell script. 8603: 8604: * gcc.c (default_compilers): Treat .ii files as cpp'd C++. 8605: 8606: * varasm.c (make_function_rtl): Don't alter DECL_ASSEMBLER_NAME. 8607: 8608: * toplev.c (main): Use PREFERRED_DEBUGGING_TYPE if support 8609: more than one format. 8610: 8611: Mon Oct 21 23:08:02 1991 Richard Stallman ([email protected]) 8612: 8613: * c-decl.c (grokdeclarator): Fix error message for long float. 8614: 8615: Mon Oct 21 16:55:31 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8616: 8617: * optabs.c (add_equal_note): New function. 8618: (expand_binop): Delete some obsolete, turned-off code. 8619: Use GET_RTX_CLASS to see if operator is commutative. 8620: Call add_equal_note if we make a multi-insn sequence; if it fails, 8621: redo the operation without our target. 8622: In multi-word cases, don't allow TARGET to be the same as an input. 8623: (expand_unop): Allow operation to fail. 8624: Call add_equal_note and allow failure, like in expand_binop. 8625: In multi-word case, don't allow TARGET to be OP0. 8626: (emit_unop_insn): Use add_equal_note; ignore its failure here. 8627: 8628: * optabs.c (expand_float, expand_fix): In cases when we will jump, 8629: ensure we call emit_queue before protect_from_queue. 8630: Eliminate redundant calls to protect_from_queue and force_non_mem. 8631: 8632: * reorg.c (steal_delay_list_from_target): Don't take an insn from 8633: the fallthrough thread of an annulled branch insn. 8634: 8635: Mon Oct 21 16:55:08 1991 Tom Wood (wood at dg-rtp.dg.com) 8636: 8637: * configure (m88k targets): Complete last change. 8638: 8639: Mon Oct 21 16:06:25 1991 Richard Stallman ([email protected]) 8640: 8641: * integrate.c (copy_rtx_and_substitute): When making copy of frame, 8642: round size to keep substituted frame pointer aligned. 8643: (CEIL_ROUND): New macro. 8644: 8645: Mon Oct 21 15:16:17 1991 Michael Meissner (meissner at osf.org) 8646: 8647: * tm-mips.h (GP_REG_OR_PSEUDO_NONSTRICT_P): New macro for 8648: REG_OK_FOR_{BASE,INDEX}_P in non strict mode. Fix typos in the 8649: previous change. 8650: (GP_REG_OR_PSEUDO_P): Rename to GP_REG_OR_PSEUDO_STRICT_P. 8651: (REG_OK_FOR_BASE_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict. 8652: (REG_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_NONSTRICT_P if non strict. 8653: (GO_IF_LEGITIMATE_ADDRESS): Indicate if strict checking is being 8654: used if -mdebugb tracing. 8655: 8656: Mon Oct 21 15:08:15 1991 Tom Wood (wood at dg-rtp.dg.com) 8657: 8658: * Makefile.in (*.o): Add insn-codes.h to all lists using expr.h. 8659: (dwarfout.o): Add dwarf.h, reload.h, output.h, and insn-config.h. 8660: 8661: * c-tree.h (TYPE_ACTUAL_ARG_TYPES): New macro for list of actual 8662: types. 8663: * c-decl.c (store_parm_decls): Compute TYPE_ACTUAL_ARG_TYPES if a 8664: prototype is not present. Delete old method. 8665: (duplicate_decls): Provide better diagnostics if a prototype 8666: follows a function definition. 8667: 8668: * m88k.md (gen_divsi3): Delete REG_EQUAL workaround. 8669: * t-m88k{,luna,sysv4}: Target makefile portion (from Mike Stump). 8670: * x-m88k{,dgux,luna,sysv4}: Corresponding deletions. 8671: * {tm,t,x}-m88ksysv4: Renamed from m88ksvr4. Deleted xm-m88ksvr4. 8672: * {tm,xm}-m88ksysv3: Renamed from v88r32. 8673: * configure: Corresponding changes. 8674: 8675: * tm-m88k.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Output to 8676: .ctors/.dtors sections. 8677: (TARGET_SWITCHES): Add -m88000, -m88100, and -m88110. Replace 8678: DG/UX MXDB options with SUBTARGET_SWITCHES macro. 8679: * tm-m88kdgux.h (SUBTARGET_SWITCHES, ASM_SPEC, ASM_FIRST_LINE): 8680: Put MXDB options here changing -mdwarf to -mstandard. 8681: 8682: Sun Oct 20 06:39:54 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8683: 8684: * combine.c (simplify_comparison, case PLUS): Only do simplification 8685: for equality comparison due to overflow problems. 8686: 8687: * gen*.c: Remove "void *" and uses of size_t added by recent change. 8688: 8689: * reload.c (find_reloads): If "&" given without any registers, 8690: turn off earlyclobber, in addition to giving error. 8691: 8692: * Makefile.in (STAGE_GCC): Deleted. 8693: (STAGESTUFF): Add gcc (from STAGE_GCC) and gcc-cross. 8694: 8695: Sun Oct 20 04:37:21 1991 Michael Tiemann (tiemann at cygnus.com) 8696: 8697: * cp-decl.c (grokfndecl): Use DECL_NAME, not DECLARATOR at end of 8698: function, since DECL_NAME may be different if it's an operator name. 8699: 8700: * cp-cvt.c (convert_pointer_to): Test if PARENT is TREE_VEC 8701: before testing IS_AGGR_TYPE. 8702: 8703: Sun Oct 20 00:40:47 1991 Richard Stallman ([email protected]) 8704: 8705: * gcc.c (link_command_spec): -collect converts to -c. 8706: 8707: * toplev.c (main): Support -gstabs and -gcoff. Fix args to strncmp. 8708: 8709: Sat Oct 19 21:51:03 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8710: 8711: * reorg.c: Use const_true_rtx instead of const1_rtx. 8712: (delete_scheduled_jump): Don't delete an insn that sets CC0 if it 8713: has a side-effect. 8714: (update_block): Add missing declaration for parameter WHERE. 8715: (fill_slots_from_thread): Stop search if we find an insn that we 8716: can't put into the delay slot unless we own the thread. 8717: 8718: Sat Oct 19 17:30:23 1991 Michael Meissner (meissner at osf.org) 8719: 8720: * tm-mips.h (GP_REG_OR_PSEUDO_P): New macro to make sure a reg or 8721: pseudo reg during reload will eventually be a GP register for use as 8722: a base or index register. This fixes a bug where a FP register 8723: could be used as a base or index register in some cases after 8724: convert from floating point to integer was done. 8725: (REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_INDEX_P): Use GP_REG_OR_PSEUDO_P. 8726: (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): In the non strict version, 8727: don't allow hard FP registers ever. 8728: 8729: Sat Oct 19 11:59:55 1991 Richard Stallman ([email protected]) 8730: 8731: * tm-sun3.h, tm-sparc.h (WORD_SWITCH_TAKES_ARG): 8732: Check for Tdata as well as target. 8733: 8734: * c-decl.c (grokdeclarator): Don't warn for array of incomplete elt. 8735: 8736: * expr.c (expand_expr): For INDIRECT_REF, don't set unchanging bit. 8737: * c-typeck.c (build_indirect_ref): Do set TREE_UNCHANGING if nec. 8738: 8739: * reload.c (find_reloads): Warning or error for misuse of `&'. 8740: * toplev.c (warning_for_asm): New function. 8741: 8742: * t-i386sco: New file. 8743: * x-i386sco: Add -Di286 to CC, OLDCC. 8744: (LIMIT_H): Moved to t-i386sco. 8745: 8746: Sat Oct 19 09:08:11 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8747: 8748: * gcc.c: Add missing extern declarations deleted by last change. 8749: (xrealloc, xmalloc): Don't declare as void *; non-ANSI compilers 8750: can't handle it. 8751: 8752: Sat Oct 19 08:26:13 1991 Ron Guilmette (rfg at ncd.com) 8753: 8754: * tree.h: Fix spelling error in comment. 8755: 8756: * tree.def, cp-parse.y: Change comments that refer to LET_STMT nodes to 8757: refer to BLOCK nodes. 8758: 8759: * gcc.c, gen*.c: Declare as static objects that aren't referenced 8760: outside the file they are in. 8761: (xrealloc, xmalloc): Functions return char *, not int. 8762: (main): Add missing returns (in unreachable code) to avoid warnings 8763: when compiled with -Wreturn-type. 8764: * gcc.c (pexecute): Likewise. 8765: * genattrtab.c (operate_exp): Likewise. 8766: 8767: Fri Oct 18 16:58:12 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) 8768: 8769: * make-cc1.com: Finish changeover from cplus-* to cp-*. 8770: 8771: Fri Oct 18 16:57:37 1991 Ron Guilmette (rfg at ncd.com) 8772: 8773: * tm-svr4.h: Delete lines duplicated due to transmission problems. 8774: 8775: Fri Oct 18 16:55:53 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 8776: 8777: * jump.c (unsigned_condition, signed_condition): New functions. 8778: 8779: * configure (vax): Set tm_file to tm-vax.h so "configure vax-dec-bsd" 8780: works. 8781: 8782: * combine.c (subst, case PLUS, MINUS): Remove some simplifications 8783: from here. 8784: * cse.c (simplify_binary_operation, case PLUS, MINUS): Put these 8785: simplifications here. 8786: Strip off CONST when looking for some simplifications. 8787: Add code to simplify (a - (a - b)). 8788: 8789: * combine.c (expand_compound_operation): Correctly handle case where 8790: we have a ZERO_EXTRACT that extends beyond the bounds of the object. 8791: 8792: * global-alloc.c (mark_elimination): No longer have FORBIDDEN_REGS as 8793: argument. 8794: * reload1.c (reload): Don't pass FORBIDDEN_REGS to mark_elimination. 8795: 8796: * cse.c (simplify_{unary,binary,relational}_operation): Complete 8797: change that removes warnings from floating-point traps when constant 8798: folding (some cases had been omitted). 8799: 8800: Fri Oct 18 16:41:29 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 8801: 8802: * stmt.c (expand_anon_union_decl): When creating new mem, copy the 8803: RTX_UNCHANGING_P and MEM_IN_STRUCT_P bits from the old one. 8804: 8805: * sparc.md: Add new scc addx/subx patterns. 8806: 8807: Fri Oct 18 09:10:43 1991 Michael Tiemann (tiemann at cygnus.com) 8808: 8809: * cp-parse.y (stmts): Fix parsing rules to match C++ semantics 8810: better (and hence give the compiler better error recovery). 8811: 8812: Thu Oct 17 19:31:15 1991 Ken Raeburn (raeburn at cygnus.com) 8813: 8814: * cp-pt.c (tsubst): For NEGATE_EXPR, call build1, not build. 8815: Handle NOP_EXPR likewise. 8816: (unify, case TEMPLATE_CONST_PARM): Copy value to permanent obstack. 8817: 8818: * cp-method.c (PARM_CAN_BE_ARRAY_TYPE): If not already defined, 8819: define it to be 1. 8820: (build_overload_name): Test to see if it's nonzero, rather than 8821: whether it's defined; this permits compilation options to disable 8822: it, but leave it enabled by default. Add one to the array size, 8823: since the value retrieved appears to be the maximum index, not the 8824: true array size. 8825: 8826: Thu Oct 17 19:15:37 1991 Mark Eichin (eichin at tweedledumber.cygnus.com) 8827: 8828: * cp-pt.c (instantiate_class_template): has an argument to 8829: indicate whether to setup for parsing or not. (All existing cases 8830: did a feed input, but if we are trying to set up intermediate nodes 8831: while waiting for the parser to return to a template_instantiate 8832: site we need to suppress the parsing part of it, which will get 8833: redone later.) 8834: (tsubst): under case UNINSTANTIATED_P_TYPE, actually instantiate any 8835: class templates that are needed for function return values, and set 8836: them up as pending templates to be run later. 8837: 8838: * cp-parse.y (primary): since build_x_function_call doesn't 8839: require a complete type any more in certain cases, we instantiate 8840: any pending templates and then require_complete_type on the 8841: remainder. 8842: 8843: * cp-typeck.c (build_function_call_real): added an argument to 8844: optionally skip the require_complete_type... implicit template 8845: instantiation has to be postponed, so we won't get a complete type 8846: until the parser can grab it. 8847: 8848: * cp-call.c (build_overload_call_real): added an argument do 8849: allow choice of build_function_call_maybe or build_function_call 8850: based on whether we thought we would require a complete type out of 8851: build_function_call. 8852: 8853: Wed Oct 16 09:06:57 1991 Tom Wood (wood at dg-rtp.dg.com) 8854: 8855: * c-decl.c (store_parm_decls): Fix and disable recording the arg 8856: type list for the function indicating the number of arguments. 8857: * c-typeck.c (self_promoting_args_p): Allow the arg type to be null. 8858: 8859: * expmed.c (store_bit_field, extract_bit_field): Add checks for 8860: MEM_IN_STRUCT_P if the structure reference is a MEM. 8861: 8862: Tue Oct 15 18:37:50 1991 Ken Raeburn (raeburn at cygnus.com) 8863: 8864: * cp-call.c (build_overload_call): If template match fails, still 8865: set function field of candidate structure, and set bad_arg field to 8866: new magic number -4 to indicate failed type unificiation. 8867: 8868: * cp-class.c (add_method): Call make_function_rtl only if not 8869: processing a template declaration. 8870: 8871: * cp-tree.def: New node type, UNINSTANTIATED_P_TYPE, for 8872: parameterized types that haven't had parameters filled in yet. 8873: Looks like a type node. 8874: 8875: * cp-decl.c (struct binding_level): New flag indicating any name 8876: should be accepted when looked up at this level. This is a kludge 8877: to try to deal with methods of parameterized types. 8878: (declare_uninstantiated_type_level): Set it. 8879: (uninstantiated_type_level_p): Return it. 8880: * cp-class.c (pushclass): If the "class" type is 8881: UNINSTANTIATED_P_TYPE, flag it in the new binding level. 8882: 8883: * cp-decl.c (push_overloaded_decl): New argument to indicate 8884: whether the decl should be forgotten when the current level is 8885: exited. Callers changed. 8886: (push_overloaded_decl_top_level): Ditto. 8887: (dont_forget_overload): Deleted. 8888: (push_overloaded_decl_1): New fn; like push_overloaded_decl, but 8889: never forgets. Intended only for use by auto_function macro. 8890: (auto_function): Use it. 8891: 8892: * cp-decl.c (print_binding_level): Print type-shadowed field at 8893: each level. Skip fields with no values. 8894: 8895: * cp-decl.c (adjust_type_value): Use SET_IDENTIFIER_TYPE_VALUE, 8896: not set_identifier_type_value. 8897: 8898: * cp-decl.c (pushdecl): Undo Oct 4 back-out of previous change. 8899: Set type value of name of passed decl, instead of name of type in 8900: passed decl. 8901: (pushdecl_top_level): Search type-shadowed fields of outer binding 8902: levels, munging outermost one if found to cause it to "restore" the 8903: new global value. 8904: 8905: * cp-decl.c (push_overloaded_decl): Don't punt second or later 8906: templates of a given name. 8907: 8908: * cp-decl.c (start_decl): Template-handling code moved up, to 8909: cope better with variable declarations. Don't check for incomplete 8910: type or constructor requirements when processing template. 8911: 8912: * cp-decl2.c (build_push_scope): If passed error mark node, just 8913: return it. 8914: (constructor_name): Handle UNINSTANTIATED_P_TYPE. 8915: 8916: * cp-lex.c (identifier_type): Don't return PTYPENAME for function 8917: template name. 8918: 8919: * cp-method.c (report_type_mismatch): New magic bad-arg value -4 8920: indicates type unification failure. 8921: (build_overload_name, case UNINSTANTIATED_P_TYPE): Handle like other 8922: template-related types that shouldn't get visibility outside the 8923: compiler. 8924: 8925: * cp-parse.y (template_type): Use IDENTIFIER_TYPE_VALUE from 8926: name, if expansion doesn't happen. 8927: (tmpl.1, tmpl.2): Now type <ttype>. Value is null or return value 8928: from instantiate_class_template. 8929: (template_instantiation): Always put copy of decl in global scope. 8930: Use pushdecl_top_level instead of setting IDENTIFIER_GLOBAL_VALUE 8931: slot. 8932: (LC): If type has been or is being defined, push a new type with the 8933: same name, to avoid conflict. 8934: (try_for_typename): New type <itype>. Value is non-zero iff type to 8935: be pushed uses no template parms and isn't error_mark_node. 8936: (scoped_id): Return error_mark_node for template parameter uses, and 8937: leave error_mark_node alone. Only pop class if try_for_typename 8938: value is non-zero. 8939: (scoped_typename): Ditto. 8940: 8941: * cp-pt.c (end_template_decl): If template decl/class head arg is 8942: null, punt. For non-type templates that didn't come in as template 8943: decls, clear public flag. Such cases shouldn't arise any more; just 8944: put in abort call for now until we're sure. Comment out code for 8945: forcibly removing temporary values of template type parms; Michael 8946: broke the code and fixed the original problem. Handle error case 8947: where decl to be pushed might be null. 8948: (coerce_template_parms): Handle arg list as TREE_VEC as well as 8949: TREE_LIST. If arg list uses template parms, return 8950: UNINSTANTIATED_P_TYPE node. 8951: (uses_template_parms, case UNINSTANTIATED_P_TYPE): Return 1. 8952: (instantiate_class_template): Now returns tree -- error_mark_node or 8953: NULL_TREE or class type; callers and decls changed. Assign 8954: TYPE_NAME field when building new RECORD_TYPE and TYPE_DECL nodes. 8955: Don't need to do extra poplevel any more. 8956: (tsubst): Handle UNINSTANTIATED_P_TYPE, MINUS_EXPR, PLUS_EXPR, 8957: NEGATE_EXPR. 8958: (undo_template_name_overload): Don't need to explicitly clear type 8959: field any more. 8960: (overload_template_name): Push a TYPE_DECL, instead of explicitly 8961: setting type value field. 8962: (end_template_instantiation): Don't need to pop a level any more. 8963: (reinit_parse_for_template): Throw away saved block for null or 8964: error template node. 8965: (type_unification): Handle variadic functions, and functions with 8966: default values for arguments. 8967: (unify): Handle TREE_VEC and UNINSTANTIATED_P_TYPE. 8968: 8969: * cp-ptree.c (print_lang_type): Handle UNINSTANTIATED_P_TYPE. 8970: 8971: * cp-tree.h (push_overload_decl): Declare here, not in 8972: cp-decl.c. 8973: (TEMPLATE_TYPE_* macros): Delete unused (and now incorrect) 8974: versions. 8975: 8976: Mon Oct 14 14:30:32 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 8977: 8978: * integrate.c (expand_inline_function): Fix typo from last edit, 8979: where TYPE_MODE was applied to an argument, not the type of an 8980: argument. 8981: 8982: * cse.c (canon_hash, SUBREG case): Add cast which is needed by some 8983: compilers. 8984: 8985: Mon Oct 14 07:59:50 1991 Tom Wood (wood at dg-rtp.dg.com) 8986: 8987: * toplev.c (rest_of_compilation): Compute the function's name and 8988: pass it to assemble_{start,end}_function. 8989: * varasm.c (assemble_start_function): New parameter. 8990: (assemble_end_function): New function for ASM_DECLARE_FUNCTION_SIZE. 8991: * final.c, sdbout.c: Correct comments. 8992: * tm-svr4.h, tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): Add and use a 8993: NAME parameter. 8994: * tm-m88k.h (ASM_DECLARE_FUNCTION_SIZE): Override svr4 definition. 8995: * out-m88k.c (output_prologue): Delete previous method. 8996: 8997: * m88k.md: Use trap_if. 8998: (divsi3): Store into output operand only once to aviod problems 8999: with REG_EQUAL note. 9000: * out-m88k.c (output_call): Accomodate assembler range 9001: restriction. 9002: * tm-m88kdgux.h (AS_BUG_IMMEDIATE_LABEL): Specify the restriction. 9003: (ASM_SPEC): Pass -KV3 to the assembler in some cases. 9004: * tm-m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the addressing base 9005: register global. 9006: 9007: Sat Oct 12 00:30:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 9008: 9009: * Makefile.in (.SUFFIXES): Rule added. 9010: 9011: * dbxout.c (dbxout_block): Handle debug_info_level. 9012: * sdbout.c (sdbout_begin_block): Likewise. 9013: * toplev.c (compile_file): Likewise, when calling init_emit_once. 9014: * emit-rtl.c (init_emit_once): Cosmetic change. 9015: * Makefile.in (sdbout.o): Include flags.h. 9016: 9017: * configure: Default srcdir from dir in which configure is found. 9018: 9019: * i860.md (floatsidf2): Rewrite to be independant of host machine. 9020: (divdf3, divsf3): New patterns. 9021: 9022: * tm-i860.h (ASM_DECLARE_FUNCTION_NAME): Macro deleted. 9023: (ASM_OUTPUT_FUNCTION_PREFIX): Macro added. 9024: 9025: * stmt.c (pushcase, pushcase_range, expand_end_case): 9026: Don't give "unreachable code" warning for a USE. 9027: 9028: * tm-i386.h (HARD_REGNO_MODE_OK): Fp regs reject TFmode. 9029: 9030: Fri Oct 11 16:43:37 1991 Tom Wood (wood at dg-rtp.dg.com) 9031: 9032: * cse.c (find_comparison_args): Reject VOIDmode to avoid invalid 9033: shift. 9034: 9035: Fri Oct 11 14:30:31 1991 Richard Stallman ([email protected]) 9036: 9037: * c-typeck.c (function_types_compatible_p): 9038: NULL as arg type matches self-promoting type. 9039: (self_promoting_type_p): New function. 9040: (common_type): NULL for arg in one fcn type means use arg from other. 9041: * c-decl.c (store_parm_decls): Record arg type list for the fn, 9042: just to indicate how many args there are. 9043: 9044: * i860.md, out-i860.c, tm-i860.h: Merge many changes by rfg. 9045: * tm-i860bsd.h, xm-i860.h: Likewise. 9046: * tm-i860v3.h, tm-i860v4.h: New files. 9047: * xm-i860v3.h, xm-i860v4.h: New files. 9048: * tm-i860v3g.h: Renamed from tm-i860g.h. 9049: * configure (i860-sysv3*): Renamed from i860-sysv*. New filenames. 9050: (i860-sysv4*): New alternative. 9051: 9052: * print-rtl.c: New file, split from rtl.c. 9053: * Makefile.in (print-rtl.o): New target. 9054: (OBJS): Add that target. 9055: 9056: * toplev.c (DEFAULT_GDB_EXTENSIONS): Provide default definition. 9057: (main): Use that for -g with dbx format. 9058: Don't support -G. 9059: * gcc.c (default_compilers): Get rid of -G. 9060: 9061: Fri Oct 11 14:30:43 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9062: 9063: * stmt.c (expand_anon_union_decl): Correctly handle anonymous 9064: unions, whether in memory or registers. 9065: 9066: These were written by Michael Tiemann. 9067: The following changes net a 16% speedup compiling some 9068: machine-generated CAD synthesis code. 9069: * c-decl.c (field_decl_cmp): New function, use as comparison 9070: function for qsort. 9071: (finish_struct): If there are more than 15 fields, allocate a 9072: LANG_TYPE for the FIELD_DECLs, and sort them according to 9073: `field_decl_cmp'. 9074: * c-tree.h (lang_type): Define a LANG_TYPE for RECORD_TYPEs. 9075: * c-typeck.c (build_component_ref): If LANG_TYPE set, then use 9076: binary search to find the field, otherwise use linear search as 9077: before. 9078: 9079: * tree.h: Declare savealloc. 9080: * c-common.c: Delete now unnecessary cast of savealloc result. 9081: 9082: Fri Oct 11 10:06:09 1991 Tom Wood (wood at dg-rtp.dg.com) 9083: 9084: * cse.c (simplify_binary_operation): Fix typo in last change. 9085: 9086: * cp-*, gcc.texinfo, make-cc1.com, tree.c, undocumented: Change 9087: cplus- to cp-. Rename cplus-parse.y to cp-parse.y. 9088: 9089: Fri Oct 11 07:48:40 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9090: 9091: * recog.c (find_single_use_1): Ignore appearances of DEST in 9092: contexts where it is being set, not referenced. 9093: (find_single_use): Use dead_or_set_p instead of looking for REG_DEAD 9094: notes. 9095: 9096: Fri Oct 11 07:29:33 1991 Ron Guilmette (rfg at ncd.com) 9097: 9098: * c-parse.y, cp-lex.c, objc-parse.y (check_newline): Use `pedwarn' 9099: instead of `error' when we see an #ident if -pedantic. 9100: * cccp.c (do_assert, do_unassert, check_assertion, do_sccs): Warn 9101: if -pedantic. 9102: 9103: Thu Oct 10 18:30:28 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9104: 9105: * gcc.c (default_compilers): Correctly handle new debugging 9106: options, pass all -g* and -G* options. 9107: 9108: * Makefile.in, c-decl.c, cp-decl.c, final.c, flags.h, gcc.1, 9109: gcc.c, print-tree.c, toplev.c, tree.def, tree.h: Delete support 9110: for obsolete GDB_DEBUG format, -gg option, symout.c, etc. 9111: * gdbfiles.h, symseg.h, symout.c: Delete obsolete files. 9112: 9113: Thu Oct 10 17:56:16 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9114: 9115: * expr.c (convert_move): When widening FROM to multi-word, ensure that 9116: we only reference each piece of TO once so that emit_no_conflict_block 9117: can be safely used. 9118: 9119: * toplev.c (float_signal): Re-enable the signal after we catch it. 9120: 9121: * cse.c (simplify_binary_operation): Add missing fp error handler 9122: setup in DFmode case. 9123: 9124: * combine.c (subst, case XOR): Fix typo in checking for 9125: STORE_FLAG_VALUE equal to just the sign bit. 9126: (simplify_comparison): Fix typo in computing maximum signed number in 9127: a mode; also, use GET_MODE_MASK rather than trying to compute it. 9128: 9129: Thu Oct 10 17:52:44 1991 Richard Stallman ([email protected]) 9130: 9131: * c-decl.c (init_decl_processing): Turn off `alloca' for -ansi. 9132: (c_decode_option): Handle -fbuiltin, -fno-builtin. 9133: 9134: Thu Oct 10 17:42:03 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9135: 9136: * caller-save.c (emit_mult_restore): Initialize MAYBE_TEMPREG. 9137: 9138: * function.c (assign_parms): Set MEM_IN_STRUCT_P when creating a 9139: MEM for a aggregate passed by reference. 9140: * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P 9141: when dereferencing an aggregate. 9142: 9143: * sched.c (sched_note_set): Add missing parens. 9144: 9145: * sparc.md: Delete unnecessary clobbers from all SCC patterns. 9146: 9147: * integrate.c (expand_inline_function): Correct handling of arguments 9148: passed by invisible reference. 9149: 9150: * cse.c (canon_hash): Compute hash code for SUBREG same as we do 9151: for REG. Otherwise, SUBREG hash codes can change when qty_const 9152: changes, which results in duplicate SUBREG entries, which can 9153: cause a crash. 9154: 9155: Wed Oct 9 15:55:42 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9156: 9157: * cccp.c (main): Update MAX_INCLUDE_LEN if GCC_EXEC_PREFIX gets into 9158: the act. 9159: 9160: * xm-a29k.h: Change copyright message back to GPL version 2. 9161: * xm-a29k-ultra.h: Use GPL version 2 copyright. 9162: 9163: * reload1.c (reload): Put array size in cast, to prevent compiler 9164: warning. 9165: 9166: * dwarfout.c (type_attribute): Check for ERROR_MARK nodes. 9167: 9168: Wed Oct 9 13:59:22 1991 Richard Stallman ([email protected]) 9169: 9170: * toplev.c (float_signal): Reenable handler. 9171: 9172: * configure: Comment out various options not yet updated. 9173: 9174: * cp-*.c, cp-*.h: Renamed from cplus-*.[ch]. 9175: * Makefile.in: Renaming here also. 9176: 9177: * x-*: Renamed from make-*. 9178: * Makefile.in (tmake_file, xmake_file): New vars. 9179: (Makefile): Depend on them. 9180: * configure: Replace host_make_var_file with host_xmake_file. 9181: Handle tmake_file also, for target machine. 9182: Form file names from x- and t-. 9183: Rearrange use of temporary files during editing of Makefile. 9184: 9185: * t-mips: Most of x-mips moved here. 9186: * t-decrose: Likewise from x-decrose. 9187: 9188: * xm-a29k-ult.h: Renamed from xm-a29k-ultra.h. 9189: 9190: * Makefile. in (install-common): Don't handle `collect' specially. 9191: It should be in EXTRA_PASSES if it is needed. 9192: 9193: * cse.c (simplify_binary_expression): Use float handler for DF like SF. 9194: Don't warn about traps; leave them for run time. 9195: 9196: * tm-hp9k320.h (SIZE_TYPE): New definition. 9197: Note: this affects tm-3b1.h by inheritance. Not sure that's right. 9198: 9199: Wed Oct 9 12:15:40 1991 Tom Wood (wood at dg-rtp.dg.com) 9200: 9201: * rtl.def (TRAP_IF): Make TRAP into a conditional trap. 9202: * rtl.h (TRAP_CONDITION): Define. 9203: * rtlanal.c (reg_referenced_p may_trap_p): Deal with TRAP_IF properly. 9204: (volatile_refs_p side_effects_p): Not currently true for TRAP_IF. 9205: 9206: Wed Oct 9 03:55:21 1991 Richard Stallman ([email protected]) 9207: 9208: * make-mips (BISONFLAGS): Assignment deleted. 9209: 9210: * real.h (REAL_VALUE_MINUS_ZERO): New macro. 9211: * fold-const.c (target_minus_zero): New function. 9212: * tm-sun2os4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_FLOAT_OPERAND): 9213: (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_DOUBLE_OPERAND): 9214: Use REAL_VALUE_ISINF, REAL_VALUE_MINUS_ZERO. 9215: 9216: Tue Oct 8 17:56:13 1991 Richard Stallman ([email protected]) 9217: 9218: * c-decl.c (duplicate_decls): If redeclaring builtin as static, 9219: replace the old decl. 9220: 9221: * tm-seq386.h (HARD_REGNO_MODE_OK): Copy usual def into override def. 9222: 9223: * tm-news.h (CPP_PREDEFINES): Get rid of invalid conditionals. 9224: * tm-tower.h: Likewise. 9225: 9226: * tm-gmicro.h (MODES_TIEABLE_P): Fix typo. 9227: 9228: * ns32k.md (rotrsi3): Fix typo `NEGATE' for `NEG'. 9229: 9230: * c-typeck.c (mark_addressable): Handle CONSTRUCTOR. 9231: * expr.c (expand_expr): Handle addressable contructors. 9232: 9233: Tue Oct 8 14:42:56 1991 Tom Wood (wood at dg-rtp.dg.com) 9234: 9235: * expmed.c (lshift_value): Ensure the shift amount is in range. 9236: 9237: Mon Oct 7 20:45:35 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9238: 9239: * integrate.c (function_cannot_inline_p, save_for_inline_copying, 9240: save_for_inline_nocopy, expand_inline_function, 9241: output_inline_function): Use GET_RTX_CLASS. 9242: 9243: * listing: Remove RCS Author and Log fields. 9244: 9245: * cse.c (exp_equiv_p): Fix typos in comments/spacing. 9246: * emit-rtl.c: Likewise. 9247: * expmed.c (store_fixed_bit_field): Likewise. 9248: * integrate.c (subst_constants): Likewise. 9249: 9250: * longlong.h: Again fix same typo previously fixed Sept 5. 9251: 9252: Mon Oct 7 17:28:23 1991 Michael Meissner (meissner at osf.org) 9253: 9254: * xm-mips.h (MIPS): Define MIPS to 1 instead of nothing, so 9255: mips-tfile will compile once again. 9256: 9257: Mon Oct 7 17:10:32 1991 Richard Stallman ([email protected]) 9258: 9259: * cccp.c (main): Pedantically warn if no newline at end of file. 9260: (finclude): Likewise. 9261: 9262: * c-decl.c (grokdeclarator): funcdef_flag overrides parm level. 9263: 9264: Sun Oct 6 16:37:31 1991 Richard Stallman ([email protected]) 9265: 9266: * sparc.md (peephole for lo-sum and load df): Use output_move_double. 9267: 9268: * tree.h (DECL_BUILT_IN_NONANSI): New flag. 9269: * c-decl.c (init_decl_processing): Set flag for `alloca'. 9270: 9271: * c-decl.c (duplicate_decls): Rearranged to reduce conditionals. 9272: Allow redefining built-in functions as static even if new decl 9273: is not a function. Also allow if built-in is not ANSI. 9274: 9275: * out-sparc.c (output_move_double): Fix typo in test for using ldd. 9276: 9277: Sun Oct 6 12:56:19 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9278: 9279: * expr.c (expand_expr, case COND_EXPR): Rename var added in last 9280: change; some C compilers don't like "optab optab;". 9281: 9282: Sun Oct 6 09:26:55 1991 Michael Tiemann (tiemann at cygnus.com) 9283: 9284: * cplus-method.c (build_overload_name): When walking up contexts, if 9285: CONTEXT becomes a _TYPE node, point it at the _DECL node for the 9286: type. 9287: 9288: * cplus-decl2.c (grokclassfn): Paremeter COMPLAIN deleted. No 9289: longer performs sanity check by itself. 9290: (check_classfn): New function. Performs sanity check that 9291: `grokclassfn' used to do. All callers changed. 9292: 9293: * tree.h (struct tree_decl): Add new ignored_flag; delete 9294: lang_flag_8 to make room. 9295: (DECL_IGNORED_P): New macro. 9296: (DECL_LANG_FLAG_8): Deleted. 9297: * cplus-dbxout.c (dbxout_type): Use this macro instead of 9298: ANON_AGGRNAME_P. 9299: * cplus-decl.c (pushtag): Set DECL_IGNORED_P when appropriate. 9300: * cplus-decl.c (duplicate_decls): Ensure DECL_IGNORED_P remains 9301: consistent. 9302: 9303: * cplus-decl.c (grokfndecl): If we have an overloaded operator, set 9304: the DECL_NAME to something that dbxout.c can handle. 9305: * cplus-method.c (hack_operator): Change this function to handle 9306: this new behavior. 9307: * cplus-init.c (do_friend): Ditto. 9308: 9309: Sat Oct 5 14:32:01 1991 Richard Stallman ([email protected]) 9310: 9311: * expmed.c (expand_mult): Avoid fetching memory more than once. 9312: 9313: * tm-ultrix.h (DOLLARS_IN_IDENTIFIERS): Define as 1. 9314: 9315: * expr.c (expand_builtin): Clarify error message for BUILT_IN_NEXT_ARG. 9316: 9317: Sat Oct 5 08:42:02 1991 Michael Tiemann (tiemann at cygnus.com) 9318: 9319: * cplus-decl.c (clear_anon_tags): New function. 9320: (make_anon_name): Moved here from cplus-method.c. 9321: * cplus-lex.c (check_for_missing_semicolon, note_list_got_semicolon): 9322: call `clear_anon_tags' when done. 9323: * cplus-dbxout.c (dbxout_type): No longer test ANON_AGGRNAME_P for 9324: TYPE_NAMEs that are IDENTIFIER_NODES. They no longer appear in GNU 9325: C++. Also, we can rely on the fact that there are no anon aggrnames 9326: in tag lists. 9327: 9328: * cplus-decl.c (xref_tag): Set TREE_VEC_LENGTH (BINFOS) to the 9329: number of basetypes that were actually accepted. 9330: 9331: * cplus-parse.y (datadef, fndef): Accept `extern "C"' as a storage 9332: class specifier. 9333: 9334: * cplus-init.c (build_new): Handle allocating types whose TRUE_TYPEs 9335: start off as ARRAY_TYPEs. 9336: 9337: * cplus-typeck.c (build_unary_op): We don't need to wrap 9338: CURRENT_CLASS_DECL in a NON_LVALUE_EXPR when taking the address of 9339: C_C_D. 9340: 9341: * cplus-init.c (resolve_offset_ref): Fix error message for 9342: non-static member references. Also, don't crash if EXP is not a 9343: TREE_LIST or an OFFSET_REF. 9344: 9345: * cplus-expr.c (cplus_expand_expr): Handle OFFSET_REFs. 9346: 9347: * cplus-typeck.c (build_binary_op_nodefault): If PEDANTIC, don't 9348: permit comparisons between pointers and integers. 9349: 9350: * cplus-decl2.c (explicit_warn_return_type): New variable. 9351: * cplus-decl.c (grokdeclarator): Test `explicit_warn_return_type' 9352: instead of `warn_return_type'. 9353: 9354: * cplus-decl.c (grokdeclarator): Fix criterium for deciding whether 9355: to turn a FUNCTION_TYPE declaration into a METHOD_TYPE declaration 9356: based on FRIENDP and STATICP. 9357: (implicitly_declare): If PEDANTIC, treat this as an error. 9358: 9359: * cplus-cvt.c (convert_to_integer): Make anachronisms errors if 9360: PEDANTIC is nonzero. 9361: 9362: * cplus-typeck.c (convert_for_assignment): If PEDANTIC, don't let 9363: void * convert to non-void* types. Similarly, don't let const* 9364: pointers be assigned to non-const* pointers. Similarly for signed 9365: vs. unsigned pointers. 9366: (warn_for_assignment): Add new parameter SEVERE. 9367: 9368: * cplus-decl.c (push_overloaded_decl): If PEDANTIC, give error when 9369: functions overload variables. 9370: 9371: * cplus-decl2.c (grokfield): If PEDANTIC, don't let fields have 9372: initializers (conditionalized on PEDANTIC). 9373: * cplus-class.c (finish_struct): Set TYPE_GETS_{ASSIGNMENT,INIT_REF} 9374: for UNION_TYPE. 9375: 9376: Sat Oct 5 06:52:29 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9377: 9378: * expr.c (expand_expr, case COND_EXPR): Case for X ? A + 1 : A can 9379: also handle MINUS_EXPR and BIT_*_EXPR. 9380: 9381: * rtl.h (copy_rtx_if_shared): Declare here. 9382: * emit-rtl.c (unshare_copies): Delete unused variable. 9383: (copy_rtx_if_shared): No longer static. 9384: (reset_used_flags): New function. 9385: * combine.c (copy_substitutions): Deleted. 9386: (try_combine): When making new insns, ensure that we do not have any 9387: improper sharing by using copy_rtx_if_shared; no longer call 9388: copy_substitutions. 9389: 9390: * combine.c (try_combine): If an insn that is a PARALLEL of two sets 9391: isn't recognized and the result of the second SET is unused, ignore it. 9392: 9393: Fri Oct 4 15:25:33 1991 Michael Tiemann (tiemann at cygnus.com) 9394: 9395: * cplus-decl.c (set_identifier_type_value): New function. Change 9396: all callers of macro SET_IDENTIFIER_TYPE_VALUE to call this function 9397: instead. 9398: 9399: * cplus-decl.c (pushdecl): Back out Sep 26 change. ??? This problem 9400: really has to be solved in a more global fashion. 9401: (struct binding_level): New field `type_shadowed' for typenames that 9402: get shadowed. All pop* routines that restore from shadowed lists 9403: now restore IDENTIFIER_TYPE_VALUE from the `type_shadowed' field. 9404: 9405: Fri Oct 4 14:47:52 1991 Michael Meissner (meissner at osf.org) 9406: 9407: * sdbout.c (include of syms.h): Don't include <syms.h> on MIPS 9408: systems, since the system does not provide the file, rather use 9409: "gsyms.h". This is a problem for Silicon Graphics, and the System V 9410: varient on RISC-OS, both of which define the USG macro. Patch from 9411: [email protected]. 9412: 9413: Fri Oct 4 13:37:11 1991 Tom Wood (wood at dg-rtp.dg.com) 9414: 9415: * stor-layout.c (get_best_mode): Add a volatilep parameter 9416: indicating that the smallest mode is desired. 9417: * expmed.c, fold-const.c: All callers changed. 9418: (optimize_bit_field_compare): Initialize {l,r}volatilep now that 9419: they are used. 9420: 9421: Thu Oct 3 22:08:45 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9422: 9423: * objc-actions.h (CLASS_SUPER_NAME): Change type.basetypes to 9424: type.binfo so that it will compile. 9425: 9426: Thu Oct 3 06:46:38 1991 Niklas Hallqvist (niklas at appli.se) 9427: 9428: * cplus-tree.h (PARANOID): Don't define if already defined. 9429: ({SET,CLEAR}_CLASSTYPE_MARKED*): New macros needed to get through 9430: C compilers who don't allow comma expressions as lvalues. 9431: ({SET,CLEAR}_BINFO_*): Ditto. 9432: 9433: * cplus-init.c: Use new SET/CLEAR macros. 9434: 9435: * cplus-search.c: Ditto. 9436: 9437: * cplus-decl.c: Ditto. 9438: (lookup_tag): Accept *_DECLs as nodes in the context chain. 9439: (lookup_nested_type): Accept FUNCTION_DECLs not only as head of 9440: the context chain, but at any place in it. 9441: 9442: Thu Oct 3 06:42:08 1991 Michael Meissner (meissner at osf.org) 9443: 9444: * c-decl.c (c_decode_option): Add new switch -Wparentheses and 9445: -Wnoparentheses to control whether GCC warns about adding extra ()'s 9446: around a subexpression. Make -Wparentheses default behavior. 9447: (warn_parentheses): New global variable. 9448: 9449: * c-tree.h (warn_parentheses): New variable. 9450: 9451: * c-typeck.c (parser_build_binary_op): Check for warn_parentheses 9452: before emitting warnings about adding (). 9453: 9454: Wed Oct 2 20:51:04 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9455: 9456: * gcc.texinfo: Correct documentation for CONSTANT_ADDRESS_P, 9457: CONSTANT_P, and HIGH. 9458: 9459: Wed Oct 2 15:08:32 1991 Michael Tiemann (tiemann at cygnus.com) 9460: 9461: * cplus-class.c (modify_vtable_entries): Fix error in computing 9462: offsets to use for virtual functions from virtual baseclasses. 9463: * cplus-except.c (lookup_exception_type): Change local variable name 9464: `binfo' to `link'. 9465: * cplus-lex.c (yylex): Cast shorts to (long) when building longlong. 9466: 9467: Wed Oct 2 11:32:35 1991 Michael Meissner (meissner at osf.org) 9468: 9469: * tm-encrose.h (new file): New configuration file for Encore 9470: Multimax running OSF/1, and using the OSF/rose object formats. 9471: 9472: Wed Oct 2 08:33:08 1991 Tom Wood (wood at dg-rtp.dg.com) 9473: 9474: * tree.h (TYPE_UID): Add this field to TYPE nodes. 9475: * tree.c (make_node): Initialize it. 9476: * dwarfout.c (TYPE_NAME_FMT): Use TYPE_UID rather than TREE_UID. 9477: (equate_type_number_to_die_number): Discard type qualifiers. 9478: (output_typedef_die): Don't use equate_type_number_to_die_number. 9479: 9480: Wed Oct 2 08:04:57 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9481: 9482: * cse.c (cse_process_notes): Fix typo; missing arg in return. 9483: 9484: Wed Oct 2 06:56:13 1991 Ron Guilmette (rfg at ncd.com) 9485: 9486: * Makefile.in (ENQUIRE_CFLAGS): Remove duplicate use of GCC_CFLAGS. 9487: 9488: * Makefile.in (cplus-tab.c): Adjust number of expected conflicts. 9489: 9490: * Makefile.in (mostlyclean): Remove collect and collect2. 9491: 9492: * tm-svr4.h: Add new file; prototype for System V, Release 4. 9493: 9494: Tue Oct 1 23:00:13 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9495: 9496: * reload.c (find_reloads_address): Fix error in previous change; 9497: clean up REG case so it is easier to read. 9498: 9499: Tue Oct 1 14:05:46 1991 Michael Tiemann (tiemann at cygnus.com) 9500: 9501: * cplus-decl.c (finish_{decl,function}): Use new function 9502: `note_debug_info_needed' instead of setting CLASSTYPE_ASM_WRITTEN. 9503: * cplus-search.c (note_debug_info_needed): New function. 9504: Recursively set CLASSTYPE_ASM_WRITTEN in a hierarchy when called. 9505: 9506: * cplus-class.c (finish_struct): If DECL_NAME of the BASE_FNDECL is 9507: NULL_TREE, we know we're looking at a virtual destructor. 9508: 9509: Tue Oct 1 09:47:25 1991 Michael Meissner (meissner at osf.org) 9510: 9511: * tm-mips.h (OPTIMIZATION_OPTIONS): Enable scheduling insns now for 9512: -O2 optimization. 9513: 9514: * Makefile.in (STAGESTUFF): Add $(EXTRA_PASSES), to allow moving any 9515: extra passes into the stage[1234] directories, and to remove the 9516: extra stuff when doing make clean. 9517: 9518: Tue Oct 1 08:35:11 1991 Tom Wood (wood at dg-rtp.dg.com) 9519: 9520: * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): Undo this change. 9521: 9522: * c-decl.c (grokdeclarator): When making an unsigned bitfield 9523: type from a typedef, preserve the size. A typedef of an 9524: explicitly signed typedef is explicitly signed. 9525: 9526: Mon Sep 30 22:51:07 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9527: 9528: * out-sparc.c: Fix misc typos and indentation problems. 9529: Delete all unnecessary extern declarations. 9530: Include "recog.h". 9531: Consistently use Pmode instead of SImode for addresses. 9532: Use macros defined in tm-sparc.h instead of magic numbers. 9533: (reg_or_0_operand): Accept CONST_DOUBLE zero. 9534: (symbolic_operand): Accept CONST_DOUBLE. 9535: (move_operand): Accept arith_double_operand ('H'), SMALL_INT 9536: ('I'), and sethi operands ('K'). 9537: (move_pic_label): Renamed from move_reg_or_immed_operand. If 9538: flag_pic is true, accept a LABEL_REF, otherwise fail. 9539: (arith_double_operand): Accept SMALL_INT ('I') CONST_INTs. Correct 9540: computation of when a CONST_DOUBLE is a SMALL_INT ('H'). 9541: (eligible_for_epilogue_delay): Accept arith_double_operands. 9542: (emit_move_sequence): Handle arith_double_operands. Handle 9543: loading of labels for pic, need to add a clobber of %o7 (reg 15). 9544: (find_addr_reg): Don't return FRAME_POINTER_REGNUM. It is not 9545: safe to play around with the frame pointer. 9546: (hard_regno_mode_ok): Change from short to int array. 9547: (output_pic_sequence, output_pic_sequence_2, fp_zero_hook): Delete 9548: long obsolete routines. 9549: (print_operand): Delete support for obsolete 'S' and 'H' cases. 9550: (output_double_int): New function. Outputs assembler code for 64 9551: bit (DImode) values. 9552: 9553: * sparc.md: Fix misc typos and indentation problems. 9554: Delete unnecessary (set_attr "type" "binary") lines. 9555: Consistently use %a1 in sethi and ori output templates. 9556: Consistently use Pmode not SImode for addresses. 9557: Consistently use the same predicate for both operand 1 and 9558: operand 2 in commutative patterns. Don't use same predicate in 9559: non-commutative patterns. 9560: Consistently use \; to separate multiple instuctions. 9561: Change "r%" to "%r". 9562: (define_attr length): Handle arith_double_operand predicate. 9563: (movsi): Combine two movsi patterns into one, except for loading 9564: of pic labels. New pattern to load pic labels, which clobbers %o7. 9565: (movhi): Combine two movhi patterns into one. 9566: (movqi): Combine two movqi patterns into one. 9567: (movdi): Discourage the Q/f constraint option so that DImode 9568: variables won't end up in floating pointer registers. 9569: (floatsisf2, floatsidf2): Delete patterns accepting a const_int 9570: operand. These should never be matched. In remaining patterns, 9571: accept nonimmediate_operand instead of general_operand. 9572: (adddi3, subdi3, anddi3, iordi3, xordi3, xnordi3, one_cmpldi2): 9573: Accept arith_double_operand predicates and "HI" constraints. 9574: (last peephole): Reg 0 should be CCmode not SImode. 9575: 9576: * tm-sparc.h: Fix misc typos. 9577: (WORDS_BIG_ENDIAN): Indicate why it must be true. 9578: (hard_regno_mode_ok): Change from short to int array. 9579: (CONST_DOUBLE_OK_FOR_LETTER_P): Add new 'H' constraint, for DImode 9580: constants that can fit in an immediate field. 9581: (CONSTANT_ADDRESS_P): Accept any CONSTANT_P, including 9582: CONST_DOUBLEs. 9583: (LEGITIMATE_CONSTANT_P): Accept CONST_DOUBLEs if match 'H' 9584: constaint. 9585: (RTX_COSTS): Define cost for FLOAT to be more expensive than 9586: CONST_DOUBLEs, so that cse will prefer the latter. 9587: (ASM_OUTPUT_DOUBLE_INT): New macro to output DImode constants. 9588: 9589: * sched.c (schedule_block): When calculating register lifetime 9590: info, handle CLOBBERs and USEs. The code that adds REG_DEAD notes 9591: already handles them. 9592: (update_n_sets): New function, subroutine of update_links. 9593: Given a SET or CLOBBER, updates reg_n_sets as appropriate, 9594: depending on whether this is in a deleted or a new insn. 9595: (update_links): Call update_n_sets to subtract info for split 9596: insn, and add info for insns resulting from the split. 9597: 9598: Mon Sep 30 19:06:50 1991 Michael Meissner (meissner at osf.org) 9599: 9600: * ecoff-cmp (TMP): Fix typo, from [email protected]. 9601: 9602: * mips-tfile.c (toplevel): Don't declare _flsbuf under Silicon 9603: Graphics, from [email protected]. 9604: 9605: Mon Sep 30 15:54:02 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9606: 9607: * cse.c (cse_process_notes): New function. 9608: (cse_basic_block): Call it for each insn. 9609: (count_reg_usage): Count usage in a REG_EQUAL note. 9610: (delete_dead_from_cse): Call count_reg_usage with insn, not pattern. 9611: * loop.c (scan_loop): Replace a register used in a REG_EQUAL note. 9612: (find_single_use_in_loop): Two uses in single insn doesn't disqualify. 9613: Allow argument to be REG_NOTES. 9614: (count_loop_regs_set): Call find_single_us_in_loop on REG_NOTES. 9615: 9616: Mon Sep 30 15:47:03 1991 Michael Tiemann (tiemann at cygnus.com) 9617: 9618: * cplus-call.c (ideal_candidate): Return 0 if the top two candidates 9619: have identical rankings but incompatible types. 9620: 9621: * cplus-lex.c (cons_up_default_function): Set DECL_NAME (FN) to 9622: NULL_TREE in order to mark the function as being generated by the 9623: compiler. 9624: * cplus-init.c (emit_base_init): Change to use this interface. 9625: * cplus-decl.c (duplicate_decls, redeclaration_error_message): Ditto. 9626: (store_parm_decls): Ditto. 9627: * cplus-decl2.c (grokclassfn): Ditto. 9628: * cplus-dbxout.c (dbxout_type_methods): Ditto. 9629: * cplus-class.c (finish_struct_methods): Ditto. 9630: * cplus-method.c (fndecl_as_string): Ditto. 9631: * cplus-search.c (lookup_fnfields_1): Ditto. 9632: (compute_visibility): Ditto. 9633: * cplus-typekc.c (build_function_call): Ditto. 9634: * cplus-tree.c (lang_printable_name): Ditto. Also use 9635: DECL_ASSEMBLER_NAME instead of DECL_NAME in DESTRUCTOR_NAME_P test. 9636: * calls.c (expand_call): Change also needed here. 9637: 9638: Mon Sep 30 15:31:53 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 9639: 9640: * dbxout.c: Include <param.h> before config.h, because it may define 9641: MIN and MAX. 9642: 9643: * fold-const.c (const_binop): Delete incorrect short cut for 9644: (0 - const). 9645: 9646: * expr.c (do_tablejump): Pass GET_MODE (index) instead of Pmode to 9647: emit_cmp_insn, because the latter fails when integers and pointers 9648: are different sizes. 9649: 9650: * combine.c (subst): When checking to see if associating helps 9651: simplify rtl, make sure we pass the constant operand if any as the 9652: second one if this is a commutative operation. 9653: 9654: * cccp.c (rescan): Save obufp_before_macroname as an offset from 9655: the start of op->buf instead of as a pointer into the middle, in 9656: case op->buf gets realloced. 9657: 9658: Mon Sep 30 14:07:20 1991 Tom Wood (wood at dg-rtp.dg.com) 9659: 9660: * dwarfout.c (FUNC_END_LABEL_FMT, TYPE_NAME_FMT): TREE_UID is 9661: unique only if the node is TREE_PERMANENT. Augment the spelling 9662: of labels using TREE_UID with the TREE_UID of the current function. 9663: 9664: Changes from Ron Guilmette: 9665: * dwarfout.c (output_symbol): Deal with formal parameters with an 9666: incomplete tagged type. 9667: (output_bound_representation): Fix for arrays with dynamic bounds. 9668: 9669: Changes from Jim Wilson: 9670: * dwarfout.c: Define strrchr to rindex for non USG systems. 9671: Use DECL_BIT_FIELD_TYPE not DECL_BIT_FIELD to test for bitfields. 9672: 9673: Sun Sep 29 16:29:08 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9674: 9675: * reload.h (indirect_symref_ok): New variable. 9676: * reload.c (find_reloads_address): Remove shadowing decls of `tem'. 9677: Only allow certain forms addresses as indirect; check 9678: indirect_symref_ok to see if (mem (symbol_ref ...)) is a valid 9679: address; if not that form or simple, not valid indirect address. 9680: * reload1.c (indirect_symref_ok): Define here. 9681: (init_reload): Initialize vars used to determine which addrs are valid. 9682: (reload): Don't do it here. 9683: Update comment to relect what `alter_regs' currently does. 9684: 9685: * tree.h (struct tree_decl): Add new from_inline_flag; delete 9686: lang_flag_9 to make room. 9687: (DECL_FROM_INLINE): New macro. 9688: (DECL_LANG_FLAG_9): Deleted. 9689: * c-decl.c, cplus-decl.c (pushdecl): Use DECL_FROM_INLINE instead of 9690: TREE_INLINE where appropriate. 9691: * cplus-decl.c (finish_decl): Likewise. 9692: * integrate.c (integrate_parm_decls, integrate_decl_tree): Set 9693: DECL_FROM_INLINE instead of TREE_INLINE. 9694: * print-tree (print_node): Print DECL_FROM_INLINE. 9695: Delete reference to DECL_LANG_FLAG_9. 9696: 9697: Sun Sep 29 12:49:47 1991 Michael Tiemann (tiemann at cygnus.com) 9698: 9699: * c-decl.c, c-typeck.c, cplus-decl.c, toplev.c: 9700: Set/test TREE_ADDRESSABLE of DECL_ASSEMBLER_NAME, not DECL_NAME for 9701: function decls. 9702: 9703: * cplus-class.c: Export `current_lang_stack' and 9704: `current_lang_base'. 9705: cplus-decl.c (push_overloaded_decl): Allow redeclaration of a 9706: function that was previously given a linkage specification at 9707: top-level (i.e., not in an explicit linkage arena). 9708: 9709: * cplus-typeck.c (convert_arguments): Strip the `&' from an 9710: overloaded function passed as an argument into an ellipses. 9711: 9712: Sat Sep 28 15:37:26 1991 Michael Tiemann (tiemann at cygnus.com) 9713: 9714: * cplus-typeck.c (build_x_binary_op): We have to special-case the 9715: failure of MEMBER_REF to be overloaded as an operator. 9716: 9717: Sat Sep 28 10:44:36 1991 Richard Kenner ([email protected]) 9718: 9719: * reload1.c (reload): If we find at some point that we need 9720: caller-saves, disable elimination of the frame pointer. 9721: 9722: * reload.c (subst_reloads): Re-enable code to prevent making 9723: a SUBREG inside a SUBREG. 9724: 9725: Sat Sep 28 00:40:51 1991 Ken Raeburn ([email protected]) 9726: 9727: * cplus-pt.c (do_pending_expansions): Adjust "DECIDE" macro to avoid 9728: compiler warning from Sun cc. 9729: 9730: Fri Sep 27 17:30:39 1991 Per Bothner (bothner at cygnus.com) 9731: 9732: * configure[.in]: Move most of the target_vendor switch 9733: entries (e.g. next, sun, sony) from the m88k architecture to m68k, 9734: where they belong. 9735: 9736: Fri Sep 27 16:21:04 1991 Michael Tiemann (tiemann at cygnus.com) 9737: 9738: * cplus-search.c (recursive_bounded_basetype_p): Add new parameter 9739: UPDATE_CHAIN so that function now behaves as comment prescribes. 9740: * cplus-search.c (compute_visibility): Fix error in conversion of 9741: data structures from list-based to binfo-based nodes. 9742: 9743: Fri Sep 27 07:05:57 1991 Richard Kenner ([email protected]) 9744: 9745: * c-decl.c (pushdecl): Fix typo: TREE_EXTERNAL misspelled. 9746: 9747: Thu Sep 26 17:36:14 1991 Michael Meissner (meissner at osf.org) 9748: 9749: * tm-mips.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c. 9750: 9751: * tm-decrose.h (ASM_FINAL_SPEC): Handle gcc -c -o foo bar.c. 9752: 9753: * make-decrose (cplus-lex rule): Remove hacks in compiling 9754: cplus-lex, since bug in 1.39 inlining was fixed to allow us to 9755: compile the module normally. 9756: 9757: Thu Sep 26 11:53:49 1991 Ken Raeburn ([email protected]) 9758: 9759: * cplus-tree.h (TEMPLATE_TYPE_*): Use slower versions that uses tree 9760: structures more properly, so accessor macros don't lose. 9761: 9762: * cplus-pt.c (end_template_parm_list): For type parameters, make the 9763: new decl be the name of the "type". 9764: 9765: * Makefile.in (cplus-tab.{c,h}): There are now 30 s/r conflicts. 9766: 9767: * cplus-class.c (resolves_to_fixed_type_p, case CALL_EXPR): Deleted 9768: duplicate code. 9769: 9770: * cplus-decl.c (poplevel): Deleted duplicate code saving info on 9771: accesses to external via non-global decls. 9772: (pushdecl): For typedef of unnamed type, don't store new name for 9773: type if not at global binding scope. Also, don't need to test for 9774: TYPE_DECL when previous conditional guarantees it. 9775: (start_decl): Clear TREE_PUBLIC flag of templates. 9776: (finish_decl): For variables in static storage with constructors, 9777: force it into data section (out of common storage) only if the name 9778: is externally visible. 9779: 9780: * cplus-gc.c (type_needs_gc_entry): If the type has no base types, 9781: don't check to see whether they need gc entries. 9782: 9783: * cplus-parse.y (yyprint): Handle SCSPEC and AGGR. 9784: 9785: * cplus-pt.c (end_template_decl): Clear IDENTIFIER_TYPE_VALUE slots 9786: for type parameters, then call adjust_type_value. 9787: (instantiate_class_template): Do nothing if classname is 9788: error_mark_node. 9789: (mangle_class_name_for_template): Make buf a static array, since 9790: its address gets returned. 9791: 9792: * reload1.c (reload): Provide array size in cast, to avoid compiler 9793: warnings. 9794: 9795: From Niklas Hallqvist: 9796: * cplus-tree.h (struct template_info): Added new field "aggr", which 9797: will be class_type_node or struct_type_node for class or struct 9798: templates. 9799: * cplus-parse.y (template_def): Pass current_aggr to 9800: end_template_decl. 9801: (template_instantiation): Use aggr field. 9802: * cplus-pt.c (end_template_decl): Argument IS_CLASS is now a tree, 9803: used to set the aggr field. 9804: (overload_template_name): Use aggr field. 9805: 9806: Suggested by John Carr: 9807: * cplus-dbxout.c (dbxout_tags): Don't omit argument to 9808: dbxout_finish_symbol. 9809: (dbxout_continue): Omit declaration and definition if 9810: DBX_CONTIN_LENGTH is not greater than zero, like its calls. 9811: (print_int_cst_octal): Ditto, based on defined(WINNING_GDB). 9812: * cplus-decl.c (GNU_end_scope): Never used; deleted. 9813: (pushdecl): Vars nglobals, len are used only in code under "#if 0"; 9814: comment out decls as well. 9815: * cplus-gc.c (expand_gc_prologue_and_epilogue): Variable "head" was 9816: unused; deleted. 9817: * cplus-init.c (expand_aggr_vbase_init_1): All args are type tree. 9818: (expand_vec_init): Don't return without a value when "initializer 9819: ends prematurely". 9820: * cplus-method.c (build_overload_nested_name): Pass all necessary 9821: arguments in recursive call. 9822: * cplus-search.c (pop_type_level): Cast argument to pop_stack_level 9823: to proper type. 9824: (push_memoized_context): Ditto for push_type_level. 9825: (my_copy_node): Unused; deleted. 9826: (lookup_fnfields): Add missing arg to get_binfo. 9827: (lookup_field): Ditto. 9828: 9829: From Niklas Hallqvist: 9830: * cplus-decl.c (push_to_top_level): Handle case of function with 9831: unnamed parms. 9832: (pop_from_top_level): Ditto. 9833: 9834: Thu Sep 26 07:46:08 1991 Richard Kenner ([email protected]) 9835: 9836: * loop.c (scan_loop): Don't eliminate register that is set by 9837: consecutive insns. 9838: 9839: Wed Sep 25 18:53:52 1991 Richard Stallman ([email protected]) 9840: 9841: * c-decl.c (pushdecl): Suppress warnings about mismatch of 9842: extern decl when it comes from inlining a function. 9843: 9844: * emit-rtl.c (set_new_first_and_last_label_number): New function. 9845: (max_label_num): Use last_label_num if valid. 9846: * integrate.c (output_inline_function): Call set_new_... 9847: 9848: Wed Sep 25 18:37:36 1991 Richard Kenner ([email protected]) 9849: 9850: * flow.c (find_auto_inc): Set BLOCK_NUM of new insns emitted while 9851: making an auto-inc. 9852: 9853: * Makefile.in (getopt*.o): Each file depends on its .c file and on 9854: the compiler executable files. 9855: 9856: Wed Sep 25 18:18:46 1991 Richard Stallman ([email protected]) 9857: 9858: * toplev.c (debug_info_level): New variable. 9859: * flags.h (debug_info_level, enum debug_info_level): New declarations. 9860: * toplev.c (main): Rewrite handling of -g* and -G* options. 9861: Now -G indicates use of GDB extensions. -g0 removed. 9862: 9863: Tue Sep 24 03:20:07 1991 Richard Stallman ([email protected]) 9864: 9865: * alloca.c: Test __STDC__, not X3J11. 9866: Do nothing if alloca is defined as a macro. 9867: 9868: Tue Sep 24 09:15:17 1991 Richard Kenner ([email protected]) 9869: 9870: * global-alloc.c (eliminable_regset): New variable. 9871: (global_alloc): Compute it and use to turn off conflicts. 9872: Refine computation of no_global_alloc_regs when ELIMINABLE_REGS is 9873: defined. 9874: (mark_elimination): Don't do anything with allocnos and don't do 9875: any allocation. 9876: 9877: * reload1.c (eliminate_regs_in_insn): Try to re-recognize insn if 9878: we replaced a (set X (plus Y Z)). 9879: 9880: Tue Sep 24 06:34:04 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) 9881: 9882: * cplus-tree.c (virtual_member): Change TREE_VALUE accessor macro to 9883: BINFO_TYPE. 9884: * tree.h (BINFO_TYPE): New name for BINFO_VALUE. 9885: * All cplus-* files: Changed to reflect new name. 9886: 9887: Mon Sep 23 12:56:11 1991 Michael Meissner (meissner at osf.org) 9888: 9889: * tm-mips.h (ASM_SPEC): Fix typo, and close {}'s properly. 9890: 9891: Mon Sep 23 10:30:51 1991 Michael Tiemann (tiemann at cygnus.com) 9892: 9893: * cplus-tree.c (propagate_assoc_offsets): Keep relative offsets of 9894: child_child correct when copying children. 9895: 9896: * cplus-class.c Use `BINFO_VALUE' instead of `TREE_VALUE' when 9897: accessing the type value of a binfo node. 9898: * cplus-decl.c (finish_function): Ditto. 9899: * cplus-init.c (build_vbase_delete): Ditto. 9900: 9901: Mon Sep 23 06:11:56 1991 Richard Kenner ([email protected]) 9902: 9903: * flow.c (reg_n_refs): Use int, not short. Short can overflow 9904: if we have very deep loop nesting. 9905: (allocate_for_life_analysis): Allocate reg_n_refs as int. 9906: * regs.h (reg_n_refs): Now int. 9907: * sched.c: Delete duplicate definitions of objects defined in regs.h. 9908: 9909: * combine.c (try_combine): Correctly check for independent insns 9910: in a PARALLEL. 9911: 9912: * combine.c (distribute_note, case REG_DEAD): If we discover a register 9913: is never used, see if we can delete the insn that set it. 9914: 9915: Sun Sep 22 19:24:52 1991 Michael Tiemann (tiemann at cygnus.com) 9916: 9917: * cplus-type2.c (build_functional_cast): Don't forget a valid 9918: function call if we found one (and nothing more). 9919: 9920: Sun Sep 22 07:48:18 1991 Richard Kenner ([email protected]) 9921: 9922: * rtlanal.c (rtx_varies_p, case REG): Correct typo; sense of comparison 9923: was backwards. 9924: 9925: * global-alloc.c (mark_elimination): Don't use HARD_REG_SET macros 9926: to access basic_block_live_at_start. 9927: 9928: * reload1.c (set_label_offsets): New function. 9929: (offsets_known_at, offsets_at): New variables. 9930: (reload): Allocate and initialize them. 9931: Set each label in FORCED_LABELS to be at initial offsets. 9932: Call set_label_offset on all insns that might involve labels. 9933: Use GET_RTX_CLASS when appropriate. 9934: (eliminate_regs, mark_not_eliminable): Ignore sets of FP when looking 9935: for sets of a "to" register. 9936: (eliminate_regs_in_insn): No longer suppress elimination for any 9937: pair not at its initial offet at a jump. 9938: 9939: * combine.c (distribute_links): Correctly find the place to put a 9940: link. Handle the case when we eliminate all uses of something that 9941: we used to use; in that case, we must seach forward. 9942: No longer need I3, I2, or ALL_ADJACENT arguments. 9943: (try_combine): Change calls to distribute_links. 9944: 9945: * reload.c (find_equiv_reg): Use GET_RTX_CLASS when appropriate. 9946: If GOAL is a MEM whose address varies, check whether registers 9947: that are SET appear in the address rather than assuming they do. 9948: Ensure REG_INC note is a REG; ignore it if not. 9949: 9950: * rtlanal.c (rtx_varies_p): Rework to use switch statement. 9951: Check for {frame,arg}_pointer_rtx, not just register number. 9952: (rtx_addr_can_trap_p): New function. 9953: (may_trap_p): Use rtx_addr_can_trap_p instead of rtx_varies_p. 9954: * genattrtab.c: Define {frame,arg,stack}_pointer_rtx for rtlanal.c. 9955: 9956: * combine.c (make_extraction): Make a ZERO_EXTRACT for something with 9957: pos == 0 if it will be placed in a SET_DEST. 9958: 9959: * expmed.c (expand_shift): Rotate case was missing return statement. 9960: extzv case had wrong arg to delete_insns_since. 9961: Remove unneeded calls to delete_insns_since. 9962: Allow BITS_BIG_ENDIAN to vary at run-time. 9963: Use variable TEMP in a consistent manner. 9964: Other miscellaneous changes and cleanups were made. 9965: 9966: * flow.c (max_uid_for_flow): New variable. 9967: (flow_analysis): Compute maximum uid into max_uid_for_flow; if 9968: we might have auto-inc, leave some space. 9969: (find_auto_inc): Verify that the uid's of the insns we make are 9970: within the allocated space of our per-insn tables. 9971: Use get_insns instead of gen_sequence. 9972: 9973: * global-alloc.c (retry_global_alloc): When we allocate a register, 9974: update regno_reg_rtx and mark the allocated register live. 9975: (mark_elimination): New function. 9976: * reload1.c (reload): Call mark_elimination for every elimination 9977: we have been able to do. 9978: (spill_hard_reg): No longer need to call mark_home_live. 9979: 9980: Sun Sep 22 02:07:55 1991 Richard Stallman ([email protected]) 9981: 9982: * fixincludes: Redirect cmp output to /dev/null; don't close it. 9983: 9984: * varasm.c (assemble_function): Handle ASM_OUTPUT_FUNCTION_PREFIX. 9985: 9986: * final.c (final_scan_insn): No need to goto text section 9987: for label on jump table. We're normally in the text section. 9988: 9989: Sat Sep 21 14:59:32 1991 (Eric Youngdale at [email protected]) 9990: 9991: * make-cc1.com: Fix typo in code that decides if bison needs to be 9992: run. Also, display a message when building the compiler that informs 9993: the user about the need to update the assembler. 9994: 9995: Sat Sep 21 17:23:07 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 9996: 9997: * loop.c (struct movable): Add field DEPENDENCIES. 9998: (scan_loop): Remove mechanism based on REG_TO_FORCE and 9999: MOVABLE_TO_FORCE. Replace with use of new field. 10000: Optionally allocate and initialize reg_single_usage and pass it to 10001: count_loop_regs_set. 10002: If an invariant register is used exactly once and this is a loop 10003: that has a CALL_INSN, try to substitute the definition of the register 10004: into its use. 10005: (record_excess_regs): Fix typo in sense of checking in NOT_IN_THIS; 10006: only check pseudo-regs. 10007: (libcall_other_reg): Always return the list of registers used, 10008: no matter how many there are. 10009: (combine_movable): Only combine two movables if they have the same 10010: dependencies. 10011: (move_movables): Can only move something if its dependencies have 10012: already been moved. 10013: (find_single_use_in_loop): New function. 10014: (count_loop_regs_set): Delete code that prevents moving a reg that 10015: is used as a function address. 10016: Call find_single_use_in_loop when required. 10017: 10018: Sat Sep 21 16:28:34 1991 Richard Stallman ([email protected]) 10019: 10020: * c-typeck.c (build_unary_op): 10021: Handle const and volatile lvalues correctly in ADDR_EXPR. 10022: 10023: * output.h (current_function_contains_functions): 10024: Just declare it, don't define it. 10025: 10026: * cse.c (exp_equiv_p): New arg EQUAL_VALUES. All callers changed. 10027: 10028: Sat Sep 21 12:59:15 1991 Michael Tiemann (tiemann at cygnus.com) 10029: 10030: * cplus-parse.y (object_star): New rule. 10031: (POINTSAT_STAR): New token. 10032: * cplus-lex.c (init_lex): Define entry for MEMBER_REF. 10033: GNU C++ now overloads `operator->*' according to ARM semantics. It 10034: no longer attempts to implement operator->* as two distinct 10035: operations. 10036: 10037: Fri Sep 20 18:08:07 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10038: 10039: * combine.c (subst): Don't replace a CC0 or a PC in a SET_DEST if 10040: FROM is the same thing. 10041: 10042: * combine.c (simplify_shift_const): Compute SHIFT_MODE at start of 10043: loop and use its width, rather than width of RESULT_MODE, when checking 10044: shift count. 10045: 10046: Fri Sep 20 10:55:55 1991 Michael Tiemann (tiemann at cygnus.com) 10047: 10048: * cplus-pt.c (uses_template_parms): Handle COMPONENT_REF case. 10049: 10050: Fri Sep 20 00:27:43 1991 Richard Stallman ([email protected]) 10051: 10052: * c-typeck.c (build_modify_expr): When assigning to a cast, 10053: convert value first to the type being cast to. 10054: (build_unary_expr): Disallow adress of a cast. 10055: 10056: * explow.c (allocate_dynamic_stack_space): 10057: Handle SETJMP_VIA_SAVE_AREA before rounding to STACK_BOUNDARY. 10058: 10059: Thu Sep 19 21:13:17 1991 Richard Stallman ([email protected]) 10060: 10061: * Makefile.in (dist, gcc-*.tar, gcc-*.tar.Z): New targets. 10062: 10063: * jump.c (jump_optimize): In handling `if (...) x = a; else x = b;', 10064: don't crash if scan reaches start of insns. 10065: 10066: * Makefile.in (protoize): Link with getopt.o and getopt1.o. 10067: (unprotoize): Likewise. 10068: (protoize.o): Depend on getopt.h. Pass -D options for include dirs. 10069: (unprotoize.o): Likewise. 10070: (getopt.o, getopt1.o): New targets. 10071: 10072: * protoize.c: Major rewrite by RFG and RMS. 10073: 10074: Thu Sep 19 09:58:25 1991 Tom Wood (wood at dg-rtp.dg.com) 10075: 10076: Changes from Ron Guilmette: 10077: * dwarfout.c: Keep track of next_block_number correctly. 10078: * final.c (final_scan_insn): Don't invoke dwarfout_{begin,end}_block 10079: for the outermost block of a function. 10080: 10081: Thu Sep 19 06:16:34 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10082: 10083: * reload.c (copy_replacements): New function. 10084: * optabs.c (gen_move_insn): Don't call gen_lowpart while reloading 10085: is in progress; it calls change_address, which wants to make pseudos. 10086: 10087: * combine.c (subst, case SET): Fix typo in last change. 10088: 10089: * combine.c (distribute_notes): When searching back for a place that 10090: uses a register marked REG_DEAD, check for set and reference separately 10091: since reg_overlap_mentioned_p doesn't check SET_DEST. 10092: 10093: * combine.c (simplify_shift_const): Correct handling of shift counts 10094: that become out-of-range. 10095: 10096: * combine.c (expand_field_assignment): Don't allow sharing the RTL 10097: for the inner object. 10098: 10099: * combine.c (can_combine_p, try_combine, record_value_for_reg): Use 10100: reg_overlap_mentioned_p instead in reg_mentioned_p in most places. 10101: (distribute_notes, distribute_links): Likewise. 10102: (combinable_i3pat): New function, from try_combine. 10103: (try_combine): Default I1DEST and I1SRC to zero. 10104: New var I1_FEEDS_I3. 10105: Delete code to validate I3's pattern from here; call combinable_i3pat 10106: instead. 10107: If a substitution returns a (clobber (const_int 0)), stop immediately. 10108: Don't abort if substitution made new regs; just don't do combine. 10109: (subst): If IN_DEST, don't replace a matching object. 10110: Don't look at a REG as a SET_DEST. 10111: If substitution inside a PARALLEL fails, give up immediately. 10112: Return (clobber (const_int 0)) even for a SET whose operand fails. 10113: (subst, case SET): Correctly test for low-order SUBREG. 10114: Don't use gen_lowpart_for_combine; make SUBREG explicitly since it 10115: can't handle modes larger than a word. 10116: 10117: * combine.c (subst, case NOT): Code for (not (ashiftx ..)) was too 10118: general; only handle (not (ashift 1 X)). 10119: (subst, case NEG): Handle (neg (ashift ...)). 10120: (merge_outer_ops): Support NEG. 10121: (simplify_shift_const, case NEG): Handle (ashift (neg ...)). 10122: 10123: * cse.c (simplify_binary_operation, case ROTATE, ROTATERT): 10124: Rotating all one bits is just all ones. 10125: 10126: Thu Sep 19 01:08:14 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10127: 10128: * cplus-parse.h, cplus-decl.h: Remove trailing comma after the last 10129: enum value in enum declarations. 10130: 10131: * cplus-type2.c (digest_init): Set TREE_PURPOSE of union initializer 10132: when initializing a union by the first field. 10133: 10134: * cplus-method.c (fndecl_as_string): Test whether DECL_CLASS_CONTEXT 10135: is NULL before using it. 10136: (dump_aggr_type): New function. Print aggr type's context when 10137: appropriate. 10138: (dump_type{_prefix}): Use `dump_aggr_type' to print ENUMERAL_TYPE, 10139: UNION_TYPE, and STRUCT_TYPE types. 10140: 10141: * cplus-decl.c (start_decl): Don't use DECL_CLASS_CONTEXT if DECL 10142: has no DECL_LANG_SPECIFIC. 10143: 10144: Wed Sep 18 21:46:32 1991 Michael Meissner (meissner at osf.org) 10145: 10146: * mips-tfile.c (cur_proc_value): New static to remember the starting 10147: location of the current function. 10148: (add_procedure): Save current procedure location. 10149: (parse_begin, parse_bend): Subtract cur_proc_value from location. 10150: (parse_bend): Correct error messages. 10151: The above changes are from [email protected]. 10152: 10153: * tm-mips.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress 10154: invoking mips-tfile, instead of using -g0. If -save-temps, preserve 10155: the original .o file before mips-tfile is called. Pass the correct 10156: name for the assembler file. 10157: (MASK_MIPS_TFILE): New mask for -mmips-tfile, -mno-mips-tfile, set 10158: to 0, since that switch is handled entirely in ASM_FINAL_SPEC. 10159: (TARGET_FLAGS): Add -mmips-tfile, -mno-mips-tfile switches. 10160: (MUST_SAVE_REGISTER): Allow $30 to be saved, even if not being used 10161: as the frame pointer. 10162: 10163: * tm-decrose.h (ASM_FINAL_SPEC): Use -mno-mips-tfile to suppress 10164: invoking mips-tfile, instead of using -g0. If -save-temps, preserve 10165: the original .o file before mips-tfile is called. Pass the correct 10166: name for the assembler file. 10167: 10168: Wed Sep 18 18:54:15 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10169: 10170: * cplus-*.c: Use DECL_CLASS_CONTEXT to figure out where a (static or 10171: non-static) member function is declared, rather than trying to 10172: divine the info from TYPE_METHOD_BASETYPE of the function's type. 10173: 10174: Wed Sep 18 15:38:52 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10175: 10176: * c-decl.c (grokdeclarator): Error if nested function is extern. 10177: 10178: Wed Sep 18 02:41:08 1991 Per Bothner (bothner at cygnus.com) 10179: 10180: * cplus-typeck.c (convert_arguments): Don't crash if the 10181: formal parameter type is unknown (type==NULL) and the 10182: actual is a function. Do the default instead. 10183: 10184: Tue Sep 17 22:33:30 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10185: 10186: * c-typeck.c (check_format): 10187: No warning if types match except for signedness. 10188: 10189: Tue Sep 17 10:56:46 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10190: 10191: * cplus-decl.c (pushtag): When creating a TYPE_DECL that's in class 10192: scope, allocate the space needed for DECL_CLASS_CONTEXT. 10193: 10194: * cplus-search.c (get_abstract_virtuals): If the BASE is not on the 10195: main spine, look at the virtuals that come from the most derived 10196: class that has BASE on its main spine. 10197: * cplus-tree.h (VF_*): New macros for dealing with VFIELDS. 10198: 10199: Mon Aug 16 12:09:32 1991 (Eric Youngdale at [email protected]) 10200: 10201: * make.com: Fix typo. 10202: 10203: Tue Sep 17 15:13:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10204: 10205: * c-common.c (shorten_compare): Always compute args with side effects. 10206: 10207: * varasm.c (decode_addr_const): Use SYMBOL_REF unchanged in 1st switch. 10208: 10209: * varasm.c (output_addressed_constants): Handle a CONSTRUCTOR in 10210: an ADDR_EXPR correctly. 10211: 10212: * cccp.c (rescan): For unterm string, mention lineno of first newline. 10213: 10214: * fold-const.c (fold): Call optimize_bit_field_compare in constant case 10215: even if not optimizing. 10216: 10217: * c-decl.c (finish_function): Don't clear DECL_INITIAL if nested. 10218: (pop_c_function_context): Do it here instead. 10219: 10220: Tue Sep 17 11:30:32 1991 Michael Meissner (meissner at osf.org) 10221: 10222: * collect-osf.c (scan_prog_file): Recognize alternate forms for the 10223: constructor and destructor names. 10224: 10225: * osf-main.c (_entry): Provide an alternative function (_entry) to 10226: start up the static constructors/destructors. 10227: 10228: Mon Sep 16 05:35:21 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10229: 10230: * combine.c (simplify_shift_const): Correct errors involving modes 10231: to use for shift. 10232: 10233: Sun Sep 15 19:13:58 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10234: 10235: * reload1.c (reload_as_needed): Remove code that deletes insns that 10236: create equivalences. 10237: (reload): Put it here so it is executed even if reload_as_needed 10238: isn't called. 10239: 10240: Sun Sep 15 17:13:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10241: 10242: * Makefile.in (GNULIB2_CFLAGS): Include GCC_CFLAGS. 10243: (ENQUIRE_CFLAGS): Likewise (in place of plain CFLAGS). 10244: 10245: * genattrtab.c (main): Don't index by id->insn_code if negative. 10246: 10247: * genrecog.c (write_tree_1): Avoid pos[depth-1] if depth is 0. 10248: 10249: Sun Sep 15 15:19:16 1991 (Eric Youngdale at [email protected]) 10250: 10251: * make.com: Modify to allow direct submission to a batch queue. 10252: Also, add instructions to build GNU C++ as well as GNU CC. 10253: 10254: * cccp.c (hack_vms_include_specification): If [000000] is present in 10255: (implying a physical device or a rooted logical) try to open it. 10256: If the open fails, then remove the [000000] (making the name suitable 10257: for use with a non-rooted logical name) and return that. 10258: 10259: Sun Sep 15 15:12:41 1991 Michael Meissner (meissner at osf.org) 10260: 10261: * make-mips (Makefile): Remove rule building Makefile, since 10262: Makefile.in now has one. 10263: 10264: * make-decrose (Makefile): Remove rule building Makefile, since 10265: Makefile.in now has one. 10266: 10267: Sun Sep 15 14:12:47 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10268: 10269: * Makeflags (SYSCALLS.c.X): Use CPPFLAGS and INCLUDES. 10270: 10271: Sun Sep 15 12:03:35 1991 Michael Tiemann (tiemann at cygnus.com) 10272: 10273: * cplus-decl.c (poplevel): Match change made to c-decl.c on Oct 3, 10274: 1989. 10275: 10276: Sun Sep 15 06:52:42 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10277: 10278: * caller-save.c (save_call_clobbered_regs): Deaden registers mentioned 10279: in REG_UNUSED notes. 10280: (clear_reg_live): Verify that note refers to a REG. 10281: (choose_hard_reg_mode): Rewrite to not use specific modes and to 10282: handle the case where separate CCmode registers exist. 10283: 10284: Sat Sep 14 13:03:29 1991 Michael Tiemann (tiemann at cygnus.com) 10285: 10286: * all cplus-* files: Change {ASSOC,assoc} to {BINFO,binfo} where 10287: appropriate. 10288: cplus-tree.h, tree.h: Change name of CLASSTYPE_ASSOC to TYPE_BINFO. 10289: Change names of CLASS_ASSOC_* to TYPE_BINFO_*. 10290: all cplus-* files: FUNCTION_DECLs that are class methods now have 10291: their DECL_VCONTEXT stored in the DECL_CONTEXT. 10292: (lang_decl): The VCONTEXT field is now gone. 10293: (lang_decl): _DECL nodes in class scope now record the class as a 10294: context in the DECL_CLASS_CONTEXT field. 10295: tree.h (TYPE_BINFO): Renamed TYPE_BASETYPES to this. 10296: dbxout.c (dbxout_type): User of TYPE_BASETYPES changed. 10297: (BINFO_{VALUE,OFFSET,VTABLE,VIRTUALS,BASETYPE{S}}): New macros 10298: inherited from GNU C++. 10299: (DECL_{VINDEX,FCONTEXT}): Ditto. 10300: (TREE_VIA_{PUBLIC,VIRTUAL}): Ditto. 10301: 10302: Sat Sep 14 09:14:26 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10303: 10304: * rtlanal.c (reg_set_p): Remove abort for MEM; reg_overlap_mentioned_p 10305: now handles that case correctly. 10306: REG is set if it is really a MEM and this is a CALL_INSN. 10307: 10308: Sat Sep 14 01:34:39 1991 Richard Stallman ([email protected]) 10309: 10310: * configure (vax-ultrix*): New alternative. 10311: 10312: * reload1.c (choose_reload_regs): Always ignore cancelled reloads. 10313: 10314: * real.h (atof): Alternate declaration on MIPS. 10315: 10316: Thu Sep 12 18:55:06 1991 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) 10317: 10318: * optabs.c (expand_binop): Fix carry propagation code for multiple 10319: words. 10320: 10321: * tm-*.h: Fix systematic typo in comment. 10322: 10323: Thu Sep 12 18:23:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10324: 10325: * gvarargs.h, va-mips.h, va-sparc.h (_va___list): Was __va_list. 10326: 10327: Thu Sep 12 12:53:36 1991 Roland H. Pesch (pesch at cygint.cygnus.com) 10328: 10329: * cpp.texinfo: (titlepage) use @title/@subtitle/@author 10330: (copyright page) add note re future C manual; add 1991 to copyrights 10331: (general) prepare for easy @smallbook formatting; clarification on 10332: strings; less passive; add AMD29K predefined macros; update -d refs, 10333: add -dM; add examples; add -pedantic-errors; add -MD, -MMD, -H; fix 10334: minor typos. 10335: 10336: Thu Sep 12 07:58:11 1991 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) 10337: 10338: * m68k.md (umulsidi3, mulsidi3): New DEFINE_EXPANDs and DEFINE_INSN 10339: recognizers. 10340: 10341: Wed Sep 11 22:11:17 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10342: 10343: * a29k.md, romp.md: Update calling sequence to emit_no_conflict_block. 10344: 10345: Wed Sep 11 21:06:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10346: 10347: * fold-const.c (const_binop): Fix last change for ceil and round. 10348: 10349: * gvarargs.h, va-mips.h, va-sparc.h (va_list): Now a macro again. 10350: (__va_list): This is the typedef. 10351: 10352: Wed Sep 11 16:52:20 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10353: 10354: * c-typeck.c (build_binary_op_nodefault, RSHIFT_EXPR): Change 10355: "shift count" warnings changed to errors back to warnings. 10356: 10357: * cse.c (canon_hash): Also do not record global_regs if 10358: SMALL_REGISTER_CLASSES. Makes the code match the comment. 10359: 10360: * cexp.y (yylex): Add sprintf call to create error message, 10361: because yyerror does not call *printf itself. 10362: 10363: * gcc.c (default_compilers): Support new option -traditional-cpp, 10364: which passes traditional to cpp, but not to cc1. 10365: * gcc.texinfo: Document it. 10366: 10367: * sched.c (INSN_LUID): New variable. Give instructions logical 10368: numbers, which can be used when sorting, to make the scheduling 10369: algorithm more stable. 10370: (sched_analyze): Initialize it. 10371: (rank_for_schedule): Sort on it. 10372: (schedule_insns): Alloca(te) it and (b)zero it. 10373: (priority): New priority algorithm. Don't include latency of 10374: current insn, and subtract one from total priority calculated. 10375: Makes the scheduling algorithm more stable, and doesn't hurt 10376: performance. 10377: 10378: * sched.c (swap_sort): Must pass &insn to rank_for_schedule, not a 10379: pointer into the array being sorted. 10380: 10381: * cplus-lex.c (do_identifier): Put function return type on 10382: preceeding line. 10383: 10384: Wed Sep 11 05:51:00 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10385: 10386: * cplus-typeck.c (build_binary_op_nodefault): If OP0 or OP1 is a 10387: zero pointer, canonicalize it to NULL_POINTER_NODE. 10388: 10389: * expr.c (preexpand_calls): Don't preexpand calls inside a 10390: WITH_CLEANUP_EXPR. The gestalt of a WITH_CLEANUP_EXPRs must be 10391: understood at the top level. 10392: 10393: * cplus-tree.c (build_cplus_new): When building cleanup, make 10394: the call to the cleanup nonvirtual. 10395: 10396: Tue Sep 10 20:28:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10397: 10398: * fold-const.c (const_binop): Shortcut for dividing single-word 10399: sizes 10400: 10401: * Makefile.in (varasm.o): Depend on insn-codes.h. 10402: 10403: Tue Sep 10 19:29:26 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10404: 10405: * optabs.c (expand_binop): Try to open-code muldi3 if we have mulsi3 10406: and mulsidi3. Idea due to [email protected]. 10407: 10408: * cse.c (fold_rtx, case MEM): Don't call find_best_addr when insn == 0. 10409: Pass 0 to recursive call that tries to fold the address. 10410: 10411: Tue Sep 10 18:16:16 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10412: 10413: * m68k.md (fix_trunc*): Call CC_STATUS_INIT, since these patterns 10414: do not leave the condition codes in the expected state. 10415: 10416: * tm-ultrix.h (CPP_PREDEFINES): Add __vax. 10417: 10418: Tue Sep 10 04:12:53 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10419: 10420: * cplus-decl.c (finish_decl): Fix bug where the conversion from 10421: WITH_CLEANUP_EXPR -> init/cleanup pair was not setting bits of 10422: CURRENT_BINDING_LEVEL. 10423: (init_decl_processing): Set FLAGS_THIS_IS_VARIABLE before calling 10424: `init_exception_processing'. 10425: 10426: Mon Sep 9 22:09:27 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10427: 10428: * cplus-tree.h (prev_class_type): Delete this bogus definition. 10429: 10430: * cplus-class.c (instantiate_type): Don't complain about no static 10431: member functions being found until we have been through all the 10432: baselinks. 10433: 10434: * cplus-dbxout.c (dbxout_type_methods): Don't write symbol 10435: information about methods that were generated by the compiler. 10436: (??? Is this really the right thing to do?) 10437: 10438: * cplus-decl2.c (lang_decode_option): Turn on warn_uninitialized if 10439: -Wall is the argument. 10440: 10441: Mon Sep 9 19:05:01 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10442: 10443: * gcc.c (default_compilers): For .S files, pass -traditional not 10444: -ftraditional to cpp. 10445: 10446: Mon Sep 9 15:01:58 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10447: 10448: * fold-const.c (optimize_bit_field_compare): Distinguish NE from EQ. 10449: 10450: * explow.c (allocate_dynamic_stack_space): 10451: Handle SETJMP_VIA_SAVE_AREA by allocating extra space. 10452: 10453: * cplus-parse.y (empty_parms): Change inline to __inline. 10454: 10455: Mon Sep 9 15:16:24 1991 Torbjorn Granlund (tege at zevs) 10456: 10457: * longlong.h (m68000 umul_ppmm): Clobber one register less by 10458: slightly rearranging the code. 10459: 10460: Sun Sep 8 16:47:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10461: 10462: * cccp.c (main, fatal): Delete the deps output file if error. 10463: (deps_file): New variable. 10464: 10465: * expr.c (convert_move): Update call to emit_no_conflict_block. 10466: 10467: * expmed.c (CEIL): New macro. 10468: 10469: * optabs.c (expand_binop): Don't do add by words for more than 2 words. 10470: 10471: * c-typeck.c (build_modify_expr): Test TREE_READONLY of lhs. 10472: 10473: Sun Sep 8 01:17:47 1991 Torbjorn Granlund (tege at zevs) 10474: 10475: * sparc.md (sgtu, sleu): Test for SUBREG as well as REG. 10476: 10477: Sun Sep 8 07:04:33 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10478: 10479: * optabs.c (emit_no_conflict_block, emit_libcall_block): Rework to 10480: accept a list of insns rather than a SEQUENCE. 10481: (expand_binop, expand_unop, expand_float, expand_fix): Change calls to 10482: above functions. 10483: * emit-rtl.c (add_insn): No longer static. 10484: * calls.c (expand_call): Change call to emit_libcall_block. 10485: 10486: * cse.c (fold_rtx): Fix typo with parens in associative operation case. 10487: 10488: Sat Sep 7 21:49:46 1991 Jim Wilson (wilson at cygint.cygnus.com) 10489: 10490: * expmed.c (store_bit_field): In the code handling bitfields 10491: larger than the word size: set fieldmode to size large enough 10492: to hold bitfield; new variable orig_bitsize; don't let 10493: bit_offset calculation for WORDS_BIG_ENDIAN hosts go negative. 10494: (extract_bit_field): Likewise. 10495: (store_split_bit_field): For second word, strip of SUBREG if any 10496: before calling operand_subword. Offset for second word if in 10497: memory is the next UNITS_PER_WORD aligned address. 10498: (extract_split_bit_field): Likewise. 10499: 10500: * expr.c (emit_move_insn): When emitting multiple move insns in 10501: the loop, remember last insn emitted so that it can be returned. 10502: 10503: * tree.c (enum tree_node_kind): Add new entry vec_kind to 10504: represent TREE_VECs. 10505: (tree_node_kind_names): Add name "vecs" for it. 10506: (make_node): Handle TREE_VECs in the 'x' case. 10507: (make_tree_vec): Use vec_kind instead of x_kind. 10508: 10509: Sat Sep 7 16:25:50 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10510: 10511: * cplus-call.c (ideal_candidate): Prefer non-const member functions 10512: to const member functions when there is a choice. 10513: * cplus-tree.c (propagate_assoc_offsets): Moved here from 10514: cplus-class.c 10515: (copy_nonvirtual_children): Deleted. 10516: 10517: * cplus-class.c, cplus-tree.c (layout_{v}basetypes, 10518: propagate_assoc_offsets, finish_base_struct): New offset 10519: computation/hierarchy implementation. Now the lattice contains 10520: vbasetypes with zero-based offsets (and children from these types 10521: assume they are zero-based). The CLASSTYPE_VBASETYPE list contains 10522: vbasetypes with hierarchy-dependent offsets (and children from these 10523: types have hierarchy-dependent offsets). Note that now, virtual 10524: baseclasses are fully shared in the hierarchy. The still are not 10525: shared at all in the CLASSTYPE_VBASETYPE list. 10526: * cplus-decl.c (xref_tag): Share vbasetypes in the lattice. 10527: * cplus-tree.h (lang_type): Add CLASSTYPE_VASSOC field so we can 10528: share virtual basetypes in inheritance lattices. 10529: 10530: Sat Sep 7 13:07:12 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10531: 10532: * c-parse.y (cast_expr): Supply OFWHAT arg to digest_init. 10533: * c-typeck.c (error_init, pedwarn_init): New functions. 10534: (digest_init, process_init_constructor): Use them. 10535: 10536: * out-m68k.c (output_function_prologue): Add a negative constant 10537: to sp rather than adding a positive one, since this is faster. 10538: 10539: * out-m68k.c (output_function_prologue, output_function_epilogue): 10540: Use word sized immediates when possible. 10541: 10542: * Makefile.in (install-dir): Don't die if can't create mandir. 10543: (install-man): Don't put . in front of manext. 10544: (manext): Add . to the value. 10545: (mandir): Don't use manext. 10546: 10547: * genextract.c (main): Don't use __builtin_memcpy in GCC 1. 10548: 10549: Fri Sep 6 19:29:55 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10550: 10551: * caller-save.c (emit_mult_save, emit_mult_restore): Copy constant to 10552: TEMPREG and add integer, instead of the opposite order, which might 10553: not work on some machines. 10554: 10555: * fold-const.c (fold): Ensure we always return an object of the 10556: desired type. 10557: 10558: * reload1.c (reload, reload_as_needed): reload_in_progress must be 10559: set during caller-save processing. 10560: 10561: Fri Sep 6 18:36:55 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10562: 10563: * out-sparc.c (leaf_reg_{remap,backmap}): Define mapping for 10564: %o7/%i7, since user-defined registers might reference these. 10565: (legitimize_pic_address): Set CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE 10566: if ORIG is a LABEL_REF. For CONST_INT case, don't call force_reg 10567: during reload, use REG if available otherwise abort. 10568: 10569: Fri Sep 6 17:16:05 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10570: 10571: * configure: Default $cpu_type properly. 10572: 10573: Fri Sep 6 05:50:58 1991 Ken Raeburn (raeburn at watch.com) 10574: 10575: * genextract.c: Generate one large function with a switch, instead 10576: of a table of small functions to call. Use __builtin_memcpy under 10577: GNU C. 10578: 10579: * genoutput.c: For "@" constructs, now generates a lookup table per 10580: insn, instead of a switch. 10581: 10582: Fri Sep 6 15:40:54 1991 Tom Wood (wood at dg-rtp.dg.com) 10583: 10584: * cccp.c (skip_if_group): Deal with invalid directives the same 10585: way handle_directive does. 10586: 10587: Fri Sep 6 16:37:04 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10588: 10589: * tm-sparc.h (RTX_COSTS): Define costs for MULT and various divides. 10590: 10591: * loop.c (move_movables): Call `gen_lowpart_common' instead of 10592: building SUBREG manually. 10593: 10594: * local-alloc.c (block_alloc): When convert scratch to a reg, must 10595: set regs_ever_live for all hard registers used by the new reg, not 10596: just the first. 10597: 10598: Fri Sep 6 07:15:44 1991 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) 10599: 10600: * gnulib2.c (__negdi2): Change it to work like __subdi3. 10601: * gnulib2.c (_udivmoddi4): Make faster special case for CPUs with 10602: a udiv_qrnnd that can handle unnormalized (i.e. with less than 10603: LONG_TYPE_SIZE significant bit) divisors. 10604: 10605: * gnulib2.c (__muldi3): Cast operands to unsigned. 10606: 10607: * gnulib2.c (__Xcmpdi): Use `long' for all variables for 10608: consistency. 10609: 10610: * gnulib2.c (__udivmoddi4): New function with code from __udivdi3, 10611: extended to give remaider. 10612: * gnulib2.c (__divdi3, __moddi3, __udivdi3, __umoddi3): Use 10613: __udivmoddi4. 10614: * gnulib2.c: (__moddi3): Result sign is only dependent on U, not V. 10615: 10616: Fri Sep 6 05:44:07 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10617: 10618: * cse.c (cse_insn): Accept new arg IN_LIBCALL_BLOCK. 10619: If in libcall block, don't record destinations in hash table. 10620: Remove explicit use of SFmode and DFmode when checking -ffloat-store. 10621: (cse_basic_block): Pass new arg to cse_insn to indicate when we 10622: are processing an insn surrounded with REG_LIBCALL/REG_RETVAL notes. 10623: 10624: * optabs.c (emit_libcall_block): New function. 10625: (expand_binop, expand_unop): Remove kludge of referencing library 10626: function SYMBOL_REF before libcall block. 10627: Use emit_libcall_block. 10628: (expand_float, expand_fix): Rework library calls to use 10629: emit_libcall_block. 10630: * calls.c (struct arg_data): Add new field, initial_value. 10631: (expand_call): Don't make libcall block for calls that return 10632: aggregates. 10633: Remove kludge of referencing function SYMBOL_REF outside of block. 10634: For constant calls, save RTL for arg in args[i].initial_value and 10635: start a sequence. 10636: When making REG_EQUAL note, use INITIAL_VALUE instead of VALUE. 10637: Use emit_libcall_block for constant calls. 10638: * expr.h (emit_libcall_block): Define it. 10639: 10640: Fri Sep 6 15:58:52 1991 Torbjorn Granlund (tege at zevs) 10641: 10642: * longlong.h (68020, i386): Don't define machine-dependent 10643: __umulsidi3 (so the default definition is used). 10644: * longlong.h (all machines): Cast all operands, sources and 10645: destinations, to `unsigned long int'. 10646: * longlong.h: Add gmicro support. 10647: 10648: Fri Sep 6 01:42:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10649: 10650: * jump.c (jump_optimize): Delete duplicate line number notes. 10651: 10652: Thu Sep 5 19:23:24 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10653: 10654: * configure (romp): Fix typo in name of xm_file. 10655: 10656: * rtlanal.c (dead_or_set_p): If INSN has a CLOBBER for X, X is 10657: dead. 10658: 10659: * gnulib1.c (cmpdf2, cmpsf2): Delete unused functions. 10660: * gnulib2.c (anddi3, iordi3, xordi3, one_cmpldi2, adddi3, subdi3): 10661: Likewise. 10662: * optabs.c (emit_cmp_insn): Clean up code now that integer and 10663: float comparisons are done differently. 10664: (init_optabs): Remove references to unused functions listed above. 10665: * Makefile.in (LIB1FUNCS, LIB2FUNCS): Likewise. 10666: 10667: Thu Sep 5 18:32:27 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10668: 10669: * m68k.md (zero_extend*): Don't allow memory-memory due to aliasing. 10670: 10671: * expr.c (do_jump): Don't lose if only 1 insn precedes new jump. 10672: 10673: * sparc.md (ashldi3): Fix dumb bug detecting constant 1. 10674: 10675: * out-sparc.c (output_move_double): Use split_double for constant. 10676: Properly decrement addreg1. 10677: 10678: Thu Sep 5 15:20:25 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10679: 10680: * out-sparc.c: Include expr.h and delete extern declarations. 10681: 10682: * rtlanal.c (rtx_equal_p): Correct typo in comment or spacing. 10683: * reload1.c (reload): Likewise. 10684: * protoize.c: Likewise. 10685: * longlong.h: Likewise. 10686: * local-alloc.c (block_alloc): Likewise. 10687: * jump.c: Likewise. 10688: 10689: * unroll.c (iteration_info): Don't calculate loop iterations based 10690: on a giv iterator, since the current code often gives the wrong 10691: result. This case is rare, so it does not seem worth handling at all. 10692: 10693: * sched.c (schedule_insns): When the only sched pass is after 10694: reload, must clear unused_insn_list and unused_expr_list then, 10695: instead of during the nonexistant pass before reload. 10696: 10697: * sched.c (schedule_block): When calculating estimated IPC, avoid 10698: divide by zero. 10699: 10700: * sparc.md: Correct two define_splits for seq/sne patterns of the 10701: form `x + (i == 0)', and add a missing `addx' pattern used by 10702: these define_splits. 10703: 10704: * toplev.c (fatal_insn_not_found): Correct typo in error message. 10705: (main): Include "gsdb" and "gdbx" in warning message when -g is not 10706: supported. 10707: 10708: * expr.h (enum expand_modifier): Delete last vestige of 10709: EXPAND_INTO_STACK. 10710: 10711: Thu Sep 5 13:50:21 1991 John Gilmore (gnu at cygint.cygnus.com) 10712: 10713: * c-typeck.c (digest_init, process_init_constructor): Include the 10714: variable name, member name, and/or array indices in error messages. 10715: This makes it tolerable to debug large data structure initializers. 10716: Reword some messages to work with the name and/or function call 10717: argument included. New arg OFWHAT. All callers changed except 10718: one digest_init call in each of c-parse.y and objc-parse.y. 10719: (warn_for_assignment): Reduce to a single message argument, 10720: automatically handling formatting for function call arguments. 10721: All callers changed. 10722: (convert_for_assignment): If ERRTYPE is a null string, this is 10723: parameter passing for a function, so output different error messages. 10724: (convert_arguments): Pass null string to convert_for_assignment to 10725: indicate parameter passing. 10726: 10727: Thu Sep 5 13:44:19 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 10728: 10729: * sched.c: Correct typos in comments. 10730: (sched_note_set): Don't try to calculate live info for global 10731: register variables. 10732: (attach_deaths): Don't add REG_DEAD notes for global register 10733: variables. 10734: 10735: * tm-sparc.h (SELECT_SECTION): Can't put a variable in text section 10736: if flag_pic and RELOC are both true, same test that varasm.c does. 10737: 10738: Thu Sep 5 13:15:43 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10739: 10740: * rtlanal.c (reg_referenced_p): Handle USE and CALL. 10741: Use switch instead of if-then-else. 10742: 10743: Thu Sep 5 08:03:58 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10744: 10745: * cplus-class.c (propagate_assoc_offsets): Don't fail to 10746: propagate the offset to the rightmost basetype. 10747: 10748: * cplus-decl.c (xref_tag): Allocate nodes for basetype info on 10749: permanent obstack, not temporary obstack. 10750: 10751: Wed Sep 4 18:53:16 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10752: 10753: * fixincludes : Change `m68k' to `__m68k__' in all #if's. 10754: 10755: * Makefile.in (ALLOCA_FLAGS): Add -Demacs. 10756: (ALLOCA_FINISH): Put option before input file name. 10757: (alloca.o): Supply $(INCLUDES). 10758: 10759: * Makefile.in (GCC_CFLAGS): New parameter. 10760: (protoize, protoize.o, unprotoize, unprotoize.o): Use GCC_CFLAGS. 10761: (enquire, enquire.o, collect2, collect2.o, SYSCALLS.c.X): Likewise. 10762: 10763: Wed Sep 4 18:13:56 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10764: 10765: * combine.c (make_extraction): When picking up low-order part, 10766: ensure that we don't create a non-aligned object if alignment 10767: is required. 10768: 10769: * expr.c (emit_push_insn): Ensure we only call force_const_mem on a 10770: constant. 10771: 10772: * config.subr: Set `os' to be the last `-' and everything following it. 10773: `romp' is the basic machine name for the rtpc. 10774: `aos' is IBM's name for BSD. 10775: * configure: Default `cpu_type' to the first field before an 10776: optional `-'. 10777: Add a29k, a29k-ultra, romp, and rs6000. 10778: * xm-a29k-ultra.h: New file. 10779: 10780: Wed Sep 4 15:46:50 1991 Tom Wood (wood at dg-rtp.dg.com) 10781: 10782: Changes from Ron Guilmette: 10783: * dwarfout.c (output_symbol): Move tests for omitting declarations 10784: to dwarfout_file_scope_symbol. No need for `local' parameter. 10785: Use TREE_PUBLIC and TREE_EXTERNAL to determine whether a variable 10786: or function is global. 10787: (finalizing, dwarfout_file_scope_delayed_symbol): Delete. 10788: 10789: * toplev.c (compile_file): Delete use of dwarfout_file_scope_symbol 10790: for initialized VAR_DECLs. All global declarations are passed to 10791: dwarfout_file_scope_symbol (except function definitions and types). 10792: 10793: (compile_file, rest_of_decl_compilation): Attribute time in 10794: {dbxout,sdbout,dwarfout} functions to symout_time. 10795: 10796: * varasm.c (assemble_variable): Check and update TREE_ASM_WRITTEN 10797: for a global register variable. 10798: Delete use of dwarfout_file_scope_symbol for VAR_DECLs. 10799: 10800: Tue Sep 3 23:34:57 1991 Torbjorn Granlund (tege at zevs) 10801: 10802: * sparc.md (ashldi3 expander & recognizer): Make shift count have 10803: SImode. Used to have DImode. 10804: 10805: * expmed.c (emit_store_flag): Declare arg UNSIGNEDP. 10806: 10807: * vax.md (adddi3): Make operands 2 and 3 commutative. 10808: 10809: * sparc.md (subtract constant then return): Peephole deleted. 10810: 10811: Tue Sep 3 22:23:52 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10812: 10813: * Makefile.in (mostlyclean, clean, realclean): Some files were missing. 10814: 10815: * gvarargs.h (va_list): Make it typedef, not macro. 10816: * va-mips.h, va-pyr.h: Likewise. 10817: 10818: Tue Sep 3 22:07:04 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10819: 10820: * cplus-init.c (build_vec_delete): Fix off-by-one error for arrays 10821: of length 1. 10822: 10823: Tue Sep 3 19:30:45 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10824: 10825: * combine.c (try_combine): Don't pass a STRICT_LOW_PART to 10826: reg_overlap_mentioned_p. 10827: 10828: * cse.c (fold_rtx): If INSN is zero, copy X before we change 10829: anything inside it. 10830: When looking for associative operation, pass zero as missing arg to 10831: recursive call. 10832: (find_comparison_args): Add zero for missing arg to fold_rtx calls. 10833: 10834: * reload.c (find_reloads): Correct code that prevents replacing 10835: a SET_DEST with a constant so that it correctly looks for an 10836: operand being a SET_DEST. 10837: 10838: Tue Sep 3 19:17:34 1991 James Van Artsdalen (james at bigtex.cactus.org) 10839: 10840: * out-i386.c (split_di): Call split_double for CONSTANT_P. 10841: (fix_op): Delete. 10842: (float_op): Don't examine the mode of the FLOAT operand. 10843: (output_float_compare): Don't make new %ax RTX: use scratch 10844: operand from insn. 10845: 10846: * i386.md (float mode tstM,cmpM,fixuns_truncMN2,fix_truncMN2): Use 10847: match_scratch. 10848: (float mode tstM,fixuns_truncMN2,fix_truncMN2): Don't gen temp RTX: 10849: use scratch operand. 10850: (fix_truncMN2,floatMN2): Split pattern into a separate DFmode and 10851: SFmode patterns so that operands[1] has a mode. 10852: (sCOND patterns): Don't set cc_status to previous status. 10853: (cmpstrsi): Don't explicitly reference reg 2. 10854: 10855: Tue Sep 3 16:28:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10856: 10857: * optabs.c (expand_binop): Fix carry calculation. 10858: 10859: * varasm.c (decode_addr_const): Given a LABEL_DECL, Make a LABEL_REF. 10860: (const_hash): Handle a LABEL_REF. 10861: * expr.c (expand_expr): Use FUNCTION_MODE for memref to a LABEL_REF. 10862: 10863: * configure: Fix typo in last change. 10864: 10865: * cccp.c (handle_directive): Normally no error for line with `###'. 10866: 10867: Tue Sep 3 10:53:12 1991 Tom Wood (wood at dg-rtp.dg.com) 10868: 10869: * out-m88k.c, tm-m88k.h: Delete remnants of the fancy abort. 10870: * tm-m88kdgux.h: No longer identify as version DG-*. 10871: * m88k files: Update copyright dates. 10872: 10873: Tue Sep 3 03:18:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10874: 10875: * expr.c (expand_expr): Get rid of EXPAND_INTO_STACK. 10876: 10877: Mon Sep 2 14:07:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10878: 10879: * gcc.c (do_spec_1): In %X, terminate the arg after each option. 10880: 10881: * config.subr: If argument contains `local', always accept it. 10882: * configure: If machine type contains `local', 10883: construct file names from that machine type name. 10884: 10885: * configure: Make config.status a shellscript to redo the configure. 10886: No need now to change / to - when storing $(target) in Makefile. 10887: Store $(host_make_var_file) in Makefile also. 10888: Set host_make_var_file to ../Makefile.in after creating Makefile 10889: if no make-... file actually exists for this host. 10890: * Makefile.in (host_make_var_file): Dummy definition to be filled in. 10891: (Makefile): New rule to rerun `configure' 10892: 10893: * tm-sysv4.h (ASM_DECLARE_FUNCTION_SIZE): New macro. 10894: 10895: * tm-mips.h, tm-m88k.h (abort): Macro definition deleted. It is 10896: not right for any machines description to specify use of fancy_abort. 10897: 10898: * protoize.c [v.4]: Include fcntl.h. 10899: (execvp): Correct type for second arg. 10900: (compile_params): Remove `const'; that loses when calling execvp. 10901: 10902: * cccp.c (directive_table): Typo in entry for do_ident. 10903: 10904: * xm-m68k.h (alloca): Define macro with arg. 10905: 10906: * emit-rtl.c (reorder_insns_with_line_notes): New function. 10907: (find_line_note, emit_line_note_after): New functions. 10908: 10909: * jump.c (jump_optimize): When moving else clause before test, 10910: only move the insn as far as needed, and use new function 10911: reorder_insns_with_line_notes. 10912: 10913: Mon Sep 2 03:30:35 1991 James Van Artsdalen (james at bigtex.cactus.org) 10914: 10915: * Makefile.in (collect2): Compile with gcc. 10916: 10917: Sun Sep 1 9:03:46 1991 (Eric Youngdale at [email protected]) 10918: 10919: Define two macros to eliminate the need for a seperate collect pass. 10920: 10921: * tm-vms.h (ASSEMBLE_OUTPUT_CONSTRUCTOR): Define. 10922: (ASSEMBLE_OUTPUT_DESTRUCTOR): Define. 10923: 10924: Sun Sep 1 08:14:22 1991 Michael Meissner (meissner at osf.org) 10925: 10926: * collect-osf.c (main): Print version number if -v. Also ignore all 10927: arguments beginning with -c rather than just '-c'. 10928: 10929: * make-decrose (collect): Add version.o to link. 10930: 10931: Sat Aug 31 17:03:23 1991 Michael Meissner (meissner at osf.org) 10932: 10933: * cplus-input.c (inline macro definition): If inline is already 10934: defined, don't redefine it. 10935: 10936: * collect-osf.c (main): Look for gld and gas instead of ld and as, 10937: so collect-osf can be installed as ld. Use a default path of 10938: /usr/ccs/gcc to find the linker and assember. Ignore the -c switch, 10939: which GCC uses to say that collect is needed. 10940: 10941: * osf-main.c (__finis): Don't call descructors already called if one 10942: of the destructors calls exit (which in turn calls __finis). 10943: 10944: * tm-mips.h (DBX_REGISTER_NUMBER): Use mips_dbx_regno to map 10945: register number to debug register number. 10946: (GP_DBX_FIRST, FP_DBX_FIRST): New macros, giving the first debug 10947: register numbers for gp registers and fp registers. 10948: 10949: * out-mips.c (mips_dbx_regno): New global array to map GCC register 10950: number to debug register number, to fix problem with OSF/1 stabs 10951: using 38 for the first fp registers, rather than 32. 10952: (override_options): Set up OSF/1 SIGINFO signal handler to notmake 10953: the interruptable system calls read, write, and wait not return 10954: error condition. Also initialize mips_dbx_regno. 10955: 10956: * make-decrose (CFLAGS): Add $(MSTATS) variable to set -mstats. 10957: (CFLAGS_NODEBUG): Like CFLAGS, except no debugging or inlining. 10958: (DEB_OPT): Define in terms of DEBUG, OPT, and PROFILE. 10959: (cplus-lex rule): Build cplus-lex with no debug or inlinings. 10960: 10961: Sat Aug 31 12:52:17 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 10962: 10963: * cccp.c (handle_directive): Be more fussy detecting `# LINE' case. 10964: 10965: * cccp.c (directive_table): Pass through and ignore #ident. 10966: (do_ident): New function. 10967: (skip_if_group): Error if unrecognized directive seen. 10968: 10969: * jump.c (jump_optimize): In converting x=a; if (...) x=b; to 10970: store flag, insert all the new code in just one line. 10971: 10972: * gcc.c (do_spec_1): Use xmalloc to make linker_options the first time. 10973: 10974: * expr.c (expand_expr): Make EXPAND_SUM and EXPAND_INITIALIZER 10975: imply EXPAND_CONST_ADDRESS in all cases. 10976: 10977: * c-decl.c (c_decode_option): -Wall sets warn_uninitialized. 10978: * flags.h (warn_uninitialized): Declared. 10979: * toplev.c (warn_uninitialized): No longer static. 10980: 10981: * cccp.c (main): Make no assumptions about include_defaults 10982: in calculation of max_include_len. Add fudge space if VMS. 10983: 10984: * reload.c (find_reloads_toplev): New arg IS_SET_DEST. 10985: Don't replace reg with constant in destination of a SET. 10986: (find_reloads): Pass that arg. Also don't replace here. 10987: 10988: * cplus-xref.c: Finish installing changes from Youngdale. 10989: 10990: Sat Aug 31 09:02:25 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 10991: 10992: * cplus-decl2.c (finish_file): Call varasm routines to assemble ctor 10993: and dtor lists. 10994: 10995: * cplus-dbxout.c (dbxout_type_methods): Fix error in printing symbol 10996: info for classes that only define a destructor. 10997: 10998: Sat Aug 31 08:32:12 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 10999: 11000: * cse.c (cse_end_of_basic_block): Correctly handle the case of a basic 11001: block where a conditional branch out of the block becomes unconditional 11002: and a conditional branch to the end of the block becomes a noop. 11003: 11004: * combine.c (try_combine): In case where we have a PARALLEL 11005: involving a load and sign extend, use reg_overlap_mentioned_p 11006: instead of reg_mentioned_p. 11007: If we have a PARALLEL of two independent SETs, try to split them 11008: up into separate insns. 11009: 11010: * combine.c (move_deaths): Instead of placing the REG_DEAD notes 11011: on TO_INSN, add them to a list whose address is given as an 11012: operand. 11013: (distribute_notes): Allow for the case when the death of an object 11014: is between I2 and I3. 11015: Set reg_last_death to corrspond to the location of the REG_DEAD 11016: note being placed. 11017: (try_combine): Call move_deaths in new way and pass returned list 11018: to distribute_notes if it is non-empty. 11019: 11020: * local-alloc.c (requires_inout_p): Don't have cases for '[Q-U]' unless 11021: EXTRA_CONSTRAINT is defined.. 11022: 11023: * local-alloc (block_alloc): Don't allocate SCRATCH on machines with 11024: SMALL_REGISTER_CLASSES defined. 11025: 11026: * regclass.c (reg_class_record): Add missing case for 'V'. 11027: 11028: Fri Aug 30 04:42:19 1991 James Van Artsdalen (james at bigtex.cactus.org) 11029: 11030: * tm-i386.h (OUTPUT_JUMP): Use cc_prev_status. 11031: 11032: Fri Aug 30 17:08:52 1991 (Eric Youngdale at [email protected]) 11033: 11034: * xm-vms.h (LOCATE_START_OF_FILE_NAME): Remove. 11035: (FILE_NAME_NONDIRECTORY): Fix typo. 11036: (XREF_FILE_NAME): Use FILE_NAME_NONDIRECTORY instead of 11037: LOCATE_START_OF_FILE_NAME, and omit the leading underscore in the 11038: generated file name. 11039: (FILE_NAME_ABSOLUTE_P): Define to use hook in cplus-xref.c. 11040: (FILE_NAME_JOINER): Define to use hook in cplus-xref.c. 11041: 11042: * cplus-xref.c: Fix bug in default definition of FILE_NAME_ABSOLUTE_P. 11043: (GNU_xref_open): Fix bug - wrong argument to XREF_FILE_NAME. 11044: (FILE_NAME_JOINER): New macro. 11045: (GNU_xref_file): Use it. 11046: 11047: Fri Aug 30 17:30:15 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11048: 11049: * cplus-xref.c: Reinstall Aug 25 changes discarded by Tiemann. 11050: 11051: * expr.c (expand_expr): New modifier option EXPAND_INITIALIZER. 11052: * varasm.c (output_constant): Use that. 11053: * jump.c (forced_labels): New var records labels not to delete. 11054: (jump_optimize): Don't delete those labels. 11055: * flow.c (find_basic_blocks): Any computed goto goes to those labels. 11056: * varasm.c (decode_addr_const): Deal with LABEL_DECL. 11057: 11058: Fri Aug 30 15:41:03 1991 Michael Meissner (meissner at osf.org) 11059: 11060: * mips.md (copyleft): Use separate copyright years. 11061: (mov*): Use nonimmediate_operand instead of general_operand. 11062: 11063: * tm-mips.h (copyleft): Use separate copyright years. 11064: 11065: * xm-mips.h (copyleft): Use separate copyright years. 11066: 11067: * xm-umips.h (copyleft): Use separate copyright years. 11068: 11069: Fri Aug 30 08:47:30 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11070: 11071: * cplus-typeck.c (build_x_*): Try first calling `build_opfncall' 11072: with FLAGS==0. If that succeeds, check protection. 11073: (build_conditional_expr): `fold' does not preserve the type of it's 11074: expressions, which is a problem for C++ when trying to keep ints and 11075: enums distinct. 11076: 11077: * cplus-decl.c (lookup_name): When there is a choice between seeing 11078: a name as a type and seeing as a decl, call `arbitrate_lookup' to 11079: make the decision. 11080: * cplus-lex.c (arbitrate_lookup): New function. Uses minute amounts 11081: of syntactic context to decide whether to see a name as a type or 11082: something else. 11083: 11084: Fri Aug 30 07:40:49 1991 Tom Wood (wood at dg-rtp.dg.com) 11085: 11086: * jump.c (delete_jump): When checking REG_DEAD notes, make sure they 11087: have a legal value. 11088: 11089: Fri Aug 30 00:57:05 1991 James Van Artsdalen (james at bigtex.cactus.org) 11090: 11091: * local-alloc.c (alloc_qty_for_scratch): Treat Q - U as reg class if 11092: EXTRA_CONSTRAINT is not defined. 11093: * regclass.c (reg_class_record): Likewise. 11094: 11095: Thu Aug 29 21:39:07 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11096: 11097: * c-typeck.c (build_binary_op_nodefault): Fix last change. 11098: 11099: Thu Aug 29 19:11:05 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11100: 11101: * recog.c (general_operand, const_double_operand): Similar to 11102: immediate_operand, don't accept a VOIDmode operand if the 11103: caller wants floating. 11104: * out-pyr.c (nonindexed_operand): Likewise. 11105: 11106: Thu Aug 29 09:53:27 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 11107: 11108: * cplus-tree.h ({SET,CLEAR}_ASSOC_*): New macros needed because not 11109: all C compilers support conditional expressions as lvalues. 11110: (lang_type): Change type of MEMOIZED_TABLE_ENTRY and SEARCH_SLOT 11111: from `void *' to `char *', to make braindead compilers at less of a 11112: disadvantage. 11113: 11114: Thu Aug 29 08:07:40 1991 Tom Wood (wood at dg-rtp.dg.com) 11115: 11116: * m88k.md (define_function_unit): Update latencies. 11117: 11118: * out-m88k.c (output_function_profiler): Correct offsets for 11119: register saves. 11120: * tm-m88ksvr4.h (FUNCTION_PROFILER): Use the name _mcount and do 11121: register saves. 11122: 11123: * tm-m88k.h (ASM_DWARF_POP_SECTION): Specify "previous". 11124: 11125: Changes from Ron Guilmette: 11126: * dwarfout.c (lookup_filename): Only increment valid_ft_entries 11127: once when adding a filename to the table. 11128: (output_symbol): Do output DIEs for a global VAR_DECL definition. 11129: 11130: Thu Aug 29 06:15:32 1991 Michael Tiemann (tiemann at rtl.cygnus.com) 11131: 11132: * cplus-type2.c (build_functional_cast): If we have a valid value in 11133: `expr_as_conversion' return that before returning error_mark_node. 11134: 11135: * cplus-init.c (expand_recursive_init): Fix typo is testing 11136: TYPE_USES_VIRTUAL_BASECLASSES. 11137: 11138: Wed Aug 28 23:12:35 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11139: 11140: * c-typeck.c (build_binary_op_nodefault): For shift and rotate ops, 11141: if traditional, use the common type of the operands. 11142: 11143: Wed Aug 28 07:31:33 1991 Tom Wood (wood at dg-rtp.dg.com) 11144: 11145: * dwarfout.c, dwarf.h, README.DWARF: Replacement files from Ron 11146: Guilmette that bring the dwarf implementation up to that defined by 11147: draft 4 of the dwarf specification (dated 7/31/91). 11148: 11149: Wed Aug 28 06:24:30 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11150: 11151: * all *.md files except a29k.md and romp.md: Don't allow CONST_INT 11152: as operand for RTL operations that need a mode to be well-defined, 11153: e.g., SIGN_EXTEND, ZERO_EXTEND, TRUNCATE, FLOAT. Similarly, don't 11154: allow CONST_INT as first operand of a COMPARE. 11155: 11156: * machmode.h (MIN, MAX): Undefine these before our definition. 11157: 11158: Tue Aug 27 21:33:04 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 11159: 11160: * version.c: Now 1.95. 11161: 11162: Tue Aug 27 18:05:25 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11163: 11164: * reload1.c (possible_group_p): Use earliest class that needs a group. 11165: 11166: * gcc.c (do_spec_1): Handle %x and %X. 11167: (link_command_spec): Use %X. If given -collect, pass -c. 11168: (default_compilers c++): Use %x to pass -c to linker. 11169: 11170: * cse.c (find_comparison_code): Don't call fold_rtx, 11171: because we don't know which insn to pass for its second argument. 11172: 11173: * cse.c (fold_rtx): Don't fold what we get from lookup_as_function. 11174: 11175: Tue Aug 27 17:46:59 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11176: 11177: * cse.c (rtx_cost): A USE is free; it is likely being used as a marker. 11178: 11179: * cse.c (cse_insn): If we decided not to make a reg-reg copy between 11180: equivalent regs into a no-op, see if there is an equivalent constant 11181: that is cheaper than the register we decided to use. 11182: 11183: * cse.c (cse_insn): Fix arg in insert_regs call when making a 11184: secondary equivalence due to a SUBREG; we are not modifying the 11185: register. 11186: 11187: * cse.c (delete_dead_from_cse): Treat a SET that copies a register 11188: to itself as if it were setting a dead register. 11189: 11190: * cse.c (find_comparison_args): Call fold_rtx on the args that we 11191: are about to return. 11192: (fold_rtx, case SUBREG): Copy code from equiv_constant that looks up 11193: a SUBREG in the hash table. 11194: If our our folded operand is equivalent to a constant, use that when 11195: seeing if we can get a part of a constant. 11196: (fold_rtx): Don't short-circuit recursive call for an operand that 11197: is a SUBREG; add comment in REG case that we are doing equiv_constant. 11198: When looking for associative operation, call fold_rtx on potential 11199: constant as well as equiv_constant. 11200: (equiv_constant): Just look up a constant quantity for a register; 11201: fold_rtx will do the SUBREG operations. 11202: 11203: * fold-const.c ({neg,mul,lshift,rshift,lrotate,rrotate}_double): 11204: No longer static. 11205: * cse.c (simplify_{unary,binary}_operation): Fold some DImode 11206: operations. 11207: 11208: * fold-const.c (fold, case EQ_EXPR, NE_EXPR, ...): Add code to handle 11209: cases where we are comparing the result of a comparison. 11210: 11211: Tue Aug 27 14:35:59 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11212: 11213: * flow.c (mark_used_regs): Set regs_ever_live for all hard regs. 11214: Warning: this might break FUNCTION_PROLOGUE and FUNCTION_EPILOGUE 11215: in some ports. But I've checked all the installed ones. 11216: * tm-gmicro.h (FUNCTION_PROLOGUE): 11217: Clear bit for fp reg if used as such. 11218: * tm-mips.h (MUST_SAVE_REGISTER): Only frame_pointer_needed affects fp. 11219: 11220: * c-decl.c (store_parm_decls): No error if arglist contains type tag. 11221: 11222: * optabs.c (expand_fix): Really call emit_cmp_insn right. 11223: 11224: * floatlib.c: New file. 11225: 11226: * gnulib2.c (__clz_tab): Moved to _udivdi3. 11227: 11228: Tue Aug 27 06:44:12 1991 Michael Tiemann (tiemann at rtl.cygnus.com) 11229: 11230: * cplus-typeck.c (c_expand_return): Don't use the cleanup generated 11231: by `build_functional_cast'. 11232: 11233: * cplus-class.c (resolves_to_fixed_type_p): Handle WITH_CLEANUP_EXPR. 11234: 11235: Mon Aug 26 20:55:58 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11236: 11237: * c-parse.y (yylex): Cast shorts[n] to long before shifting. 11238: * fold-const.c (decode): Likewise. 11239: 11240: * Makefile.in (INSTALL_DATA): Renamed from INSTALL_FILE. 11241: 11242: * cse.c (canon_hash): Don't crash if subexpression is 0. 11243: 11244: * cplus-lex.c (interface_strcmp): Put back variable s1. 11245: 11246: Mon Aug 26 18:14:33 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11247: 11248: * function.c (instantiate_virtual_regs_1): Complete previous change; 11249: had omitted arg on two returns. 11250: 11251: Mon Aug 26 15:16:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11252: 11253: * optabs.c (expand_float, expand_fix): Pass new arg to emit_cmp_insn. 11254: 11255: * out-m68k.c (singlemove_string): Fix last change. 11256: 11257: Mon Aug 26 11:20:51 1991 Tom Wood (wood at dg-rtp.dg.com) 11258: 11259: * m88k.md (cmpsi insn): Don't provide an insn that compares two 11260: constants. 11261: 11262: Mon Aug 26 08:34:48 1991 Michael Meissner (meissner at osf.org) 11263: 11264: * collect-osf.c (toplevel, read_file, end_file): Don't use mmap, 11265: unless all defines needed are defined. 11266: (various): If -debug turn on debugging code. Change all occurances 11267: of #ifdef DEBUG sections to if (debug). 11268: (main, add_to_list): Correctly cast xcalloc calls. 11269: (scan_prog_file): Correct xcalloc to allocate enough space 11270: (scan_prog_file): If -debug, don't dump entire symbol table, just 11271: dump the constructors and destructors. 11272: 11273: * make-decrose (CFLAGS): Use DEB_OPT for default debug and optimize 11274: options, use SHLIB for default shared library versions. 11275: (DEB_OPT): Define to be -g -O2. 11276: (SHLIB): Define to be -L${BUILD}/usr/ccs/lib, which forces static 11277: libraries with both old and new 1.39 compilers. 11278: (COFF_CFLAGS): Define to be -O2 -g0. 11279: (collect): Add LIBDEPS dependency. 11280: 11281: Mon Aug 26 07:22:21 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11282: 11283: * machmode.h (MIN, MAX): Define here. 11284: * c-decl.c, calls.c, cplus-class.c, cplus-decl.c, cplus-tree.c: 11285: Don't define here. 11286: * expr.c, fold-const.c, function.c, integrate.c, recog.c: Likewise. 11287: * rtl.c, sdbout.c, stmt.c, stor-layout.c, varasm.c: Likewise. 11288: * c-typek.c, combine.c, cse.c, emit-rtl.c, expmed.c, final.c: 11289: Delete definitions of "min" and "max"; use MIN and MAX now defined 11290: in machmode.h. 11291: * genemit.c, regclass.c, reload.c, reload1.c: Likewise. 11292: * cccp.c (MIN, MAX): Define instead of min and max for consistency. 11293: 11294: * tm-rs6000.h (HARD_REGNO_MODE_OK): Don't put DImode in reg 31; 11295: similarly for TImode. 11296: 11297: * cse.c (cse_skip_to_next_block): Variable deleted. 11298: (cse_insn): Don't set it anymore. 11299: (cse_basic_block): Don't use cse_skip_to_next_block; instead, look 11300: for unconditional jumps explicitly; correctly handle unconditional 11301: jumps to the end of the basic block by extending the basic block in 11302: that case. 11303: 11304: * reload1.c (alter_reg): Ensure that stack slot is always the correct 11305: mode. 11306: 11307: Mon Aug 26 06:20:43 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11308: 11309: * cplus-type2.c (build_functional_cast): Treat constructor casts as 11310: having cleanups in this function. 11311: * cplus-decl.c (finish_decl): Use cleanups created by functinal 11312: casts used as initializers. 11313: 11314: * cplus-init.c (expand_member_init): Call error with 11315: IDENTIFIER_POINTER, not DECL_NAME, of NAME. 11316: 11317: * cplus-method.c (fndecl_as_string): Don't skip `in_charge' 11318: parameter twice. 11319: 11320: * cplus-init.c (build_new): Delete code which short-circuited 11321: multiple indirections in ABSDCL and made everything look like just a 11322: single level of indirection. 11323: 11324: * cplus-typeck.c (warn_for_assignment): Now takes a FUNCTION_DECL 11325: instead of an IDENTIFIER_NODE as an argument. Also, print 11326: reasonable message when ARGNUM < 0. 11327: 11328: * cplus-typeck.c (type_unknown_p): If TREE_CODE (EXP) == TREE_LIST, 11329: it's type is unknown. 11330: 11331: * cplus-typeck.c (commonparms): Don't insert default parmeter values 11332: into existing arg lists. Instead, unify them into new ones only. 11333: 11334: * cplus-typeck.c (convert_for_{initialization,assignment}): Pass 11335: FNDECL instead of function name. Use `lang_printable_name' to pass 11336: printable name to `warn_for_assignment'. 11337: 11338: * cplus-typeck.c (convert_arguments): Don't forcibly convert ptrs to 11339: other things into ptrs to functions just to satisfy the conversion 11340: of virtual functions. 11341: 11342: Sun Aug 25 22:44:57 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11343: 11344: * cplus-typeck.c (compparms): Deal with STRICT == 3. 11345: * cplus-search.c (get_first_matching_virtual): Call `compparms' with 11346: STRICT == 3. 11347: 11348: * cplus-lex.c (operator_name_string): Don't abort if we cannot find 11349: a operator name for NAME. Instead, return identifier for 11350: <invalid operator>. 11351: 11352: Sun Aug 25 15:42:59 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11353: 11354: * cplus-xref.c (FILE_NAME_ABSOLUTE_P): New macro. 11355: (GNU_xref_file): Use it. 11356: (open_xref_file): Use new macro XREF_FILE_NAME if defined. 11357: * cplus-lex.c (FILE_NAME_NONDIRECTORY): New macro. 11358: Used frequently instead of strrchr. 11359: * xm-vms.h: Define those three macros. 11360: 11361: * optabs.c (expand_binop): Use word mode for force_reg on op1 of shift. 11362: 11363: * out-m68k.c (singlemove_string): Use moveq when appropriate. 11364: 11365: * final.c (split_double): Handle all integer constants. 11366: * out-m68k.c (output_move_double): Use split_double for all constants. 11367: * ??? Most out-*.c need changing. 11368: 11369: * c-decl.c (finish_enum): Make some local vars unsigned. 11370: * c-common.c (type_for_size): 11371: * c-convert.c (convert_to_integer): 11372: * tm-i860.h (ASM_OUTPUT_ASCII): 11373: * c-parse.y (yylex): 11374: * expr.c (get_pointer_alignment): 11375: * stor-layout.c (layout_union, layout_record): 11376: * tree.c (get_unwidened, get_narrower): 11377: 11378: * expr.c (emit_library_call): Don't declare va_list as register. 11379: * final.c (asm_fprintf): Likewise. 11380: * tree.c (build, build_nt, build_parse_node): Likewise. 11381: 11382: * expr.c (do_jump_for_compare): Don't assume the compare survives 11383: when the branch is emitted. 11384: 11385: * expr.c (convert_move): Fix typo in prev change. 11386: 11387: * emit-rtl.c (fconst2_rtx, dconst2_rtx): New vars. 11388: (init_emit_once): Initialize them. 11389: 11390: * expmed.c (extract_bit_field, store_bit_field): 11391: For multi-word field, do words from least significant first. 11392: 11393: (extract_split_bit_field): OP0 is only the first word of the 11394: source, so if this is a SUBREG, must call operand_subword on 11395: SUBREG_REG (OP0) instead of OP0. 11396: 11397: * varasm.c (output_constructor): Correctly output constants for 11398: bitfields which are greater than HOST_BITS_PER_INT. Use 11399: TREE_INT_CST_HIGH for the high bits. 11400: 11401: * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): New parameters. 11402: (enquire, enquire.o): Use them. 11403: 11404: * tm-sysv4.h: New file, cut out from tm-m88k.h. 11405: * tm-m88k.h: Include that. 11406: 11407: * vax.md (sltu, sgeu): New patterns. 11408: 11409: Sat Aug 24 11:19:43 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11410: 11411: * cplus-init.c (build_offset_ref): Pass a TYPE_DECL node, not a 11412: RECORD_TYPE node, to `build_component_type_expr'. 11413: 11414: * cplus-cvt.c (convert_to_integer): Warn about conversion from 11415: integral type to enumeral type if FLAG_INT_ENUM_EQUIVALENCE is zero. 11416: (convert_force): Set FLAG_INT_ENUM_EQUIVALENCE non-zero when calling 11417: `convert'. 11418: 11419: * cplus-typeck.c (build_x_*_op): Don't try using built-in operators 11420: if user-defined ones are not accessible. 11421: 11422: * cplus-init.c (expand_aggr_init_1): Use `expand_expr' to set the 11423: DECL_RTL of the TARGET_EXPR. This is a generalization of code that 11424: used to require that EXP be some sort of _DECL. 11425: 11426: * cplus-init.c (init_init_processing): Link global runtime functions 11427: __builtin_new and __builtin_delete to their canonical operator 11428: names (i.e., op$nw and op$dl). 11429: 11430: * cplus-lex.c (init_lex): Don't see `dynamic' as a reserved word if 11431: SOS is not defined. 11432: * cplus-decl2.c (flag_dynamic): Delete unused variable. 11433: 11434: * cplus-decl.c (define_case_label): Give error when case label cuts 11435: into a binding contour with cleanups. 11436: * stmt.c (last_cleanup_this_contour): Changed name from 11437: `this_contour_has_cleanups_p'. Now returns last cleanup, if there 11438: was one. 11439: * tree.h: Declare `last_cleanup_this_contour'. 11440: 11441: * cplus-decl.c (grokdeclarator): Don't let member functions have 11442: static linkage. 11443: 11444: * cplus-tree.c (layout_basetypes): Copy non-virtual basetypes of 11445: virtual basetypes so that search routines can find ambiguities 11446: arising in lattices where the same type appears as a non-virtual 11447: basetype of different types in the lattice. 11448: (copy_nonvirtual_children): Implement a recursive deep-copy of 11449: nonvirtual types in an inheritance lattice. 11450: 11451: * cplus-search.c (lookup_fnfields): Correctly catch case where there 11452: are multiple functions in an MI lattice. 11453: * cplus-call.c (ideal_candidate): If we find a requested function is 11454: ambiguous in an MI lattice, set CP->EVIL to 1. 11455: (build_method_call): If CP->EVIL is set on return from 11456: `ideal_candidate', return error_mark_node. 11457: 11458: * cplus-decl.c (lookup_name): Prefer finding typenames to overloaded 11459: functions where there's a collision. 11460: (pushdecl): Don't override the declaration of global functions with 11461: a TYPE_DECL that has the same name. `lookup_name' now knows how to 11462: find both. 11463: (globalize_nested_type): Changed to look in IDENTIFIER_TYPE_VALUE 11464: slot for global definitions that are not in IDENTIFIER_GLOBAL_VAL. 11465: * cplus-type2.c (build_functional_cast): Deal with more ambiguities 11466: and more cases where the syntactic form `NAME ( PARMS )' can have 11467: meaning. 11468: 11469: Sat Aug 24 01:33:00 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11470: 11471: * expr.c (convert_move): Make integer extension general. 11472: 11473: * optabs.c (init_extends, gen_extend_insn): Finish and turn on. 11474: 11475: * reload1.c (possible_group_p): Insist on regs in needed class. 11476: 11477: * SYSCALLS.c (alloca): Declare arg as size_t. 11478: 11479: * expr.c (store_constructor): Handle union constructor. 11480: 11481: * final.c (split_double): long long CONST_DOUBLE now has VOIDmode. 11482: 11483: * optabs.c (expand_binop): Fix carry propagation bugs. 11484: Handle carry propagation for big-endian case. 11485: 11486: Fri Aug 23 21:29:46 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11487: 11488: * cplus-decl.c (finish_decl): More PIC fixes. Also, don't assign 11489: any storage for static member variables except when they are being 11490: defined. 11491: 11492: * cplus-init.c (build_virtual_init): Change interface to take 11493: MAIN_ASSOC instead of FOR_TYPE. 11494: (expand_aggr_init_1): Ditto. 11495: (expand_recursive_init_1): Ditto. 11496: (expand_aggr_vbase_init{_1}): Change interface to take an assoc 11497: instead of a type. 11498: (expand_recursive_init): Ditto. 11499: 11500: * cplus-pt.c (uses_template_parms): Handle PARM_DECL nodes. 11501: 11502: * cplus-search.c (get_base_assoc): Use ASSOC_MARKED instead of 11503: ASSOC_BASETYPE_MARKED to mark visited nodes. 11504: (lookup_field, loopup_fnfields): Use ASSOC_FIELDS_MARKED instead of 11505: ASSOC_VBASE_MARKED when searching. 11506: ({bfs_,un,bfs_un}marked2p): Deleted, unused. 11507: (dfs_{un}mark2): Deleted, unused. 11508: (dfs_unmark12): Deleted, unused. 11509: (build_vbase_vtables_init): Change interface to take MAIN_ASSOC 11510: instead of FOR_TYPE. 11511: 11512: Fri Aug 23 18:31:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11513: 11514: * expr.c (do_store_flag): Give up if can't directly compare args. 11515: 11516: Fri Aug 23 18:00:58 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11517: 11518: * function.c (instantiate_virtual_regs_1): Add new arg and now returns 11519: int instead of void. 11520: All callers changed. 11521: 11522: * expr.c (compare_constants): Deleted. 11523: (compare_from_rtx): Use simplify_relational_operation instead of 11524: compare_constants; abort is not needed since 11525: simplify_relational_operation will return 0 if given VOIDmode. 11526: 11527: * cse.c (fold_rtx): Correctly compute mode of operands being 11528: compared. 11529: 11530: Fri Aug 23 17:16:27 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11531: 11532: * stmt.c (expand_end_case): 11533: Avoid special cases for modes when widening. 11534: Realize __builtin_classify_type reduces to int constant. 11535: 11536: * optabs.c (emit_cmp_insn): New arg, MODE. All callers changed. 11537: If both args are const_int, copy one to a reg. 11538: 11539: Fri Aug 23 15:54:21 1991 (Eric Youngdale at [email protected]) 11540: 11541: * make-cc1.com: Fix bug where cplus-parse.y was always being passed 11542: through bison, whether it needed it or not. 11543: 11544: Fri Aug 23 15:20:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11545: 11546: * stmt.c (expand_end_case): Remove Aug 12 change. 11547: Convert index to nominal_type for subtraction. 11548: 11549: Thu Aug 22 14:34:21 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11550: 11551: * configure, config.gcc: Switch to all-dashes config names. 11552: 11553: * gnulib2.c [U_udivdi3, L_muldi3]: Define __clz_tab for longlong.h. 11554: 11555: Thu Aug 22 00:28:29 1991 Torbjorn Granlund (tege at zevs) 11556: 11557: * longlong.h: Rename BITS_PER_LONG to LONG_TYPE_SIZE. 11558: * longlong.h (__ibm032__): Define count_leading_zeros and umul_ppmm. 11559: * longlong.h: Define UMUL_TIME and UDIV_TIME for some CPUs. 11560: * longlong.h (__sparc__ umul_ppmm): Move two insn from end to the 11561: nops. (Saves two insn.) 11562: * longlong.h (__sparc__ umul_ppmm): Rewrite in order to avoid 11563: branch, and to permit input/output register overlap. 11564: * longlong.h (__29k__): Remove duplicated udiv_qrnnd definition. 11565: * longlong.h (__29k__ umul_ppmm): Split asm instructions into two 11566: asm statements (gives better code if either the upper or lower 11567: part of the product is unused. 11568: * longlong.h: Mention UDIV_NEEDS_NORMALIZATION in description of 11569: udiv_qrnnd. 11570: * longlong.h (IBMR2): Add udiv_qrnnd. 11571: * longlong.h (add_ssaaaa, sub_ddmmss [C default versions]): Make __x 11572: `unsigned long int'. 11573: * longlong.h: Add `int' after `unsigned' and `long' everywhere. 11574: * longlong.h: Add ARM, i860 support. 11575: * longlong.h (sparc umul_ppmm): Use __asm__, not asm. 11576: * longlong.h (IBMR2 umul_ppmm): Refer to __m0 and __m1, not to m0 11577: and m1 (overlap between output and input operands did not work). 11578: * longlong.h: Add VAX, ROMP and HP-PA support. 11579: * longlong.h: Sort the machine dependent code in alphabetical order 11580: on the CPU name. 11581: * longlong.h: Hack comments. 11582: * longlong.h: Define BITS_PER_LONG to 32 if it's not already 11583: defined. 11584: * Define __BITS4 to BITS_PER_LONG / 4. 11585: * Don't assume 32 bit word size in "count_leading_zeros" C macro. 11586: Use __BITS4 and BITS_PER_LONG instead. 11587: * longlong.h (68k): Define add_ssaaaa sub_ddmmss, and umul_ppmm 11588: even for plain mc68000. 11589: * longlong.h: Clean up comments. 11590: * longlong.h: Don't use #elif. 11591: * longlong.h: Use __asm__ instead of asm. 11592: * longlong.h (sparc udiv_qrnnd): Make it to one string over several 11593: lines. 11594: * longlong.h: Preend __ll_ to B, highpart, and lowpart. 11595: * longlong.h: Move array t in count_leading_zeros to gnulib2.c 11596: Rename the array __clz_tab. 11597: * longlong.h (umul_ppmm [C variant]): Make __ul...__vh 11598: `unsigned int', and cast the multiplications. This way 11599: compilers more easily can choose cheaper multiplication 11600: instructions. 11601: 11602: Thu Aug 22 07:36:40 1991 Tom Wood (wood at dg-rtp.dg.com) 11603: 11604: * rtl.h: Declare simplify_relational_operation. 11605: 11606: * out-m88k.c (output_file_start): Put the `gcc2_compiled.' symbol 11607: in the data section. Eliminates symbol translation problems with 11608: debuggers. 11609: 11610: Changes from Ron Guilmette: 11611: * toplev.c (compile_file): Use dwarfout_finish when done. 11612: * final.c (output_source_line): Use dwarfout_line. 11613: * dwarfout.c (dwarfout_finish): Rename from dwarfout_finalize. 11614: * tm-m88k.h (ASM_OUTPUT_DWARF_LINE, ASM_FILE_END): No need for 11615: dwarf specific actions. 11616: 11617: Thu Aug 22 05:29:57 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11618: 11619: * combine.c (can_combine_p): Don't combine if INSN has REG_RETVAL note. 11620: (try_combine): Similarly, don't combine if I3 has REG_LIBCALL note. 11621: 11622: * flow.c (propagate_block): Don't use variable PREV in 11623: nested blocks that shadows PREV at function level. 11624: If we handle this insn normally, arrange to scan any insns that 11625: were inserted in front of it for making auto-inc addressing. 11626: 11627: * integrate.c (save_for_inline_copying): Clear CONST_DOUBLE 11628: memory chain. 11629: 11630: * toplev.c (fatal_insn_not_found): Now that it is called in final.c 11631: when an insn doesn't match constraints, write different error 11632: message in that case. 11633: * genattrtab.c (write_attr_case): Call fatal_insn_not_found instead 11634: of abort when constrain_operands fails. 11635: 11636: Thu Aug 22 05:29:09 1991 Matthew Self (mself at next.com) 11637: 11638: * rtl.c (add_dependence): Uses of RTX_UNCHANGING_P should now be 11639: SCHED_GROUP_P. 11640: 11641: Thu Aug 22 00:34:20 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11642: 11643: * recog.c (offsettable_address_p): Always pass QImode to addressp. 11644: 11645: Wed Aug 21 09:20:09 1991 Michael Meissner (meissner at osf.org) 11646: 11647: * tm-decrose.h (LINK_SPEC): Allow -pic-none, -glue, -noshrlib 11648: switches. 11649: (LIB_SPEC): Add -L/usr/ccs/lib to get new 1.1 linker to use static 11650: libraries instead of shared libraries, since the shared library 11651: support has not yet been added. 11652: 11653: Wed Aug 21 06:18:12 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11654: 11655: * out-rs6000.c (print_operand, case 'Y', 'Z'): Fix typo in 11656: auto-inc case. 11657: * rs6000.md (movti): Add missing %U in memory cases. 11658: 11659: * tm-rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Indexed addresses are not 11660: valid for DImode and TImode. 11661: * out-rs6000.c (indexed_mem_operand): Deleted. 11662: (print_operand, case 'X'): Don't use indexed_mem_operand; check 11663: ourselves instead. 11664: * rs6000.md (movdi, movti): Don't check for indexed memory operands. 11665: 11666: Tue Aug 20 16:02:41 1991 Tom Wood (wood at dg-rtp.dg.com) 11667: 11668: * sdbout.c (sdbout_parms): Handle parm passed in reg and living in 11669: pseudo that was optimized away. 11670: 11671: Mon Aug 19 19:10:42 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11672: 11673: * combine.c (simplify_comparision, case NEG): Can only convert 11674: (-a) < C to a > C if C is zero. 11675: 11676: * expmed.c (store_bit_field, extract_bit_field): Use WORD_MODE for 11677: mode of BITS_PER_WORD to avoid conflict with other use of variable 11678: named MODE. 11679: 11680: * cse.c (cse_insn): Don't make a REG_EQUAL note whose contents 11681: are a REG; the REG might have been eliminated. 11682: 11683: * reload1.c (reload_as_needed): Pass any CLOBBERs made when reloading 11684: an insn to `forget_old_reloads_1'. 11685: 11686: Mon Aug 19 12:47:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11687: 11688: * configure (m88k-luna): Rename alternative appropriately. 11689: 11690: * cse.c (simplify_relational_operation): Split out from ..._binary_... 11691: (fold_rtx): Use that function for relationsals. 11692: (simplify_binary_operation): Don't allow relationals. 11693: * combine.c (subst, gen_binary): Use simplify_relation_operation. 11694: * integrate.c (subst_constants): Likewise. 11695: * jump.c (jump_optimize): Likewise. 11696: 11697: * c-common.c (shorten_compare): Warn about unsigned >= 0. 11698: 11699: Sun Aug 18 17:29:16 1991 (Eric Youngdale at [email protected]) 11700: 11701: * tm-vms.h (ASM_OUTPUT_EXTERNAL): Remove code to round the storage 11702: size up to a multiple of 4 bytes. 11703: 11704: Sun Aug 18 15:35:27 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11705: 11706: * dbxout.c (dbxout_parms): 11707: Handle parm passed in reg and living in pseudo that was optimized away. 11708: 11709: * function.c (init_function_start): Give decl_printable_name both args. 11710: 11711: * expr.c (compare_from_rtx): 11712: Don't change to unsigned if too wide for host int. 11713: * cse.c (fold_rtx): Use mode_arg0 to simplify comparison ops. 11714: Update mode_arg0 when we look at value of cc0. 11715: 11716: * cse.c (cse_insn): Really don't record bitfield destinations 11717: unless source is constant which fits. 11718: But pre-truncate other constants. 11719: 11720: * config.subr: Allow $os to be empty. 11721: 11722: * function.c (lookup_static_chain): Check for 0 before inline function. 11723: 11724: * config.subr (pc532, minix): New alternatives. 11725: 11726: * configure (editing Makefile): Use cross-make. 11727: * Makefile.in (install-cross): Change dep to install-gnulib. 11728: 11729: Sat Aug 17 17:18:05 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11730: 11731: * All cplus-* files: Change the representation of the C++ 11732: inheritance lattice for types. There is no longer such a thing as a 11733: classtype_variant. Instead, types all have their own lattices 11734: accessed via their CLASSTYPE_ASSOC field. 11735: 11736: * cplus-tree.h (lang_type): Delete fields OFFSET, 11737: MAIN_CLASS_VARIANT, NEXT_CLASS_VARIANT, VIA_PUB_OR_VIRT. 11738: Rename field AS_ID_LIST to ID_AS_LIST, since it's a list. 11739: (CLASSTYPE_AS_ID_LIST): Renamed to CLASSTYPE_ID_AS_LIST. 11740: Add field ASSOC_AS_LIST, which is a TREE_LIST whose TREE_VALUE is 11741: the assoc for the type. 11742: (CLASSTYPE_VIA_*, SET_CLASSTYPE_VIAS): Deleted. 11743: (CLASSTYPE_OFFSET*): Deleted. 11744: (CLASSTYPE_N_BASECLASSES): Now uses type's assoc. TYPE_BASETYPES 11745: field is unused. Next change will make TYPE_BASETYPES hold the 11746: assoc field. 11747: (CLASSTYPE_VBASE_SIZE): Use slot in TYPE_LANG_SPECIFIC instead of 11748: sneaking it into the TREE_TYPE field of the basetypes. 11749: 11750: (ASSOC_TYPE): Deleted. Now use ASSOC_VALUE everywhere. 11751: (ASSOC_{BASETYPE,BASETYPES}): New macros. Both are operations on 11752: assocs and return assocs. 11753: (CLASS_ASSOC_BASETYPE): New macro. This performs roughly the same 11754: function that CLASSTYPE_BASECLASS used to, but it retains no assoc 11755: info in the type it returns. 11756: (ASSOC_NEXT_ASSOC): New macro used for traversing assoc chains built 11757: up by search routines. 11758: (ASSOC_VIA_{PUBLIC,VIRTUAL}): New macros for accessing inheritance 11759: information. CLASSTYPE_VIA_{PUBLIC,VIRTUAL} no longer used. 11760: (ASSOC_CID): New macro. 11761: 11762: (DECL_ANON_UNION_ELEM): Deleted. Now anonymous union decls are 11763: distinguished as FIELD_DECLs with NULL DECL_NAMEs and UNION_TYPE 11764: types. 11765: 11766: (DERIVED_FROM_P): New macro. Change calls that testing inheritance 11767: relationships (get_base_type and get_base_distance) to use this macro. 11768: 11769: * cplus-type2.c (basetype_or_else): Change interface to use/return an 11770: assoc instead of a type. Change name to base_assoc_or_else. 11771: 11772: * cplus-tree.c (build_classtype_variant): Deleted. 11773: (copy_type_lang_specific): Deleted. 11774: * all cplus-* files: Everything that used to use CLASSTYPE_OFFSET on 11775: types now uses ASSOC_OFFSET on assocs. 11776: 11777: * cplus-class.c (propagate_basetype_offsets): Change interface to use 11778: assocs instead of types. Change name to propagate_assoc_offsets. 11779: * cplus-search.c (get_base_type): Ditto; name changed to 11780: get_base_assoc. 11781: 11782: * cplus-cvt.c (convert_pointer_to): Change interface to use an assoc 11783: instead of a type. 11784: (convert_pointer_to_vbase): Ditto. 11785: * cplus-call.c (build_field_call): Ditto. 11786: * cplus-class.c (get_vfield_offset): Ditto. 11787: (build_method_call): Ditto. 11788: (maybe_fixup_vptrs): Ditto. 11789: * cplus-search.c (get_first_matching_virtual): Ditto. 11790: (get_virtuals_named_this): Ditto. 11791: (tree_needs_constructor_p): Ditto. 11792: (get_virtual_destructor): Ditto. 11793: (tree_has_any_destructor_p): Ditto. 11794: (get_baselinks): Ditto. 11795: (lookup_{field,fnfields}): Ditto. Also, use ASSOC_VBASE_MARKED 11796: instead of CLASSTYPE_MARKED2 to mark virtual basetypes that have 11797: been visited. 11798: (build_vbase_vtables_init): Ditto. 11799: ({build,free}_mi_matrix): Ditto. 11800: * cplus-init.c (expand_aggr_init_1): Ditto. 11801: (expand_aggr_vbase_init_1): Ditto. 11802: (build_virtual_init): Ditto. 11803: * cplus-class.c (build_class_init_list): Rewritten to build list with 11804: assoc entries instead of types. Also, use new macro 11805: ASSOC_BASEINIT_MARKED instead of CLASSTYPE_MARKED6. 11806: (finish_base_struct): New argument ASSOCS is the list of assocs that 11807: describe the basetypes of T. 11808: 11809: * cplus-tree.c (make_lang_type): Always initialize 11810: CLASSTYPE_VBASE_SIZE to integer_zero_node. To test if a class has 11811: virtual baseclasses, test CLASSTYPE_VBASECLASSES, not 11812: CLASSTYPE_VBASE_SIZE. 11813: 11814: * cplus-class.c (finish_struct): Rewritten to use assocs instead of 11815: types where appropriate. 11816: 11817: * cplus-search.c (get_base_distance): Change interface to use assocs 11818: or types. Also, PATH_PTR argument is now an assoc chain, not a 11819: TREE_LIST. Algorithm to find leftmost path is now more efficient. 11820: (compute_visibility): Uses assoc chain instead of TREE_LIST of 11821: types. 11822: (recursive_bounded_basetype_p): New function. 11823: (dfs_walk, dfs_* functions): Change to be called with assocs instead 11824: of types. 11825: (breadth_first_search, all bfs_*): Ditto. 11826: cplus-tree.c (reverse_path): New function. Like nreverse, but works 11827: on assoc chains. 11828: 11829: * cplus-class.c (build_vtable, prepare_fresh_vtable, 11830: modify_vtable_{entries,entry},): Change interfaces to use assocs 11831: instead of types. Use macro ASSOC_VTABLE_PATH_MARKED on the assocs 11832: instead of CLASSTYPE_MARKED3. Use macro ASSOC_NEW_VTABLE_MARKED on 11833: the assocs instead of CLASSTYPE_MARKED4. 11834: 11835: * cplus-dbxout.c: Now needs to know more about assocs. When assocs 11836: are put in the TYPE_BASETYPEs field, it should not need to know 11837: about lang_type. 11838: 11839: * cplus-decl.c (xref_tag): Rewritten to build proper assoc lists. No 11840: longer builds basetype lists. 11841: (finish_function): Make `flag_no_inline' really take effect. 11842: 11843: * cplus-tree.c (make_assoc): Changed for new assoc structure. The 11844: fields in assocs are now: VALUE (pointer to TYPE that this assoc is 11845: for), OFFSET (the byte offset of this basetype in the whole object), 11846: VTABLE (the virtual function table that should be used to initialize 11847: objects controlled by this assoc), VIRTUALS (the virtual functions 11848: to use for initializing VTABLE), BASETYPES (a TREE_VEC of basetypes 11849: that this assoc has, or NULL_TREE if none), NEXT_ASSOC (a temporary 11850: slot used to point to the next assoc in an assoc chain), 11851: VIA_{PUBLIC,VIRTUAL} bits saying whether this assoc is a basetype of 11852: its parent via public or virtual inheritance. 11853: 11854: * cplus-ptree.c (print_lang_type): Modified as necessary to cope with 11855: new inheritance structure. 11856: 11857: * cplus-search.c (get_base_type_1): This function was unused and 11858: wrong. Deleted. 11859: 11860: * cplus-tree.c (layout_basetypes): Take new arg ASSOCS. Layout the 11861: basetypes my modifying the assocs, not the types. 11862: (layout_vbasetypes): Ditto. 11863: 11864: * all cplus-* files: Removed dead code, unused variables, and change 11865: asserts where appropriate. 11866: 11867: * all cplus-* files: DECL_VIRTUAL_P is no longer used as a truth test 11868: for whether or not a function is virtual. Use a test for non-NULL 11869: DECL_VINDEX instead. 11870: 11871: Sat Aug 17 15:16:40 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11872: 11873: * function.h (inline_function_decl): Declare it. 11874: * integrate.c: Include function.h; don't declare var here. 11875: 11876: * rtl.h (regno_reg_rtx): Declare it. 11877: 11878: * stmt.c (expand_end_case): 11879: When filling labelvec from case range, avoid overflow in i. 11880: 11881: Fri Aug 16 23:06:37 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11882: 11883: * c-typeck.c (build_binary_op_nodefault): 11884: Take out warning added by recent changes. 11885: 11886: Fri Aug 16 22:00:09 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11887: 11888: * function.c (inline_function_decl): New var. 11889: (lookup_static_chain): Decl is local if context is function being 11890: inlined. 11891: * integrate.c: Remove partially-completed previous change. 11892: (expand_inline_function): Set inline_function_decl. 11893: 11894: Fri Aug 16 21:41:10 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 11895: 11896: * a29k.md (insv,extv): Changed POS / SIZE to POS / 8, since high 11897: order bit of BP selects half-word position for half-word ops. 11898: 11899: Fri Aug 16 18:52:35 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 11900: 11901: * combine.c (distribute_links): Only put link on new insn if the 11902: insn uses the register. If first find an insn that sets the 11903: register but does not otherwise use it, then drop the link. 11904: 11905: * combine.c (distribute_links): Strip off SUBREG, ZERO_EXTRACT, 11906: etc. from the destination of the set before passing it to 11907: reg_mentioned_p and reg_referenced_p. 11908: 11909: Sat Aug 16 17:02:53 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 11910: 11911: * cplus-pt.c (uses_template_parms): Run loop over _EXPR nodes from 11912: TREE_CODE_LENGTH-1 to 0, not from TREE_CODE_LENGTH. 11913: 11914: * cplus-decl.c (grokfndecl): Change `==' to `=' in assignment to 11915: `raises' 11916: (finish_decl): If FLAG_PIC is nonzero, leave initialized data in 11917: common space. 11918: 11919: Fri Aug 16 13:13:11 1991 James Van Artsdalen (james at bigtex.cactus.org) 11920: 11921: * reg-stack.c (current_function_returns_real): New variable. 11922: (reg_to_stack): Set it. 11923: (stack_reg_life_analysis): Use it. 11924: (emit_pop_insn): Return the new insn. 11925: (convert_regs): Pop any stack regs live at the end of the last basic 11926: block. 11927: 11928: Fri Aug 16 16:16:45 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 11929: 11930: * tm-sparc.h (SELECT_SECTION): Don't put relocatable values into 11931: text space if generating position-independent code. 11932: 11933: Fri Aug 16 16:00:30 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11934: 11935: * protoize.c (__flsbuf): Decl deleted; no need. 11936: [ultrix]: Include string.h, not strings.h. 11937: 11938: * function.c (instantiate_virtual_regs_1): Bug adding NEW to addr of X. 11939: 11940: Fri Aug 16 08:51:25 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11941: 11942: * expr.c (expand_expr, case ABS_EXPR, MIN_EXPR, MAX_EXPR): Don't 11943: allow TARGET to be a hard reg because evaluating the comparison 11944: might clobber it. 11945: 11946: Thu Aug 15 23:38:04 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11947: 11948: * tm-m68k.h (PRINT_OPERAND): Use asm_fprintf to print immed prefix. 11949: 11950: Thu Aug 15 23:36:12 1991 Micheal Tiemann (tiemann at pogo.gnu.ai.mit.edu) 11951: 11952: * cplus-decl.c (finish_enum): Remove last traces of Wood's mistaken 11953: changes for tag handling in C++. 11954: * cplus-class.c (finish_struct): Ditto. 11955: 11956: Tue Aug 13 06:12:18 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 11957: 11958: * jump.c (find_cross_jump): When avoiding CALL_INSNs, don't 11959: return a CODE_LABEL as a cross-jump point; use next_real_insn instead 11960: of next_nonnote_insn. 11961: 11962: * fold-const.c (optimize_bit_field_compare, merge_component_reference): 11963: Use mode_for_size to get mode for word; don't use SImode. 11964: * tree.c (build_index_type, build_index_2_type): Don't use SImode; 11965: get mode of SIZETYPE instead. 11966: 11967: * optabs.c (emit_cmp_insn): Use type of int instead of SImode for 11968: return from memcmp and bcmp. 11969: 11970: Mon Aug 12 17:54:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11971: 11972: * stmt.c: Include recog.h. 11973: * stmt.c (expand_end_bindings): Expect abort to return void. 11974: (expand_end_case): Give tablejump whatever mode it wants. 11975: 11976: * integrate.c (integrate_type): New function. 11977: * c-typeck.c (build_binary_op_nodefault): Rewrite last change. 11978: 11979: * Makefile.in (install): Indirect through INSTALL_TARGET. 11980: (install-native): New name for old install target. 11981: (INSTALL_TARGET): New variable. 11982: * cross-make (INSTALL_TARGET): Override it. 11983: 11984: Mon Aug 12 17:25:48 1991 Michael Meissner (meissner at osf.org) 11985: 11986: * out-mips.c (toplevel, override_options, siginfo): If the OSF/1 11987: SIGINFO signal is provided, invoke siginfo handler, which prints 11988: which file is being compiled, and runs ps on the compiler and it's 11989: parent. 11990: 11991: * make-decrose (CC, OLDCC): Define CC and OLDCC to be the same, so 11992: that tests within Makefile.in work as expected. 11993: (LIB2FUNCS_EXTRA): Put osf-main in the gnulib2 portion of the 11994: library, instead of the gnulib1 portion. 11995: 11996: Mon Aug 12 16:31:47 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 11997: 11998: * explow.c (expr_size): Fix typo. 11999: 12000: Mon Aug 12 14:27:31 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 12001: 12002: * expr.c (expand_expr, case COND_EXPR): Fix typo in comment. 12003: In the singleton code, don't accept a hard register as a target if 12004: we are going to store into it before testing the condition because 12005: that evaluation may involve a subroutine call which might clobber it. 12006: 12007: * rtl.h (SCHED_GROUP_P): Fix typo in definition. 12008: 12009: Mon Aug 12 08:01:01 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12010: 12011: * jump.c (find_cross_jump): Look at REG_EQUIV notes in addition to 12012: REG_EQUAL notes. 12013: (do_cross_jump): Remove REG_EQUAL or REG_EQUIV notes present on only 12014: one branch of the cross-jump so we don't get confused by them if we 12015: cross-jump again. 12016: 12017: Mon Aug 12 01:44:26 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 12018: 12019: * unroll.c (unroll_loop): When naively unrolling loops, if the last 12020: jump insn is an unconditional jump, and it does not jump to the loop 12021: top, then it must be copied with the rest of the loop body. 12022: 12023: * rtl.h: Clean up documentation for uses of volatil and in_struct 12024: fields of an rtx. 12025: * gcc.texinfo: Document macros CONST_CALL_P, LABEL_PRESERVE_P, and 12026: SCHED_GROUP_P. Clean up documentation for uses of used, in_struct, 12027: and unchanging fields of an rtx. 12028: 12029: * final.c (final_scan_insn): In the ASM_OUTPUT_LOOP_ALIGN code, 12030: must verify that next exists before checking whether it is a label. 12031: 12032: Sun Aug 11 16:46:17 1991 James Van Artsdalen (james at bigtex.cactus.org) 12033: 12034: * i386.md (cmpstrsi): Enable it. Now uses REG as output, not cc0. 12035: Old cc0-output pattern remains for combining cmpstrsi & test pairs. 12036: 12037: Sun Aug 11 15:52:33 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12038: 12039: * dbxout.c (dbxout_symbol): Handle var-length array with reference. 12040: 12041: * c-decl.c (xref_tag): Copy default mode from unsigned_type_node. 12042: * explow.c (expr_size): Get it from size_type. 12043: * reload1.c (allocate_reload_reg): No need to validate mode of 12044: reload_in if that value is a const_int. 12045: 12046: * expr.c (expand_builtin): Get value mode properly, for memcmp. 12047: 12048: Sun Aug 11 15:52:33 1991 Jim Wilson (wilson at cygint.cygnus.com) 12049: 12050: * dbxout.c (dbxout_symbol): DECL_ASSEMBLER_NAME is a tree, not a 12051: character string, so call IDENTIFIER_POINTER before printing it. 12052: 12053: * fold-const.c (fold): When converting foo++ == CONST to ++foo == 12054: CONST + INCR, the plus must have the same TREE_TYPE as the 12055: postincrement, not the comparison. 12056: 12057: Sat Aug 10 22:58:01 1991 Michael Meissner (meissner at osf.org) 12058: 12059: * mips.md (extendqihi2 define_split): Use SImode on shifts rather 12060: than HImode, and turn result register into SImode as well. 12061: 12062: Sat Aug 10 21:00:59 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 12063: 12064: * calls.c (emit_call_1): New argument is_const. Set CONST_CALL_P 12065: true for the call_insn if is_const is true. 12066: (expand_call): Pass is_const to emit_call_1. 12067: * expr.c (emit_library_call): Pass no_queue to emit_call_1. 12068: Document that no_queue means that the function call is const. 12069: * local-alloc.c (validate_equiv_mem): Don't invalidate memory for 12070: const calls. 12071: * rtl.h: Update comments describing uses of rtl unchanging and 12072: in_struct bits. 12073: (CONST_CALL_P): New macro. True for a call_insn if it is calling 12074: a const function. Uses the unchanging bit. 12075: (SCHED_GROUP_P): New macro. True for an insn if it must be 12076: scheduled together with the previous insn. Uses the in_struct bit. 12077: * sched.c: Rewrite to use new SCHED_GROUP_P macro insead of 12078: RTX_UNCHANGING_P. 12079: (sched_analyze): Rewrite to use new CONST_CALL_P macro. 12080: 12081: * sched.c (schedule_block): Don't schedule a block with a volatile 12082: or traditional asm insn. There is currently no code to correctly 12083: handle dependencies for them. 12084: 12085: * combine.c (distribute_links): Fix typo in comment. 12086: 12087: Sat Aug 10 18:42:22 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12088: 12089: * emit-rtl.c (operand_subword): Replace explicit SImode references 12090: with mode for BITS_PER_WORD bits. 12091: 12092: Sat Aug 10 14:17:08 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12093: 12094: * calls.c (expand_call): Handle ARGS_GROW_DOWNWARD. 12095: 12096: * ns32k.md (call_value): Consistently realize function is operand 1. 12097: 12098: * cccp.c (do_include): Get current dir from nominal_fname. 12099: 12100: * expr.c (expand_builtin): Give cmpstr* a target in the mode it wants. 12101: * optabs.c (expand_cmp_insn): Likewise. 12102: 12103: Fri Aug 9 09:59:27 1991 Tom Wood (wood at dg-rtp.dg.com) 12104: 12105: * dwarfout.c (output_symbols_for_block): Fix typo in iterating over 12106: subblocks. 12107: 12108: * make-m88k{,dgux,luna}: Eliminate m88k-trace.asm. 12109: * tm-m88k.h, out-m88k.c: Make -mbig-pic a synonym for -fPIC. 12110: Delete -mtrace-function. 12111: 12112: * Makefile.in (CROSS_TOOLS): New variable. 12113: (gnulib1.null, gnulib2.ready): Depend on CROSS_TOOLS. 12114: (gnulib1.null): Use $(AR) $(AR_FLAGS). 12115: * cross-make (CROSS_TOOLS): Define as install-cross-tools. 12116: 12117: Fri Aug 9 15:21:16 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12118: 12119: * optabs.c (emit_cmp_insn): Expect cmpstr* to have result operand. 12120: Test the sign of the result we get. 12121: i386.md needs to be changed. 12122: 12123: Fri Aug 9 11:09:22 1991 (Eric Youngdale at [email protected]) 12124: 12125: * make-cc1.com: Fix bug where the wrong program was being run to 12126: generate insn-attrtab.c, and, add DEBUG option, so that images can be 12127: linked to run under the debugger. 12128: 12129: Fri Aug 9 06:42:15 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12130: 12131: * genemit.c (gen_split): Add "_fail:" label here too. 12132: 12133: * tree.h (STRIP_NOPS): Define macro here; add CONVERT_EXPR to list 12134: of operations to possibly ignore. 12135: * fold-const.c (STRIP_NOPS): Not here. 12136: * expr.c (strip_nops): Delete function. 12137: (string_constant): Use STRIP_NOPS macro instead of strip_nops function. 12138: 12139: * global-alloc.c (expand_preferences): New function. 12140: (global_alloc): Call it. 12141: 12142: Fri Aug 9 01:19:26 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 12143: 12144: * optabs.c (emit_cmp_insn): Correct typo in spacing. 12145: 12146: * unroll.c: Correct typo in comment. Document that unrolling a 12147: loop by a multiple of the number of memory accesses is a win. 12148: (unroll_loop): New variable last_loop_insn, points to the last 12149: real insn in the loop, which will either be a jump or a barrier. 12150: Use last_loop_insn instead of assuming that PREV_INSN (loop_end) 12151: is that last real insn in the loop. 12152: Standardize comments printed to loop dump file when we can't 12153: unroll a loop, so that they all start with "Unrolling failure". 12154: No longer assumes that the insn before the backward jump is a 12155: compare unless HAVE_cc0. If not HAVE_cc0, then must copy this 12156: insn, and for loop_iterations == 1 case, can not delete this insn. 12157: If last_loop_insn is not a JUMP_INSN or BARRIER, then do not 12158: unroll the loop. 12159: (precondition_loop_p): Fail if loop_iteration_var is not live 12160: before loop_start. 12161: (copy_loop_body): Rewrite obsolete and misleading comment 12162: concerning the splitting of address givs. 12163: (back_branch_in_range_p): Correct typo in comment. No longer 12164: assumes that PREV_INSN (loop_end) is the backward branch at the 12165: end of the loop. 12166: (fold_rtx_mult_add): Rewrite to use simplify_binary_operation. 12167: (iteration_info): Fail if iteration variable is larger than 12168: HOST_BITS_PER_LONG, or if it does not have an integer mode. 12169: (find_splittable_givs): If an address giv was combined with 12170: another address giv, then we can only split the first giv if the 12171: second was actually reduced. 12172: (loop_iterations): New variable last_loop_insn, use instead of 12173: assuming that the last jump insn if PREV_INSN (loop_end). 12174: Correct typo in comment. 12175: 12176: Thu Aug 8 17:57:41 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12177: 12178: * Makefile.in (gnulib1.null): Use *_FOR_TARGET variables. 12179: (TARGET_TOOLPREFIX): New variable. 12180: (AR_FOR_TARGET, AR_FOR_TARGET_FLAGS): New variables. 12181: (RANLIB_FOR_TARGET, RANLIB_TEST_FOR_TARGET): New variables. 12182: * cross-make: New file. 12183: * configure: Insert cross-make into Makefile. 12184: 12185: * tm-m68k.h (LEGITIMIZE_ADDRESS): Copy address before changing it. 12186: (COPY_ONCE): New macro, subroutine for LEGITIMIZE_ADDRESS. 12187: 12188: * toplev.c (main): Accept -g with warning if not supported. 12189: 12190: * Makefile.in (install-cross-tools): Do nothing unless have gcc-cross. 12191: (gnulib2.ready): Depend on install-cross-tools. 12192: 12193: Thu Aug 8 14:34:53 1991 Ken Raeburn (raeburn at watch.com) 12194: 12195: * expr.c (c_strlen): New function; determines strlen of string const. 12196: (expand_builtin, cases BUILT_IN_STRCMP, BUILT_IN_STRCPY): Call it 12197: instead of relying on TREE_STRING_LENGTH. For strcmp, optimize 12198: cases where two lengths are available, if at least one of them is 12199: constant. 12200: (expand_builtin, case BUILT_IN_MEMCMP): If alignment test fails, and 12201: function was really BUILT_IN_STRCMP, delete length parameter before 12202: expanding call. 12203: 12204: * tree.h (enum built_in_function): Added BUILT_IN_STRLEN. 12205: * c-decl.c (sizet_ftype_string): New variable, for strlen prototype. 12206: (init_decl_processing): Set it, and declare strlen and 12207: __builtin_strlen as built-in functions. Deleted variable `decl' 12208: since it was only assigned to, never read. 12209: * expr.c (expand_builtin, case BUILT_IN_STRLEN): Implement it. 12210: 12211: * cplus-decl.c (sizet_ftype_string, init_decl_processing): Copy 12212: changes from c-decl.c. Also initialize const_string_type_node. 12213: 12214: Thu Aug 8 14:34:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12215: 12216: * c-decl.c (pushdecl): Just warn if trad. extern type is temporary. 12217: 12218: Wed Aug 7 15:16:55 1991 Jim Wilson (wilson at sphagnum.cygnus.com) 12219: 12220: * local-alloc.c (block_alloc): When converting a SCRATCH rtx to a 12221: REG rtx, must clear the `used' bit. 12222: 12223: Tue Aug 6 14:17:09 1991 Jim Wilson (wilson at wombat.gnu.ai.mit.edu) 12224: 12225: * stmt.c (expand_start_bindings): Fix typo in comment or spacing. 12226: * rtlanal.c (reg_referenced_between_p): Likewise. 12227: (reg_set_last): Likewise. 12228: * loop.c (make_loop_jump): Likewise. 12229: * longlong.h (UDIV_NEEDS_NORMALIZATION): Likewise. 12230: * local-alloc.c (update_equiv_regs): Likewise. 12231: * global-alloc.c (hard_reg_copy_preferences): Likewise. 12232: * fixcpp: Likewise. 12233: * tm-m68k.h (CONDITIONAL_REGISTER_USAGE): Likewise. 12234: * combine.c (reg_significant): Likewise. 12235: * calls.c (expand_call): Likewise. 12236: * cplus-tree.c (build_cplus_new): Likewise. 12237: 12238: * function.c (fixup_var_refs_insns): When emitting a move insn, 12239: don't put it between a CALL_INSN and its USE insns as this will 12240: break sched and reorg. Instead, put it before the USE insns. 12241: 12242: * combine.c (subst): Convert (ior (ashift A CX) (lshift A CY)) where 12243: CX+CY equals the mode size to (rotate A CX). 12244: 12245: * out-sparc.c (emit_move_sequence): For DImode constants, can not 12246: create a temporary register to hold the high part. 12247: (output_scc_insn): When in a delay slot, verify that NEXT_INSN (insn) 12248: really is the next insn. 12249: 12250: * sparc.md: Fix support for DImode constants. Two new patterns 12251: added, one for high:DI operators and one for lo_sum:DI operators. 12252: (*extend*): Rework these patterns. Don't accept memory input 12253: operands in the define_expands, as this gives better code. 12254: Delete patterns for combining two loads into a load and move; 12255: these are obsoleted by combiner improvements. 12256: Delete define_splits for splitting these obsolete patterns. 12257: (one_cmplsi2): Can not accept general_operand destinations, only 12258: register destinations. 12259: 12260: * tm-sparc.h (STACK_POINTER_OFFSET): Explain how value is derived, 12261: and compute in terms of another macro. 12262: (STRUCT_VALUE_OFFSET): Explain how value is derived. 12263: (FIRST_PARM_OFFSET): Fix typo in comment. 12264: 12265: * expr.c (MOVE_RATIO): Check for HAVE_movstrdi. 12266: (emit_block_move): Add code to use HAVE_movstrdi if present. 12267: (emit_push_insn): Likewise. 12268: 12269: * final.c (final_scan_insn): When insn fails constraint check, 12270: call fatal_insn_not_found instead of just aborting to make 12271: debugging easier. 12272: 12273: * tree.c (integer_all_onesp): Rewrite code to avoid shift by 12274: HOST_BITS_PER_INT which is undefined according to ANSI. Also, 12275: abort for precision values not handled, i.e. those greater than 12276: twice times HOST_BITS_PER_INT. 12277: 12278: Tue Aug 6 14:05:42 1991 James Van Artsdalen (james at bigtex.cactus.org) 12279: 12280: * i386.md (seq,sne): Use setb/setnb mnemonics instead of setc/setnc: 12281: GAS doesn't understand the latter yet. 12282: 12283: Tue Aug 6 13:01:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12284: 12285: * Makefile.in (install-common): Use -d, not -f, for tooldir/bin. 12286: 12287: Tue Aug 6 10:37:02 1991 (Eric Youngdale at [email protected]) 12288: 12289: * make-cc1.com: Replacement file. This new version can build cc1plus 12290: and cc1obj in addition to cc1 (known on VMS systems as gcc-cc1plus.exe, 12291: gcc-cc1obj.exe and gcc-cc1.exe respectively). 12292: 12293: Tue Aug 6 06:30:09 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12294: 12295: * cse.c (canon_hash): If a REG in an operand is equivalent to a 12296: constant, hash as if we had the constant. 12297: (exp_equiv_p): See if a REG and constant are equivalent. 12298: 12299: Tue Aug 6 03:59:16 1991 Ken Raeburn (raeburn at watch.com) 12300: 12301: * cplus-tree.c (make_deep_copy): Handle PARM_DECLs. 12302: 12303: * cplus-init.c (build_offset_ref): Use DECL_CHAIN, not TREE_CHAIN 12304: when trying to determine if a function is unique. 12305: 12306: * cplus-decl.c (start_decl): When constructing a decl tree for a 12307: function template, copy last_function_parms to permanent storage, 12308: and save it as the function argument list. Call build_lang_decl 12309: instead of build_decl, instead of duplicating the extra work it does. 12310: Set `overloaded' flag to 1. Call dont_forget_overload, so the 12311: template decl won't get discarded. 12312: Also deleted some commented-out code. 12313: 12314: * cplus-pt.c (uses_template_parms, cases VAR_DECL, FUNCTION_DECL): 12315: Give a warning if template parms are only used in places where they 12316: can't be resolved (e.g., return types or global or fixed-class 12317: variable types). 12318: (tsubst): Preserve storage qualifiers on type field, and pass it to 12319: layout_type if it has changed. 12320: (tsubst, case TEMPLATE_TYPE_PARM): Preserve storage qualifiers. 12321: (tsubst, case INTEGER_TYPE): Process min and max fields, if needed. 12322: (tsubst, case FUNCTION_DECL): Process arguments and result fields. 12323: (tsubst, case PARM_DECL): New branch. Handle parm list for 12324: FUNCTION_DECL nodes. 12325: (tsubst, case TREE_LIST): Copy TREE_PARMLIST flag from source. 12326: Don't bother processing TREE_CHAIN field if it is void_type_node. 12327: (tsubst, cases POINTER_TYPE, REFERENCE_TYPE): Preserve storage 12328: qualifiers. 12329: (tsubst, case FUNCTION_TYPE): Eliminate recursion for simple common 12330: cases for values and context fields. Preserve storage qualifiers. 12331: (tsubst, default case): Print node type of correct variable in error 12332: message. 12333: (instantiate_template): Set function_maybepermanent_obstack to 12334: permanent, along with the others, and restore old value after tsubst 12335: call. This permits the PARM_DECL case to work. 12336: 12337: Mon Aug 5 22:44:51 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12338: 12339: * cplus-tree.h (struct pending_inline): Add new field `deja_vu' to 12340: mark if this pending_inline has already been seen. 12341: * cplus-lex.c (do_pending_inlines): Set DEJA_VU when seen. 12342: * cplus-lex.c (reinit_parse_for_method, cons_up_default_function): 12343: Initialize DEJA_VU to 0. 12344: * cplus-decl2.c (mark_inline_for_output): Don't add DECL to 12345: PENDING_INLINES if it's already been seen. 12346: * cplus-pt.c (instantiate_template): Initialize DEJA_VU to 0. 12347: 12348: * cplus-method.c (do_inline_function_hair): Change some assignments 12349: to asserts, since they seem to be copying values that are already 12350: there. 12351: 12352: Mon Aug 5 22:23:34 1991 Michael Meissner (meissner at osf.org) 12353: 12354: * genemit.c (gen_expand, main): Change FAIL macro to be a simple 12355: goto _fail, and initialize the return value to 0 in the prologue. 12356: This avoids a useless warning message that the MIPS C compiler 12357: gives if a return is encountered inside of a do { ... } while (0). 12358: 12359: Mon Aug 5 21:28:06 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12360: 12361: * cplus-xref.c (GNU_xref_file): Treat VMS like USG. 12362: 12363: * optabs.c (expand_binop): In libcall, use actual mode of op1. 12364: 12365: * c-typeck.c (build_binary_op_nodefault): 12366: In signed versus unsigned compare warning, note promotions of unsigned. 12367: 12368: * c-parse.y (simple_if): Allow error instead of lineno_labeled_stmt. 12369: (if_prefix): New subroutine of simple_if. 12370: 12371: * gnulib2.c (__ashldi3, __ashrdi3, __lshldi3, __lshrdi3): 12372: Accept second arg as int, not long long. 12373: 12374: Sun Aug 4 22:31:53 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12375: 12376: * cplus-except.c (cplus_expand_start_except): Set up variables 12377: `current_exception_name_as_rtx' and `current_exception_parms_as_rtx'. 12378: These variables are used to factor out calls to `expand_assignment' 12379: and allow instead calls to `emit_move_insn', which takes about 1/2x 12380: the compilation time when called directly. 12381: (various places): Use `store_expr' instead of `expand_assignment' 12382: when reasonable. 12383: (cplus_expand_reraise): Take advantage of above changes. 12384: (setup_exception_throw_decl): This is where *_as_rtx variables are 12385: initialized. 12386: 12387: * cplus-input.c (getch): Rewritten slightly to help GNU C optimizer. 12388: * cplus-lex.c (yylex): In IDENTIFIER case, pre-test condition that 12389: `getch' tests, and call `getc' directly when possible. This cuts 12390: calls to `getch' by a factor of 4 for typical C++. 12391: 12392: * cplus-class.c (add_virtual_function): Memoize the first 256 12393: virtual function table index nodes (0x80000001, 0x80000002, etc.). 12394: (finish_struct): Use `size_int' instead of `build_int_2' when we 12395: know the int will not be changed in place (such as the size value of 12396: virtual function tables). 12397: * cplus-decl2.c (finish_table): Same change as for `finish_struct'. 12398: * cplus-tree.c (layout_basetypes): Same change. 12399: * cplus-decl.c (init_decl_processing): Use `size_int' to initialize 12400: `size_zero_node' and `size_one_node'. 12401: 12402: * cplus-tree.h (TREE_OVERLOADS_ARROW): Define this. 12403: * cplus-parse.y (operator_name): Set TREE_OVERLOADS_ARROW where 12404: appropriate. 12405: * cplus-type2.c (build_x_arrow): Use TREE_OVERLOADS_ARROW and 12406: reorganize the logic for better speed. 12407: * cplus-ptree.c (print_lang_type): Print when TREE_OVERLOADS_ARROW. 12408: 12409: Sun Aug 4 16:44:54 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12410: 12411: * rtlanal.c (reg_referenced_p): Properly handle ASM_OPERANDS. 12412: 12413: * cse.c (cse_insn): When recording this_insn_cc0, build a COMPARE 12414: rtl if SRC is a floating-point value. 12415: 12416: Sun Aug 4 16:16:11 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12417: 12418: * fold-const.c (fold): Don't compute shift with negative count. 12419: * cse.c (simplify_binary_operation): Likewise. 12420: 12421: Sat Aug 3 15:57:55 1991 (Eric Youngdale at [email protected]) 12422: 12423: * tm-vms.h (ASM_OUTPUT_EXTERNAL): Modify to always write the 12424: correct size of the data object, if it is known. 12425: (ASM_OUTPUT_COMMON): Modify to select the const or the data section 12426: as appropriate. This definition shadows a definition in tm-vax.h 12427: (const_section): Change data type to void. 12428: 12429: Sat Aug 3 15:02:40 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12430: 12431: * integrate.c (save_for_inline_copying): Clear constant pool after 12432: saving constants into the insns. 12433: 12434: * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Ensure items 12435: passed to emit_block_move are valid MEMs. 12436: 12437: * recog.c (offsettable_address_p): Don't change INTVAL of a CONST_INT 12438: within an address; that CONST_INT is likely shared and may be used 12439: elsewhere in the address. 12440: 12441: * stmt.c (expand_end_stmt_expr): Don't try to copy result to 12442: REG; it might be BLKmode. 12443: 12444: * reload.c (MATCHES): Don't consider two things equal if they have 12445: side effects. 12446: 12447: * combine.c (try_combine): When replacing SET_DEST inside a PARALLEL, 12448: don't replace it with something that has a side effect. 12449: 12450: Sat Aug 3 13:17:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12451: 12452: * c-decl.c (init_decl_processing): 12453: If traditional, omit builtins with names that don't start with _. 12454: Also omit if not optimizing. 12455: 12456: * Makefile.in (combine.o, emit-rtl.o, expr.o, final.o, tree.o): 12457: Depend on gvarargs.h. 12458: 12459: Fri Aug 2 11:00:10 1991 (Eric Youngdale at [email protected]) 12460: 12461: Merge some VMS changes from 1.39 that did not make it to 2.0. 12462: These changes will prohibit GCC from addressing external symbols with 12463: indirect addressing modes, to be compatible with sharable 12464: image libraries under VMS. 12465: 12466: * tm-vms.h: Define NO_EXTERNAL_INDIRECT_ADDRESS, define 12467: ENCODE_SEGMENT_INFO to make use of hook in varasm.c 12468: 12469: * tm-vax.h: Provide alternative definitions of INDIRECTABLE_CONSTANT_P, 12470: INDIRECTABLE_CONSTANT_ADDRESS_P, and INDIRECTABLE_ADDRESS_P, which 12471: are used when NO_EXTERNAL_INDIRECT_ADDRESS is defined. Also, define 12472: INDIRECTABLE_CONSTANT_ADDRESS_P. Modify definitions of 12473: GO_IF_NONINDEXED_ADDRESS, and GO_IF_LEGITIMATE_ADDRESS to work with 12474: either alternative. 12475: 12476: Fri Aug 2 21:54:55 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12477: 12478: * loop.c (check_dbra_loop): Fix typo in arg to single_set. 12479: 12480: * reload1.c (choose_reload_regs): Verify that all registers in a 12481: group still contain the desired value. 12482: (emit_reload_insns): Set reg_reloaded_contents and reg_reloaded_insn 12483: for all registers in a group. 12484: 12485: * combine.c (set_significant): Handle a complex SET_DEST correctly. 12486: 12487: Fri Aug 2 17:12:24 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12488: 12489: * tree.c (build_array_type): Make pointer type before array type. 12490: 12491: * Makefile.in (install-common): Never install gcc if gcc-cross exists. 12492: 12493: Fri Aug 2 14:58:42 1991 Michael Meissner (meissner at osf.org) 12494: 12495: * make-mips (CC, OLDCC): Comment why we need to define CC and OLDCC 12496: to get around fixed size table complaints in the MIPS compiler. 12497: 12498: Fri Aug 2 14:08:01 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12499: 12500: * configure (writing VPATH definition): Avoid temp file. 12501: 12502: * tm-i860.h (MAX_PARM_BOUNDARY): Defined. 12503: (GO_IF_LEGITIMATE_ADDRESS): Add parens around & operator. 12504: (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Use sp, not r3 (that's fp). 12505: * i860.md (movsf): Don't reload high address part if already loaded. 12506: (cmplesf, cmpledf, cmpgesf, cmpgedf): Set CC_NEGATED; swap operands. 12507: * out-i860.c (strict_single_insn_op_p): 12508: Fix criterion for loading high half. 12509: (output_load_address): #if 0 since not used. 12510: 12511: Fri Aug 2 01:46:39 1991 James Van Artsdalen (james at bigtex.cactus.org) 12512: 12513: * i386.md (swapdf): Don't condition on TARGET_387. 12514: (bit set/complement/clear insns): Don't use if -m486. 12515: (bit test insns): Don't allow a MEM operand. 12516: 12517: Thu Aug 1 19:05:31 1991 Matthew Self (mself at next.com) 12518: 12519: * local-alloc.c (block_alloc): Record regs_live_at for last insn 12520: in basic block too. Otherwise REG_UNUSED regs may overlap hard 12521: regs set in the last insn of the basic block. 12522: 12523: Thu Aug 1 19:02:57 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12524: 12525: * emit-rtl.c (gen_rtx): Don't return frame_pointer_rtx (e.g.) if 12526: mode is not Pmode. 12527: 12528: * emit-rtl.c (operand_subword): Don't write explicit divide by 0; 12529: some (broken) compilers give errors for it. 12530: 12531: * m68k.md (udivhi3): One pattern had constraint of "d" with 12532: const_int_operand. 12533: (FPA insns): Operand 1's constraints allow memory and constants, but 12534: the predicate is register_operand; change to general_operand. 12535: 12536: Thu Aug 1 13:41:47 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12537: 12538: * cplus-lex.c (do_pending_inlines, process_next_inline): Zero out 12539: the DECL_PENDING_INLINE_INFO field after processing it. 12540: (store_pending_inline): Don't delay processing a virtual function, 12541: since it needs to be processed in case the virtual function table is 12542: needed. 12543: 12544: * cplus-decl2.c (mark_inline_for_output): If DECL has pending inline 12545: info, cause it to be processed. 12546: 12547: * cplus-pt.c: Removed extraneous declaration of `permanent_obstack'. 12548: Also, added comment for `reinit_parse_for_template'. 12549: 12550: * cplus-typeck.c (mark_addressable): For FUNCTION_DECL case, also 12551: test DECL_PENDING_INLINE_INFO. 12552: 12553: Thu Aug 1 13:26:12 1991 Michael Meissner (meissner at osf.org) 12554: 12555: * mips-tfile.c (main): If input file is not specified, use the same 12556: file for both input and output. If renaming output file and rename 12557: fails, copy the file. 12558: (free_multiple_pages): New function. 12559: 12560: * tm-decrose.h (ASM_FINAL_SPEC): Add this to call mips-tfile if 12561: using the MIPS assembler. 12562: 12563: * tm-mips.h (ASM_FINAL_SPEC): Add this to call mips-tfile unless 12564: using gas. 12565: (TARGET_VERSION): Do not put __DATE__ in the output. 12566: 12567: * make-mips (BISONFLAGS): Add -l to bison flags because the MIPS 12568: based compilers have problems with #line. 12569: (CC): Define in terms of $(OLDCC) so the USE_HOST macros work. 12570: (EXTRA_PASSES): Build mips-tfile and mips-tdump. 12571: (Makefile): Explicitly use sh to invoke configure. 12572: 12573: * make-decrose (EXTRA_PASSES): Build collect. 12574: (Makefile): Explicitly use sh to invoke configure. 12575: 12576: Thu Aug 1 12:22:17 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12577: 12578: * cccp.c (directive_table, node_type): Add #include_next. 12579: (do_include): Support #include_next. 12580: (finclude): New arg DIRPTR. All callers changed. 12581: 12582: * reload1.c (reload_as_needed): Check live_known before accessing 12583: basic_block_head. 12584: 12585: Thu Aug 1 11:47:37 1991 Michael Meissner (meissner at osf.org) 12586: 12587: * gcc.c (compilers): Add new spec %A, which expands ASM_FINAL_SPEC. 12588: This option is added after all other arguments to the assembler. It 12589: is for the MIPS port to run a cleanup program after the assembler 12590: finishes, by having ASM_FINAL_SPEC be "\n mips-tfile args..." 12591: (set_spec): If name is 'asm_final', set the asm_final_spec. 12592: (process_command): print out asm_final_spec for -dumpspecs. 12593: (do_spec_1): Expand %A to be ASM_FINAL_SPEC. 12594: (validate_all_switches): look at any switches handled in 12595: ASM_FINAL_SPEC. 12596: 12597: Thu Aug 1 07:42:37 1991 Tom Wood (wood at dg-rtp.dg.com) 12598: 12599: * dwarfout.c (element_list_attribute): AT_element_list is a BLOCK4. 12600: 12601: Wed Jul 31 17:42:40 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12602: 12603: * jump.c (jump_optimize): In "if (...) x = 1; else {...} if (x) ...": 12604: Don't assume that SYMBOL_REFs are always non-zero. 12605: Handle operations other than EQ and NE. 12606: Handle conditional RETURN properly. 12607: 12608: * out-a29k.c (print_operand, case 'e'): When writing LXn, use number 12609: of last label in function. 12610: (output_prolog): Fix missing arg in ADD in a29k_first_epilogue_insn. 12611: 12612: Wed Jul 31 13:41:37 1991 Tom Wood (wood at dg-rtp.dg.com) 12613: 12614: * sdbout.c (sdbout_parms): Don't crash if MEM address is a MEM. 12615: 12616: Wed Jul 31 12:36:37 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12617: 12618: * fixincludes: New variable INCLUDES specifies input dir. 12619: 12620: * Makefile.in (install-common): Add dummy elt to EXTRA_PASSES. 12621: Fix typo in test. 12622: 12623: * Makefile.in (install-cross-tools): Use /. in args to test -d. 12624: (cccp.o, dbxout.o, c-plus-*): Added missing dependencies. 12625: 12626: * c-common.c: Don't include rtl.h--that was unmodular. 12627: 12628: * make-i386v (INSTALL): Define this. 12629: 12630: Wed Jul 31 07:38:12 1991 Tom Wood (wood at dg-rtp.dg.com) 12631: 12632: * Makefile.in (LIB2FUNCS_EXTRA): Extra C and assembler files for 12633: gnulib2. 12634: * make-m88k*: Put the assembler files in gnulib2 and eliminate use 12635: of gnulib1. 12636: 12637: Tue Jul 30 20:21:41 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12638: 12639: * stddef.h (WCHAR_T): 12640: Test _WCHAR_T_, __WCHAR_T, _T_WCHAR_ and ___int_wchar_t_h. 12641: 12642: * tm-i386isc.h (RETURN_POPS_ARGS): Caller pops the struct value addr. 12643: 12644: * cccp.c (default_include): Search local dir, system, then standard. 12645: 12646: * Makefile.in (USE_HOST_MALLOC, USE_HOST_OBSTACK): 12647: Don't depend on which C compiler is in use. 12648: 12649: * reload1.c (reload): Use pseudoreg to compute spill_indirect_levels. 12650: 12651: * c-decl.c (start_function): Don't take arg types from builtin. 12652: (duplicate_decls): Cancel builtin function if new arg types differ. 12653: Don't take arg types from buiiltin. 12654: 12655: Tue Jul 30 18:45:39 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12656: 12657: * reload.c (decompose): Don't blow up for constants; they are safe. 12658: 12659: Tue Jul 30 15:49:34 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12660: 12661: * dbxout.c (dbxout_parms): Don't crash if MEM address is a MEM. 12662: 12663: * Makefile.in (install-common): Don't lose if EXTRA_PASSES is empty. 12664: Don't install gcc if gcc-cross exists. 12665: (install-cross-tools): Fix typos. 12666: Avoid doing cd -- use absolute file names. 12667: (gcc-cross.o): Rule deleted. 12668: (gcc-cross): Build gcc, then copy it. 12669: 12670: Tue Jul 30 15:37:25 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12671: 12672: * cplus-init.c (build_vec_delete): Use `size_binop' when building up 12673: the array end boundary. 12674: 12675: Tue Jul 30 10:03:54 1991 Michael Meissner (meissner at osf.org) 12676: 12677: * tm-mips.h (DOLLARS_IN_IDENTIFIERS): Define to be 1. 12678: 12679: Mon Jul 29 18:56:33 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12680: 12681: * reload.c (refers_to_regno_for_reload_p): New function. 12682: (push_reload, find_dummy_reload, immune_p): Use 12683: refers_to_regno_for_reload_p instead of refers_to_regno_p. 12684: 12685: * cse.c (fold_rtx): Don't make shifts wider than object. 12686: 12687: Mon Jul 29 17:17:55 1991 Michael Collison (collison at osf.org) 12688: 12689: * configure: Added entry for mmax-osfrose (Multimax with ns32k 12690: running OSF/1). 12691: 12692: Mon Jul 29 14:51:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12693: 12694: * Makefile.in (SYMLINK): New variable. 12695: (install-cross-tools): Make symlinks if possible. 12696: Otherwise, for executables, indirect to tooldir with a shell script. 12697: (install-native): Install gcc-cross as bin/gcc under tooldir. 12698: 12699: * Makefile.in (USE_HOST_ALLOCA): 12700: Generate nothing if don't need separate alloca. 12701: (USE_HOST_OBSTACK, USE_HOST_MALLOC): New variables. 12702: (HOST_LIBS): Use them. 12703: (HOST_PREFIX_1): Make a dummy file with this name, 12704: for cross-compiling for a machine that needs no separate alloca, etc. 12705: 12706: * c-parse.y (stmts): Accept either labels or unlabeled statements. 12707: (lineno_labeled_stmt): New nonterminals. 12708: (stmt_or_label, lineno_stmt_or_label): New nonterminals. 12709: (stmts): Use lineno_stmt_or_label. 12710: (stmt): Don't allow labels at this level. 12711: Use lineno_labeled_stmt in place of lineno_stmt. 12712: 12713: * cccp.c (default_include): Get rid of extra #endif. 12714: Use CROSS_COMPILE, not CROSS. 12715: 12716: * make-i386mach: New file. 12717: * configure (i386-mach): Use that file. 12718: 12719: Mon Jul 29 09:10:13 1991 Tom Wood (wood at dg-rtp.dg.com) 12720: 12721: * tm-m88kluna.h (SYSTEM_INCLUDE_DIR): Define (also MACH). 12722: 12723: Sun Jul 28 16:15:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12724: 12725: * cccp.c (default_include): Use SYSTEM_INCLUDE_DIR. 12726: Delete special cases for MACH, UNOS. 12727: * tm-i386mach.h, tm-sun3mach.h, tm-crds.h (SYSTEM_INCLUDE_DIR): Define. 12728: 12729: * cccp.c (default_include): Use CROSS_INCLUDE_DIR if cross-compiler. 12730: * Makefile.in (cccp.o): Pass a definition for CROSS_INCLUDE_DIR. 12731: 12732: * Makefile.in (gnulib1.null): New target. 12733: (install-common, install-common-headers, install-cross-tools): 12734: (install-cross-rest, install-float-h-cross): New targets. 12735: (install-float-h): New target. 12736: (install-cross, install-headers): Use them. 12737: (tooldir): New variable. 12738: (EXTRA_PASSES): New variable. 12739: 12740: * sdbout.c (plain_type_1): Don't record the size in sdb_type_size 12741: unless a tag is output. 12742: 12743: * Makefile.in (install-cross): Install specs by copying. 12744: Install either gcc or gcc-cross, whichever exists. 12745: (native): Remove gcc from deps. 12746: (start.encap): Add gcc to deps. 12747: (all.cross): Add gcc-cross to deps. 12748: (gcc-cross): Like gcc rule except different output file name. 12749: (gcc-cross.o): Likewise. 12750: 12751: * Makefile.in (EXTRA_PASSES): New variable. 12752: Used for machines which have extra passes to run. 12753: (install-cross): Install those programs. 12754: (native): Compile them. 12755: 12756: * c-parse.y: Support `foo:' before a close brace. 12757: (label): New nonterminal. 12758: (stmt): Use that. Treat a label as a statement in itself. 12759: 12760: * Makefile.in (gnulib*.portable): Rules deleted. 12761: (GNULIB1, GNULIB2): Point directly at gnulib1, gnulib2. 12762: (gnulib): Use GNULIB1, GNULIB2 directly both as deps 12763: and to specify the input files. 12764: (gnulib1.conv): Renamed from gnulib1.convert; no longer phony. 12765: (gnulib*.target): Rules deleted. 12766: make-hp9k320 (GNULIB1): Use gnulib1.conv. 12767: (LIBCONVERT): Override. 12768: 12769: * move-if-change: Use -f with rm and mv. 12770: 12771: * Makefile.in (gnulib2.ready): No longer phony. 12772: 12773: Sat Jul 27 13:03:50 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12774: 12775: * combine.c (can_combine_p): Don't use NEXT_INSN, in previous change. 12776: 12777: * Makefile.in (class-c, objective-c): New targets. 12778: 12779: * tm-i386.h (ASM_OUTPUT_ALIGN_CODE): Define it. 12780: (ASM_OUTPUT_LOOP_ALIGN): Use ASM_OUTPUT_ALIGN_CODE. 12781: * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Override it. 12782: (ASM_OUTPUT_LOOP_ALIGN): Definition deleted. 12783: 12784: * fixincludes (memvar.h): Make two defs of CAT, one ANSI and one trad. 12785: 12786: * expmed.c (emit_store_flag): Set ICODE only after CODE is right. 12787: 12788: Sat Jul 27 06:45:32 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12789: 12790: * flow.c (insn_dead_p): Don't clobber NEEDED while ensuring that we 12791: don't delete insns that set the frame or arg pointer. 12792: 12793: * flow.c (flow_analysis, find_basic_blocks, propagate_block): 12794: Use GET_RTX_CLASS. 12795: 12796: Fri Jul 26 08:18:08 1991 Tom Wood (wood at dg-rtp.dg.com) 12797: 12798: * sdbout.c: Use <syms.h> for USG and provide a definition of 12799: T_VOID if none existed. Use ./gsyms.h for non-USG systems. 12800: * gsyms.h: Renamed from syms.h. 12801: 12802: Fri Jul 26 22:47:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12803: 12804: * cccp.c (macroexpand): Fix error message syntax. 12805: 12806: * Makefile.in (gnulib2.target): Add semicolon. 12807: 12808: Fri Jul 26 18:17:36 1991 Michael Meissner (meissner at pogo.gnu.ai.mit.edu) 12809: 12810: * make-mips (CC): Bump -Wf,-XNg option to 1500 to allow the MIPS 12811: compiler to compile cc1plus. 12812: 12813: Fri Jul 26 14:42:35 1991 Tom Wood (wood at dg-rtp.dg.com) 12814: 12815: * c-parse.y (yylex): Don't use mbtowc to translate L'\0'. 12816: 12817: * tm-m88ksvr4.h (CPP_SPEC): Specify SVR4 pre-assertions. 12818: 12819: Fri Jul 26 09:53:53 1991 Michael Meissner (meissner at pogo.gnu.ai.mit.edu) 12820: 12821: * Makefile.in (cplus_expr.o): Add missing dependencies, so cc1plus 12822: can be built without first building cc1. 12823: 12824: Fri Jul 26 07:30:51 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12825: 12826: * combine.c (can_combine_p): Can't combine if DEST is used in an 12827: insn in the range (succ, i3). 12828: 12829: * expmed.c (store_bit_field): Don't use insv if the mode of its 12830: input is narrower than the width of the field. 12831: (store_fixed_bit_field): Handle value with MODE_FLOAT mode. 12832: (extract_bit_field): Don't use extzv/extv if its output mode is 12833: narrower that width of field. 12834: (extract_bit_field): Handle returning MODE_FLOAT mode. 12835: 12836: * reorg.c (steal_delay_list_from_target): Add new arg PNEW_THREAD. 12837: Instead of redirecting jump, return its target in *PNEW_THREAD. 12838: (fill_slots_from_thread): Pass &NEW_THREAD to 12839: steal_delay_list_from_target. 12840: 12841: Thu Jul 25 21:57:42 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) 12842: 12843: * sched.c: Correct tiemann's email address. 12844: (schedule_block): Note that the values of leftover REG_DEAD notes 12845: are meaningless. 12846: (new_insn_dead_notes): If find an instruction that both uses and 12847: sets dest, then no new REG_DEAD note is needed. 12848: (update_links): When handling dest of last insn, no new REG_DEAD 12849: note is needed if the last insn also uses its dest. 12850: 12851: Thu Jul 25 18:15:33 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 12852: 12853: * flow.c (regno_clobbered_at_setjmp): Don't blow up if no basic blocks. 12854: 12855: Thu Jul 25 16:55:57 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12856: 12857: * cse.c (invalidate, cse_insn): Don't use HASHREG directly. 12858: (HASH): Substitute HASHREG in. 12859: (HASHREG): Deleted. 12860: 12861: * tm-i386mach.h: New file. 12862: * configure (i386-mach): Use that. 12863: 12864: * tm-i386isc.h: New file, copied from 1.40. 12865: 12866: * i386.md (jump, indirect_jump, tablejump, return): 12867: Use ASM_OUTPUT_ALIGN_CODE. 12868: * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_LOOP_ALIGN): 12869: Override the usual definition. 12870: 12871: * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Fix typo. 12872: 12873: Thu Jul 25 16:25:52 1991 Tom Wood (wood at dg-rtp.dg.com) 12874: 12875: * out-m88k.c (legitimize_address): Note use of addressing base. 12876: (m88k_layout_frame): Establish PIC addressing base as needed. 12877: 12878: * tm-m88kdgux.h (GPLUSPLUS_INCLUDE_DIR): Specify. 12879: 12880: Thu Jul 25 07:54:36 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12881: 12882: * rtl.h (FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE): Defined. 12883: 12884: * integrate.c (expand_inline_function): Propagate the value of 12885: FUNCTION_FLAGS_USES_PIC_OFFSET_TABLE. 12886: 12887: * function.h (struct function): Add new field USES_PIC_OFFSET_TABLE 12888: to structure. Leave it to md files to initialize this field. 12889: * expr.h (current_function_uses_pic_offset_table): New declaration. 12890: * function.c ({save,restore}_tree_status): Save and restore 12891: CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE to/from this slot. 12892: * out-sparc.c (legitimize_pic_address): Set 12893: CURRENT_FUNCTION_USES_PIC_OFFSET_TABLE when appropriate. 12894: (finalize_pic): If the current function does not use the PIC offset 12895: table, there's no need to emit the PIC prologue. 12896: 12897: Wed Jul 24 13:54:41 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12898: 12899: * tm-m68k.h (NOTICE_UPDATE_CC): 12900: Calls clear status even if value in address reg. 12901: 12902: * tm-i386gas.h, tm-i386vgas.h (ASM_OUTPUT_ALIGN_CODE): Align with NOPs. 12903: 12904: * i386.md (andsi3): Don't use movzbl if op1 can't support it. 12905: 12906: Wed Jul 24 07:47:59 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 12907: 12908: * cplus-decl.c (finish_decl): Don't build a cleanup for an variable 12909: that is TREE_EXTERNAL. 12910: 12911: Tue Jul 23 20:48:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 12912: 12913: * make-mips: Delete rules for saber C. 12914: * Makefile.in (STAGESTUFF, gnulib2.ready): Undo last change. 12915: 12916: * tm-vax.h (LIB_SPEC): Supply missing close braces. 12917: 12918: Tue Jul 23 14:03:10 1991 Michael Meissner (meissner at osf.org) 12919: 12920: * protoize.c (toplevel): If FULL_PROTOTYPES is defined, assume that 12921: the system provides full prototypes, and include stdlib.h and 12922: unistd.h. 12923: (toplevel): If _POSIX_SOURCE is defined, wait takes a pointer to an 12924: int, even if the system is otherwise BSD. 12925: (toplevel): If NO_CONST_IN_SYSCALL and __STDC__ is defined, assume 12926: the system takes char *'s instead of const char *'s. 12927: (process_aux_info_file, edit_file): Always pass 3 arguments to open, 12928: to allow the NO_CONST_IN_SYSCALL macro to properly cast the 12929: arguments. 12930: 12931: * make-decrose (ALL): Make sure Makefile is rebuilt if either 12932: Makefile.in or make-decrose changes. 12933: (BUILD, SYSTEM_INCLUDES, LDFLAGS): Add BUILD variable to retarget 12934: which build is used. 12935: (CPP_ABORT): Don't define abort=fancy_abort here, do it in 12936: tm-mips.h. 12937: (INSTALL): Use installbsd program, since install uses System V 12938: semantics on OSF/1. 12939: (LANGUAGES): Rename collect-osf to collect. 12940: (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to 12941: add additional arguments. 12942: (libdir, bindir, mandir): Define to current install values. 12943: (cplus-lex.o): Work around problems with 1.39 bootstrap compiler 12944: producing bad stabs for certain inlines. 12945: (osf-main.c): Add a simple G++ constructor/destructor to gnulib. 12946: 12947: * make-mips (ALL): Make Makefile depend on Makefile.in and 12948: make-mips. 12949: (CFLAGS, XCFLAGS): Make CFLAGS use standard args and use XCFLAGS to 12950: add additional arguments. 12951: (CC): Add -Wf,-XNg500 switch to compile with due to the MIPS 12952: compiler having fixed size tables. 12953: (SABER_*): Add rules to run saber-C. 12954: 12955: * mips.md (movsi_ulw): Allow unaligned register->register moves, 12956: which is caused by the optimizer, and generate the normal reg move 12957: code. Also, turn loads from the stack into normal moves. 12958: (movsi_usw): Turn stores into the stack into normal moves. 12959: (call, call_value): Turn into a define_expand which takes three 12960: arguments, to make Saber happier. 12961: 12962: * tm-mips.h (abort macro): Define abort to be saber_stop if running 12963: under Saber C. 12964: (__PTR_TO_INT, __INT_TO_PTR): Define as casts if running on a MIPS 12965: machine instead of with subtraction, in an attempt to quiet Saber C. 12966: (ASM_MODIFY_SPEC): Run mips-tfile after the assembler, needs 12967: corresponding gcc.c change to enable. 12968: 12969: * tm-decrose.h (ASM_SPEC): Pass -v switch to gas as well as mips 12970: assembler. 12971: (ASM_MODIFY_SPEC): Run mips-tfile if -mmips-as. 12972: (LINK_SPEC): Pass -v switch to linker. 12973: (LIB_SPEC): Redefine as just -lc. 12974: (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Undefine, use standard 12975: libdir, bindir, and mandir in Makefile now. 12976: (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Define to get protoize 12977: to compile cleanly. 12978: 12979: * osf-main.c (new file): Provide simple constructor, destructor 12980: capability to be linked into gnulib. 12981: 12982: * collect-osf.c (various): General rewrite to improve speed and 12983: portability. 12984: 12985: * Makefile.in (CPLUS_OBJS): If CPLUS_INPUT is defined to be 12986: cplus-input.o, compile it separately to work around problems with 12987: bootstraping when it is included in cplus-lex.c. 12988: (STAGESTUFF): Use $(LANGUAGES) instead of hard coded list of 12989: languages, so make-xxx file can override, and provide others. 12990: (gnulib2.ready): Make gnulib2 depend on all LANGUAGES targets, so 12991: that if a target needs something else built, such as mips-tfile, it 12992: will be. 12993: (mostlyclean): Add missing -f to rm. 12994: (install-dir): Use test to see if the directory exists before trying 12995: to create it, and fail if the mkdir fails. 12996: (install-headers): ditto. 12997: (stage?, risky-stage?): ditto. 12998: (install-cross): Install collect and mips-tfile if they are present. 12999: 13000: * mips-tfile.c (toplevel, main): Add -I file option, which renames 13001: the original output file to the given file. 13002: 13003: * cplus-lex.c (toplevel): Include <assert.h> instead of "assert.h" 13004: in order to avoid problems when including cplus-input.c, which also 13005: uses <assert.h>. 13006: 13007: * cplus-pt.c (toplevel): Move include of config.h before obstack.h 13008: in case config.h defines some macros obstack.h uses such as 13009: __PTR_TO_INT. 13010: 13011: Tue Jul 23 13:15:43 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 13012: 13013: * xm-i386.h, xm-i860.h, xm-spur.h, xm-tahoe.h: Use __builtin_alloca. 13014: 13015: Tue Jul 23 12:26:01 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 13016: 13017: * function.c (instantiate_virtual_regs_1): Change dubious code that 13018: used to assign NEW to XEXP (x, 1) regardless of whether 13019: validate_change accepted it to instead set XEXP (x, 0) back to OLD. 13020: I.e., if the rtx is out of range and OBJECT is NULL, don't make any 13021: change at all. 13022: 13023: * out-sparc.c (compute_frame_size): If a function has any 13024: stack-local objects, it's frame size is non-zero and space must be 13025: reserved for the register window. 13026: 13027: * loop.c (loop_optimize): Use get_max_uid to compute max_uid_for_loop. 13028: 13029: * fold-const.c (size_int): Extend SIZE_TABLE's range from 13030: 0..HOST_BITS_PER_INT-1 to 0..2*HOST_BITS_PER_INT. 13031: 13032: * integrate.c (expand_inline_function): Add minor efficiency 13033: hack to not free all the temp slots as parameters are passed 13034: from "caller" to "callee". 13035: 13036: * integrate.c (expand_inline_function): If the inline function 13037: returns its value via a structure_value_addr, we must prepare for 13038: this to take place, even if the value is ignored by the caller. 13039: 13040: * tm-decstatn.h (SIZE_TYPE): Define this to be "unsigned int". 13041: 13042: * emit-rtl.c (try_split): If `split_insns' actually returns a SEQ 13043: which is isomorphic to PAT, return TRIAL. 13044: 13045: * out-sparc.c (eligible_for_epilogue_delay): FP register moves are 13046: only eligible for leaf-function epilogue delay slots. 13047: 13048: Tue Jul 23 11:52:50 1991 Michael Meissner (meissner at geech.gnu.ai.mit.edu) 13049: 13050: * dbxout.c (dbxout_symbol): Correct typo in getting static member 13051: names. The problem is DECL_ASSEMBLER_NAME returns a tree, and not a 13052: char *. 13053: 13054: Tue Jul 23 07:10:41 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 13055: 13056: * varasm.c (immed_double_const): Use CONST_INT if MODE fits within 13057: HOST_BITS_PER_INT, not BITS_PER_WORD. 13058: 13059: Mon Jul 22 21:37:03 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 13060: 13061: * fold-const.c (fold): Always preserve type after using const_binop. 13062: 13063: Mon Jul 22 18:34:55 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 13064: 13065: * reload1.c (reload): Fix typo in condition for reg_equiv_address 13066: being set from reg_equiv_memory_loc; had X instead of XEXP (X, 0). 13067: 13068: Mon Jul 22 15:25:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 13069: 13070: * gcc.c (process_command): -xnone turns off any -x option. 13071: 13072: * tree.c (copy_chain): Deleted. 13073: * integrate.c (copy_decl_tree): Use copy_list and copy_node. 13074: 13075: Mon Jul 22 11:35:47 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 13076: 13077: * tree.c, tree.h: Fix typos in Jul 22 merge. 13078: 13079: Mon Jul 22 08:51:47 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 13080: 13081: * jump.c (thread_jumps): Don't set CHANGED if the jump's label isn't 13082: changing. 13083: 13084: Mon Jul 22 02:37:23 1991 Michael Tiemann (tiemann at pogo.gnu.ai.mit.edu) 13085: 13086: * version.c: Bumped to 1.94 because of significant changes to 13087: cplus-* files. 13088: 13089: Sun Jul 21 18:45:57 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 13090: 13091: * toplev.c (rest_of_compilation): 13092: Save and restore DECL_INITIAL if we use save_for_inline_copying. 13093: * integrate.c (save_for_inline_copying): Really copy DECL_INITIAL. 13094: Calling integrate_decl_tree doesn't do it; deleted that call. 13095: (copy_decl_tree): New function. 13096: 13097: * integrate.c (integrate_decl_tree): Renamed from copy_decl_tree. 13098: (integrate_parm_decls): Renamed from copy_parm_decls. 13099: 13100: * tree.c (copy_chain): New function. 13101: 13102: Sun Jul 21 06:43:23 1991 James Van Artsdalen (james at bigtex.cactus.org) 13103: 13104: * i386.md (tstsi): Add comment noting potential -m486 enhancement. 13105: (SImode push): With -m486, don't push from MEM. 13106: (addsi3): Don't use lea for three operand add if -m486. 13107: (ashlsi3): Don't use lea for shift of 1 if -m486. 13108: (zero_extendhisi2,zero_extendqihi2,zero_extendqisi2): If dest is 13109: %eax, or if -m486, AND is faster than MOVZX. 13110: 13111: Sun Jul 21 06:27:33 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) 13112: 13113: * expmed.c (store_fixed_bit_field): Pass actual bit position (including 13114: offset) to get_best_mode; also limit mode size to BITS_PER_WORD. 13115: Use failure of get_best_mode to indicate that field spans word 13116: boundary. 13117: Pass actual bit position to store_split_bit_field. 13118: (store_split_bit_field): Accept actual bit position, hence handing 13119: bitpos > BITS_PER_WORD. 13120: Abort if BITPOS and BITSIZE don't cross exactly one word boundary. 13121: Pass offset to store_fixed_bit_field; if register, use operand_subword; 13122: else adjust offset for second word. 13123: (extract_{fixed,split}_bit_field): Likewise. 13124: 13125: Sun Jul 21 06:11:55 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 13126: 13127: * All cplus-* files: DECL_VIRTUAL_P is no longer applied to 13128: FUNCTION_DECLs. Instead, to test if a function is virtual or not, 13129: it suffices to test whether its DECL_VINDEX is non-NULL. We use 13130: ERROR_MARK_NODE as the placeholder for a FUNCTION_DECL we know will 13131: be virtual, but for which we don't yet know the actual index. 13132: 13133: * cplus-decl.c (define_function): Don't set up DECL_ASSEMBLER_NAME 13134: until after having the chance to call through PFN. Since `pushdecl' 13135: now keys off of DECL_ASSEMBLER_NAME, we don't want to create 13136: inadvertent aliases between builtin and library functions. 13137: 13138: * cplus-typeck.c (build_modify_expr): We don't need to build a 13139: SAVE_EXPR for a WITH_CLEANUP_EXPR. 13140: (unary_complex_lvalue): For good measure, know how to deal with a 13141: WITH_CLEANUP_EXPR inside a SAVE_EXPR. 13142: 13143: * cplus-pt.c (uses_template_parms): Add handler for ARRAY_TYPE. 13144: 13145: * cplus-method.c (do_inline_function_hair): Use TYPE_METHODS instead 13146: of CLASSTYPE_METHOD_VEC for traversing all methods when looking for 13147: inline functions. 13148: 13149: * cplus-class.c (finish_struct_methods): Fix fencepost error if 13150: there were no member functions except for ctors/dtors. 13151: 13152: Sun Jul 21 06:19:01 1991 James Van Artsdalen (james at bigtex.cactus.org) 13153: 13154: * tree.h, output.h (current_function_calls_longjmp): New variable. 13155: * function.c (top level): Define it. 13156: (push_function_context): Save it. 13157: (pop_function_context): Restore it. 13158: (init_function_start): Initialize it. 13159: 13160: * calls.c (expand_call): Set current_function_calls_longjmp if 13161: this call is to `longjmp'. 13162: 13163: * flow.c, global-alloc.c: Include output.h so that 13164: FRAME_POINTER_REQUIRED can use current_function_calls_*. 13165: * Makefile.in (flow.o,global-alloc.o): Includes output.h. 13166: 13167: * rtl.h (FUNCTION_FLAGS_CALLS_LONGJMP): New macro. 13168: 13169: * integrate.c (initialize_for_inline): Record 13170: current_function_calls_lonjmp in `function_flags'. 13171: (output_inline_function): Set current_function_calls_longjmp if 13172: the inline code calls longjmp. 13173: 13174: * function.h (struct function): New field `calls_longjmp'. 13175: 13176: * out-i386.c (simple_386_epilogue): Add function description. 13177: Return 0 if NON_SAVING_SETJMP && `setjmp' is called in function. 13178: 13179: * tm-i386v.h (NON_SAVING_SETJMP): New macro. 13180: (FRAME_POINTER_REQUIRED): New macro. 13181: 13182: Sat Jul 20 12:25:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) 13183: 13184: * tm-m88k.h (OPTIMIZATION_OPTIONS): Don't change flag_signed_bitfields. 13185: 13186: * cccp.c (include_defaults) Use LOCAL_INCLUDE_DIR macro instead 13187: of "/usr/local/include". Provide default definition. 13188: 13189: * cccp.c (include_defaults) Added INCLUDE_DEFAULTS macro to 13190: provide complete control over default include directories. 13191: Delete the special case for VMS. 13192: * xm-vms.h (INCLUDE_DEFAULTS): Defined. 13193: 13194: * proto-man: Renamed from proto-unproto.1. 13195: 13196: * final.c (final_scan_insn): Do ASM_OUTPUT_LOOP_ALIGN only for real loop. 13197: 13198: Sat Jul 20 05:34:13 1991 Michael Tiemann (tiemann at cygint.cygnus.com) 13199: 13200: * tree.h (tree_type): Use the MAXVAL slot for TYPE_METHODS. 13201: * cplus-class.c (finish_struct): Methods are now chained with 13202: TREE_CHAIN and placed in the TYPE_METHODS of their _TYPE node. 13203: * cplus-dbxout.c (dbxout_type_methods): Use this fact, instead of 13204: using more C++-specific knowledge. 13205: 13206: * cplus-decl.c (init_decl_processing): Variable 13207: `const_ptr_type_node' was not being initialized. Same with 13208: `const_string_type_node'. 13209: 13210: * tree.h (DECL_PRINT_NAME): Marked for death. 13211: (DECL_ASSEMBLER_NAME): Changed from a char* to a tree node. 13212: All front-end files changed as necessary. 13213: 13214: * cplus-tree.h (DECL_ORIGINAL_NAME): Deleted. Now we use 13215: DECL_NAME. 13216: (DECL_NAME): No longer means the mangled name. Now we use 13217: DECL_ASSEMBLER_NAME for that purpose. 13218: All cplus-* files changed as necessary. 13219: 13220: * cplus-tree.c (lang_printable_name): Use a ring-buffer to hold 13221: printable names instead of DECL_PRINT_NAME slot of a _DECL node. 13222: 13223: * collect2.c: #define COLLECT, and let config.h provide definition 13224: of macros. 13225: 13226: See file ChangeLog.3. 13227: 13228: Local Variables: 13229: mode: indented-text 13230: left-margin: 8 13231: fill-column: 76 13232: version-control: never 13233: End:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.