| Mon Jan 13 19:12:18 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * unroll.c (find_splittable_givs): When completely unrolling loop, |
| use biv initial value stored in splittable_regs instead of |
| bl->initial_value, since the later may not be safe. |
| |
| * sched.c (schedule_block): When calculating whether a register |
| crosses a call, must do this after registers are killed and before |
| new registers are made live. |
| |
| * x-rs6000: Define INSTALL as /usr/ucb/install -c. /etc/install |
| (the SYS V version) does not handle -c option as Makefile.in |
| intends it. |
| |
| Mon Jan 13 11:21:24 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips-tfile (parse_stabs_common): Don't relocate N_LBRAC and |
| N_RBRAC stabs for compatibility with other stabs implementations. |
| |
| Mon Jan 13 07:41:32 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (grokdeclarator): Don't set TREE_PRIVATE here. |
| TREE_PRIVATE is only for visibility. |
| (start_function): Don't test TREE_PRIVATE here. #pragma |
| interface/implementation should properly handle the case of static |
| (i.e. non-public) defns in implementation section now. |
| |
| Mon Jan 13 07:31:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * rs6000.c (output_ascii): The AIX assembler silently truncates |
| strings longer than 666 characters, so break them up well before that. |
| |
| Mon Jan 13 00:26:47 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-decl.c (pushdecl): Warn about shadowing at top level any symbol |
| that was declared among the function parms. But don't warn for |
| parms in a nested function. |
| * tree.c (chain_member): New function. |
| |
| * sparc.c (output_return): Handle structure value in all the cases. |
| |
| * toplev.c (main): -gstabs+ means use stabs with gdb extensions. |
| |
| * fixincludes: Insert #undef NULL before #define NULL. |
| |
| * gvarargs.h (va_list): Check some macros to avoid redefinition. |
| |
| * tree.h (DECL_PACKED): New macro. |
| * c-common.c (decl_attribute): Handle `packed'. |
| * stor-layout.c (layout_record): Handle DECL_PACKED. |
| * c-parse.y (attrib): Accept `packed' with no arg. |
| |
| * c-decl.c (shadow_tag): For useless keyword, just warn. |
| (duplicate_decls): Don't preserve volatile bit from old decl |
| if that is just a default declaration for abort, exit, etc. |
| |
| * cccp.c (do_assert, do_unassert, check_assertion): |
| No pedantic warnings in system header files. |
| |
| * ultrix.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined. |
| (WCHAR_TYPE_SIZE): Defined. |
| |
| * i386.h (HI_REGISTER_NAMES): Add a name for dummy reg 16. |
| |
| * dbxout.c (flag_minimal_debug): Make it static. |
| |
| Sun Jan 12 18:10:46 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-lex.c (check_newline): Check #line for `3' meaning system header. |
| * cccp.c (output_line_command): Output `3' if system header. |
| * c-tree.h (system_header_p): Declare it. |
| (ridpointers): Declaration deleted. |
| |
| * dwarfout.c (fundemental_type_code): Treat OFFSET_TYPE like integer. |
| (type_is_fundamental, output_type): Likewise. |
| |
| * optabs.c (expand_float): Abort if FROM has VOIDmode. |
| * expr.c (expand_expr, FLOAT_EXPR case): Don't pass a VOIDmode. |
| |
| Sun Jan 12 16:11:40 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (ASM_OUTPUT_SPACE): If assembler is gas, don't use the |
| .space directive, since the table PREDICATE_CODES generates tickles |
| a bug. |
| |
| Sun Jan 12 15:59:41 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * expmed.c: Include real.h. |
| (make_tree): Properly handle CONST_INT and handle many more rtl codes. |
| (expand_mult_add): Don't do folding here; just call make_tree and fold. |
| * Makefile.in (expmed.o): Includes real.h. |
| |
| Sun Jan 12 12:26:20 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (store_parm_decls): Finish change started 11 Jan 1992. |
| |
| * cp-decl.c (pushtag): Don't set CLASSTYPE_TAGS after |
| CURRENT_CLASS_TYPE has been defined. |
| |
| * cp-lex.c (check_newline): Set INTERFACE_UNKNOWN if we see a |
| #pragma implementation or if it's the toplevel file. |
| |
| Sat Jan 11 22:04:34 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.md (fix_truncsfsi2_opt): Delete, since the optimizer will |
| strip the clobbers when substituting a register for a cs'ed value, |
| unlike GCC 1. |
| (fix_truncdfsi2_opt): Likewise. |
| (long long shifts): Fix various typos. |
| |
| Sat Jan 11 15:26:24 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * expr.h (GEN_FCN): Alternate definition if FUNCTION_CONVERSION_BUG. |
| * xm-romp.h (FUNCTION_CONVERSION_BUG): Define it. |
| |
| * i386.md (cmpstrsi recognizers): Change back to repz. |
| |
| Sat Jan 11 11:18:32 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (store_parm_decls): Don't put non-PARM_DECL nodes in the |
| list that will become DECL_ARGUMENTS. |
| |
| * cp-decl2.c (grokfield): Convert () initialization to = |
| initialization in FIELD context. |
| * cp-decl.c (parmlist_is_exprlist): Now non-static. |
| |
| * cp-decl.c (grokdeclarator): Don't let static class members be |
| declared `static' at top-level. |
| |
| * cp-decl.c (pushdecl_class_level): Don't use DECL_ASSEMBLER_NAME. |
| |
| * cp-decl.c (grokdeclarator): Don't let language linkage interfere |
| with declarator grokking--the two are independent. |
| |
| * cp-call.c (compute_conversion_costs): Look for constructor or type |
| conversions regardless of whether we have CONTRAVARIANCE_HARSHNESS |
| or not. Also, `#if 0' some dead code. |
| |
| * cp-method.c (report_type_mismatch): Fix bugs in formatting error |
| messages. |
| |
| * cp-decl.c (grokvardecl): Verify that when static class members are |
| declared at toplevel, the types match their initial declaration. |
| |
| Sat Jan 11 08:41:24 1992 Fred Fish (fnf at fishpond) |
| |
| * config/m68kv4.h (NO_DOLLAR_IN_LABEL): Undefine so that the |
| default for m68k/SVR4 systems is to use '$', which is more |
| widely supported. |
| |
| Sat Jan 11 10:56:10 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) |
| |
| * Finish PIC implementation on the 68k |
| * output.h (flag_pic): Declare here so that insn-*.c can see it. |
| |
| * reload1.c (reload): When compiling PIC ignore REG_EQUIV notes |
| which are CONSTANT_P, but are not LEGITIMATE_PIC_OPERAND_P. |
| |
| * m68k.md (call, call_value): Make these into define_expands. If |
| compiling PIC code, then load the address of the function into a |
| register so that we make indirect calls. |
| (Non-PIC call, call_value): New define_insns. These are |
| standard call insns. |
| (PIC call, call_value): New define_insns which output PIC calls. |
| (movsi): Make this into a define_expand. Legitimize PIC addresses |
| if necessary. Old movsi code is now an unnamed define_insn pattern. |
| |
| * m68k.h (GO_IF_LEGITIMATE_ADDRESS case INDIRECTABLE_1_ADDRESS_P): |
| Use LEGITIMATE_PIC_OPERAND_P to reject SYMBOL_REFS and LABEL_REFS |
| without PIC relocation when compiling PIC code. |
| |
| * m68k.c (legitimize_pic_address): New function. Given an address |
| return that address as "legitimized" PIC code. |
| (print_operand_address): When generating PIC code, handle PIC |
| relocated label_refs just like a PIC relocated symbol_ref. |
| (print_operand_address): If -fpic then add ":w" to displacement in |
| PIC relocated references. |
| (print_operand_address): If -fPIC then add ":l" to displacement in |
| PIC relocated references. |
| |
| Fri Jan 10 18:03:08 1992 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-init.c (build_new): Don't allocate header for arrays if no |
| destructor is needed. Also fix broken calculation of array size. |
| (build_delete): Don't skip array header if no destructor is needed. |
| |
| Fri Jan 10 14:54:19 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-cvt.c cp-decl2.c cp-expr.c cp-gc.c cp-init.c cp-lex.c cp-parse.y |
| cp-pt.c cp-search.c cp-tree.c: Clean up problems found with -Wreturn |
| (from rfg). |
| |
| * cp-typeck.c cp-tree.c cp-cvt.c cp-lex.c cp-call.c cp-class.c: |
| Add (unsigned) casts to all places where native SVr4 compilers |
| expect to see unsigned values. |
| |
| Fri Jan 10 08:34:36 1992 Fred Fish (fnf at sunfish) |
| |
| * m68ksgs.h (REGISTER_NAMES): Provide separate versions for |
| SUPPORT_SUN_FPA defined and not defined. |
| |
| Fri Jan 10 22:36:41 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) |
| |
| * Improve I/O performance of gcc on VMS. |
| * cccp.c (VMS_open, VMS_fopen, VMS_freopen): New functions. |
| (open, fopen, freopen): Define as macros on VMS. |
| * toplev.c (VMS_fopen): New function. |
| (fopen): Define as macro on VMS. |
| |
| Fri Jan 10 22:00:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * genrecog.c (merge_trees): If two trees both have actions, but |
| one adds clobbers and one doesn't, ignore the one that does. |
| |
| * genemit.c (gen_split): Say that we are giving the definition number |
| in our error message. |
| * genrecog.c (fatal): Likewise. |
| * genoutput.c (scan_operands): Likewise. |
| |
| * caller-save.c: Include expr.h (for gen_move_insn). |
| (regno_save_elim): Deleted. |
| (init_save_areas): Don't initialize it. |
| (setup_save_areas): Don't set it. |
| (save_call_clobbered_regs, restore_referenced_regs): Accept mode, |
| not spill register. |
| (insert_save_restore): Don't do our own register elimination and |
| reloading; instead set the insns we make to the desired mode. |
| * reload1.c (struct elim_table): New field MAX_OFFSET. |
| (reload): Always call init_save_areas. |
| Initialize max_offset each pass. |
| At each CALL_INSN, create a need for a spill register that will |
| be used by caller-save. |
| Pass mode for insns to save_call_clobbered_regs instead of a |
| spill reg number. |
| Call reload_as_needed if we will have to reload the caller-save |
| insns, even if nothing else needs reload (unlikely). |
| (eliminate_regs_in_insn): Record maximum offset value. |
| * Makefile.in (caller-save.o): Includes expr.h. |
| |
| * reload.c (find_reloads): CALL_INSNs can't have output reloads. |
| * reload1.c (emit_reload_insns): Put any reloads for a CALL_INSN |
| in front of any immediately-preceeding USE insns. |
| |
| * flow.c (life_analysis): Mark all global regs as live at the end of |
| the function. |
| (propagate_block): Each call makes all global registers live. |
| (mark_used_regs): A RETURN may use the stack pointer and uses all |
| global regs. |
| * cse.c (cse_insn): A CALL_INSN clobbers any global regs. |
| * reorg.c (mark_referenced_resources): Calls used global regs. |
| (mark_set_resources): CALL_INSNs clobber global regs. |
| |
| Fri Jan 10 17:24:06 1992 Michael Meissner (meissner at osf.org) |
| |
| * collect2.c (whole file): Major rewrite to merge in collect3 |
| functionality which uses GCC to build up the constructor and |
| destructor tables, instead of using the assembler. Also improve |
| the support for cross compilers to find the tools. The old assembly |
| language support has been removed. |
| |
| * mips-tfile.c (CODE_MASK): Move to mips.h to use with mips-tdump |
| also. |
| (MIPS_IS_STAB): Likewise. |
| (MIPS_MARK_STAB): Likewise. |
| (MIPS_UNMARK_STAB): Likewise. |
| |
| * mips-tdump.c (various): Changes by Per Bothner to print |
| encapsulated stabs, and to shorten the output. |
| |
| * mips.h (MIPS_VERSION): Set Meissner version # to 7. |
| (cmp2_op): Make cmp2_op a real function instead of just a |
| macro to cmp_op. |
| (OPTIMIZATION_OPTIONS): -O now sets flag_caller_saves and |
| flag_schedule_insns_after_reload. |
| (CC1_SPEC): Fix typo preventing -mgpopt from being set if |
| optimization. |
| (PREDICATE_CODES): Define. |
| (USE_COLLECT, EXTENDED_COFF, NO_UNDERSCORES): Delete, not needed in |
| GCC 2.00. |
| (ASM_INT_OP, ASM_SHORT_OP, ASM_CHAR_OP): Likewise. |
| (CODE_MASK): Move from mips-tfile. |
| (MIPS_IS_STAB): Likewise. |
| (MIPS_MARK_STAB): Likewise. |
| (MIPS_UNMARK_STAB): Likewise. |
| |
| * mips.c (cmp2_op): Make this a real function, instead of a macro |
| pointing to cmp_op. |
| (volatile_buffer): New static variable to support .set volatile. |
| (mips_move_1word): Do .set volatile/.set novolatile around volatile |
| memory references. |
| (mips_move_2words): Likewise. |
| |
| * mips.md (sne define_split): Fix so that it generates a gtu 0. |
| (all set cc define_splits): Remove reload_completed tests. |
| (all set cc define_insns): Don't allow 0 as operand 1. |
| |
| Fri Jan 10 16:40:45 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) |
| |
| * m68k.md (addsi3, addhi3, subsi3, stack adjustment peepholes): |
| Perform small (8 < N <= 16) constant additions and subractions to |
| address registers with two addqw (or subqw) instructions. |
| |
| Fri Jan 10 06:54:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * calls.c (expand_call): Check for _longjmp as well as longjmp; |
| clean up code a bit and merge with check for setjmp-like names. |
| Emit a BARRIER if this is a call to longjmp in addition to |
| volatile calls. |
| |
| Fri Jan 10 02:25:54 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-typeck.c (digest_init): Properly return error_mark_node |
| after invalid element in array initializer. |
| |
| * gcc.c (pexecute): Use `fork' in error message if don't have vfork. |
| |
| * Makefile.in: Add .NOEXPORT. |
| |
| Thu Jan 9 13:36:25 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * expr.c (expand_expr): Handle OFFSET_REF. |
| |
| * cse.c (simplify_binary_operation): Never use associative law for |
| floating arithmetic. |
| |
| * fixinc.svr4: Renamed INCLUDES to INPUT. |
| |
| * i386.md (cmpstrsi recognizers): Output repe, not repz. |
| |
| Thu Jan 9 18:02:34 1992 Dennis P. Glatting (dennisg at tti) |
| |
| * tree.h (CONSTRUCTOR_NAME_FORMAT): Changed name format. Old format |
| was recognized as destructors not constructors. |
| * objc-actions.c (build_module_descriptor): |
| Null-terminate global_object_name. |
| |
| Thu Jan 9 10:35:58 1992 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * sdbout.c (sdbout_syms): Don't attempt to output a LABEL_DECL. |
| |
| Thu Jan 9 08:17:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * fold-const.c (merge_component_references): Treat constants as |
| unsigned, so we don't get extra sign bits where we don't want them. |
| |
| Wed Jan 8 19:12:59 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * reload.c (combine_reloads): Don't use a fixed_reg as an reload |
| reg, even if it dies. |
| |
| * loop.c (record_giv): Fix typo extracting insn_uid. |
| |
| Wed Jan 8 15:41:10 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * cpp.texi, gcc.texi: Files renamed. |
| * invoke.texi, extend.texi, md.texi, rtl.texi, tm.texi: New subfiles. |
| * Makefile.in: Corresponding changes. |
| |
| * fixincludes: Renamed INCLUDES to INPUT. |
| |
| * m68k.c (notice_update_cc, print_operand): Fix typos. |
| |
| * cp-decl.c (expand_static_init): Save and restore current obstacks. |
| |
| * c-decl.c (poplevel): Put labels in BLOCK_VARS of top-level block. |
| |
| Wed Jan 8 12:53:48 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (expand_static_init): Switch to PERMANENT_OBSTACK during |
| expansion. |
| |
| Wed Jan 8 07:45:58 1992 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88kv3.h (STARTFILE_SPEC): SVR3 has *crt0.o files. |
| |
| * configure (m88k-*sysv{3,4}): The files are named m88kv{3,4}. |
| |
| Wed Jan 8 06:01:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * romp.md (mftbi): Allow memory in the contraints since there can't |
| be an input reload on an insn that uses cc0. |
| |
| * cse.c (FIXED_BASE_PLUS_P): Include virtual_incoming_args_rtx. |
| (NONZERO_BASE_PLUS_P): New macro. |
| (find_comparison, simplify_relational_operation_args): Use |
| NONZERO_BASE_PLUS_P instead of FIXED_BASE_PLUS_P when appropriate. |
| |
| * m68k.md (peepholes): Don't change around stack adjusts and pushes |
| when we are pushing something whose address involves sp. |
| |
| * cse.c (simplify_unary_operation): Check for operations on |
| integers by looking at mode of OP, not output mode, to avoid |
| confusion with FIX operations whose result is an integer. |
| |
| * rtl.h ([df]const[012]_rtx): Deleted. |
| (const_tiny_rtx): New declaration. |
| (CONST0_RTX): Use const_tiny_rtx instead of {d,f,}const0_rtx. |
| (CONST1_RTX, CONST2_RTX): New macros. |
| * emit-rtl.c ([df]const[012]_rtx): Deleted. |
| (const_tiny_rtx): New definition. |
| (init_emit_once): Initialize const_tiny_rtx instead of old vars. |
| * cse.c (simpify_binary_operation): Use CONST[01]_RTX. |
| * varasm.c (immed_real_const_1): Likewise. |
| * combine.c (subst): Likewise. |
| * reg-stack.c (record_reg_life, stack_reg_life_analysis): Likewise. |
| * convex.md, i860.md, m88k.c, spur.md, vax.h, ns32k.md: Likewise. |
| |
| Tue Jan 7 22:11:17 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * x-i386isc (ENQUIRE_LDFLAGS): New defn: add -posix. |
| |
| * protoize.c (_POSIX_SOURCE): Define only if POSIX. |
| |
| * m68k.h (FPA_REG_P): Always define this somehow. |
| |
| * c-decl.c (c_decode_option): Handle -Wchar-subscripts. |
| * c-typeck.c (build_array_ref): Do the real work. |
| |
| Tue Jan 7 21:15:54 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.md (branch_zero_false): Use correct mode (CC_0) on |
| match_operator. |
| |
| Tue Jan 7 14:24:45 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * reg-stack.c (replace_reg): get mode class from a mode, not a reg. |
| |
| Tue Jan 7 14:16:18 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * reg-stack.c (emit_pop_insn): Fix typo FPmode_reg. |
| |
| * protoize.c (longjmp): Don't declare it. |
| |
| Tue Jan 7 09:47:47 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-lex.c (real_yylex): From John Hassey, allocate space for the |
| terminating null on wide character literals. |
| |
| Tue Jan 7 07:41:42 1992 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88kv3.h (LIB_SPEC): Add -lg. |
| |
| Tue Jan 7 06:29:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * stor-layout.c (layout_type): Don't over-align a structure |
| when strict alignment is not required. |
| |
| * rs6000.h (CALL_USED_REGISTERS): r31 should not be marked call-used. |
| |
| * rs6000.md (add-and-compare): Fix duplicate operand number. |
| |
| * a29k.md (inbyte, inhw): Correct duplicate operand number. |
| |
| * fold-const.c (fold, case MULT_EXPR): Simplify (a * (1 << b)). |
| * combine.c (subst, case MULT): Likewise. |
| (simplify_shift_const, shift cases): Similarly, associate A << B << C. |
| |
| * genoutput.c (seen): New array. |
| (scan_operands): Give error if an operand number was specified |
| twice. Include pattern number in error message. |
| (gen_insn, gen_expand, gen_split, gen_peephole): Initialize `seen'. |
| (gen_split, gen_peephole): Add initializations for arrays that |
| are copied. |
| |
| * optabs.c (expand_unop): Complete recent change; one TARGET was |
| not changed to TEMP. |
| |
| * expmed.c (expand_mult): Always try multiplication by value and |
| by negated value. Fix bug where we don't include the cost of the negate |
| when seeing which way is better. Write proper value in REG_EQUAL |
| note. |
| |
| * optabs.c (extendtab): Replacement for {zero,sign}_extend_codes. |
| (can_extend_p): Use new table and return type is not enum insn_code. |
| (gen_extend_insn): Deleted; not used. |
| (init_extends): Make like init_flottab: use new table and initialize |
| unused entries to CODE_FOR_nothing, not zero. |
| * expr.c (convert_move): can_extend_p fails if it returns |
| CODE_FOR_nothing, not zero. |
| * expr.h (can_extend_p): Add definition. |
| |
| * expr.h: Add "extern" to function definitions. |
| |
| Mon Jan 6 10:12:34 1992 Leonard Norrgard (vinsci at nic.funet.fi) |
| |
| * m68k.c (SUPPORT_SUN_FPA): Conditionalize references to the |
| optional Sun 3 Floating Point Accelerator with SUPPORT_SUN_FPA. |
| * m68k.h (SUPPORT_SUN_FPA): Likewise. |
| |
| * m68k.c (notice_update_cc): New function. |
| * m68k.h (NOTICE_UPDATE_CC): Just call notice_update_cc. |
| |
| * sun3.h (SUPPORT_SUN_FPA): New define. |
| |
| Mon Jan 6 16:42:43 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * varasm.c (assemble_global, assemble_label): New functions. |
| * objc-actions.c (finish_objc): Call them to define and globalize. |
| Use output_constant to reference a class. |
| |
| * Makefile.in (install-limits-h): New target. |
| (install-headers): Depend on install-limits-h. |
| (USER_H): Deleted LIMITS_H. |
| (INSTALLED_H): Added limits.h. |
| (mostlyclean): Remove tmp-limits.h. |
| * limitx.h: New file. |
| |
| * x-isc: File deleted. |
| |
| * objc-actions.c (build_module_descriptor): Init global_object_name. |
| |
| * Makefile.in (collect2): Depend on version.o. |
| |
| * protoize.c (PATH_MAX): Definition deleted. Just test it |
| to see if param.h should be included. |
| |
| * cse.c (simplify_binary_operation, case MULT): Make a copy |
| of the operand when converting 2.0 * X to X+X. |
| |
| * reload.c (find_reloads): Refine when we set force_reload and |
| better document the cases. |
| |
| Mon Jan 6 08:22:19 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * i386.c (output_float_compare): Output only single-pop compare |
| if both operands are the FP top of stack reg. |
| When comparing FP top of stack with itself, print `%st(0)' as the |
| reg name, not `%st'. |
| |
| Mon Jan 6 12:01:51 1992 Tiggr (rcpieter at mole.gnu.ai.mit.edu) |
| |
| * arm.md (mulsi3): Fixed contraints. |
| |
| Mon Jan 6 08:21:46 1992 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88k-move.sh: Renamed from m88k-movstr.sh. Rename the generated |
| files move*.asm from movstr*.asm to be SVR3-legit. |
| * t-m88k, t-m88kluna, t-m88kv4: Use the new names. |
| |
| * c-aux-info.c, dbxout.c: Include errno.h as in protoize.c. |
| |
| * Makefile.in (BISONFLAGS): Don't use -v since *.output is big. |
| (cp-parse.c): Do use -d to create cp-parse.h. |
| (cp-parse.o): Don't define PARSE_OUTPUT. |
| * x-mips, x-m88kdgux (BISONFLAGS): No -v. |
| |
| Mon Jan 6 07:54:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * genpeep.c (match_rtx): Loop over vectors (e.g., PARALLEL) in the |
| natural order so we see an operand before we see a MATCH_DUP referring |
| to it. |
| |
| * genrecog.c (write_tree_1): Simplify code that writes braces and |
| avoid writing them unnecessarily. |
| Don't write dead code when last test was unconditional. |
| |
| * optabs.c (expand_binop, expand_twoval_binop, expand_unop): |
| Standardize loop for wider mode. |
| (emit_cmp_insn, emit_float_lib_cmp): Likewise. |
| (expand_binop): Correct how extensions are done: use convert_to_mode, |
| don't use SUBREG for non-integer operations, and remove test |
| involving HOST_BITS_PER_INT. |
| (expand_unop): Similar changes; make code closer to expand_binop. |
| Handle failure of recursive call when expanding. Fix incorrect use |
| of TEMP when widening. Use SUBREG for NEG and NOT. |
| |
| * reload.c (find_reloads_address_part): New function. |
| (find_reloads_address): Call it instead of push_reload when we are |
| reloading a PLUS or a constant. |
| |
| Sun Jan 5 18:34:15 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) |
| |
| * make-cc1.com: Change file names from cp-tab.* to cp-parse.*. |
| |
| Sun Jan 5 18:06:11 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (grokdeclarator): Correctly grok REFERENCE_TYPE |
| parameters when TYPE_REFERENCE_TO is automagically converted. |
| |
| Sun Jan 5 05:19:19 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * tree.h (CONSTRUCTOR_NAME_FORMAT): New macro. |
| * objc-actions.c (build_module_descriptor): Make constructor name |
| from name of file or of a global that it defines. |
| Return constructor name. |
| (finish_objc): Use name returned as name to call. |
| |
| * protoize.c (GUESSPATHLEN): New macro. |
| (main): Use that for initial buffer size for getcwd. |
| * dbxout.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c. |
| (dbxout_init): Call getcwd in loop, as in protoize.c. |
| * c-aux-info.c (getwd, getcwd, GUESSPATHLEN): Define as in protoize.c. |
| (gen_aux_info_record): Call getcwd in loop. |
| * i386v.h, i386vgas.h (MAXPATHLEN): Don't define. |
| |
| * svr3.h (LINK_SPEC): Don't pass -K. |
| |
| * reload.c (find_reloads): Do record in non_reloaded_operands if no -O. |
| |
| * m68k.c (output_function_prologue, output_function_epilogue): |
| Add braces and adjust conditionals to fix balance and indentation. |
| |
| * objc-actions.c (build_module_descriptor): Mark __objc_file_init used. |
| |
| Sat Jan 4 13:27:40 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * protoize.c: unprotoize getcwd & fork declarations. |
| (edit_fn_declaration): use "VOLATILE", not "volatile". |
| |
| Sat Jan 4 20:19:41 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (set_volatile): Add new global variable reference. |
| |
| * mips.c (set_volatile): New global variable to keep track of the |
| number of .set volatile's done. At present, no code actually turns |
| this on. |
| (mips_move_1word): Use %. instead of putting const0_rtx into an |
| unused operator and using %z to get to $0, which is hardwired to 0. |
| (mips_move_2words): Likewise. |
| (override_options): Allow %., %{, and %} punctuation. |
| (print_operands): Add support for %. to get the current name of |
| register 0, %{ to turn on .set volatile, and %} to turn on .set |
| novolatile. |
| (function_epilogue): Give an error if .set volatile was left on in |
| the epilogue. |
| (mips_asm_file_start): Don't emit .set nobopt unless we are filling |
| branch delay slots. |
| |
| * mips.md (set reg on comparison define_splits): Don't allow the |
| scheduler to split any set of a comparision insns, to work around a |
| bug in sched.c. |
| |
| Sat Jan 4 23:01:41 1992 Jeffrey A Law (law at planet.super.org) |
| |
| * m68k.c (output_function_prolog): Decrement (instead of |
| increment) num_saved_regs when a frame pointer is needed. |
| (the link/unlk will restore the frame pointer register) |
| |
| Sat Jan 4 11:11:24 1992 Dennis P. Glatting (dennisg at tti) |
| |
| * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): #undef before defining. |
| |
| Sat Jan 4 07:40:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * expr.c (convert_to_mode): Correctly zero-extend a constant into |
| a mode whose size is twice the host int size. |
| |
| * machmode.h (enum mode_class): Add MAX_MODE_CLASS. |
| (GET_CLASS_NARROWEST_MODE): New macro. |
| (byte_mode, word_mode): Add declarations. |
| * caller-save.c (choose_hard_reg_mode): Use GET_CLASS_NARROWEST_MODE. |
| * combine.c (make_extraction): Don't use explicit QImode and SImode. |
| * cse.c (simplify_unary_operation): Integer CONST_DOUBLEs have |
| VOIDmode, not DImode. |
| (simplify_binary_operation): Remove explicit DFmode reference. |
| * expmed.c (init_expmed): Don't make our own copy of word_mode. |
| (store_bit_field, extract_bit_field): Remove explicit |
| QImode reference; don't recompute word_mode. |
| (store_fixed_bit_field, {store,extract}_split_bit_field): Don't |
| recompute word_mode. |
| (emit_store_flag): Likewise. |
| (extract_fixed_bit_field): Replace explicit mode references with a |
| loop on modes; don't recompute word_mode. |
| * expr.c (convert_mode, move_block_{to,from}_reg, use_regs): Don't |
| recompute word_mode. |
| (emit_push_insn, do_jump_by_parts*): Likewise. |
| (push_block): Remove explicit QImode reference. |
| (get_inner_reference): Use mode_for_size. |
| * emit-rtl.c (restore_reg_data): Make unused regs word_mode. |
| (operand_subword): Don't recompute word_mode. |
| * fold-const.c (optimize_bit_field_compare): Likewise. |
| (merge_component_references): Likewise. |
| * flow.c (mark_set_1, mark_used_regs): Likewise. |
| * loop.c (combine_movables): Use GET_CLASS_NARROWEST_MODE. |
| * optabs.c (expand_binop): Replace SImode references in multi-word |
| multiply with the mode used for each subpart. |
| (expand_binop, expand_unop): Don't recompute word_mode. |
| * reg-stack.c (reg_to_stack): Use GET_CLASS_NARROWEST_MODE. |
| * reload.c (find_equiv_reg): Check for MODE_FLOAT, not SFmode/ DFmode. |
| * rtl.c (class_narrowest_mode, byte_mode, word_mode): Define. |
| (init_rtl): Initialize them. |
| * sched.c (attach_deaths): Don't recompute word_mode. |
| * stor-layout.c (mode_for_size): Use GET_CLASS_NARROWEST_MODE. |
| (get_best_mode): Likewise. |
| Don't recompute word_mode. |
| * unroll.c (unroll_loop): Replace default of SImode with word_mode. |
| |
| * calls.c (calls_alloca): Don't recurse on BLOCK_SUPERCONTEXT. |
| |
| Sat Jan 4 03:42:09 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * protoize.c (pointer_type): Use char * if non-ANSI. |
| (const_pointer_type): Likewise. |
| (malloc, realloc): Declare to return pointer_type. |
| (setjmp): Don't declare, to avoid trouble with macro defns. |
| (const): If not ANSI, define as empty macro. |
| |
| Sat Jan 4 00:59:53 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * sparc.c (legitimize_pic_address): When converting a symbol_ref, |
| use an extra temp reg when -fPIC, and add a REG_EQUAL note to the |
| insn referencing the global offset table. This allows loop to |
| optimize these PIC sequences. |
| |
| Fri Jan 3 20:29:57 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * i386.md (return): Always output return insns. |
| |
| * i386.h (FUNCTION_PROLOGUE): If the last nonnote insn in a function |
| is a BARRIER, don't output a function epilogue. |
| |
| Fri Jan 3 12:43:09 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips (ALL): |
| Use libgcc.a, not libgcc. |
| |
| * protoize.c (STRINGIFY): Provide non-ANSI alternative definition. |
| |
| * c-decl.c (get_parm_info): Keep non-parms in the parm list. |
| |
| * stmt.c (cost_table): Now short. |
| (estimate_case_costs): Handle that. |
| |
| * Makefile.in (float.h, *protoize.1, gcc.xtar.Z): |
| Make temp files, then rename. |
| (clean): Delete those temp files. |
| |
| * Makefile.in (c-parse.c): Don't use -d, since cp-parse.output is big. |
| |
| Fri Jan 3 10:32:31 1992 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) |
| |
| * Makefile.in (cp-parse.c): Add missing -o flag. |
| |
| Fri Jan 3 08:21:04 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reg-stack.c: Complete last change (renaming DFmode_reg). |
| |
| * expmed.c (init_expmed): Pass dummy pointer to number of clobbers to |
| recog so it can let us see patterns that need added clobbers. |
| |
| Fri Jan 3 07:54:32 1992 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * c-decl.c (implicitly_declare): Record whether this is an implicit |
| declaration before setting IDENTIFIER_IMPLICIT_DECL. |
| |
| Thu Jan 2 21:17:12 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.c (compute_frame_size): Don't count FP registers twice. |
| |
| Thu Jan 2 14:59:55 1992 Michael Tiemann (tiemann at hal) |
| |
| * cp-lex.h: Renamed from cp-parse.h. Now cp-parse.h is the file |
| created by bison from cp-parse.y. |
| * Makefile.in: reflect this naming change. |
| |
| Thu Jan 2 12:37:32 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * objc-actions.c (build_obj_method_call): Typo in NEXT case. |
| |
| * next.h (HAVE_ATEXIT): Defined. |
| |
| * c-decl.c (duplicate_decls): |
| No error if override decl that has DECL_BUILT_IN_NONANSI. |
| |
| * Makefile.in (c-parse.c): Don't use -o, since cp-parse.output is big. |
| |
| * Makefile.in (protoize, PROTOIZE): Delee these 2 new targets; |
| `protoize' was redundant. |
| |
| * c-typeck.c (build_function_call): If the fn is volatile, |
| make a pointer-to-volatile-function type pointer. |
| * calls.c (expand_call): Handle calls to such pointers as volatile. |
| |
| * expmed.c (init_expmed): Pass all 3 args to `recog'. |
| |
| * varasm.c (output_constant): For REAL_TYPE, mode_for_size arg is bits. |
| |
| * sparc.md (storing SF into mem at symb addr): Fix typos. |
| |
| * protoize.c (my_access, my_stat, my_execvp, my_link, my_unlink): |
| (my_open, my_chmod): Macros that run access, stat,... with casts. |
| Renamed from former POSIX-only macros and made unconditional. |
| All calls to these functions also renamed. |
| |
| * m68k.h (LEGITIMATE_PIC_OPERAND_P): Undo change below, |
| thus making the behavior really change to accept all CONST_DOUBLE. |
| |
| * libgcc1.c, libgcc2.c: Renamed from gnulib1.c, gnulib2.c. |
| * gcc.c (link_command_spec): Link with libgcc.a. |
| * Makefile.in (libgcc): Rename targets and variables from gnulib. |
| * *.h, t-*, x-*: Rename refs to those symbols and files. |
| * expr.c (LIBGCC_NEEDS_DOUBLE): Renamed from GNULIB_... |
| |
| * m68k.c (symbolic_operand): Reject all CONST_DOUBLE. |
| * m68k.h (SELECT_RTX_SECTION): Use LEGITIMATE_PIC_OPERAND_P. |
| (LEGITIMATE_PIC_OPERAND_P): Reject the CONST_DOUBLEs |
| that symbolic_operand used to accept. |
| |
| Thu Jan 2 21:06:13 1992 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * protoize.c (is_id_char,free_def_dec,check_aux_info): |
| Don't declare them `inline'. |
| (save_def_or_dec,munge_compile_params,find_extern_def,check_source, |
| scan_for_missed_items): Use alloca instead of variable length arrays. |
| |
| * Makefile.in (protoize,unprotoize): Get $(LIBS) for alloca. |
| |
| Thu Jan 2 21:40:52 1992 Jeffrey A Law (law at b115.super.org) |
| |
| * sparc.h (OPTIMIZATION_OPTIONS): Enable caller-saves for -O2 |
| and higher optimization levels. |
| |
| Thu Jan 2 06:46:56 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * final.c (final_scan_insn): Compare debug_info_level with entries in |
| its enum, not with integers. |
| |
| * reg-stack.c ({SF,DF}mode_reg): Deleted. |
| (FP_mode_reg): New array, indexed by register and by mode. |
| (reg_to_stack): Replace initialization of old vars with initialization |
| of FP_mode_reg. |
| (replace_reg): Use new array. |
| |
| * romp.c, romp.h, romp.md: Rename symbolic_operand to |
| romp_symbolic_operand. |
| |
| * emit-rtl.c (init_emit_once): Create virtual registers before the |
| structure value regsisters, since the latter might use the former. |
| |
| * varasm.c (output_constant): Fix typo: missing arg to expand_expr. |
| |
| * vax.md (call_pop, call_pop_value): Use correct register number for |
| stack pointer. Add new patterns for case of zero args. |
| |
| Thu Jan 2 08:12:59 1992 Fred Fish (fnf at sunfish) |
| |
| * x-amix: Minor changes to some comments. |
| * x-amix (CCLIBFLAGS, GNULIB2_CFLAGS, XCFLAGS): Remove definitions. |
| * x-amix (manext): Add definition. |
| |
| Thu Jan 2 11:14:28 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * fold-const.c (fold, case PLUS_EXPR): If association permits |
| reduction to var+0, convert var to the desired type before returning |
| it. |
| |
| Wed Jan 1 10:37:50 1992 Michael Tiemann (tiemann at cygnus.com) |
| |
| * expr.c (convert_move): When GET_MODE_BITSIZE (TO_MODE) > |
| BITS_PER_WORD, check that it's also > GET_MODE_BITSIZE (FROM_MODE). |
| |
| * expr.c (expand_expr): In CONSTRUCTOR case, preserve |
| MEM_IN_STRUCT_P when creating a new target when TARGET and EXP might |
| not be independent. |
| |
| Wed Jan 1 18:32:03 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-parse.y (parmlist_1): Accept `PARMS; PARMS'. |
| (parmlist_or_identifiers_1): Likewise. Also use plain parmlist_2. |
| Delete the ([names] decls) syntax. |
| (defn_parms, defn_parmlist_2): Deleted. |
| * c-decl.c (get_parm_info): Put parm decls into original order. |
| Don't nreverse the original decls list. |
| (pushdecl, duplicate_decls): Avoid error for forward parm decl. |
| (clear_parm_order): New function. |
| (push_parm_decl): Record original order of parms. |
| |
| * c-decl.c (struct binding_level): New slot subblocks_tag_transparent. |
| (pushlevel): Use that, not ->parm_flag. |
| (start_function): Set that slot. |
| |
| * config.sub: Always distinguish between amix and sysv4. |
| Convert commodore to cbm and digital to dec. |
| |
| * m68k.md (stack adjust then push SI): New peephole. |
| |
| * m68k.h, fx80.h (WCHAR_TYPE): Use precisely "long int". |
| * sun3.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Undef before defining. |
| |
| * cexp.y (yylex): Use LONG_TYPE_SIZE, not INT_TYPE_SIZE. |
| (LONG_TYPE_SIZE): Add default definition. |
| |
| * objc-actions.c: Declare index and rindex. |
| (build_module_descriptor): Simplify last change. |
| Use a fixed name for the initialization function. |
| (init_objc): Don't do constructor here. |
| (finish_objc): Do it here, with proper name if not NEXT_OBJC_RUNTIME. |
| |
| * protoize.c: Unprotoized. |
| (edit_file): Improve message in -n case. |
| |
| * Makefile.in (LANGUAGES): Add proto. |
| (C, C++, OBJC, OBJECTIVE-C): Aliases for l.c. targets. |
| (PROTOIZE, protoize, PROTO): Aliases for proto. |
| (rest.encap): Delete dep `proto'. |
| |
| Wed Jan 1 15:07:41 1992 Michael Meissner (meissner at osf.org) |
| |
| * mips.md (extend*): Use gen_lowpart to make the SUBREG, rather than |
| doing it wrong by hand. If not optimizing, make sign extends from |
| memory not force the operand into a register first and do two |
| shifts -- combine already does this when optimizing. |
| (copyright): Add 1992 to list of years the file was modified. |
| |
| Wed Jan 1 06:10:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reload1.c (reload): When forcing an illegitimate constant into |
| memory, use mode of SET_DEST in case constant is VOIDmode. |
| |
| * stmt.c (expand_end_case): Pass index type to emit_case_nodes instead |
| of unsigned flag. |
| (node_has_{low,high}_bound): Accept INDEX_TYPE as an argument and see |
| if the a node value is at the limit of values of the type. |
| (node_is_bounded): Accept INDEX_TYPE and pass to above functions; |
| always call them. |
| (emit_case_nodes): Accept INDEX_TYPE instead of UNSIGNEDP as arg; |
| pass index type to recursive calls and to calls to bound checking |
| functions. |
| |
| * varasm.c (assemble_integer_zero): Deleted. |
| (assemble_integer, assemble_real): New functions. |
| (output_constant_pool, output_constant): Use new functions. |
| * final.c (end_final, profile_function): Likewise. |
| |
| * calls.c (calls_alloca): Don't interpret operands that are RTL as if |
| they were trees; check args of nested CALL_EXPR for alloca calls. |
| |
| Wed Jan 1 16:51:30 1992 Fred Fish (fnf at fishpond) |
| |
| * Makefile.in (manext): Include the '.' character. |
| (mandir): Don't use manext. |
| (install-man, uninstall): Change uses of manext. |
| |
| Wed Jan 1 21:31:01 1992 Ron Guilmette (rfg at ncd.com) |
| |
| * i860.md (cmpeqsi, cmpltsi, cmpgtsi): Made control flow more obvious. |
| (cmpnesi, cmplesi, cmpgesi): New patterns. |
| (cmpgeusi, cmpleusi): Fixed bug in compares against zero. |
| |
| Tue Dec 31 11:16:37 EST 1991 Dennis P. Glatting (...!uunet!tti!dennisg) |
| |
| * objc-actions.c (build_module_descriptor): Emit a constructor |
| function. Constructor function calls a ObjC run-time routine passing |
| a pointer to the module's module structure. |
| (init_objc): Call different constructor function if not Next. |
| (build_selector_translation_table): Don't give a selector global scope. |
| Changed in construction of decl_specs. |
| |
| Tue Dec 31 18:06:23 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * genrecog.c (add_to_sequence): Clear PREDS for "const_int_operand". |
| (same_modes): Properly check when we should ignore a mode test. |
| |
| * reload1.c (emit_reload_insns): Only change spill_reg_store for |
| output reloads. |
| Clear spill_reg_store when we did an input reload to a spill register. |
| (delete_output_reload): Use single_set. |
| (count_occurrences): Don't count use which is SET_DEST. |
| |
| Tue Dec 31 16:51:37 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (MIPS_VERSION): Change Meissner version # to 6. |
| (ASM_FINAL_SPEC): Don't pass -d and friends to mips-tfile. |
| (CONSTANT_ALIGNMENT): Align constructors on word boundaries. |
| |
| * mips.md (extend*): Replace sign extension insns with a |
| define_expand that converts the expansion into the appropriate |
| shifts. Add insns that do sign extension from memory, which the |
| optimizer will utilitize if the thing being sign extended really |
| comes from memory. This allows the shifts to compete for CSE, at a |
| potential cost of generating worse code if reload spills a HI or QI |
| register to the stack. |
| (sne define_split): Instead of using a constant 0 as the second |
| argument to the slti instruction, use a hard coded regisiter 0. |
| |
| * mips-sysv.h (MD_STARTFILE_PREFIX): Define to point into the |
| directory where the MIPS compilers live. |
| (LIB_SPEC): Add crtn.o after all libs. |
| (STARTFILE_SPEC): Use crt1.o, not crtn.o. |
| (MACHINE_TYPE): Correct typo, this is System V, not BSD. |
| Changes are from Ron Guilmette (rfg at ncd.com). |
| |
| * configure (mips-*-sysv): Correctly use mips-sysv.h instead of |
| mips.h. Change is from Ron Guilmette. |
| |
| Tue Dec 31 16:51:37 1991 Michael Stump (mrs at charlie.secs.csun.edu) |
| |
| * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips: Remove |
| collect2 from EXTRA_PASSES, as collect2 does not need installing as |
| collect2. Also, change the symlink back to a hard link. |
| |
| * Makefile.in: Add collect2 to STAGESTUFF as it is something that |
| needs removing or moving to stagen, but it should not be installed. |
| |
| Tue Dec 31 15:47:50 1991 Michael Tiemann (tiemann at hal) |
| |
| * combine.c (simplify_comparison): Swap evaluation of OP0 and OP1 so |
| the lattern can use the result of the former. |
| |
| * conditions.h: In comments, refer to `tm.h', since `tm-' is no |
| longer the form used for these files. |
| |
| Tue Dec 31 11:45:26 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * cp-lex.c (lineno, finput): Decls deleted. |
| |
| * global-alloc.c (find_reg): New arg RETRYING. |
| (retry_global_alloc, global_alloc): Pass that arg. |
| |
| * Makefile.in (*protoize, *protoize.o): Compile with CC. |
| * protoize.c: Include config.h, not tconfig.h. |
| Always define _POSIX_SOURCE. |
| |
| * convex*.h (CPP_SPEC): !ansi controls _POSIX_SOURCE, _CONVEX_SOURCE. |
| * conv1*.h, conv2*.h: Files deleted. |
| |
| * m68k.h, fx80.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Defined. |
| |
| Tue Dec 31 08:08:32 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * cexp.y (yylex): Record the parsed characters when dealing with |
| multibyte characters. |
| |
| Mon Dec 30 17:13:30 1991 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * i386.md (mulhi3,mulsi3): If a multiply by constant 128, use the |
| two operand multiply instead of three operand form: the AT&T |
| assemblers generate incorrect object code for the latter. |
| |
| Mon Dec 30 17:39:36 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * jump.c (jump_optimize): Complete last change: use expand_and result. |
| |
| * reload1.c (emit_reload_insns): Check if reload_in needs a secondary |
| reload if we have an in-out reload, since it might have been the |
| output the needed the secondary reload. |
| |
| * cse.c (simplify_unary_operation): Mode of integer CONST_DOUBLE is |
| VOIDmode, not DImode. |
| |
| * fold-const.c (fold, case COND_EXPR): Make an ABS_EXPR when the |
| comparison is LE_EXPR or LT_EXPR. |
| |
| * calls.c (calls_alloca): New function. |
| (expand_call): Preexpand any argument that contains a call to alloca |
| if this call will use the stack. |
| |
| * rs6000.h (DATA_SECTION_OP): Make result a string to avoid compilation |
| error. |
| |
| * rs6000.h, sparc.h, sun2o4.h, sun3.h (WCHAR_TYPE_SIZE): Fix |
| incorrect definition. |
| |
| Mon Dec 30 16:10:46 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (CC1_SPEC): Complete change deleting -mnogpopt and -mngpopt |
| in favor of -mno-gpopt. |
| |
| Mon Dec 30 11:32:05 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-class.c (build_vtable): If we're doing #pragma interface |
| and the interface is known, set TREE_PUBLIC, regardless of |
| TREE_EXTERNAL settings. |
| |
| * cp-decl.c (make_temporary_for_reference): Don't call |
| `convert_pointer_to', since the type may not be an aggr type. |
| |
| * cp-decl.c (finish_decl): Now takes 4th arg NEED_POP. |
| All callers changed. |
| |
| * cp-class.c (permanent_obstack): Declare it. |
| (add_method): push and pop obstacks before changing out of/into |
| temporary allocation. |
| * cp-decl.c (implicitly_declare): Add |
| push_obstacks_nochange/pop_obstacks around changes out of/into |
| temporary allocation. |
| (shadow_tag,xref_tag,start_decl,finish_decl): Ditto. |
| * cp-decl2.c (grokfield,get_temp_name): Ditto. |
| * cp-except.c ({ansi_}lookup_exception_object): Ditto. |
| * cp-lex.c (get_time_identifier): Ditto. |
| * cp-tree.c (build_exception_variant): Ditto. |
| * cp-typeck.c (mark_addressable): Ditto. |
| |
| * cp-decl.c (grokdeclarator,maybe_build_cleanup): Delete calls to |
| preserve allocation status. Now handled by callers. |
| |
| Mon Dec 30 01:44:21 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-lex.c (yyprint): Function moved here. |
| * c-parse.y, objc-parse.y: Moved from here. |
| |
| * Makefile.in (c-parse.c, objc-parse.c, cp-tab.c, cexp.c): |
| cd to srcdir to run Bison. |
| |
| * c-lex.c (check_newline): Get rid of #ident pedantic warning. |
| * cccp.c (do_ident): Put it here. |
| Don't warn if in system header file. |
| |
| * cccp.c (main, finclude): Warn if file ends in backslash-newline. |
| |
| * next.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): New definitions. |
| |
| * global-alloc.c (find_reg): Kick out local regs if that helps. |
| (global_alloc): Set up vars local_regs_live_length, local_regs_n_refs. |
| |
| * protoize.c (do_processing): Fix setting syscalls_absolute_filename. |
| |
| * configure (m68k-*-sysv4*, m68k-*-amix*): New alternatives. |
| * config.sub (*-commodore): Default OS to Amigados. |
| (-amix*): Allow this as input. |
| (amiga): New abbreviation. |
| |
| * sparc.c (output_function_epilogue): Skip unimp differently in leaf. |
| Use jmp insn rather than separate add. |
| (output_return): Skip unimp here too. |
| * sparc.md (return "peepholes"). Handle skipping the unimp. |
| |
| * fold-const.c (fold, optimizing 2*EXPR): Use save_expr. |
| |
| * varasm.c (make_decl_rtl): Permit initializer for local explicit reg. |
| |
| * c-decl.c (kept_level_p): Changed to also return TRUE for binding |
| levels which contain only tagged type declarations. |
| |
| * calls.c (expand_call): Cleaned up prev change. |
| |
| Mon Dec 30 11:29:47 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) |
| |
| * cp-lex.c (real_yylex): Call REAL_VALUE_TRUNCATE with 2 args. |
| |
| * calls.c (expand_call): Handle allocating ARGBLOCK in the case |
| that ACCUMULATE_OUTGOING_ARGS is not defined. |
| |
| Mon Dec 30 10:27:11 1991 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * protoize.c: fix typo in <sys/wait.h> inclusion. |
| |
| Mon Dec 30 06:16:16 1991 Leonard Norrgard (vinsci at nic.funet.fi) |
| |
| * c-decl.c (grokdeclarator): Changed erroneus error message. |
| |
| Sun Dec 29 16:16:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * toplev.c (main): Last -On option wins. |
| * Makefile.in (ENQUIRE_CFLAGS): Add -O0. |
| |
| * Makefile.in (cp-tab.c): Change "expect" message. |
| |
| * final.c (leaf_renumber_regs): Renumber just the PATTERN. |
| |
| Sun Dec 29 14:20:15 1991 Per Bothner (bothner at cygnus.com) |
| |
| * dbxout.c (dbxout_type): Tiemann's DECL_IGNORED_P optimization (Nov |
| 20) was a little too drastic: If it succeded, no type info was |
| emitted at all, which made for syntactically invalid stabs. |
| Instead, just set 'full=0', |
| * dbxout.c (dbxout_symbol): Re-write code for TYPE_DECL to be a |
| little cleaner. It *seems* to work ... |
| |
| Sun Dec 29 07:04:22 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * expr.c (convert_move): Add truncates from DImode to smaller modes. |
| (move_by_pieces, move_by_pieces_ninsns): Rework to remove explicit |
| references to integer modes. |
| Never need to align greater than BIGGEST_ALIGNMENT. |
| |
| * optabs.c (init_extends, init_fixtab, init_floattab, init_optabs): |
| Add TImode operations. |
| |
| * reload.c (find_reloads): Prefer alternatives that reload SCRATCH |
| instead of something else. |
| |
| * rs6000.md (movti): Adjust constraints and alternative order so |
| we actually get to use the stsi insn. |
| |
| * rs6000.h (REG_ALLOC_ORDER): Put r9 in front of r11 so we don't try to |
| put a TImode value in r11 as often. |
| |
| * caller-save.c (setup_save_areas): New parameter pchanged; set when |
| memory is allocated. |
| * reload1.c (reload): Pass pointer to something_changed to |
| setup_save_areas. |
| |
| * loop.c (scan_loop): Don't suppress moving insns that can trap just |
| because we have passed a call inside a libcall/retval block. |
| |
| * jump.c (get_label_before): Don't separate a CALL_INSN from any USE |
| insns immediately preceeding it. |
| (get_label_after): Likewise, for following CLOBBERs. |
| |
| * cse.c (fold_rtx, case '<'): When seeing if we have seen this |
| comparison before, use a constant equivalence. |
| Add test for things like "(a | 1) != 0". |
| (fold_rtx, case '2'): Move code to handle associative operations to |
| here; add support for MINUS, SMAX, SMIN, UMAX, and UMIN. |
| (record_jump_equiv): See if OP1 is equivalent to a constant. |
| |
| * jump.c (jump_optimize): Don't pass a SUBREG as a target to |
| expand_and. |
| |
| * combine.c (subst): Never associate floating-point, even if not IEEE. |
| Associate MAX and MIN operations. |
| |
| * output.h (output_asm_insn, asm_fprintf): Add "extern" to decls. |
| (alter_subreg): Add declaration. |
| * rs6000.md (movsf, movdf): Don't declare alter_subreg here. |
| (trunc_call_rtl): Don't declare trunc_used; use rs6000_trunc_used. |
| * rs6000.c (rs6000_trunc_used): New name of trunc_used. |
| * rs6000.h (rs6000_trunc_used): Add declaration. |
| |
| Sat Dec 28 18:14:21 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-method.c (build_overload_name): Don't call OB_FINISH unless END |
| is nonzero. |
| |
| Sat Dec 28 17:46:05 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * gcc.c (default_compilers): Handle -ansi in the C++ entries |
| exactly the same way as the C entries do. |
| |
| * rtl.c (add_dependence): Cast enums to int before doing an |
| ordered comparison, since some compilers can't do this. |
| |
| * sparc.c (pic_address_needs_scratch): New function. Returns |
| true if the pic address X needs a scratch register when loaded. |
| (legitimize_pic_address): Clean up. New argument SCRATCH, which |
| is a scratch register for those loads that need it. |
| (emit_move_sequence): New argument SCRATCH_REG, which is a scratch |
| register for those loads that need it. When loading a pic label, |
| set %o7 instead of clobbering it so its value can be used later. |
| (compute_frame_size): Leaf functions need to allocate space for |
| register window in frame if size greater than 0. |
| (print_operand): Delete obsolete %^ which added %o7 to addresses. |
| All uses of %o7 are now explicit. |
| * sparc.h: Fix callers of legitimize_pic_address. |
| (REG_CLASS_FROM_LETTER): Add 'r' case. |
| (SECONDARY_INPUT_RELOAD_CLASS): New macro, to force reload to |
| allocate a scratch register for certain pic address reloads. |
| (flag_pic): Define as extern so that it will be defined for |
| insn-emit.c. |
| * sparc.md: Fix all callers of legitimize_pic_address and |
| emit_move_sequence. |
| (reload_insi): New pattern. Used to force reload to allocate a |
| scratch register for those pic address loads that need one. |
| (reload_insi+2): When loading pic label, set %o7 instead of |
| clobbering it. |
| (movdf, movsf): Reject matches that would require reloading via |
| use of a condition. |
| (tablejump): Now a define_expand, so can generate different |
| pattern when pic. |
| (pic_tablejump): Explicitly mention in rtl that %o7 is used, |
| instead of using %^. |
| |
| * m88k.h, sparc.h: Delete references to non-existent |
| BLOCK_PROFILER_USED_REG_P macro. |
| |
| Sat Dec 28 14:31:36 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-lex.c (check_newline): Set ignore_escape_flag for reading filename. |
| (yylex): Handle ignore_escape_flag in string constant. |
| |
| * gnulib2.c (__do_global_dtors): Count elements properly. |
| |
| * m68k.md (tsthi): Don't allow address register. |
| |
| Sat Dec 28 11:49:06 1991 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * final.c (final): Initialize elements of line_note_exists. |
| |
| * protoize.c: Don't include <sys/wait.h> on USG unless SVR4. |
| |
| Sat Dec 28 11:09:36 1991 Fred Fish (fnf at fishpond) |
| |
| * Makefile.in (includes): Pre-remove the tmp dir; fix INSTALLED_H ref. |
| |
| Sat Dec 28 06:31:16 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * sparc.md (movstrsi): Fix typo testing for more than 32 subunits. |
| |
| * genrecog.c: Major rework. |
| We now check to see if pairs of comparison nodes can have anything |
| that they both match. If not, they can be reordered. An efficient |
| ordering is established that groups all nodes with identical rtl |
| codes inside groups with identical modes. This allows us to generate |
| a comparison tree that is a list of nested switch statements. |
| Also, genrecog.c is now indented properly so that debugging is eased. |
| (add_to_sequence): Enforce mode on the first arg of COMPARE, comparison |
| operation, SIGN_EXTEND, and ZERO_EXTEND. |
| |
| * a29k.h, romp.h, rs6000.h (PREDICATE_CODES): Add definition. |
| |
| Fri Dec 27 17:31:48 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * a29k.h, decrose.h, encrose.h, m88kdgux.h (WCHAR_TYPE_SIZE): |
| Add definition. |
| * rs6000.h, sparc.h, sun2o4.h, sun3.h, svr3.h, svr4.h: Likewise. |
| |
| * expmed.c (expand_mult): For negative values, try multiplication by |
| the original value as well as by negated value. |
| |
| Fri Dec 27 20:54:59 1991 Fred Fish (fnf at fishpond) |
| |
| * m68kv4.h: Include m68ksgs.h rather than m68k.h. |
| |
| * m68kv4.h: Define TARGET_DEFAULT to be 68020 + 68881. |
| (CPP_SPEC): Define based on TARGET_DEFAULT |
| |
| * m68kv4.h (PCC_STATIC_STRUCT_RETURN): Undef this. |
| (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Defs deleted. |
| (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Defs deleted. |
| |
| * m68kv4.h (ASM_OUTPUT_SKIP, FUNCTION_VALUE_REGNO_P): |
| (FUNCTION_PROFILER, STRUCT_VALUE_REGNUM, BSS_ASM_OP): |
| (FUNCTION_VALUE, FUNCTION_EXTRA_EPILOGUE, LIBCALL_VALUE): |
| (STACK_BOUNDARY, EMPTY_FIELD_BOUNDARY, BIGGEST_ALIGNMENT): |
| Redefined to match m68k/SVR4 conventions. |
| |
| * m68ksgs.h (ASM_OUTPUT_SKIP): Redefined to use `.space'. |
| (ASM_NO_SKIP_IN_TEXT): Defined. |
| |
| * amix.h, xm-amix.h, x-amix: New files. |
| |
| Fri Dec 27 20:43:11 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-tree.h (build_overload_name): Declare this function. |
| * cp-decl2.c, cp-method.c: Delete random `extern' declarations. |
| |
| * cp-lex.c (get_directive_line): Declare it extern. |
| (lineno,yychar,yylval,lastiddecl,finput): Ditto. |
| (ridpointers): Don't need to declare it here. |
| (check_newline): Handle new #pragmas. |
| |
| * cp-class.c (add_method): Add a cast in call to `obstack_base'. |
| |
| Fri Dec 27 20:22:05 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (push_overloaded_decl): Now returns a value. |
| All callers changed. |
| |
| * cp-decl.c (duplicate_decls): Give better error message when user |
| declaration conflicts with built-in one. Also, when we decide to |
| keep a builtin function builtin, copy the DECL_RTL from OLDDECL to |
| NEWDECL. |
| |
| Fri Dec 27 17:18:15 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (TRAMPOLINE_TEMPLATE): Define correctly for MIPS. |
| (TRAMPOLINE_SIZE): Define to be 9 words. |
| (INITIALIZE_TRAMPOLINE): Define correctly for MIPS. |
| (TRANSFER_FROM_TRAMPOLINE): Define to do a mprotect of the |
| trampoline, so that we can jump to it. I suspect the mprotect may |
| fail on some MIPS based systems, because the trampoline is on the |
| stack, and not in the data section. |
| |
| * mips.c (mips_output_filename): Don't warn about ECOFF not |
| handling #line's within functions if we are using the OSF/rose |
| object format. |
| |
| Fri Dec 27 15:35:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-typeck.c (build_array_ref): Special warning about `register' array. |
| |
| * gnulib2.c (L_trampoline): Don't create a function here. |
| The definition of TRANSFER_FROM_TRAMPOLINE can do that if nec. |
| * m68k.h (TRANSFER_FROM_TRAMPOLINE): Make the function here. |
| |
| * fx80.*: Renamed from alliant.*. |
| * configure: Alternative renamed to fx80-alliant-*. |
| * config.sub: Corresponding changes. |
| |
| * cccp.c (traditional): No longer static. |
| * cexp.y (yylex): Handle full variety of character constants. |
| Include stdlib.h and locale.h if needed. |
| |
| * c-decl.c (shadow_tag): Change warnings to error or pedwarn. |
| |
| * gnulib2.c (__do_global_dtors): If length not given, count it. |
| * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Ignore length; scan till null. |
| (__CTOR_END__, __DTOR_END__): Declarations deleted. |
| |
| * cp-decl2.c (finish_file): Always change $ to _ |
| regardless of NO_DOLLAR_IN_LABEL. |
| |
| Fri Dec 27 15:04:40 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * svr4.h (ASM_OUTPUT_ALIGNED_COMMON): Fix typo. |
| |
| * m88k.c: Move extern decls. |
| (output_ascii): Use ASCII_DATA_ASM_OP. |
| * m88k.h (HAVE_ATEXIT): Delete. |
| (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL, |
| ASCII_DATA_ASM_OP): Override svr4.h. |
| (EXTRA_SECTIONS): No ctors/dtors for m88k-luna. |
| * m88kdgux.h (STANDARD_STARTFILE_PREFIX): No need to override svr4.h. |
| |
| Fri Dec 27 11:34:59 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-pt.c (mangle_class_name_for_template): Use a local obstack |
| rather than fixed-size buffers. |
| |
| * cp-class.c (add_method): Case obstack_base value to desired type |
| when reallocating vector node. |
| |
| Fri Dec 27 09:16:50 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * sort-protos: New file. |
| |
| * i386.c: Remove decls of frame_pointer_needed; include flags.h. |
| * i386.c (output_387_binary_op, output_float_compare): |
| Moved declarations of strcat to top level. |
| |
| * i860.md (cmpnesf, cmpnedf): New patterns. |
| * i860.md (cmplesf, cmpgesf): Corrected to allow for IEEE conformance. |
| |
| Thu Dec 26 11:20:07 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-class.c: Declare N_* variables here. |
| * cp-class.h: Declare N_* variables extern here. |
| |
| * cp-gc.c (build_static_gc_entry): Call `assemble_gc_entry' instead |
| of implementing it directly. |
| * varasm.c (assemble_gc_entry): New function. |
| |
| * calls.c (expand_call): Don't crash if somebody declared a void |
| function `const'. |
| |
| * cp-cvt.c (convert): Handle case when two equal array types are |
| distinct (in memory). |
| * tree.c (build_index_2_type): Don't set TREE_TYPE of lower bound. |
| (index_type_equal): New function. |
| |
| * cp-spew.c (yylex): Extend special-case ptr-to-func ((*)()) parsing |
| to handle (*)[] and (&)[] declarations as well. |
| |
| * cp-decl2.c (finish_file): Unconditionally call |
| assemble_{constructor,destructor}. Also, delete code for writing |
| _init and _fini sections that was #if 0'd. These actions belong in |
| varasm if anywhere. |
| |
| * cp-class.c (add_method): Fix handling of obstacks to correctly |
| extend TREE_VECs. |
| |
| Thu Dec 26 15:24:45 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * cccp.c (main): Add new option -include. Rename -i to -imacros. |
| * gcc.c (SWITCH_TAKES_ARG): Remove -i. |
| (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. |
| * hp800.h (WORD_SWITCH_TAKES_ARG): Add all the standard alternatives. |
| * mips.h (SWITCH_TAKES_ARG): Remove -Y and -i. |
| * next.h, sparc.h (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. |
| * sun2.h, sun3.h (WORD_SWITCH_TAKES_ARG): Copy from sparc.h. |
| * svr4.h (SWITCH_TAKES_ARG): Remove -i, -f. |
| (WORD_SWITCH_TAKES_ARG): Add -include, -imacros. |
| |
| * toplev.c (flag_gnu_linker): New variable. -fgnu-linker. |
| * flags.h (flag_gnu_linker): Declare it. |
| * varasm.c (assemble_constructor, assemble_destructor): |
| Handle flag_gnu_linker. |
| |
| * sparc.md (structure values): Separate unimp pattern deleted. |
| New pattern for combined call and unimp. `call' pattern changed. |
| (type): Deleted type marker, added call_no_delay_slot. |
| |
| Thu Dec 26 05:04:28 1991 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * reg-stack.c (move_for_stack_reg): If a SET_DEST is REG_UNUSED, |
| just pop the SET_SRC. |
| |
| Wed Dec 25 17:23:25 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-decl.c (init_decl_processing): Fix type of exit, _exit. |
| |
| * jump.c (cross_jump_death_matters): Move def to front, make static. |
| |
| Tue Dec 24 20:41:32 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * hard-reg-set.h (reg_names): Declare here. |
| * stmt.c (expand_asm_operands): Not here. |
| |
| * gcc.c (handle_braces, do_spec_1, give_switch): Clear up %*. |
| |
| * expr.c (expand_expr): Delete decl of lang_expand_expr. |
| |
| * final.c (final_scan_insn): Delete line number followed by another |
| line number, if numbers are effectively consecutive. |
| |
| * jump.c (jump_optimize): Set cross_jump_death_matters from cross_jump. |
| * reg-stack.c (reg_to_stack): Pass 2 for cross_jump to jump_optimize. |
| Don't set cross_jump_death_matters here. |
| (record_reg_life): Delete decl of call_used_reg_set. |
| |
| * c-decl.c (init_decl_processing): |
| Declare abort, exit, and _exit as volatile. |
| |
| * c-decl.c (implicitly_declare): Set IDENTIFIER_IMPLICIT_DECL earlier. |
| (pushdecl): Test that and avoid nested extern warning. |
| |
| * c-decl.c (init_decl_processing): Don't handle EXPAND_BUILTIN_VARARGS. |
| |
| Tue Dec 24 15:42:34 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-init.c (add_friends): Add missing IDENTIFIER_POINTER macro |
| application to strncmp argument. |
| |
| * cp-method.c (build_overload_*): Now uses SCRATCH_OBSTACK instead |
| of relying on fixed buffers of finite length. |
| (fndecl_as_string): Ditto. |
| All callers changed. |
| * cp-except.c (cplus_exception_name): Definition moved to |
| cp-method.c. |
| |
| Tue Dec 24 10:38:49 1991 Michael Collison (collison at osf.org) |
| |
| * ns32k.c (hard_regno_mode_ok): Define this as a function now. |
| Also change the way it work so that we don't allow moves between |
| the general registers and the floating point registers. |
| |
| * ns32k.h (HARD_REGNO_MODE_OK): Turn it into a function call. |
| |
| * ns32k.md (call_value): fix to correct a bug where the compiler thinks |
| the return value of a function call is in f0 instead of r0. Fix |
| courtesy of vince russo. |
| (movqi, movhi): Fix up these patterns because they could return |
| undefined instruction templates. Fix courtesy of vince russo. |
| |
| Tue Dec 24 10:14:20 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * mips-tfile.c (main): Move nested extern decl of version_string to |
| file-scope. |
| (catch_signal): Move nested extern decl of sys_siglist to |
| file-scope. |
| |
| * varasm.c (assemble_variable): Handle ASM_OUTPUT_ALIGNED_COMMON. |
| * svr4.h (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): New. |
| (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Deleted. |
| |
| * gcc.c (SWITCH_TAKES_ARG, default_compilers): Eliminated -Y* option. |
| (execute): Moved decls of execv and execvp to top level. |
| (do_spec, do_spec1, handle_braces, give_switch): Support new %* spec. |
| |
| * c-lang.c (recognize_objc_keyword): Added explicit return. |
| |
| * svr4.h (SWITCH_TAKES_ARG, WORD_SWITCH_TAKES_ARG): New definitions. |
| (ASM_SPEC, LINK_SPEC): Support more standard svr4 options. |
| (LIB_SPEC): Fixed to link crtend.o *after* libc.a. |
| |
| * svr4.h (CONST_SECTION_FUNCTION): Moved decl of `text_section' to |
| top level. |
| |
| * cexp.y (main): Add explicit return type and explicit value. |
| Move decl of yydebug to top level. |
| |
| * gnulib2.c (__bb_init_func): Moved decl of ___tcov_init to top level. |
| |
| * toplev.c (main): Deleted obsolete checks for -opt and -noreg. |
| Moved decls of environ, version_string, language string to file-scope. |
| Compile-time error if PREFERRED_DEBUGGING_TYPE is missing. |
| |
| * tree.c (dump_tree_statistics): Deleted decl of class_obstack. |
| (object_permanent_p): Added explicit return type. |
| |
| Tue Dec 24 09:29:24 1991 Charles Hannum (mycroft at hal.gnu.ai.mit.edu) |
| |
| * expr.h (lang_expand_expr): Fix typo. |
| |
| Tue Dec 24 06:52:45 1991 Michael Meissner (meissner at osf.org) |
| |
| * gnulib2.c (__main): Make sure the exit module is pulled in if we |
| have atexit, since that module defines constructor/destructor |
| variables as bss symbols rather than as references. |
| |
| * decrose.h (HAVE_ATEXIT): Define. |
| * encrose.h (HAVE_ATEXIT): Define. |
| * i386rose.h (HAVE_ATEXIT): Define. |
| * decstatn.h (HAVE_ATEXIT): Define. |
| |
| * gcc.texinfo (HAVE_ATEXIT): Expand documentation. |
| (EXIT_BODY): Document. |
| |
| * protoize.c (POSIX): Make protoize accept TARGET_POSIX as a synonym |
| for POSIX to make the code and documentation agree. Also, if the |
| user defined _POSIX_SOURCE explicitly, turn on POSIX support in |
| protoize. |
| |
| Tue Dec 24 00:14:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * calls.c (emit_call_1): Additional arg STRUCT_VALUE_SIZE. |
| Use as arg in call and call_value insns. |
| (expand_call): Record the size, to pass it. |
| * expr.c (emit_library_call): Pass 0 for STRUCT_VALUE_SIZE. |
| * sparc.md (call, call_value): Make use of new arg. |
| Generate an unimp instruction to use sparc calling convention. |
| Add nameless pattern to recognize it. |
| * sparc.c (output_function_epilogue): Skip the caller's unimp insn. |
| |
| * Makefile.in (INSTALLED_H): New variable. |
| (includes): Preserve just those specific files. |
| |
| * expr.h (lang_expand_expr): Declare it. |
| * expr.c: Don't declare it. |
| * cp-expr.c (init_cplus_expand): Set up lang_expand_expr here. |
| * cp-lex.c (init_lex): Call init_cplus_expand. |
| |
| Mon Dec 23 15:17:59 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * configure: Delete m88k-v88r32 (this is supported by m88k-svr3) |
| and add m88k. |
| * config.sub: Delete v88r as a system type. |
| |
| Mon Dec 23 19:50:48 1991 Fred Fish (fnf at fishpond) |
| |
| * 3b1.h, crds.h, hp320.h, m68k.md, m68ksgs.h, mot3300.h, news.h, |
| tower-as.h: Replace port oriented macros SGS_3B1, HPUX_ASM, and |
| SONY_ASM, with configuration oriented macros SGS_SWITCH_TABLES, |
| SGS_SWAP_W, SGS_CMP_ORDER, and SGS_NO_LI. |
| |
| * m68ksgs.h: New file. |
| |
| * m68k.c (print_operand_address): Change switch labels for MOTOROLA. |
| Don't use a `%'. Add missing `L' to some labels. |
| For SGS assembler, use one symbol for the offset. |
| |
| Mon Dec 23 17:03:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * recog.h (insn_name): New declaration. |
| * final.c (output_asm_insn): Don't declare insn_name here. |
| |
| * dbxout.c (dbxout_function, dbxout_begin_function): |
| Pass missing arg to dbxout_really_begin_function. |
| |
| * jump.c (jump_optimize): Set new var can_reach_end. |
| * c-decl.c, cp-decl.c (finish_function): |
| Merge that into current_function_returns_null. |
| |
| * config.sub (fx2800): New machine alias. |
| |
| * va-m88k.h (va_start): Test __GNUC__, not __CLASSIFY_TYPE__. |
| |
| * m88kv4.h: New version from Wood. |
| (CPP_PREDEFINES): Put -A options here. Remove __CLASSIFY_TYPE__. |
| |
| * cccp.c (initialize_builtins): Define __GNUC__ as 2. |
| |
| * rtl.h (read_rtx): New declaration. |
| |
| * c-lex.c: Don't include output.h. |
| (asm_out_file): Declare it. |
| (ridpointers): Allocate storage here. |
| |
| * c-lex.h (lastiddecl, token_buffer): Declare here. |
| (yylex, make_pointer_declarator, reinit_parse_for_function): Likewise. |
| * c-parse.y, objc-parse.y: Not here. |
| |
| * objc-actions.c (error_with_ivar, error_with_method): |
| (warn_with_method): Use count_error, not errorcount. |
| |
| Mon Dec 23 11:50:37 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * sdbout.c: Fixed typo. |
| * stmt.c (init_stmt, init_stmt_for_function): Explict return type. |
| * gnulib2.c (__fixunsdfdi, __fixunssfdi): Move extern decls. |
| * recog.c (init_recog): Added explicit return type. |
| * longlong.h (count_leading_zeros): Moved decl of `__clz_tab'. |
| * print-rtl.c (insn_name_ptr): Make decl `extern'. |
| |
| * objc-actions.h, objc-actions.c (doing_objc_thang): Make extern. |
| * objc-actions.h, objc-actions.c (finish_class): Return void. |
| * objc-actions.c (continue_class): Added default error return value. |
| |
| * fixinc.svr4: Map assertion tests to equivalent ANSI macro tests. |
| |
| * i860.c (output_block_move): Disabled code to move by words or |
| halfwords until it can be made to work right. |
| |
| * i860.c (output_block_move): Moved a sequence of common |
| `output_asm_insn' calls out of (and before) conditionals. |
| |
| * i860.c (output_block_move): Corrected bugs in move loop. |
| |
| Mon Dec 23 15:25:01 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88kv4.h (CPP_PREDEFINES): Fix for varargs/stdarg. |
| (includes): Include svr4.h before m88k.h so the overrides in m88k.h |
| will take effect. |
| |
| Mon Dec 23 07:06:27 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * i860.c (output_delayed_branch): Call insn_extract and |
| constrain_operands so that `which_alternative' is set properly. |
| |
| * stor-layout.c (layout_type, case ARRAY_TYPE): Handle |
| TYPE_NO_FORCE_BLK similar to RECORD_TYPE. |
| |
| * encrose.h, i386rose.h, mips.h (LIBG_SPEC): Deleted; unused. |
| |
| Sun Dec 22 12:02:03 1991 James Van Artsdalen (james at bigtex.cactus.org) |
| |
| * i386.c (function_epilogue): Use correct operand for insn mode. |
| |
| Sun Dec 22 12:20:16 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (grokdeclarator): Don't set TREE_PUBLIC for member |
| functions that are really declared as inline methods. |
| |
| * cp-init.c (build_virtual_init): Add missing call to |
| `assemble_external' when we use a virtual function table. |
| |
| * cp-decl.c (implicitly_declare): Don't allocate a decl if at the |
| global binding level. |
| |
| * vax.h (PRINT_OPERAND): Handle new 'R' case. |
| * vax.md: Change all patterns which passed a negated operand for |
| `rotl' to use 'R' as the negator, since rotl cannot acctually handle |
| negative arguments. |
| |
| Sun Dec 22 12:31:46 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * i386v4.h (TARGET_VERSION): Added definition. |
| * i860v4.h (TARGET_VERSION): Added definition. |
| |
| * m68kv4.h: New file. |
| * fx2800.h: New file. |
| |
| * m88kv4.h (DWARF_DEBUGGING_INFO): Deleted redundant definition. |
| (It's defined already in svr4.h.) |
| |
| * m88kv4.h (CPP_PREDEFINES): Added definition. |
| |
| * m88kv4.h (CPP_SPEC, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC): |
| Deleted redundant definitions. (These are defined in svr4.h.) |
| |
| * cccp.c (errno, sys_nerr, sys_errlist): Moved extern decls to top lev. |
| * function.c (round_down): Likewise. |
| * calls.c, c-convert.c: Delete block-level extern decls. |
| * c-convert.c: Include flags.h. |
| |
| * configure (i386-*-sysv*): Fixed tmake_file value. |
| (i860-*-sysv3*): Fixed xmake_file and tmake_file value. |
| (i860-alliant-*): New configuration. |
| |
| * i860.c (recog_operand, call_used_regs, insn_template, |
| insn_n_operands, insn_outfun, alter_subreg): Moved extern |
| declarations out of local contexts and put them at file-scope. |
| |
| * i860.c (zero_operand): Deleted useless function. |
| |
| * i860.c (singlemove_string): Added code to optimize moving halfword |
| constants. |
| |
| * i860.c (output_block_move): Don't do CC_STATUS_INIT until it is |
| definitely necessary & appropriate. |
| |
| * i860.c (output_block_move): Create up to 16 sequential load/store |
| pairs for constant length moves regardless of operand sizes (e.g. |
| byte, halfword, word). |
| |
| * i860.c (output_block_move): Try to generate widest kind of |
| sequential load/store pairs for constant length moves before trying |
| the less efficient (narrower) ones. |
| |
| * i860.c (output_block_move): Don't do sequential load/store pairs |
| for constant length moves unless the size is a multiple of the |
| size of the operands moved each time (i.e. word, halfword, byte). |
| |
| * i860.c (output_block_move): Re-wrote code to do inline variable |
| length block moves to correct fatal errors (e.g. no check for zero |
| or neagtive start count) and to make it more efficient (saved 1 cycle |
| per iteration). |
| |
| * i860.c (output_block_move): Make variable length moves with starting |
| alignment of 4 or 2 `#if 0' for now, until they can be fixed to work |
| right. Also reordered all three cases so that longer alignments are |
| checked for first. |
| |
| Sun Dec 22 01:25:07 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * i386v4.h: Include svr4.h just once. |
| |
| * protoize.c (fprintf, printf): Decls put in #if 0. |
| |
| * emit-rtl.c (stack_slot_list): Delete superfluous extern decl. |
| (emit): Abort if arg isn't recognized. |
| |
| * c-parse.y (current_declspecs, declspec_stack): Declare static. |
| (undeclared_variable_notice): Likewise. |
| (lastiddecl): Declare extern. |
| * objc-parse.y: Same changes as c-parse.y. |
| (token_buffer): Declare extern. |
| |
| * c-lex.c: Include output.h. |
| (check_newline): Decl of asm_out_file deleted. |
| |
| * c-lex.h (ridpointers, NORID): Declare/define here. |
| * c-lex.c, c-parse.y, objc-parse.y: Not here. |
| |
| * sun3.h (WORD_SWITCH_TAKES_ARG): Add `-assert'. |
| (LINK_SPEC): Pass -assert to linker. |
| |
| * gbl-ctors.h (__CTOR_END__, __DTOR_END__): Remove `extern'. |
| |
| * sparc.h (RTX_COSTS): Increase multiply cost to 20. |
| (MULSI3_LIBCALL): Use .umul. |
| (UMULSI3_LIBCALL): Deleted. |
| |
| Sat Dec 21 18:34:27 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * combine.c (simplify_comparison): Allow OP0 to be VOIDmode if it |
| is a COMPARE or a comparison operation. |
| |
| * i860.md (bte): Remove now unneeded patterns. |
| Correct mode mismatch errors in patterns that will now be used. |
| |
| Sat Dec 21 00:14:25 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * ns32k.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Dummies deleted. |
| (INITIALIZE_TRAMPOLINE): Likewise. #error inserted. |
| |
| * ns32k.c (print_operand_address): For invalid address, just abort. |
| |
| * Makefile.in (FIXINCLUDES): New variable. |
| (includes, maketest): Use that. |
| * x-i386v4 (FIXINCLUDES): Override here. |
| |
| Fri Dec 20 18:28:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * dbxout.c (dbxout_really_begin_function): New subroutine. |
| (dbxout_function): Use that, but only if not DBX_FUNCTION_FIRST. |
| (dbxout_begin_function): New function. |
| * varasm.c (assemble_start_function): Call dbxout_begin_function. |
| |
| * dbxout.c (dbxout_function): Implement DBX_OUTPUT_FUNCTION_END. |
| |
| * sparc.md (movstrsi): Add missing double quote. |
| |
| * gcc.c (process_command): Handle -Xlinker. |
| |
| * calls.c (expand_call): Treat vfork like setjmp. |
| |
| * c-decl.c (implicitly_declare): Use push_obstacks_nochange. |
| |
| * sparc.h (WORD_SWITCH_TAKES_ARG): Add -assert. |
| (LINK_SPEC): Pass -assert to linker. |
| |
| * svr4.h (ASM_OUTPUT_LOCAL): Fix typo. |
| |
| Fri Dec 20 07:52:19 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl2.c (lang_decode_option): Recognize more -fno-OPTION |
| options which need special treatment (in the turning off of the |
| option). |
| |
| * cp-parse.y (named_class_head_sans_basetype_either): Rule deleted. |
| (identifier_either): Rule deleted. |
| (delete): Don't call `build_x_delete'' if the type does not have a |
| destructor. We may still need to adjust the address passed to |
| `operator delete'. |
| |
| * cp-init.c (build_delete): New argument MAYBE_ADJUST. All callers |
| changed. Also, add #if 0/#endif around code dealing with ALIGNMENT. |
| It's dead code, and that's unclear otherwise. |
| (maybe_adjust_addr_for_delete): New function. |
| (build_new): Initialize special header for arrays allocated with |
| `operator new[]'. This is a rewrite of Ken's code. |
| (init_init_processing): New built-in type BI_header_type. |
| |
| * cp-init.c (build_{new,delete}): Call `build_builtin_call' for BIN, |
| BID. |
| (build_builtin_call): New function. |
| |
| * cp-decl.c (grokvardecl): Set TREE_EXTERNAL. |
| (grokdeclarator): Set TREE_PUBLIC for all member functions. They |
| are effectively global. Do the same for static members. |
| (start_function): Don't clear TREE_EXTERNAL in case the function |
| belongs to another file's implementation. Other fixes to |
| TREE_PUBLIC/TREE_EXTERNAL logic based on interface/implementation. |
| |
| * cp-method.c (hack_identifier): Call `assemble_external' if |
| necessary. |
| |
| Fri Dec 20 06:27:38 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reload1.c (emit_reload_insns): Always record first insn emitted |
| for a reload, including any insns for a secondary reload. |
| (gen_input_reload): Correct documentation of function. |
| |
| Thu Dec 19 22:01:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gnulib1.c (perform_fixdfsi): New customization macro. |
| |
| * svr4.h (SELECT_RTX_SECTION): Undef before defining. |
| |
| Thu Dec 19 16:59:12 1991 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) |
| |
| * cccp.c (hack_vms_include_specification): Make conversion of |
| filenames more versatile for user specified include directories. |
| |
| Thu Dec 19 17:38:18 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (#error's): Put tab in front of all #error's, so that |
| ancient pre-ANSI compilers will not complain about unknown |
| directives, even if the #error is #ifdef'ed out. |
| |
| * mips.md (fix_trunc*): Reorder constraints so that 'd' comes before |
| 'f', and put a '*' in front of 'f' constraints to keep integer in |
| the GP registers. |
| (define_splits): Add reload_completed check for all define_splits |
| that use subreg on the arguments to work around bug in sched.c. |
| |
| * cccp.c (lang_asm): New static variable to indicate we are |
| processing an assembly file and to ignore unknown directives in case |
| they are comments, like they are on the MIPS systems. |
| (main): Set lang_asm if -lang-asm switch. |
| (handle_directive, skip_if_group): Don't report about unknown |
| directives if lang_asm is set. |
| |
| * gcc.c (default_compilers array): Pass -lang-asm to cpp when |
| processing .S files instead of -lang-c. |
| |
| Thu Dec 19 15:06:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-decl.c (c_decode_option): Handle -fno-ident. |
| * c-lex.c (check_newline): Ignore #ident for -fno-ident. |
| |
| * svr4.h (ASM_OUTPUT_LOCAL): Use assemble_name. |
| |
| * mips.h: Use #error, not #include, for error messages. |
| |
| * cccp.c (warning, main): Implement -Werror. |
| |
| * i386sco.h (CPP_SPEC): Move non-fixed option here. |
| (CPP_PREDEFINES): From here. |
| |
| * gcc.c (do_spec_1): For %p, just pass -D options. |
| For %P, pass all -A options. Put in whitespace, fix typos. |
| |
| * c-parse.y (parmlist_2, defn_parmlist_2): Warn about (...). |
| * c-decl.c (get_parm_info): Don't warn here. |
| |
| Thu Dec 19 06:15:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * toplev.c (compile_file): Avoid ordered comparison of debug_info_level |
| since it is an enum. |
| |
| * mips.c: Include gstab.h. |
| |
| * sparc.md: Fix typo. |
| |
| * caller-save.c (save_call_clobbered_regs): Don't save regs that |
| die in a CALL_INSN or that are born there. |
| |
| Thu Dec 19 04:28:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-aux-info.c (gen_aux_info_record): Don't write space at line beg. |
| |
| Wed Dec 18 11:46:13 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * cse.c (cse_main): Use get_max_uid rather than computing it. |
| |
| Wed Dec 18 18:13:06 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * loop.c (scan_loop): Ensure replacement made by single-use code |
| is not modified in the life of the register being replaced. |
| |
| Wed Dec 18 15:37:52 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * rtl.h (fconst2_rtx, dconst2_rtx): Added extern declarations. |
| |
| * flags.h (flag_inhibit_size_directive): Declared. |
| |
| * svr4.h (INT_ASM_OP, INIT_SECTION_ASM_OP): Moved around. |
| (ASCII_DATA_ASM_OP): Definition added. |
| (flag_inhibit_size_directive): Deleted superfluous extern decls. |
| |
| * Makefile.in: Correct number of expected shift/reduce conflicts |
| reported by bison for cp-parse.y. |
| |
| * sparcv4.h: New file. |
| |
| * i860.h (FUNCTION_ARG_BOUNDARY): Added definition. |
| (sfmode_constant_to_ulong): Added extern declaration. |
| |
| * i860.md (BTE/BTNE patterns): Changed all instances of |
| `(match_operand:SI 2 "zero_operand" "J")' to `(const_int 0)'. |
| |
| * i860.md (load then BTE/BTNE patterns): Added 8 new patterns, |
| for cond branch on EQ/NE of a zero-extended memref with small integer. |
| |
| * i860.md: 20 new patterns (involving BTE/BTNE) like existing 20 |
| but simplified so that the combiner will find them. |
| |
| * i860.md (sfmode_constant_to_ulong, fconst2_rtx): Removed |
| superfluous nested extern declarations. |
| |
| Wed Dec 18 15:39:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * va-i860.h (va_start for stdarg.h): Divide reg counts by 4. |
| |
| * stmt.c (emit_case_nodes): Fix typo, near testing cost_table. |
| |
| * i860.h (CUMULATIVE_ARGS): Define a named struct, then use it. |
| |
| * function.c (expand_function_start): Compute sizes in proper order. |
| |
| * svr4.h (MD_STARTFILE_PREFIX): Defined. |
| (STANDARD_STARTFILE_PREFIX): Deleted. |
| |
| * sparc.md (movstrsi): Disable if needs more than 32 insns. |
| |
| * expr.c (store_expr): Handle copying too-short STRING_CST. |
| |
| * gstdarg.h (_VA_LIST): Handle this like _VA_LIST_. |
| |
| * m68k.h (LOCAL_LABEL_PREFIX): Remove the `L'. |
| Fix uses of %L by adding `L'. |
| * m68k.c (print_operand_address): Fix use of %L. |
| * m68k.md (movhi): Fix use of %L. They were inconsistent. |
| |
| Wed Dec 18 14:59:26 1991 Michael Meissner (meissner at osf.org) |
| |
| * limits.h (whole file): Protect against inclusion. |
| |
| * t-decrose (LIMITS_H): Don't install limits.h on OSF/1. |
| * t-encrose (LIMITS_H): Don't install limits.h on OSF/1. |
| * t-i386rose (LIMITS_H): Don't install limits.h on OSF/1. |
| |
| * x-decrose (SYSTEM_INCLUDES): Don't do -I/usr/include. |
| * x-encrose (SYSTEM_INCLUDES): Don't do -I/usr/include. |
| * x-i386rose (SYSTEM_INCLUDES): Don't do -I/usr/include. |
| |
| Wed Dec 18 04:53:23 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-init.c (build_new): Rewrote some of the array-handling code. |
| Now stores the number of elements (after stripping off all outer |
| ARRAY_TYPE nodes) at the start of allocated storage, just before the |
| pointer the user's program sees. We also store the 2s compliment |
| value of the pointer returned so we can distinguish when deleting a |
| pointer whether it was "adjusted" or not. |
| (expand_vec_init): Added a type conversion for cases when the |
| address of an array gets passed in and we want to deal with the |
| elements. |
| (build_delete): Catch a case where deletion of arrays could slip |
| through. |
| (build_vec_delete): More array-handling rewrites. Extract the |
| stored value and use it as the number of objects to destroy; ignore |
| any value supplied by the user. |
| |
| * cp-init.c (init_vfields): Now static. |
| |
| * cp-tree.h (struct lang_decl_flags): Merged "dummy" fields. |
| |
| * cp-tree.h (DECL_TEMPLATE_INSTANTIATIONS): New macro for finding a |
| list of instantiations already made of a template. (Only |
| implemented for functions currently.) |
| * cp-tree.def (DECL_TEMPLATE_INSTANTIATIONS): Describe it. |
| * cp-pt.c (instantiate_template): Maintain and make use of it. |
| |
| * cp-pt.c (tsubst, case REFERENCE_TYPE): Call build_reference_type |
| instead of constructing the type here. |
| |
| Wed Dec 18 03:37:46 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-parse.y (label_decl): Use identifiers_or_typenames. |
| |
| * c-parse.y: Support FUNCTION ([ARGNAMES] DECLS) {...}. |
| (defn_parmlist_2, defn_parms): New nonterminals. |
| (identifiers_or_typenames): New nonterminal. |
| (parmlist_or_identifiers_1): Changed. |
| * c-decl.c (combine_parm_decls): New function. |
| |
| Tue Dec 17 22:18:43 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * function.c (expand_main_function): Build SYMBOL_REF with Pmode, |
| not VOIDmode. |
| |
| * rs6000.h (HARD_REGNO_NREGS, CLASS_MAX_NREGS): FP regs can only hold |
| 64 bits, not any size FP value. |
| |
| * reload1.c (reload): Remove variable old_caller_save_needed. |
| Call init_save_areas and setup_save_areas instead of |
| allocate_save_areas and elim_save_addrs. |
| * caller-save.c (init_caller_save): New function, from part of |
| allocate_save_areas. |
| (setup_save_areas): New function, from rest of allocate_save_areas |
| and elim_save_addrs. |
| When scanning pseudos to find hard regs that might need caller-save, |
| look at all parts of multi-word registers. |
| |
| * flow.c (elim_reg_set): New variable. |
| (flow_analysis): Set it to contain those regs that we can eliminate. |
| (mark_used_regs): Don't set eliminable regs as live when they are used. |
| |
| * global-alloc.c (global_alloc): Clear preferences with eliminable |
| regs, in addition to clearing conflicts. |
| |
| * reload.c (find_reloads_toplev): Abort instead of making |
| a SUBREG of a VOIDmode constant. |
| |
| * emit-rtl.c (copy_rtx_if_shared): SCRATCH may always be shared. |
| |
| Tue Dec 17 21:06:03 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.h (MIPS_VERSION): Bump MM version number to 5. |
| (processor_type): New enum to hold which type of |
| processor to schedule for. |
| (mips_cpu): New global to hold processor type. |
| (MASK_*, TARGET_*): Rearrange target bits, add bits to select |
| processor type, r4000 int/long/long long sizes. |
| (TARGET_SWITCHES): Delete redunant no options, only leave no- |
| version. |
| (CUMULATIVE_ARGS): Make this a structure, not a pointer to a |
| structure. |
| (INIT_CUMULATIVE_ARGS): CUMULATIVE_ARGS changes. |
| (FUNCTION_ARG_ADVANCE): Ditto. |
| (FUNCTION_ARG): Ditto. |
| (FUNCTION_ARG_PARTIAL_NREGS): Ditto. |
| (RTX_COSTS): Count simple memory refs as one instruction. |
| (REGISTER_MOVE_COST): Define as 4, to make sure constraints are |
| checked. |
| |
| * mips.md (hilo type attribute): Add hilo type attribute to |
| separate moves to/from the hi/lo registers with other register |
| transfers. |
| (move patterns): Set hilo attribute as appropriate. |
| (define_function_units): Update the integer and memory functional |
| units to include R4000 and R6000 processors, keyed off of the |
| -mr[46]000 switches. Add a new functional unit for transfering |
| stuff between register sets. |
| (mov{sf,df}_xfer*): Remove these patterns, as they are no longer |
| needed in GCC 2.00 to move between the different register sets, |
| and generate insn not found messages if used. |
| (movsi_ulw, movsi_usw): Correct test to see if stack loads are |
| aligned. Use UNITS_PER_WORD-1 instead of a hard coded 3. |
| (move define_expands): Delete move define_expands, since they are |
| illegal according to the documentation, and the bug they guard |
| against has long ago been fixed. |
| |
| * mips.c (mips_cpu): New global to hold processor type. |
| (override_options): Set mips_cpu, check for 64 bit r4000 switches |
| if processor not a r4000. |
| (init_cumulative_args): CUMULATIVE_ARGS changes. |
| (function_arg_advance): Ditto. |
| (function_arg): Ditto. |
| (function_arg_partial_nregs): Ditto. |
| (mips_output_filename): Except for first .file, don't emit any other |
| .file if encapsulating stabs in ECOFF, just put out stabs. This |
| confuses gdb. |
| (mips_output_lineno): Don't put out .loc's if encapulating stabs in |
| ECOFF. |
| (mips_asm_file_start): Put a .set nobopt for MIPS assembler to |
| work around bug where the assembler goes bonkers if a branch |
| inside of a .set noreorder section jumps to a label outside of a |
| .set noreorder section. This is supposed to be fixed in 2.20 of |
| the assembler. |
| (function_epilogue): Correctly emit nops with tabs and newlines if |
| needed. |
| |
| * decrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to |
| enable OSF/rose support, rather than use nm. |
| |
| * encrose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to |
| enable OSF/rose support, rather than use nm. |
| |
| * i386rose.h (OBJECT_FORMAT_ROSE): Define, to tell collect to |
| enable OSF/rose support, rather than use nm. |
| |
| * t-decrose (EXTRA_PASSES): Build collect2 instead of collect-osf, |
| and link it to ld. |
| |
| * t-encrose (EXTRA_PASSES): Build collect2 instead of collect-osf, |
| and link it to ld. |
| |
| * t-i386rose (EXTRA_PASSES): Build collect2 instead of collect-osf, |
| and link it to ld. |
| |
| * x-decrose (DEBUG): Delete -g, since CFLAGS already passes it. |
| (GCC_CFLAGS): Define POSIX so we can build protoize. |
| |
| * x-encrose (DEBUG): Delete -g, since CFLAGS already passes it. |
| (GCC_CFLAGS): Define POSIX so we can build protoize. |
| |
| * x-i386rose (DEBUG): Delete -g, since CFLAGS already passes it. |
| (GCC_CFLAGS): Define POSIX so we can build protoize. |
| |
| * t-decstatn (EXTRA_PASSES): Explicitly mention collect2. |
| (ld): Use $(SYMLINK) rather than just ln. |
| |
| * t-mips (EXTRA_PASSES): Explicitly mention collect2. |
| |
| * collect2.c (whole file): Rewrite file based on collect-osf, to |
| make it more portable. Highlights include: running ld only once if |
| there are no constructors; OSF/rose support; not assuming that the |
| linker, assembler, nm live in /bin; -v support to trace the commands |
| being executed and print a version number; loops instead of |
| recursion used to write out the tables; support for user using -r; |
| checking all error returns; not using the shell to start processes. |
| |
| * collect-osf.c (whole file): Deleted, merged into collect2.c. |
| |
| Tue Dec 17 15:49:06 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * sched.c (schedule_insns): Don't update value of reg_live_length |
| when it is negative, because negative values are special. |
| |
| * sched.c (schedule_block): Make new_needs an int not an enum, since |
| some compilers won't accept using `|' and `&' with enums. |
| |
| * sparc.md: Don't emit nop after floating point compare; this is |
| no longer needed. |
| |
| From Tom Wood: |
| * sched.c (memrefs_conflict_p): Exchange xsize and ysize when x |
| and y are exchanged. |
| |
| Tue Dec 17 15:01:04 1991 Mark Eichin (eichin at cygnus.com) |
| |
| * cp-decl.c (set_nested_typename): use SET_IDENTIFIER_TYPE_VALUE, |
| not set_identifier_type_value, so that the binding doesn't get |
| unwound by leaving class scope. |
| |
| Tue Dec 17 10:57:12 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * toplev.c (main): Make -g0 produce no debugging information. |
| |
| Tue Dec 17 15:15:20 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gcc.c (do_spec_1): In %P, duplicate the names with __ just in front. |
| |
| * gstab.h: Renamed from stab.h. |
| * collect2.c, dbxout.c, final.c, mips-tfile.c: #include changed. |
| * dbxout.c (N_CATCH): Define this if stab.h does not. |
| * Makefile.in: Depend on gstab.h where appropriate. |
| |
| * Makefile.in (STAGESTUFF): Remove collect and collect2. |
| |
| * c-parse.y (parmlist_2): Allow just `...' with no named args. |
| * c-decl.c (get_parm_info): Pedantic warning for that usage. |
| |
| * final.c (final_scan_insn): Don't output blocks for -g1. |
| |
| * Makefile.in (crtbegin.o, crtend.o): Use -g0. |
| |
| * function.c (expand_main_function): Do nothing if INIT_SECTION_ASM_OP. |
| |
| * varasm.c (assemble_asm): Handle ADDR_EXPR of a STRING_CST. |
| * stmt.c (expand_asm): Likewise. |
| * c-parse.y (extdef, stmt): Accept STRING_CST or ADDR_EXPR in asm. |
| |
| Tue Dec 17 15:01:11 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88k.h (INIT_SECTION_ASM_OP): Override svr[34].h. |
| * m88kv4.h (INIT_SECTION_ASM_OP): Override svr4.h and m88k.h. |
| * m88kdgux.h ({INIT,CTORS,DTORS}_SECTION_ASM_OP): Override m88k.h |
| except when compiling crtstuff.c. |
| |
| Mon Dec 16 21:50:42 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * stmt.c (struct case_node): Remove unused field `test_label'. |
| (pushcase, pushcase_range): Don't initialize it. |
| |
| * stmt.c (check_for_full_enumeration_handling): Only print warnings |
| if -Wswitch is specified. |
| (expand_end_case): Call check_for_full_enumeration_handling even if |
| -Wswitch is not specified. |
| |
| * expr.c (convert_move): Add missing arg to call to force_reg. |
| (convert_to_mode): Likewise, for protect_from_queue. |
| |
| Mon Dec 16 20:33:10 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * expr.c (expand_builtin): Check number and types of args. |
| |
| * c-parse.y (stmt, extdef): Allow constant expression inside plain asm. |
| |
| * m68k.md (movhi): Use asm_fprintf to print .set or equivalent. |
| * m68k.c (print_operand_address): Use %R when printing pc register. |
| * m68k.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): |
| Use %L. |
| |
| * c-typeck.c, cp-typeck.c (c_sizeof): Give error for incomplete type. |
| |
| Mon Dec 16 11:14:28 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-decl.c (init_decl_processing): Don't declare unused function |
| __builtin_vec_delete. |
| |
| Mon Dec 16 08:35:04 1991 Torbjorn Granlund (tege at hal.gnu.ai.mit.edu) |
| |
| * gnulib2.c (__udivmoddi4): Add comment. |
| |
| Mon Dec 16 07:47:13 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-call.c (ideal_candidate): Always set BEST before using it. |
| Also, call `build_component_ref_1' with 3 args everywhere, and |
| `build_indirect_ref' with 2 args everywhere. |
| |
| Mon Dec 16 07:17:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reload.h: Add `extern' to function declarations. |
| (gen_input_reload): Add declaration. |
| * reload1.c (reload): Allocate save area if caller-saves are needed; |
| check for case when it becomes needed after some spill registers are |
| obtained. |
| Can now eliminate frame pointer even when caller-saves are needed. |
| Perform register elimination of save area and see if caller-save needs |
| a spill register. |
| If required, find a spill register and pass it to caller-save code. |
| (gen_input_reload): No longer static. |
| * Makefile.in (caller-save.o): Now includes reload.h (again). |
| * global-alloc.c (global_alloc): Can eliminate frame pointer even if |
| we have caller-saves. |
| * toplev.c (compile_file): Call init_caller_saves. |
| |
| * caller-save.c: Major rewrite; almost entirely new code. |
| Integrate caller-saving with frame pointer elimination. |
| Don't try to save and restore registers that cannot be directly |
| copied to memory (such as MQ). |
| Correctly place save and restore insns. |
| Don't restore a saved register until end of block or if it is needed. |
| |
| * cse.c (mention_regs): Now returns int to indicate that the hash code |
| may have changed. |
| For COMPARE and comparison op, ensure that any register operand has |
| a quantity number. |
| (insert_regs): Return value from mention_regs. |
| (rehash_using_reg): New function. |
| (record_jump_equiv, mention_regs): Call rehash_using_reg if an operand |
| of a compare is a REG whose hash code is changing. |
| |
| Mon Dec 16 07:09:21 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * function.c (expand_main_function): New subroutine. Call __main. |
| * c-decl.c, cp-decl.c (store_parm_decls): Use that. |
| * cp-decl.c (init_decl_processing): Don't declare __main. |
| |
| * objc-actions.c (init_objc): Call __objcInit as a constructor. |
| |
| * toplev.c (compile_file): Reenable SDB code #if 0'd before. |
| |
| * protoize.c (version_string): Make it extern. |
| * Makefile.in (protoize, unprotoize): Link with version.o. |
| |
| Sun Dec 15 23:31:47 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-tree.c (virtual_member): When recurring, don't dive into |
| nonexistent baseclasses. |
| |
| * cp-decl.c (grokdeclarator): Set TREE_STATIC for initialized const |
| arrays. |
| * cp-typeck.c (mark_addressable): A decl that was TREE_STATIC might |
| be chagned to TREE_EXTERNAL due to #pragma interface/implementation. |
| |
| Sun Dec 15 14:57:23 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * Makefile.in (SYSCALLS.c.X): Fix typo. |
| (INTERNAL_CFLAGS): Delete -DMERGED. |
| |
| * dbxout.c (dbxout_init): Pass proper args to ASM_OUTPUT_MAIN_*. |
| * newpbb.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Add proper arguments. |
| |
| * stmt.c (emit_case_nodes): Rewrite to change induction conditions. |
| Handle boundedness in the bounded node itself. |
| Handle branching entirely at the parent level. |
| |
| * gstdarg.h: Use va-i860.h. |
| * va-i860.h (va_start for ANSI): Fix typo. Call __builtin_next_arg. |
| |
| Sat Dec 14 20:45:30 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * Makefile.in (USER_H): va-hp9k8.h should be va-hp800.h. |
| |
| * loop.c (invariant_p): Call-clobbered register is not invariant if |
| loop has calls. |
| (count_loop_regs_set): Count a CLOBBER as a setting of a register. |
| |
| * stmt.c: Move include of ctype.h and definition of cost variables to |
| front of file. |
| (expand_end_case): Always set use_cost_table. Check type here instead |
| of in estimate_case_costs. Don't suppress use of cost table when |
| not optimizing. |
| (estimate_case_costs): Now returns int. Check for any case tag |
| that is an unusual control character here and reject use of table |
| if so. Always do comparisons signed, since that's how we access the |
| cost table. |
| (balance_case_nodes): Don't check for strange control characters here. |
| (node_has_low_bound): Do checking if we don't have a left branch, |
| instead of if we do. |
| (node_has_{low,high}_bound): Remove spurious checks on branches. |
| (emit_case_nodes): Ensure operation passed to emit_cmp_insn matches |
| the branch we actually emit. |
| Fix case of a range node with no left or right branch; use of case |
| and default label were backward for the high test. |
| Remove unused variables defaulted_{left,right}. |
| |
| Sat Dec 14 16:10:11 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * protoize.c: Don't include limits.h. |
| Rename `pathname' to `filename' everywhere. |
| Clean up indentation of fprintf calls. |
| Use standard GNU format for file name/line in error messages. |
| (n_base_source_files): Renamed from base_source_files. |
| (convert_filename, invocation_filename, base_source_filenames): |
| `path' renamed to `filename'. |
| (syscalls_absolute_filename): Renamed from syscalls_pathname. |
| (find_file): Arg FILENAME no longer const. |
| (main): Fix getcwd error-checking logic. |
| (varargs_style_indicator): Delete `const'. |
| (savestring): Declare arg `input' const. |
| |
| * Makefile.in (protoize, protoize.o, unprotoize, unprotoize.o): |
| Use GCC_FOR_TARGET. |
| (getopt.o, getopt1.o): Likewise. |
| (GCC_FOR_TARGET): Delete -B./. |
| (GCC_CFLAGS): Add -B./. Copy ALL_CFLAGS's definition, less XCFLAGS. |
| |
| * cp-init.c (add_friends): Pass proper args to strncmp. |
| |
| * toplev.c (compile_file): Clear DECL_RTL for vars not really output. |
| #if 0 possibly redundant code for SDB output. |
| |
| * sys-types.h: Include gstddef.h to get size_t and wchar_t. |
| |
| * ultrix.h (CPP_PREDEFINED): Add __unix, __ultrix, __bsd4_2. |
| |
| * Makefile.in (STAGESTUFF): Add collect, collect2. |
| |
| Sat Dec 14 12:16:12 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-search.c (get_baselinks): Use obstacks right, instead of |
| aborting when we know we're using them wrong. |
| |
| * cp-parse.y (structsp): Fix typo in exception declaration rule. |
| |
| * cp-typeck.c (build_modify_expr_1): Recursive call to |
| `build_modify_expr_1' used pre-BINFO representation for |
| BASETYPE_PATH argument. |
| |
| * cp-decl.c (start_decl): Don't switch to temporary allocation for |
| decls of type REFERENCE_TYPE, as their initializers may live a long |
| time, too. |
| |
| Sat Dec 14 07:11:03 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reload.c (find_reloads_toplev): If we have a SUBREG of a multi-word |
| constant, try to extract just the word we want. |
| |
| * global-alloc.c (global_alloc): Correct reference to ELIMINABLES. |
| |
| Fri Dec 13 15:28:38 1991 Michael Meissner (meissner at osf.org) |
| |
| * configure (mips-mips-sysv): On MIPS System V, use xm-umips.h, not |
| xm-mips.h. |
| |
| * gstddef.h (__PTRDIFF_TYPE__): Provide default definition in case |
| non-GCC 2.00 compiler is used. |
| (__SIZE_TYPE__): Ditto. |
| (__WCHAR_TYPE__): Ditto. |
| |
| Fri Dec 13 14:49:54 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * config.sub: Renamed from config.subr. |
| Support os -sym1. |
| Convert -svr3, -svr4 to -sysv3, -sysv4. |
| * configure: Used new name. |
| |
| * Makefile.in (includes): Preserve files from GCC already in dir. |
| |
| Fri Dec 13 11:01:12 1991 Fred Fish (fnf at fishpond) |
| |
| * att386.h: Fix unparenthesized macro arguments in |
| ASM_OUTPUT_ASCII macro. |
| |
| * i386v4.h: Select an assembly language syntax file and include |
| it. Supply missing macros from ones in i386v.h (TARGET_DEFAULT, |
| VALUE_REGNO, FUNCTION_VALUE_REGNO_P). |
| |
| * svr4.h: Fix misspelled variable name labelno (was labeno). |
| |
| Fri Dec 13 09:07:22 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-typeck.c (build_component_ref): Call `assemble_external' as |
| nec. |
| (build_function_call_real): Call `assemble_external' as nec. for |
| function calls we build. Code slightly rearranged for clarity. |
| * cp-call.c (build_method_call): Call `assemble_external' as nec. |
| |
| Thu Dec 12 22:03:52 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) |
| |
| * make-cc1.com: Change message given to user. Change c-parse_tab.* |
| to c-parse.* |
| |
| * config-gcc.com: Purge excess versions of version.opt. |
| |
| Thu Dec 12 20:25:20 1991 Michael Meissner (meissner at osf.org) |
| |
| * Makefile.in (BOOT_CFLAGS): Remove quotes around the argument, |
| since this causes a syntax error when it is later expanded. |
| |
| Thu Dec 12 17:53:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * config.subr: Add many new machines and some OS's. |
| |
| * va-i860.h: Rewrite from rfg. |
| |
| * toplev.c (main): Handle -dm on USG systems. |
| |
| * m68k.c (print_operand, print_operand_address): New functions. |
| * m68k.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Just call them. |
| |
| * m68k.c (S_*, D_*): Delete the #undefs at the end. |
| |
| * stmt.c (expand_return): Special case if fcn returns void. |
| |
| * objc-actions.c (build_objc_method_call): Fix typo in NeXT case. |
| |
| * expr.c (expand_builtin, BUILT_IN_ARGS_INFO): Cast init of word_ptr. |
| |
| * protoize.c: Delete the `extern "C"' for C++ compilation. |
| |
| Thu Dec 12 10:01:13 1991 Michael Meissner (meissner at osf.org) |
| |
| * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Fix off by one error in |
| handling the constructor list when a valid count is supplied. |
| |
| * collect2.c (write_hooks): Emit a count before the list of |
| constructors, to go back to the old format. |
| |
| * collect-osf.c (write_s_file): Emit a count before the list of |
| constructors, to go back to the old format. |
| |
| * gnulib2.c (exit): Provide default defintions as bss symbols for |
| all of the constructor/destructor related symbols if the macro |
| INIT_SECTION_ASM_OP is not defined. The second link that collect |
| does and/or gld will provide the right values. |
| |
| * decrose.h (HAVE_ATEXIT): Nuke macro, no longer used. |
| * encrose.h (HAVE_ATEXIT): Nuke macro, no longer used. |
| * i386rose.h (HAVE_ATEXIT): Nuke macro, no longer used. |
| |
| Thu Dec 12 07:27:05 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * gbl-ctors.h (__CTOR_LIST__, __DTOR_LIST__): Renamed from *_BEGIN__. |
| * collect-osf.c collect2.c: Rename here as well. |
| |
| Thu Dec 12 04:15:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * c-parse.y (stmt): Make asm alternatives allow expr. |
| * c-typeck.c (c_expand_asm_operands): Get the STRING_CST from the expr. |
| |
| * c-parse.y (datadecl, datadecls, lineno_datadecl): New rules. |
| (xdecls): Use them. |
| |
| Wed Dec 11 18:36:53 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Just one definition; use ON_EXIT. |
| Test for -1 and handle both kinds of table format. |
| * gnulib2.c (__do_global_dtors): Check for -1... |
| (__do_global_ctors): Dummy defn of ON_EXIT if no other defined. |
| (__main): Do nothing if called again. |
| (exit): Use EXIT_BODY if defined. |
| * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__): |
| Renamed from *_BEGIN__. Add -1 as first elt. |
| (__CTOR_END__, __DTOR_END__): Add 0 as last elt. |
| (ON_EXIT): Dummy defn if no other is defined. |
| |
| Wed Dec 11 18:08:36 1991 Mark Eichin (eichin at cygnus.com) |
| |
| * cp-parse.y (template_parm): removed some reduce/reduce conflicts |
| by noting which of identifier or identifier_defn would actually be |
| passed up in this context. |
| |
| Wed Dec 11 17:52:46 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * flow.c (propagate_block): Adjust loop depth if it is changed in |
| notes at the end of a block. |
| Abort if loop depth ever reaches zero. |
| |
| Wed Dec 11 16:30:09 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * cccp.c (do_endif): Don't call record_control_macro at top level. |
| |
| Wed Dec 11 14:45:42 1991 Mark Eichin (eichin at cygnus.com) |
| |
| * cp-decl.c (set_identifier_type_value): If we're in a |
| class_binding_level, shadow the type there. |
| (xref_defn_tag): New function. Calls xref_tag with special flag set |
| to indicate that we know we're defining something. |
| (pushdecl_top_level): if class_binding_level is set, search from it |
| instead of only from current_binding_level when trying to find |
| shadowed values. This is in support of tests m5.cc through m8.cc, |
| which broke after the changes for m9.cc were installed. |
| |
| * cp-spew.c (do_aggr): New function. Looks ahead from AGGR to see if |
| we have AGGR identifier { or AGGR identifier : which are both |
| definitions, and passes up identifier_DEFN instead. This is in |
| support of test m9.cc. |
| (yylex): add SPEW_DEBUG case after EMPTY, so we don't have gaps in |
| the displayed stream. |
| (yylex, case AGGR): added call to do_aggr. |
| (debug_yychar): added call to debug_yytranslate for proper |
| translations. |
| |
| * cp-parse.y (debug_yytranslate): New function to support SPEW_DEBUG |
| translations. |
| (TYPENAME_DEFN): new token, TYPENAME seen by do_aggr. |
| (IDENTIFIER_DEFN): new token, ditto. |
| (PTYPENAME_DEFN): new token, ditto. |
| (identifier_defn): corresponds to identifier, but when the |
| identifier has been seen by do_aggr. |
| (named_class_head_sans_basetype_defn): specially recognize aggr |
| identifier_defn. |
| (named_class_head): add parallel clauses calling xref_tag_defn when |
| we know we're defining this aggr. |
| (named_class_head_sans_basetype_defn_either): for when we don't care |
| if it is a defn or not (such as templates) |
| (identifier_either): ditto. |
| |
| * cp-tree.h (xref_defn_tag): New declaration. |
| |
| Wed Dec 11 12:37:51 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-parse.y (label_colon): New nonterminal, with all label prefixes |
| from "stmt" moved here. |
| (stmt): Use it. Also provide useful message for label followed by |
| end of block (close-brace). |
| |
| * cp-init.c (BIVN): Deleted unused variable. |
| * cp-decl.c (init_decl_processing): Don't declare function |
| __builtin_vec_new; it's never used. |
| |
| Wed Dec 11 10:59:48 1991 Michael Meissner (meissner at osf.org) |
| |
| * toplev.c (main): Complete last change from RMS, use variable |
| 'level' which used to be named 'arg'. |
| |
| * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't reference ON_EXIT for |
| those poor systems without atexit or on_exit. |
| |
| Wed Dec 11 09:06:52 1991 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) |
| |
| * m68k.c (output_function_prologue, output_function_epilogue): |
| When saving/restoring only 2 registers, do so with two "movel" |
| instructions instead of a single "moveml". This results in |
| faster code for the 68020 and later machines. |
| |
| Wed Dec 11 06:45:08 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * x-romp (MAKE): Add definition; the supplied `make' doesn't define it. |
| |
| Tue Dec 10 22:17:50 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * combine.c (try_combine): Always make a copy of I2's pattern if |
| it will be used in a PARALLEL (`added_sets_2' nonzero). |
| |
| * Makefile.in (BOOT_CFLAGS): New parameter. |
| (bootstrap*): Use it. |
| |
| * flow.c (find_basic_blocks): Set depth of last insn, not first, |
| into basic_block_loop_depth. |
| (propagate_blocks): Use consistently with new definition. |
| |
| * cse.c (cse_end_of_basic_block, cse_basic_block): Remove previous |
| change; it can cause loops following around branches. |
| |
| * Makefile.in (USER_H): Add va-hp9k8.h. |
| |
| Tue Dec 10 17:22:01 1991 Tom Wood (wood at dg-rtp.dg.com) |
| |
| * m88k*.h: Include svr3.h as the default. m88kv4.h and m88kdgux.h |
| include svr4.h. Override svr[34].h as needed. |
| * t-m88k, t-m88kv4: Specify EXTRA_PARTS. |
| |
| * m88k.c (uses_arg_area_p): Check current_function_varargs. |
| |
| Tue Dec 10 15:41:03 1991 Michael Meissner (meissner at osf.org) |
| |
| * osf-main.c (whole file): Delete, since the constructor stuff was |
| moved to gnulib2.c. |
| |
| * Makefile.in (collect2, collect2.o): Change to use the default |
| compiler to build collect2, instead of the newly built GCC, since |
| otherwise, collect2 will create a circular dependency. Also, pass |
| LDFLAGS when linking. |
| |
| * collect-osf.c (write_s_file): Change to the new way of doing |
| constructors and destructors of having an end marker instead of a |
| count. |
| |
| * collect.c (REAL_AS_PATH, REAL_LD_PATH, REAL_NM_PATH): New macros |
| to allow cross compilers to specify where the real linker, |
| assembler, and nm live. |
| (NM_FLAGS): New macro to allow a configuration to change what flags |
| get passed to nm. |
| (alloca defines): Remove alloca defines, since config.h provides |
| them. |
| (write_hooks): Change to the new way of doing constructors and |
| destructors of having an end marker instead of a count. Cast all |
| alloca calls to be the appropriate pointer type. Put both |
| constructors and destructors into the data section, because the MIPS |
| tools do not like non-instructions in the .text section. |
| |
| * decrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. |
| (FULL_PROTOTYPES, NO_CONST_IN_SYSCALL): Remove, no longer used. |
| |
| * encrose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. |
| (FULL_PROTOTYPES): Remove, no longer used. |
| |
| * i386rose.h (HAVE_ATEXIT): Define, OSF/1 has atexit. |
| |
| * t-decrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer |
| needed, since constructor/destructor support moved into gnulib2.c. |
| |
| * t-encrose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer |
| needed, since constructor/destructor support moved into gnulib2.c. |
| |
| * t-i386rose (LIB2FUNCS_EXTRA): Remove, osf-main.c is no longer |
| needed, since constructor/destructor support moved into gnulib2.c. |
| |
| * t-decstatn (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1 |
| and gnulib2 are both compiled with -G 0, in case the users compiles |
| and links this way. It also fixes a bug where the constructors and |
| destructors that collect2 produces are in the big data section, but |
| gnulib2 thinks they are in the small data section, because it only |
| sees a pointer. |
| (ld): Add -f to remove old ld link to collect2, if it exists. |
| |
| * t-mips (CCLIBFLAGS, GNULIB2_CFLAGS): Define so that gnulib1 |
| and gnulib2 are both compiled with -G 0, in case the users compiles |
| and links this way. It also fixes a bug where the constructors and |
| destructors that collect2 produces are in the big data section, but |
| gnulib2 thinks they are in the small data section, because it only |
| sees a pointer. |
| (ld): Add rule to link collect2 to ld. |
| (EXTRA_PASSES): Build collect2 (aka ld). |
| |
| * xm-mips.h (alloca): If not GNU C, declare alloca to be char *. |
| |
| * mips-tfile.c (add_aux_sym_tir): Move code to record bitfield size, |
| so that it agrees with MIPS ECOFF practice, rather than the |
| documentation, which affects enum bitfields. Changes from Per |
| Bothner. |
| |
| Tue Dec 10 14:10:10 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Get rid of __reverse_order, etc. |
| * gnulib2.c (__do_global_dtors): Remove & before arrays. |
| |
| * configure: Set a default value for xm_file. |
| Remove redundant defaulting of cpu_type. |
| |
| * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Output internal label properly. |
| |
| * function.c (assign_parms): Set current_function_args_info. |
| * output.h: Declare that var. |
| * tree.h (BUILTIN_ARGS_INFO): Renamed from BUILT_IN_VARARGS. |
| * expr.c (expand_builtin): Implement __builtin_args_info. |
| * c-decl.c (init_decl_processing): Declare it. |
| * va-i860.h: Use it. |
| Also update order of elements in struct __va_ctl. |
| |
| * toplev.c (main): Eliminate -gsdb and -gdbx. |
| Clean up setting of use_gdb_dbx_extensions. |
| |
| Tue Dec 10 10:33:58 1991 Tom Wood (wood at gen-rtx) |
| |
| * svr4.h (ASM_DECLARE_FUNCTION_SIZE): Use an internal label. |
| |
| Tue Dec 10 07:12:28 1991 James Van Artsdalen (james@raid) |
| |
| * Makefile.in (crtbegin.o, crtend.o): crstuff.c is in $(srcdir). |
| |
| Tue Dec 10 06:56:26 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (kept_level_p): New function, borrowed from c-decl.c. |
| * cp-parse.y (compstmt): Call it. |
| |
| Mon Dec 9 18:37:32 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-decl.c (grok_enum_decls): Don't give warning for class-local |
| enum types; this is a perfectly reasonable usage. |
| |
| Mon Dec 9 12:23:48 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * toplev.c (main): Check that no extra chars follow the level # |
| in a -gNNN option. Also check that the debugging level requested |
| is between 0 and 3 (inclusive). |
| |
| Mon Dec 9 20:34:48 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * sched.c (schedule_block): Don't crash if `line' is zero. |
| (schedule_insns): Initialize line_note_head. |
| |
| Mon Dec 9 15:31:46 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips-tfile.c (pseudo_ops array): Correctly size the .stabs and |
| .stabn elements. |
| |
| * mips.c (function_prologue, function_epilogue): Use assemble_name |
| to print the current function, instead of fprintf, in case there is |
| a leading '*'. |
| |
| * mips-news.h (CPP_PREDEFINES): Define news3700, not news7300. |
| |
| * mips.md (ashldi3_internal3): Fix typos. |
| (ashrdi3_internal3): Ditto. |
| (lshldi3_internal3): Ditto. |
| |
| Mon Dec 9 11:49:52 1991 Torbjorn Granlund (tege at hal.gnu.ai.mit.edu) |
| |
| * longlong.h (__a29k__ udiv_qrnnd): Change "q" to "1" for operand |
| 2 constraint. |
| |
| Mon Dec 9 11:22:58 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-typeck.c (build_x_function_call): A method might have type |
| pointer-to-method as well. Don't build an OFFSET_REF for any |
| "function" that already has pointer type. Only use |
| DECL_CLASS_CONTEXT to find type of `this' for FUNCTION_DECLs; for |
| method pointer expressions, look up the basetype of the method type. |
| (build_unary_op): Fix comment in typo. |
| |
| * cp-tree.c: Fix typo in comment at start of file. |
| |
| Mon Dec 9 07:17:13 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * cse.c (cse_insn): When a jump is converted to unconditional, |
| delete the dead code, but leave the notes. |
| (cse_basic_block, cse_end_of_basic_block): Some unconditional jumps are |
| part of the basic block. |
| (cse_basic_block): Add missing arg to cse_end_of_basic_block call. |
| |
| Mon Dec 9 07:16:15 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * sys-types.h: New file. |
| * sys-protos.h: New file. |
| * SYSCALLS.c: Just include those files. |
| |
| * protoize.c (VOLATILE): Define this symbol conditionally so that |
| it can be used to declare GNU `volatile' functions. |
| (abort): Added VOLATILE extern declaration (but not if it's a macro). |
| (kill, fork): Added extern declaration. |
| (substr): Declare c as int. |
| |
| * gbl-ctors.h: New file. |
| * crtstuff.c: Include gbl-ctors.h. |
| (INIT_SECTION_ASM_OP): Delete default definition. |
| Only compile .init section code if INIT_SECTION_ASM_OP is defined. |
| (pointer): Globally changed to `func_ptr'. |
| * Makefile.in (crtbegin.o, crtend.o, gnulib2): Depend on gbl-ctors.h. |
| * gnulib2.c: Added definition of __builtin_saveregs for i860/svr4 |
| and fixed up definition of __builtin_saveregs for i860/non-svr4. |
| (__bb_avoid_warning): Added explicit return type. |
| (__builtin_new, __builtin_vec_new, __builtin_delete, |
| __builtin_vec_delete): Use `void*' where appropriate. |
| (exit): Change conditional to ON_EXIT. Make dummy if no real exit. |
| Include gbl-ctors.h. |
| (__main): Change conditional to INIT_SECTION_ASM_OP. |
| (__do_global_ctors): Conditional on INIT_SECTION_ASM_OP. |
| Use DO_GLOBAL_CTORS_BODY for the guts. |
| Include gbl-ctors.h. |
| |
| Mon Dec 9 01:07:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * fixinc.svr4: Don't change #ident or assertion tests. |
| Don't install inline.h. |
| |
| * c-common.c (get_directive_line): Declare c as int. |
| |
| * configure: Create additional file tconfig.h. |
| * protoize.c: Include that, not tm.h. |
| * Makefile.in (protoize.o, unprotoize.o): Depend on tconfig.h. |
| |
| * svr4.h (HAVE_ATEXIT): Defined. |
| * gnulib2.c (_main, exit): Use HAVE_ATEXIT to control use of atexit. |
| |
| * final.c (final_scan_insn): Output first and last note in a series. |
| |
| * objc-actions.c (build_objc_method_call): |
| New arg LOOKUP_OBJECT. |
| (build_message_expr): Pass RECEIVER for LOOKUP_OBJECT. |
| Pass RECEIVER or self_decl as OBJECT. |
| |
| * unx386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): Deleted. |
| |
| * rtl.h: Undef FLOAT. |
| |
| * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): |
| Fix typo. |
| |
| Sun Dec 8 21:46:51 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * protoize.c (main): Declare `value'. |
| (abspath): Declare endp. Declare and set outp and inp. |
| |
| * cp-decl.c (sigsegv): Function deleted. |
| (init_decl_processing): Don't use it. |
| Also don't include signal.h. |
| |
| * t-svr4: New file. |
| * configure (i386-*-sysv4*, i860-*-sysv4*): Use that file. |
| |
| Sun Dec 8 12:01:36 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * fixinc.svr4: New file. |
| |
| * final.c (profile_function): Specify return type. |
| (get_attr_length): Added a return statement to prevent warnings. |
| |
| * final.c (final_scan_insn): Switch to .text section before output |
| of jumptable lable (if requested by JUMP_TABLES_IN_TEXT_SECTION). |
| Don't switch sections again after the label. |
| |
| * configure (i386-*-sysv*): Configuration deleted. |
| (i386-*-sysv3, i386-*-sysv4, i860-*-sysv3, i860-*-sysv4): |
| Added assignment to `tmake_file' (to pick up def of EXTRA_PARTS). |
| (i860-*-sysv3, i860-*-sysv4): Added assignment to `xmake-file'. |
| (i860-*-sysv3): Deleted bogus GAS related stuff. |
| |
| * combine.c (combinable_i3pat): Added explicit return type. |
| |
| * i860.h (TARGET_FPU): Deleted this target flag. i860 fpu is on chip. |
| (TARGET_XP): New target flag for XR and XP models. |
| (TARGET_FLAGS, HARD_REGNO_MODE_OK): Adjusted for above changes. |
| (REG_ALLOC_ORDER): Use first the regs less likely for other purposes. |
| (LITERAL_COMPARE_BETTER_UNSIGNED): Defined. |
| (BRANCH_COST): Defined. |
| (CC_ONLY_*): Deleted these obsolete defines. |
| (CC_NEGATED): Added for IEEE behavior with cmpgesf and cmplesf. |
| (ASM_OUTPUT_CASE_LABEL): |
| Added .align so assembler doesn't barf on subsequent .long(s). |
| (FLOAT_TYPE_VALUE, INTIFY, FLOATIFY, FLOAT_ARG_TYPE): |
| Added definitions needed to build a useable gnulib1 library. |
| |
| * i860.md: Removed all references to CC_ONLY_* symbols. |
| (cmpledf, cmpgedf): Adjusted assembler code as suggested |
| by i860 manuals, for IEEE results. |
| (cbranch, flipped_cbranch, inverse_cbranch, flipped_inverse_cbranch): |
| Check for CC_NEGATED. |
| (bte, btne patterns): Complete rewrite. |
| (anonymous sign-extend patterns): Moved before the named patterns. |
| |
| * i860.md (addsi3, subsi3): Disparaged alternatives with a floating- |
| pointer input register to avoid complicated reloading problem. |
| (negsi2): Deleted bogus `I' constraint on operand 1. |
| (divdf3, divsf3): Added additional continuation characters |
| needed to make lines acceptable to `read_rtx' in the gen* programs. |
| |
| * i860.c: Include "flags.h" to get access to `optimize' flag. |
| (leaf_function_p): Added extern declaration. |
| (zero_operand): New function. |
| (must_preserve_r1, must_preserve_bytes): New variables. |
| (function_prologue, function_epilogue): |
| Support treatment of return-address reg (r1) in leaf functions. |
| |
| * i860v4.h (CPP_PREDEFINES): Add pre-assertions for i860/svr4. |
| (CPP_SPEC): Deleted definition. |
| (TYPE_OPERAND_FMT): New definition. |
| (ASM_OUTPUT_FUNCTION_PREFIX): #undef before defining. |
| (ASM_OUTPUT_EPILOGUE_SUFFIX): Deleted obsolete macro. |
| (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| TDESC_SECTION_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, |
| TDESC_SECTION_FUNCTION): Definitions added. |
| |
| * i860v3.h: Complete rewrite. Uses svr3.h. |
| |
| * i386v4.h: Don't include i386v.h. Include i386.h instead. |
| (SDB_DEBUGGING_INFO): #undef deleted. |
| (ASM_OUTPUT_DWARF_STRING): Added definition. |
| |
| * gcc.c (default_compilers): Pass -g* options to cpp. |
| |
| * gcc.c (do_spec_1): Don't duplicate -A options in CPP_PREDEFINES. |
| |
| * gnulib2.c (exit, __main, __do_global_dtors, __do_global_ctors): |
| New functions. |
| |
| * i386.h (PRINT_IMMED_PREFIX, PRINT_OFFSET_PREFIX): |
| Define here, and use IP. |
| |
| * i386.h: Don't include syms.h or define FILNMLEN. |
| |
| * x-i860v3, x-i860v4: New files. |
| * x-i386v4 (CCLIBFLAGS, GCC_CFLAGS): Added definitions. |
| |
| * xm-svr3.h: New file. |
| * xm-i86v3.h, xm-i86v4.h, xm-i386v.h: Rewritten. |
| * xm-i38v4.h: New file. |
| |
| * svr4.h (LIB_SPEC): Make crtend.o come before any *crtn.o |
| file (to avoid hitting return without standard epilogue in .init code). |
| (INIT_SECTION_ASM_OP): Added definition for crtstuff.c (and friends). |
| (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): |
| Adjusted indentation of continuations to match those in rest of file. |
| |
| * svr3.h (CPP_PREDEFINES): Don't define this here. |
| (ASM_FILE_START_1): Provide no-op default definition. |
| (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Undef these before defining. |
| (INT_ASM_OP, USE_CONST_SECTION, INIT_SECTION_ASM_OP, |
| CONST_SECTION_ASM_OP, CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP, |
| EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS, READONLY_DATA_SECTION, |
| CONST_SECTION_FUNCTION, CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION, |
| ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR, SELECT_SECTION, |
| SELECT_RTX_SECTION): Definitions added. |
| |
| Sun Dec 8 15:27:56 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * next.c (handle_pragma): Use get_directive_line. |
| |
| * gnulib2.c (__do_global_dtors, __do_global_ctors): |
| Remove the feature to control the order of execution. |
| This is not a clean solution to the overall problem. |
| |
| Sun Dec 8 14:47:44 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips-tfile.c (toplevel, add_local_symbol, parse_stabs_common): |
| More changes for smuggling stabs through from meissner@osf.org and |
| bothner@cygnus.com. |
| |
| * mips.h (ignore_line_number): New global, set when we must avoid |
| putting out a MIPS ECOFF .loc because the file changed inside of a |
| function, and we are also putting out stabs, which can handle this. |
| (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): Define to put a comment |
| in front of the pseudo op, if we are encapsulating stabs in MIPS |
| ECOFF. |
| (ASM_OUTPUT_SOURCE_FILENAME): Change to call mips_output_filename. |
| (ASM_OUTPUT_SOURCE_LINE): change to call mips_output_lineno. |
| |
| * mips.c (toplevel): Include stab.h for encapsulating stabs. |
| (ignore_line_number): New global variable. |
| (reg_or_0_operand): Call register_operand for REG's as well as |
| SUBREG's. |
| (override_option): Don't allow ints in FP registers unless -mdebugh. |
| (mips_output_filename): New function to write the filename to the |
| assembler output. Add special support for encapsulating .stabs in |
| MIPS ECOFF. |
| (mips_output_lineno): New function to write the line number to the |
| assembler output. Add special support for encapsulating .stabs in |
| MIPS ECOFF. |
| (function_epilogue): Clear ignore_line_number. |
| |
| * mips.md (fix_trunc??si_opt, mov??_internal): Change '!' constraint |
| back to '*'. |
| |
| Sat Dec 7 16:58:57 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-spew.c (scan_tokens): Stop scanning at semi-colon. |
| |
| * cp-spew.c: Made SPEW_DEBUG code useable: |
| (yylex): Use stderr in SPEW_DEBUG code. |
| (yytags): Deleted table. |
| (debug_yychar): Print to stderr, and don't try finding translations |
| for values over 256. |
| |
| * cp-class.c (push_lang_context): Fix typo in comment. |
| |
| * cp-decl.c (finish_decl): Undo `pushclass' done in start_decl for |
| top-level decls of methods. |
| |
| * cp-lex.c (restore_pending_input): Cast 0 to pointer type for |
| obstack_free. |
| |
| * cp-pt.c (do_pending_expansions): Use TREE_USED instead of |
| TREE_ADDRESSABLE for functions. Put in comments explaining why we |
| compile unused methods of classes that are interface-unknown: the |
| file initializer/cleanup functions might need them. |
| (mumblefrotz): Delete unused function; this code is in cp-parse.y. |
| |
| Sat Dec 7 15:46:55 1991 Timothy Moore (moore@cs.utah.edu) |
| |
| * function.c: Handle ARGS_GROW_DOWNWARD. |
| (pad_below, pad_to_arg_alignment, round_down): New subroutines. |
| (locate_and_pad_parm): Use them, for the existing case. |
| Also handle the ARGS_GROW_DOWNWARD case, using them. |
| |
| Sat Dec 7 15:46:55 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * tree.h (DECL_ARG_TYPE_AS_WRITTEN): New macro. |
| * c-decl.c (grokdeclarator): Store value there. |
| |
| * m68k.c (output_function_prologue, output_function_epilogue): |
| Support MOTOROLA syntax. |
| |
| * toplev.c (main): Testing for -ggdb catches -g also. |
| Default use_gdb_dbx_extensions to 1 for -gstabs, 0 for -gdbx. |
| Specified default is for -g. |
| |
| * cccp.c (handle_directive): Store start address in directive_start. |
| (do_xifdef): Use that, checking if at start of file. |
| (do_endif): Compute ep properly. |
| |
| * protoize.c (abspath): Fix errors referencing argument cwd. |
| (main): Allocate big enough buffer for getcwd. |
| Don't clobber varargs_style_indicator, copy it. |
| (savestring): New function. |
| |
| Sat Dec 7 00:53:16 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * c-decl.c (warn_redundant_decls, warn_nested_externs): New vars. |
| (c_decode_option): Support -Wredundant-decls and -Wnested-externs. |
| (pushdecl): Print those warnings. |
| * c-tree.h (warn_redundant_decls, warn_nested_externs): Declared. |
| |
| * c-decl.c (pending_xref_error, c_mark_varargs): Added return type. |
| |
| * cccp.c (main): Added code to support the presence of -A (assertion) |
| options within CPP_PREDEFINES. |
| |
| * c-lang.c: Minor cleanups. |
| |
| * c-lex.c (check_newline): Added support for the -g3 option. |
| |
| * dwarfout.c (type_tag): Fixed bug in gcc Dwarf generation for |
| tagged types. |
| |
| * dwarfout.c (output_decl): Added two pre-checks to see if nodes |
| are ERROR_MARK nodes before using them. |
| |
| * dwarfout.c (generate_new_sfname_entry): Function added. |
| |
| * dwarfout.c (lookup_filename): Call generate_new_sfname_entry |
| as soon as each new source filename is added to the list of |
| known filenames (thus avoiding an m68k forward-ref assembler bug). |
| |
| * dwarfout.c (dwarfout_line): Initialize prev_file_entry_num to |
| (unsigned) -1 rather than zero to avoid bogus suppression of |
| first .debug_sfnames section entry. |
| |
| * dwarfout.c (compare_filename_entries): Function deleted. (It's |
| no longer needed.) |
| |
| * dwarfout.c (dwarfout_finish): Don't generate .debug_sfnames |
| section entries here anymore. (See lookup_filename.) |
| |
| * Makefile.in (realclean): Delete c-parse.h. |
| Delete objc-parse.output just once. |
| |
| Fri Dec 6 17:49:28 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * cse.c (FIXED_BASE_PLUS_P): The frame or argument pointer itself is |
| a fixed address. |
| (find_comparison_args): If we find something equivalent to a |
| fixed address, return the fixed address. |
| |
| * combine.c (try_combine): Don't access new_i2_notes if it hasn't been |
| defined (it isn't defined unless newi2pat != 0). |
| |
| Fri Dec 6 16:01:02 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * rtl.h (enum reg_note): Define two new values REG_DEP_ANTI, |
| REG_DEP_OUTPUT, which are used to mark LOG_LINKS. |
| * rtl.c (reg_note_name): Likewise. |
| (add_dependence): Return void. New parameter DEP_TYPE to indicate |
| type of dependence. |
| |
| * sched.c: Major rewrite to delete much obsolete code, correct many |
| comments, delete unused variables, etc. Modify all callers of |
| add_dependence to pass new argument. Significant changes are: |
| (reassign_dependence): Deleted, was unnecessary. |
| (priority): Account for type of dependence when calculating |
| priority. |
| (flush_pending_lists): New function. Encapsulate code which makes |
| dependencies between an INSN and every insn on the |
| pending_read_insns and pending_write_insns lists. |
| (rank_for_schedule): Account for type of dependence with last |
| scheduled insn when deciding which ready insn to schedule next. |
| (launch_link): Give all birthing insns the same priority. |
| (schedule_block): Only sort the ready list once, after all ready |
| insns have been added to it. |
| (schedule_block): When deciding what REG_DEAD notes are needed on a |
| just scheduled insns, process all sets first (sched_note_set) then |
| process all uses (attach_deaths_insn). |
| (attach_deaths): Simplified by above change. |
| (sched_note_set): Likewise. |
| (update_flow_info): Renamed from update_links, since it no longer |
| does anything with LOG_LINKS. Sched_analyze_insn creates all |
| necessary new LOG_LINKS already. |
| (schedule_insn): Delete no op move insns after reload. |
| |
| Fri Dec 6 13:33:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * crtstuff.c: Give permission to link with non-free programs. |
| |
| * toplev.c (flag_inhibit_size_directive): New var and -f option. |
| * svr4.h (ASM_DECLARE_OBJECT_NAME, ASM_DECLARE_FUNCTION_SIZE): Use it. |
| * Makefile.in (crtbegin.o, crtend.o): Use that option. Use -g1. |
| |
| Fri Dec 6 08:42:53 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * Makefile.in (STAGESTUFF): Added __main and _exit to support g++. |
| |
| * c-common.c (c_expand_expr_stmt): Made return type explicit. |
| |
| * c-common.c: (get_directive_line): Function added to support -g3. |
| |
| Fri Dec 6 04:50:39 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-tree.h (OPERATOR_ASSIGN_CHARS_P): Flushed. |
| * cp-decl.c (grok_op_properties): Flush OPERATOR_ASSIGN_CHARS_P. |
| * cp-init.c (add_{friend,friends}): Ditto. |
| |
| Thu Dec 5 22:31:12 1991 Jeffrey A Law (law at super.super.org) |
| |
| * m68k.h (CONST_COSTS): Show that constants which can be easily |
| generated are less expensive than most. |
| |
| * m68k.md (movsi): Use two instruction sequences to load constants |
| which are just outside moveq's range (within 8 of moveq's range). |
| Likewise for positive even constants within twice moveq's range. |
| |
| Thu Dec 5 20:17:13 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) |
| |
| * config-gcc.com: Generate a file 'version.opt' which will be given |
| to the VMS linker to put the gcc version number in the image |
| header version number field. |
| |
| * make-cc1.com: Compile c-lex.c when building gcc and objc, and |
| add c-lex.obj to the list of files given to the linker. |
| Add version.opt to the list of files given to the linker. |
| |
| * make-cccp.com: Add version.opt to the list of files given to the |
| linker. |
| |
| Thu Dec 5 23:04:20 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * combine.c (make_extraction): Don't make a STRICT_LOW_PART of a MEM; |
| clean up comments so they agree with the code. |
| |
| * combine.c (try_combine): Correct test for when we can safely change |
| the mode of a pseudo; can't if it doesn't die in I3. |
| |
| * c-decl.c (WCHAR_TYPE_SIZE): Deleted; never used. |
| * c-common.c (WCHAR_TYPE_SIZE, WCHAR_BYTES): Deleted, no longer needed. |
| (combine_strings): Use size of `wchar_type_node' to get number of |
| bytes in wchar_t. |
| * next.h (WCHAR_TYPE_SIZE): Delete; no longer used. |
| |
| * cse.c (cse_main): Add new argument to cse_basic_block_call. |
| Don't call cse_around_loop here. |
| (cse_basic_block): Call cse_around_loop from here while we still |
| have our arrays allocated. |
| |
| * combine.c (simplify_comparison): Fix error in last change; don't |
| reference TEM before it is set. |
| |
| * toplev.c (fatal_insn_not_found): Flush all files before aborting. |
| |
| Thu Dec 5 21:42:29 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * objc-actions.c (build_objc_method_call): Eval OBJECT and SELECTOR |
| only once. Always pass self_decl as self to the method. |
| |
| Thu Dec 5 14:52:16 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * ccrtstuff.c, gnulib2.c, protoize.c: Include tm.h not config.h, |
| since these are complied for the target, host defines do not apply. |
| |
| Thu Dec 5 14:52:24 1991 Michael Meissner (meissner at osf.org) |
| |
| * dbxout.c (ASM_STABS_OP, ASM_STABN_OP, ASM_STABD_OP): If |
| not defined, define as .stabs/.stabn/.stabd respectively. Change |
| all places emitting stabs to use the macros. |
| * cp-decl2.c: Ditto. |
| * cp-gc.c: Ditto. |
| * final.c: Ditto. |
| * varasm.c: Ditto. |
| * gcc.texinfo: Document ASM_STAB[DNS]_OP macros. |
| |
| Thu Dec 5 12:03:40 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gcc.c (process_command): Don't put `.' on startfile_prefix. |
| Cast result of alloca. |
| |
| * config/*.h (ASM_OUTPUT_ASCII): Put parens around all uses of args. |
| |
| * hp800.h, hp800.c, hp800.md, xm-hp800.h: New files. |
| * va-hp800.h: New file. |
| * gvarargs.h: Use va-hp800.h if needed. |
| * config.subr, configure: Add alternatives for hp800, hp700. |
| |
| Thu Dec 5 09:35:15 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-search.c (note_debug_info_needed): Do the right thing for |
| static member functions. |
| |
| Thu Dec 5 01:25:13 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) |
| |
| * version.c: Now 1.96. |
| |
| Wed Dec 4 23:17:23 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * reorg.c (try_merge_delay_insns, fill_simple_delay_slots): Correctly |
| update NEXT_TRIAL after possibly splitting an insn. |
| |
| Wed Dec 4 17:03:11 1991 Jim Wilson (wilson at sphagnum.cygnus.com) |
| |
| * gplus.gperf: Add throw and template keywords. Update private, |
| protected, and public definitions. |
| |
| * print-tree.c (print_node): Add missing indentation argument to |
| print_node call for values field. |
| |
| Wed Dec 4 18:39:33 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * objc-actions.c (build_objc_method_call): Define as static. |
| |
| Wed Dec 4 17:04:49 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips-tfile.c (add_varray_page, alloc_type enum): Keep track of how |
| many pages we allocated for varrays as well as the small stuff. |
| (stabs_filename): New static to hold the special filename used for |
| passing stabs through. |
| (parse_stabs_common, parse_stabs, parse_stabn): New functions to |
| smuggle stabs through to the debugger. Stabs must be commented out, |
| just like the other debug directives. |
| (add_local_symbol): Check hash_ptr to see if it's null before |
| storing into it, in case no name is passed. |
| (add_file): Add support for the special stabs file. |
| (copy_object): Before copying the external symbols, figure out the |
| file indexes of each of the files, and then explicitly remap the |
| original file indexes of the external symbol to be the new file |
| index. If this isn't done, then bad file numbers can get generated |
| if a filename is repeated. |
| (various): Change the name of small_alloc to alloc_counts, since we |
| now track large memory allocations as well. |
| |
| * mips-tdump.c (toplevel): Delete unnecessary include file stamp.h. |
| |
| Wed Dec 4 11:05:04 1991 Michael Collison (collison at osf.org) |
| |
| * encore.h (ASM_OUTPUT_LABELREF_AS_INT): add definition |
| * ns32k.h: ditto |
| |
| * ns32k.h (ASM_OUTPUT_LABEL, ASM_GLOBALIZE_LABEL): If COLLECT is |
| defined provide alternate definitions |
| |
| * encrose.h (ASM_OUTPUT_INT): If COLLECT is defined provide |
| alternate definition |
| |
| Wed Dec 4 01:39:07 1991 Ken Raeburn (Raeburn@Cygnus.COM) |
| |
| * cp-pt.c (end_template_decl): For method templates, pop the class |
| binding level before the others rather than after. |
| |
| * cp-class.c: Added DEBUG_CP_BINDING_LEVELS code. Include cp-decl.h |
| if that symbol is defined, but don't list it in Makefile.in since |
| that's not the normal mode. |
| (pushclass): Print messages and frob indentation level. |
| (popclass): Likewise. |
| |
| * cp-spew.c (yylex): If identifier_type says PTYPENAME, and |
| following token is "<", force looking_for_typename to be |
| non-negative. |
| |
| * cp-pt.c (mangle_class_name_for_template): Drop extra spaces |
| between last parm and closing ">". Print a message before aborting |
| if a parm type isn't handled. |
| |
| * cp-decl.c (maybe_globalize_type): Don't do it if the identifier |
| that names the type doesn't currently have a type value. |
| |
| Wed Dec 4 01:06:28 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (finish_enum): Call `rest_of_type_compilation' for |
| ENUMTYPE. |
| * cp-class.c (finish_struct): Ditto. |
| * cp-decl.c (pushtag): Set TYPE_STUB_DECL. |
| * cp-search.c (note_debug_info_needed): Call |
| `rest_of_type_compilation' if we notice we need debug info for TYPE. |
| * dbxout.c (dbxout_init): Fix typo in comment. |
| |
| * cp-parse.y (DOT_STAR): New token. |
| (expr_no_commas): Handle DOT_STAR expressions. |
| * cp-lex.c (real_yylex): Recognize DOT_STAR. Also, rearrange |
| scanner to make it more efficient. |
| |
| * cp-decl.c (maybe_build_cleanup): When building cleanups, pass |
| TYPE_MAIN_VARIANT to `build_delete'. |
| |
| Tue Dec 3 22:52:33 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * flow.c (mark_set_1): Make a REG_UNUSED note not a REG_DEAD note |
| for the part of multi-word hard registers not needed. |
| |
| Tue Dec 3 22:34:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * configure: Support --objdir. |
| |
| * objc-parse.y: Get rid of many static decls. |
| Reorder all token definitions to match c-parse.y. |
| (recognize_objc_keyword): New function. |
| * c-lex.c (token_buffer): No longer static. |
| (yylex): For @, call recognize_objc_keyword. Don't use keyword table. |
| * c-lang.c (recognize_objc_keyword): Dummy definition. |
| |
| * objc-actions.c (build_objc_method_call) [!NEXT_OBJC_RUNTIME]: |
| Pass selector as arg to the method. |
| Always cast the method to a function type. |
| |
| * xm-sparc.h (alloca): If using Sun CC, include alloca.h. |
| If using GCC, define as __builtin_alloca the way other machines do. |
| |
| * cccp.c (print_containing_files): Print the nominal file names. |
| |
| Tue Dec 3 16:54:04 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * jump.c (jump_optimize): If branches are expensive, convert jumps |
| around increments or decrements by one into an increment by the |
| conditional expression. |
| |
| * combine.c (simplify_comparison): Don't remove a SUBREG unless |
| it doesn't affect either operand. |
| |
| * cse.c (find_comparison_args): Rework so that we can correctly |
| fold comparisons on machines that set CC0 to the result of a |
| condition test, not just a COMPARE. |
| (cse_insn): Don't set THIS_INSN_CC0 to a constant if we don't know |
| its mode. |
| |
| Tue Dec 3 12:01:12 1991 Jim Wilson (wilson at sphagnum.cygnus.com) |
| |
| * mips.md: Use AND not IOR in define_function_unit definitions. |
| Correct setting of MODE attribute in various insn patterns. |
| |
| Tue Dec 3 08:31:18 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-spew.c (scan_tokens): Delete Dec 2 change. |
| (yylex): Instead, copy TMP_TOKEN.YYLVAL.TTYPE if it was allocated on |
| the wrong obstack. |
| (probe_obstack): New function to support the above change. |
| |
| * cp-tree.h (CLASSTYPE_DEBUG_REQUESTED): New flag. |
| (CLASSTYPE_ASM_WRITTEN): Deleted. |
| cp-class.c (finish_struct): Now almost always assume that classes |
| with methods are to ignored for debugging purposes. |
| cp-search.c (dfs_debug_{mark,unmarkedp}): Rewritten to handle new |
| algorithm for minimizing debug output. |
| |
| * cp-decl2.c (constructor_name): Handle case when THING is a |
| UNION_TYPE. |
| |
| Tue Dec 3 06:35:38 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * jump.c (duplicate_look_exit_test): If REG_MAP is non-zero, call |
| replace_regs on the REG_NOTES of COPY. |
| |
| * cp-spew.c (scan_tokens): Don't read past '='. |
| |
| * cp-call.c (compute_conversion_costs): For now, treat |
| CONTRAVARIANCE_HARSHNESS as EVIL_HARSNESS, since we cannot tell the |
| difference between when we should accept it (pointers to the right |
| sort of methods) and when we shouldn't (base* to derived* |
| conversions). |
| |
| Mon Dec 2 18:53:42 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * cse.c (cse_around_loop): Fix typo in comment. |
| * dbxout.c (dbxout_type_fields): Likewise. |
| |
| * sched.c (sched_analyze_1): Pass the second and third args of a |
| ZERO_EXTRACT or SIGN_EXTRACT in the SET_DEST to sched_analyze_2. |
| |
| * combine.c (make_compound_operation): Change (lshiftrt (ashift ...)) |
| to a ZERO_EXTRACT, not a SIGN_EXTRACT. |
| |
| Mon Dec 2 15:09:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * jump.c (jump_optimize): New arg AFTER_REGSCAN. |
| If not set, don't use duplicate_loop_exit_test. |
| * toplev.c (compile_file): Pass new arg to jump_optimize. |
| |
| * next.h (SELECT_SECTION): Test TREE_CONSTANT as well as TREE_READONLY. |
| |
| * xm-i86v[34].h: Renamed from xm-i860v[34].h. |
| * configure: Corresponding changes. |
| |
| * m68k.c (output_function_epilogue): Put %R on all regs in asm_fprintf. |
| |
| * t-decstatn (ld): Just copy collect2. |
| (collect): Target deleted. |
| (EXTRA_PASSES): Deleted collect. |
| (mips-tfile, mips-tdump): Depend on LIBDEPS. |
| * t-mips (mips-tfile, mips-tdump): Depend on LIBDEPS. |
| * collect2.c (main): Run /bin/ld. |
| Use fatal_perror where appropriate. |
| |
| * objc-actions.c (build_message_expr): Fix typo. |
| |
| * configure: Add missing fi to finish last change. |
| |
| * cse.c (simplify_binary_operation): Restore missing break in case DIV. |
| |
| * sdbout.c (sdbout_init): Explicitly do nothing. |
| (sdbout_typedefs): Function deleted. |
| |
| Mon Dec 2 12:504:35 1991 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) |
| |
| * config-gcc.com: Finish changeover from tm-*.h to *.h. |
| |
| Sun Dec 1 05:18:32 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-search.c (lookup_{field,fnfields}): If PROTECT is 0, don't |
| memoize the entry we find. |
| |
| * cp-decl.c (grokvardecl): Call `build_lang_field_decl' instead of |
| `build_decl' if we retroactively allocate a VAR_DECL. |
| |
| Sun Dec 1 00:10:18 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * configure: Convert option syntax from + to --. |
| Support --target. |
| |
| * i386v4.h (ASM_OUTPUT_LOCAL, ASM_OUTPUT_GLOBAL): Deleted. |
| (ASM_FILE_START): Deleted. |
| (STARTFILE_SPEC, LIB_SPEC, STANDARD_STARTFILE_PREFIX): Deleted. |
| (STDC_VALUE): Deleted. |
| |
| * real.h (REAL_VALUE_TRUNCATE): Check for same size as SFmode. |
| |
| * config/*.h: Renamed from tm-*.h. #includes and comments changed. |
| * configure: Changed accordingly. |
| * t-*: tm-*.h file names changed. |
| |
| * gnulib2.c (__enable_execute_stack): Renamed function. |
| * convex.h (INITIALIZE_TRAMPOLINE): Use new name. |
| |
| Sun Dec 1 08:57:45 1991 Michael Meissner (meissner at osf.org) |
| |
| * cccp.c (main): Add cast in front of alloca for non GCC compilers. |
| |
| Sat Nov 30 22:33:24 1991 Chris Smith (csmith@convex.com) |
| |
| * config.subr: Recognize -c3*. |
| New alternatives for convex-c3*. |
| * configure: Alternatives for convex rewritten. |
| |
| * gnulib2.c (__execute_enable_stack): New function for Convex only. |
| |
| * gcc.c (do_spec_1): Use \ as quoting char. |
| |
| * convex.h (TARGET_SWITCHES): Add new machine types c32, c34, c38. |
| Add flag TARGET_INDIRECTS, true for c1 and c2, false for c3. |
| * convex.h (GO_IF_LEGITIMATE_ADDRESS): Avoid indirect |
| addressing if ! TARGET_INDIRECTS. |
| |
| * convex.h: (BITS_PER_WORD, UNITS_PER_WORD, WORDS_BIG_ENDIAN): |
| It now works to describe machine correctly. |
| |
| * convex.h (SIZE_TYPE, PTRDIFF_TYPE): Make them ints rather |
| than longs to match usage in /usr/include. |
| |
| * convex.h (enum reg_class): Add classes SP_REGS, the stack |
| pointer, and INDEX_REGS, the remaining A_REGS. |
| (REG_CLASS_NAMES, REG_CLASS_CONTENTS, REGNO_REG_CLASS): Adjust |
| for new classes. |
| (INDEX_REG_CLASS, BASE_REG_CLASS): Use INDEX_REGS so gcc will |
| not index off the stack pointer (register 0). |
| |
| * convex.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, |
| INITIALIZE_TRAMPOLINE): Define. |
| |
| * convex.h (INITIAL_FRAME_POINTER_OFFSET): Define. |
| |
| * convex.h (RTX_COSTS): Specify costs to prevent multiply |
| from being synthesized from shifts (which aren't faster). |
| |
| * convex.h (NOTICE_UPDATE_CC): No need to do CC_STATUS_INIT, |
| cc is never looked at. |
| |
| * convex.h (VTABLE_USES_MASK, VINDEX_MASK, SET_DECL_VINDEX): |
| define so g++ works. |
| |
| * convex.h: If COLLECT is defined, define output macros for |
| collect to call. |
| |
| * convex*.h: If !traditional, define _LONGLONG and 64-bit |
| typedefs to prevent types.h from murdering ansi compilations. |
| |
| * convex.md (movsi): split into define_expand and two |
| anonymous define_insns, one that uses indirection and |
| one that doesn't. TARGET_INDIRECTS selects which. |
| |
| * convex.c (output_call): New routine. Scan forward from call |
| to decide if AP is live, omit AP reload if not. |
| * convex.md (call, call_value): use output_call. |
| |
| * convex.md (bit manipulation peepholes): remove, now done in |
| combine. |
| |
| * convex.md (indirect_jump): Define. |
| |
| * convex.c (const_double_{high,low}_int): Just return the |
| appropriate word, remove slow float computations. |
| |
| * math-convex: New file to use builtin instructions. |
| |
| * x-convex: Use cc -pcc to bootstrap gcc. |
| |
| Sat Nov 30 10:21:26 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * tm-i386v4.h (DBX_REGISTER_NUMBER): Different renumbering. |
| |
| * tm-svr4.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Changed |
| so that the progbits parameter actually appears in the definitions. |
| |
| * tm-svr4.h (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Adapted |
| for change in CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP. |
| |
| Sat Nov 30 07:05:06 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-spew.c (follows_{identifier,typename}): New arrays. |
| * cp-spew.c (init_spew): Initialize new arrays. |
| * cp-decl.c (lookup_name): takes new parameter PREFER_TYPE. |
| All callers changed. |
| * cp-spew.c (yylex): Set LOOKING_FOR_TYPENAME every time we see an |
| AGGR or ENUM. |
| |
| * cp-lex.c (real_yylex): When composing EXTERN_LANG_STRING, call |
| `real_yylex', not `yylex'. Changed other places that depended on |
| calling `real_yylex' for their input. |
| |
| * cp-spew.c (scan_tokens): Never read past '{' or ':'. Fill the |
| token buffer with EMPTY tokens in that case. |
| (yylex): Handle EMPTY tokens. |
| |
| * cp-parse.y (structsp): Avoid using `yyungetc' to push a ';' back |
| on the input stream. |
| (START_DECLARATOR): New token. |
| (absdcl): Handle START_DECLARATOR. |
| * cp-spew.c (consume_token): Renamed from `discard_token'. |
| (struct token): Changed structure to make it smaller. |
| (spew_init): Renamed from init_spew. Now called from init_lex. |
| (scan_tokens): Renamed from slurp_next_token. |
| Many functions reformatted to match GCC indentation style. |
| |
| * cp-lex.c (arbitrate_lookup): Don't guess in favor of type if |
| yychar is ')'. |
| |
| * cp-decl.c (lookup_name): Fixed so that all binding levels use |
| `looking_for_typename' consistently. |
| * cp-type2.c (build_functional_cast): Handle new case that we are |
| called in a context where a method is appropriate (but we parsed it |
| as a ctor call). |
| |
| * cp-call.c (CONST_HARSHNESS): Change bit that we test. |
| (convert_harshness,compute_conversion_costs): Call CONST_HARSHNESS |
| consisently when needed. |
| |
| * cp-init.c (decl_constant_value): Keep enabled even when |
| CURRENT_FUNCTION_DECL is null. |
| |
| Sat Nov 30 01:23:38 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * sdbout.c (sdbout_init): Just call sdbout_one_type on each type. |
| |
| * tm-att386.h (ASM_OUTPUT_ASCII): Output a space after ASM_BYTE_OP. |
| * tm-sun386.h: Likewise. |
| * tm-i386.h (ASM_OUTPUT_BYTE, ASM_OUTPUT_CHAR): Likewise. |
| (ASM_OUTPUT_SHORT, ASM_OUTPUT_LONG, ASM_OUTPUT_DOUBLE): Likewise. |
| (ASM_OUTPUT_FLOAT, ASM_OUTPUT_ADDR_VEC_ELT): Likewise. |
| * tm-att386.h (ASM_BYTE_OP, ASM_SHORT, ASM_LONG, ASM_DOUBLE): |
| Don't end with space. |
| * tm-sun386.h, tm-bsd386.h: Likewise. |
| |
| * c-lex.h: Renamed from c-parse.h. All #includes changed. |
| * c-parse.c, c-parse.h: Renamed from c-parse.tab.*. |
| * Makefile.in: Changed accordingly. |
| (C_OJBS, realclean, TAGS): These changed too. |
| |
| * tm-svr4.h (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): |
| Undef before defining. |
| |
| * tm-i386v4.h: Include tm-svr4.h. |
| (CPP_PREDEFINES): Define SVR4, and several assertions. |
| (LIB_SPEC): Delete -Qy. LINK_SPEC handles this. |
| (DBX_REGISTER_NUMBER): New macro. |
| |
| Fri Nov 29 22:16:06 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * rs6000.md: Cannot use "muls" and "muli" to do widening multiply |
| from HImode to SImode; delete the 12 patterns that try to do this. |
| |
| Fri Nov 29 21:32:52 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-cvt.c (build_type_conversion): Don't assume that if |
| TYPE_HAS_{INT,REAL}_CONVERSION implies that CLASSTYPE_CONVERSION for |
| the given type combination is non-NULL. |
| |
| Fri Nov 29 16:08:22 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * crtstuff.c: New file. Needs papers from rfg. |
| * Makefile.in (crtbegin.o, crtend.o): New targets. |
| |
| * objc-actions.c (build_message_expr): Lots of cleanups. |
| (build_objc_method_call): New subroutine. |
| Handles new option NEXT_OBJC_RUNTIME. |
| |
| * expr.c (do_jump): Any LABEL_REF is nonzero. |
| (expand_expr): Construct LABEL_REFs with Pmode. |
| |
| Fri Nov 29 14:43:32 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips-tfile.c (parse_def): Change an error into a warning. |
| |
| * mips.md (fix_trunc??si_opt, mov??_internal): Change '*' constraint |
| to '!' to keep reload from allocating FP registers from holding |
| excess integer values. |
| (ashift right define_splits): Fix typo, so that the long long |
| arithmetic right shifts are recognized. |
| (all define_splits): dummy out constraints, since they are not used. |
| |
| * mips.c (override_options): Allow int's in FP registers again, now |
| that ! constraints are used. |
| |
| Fri Nov 29 13:20:13 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * dwarfout.c (output_compile_unit_die): Don't include the name |
| of the compiler which compiled the compiler in the AT_producer |
| string. It goofs up comparisons of stage2 & stage3 object files. |
| |
| * c-parse.y, objc-parse.y: Don't declare position_after_white_space |
| as static; it is now in c-lex.c. |
| |
| Fri Nov 29 05:15:26 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * cp-decl.c (xref_tag): Check that TREE_CODE (ref) is aggr type |
| before storing into CLASSTYPE_DECLARED_CLASS (ref). |
| |
| * cp-decl2.c (build_push_scope): Don't let non-aggr types appear in |
| `cname::fname' expressions. |
| |
| * cp-class.c (resolves_to_fixed_type_p): VAR_DECL and FIELD_DECL |
| nodes of ARRAY_TYPE may resolved to fixed type. Also handle other |
| cases of WITH_CLEANUP_EXPR. |
| |
| * cp-spew.c (frob_identifier): Handle case of a type conversion |
| operator that converts to a nested type. |
| |
| * cp-expr.c (cplus_expand_expr): In NEW_EXPR case, if ARGS is |
| permanent, build a new arglist instead of modifying it in place. |
| |
| * cp-typeck.c (convert_arguments): Add ??? to comment about virtual |
| function conversions. ??? I don't understand what that code is |
| supposed to do anymore. |
| (comp_target_parms): If STRICT <= 0, accept types whose |
| TYPE_MAIN_VARIANTs are equal. |
| |
| * cp-call.c (convert_harshness): Revamped to handle contravariance |
| better. |
| * cp-class.h (struct candidate): Declaration moved from cp-tree.h. |
| |
| * cp-class.c (duplicate_tag_error): New function. |
| * cp-parse.y (LC): Call it if we're redefining a tag. |
| * cp-decl.c (duplicate_decls): Only copy DECL_ARGUMENTS from OLDDECL |
| if non-NULL. Otherwise we get nonsense when we try to parse |
| inline function bodies of classes that have already been redefined. |
| * cp-lex.c (reinit_parse_for_method): If we get some text for a |
| class that's been redefined, flush the text. |
| * cp-tree.h (TYPE_REDEFINED): New field in `struct lang_type'. |
| |
| * cp-cvt.c (convert_to_integer): Only warn about anachronistic |
| conversion from int to enum if PEDANTIC is nonzero. |
| |
| * cp-typeck.c (convert_for_initialization): No longer give warning |
| messages about bitwise copy: this is currently how the default X(X&) |
| constructor is implemented. |
| * cp-init.c (expand_aggr_init_1): Ditto. |
| |
| * cp-method.c (dump_init): Handle WITH_CLEANUP_EXPR and TARGET_EXPR. |
| * tree.c (simple_cst_equal): Handle WITH_CLEANUP_EXPR. Correct |
| handling of TARGET_EXPR case. |
| |
| * cp-decl.c (grok_reference_init): If DECL is permanent, make it's |
| DECL_REFERENCE_SLOT permanent as well. |
| |
| * cp-cvt.c (build_type_conversion): If PEDANTIC, give message about |
| conversions which cast away const. |
| |
| * cp-decl.c (store_return_init): If PEDANTIC, give error about named |
| return values. |
| |
| * cp-init.c (decl_constant_value): Don't return DECL_INITIAL if |
| CURRENT_FUNCTION_DECL is null or if the initializer is a |
| CONSTRUCTOR. |
| |
| Thu Nov 28 05:29:52 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * integrate.c (expand_inline_function): When passing objects by |
| invisible reference, correctly compute the amount of space to be |
| allocated in the pseudo-frame we create for the inline function. |
| |
| * cp-typeck.c (mark_addressable): Add call to |
| `mark_inline_for_output' that got lost in Nov 25 change. |
| |
| * cp-decl.c (push_overloaded_decl): If the value of a name is an |
| ADDR_EXPR, look inside to get the _DECL node. |
| |
| * cp-decl.c (grokdeclarator): Don't convert type of operators new |
| and delete to METHOD_TYPE; they remain FUNCTION_TYPEs. |
| |
| * function.c (expand_function_start): Set TREE_REGDECL bit on |
| RESULT_DECL if result starts life in a register. |
| |
| * c-common.c (truthvalue_conversion): Don't treat a CONVERT_EXPR as |
| a NOP when it or the expression inside it is of REFERENCE_TYPE. |
| |
| * cp-class.c (finish_struct): Test DESTRUCTOR_NAME_P on |
| DECL_ASSMBLER_NAME, not DECL_NAME. |
| |
| Wed Nov 27 13:49:10 1991 Jim Wilson (wilson at sphagnum.cygnus.com) |
| |
| * cse.c (simplify_relational_operation): Correct handling of |
| COMPARE as first argument. Always strip it off. Don't invert |
| return value for EQ when !HAVE_cc0. |
| |
| Thu Nov 28 20:08:15 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gmon.c: New file. |
| |
| Thu Nov 28 15:02:24 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * combine.c (subst, case SET): Never make a paradoxical SUBREG of |
| a REG unless the SUBREG and REG occupy the same number of words. |
| |
| * emit-rtl.c: Include flags.h. |
| (operand_subword): Always look inside floating if -fpretend-float. |
| * final.c (split_double): Likewise. |
| * Makefile.in (emit-rtl.o): Includes flags.h. |
| |
| * c-lex.c (yylex): Add goto to `L' case. |
| |
| Thu Nov 28 08:37:02 1991 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) |
| |
| * tm-mips.h (ASM_OUTPUT_INT): Use `do {...} while (0)' so it can be |
| used in if/else constructs. |
| |
| Thu Nov 28 00:23:26 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * tree.h (BUILT_IN_FRAME_ADDRESS, BUILT_IN_RETURN_ADDRESS): |
| New function codes. |
| * c-decl.c (init_decl_processing): Declare the functions. |
| * expr.c (expand_builtin): Implement them. |
| |
| * gcc.c: Pass to ld all the dirs in LIBRARY_PATH: |
| (library_prefix): New list of prefixes. |
| (process_command): Put dirs from LIBRARY_PATH on that list. |
| (do_spec_1): %D outputs those dirs. |
| (link_command_spec): Use %D after passing -L options. |
| |
| * gcc.c (process_command): Don't require machine suffix |
| for dirs from COMPILER_PATH or LIBRARY_PATH. |
| |
| * cccp.c (main): C_INCLUDE_PATH, etc., add dirs rather than replacing. |
| |
| * Use the TYPE_DECLs to drive dbx and sdb output of type tags. |
| * toplev.c (rest_of_type_compilation): New function. |
| (compile_file): Pass list of initial decls to dbxout_init, sdbout_init. |
| (various): Don't call get_*_types. |
| * dbxout.c (dbxout_init): Get initial types from that list. |
| * sdbout.c (sdbout_init): Likewise. |
| * sdbout.c, dbxout.c: Don't call get_*_types. |
| (*out_typedefs): New subroutines. |
| * c-decl.c (finish_struct, finish_enum): Call rest_of_type_compilation. |
| (pushtags): Record TYPE_STUB_DECL. |
| * tree.h (TYPE_STUB_DECL): New macro. |
| * stor-layout.c (chain_type, get_permanent_types, get_temporary_types): |
| Deleted. |
| (save_storage_status, restore_storage_status): Don't frob chains. |
| (layout_type): Don't call chain_type. |
| |
| * dbxout.c (dbxout_type_fields): Output `/'-spec after type tag |
| only if really needed. |
| |
| Wed Nov 27 18:52:55 1991 Michael Tiemann (tiemann at cygnus.com) |
| |
| * expr.c (expand_expr): Typo in expand_end_bindings, in BIND_EXPR case. |
| |
| Wed Nov 27 23:10:48 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * cccp.c (main): Use savestring, not strdup. |
| |
| Wed Nov 27 17:10:17 1991 Michael Meissner (meissner at osf.org) |
| |
| * mips.c (mips_load_reg3, mips_load_reg4): New global variables to |
| enable scheduling the second nop for the mfhi and mflo instructions. |
| (mips_hard_regno_mode_ok): New global array to give the results |
| of HARD_REGNO_MODE_OK for each register and mode. |
| (mips_fill_delay_slot): Instead of taking the number of nops as a |
| parameter, take an enumeration, giving what kind of delay this is. |
| If the next instruction is a label, put nops before label, not |
| after. Add support for mflo/mfhi, which need 2 nops if the next |
| instruction would modify the hi/lo registers. |
| (mips_move_1word, mips_move_2words): mips_fill_delay_slot calling |
| sequence changes. Pass mflo/mfhi to schedule nops. |
| (mips_move_2words): Move DImode to/from hi and lo registers is now |
| supported. |
| (function_arg): Correctly align long long parameters, just like |
| doubles. Also correct typo in debug code. Bug report from |
| lisa@MicroUnity.com. |
| (override_options): Initialize mips_hard_regno_mode_ok. Restrict |
| int's from going in the FP registers, to limit the register |
| allocator from allocating them instead of using memory. Also, make |
| the special registers (HI, LO, FPSW) only accept full sized ints, or |
| a double int for the HI:LO combination. |
| (compute_frame_size): Don't set the initialized member until reload |
| has completed, since otherwise the information may change. |
| |
| * mips.md (various): Add 64 bit integer operations for addition, |
| subtraction, negation, and, inclusive or, exclusive or, one's |
| complement, shifts, and nor. Add 32x32->64 bit support for |
| multiply, which the compiler then uses to construct 64 bit |
| multiplies. |
| (mulsi3): Break mul into it's two instructions, and schedule the |
| two nops needed for the mflo instruction. Don't allow an integer |
| multiplier anymore. |
| (ffssi2): Delete define_expand, and use a second clobber'ed register |
| to preserve the original input, instead of (clobber (match_dup 1)). |
| (movsi_ulw): Change mips_fill_delay_slot calling sequence. |
| (movdi_internal): Allow DImode move from HI/LO to/from GP registers. |
| (movdi define_split): Add a define_split to separate the two parts |
| of DImode register pairs when using GP registers. |
| (movdf define_split): Add a define_split to separate the two parts |
| of DFmode register pairs when using GP registers. |
| (mov??_internal): Change condition to call memory_operand, instead |
| of just checking for MEM, which disallows (subreg (MEM)) during |
| the intermediate parts of the compilation. Reported by |
| lisa@MicroUnity.com. |
| (negsi2): Turn back into a real insn instead of just a |
| define_expand for subsi3. |
| (one_cmplsi2): Turn back into a real insn instead of just a |
| define_expand for norsi3. |
| (andsi3, iorsi3, xorsi3): Be more liberal than the real machine, and |
| allow 32 bit constants to improve the code generated for bitfields, |
| at the expense of potentially not moving the constant out of loops. |
| (various): Add = constraint to all clobbers. |
| (fix_trunc*): Go back to old method of using two clobbers, since |
| unoptimized compiles call abort otherwise, when returning the result |
| of truncating a float as a function result. |
| |
| * tm-mips.h (delay_type): New enum to express different types of |
| delay slots. |
| (mips_load_reg3, mips_load_reg4): Declarations for more registers |
| to check for needing nops. Used by multiply/divide to schedule |
| the two nops needed after mfhi/mflo if the next instruction would |
| clobber the register. |
| (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable all FP |
| registers. |
| (MASK_DEBUG_G): Add comment saying -mdebugg turns of new DImode |
| patterns, in case the code is wrong. |
| (HARD_REGNO_NREGS): All FP registers use register pairs, so that |
| SF in a GP register takes only one register, and SI in a FP |
| register takes 2. |
| (HARD_REGNO_MODE_OK): Change macro to reference the array |
| mips_hard_regno_mode_ok, which is now built in override_options. |
| (CONST_OK_FOR_LETTER_P): 'N' is now for negative numbers, 'O' is |
| an exact power of 2, and 'P' is now for positive numbers. |
| (PREFERRED_RELOAD_CLASS): If -msoft-float, never prefer a FP |
| register. |
| (PREFERRED_RELOAD_CLASS_FM): Delete, since nobody uses it. |
| (FINAL_PRESCAN_INSN): Check for mips_load_reg3 and mips_load_reg4 |
| being mentioned. Also add a missing tab when more than one delay |
| slot. |
| (CONST_COSTS): Make all constant ints cost 0 to lower register |
| pressure according to Richard Kenner. |
| (RTX_COSTS): Adjust costs for DI, SF, and DF modes, and add ABS/FFS |
| costs as well. |
| (REGISTER_MOVE_COSTS): Bump costs for moving between register |
| classes, so that reload doesn't try to store int type values in the |
| floating point registers. |
| |
| Wed Nov 27 15:01:52 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * config-gcc.com: Renaming of out-vax.c. |
| * make-cc1.com: Link dbxout with all languages. Add cp-spew. |
| |
| * cccp.c (include_defaults_array): Fix typo. |
| |
| * gstddef.h: Handle _STDDEF_H_. |
| |
| * configure.bat, Makefile.dos: New files. |
| |
| * c-lex.c: New file. All subroutines moved here. |
| (yylex): Small diffs between C and OBJC merged. |
| * c-parse.y, objc-parse.y: Deleted from here. |
| * c-lang.c (lookup_interface): New stub. |
| * Makefile.in (c-lex.o): New rule. |
| (OBJC_OBJS, C_OBJS): Changed for new files. |
| |
| Wed Nov 27 13:34:15 1991 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) |
| |
| * c-parse.y (yylex): Don't assume that long is 32 bits and long |
| long is 64 bits when warning for out of range integer constants, |
| and when creating a tree to represent integer constants. |
| * cp-lex.c (real_yylex): Likewise. |
| * objc-parse.y (yylex): Likewise. |
| |
| * combine.c (simplify_comparison, ASHIFT case): Prevent shift by |
| HOST_BITS_PER_INT for inequality comparisons. |
| |
| * fold-const.c (operand_equal_p): Arguments are not equal if |
| signedness differs. Conversions don't match if signedness differs. |
| |
| * sparc.md (movsi, movhi, movqi, movdi): Prohibit matches that |
| would require reloading by the use of conditions. |
| |
| * alloca.c (alloca): Add parens to make precedence clearer. |
| |
| * tm-news.h (PRINT_OPERAND): Add 68040 support so that the compiler |
| will bootstrap. |
| |
| Wed Nov 27 09:41:13 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * expr.c (expand_expr, case MIN_EXPR): Fix typo in operand number |
| in safe_from_p call. |
| |
| * recog.c (indirect_operand): Correctly handle case where we have |
| a (subreg (mem X) C) after reload. |
| |
| Tue Nov 26 16:24:03 1991 Ron Guilmette (rfg at ncd.com) |
| |
| * dwarfout.c (output_enumeration_type_die): Handle a GNU C |
| language extension: incomplete enum types. |
| |
| * dwarfout.c (output_type): Fixed bug which causes DIEs for |
| file-scope tagged types to be generated in a local-scope |
| under some conditions. |
| |
| * dwarfout.c (dwarfout_init, dwarfout_finish): Moved code which |
| generates most of the .debug_aranges entries from dwarfout_init |
| into dwarfout_finish to avoid m68k assembler bug. |
| |
| * Makefile.in (EXTRA_PARTS): New parameter. |
| (install-common): Compile the things in EXTRA_PARTS. |
| (GCC_PASSES, GCC_PARTS): New variables. |
| (STAGESTUFF, native, enquire, enquire.o): Use them. |
| (protoize, protoize.o, unprotoize, unprotoize.o, SYSCALLS.c.X): |
| (gnulib2.ready, collect2, collect2.o, getopt.o, getopt1.o): Likewise. |
| |
| * tm-svr4.h (CPP_PREDEFINES): Don't define this here. Undef it |
| so that other files which include this one will be forced to |
| define it appropriately for the specific target and OS. |
| (CPP_SPEC): Deleted. |
| (LIB_SPEC): Add crtend.o as last thing linked in on each link-step. |
| (STARTFILE_SPEC): Add crtbegin.o as the first thing linked in. |
| (NO_DOLLAR_IN_LABEL): Added define. Most svr4's don't support $. |
| |
| * tm-svr4.h: Added support for the .ctors and .dtors sections |
| (as for the m88k). |
| (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): New macros. |
| * tm-svr4.h (HERE_ASM_OP, ASM_DECLARE_FUNCTION_SIZE): Deleted |
| define of HERE_ASM_OP and made ASM_DECLARE_FUNCTION_SIZE not |
| try to use a dot when computing a function's size in a .size |
| directive (because Tom Wood says that 88open doesn't approve |
| of dot as an asm operand). |
| |
| * x-genix, x-i386sco, x-xenix (INSTALL): Define as cp. |
| |
| Tue Nov 26 16:24:03 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * gcc.c (default_compilers): Pass -A* to cpp. |
| |
| * Make names unique if unpacked on MSDOG. |
| * config/*.c: `out-' removed from all file names out-*.c. |
| * x-hp*: Renamed from x-hp9k*. |
| * tm-conv1.h, tm-conv2.h: Renamed from tm-convex*.h. |
| * tm-hp*.h: `9k' removed from these names. |
| * tm-isi*.h: `68' removed from these names. |
| * tm-i860b.h, tm-i860bg.h: `sd' removed. |
| * tm-i860g3.h: Renamed from tm-i860v3g.h. |
| * tm-i386sun.h: Renamed from tm-sun386i.h. |
| * tm-sun3o3.h, tm-sun4o3.h: Were tm-sun*os3.h. |
| * tm-sun3n3.h: Was tm-sun3os3nf.h. |
| * tm-sun3n.h: Was tm-sun3-nfp.h. |
| * tm-sun2o4.h: Was tm-sun2os4.h. |
| * xm-hp320.h: Was xm-hp9k320.h. |
| * xm-i386sun.h: Was xm-sun386i.h. |
| * configure: Adjust for those renamings. |
| |
| * configure (m68000-hp-hpux*): Use xm-hp320.h. |
| |
| * stmt.c (expand_value_return): New subroutine. |
| (expand_return): Use that. |
| |
| * make-gcc.com: New name for make.com. |
| |
| * stor-layout.c (layout_record): Return list of static members. |
| (layout_type): Lay them out here. |
| |
| * expmed.c (init_expmed): Use 3 as shift count for shift_cost. |
| |
| * x-sco: File deleted. |
| |
| * print-tree.c (print_node): Always be brief for vector elts. |
| |
| Tue Nov 26 07:42:41 1991 Michael Tiemann (tiemann at rtl.cygnus.com) |
| |
| * cp-decl.c (grokdeclarator): Fix typo involving ~RID_STATIC. |
| |
| Mon Nov 25 21:51:09 1991 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) |
| |
| * optabs.c (emit_cmp_insn): If both operands are VOIDmode, |
| put first operand into register, not second. |
| |
| * alliant.md, gmicro.md, i386.md, m68k.md, ns32k.md, pyr.md: |
| Don't allow a constant as the first operand to tstxx insns. |
| * tahoe.md, vax.md: Likewise. |
| * convex.md: Remove erroneous comment on tstsi. |
| |
| Mon Nov 25 20:51:00 1991 DJ Delorie (dj@ctron.com) |
| |
| * cccp.c (main): Look in env vars to override header dir list. |
| * gcc.c (process_command): Likewise. |
| |
| * gcc.c (execute): Alternate way to get status on MSDOS. |
| Error for -pipe on MSDOS. |
| (pexecute): Alternate definition for MSDOS. |
| (find_a_file): Handle new hook EXECUTABLE_SUFFIX. |
| (EXECUTABLE_SUFFIX): Add default definition, and alternate for MSDOS. |
| (P_tmpdir): Add default definition for MSDOS. |
| |
| Mon Nov 25 17:18:52 1991 Michael Collison (collison at osf.org) |
| |
| * x-encrose: New file for mmax running OSF/1. |
| * t-encrose: ditto. |
| |
| * ns32k.md (movsi): Use new constraint letters 'x' and 'y' |
| representing the frame and stack pointer. |
| (movhi,movqi): Add constraints and template code to allow moves |
| between the floating point and general purpose registers. |
| |
| * tm-ns32k.h (REGISTER_MOVE_COST): Use this macro to discourage |
| moves between the floating point registers and the frame and stack |
| pointer. Also discourage moves between the fp and general registers. |
| (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS, |
| REG_CLASS_FROM_LETTER): Add two new register classes representing |
| the frame pointer and stack pointer respectively. |
| (GO_IF_NONINDEXED_ADDRESS): Add check to see if register is also a |
| base register. This causes reload to reject pseudo registers when |
| REG_OK_STRICT is defined. |
| |
| * tm-i386rose.h: New file for 386 running on OSF/1. |
| * x-i386rose: ditto |
| * t-i386rose: ditto |
| |
| * config.subr: Added case for 'osf-'. |
| * configure: Added case for i386-osfrose |
| |
| * tm-encrose.h (CC1_SPEC): Simplified so by default it passes nothing. |
| (ASM_SPEC): Changed so that under OSF/1 with NO_J_SWITCH defined |
| nothing is passed to the assembler. |
| (TARGET_DEFAULT): Changed so that, by default, no code is generated |
| using the static base (sb) register. |
| (OVERRIDE_OPTIONS): Removed in lieu of the new debug macros |
| PREFERRED_DEBUGGING_TYPE and DEFAULT_GDB_EXTENSION. |
| (DEFAULT_GDB_EXTENSIONS): Define it |
| (PREFERRED_DEBUGGING_TYPE): Use it. |
| |
| Mon Nov 25 17:18:52 1991 Jyrki Kuoppala (jkp at batman.hut.fi) |
| |
| * ns32k.md (ashlhi3): use addw also on 32532 if shiftcount is 1. |
| (ashlqi3): likewise. |
| (addsi3): don't use addr instead of addd on the 32532. |
| |
| * out-ns32k.c (calc_address_cost): don't assume unknown RTX codes |
| have XEXP's which are rtx's. |
| |
| * ns32k.md (movsi): don't use addr for the 32532 immed displacements. |
| (shift patterns): fixed a typo with %$%n. |
| |
| * out-ns32.c (calc_address_cost) new function. |
| tm-ns32k.h (ADDRESS_COST): call calc_address_cost. |
| |
| * out-ns32k.c (print_operand_address): use error & debug_rtx if error. |
| |
| * tm-ns32k.h (CONST_OK_FOR_LETTER_P): constraint 'I' shouldn't |
| match anything on the 32532 to make negative arithmetic left |
| shifts behave consistently. |
| |
| * ns32k.md (subsf+1): don't use ajdspb on the 32532. |
| |
| * tm-ns32k.h (CONST_OK_FOR_LETTER_P): positive values not OK for |
| constraint 'I' if on 32532. |
| |
| * ns32k.md (ashl??): if TARGET_32532, use lsh{d,w,b}. |
| |
| * ns32k.md (adjusting stack pointer): don't use ajdp{b,w} if not 32532. |
| |
| * ns32k.md (isv,insv-1,insv-2,extzv): use constraint K instead of |
| n for offset. |
| |
| * ns32k.md (insv-1): use only register_operand with constraint |
| "r" for operand 2, insd can't take constant offsets >= 8. |
| (pattern insv-2): added another insv-like pattern, for |
| offsettable operand. |
| (insv): constraint should be "+g". |
| (pattern before insv): installed an insv-like pattern |
| with operand 0 having register_operand and SImode. |
| |
| * out-ns32k.c (print_operand): define as a void function. |
| |
| * ns32k.md (call_value): use operands[1], not operands[0] to check |
| for CONSTANT_ADDRESS_P. |
| |
| * out-ns32k.c (print_operand): eliminate |
| PRINT_OPERAND_EXTRACT_FLOAT, don't depend on HOST_WORDS_BIG_ENDIAN. |
| |
| * tm-ns32.h (INDIRECTABLE_1_ADDRESS_P): use CONSTANT_ADDRESS_P, |
| not CONSTANT_P. |
| |
| * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): checking for CONST_INT |
| is not right because displacements are not 32-bit. Use |
| CONSTANT_ADDRESS_NO_LABEL_P instead. |
| |
| * tm-ns32k.h (output_move_double, output_shift_insn): New declarations. |
| |
| * out-ns32k.c (print_operand_address): Use fatal for errors. |
| |
| * ns32k.md (insv, extzv): Replaced with the pattern near insv in 1.40. |
| |
| * out-ns32k.c (print_operand): function moved from tm-ns32k.h. |
| Modified to use PUT_IMMEDIATE_PREFIX, PUT_EXTERNAL_PREFIX; added |
| macro PRINT_OPERAND_EXTRACT_FLOAT. |
| |
| * out-ns32k.c (print_operand_address): replaced the function with |
| a more clean version, written for gas syntax. |
| |
| * ns32k.md (call): #if 0 code which was used when GAS_SYNTAX was not |
| defined. |
| (call_value): likewise. |
| |
| * ns32k.md (pattern after ashrsi3): added % before $ so the |
| pattern works also for gas syntax. |
| (pattern after ashrhi3): likewise. |
| (pattern after ashrqi3): likewise. |
| (pattern after lshrsi3): likewise. |
| (pattern after lshrhi3): likewise. |
| (pattern after lshrqi3): likewise. |
| (pattern after rotrsi3): likewise. |
| (pattern after rotrhi3): likewise. |
| (pattern after rotrqi3): likewise. |
| |
| * ns32k.md (movsf): put #ifndef GAS_SYNTAX part inside #if 0 since |
| for now we only use GAS syntax. |
| |
| * tm-ns32k.h (INDIRECTABLE_2_ADDRESS_P): add TARGET_SB as a |
| condition in addition to CONSTANT_ADDRESS_P. |
| |
| * tm-ns32k.h (MEM_REG): use CONSTANT_ADDRESS_P instead of GET_CODE |
| == SYMBOL_REG, add TARGET_SB to the second-part condition. |
| |
| * ns32k.md (rotrsi3): fixed a typo NEGATE->NEG |
| |
| * tm-ns32k.h: added a comment about CONSTANT_ADDRESS_P; it's not |
| strictly according to the spec. |
| |
| * tm-ns32k.h: added defaults for ABSOLUTE_PREFIX,IMMEDIATE_PREFIX |
| etc, using gas syntax. |
| |
| * out-ns32k.c: removed macro FP_REG_P. |
| |
| * tm-ns32k.h: (ASM_OUTPUT_ALIGN_CODE): changed alignment from 4 to |
| 2 since GAS syntax is the default assembler syntax now. |
| (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): defined to call |
| print_operand and print_operand_address in out-ns32k.c, |
| respectively. |
| |
| * tm-ns32k.h: New macros TARGET_SB, TARGET_PIC. |
| Dummy code for trampolines, calls fatal(). |
| Macro FP_REG_P moved here from out-ns32k.c. |
| Some reorganizations of blocks. |
| 68000 -> ns32k. |
| |
| * tm-ns32k.h (TARGET_VERSION) says GAS syntax. |
| (TARGET_*) added some empty lines for clarity. |
| |
| Mon Nov 25 14:29:39 1991 Richard Stallman (rms at mole.gnu.ai.mit.edu) |
| |
| * Makefile.in (aux-output.o): Depend on insn-codes.h. |
| |
| * make-cc1.com: Handle print-rtl.c. |
| |
|