--- gcc/ChangeLog 2018/04/24 17:51:38 1.1.1.2 +++ gcc/ChangeLog 2018/04/24 17:55:27 1.1.1.3 @@ -1,3 +1,4064 @@ +Sun Jun 14 16:30:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 2.2.2 released. + + * Makefile.in (gcc.xtar.Z): Don't give up if texinfo files not updated. + Just sleep to emphasize the message. + + * i860.h (PREFERRED_RELOAD_CLASS): Avoid f regs for HI and QI if poss. + + * protoize.c: Don't include wait.h. + (gen_aux_info_file): Test wait_status as in gcc.c. + Report fatal signals explicitly. Report exit status. + * xm-next.h (wait): Definition deleted. + + * sparc.c (print_operand): In `r' case, recognize any kind of zero. + +Sat Jun 13 02:51:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * va-sparc.h (va_arg): Handle all 8-byte types, not just double. + +Fri Jun 12 23:40:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): + Use `e' format, not `g' format. + +Fri Jun 12 12:52:48 1992 Tim Moore (moore at fast.cs.utah.edu) + + * pa.md (absdf2): Fix bug in output template. + +Fri Jun 12 10:25:25 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * ultrix.h (WCHAR_*): Set to correct values. + +Fri Jun 12 10:07:43 1992 Michael Meissner (meissner@osf.org) + + * x-mips, x-mipsv, x-decstatn, x-iris (OLDCC): Add -Olimit 3000 to + bump the number of basic blocks that the MIPS compiler handles, so + that it doesn't issue warning messages saying to bump the limit. + Move the -O1 option here from X_CFLAGS, so that it doesn't + get passed when bootstraping. + (X_CFLAGS): Delete. + +Thu Jun 11 15:08:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * sparc.h (RETURN_IN_MEMORY): Do nothing for structs and unions. + (EXTRA_CONSTRAINT): During reload, accept pseudo reg for Q. + + * va-sparc.h (va_arg): Handle unaligned doubles. + + * fixincludes: Fix return type of `free' in malloc.h. + Recognize #define.NULL only at start of line. + In sys/types.h, find size_t only in a typedef. + In netdnet/dnetdb.h, don't add semicolon in wrong place. + + * configure: Set use_collect2 to empty rather than unsetting. + + * gstddef.h (__need_wchar_t): Fix typo in #undef. + +Wed Jun 10 04:30:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (process_command): In gcc_exec_prefix, machine precedes vers. + + * i386sco4.h (CPP_SPEC): Don't redefine __STDC__. + fixincludes knows how to fix the conditionals in system headers. + + * collect2.c (scan_prog_file): Initialize ldptr. + + * dbxout.c (dbxout_symbol): Make tag precede typedef. + + * configure: Initialize host, host_xm_file, host_xmake_file, + host_broken_install, and broken_install. + + * Makefile.in (enquire.o): Add `./' when removing enquire.c. + +Tue Jun 9 20:52:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 2.2.1 released. + + * Makefile.in (clean): Don't delete unprotoize.c. + + * configure: Fix typo in modifying INSTALL variable in Makefile. + +Mon Jun 8 15:14:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Version 2.2 released. + + * Makefile.in (extraclean): Delete *.rej and *.orig under config. + Delete *.xtar. + (dist): Update README *before* making tar file. + Fix quoting of error message about gcc.texi; exit if that test fails. + Don't print error messages from ln. + + * assert.h [__cplusplus]: Use `extern "C"' around __eprintf decl. + + * configure (rs6000-*-mach*, pyramid-*-*, mips-sgi-*): + Patterns made canonical. + (rs6000-*-mach*): Fix typo in `xmake_file'. + + * configure (i386-*-osfrose*): Renamed from i386-osfrose*. + + * Makefile.in (.NOEXPORT): Moved after `all'. + Comments put on separate lines. + +Mon Jun 8 18:33:01 1992 Michael Meissner (meissner@osf.org) + + * configure (mips-dec-osf*): Set xmake_file to x-mips. + +Sun Jun 7 15:55:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (set_spec): Fix braino in "appending" spec values. + + * integrate.c (expand_inline_function): Fix dumb bug in last change. + +Sun Jun 7 07:16:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * romp.md: Disable two more define_splits during the first sched + pass until long-standing sched.c bug is fixed. + +Thu Jun 4 16:49:56 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * reorg.c (dbr_schedule): Global registers are needed at function end. + +Sat Jun 6 17:07:16 1992 Torbjorn Granlund (tege at david.ultra.nyu.edu) + + * pyr.md (shift patterns): Declare output_shift. + (movdi, movdf): Declare output_move_double. + +Sat Jun 6 15:07:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (c-parse.o): Depend on c-parse.h. + + * reload.c (find_reloads): Fix typo in format string. + + * mips.c (override_options): BSD 4.3 does line buffering differently. + + * Makefile.in (SYSCALLS.c.X): Put GCC output in file, not /dev/null. + (mostlyclean): Delete temp file. + + * configure (handling broken_install): Add -c option. + +Sat Jun 6 11:34:00 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * gstdarg.h (va_arg): Fix typo incrementing AP. + +Sat Jun 6 16:27:18 1992 Michael Meissner (meissner@osf.org) + + * mips-n5.h, mips-sysv.h: Include sys/param.h, not types.h. + +Fri Jun 5 19:00:36 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov) + + * fx2800.h (ASM_OUTPUT_FUNCTION_PREFIX): Output a nop before + every function, to accomodate tdescs. Also, save function + name in current_function_original_name for use in i860.c. + Also define OUTPUT_TDESC to get ABI-compliant tdesc info + generated for each function. + + * i860.c (function_epilogue): Add code to output tdesc info + after each function. Tdesc structure versions 1-4 are + supported. + + * i860v4.h (ASM_FILE_END) [OUTPUT_TDESC]: Output a null tdesc entry + after the last function in a file. + +Fri Jun 5 19:03:22 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * collect2.c (main, scan_prog_file): Use bcopy, not memcpy. + +Fri Jun 5 16:27:18 1992 Michael Meissner (meissner@osf.org) + + * mips.h, mips.c, mips.md: Undo June 3 changes. + + * mips-n5.h, mips-sysv.h (getpagesize): If _SC_PAGE_SIZE is undefined, + use NBPC defined in sys/types.h. + +Thu Jun 4 14:36:43 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cse.c (delete_dead_from_cse): Don't delete anything inside a libcall. + + * Makefile.in (install-libgcc): Depend on install-dir. + + * c-lex.c (yylex): Suppress int out of range warning if -traditional. + +Thu Jun 4 23:34:05 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov) + + * fx2800.h (DBX_OUTPUT_ENUM): Add missing argument, add a + missing semi-colon. + (ASM_OUTPUT_DOUBLE): undef definition from i860v4.h, replace + with definition used in i860.h. + (ASM_OUTPUT_FLOAT): same as above + Also undef MD_EXEC_PREFIX which is defined in i860v4.h. + Also define I860_STRICT_ABI_PROLOGUES for ABI-compliant function + prologues. + +Thu Jun 4 13:15:30 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * enquire.c (fake_f_rep): Use __extension__ to avoid pedantic warnings. + + * cse.c (cse_process_notes): Don't stick VOIDmode into *_extract. + + * c-decl.c (get_parm_info): For forward parm decls, check for + non-parm before checking TREE_ASM_WRITTEN. + +Thu Jun 4 13:57:47 1992 Tim Moore (moore at defmacro.cs.utah.edu) + + * pa.h (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Delete + FP_OR_SNAKE_FP_REGS (useless), add GENERAL_OR_FP_REGS, + GENERAL_OR_SNAKE_FP_REGS. + (ASM_DECLARE_FUNCTION_NAME): Handle DImode arguments correctly. + (PROFILE_BEFORE_PROLOGUE, FUNCTION_PROFILER): Do the same thing + for BSD and HPUX. + + * pa.c (output_function_prologue): Do profiling right (compatible + with HPUX). + (output_arg_descriptor): Handle DImode argument registers. + +Thu Jun 4 13:48:24 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload): Count reload register used by caller-save + handling in any basic block that contains a CALL_INSN. + +Thu Jun 4 09:23:19 1992 Ron Guilmette (rfg at ncd.com) + + * i860v4.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): Remove leading 0r. + (ASM_OUTPUT_FLOAT): Use .float (not .single). + +Fri Jun 5 14:58:43 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * pyr.h (REGNO_OK_FOR_{INDEX,BASE}): Correctly test reg_renumber. + * configure (pyramid): Turn it back on. + +Thu Jun 4 11:26:55 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu) + + * pa.c (output_move_double): Handle overlapping moves between + registers. + +Wed Jun 3 22:08:18 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fold-const.c (fold, NOP_EXPR case): Don't drop intermediate in + (unsigned int) (unsigned short) char-variable. + +Wed Jun 3 11:18:43 1992 Ron Guilmette (rfg at ncd.com) + + * stdarg.h (va_arg): Use casts to avoid doing (pedantically invalid) + arithmetic on `void *' values when __svr4__ is defined. + +Wed Jun 3 17:51:21 1992 Torbjorn Granlund (tege@zevs.sics.se) + + * longlong.h (sparc): Test symbol __sparcv8__ for sparc.h conformance. + +Wed Jun 3 16:22:38 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.c (print_operand): Correct typo. + (sparc_type_code): Correctly handle C int and float types. + + * sparc.h (CONSTANT_ALIGNMENT): Align strings to 8 byte boundary. + (DATA_ALIGNMENT): Likewise for character arrays. + + * i960.c (function_prologue): Fixed calculation of offsets for + compiler's register save area. + + * sparc.md (mulsi3,mulsidi3,umulsidi3,divsi3,udivsi3): Patterns + added to support V8 sparc architectures. + * sparc.h (TARGET_DEFAULTS): Add -mv8 and -msparclite options. + + * reload1.c (reload): If can't satisfy reload for a group of more + than two registers, then abort to avoid an infinite loop. + (count_possible_groups): Skip to last reg of group, not first reg + of next group. + +Wed Jun 3 14:35:00 1992 Tom Wood (wood at gen-rtx) + + * c-lex.c (yylex): Let skip_white_space handle \r. + + * expr.c (expand_builtin, fsqrt case): Stabilize the argument in + case a library call is done. + + * final.c (final_scan_insn): Function begin, and block begin/end + notes are "real" in that they depend on the current line number. + +Wed Jun 3 14:34:28 1992 Michael Meissner (meissner@osf.org) + + * mips.md (andsi3_internal2): Fix typo in previous change, to + use %3, the clobbered register, instead of %@, the assembler + temporary. + (iorsi3_internal2): Ditto. + (xorsi3_internal2): Ditto. + + * mips.h (MIPS_VERSION): Bump Meissner version # to 20. + (final_prescan_insn): Add declaration. + (lui_int): Add declaration. + (FINAL_PRESCAN_INSN): Just call final_prescan_insn. + + * mips.c (lui_int): New function, return true if value fits in a + LUI instruction. + (final_prescan_insn): Move the checking for filling the delay + slots here from the FINAL_PRESCAN_INSN macro. If the safe + attribute is set, we do not need a NOP to fill a load delay slot. + + * mips.md (safe attribute): New attribute to indicate that the + current insn is safe to fill a delay slot even if the register + operand(s) are set in the load instruction which has the delay + slot. This is for and/ior/xor expansions that have a large + constant integer as operand[2]. The load of the constant can + overlap the load. + (andsi3, iorsi3, xorsi3): Replace logical define_insn's with + define_expand's that either map directly to the hardware + instruction, or have a clobbered register to load the large + constant into. This is instead of using $1 to hold the + intermeidate value. Set the safe attribute to yes for the cases + where we need to load the integer. Add define_split's to break + the large logical operations into the separate pieces. + +Wed Jun 3 00:00:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cccp.c (do_warning): Do just a warning, not an error. + +Tue Jun 2 17:30:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cse.c (cse_basic_block): When a jump becomes unconditional, + check whether this caused TO to be deleted. + +Tue Jun 2 16:11:42 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (subst, case IF_THEN_ELSE): Don't try reversing + something that isn't a comparison. + +Tue Jun 2 16:50:47 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * cccp.c (do_pragma): Don't warn about #pragma once if used in a + system header file. + +Tue Jun 2 15:21:07 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 19. + (ASM_OUTPUT_DOUBLE): Call mips_output_double. + (ASM_OUTPUT_FLOAT): Call mips_output_float. + + * mips.c (mips_output_double): If REAL_VALUE_TO_TARGET_DOUBLE is + defined, use it to split the floating point value into 2 long + integers, and print them out in hex. Otherwise use .double. + (mips_output_float): If REAL_VALUE_TO_TARGET_FLOAT is defined, use + it to split the floating point value into a long integer, and + print in out in hex. Otherwise use .float. + + * dec-osf1.h (new file): Config file for DEC's offical OSF/1 + product (as opposed to the OSF/1 reference port from OSF). + + * configure: Support mips-dec-osf1 target. + * config.sub: Support mips-dec-osf1 target. + + * decstatn.h (CPP_PREDEFINES): If CPP_PREDEFINES is defined, don't + supply another definition. Also, define _SYSTYPE_BSD. + +Mon Jun 1 00:04:01 1992 Ron Guilmette (rfg at ncd.com) + + * gstdarg.h (va_list) [__svr4__]: Typedef it to `void *'. + * va-sparc.h (__va___list) [__svr4__]: Typedef this as `void *'. + +Sun May 31 15:26:32 1992 John F Carr (jfc at Achates.mit.edu) + + * calls.c (stack_arg_under_construction): New variable. + (store_one_arg): Set stack_arg_under_construction before calling + expand_expr if expand_expr might call a constructor to initialize + a stack argument. + (expand_call): Push the stack around function calls if + stack_arg_under_construction is nonzero. + Also copy structure_value_addr in that case. + Push the stack around an inline function if it makes calls + and there are outgoing arguments on the stack which must be preserved. + Move the call to expand_cleanups_to before that. + Do this stack adjustment before computing argument locations. + +Sun May 31 01:03:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * sdbout.c (sdbout_symbol): Test DECL_IGNORED_P only for + variables and types. + * dwarfout.c (output_decl): Never ignore a FUNCTION_DECL + even if DECL_IGNORED_P is set. + +Sat May 30 07:07:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h, romp.h (FUNCTION_ARG): Fix typo in last change. + + * combine.c (subst, significant_bits, simplify_comparison): + Only look at STORE_FLAG_VALUE if comparison result is integer. + +Fri May 29 18:04:45 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (output_decl): Moved test for ERROR_MARK node out of + switch statement and added a test for DECL_IGNORED_P after that. + (dwarfout_file_scope_decl): Check input node to see if it is an + ERROR_MARK before checking for DECL_IGNORED_P. Also makes sure that + any node marked as DECL_IGNORED_P isn't also a function definition. + +Fri May 29 14:46:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * integrate.c (expand_inline_function): + Don't discard setting return value from a volatile source. + + * c-decl.c (init_decl_processing): If traditional, strlen returns int. + (sizet_ftype_string): Deleted. + + * expr.c (expand_builtin, fsqrt case): Return proper mode if arg error. + +Fri May 29 13:36:32 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88k.c (m88k_builtin_saveregs): Don't copy result to a register. + + * m88k.h (FIXED_REGISTERS): Allow use of r1. + (REG_LEAF_ALLOC_ORDER): Choose r1 last. + (REG_ALLOC_ORDER): Choose r1 before any preserve register. + (ORDER_REGS_FOR_LOCAL_ALLOC): Switch between orderings. + * m88k.c (m88k_layout_frame): Save r30 when used as an ordinary + register. + + * m88k.h (CHECK_FLOAT_VALUE): Delete, not needed. + * m88k.c (check_float_value): Delete, not needed. + + * m88k.c (mostly_false_jump): Fix return check. + + * m88k.md (mstore type): Delete. + (return, indirect_jump): These are jumps, not branches. + * m88k.c (eligible_for_epilogue_delay): No TYPE_MSTORE insns. + +Fri May 29 12:33:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * reload1.c (emit_reload_insns): Add missing arg to gen_input_reload. + +Fri May 29 06:43:15 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h, romp.h (FUNCTION_ARG): Don't put variable-sized + operands in registers. + + * explow.c (emit_stack_{save,restore}): Don't call validize_mem + on a null rtx. + + * cse.c (cse_insn): Don't call canon_reg on entry from + hash table; instead, call it after we did the substitution. + +Thu May 28 18:47:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixincludes (malloc.h): Allow space or tab btwn typedef and char. + +Thu May 28 17:35:37 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload_as_needed): Properly disable optional reload + that we can't do. + Don't abort if disabled reload uses a register we don't have. + +Thu May 28 14:43:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * next.c (get_directive_line): Declare it. + + * defaults.h (ASM_OUTPUT_ASCII): Use unsigned chars. + + * i860v4.h, i386v4.h, sparcv4.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): + Use the override definitions only if word order matches host. + +Wed May 27 17:32:36 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * unroll.c (find_splittable_givs): When completely unrolling loop, + precompute giv value into a reg before loop if it is complex. + + * sparc.c (singlemove_string): Handle SFmode CONST_DOUBLE. + * sparc.h (PREFERRED_RELOAD_CLASS): Don't allow reloads of + constants to FP registers, nor reloads of FP constants that won't + match the 'E' constraint. + * sparc.md (movsf-1): Add pattern to efficiently handle SFmode + constants. + + * sparc.md (lo_sum:DI pattern): Use constraint "0" for operand 1. + + * i960.h (OVERRIDE_OPTIONS): Disable function inlining. + + * function.c (assign_parms): When MAYBE_REG_PARM_STACK_SPACE, + don't assume that register parameters already have a stack slot. + * i960 (*): Change all tests of current_functions_args_size from + 48 to 0 due to above change. + * i960.md (*): Likewise. + + * sparc.h (LONG_DOUBLE_TYPE_SIZE): Add ifdefed out definition. + (FIXED_REGISTERS): g4 is not a fixed register. + (RETURN_IN_MEMORY): Define. + (FUNCTION_ARG_PASS_BY_REFERENCE): Also pass TFmode by reference. + + * fixincludes: Fix stdio.h and math.h for Ultrix 4.0. + +Tue May 26 15:29:21 1992 Brendan Kehoe (brendan@cs.widener.edu) + + * x-we32k: new file, need alloca.o + * xm-we32k.h [NO_SYS_SIGLIST]: define this + * we32k.h [STRICT_ALIGNMENT] define as `1' + [NO_WAIT_H]: also define this + * collect2.c [NO_WAIT_H]: don't include sys/wait.h if this is + defined. + + * Makefile.in (clean): rm libgcc1.null. + +Wed May 27 15:36:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * real.h (REAL_VALUE_TO_TARGET_SINGLE): Test HOST_BITS_PER_WORD right. + + * i386sco.h (SIZE_TYPE): New definition. + + * c-typeck.c (build_binary_op): When shortening, handle case + where op0 and arg0 are different but have same width. op1/arg1 too. + + * toplev.c (compile_file): Cast xmalloc when arg to setvbuf. + + * expmed.c (expand_divmod): Clear can_clobber_op0 if doing mod. + + * Makefile.in (protoize.1, unprotoize.1): Delete target before mv'ing. + (mostlyclean): Delete tmp-unproto.1. + + * sdbout.c (sdbout_symbol, sdbout_toplevel_data): Test DECL_IGNORED_P. + * dwarfout.c (dwarfout_file_scope_decl): Likewise. + +Wed May 27 13:48:36 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in comparison. + +Wed May 27 02:11:22 1992 Ron Guilmette (rfg at ncd.com) + + * i386v4.h, i860v4.h, sparcv4.h: Include real.h. + (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): + New definitions, if host and target formats match. + + * real.h (REAL_VALUE_TO_TARGET_SINGLE, REAL_VALUE_TO_TARGET_DOUBLE): + Defined, but only if host and target formats match. + +Wed May 27 06:20:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload_as_needed): For asm insn, check all reload + insns for validity. + (emit_reload_insns, gen_input_reload): Remove previous change that + checked them here. + * recog.c (constrain_operands, case 'm', 'o', 'g'): Accept pseudo if + reload is in progress. + +Tue May 26 19:24:21 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + + * combine.c (combinable_i3pat): Allow a hard register as the + destination even if SMALL_REGISTER_CLASSES if source is a CALL. + + * emit-rtl.c (gen_lowpart_common): Fix handling of int->float + union conversions. + +Tue May 26 19:23:43 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * a29k.h (HARD_REGNO_MODE_OK): Don't let anything larger than + UNITS_PER_WORD be allocated to an odd numbered register. + +Tue May 26 15:22:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * config.sub (defaulting the OS): Separate subversions with periods. + + * limits.h: Fix condition for defining long-long macros, to suit libc. + + * Makefile.in (specs): New target. + (gcc): Don't write `specs' here. + (start.encap): Depend on `specs'. + (all.cross): Depend on EXTRA_PARTS. + (rest.cross): New target. + + * c-common.c (declare_function_name): + Set TREE_USED, not TREE_NO_UNUSED_WARNING. + +Tue May 26 04:52:53 1992 Michael Meissner (meissner@osf.org) + + * loop.c (loop_has_volatile): New static variable to record + whether the loop has any volatile references in it. + (prescan_loop): Set loop_has_volatile. + (check_dbra_loop): Don't reverse loop if there are any volatile + references in it. + +Mon May 25 16:04:08 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386gas.h (ASM_OUTPUT_OPCODE): Translate "repnz" to "repne". + * seq386gas.h (ASM_OUTPUT_OPCODE): Likewise. + +Mon May 25 15:53:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * optabs.c (emit_indirect_jump): Emit barrier here. + * stmt.c (expand_computed_goto): Not here. + +Mon May 25 06:22:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (canon_reg): Must call validate_change if insn has any + MATCH_DUPs even if replacing a pseudo with another pseudo. + + * explow.c (emit_stack_{save,restore)}: Call validize_mem on save area. + + * combine.c (simplify_shift_const, case PLUS): Simplify cases where + the PLUS is just turning on bits that will be shifted out. + + * emit-rtl.c (gen_lowpart_common): Add new case for single-word + float->integer conversion; all others already present. + Check for -fpretend-float in this and the other cases. + + * stmt.c (expand_goto): Fix typo in previous change. + + * reload1.c (gen_input_reload): When checking for validity of + reloads made for asms, also check the constraints. + + * explow.c (allocate_dynamic_stack_space): Don't add to size + if we aren't going to need to align the size. + + * fold-const.c (fold, case *_DIV_EXPR): Fold (a * C1) / C2 for + some C1 and C2. + +Sun May 24 14:07:53 1992 Ron Guilmette (rfg at ncd.com) + + * toplev.c (main): + Fix typo setting use_gdb_dbx_extensions in xcoff case. + + * c-decl.c (pushdecl): Call `build_type_copy' rather than calling + `c_build_type_variant' to duplicate a type. + +Sun May 24 16:56:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload): Refine setting of basic_block_needs. + +Sun May 24 15:43:08 1992 John F Carr (jfc at Achates.mit.edu) + + * combine.c (try_combine): Don't split an insn if that would move + a use of a register across a set of the same register. + +Sun May 24 14:50:38 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * reg-stack.c (constrain_asm_operands): Ignore constraint letters + following '#' in each alternative. + +Sun May 24 02:28:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (pexecute): New alternative definition for OS2. + Take SEARCH_FLAG as arg instead of FUNC. + (execute): Change call to pexecute. + + * toplev.c (main): Don't run ps for -dm if on OS2. + + * cccp.c (main): Use PATH_SEPARATOR computing num_dirs. + (path_include): Likewise, setting q. + + * gcc.c: Include sys/file.h. + + * Makefile.in (extraclean): Delete install1.texi. + +Sat May 23 14:14:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * crtstuff.c (__do_global_ctors) [not INVOKE__main]: Make body empty. + + * fold-const.c (float_error): Renamed from const_binop_error. + (const_binop, fold_convert): + Call set_float_handler around REAL_VALUE_TRUNCATE. + + * Makefile.in ($(srcdir)/INSTALL): New target. + (doc): Depend on that. + ($(srcdir)/gcc.info, $(srcdir)/cpp.info): Delete $(srcdir) from deps. + ($(srcdir)/gcc.info): List all subfiles as deps. + + * math-68881.h: Use %! instead of fpcr. + + * install.sh: New file. + * configure: Changed install_with_cp to broken_install. + Test that flag for the host, not for the target. + If set, use install.sh. + + * Makefile.in (EXTRA_HEADERS): New variable. + (USER_H): Use that. + * configure: Let alternatives set EXTRA_HEADERS via var header_files. + (m68k-...): Set header_files to install math-68881.h. + + * Makefile.in (install-dir): Create (libsubdir)/include. + (install-limits-h, install-float-h): Depend on install-dir. + + * Makefile.in (gcc.xtar): Warn if version in gcc.texi is old. + + * genconfig.c (main): Add 1 when outputting MAX_RECOG_OPERANDS. + Initialize to just 9. + + * gcc.c (MD_STARTFILE_PREFIX_1): New config macro. + (main): Use that like MD_STARTFILE_PREFIX. + +Sat May 23 08:13:38 1992 John F Carr (jfc at Achates.mit.edu) + + * reload1.c (reload): Copy MEM_IN_STRUCT_P flag when converting + pseudo register to equivalent memory location. + +Sat May 23 07:12:15 1992 Michael Meissner (meissner@osf.org) + + * x-iris (OLDCC): Add -cckr to turn off strict ANSI checking. + + * mips.c (current_function_name): Delete definition, function.c + defines this and mips.h has a declaration. + + * longlong.h (mips umul_ppmm): Use "d" constraint instead of "r", so + that we know the value is an integer register. + +Sat May 23 01:14:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * vax.h (PRINT_OPERAND): Undo last change. + Fix the comment instead. + + * x-dpx2200, x-dpx2300 (ALLOCA_FINISH, AS): New variables. + +Fri May 22 01:52:22 1992 Ron Guilmette (rfg at ncd.com) + + * svr4.h (MD_EXEC_PREFIX): Added definition. + + * protoize.c [POSIX]: Include dirent.h rather than sys/dir.h. + (_POSIX_SOURCE): Undef before defining. + (getpwd): Change declaration to an `extern'. + (open): Add declaration in the #if 0 section along with fprintf. + (link, unlink, access, execvp): Add `extern' declarations. + (strlen): Don't mention arg type in declaration. + (main): Declare `params' as `const char *' to avoid botch when doing + test-protoize-simple. + +Fri May 22 17:15:36 1992 John F Carr (jfc at Achates.mit.edu) + + * calls.c (expand_call): Allocate stack space for arguments passed + in registers when OUTGOING_REG_PARM_STACK_SPACE is defined and + stack space has not been preallocated. + +Fri May 22 17:16:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (simplify_comparison): Try to reduce size of a + constant by changing comparison code; don't only do for 1 and -1. + + * reload.h (reg_equiv_memory_loc): Declare. + * reload.c (refers_to_regno_for_reload_p): Use reg_equiv_memory_loc + instead of reg_equiv_mem and reg_equiv_address; look for constant. + (reg_overlap_mentioned_for_reload_p): LIkewise. + Use new function to check for MEM. + (refers_to_mem_for_reload_p): New function. + * reload1.c (reg_equiv_memory_loc): No longer static. + +Fri May 22 17:15:12 1992 Ron Guilmette (rfg at ncd.com) + + * Makefile.in (test-protoize-simple): Only delete files made by this + target (not the man pages!) + (test-protoize-simple): Use -x option to avoid munging getopt.h. + (test-protoize-simple): Fixed number of differences message. + (mostly-clean): Properly remove all temp files relating to protoize/ + unprotoize. + (install-common): Force removal of previously installed g++ and c++ + command files before trying to install new ones. + + * spc-sol2.h: New file. + + * configure (sparc-*-solaris2*): New configuration added. + + * x-sparcv4 (X_CFLAGS): Removed -Bstatic and -dn options. + +Fri May 22 15:30:05 1992 Chip Salzenberg (chip@tct.com) + + * c-common.c (declare_function_name): Move from c-decl.c. + Construct function names instead of expecting them as parameters. + Set TREE_READONLY and other attributes before calling pushdecl. + * c-decl.c (init_decl_processing, store_parm_decls): Calls changed. + (declare_function_name): Remove to c-common.c. + + * cp-decl.c (init_decl_processing, store_parm_decls): + Call declare_function_name. + +Fri May 22 12:15:16 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparcv4.h (ASM_OUTPUT_CASE_LABEL): Define. + +Fri May 22 11:40:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * x-dpx2200, x-dpx2300 (CFLAGS): Definition deleted. + + * c-decl.c, cp-decl.c (pushdecl): No shadow warnings if DECL_IGNORED_P. + + * c-decl.c (declare_function_name): + Change names to __FUNCTION__ and __PRETTY_FUNCTION__ + + * vax.h (PRINT_OPERAND): In M case, don't complement after subtract 1. + + * c-lex.c (yylex): Use pedwarn for overflow warnings. + Pedwarn if constant doesn't fit its type. + +Fri May 22 13:32:39 1992 Chip Salzenberg (chip@tct.com) + + * xcoffout.h (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE. + +Fri May 22 08:31:16 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * longlong.h (all machines): Define UMUL_TIME and UDIV_TIME. + Auxiliary formatting changes. + (header): Define __CLOBBER_CC and __AND_CLOBBER_CC. + (__sparc__ macros): Use them. + (__hppa__ add_ssaaaa,sub_ddmmss): Accept zero using `M' constraint. + (__hppa__ umul_ppmm): Define if _PA_RISC1_1. + (__mc88110__ umul_ppmm,udiv_qrnnd): New. + (__pyr__ umul_ppmm): Rewrite. + (default count_leading_zeros): Make it work for 64 bit longs. + +Fri May 22 06:27:31 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (cse_insn): Invalidate a volatile destination. + + * expmed.c (expand_divmod): Correctly handle volatile operands. + +Fri May 22 06:26:50 1992 Chip Salzenberg (chip@tct.com) + + * rs6000.h (ASM_DECLARE_FUNCTION_NAME): Use new function + xcoffout_declare_function(). + * rs6000.c (output_epilog): Shorten internal label. + (output_toc, output_function_profiler): Likewise. + * xcoffout.c (xcoffout_declare_function): New function, created + to localize knowledge of end-of-function internal label. + (xcoffout_end_epilogue): Shorten internal label. + +Thu May 21 15:31:42 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * reorg.c (relax_delay_slots): Clear INSN_FROM_TARGET_P when + remove insns from a delay slot. + +Thu May 21 13:54:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * reload.c (find_reloads): + Don't abort for % in last operand in asm_operands. + + * alloca.c: Make symlink to master copy. + + * stmt.c (expand_asm_operands): Count nclobbers properly. + + * explow.c (allocate_dynamic_stack_space): Call mark_reg_pointer. + + * c-parse.y (stmt, WHILE case): Start loop *after* parsing end test. + (do_stmt_start): Broken out from DO rule. + (stmt, DO case): Use that. + Add error-handler rule for parse error in end test. + + * sparc.h (ADDITIONAL_REGISTER_NAMES): Support `cc'. + + * c-lex.c (yylex): Pedwarn if `f' constant exceeds range of `float'. + Just once even if `f' appears twice. + This and the like warning for `double' are only if -pedantic. + +Thu May 21 08:46:30 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * Makefile.in (STAGESTUFF): Add stamp-proto. + +Thu May 21 04:04:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * svr3.h (LOCAL_LABEL_PREFIX): Override as a period. + (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): + Use LOCAL_LABEL_PREFIX. + * dpx2.h (LOCAL_LABEL_PREFIX): Definition deleted. + * tower-as.h (LOCAL_LABEL_PREFIX): Override as empty. + +Wed May 20 23:29:15 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * config-gcc.com: Take care of situation if sources are NFS mounted. + +Wed May 20 14:35:10 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * jump.c (jump_optimize): Add additional validation check to + case that detects "if (foo) bar++;". + +Wed May 20 13:18:09 1992 Tim Moore (moore@defmacro.cs.utah.edu) + + * pa.md : Changed "xy" constraints to "x" constraints. + (movsi+6): Let "r" registers match too. Add define_split to change + into 2 insns if needed. + (decrement_and_branch_until_zero): New pattern. + * pa.h (FUNCTION_ARG_PASS_BY_REFERENCE): Fix for TYPE == 0. + (REGISTER_MOVE_COST): Do stuff for SNAKE_FP_REGS. + (PRINT_OPERAND_ADDRESS): Write CONST_INT case. + +Wed May 20 00:04:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * ns32k.h (NS32K_DISPLACEMENT_P): Fix typo. + * ns32k.md (extzv-1): New pattern for extracting from SImode. + + * g++: -M suppresses -lg++. + + * svr3.h (DO_GLOBAL_CTORS_BODY): Flush spurious #endif. + + * reload1.c (gen_input_reload): New arg IS_ASM. Can now return 0. + (emit_reload_insns): Pass new arg. Error if it returns 0. + + * configure: Use $cpu_type to default $tm_file. + + * configure, config.sub: Correct we32 to we32k. + * configure (decstation-dec): Deleted--doesn't fit as machine alias. + (we32k): Add company default. + (fx2800): This is a machine alias, not a company default. + + * configure (i386-*-bsd*, we32-att-sysv*, m68k-crds-unos*): + Missing *'s added at ends of config names. + + * c-typeck.c (convert_arguments): Use warn_for_assignment to handle + -Wconversion. Fix typo in width-mismatch test. + + * svr3.h (ASM_GENERATE_INTERNAL_LABEL): Put a * at the front. + +Tue May 19 21:53:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (clean): Add -f in rm *.dvi. + + * x-dpx2200, x-dpx2300 (CFLAGS): Make value conditional on CC. + + * genattrtab.c (simplify_test_exp, evaluate_eq_attr): + Delete tests of current_alternative_string; they caused bugs. + + * cross-test.c: New file. + * Makefile.in (cross-test, cross-test.o): New targets. + (all.cross): Depend on cross-test. + + * c-decl.c (declare_function_name): Fix bug in previous change. + +Tue May 19 19:57:39 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * i960.h (FUNCTION_ARG_BOUNDARY): Return mode's alignment if type 0. + + * calls.c (expand_call): Set MEM_IN_STRUCT_P for aggregate return + values in memory. + + * function.c (locate_and_pad_parm): Use MAYBE_REG_PARM_STACK_SPACE + if defined. + * i960.c (i960_function_arg_advance): Put MUST_PASS_IN_STACK + parameters on the stack. + (i960_function_arg): Likewise. + + * m68k.md (zero_extendqisi2+1): Add condition to exclude MEM/MEM + case which would require reloading. + + * unroll.c: Delete incorrect Feb 26 1992 change. + (copy_loop_body): For combined address givs, scale giv_inc by the + two giv's multiplicative factors if they are different. + + * i960.md (zero_extendqisi2): Add comment. + + * combine.c (apply_distributive_law): Don't distribute subregs + which change the mode class. + + * fixincludes: Fix memory.h for SunOS. + + * sparc.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCFPEmode, for + compares which should generate exceptions for qNaNs. + (SELECT_CC_MODE): Use CCFPEmode for non EQ/NE FP compares. + * sparc.c (normal_comp_operator): Handle CCFPEmode. + (C_MODES, output_cbranch): Likewise. + * sparc.md (cmpdf, cmpsf): Modify patterns to use fcmpe for CCFPE + mode, and fcmp for CCFP mode. + + From rfg: + * sparc.h: Declare output_move_quad, output_fp_move_quad and + output_floatsitf2. + * sparc.c (mem_aligned_8): New function. + (output_move_double): Clean up a little. Call mem_aligned_8. + Load operands[] into register variables for efficiency. + (output_move_quad, output_fp_move_quad): New functions. + (output_floatsitf2): New function. + (print_operand): Support 'S' and 'T'. + * sparc.md (cmptf, movtf, extendsftf2, extenddftf2, trunctfsf2, + trunctfdf2, floatsitf2, fix_trunctfsi2, addtf3, subtf3, multf3, + divtf3, negtf2, abstf2, sqrttf2): New patterns added for TFmode + support. + +Tue May 19 19:34:10 1992 Ron Guilmette (rfg at ncd.com) + + * i386v4.h (DBX_REGISTER_NUMBER): Fixed DWARF numbers for + x86 floating-point registers. + +Tue May 19 15:30:32 1992 Mats Lofkvist (d87-mal@nada.kth.se) + + * fixincludes: Fix return type of malloc and friends. + +Tue May 19 13:30:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * config.sub (iris4d): If $os is some kind of Irix, don't clobber it. + Make the default -irix4. + + * c-decl.c (declare_function_name): New arg printable_name. + Declare __PRINTABLE_NAME__. + (init_decl_processing, store_parm_decls): Pass the new arg. + +Tue May 19 09:50:01 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88k.c (output_options): Check profile_block_flag. + (m88k_layout_frame): Ditto. + (output_function_block_profiler): Save and restore the parameter + registers when calling __bb_init_func. + (output_block_profiler): Use @LPBX2. + + * m88k.h (CASE_VECTOR_INSNS): Choose a table of branch + instructions or addresses. The latter is a win for the m88110. + (ASM_OUTPUT_CASE_END): Nothing needed for table of addresses. + (ASM_OUTPUT_ADDR_VEC_ELT): Use "br" or "word". + * m88k.md (casesi, casesi_jump): Updated. + + * m88k.md (m88110 function units): Count in half cycles. + + * m88k.md (call insns): Clobber rather than use r1. + + * m88k.c (m88k_layout_frame): Fix m88k_fp_offset for zero case. + +Mon May 18 10:38:20 1992 Michael Meissner (meissner@osf.org) + + * iris.h (DEFAULT_SIGNED_CHAR): Define as 0 for compatibility with + IRIS defaults. Patch from kevin@tamri.com (Kevin Dalley). + + * xm-irix4.h (HAVE_VPRINTF): Define. + + * x-iris (CLIB): Add -lmalloc. + + * mips.md (fp_comp functional unit): Use adder functional unit + instead to more closely model MIPS behavior and make genattrtab + faster. + (transfer functional unit): Use memory functional unit instead. + (sqrt functional unit): Use divide functional unit instead. + (branch_zero): If CSE has folded a value which is constant, and + the jump would be omitted, do not eliminate putting a jump there. + This causes bad code to be generated when using gas, since the + previous instruction may be a load which had it's delay slot + filled by the 'branch', and the next instruction depends on the + value loaded. + + * mips-at.c (whole file): Delete, no longer needed. + + * mips-at.md (whole file): Delete, no longer needed. + + * Makefile.in (stamp-attrtab): Remove $(srcdir) in front of + $(PREMADE_ATTRTAB) so that MIPS builds can be done in + subdirectories. + + * t-decrose (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast + enough that we don't have to save a pre-made genattrtab.c. + (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a. + + * t-decstatn (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast + enough that we don't have to save a pre-made genattrtab.c. + (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a. + + * t-mips (PREMADE_ATTRTAB*): Don't define, genattrtab is now fast + enough that we don't have to save a pre-made genattrtab.c. + (LIBGCC1): Use libgcc1.null rule to turn off building libgcc1.a. + + * mips.h (ASM_OUTPUT_CONSTRUCTOR,ASM_OUTPUT_DESTRUCTOR): Define. + Patch from wilson@cygnus.com. + (DEFAULT_SIGNED_CHAR): Don't define if already defined. + +Mon May 18 01:34:38 1992 Kayvan Sylvan (kayvan@satyr.Sylvan.COM) + + * svr3.h (DO_GLOBAL_CTORS_BODY): Start at end, if STACK_GROWS_DOWNWARD. + +Mon May 18 01:34:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (protoize.o, unprotoize.o): + Do nothing, but depend on stamp-proto. + (stamp-proto): New target. Compile both protoize.o and unprotoize.o. + + * configure (ns32k-ns-genix): Commented out. + + * expmed.c (expand_mult): Use synth_mult even if not -O. + +Sun May 17 02:54:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (push_parm_decl): Pedantic warning if shadowing typedef. + + * c-typeck.c (constant_expression_warning): New function. + (store_init_value): Call that. + * tree.h (TREE_CONSTANT_OVERFLOW): New flag. + + * c-lex.c (yylex): "exceeds range" warning changed to pedwarn. + * c-decl.c (grokdeclarator): Likewise for duplicate keywords. + + * c-typeck.c (build_unary_op): For increment operators, + test TREE_READONLY in operand, not the data type. + + * unprotoize.c: New file. + * Makefile.in (unprotoize.o): Use that. + + * c-decl.c (init_decl_processing): Make global decl for __NAME__. + (store_parm_decls): Make local decl for __NAME__. + (declare_function_name): Subroutine for that. + * toplev.c (rest_of_decl_compilation): + Ignore initialized statics if DECL_IGNORED_P is set. + * c-lex.c (yylex): Convert invisible initialized char array vars + to string constants. + + * c-decl.c (get_parm_info): Change error message. + +Sat May 16 21:25:21 1992 Paul Eggert (eggert@twinsun.com) + + * fold-const.c (fold): Do not fold X-X to 0 if X is floating point. + + * cse.c (simplify_unary_operation): - -X simplifies to X even + with IEEE floating point. + +Sat May 16 14:14:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (clean): Delete *.dvi. + (distclean): Not here. + + * Makefile.in (install-man): Ignore errors in all commands. + + * combine.c (expand_compound_operation): + Don't simplify extending a const_int. + + * ns32k.h (NS32K_DISPLACEMENT_P): New macro. + (INDIRECTABLE_1_ADDRESS_P): Use that. + * ns32k.md (addsi3): Likewise. + +Sat May 16 07:47:11 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88k.h: Override SET_ASM_OP in svr4.h. + +Sat May 16 00:10:09 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-parse.y (parmlist_1): Add pedantic warning. + +Fri May 15 13:10:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * configure (i386-*-sco3.2v4*): New file. + * config.sub: For SCO, produce -sco3.2v2. For ISC, make just -isc. + + * dbxout.c (DBX_TYPE_DECL_STABS_CODE): Was DBX_DECL_STABS_CODE. + (DBX_OUTPUT_ENUM): Pass type as arg; make it do the whole job. + + * svr4.h (ASM_BYTE_OP): Delete the tab. + (SET_ASM_OP): New definition. + + * Makefile.in (gcc.xtar): Depend on doc. + (gcc.info, cpp.info): Duplicate rules deleted. + + * i386.c (handle_pragma): Use SET_ASM_OP, not DEF_ASM_OP. + +Fri May 15 12:38:18 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * final.c (final_scan_insn): Don't set new_block when within a + sequence. Set it after the last insn of the sequence. + +Fri May 15 07:23:09 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88k.c (m88k_handle_pragma_token, output_short_branch_defs): + Use SET_ASM_OP. + +Fri May 15 14:54:54 1992 Howard Chu (hyc@hanauma.jpl.nasa.gov) + + * fx2800.h: Replace Ron Guilmette's version with working version. + Tested on Concentrix 2.1 and 2.2. + + * i860.c (singlemove_string): Comparison of const0_rtx was in the + wrong place and would never be reached. Added check for negative + short int constants. + (output_size_for_block_move): call singlemove_string instead of + just emitting a mov. + (sfmode_constant_to_ulong): eliminate bogus "# error" directive. + + * t-fx2800, x-fx2800, xm-fx2800.h: New files. + * configure: Corresponding changes. + + * dbxout.c (DBX_MEMPARM_STABS_LETTER): New macro. + (dbxout_type): Check for DBX_OUTPUT_ENUM. + (dbxout_parms): Use DBX_MEMPARM_STABS_LETTER. + (dbxout_block): Check for DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC. + +Thu May 14 18:26:13 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparcv4.h (ASM_OUTPUT_ALIGN_JUMP_TABLE, ASM_OUTPUT_INTERNAL_LABEL, + ASM_GENERATE_INTERNAL_LABEL): Delete. + +Thu May 14 13:51:01 1992 Chip Salzenberg (chip@tct.com) + + * toplev.c (compile_file): Use IO_BUFFER_SIZE for finput. + * xm-i386sco.h, xm-rs6000.h (IO_BUFFER_SIZE): Defined. + +Thu May 14 15:21:24 1992 Roland McGrath (roland@albert.gnu.ai.mit.edu) + + * config.sub: Recognize "none" as a valid os. + +Thu May 14 13:37:52 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * function.c (assign_parms): Make new stack slot if entry stack + slot isn't aligned as much as the mode wants. + And don't make an eqv for entry_parm in that case. + * sparc.c (output_move_double): Assume memory always ok for ldd, std + except when explicit offset from stack. + + * c-decl.c (duplicate_decls): + Don't warn about qualifier mismatch for a function. + + * c-decl.c (grokdeclarator): Give explicit list of types to promote + to int (and sometimes to unsigned int) for parms. + + * Makefile.in (gcc.info, cpp.info): New targets. + (gcc.xtar): Depend on those. + + * expmed.c (extract_bit_field): Don't fail to compute + all of a DImode value. + + * dwarfout.c (SET_ASM_OP): Renamed from DEF_ASM_OP. + (ASM_OUTPUT_DEF): Use SET_ASM_OP. + * m88k.h (SET_ASM_OP): Renamed from DEF_ASM_OP. + * sparcv4.h (DEF_ASM_OP): No need for #undef. + + * cccp.c (main): Handle -iprefix option instead of GCC_EXEC_PREFIX. + * gcc.c (process_command): Set gcc_exec_prefix. + (do_spec_1): Handle %I. + (default_compilers): Use %I when running cpp. + + * protoize.c (savestring, savestring2): Change parm decls. + + * i860.h, we32k.h (CONST_COSTS): Add missing parm OUTER_CODE. + + * i386v4.h (DEF_ASM_OP, WEAK_ASM_OP): Deleted. + +Wed May 13 17:23:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * rtl.c (init_rtl): For byte_mode and word_mode, use first fit. + + * protoize.c (munge_compile_params): Increase size of temp_params. + +Wed May 13 13:30:40 1992 Chip Salzenberg (chip@tct.com) + + * i386sco4.h: New file. + +Tue May 12 23:23:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * expr.c (expand_increment): A subreg as op0 is not necessarily a copy. + Treat subregs like regs. + + * c-typeck.c (mark_addressable): Different messages for reg var + if reason is a use in a nested function. + +Tue May 12 14:28:22 1992 Tom Wood (wood at gen-rtx) + + * gcc.c (process_command): -save-temps uses a switches entry. + +Tue May 12 21:24:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * collect2.c (vfork): Declaration deleted. + +Tue May 12 06:16:49 1992 Niklas Hallqvist (niklas@appli.se) + + * tower-as.h: Added support for basic block profiling. + +Tue May 12 02:34:45 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * unx386.h (AS3_SHIFT_DOUBLE): New macro to print shift-double + opcodes. + + * i386gas.h (AS3_SHIFT_DOUBLE): Redefine for GAS shift-double rules. + (GAS_MNEMONICS): New macro to force use of opcodes for GAS. + * seq386gas.h (AS3_SHIFT_DOUBLE,GAS_MNEMONICS): Likewise. + + * i386.c (print_operand): Use GAS_MNEMONICS to choose long-long + opcode suffix. + + * i386.md (ashldi3,ashrdi3,lshrdi3): Split into separate + recognizers for constant and variable shifts. + Use AS3_SHIFT_DOUBLE for variable shifts. + (all shifts and rotates): Don't allow memory operands for shift + count. + (bit set/clear): Don't allow non-CONST_INT constants as SET_SRC. + (movstrsi,cmpstrsi,strlensi): Allow any address_operand within + a MEM:BLK, not just register_operand. + (movstrsi): Rewrite to avoid match_dup on the address_operand + above. + +Mon May 11 23:31:47 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu) + + Sun May 10 18:44:58 Per Bothner (bothner@cygnus.com) + + * dbxout.c (dbxout_type_methods): Only emit final semi-colon + of method list of we have emitted any methods. (The converse + of only emitting the operation name initially if needed.) + +Mon May 11 22:45:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c, reload1.c: Use reg_overlap_mentioned_for_reload_p and + refers_to_regno_for_reload_p instead of the normal versions. + * reload.c (reg_overlap_mentioned_for_reload_p): New function. + +Mon May 11 22:44:50 1992 Ron Guilmette (rfg at ncd.com) + + * integrate.c (expand_inline_function): Copy LABEL_NAMEs to new + copies of CODE_LABELs. + * tree.c (decl_function_context, decl_type_context): Renamed `fndecl' + formal parameter to `decl' throughout these functions. + +Mon May 11 18:43:45 1992 Paul Eggert (eggert@twinsun.com) + + * cccp.c: (deps_file): Deleted. + (main): Do not open deps_file until needed. + Check error status of dep_stream and stdout more carefully. + (timestamp): New function; avoids calling localtime unless needed. + (special_symbol, initialize_builtins): Use new timestamp function. + +Mon May 11 20:48:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * genix.h: Added #error, since this hasn't been updated. + +Mon May 11 14:33:32 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (is_pseudo_reg): New function. + (location_attribute): Use `is_pseudo_reg'. + (location_or_const_value_attribute): Use DECL_INCOMING_RTL as the + basis for forming the location decsriptor for any register parameter + which was optimized into non-exitance. + + * dwarfout.c (DWARF_VERSION): New (default) definition. + (ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FMT_BYTE, + ASM_OUTPUT_DWARF_TYPE_MODIFIER, ASM_OUTPUT_DWARF_DATA1): Output tab + before ASM_BYTE_OP. + (ASM_OUTPUT_DWARF_ADDR_CONST): Encapsulate all statements in a + `do { ... } while (0)' + (data_member_location_attribute, bit_offset_attribute): Both fixed + to use alignment of declared type of field as the "containing object" + size. + (location_or_const_value_attribute): Fixed to use DECL_INCOMING_RTL + only for parms passed in memory. + (output_decl): Don't output DIEs for externals if DWARF_VERSION == 1. + +Sun May 10 17:18:33 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * pa.h (CPP_PREDEFINES): Define for BSD here. + Remove conditional #ifdef hpux. + * pa-hpux.h, pa-ghpux.h (CPP_PREDEFINES): Define for hpux here. + * pa.h (CPP_SPEC): Define. + +Sun May 10 12:12:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (clean): Delete unprotoize.c. + + * stmt.c (expand_decl): Set MEM_IN_STRUCT_P right in dynamic case. + + * expr.c (get_inner_ref): Handle ARRAY_REF only if constant offset. + Handle non-PLUS_EXPR variable offset by assuming multiple of byte. + (expand_assignment, expand_expr): Fix gen_rtx added in last change. + +Sat May 9 02:39:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * expr.c (get_inner_reference): New output arg poffset. + (expand_assignment, expand_expr): Pass new arg. Handle nonzero offset. + (do_jump): Pass new arg but ignore result. + * fold-const.c (optimize_bit_field_compare, decode_field_reference): + Pass the new arg. Just return 0 if offset comes back nonzero. + + * reload.c (find_equiv_reg): Always test valueno >= 0. + + * c-aux-info.c: Don't include param.h or errno.h; don't declare errno. + + * rtl.c (read_rtx): Fix error in prev change. + + * gcc.c (process_command): Handle -print-libgcc-file-name. + (main): Handle print_libgcc_file_name by printing the name. + + * c-decl.c (finish_struct): Use TYPE_PRECISION to see whether + bitfield's type is narrower than int, for promoting to int. + + * cccp.c (struct definition, struct reflist): New field `rest_args'. + (struct arglist): Likewise. + (rest_extension, REST_EXTENSION_LENGTH): New var and macro. + (create_defnition): Recognize `...' and set flag in arglist. + (collect_expansion): Propagate flag to definition. + (macroexpand): Check flag when parsing arglist. + Special handling for ## next to a rest arg. + (macarg, macarg1): New arg rest_arg affects parsing in macarg1. + + * genattrtab.c: Misc speedups and size reductions. + (check_attr_test): Set RTX_UNCHANGING_P for tests of const attributes. + Also for symbol_ref and comparison ops. + (make_canonical): Likewise. Also check for degenerate cond values. + (operate_exp, simplify_cond, insert_right_side, evaluate_eq_attr): + Avoid copying in some cases. Detect opportunities to simplify. + (compute_alternative_mask): Avoid atoi in most cases. + (copy_rtx_unchanging): New function. + (evaluate_eq_attr, simplify_test_exp): Use that. + + * genattrtab.c (optimize_attrs): Work pattern by pattern, + doing all the work for each pattern before moving on. + Use temp_obstack during simplification, then copy the end result. + (temp_obstack): New obstack. + (clear_struct_flag): New subroutine. + (SIMPLIFY_TEST_EXP): Test MEM_IN_STRUCT_P. + (simplify_test_exp): Add code for debugging stop. + Avoid consing when possible; sometimes free storage. + Check MEM_IN_STRUCT_P. Add shortcuts. + + * genattrtab.c: Add simplification per alternative (not in use now). + (insn_n_alternatives): New array filled in by gen_insn. + (current_alternative_string): Nonzero means we are simplifying + for a particular alternative. Value is string for that numeral. + (SIMPLIFY_ALTERNATIVE): New macro simplifies eq_attr for alternative. + (evaluate_eq_attr, simplify_test_exp): Call SIMPLIFY_ALTERNATIVE. + (simplify_by_alternatives, count_sub_rtxs): New functions. + + * genattrtab.c (attrs): Now an array indexed by first char. + (MAX_ATTRS_INDEX): Length of above. + (find_attr, main): Use that new data structure. + + * genattrtab.c: Clarify use of hash-consing: + (hash_obstack): New obstack. + (attr_hash_add_rtx, attr_hash_add_string): Use hash_obstack. + (attr_rtx): Use hash_obstack if object is hashed. + Set RTX_INTEGRATED_P if object is hashed. + Don't hash object if subexpressions aren't hashed. + If making symbol_ref, hash the symbol name. + Uniquize const_int with value 0 or 1. + (attr_equal_p): New compare function; uses RTX_INTEGRATED_P. + (simplify_and_tree, simplify_or_tree, simplify_test_exp): Use that. + (attr_copy_rtx): New; copy all but hashed subexpressions. + (attr_eq): New function. + (attr_numeral): New function. + (check_attr_test): Use attr_eq. Hash symbol_ref and comparison ops. + (check_attr_value): Return modified value. Callers changed. + Hash symbol_ref. + (convert_set_attr_alternative): Use attr_eq and attr_numeral. + (convert_const_symbol_ref): Hash symbol_ref and eq. + (make_alternative_compare): Use attr_numeral. + (alternative_name): Fill in using hasher. + (copy_boolean): Hash a boolean expression if possible. + +Fri May 8 23:10:18 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (ashldi3,ashrdi3,lshrdi3): Fix typo in output template. + + * cse.c (cse_insn): Handle SUBREGs in CLOBBERs. + +Fri May 8 14:55:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD): New vars. + (stamp-attrtab): Use them, to use presupplied file if suitable. + * t-mips, t-decstatn, t-decrose (PREMADE_ATTRTAB, PREMADE_ATTRTAB_MD): + Defined. + * mips-at.md, mips-at.c: New files. + + * c-common.c (shorten_compare): Extend "always 0" warning + to fencepost case with le or ge. + + * cccp.c (pass_thru_directive): Don't output a newline. + (initialize_builtins): Add explicit newlines in sprintfs. + +Fri May 8 14:49:12 1992 Michael Meissner (meissner@osf.org) + + * mips.md (adddi3): Force -32768 into a register, since the + define_insn's won't accept that one value. + (all attributes): Where an attribute is set to the same value in all + alternatives, don't use the alternative notation, since it will make + genattrtab somewhat faster. + + * rtl.c (read_rtx): Use the current obstack to read in strings, + rather than repeated malloc/realloc's. + +Thu May 7 18:41:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * calls.c (expand_call): Never set must_preallocate if no stack args. + +Thu May 7 16:52:56 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * pa1*: New names for pa1.1*. + * configure: Corresponding changes. + + * m68k.md (u?mulsidi3): Don't permit immediates for operand 2. + (u?mulsidi3 recognizers): Split into immediate/nonimmediate cases. + * m68k.md ({zero,sign}_extend recognizers): Remove `n' from constraint + if predicate doesn't permit constants. + +Thu May 7 15:42:32 1992 Michael Collison (collison at osf.org) + + * i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to + avoid printing NaNs, and infinity. + (SUBTARGET_SWITCHES): Add OSF dependent switches for half-pic + support. + (MASK_HALF_PIC, TARGET_HALF_PIC): Likewise. + (CC1_SPEC): Map pic-none, pic-lib, pic-extern and pic-calls + to appropriate half-pic compiler switches. + (LINK_SPEC): If not -noshrlib or -pic-none, pass -warn_nopic. + Allow user to pass -noshrlib directly. + (OPTIMIZATION_OPTIONS): Customize levels for OSF. + (CONSTANT_ADDRESS_P: Add check to determine if we have a + half-pic constant. + (ENCODE_SECTION_INFO): Check to see if we have a half-pic + declaration. + (ASM_DECLARE_OBJECT_NAME): Output the label (definition) for a + object and check to see if it is half-pic. + (ASM_DECLARE_FUNCTION_NAME): Likewise but for functions. + +Thu May 7 15:56:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * reload.c (find_reloads): Remover unterm comment from recent changes. + + * genattrtab.c (compute_alternative_mask): Usually bypass atoi. + +Thu May 7 15:56:51 1992 Tom Wood (wood@dg-rtp.dg.com) + + * genattrtab.c (fill_attr): Do nothing for constant attribute. + (check_attr_test): Set unchanging flag for constant attribute. + (write_test_expr): Expand constant attributes here. + +Thu May 7 06:01:46 1992 Michael Meissner (meissner@osf.org) + + * decrose.h (CPP_SPEC): Fix typo in last change. + +Wed May 6 17:39:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * convex.h (HAVE_STRERROR, vfprintf, WTERMSIG, WEXITSTATUS): Deleted. + + * dbxout.c (dbxout_type): Don't repeat a cross-reference + merely because full is nonzero. + + * calls.c (expand_call): + Avoid rounding error testing copy_to_evaluate_size. + + * xm-mipsbsdn.h: Renamed from xm-mipsbsdnews.h. + * xm-sun386.h: Renamed from xm-xm-i386sun.h. + * configure: Corresponding changes. + +Wed May 6 23:11:55 1992 John F Carr (jfc at Achates.mit.edu) + + * cse.c (simplify_binary_operation): Support MIN and MAX for + SImode and narrower integers. + +Wed May 6 17:25:37 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 18. + (mips_cpu_attr): New define, which is the mips_cpu variable recast + to the attr_cpu enumeration for mips.md. + (HALF_PIC_NUMBER_PTRS, HALF_PIC_NUMBER_REFS): Add dummy + definitions if halfpic.h is not included. + + * mips.c (function_epilogue): Print half-pic stats if -mstats and + the stats are non-zero. + + * mips.md (cpu attribute): Just use symbol_ref "mips_cpu_attr" + instead of a four way if statement. + (movsi_internal, movhi, movqi): Use 'z' constraint for fpsw, not 's'. + + * halfpic.h (half_pic_number_ptrs): Add counter for the number of + pointers generated. + (half_pic_number_refs): Add counter for the number of references. + + * halfpic.c (half_pic_number_ptrs): Add counter for the number of + pointers generated. + (half_pic_number_refs): Add counter for the number of references. + (half_pic_ptrs): Update new counters. + + * decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x + where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY. Fix + undef'ing LANGUAGE_C for .S files. + (HALF_PIC_PREFIX): Define as '$Lp.'. + + * decstatn.h (CPP_SPEC): Define __LANGUAGE_x__ and __LANGUAGE_x + where x is C_PLUS_PLUS, OBJECTIVE_C, C, or ASSEMBLY. + + * mips-tfile.c (toplevel): Don't define anything in the standard + headers, such as open, etc. + (add_procedure): Delete unused variable orig_fdb. + + * mips-tdump.c (toplevel): Don't define anything in the standard + headers, such as open, etc. + + * collect2.c (main): Don't pass -f switches to GCC when + building the constructor table. + (write_c_file): Put extern in front of all external declarations. + (scan_prog_file, COFF varient): On ECOFF systems, check whether + the header pointer is non-NULL before using it. + + * cp-lex.c (store_pending_inline): Cast obstack_copy arg to char *. + (copy_lang_decl): Cast bcopy args to char *. + +Wed May 6 13:28:58 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * i960.h, i960.c (hard_regno_mode_ok): Use unsigned int not short. + + * Makefile.in (USER_H): Add va-i960.h. + +Wed May 6 07:31:54 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * explow.c (emit_stack_{save,restore}): New functions. + * expr.h: Declare them and enum save_level. + * calls.c (expand_call): Call emit_stack_save. + * expr.c (expand_builtin, case BUILT_IN_ALLOCA): Likewise. + * function.c (delete_handlers): Make test for insn that sets + a slot more general. + (expand_function_end): Call emit_stack_{save,restore}. + * stmt.c (declare_nonlocal_label): Call emit_stack_save. + (expand_goto_internal): Likewise. + (expand_goto): Likewise. + Copy slots so they don't get instantiated incorrectly; also + update use of virtual regs and frame pointer. + (expand_end_bindings): Call emit_stack_restore. + (expand_decl): Call emit_stack_save. + Set current_function_calls_alloca when allocating variable-sized + objects. + * rs6000.md ({save,restore}_stack_{block,function,nonlocal}): New. + +Tue May 5 13:17:29 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * configure (a29k-*-*, i960-*-*): New default configurations. + + * i960.c, i960.h, i960.md, xm-i960.h, va-i960.h: New files. + + * gstdarg.h, gvarargs.h: Include va-i960.h for i960. + + * calls.c (expand_call): Call REG_PARM_STACK_SPACE once and save + result. Add code to Use new macros MAYBE_REG_PARM_STACK_SPACE and + FINAL_REG_PARM_STACK_SPACE. + (store_one_arg): New parameter reg_parm_stack_space. + * function.c (assign_parms): Use MAYBE_REG_PARM_STACK_SPACE. + + * cse.c (NONZERO_BASE_PLUS_P): Don't consider arg pointer by itself + to be non-zero, because it isn't on the i960. + + * dbxout.c (dbxout_symbol): Use decl_function_context not + TREE_PERMANENT to identify function local statics. + + * integrate.c (copy_rtx_and_substitute): Also remap SYMBOL_REFs + that point to LABEL_REFs in the constant pool. + + * expr.c (expand_expr, PLUS case): Canonicalize MULT + when associating a constant. + +Tue May 5 12:56:29 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu) + + * pa.c (singlemove_string): Make it global. + * pa.md: Add high:DI and lo_sum:DI patterns. + +Tue May 5 12:04:56 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-typeck.c (build_array_ref): Require int index *after* promotion. + + * convex.h (REG_OK_FOR_{BASE,INDEX}_P): Virtual regs that will + turn into stack_pointer_rtx are not valid for indexing. + + * config.sub: NeXT is BSD, not SysV. + + * att386.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): + Undef before defining. + + * dbxout.c (dbxout_parms): Handle invisible reference parms. + +Tue May 5 22:48:54 1992 Niklas Hallqvist (niklas@appli.se) + + * Makefile.in (test-protoize-simple): + Change tmp-protoize* to tmp-proto*. + (mostlyclean): Remove that temporary file. + +Tue May 5 09:35:30 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.c (print_operand): Handle VOIDmode CONST_DOUBLE correctly. + + * reload.c (find_reloads): Recompute `code' before preferred_class. + +Mon May 4 00:23:29 1992 Ron Guilmette (rfg at ncd.com) + + * svr3.h (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): + Added definitions appropriate for most svr3 systems. + + * protoize.c (volatile): Define to nothing if !defined(__STDC__). + (setjmp, longjmp): Declared external if not defined as pp-macro. + (include_defaults): Fix type of `fname' field. + (compiler_file_name): Fixed type. + (savestring): Fixed type of `size' parameter. + (savestring2): New function. + (string_list_cons): Removed trailing blanks from parm declaration. + (find_file): Moved comments out of formal parm declarations area. + (munge_compile_params): Fixed type of `temp_parms'. + (gen_aux_info_file): Construct new filename using `savestring2'. + (find_extern_def): Suppress annoying warnings about missing + definitions for extern functions. + (edit_fn_declaration): Declare `clean_text_p' as `volatile' not as + `VOLATILE'. + (scan_for_missed_items): Make text of warning more obvious. + (edit_file): Make text of warning shorter. + + * libgcc2.c (__builtin_new): Changed arg type to `size_t'. Moved + nested declaration of malloc out to file-scope. + (__builtin_vec_new): Prototype preceeding function declarations. + (__builtin_vec_new, __builtin_vec_delete): Changed types of non-pointer + arguments and local variables to `size_t'. + (__clear_cache): Use type `void *' variables to store addresses. + (__do_global_dtors): Use unsigned type for counters. + (__main): Add explicit type to declaration of `initialized'. + +Mon May 4 16:16:56 1992 Tom Wood (wood at dg-rtp.dg.com) + + * dwarfout.c (dwarfout_file_scope_decl): Ignore a global register + variable. + +Mon May 4 08:28:18 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu) + + * pa-ghpux.h, pa-hpux.h: #define HAVE_ATEXIT. + + * genextract.c (print_path, main): Make the generated code use + `pat', not `insn', except for fatal_insn_not_found. Remove + insn_code variable from generated code, and switch directly on + INSN_CODE (insn). + + * hppa*: Rename to be unique in first 8 characters. + * configure: Corresponding changes. + +Mon May 4 00:20:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * reload.c (find_reloads): Compute preferred_class after + calling find_reloads_toplev or equivalent. + + * vax.h (PRINT_OPERAND): Add codes M, h, b. + + * ns32k.h (PREFERRED_RELOAD_CLASS): Change GEN_AND_MEM_REGS + to GENERAL_REGS. + + * config.sub: Recognize we32 and 3b*. + + * varasm.c (readonly_data_section): Move after data_section. + + * Makefile.in (print-rtl.o): Compile also for host machine. + (genattrtab): Link in host's print-rtl.o. + + * i386v4.h (ASM_OUTPUT_ALIGNED_LOCAL): Deleted. Dfn in svr4.h is good. + +Sun May 3 21:39:22 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.h (RTX_COSTS): Add missing break. + +Sun May 3 19:40:50 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + From law: + * sparc.md (fp unit attributes): Change result ready delays to + match how the FP unit really works. + + * sched.c (schedule_block): Don't move USE at the end of any block. + + From rfg: + * sparc.c (handle_pragma_token): Added new function (based on original + `handle_pragma_token' in i386.c). + * sparcv4.h (INIT_SECTION_PREAMBLE): Definition added. + (PUSHSECTION_FORMAT): Added leading tab. + (HANDLE_PRAGMA): Added definition to handle #pragma weak (based on + original definition in i386v4.h). + + From jfc: + * sched.c (insn_costs): New variable. + (insn_cost): Save cost of insn in insn_costs to avoid recomputation. + (sched_analyze_2): Handle UNSPEC_VOLATILE. + (schedule_insns): Init insn_costs. + + * sparc.c (output_move_double): Correctly check for constant + DFmode addresses. Assume that DFmode addresses with MEM_IN_STRUCT_P + set are always aligned. + +Sun May 3 16:52:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (PATH_SEPARATOR): New macro. From Alex Zatsman. + (process_command): Use it when scanning a path. + + * expr.c (expand_builtin): Cast icode to int for indexing. + + * xm-i386dos.h: New file. + * configure.bat: Use that file. + * gcc.c (EXECUTABLE_SUFFIX): Remove special default for MSDOS. + (putenv): Remove conditionals for MSDOS, since HAVE_PUTENV now defined. + + * c-typeck.c (build_array_ref): Promote after -Wchar-subscripts test. + + * c-decl.c (builtin_function): If traditional and name is user-visible, + set DECL_BUILT_IN_NONANSI. + + * cccp.c (PATH_SEPARATOR): Add default definition. + (main): Use that. + +Sun May 3 08:17:02 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * pyr.h (FRAME_POINTER_REGNUM): Work around pyr cpp bug. + + * xm-hppa.h (NO_SYS_SIGLIST): Define. + +Sat May 2 15:03:08 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * callc.c (emit_call_1): Restore inhibit_defer_pop after popping args. + +Thu Apr 30 20:00:00 1992 DJ Delorie (dj@ctron.com) + + * configure.bat: Complete rewrite to use Makefile.in. + * Makefile.dos: File deleted. + +Thu Apr 30 23:38:00 1992 Per Bothner (bothner@rtl.cygnus.com) + + * xcoffout.h (DBX_FINISH_SYMBOL): Use DECL_ASSEMBLER_NAME + instead of DECL_NAME when writing out a global symbol. + (Makes a big difference for C++ static class members.) + +Thu Apr 30 23:13:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * fold-const.c (fold, comparisons): Don't call omit_one_operand in + a case where the operand isn't really being omitted. + + * combine.c (distribute_notes, case REG_DEAD): Don't write a USE for + a partially-dead register if we already wrote one. + +Thu Apr 30 21:51:29 1992 Tom Wood (wood at dg-rtp.dg.com) + + * Makefile.in (enquire.o, install-common-headers): Make these work + when $(srcdir) is . + + * c-decl.c (init_decl_processing): Use void_ftype_any as the type + for _exit, exit and abort. + +Wed Apr 29 21:42:30 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * genattrtab.c (insn_name_ptr): Define so we could link with + debug_rtx. + + * genattrtab.c (check_attr_test, simplify_test_exp): Copy expression + before setting as unchanging. + (make_canonical): Set result as unchanging after calling + convert_const_symbol_ref. + (evaluate_eq_attr): When returning original expression, set it + as unchanging. + +Wed Apr 29 13:30:33 1992 Michael Meissner (meissner@osf.org) + + * halfpic.c (half_pic_ptr): Allocate space for the NULL byte. + +Wed Apr 29 06:28:35 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (src_coords_attribute): Don't #ifdef code based on + DWARF_DECL_COORDINATES. + (name_and_src_coords_attributes): Do #ifdef calls to `lookup_filename' + and `src_coords_attribute' based on DWARF_DECL_COORDINATES. Also, + pop out of .debug section temporarily while calling `lookup_filename'. + +Wed Apr 29 02:01:03 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu) + + * Complete another Cygnus <--> FSF merge. + + Tue Apr 28 19:24:52 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-init.c (do_friend): Handle overloaded and extern "C" + friends correctly. + + Mon Apr 27 21:04:40 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-search.c (build_vbase_vtables_init): Don't set + flag_this_is_variable to -2 when not doing a ctor. + + * cp-class.c (build_vbase_path): Don't unconditionally set + code to be a PLUS_EXPR. + + Mon Apr 27 14:14:08 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-decl.c (grokdeclarator): Allow contructors to be friends. + Cannot find anything prohibiting it. + + Mon Apr 27 13:26:20 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-init.c (do_friend): bullet proof handling of friends, + fixes problem introduced on Apr 26 18:24:35. + + Sun Apr 26 23:18:24 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-call.c (ideal_candidate): Allow one to overload static + member functions without dumping core. + + Sun Apr 26 18:44:57 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * cp-tree.c (break_out_calls): Call build1 instead of build for + trees with only one operand to avoid abort in build. + + Sun Apr 26 18:24:35 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-init.c (do_friend): Allow extern "C" functions to be + friends. + + Sat Apr 25 02:57:07 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-*.[chy]: Fix all pedantic warnings to be pedwarn. + + Sat Apr 25 01:46:50 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-tree.c (break_out_calls): Handle NULL_TREE properly. + + Fri Apr 24 23:49:39 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-type2.c (store_init_value): Provide an error message + about bad syntax instead of core dumping. + + Fri Apr 24 16:46:03 1992 Mike Stump (mrs at rtl.cygnus.com) + + Fri Apr 24 18:55:45 1992 Chip Salzenberg (chip@tct.com) + + * cp-parse.y (component_decl): Fix small problem to take us + back down to 14 reduce/reduce errors. + + Thu Apr 23 19:48:54 1992 Mike Stump (mrs at rtl.cygnus.com) + + Wed Apr 22 22:47:15 1992 Chip Salzenberg (chip@tct.com) + + * cp-type2.c (readonly_warning_or_error): Eliminate arbitrary + limit of 80 characters per warning message. + + Thu Apr 23 04:14:59 1992 Mike Stump (mrs at rtl.cygnus.com) + + * cp-decl.c (grokdeclarator): Handle const and volatile + member functions properly. + +Tue Apr 28 22:05:05 1992 Niklas Hallqvist (niklas@appli.se) + + * tower-as.h (svr3 support): Generic svr3.h included. + (SELECT_RTX_SECTION): m68k.h's version #undef'd in favour of svr3.h's. + (CPP_PREDEFINES): Overriding svr3.h version. + (STARTFILE_SPEC): Added crtbegin.o. + (ASM_OUTPUT_SOURCE_FILENAME): Added ugly section directives to get + rid of NCR assembler bug. + (ASM_OUTPUT_IDENT): #undef'd svr3.h version. + (NO_{DOLLAR,DOT}_IN_LABEL): Defined. + (ASM_LONG): Defined. + ({INIT,FINI,CONST}_SECTION_ASM_OP): Overrides svr3.h versions. + (CTOR_LIST_{BEGIN,END}): New macros. + (BSS_SECTION_ASM_OP): New macro. + (ASM_OUTPUT_CONSTRUCTOR): New macro. + (ASM_OUTPUT_LABELREF): Redefined svr3.h version. + + * tower.h (LIB_SPEC): Added -shlib support plus crtend.o. + + * configure (m68k-ncr-sysv): Defined xmake_file and tmake_file. + +Tue Apr 28 21:27:10 1992 Michael Meissner (meissner@osf.org) + + * mips.md (floatsidf2, floatsisf2): Fix typo in last change. + +Tue Apr 28 18:21:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * objc-actions.c: Include obstack.h, etc. + (util_obstack, util_firstobj): New obstack, and 1st object in it. + (init_objc): Init those two. + (encode_*): Rewrite to use util_obstack, Callers changed. + (handle_class_ref, handle_impent): New subroutines, broken out + from finish_objc so each can use alloca (instead of utlbuf). + (utlbuf): Variable deleted. + + * c-decl.c (init_decl_processing): Treat abort and exit as ANSI. + -traditional no longer affects ANSI builtins; use -fno-builtin. + + * configure: Insert assignment of INSTALL where old one was. + +Tue Apr 28 17:14:57 1992 John F Carr (jfc at Achates.mit.edu) + + * vax.md (cmpdf, cmpsf): Use tstf/tstd if second argument is zero. + (movsi, movhi, movqi): Patterns changed to reflect different + space/time tradeoffs for modern VAXes. + (movstricthi, movstrictqi): New patterns. + (extv, extzv): Use rotl/bicl sequence when possible. + +Tue Apr 28 10:00:25 1992 Michael Meissner (meissner@osf.org) + + * mips-tfile.c (read_line): Make read_line act like the assembler, + and use ';' to separate multiple logical lines. + + * mips.h (MIPS_VERSION): Set Meissner version # to 17. + (MASK_DEBUG_C): Swap meaning of -mdebugc. + (ADDITIONAL_REGISTER_NAMES): Use 'cc' for the floating point status + register, so user asm's can clobber it. Allow $fp for the frame + pointer in addition to fp and $30, and also $sp for the stack + pointer in addition to sp and $29. + + * mips.c (gen_int_relational): Emit faster sequence for NE. + (mips_asm_file_start): Don't call data_section for gcc2_compiled. + + * mips.md (branch define_delay): Specify all of the preconditions + correctly for branch likely (mips2) support. + (floatsidf2): Update dslots_load_total. Support getting the + integer value from memory as well as from an integer register. + Fix the length attribute. + (floatsisf2): Ditto. + (All set from condition code patterns): Swap meaning of -mdebugc, + so that if used, it means support all of the set condition code + patterns as if the machine can do them equally well. If not + -mdebugc, call gen_int_relational to generate an appropriate set + of INSNs. + + * decrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1. + * encrose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1. + * i386rose.h (ASM_IDENTIFY_GCC): Define as null on OSF/1. + + * decrose.h (CPP_SPEC): If .S files, add an explicit + -ULANGUAGE_C to mimic the OSF GCC 1.39 behavior. + +Mon Apr 27 16:44:30 1992 Tom Wood (wood at dg-rtp.dg.com) + + * dwarf.h (AT_... values): Correct typos present in version 1.0.1 + of the DWARF spec. The values should be unchanged. + + * dwarfout.c (data_member_location_attribute): Use INTEGER_CST. + + * dwarfout.c (data_member_location_attribute): Use TYPE_MODE. + (bit_offset_attribute): Ditto. + + * dwarfout.c (name_attribute): Add the tests back. + + * m88k.h (WEAK_ASM_OP): Override svr4.h. + +Mon Apr 27 15:48:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * limits.h: Use _LIMITS_H___, not _LIMITS_H_, to protect contents. + +Mon Apr 27 15:15:25 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Set Meissner version # to 16. + (delay_type enum): Add DELAY_FCMP for specifing the + c.{eq,lt,le}.{d,s} delay. + (fpsw_register_operand): New declaration. + (gen_int_relational): New declaration. + (pc_or_label_operand): New declaration. + (MASK_DEBUG_C): Use -mdebugc for new relational code. + (REG_CLASS_FROM_LETTER): Use 'z' for fpsw register, not 's' which + is already used. + (EXTRA_CC_MODES): Add CC_REV_FPmode to handle fp comparisons, + which need to be reversed (!=). + (EXTRA_CC_NAMES): Add CC_REV_FP. + (SELECT_CC_MODE): Use SImode for all integer comparisons, + CC_REV_FP for floating point != comparisons. + + * mips.c (internal_test enum): Move and rename the enumeration + used in gen_conditional to make the comparison RTL codes to + something that can be indexed out to top level. + (fpsw_register_operand): New function to return true if the + operand is the FP status register. + (pc_or_label_operand): New function to return true if the operand + is either a label_ref or the pc for if_then_else tests. + (mips_fill_delay_slot): Add support for DELAY_FCMP, the delay + after a floating point comparison is done and it can be tested. + (map_test_to_internal_test): New function to take a RTL code of a + comparison operator, and return the internal_test enumeration. + (gen_int_relational): New function to generate the appropriate + INSNS for comparing two integers for either branches, or the set + from condition code insns. + (gen_conditional_branch): Rewrite to not use the CISC condition + code register CC0, but instead generate the appropriate INSNs so + that the test can be scheduled independely of the branch. + (override_options): Use 'z' for the fpsw register, not 's'. Only + allow the fp comparison condition codes in the fpsw register. Do + not allow non float or int things in FP registers, even if + -mdebugh. Don't allow ints in the fpsw. + + * mips.md (various): Rewrite comparisons and branches so that we + do not use CC0, but instead put the comparison in a pseudo and + generate the appropriate branch instructions directly. This + eliminates calls to the various b macros provided by the + assembler. Change the type of integer comparisons from the + various CCxx modes used to SImode. Make fp != use CC_REV_FPmode. + (mode attribute): Add FPSW mode for floating compare. + (fp_comp): New functional unit for comparing fp values. + (divmodsi4): No longer use -mdebugc to turn off divmodsi4. + (divsi3): Ditto. + (modsi3): Ditto. + (udivmodsi4): No longer use -mdebugc to turn off udivmodsi4. + (udivsi3): Ditto. + (umodsi3): Ditto. + + * mips-gn5.h: Rename from mips-gnews5.h for MSDOS. + * mips-n5.h: Rename from mips-news5.h. + * xm-mipsbsdnews.h: Rename from xm-mipsnbsd.h. + + * configure (mips-sony*): Handle the above changes. + + * README-mips (whole file): Remove bogus patches, and update with + some common warnings about the MIPS. + +Mon Apr 27 12:41:21 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * unroll.c (find_splittable_givs): Don't split a giv combined with + a giv that was not reduced. + + * c-parse.y (primary): Clear the TREE_USED flag of a block tree + put in a BIND_EXPR. + * print-tree.c (print_node): Print the block operand of a BIND_EXPR. + + * flow.c (find_basic_blocks): Assume MEM source in jump insn makes + it an indirect jump. + + * collect2.c (strip_flag, strip_file_name): New variables. + (main): Don't pass -s to the first ld call. Pass it to the second + ld call, or else run strip. + + * Makefile.in (bootstrap): Only build C compiler for stage1. + + * sparc.h (GO_IF_LEGITIMATE_ADDRESS): Rewrite to accept SUBREGs. + + * combine.c (force_to_mode): Correctly form mask from BITS. + + * Makefile.in (bootstrap): Fix a typo (\n between b and ootstrap). + +Sun Apr 26 14:14:23 1992 Ron Guilmette (rfg at ncd.com) + + * getattr.c, genattrtab.c, gencodes.c, genconfig.c, genemit.c, + genextract.c, genflags.c, genoutput.c, genpeep.c, genrecog.c (main): + Move nested extern declaration of `read_rtx' out to file-scope. + +Sun Apr 26 21:41:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * Makefile.in (varasm.o): Includes defaults.h. + +Sun Apr 26 21:15:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * enquire.c (f_rep, f_define): Handle NO_LONG_DOUBLE_IO. + (f_define): Print defn of union __convert_long_double, just once, + with #ifndef to protect it. + (fake_f_define): New function. + +Sat Apr 25 15:04:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * stmt.c (expand_end_case): Test DI index against range before casesi. + Don't truncate before calling do_tablejump. + Use expand_expr to turn RANGE into rtl. + * expr.c (do_tablejump): Convert to Pmode after testing vs range. + + * stmt.c (expand_end_case): Delete test default_label != 0; always is. + + * configure (i386-ibm-aix): Set install_with_cp. + +Fri Apr 24 21:32:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xm-spcv4.h: Renamrd from xm-sparcv4.h. + * configure: Changed accordingly. + + * Makefile.in (unprotoize.o): Leave unprotoize.c around. + + * c-common.c (decl_attributes): Change warnings to errors. + +Fri Apr 24 11:17:53 1992 Ron Guilmette (rfg at ncd.com) + + * dwarf.h: Added copyleft. + Revised to use enumerators instead of #defines. + Updated to conform to version 1.0.1 of the DWARF spec. + Added implementation-defined fundamental type codes for GCC + mode-specific types. + + * dwarfout.c: Include defaults.h. + (getpwd): Declare as `extern'. + (BITFIELD_OFFSET_BITS, BITFIELD_OFFSET_UNITS, + BITFIELD_OFFSET_WORDS_IN_UNITS): Unnecessary definitions deleted. + (ASM_BYTE_OP, PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): Delete + leading tabs from definitions. + (PUSHSECTION_FORMAT): Add leading tab to definition. + (*_LABEL): Changed to all start with `.L' to internalize these + symbols for *all* svr4 assmeblers (including sparc). + (ASM_OUTPUT_POP_SECTION): Add leading tab. + (ASM_OUTPUT_DWARF_TAG, ASM_OUTPUT_DWARF_ATTRIBUTE, + ASM_OUTPUT_DWARF_STACK_OP, ASM_OUTPUT_DWARF_FUND_TYPE, + ASM_OUTPUT_DWARF_FMT_BYTE, ASM_OUTPUT_DWARF_TYPE_MODIFIER): Print + DWARF comments only if flag_verbose_asm set. + (ASM_OUTPUT_ASCII): Moved to defaults.h + (tag_name): Renamed `dwarf_tag_name' to avoid possible conflicts. + (dwarf_tag_name): Updated for version 1.0.1 DWARF spec. + (attribute_name): Renamed `dwarf_attr_name' to avert conflicts. + (dwarf_attr_name): Updated for version 1.0.1 DWARF spec. + (stack_op_name): Renamed `dwarf_stack_op_name' to avert conflicts. + (format_byte_name): Renamed `dwarf_fmt_byte_name' to avert conflicts. + (fundamental_type_name): Renamed `dwarf_fund_type_name' to avoid + possible conflicts. + (dwarf_fund_type_name): Added support for implementation-defined + GCC mode specific fundamental types codes (to support new `mode' + attribute). + (data_member_location_attribute): Rewritten to avoid major lossage + primarily for little-endian targets. + (location_or_const_value_attribute): Fixed comments and removed + spurious code. + (name_attribute): Removed test for NULL name (now done in + `name_and_src_coords_attributes'). + (byte_size_attribute): Fixed to get size from DECL_BIT_FIELD_TYPE + for bit-fields. + (bit_offset_attribute): Rewritten to avoid major lossage primarily + for little-endian targets. + (src_coords_attribute): GNU-specific extension added. + (name_and_src_coords_attributes): New function. + (output_entry_point_die, output_formal_parameter_die, + output_global_subroutine_die, output_global_variable_die, + output_inline_subroutine_die, output_label_die, + output_local_variable_die, output_member_die, + output_local_subroutine_die, output_typedef_die): Call + `name_and_src_coords_attributes' rather than `name_attribute' for + all potentially-named declarations. + (output_global_subroutine_die, output_inline_subroutine_die, + output_local_subroutine_die, dwarfout_file_scope_decl): Use + DECL_ASSEMBLER_NAME rather than DECL_NAME when referencing + assembly level names (e.g. in AT_low_pc attributes). + (output_type): Revised to produce DWARF info for C++ member functions + even for classes with no constructors & destructors. + + * flags.h (flag_verbose_asm): Option flag added. + * toplev.c (flag_verbose_asm): Option flag added. + + * defaults.h: New file. + * varasm.c: Include defaults.h. + (ASM_OUTPUT_ASCII): Deleted. + + * c-common.c (decl_attributes): Call `type_for_mode' rather than + `type_for_size'. Also, `break' after a matching mode is found. + + * 3b1.h (ASM_OUTPUT_ASCII): Tab before ASCII_DATA_ASM_OP. + * amix.h (ASM_OUTPUT_CASE_END): Tab before SET_ASM_OP. + (ASM_OUTPUT_ASCII) Tab before BYTE_ASM_OP. + * i860b.h (ASM_OUTPUT_ASCII): Tab before ASCII_DATA_ASM_OP. + * i860v3.h (ASM_OUTPUT_ASCII): Tab before BYTE_ASM_OP. + * sparcv4.h (*_ASM_OP): Delete the initial tabs. + + * assert.h: Modified to treat source line numbers as `unsigned'. + + * Makefile.in (test-protoize): New target. + + * svr4.h (WEAK_ASM_OP): Default svr4 definition added. + (ASM_DECLARE_FUNCTION_SIZE): Use `assemble_name' to output + generated internal label. + +Thu Apr 23 11:31:58 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * optabs.c (emit_libcall_block): Correct code which determines + whether it is safe to emit an insn setting a pseudo before the block. + +Thu Apr 23 18:13:08 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (sleu): Finish Apr 21 change. + +Thu Apr 23 14:15:05 1992 Michael Meissner (meissner@osf.org) + + * Makefile.in (enquire.o): Delete enquire.c from the current + directory before moving it in from the source directory, unless + the current directory is the same as the source directory. This + occurs if the user keeps GCC under source control, like RCS. + (install-common-headers): Ditto for byteorder.h. + +Thu Apr 23 12:39:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * amix.h (ASM_OUTPUT_CASE_END): Add missing \. + +Thu Apr 23 07:14:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (simplify_binary_operation, case MINUS): Don't do any + of the simplifications for IEEE floating-point. + +Wed Apr 22 23:20:59 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu) + + Tue Apr 21 02:21:42 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-method.c (build_overload_value): Handle function names as + constant expressions for template arguments. Also, make double + values work again as template arguments. + + Mon Apr 20 17:08:17 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-call.c (ideal_candidate): remove incorrect error message about + ``ambiguous request for function from distinct base classes of + type'' when base and parent are switched. + + Mon Apr 20 14:14:35 1992 Mike Stump (mrs@rtl.cygnus.com) + + * Makefile.in: Now expect 15 reduce/reduce conflicts, instead of 14. + + Mon Mar 16 14:02:09 1992 Chip Salzenberg (chip at tct.com) + + * cp-parse.y (maybe_attributes, attribute_list): clone + from c-parse.y. + cp-parse.y: call decl_attributes between start_decl and + finish_decl, and after grokfield. + + Mon Apr 20 09:21:00 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * cp-tree.h (break_out_calls): Declare. + + Mon Apr 20 08:29:16 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-tree.c (break_out_calls): New function. + (break_out_cleanups): Added comment. + + * cp-typeck.c (build_modify_expr): Call `break_out_calls' instead of + `copy_to_permanent'. + + Mon Apr 20 06:29:16 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-type2.c (my_friendly_abort): New function, please see + Rational there. + + * cp-*.[chy]: Change all calls from abort to my_friendly_abort. + + Mon Apr 20 05:45:08 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-cvt.c (build_up_reference): Fix a latent const problem. + + Mon Apr 20 03:08:12 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-decl.c (pop_from_top_level): Deleted duplicate code in C_C_D + restoration. + + * cp-call.c (build_method_call): Call `error_with_aggr_type' with + correct number of arguments. + + Sun Apr 19 18:39:25 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-class.c (finish_struct): Only provide a warning about + non-virtual destructors if the user asks for -Wall. + + Sun Apr 19 17:36:16 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-typeck.c (build_modify_expr): Make a deep copy of lhs, as + expr.c expects to be able to preexpand_calls on the conditional + parts without insuring that it would even be legal to do so. + + * cp-tree.c (make_deep_copy): Fix comment. + + Fri Apr 17 04:55:18 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-cvt.c (convert_pointer_to): Provide the user with a meaningful + error message instead of a core dump when dealing with bad syntax. + + * cp-typeck.c (build_binary_op): Make error message on undefined + operator call more readable. + + * cp-decl.c (grok_reference_init): Handle T& = const T& + error messages. + + Thu Apr 16 18:59:15 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-typeck.c (convert_arguments): Disable code that auto converted + functions and methods to pointers and left them that way without error. + + Thu Apr 16 17:35:13 1992 Mike Stump (mrs@rtl.cygnus.com) + + Sat Apr 4 22:28:23 1992 Gerald Baumgartner (gb at cs.purdue.edu) + + * cp-decl.c (finish_decl): Call `abstract_virtuals_error' + when the return type of a method is an abstract class. + + * cp-type2.c (abstract_virtuals_error): Print error message + for an invalid method declaration. + + Thu Apr 16 16:18:35 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-decl2.c (lang_decode_option): Handle import by ignoring it. + +Wed Apr 22 19:46:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * objc-actions.c (synth_id_with_class_suffix, finish_class): + Don't use utlbuf; alloca a buffer. + (forward_declare_categories): Use build_decl directly since + create_builtin_decl wants a string, not an id. + + * Makefile.in (STAGESTUFF): Add USE_COLLECT2. + + * dbxout.c (dbxout_symbol): Clean up last change. + +Wed Apr 22 17:06:16 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.c (gpc_reg_operand): Renamed from gen_reg_operand. + * rs6000.h (PREDICATE_CODES): Likewise. + * rs6000.md: Likewise. + + * a29k.c (gpc_reg*_operand): Renamed from gen_reg*_operand. + * a29k.h (PREDICATE_CODES): Likewise. + * a29k.md: Likewise. + + * romp.c (output_fpop): Extend workaround for RT FP codegen bug. + +Wed Apr 22 06:20:09 1992 Tom Wood (wood at dg-rtp.dg.com) + + * fold-const.c (fold, comparison cases): Use omit_one_operand to + yield a simplified result to avoid loosing a side-effect. + +Tue Apr 21 13:19:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * dbxout.c (dbxout_symbol): For TYPE_DECL, always make requisite tag + one way or another even if !have_used_extensions. + + * configure: Specifically detect unrecognized options. + +Tue Apr 21 08:16:05 1992 Tom Wood (wood at dg-rtp.dg.com) + + * c-convert.c (convert_to_integer): Don't distribute a truncation + down past an ABS_EXPR. + + * m88k.md (bxx insn): Choose bb0 over bb1 if the branch is likely + to fall-through (m88110 optimization). + * m88k.c (mostly_false_jump): New function. + + * m88k.h (INIT_SECTION_ASM_OP): Define only for svr3 and svr4 targets. + + * m88k.c (output_call): Use the insn address of the sequence. + * m88k.h (ADJUST_INSN_LENGTH): Account for space added at barriers + due to ASM_OUTPUT_ALIGN_CODE. + +Tue Apr 21 07:30:46 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * jump.c (mark_jump_label, case MEM): New case to look for label + in a constant-pool entry. + +Tue Apr 21 00:41:39 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * reg-stack.c (compare_for_stack_reg): link cc0 user and setter + before separating them. + + * reorg.c (link_cc0_insns): Move function from here - + * emit-rtl.c (link_cc0_insns): to here. + + * i386.h (TARGET_IEEE_FP): New macro. + (TARGET_SWITCHES): Add switches for ieee floating point support. + (EXTRA_CC_MODES,EXTRA_CC_NAMES): Add CCFPEQmode. + (SELECT_CC_MODE): Select CCFPEQmode for FP equality comparisons. + (i386_compare_gen*,i386_compare_op*): Declare new variables to + generate comparisons from within branch and sCC insns. + (RTX_COSTS): Fix argument name typo. + + * i386.c (i386_compare_gen*,i386_compare_op*): Define variables here. + (notice_update_cc): Notice if a comparison involves FP values. + (output_float_compare): Add support for "unordered" compare. + Use output_fp_cc0_set to set flags after a compare. + (output_fp_cc0_set): New function. + + * i386.md (tstM,cmpM): New expanders. Don't generate RTL; just + save data for when cc0 user is generated. + (bCOND,sCOND): New expanders. Generate the compare/test as well + as the bCOND or sCOND. + + (tstsf,tstdf): Disable patterns if generating ieee compliant code. + (tstsf,tstdf,cmpsf,cmpdf): Use output_fp_cc0_set to set flags + after test. + Don't change cc_status here: that won't work with REG_CC_SETTER + and REG_CC_USER. + + (all COMPAREs): Use CCmode as mode of a COMPARE. + +Mon Apr 20 11:17:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * limits.h (LONG_LONG_MIN, LONG_LONG_MAX, ULONG_LONG_MAX): New macros. + + * configure: Clear out_file before the big case, like tm_file, etc. + + * expr.c (expand_expr, case LABEL_DECL): Handle label from outer fcn. + +Mon Apr 20 10:17:49 1992 Tom Wood (wood at dg-rtp.dg.com) + + * x-m88kluna: Delete. + * x-m88kv3: Renamed from x-m88k. + * configure (m88k-*): Rearrange. + +Mon Apr 20 21:29:00 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * config-gcc.com: Generate libgcc2.list from Makefile.in + * make-l2.com: Use libgcc2.list; supply gcc version number to gas. + + * config-gacc.com: Generate linker options files from Makefile.in + + * make-cc1.com: Use said linker options files instead of static + list of files. + * make-cc1.com: Handle errors better. + +Mon Apr 20 10:05:34 1992 Michael Meissner (meissner@osf.org) + + * mips.md (divmodsi4, udivmodsi4): Remove unneeded PARALLEL. Patch + from Richard Kenner. + +Mon Apr 20 08:38:26 1992 Tom Wood (wood at dg-rtp.dg.com) + + * expr.c (expand_expr, case CONSTRUCTOR): For static CONSTRUCTOR, + require a valid memory address only if modifier does. + +Sun Apr 19 15:09:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * genemit.c (gen_insn): Mode of SCRATCH must match in clobber lists. + + * sched.c (add_dependence, remove_dependence): Moved from rtl.c. + * rtl.c: Functions deleted here. + + * Make installation of collect2 automatic. + * configure: Define use_collect2 for all BSD and Mach and HP/UX + configurations, plus the ones below, and a few others. + * t-decrose, t-decstatn, t-encrose, t-i386rose, t-mips, t-next: + (EXTRA_PROGRAMS): Deleted. + * t-apollo68, t-convex, t-dpx2, t-rs6000: Files deleted. + + * libgcc1.c (nongcc_SI_type): Renamed from SItype. + + * recog.c (constrain_operands): Check only earlyclobbers that are REGs. + + * m68k.h (TRANSFER_FROM_TRAMPOLINE): Delete comma in globalize cmd. + + * m68k.md (movhi): Don't use switch_table_difference_label_flag + except in ports that need it. (Again!) + +Sun Apr 19 14:06:59 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sched.c (sched_analyze_2): Add missing comment close. + + * rtl.c (add_dependence): Make next point to last insn with + SCHED_GROUP_P set, not after the last insn with the bit set. + +Sun Apr 19 06:06:03 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * genextract.c (walk_rtx): Fix typo in vector case. + + * hppa.h (RTX_COSTS): Add new argument OUTER_CODE. + + * Makefile.in (compare, compare3): Change $file to $$file. + + * romp.h (CONST_CONSTS): Clean up formatting of definition. + + * rs6000.md (extzv): Correct when we can use andi[lu]. + +Sat Apr 18 21:56:20 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.md (ashldi3): Compact operand numbers. + + From Jeffrey Law: + * sparc.md (ldd, std peepholes): New peepholes to recognize cases + where two ld (or st) insns could be replaced by a single ldd or std. + * sparc.c (registers_ok_for_ldd): New function. Return true if the + given register pair is suitable for an ldd or std instruction. + (memory_ok_for_ldd): Likewise, but for memory locations. + +Sat Apr 18 17:22:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-lex.c (skip_white_space): Warn only for first carriage return. + +Sat Apr 18 10:08:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * genemit.c (struct clobber_ent): New structure. + (gen_insn): See if the clobbers required to be added were seen + for another insn. + (output_add_clobbers): Write case statements for all insn codes + using a particular clobber pattern. + + * cse.c (mention_regs): Always retun a value. + + * rs6000.md (call): Compact operand numbers. + + * genextract.c: Now includes insn-config.h. + (struct extraction, struct code_ptr): New structures. + (gen_insn): Record what extractions are needed and compare with + those for previous insns. + (mark_operand_seen): Function deleted. + (walk_rtx): Use strings as path and just record; don't write. + (print_path): Use strings for paths. + (copystr): New function. + (main): Write out all extractions here. + * Makefile.in (genextract.o): Includes insn-config.h. + + * hppa*.h: Change references from hp800* files to hppa*. + + * rs6000.md (lshrdi3, ashrdi3): Fix typos. + + * rs6000.md (extzv): Correctly install last change. + +Sat Apr 18 12:37:54 1992 John F Carr (jfc at Achates.mit.edu) + + * expmed.c (store_bit_field): Storing into a bitfield in memory + which is the size of a standard machine mode can be done with a + simple move instruction. + + * c-lex.c (skip_white_space): carriage return (^M) is whitespace, + but warn about ^M if pedantic. + + * cse.c (rtx_cost): New argument OUTER_CODE, the rtx code of the + expression in which the rtx argument is contained. + * expmed.c (init_expmed): Pass second argument to rtx_cost. + * optabs.c (expand_binop, expand_twoval_binop, emit_cmp_insn): Likewise. + * loop.c (init_loop, general_induction_var): Likewise. + * vax.c (vax_rtx_cost, vax_address_cost): New functions. + * vax.h (CONST_COSTS, RTX_COSTS, ADDRESS_COST): Call these + functions. + * romp.h (CONST_COSTS): Give constants different costs depending + on whether they can fit into a 2 byte instruction, a 4 byte + instruction, or would require insn splitting to use. + * i386.h (CONST_COSTS, RTX_COSTS): Move PLUS case to RTX_COSTS. + * m68k.h (CONST_COSTS): Constant in range -254..-136 is only cheap + in a move insn, not as an operand to some other instruction. + * config/*.h: Update machine descriptions to define CONST_COSTS + and RTX_COSTS macros with 3 arguments. + +Fri Apr 17 11:14:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c (safe_from_earlyclobber): New function. + * recog.c (constrain_operands): Verify that earlyclobber + operands don't conflict with inputs. + + * combine.c (subst, case SUBREG): Don't fold paradoxical SUBREGs + of constants. + + * cse.c (fold_rtx, case SUBREG): Extend previous change so it + folds widened operations with one operand a constant. + + * expr.c (safe_from_p, case BIND_EXPR): Only look at operand 1. + + * cse.c (fold_rtx, case SUBREG): Don't fold paradoxical SUBREGs. + Instead, when we have a narrowing SUBREG, see if it is narrowing + the result of a widened arithmetic operation. + +Fri Apr 17 09:16:56 1992 Charles Hannum (mycroft@hal.gnu.ai.mit.edu) + + * Makefile.in (install-dir): Don't use '-' prefix on continuation line. + +Fri Apr 17 06:52:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * toplev.c (rest_of_compilation): + If -Wreturn-type, don't stop before jump.c. + + * calls.c (expand_call): Delete unused arg MODIFIER. + * expr.c: Arg deleted from calls (those which had it). + + * ns32k.c (print_operand_address): Handle UTEK_ASM. + (print_operand): Handle NO_IMMEDIATE_PREFIX_IF_SYMBOLIC. + Abort if must get fp number as bits but cannot do so. + * ns32k.h (TRAMPOLINE_TEMPLATE): Use PUT_ABSOLUTE_PREFIX. + * ns32k.md (call, call_value): Handle ENCORE_ASM. + * encore.h (PRINT_OPERAND): Just call print_operand. + (CALL_MEMREF_IMPLICIT): Defined. + + * config.sub: encore implies bsd, not sysv. + + * stmt.c (expand_expr_stmt): Handle reference of volatile BLKmode. + + * vax.md (indirect_jump): Delete the extra condition. + + * configure (...-hpux): Set install_with_cp. + + * jump.c (delete_insn): After a label, go past other deleted labels. + + * m68k.md (movhi): Don't use switch_table_difference_label_flag + except in ports that need it. + + * stmt.c (warn_if_unused_value): Don't warn for constant after comma. + Don't warn for volatile decl or ref. + + * c-typeck.c (build_unary_op): ++ on void * warns if -Wpointer-arith. + +Thu Apr 16 22:56:20 1992 Michael Meissner (meissner@osf.org) + + * mips.h (enum block_move_type): New enumeration for classing what + type of block move is used when splitting the last store off. + (RTX_COSTS): Don't use -mdebugd to set multiply costs to 2. + + * mips.c (output_movstrsi): Take an additional argument to determine + whether this block move is a normal block move, or one that has been + split. For the split block moves, there are two parts -- the first + part is everything but the last store, and the second part is the + last store, suitable to fill a delay slot. + + * mips.md (all define_splits): Don't do any define_split if + -mdebugd. + (movstrsi_internal*): Add support to split block moves into two + pieces, one that is everything except for the last store, and the + second piece, which is the last store that can fill a delay slot. + +Thu Apr 16 21:52:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * x-rs6k-mach: New file. + * configure (rs6000-*-mach): Use it. + +Thu Apr 16 21:52:17 1992 John F Carr (jfc at Achates.mit.edu) + + * cse.c (cse_end_of_basic_block): Fix test for infinite loop. + +Thu Apr 16 21:50:38 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * rs6000.h (bss_section): Delete. No longer needed. + + * a29k.c (print_operand, case 'F'): Always emit insn to fill empty + delay slot. + +Thu Apr 16 18:45:41 1992 Tom Wood (wood at dg-rtp.dg.com) + + * cse.c (simplify_ternary_operation): Correctly sign-extend result. + +Thu Apr 16 18:43:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * objc-actions.c: Rename OBJC_NONUNIQUE_SELECTORS to + OBJC_SELECTORS_WITHOUT_LABELS. + + * c-decl.c (duplicate_decls): Allow extern vs extern inline. + + * c-parse.y (parmlist_or_identifiers_1): Use parmlist_1. + * c-decl.c (get_parm_info): Treat forward parm decls like nonparm + decls. + + * m68k.md (movhi before dispatch table): + Set switch_table_difference_label_flag. + * 3b1.h, amix.h, m68ksgs.h (ASM_OUTPUT_CASE_END): Test that flag. + Declare the flag. + + * m68k.c (output_function_prologue, print_operand_address): Add + HPUX_ASM conds. + + * mips.c (output_block_move): If we get a case we can't handle, + don't print anything--just abort, because that implies a bug. + + * c-decl.c (c_decode_option): -ansi sets flag_no_nonansi_builtin, + not flag_no_builtin. + (init_decl_processing): Check flag_no_nonansi_builtin for alloca, etc. + + * dbxout.c (dbxout_symbol): Make pointer, not reference, + when variable's address is in a register. + + * c-decl.c (c_decode_option): Ignore -Wimport, -Wno-import. + +Thu Apr 16 16:17:13 1992 Mike Stump (mrs@mole.gnu.ai.mit.edu) + + * merge in Cygnus changes... + + Thu Apr 16 12:23:06 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-call.c (build_method_call): propagate const around to avoid an + incorrect error message. This type of fix may now be necessary in + other parts of the compiler. This solves all but one known const + problems. + + Wed Apr 15 14:18:27 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-type2.c (readonly_warning_or_error): because the compiler + is now warning about const alot more, for a release or two, + lets just warn about const problems, just in case it is a compiler + problem and not a user problem. + + * cp-cvt.c (build_up_reference): Lets get tougher on const problems + on COMPONENT_REFs. + + Wed Apr 15 11:59:42 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * cp-decl.c (finish_function): Check for any debug info enabled, + not just DBX_DEBUG. + + Wed Apr 15 10:03:36 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-cvt.c (build_up_reference): Propagate const and volatile + down into the type so error checking works better. + + Tue Apr 14 11:44:32 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-decl.c (start_decl): Shouldn't use flag_this_is_variable + to make what this points to const, but I don't have the heart + to do it right now. + + * cp-decl2.c (grokclassfn): Don't use flag_this_is_variable + to make what this points to const. + + * cp-typeck.c (convert_arguments): Let build_up_reference handle + const errors correctly. Removes April 10 change. + + * cp-cvt.c (build_up_reference): Don't let people subvert const + when passing const argements to non-const functions. + + * cp-tree.c (build_cplus_method_type): Don't use + flag_this_is_variable to make what this points to const. + + From Wed Apr 1 12:00:59 1992 Chip Salzenberg (chip at tct.com) + + * cp-class.c (import_export_vtable): New function to set + TREE_PUBLIC and/or TREE_EXTERNAL on vtables. + (build_vtable): Use it. + (prepare_fresh_vtable): Use it. + + * cp-decl.c (finish_decl): Don't assume that TREE_PUBLIC means + "exported"; it can mean "imported". Decide with TREE_EXTERNAL. + (finish_function): Ditto. + * cp-decl2.c (write_vtable_entries): Ditto. + (finish_vtable_typedecl): Ditto. + (finish_vtable_vardecl): Ditto. + (finish_file): Ditto. + + * cp-lex.c (set_vardecl_interface_info): Public objects always + have TREE_PUBLIC, whether exported or imported. + * cp-pt.c (instantiate_member_templates): Ditto. + + + Fri Apr 10 21:44:15 1992 Per Bothner (bothner@cygnus.com) + + * cp-method.c (build_overload_name): Mangle 'signed char' + as 'Sc' (i.e. differently from 'char'!). + + Fri Apr 10 17:38:04 1992 Mike Stump (mrs@cygnus.com) + + * cp-typeck.c (convert_arguments): don't allow people to wipe const. + + Thu Apr 9 18:28:36 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-tree.h: Add entry for $vb and $vf so that NO_DOLLAR_IN_LABEL + works. + * cp-class.c (finish_struct): Use the new macros from cp-tree.h. + * cp-tree.c (layout_basetypes): Use the new macros from cp-tree.h. + + Thu Apr 9 02:11:01 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-typeck.c (build_function_call_real): Merge in a change made to + the C front end into the C++ front end to handle volatile functions. + + Thu Apr 9 03:45:03 1992 Mark Eichin (eichin at cygnus.com) + + * cp-class.c (finish_struct): sanity check before calling popclass. + If we're already hosed due to previous parse errors (specifically, + we're not inside a class anymore) just report an error rather than + crashing in popclass (if there wasn't a previous parse error, as the + message suggests, we should get reports; this closes gcc/p0000525.) + + Wed Apr 8 08:56:49 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-decl.c (grokdeclarator): Fix an eichin bug introduced seconds + ago. Shame, he didn't put: + + Workaround for p869: + 1) grokdeclarator (around cp-decl.c:7462) is using popclass(1) + uses popclass(1) to close the pushclass(3) done by + build_push_scope; however, it's coming around another time and + popping all the way out, which leads to the core dump when + do_friend is called from global scope (do_friend uses + current_class_name to figure out whose friendship it is + bestowing.) Current workaround: if (friendp) don't allow + popping all the way out. We still need to figure out how to + make sure it only gets called the *right* time; we also need + to figure out if the correct scope is being used, but that's a + matter of regression testing. + + into a ChangeLog entry. + + Wed Apr 8 01:10:44 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-decl.c: Cleanup binding_levels_sane related code. Deleted + argument, and changed to void type. Removed extraneous asserts. + + * cp-parse.y: Add fourth parameter to all finish_decl calls. + Defaulted the guess to 0. + * cp-decl.c: consistently use #if on all PARANOIDs. + +Wed Apr 15 14:00:14 1992 Michael Meissner (meissner@osf.org) + + * mips.md (movstrsi_internal): Add '&' constraint on clobbers. + + * mips.c (output_movstrsi): If one of our temporary registers is + used as an address register, don't use it and emit a warning. This + is a temporary measure. + +Wed Apr 15 09:04:22 1992 Richard M. Stallman (rms at lyssenko) + + * xm-ns32k.h (memcpy, memcmp, memset): New macro definitions. + * rtl.c (gcc_memset): New function. + +Wed Apr 15 09:03:28 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.md (umulsidi3): Define for m88110. + (unit attribute): Define. + + * x-m88kdgux (INSTALL_HEADERS): Define as empty. + +Tue Apr 14 13:28:11 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * c-lex.c (yylex): When warn_traditional, don't abort for harmless + type differences. Instead warn of possible problems on other systems. + + * rtl.c (add_dependence): Skip notes when HAVE_cc0. + * sched.c (sched_analyze_2): Likewise. + + * sparc.md (movdf-1): Delete special case for moving 0.0 to integer + registers; it resulted in poor code. + (fix_truncdfsi2+1): Add patterns to optimize float->fix and + float->fix->float conversions. + * sparc.c (output_move_double): Clean up ldd/std code. Don't emit + ldd/std for obviously unaligned address even when TARGET_HOPE_ALIGN. + (output_fp_move_double): Call output_move_double for MEM cases. + It is not safe to assume double reg addresses are always aligned. + +Tue Apr 14 07:55:47 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * *hp800*, *hp700*: Rename to *hppa* and *hppa1.1*, respectively. + * config.sub: Recognize PA model numbers for PA 1.0 and 1.1. + Disable "hppa" with no model number. + * configure: Update for new PA file names and basic_machine names. + * README-PA-HPUX: New name for README-PA-RISC, with some corrections. + +Tue Apr 14 05:46:37 1992 Tom Wood (wood at dg-rtp.dg.com) + + * Makefile.in ("if" and "["): Romp, 4.3 BSD, and Ultirx systems + fail when the condition is false. Change troublesome instances to + either use "case" or use '-' as a prefix to the compilation rule. + +Mon Apr 13 18:20:56 1992 Mike Stump (mrs@cygnus.com) + + * dwarfout.c: Add default definition for ASM_OUTPUT_ASCII + as that is what varasm.c does now. This really maybe should go + into a file like tree.h or some machine independant file, for + maintainability. + +Mon Apr 13 18:16:32 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sun3.h, sparc.h (LINK_SPEC): Change nostdlib to !nostdlib. + +Mon Apr 13 07:17:36 1992 John F Carr (jfc at Achates.mit.edu) + + * rs6000.md (extzv): Generate andi[ul] when practical. + +Mon Apr 13 07:17:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (rtx_cost, case SUBREG): If modes can't be tied, make + expensive. + (cse_insn): Make extra entries when DEST is a multi-word SUBREG + as long as it is the same number of words as its inner REG. + + * emit-rtl.c (gen_lowpart_common): Handle casting integer to + float and vice versa. + + * emit-rtl.c (gen_lowpart_common): Rework code to truncate a + constant so we don't convert negative values into positive values; + use same code as in simplify_binary_operation in cse. + +Mon Apr 13 07:16:56 1992 Richard M. Stallman (rms at mole.gnu.ai.mit.edu) + + * cccp.c (handle_directive): When find quote during copying, + give bp as limit arg in skip_quoted_string. + When find \ while copying, copy next char without special handling. + +Mon Apr 13 06:57:18 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88kv3.h (CTOR_LIST_BEGIN): Avoid complex #if. + + * tree.h (saved_insns): Make this a union holding an rtx or an int. + (DECL_FIELD_SIZE): New macro for overloaded uses of DECL_FRAME_SIZE. + * c-decl.c (finish_struct): Use DECL_FIELD_SIZE for bitfields. + * cp-class.c (finish_struct): Ditto. + * objc-actions.c (objc_copy_list, encode_field_decl): Ditto. + * stor-layout.c (layout_decl): Ditto. + +Sun Apr 12 17:46:30 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * expr.c (expand_builtin, case SQRT): Don't defer popping args on + function calls, as the call might be deleted. + + * i386.c (print_operand): Delete references to unused codes. + Abort if an unrecognized code is seen. + + * i386.md (bit opcode recognizers): Accept starting bit numbers + that are constants but not CONST_INT. + (QI/HI register bit test): Delete. + (SImode bit test): Don't accept CONST_INT starting bit number. + +Sun Apr 12 17:05:25 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add "cc" as alias for cr0. + + * cse.c (equiv_constant): See if a MEM is foldable or has a + constant equivalent. + + * expr.c (store_constructor): If building a static constructor + into a register, start out by zeroing the register so we can + constant-fold the constructor to a single constant. + (expand_expr, case CONSTRUCTOR): Don't write constant objects + into memory if the target is a register. + (expand_expr, case *_REF): Simplify getting field or array + entry from a CONSTRUCTOR. + Don't use value of const array unless -O. + +Sun Apr 12 14:15:33 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * Makefile.in (compare, compare3): New targets. + (mostlyclean): Delete temporary files made by those targets. + + * stmt.c (expand_asm_operands): Ignore `cc' as clobbered reg if name + not known. + * varasm.c (decode_reg_name): Ret -3 if `cc' not recognized. + (make_decl_rtl): Understand -3 as value. + + * configure (i386-sequent-bsd*): Use collect2. + +Sun Apr 12 13:28:00 1992 Niklas Hallqvist (niklas@appli.se) + + * configure: Correctly interpret use_collect2. + +Sun Apr 12 10:34:58 1992 Tom Wood (wood at dg-rtp.dg.com) + + * c-typeck.c (digest_init): Use INIT to pass to convert_for_assignment + for a raw constructor. + + * fold-const.c (fold, case COND_EXPR): Get the type right when + the test is folded away. + + * loop.c (strength_reduce): Correct off-by-one error in INSN_LUID + safety check. + + * stor-layout (layout_record, layout_union): When limiting the + effect of PCC_BITFIELD_TYPE_MATTERS to bitfields, use + DECL_BIT_FIELD_TYPE to determine if it was a bitfield. + +Sat Apr 11 19:54:00 1992 Per Bothner (bothner@wombat.gnu.ai.mit.edu) + + * config.sub: Don't "standardize" an os of newsos* to bsd + (it breaks gdb/readline/configure.in, which checks for newsos*). + +Sat Apr 11 16:32:21 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * Makefile.in: Remove spaces after reg-stack.o deps. + +Sat Apr 11 16:32:15 1992 Michael Meissner (meissner@osf.org) + + * c-decl.c (init_decl_processing): Make -fno-builtin supress all + builtin functions in the user's name space like memcpy, strlen, + etc. + +Sat Apr 11 14:00:53 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h (LEGITIMIZE_ADDRESS): Add missing force_reg call. + Jump to WIN when we do something. + + * rs6000.c (non_{short,add,logical,and}_cint_operand): New functions. + * rs6000.h (PREDICATE_CODES): Add these predicates. + * rs6000.md (addsi3, andsi3, iorsi3, xorsi3, cmpsi3): Remove + define_expands; instead, add define_split for long constants. + + * combine.c (try_combine): Try to split the pattern using + split_insns before trying find_split_point. + (find_split_point, case MEM): Try to split an invalid address that + is a PLUS with a CONST_INT. + + * combine.c (try_combine): Correctly check if an auto-inc + side-effect has been duplicated. + + * expr.c (expand_expr, case PARM_DECL): Return zero of proper mode + if no DECL_RTL. + + * tree.c (save_expr): Must do something with read-only tree that + has side-effects. + (stabilize_reference_1): Don't ignore read-only trees. + + * reload.c (find_replacement): New function. + * reload.h (find_replacement): Declare it. + * reload1.c (gen_input_reload): Use it to ensure substitutions + get done if we need to recreate a PLUS. + +Sat Apr 11 14:00:02 1992 John F Carr (jfc at Achates.mit.edu) + + * cse.c (cse_end_of_basic_block): Don't stop scanning insns if a + jump is found that can't be followed. + + * genextract.c: Make insn_extract copy the address of + recog_operand and recog_operand_loc into register variables. + +Sat Apr 11 13:59:17 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * c-parse.y (stmt): Parse entire parens of `for' + before actually starting the loop. + +Sat Apr 11 10:35:06 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu) + + * caller-save.c (restore_referenced_regs): Do not call XEXP on + reg_equiv_address since reg_equiv_address is already an address. + + * expr.c (expand_builtin, case SQRT): Note the dangers involved in + changing the argument test condition. + + * m68k.md (sqrtdf2): New pattern to take advantage of the 68881 + sqrt function. + +Fri Apr 10 18:37:08 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * hp800.c (output_function_epilogue): Output code to restore gr2 in + non-frame-pointer case correctly. + +Fri Apr 10 15:24:57 1992 Michael Meissner (meissner@osf.org) + + * decrose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are + provided. + + * i386rose.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are + provided. + + * encrose.h (TARGET_MEM_FUNCTION): Define, memcpy/memset are + provided. + + * mips-tfile.c (copy_object): Omit the test for zero flags, since + MIPS vendors are now putting bits in there. + + * mips-svr4.h (HAVE_ATEXIT): Define, atexit is provided. + (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided. + + * mips-sysv.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are + provided. + + * mips-news5.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are + provided. + (getpagesize): Define a getpagesize that uses sysconf, just like the + MIPS V.4 port. + + * mips.c (output_block_move): Don't emit ulw/usw if GAS is the + assembler, use the lwl/lwr/swl/swr building blocks instead, since + GAS doesn't yet support the ulw/usw macro instructions. + + * configure (mips-sgi-irix4): Use config/iris4.h instead of + config/iris.h. + + * iris4.h (new file): Just like iris.h, atexit is provided (unlike + IRIX revision 3). + + * iris.h (TARGET_MEM_FUNCTIONS): Define, memcpy/memset are provided. + +Fri Apr 10 11:59:02 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (cmpstr patterns): Correctly handle zero length + compares. Rewrite to avoid needing scratch register. + +Thu Apr 9 14:05:04 1992 Michael Collison (collison at osf.org) + + * i386rose.h (ASM_OUTPUT_FLOAT, ASM_OUTPUT_DOUBLE): Fix these to + avoid printing NaNs, and infinity. + +Thu Apr 9 11:34:31 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88kluna.h (DEFAULT_GDB_EXTENSIONS): Define as 0. + +Wed Apr 8 20:21:59 1992 Michael Meissner (meissner@osf.org) + + * halfpic.c (all functions): Add a hash table for the lookup instead + of linear search. Don't use bits in the IDENTIFIER node, store the + information in the hash table. Always rebuild the SYMBOL_REF + returned by half_pic_ptr, instead of storing it away, since the RTL + gets reused at the end of the function. + (half_pic_declare): New function, called when a label is laid down + to say that it is no longer half-pic. + + * halfpic.h (half_pic_declare, HALF_PIC_DECLARE): Add function + defintion, and accessor macro. + + * mips.h (HALF_PIC_DECLARE): Add dummy macro if not OSF/rose. + (ASM_DECLARE_OBJECT_NAME): Invoke HALF_PIC_DECLARE on name. + (ASM_DECLARE_FUNCTION_NAME): Ditto. + (*_SECTION_ASM_OP): Put the leading tab back in. + + * mips.md (dslot attribute): 'pic' type requires a delay slot, since + it is really a load. + (movsi): Make movsi a define_expand, and if it's moving the address + of a half-pic item into a register, convert it into a load. + (movsi_internal): The old movsi define_insn renamed. + (movstrsi_internal): Add '=' constraint on all stores and clobbers. + + * decrose.h (LINK_SPEC): If not -noshrlib or -pic-none, pass + -warn_nopic. Allow user to pass -noshrlib directly. + +Wed Apr 8 00:11:56 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.h (MOVE_MAX): Set to 8 instead of 4. + + * sched.c (sched_analyze_2): Don't abort if find note before a CC0 + using insn. + + * sparc.h (ADDITIONAL_REGISTERS_NAMES): Add. Define fake reg name + ccr, for use in asm clobbers. + + * sparc.h (TARGET_FORCE_ALIGN): Add comment explaining that it + is for experimental purposes only. + (FIRST_PARM_OFFSET): Add 4 when TARGET_FORCE_ALIGN to ensure that + stack is double-word aligned. + (FIRST_PARM_CALLER_OFFSET): Delete obsolete macro. + + From Tom Wood: + * unroll.c (final_giv_value): Put the subtracts in the right place. + + * sparc.c (compute_last_arg_offset): Delete, no longer needed. + (FRAME_POINTER_REQUIRED): Do not depend on frame size. + +Tue Apr 7 22:36:33 1992 Michael Meissner (meissner@osf.org) + + * halfpic.c (whole file): Flesh out initial half-pic implementation + for the OSF/1 reference ports. This is still a work in progress. + + * halfpic.h (toplevel): Add declarations for half_pic_finish and + half_pic_ptr. Add macros HALF_PIC_FINISH, HALF_PIC_PTR, and + HALF_PIC_PREFIX. + + * mips.h (call_memory_operand): Delete call_memory_operand + function declaration. + (PREDICATE_CODES): Ditto. + (CONSTANT_ADDRESS_P): Correctly reject half-pic addresses. + + * mips.c (call_memory_operand): Delete function. + + * mips.md (call* patterns): Use memory_operand instead of + call_memory_operand for predicates. Use the test not register and + not CONSTANT_ADDRESS_P instead of call_memory_operand in the + define_expand body to test whether the function address needs to be + forced to a register. + + * decrose.h (HALF_PIC_DEBUG): Define as true if -mdebugb, to debug + the half-pic code, just like debugging normal addressing. + (CPP_SPEC): Use the ____ form of the language macros instead + of __. + (LINK_SPEC): If -pic-lib and not -noshrlib, pass -warn_nopic. + (LIB_SPEC): Don't pass -L/usr/ccs/lib. + + * x-decrose (CCLIBFLAGS): Pass -pic-extern when building libgcc1.a. + (LIBGCC2_CFLAGS): Pass -pic-extern when building libgcc2.a. + +Tue Apr 7 19:00:56 1992 Tom Wood (wood at dg-rtp.dg.com) + + * xm-m88k.h (NO_SYS_SIGLIST): Not provided by the 88open standards. + + * m88k.c (output_ascii): Generalize to support ident + * m88k.h (ASM_OUTPUT_IDENT, ASM_OUTPUT_ASCII): Use output_ascii. + + * m88k.c, m88k.md, m88k.h: Integrate all changes to support the m88110. + +Mon Apr 6 22:51:02 1992 John Wroclawski (jtw@lcs.mit.edu) + + * mips-tfile.c (read_seek): Fix argument order in calls to + fatal. + +Mon Apr 6 21:17:38 1992 Mike Stump (mrs@albert.gnu.ai.mit.edu) + + * merged in Cygnus sources. + + Mon Apr 6 15:26:09 1992 Mike Stump (mrs@cygnus.com) + + * cp-spew.c (hack_more_ids): Reimplement. Change from Niklas + Hallqvist. + + Thu Apr 2 02:36:36 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-*: Simplify DECL_NAME (TYPE_NAME into TYPE_IDENTIFIER. + + * cp-call.c (build_method_call): Fix an error message. + + * cp-parse.y (LC): Renamed to left_curly. + (TYPENAME_SCOPE): Renamed to typename_scope. + +Mon Apr 6 14:04:49 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.h (TARGET_HOPE_ALIGN): Fix typo, `-fast' -> `-dalign'. + + * expr.c (expand_expr, INDIRECT_REF case): Set MEM_IN_STRUCT_P if + this is an indirect of the address of an array, struct, or union. + + * jump.c: Delete declaration of squeeze_notes. + (jump_optimize): Use new return value from squeeze_notes. + (squeeze_notes): Handle the case where START may be a note that + must be moved outside the range. Now returns the new start value. + * loop.c (find_and_verify_loops): Use squeeze_notes return value. + * stmt.c (expand_end_case): Call squeeze_notes before reorder_insns. + * rtl.h: Declare squeeze_notes. + + * rs6000.h (PTRDIFF_TYPE): Define to int. + + Mostly from tege@sics.se: + * sparc.c (eligible_for_epilogue_delay): Clarify comment. Delete + unreachable test of leaf_function. + (singlemove_string): Correct test for when can use sethi alone. + (output_function_prologue): Declare leaf_function. More + efficiently frame sizes greater than 4095. Correctly handle leaf + functions with frame greater than 4095. + (output_function_epilogue): Likewise. + (output_return): Likewise. + +Mon Apr 6 10:11:08 1992 Tim Moore (moore@defmacro.cs.utah.edu) + + * config.sub : Add hp700 cpu type. + * configure : Make hp700-bsd and hp700-hpux cases, with use of gas + an option. + * hp700hpuxg.h, hp800hpuxg.h : New files for using gas under hpux. + * hp800.h (REGISTER_NAMES): Change to use %r style register names; + required to name PA-RISC 1.1 fp registers. + * x-hp800hpux : Don't invoke the assembler to compile alloca.c. + * README-PA-RISC: New file. + +Mon Apr 6 08:00:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reorg.c (relax_delay_slots): Don't get confused when a label + becomes zero (meaning end of function). + +Sun Apr 5 13:45:37 1992 Ron Guilmette (rfg at ncd.com) + + * i860.md (floatsidf3): Fixed to expand to a correct insn sequence. + +Sun Apr 5 12:33:02 1992 John F Carr (jfc at Achates.mit.edu) + + * rs6000.h (EXTRA_CC_MODES, EXTRA_CC_NAMES): Add CCEQmode. + (SELECT_CC_MODE): Select it for equality comparison of comparison. + * rs6000.c (scc_comparison_operator): Reject improper use of + CCEQmode. + (ccr_bit): Handle CCEQmode, where bit is always third in field. + (print_operand, case 'E'): New case. + * rs6000.md: New pattern to compare two comparisons with + creqv/crxor. + Add peephole for two consecutive scc insns. + + * combine.c (subst, case FFS): (ffs (*_extend X)) -> (ffs X) + (make_compound_operation): Handle (and (rotate X C) M). + + * flags.h (flag_cse_skip_blocks): New variable. + * toplev.c (flag_cse_skip_blocks): Define it here. + (f_options): Add it to table. + (main): -O2 turns it on. + * cse.c (invalidated_skipped_{set,block}): New functions. + (enum taken): New value, AROUND. + (cse_end_of_basic_block): New argument SKIP_BLOCKS. If it is + nonzero, follow a branch around a block of code which contains + no labels and set status = AROUND for the jump. + (cse_main): Pass FLAG_CSE_SKIP_BLOCKS argument to + cse_end_of_basic_block. + (cse_basic_block): If jump status is AROUND, call scan_skipped_block + before following jump. + +Sun Apr 5 04:16:46 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * optabs.c (emit_cmp_insn): Add missing parameter type declaration. + + * expr.c (expand_builtin, case SQRT): Fix typo emitting insns. + Reformat to look like the rest of gcc. Use accessor macros to + access fields of an RTX. Make comments match code. + + * i386.md (cmpstr patterns): Handle zero length compares. + +Sat Apr 4 04:40:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c (find_equiv_reg): Avoid passing zero to true_regnum. + + * expr.c (expand_expr, case COMPONENT_REF): Handle case where we + are extracting a field of a constant. + + * a29k.h ({TEXT,READONLY_DATA,DATA}_SECTION_ASM_OP): Put tab back. + + * rs6000.c (output_epilog): Reduce number of lines generated to + write traceback table. + + * combine.c (move_deaths): A destination is used in this insn + unless is it completely overwritten. + +Sat Apr 4 04:39:16 1992 John Carr (jfc at ATHENA.MIT.EDU) + + * expmed.c (store_bit_field, extract_bit_field): Remove redundant + tests for MEM. + + * c-common.c (binary_op_error): Handle FLOOR_DIV_EXPR, FLOOR_MOD_EXPR, + *ROTATE_EXPR. + * c-typeck.c (build_binary_op): Handle FLOOR_MOD_EXPR. + +Sat Apr 4 00:29:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (c_decode_option): `-' was missing in -Wno-redundant-decs. + + * Makefile.in (USE_COLLECT2, MAYBE_USE_COLLECT2): New variables. + (GCC_PARTS, native, install-common): Use USE_COLLECT2. + (toplev.o): Use MAYBE_USE_COLLECT2. + * configure: Let particular cases set use_collect2 + and have that control use of collect2 through editing Makefile. + Handle --with-gnu-as and --with-gnu-ld options. Ignore --with-*. + --with-gnu-ld turns off use_collect2. + * i386rose.h (CC1PLUS_SPEC): Deleted. + + * gcc.c (do_spec_1): In case 'D', strip final / from prefixes. + + * c-decl.c (push_c_function_context): Add pedantic warning. + + * collect2.c (main): Figure STANDARD_EXEC_PREFIX into clen. + + * c-typeck.c (get_spelling): Move alloca outside fn call. + +Fri Apr 3 16:36:54 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * varasm.c (output_constant_def): Set MEM_IN_STRUCT_P if nec. + +Fri Apr 3 05:32:39 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * m88k.md (call_block_move{,_loop}): Don't write USE for regs + we don't set; remove unneeded CLOBBERs for call-used registers. + + * caller-save.c (insert_save_restore): Abort rather than writing + out an insn having a null source or destination. + + * explow.c (allocate_dynamic_stack_space): Don't reference + STACK_BOUNDARY if it isn't defined. + + * explow.c (allocate_dynamic_stack_space): Don't use TARGET if it + isn't a pseudo reg. + +Fri Apr 3 01:50:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixinc.svr4: Don't reconvert __i386 if have _ after. + + * c-decl.c (grokdeclarator): Use size_binop to get array hbound - 1. + + * enquire.c: Include sys/types.h. + + * c-typeck.c (check_format): Don't use type name for integer types + or pointers to them. + + * explow.c (allocate_dynamic_stack_space): New arg KNOWN_ALIGN. + All callers changed. + +Thu Apr 2 15:24:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * dbxout.c (dbxout_type): Output just xref for var-size struct/union. + + * reload.c (find_equiv_reg): In previous change, verify valtry != 0. + +Thu Apr 2 08:34:38 1992 Michael Meissner (meissner@osf.org) + + * iris.h (SIZE_TYPE): Make type unsigned int, not unsigned long. + (PTRDIFF_TYPE): Define to be 'int', not 'long int'. + (WCHAR_TYPE): Define to be 'unsigned char', not 'int'. + (WCHAR_TYPE_SIZE): Define to be 8, not 32. + +Thu Apr 2 06:01:07 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * fold-const.c (fold, case COND_EXPR): Add missing test for zero. + + * expr.c (expand_expr, case ARRAY_REF): Handle case of constant + array whose initializer is a string. + + * optabs.c (emit_libcall_block): Don't move up insns that set + pseudos whose old values are used in previous insns. + + * genattrtab.c (attr_rtx): Add some casts to int from enum rtx_code. + +Thu Apr 2 04:20:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * xm-mipsnbsd.h: New file. + * configure (mips-sony-bsd*): Use that. + + * stmt.c (expand_end_case): Move the convert_to_mode after emit_queue. + +Thu Apr 2 00:49:18 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * stmt.c (expand_end_case): Fix typo. + +Wed Apr 1 19:01:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fold-const.c (size_int): Always switch to permanent_obstack + to make a node that will be saved + +Wed Apr 1 15:36:19 1992 Michael Meissner (meissner@osf.org) + + * xm-irix4.h (alloca.h): Don't include if not using the + GNU compiler, since the Silicon Graphics compiler's alloca complains + if the result of alloca is stored in something that is not a simple + variable. Just use the C version of alloca.c. + +Wed Apr 1 14:42:24 1992 Torbjorn Granlund (tege@mole.gnu.ai.mit.edu) + + * pyr.md (HImode compare recognizers): Don't match if subsequent + branch has unsigned predicate. + +Wed Apr 1 14:20:13 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.c (output_function_epilogue): Drop unused true_epilogue + parameter. Delete obsolete tail-call support code, which worked + by passing -1 for leaf_function. + (tail_call_valid_p): Delete obsolete function. + (output_tail_call): Likewise. + * sparc.h (TARGET_TAIL_CALL): Delete obsolete option. + (FUNCTION_EPILOGUE): Fix call to output_function_epilogue. + * sparc.md (tail_call): Delete obsolete pattern. + + * rs6000.c (output_epilogue): Output a traceback table. + +Wed Apr 1 06:42:54 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.h: Override ASM_OPs added to svr4.h. + +Wed Apr 1 03:12:44 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * emit-rtl.c (operand_subword): Swap words from const_double if nec + + * ns32k.h (GO_IF_INDEXING): New arg MODE; caller changed. + Pass to INDEX_TERM_P. + +Tue Mar 31 18:10:10 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * genattrtab.c (check_attr_value): Fix some backwards tests. + + * expr.c (move_by_pieces{,_ninsns}): Only look at MODE_INT modes. + + * fold-const.c (fold, case COND_EXPR): Fix typo in last change. + + * stor-layout.c (layout_record): Add missing call to size_int. + + * expr.c (do_store_flag): Handle case where EXP is a TRUTH_NOT_EXPR. + +Tue Mar 31 17:18:20 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu) + + * c-decl.c (init_decl_processing): Enable `sqrt'. + * expr.c (expand_builtin, case SQRT): By default check that the + argument to sqrt is in sqrt's domain. If the argument is not in the + domain, then call the library function. Skip argument checking if + -ffast-math is in use. + + * flags.h (flag_fast_math): Declare new variable. + * toplev.c (f_options): Add flag_fast_math to table. + +Tue Mar 31 17:11:09 1992 Per Bothner (bothner@wombat.gnu.ai.mit.edu) + + * cccp.c: Add new flag -nostdinc++ to disable searching + standard C++-specific include directories. This is useful + for building libg++. + * gcc.c: Pass -nostdinc* to cpp, not just -nostdinc. + * cpp.texi: Document -nostdinc++. + +Tue Mar 31 15:32:34 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (link_command_spec): Use %l before %X. + + * svr4.h (MULTIBYTE_CHARS): Turned off. + + * sun3.h, sparc.h (LINK_SPEC): Inhibit -e if -nostdlib. + + * collect2.c (my_strerror): Renamed from strerror. + + * reload.c (find_equiv_reg): Find constants in REG_EQUIV notes. + + * m68k.h (PRINT_OPERAND_PRINT_FLOAT): Fix typo in #ifdef. + + * Makefile.in (install-dir): Create include subdir. + +Tue Mar 31 18:03:21 1992 Thorsten Ohl (ohl@apollo.desy.de) + + * x-apollo68 (CFLAGS, LIBGCC2_CFLAGS): Defined. + * t-apollo68: new file, use collect2. + * configure: use `t-apollo68'. + + * apollo68.h (ASM_SPEC): Delete -C. + (STRUCT_VALUE_INCOMING): Now 0. + (HAVE_ATEXIT): Defined. + (PROMOTE_PROTOTYPES): Delete #undef. + (USER_LABEL_PREFIX): Undef. + (LOCAL_LABEL_PREFIX, REGISTER_PREFIX, REGISTER_PREFIX_MD): Override. + (ASM_RETURN_CASE_JUMP): Defined. + (REGISTER_NAMES): Override. + +Tue Mar 31 14:59:53 1992 Tim Moore (moore@defmacro.cs.utah.edu) + + * hp800.md (movsi+4, call_value+1): Add x,y constraints for Snake + fp registers. + * hp800.h (INITIAL_FRAME_POINTER_OFFSET): Fix for Snake stack + alignment. + (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P): Fix for Snake fp + registers. + * hp800.c (output_function_prologue): Align stack for Snakes. + (output_arg_descriptor): Fix Snake typos. + + * hp700.h, hp700hpux.h : New files + (TARGET_DEFAULT): Emit Snake code by default. + * hp700hpux.h (HP_FP_ARG_DESCRIPTOR_REVERSED): Define to work + around assembler syntax difference between 700 and 800 series HPUX. + * hp800.h (ASM_DOUBLE_ARG_DESCRIPTORS): Conditionalize on the + above symbol. + +Tue Mar 31 09:58:52 1992 Michael Meissner (meissner@osf.org) + + * mips-sysv.h (getpagesize): When compiling the trampoline code, + define a macro getpagesize which uses the POSIX sysconf function. + + * mips-svr4.h (getpagesize): When compiling the trampoline code, + define a macro getpagesize which uses the POSIX sysconf function. + +Mon Mar 30 19:25:48 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * loop.c (strength_reduce): In recent maybe_multiple code, only + apply INSN_LUID to insn when safe. + +Mon Mar 30 17:24:33 1992 Michael Meissner (meissner@osf.org) + + * mips.c (output_block_move): Fix typos that would generate + incorrect code if either the source or destination is a global or + static memory address. Increment appropriate -mstats counters. + + * x-iris (INSTALL): Use cp to install stuff, not install -c. + +Mon Mar 30 16:39:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * m68k.md: Use `\;', not `;', to separate insns. + + * toplev.c (main): Add cast when setting debug_info_level. + + * m68k.h (GLOBAL_ASM_OP): New macro. + (ASM_GLOBALIZE_LABEL): Use that. + * hp320.h, m68ksgs.h, mot3300.h (GLOBAL_ASM_OP): Override this. + (ASM_GLOBALIZE_LABEL): Not this. + + * libgcc2.c (__builtin_saveregs) [sparc]: Define both assembler labels + __builtin_saveregs and ___builtin_saveregs, to handle all systems. + + * m68k.h (TRANSFER_FROM_TRAMPOLINE): Add a globalize command. + (TRAMPOLINE_TEMPLATE): Make the JSRs really JSRs. + Always use precisely ___trampoline. + +Mon Mar 30 07:17:50 1992 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + + * reload1.c (inc_for_reload): Declare CODE consistently. + (constraint_accepts_reg_p): Add missing cast. + + * fold-const.c (fold, case TRUTH_ANDIF_EXPR): Fix typo in last change. + +Mon Mar 30 01:07:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * rtl.h: Don't continue #if lines. + +Mon Mar 30 03:30:54 1992 Mike Stump (mrs@cygnus.com) + + * Merge in Cygnus cp-* sources, below are the ChangeLog entries from + the Cygnus ChangeLog file. Note, I am experimenting with a slightly + different format, as Tiemann would like the dates to remain intact, + but Stallman does not want the dates out of order and would rather + have the entries altogether anyway. + + Sun Mar 29 16:57:31 1992 Mike Stump (mrs@rtl.cygnus.com) + + * cp-decl.c (grokdeclarator): Handle typedef before other + specifiers, as typedef is now more complex in c++ than in c. + + Sun Mar 29 12:00:03 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-decl.c (start_function): Always set TREE_PUBLIC if DECL1 is + part of any interface. + + * cp-cvt.c (convert_to_reference): Don't type to convert a type to + itself. + (build_type_conversion): Don't look for alternatives to default + type conversion except to integral and real types. Fixes bug + exposed in 19 March change. + + Tue Mar 24 07:53:46 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-tree.c (lvalue_p): POST{INC,DEC}REMENT_EXPR is not an lvalue. + * cp-typeck.c (build_modify_expr): Ditto. + + * cp-init.c (emit_base_init): If debugging, force out a line note so + we can step into ctors for base initializers. + (build_virtual_init): Note that we need to do some more work to + handle replicated base classes in multiple inheritance lattices. + + Mon Mar 23 00:33:35 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-init.c (expand_aggr_init_1): Finish Mar 15 change concerning + INDIRECT_REFs that have TREE_HAS_CONSTRUCTOR set. + + * cp-call.c (build_overload_call_real): Ensure FINAL_CP->EVIL is set + when FINAL_CP is non-NULL and we encounter an ERROR_MARK_NODE in the + operands we are processing. + + * cp-cvt.c (convert_to_reference): Propagate ERROR_MARK_NODE from + failed type conversions. + + Sun Mar 22 20:01:51 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-init.c (is_aggr_typedef): Don't give an error message if NAME + is ERROR_MARK_NODE. + +Sun Mar 29 09:29:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-gcc.com: Remove patch from March 7. + + * make-l2.com: Use compiler that was just built, if available, + otherwise use system compiler if it is version 2. + +Sun Mar 29 19:53:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * fold-const.c ({invert,swap}_tree_comparison): New functions. + (comparison_equiv_p): Deleted. + (operand_equal_for_comparison_p): New function. + (invert_truthvalue): Use invert_tree_comparison. + (fold): Use variables T1 and TEM consistently. + Don't mix arg[01] and TREE_OPERAND (t, [01]); they aren't + identical. + (fold, comparison cases): Use new functions to adjust comparison + codes; add var INVERT. + Convert f >= f to f == f for FP and similar. + Correctly compute FP <= and >= when one arg is a NaN. + Clean up handling of constant results. + (fold, case COND_EXPR): Rework considerably to catch more forms + of abs, min, max, and -abs and also clean up; use new function + operand_equal_for_comparison_p. + +Sun Mar 29 00:00:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cse.c (simplify_relational_operation): Arg ptr reg may be 0. + + * gcc.c: Always define R_OK, etc. if system headers don't. + + * c-parse.y (maybe_attribute): Accept `mode (m)' attribute. + * c-common.c (decl_attributes): Handle that attribute. + + * tower.h (REGISTER_NAMES): Discard the fpa regs. + * tower-as.h (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): + Don't handle fpa regs. + (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): + New macros. + (PUT_SDB_DIM): Deleted. + + * m68k.h (RTX_COSTS): Smaller multiply costs on 68040. + + * stmt.c (expand_end_case): Reduce amount of specific modes + used in handling casesi. + + * collect2.c (savestring): Copy only SIZE bytes of string. + + * gstddef.h: Handle __need_size_t, __need_wchar_t, __need_ptrdiff_t, + and _need_null. + + * c-typeck.c (digest_init): Save INIT with nops not stripped + to pass to convert_for_assignment. + +Sun Mar 29 12:27:01 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * vms.h (FUNCTION_PROLOGUE): Redefine to add 4 bytes to local + storage on the stack. + (STARTING_FRAME_OFFSET): Redefine as -4. + +Sun Mar 29 19:58:57 1992 Paul Eggert (eggert@twinsun.com) + + * c-decl.c (store_parm_decls): Function prototypes now override + old-style definitions if argument types disagree only because of + promotions. + +Sun Mar 29 17:40:56 1992 Fred Fish (fnf at fishpond) + + * fixincludes (stdlib.h): Fix free/calloc/malloc/realloc return types. + +Sun Mar 29 15:12:39 1992 Ron Guilmette (rfg at ncd.com) + + * sparc.c (sparc_type_code): Added this new routine. + (tree.h): Included to support `sparc_type_code'. + (output_block_move): Cleaned up code to handle assembler-specific + aspects of internal labels. + + * sparc.h: (REG_ALLOC_ORDER, REG_LEAF_ALLOC_ORDER, LEAF_REGISTERS): + Deleted spurious semicolons. + (ASM_DECLARE_RESULT): New macro to generate the .proc directive. + (ASM_DECLARE_FUNCTION_NAME): Changed to use ASM_DECLARE_RESULT. + (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Changed to use + ASM_GENERATE_INTERNAL_LABEL when generating jump table elements. + + * svr4.h (SVR4): Don't define this symbol here. (It was never + needed, and it will be used to indicate an SVR4 *host* from now on.) + (SKIP_ASM_OP): Define this new macro. + (ASM_OUTPUT_SKIP): Use SKIP_ASM_OP. + (ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Added + new definitions appropriate for most SVR4 assemblers. + (COMMON_ASM_OP, LOCAL_ASM_OP): Define these new macros. + (ASM_OUTPUT_ALIGNED_COMMON, ASM_OUTPUT_ALIGNED_LOCAL): Use them. + (ASM_OUTPUT_ALIGNED_LOCAL): Allocate things in common rather than + trying for the .bss section (which may not work). + (ASM_DECLARE_RESULT): Define this to do nothing (if not already + defained for target machine). + (ASM_DECLARE_FUNCTION_NAME): Add invocation of ASM_DECLARE_RESULT. + + * dwarfout.c (ASM_DWARF_POP_SECTION): Renamed ASM_OUTPUT_POP_SECTION. + (PUSHSECTION_ASM_OP, POPSECTION_ASM_OP): New macro definitions. + (SECTION_ASM_OP): Deleted. Replaced by PUSHSECTION_ASM_OP. + (ASM_OUTPUT_PUSH_SECTION, PUSHSECTION_FORMAT): New macro definitions. + (*_SECTION): New macro definitions for important section name strings. + (ASM_DWARF_*_SECTION): Deleted all macros to change to specific + sections and replaced them globally with calls to the new parameterized + ASM_OUTPUT_PUSH_SECTION macro. + +Sat Mar 28 17:28:17 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 15. + (output_block_move): Add function defintion. + (HALF_PIC_PTR, HALF_PIC_FINISH): Provide dummy definitions. + (OPTIMIZATION_OPTIONS): Set flag_gnu_linker to FALSE, and + flag_no_cse_function to TRUE. + (CC1PLUS_SPEC): Delete -- it just passed -fno-gnu-binutils to + cc1plus. + + * mips.c (block_move function): Use movstri_internal, instead of + emitting the moves directly. + (output_block_move): New function to emit the correct code for block + moving a constant amount of data. + (siginfo): Change options to ps. + + * mips.md (movstrsi_internal): New block move pattern. + (movsi_ulw): Add an appropriate REG_EQUIV regnote. + (movsi_usw): Type attribute is store, not load. + + * mips-gbsd.h (toplevel): Include mips-bsd.h, not mips-gbsd.h. + + * mips-bsd.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit + BSD43 prefixes. + + * mips-sysv.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit + System V prefixes. + + * mips-svr4.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX): Use explicit + System V.4 prefixes. + + * decstatn.h (TARGET_MEM_FUNCTIONS): Define. + +Sat Mar 28 15:12:39 1992 Ron Guilmette (rfg at ncd.com) + + * libgcc2.c (eprintf): Make argument types comsistant with assert.h. + (__builtin_new, __builtin_vec_new): Declare all external functions. + (default_new_handler): Use a macro for the "memory exausted" message. + + * sparcv4.h: File completely replaced (with one that works). + +Sat Mar 28 15:09:46 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * toplev.c (flag_gnu_linker): Default to 0 if USE_COLLECT2. + + * i386.h (TARGET_SWITCHES): Add svr3-shlib. + (TARGET_SVR3_SHLIB): New macro. + * i386v.h (ASM_OUTPUT_LOCAL): Override definition here. + + * Makefile.in (gcc.xtar): Update version in README. + + * libgcc2.c [sparc] (__builtin_saveregs): Add optional .proc, + .type and .size assembler commands. + + * dbxout.c (dbxout_type): New arg SHOW_ARG_TYPES. All calls changed. + (dbxout_type_methods): Mostly rewritten, with Tiemann's help. + + * Eliminate limit on alignment value of a variable or field. + * tree.h (DECL_ALIGN): Use frame_size slot. + (struct tree_decl): `align' slot deleted. + * print-tree.c (print_node): Print `align' or `frame_size', not both. + * expr.c (get_pointer_alignment): Don't use DECL_ALIGN of function. + * c-decl.c (duplicate_decls, finish_enum): Likewise. + * tree.c (make_node): Likewise. + * c-common.c (decl_attributes): Eliminate limit of 255 on alignment. + + * collect2.c: Don't include gstdarg.h or gvarargs.h. + Make error messages follow standards. + (error, fatal, fatal_perror): Don't use varargs. + Accept as many args as anyone tries to use. + + * cp-decl2.c: Get rid of -fgnu-binutils. + + * ns32k.h (INDIRECTABLE_ADDRESS_P): Deleted. + (GO_IF_NONINDEXED_ADDRESS): Delete dupllicate test for reg+offset. + (MEM_REG): Don't accept constant here. + (INDIRECTABLE_2_ADDRESS_P): Adapt usage of MEM_REG. + (GO_IF_INDEXING, GO_IF_INDEXABLE_ADDRESS): New macros. + (GO_IF_LEGITIMATE_ADDRESS): Use them. + +Sat Mar 28 20:48:20 1992 Chip Salzenberg (chip at tct.com) + + * stor-layout.c (layout_record, layout_union): + Limit effect of PCC_BITFIELD_TYPE_MATTERS to actual bitfields. + (layout_decl): Do not override a packed decl's alignment. + + * c-common.c (decl_attributes): Don't expect a simple + attribute like "packed" to be in a LIST_NODE. + + * c-decl.c (finish_struct): If a field has the "packed" + attribute, don't override it with type's normal alignment. + +Sat Mar 28 06:51:12 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * integrate.c (initialize_for_inline): Replace DECL_INCOMING_RTL + if it has an address shared with DECL_RTL, not just when the entire + value is shared. + + * rs6000.c (input_operand): Clean up and make comments agree with + code; no changes to what is matched. + + * loop.c (add_label_notes): Handle operands of type 'E'. + + * rs6000.c (print_operand, case 'A'): Fix typo. + +Sat Mar 28 01:29:06 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * output.h (current_function_uses_const_pool): New declaration. + + * i386.c (function_{prologue,epilogue}, simple_386_epilogue): + If the constant pool is used, the PIC reg will be used. + + * expr.c (expand_builtin): Add support for named pattern strlenM. + * expr.h (strlen_optab): New declaration. + * optabs.c (init_optabs): Initialize strlen_optabs. + * i386.md (strlensi): New pattern. + +Fri Mar 27 12:11:03 1992 Fred Fish (fnf at fishpond) + + * fixinc.svr4 (dbm.h): Fix unconditional redefinition of NULL + + * config.sub: Add i486 as a distinct CPU type. Recognize i486v4 + as distinct from i386v4. Change ncr3000 to i486. + * configure: Add i486-ncr-sysv4. + * config/x-ncr3000: New file. + +Fri Mar 27 18:44:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * fold-const.c (twoval_comparison_p, eval_subst): New functions. + (fold): If an operand of a comparison is a COMPOUND_EXPR, move + it outside the comparison. + (case GT_EXPR, ...): Replace old code to fold comparisons + of comparisons with new code using new functions above. + When changing code of unsigned comparisons, set variable CODE. + + * expr.c (get_inner_reference): Return BLKmode and -1 size for a + variable-sized object instead of aborting. + (do_jump, case COMPONENT_REF): If get_inner_reference returns a + size of -1, don't do anything special. + * fold-const.c (optimize_bit_field_compare, decode_field_reference): + Likewise. + + * combine.c (reg_bitfield_target_p): Replace test with one that + compares the register number of X with that of a register which + is the target of the assignment. + + * loop.h (struct_induction): New field maybe_multiple. + * loop.c (strength_reduce): Track when code may be executed more + than once per iteration; pass to record_biv. + Call update_giv_derive on every JUMP_INSN. + (record_biv): Copy new maybe_multiple arg to struct induction. + (record_giv): Clear maybe_multiple. + (update_giv_derive): If passing JUMP_INSN, look at maybe_multiple + in biv update. + + * expr.c (expand_expr, case MODIFY_EXPR): Add missing call to + do_pending_stack_adjust. + + * rs6000.h (OBJECT_FORMAT_COFF): Add definition. + +Fri Mar 27 15:58:42 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-typeck.c (check_format): If arg wants void *, accept any ptr. + + * ns32k.md (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK): + New parameters replace GAS_SYNTAX. + * pc532.h (CALL_MEMREF_IMPLICIT, MOVD_FLOAT_OK): Define both. + * sequent.h (CALL_MEMREF_IMPLICIT): Defined. + + * sequent.h (INDEX_RATHER_THAN_BASE): Defined. + * ns32k.c (print_operand_address): Check it here. + + * ns32k.c (print_operand_address): Treat all non-ints as symbolic. + (print_operand): Likewise. Also fix typo, use PUT_ABSOLUTE_PREFIX, + and test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC. + + * svr4.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): + Output newline after section op. + * i860v3.h (DTORS_SECTION_ASM_OP, CTORS_SECTION_ASM_OP): + Delete newlines. + + * Makefile.in (clean): Don't delete stage*. + (distclean): Do it here. + (extraclean): Delete config/patch*. + + * Makefile.in (SYSCALLS.c): Target deleted. + (SYSCALLS.c.X): Create SYSCALLS.c and use it in one rule. Delete also. + + * Makefile.in (ld): New target. + * t-* (ld, collect2*): Targets deleted. + (EXTRA_PROGRAMS): Moved ld here if it was in EXTRA_PASSES. + (EXTRA_PASSES): Delete ld. + + * gcc.c, cccp.c: Don't include sys/file.h. + + * fold-const.c (operand_equal_p): Floats must match bit for bit. + + * gcc.c (link_command_spec): Put back -u*. + +Fri Mar 27 11:33:46 1992 Simon J. Gerraty (sjg@melb.bull.oz.au) + + * configure (m68k-bull-sysv*): Added config for Bull DPX/2 + * dpx2.h, dpx2g.h: New files. + * x-dpx2200, x-dpx2300, t-dpx2: New files. + * gstddef.h: Added _SIZET_ to the list of protection for size_t + +Fri Mar 27 14:47:47 1992 Paul Eggert (eggert@twinsun.com) + + * c-typeck.c (convert_arguments): -Wconversion wrongly warned when + passing enums, and didn't warn about int precision mismatches. + + * fold-const.c (fold): If IEEE, 0-x is not x. + + * cse.c (simplify_unary_operation): fabs(-0.0) is 0.0, not -0.0. + * fold-const.c: Replace target_minus_zero with target_negative. + (fold_convert): Warn when converting NaN constants to integer. + (fold): fabs(-0.0) is 0.0, not -0.0. 0-x may not equal -x. + Do not optimize X++ == C to ++X == C+1 if C is floating point, + because it runs afoul of rounding error. + * real.h (REAL_VALUE_NEGATIVE): Add. + +Fri Mar 27 09:19:11 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88k.c (emit_move_sequence): Check the size required for a zero + constant. + + * varasm.c (const_hash, compare_constant_1, record_constant_1): + For constructor of an array, include the size of the array in bytes. + +Fri Mar 27 09:09:53 1992 Michael Meissner (meissner@osf.org) + + * t-decstatn (ALL): Remove variable. + * t-decrose (ALL): Ditto. + * t-i386rose (ALL): Ditto. + * t-encrose (ALL): Ditto. + +Fri Mar 27 17:51:32 1992 Jim Wilson (wilson@sphagnum.cygnus.com) + + * rs6000.c (first_reg_to_save): When profiling, save space for the + argument registers, which need to be saved around the mcount call. + (output_prolog): Mark the link register as live when profiling. + (output_function_profiler): New function. Output code to call + mcount. + * rs6000.h (LIB_SPEC): Replace incorrect definition. Add + -L/lib/profiled and -L/usr/lib/profiled when profiling, -lg when + debugging, and -lc always. + (OVERRIDE_OPTIONS): No longer zero profile_flag. + (FUNCTION_PROFILER): Call output_function_profiler. + + * .gdbinit (complaints): Set to 20. + (pbs): New command to call the cc1plus print_binding_stack function. + + * calls.c (expand_call): Delete obsolete references to is_builtin_new. + + * Makefile.in (Makefile): Add dependence on version.c. + +Thu Mar 26 19:21:00 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (fixuns_truncMN2,fix_truncMdf2): Make a copy of the input + operand and clobber that, rather than clobbering the operand itself. + +Thu Mar 26 18:06:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * protoize.c (shortpath): Add early check of size of shortname. + + * expr.c (do_jump): Adjust stack after any code that might be skipped. + +Thu Mar 26 06:37:35 1992 Michael Meissner (meissner@osf.org) + + * mips.c (toplevel): If NO_STAB_H is defined, include gstab.h + instead of stab.h. + +Thu Mar 26 02:21:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (STAGESTUFF): Add EXTRA_PROGRAMS. + + * configure: Reorder mips alternatives; put mips-mips-* at end. + + * sparc.h (FRAME_POINTER_REQUIRED): 0 if frame is too big. + * sparc.c (compute_last_frame_offset): New function. + +Wed Mar 25 21:17:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * genattrtab.c (check_attr_test): Use XSTR instead of XEXP in one + place. + + * genextract.c (mark_operand_seen): Call xrealloc properly. + +Wed Mar 25 17:05:56 1992 Torbjorn Granlund (tege at zevs.sics.se) + + * hp800.c (srcsi_operand): New function. + * hp800.md (mulsi, divsi, udivsi, modsi, umodsi): Use srcsi_operand + for inputs. + (mulsi): Use general_operand for output. + (one_cmplsi2): Use register_operand for output. + +Wed Mar 25 15:50:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * m68k.md (fsgldiv pattern): If FSGLDIV_USE_S, opcode has .s, not .x. + * amix.h (FSGLDIV_USE_S): Defined. + + * xm-rs6000.h (REAL_NM_FILE_NAME): Defined. + + * x-i386sco (CCLIBFLAGS): Define as empty. + +Wed Mar 25 16:52:53 1992 Michael Meissner (meissner at osf.org) + + * collect2.c (OSF/rose scan_prog_file): If we are building a + program instead of a shared library, don't create an initializer + function entry. + Tue Mar 24 04:00:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 2.1 released. @@ -17,8 +4078,6 @@ Tue Mar 24 04:00:00 1992 Richard Stallm (OBJS, protoize, unprotoize): Add getpwd.o. (SYSCALLS.c, SYSCALLS.c.X): Copy from Makefile.in. - * x-i386sco (CCLIBFLAGS): Define as empty. - Tue Mar 24 06:26:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) * cse.c (cse_insn): When deleting dead code after @@ -241,8 +4300,6 @@ Sun Mar 22 20:40:25 1992 Mike Stump (m * gplus.gperf: Finish off changing ASM to ASM_KEYWORD. * cp-hash.h: Rebuilt. - * cp-type2.c (build_functional_cast): remove incorrect error message. - Sat Mar 21 15:43:04 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * c-typeck.c (build_c_cast): Don't warn if convert explicit 0 to ptr. @@ -806,8 +4863,6 @@ Sun Mar 15 15:12:39 1992 Ron Guilmette * crtstuff.c: If defined, invoke INIT_SECTION_PREAMBLE. -Sun Mar 15 15:12:39 1992 Ron Guilmette (rfg at ncd.com) - * xm-sparcv4.h, x-sparcv4: New files. * configure (sparc-*-sysv4*): Use them. @@ -852,33 +4907,6 @@ Sat Mar 14 07:11:14 1992 Richard Kenner Sat Mar 14 10:12:39 1992 Michael Tiemann (tiemann@cygnus.com) - * cp-decl2.c (flag_this_is_variable): Define the value -2 to mean an - object of known type is being constructed. - * cp-decl.c (resolves_to_fixed_type_p): Test FLAG_THIS_IS_VARIABLE - for the value -2 instead of testing DECL_CONSTRUCTOR_P in case we - are looking at `current_class_decl'. - * cp-search.c (init_vbase_pointers): Set FLAG_THIS_IS_VARIABLE to -2 - instead of 0. - (build_vbase_vtables_init): Ditto. - * cp-*.c: All tests of FLAG_THIS_IS_VARIABLE changed to reflect the - new semantics. - - * cp-type2.c (build_functional_cast): remove incorrect error message. - - * cp-typeck.c (comptypes): Don't use IS_AGGR_TYPE_2; test explicitly - that both are RECORD_TYPE. - (build_binary_op_nodefault): Ditto. - (convert_for_assignment): Ditto. - * cp-cvt.c (convert_to_pointer): Ditto. - (convert_to_pointer_force): Ditto. - * cp-call.c (convert_harshness): Ditto. - - * cp-search.c (get_first_matching_virtual): Fix typo. - - * cp-tree.c (layout_basetypes): When warning about certain - inheritance relationships, only print "virtual" when the - inheritance is virtual. - * cp-spew.c (yylex): Fix some fencepost errors found by Chip Salzenberg. @@ -907,6 +4935,10 @@ Fri Mar 13 20:17:40 1992 Mike Stump (m cp-parse.y, cp-init.c, cp-decl.c, cp-cvt.c, cp-class.c, cp-call.c: Merged in updated cp-* files for gcc-2.1. + Thu Mar 12 02:29:26 1992 Mike Stump (mrs@cygnus.com) + + * cp-type2.c (build_functional_cast): remove incorrect error message. + Fri Mar 13 14:54:23 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * objc-actions.c (get_arg_type_list) [not NEXT_OBJC_RUNTIME]: @@ -2458,6 +6490,15 @@ Sun Feb 23 15:11:27 1992 Michael Tieman * cp-decl.c (cplus_expand_expr_stmt): Give line number for usage whcih incurs warning message. +Sat Feb 22 20:49:45 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-decl.c (init_decl_processing,auto_function): New approach to + defining the default functions `operator new' and `operator delete'. + * cp-init.c (init_init_processing): Rest of changes here. + * libgcc2.c (_builtin_{new,delete,New}): Gone. + * libgcc2.c (_new_handler): New name for section that defines the + default new handler. + Sat Feb 22 02:09:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * Version 2.0 released. @@ -2524,6 +6565,11 @@ Fri Feb 21 16:47:32 1992 Michael Meissn OSF/rose half-pic shared library support. Currently these are stub functions. +Fri Feb 21 16:07:02 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-parse.y (get_current_declspecs): New function + (needed for naming sections). + Fri Feb 21 01:34:08 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) * dwarfout.c (location_or_const_value_attribute): Use DECL_RTL again. @@ -2651,11 +6697,15 @@ Sun Feb 16 13:05:36 1992 Michael Tieman * cp-lex.c (do_identifier): Remove call to `assemble_external' when implicitly declaring ID. - * cp-parse.y (primary): Simplify rules for calling assemble_external. + * cp-parse.y (primary): Simplify the rules for calling + `assemble_external'. * cp-decl.c (finish_function): For destructors, don't call expand_expr_stmt if EXPRSTMT is VOID_ZERO_NODE. + * cp-typeck.c (default_conversion): Parallel Jan 21 change in + c-typeck.c. + Sun Dec 16 23:31:54 1992 Ron Guilmette (rfg at ncd.com) * dwarfout.c (fundamental_type_code): Deleted gunk for handling