diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-08-11 15:56:58 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 1997-08-11 15:56:58 +0000 |
commit | 071cd279a6ac9efccecd8171777a9fc99ac4796a (patch) | |
tree | b2e1ea43e0bdba8cca9bb02ed01f5e3da5a955a6 /gcc/ChangeLog.5 | |
parent | 5b48acd0eb694e43d357e6ad8f2daa604ad8d2ff (diff) | |
download | gcc-071cd279a6ac9efccecd8171777a9fc99ac4796a.tar.gz |
Initial revision
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@14764 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ChangeLog.5')
-rw-r--r-- | gcc/ChangeLog.5 | 8954 |
1 files changed, 8954 insertions, 0 deletions
diff --git a/gcc/ChangeLog.5 b/gcc/ChangeLog.5 new file mode 100644 index 00000000000..c6248db5290 --- /dev/null +++ b/gcc/ChangeLog.5 @@ -0,0 +1,8954 @@ +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. + + * c++: -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<xxx> 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<xx> 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 __<name>__ form of the language macros instead + of __<name>. + (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 <alloca.h> 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. + + * xcoffout.h: Renamed from xcoff.h. + * dbxout.c, final.c, toplev.c, varasm.c, xcoffout.c: Use new name. + * Makefile.in: Corresponding changes. + + * dbxout.c (dbxout_type): Don't check DECL_IGNORED_P. + + * t-rs6000: Complete replacement, to build collect2 properly. + + * Makefile.in (mostlyclean): Delete sorted indices that aren't used. + (extraclean): Delete patch outputs, *.d, *.Z, *.tar. + + * Makefile.dos (getpwd.o): New target. + (OBJS, protoize, unprotoize): Add getpwd.o. + (SYSCALLS.c, SYSCALLS.c.X): Copy from Makefile.in. + +Tue Mar 24 06:26:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (cse_insn): When deleting dead code after + making unconditional branch, check for end of chain. + + * sched.c (update_flow_info): Add code for REG_LABEL case. + + * function.c (instantiate_virtual_regs_1): Don't modify a MEM + without copying it unless the modified MEM is valid. + + * cse.c (rtx_cost): Assign ASM_OPERANDS a high cost. + +Tue Mar 24 05:48:25 1992 Ken Raeburn (raeburn@wombat.gnu.ai.mit.edu) + + * cp-*: Disabled 22 March changes relating to dbxout.c; the problem + will be fixed properly, with more extensive reworking of the C++ + front end, later. This fix was buggy. + * dbxout.c (dbxout_type_methods): Reverted 22 March changes; if a + template class is passed, print a warning message and emit no info + about methods. + +Mon Mar 23 14:18:30 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-cc1.com: Add getpwd.c. + +Mon Mar 23 12:53:02 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi) + + * pc532-min.h (HAVE_ATEXIT): Defined. + + * ns32k.c (print_operand) [PC_RELATIVE]: + Always use output_address for MEM. + + * pc532.h (BASE_REG_NEEDED): Defined. + +Mon Mar 23 07:28:14 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (try_combine): Correct error in last change; don't + pass STRICT_LOW_PART or ZERO_EXTRACT to reg_overlap_mentioned_p. + + * sun3.h (CPP_SPEC): Delete extra brace. + +Mon Mar 23 02:43:56 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu) + + * cp-decl.c (pop_from_top_level): Take care of C_C_D. + +Sun Mar 22 17:24:09 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * pyr.h: Remove TARGET_INDEX. Update other TARGET switches. + Fix several comments. + (REGNO_OK_FOR_BASE_P): Allow reg 0. + (REGNO_OK_FOR_INDEX_P): Reformulate. + (REG_OK_FOR_INDEX_P): Disallow reg 0. + +Sun Mar 22 15:10:49 1992 Michael Meissner (meissner@osf.org) + + * mips-tfile.c (mark_stabs): Make function defintion agree with + prototype. + + * mips.md (cpu, branch_likely attributes): Make these attributes + const. + (all functional units): Restore functional units that look at the + -mcpu= switch for scheduling now that genattrtab uses less memory. + +Sun Mar 22 13:57:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-typeck.c (convert_for_assignment): + Only explicit 0 converts to pointer. + + * Makefile.in (doc): Don't depend on gplus.info. + (gplus.info): Target deleted. + + * c-decl.c (store_parm_decls): Call build_type_copy with just one arg. + + * cccp.c (do_include): Use entire filename when checking for repeat. + Use lookup_include. + (lookup_include): New function. + + * protoize.c (find_extern_def): Store ??? one char at a time. + + * sparc.h (ASM_OUTPUT_FLOAT): Fix typo. + + * fold-const.c (operand_equal_p): Reject NaNs and infinities. + + * varasm.c (immed_real_const): Distinguish minus zero from zero. + + * sparc.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT): + Use `inf' for infinities. Use hex for minus-zero. + + * objc-actions.c (build_selector_translation_table): + Don't make a duplicate decl here for _OBJC_SELECTOR_REFERENCES. + Just call finish_decl to store the initial value. + Call push_obstack_nochange to balance with finish_decl. + Use selector_type for declaring individual selector names. + +Sun Mar 22 13:11:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * loop.c (update_giv_derive): Correctly handle the case where + more than one biv update occurs after a giv is defined. + + * cse.c (rehash_using_reg): Add missing arg to call to exp_equiv_p. + + * expmed.c (expand_mult_add): Add missing arg to call to type_for_mode. + + * reorg.c (fill_slots_from_thread): In the case where have a reg-reg + copy and will substitute our destination for our source in the + following insn, correctly check for it modifying our destination. + +Sun Mar 22 09:20:16 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-typeck.c (unary_complex_lvalue): Don't complain about taking + the ``address'' of a bound static method or member. + + * cp-init.c (resolve_offset_ref): Fix bug in handling of static + members and member functions. + + * cp-decl2.c (finish_file): If CURRENT_CLASS_TYPE is non-NULL on + entry to this function, punt. + + * cp-parse.y (template_parm): Use CLASS_TYPE_NODE instead of + CLASS_TYPE value. + + * cp-cvt.c (build_type_conversion): Add another add-hoc rule to find + unsigned->int conversion (if conversion to long does not exist). + + * cp-method.c (build_overload_name): Don't call `array_type_nelts' + if the TYPE_DOMAIN of an array type is NULL_TREE. + + * cp-init.c (build_offset_ref): Set up and use DECL even in case + where NAME resolves to a method. + + * cp-call.c (ideal_candidate): Half of Jan 28 change was missing. + Now PARMS are not converted in place if BASETYPE is NULL. + + * cp-typeck.c (build_component_ref): Don't return a TYPE_DECL. + + * cp-type2.c (build_functional_cast): If CURRENT_FUNCTION_DECL is + NULL, don't wrap EXPR_AS_CTOR in a NEW_EXPR. This make it possible + to parse default initializers that involve constructor calls. + * cp-typeck.c (convert_for_initialization): Handle this change. + * cp-method.c (dump_init): Grok INDIRECT_REFs that have + TREE_HAS_CONSTRUCTOR set. + + * cp-decl.c (push_overloaded_decl): Don't use the + DECL_ASSEMBLER_NAME for GLOB as the TREE_PURPOSE of the new GLOB. + Use ORIG_NAME instead. + + * cp-decl.c (grokvardecl): If FIELD has incomplete type, complete it + with TYPE. + + * 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-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. + +Sun Mar 22 01:28:41 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + Fix dbx info for methods of template classes: + * cp-decl.c (make_type_decl): New function. Creates a TYPE_DECL + node and assigns as its DECL_ASSEMBLER_NAME the encoded form of the + type name as it will be used in assembler output. All calls to + build_decl(TYPE_DECL,...) changed to call this. + * dbxout.c (dbxout_type_methods): Instead of skipping digits and + assuming the human-readable type name follows in the assembler names + for methods, use DECL_ASSEMBLER_NAME of the type. + Handle the special DECL_NAME that is made for templates. + * cp-lex.c (build_lang_field_decl): Set DECL_ASSEMBLER_NAME + correctly if new decl is a TYPE_DECL. + (build_lang_decl): Ditto. + * cp-decl.c (pushdecl): Use DECL_ASSEMBLER_NAME only for + FUNCTION_DECL and VAR_DECL nodes; all others use DECL_NAME. + * cp-tree.h (make_type_decl): Declare it. + + * cp-pt.c (overload_template_name, undo_template_name_overload): + Revert 4 March change. + + * cp-decl2.c: No longer define NEW_OVERLOAD_SCHEME. + (grokfield): Use new encoding scheme always. + + * cp-pt.c (overload_template_name): Deleted extra assignment to + IDENTIFIER_LOCAL_VALUE slot. + + * cp-method.c (dump_aggr_type): Use DECL_CONTEXT rather than + DECL_CLASS_CONTEXT. + + * cp-pt.c (instantiate_class_template): Move some common code from + two branches to before branch point. + + * cp-method.c (dump_aggr_type): Don't discard last character of + context string; it's not whitespace. + +Sun Mar 22 15:58:48 1992 Per Bothner (bothner@rtl.cygnus.com) + + * cp-tree.h: Add more enum->int casts needed by some compilers. + +Sun Mar 22 20:40:25 1992 Mike Stump (mrs@cygnus.com) + + * cp-typeck.c (build_modify_expr): Handle preincrement and + predecrement as valid lvals. + + * gplus.gperf: Finish off changing ASM to ASM_KEYWORD. + * cp-hash.h: Rebuilt. + +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. + + * local-alloc.c (wipe_dead_reg): If insn has multiple sets and + the reg appears in a destination, extend life to end of insn. + * global-alloc.c (global_conflicts): Analogous change. + (mark_reg_conflicts): New function. + * combine.c (try_combine): If I2 has multiple dests, make sure + we don't change one of them to overlap anything used within another. + + * configure (pyramid): Commented out. + + * toplev.c (main): Handle -gen-aux-info, with argument. + (compile_file): Assume aux_info_file_name already computed. + Don't make it local here. + * protoize.c (munge_compile_params): Produce -aux-info. + Set aux_info_file_name_index. + (gen_aux_info_file): Produce and store the aux-info file name. + (input_file_name_index): Renamed from filename_index. + (aux_info_file_name_index): New var. + * Makefile.in (SYSCALLS.c.X): Use -aux-info. + * gcc.c, hp800.h, next.h, sparc.h, sun2.h, sun3.h, svr4.h: + (WORD_SWITCH_TAKES_ARG): Handle -aux-info. + * gcc.c (default_compilers): Pass -aux-info to cc1*. + + * configure (mips-*-sysv*): Renamed from mips-*-sysv and moved down. + + * gcc.c (execute): Undo Mar 12 change. + + * configure (i386-*-bsd*): New alternative. + * i386bsd.h: New file. + +Sat Mar 21 15:14:08 1992 Ron Guilmette (rfg at ncd.com) + + * sparc.c (output_move_double): Check for XEXP (op2, 0) being a + LOW_SUM, rather than checking op2. Handle both ldd and std there. + +Sat Mar 21 14:14:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * vms.h (CPP_PREDEFINES): Do not define __GNU__. + +Sat Mar 21 21:35:37 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi) + + * ns32k.md (call_value): Added a missing "{". + + * ns32k.c (print_operand): Fixed typo X -> x, FILE -> file. + +Sat Mar 21 11:11:04 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 14. + (CPP_PREDEFINES): Always define SYSTYPE_BSD43. + (CPP_SPEC): Don't define it here. + (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler, + and only pass -nocpp by default unless .s files are assembled for + MIPS compatibility. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to MIPS linker. + (MD_STARTFILE_PREFIX): Define to be /usr/lib/cmplrs/cc/ if not + already defined. + (NM_FLAGS): Define as appropriate for most MIPS systems. + (PREFERRED_DEBUGGING_TYPE): If -ggdb prefer stabs over the normal + ECOFF debug format, but -g selects ECOFF. + (DEFAULT_GDB_EXTENSIONS): Define as 1. + (DOLLARS_IN_IDENTIFIERS): Don't define if already defined. + + * mips.c (mips_output_filename): If emitting encapsulated stabs, + emit #@stabs immediately after the first .file, so that the @stabs + is the second symbol. GDB 4.4 only checks symbol #2 to see whether + it is encapsulated stabs, or ECOFF. + + * mips.md (subdi define_splits): Use ltu instead of lt. + (branch_zero_true): Generate correct code when not optimizing, and + an always true/false branch is generated. + (branch_zero_false): Ditto. + + * mips-bsd.h (CPP_PREDEFINES): Always define SYSTYPE_BSD43. + (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support. + Don't pass -I in here. + (SYSTEM_INCLUDE_DIR): Define to be /bsd43/usr/include. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. Remove + -Z{BSD43,SYSV} support. Always pass -systype /bsd43/ to the linker. + + * mips-sysv.h (CPP_PREDEFINES): Always define SYSTYPE_SYSV. + (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support. + Don't pass -I in here. + (SYSTEM_INCLUDE_DIR): Define to be /sysv/usr/include. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. Remove + -Z{BSD43,SYSV} support. Always pass -systype /sysv/ to the linker. + (MD_STARTFILE_PREFIX): Remove, this is now defined in mips.h. + + * mips-news.h (CPP_SPEC): Don't pass -I in here. + (SYSTEM_INCLUDE_DIR): Define to be /usr/include2.0. + (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS assembler, + and only pass -nocpp by default unless .s files are assembled for + MIPS compatibility. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. + + * mips-news5.h (CPP_PREDEFINES): Define SYSTYPE_SYSV. + (CPP_SPEC): Don't define it here. Remove -Z{BSD43,SYSV} support. + Don't pass -I here. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. + + * iris.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to MIPS + assembler, and only pass -nocpp by default unless .s files are + assembled for MIPS compatibility. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the linker. + + * iris.h (DOLLARS_IN_IDENTIFIERS): Define as 0, for iris assembler. + (NO_DOLLAR_IN_LABEL): Define, to force static constructors to use a + period instead of a dollar sign. + + * decstatn.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to + MIPS assembler, and only pass -nocpp by default unless .s files are + assembled for MIPS compatibility. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker. + + * decsrose.h (ASM_SPEC): Pass -cpp/-nocpp/-mips1/-mips2/-mips3 to + MIPS assembler, and only pass -nocpp by default unless .s files are + assembled for MIPS compatibility. + (LINK_SPEC): Pass -mips1/-mips2/-mips3 to the MIPS linker. + + * Makefile.in (collect2.o): Define macros where the standard places + binaries are installed, so that if it is invoked outside of gcc, it + has a better chance of finding the correct version of the tools to + invoke. + + * mips-tdump.c (toplevel): Declare things void * on Silicon Graphics. + + * mips-tfile.c (toplevel): Declare things void * on Silicon + Graphics. + (stabs_seen): Move static variable to file scope. + (mark_stabs): New function to put out the @stabs symbol for GDB to + switch to encapsulated stabs. + (pseudo_ops): Call mark_stabs if #@stabs found. + (parse_stabs_common): Call mark_stabs if needed to add @stabs. + + * sdbout.c (sdbout_dequeue_anonymous_types): Don't core dump if + TREE_VALUE is null. + + * decstabs.h (new file): DECstation w/encapsulated stabs. + * irisgdb.h (new file): SGI iris w/encapsulated stabs. + * mips-gbsd.h (new file): Mips BSD43 w/encapsulated stabs. + * mips-gdb.h (new file): Mips w/encapsulated stabs. + * mips-gnews.h (new file): Sony NEWS w/encapsulated stabs. + * mips-gnews5.h (new file): Sony NEWS 5.0 w/encapsulated stabs. + * mips-gsvr4.h (new file): Mips SV.4 w/encapsulated stabs. + * mips-gsysv.h (new file): Mips SV.3 w/encapsulated stabs. + * mips-svr4.h (new file): Mips System V.4. + * x-iris (new file): Specify that iris needs alloca.o since it's + alloca is buggy. + + * dbxout.c (toplevel): If NO_STAB_H is defined, include gstab.h just + like if USG is defined. + * final.c (toplevel): Ditto. + * mips-tfile.c (toplevel): Ditto. + * xcoffout.c (toplevel): Ditto. + + * xm-mips.h (NO_STAB_H): Define, except on OSF/1. + +Fri Mar 20 23:51:54 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * reg-stack.c (subst_asm_stack_regs): A REG_UNUSED note never + applies to an input reg, even if that reg is tied to an output. + + * reg-stack.c (record_asm_reg_life): Use XVECLEN only on a PARALLEL. + (subst_asm_stack_regs): Likewise. + +Fri Mar 20 18:57:43 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 13. + (mips_declare_object): Declare new function. + (ASM_OUTPUT_LABEL): Remove cruft from when collect spit out assembly + language instead of C code. + (ASM_GLOBALIZE_LABEL): Ditto. + (ASM_OUTPUT_INT): Ditto. + (ASM_OUTPUT_INT_CONST): Remove, no longer used. + (ASM_OUTPUT_PTR_INT_SUM): Ditto. + (ASM_OUTPUT_LABEL): Don't set that we've seen an identifier here. + (ASM_DECLARE_OBJECT_NAME): New macro, call mips_declare_object to + emit the label, and mark that no .extern is needed for the name. + (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Call mips_declare_object. + + * mips.c (mips_declare_object): New function to output the stuff + needed for global variables, bss variables, and static bss + variables. + +Fri Mar 20 14:13:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cp-xref.c (GNU_xref_file): Get rid of arbitrary limit--malloc nmbuf. + + * cp-parse.y (scoped_id): Error if spec'd type is undefined. + + * m68k.c (output_function_epilogue): Output at least a nop. + + * xm-hp320.h (USG): Defined. + + * m68k.c (output_function_prologue, output_function_epilogue): + Change %I to %0I. + (print_operand): Likewise. + + * varasm.c (data_section): Add forward decl. + + * m68k.c (print_operand): Make %! print fpcr. + * crds.h, hp320.h, mot3300.h, news.h, tower-as.h (PRINT_OPERAND): + Likewise. + * m68k.md (fix_trunc*): Use %!. + + * toplev.c (compile_file): Optionally call setvbuf for output file. + + * loop.c (move_movables): Fix typo. + +Fri Mar 20 17:42:12 1992 Paul Eggert (eggert@twinsun.com) + + * Makefile.in (SYSCALLS.c): Use `cat' to create this file, instead + of having it consist of `#include' directives. + (mostlyclean): Delete SYSCALLS.c. + * SYSCALLS.c: File deleted. + + * getpwd.c (new file): Get and cache working directory, using PWD + if it works and getcwd otherwise. + * Makefile.in (OBJS, protoize): add getpwd.o + * cp-xref.c (GNU_xref_file): Likewise. + * dbxout.c (dbxout_init): Likewise. + * dwarfout.c (output_compile_unit_die): Likewise. + * protoize.c (main): Likewise. + +Fri Mar 20 12:58:57 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (location_or_const_value_attribute): Fixed to use + DECL_INCOMING_RTL as the "location" for formal parameter variables. + +Fri Mar 20 13:26:16 1992 Michael Collison (collison@osf.org) + + * i386rose.h (INIT_SECTION_ASM_OP): OSF doesn't support a true + initialization section. + +Fri Mar 20 07:23:15 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.md (set zero_extract patterns): Use the + constraint. + + * crtstuff.c (__do_global_ctors_aux): Declare it. + + * m88k.h (CONDITIONAL_REGISTER_USAGE): Mark the PIC register fixed, + but not call used. + + * m88k.c (m88k_builtin_saveregs): Get a properly aligned block. + + * m88k.md (cpu attribute): Use const form. + + * m88k.h, m88k.c, m88kdgux.h (uses of *_ASM_OP): Add tabs. + +Fri Mar 20 05:46:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * expmed.c (emit_store_flag): Need to prevent SUBTARGET from being + OP0 in one more case. + + * loop.c (add_label_notes): New function. + (move_movables): Use it when hoisting a `move_insn' movable + to ensure we create any required REG_LABEL notes. + + * hp800.h (CONDITIONAL_REGISTER_USAGE): Make reg 27 a global_reg + for now. + + * combine.c (make_field_assignment): Use correct mode when shifting + the source of the assignment. + + * fold-const.c (invert_truthvalue): Correct error in last change. + +Thu Mar 19 18:59:24 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * stmt.c (expand_end_case): Convert do_tablejump arg to Pmode. + +Thu Mar 19 16:54:15 1992 Michael Meissner (meissner@osf.org) + + * collect2.c (main): Only pass -fxxx and -mxxx options to gcc when + building constructors. + +Thu Mar 19 16:44:21 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * fold-const.c (invert_truthvalue): Correctly check for floating + comparison. + +Thu Mar 19 14:42:49 1992 Tom Wood (wood at dg-rtp.dg.com) + + * function.c (expand_main_function): Do so if INVOKE__main is defined. + * libgcc2.c (__main): Provide if INVOKE__main is defined. + * crtstuff.c (__do_global_ctors_aux): Renamed from __do_global_ctors. + (__do_global_ctors): Simple non-static function that invokes + __do_global_ctors_aux. + + * crtstuff.c ({CTOR,DTOR}_LIST_{BEGIN,END}): Allow alternate way + to represent and define __{CTOR,DTOR}_LIST__. + * i386v.h, aix386.h (CTOR_LIST_{BEGIN,END}): Use these to push + instead of the funny definition of CTORS_SECTION_ASM_OP. + * svr3.h (CTORS_SECTION_ASM_OP): Use the .init section. + + * m88kv3.h (CTOR_LIST_BEGIN): Emit code to .init to push a zero. + (CTOR_LIST_END): Do nothing. + (ASM_OUTPUT_CONSTRUCTOR): Emit code to .init to push the address. + (DTOR_LIST_{BEGIN,END}): Output a block of four words. + (ASM_OUTPUT_DESTRUCTOR): Output the address and three words of -1. + (DO_GLOBAL_DTORS_BODY): Ignore all values of -1. + + * real.h (REAL_VALUE_ISNAN): Define. + * fold-const.c (target_isnan): New function. + * sun3.h, sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE}): Use REAL_VALUE_ISNAN. + + * sun3.h: Delete extra #endif. + +Thu Mar 19 14:25:50 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * hp800.c (output_move_double): Don't check for CONST_DOUBLE + when classifying operand types, CONSTANT_P now includes it. + Use split_double to assign operand vectors for CNSTOP. + +Thu Mar 19 13:59:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * hp320.h (SPACE_AFTER_L_OPTION): Defined. + (LIB_SPEC): Defined. + + * toplev.c (compile_file): Output aux_info_file in source file's dir. + +Wed Mar 18 17:42:12 1992 Paul Eggert (eggert@twinsun.com) + + * c-aux-info.c (gen_aux_info_record): Don't put the absolute path + name into the output file: it's useless, expensive, and often wrong. + Use "." instead. + * protoize.c (is_syscalls_file): Look for SYSCALLS.c only at the + end of the file name. + (abspath): Remove useless test of '\0' versus '/'. Add apollo fix. + (shortpath): Stop when replacement filename is longer than the + original; this avoids buffer overrun. Do not pretend that + `a/b/c' is a path prefix of `a/b/cd'. + (gen_aux_info_file): Report errors when compilation fails. + Do not use stdio in child process. + Don't say `exit(errno)'; errno might be too large. + (process_aux_info_file): Increment error count if aux info file cannot + be generated. Allow the invocation filename to be relative; + for now, it will always be ".". + (do_processing): Replace strlen (x) with sizeof (x) - 1. + +Thu Mar 19 13:31:24 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * cse.c (simplify_binary_operation, PLUS and MINUS cases): Use + arg0s and arg1s instead of arg0 and arg1, so that resulting values + will be sign extended. + + * sched.c (sched_analyze_1): Don't call sched_analyze_2 at the end. + This code was never executed, and is wrong. + (sched_analyze_2): Convert from if statements to a switch. + Add support for PRE_DEC/PRE_INC/POST_DEC/POST_INC; pass them to + sched_analyze_1 because they are writes. + (sched_analyze_insn): Delete special case code to handle REG_INC + notes, obsoleted by change above. + + * sparc.c (output_block_move): Rewrite to more efficiently handle + constant length strings whose length is not a multiple of their + alignment. Also, the length of strings handled without a loop now + is a multiple of their alignment, instead of fixed size. + + * objc-actions.c (build_selector_translation_table): Add cast for + array index from enum to int to satisfy old compiler. + + * c-parse.gperf: Change ASM to ASM_KEYWORD. + * gplus.gperf: Likewise. + + * Makefile.in (install-man): Delete duplicate lines. + +Thu Mar 19 02:32:06 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (init_decl_processing): Disable `sqrt'. + +Thu Mar 19 01:09:16 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.c (output_move_double): Properly check for signedness in a + const_double. + +Wed Mar 18 18:51:37 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (link_command_spec) [not LINK_LIBGCC_SPECIAL]: Put back -s. + + * config.sub (i486): Accept as CPU type. + + * collect2.c (do_wait): Handle NO_SYS_SIGLIST. + * xm-hp320.h (NO_SYS_SIGLIST): Defined. + +Wed Mar 18 15:58:31 1992 Tom Wood (wood at dg-rtp.dg.com) + + * crtstuff.c, dwarfout.c, svr3.h, svr4.h (*_ASM_OP): Remove tabs + and newlines. + * dwarfout.c, svr3.h, svr4.h + (ASM_OUTPUT_*, ASM_DECLARE_*, ASM_DWARF_*): Put tabs here when needed. + +Wed Mar 18 17:26:44 1992 Ron Guilmette (rfg at ncd.com) + + * svr4.h (MULTIBYTE_CHARS): Added definition. + +Wed Mar 18 17:36:30 1992 Michael Meissner (meissner@osf.org) + + * gcc.c (collect_obstack): New static obstack to build the + environment variables to pass to collect, so that it can reliably + find the compiler passes. + (putenv): New function to add a variable to the environment. + Stubbed out for MSDOS and VMS at present, or if HAVE_PUTENV is + defined. + (putenv_from_paths): New function to take a path list, and build + the corresponding environment variable for it. + (main): Pass argv[0] to collect through the environment variable + COLLECT_GCC. Rebuild the COMPILER_PATH and LIBRARY_PATH + environment variables to include all prefixes specified with -B, + -b, and -V. Construct COLLECT_GCC_OPTIONS environment variable to + consist of all of the options passed to gcc, except for the -B, + -b, and -V options. + + * collect2.c (main): Correctly size the number of arguments passed + to the compiler when building the constructor lists to account for + any options passed through the environment variable + COLLECT_GCC_OPTIONS. If the environment variable COLLECT_GCC + specifies a full pathname, use that for the pathname to invoke gcc + with. Print the name "collect2" in lowercase if -v. + + * xm-mips.h (HAVE_PUTENV): Define if OSF/1. + +Wed Mar 18 07:27:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * hp800.c (actual_fsize): Remove duplicate declaration. + (profile_flag): Remove definition; defined in flags.h. + (hp_profile_labelno, local_fsize, save_fregs): Move declarations to + top of file. + + * hp800.h (OPTIMIZATION_OPTIONS): Do same thing as Sparc. + + * combine.c (reg_bitfield_target_p): Use rtx_equal_p instead of + assuming the actual rtx is used. + +Wed Mar 18 00:20:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gstddef.h: Handle _GCC_PTRDIFF_T, _GCC_SIZE_T, _GCC_WCHAR_T. + * fixincludes: Use those macros in inserted conditionals. + + * gstddef.h: Handle _T_SIZE_ and _T_PTRDIFF_, like _T_WCHAR_. + + * sun3.h (CPP_SPEC): Delete the alternative for fpa as default. + Define symbols with __ as well as without. + + * hp320.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR): + Define unless USE_GAS. + +Tue Mar 17 17:19:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixincludes (making directories): Always use find. + + * c-decl.c (pushdecl): Don't warn if define nonansi builtin as static, + or if define ANSI builtin as inline static. + + * hp800hpux.h (LINK_LIBGCC_SPECIAL, RELATIVE_PREFIX_NOT_LINKDIR): New. + + * fixinc.svr4: Special changes for Sony MIPS-NEWS. + +Tue Mar 17 15:12:57 1992 Tim Moore (moore@defmacro.cs.utah.edu) + + * hp800.h (INITIAL_FRAME_POINTER_OFFSET): Get sign right, include + fixed area. + +Tue Mar 17 14:06:01 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (all.indirect): Renamed from all-internal. + + * t-mips (ALL): Deleted. + +Tue Mar 17 10:35:18 1992 Michael Meissner (meissner@osf.org) + + * halfpic.c (half_pic_address_p): Fix typo in last change. + + * x-decrose (CLIB): Add -lbsd, since vfork moved to libbsd.a. + * x-encrose (CLIB): Ditto. + * x-i386rose (CLIB): Ditto. + +Tue Mar 17 07:02:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * mips.md (movdi): FP_REGS don't allow DImode, so remove them + from the constraints. + + * mips.md (unaligned moves): Use UNSPEC to distinguish SETs that are + unaligned from those that aren't. + + * combine.c (try_combine): Update LOG_LINKS correctly when we split a + PARALLEL that loads from memory both as a full-word and sign-extended. + +Tue Mar 17 21:23:10 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * vax.c (split_quadword_operands): Fix typo. + + * make-cc1.com: Add xcoffout.c. + +Mon Mar 16 17:12:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * configure (mips-dec-ultrix*): Use x-decstatn. + * x-decstatn (CLIB): Delete. + + * expr.c (move_by_pieces_1): Add negative ints--don't subtract ints. + + * next.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Turned off. + * t-next (EXTRA_PROGRAMS, ld): Use collect2. + * configure (m68k-next-*): Use t-next. + + * mips-bsd.h (TARGET_MEM_FUNCTIONS): Defined. + +Mon Mar 16 14:04:08 1992 Tim Moore (moore@defmacro.cs.utah.edu) + + * hp800.md (movsi + 10, movsi + 11): Add '*' to constraints. + (fix_truncsfsi2, fix_truncdfsi2): Add an alternative to put result + directly in a general register. + * hp800.h (ASM_DECLARE_FUNCTION_NAME): If function is not + TREE_PUBLIC, don't do the argument descriptor magic. + (EXPAND_BUILTIN_SAVEREGS): call hppa_builtin_saveregs. + (LEGITIMIZE_ADDRESS): Don't legitimize CONST addresses. + (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Put tabs back in. + * xm-hp800.h (S_ISDIR): Define for BSD. + + * hp800.c (hppa_builtin_saveregs): New function. + * va-hp800.h : Rewrite. + + +Sun Mar 15 23:38:39 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * objc-actions.c (really_start_method): Dynamically allocate `buf'. + + * sparc.h (TARGET_HOPE_ALIGN): Renamed from TARGET_ALIGN. + * sparc.c (output_move_double, output_fp_move_double): Use new name. + * sparc.h (TARGET_FORCE_ALIGN): New flag. + (FUNCTION_ARG_BOUNDARY): Defined. + (FUNCTION_ARG, FUNCTION_INCOMING_ARG, FUNCTION_ARG_ADVANCE): + (FUNCTION_ARG_PARTIAL_NREGS): Handle TARGET_FORCE_ALIGN. + (ROUND_REG): New subroutine macro. + + * sparc.h (CC1_SPEC): Don't try to recognize -dalign. + + * hp320.h (ASM_OUTPUT_ASCII): Put tab here. + (ASCII_DATA_ASM_OP): Not here. + * mot3300.h: Likewise. + + * Makefile.in (mostlyclean): Don't delete .s or .i files. + (extraclean): Do that here. + + * a29k.h, fx80.h, gmicro.h, i860v3.h, i860v4.h (*_ASM_OP): Remove tabs. + * m88kv4.h, m88kdgux.h, mips.h, romp.h, rs6000.h: Likewise. + * sun386.h, tower-as: Likewise. + * arm.h, hp800.h (*_ASM_OP): Remove extra tabs and newlines. + * m68ksgs.h (*_ASM_OP): Remove tabs. + (ASM_OUTPUT_*): Put the tabs here when appropriate. + * m68kv4.h, m88k.h, next.h: Likewise. + +Sun Mar 15 18:37:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (inc_for_reload): Rework to try to do addition in + INCLOC rather than assuming when it can be done; this fixes a bug + on hp800 and generates better code on some CISC machines. + +Sun Mar 15 15:12:39 1992 Ron Guilmette (rfg at ncd.com) + + * crtstuff.c: If defined, invoke INIT_SECTION_PREAMBLE. + + * xm-sparcv4.h, x-sparcv4: New files. + * configure (sparc-*-sysv4*): Use them. + +Sun Mar 15 16:41:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * sparc.md (subdi3): Fix unterminated comment. + +Sun Mar 15 04:08:59 1992 Torbjorn Granlund (tege at zevs.sics.se) + + * hp800.c (output_block_move): Major rewrite. + * hp800.md (movstrsi): Rewrite to match new output_block_move. FAIL + if the actual operands are better handled by a library call. + (movstrsi recognizer): Rewrite. + + * sparc.md (movstrsi): FAIL for all blocks with unknown size. + +Sat Mar 14 19:06:02 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * c-decl.c (builtin_function): Don't declare static. + +Sat Mar 14 15:57:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * expr.c (get_pointer_alignment): Convert bytes to bits + when handling PLUS_EXPR. + + * cp-search.c (push_stack_level): Declare tp as char *. + + * mips.c (mips_asm_file_end): Use TREE_ASM_WRITTEN to avoid + duplicate .extern commands. + + * mips-tdump.c: Include fcntl.h. + * mips-tfile.c (open, fstat): Declarations deleted. + + * xm-mipsnews.h: New file. + * mips-news5.h: New file. Needs papers from Ron Cole. + * configure (mips-sony-sysv*): New alternative. + +Sat Mar 14 07:11:14 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * integrate.c (initialize_for_inline): If DECL_INCOMING_RTL is + the same object as DECL_RTL, store copy in both places. + +Sat Mar 14 10:12:39 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-spew.c (yylex): Fix some fencepost errors found by Chip + Salzenberg. + + * cp-init.c (is_aggr_typedef): Now calls `error' instead of `fatal' + if NAME is non-AGGR type. + + * cp-class.c (duplicate_tag_error): Set CLASSTYPE_VBASE_SIZE. + +Sat Mar 14 00:28:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (do_spec_1): Don't copy closing delim in %(...) or %[...]. + (read_specs): Don't ignore newline that ends a comment. + (handle_braces): Properly terminate scan for %*. + (validate_all_switches): Scan any extra specs from specs file. + + * x-iris: File deleted. + + * cccp.c (output_line_command): Avoid outputting line number 0. + + * final.c (asm_fprintf): Handle %O. + * m68k.c: Insert %O before `move' in MOTOROLA calls to asm_fprintf. + +Fri Mar 13 20:17:40 1992 Mike Stump (mrs@cygnus.com) + + * cp-typeck.c, cp-type2.c, cp-tree.c, cp-spew.c, cp-search.c, + 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]: + 1st arg always an object. + (synth_module_prologue): Don't use parser interface, just build nodes. + Use `void *' to avoid problems with TAG_SUPER vs _TAG_SUPER. + (TAG_SUPER, _msg_id, _msgSuper_id): Deleted. + (objc_getClass_id, objc_getMetaClass_id): Deleted. + (selector_type): Renamed from _selector_type. + (forward_declare_categories, build_objc_symtab_template): + Don't use parser interface, just build nodes. + (create_builtin_decl): New function. + + * hp800hpux.h (LIB_SPEC): New definition. + + * arm.h (TARGET_WHEN_DEBUGGING): Name corrected. + + * protoize.c (abspath): Make abs_buffer a little longer. + + * encore.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined. + (EXTERNAL_PREFIX, IMMEDIATE_PREFIX): Defined. + (TARGET_DEFAULT): Changed to 9. + (ENCORE_ASM): Defined. + + * sequent.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS): Deleted. + (IMMEDIATE_PREFIX): Define as 0. + (SEQUENT_ASM): Defined. + * ns32k.c (print_operand): Output f.p. as ints if SEQUENT_ASM. + Output doubles using 0f, not 0d, if ENCORE_ASM. + + * configure: If no configuration matches, print error and exit. + (m68k-sun-sunos*): Renamed from m68k-sun-sunos4*. + + * configure (copy): New variable. + If hard link fails, make a copy. + + * mips.c (mips_asm_file_end): Don't set flags in identifiers. + Just output every identifier found in extern_head. + + * configure (sparc-tti-*): Renamed from sparc-unicom-*. + (m68k-tti-*): Replaced. + (m68k-tti2-*): Deleted + + * config.sub (pbd): Alias for sparc-tti, not sparc-unicom. + (pbb): New machine alias. + (*-tti): Implies os=-sysv3. + (-oss*): Alias for -sysv3. + +Fri Mar 13 17:20:52 1992 david d [zoo] zuhn (zoo at lynx.spa.umn.edu) + + * x-mips: add -mld. + +Fri Mar 13 14:48:05 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * hp800.h (REGISTER_NAMES): Name register 112, the shift amount + register, as "SAR". It was left out. + +Fri Mar 13 04:08:53 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386isc.h (STARTFILE_SPEC): Use crt1, not crt0. + + * x-i386sco (CC,OLDCC): Don't define `i386' here. + (RCCFLAGS): Define it here, along with other SCO symbols. + (XCFLAGS): Use that. New variable. + (CLIB): Use -lPW to get alloca. + +Fri Mar 13 14:11:41 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * Changes to enable use of sqrt builtin functions. + * c-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for + __builtin_sqrt. Also enable for sqrt if not traditional. + * cp-decl.c (init_decl_processing): Enable BUILT_IN_FSQRT for + __builtin_sqrt. + * expr.c (expand_builtin, case BUILT_IN_FSQRT): New case. Call + expand_unop to expand the operation. If that fails break and + emit a call to the library sqrt function. + * optabs.c (init_optabs): Initialize new optabs for sqrt functions. + * expr.h (sqrt_optab): Declare here so that expr.c can see it. + +Fri Mar 13 08:56:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (delete_dead_from_cse): Fix error in last change. + + * a29k.h (PCC_BITFIELD_TYPE_MATTERS): Define as 1. + + * reorg.c (fill_slots_from_thread): Add missing arg in call to + try_split call that was recently added. + + * fold-const.c (invert_truthvalue, case COMPOUND_EXPR): New case. + +Fri Mar 13 01:02:56 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * collect2.c (ordinary scan_prog_file): Don't count | in sym name. + + * ns32k.md (movsf): Remove #if 0 around #ifndef GAS_SYNTAX. + + * pc532.h (GAS_SYNTAX): Defined. + +Thu Mar 12 00:10:23 1992 Stefan Petri (petri@jupiter.ibr.cs.tu-bs.de) + + * configure (pyramid): Re-enable. + + * pyr.h (STRUCTURE_SIZE_BOUNDARY): Restore definition from gcc-1.40. + (PCC_BITFIELD_TYPE_MATTERS): Define as 1 instead of empty. + + * pyr.h (STATIC_CHAIN_INCOMING_REGNUM): Added. + + * pyr.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, TRAMPOLINE_ALIGNMENT, + INITIALIZE_TRAMPOLINE): Added, inspired by convex.h + + * pyr.h (INITIAL_FRAME_POINTER_OFFSET): New definition. + + * pyr.md (indirect_jump): New pattern. + + * libgcc2.c [L_trampoline]: Don't include gstddef.h in this case. + (__enable_execute_stack): Cloned definition for pyramid + from that for convex. + +Thu Mar 12 13:23:05 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * collect2.c (FREAD, FWRITE): #undef if USG. + + * x-mipsv: New file. + * configure (mips-*-sysv): Use it. + + * cccp.c (skip_to_end_of_comment): New arg NOWARN. Callers changed. + (do_xifdef, do_endif): Pass 1 for NOWARN. + + * i386.h, hp800.h (ENCODE_SECTION_INFO): Handle CONSTRUCTOR node. + * i386.h (ENCODE_SECTION_INFO): Only decls can be global. + + * cccp.c (warn_import): New variable. + (do_include): Test that. + (main): Handle -Wimport. + + * hp800hpux.h (DBX_DEBUGGING_INFO): #undef it. + * x-hp800hpux: New file. + * configure (hp800-hp-hpux*): Use it. + + * config.sub: Make triton alias for sysv3. + + * collect2.c: If CROSS_COMPILE, #undef the special OBJECT_FORMAT_*. + +Thu Mar 12 10:35:50 1992 Ron Guilmette (rfg at ncd.com) + + * gcc.c (default_compilers): Use .i suffix (instead of .cpp) for all + preprocessor output files. + (execute): Print commands used to invoke passes if -save-temps. + + * Makefile.in (mostlyclean): Delete *.i, not *.cpp. + Don't delete *.co. + +Thu Mar 12 07:13:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * xcoff.h (DBX_FINISH_SYMBOL): When writing function name, strip off + any storage class at the end. + +Thu Mar 12 05:16:49 1992 Tom Wood (wood@dg-rtp.dg.com) + + * config.sub (-triton*): Delete this OS (it's sysv3). + * configure (m88k-dolphin-sysv3): Rename alternative. + * xm-m88kdolph.h: Delete. Use xm-m88kv3.h instead. + * x-m88kdolph: New file. + +Thu Mar 12 00:19:14 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (movstrsi recognizers): Fix reversed operands. + +Thu Mar 12 00:01:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (main): + Don't require machine_suffix for md_startfile_prefix or md_exec_prefix. + + * toplev.c (main): Force flag_no_inline if not optimizing. + + * dbxout.c (dbxout_type): Ignored names don't count in case UNION_TYPE. + + * cp-decl.c (pushtag): Push on ->tags and make TYPE_STUB_DECL + even if type has no tag name. + * cp-class.c (finish_struct): Always call rest_of_type_compilation. + + * cse.c (simplify_unary_operation): For SQRT, do nothing. + + * byteorder.h: Test __i860_big_endian__. + + * ns32k.c (print_operand_address): Test NO_ABSOLUTE_PREFIX_IF_SYMBOLIC. + Test BASE_REG_NEEDED inside indirect address too. + * sequent.h (NO_ABSOLUTE_PREFIX_IF_SYMBOLIC): Defined. + (SEQUENT_ADDRESS_BUG, SEQUENT_BASE_REGS): #if 0. + +Wed Mar 11 22:55:38 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (push_parm_decl): Clear immediate_size_expand temporarily. + * stor-layout.c (get_pending_sizes): Fix up SAVE_EXPR_CONTEXT. + (variable_size): No longer static. + * c-decl.c (grokdeclarator): Call variable_size, not save_expr. + Rename local `variable_size' to `size_varies'. + +Wed Mar 11 18:53:23 1992 Chip Salzenberg (chip@tct.com) + + * collect2.c (OBJECT_FORMAT_COFF, OBJECT_FORMAT_ROSE): + (OBJECT_FORMAT_NONE): Three alternative strategies for finding inits. + OBJECT_FORMAT_COFF is completely new. + (is_ctor_dtor): New function. + [OBJECT_FORMAT_NONE, OBJECT_FORMAT_ROSE] (scan_prog_file): + Use is_ctor_dtor. + + * x-rs6000 (CLIB): Add -lld. + * t-rs6000: New file. + * configure (rs6000...): Use that file. + +Wed Mar 11 17:31:13 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * reload1.c (inc_for_reload): Call gen_add2_insn with negated + constant instead of gen_sub2_insn. + +Wed Mar 11 17:30:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-typeck.c (build_binary_op): For shifts, always use op0 type. + + * stmt.c (expand_end_bindings): + Load virtual_incoming_args_rtx via a pseudo reg. + + * math-68881 (pow): Add missing parens; typo in fp constant. + + * i386isc.h (LIB_SPEC): Add -lg. + + * libgcc2.c (__CTOR_LIST__, __DTOR_LIST__): + Don't define if CTOR_LISTS_DEFINED_EXTERNALLY. + (__builtin_saveregs): Handle NO_UNDERSCORES for sparc. + + * pbb.h, pbd.h: New files from Mike Bloom. + * configure (m68k-tti2-*): Turned back on. + + * c++: Add a colon command in case system doesn't handle #!/bin/sh. + +Mon Mar 11 19:54:43 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (integer truncMN2): Delete patterns. Not needed on i386. + +Wed Mar 11 16:58:56 1992 Tom Wood (wood@dg-rtp.dg.com) + + * m88kv3.h (STARTFILE_SPEC, LIB_SPEC): Search for crt{begin,end}.o + (DO_GLOBAL_CTORS_BODY, CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR, + DTORS_SECTION_ASM_OP): Implement new svr3 scheme. + +Wed Mar 11 16:24:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fold-const.c (fold): When correcting constant result of GE, LE, NE, + make sure we really have a constant result. + + * ns32k.md (call, call_value): Support GAS_SYNTAX and GNX_V3 like 1.40. + + * c-decl.c (pushdecl): Properly use prev implicit decl in warning. + +Wed Mar 11 16:05:20 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * Makefile.in (OBJS): Add xcoffout.o. + (dbxout.o, final.o, toplev.o, varasm.o): Add xcoff.h dependency. + (xcoffout.o): Add rule to build. + + * xcoffout.c: Change names of rs6000_*_section_name variables to + xcoff_*_section_name, and move definitions of them here from + rs6000.c. + * xcoff.h: Likewise, move declarations here from rs6000.h. + * rs6000.c: Delete definitions of rs6000_*_section_name variables. + * rs6000.h: Delete declarations of rs6000_*_section_name variables. + + * rs6000.c (output_epilog): Add comment to note lack of traceback + table support. + * rs6000.h: Refine comment explaining ASM_SPEC definition. + (XCOFF_DEBUGGING_INFO): Define. + (DBX_CONTIN_LENGTH, DBX_NO_XREFS): Move to xcoff.h. + (ASM_FILE_START): When -g, emit private_data_section. + (ASM_DECLARE_FUNCTION_NAME): When -g, output .lglobl for static + functions. Also, output .function debug info. + (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Add bss_section call. + + * dbxout.c: Include xcoff.h when XCOFF_DEBUGGING_INFO is defined. + Define default values for DBX_DECL_STABS_CODE, + DBX_STATIC_CONST_VAR_CODE, DBX_REGPARM_STABS_CODE, and + DBX_REGPARM_STABS_LETTER. These exist to be overriden for xcoff. + Include entire file if either DBX_DEBUGGING_INFO or + XCOFF_DEBUGGING_INFO is defined. + (dbxout_type): Add early exit if DBX_TYPE_DEFINED, used for xcoff. + (dbxout_symbol): Use DBX_DECL_STABS_CODE instead of N_LSYM for + tags and typedefs. Use DBX_STATIC_CONST_VAR_CODE instead of N_FUN + for static const variables. Add DBX_STATIC_BLOCK_START and + DBX_STATIC_BLOCK_END around output of stab info, for xcoff use. + (dbxout_finish_symbol): Use DBX_FINISH_SYMBOL instead if defined. + (dbxout_syms, dbxout_parms): No longer static, referenced from + xcoffout.c. + (dbxout_parms): Use DBX_REGPARM_STABS_CODE instead of N_RSYM. Use + DBX_REGPARM_STABS_LETTER instead of 'P'. + (dbxout_reg_parms): No longer static. + * final.c: Also include gstab.h if XCOFF_DEBUGGING_INFO defined. + Include xcoff.h if XCOFF_DEBUGGING_INFO defined. + (final_start_function): Call xcoffout_output_first_source_line + when XCOFF_DEBUG. Set next_block_index if XCOFF_DEBUG. + (final_end_function): Call xcoffout_end_function if XCOFF_DEBUG. + Call xcoff_end_epilogue if XCOFF_DEBUG. + (final_scan_insn): Call xcoffout_begin_function, + xcoffout_begin_block, and xcoffout_end_block if XCOFF_DEBUG. + (output_source_line): Also call dbxout_source_file if XCOFF_DEBUG. + * flags.h: Define XCOFF_DEBUG. Also declare + use_gdb_dbx_extensions if XCOFF_DEBUGGING_INFO. + * toplev.c: Also declare use_gdb_dbx_extensions if + XCOFF_DEBUGGING_INFO. Include xcoff.h in XCOFF_DEBUGGING_INFO. + (compile_file): Also call dbxout_init, and dbxout_finish if + XCOFF_DEBUG. + (rest_of_decl_compilation): Also call dbxout_symbol if + XCOFF_DEBUG. + (rest_of_type_compilation): Also call dbxout_symbol if + XCOFF_DEBUG. + (main): Add support for recognizing -g when XCOFF_DEBUGGING_INFO. + * varasm.c: Include xcoff.h if XCOFF_DEBUGGING_INFO. + (assemble_variable): Also call dbxout_symbol when XCOFF_DEBUG. + Change all returns to goto finish. At finish label, + call dbxout_symbol if XCOFF_DEBUG. + + * dbxstclass.h: New file. Define XCOFF specific storage classes. + * xcoff.h: New file, for XCOFF support. Included by xcoffout.c, + dbxout.c, final.c, toplev.c, and varasm.c. + * xcoffout.c: New file for XCOFF support. Most of the support is + implemented by dbxout.c, this just includes stuff that can not be + easily performed within dbxout.c. + + * toplev.c (struct W_options): Add entry for warn_inline, so user + can turn this warning on. + +Wed Mar 11 15:11:42 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * optabs.c (init_optabs): Fix typo (Imode instead of TImode) in + HAVE_subti3 case. + +Wed Mar 11 13:10:20 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * sparc.h (REG_ALLOC_ORDER): Make %g3 more desirable. + +Wed Mar 11 12:35:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixincludes (egrep cmd): Delete misplaced `#e[nl]'. + + * jump.c (jump_optimize): Try to fix last change. + + * expmed.c (init_expmed): Use big, ugly factor in mult_is_very_cheap. + +Wed Mar 11 08:00:18 1992 Tom Wood (wood@dg-rtp.dg.com) + + * toplev.c (rest_of_compilation): Use sdbout_types to clear the + anonymous types queue if any. + * sdbout.c: Correct spelling of sdbout_dequeue_anonymous_types. + + * genattrtab.c (attr_string): Don't assume a terminating null. + +Wed Mar 11 07:05:38 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload_as_needed): Delete erroneous test of + basic_block_needs. + + * stmt.c (expand_end_case): Know that we will obtain a constant + if we were passed a COMPOUND_EXPR whose second operand is constant. + Fold the MINUS_EXPR we make for casesi. + + * reorg.c (update_block_from_store): Deleted. + (update_block): Always leave USE; don't try to update live regs. + + * explow.c (copy_to_suggested_reg): Add new arg for mode to use. + * expmed.c (expand_divmod): Pass new arg to copy_to_suggested_reg. + + * reload1.c (set_label_offsets, reload_as_needed): Consistently + ignore non-eliminables when computing num_not_at_initial_offset. + + * rs6000.md (subsi3): Remove unnecessary call to force_reg. + + * rs6000.c (output_epilog): Separate setting LR from loading + it from memory in some cases. + Branch to FP restore routine instead of calling it. + + * flow.c (propagate_block): CC0 is not live when we delete a dead + insn. + * cse.c (delete_dead_from_cse): An insn setting CC0 is not live + if the next insn doesn't reference CC0. + + * cse.c (cse_insn): If we see a narrow AND with a constant, check if + we have seen a wider AND. + + * combine.c (can_combine_p): Allow SUBREG of non-tiable regs if we + are going to do is copy it to CC0. + + * reload.c (find_secondary_reload): If X is a pseudo with an + equivalent MEM, use the MEM to see if a secondary reload is needed. + Don't call REG_CLASS_FROM_LETTER for 'r'. + * reload1.c (emit_reload_insns): Handle reloading pseudos + with equivalent MEM when we have secondary reloads; use the MEM + when required. + + * romp.md (reload_outsi): Pattern should be a single PARALLEL + whose second component is a CLOBBER. + +Wed Mar 11 03:11:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (find_a_file, do_spec_1): Always obey require_machine_suffix. + (machine_explicit): Var deleted. + +Tue Mar 10 23:12:24 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * m68k.md (68000 special shifts): No longer accept a shift count + of 16. Delete support for shifts by 16 places. + (shift by 16 bits): New patterns which apply to all 68k models. + * m68k.h (RTX_COSTS): Shifts by 16 are cheap. + +Tue Mar 10 20:37:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * dwarfout.c (location_or_const_value_attribute): + Reenable changes disabled on Feb 21. + * function.c (instantiate_decls): Likewise. + + * sdbout.c (sdbout_symbol): Handle (mem (const...)). + * dbxout.c (dbxout_symbol): Likewise. + + * xm-i386isc.h: New file. + * configure (i386-*-isc*): Use it. + + * hp320.h (MD_STARTFILE_PREFIX): Deleted. + + * m68k.h (RTX_COSTS): If MULT is a shift, jump to shift case. + + * sun3.h (TARGET_MEM_FUNCTIONS): Defined. + + * toplev.c (rest_of_compilation): Call sdbout_dequeue_anonymous_types + even if we don't output assembler code. + + * jump.c (jump_optimize): In `if (foo) bar; else break;' optimization, + include in range1 and range2 any line numbers at the beginning. + + * c-typeck.c (spelling_length): Initialize `size'. + (PUSH_SPELLING): `spelling_size' is measured in elements. + (get_spelling): Use xmalloc if there is no buffer yet. + +Tue Mar 10 20:25:56 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * integrate.c (save_for_inline_copying): + Set up LABEL_NAME of label copies. + + * sparc.md: Clean up attribute settings. Add default length of 2 + for insns of type multi. Make sure all insns have correct type and + length attribute values. + +Tue Mar 10 19:13:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (warn_parentheses): Default is 0. + (c_decode_option): -Wall implies -Wparentheses. + +Tue Mar 10 17:49:51 1992 Torbjorn Granlund (tege at mole.gnu.ai.mit.edu) + + * hp800.md (shNadd recognizers): Put the MULT first, to obey insn + canonicalization rules. + + * hp800.md (subsi3): Don't handle constants for operand 2, but + do handle them for operand 1, for the subi insn. + + * hp800.md (compare into ordinary reg): Use "arith11_operand", not + "arith_operand" for operand 2. Use `I', not `J' as constraint. + Don't change the constant in the output code (i.e. undo Mar 10 + change). + * hp800.c (arith11_operand): New predicate function. Fix comment. + + hp800.md (mulsi3): Don't handle CONST_INT specifically, rely on + machine independent code. + * hp800.h (RTX_COST): Define. + * hp800.c (ABS, mul_operands, emit_mul_by_constant) Remove. + (mul_by_constant_aux, test_factor_and_output): Remove. + + * hp800.md (addsi3): Use "register_operand" for operand 1, not + "arith_operand". + + * hp800.md: Clean up spacing and comments in a few places. + + * hp800.c (output_move_double): Handle auto increment and auto + decrement. Remove unused enums. Test for either operand being a + REGOP instead if RNDOP, since we require at least one operand to + be a register. Pass the MEM address to find_addr_reg, not the + entire MEM rtx (in two places). + + * hp800.h (WORDS_BIG_ENDIAN): Fix typo in comment. + (RTX_COST): Return cost of a PLUS, to indirectly give the right + cost for the shNadd insns. Adjust the cost for division. + +Tue Mar 10 15:57:24 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * sparc.md: Add pattern for optimizing bitfield compares. This + pattern was accidently lost when other (now-obsolete) bitfield + patterns were removed. + + * sparc.c (arith32_operand): Deleted. + * sparc.md (movstrsi): Now uses nonmemory_operand for length. + + * sparc.c (output_arc_profiler): Emit insns from first to last + instead of last to first, since it is much clearer. Eliminate + profiler_target, since it resulted in illegal rtx sharing. + + * sparc.c (legitimize_pic_address): Make -fPIC work again, re the + Feb 27 cse.c LO_SUM fix. Put addresses inside UNSPEC when loading + them to ensure that cse won't mistakenly optimize them. + * sparc.md: Two new patterns, to match (HIGH (UNSPEC (..))) and + (LO_SUM (reg) (UNSPEC (..))) as generated above. + +Tue Mar 10 14:58:19 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * mips-news.h (ASM_SPEC): Move %{G*} outside of -mgas conditional. + * nws3250v4.h, xm-nws3250v4.h, x-nws3250v4: New files. From cph. + + * i860.c (sfmode_constant_to_ulong): Fix typo in last change. + + * expr.c (store_expr): Initialize `label'. + + * 3b1.h (HAVE_ATEXIT): #undef this. + + * hp800.md (compare into ordinary reg): Make large ints "negative". + + * hp800hpux.h: New file. + * configure (hp800-*-bsd*): Renamed from hp800-*-*. + (hp800-*-hpux*): New configuration. + +Tue Mar 10 11:03:47 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * expmed.c (init_expmed): Make the lea pattern in the canonical way. + +Tue Mar 10 10:32:30 1992 Tom Wood (wood@hal) + + * m88k.h (ASM_OUTPUT_{COMMON,LOCAL}): Compute size consistently. + +Tue Mar 10 07:41:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * recog.c (constrain_operands, case 'E'): Fix typo. + + * function.c (setjmp_protect): Don't put vars from inline functions + on the stack. + + * c-typeck.c (process_init_constructor): Don't use host integers for + bounds and index computation; use trees instead. + If specifying index in array with unset bounds, assume lower bound + of zero and check specified index against zero. + + * tree.h (mode_for_size): Don't declare here. + * machmode.h (mode_for_size): Declare here instead. + + * reorg.c (fill_slots_from_thread): Try to split THREAD immediately + so we don't get confused if it gets split later. + + * reorg.c (fill_slots_from_thread): Don't take add from loop + head if the increment amount depends on the target register, since + we can't undo the operation. + +Mon Mar 9 12:18:04 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * unroll.c (final_biv_value): Fail if the biv is not MODE_INT. + + * combine.c (distribute_notes, case REG_DEAD): Call rtx_equal_p + to verify that it was the set that modified the register, and + not a clobber. + +Sun Mar 8 22:20:24 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * c-parse.y,c-lex.c,cp-hash.h,cp-parse.y,cp-spew.c,objc-parse.y: + Rename `ASM' to `ASM_KEYWORD' to avoid trouble with SCO + <sys/signal.h>. + +Sun Mar 8 23:16:37 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * expr.c (move_by_pieces, move_by_pieces_ninsns): Remove March 4 and + March 5 changes. Set max_size to MOVE_MAX + 1 instead. + +Sun Mar 8 17:08:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * expr.c (do_tablejump): New arg MODE. + * stmt.c (expand_end_case): Pass that arg. + + * c-decl.c (pushtag): Push even anonymous types on tags list. + (parmlist_tags_warning): Handle anonymous types in the list. + +Sun Mar 8 15:08:58 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386mach.h (perform_fixdfsi): Rename from *_fix_trundfsi2. + Restore float control word correctly. + * i386rose.h (perform_fixdfsi): Likewise. + + * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Allow float constants, + even if -msoft-float is used: reg-stack.c may emit an insn to load + the function value register with 0.0. + + * i386.md (bit test insns): Don't allow memory operands as the + first argument of the zero_extract. + + * i386isc.h (RETURN_POPS_ARGS): Comment this out: ISC uses the + standard definition. + + * i386sco.h (STARTFILE_SPEC): Use crtbegin.o. + (ENDFILE_SPEC): Use crtend.o. + (CPP_SPEC): #undef before defining. + (RETURN_POPS_ARGS): Caller pops args on SCO. + +Sun Mar 8 14:25:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * configure: Fatal error if srcdir has already been configured. + Remove periods from error messages. + + * 3b1.h, mot3300.h (ASM_OUTPUT_OPCODE): Change swap to swap.w. + (SGS_SWAP_W): Deleted. + * m68ksgs.h (ASM_OUTPUT_OPCODE): If SGS_SWAP_W, change swap to swap.w. + * m68k.md: Delete all SGS_SWAP_W conditionals. + + * m68k.md (shift using swap, dbra patterns): Change clrw to clr%.w. + + * hp800.h (output_global_address): Use `-' for PLUS of neg integer. + Clean up spacing and braces in several places in file. + + * byteorder.h (htons): Use unsigned int for arg type. + +Sun Mar 8 07:36:44 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.c (print_operand, case 'A'): New case. + * rs6000.md (sri): New %A to use "sli" for count of zero to work + around bug in RS/6000 assembler. + + * config.sub (os): Add "aos" to basic list, no longer the same + as "bsd"; "acis" is an alternate for "aos". + (romp): No longer has a default system. + * configure (romp-*-aos*): Renamed from romp-*-bsd*; BSD means + real BSD (4.3 Tahoe+), AOS means IBM system. + + * Makefile.in (crtbegin.o, crtend.o): Use -o for output instead of + putting in crtstuff.o and renaming to desired name. + + * reload1.c (reload): Re-check eliminability of registers on each + reload pass. + + * jump.c (mark_jump_label): Make multiple REG_LABEL notes if + more than one label is mentioned in an insn. + + * integrate.c (copy_rtx_and_substitute): Properly initialize + const_equiv_map for the equivalents of AP and FP. + + * rs6000.h (TARGET_MEM_FUNCTION): Define. + +Sun Mar 8 00:05:47 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (store_parm_decls): Copy function type before changing it. + * tree.c (build_type_copy): New subroutine. + + * t-next (LIBGCC1): Assigned, instead of LIBGCC. + + * m68k.h (SHIFT_COUNT_TRUNCATED): Deleted. + +Sat Mar 7 23:47:57 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (xorsi3,xorhi3): Don't emit a byte opcode with an SImode + operand. + +Sat Mar 7 22:49:21 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-typeck.c (convert_arguments): -Wconversion warning + if argument is passed as float. + For fixed arguments, warn if type passed doesn't match + what default_conversion produces. + + * gcc.c (cross_compile): New variable, 1 if cross-compiling. + (read_specs): Read it from specs. + (process_command): Dump it to specs. + + * gcc.c (process_command): Don't use MD prefixes and + standard_startfile_prefix* here. + (main): Use them here, if not cross-compiling. + +Sat Mar 7 18:13:45 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (reload_as_needed): Eliminate regs in (use (mem ..)) + and (clobber (mem ...)) insns. + + * combine.c (distribute_notes): Fix minor bug in handling of + multi-register values when only one part is used. + + * optabs.c, expr.c: Always call emit_library_call with no_queue == 1. + + * function.c (fix_lexical_addr): Correctly set BASE in non-separate + AP case. + +Sat Mar 7 15:39:57 1992 Jyrki Kuoppala (jkp@batman.cs.hut.fi) + + * ns32k.h (TRANSFER_FROM_TRAMPOLINE): changed "ret" to "ret 0" + +Sat Mar 7 15:41:46 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * fixincludes: Don't do special fixes on signal.h, which were only + needed because of #endif comment fixes. + +Sat Mar 7 15:11:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * m68k.h (ASM_OUTPUT_ALIGN): Don't crash if LOG is more than 1. + + * varasm.c (decode_reg_name): Make various prefixes optional + whether or not they are in REGISTER_NAMES. + (strip_reg_name): New subroutine. + + * i386.c: Fatal error if EXTRA_CONSTRAINT is defined. + + * collect2.c [USG] (R_OK, W_OK, X_OK): Define them if missing. + + * x-hp320g (RANLIB, RANLIB_TEST): Defined. + + * Makefile.in (EXTRA_PROGRAMS): New variable is list of programs. + (native): Build them. Don't build EXTRA_PARTS. + (rest.encap): Build EXTRA_PARTS. + (GCC_PARTS): Include EXTRA_PROGRAMS. + (install-common): Build EXTRA_PROGRAMS. + * t-convex (EXTRA_PROGRAMS): Define instead of EXTRA_PARTS. + + * Makefile.in (distclean): Don't delete backups, etc. + (extraclean): New target--delete those things here. + (gcc.xtar): Use extraclean. + (cleanconfig): Deleted. + (realclean): Depend on distclean. + +Sat Mar 7 14:54:29 1992 Tom Wood (wood@dg-rtp.dg.com) + + * genattrtab (attr_printf): Provide alternate based on HAVE_VPRINTF. + +Sat Mar 7 14:25:58 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * hp800.c (secondary_reload_class): Change `=' to `==' in `if'. + +Sat Mar 7 13:25:17 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cccp.c (do_line): Fix typo. + + * configure (decoding args): Delete excess fi. + +Sat Mar 7 09:29:41 1992 Michael Meissner (meissner@osf.org) + + * mips.h (CONST_COSTS): Complete last change. + + * mips.md (movsi_ulw, movsi_usw): Complete last change. + +Sat Mar 7 07:28:03 1992 Tom Wood (wood at dg-rtp.dg.com) + + * config.sub (*-dolphin, -triton*): New vendor/OS. + * configure (m88k-dolphin-trition): New alternative. + * m88kdolph.h: New file. + * xm-m88kdolph.h: New file. + +Sat Mar 7 10:07:44 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-l2.com: Do not allow the user to run this with gcc 1.nn. + + * make-gcc.com: Use the new compiler to build libgcc2.c (through + make-l2.com). + +Sat Mar 7 05:36:16 1992 K. Richard Pixley (pixley@nutrimat.gnu.ai.mit.edu) + + * Makefile.in: added the exec_prefix variable for installing host + dependent programs and libraries. + +Sat Mar 7 00:09:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * genextract.c (mybzero): New fn. Used instead of bzero. + + * Makefile.in (all): Indirect to all-internal. + (all-internal): New rule, following where cross-make gets inserted. + + * vms.h (SIZE_TYPE, PTRDIFF_TYPE, WCHAR_TYPE): Defined. + + * protoize.c: Don't declare fork or vfork. + + * i860.c (sfmode_constant_to_ulong): Use REAL_VALUE_FROM_CONST_DOUBLE. + + * gcc.c (handle_braces): Verify actual suffix length matches + desired. + + * hp800.h (GO_IF_LEGITIMATE_ADDRESS): Add parens for clarity. + + * c-typeck.c (pointer_int_sum): Handle intop which is sum or diff + of arguments with different types. + + * c-typeck.c (PUSH_SPELLING): If no buffer yet, use xmalloc. + + * m68k.c (output_dbcc_and_branch): Use \n\t between pair of insns. + + * sparc.h (TARGET_MEM_FUNCTIONS): Defined. + +Fri Mar 6 18:48:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Don't call ON_EXIT here. + * crtstuff.c, libgcc2.c (__do_global_ctors): Call it here. + + * i386sco.h (HAVE_ATEXIT): Defined. + + * collect2.c (my_exit, main): Avoid dereferencing 0. + + * stmt.c (expand_decl_init): Don't alter TREE_USED of the variable. + +Fri Mar 6 18:24:39 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * mot3300.h (SIZE_TYPE): Define as "unsigned int". + + * combine.c (make_extraction): STRICT_ALIGNMENT is now non-zero if + true, instead of relying on whether it is defined or not. + * c-typeck.c, cp-typeck.c (build_c_cast): Likewise. + * stor-layout.c (layout_type) Likewise. + * expr.h (MUST_PASS_INSTACK_BAD_ALIGN): Likewise. + * expr.c: Set default value of SLOW_UNALIGNED_ACCESS to zero. + (move_by_pieces, move_by_pieces_ninsns, emit_push_insn): + SLOW_UNALIGNED_ACCESS and STRICT_ALIGNMENT now true if non-zero. + * function.c (assign_stack_local, assign_outer_stack_local): + Remove turned-off code using STRICT_ALIGNMENT. + * config/*.h: Change representation of STRICT_ALIGNMENT and + SLOW_UNALIGNED_ACCESS. + * gmicro.h (SLOW_UNALIGNED_ACCESS): Set to 1. + + * Makefile.in (cleanconfig): Remove obsolete reference to + file aux-output2.c. + + * c-lex.c (yylex): Don't make out-of-range shift for very wide chars. + +Fri Mar 6 18:07:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * toplev.c (compile_file): No -Wunused warnings for static vars. + + * collect2.c (main): Don't handle -B, -b, -V, -m or -f. + collect2 gets only the options that ld would get. + Process COLLECT_GCC_OPTIONS envvar. + (savestring): New function. + + * genattrtab.c: Revert to previous version + because the new one uses vsprintf and it isn't trivial + to avoid it. + +Fri Mar 6 17:26:09 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.md (<O5> expressions): Don't rely on the assembler being able + to handle constant expressions (Dolphin Triton88 can't). + + * genattrtab.c: Add a hash table mechanism to share RTL and strings. + (attr_hash_add_rtx, attr_hash_add_string): New functions. + (attr_rtx): New function to generate a shared RTL. + (attr_printf, attr_printf): New functions to generate a shared string. + + * genattrtab.c: Extend the treatment of DEFINE_ATTR to allow a CONST + expression as the default value, indicating a constant attribute. + (struct attr_desc): Add `is_const' field. + (check_attr_test): Add `is_const' parameter. Disallow use of insn + attributes and MATCH_OPERAND in a constant expression; allow + SYMBOL_REF in a constant expression. All callers updated. + (chech_attr_value): Allow a SYMBOL_REF as a constant expression. + (convert_const_symbol_ref): New function that converts a constant + SYMBOL_REF to a COND that explictly tests each value. + (make_canonical): Use `convert_const_symbol_ref' for constant + SYMBOL_REF expressions. + (make_length_attrs, find_attr, make_internal_attr): Mark `is_const' + as false. + (gen_attr): Get rid of a top-level CONST node and mark `is_const' true. + (walk_attr_value): Use of a constant SYMBOL_REF does not set + `must_extract' or `must_constrain'. + (write_attr_get): Deal with constant attributes. + +Fri Mar 6 16:14:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cccp.c (main, path_include) [__MSDOS__]: Handle MSDOS syntax in path. + + * expr.c (store_expr): Fix bugs in last change. + + * objc-actions.c (receiver_is_class_object): Fix typos. + + * ecoff-cmp: File deleted. + + * config.sub (3b1): Convert to m68000, not m68k. + + * cccp.c (do_line): Handle "syetem header" indicator flag `3'. + + * t-i386isc: New file. + * configure (i386-*-isc*): Use the new file. + * i386isc.h (LIB_SPEC, ENDFILE_SPEC): Use crtbegin.o/crtend.o. + +Fri Mar 6 14:37:25 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * expmed.c (expand_dec): Fix comment. + +Fri Mar 6 09:49:54 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.c (emit_move_sequence): Check reload_in_progress in + addition to reload_completed. + + * m88k.md (cpu attribute): Fix. + +Fri Mar 6 06:24:08 1992 Michael Meissner (meissner@osf.org) + + * mips.h (CONST_COSTS): Fix eliminate_constant_term calling + sequence. + + * mips.c (simple_memory_operand): Move offset variable for calling + eliminate_constant_term into a local block by the call. + (mips_address_cost): Ditto. + + * mips.md (movsi_ulw, movsi_usw): Fix eliminate_constant_term + calling sequence. + +Fri Mar 6 00:30:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixincludes: Don't fix comments on #endif, #else. + It made the egrep string too long. + + * expr.c (store_expr): Handle size mismatch copying from string cst. + +Thu Mar 5 22:11:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * objc-actions.c (receiver_is_class_object): Clean up syntax. + + * sun386.h (ASM_GENERATE_INTERNAL_LABEL): Start with a star. + + * reload1.c (reload): Change `=' to `==' in `if' + inside REGISTER_CONSTRAINTS conditional. + +Thu Mar 5 21:29:33 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu) + + * cp-parse.y (yyprint): Make declarations declare __inline + consistently. + +Thu Mar 5 18:34:32 1992 Jeffrey A. Law (law@mole.gnu.ai.mit.edu) + + * m68k.md (dbra patterns): Fix NO_ADDSUB_Q ifdef conditionals. + Fix location of comment regarding use of REG_NOTES in dbra insns. + +Thu Mar 5 18:30:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (libgcc.a): If $(LIBGCC1) is empty, ignore it. + * cross-make (LIBGCC1): Make definition empty. + +Thu Mar 5 17:48:38 1992 Torbjorn Granlund (tege@wombat.gnu.ai.mit.edu) + + * reload.c (find_reloads): Correctly detect different operand + constraint alternatives (by changing subscription from 0 to loop + variable i). + +Thu Mar 5 16:58:38 1992 Tom Wood (wood at dg-rtp.dg.com) + + * Makefile.in (libsubdir): Rename $(libdir)/gcc gcc-lib. + * gcc.c (STANDARD_EXEC_PREFIX): Ditto. + + * c-typeck.c: Implement a spelling stack to store and print + compoment names for error messages. + + (push_{string,member_name,array_bounds}): New functions. + (SPELLING_DEPTH, RESTORE_SPELLING_DEPTH, SAVE_SPELLING_DEPTH): New + macros to save and restore the spelling stack. + (digest_init, process_init_constructor): Use these. + + (spelling_length, print_spelling): New functions. + (error_init, pedwarn_init): Use them. + + (get_spelling): New function. + (convert_for_assignment): Use `get_spelling' to interpret messages + that are based on the spelling stack. + (process_init_constructor): Pass `&initialization_message'. + +Thu Mar 5 15:22:22 1992 Jim Wilson (wilson@wookumz.gnu.ai.mit.edu) + + * expr.c (init_expr): Initialize forced_labels to zero. + (save_expr_status): Saved forced_labels away and initilize to + zero. + (restore_expr_status): Restore value of forced_labels. + * function.h (struct function): Add forced_labels field. + * integrate.c (function_cannot_inline_p): Reject function with + nonzero forced_labels. + +Thu Mar 5 15:08:47 1992 Tom Wood (wood at dg-rtp.dg.com) + + * regclass.c (fix_register): Use decode_reg_name. + * stmt.c (expand_asm_operands): Ditto. + * varasm.c (decode_reg_name): Ignore a leading '#'. + + For RMS: + * cp-call.c (build_method_call): Delete now redundant tests of + TREE_EXTERNAL before calls to assemble_external. + * cp-init.c (build_virtual_init, build_builtin_call): Ditto. + * cp-method.c (hack_identifier): Ditto. + * cp-typeck.c (build_component_ref, build_function_call_real): Ditto. + * c-parse.y (primary): Ditto. + +Thu Mar 5 13:49:29 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * expr.c (move_by_pieces_ninsns): Finish Mar. 4 change. Do not + choose a mode which has a size greater than MOVE_MAX. + + * m68k.c: Change all occurances of "mov." to "move%.l" so that + ASM_OUTPUT_OPCODE can choose the right syntax. + * m68k.md: Change "mov." to "move." in comments for consistency. + +Thu Mar 5 10:04:52 1992 Tom Wood (wood at dg-rtp.dg.com) + + * stmt.c (warn_if_unused_value): Handle NON_LVALUE_EXPR. + + * limits.h (_LIMITS_H_): Correct misspellings. + + * 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. + +Thu Mar 5 09:08:11 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.md (lshrdi3): Add earlyclobber to first alternative. + + * explow.c (stabilize): Copy RTX_UNCHANGING_P and MEM_VOLATILE_P. + +Thu Mar 5 06:05:31 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-parse.y (.pushlevel): Stack and unstack STMT_DECL_MSG. + + * cp-parse.y (unary_expr): Add EXTENSION support. + ({maybe_label,label}_decls, label_decl): Define these rules as from + c-parse.y. + * cp-decl.c ({lookup,shadow,define}_label): Update from c-decl.c. + * gplus.gperf: Add EXTENSION and LABEL. + * cp-hash.h: Remade using gperf. + +Wed Mar 4 21:38:41 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * expr.c (move_by_pieces): Do not choose a mode which has a size + greater than MOVE_MAX. + +Wed Mar 4 23:24:25 1992 Per Bothner (bothner@cygnus.com) + + * cp-class.c, cp-decl.c, cp-decl2.c, cp-init.c, cp-lex.c, + cp-method.c, cp-typeck.c: Casts from enum to int that + are necessary (not alas not quite sufficient) to get + cc1plus to compile using system cc on Sony NewsOS 3.2 + (presumably Portable C Compiler). + +Wed Mar 4 22:05:39 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-type2.c (build_functional_cast): Fix typo in code searching + down type lattice looking for constructor. + +Wed Mar 4 16:52:21 1992 Jim Wilson (wilson@cygnus.com) + + * gstdarg.h: Include va-sparc.h on sparc systems. Delete now + obsolete `#ifndef __sparc__'. + * va-sparc.h (va_start): Provide alternate definition when + included via stdarg.h. Delete obsolete comment. + (va_arg): Add missing set of parentheses. + +Wed Mar 4 15:21:20 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) + + * fixincludes: Make egrep pattern more general. Check for + additional special case problems in Ultrix, News-OS, and IRIX. + +Wed Mar 4 15:15:45 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.c (function_epilogue): Don't make a special case for + current_function_returns_struct: this is done via + current_function_pops_args. + + * sun386.h (DATA_SECTION_ASSM_OP): Fix typo in undef. + +Wed Mar 4 14:21:37 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) + + * fixincludes, fixinc.svr4: Only change #else and #endif at the + beginnings of lines, aside from whitespace, so it doesn't change + them within comments. + +Wed Mar 4 09:48:21 1992 Michael Tiemann (tiemann@mole.gnu.ai.mit.edu) + + * cp-method.c (build_decl_overload): Braino in handling of DELETE + (NEW was handled correctly). + +Wed Mar 4 09:14:57 1992 Jeffrey A. Law (law@wombat.gnu.ai.mit.edu) + + * Makefile.in (install-man): Install the g++ manual page. + + * m68k.md (dbCC peepholes): Two new peepholes to recognize cases + where a compare/branch can be done (for free) as part of a dbCC + insn. This turns jCC;dbf into dbCC;jCC (the jCC is now outside the + inner part of the loop). + + * m68k.c (valid_dbcc_comparison_p): New function which returns TRUE + if the given comparison is a valid comparison operator for the dbCC + instruction. + (output_dbcc_and_branch): New function to output a dbCC;jCC + instruction sequence (including possible counter adjustments in + SImode) + +Wed Mar 4 04:32:11 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-dem.c (optable): Add entry for `operator='. + + * cp-decl.c (finish_function): Emit a jump to RETURN_LABEL if + CLEANUP_LABEL is non-zero. (Suggested by niklas@appli.se) + +Wed Mar 4 04:28:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * libgcc1.c (perform_lesf2): Condition tested was backwards. + +Wed Mar 4 03:11:48 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * cp-pt.c (overload_template_name): Extra pushlevel isn't needed; + omit it. + (undo_template_name_overload): Don't pop the level that isn't pushed + any more. + + * cp-class.c (pushclass): Don't bother processing unnamed tags. + (popclass): Likewise. + + * cp-init.c (build_vec_delete): If pointer is null, don't do + anything. + + * cp-parse.y (member_init): Accept base class names that are + template type names. + + * cp-decl.c (start_decl): Don't prepend decl of `this' to arg lists + of methods of uninstantiated types. + + * cp-pt.c (instantiate_template): If no text has been saved away, + don't try to parse it; an external reference will result. + + * cp-parse.y (yyprint): Declare this at head of file. + + * cp-pt.c (instantiate_class_template): If the template specified + hasn't been defined, don't reject the instantiation; make it a + normal undefined type. + + * cp-parse.y (template_def): Try to recover from errors more + gracefully. + +Tue Mar 3 15:37:35 1992 Tom Wood (wood at dg-rtp.dg.com) + + * protoize.c (munge_compile_params): Compute the maximum number of + params (`temp_parms' length) safely. + + * dwarfout.c (const_value_attribute): Punt quasi-constant values. + (location_or_const_value_attribute): Ditto. + + * Makefile.in (install-common): Install the cross compilation + driver program even when $(tooldir)/bin doesn't exist. + +Tue Mar 3 14:39:55 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.h (enum reg_class): Undo Jan 17 change that deleted class BREG. + (REG_CLASS_NAMES,REG_CLASS_CONTENTS,REGNO_REG_CLASS): Likewise. + (REG_CLASS_FROM_LETTER): Likewise. + * i386.c (regclass_map): Likewise. + + * svr4.h (LINK_SPEC): Don't do -z or -t here: it's already in + link_command_spec. But do handle -G. + + * i386.md (casesi): Rewrite pattern to reflect the way to emitted + code actually works. + +Tue Mar 3 09:59:15 1992 Jeffrey A. Law (law@super.super.org) + + * m68k.md (dbra pattern in HImode): New pattern to match + decrement_and_branch insns when the loop counter is decremented in + HImode. + +Tue Mar 3 07:57:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.md (doz patterns): Add missing `I' constraint. + + * reorg.c (mark_target_live_regs): A CALL_INSN livens all global regs. + + * vax.h (EXTRA_CONSTRAINT): New macro to select non-mode-dependent + MEM operands. + * vax.md (jlbc/jlbs): Use jbc/jbs if mode-dependent memory. + * vax.c (reg_or_nxmem_operand): Function deleted. + + * expr.c (do_store_flag): Swap comparison code when putting + constant arg second. + + * m68k.md (addhi3): Convert, e.g., 65535 to -1 before seeing if + we can use subqw. + (addqi3): Similarly for QImode constants + + * local-alloc (optimize_reg_copy_1): Renamed from optimize_reg_copy. + (optimize_reg_copy_2): New function. + (update_equiv_regs): Call optimize_reg_copy_[12]. + + * combine.c (make_compound_operation, case AND): Turn SUBREG case + back on now that bug in i386.md has been fixed. + (simplify_comparison, case ASHIFT): If shifting low-order bit to + sign bit and doing equality comparison, convert to AND with low-order + bit (inequality case was already handled). + Also remove redundant test of CONST_OP in an earlier case. + + * sun2o4.h (LINK_SPEC): No longer need -Bstatic with -g. + + * m68k.c, m68k.h: Avoid %X% for most upper-case X since it means + something special to SCCS. + + * rs6000.md (type): Add new type, mtlr. + (function_unit branch): Add delay from mtlr to br. + (movsi): When moving to lr, type is "mtlr". + + * unroll.c (reg_dead_after_loop): Check for infinite loop by + counting JUMP_INSNs we follow. + Use GET_RTX_CLASS, reg_referenced_p, and single_set. + + * expr.c (expand_increment): Set op0_is_copy when we are referencing + the low-order part of some value in a register. + + * combine.c (force_to_mode): New arg REG; pass in recursive call. + If X has the same value as REG, use REG. + (make_field_assignment): Handle case when DEST and part of source + aren't the same, but are equal; pass destination to force_to_mode. + + * m68k.md (addhi3): Generate addqw, subqw, or addw for + STRICT_LOW_PART versions the same way we handle the normal case. + (addqi3): Similarly for addqb, subqb, and addb. + + * genattrtab.c (write_test_expr, case MOD): Double `%' in printf call. + (write_eligible_delay): Internal attribute "*delay_type" is always + used literally; it has no suffix or prefix. + + * m68k.md, vax.md (sob): Rewrite inequality versions so that they + have a PLUS inside the comparison; combine cannot remove the PLUS + due to overflow considerations. + +Tue Mar 3 07:56:30 1992 Eric Youngdale (youngdale at v6550c.nrl.navy.mil) + + * vms.h (L__main): Remove #include <stdio.h> + + * make-gcc.com: Call make-l2.com. + +Tue Mar 3 05:37:08 1992 Michael Tiemann (tiemann@cygnus.com) + + * stor-layout.c (layout_type): Handle OFFSET_TYPE. + * cp-tree.c (build_member_type): Deleted. + * cp-typeck.c, cp-decl.c, cp-init.c: All callers of + `build_member_type' now call `build_offset_type'. + * cp-typeck.c (convert_arguments): An argument that's an OFFSET_REF + must be resolved by `resolve_offset_ref'. The OFFSET_REF case in + expand_expr does not do the right thing for G++ yet. + + * cp-decl.c (grokdeclarator): Take CONSTP and VOLATILEP into account + when building METHOD_TYPEs. + (start_function): Ditto. + + * cp-method.c (build_decl_overload): Change interface to take DNAME + instead of NAME. Also, special-case handling of the default + operator new and operator delete for the std. signatures. + * cp-*.c: All callers changed. + + * cp-class.c (build_vtable_entry): Rewrite built-in limit check to + work on platforms where SIZETYPE is unsigned. + +Mon Mar 2 08:49:16 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.c (m88k_debugger_offset): Delete warning. + + * m88k.h (OVERRIDE_OPTIONS): Set `m88k_cpu' based on `target_flags'. + + * m88k.md (cmpsi insn): Delete alternative that complements the + compare string for a swapped compare (it's wrong and unnecessary). + (cpu attribute): Define. + + From Jyrki Kuoppala: + * pc532.h, pc532-mach.h, pc532-min.h, xm-ps532-min.h: New files. + * configure (ns32k-pc532-mach*, ns32k-pc532-minix*): New alternatives. + + * dbxout.c (dbxout_type): Don't invoke dbxout_type_methods if + there are none. + + * vax.c (print_operand_address): Allow REG+TERM. + + * c-typeck.c (process_init_constructor): Reuse space for error + message strings. + +Mon Mar 2 02:54:48 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * seq386gas.h: New file, for Sequent using 386 & GAS. + + * xm-i386sco.h: New file. + + * optabs.c (ldexp): New function. Used if host ldexp is broken. + + * configure (i386-sequent-bsd*): Use seq386gas.h if --gas. + (i386-*-sco*): The host file is now xm-i386sco.h. + + * i386.md (SImode and HImode logical compare): If we are only + testing one byte of a mem, use a byte test opcode. + (bit test patterns): Likewise when emitting test opcodes. + +Sun Mar 1 14:47:31 1992 Torbjorn Granlund (tege@hal.gnu.ai.mit.edu) + + * longlong.h (_IBMR2 udiv_qrnnd): Switch off due to overflow problems. + +Sun Mar 1 11:19:55 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (force_to_mode): New function. + (make_field_assignment): Rework code that handles fixed-position + fields to make it both much more general and much simpler. + + * m68k.md: Add missing insns for using byte operations with + STRICT_LOW_PART; add was missing commutative equivalent and + most operations other than add and subtract were missing. + + * varasm.c (assemble_start_function): Add missing arg to call to + dbxout_begin_function. + + * fold-const.c (const_binop): Make minor source change to work + around bug in IBM RT PC compiler. + +Sun Mar 1 05:01:34 1992 Michael Tiemann (tiemann@rtl.cygnus.com) + + * cp-typeck.c (build_modify_expr): When wrapping NEWRHS in a + SAVE_EXPR, call `break_out_cleanups' first. + +Sat Feb 29 23:19:20 1992 Jim Wilson (wilson@cygnus.com) + + * reload.c (find_reloads): Reset preferred_class to NO_REGS after + substituting a reg_equiv_address for a pseudo reg. + + * unroll.c (precondition_loop_p): Fix misplaced paren when checking + for MODE_FLOAT rtx. + +Sat Feb 29 13:59:54 1992 Michael Tiemann (tiemann@cygnus.com) + + * cp-typeck.c (build_modify_expr): To complete 24 Feb change, + COND_EXPRs must evaluate LHS in conditional slot if LHS has side + effects. Otherwise the SAVE_EXPRs in lhs will only be evaluated + once, even though they are referenced on both branches of the + conditional. + +Sat Feb 29 13:32:35 1992 David J. MacKenzie (djm@nutrimat.gnu.ai.mit.edu) + + * README.X11: Add warning to not use gas when compiling PIC code. + + * fixincludes: Allow TAB as well as SPC before symbols to change. + Don't change "sun" if it's part of a multiword name that contains + underscores. + Make intermediate dir, if needed, when doing special-case fixes. + Use previously fixed file, if it exists, as source for all special + fixes. Do less copying when making special fixes. + Ignore errors when chmod'ing a file that might not exist. + * fixinc.svr4: Preserve whitespace around "#" when fixing #else and + #endif. + Allow TAB as well as SPC before symbols to change. + Combine "sun" cases as in fixincludes. + +Sat Feb 29 11:10:55 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (movstrsi): Print opcode as "movsl" so that seq386.h can + change it into smovl. + +Sat Feb 29 09:15:51 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * function.c (expand_function_end): Allocate rtl that points to + trampoline permanently. + + * reload1.c (gen_input_reload): If one operand of a PLUS is a MEM, + move it into a reg and add the other (makes code agree with comments). + + * explow.c (eliminate_constant_term): Rework so it does not directly + add integer values; call simplify_binary_operation instead. + Second arg is now pointer to rtx, not int. + Assume constant is always second operand of PLUS. + (memory_address): Pass rtx pointer to eliminate_constant_term. + * halfpic.c (half_pic_address_p): Likewise. + * mips.c (simple_memory_operand, mips_address_cost): Likewise. + (mips_debugger_offset): Likewise. + * expr.c (expand_expr, case PLUS_EXPR): Likewise. + Don't add INTVALs; use simplify_binary_operation instead. + Remove obsolete OLD_INDEXING code. + Put a MULT in the first operand of the PLUS. + + * combine.c (combinable_i3pat): Don't combine if I3DEST is a hard + reg in a non-valid mode. + +Sat Feb 29 09:14:19 1992 Eric Youngdale (youngdale@v6550c.nrl.navy.mil) + + * vms.h (ASM_OUTPUT_COMMON): Use SIZE instead of ROUNDED bytes. + (DO_GLOBAL_CTORS_BODY): Do not call fflush(stdout). + + * gcc.texi: Update GLOBAL[DEF,REF,VALUE] documentation. + + * make-l2.com: Remove call to test_gcc2. + +Sat Feb 29 02:52:59 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cccp.c (main): Rename envvars to CPLUS_INCLUDE_PATH and + OBJCPLUS_INCLUDE_PATH. + + * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use `move', not `mov'. + +Fri Feb 28 19:39:09 1992 David J. MacKenzie (djm@wookumz.gnu.ai.mit.edu) + + * fixincludes: Don't change symbols that already start with `_' + into `__symbol__'. Merge all of the sun* substitutions so they + don't fight each other. + Comment out junk after #elses and #endifs, to prevent warnings + when -pedantic is given. + +Fri Feb 28 13:42:05 1992 Jim Wilson (wilson@cygnus.com) + + * sched.c (schedule_insns): Don't update value of reg_live_length + when it is negative, because negative values are special. Earlier + fix Dec 17 disabled the fprintf call, but not the assignment. + + * unroll.c (copy_loop_body): After incrementing the base reg for a + split DEST_ADDR giv, must subtract the const_adjust from the base + reg to get its true current value. + + * loop.c (maybe_eliminate_biv_1): When handling COMPARE, verify + that mult_val is positive, which makes the code match the comment, + and surrounding code. + + * sparc.c (legitimize_pic_address): Always test reload_completed + in addition to reload_in_progress. + + * sched.c (schedule_block): Don't reorder any USE insns at the end + of a function. Exclude them all from scheduling. + + * c-typeck.c (build_array_ref): Check for when `ar' is an + error_mark_node and don't emit a second error message for that node. + + * Makefile.in: Correct misc typos in comments or spacing. + (mostlyclean): Update names of files to delete. + + * Makefile.in (install-man): Also install cccp man page. + (uninstall): Also delete cccp man page. Don't delete protoize and + unprotoize man pages twice. + + * Makefile.in (libgcc2.a): Delete unnecessary -fstrength-reduce -O + flags on gcc command lines, superseded by LIBGCC2_CFLAGS. + + * Makefile.in (config.status): Verify that file does not exist + before printing an error and failing. Prevents problem with Sun's + KEEP_STATE feature. + +Fri Feb 28 05:15:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * stmt.c (expand_computed_goto): Call emit_queue. + + * function.c (assign_parms): Don't generate convert whose operand + is register that is not valid in its mode. + + * reload.c (find_reloads_toplev): Don't do anything with paradoxical + SUBREGs if BYTE_LOADS_ZERO_EXTEND. + +Thu Feb 27 09:59:09 1992 Jeffrey A Law (law at b115.super.org) + + * toplev.c (main): Enable caller-saves for all machines at + optimization levels of -O2 or higher. + * mips.h (OPTIMIZATION_OPTIONS): toplev.c will turn on + caller-saves at -O2 now. Do not do it here. + * sparc.h (OPTIMIZATION_OPTIONS): Likewise + +Thu Feb 27 06:47:31 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cp-call.c: Move some extern declarations to file level. + + * emit-rtl.c (init_emit_once): Cast VOIDmode to int in array index. + + * reorg.c (mark_target_live_regs): Don't make recursive call if + function being compiled has infinite loop. + + * cse.c (fold_rtx, case 'o'): New case to support folding LO_SUM. + + * global-alloc.c (global_alloc): When calling reload, pass the + result of get_insns instead of basic_block_head[0]. + + * c-typeck.c (process_init_constructor): Don't check array index + against limits if array bounds weren't specified. + + * gcc.c (link_command_spec): Put back -s. + + * gcc.c (find_a_file): Add missing paren in init of file_suffix. + + * i386sun.h (LIB_SPEC): Insert missing blank. + + * sun386.h (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Add #undef. + + * sparc.h (LINK_SPEC): Correct comment. + + * sun3.h, i386sun.h (LINK_SPEC): Don't force -Bstatic if -g. + + * mips-news.h (ASM_SPEC): Add missing "}". + + * Makefile.in (install-native): Don't include install-proto. + (.y.c): Suppress default rule for using Yacc. + + * combine.c (apply_distributive_law, case SUBREG): Check that word + numbers are the same. + Don't change a single-word operation into a multi-word operation. + Put all checks on SUBREGs in one place. + (gen_lowpart_for_combine): Use correct word number when making + explicit SUBREG. + + * README.SCO: Obsolete file deleted. + +Wed Feb 26 21:23:02 1992 Jim Wilson (wilson@cygnus.com) + + * sparc.md (DImode sethi): Correctly handle CONST_DOUBLE, was + wrong endian. + (DImode lo_sum): Don't output CONST_DOUBLES as 64 bit constants, + just output the low 32 bits. + + * unroll.c (find_splittable_givs): For combined address givs, save + the increment amount in add_val. + (copy_loop_body): For combined address givs, increment by the + amount calculated by find_splittable_givs, not by the amount that + the giv it was combined with gets incremented by. + + * expr.c (clear_pending_stack_adjust): Check flag_no_inline, not + optimize, to determine whether functions declared inline will be + inlined. + + * dbxout.c: Delete all #ifndef DBX_DEBUGGING_INFO stubs. None of + them are needed. + + * hp800.c, hp800.h: Fix typos in comments. + +Wed Feb 26 02:39:52 1992 Michael Tiemann (tiemann at rtl.cygnus.com) + + * cp-call.c (build_method_call): If conversion of INSTANCE_PTR + yields error_mark_node, return error_mark_node immediately. + +Tue Feb 25 23:40:01 1992 Mike Stump (mrs at cygnus.com) + + * tree.c (array_type_nelts): Fix documentation, really nelts-1 + * cp-tree.c cp-tree.h cp-init.c (expand_vec_init): Fixed + multi-dimensional array inits. + +Mon Feb 24 00:03:23 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-tree.c (build_cplus_new): Set TREE_SIDE_EFFECTS bit on + NEW_EXPR. + + * cp-typeck.c (build_modify_expr): Handle WITH_CLEANUP_EXPRs + specially when they appear in expressions (not initializations). + Also handle COND_EXPRs on the right-hand-side specially (in case one + of the COND_EXPR's branches is a WITH_CLEANUP_EXPR). + +Sun Feb 23 15:11:27 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-decl2.c (finish_anon_union): Make RTL for ANON_UNION_DECL based + on MAIN_DECL. + + * cp-decl.c (lookup_tag): Deal with the fact that `clear_anon_tags' + may have been run. + + * 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. + + * gcc.c (do_spec_1): Handle SPACE_AFTER_L_OPTION. + * hp320.h (SPACE_AFTER_L_OPTION): Defined. + Note: for 2.1, try making a space there on all systems. + + * i386mach.h (perform_*): New macros, copied from i386rose.h. + + * Makefile.in (distclean): New target. + (realclean): Avoid duplication with self or with distclean. + (gcc.xtar.Z): Depend on gcc.xtar. + (gcc.xtar): Fixes in copying files. + + * expr.c (do_store_flag): Don't correct CODE before where it is set. + + * cp-parse.y (stmt): Pass pushcase_range all the args it wants. + +Fri Feb 21 18:14:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (distribute_notes): Correctly handle the case of a + REG_DEAD note for a multi-word hard register when not all of + the words are used. + +Fri Feb 21 16:47:32 1992 Michael Meissner (meissner@osf.org) + + * mips.h (MIPS_VERSION): Change Meissner version # to 12. + (half_pic support): Move the halfpic support to halfpic.h which is + included in the decrose case, and nop the support in other MIPS + platforms. + (OPTIMIZATION_OPTIONS): Move setting caller-saves to -O2. + (OBJECT_FORMAT_COFF, EXTENDED_COFF): Define unless OSF/rose. + (INITIAL_FRAME_POINTER_OFFSET): Always recalculate the frame size, + don't rely on cached values. + + * mips.c (half_pic support): Move the halfpic support to halfpic.c, + which is only compiled for OSF/rose. + (expand_block_move): Use copy_addr_to_reg instead of copy_to_reg in + case either the source or destination is an integer constant + converted to an appropriate pointer type. + (mips_debugger_offset): Use a local variable to hold function + result. + + * decrose.h (toplevel): Include halfpic.h for halfpic support. + (PTRDIFF_TYPE): Change to 'int' to match current include files. + (WCHAR_TYPE): Change to 'unsigned int' to match include files. + (INIT_SECTION_ASM_OP): Delete, since the OSF/rose assembler doesn't + support a true initialization section. + + * encrose.h (PTRDIFF_TYPE): Change to 'int' to match current include + files. + (WCHAR_TYPE): Change to 'unsigned int' to match include files. + + * t-decrose (EXTRA_OBJS): Define as halfpic.o to provide halfpic + support. + (CONFIG2_H): Treat halfpic.h as another config file. + (halfpic.o): Add dependencies. + + * halfpic.h (new file): Common include file for systems needing the + OSF/rose half-pic shared library support. + + * halfpic.c (new file): Common support file for systems needing the + 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. + Seems to be safer for the moment. + * function.c (instantiate_decls): Don't instantiate DECL_INCOMING_RTL. + + * dwarfout.c (output_mem_loc_descriptor): Handle CONST like SYMBOL_REF. + + * collect2.c (errno): Declare if not macro. + + * dbxout.c [MIPS]: Include gstab.h, not stab.h. + + * dbxout.c (dbxout_symbol): No longer flush leading _ for C++ syms. + + * cp-parse.y (.hush_warning): Set $$. + + * gstdarg.h: Handle _HIDDEN_VA_LIST as in gvarargs.h. + +Thu Feb 20 07:41:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * vax.c (reg_or_nxmem_operand): New function. + (split_quadword_operands): Add missing return type (void). + * vax.md (jlbc/jbc/jlbs/jbs): Handle QImode operands properly. + + * caller-save.c (set_reg_live): Use mode of SUBREG to see how many + hard regs are written. + + * combine.c (simplify_shift_const, case IOR, AND, XOR): Perform + logic computation in RESULT_MODE, not mode of VAROP. + +Wed Feb 19 18:32:05 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * hp320.h (PRINT_OPERAND): Support codes '$' and '&'. + + * reload1.c (reload): Add cast of enum in index. + + * vms.h (CPP_PREDEFINES): Define __GNUC__ as 2. + +Wed Feb 19 21:43:36 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (output_mem_loc_descriptor): Deleted useless blank line. + (output_mem_loc_descriptor) Added code to handle CONSTs in DECL_RTL + expressions. + (dwarfout_finish): Added code to put a null string at the end of + the terminating .debug_macinfo section. + +Tue Feb 18 18:34:13 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * cccp.c (main): Fix typo in comment or spacing. + * dbxout.c (dbxout_block): Likewise. + * expr.c (convert_move): Likewise. + * reload1.c (emit_reload_insn): Likewise. + * rtl.h (REG_NOTES): Likewise. + * sun4o3.h: Likewise. + * ultrix.h (CPP_PREDEFINES): Likewise. + * toplev.c (flag_no_common): Likewise. + * stmt.c (layout_type): Likewise. + * gcc.c (is_linker_dir, lookup_compiler): Likewise. + + * sched.c (schedule_block): Comment code handling USE insns as + obsolete. + +Tue Feb 18 14:44:49 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c++: Run gcc in same dir as c++ was in, if exists there. + Use `exec' to run it. + New var `havefiles'; special message if no input files specified. + Pass through any unrecognized options. + + * g++: Now a link to c++. + +Tue Feb 18 04:54:52 1992 david d [zoo] zuhn (zoo at lynx.spa.umn.edu) + + * protoize.c (main): added support for -p flag, to specify which + gcc is the one to call for -fgen-aux-info support. + +Tue Feb 18 07:29:23 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (try_combine): Don't clobber OTHER_INSN's PATTERN if + we aren't able to change the insn. + + * romp.md (bit_insv): Add missing CLOBBER when making pattern to + match mftb; likewise for the DEFINE_INSN. + +Tue Feb 18 01:03:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * rs6000.h (bss_section): Set `in_section' correctly. + + * expmed.c (synth_mult): Count second shift for alg_compound. + Count extra shift for lea case. + * m68k.h (RTX_COSTS): Reduce cost of multiply. + + * function.c (instantiate_decls): Instantiate DECL_INCOMING_RTL. + +Mon Feb 17 19:17:50 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * a29k.md (divmodsi4, udivmodsi4): Don't use reg 180 explicitly. + Instead use 'q' constraint letter. + +Mon Feb 17 16:15:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * global-alloc.c (global_alloc): Always call `reload'. + +Mon Feb 17 10:38:38 1992 Jim Wilson (wilson at sphagnum.cygnus.com) + + * a29k.md (movdi define_split): Use DImode in operand_subword + calls, not DFmode. + +Mon Feb 17 08:20:33 1992 Michael Tiemann (tiemann at mole.gnu.ai.mit.edu) + + * varasm.c (assemble_external): Check that DECL is some sort of + _DECL before referencing its DECL_RTL. + +Sun Feb 16 13:05:36 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-call.c (build_method_call): Add call to `assemble_external' in + case this is the first use of FUNCTION. + * cp-class.c (build_vfn_ref): Ditto for VTBL. + * cp-decl2.c (write_vtable_entries): Ditto for FN. + * cp-init.c (build_offset_ref): Ditto for T. + * cp-typeck.c (build_function_call_real): Ditto for FUNCTION. + * cp-method.c (hack_identifier): Ditto for VALUE. Also remove + action that made call to `assemble_external' when !TREE_USED (VALUE). + + * cp-lex.c (do_identifier): Remove call to `assemble_external' when + implicitly declaring ID. + + * 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 + OFFSET_TYPEs. (They are *not* fundamental types). + (fundamental_type_code): Fixed typo. + (location_attribute, const_value_attribute): Changed to take one + rtx parameter rather than one tree parameter. + (location_or_const_value_attribute): Changed to use DECL_INCOMING_RTL + rather than DECL_RTL for formal parameters. Also changed calls to + location_attribute and const_value_attribute to provide the rtl + parameter. + (fund_type_attribute): Changed to accept an actual fundamental type + code as a parameter directly. Also changed all calls correspondingly. + (type_attribute): Separated tests for ERROR_MARK and for VOID_TYPE + and added comments. + (output_unspecified_parameters_die): Changed to take one tree param + and to generate *both* an AT_name and an AT_type attribute when the + input parameter represents of function definition. Also adjusted + all calls correspondingly. + +Sun Feb 16 00:54:10 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * fixincludes: Add #ifndef around size_t declaration in types.h. + + * varasm.c (assemble_external): Do nothing if arg isn't a decl. + + * Makefile.in (cp-parse.c): Update "expect" msg. + + * next.h (CPP_SPEC): Rename -bsd to -strict-bsd. + + * Makefile.in (mostlyclean): Add ld, mips-tfile, mips-tdump. + + * protoize.c (directory_specified_p): Don't match files in subdirs. + + * xm-rs6k-m.h: Renamed from xm-rs6000-mach.h. + * configure (rs6000-*-mach*): Changed accordingly. + + * collect2.c (handler): No error msg here. Just resend signal. + (write_c_file): Arg to write_list... is pointer. + (do_wait): Fix typo. + (scan_prog_file for non-OSF): Preserve all underscores. + + * Makefile.in (install-collect2): Install gcc in libsubdir. + +Sat Feb 15 15:26:03 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * varasm.c (decode_reg_name): Empty string is not a reg number. + + * fold-const.c (merge_component_references): NE tests against + mismatched constants forces 1, not 0, as value. + + * i386gas.h (ASM_OUTPUT_OPCODE): Convert repz to repe. + + * collect2.c: Get rid of PROTO macro; use non-prototype decls. + Don't include gstddef.h (had conflicts). Use gstdarg.h, not stdarg.h. + (xcalloc, xmalloc): Add casts. + (do_wait): Avoid macros WTERMSIG, WEXITSTATUS missing on some machines. + + * cp-typeck.c (default_conversion): Don't use initial value if BLKmode. + + * objc-actions.c (finish_objc): Fix typos in last change. + + * c-aux-info.c, dbxout.c, cccp.c (errno): Declare, if not a macro. + + * i386.md (QI bit test recognizer): Split into separate patterns + for memory and register args. Make a scratch reg for memory. + +Fri Feb 14 23:39:58 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * tree.c (get_identifier): Improve -Wid-clash message. + +Fri Feb 14 16:22:48 1992 Michael Collison (collison at osf.org) + + * i386rose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and + LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. + (INIT_SECTION_ASM_OP): Define as .init. + (CC1PLUS_SPEC): Define it. + (LINK_LIBGCC_SPECIAL): Define this to work around linker bug. + +Fri Feb 14 00:38:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (protoize.o, unprotoize.o): g++-include is under libdir. + + * Makefile.in (enquire.o): Make the command one long line. + + * gcc.c (do_spec_1): Omit relative prefixes from -L'ing + only if RELATIVE_PREFIX_NOT_LINKDIR is defined. + * rs6000.h (RELATIVE_PREFIX_NOT_LINKDIR): Defined. + + * varasm.c (assemble_external): Test TREE_EXTERNAL. + + * jump.c (follow_jumps): If can't find chain end, return orig label + + * mot3300.h (PRINT_OPERAND): Always print 16 hex digits for a double. + + * objc-actions.c (build_module_descriptor) [NEXT_OBJC_RUNTIME]: Ret 0. + (finish_objc): Value 0 from build_module_descriptor means no ctor. + When referencing a class_name symbol, don't output a .globl for it. + (finish_objc): Put artificial refs in text section. + + * cccp.c (pedwarn_with_file_and_line): Handle -w, -W. + +Fri Feb 14 07:44:08 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.c (notice_update_cc): sCOND opcodes don't change the flags. + Don't record test or compares involving stack-like regs, since + final can't omits tests or compares involving such regs correctly. + + * i386.c (seq,sne,beq,bne): These opcodes use the state of + cc_status from before the curren insn. + + * reg-stack.c (stack_reg_mentioned_p): Don't make static. + +Fri Feb 14 06:27:48 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * jump.c (jump_optimize): Disable "if (...) {... x = C;} if (x) ..." + optimization; there doesn't seem to be a way to fix it. + +Thu Feb 13 18:06:06 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * seq386.h (ASM_OUTPUT_OPCODE): New macro. Change "movs" into + "smov" at the start of a string move mnemonic - Sequent as(1) + doesn't handle the former. + +Thu Feb 13 17:21:26 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (finish_struct): Use pedwarn for pedantic warning. + (grokdeclarator): Likewise. + * c-parse.y (component_decl_list2): Likewise. + +Thu Feb 13 22:11:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (make_extraction): Default modes to byte and register + size, as appopriate, when the bitfield insn doesn't exist. + + * a29kunix.h (LINK_SPEC): Pass default option file to gld. + (LINK_LIBGCC_SPECIAL): Define to work around gld bug. + + * explow.c (copy_to_suggested_reg): Try getting mode from TARGET. + + * rs6000.h (ASM_FILE_END): New macro. + (EXTRA_SECTIONS): New section read_only_private_data. + (EXTRA_SECTION_FUNCTIONS): New function read_only_private_data_section. + (SELECT_RTX_SECTION): Always make non-toc data private, read-only. + (SELECT_SECTION): Put read-only data in appropriate sections. + + * jump.c (jump_optimize): Place branch in correct place when + optimizing "if (...) {... x = C;} if (x) ...". + (redirect_jump): Ensure jump's UID is within range of jump chain. + + * a29k.c (output_prologue): Correctly set LR1 when more than 64 + registers are needed. + +Wed Feb 12 22:22:46 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-cccp.com: Define link as a local symbol to avoid + possible conflict with a user defined global symbol. + + * make-cc1.com: Likewise. + +Thu Feb 13 11:05:07 1992 Michael Meissner (meissner at osf.org) + + * mips.c (make_temp_file): Store created filename into a static + file-scope variable, not an auto. + (mips_asm_file_end): Use the appropriate filename in printing + errors. + +Thu Feb 13 01:15:00 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cccp.c (skip_if_group): Skip comments after the #. + + * cccp.c (macarg): Don't assume stringify will compress spaces. + (macroexpand): In stringify, compress space only outside tokens. + + * cexp.y (exp1): Use pedwarn for comma in #if. + + * cp-decl.c (push_binding_level, pop_binding_level): + Change `inline' to `__inline'. + + * combine.c (make_compound_operation): Undo previous change. + +Wed Feb 12 18:47:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * function.c (instantiate_virtual_regs_1, case IF_THEN_ELSE): + Don't special case; allow all operands to be processed. The last + two operands are nontrivial on the Vax. + +Wed Feb 12 18:58:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gcc.c (do_spec_1): Only absolute prefixes turn into -L's. + (link_command_spec): Handle LINK_LIBGCC_SPECIAL. + +Wed Feb 12 18:38:29 1992 Chris Smith (csmith at convex.com) + + * convex.h (DEFAULT_CALLER_SAVES): define again, bug is fixed. + * convex.h (BRANCH_COST): Define as 0, so we won't use complex + alternatives to branches (whose expansions contain branches + on convex). + +Wed Feb 12 17:23:57 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * config.sub: Accept just `hppa' for machine. + + * Makefile.in (Install-collect2): New target. + +Wed Feb 12 13:55:24 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reorg.c (relax_delay_slots): Don't convert jump to return here. + + * configure (a29k-ultra-*): Deleted. + (a29k-*-bsd*): Merged with a29k-ultra-*. + (romp-*-mach*): Fixed typo in xmake_file name. + * xm-a29kunix.h: Renamed from xm-a29k-ult.h. + * x-a29kunix: New file. + + * reload.c (find_reloads): Don't use class from preference if it + is a single-register class. + +Wed Feb 12 13:03:16 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.h (FUNCTION_BOUNDARY, ASM_OUTPUT_ALIGN): Pack code tightly + when compiling crtstuff.c (flag_inhibit_size_directive). + +Wed Feb 12 10:34:09 1992 Michael Meissner (meissner at osf.org) + + * decrose.h (*_SPEC): Compress some whitespace in the specs. Also, + simpify which LANGUAGE_xxx names are defined, to be the ones uses by + the system(s). + * decstatn.h (*_SPEC): Likewise. + * iris.h (*_SPEC): Likewise. + * mips.h (*_SPEC): Likewise. + * mips-bsd.h (*_SPEC): Likewise. + * mips-news.h (*_SPEC): Likewise. + * mips-sysv.h (*_SPEC): Likewise. + +Wed Feb 12 10:34:09 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * caller-save.c (insert_save_restore): Properly check for insns that + reference CC0. + +Wed Feb 12 03:17:00 1992 Chris Smith (csmith at convex.com) + + * convex.h (DEFAULT_CALLER_SAVES): don't define, to sidestep a bug. + * convex.md (ffssi2): Comment out. + +Wed Feb 12 00:08:42 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-libgcc2.com: Do not save .s file. + + * vms.h: Wrap #include <stdio.h> in #ifdef L__main/endif + +Tue Feb 11 21:58:42 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * libgcc2.c (DO_GLOBAL_DTORS_BODY): New macro. + + * make-l2.com: New file to build libgcc2 on VMS. + + * vms.h (DO_GLOBAL_CTORS_BODY): Replacement definition. + + * vms.h (DO_GLOBAL_DTORS_BODY): Likewise. + + * make-cccp.com: Define bison and rename as local symbols to avoid + possible conflict with user defined global symbols. + +Tue Feb 11 22:17:32 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * sched.c (attach_deaths): Don't treat PIC offset table register + specially; flow.c doesn't. + + * combine.c (make_compound_operation, case AND): We can have + a (and (subreg (lshiftrt ..) ..) ..); handle same as without SUBREG. + + * Makefile.in (HOST_CLIB, HOST_ALLOCA, HOST_MALLOC, HOST_OBSTACK): New + variables to override. + (USE_HOST_*, HOST_LIBDEPS): Use HOST_PREFIX and new variables. + (HOST_LIBS): Use HOST_CLIB. + +Tue Feb 11 21:32:07 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (install-common-headers): Copy byteorder.h to + compilation dir. + + * config.sub: Allow unicos as operating system. + + * m88kv4.h (INIT_SECTION_ASM_OP): Add #progbits. + + * vax.h (DYNAMIC_CHAIN_ADDRESS): New macro. + + * c++: Propagate quoted args properly. + +Tue Feb 11 16:35:01 1992 Jim Wilson (wilson at cygnus.com) + + * fixincludes: Define TERM to `unknown', to ensure that it is + valid. Otherwise, ex may fail. + * fixinc.svr4: Likewise. + +Tue Feb 11 18:04:32 1992 Michael Meissner (meissner at osf.org) + + * decrose.h (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and + LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. + Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS. + * decstatn.h (CPP_SPEC): Likewise. + * iris.h (CPP_SPEC): Likewise. + * mips-bsd.h (CPP_SPEC): Likewise. + * mips-news.h (CPP_SPEC): Likewise. + * mips-sysv.h (CPP_SPEC): Likewise. + + * decstatn.h (CPP_PREDEFINES): Eliminate __<name> versions, since + gcc will do these automatically. Eliminate LANGUAGE_C, since it is + handled in CPP_SPEC. + +Tue Feb 11 15:38:27 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * flow.c (find_basic_blocks): Don't delete labels used in non-jumps. + + * vms.h (DO_GLOBAL_CTORS_BODY): Modify the return address + only the first time __main is called. + + * fixinc.svr4: Change headers to test __STRICT_ANSI__ instead of + testing __STDC__ != 0. + + * fixinc.svr4 (mman.h): Fix backward __STDC__ conditional. + Don't add declarations of munmap and mprotect. + + * varasm.c (output_constant): Allow empty constructor for any type. + + * dwarfout.c (ASM_OUTPUT_DWARF_DATA8): Just one definition; + test WORDS_BIG_ENDIAN "at run time". + +Tue Feb 11 09:00:01 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c (find_reloads): Don't substitute in MATCH_DUPs if we + are not generating replacements. + +Tue Feb 11 08:45:14 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88kv4.h ({CTORS,DTORS}_SECTION_ASM_OP): Fix typo. + +Mon Feb 10 22:34:47 1992 Chris Smith (csmith at convex.com) + + * convex.h(HARD_REGNO_NREGS): define correctly for 64-bit regs + +Mon Feb 10 21:50:23 1992 Michael Meissner (meissner at osf.org) + + * mips.h (MIPS_VERSION): Change Meissner version # to 11. + (CPP_SPEC): Define the macros LANGUAGE_OBJECTIVE_C and + LANGUAGE_C_PLUS_PLUS if we are compiling Objective C or C++. + Silicon Graphics in particular uses LANGUAGE_C_PLUS_PLUS. + (FP_DBX_FIRST): Change the test so that stabs in ECOFF uses the + value 38, in addition to stabs in GAS. + + * mips.md (all function units): Make the function units simpler, and + not depend on the cpu type, to work around a memory hungry + genattrtab, which attempts to grow the data segment to than 32 + megabytes. + +Mon Feb 10 16:34:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * convex.h (REAL_VALUE_TRUNCATE): Obsolete definition deleted. + + * config.sub (convex-*): These are BSD, not sysv. + + * dbxout.c (have_used_extensions): New var. + (dbxout_type, dbxout_type_fields, dbxout_symbol): + Set have_used_extensions when use an extension. + (dbxout_symbol): Don't use `Tt' extension unless extensions + have been used. + +Mon Feb 10 12:28:59 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * xm-a29k-ult.h: Fix typo in placement of copyright notice. + +Mon Feb 10 05:36:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * dbxout.c (dbxout_type): Don't use GDB extensions if they are empty. + +Mon Feb 10 00:10:20 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-class.c (finish_struct): Use DECL_CHAIN, not TREE_CHAIN to walk + through the list of methods identified by a visibility declaration. + + * cp-cvt.c (convert_pointer_to): No longer need to abort if BINFO is + not a TREE_VEC or AGGR_TYPE node. + + * cp-parse.y (stmt): Improve error handling for try/except. + + * cp-class.c (add_method): If we create RTL for a copy of METHOD, + copy the RTL to METHOD's DECL_RTL slot. + + * cp-method.c (dump_type): Print `const' and/or `volatile' for + VOID_TYPE and REAL_TYPEs, too. + +Sun Feb 9 21:07:45 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * varasm.c (assemble_integer): Pass third arg in recursive calls. + Act appropriately if word-by-word loop doesn't finish. + + * Makefile.in (bootstrap*): Don't override value of ALLOCA. + + * dbxout.c (dbxout_symbol, dbxout_parms): Do leaf function remap + only if LEAF_REG_REMAP and only in leaf functions. + +Sun Feb 9 16:46:27 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-init.c (maybe_adjust_addr_for_delete): Build final COND_EXPR + with TREE_TYPE (addr). + +Sun Feb 9 14:20:49 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h (rs6000_{bss,private_data,read_only}_section_name): + Add declarations. + (rs6000_text_section_asm_op): Deleted. + (ASM_FILE_START): Initialize section names and enter bss section once. + (EXTRA_SECTIONS): Add `private_data' and `bss'; + delete `global_variable'.. + (read_only_data_section): Don't form name here. + (global_variable_section): Deleted. + (private_data_section, bss_section): New functions. + (ASM_DECLARE_FUNCTION_NAME): Don't write function name with [PR]. + (ASM_OUTPUT_POLL_PROLOGUE): No longer needed. + (SELECT_{RTX_,}SECTION): Just calls data_section or + private_data_section. + (ASM_OUTPUT_LOCAL): Put in bss section. + (TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Now a constant. + * rs6000.c (rs6000_text_section_asm_op): Deleted. + (rs6000_{bss,private_data,read_only}_section_name): Add definitions. + (rs6000_gen_section_name): New function. + +Sun Feb 9 08:29:21 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.h (REGNO_REG_CLASS): Use a lookup table: AIX can't handle + complex tertiary expressions. + (GO_IF_LEGITIMATE_ADDRESS): Simplify slightly for the AIX + compiler. + + * i386.c (regclass_map): New variable. Lookup array for + REGNO_REG_CLASS. + +Sat Feb 8 01:20:33 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cp-parse.y (yyprint): Test __GNUC__, not __GNU__. + Use __inline, like everywhere else. + + * a29k.h, romp.h (OVERRIDE_OPTIONS): Deleted. + (OPTIMIZATION_OPTIONS): Defined, instead. + * rs6000.h (OPTIMIZATION_OPTIONS): New macro. + (OVERRIDE_OPTIONS): Don't change optimization. + + * final.c (leaf_renumber_regs_insn): No longer static. + * dbxout.c (dbxout_symbol, dbxout_parms): Call that. + + * c-decl.c (lookup_name): Do nothing special if type is error mark. + (grokdeclarator): Ignore putative type name whose type is error mark. + * c-parse.y (primary): If var type is error mark, return error mark. + + * c-typeck.c (build_array_ref): Return early if arg is error mark. + + * Makefile.in (test-protoize): Rule deleted. + + * stmt.c (emit_case_nodes): Handle just-left-subtree case + like just-right-subtree--delete mysterious code that tests cost_table. + + * varasm.c (decode_reg_name): Accept decimal number as reg name. + + * c-decl.c (finish_decl): If pop_obstacks goes to perm obstack, + call permanent_allocation. + + * gcc.c (link_command_spec): Use -lgcc, not libgcc.a. + +Fri Feb 7 16:56:17 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * rs6000.h (DOLLARS_IN_IDENTIFIERS): Define to zero, because the + assembler does not accept dollar signs. + +Fri Feb 7 15:36:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (mostlyclean): Fix name of tmp-proto.1. + + * configure: Delete excess space in assignment to srcdir. + + * cp-decl2.c (DOLLARS_IN_IDENTIFIERS): Default now 1, as in C. + + * i386gas.h (ASM_OUTPUT_LOOP_ALIGN): New macro. + (ASM_OUTPUT_ALIGN_CODE): Use 16-byte boundary on 486. + + * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use operands for the memrefs + to avoid dependence on assembler syntax. + +Fri Feb 7 10:26:32 1992 Michael Meissner (meissner at osf.org) + + * Makefile.in (EXTRA_OBJS): New variable for extra object files + needed when linking cc1, cc1plus, and cc1objc. + +Fri Feb 7 07:34:03 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (set_label_offsets, reload_as_needed): Recompute + num_not_at_initial_offset when we pick up offsets from offsets_at. + + * unroll.c (unroll_loop): Copy initial and final values to avoid + sharing. + + * cse.c (simplify_relational_operation): Complete last change by + correctly handling <= and >=. + +Thu Feb 6 23:57:02 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-decl.c (grokdeclarator): Invert sense of warning about + initialized extern vars, since in C++, const has funny semantics. + +Thu Feb 6 15:12:02 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cse.c (simplify_relational_operation): Test properly for floating + equality; don't deduce this from < and >. + + * xm-mips.h (alloca): Don't define or declare if MIPS_OVERRIDE_ALLOCA. + * xm-irix4.h (MIPS_OVERRIDE_ALLOCA): Defined. + + * m68k.h (TRANSFER_FROM_TRAMPOLINE): Use explicit reg var + to avoid dependence on register name syntax. + + * mot3300.h (PUT_SDB_START_DIM, PUT_SDB_NEXT_DIM, PUT_SDB_LAST_DIM): + New macros. + (PUT_SDB_DIM): Deleted. + (PRINT_OPERAND): Handle %$ and %&. + (ASM_OUTPUT_OPCODE): Handle f%$move and f%&move. + + * gstdarg.h: If not __GNUC__, use system's stdarg.h. + +Thu Feb 6 22:36:36 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * vms.h (DEFAULT_GDB_EXTENSIONS): Define as 0. + +Thu Feb 6 13:32:37 1992 Michael Meissner (meissner at osf.org) + + * mips.h (MIPS_VERSION): Set Meissner version # to 10. + (flag_half_pic, mips_branch_likely): New global variables. + (call_memory_operand): New function declaration. + (half_pic_encode_section_info): Likewise. + (mips_constant_address_p): Likewise. + (mips_debugger_offset): Likewise. + (CC1_SPEC): Make OSF/1 -pic-xxx switches to -mhalf-pic, which is + currently undergoing development. + (DEBUGGER_AUTO_OFFSET): Emit correct information if frame pointer is + omitted. + (DEBUGGER_ARG_OFFSET): Likewise. + (TARGET_SWITCHES): Add -mabicalls and -mhalf-pic switches. + (PIC_OFFSET_TABLE_REGNUM): Define as the GP register ($28). + (EXTRA_CONSTRAINT): Add 'S' constraint for half-pic references. + (CONSTANT_ADDRESS_P): Call mips_constant_address_p. + (ENCODE_SECTION_INFO): Reorder test to test optimize first, and to + call half_pic_encode_section_info if half pic. + (PREDICATE_CODES): Add call_memory_operand. + + * mips.c (flag_half_pic): New global variable to indicate to produce + half-pic output for OSF/rose. + (mips_branch_likely): New global variable to indicate the branch + should use the branch likely form of the instruction. + (mips_sw_reg_names): Use $fp instead of fp, since regdef.h no longer + defines fp. + (call_memory_operand): New function to return TRUE if the argument + is a valid MEM for a call instruction. + (mips_move_1word): Emit comment in la of half-pic addresses as a + temporary flag to put the right code down. + (mips_constant_address): New function to determine if something is a + constant address or not. Add stub code for -mhalf-pic. + (override_options): Set flag_half_pic if -mhalf-pic. + (override_options): Mark %? as valid for print_operand. + (mips_debugger_offset): New function to correct the offset for + variables and arguments if the frame pointer has been omitted. + (print_operand): %? now emits a 'l' if mips_branch_likeley is set. + (mips_asm_file_start, function_prologue): If -mabicalls, emit the + pseudo ops that the Pyramid System V.4 port seems to want. + (compute_frame_size): Reserve space for saving GP if -mabicalls. + (half_pic_encode_section_info): Stub function for encoding whether + or not to generate a half pic reference. + + * mips.md (type attribute): Add pic attribute. + (cpu attribute): New attribute to get the CPU type. + (branch_likely attribute): New attribute to say whether or not we + can use branch likely instructions. + (define_delay): Note that we can annull false branches if -mips2. + (memory function unit): Add pic in addition to load. + (various function units): Use the cpu attribute. + (branch patterns): Support branch likely instructions if -mips2. + (call, call_internal): Use call_memory_operand instead of + memory_operand. If -mhalf-pic put function address in a register. + (call_value, call_value_internal): Likewise. + + * decrose.h (INIT_SECTION_ASM_OP): Define as .init. + +Thu Feb 6 10:07:17 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.c (preserve_registers): Change to walk the epilogue delay + insns in the forward rather than reverse order (for reorg.c change). + +Thu Feb 6 02:54:28 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cse.c (simplify_binary_operation, case PLUS): Don't make + a (const (plus X Y)) with X a CONST_INT. + + * fixincludes: Simplify egrep command. + +Thu Feb 6 01:11:28 1992 Mark Eichin (eichin at cygnus.com) + + * cp-lex.c (process_next_inline): if we get a "parse error at end of + saved function text", set yychar to something that + restore_pending_input will digest (if it thinks input is still + pending, it will abort, but we've already reported the problem to + the user.) + +Wed Feb 5 18:42:56 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reorg.c (fill_simple_delay_slots): When filling delay slots by + searching backward, put each new insn we find at the head of the + delay list instead of at the tail. + + * cse.c (fold_rtx): When associating operations, avoid infinite + recursion if the new expression contains our operand. + +Wed Feb 5 21:18:06 1992 Mark Eichin (eichin at cygnus.com) + + * cp-decl.c (globalize_nested_type): If the type isn't found at all, + this is an anonymous forward reference, so permit it. + Abort if type is already globally defined. + +Wed Feb 5 18:01:12 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * varasm.c, hp800.h, i386.h, m88k.h, mips.h, romp.h, vms.h: + (ENCODE_SECTION_INFO): Renamed from ENCODE_SEGMENT_INFO. + + * sparc.md (nonlocal_goto): Copy static chain into + virtual_stack_vars_rtx, not frame pointer itself. + (nonlocal goto return recognizer): Jump to %o0+0. + + * toplev.c (main): Fix test for -Wid-clash. + +Wed Feb 5 16:58:15 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (dwarfout_init): Add two words containing the starting + and ending address of the .text section for this compilation unit to + the special initial entry in the .debug_srcinfo section. + +Tue Feb 4 14:51:16 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * dbxout.c (dbxout_symbol): Handle DBX_OUTPUT_CONSTANT_SYMBOL. + (dbxout_block): Handle DBX_OUTPUT_CATCH. + + * cccp.c (lookup_import, add_import, do_include): + Use bcmp and bcopy to access st_ino and ->inode fields. + + * dbxout.c (dbxout_init): Pass syms to DBX_OUTPUT_STANDARD_TYPES. + + * fold-const.c (operand_equal_p): Check that modes match. + (comparison_equiv_p): New function. + (fold): Use that when converting ?: to min_expr or max_expr. + + * c-common.c (c_expand_expr_stmt): Test for ERROR_MARK as type. + +Tue Feb 4 12:03:26 1992 Michael Tiemann (tiemann at cygnus.com) + + * stmt.c (expand_end_case): Don't crash if function called + is not an ADDR_EXPR. + +Tue Feb 4 14:17:22 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * expr.h ({float[sd]i[sd]f,fix[sd]f[sd]i,fixuns[sd]f[sd]i}_libfunc): + New declarations. + * optabs.c: Define them. + (expand_float, expand_fix): Use them instead of making a new + SYMBOL_REF each call. + (init_optabs): Initialize them. + +Tue Feb 4 00:27:35 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (protoize.1, unprotoize.1): Rename temp files < 14 chrs. + + * cccp.c (skip_if_group): Make unknown cmd name a pedantic warning. + +Mon Feb 3 18:10:41 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * romp.h (LEGITIMATE_CONSTANT_P, ENCODE_SEGMENT_INFO): Use + SYMBOL_REF_FLAG. + + * x-romp-mach: New file. + * configure (romp-*-mach*): New alternative. + +Mon Feb 3 16:43:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cp-typeck.c (warn_for_assignment): Print arg num in origin 1. + + * sparc.md (nonlocal_goto trap recognizer): Fix opcode spelling. + + * function.c (fix_lexical_addr): Properly search for correct display. + + * romp.h (OVERRIDE_OPTIONS): Don't set flag_omit_frame_pointer. + +Mon Feb 3 11:11:58 1992 Michael Tiemann (tiemann at cygnus.com) + + * gcc.c (@c++-cpp-output): Delete extraneous "}}}" at the end of the + rule. + +Mon Feb 3 11:38:19 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (dwarfout_init): Generate an initial 2-word entry in the + .debug_srcinfo section containing the addresses of the starts of the + .line and .debug_sfnames sections. Generate it after the initial entry + for the .line section. + + * dwarfout.c [DWARF_TIMESTAMPS]: Ensure time_t and time declared. + (dwarfout_init): Make third word of initial .debug_srcinfo entry be + the compilation date/time if DWARF_TIMESTAMPS is defined, or else -1. + + * dwarfout.c (dwarfout_init): Output compilation directory name as + the first thing in the .debug_sfnames section. + +Mon Feb 3 04:12:51 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * Makefile.in (install-dir): `parent' is a shell variable. + +Mon Feb 3 09:43:51 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.h (EXTRA_SECTIONS): Use init and fini sections from svr3.h, + but only when using svr3.h. + +Sun Feb 2 19:50:29 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.h (ADDRESS_COST): New macro. + +Sun Feb 2 17:08:47 1992 Michael Meissner (meissner at osf.org) + + * mips.c (simple_memory_operand): Don't recognize references to + variables in .sdata or .sbss, which has the effect of not putting + stores into delay slots. This fixes a bug and also doesn't temp the + MIPS linker from trying to put 4 instructions into the delay slot + when it rewrites the function as a PIC function. + +Sun Feb 2 16:58:11 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Do ON_EXIT last. + + * Makefile.in (install-dir): Create the parent of mandir if nec. + + * real.h (REAL_VALUE_TRUNCATE): sizeof says what cast to float does. + + * dbxout.c (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): New parameter macro. + (DBX_OUTPUT_MAIN_SOURCE_FILENAME, DBX_OUTPUT_SOURCE_FILENAME): + (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. + These are used in place of ASM_... + * newpbb.h (DBX_OUTPUT_MAIN_SOURCE_FILENAME): Macro renamed. + (DBX_OUTPUT_SOURCE_FILENAME): Likewise. + * next.h (DBX_OUTPUT_MAIN_SOURCE_DIRECTORY): Macro renamed. + (DBX_OUTPUT_MAIN_SOURCE_FILE_END): Likewise. + +Sun Feb 2 12:51:54 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-typeck.c (build_component_ref_1): Call `compute_visibility' + with a BASETYPE_PATH, not a TREE_LIST. + + * cp-class.c (build_vtable_entry): Apologize if we cannot build a + proper vtable because of builtin liminations. + +Sun Feb 2 07:30:08 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c (combine_reloads): Don't combine two reloads with different + secondary reloads; copy secondary reload to combined reload. + + * cse.c (cse_main): PIC_OFFSET_TABLE_REGNUM is not clobbered by calls + if -fpic or -fPIC. + * reorg.c (mark_target_live_regs): Likewise. + * sched.c (attach_deaths): Likewise. + + * flow.c (find_basic_blocks): Don't separate a CALL_INSN from + following CLOBBER insns. + + * function.c (use_variable, use_variable_after): Don't interpret + reference to internal arg pointer as variable-sized object. + (expand_function_start, expand_function_end): Add USE for virtual + arg pointer if stupid alloc and it is not the real arg pointer. + + * flow.c (insn_dead_p, mark_set_1, mark_used_regs): Don't treat + ARG_POINTER_REGNUM specially if it isn't fixed. + * sched.c (attach_deaths): Likewise. + * reorg.c (mark_target_live_regs): Likewise; also make set of regs + clobbered on call agree with cse and flow. + + * function.c (fix_lexical_addr): Rework to look for AP references + using internal_arg_pointer; make some related cleanups. + * expr.c (expand_expr, case VAR_DECL, SAVE_EXPR): Treat + inline_function_decl just like current_function_decl. + * stmt.c (expand_end_bindings): When restoring arg pointer, restore + into the virtual form so we will subtract the proper offset, since + the saved value includes the offset. + +Sat Feb 1 14:41:34 1992 Ken Raeburn (Raeburn@Cygnus.COM) + + * cp-pt.c (end_template_decl): For method template, no longer call + popclass; it isn't needed any more. If after processing template + we're not at the global binding level, throw away any other binding + levels, rather than aborting. Also deleted some other unused code. + +Sat Feb 1 09:13:47 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * xm-rs6000-mach.h, rs6000-mach.h: New files. + * configure (rs6000-*-mach): New option. + +Sat Feb 1 00:57:24 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.c: Include tree.h + (symbolic_operand): New predicate function. + (symbolic_reference_mentioned_p): New function. + (legitimize_pic_address,emit_pic_move): New functions. + (function_prologue): Delete unused variable nregs. + If the PIC reg is used, save the old contents and initialize with + a pointer to the GOT. + (simple_386_epilogue): Count the PIC reg if it is used. + (function_epilogue): Delete unused variable "insn". Restore the + original contents of the PIC reg if it was used. + + (output_pic_addr_const): New function to handle PIC symbol + reference suffixes. + (print_operand_address): Use that if flag_pic is true. + (print_operand): Likewise. Don't print a prefix in front of any + constant if the 'P' code is used. + + (output_387_binary_op): abort if the op is not one we handle. + + (maximum_field_alignment): New variable. + (handle_pragma_token): New function. Handle `weak' and `pack'. + + * i386.h (CONDITION_REGISTER_USAGE): New macro. Mark PIC reg as + fixed and call used if flag_pic is true. + (PIC_OFFSET_TABLE_REGNUM): New macro. + (FUNCTION_PROFILER): Output PIC compatible code if flag_pic. + (INITIAL_ELIMINATION_OFFSET): Count the PIC reg if it is used. + + (GO_IF_LEGITIMATE_ADDRESS): If flag_pic is true, reject bare + label or symbol references, but allow constant pool references. + In all cases, don't bother to check for a constant as the first + operand of a PLUS. + (LEGITIMIZE_ADDRESS): Call legitimize_pic_address for symbolic + references if flag_pic is true. In all cases, HImode regs are not + valid memory pointers. + (LEGITIMATE_PIC_OPERAND): New macro. + (SYMBOLIC_CONST): New macro. + (ENCODE_SEGMENT_INFO): New macro to notice static variables. + (CONST_COSTS): Symbolic constants cost more if flag_pic is true. + + * i386.md (movsi): Use define_expand. Call emit_pic_move for + symbolic constants if flag_pic is true. + (divmodM4,udivmodM4): Change predicates so that only regs are + allowed in operands that can't be a mem. Avoids reload + congestion. + (indirect_jump): Allow any reg or mem as operand, not just reg 0. + (casesi): New insn, only used if flag_pic is true. + (call,call_pop,call_value,call_value_pop): Use define_expand to + record if this function ever emits a call, which will implicitly + use the PIC address register. + + * svr4.h (SELECT_SECTION): Any item whose initial value involves + linker relocation must go in the data section if flag_pic is true. + + * i386v4.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output in PIC style. If + flag_pic is false, ADDR_DIFF_VECs are not output and this is not + used. + (JUMP_TABLES_IN_TEXT_SECTION): New macro. + + (WEAK_ASM_OP,DEF_ASM_OP): New macros. + (maximum_field_alignment): New variable. Declare here. + (PCC_BITFIELD_TYPE_MATTERS): New macro. Value depends on + maximum_field_alignment. + (BIGGEST_FIELD_ALIGNMENT): New macro. Likewise. + (HANDLE_PRAGMA): New macro. + (ASM_OUTPUT_ALIGNED_LOCAL): New macro. + +Sat Feb 1 00:15:41 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * flow.c (flow_analysis, find_basic_blocks): + If have nonlocal labels, calls end basic blocks. + Each call can jump to each nonlocal label. + Pass extra arg to find_basic_blocks. + * function.c (nonlocal_label_rtx_list): New function. + + * dbxout.c (dbxout_init): Vars wd and wd_gotten moved to top level + and renamed to cwd and cwd_gotten. + + * c-decl.c (start_function): -Wmissing-prototypes warns if static + function was previously used without a prototype. + + * loop.c (find_and_verify_loop): Initialize uid_loop_num[0]. + (loop_optimize): Give up fast if no loops. + + * stmt.c (expand_end_bindings): Don't adjust fp in nonlocal goto hndlr + if there is a nonlocal_goto insn. + + * Makefile.in (cccp.o): Use just libdir in GPLUSPLUS_INCLUDE_DIR. + + * gcc.c (do_spec_1): Supply missing arg in some recursive calls. + +Fri Jan 31 21:50:03 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) + + * m68k.h (OVERRIDE_OPTIONS): -fPIC is only supported on the 68020 + and later cpus. Give an error if -fPIC is tried on a 68000. + +Fri Jan 31 21:39:33 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * flow.c (find_auto_inc): If emitting a move insn in front of the + first insn in a block, update basic_block_head. + + * caller-save.c (init_caller_save): Correctly check for case where the + save or restore insns aren't recognized. + +Fri Jan 31 21:02:35 1992 Mark Eichin (eichin at cygnus.com) + + * cp-decl.c (pushtag): when calling pushdecl, if we're in a + class_binding_level just do a pushdecl_class_level. Otherwise + pushdecl gets called multiple times on class-nested enums, which + short circuits the name list in the global_binding_level. + +Fri Jan 31 00:14:20 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * stmt.c (expand_goto): Use nonlocal_goto pattern if it exists. + * sparc.md (nonlocal_goto): New pattern. + Also nameless pattern for the special trap insn. + + * gcc.c (S_ISDIR): Add default definition. + + * function.c (expand_function_end): + Set up arg_pointer_save_area at start of function. + + * c++: Accept -nostdlib, not -nostinc. + + * va-sparc.h: If GCC v1, define __extension__ as nothing. + * va-i860.h, va-pyr.h, va-spur.h: Likewise. + + * cp-class.c (finish_struct): Fill in DECL_ALIGN of vtable field. + + * regclass.c (reg_class_record): + Don't follow indirect loops in constraints. + + * function.c, expr.h (current_function_internal_arg_pointer): New var. + * function.c (assign_parms): Set it. + (push_function_context, pop_function_context): Save and restore it. + * expr.c (expand_builtin): Use it. + * function.h (struct function): New slot to save it in. + + * cse.c (cse_main): Calls do clobber arg pointer if not fixed. + + * hp320.h (HAVE_ATEXIT): New definition. + + * Makefile.in (ALL_CPPFLAGS): New variable. + Use in all compile steps instead of CPPFLAGS. + (X_CPPFLAGS, T_CPPFLAGS): New vars, used in ALL_CPPFLAGS. + * x-vax (X_CPPFLAGS): Use this instead of X_CFLAGS. + + * stmt.c (expand_end_bindings): Fix typo. + +Fri Jan 31 12:15:09 1992 Ron Guilmette (rfg ay ncd.com) + + * dwarfout.c (LINE_LAST_ENTRY_LABEL): Definition added. + (dwarfout_finish): Put a label on the last .line section entry. + (dwarfout_finish): Make first word of final .debug_srcinfo record + contain the offset of the final .line section entry. + +Fri Jan 31 10:31:44 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * cp-tree.c (__eprintf): Make definition match assert.h + declaration. + +Thu Jan 30 23:17:11 1992 Per Bothner (bothner at cygnus.com) + + * c++: The flags -c, -S, or -E suppress passing -lg++ + to gcc. (Otherwise, gcc prints a warning.) + +Thu Jan 30 21:10:02 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (dwarfout_init): Fix generation of initial .debug_aranges + entry to be Dwarf Version 1 compliant. + +Thu Jan 30 15:51:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * i386sun.h (LINK_SPEC): Delete useless %{-Bstatic} term. + * sun2o4.h (LINK_SPEC): Likewise. + * sun3.h (LINK_SPEC): Likewise. + * sparc.h (LINK_SPEC): Delete useless %{Bstatic} term. + + * cccp.c (default_include): Delete use of obsolete + NO_STANDARD_INCLUDE_DIR macro. + * protoize.c (default_include): Likewise. + + * Makefile.in (libgcc1.null): Delete dummy.o and dummy.c. + +Thu Jan 30 15:34:06 1992 Michael Meissner (meissner at osf.org) + + * gstdarg.h: Include va-mips.h on MIPS systems. + + * va-mips.h (va_start): Provide alternate definition when included + via stdarg.h. + (va_arg): Use __alignof(...) instead of sizeof(...) to determine + whether or not to dword align the argument pointer. + +Thu Jan 30 13:06:36 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (install-common): Get c++ and g++ from srcdir. + + * i860.h (FIXED_REGISTERS): Arg pointer is no longer fixed. + + * assert.h (__eprintf): Add const to string args in GCC ANSI case. + + * Makefile.in (cccp.o, protoize.o, unprotoize.o): + Define LOCAL_INCLUDE_DIR based on $(prefix). + + * stmt.c (expand_end_bindings): Arg pointer needs no special + treatment if not fixed. + + * cp-parse.y, c-lex.c (yyerror): + Avoid sign-extension of characters in error messages. + +Thu Jan 30 11:39:56 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (dwarfout_finish): Fix generation of .debug_pubnames + terminating entry to be 4-bytes of zero followed by a null string. + +Thu Jan 30 09:30:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.c (ccr_bit): Fix typo causing reference to possibly + undefined operand. + + * rs6000.h (ASM_SPEC): Remove until new AIX assembler is available. + (ASM_OUTPUT_POOL_PROLOGUE): Add missing "." in csect name. + (ENCODE_SEGMENT_INFO): Deleted. + (ASM_OUTPUT_EXTERNAL): Move code from ENCODE_SEGMENT_INFO here, + using permalloc instead of putting name into saveable_obstack. + Re-enable macro. + (ASM_OUTPUT_EXTERNAL_LIBCALL): Re-enable. + +Wed Jan 29 21:50:26 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h (ASM_SPEC): Add -u, now require new /bin/as for AIX. + (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): No longer needed. + + * rs6000.h (ENCODE_SEGMENT_INFO): New macro; add [RW] or [DS] to name. + (RS6000_OUTPUT_BASENAME): New macro. + (ASM_OUTPUT_*): Use it instead of assemble_name when required. + (ASM_OUTPUT_POOL_PROLOGUE): Remove trailing [RW] or [DS]. + * rs6000.c (print_operand, case 'z'): New case, for name in CALL_INSN. + (output_toc): Use RS6000_OUTPUT_BASENAME instead of assemble_name + for toc entry name. + * rs60000.md (call): Use %z. + +Wed Jan 29 17:17:42 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-init.c (build_member_call): Fix bug involving static members + that are function pointers. + +Wed Jan 29 13:25:18 1992 Tom Wood (wood at dg-rtp.dg.com) + + * gcc.c (do_spec_1): For %D, only add -L options that are relevant. + (is_linker_dir): Determine if a -L option is relevant. + +Wed Jan 29 00:57:55 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * configure: Turn ns32k alternatives back on. + + * Makefile.in (getopt.o, getopt1.c): Join two lines into one. + + * x-i386v4, x-i860v4 (GCC_CFLAGS): Add missing `-B./'. + + * reload.c (find_dummy_reload, push_reload): Don't reuse dying input + reg as a reload if it is a fixed reg. + + * c-tree.h (C_MISSING_PROTOTYPE_WARNED): Deleted since unused. + +Wed Jan 29 00:42:34 1992 Tim Moore (moore at fast.cs.utah.edu) + + * hp800.c (print_operand): Handle INSN_ANNULLED_BRANCH_P in '*' + operand type. + * hp800.h (DEFAULT_GDB_EXTENSIONS): Define as 0. + * hp800.md (cmpsi): Change arith_operand to arith5_operand. + (bCC patterns): Delete pattern that matches a compare with a + constant first operand. Change arith_operand to arith5_operand. + (fp branches): Change type to cbranch. + + * function.c (assign_parms): Set current_function_arg_offset_rtx + correctly for ARGS_GROW_DOWNWARD. + * gstdarg.h: Include va-hp800.h. + * va-hp800.h: Complete rewrite. + +Tue Jan 28 17:04:38 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * varasm.c (make_decl_rtl): Delete unused var `i'. + + * c-convert.c (convert_to_pointer): + Abort if no integer type is as wide as a pointer. + + * gcc.c (default_compilers, .i case): Add error message for -pg + and -fomit-frame-pointer incompatibility. + + * Makefile.in (install-common): Install c++ and g++ shell scripts in + bindir. + +Tue Jan 28 15:44:10 1992 Michael Collison (collison at osf.org) + + * x-encrose (OLDCC): changed to $(GNU_ROSE_BIN)/gcc + + * ns32k.h: Added trampoline code. + +Tue Jan 28 14:19:52 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rtl.def (UNSPEC, UNSPEC_VOLATILE): New RTL codes. + * cse.c (canon_hash): UNSPEC_VOLATILE operations are volatile. + * loop.c (invariant_p): Likewise. + * reorg.c (mark_referenced_resources): Likewise. + * sched.c (sched_analyze_2): Likewise. + * rtlanal.c (volatile_refs_p, side_effects_p, may_trap_p): Likewise. + (reg_referenced_p): Support UNPEC and UNSPEC_VOLATILE. + +Tue Jan 28 11:50:35 1992 Michael Meissner (meissner at osf.org) + + * mips.c (toplevel): Add include of <ctype.h>, since isdigit is + used. + +Tue Jan 28 05:47:08 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-decl.c (xref_tag): Addition to eichin's Jan 25 change. If REF + is extant, and it's seen in the global scope outside of + CLASS_BINDING_LEVEL, set its IDENTIFIER_GLOBAL_VALUE if NULL. + + * cp-class.c (pushclass): Forcibly remove any remnants of incomplete + type that was previously pushed. + + * cp-decl.c (various places): Remove all error messages about C++ + constructs being invalid in C language context; extern "C" is a + linkage specifier--no more. + + * cp-method.c (dump_type_prefix,dump_type): Never need to output + `unsigned' since its always part of an unsigned integer type name. + (build_overload_name): Change test for unsigned to use + `unsigned_type' instead of examining TREE_UNSIGNED. + + * cp-call.c (ideal_candidate): Don't convert PARMS in place if + BASETYPE is NULL_TREE. + +Tue Jan 28 02:21:31 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-decl.c (grokdeclarator): Use `auto' for nested fn fwd decls. + + * g++: New file. + + * fixincludes: + Convert machine names in #if's to have underscores. + Fix specific files stdlib.h, locale.h, hsfs/... for Sunos 4.1. + * fixinc.svr4: Convert machine names in #if's to have underscores. + + * gcc.c (do_spec_1): For %D, also make -L's for startfile_prefix. + Also append the machine + + * fold-const.c (fold_convert): Properly handle real-to-real case. + + * configure (i486-*-sysv4*): New alternative. + +Tue Jan 28 00:37:24 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c (location_attribute): Fix handling of objects which + were optimized out of existance for Dwarf Version 0 compliance. + +Tue Jan 28 00:42:57 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * Makefile.in (mostlyclean): Delete stack dump files too. + +Mon Jan 27 18:26:27 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * rs6000.h (HAVE_ATEXIT, NO_DOLLAR_IN_LABEL): Now defined. + +Mon Jan 27 13:32:51 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * libgcc2.a (L_exit): Declare __CTOR_LIST__ and __DTOR_LIST__ + with length 2; get rid of __CTOR_END__ and __DTOR_END__. + (L_ctor_list, L_dtor_list): New library members. + + * cccp.c (main): Add terminating null, then call trigraph_pcp. + + * fixincludes, fixinc.svr4: Fail unless an arg was given. + * Makefile.in (install-fixincludes): Pass output dir as argument. + + * Makefile.in: Renamed libgcc[12] to libgcc[12].a. + Likewise for tmplibgcc[12]. + + * toplev.c (rest_of_decl_compilation): Treat all fcns as if external. + + * Makefile.in (TAGS): Do the work in srcdir. + Include c-parse.h in files to move. + +Mon Jan 27 10:54:24 1992 Jim Wilson (wilson at sphagnum.cygnus.com) + + * cccp.c (get_filename): Don't pass -1 file descriptor to close. + +Mon Jan 27 00:26:33 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-decl.c (start_function): Preserve TREE_TYPE of RESULT_DECL, in + case we have a named return value. + (finish_function): Restrict the cases under which we build + `no_return_label'. Use CURRENT_FUNCTION_RETURN_VALUE to eliminate + the generation of needless cleanups when functions end with a return + stmt. No longer zeros out CLEANUP_LABEL. Also, call `emit_jump' + instead of `expand_null_return' in case NO_RETURN_LABEL is + non-NULL. + + * cp-decl2.c (grokfield): Don't specially hack static member + function names. + + * cp-except.c (cplus_expand_raise): Test correct predicate that we + have a non-null value return. + (cplus_expand_{throw,reraise}): Ditto. + + * cp-typeck.c (c_expand_return): Handle case where named return + value has incomplete type. + +Sun Jan 26 20:50:55 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-parse.y (LC): Fix rule to use `push_obstacks_nochange'. + (structsp): Use `pop_obstacks'. + +Sun Jan 26 17:39:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * c-parse.y (LC): Use push_obstacks_nochange and always call + end_temporary_allocation. + (structsp, template_instantiate_once): After LC, use pop_obstacks. + + * c-decl.c (grokdeclarator): + Static function decl within a function is not external. + +Sun Jan 26 08:14:53 1992 Michael Meissner (meissner at osf.org) + + * mips.h (MIPS_VERSION): Bump meissner version # to 9. + (enum processor_type): Delete PROCESSOR_R2000, since a r2000 + schedules just like a r3000. + (mips_isa, mips_isa_string, mips_cpu_string): New global variables. + (MD_EXEC_PREFIX): If not defined, define as "/usr/lib/cmplrs/cc/". + (TARGET_SWTICHES macros): Move setting the processor from + TARGET_SWITCHES to TARGET_OPTIONS. Also, delete the -mfixed-ovrfl + switch, and move -mwc8/-mwc16 to not use any bits, since we can't + support these in GCC 2.00. Readjust the positions the bits are in. + (TARGET_OPTIONS): Define to add switches -mcpu=x to set which + processor type to schedule for, and -mipsx to specify the + instruction set architecture level. + (BRANCH_LIKELY_P): New macro, true if MIPS ISA >= 2. + (HAVE_64BIT_P): New macro, true if MIPS_ISA >= 3. + (HAVE_SQRT_P): New macro, true if MIPS_ISA >= 2. + (BRANCH_COST): Define as 2 if r4000/r6000, 1 otherwise. + (ASM_OUTPUT_SKIP): Eliminate OSF/1 gas work around. + + * mips.c (mips_isa, mips_isa_string, mips_cpu_string): New global + variables. + (print_options): Print CPU and ISA level. + (override_otpions): Handle TARGET_OPTIONS setting cpu and ISA. + (override_options, print_operand): %: is no longer supported, since + -mfixed-ovfl is eliminated. + + * mips.md (type attribute): Add fsqrt. + (all define_function_units): Redo, to add full r6000 and r4000 + support, and to use the default case in case another processor type + is added. Also, tests against PROCESSOR_R2000 eliminated. + (add, subtract patterns): Delete use of %:. + (sqrtdf2, sqrtsf2): Define if the MIPS ISA >= 2. + + * decrose.h (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Define these to + use the defaults on the OSF/1 reference platform. + (i386rose.h): Likewise. + +Sun Jan 26 07:58:00 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (cse_insn): Don't call insert_regs on a SUBREG. + When scanning table for SUBREG assignment, ignore invalid entries. + + * cse.c (cse_insn): When looking for first non-deleted entry in + table, start by scanning backwards from the deleted entry. + + * function.c (assign_parms): Set current_function_return_rtx + unconditionally. + (expand_function_start): Don't set it here. + +Sat Jan 25 06:44:16 1992 Mark Eichin (eichin at cygnus.com) + + * cp-decl.c (set_identifier_local_value): New function. Clone of + set_identifier_type_value, but uses level->shadowed instead. Only + used in pushdecl, where the non-global install was previously + setting the local value directly which "stuck" and didn't get + cleared the next time through. + (pushdecl): use set_identifier_type_value so that the local value + actually gets erased when we leave this level. Changed code that + checks for global_binding_level to recognize that if + class_binding_level is set, we're not in the global one. + (poplevel_class): restore shadowed list too, like poplevel does. + (print_binding_level): added no_print_functions and + no_print_builtins variables to eliminate clutter while trying to + debug binding level problems. + +Fri Jan 24 18:03:36 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * tree.c (pop_momentary): Don't reference freed stack entry. + +Fri Jan 24 14:20:05 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-parse.y (stmt): Call `define_case_label' for default label. + * cp-decl.c (current_function_return_value): New variable. + (define_{case_}label): Clear CURRENT_FUNCTION_RETURN_VALUE. + * cp-typeck.c (c_expand_return): Set CURRENT_FUNCTION_RETURN_VALUE. + + * cp-tree.c (lang_printable_name): Use DECL_RING, and don't free + the printable name for CURRENT_FUNCTION_DECL. + +Fri Jan 24 14:17:30 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * gvarargs.h: If _ANSI_H, undef _VA_LIST_. + + * c-typeck.c (pointer_int_sum): Don't distribute * into pointer diff. + + * hp320.h (MD_STARTFILE_PREFIX): Defined. + (STANDARD_STARTFILE_PREFIX): Deleted. + +Fri Jan 24 09:30:41 1992 Fred Fish (fnf at fishpond) + + * assert.h (__eprintf): Declare as prototype for __STDC__ + +Fri Jan 24 05:28:53 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.md (jump,indirect_jump,tablejump): Don't output an align + directive here: let the following BARRIER do it. + +Thu Jan 23 11:54:11 1992 Ron Guilmette (rfg at ncd.com) + + * i486v4.h: New file. + +Thu Jan 23 20:34:22 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * fixinc.svr4: Surround uses of ${INPUT} with "" instead of '' + so that it will get expanded. + +Thu Jan 23 17:50:13 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (qty_mode): New variable. + (reg_rtx): Deleted. + (hard_regs_in_table, regs_invalidate_by_call): New variables. + (new_basic_block): Clear hard_regs_in_table. + (delete_reg_equiv): New name for reg_invalidate; don't update reg_tick. + (mention_regs): Don't set reg_rtx. + Update reg_tick for all registers in a multi-register hard register + reference. + (insert_regs): Don't do anything special with SUBREG. + Only insert register in a class if it is the same mode. + Don't set reg_rtx; set qty_mode instead. + (insert): Update hard_regs_in_table. + Get constant equivalence in proper mode. + (merge_equiv_classes): Call delete_reg_equiv. + (invalidate): Call delete_reg_equiv and update reg_tick. + Invalidate all parts of multi-word hard regs and invalidate + any multi-word hard reg overlapping what we are to invalidate. + Only look at constant in proper mode. + (remove_invalid_refs): Use refers_to_regno_p. + (invalidate_for_call): New function. + (canon_hash, refers_to_mem_p, fold_rtx, equiv_constant): Look at + constant in proper mode. + (cse_rtx_addr_varies_p, cse_process_notes): Likewise. + (exp_equiv_p): Likewise. + Check reg_tick for all parts of multi-word hard register. + (canon_reg): Don't use reg_rtx; get register from regno_reg_rtx or + build hard reg in proper mode. + (record_jump_equiv): Split into two pieces. + (record_jump_cond): Second part of record_jump_equiv; make recursive + call to some equivalences if args are SUBREGs. + (cse_insn): Only replace register with equivalent if proper mode; + don't use reg_rtx. + Call invalidate_for_call. + Don't avoid call to gen_lowpart for hard register. + Make a SUBREG if gen_lowpart_if_possible fails for SUBREG + assignment. + (invalidate_from_clobbers): Update reg_tick of SP; invalidate + REG entry in table, if present; use stack_pointer_rtx. + (cse_main): Don't allocate reg_rtx. + Initialize regs_invalidated_by_calls. + (cse_basic_block): Allocate qty_mode. + + * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add so we can disambiguate + fixed and floating registers. + + * rs6000.md (ashrdi3): Reject all but constant shift counts. + + * jump.c (simplejump_p): Don't access PATTERN unless we know it is + a JUMP_INSN. + + * combine.c (get_last_value): Don't do a recursive call for a + paradoxical SUBREG. + + * jump.c (jump_optimize): In "if (...) x = a; else x = b;", + don't move "x = b;" if it has non-trivial REG_NOTES. Also, allow + B to be any constant, not just a CONT_INT. + + * stor-layout.c (layout_type): Handle alignment for arrays the same + as we do for records and unions. + + * calls.c (expand_call): Ignore `const' on void functions. + + * i860.c: Include recog.c. + Remove many explicit declaration of vars from include files. + (i860_compare_op[01]): Define these here. + * i860.h (i860_compare_op[01]): Add declarations. + * i860.md (compare, branch): Rework to use define_expand for cmpxx. + Compare just saves operands in i860_compare_op[01]. Branch emits + both insns using the saved operands. + + * i860.h (PREFERRED_RELOAD_CLASS): Handle FP registers and constants. + (SECONDARY_INPUT_RELOAD_CLASS): We need a scratch register to copy + an integer constant to a floating-point register. + * i860.md (addsi3, subsi3): Allow use of floating registers. + +Thu Jan 23 13:33:40 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * i386v4.h (CPP_PREDEFINES): Don't define X86. + + * c-lex.c (readescape): Warn for \a and \x if warn_traditional. + Handle \v as vertical tab regardless of -traditional. + + * fixincludes, fixinc.svr4: Make LIB absolute, near the beginning. + + * fixincludes: Simplify egrep command while matching the same lines + (plus occasional additional lines). + + * function.c (fixup_memory_subreg): New arg UNCRITICAL. Calls changed. + + * gcc.c (process_command): Handle LPATH like LIBRARY_PATH. + + * svr3.h (ASM_LONG): Deleted. + + * gvarargs.h: Ignore _VA_LIST_ if _ANSI_H_; + don't define _VA_LIST_ if already defined. + +Thu Jan 23 09:10:52 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88kluna.h (includes): Include aoutos.h. + +Thu Jan 23 09:10:52 1992 Ron Guilmette (rfg at ncd.com) + + * va-i860.h (__savereg): Fix typo. + + * i860.h (PREDICATE_CODES): Added definition. + + * i386v4.h (ASM_FILE_START): Definition added which generates + .version directive. + +Wed Jan 22 23:15:45 1992 (Eric Youngdale at youngdale@v6550c.nrl.navy.mil) + + * make-cc1.com: Predefine symbols for "rename" and "bison"; always + generate c-parse.h when generating c-parse.c. + +Wed Jan 22 20:01:11 1992 Per Bothner (bothner at cygnus.com) + + * sdbout.c (sdbout_record_type_name): Use typedef names + for C++. (A kludge.) + * sdbout.c (sdbout_one_type): Emit base classes as + dummy fields, just like dbxout.c when not using gdb extensions. + +Wed Jan 22 20:01:11 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * fixincludes: Surround uses of ${INPUT} with "" instead of '' + so that it will get expanded. + + * gcc.c (default_compilers): For c++, define __GNUG__ to 2, and + pass -trigraphs. + + * cccp.1, cpp.1, gcc.1, g++.1: Delete more RCS variables. + +Wed Jan 22 19:02:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (simplify_shift_const, case ASHIFT): If we will + be suppressing a sign extension because the upper bits are + already the same, verify that the operand is in the same + mode as we will be doing the shift; don't ignore a SUBREG + inside the inner SHIFT. + +Wed Jan 22 09:25:07 1992 Tom Wood (wood at dg-rtp.dg.com) + + * c-typeck.c (comp_target_types): Make decl static. + Don't forget to return the value. + (function_types_compatible_p, comptypes): Initialize `val'. + +Tue Jan 21 13:29:50 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * cross-make (ALL): Override with definition it here. + * configure: Don't edit its value explicitly here. + + * crtstuff.c (__do_global_ctors): Include DO_GLOBAL_CTORS_BODY + in crtend.o, not in crtbegin.o. + + * svr3.h: Prepare to use with i386. + (PCC_BITFIELD_TYPE_MATTERS): Definition deleted. + This pertains to the individual cpu types. + (ASM_SHORT, ASM_LONG, ASM_DOUBLE): Likewise. + (DBX_DEBUGGING_INFO): Undef this. + (DBX_REGISTER_NUMBER): Deleted the #undef. + (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): Deleted. + * i860v3.h (STARTFILE_SPEC, LINK_SPEC, LIB_SPEC): New definitions. + + * att386.h: Coexist with svr3.h. + (ASM_FILE_START): Deleted. + (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise. + (ASM_BYTE_OP, NO_DOLLAR_IN_LABEL): Likewise. + (ASM_OUTPUT_LABELREF): Undef before defining. + (ASM_FILE_START_1): Undef before defining. + (EXTRA_SECTION_FUNCTIONS): Deleted. + (BSS_SECTION_FUNCTION): New macro; defines bss_section. + + * i386v.h, aix386.h: Include svr3.h. + (SCCS_DIRECTIVE, ASM_OUTPUT_IDENT): Deleted. + (TARGET_MEM_FUNCTIONS): Deleted. + (SDB_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Deleted. + + * Support constructors and destructors on svr3. From james@bigtex. + * i386v.h, aix386.h (STARTFILE_SPEC): Use crtbegin.o after crt1.o. + (LIB_SPEC): Use crtend.o before crtn.o. + (CTORS_SECTION_ASM_OP, ASM_OUTPUT_CONSTRUCTOR): New macros. + (INIT_SECTION_ASM_OP): Likewise. + * svr3.h (DTORS_SECTION_ASM_OP): New macros. + (DO_GLOBAL_CTORS_BODY): New macro. + (EXTRA_SECTIONS,EXTRA_SECTION_FUNCTIONS): Use .init and .fini + sections in addition to .bss. + ({INIT,FINI}_SECTION_FUNCTION): New macros for *_section functions. + ({CTORS,DTORS}_SECTION_FUNCTION): Macros deleted. + (ASM_OUTPUT_CONSTRUCTOR): Deleted. + (ASM_OUTPUT_DESTRUCTOR): Use ASM_LONG. + (INT_ASM_OP): Deleted. + + * c-typeck.c (default_conversion): Don't use initial value if BLKmode. + If do use the initial value, update `type'. + + * arm.h (STRUCTURE_SIZE_BOUNDARY): New definition. + + * stor-layout.c (layout_type): Ignore MAX_FIXED_MODE_SIZE for integers. + + * ultrix.h (SIZE_TYPE): Use `unsigned int'. + * Makefile.in (install-common): Add missing -f in rm. + (install-fixincludes): Install the README file. + + * fixincludes: Don't match on size_t, etc., since we don't actually + change them. + +Mon Jan 20 23:22:45 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-call.c (ideal_candidate): Don't see two functions as ambiguous + if one is argument-by-argument equivalent or better than another. + +Mon Jan 20 14:08:06 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * toplev.c (strip_off_ending): Add ".ada". + +Mon Jan 20 13:53:15 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * protoize.c (xfree): No longer static. + + * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Allow tm.h to override. + + * final.c (leaf_renumber_regs_insn): Do just the pattern of an insn. + + * pyr.h (PCC_BITFIELD_TYPE_MATTERS): Defined. + (STRUCTURE_SIZE_BOUNDARY): Deleted. + + * mips.c: Clean up spacing around square brackets. + + * c-typeck.c (convert_arguments): + Get rid of feature to convert to a tagless union type. + (common_type): Add pedantic warning. + (comptypes, function_types_compatible_p): Return 2 meaning warn. + (comp_target_types): Do the warning here. + (type_lists_compatible_p): New function. + +Sun Jan 19 17:32:19 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload1.c (emit_reload_insns): Fix typos when checking for secondary + icode. + +Sun Jan 19 15:28:53 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * global-alloc.c (global_alloc): If LEAF_REGISTERS, those are the + regs that cost nothing to save, for setting regs_already_used. + + * expr.c (expand_builtin): Preserve function value reg + around the call to __builtin_saveregs. + + * configure (mips-sgi-irix4*, mips-sgi-irix*): Set install_with_cp. + + * c-decl.c (start_function): + Check properly for `static' function in handling -Wmissing-prototypes. + + * libgcc2.c (__main): Omit this fn if INIT_SECTION_ASM_OP. + +Sun Jan 19 13:23:13 1992 Fred Fish (fnf at sunfish) + + * amix.h (ASM_OUTPUT_ASCII): Override version in svr4.h. + +Sun Jan 19 13:16:56 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-search.c (lookup_field): Accept IS_AGGR_TYPE_CODE, not + just == RECORD_TYPE. + + * cp-class.c (finish_struct): Clear a tentative setting of + DECL_BIT_FIELD. + + * cp-decl.c (start_decl): Don't call `pushclass' for incomplete + CONTEXT. + + * cp-typeck.c (comp_target_types): Call `comp_target_parms' with + STRICT == 0, not -1. + (build_conditional_expr): Check that the target types of TYPE1 and + TYPE2 are aggr type before calling `common_base_type'. + +Sun Jan 19 04:10:16 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * configure: Fix typo inserting INSTALL=cp into makefile. + +Sat Jan 18 12:06:58 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-lex.c (build_with_cleanup): Delete obsolete function. + * cp-tree.c (break_out_cleanups): New function. + * cp-decl.c (cplus_expand_expr): Call `break_out_cleanups'. + * cp-typeck.c (build_compound_expr): Ditto. + + * cp-call.c (convert_harshness): Make any inheritance relationship + preferable to a void* conversion. + * cp-tree.h (CLASSTYPE_MAX_DEPTH): New macro. + * cp-class.c (finish_struct_bits): Set CLASSTYPE_MAX_DEPTH. + + * cp-cvt.c (build_up_reference): Don't return in ARRAY_REF case, + since we may need to adjust the return value for complex + inheritance. + + * cp-decl2.c (lang_f_options): Add recognizers for -f{no-}builtin, + -f{no-}ident, and -ansi. Also, remove unnecessary "no-*" forms. + + * cp-init.c (emit_base_init): If PEDANTIC, don't let base + initializers leak up the hierarchy. + + * cp-parse.y (structsp): Disable gratuitous error message. + + * cp-call.c (convert_harshness): Don't overlook PENALTY when + signed/unsigned differences are noted (in both POINTER_TYPE and + REFERENCE_TYPE cases). + + * toplev.c (strip_off_ending): Grok ".ii" endings (C++ preprocessed + files). + + * cp-typeck.c (build_component_ref): Add special handler when + COMPONENT is the CLASSTYPE_VFIELD name for BASETYPE. + +Sat Jan 18 08:29:58 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * cse.c (cse_insn): Don't make constant pool entries in MODE_CC modes. + +Sat Jan 18 00:28:48 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * Makefile.in (install-common): Fix typo installing gcc. + + * crds.h, isi.h, newpbb.h, tti68k.h: Add #error because -m68000 + will cause a crash (I think), to ask people what to do. + + * gmicro.h (ASM_FILE_START): Don't do anything. + (TARGET_DEFAULT): Turn on the bitfield flag. + (TARGET_SWITCHES): Get rid of the bitfield options. + + * c-lex.c (readescape): No warning for \?. + + * protoize.c (munge_compile_params): Fix cast that sets compile_params. + (xmalloc, xrealloc): No longer static. + * Makefile.in (protoize, unprotoize): Add LIBDEPS as deps. + + * va-i860.h (va_arg): Use __extension__ to suppress pedantic warning. + * va-sparc.h, va-spur.h, va-pyr.h: Likewise. + + * x-irix4.h: New file. + * config.sub: Don't convert irix to sysv. + * configure (mips-sgi-irix4*): New configuration. + (mips-sgi-irix*): Renamed from mips-sgi-sysv*. + + * gcc.c (process_command): + Handle the standard_exec_prefix* before the md_*_prefix. + + * i386.h, ns32k.h (PCC_BITFIELD_TYPE_MATTERS): Defined. + + * Makefile.in (libgcc1.null): Depend on GCC_PASSES. + + * cccp.c (lookup_import, add_import): VMS kludges so they compile. + (hack_vms_include_specification): Add forward declaration. + + * stor-layout.c (layout_record): Handle BITFIELD_NBYTES_LIMITED + just like one of the things done for PCC_BITFIELD_TYPE_MATTERS. + + * x-next, x-i386mach: Deleted. + * t-libc-ok: New file. Define just LIBGCC1. + * configure (i386-*-mach, m68k-next-*): Use t-libc-ok. + + * t-svr4 (FIXINCLUDES): Defined. + * t-m88kv4 (FIXINCLUDES): Defined. + * t-svr3 (EXTRA_PARTS): Defined. + * t-i386sco (EXTRA_PARTS): Defined. + + * configure (sparc-*-sysv4*): New alternative. + + * configure (install_with_cp): New flag an alternative can set. + If host sets it, add INSTALL=cp to Makefile. + Set this for any system V, and for m68k-crds-unos. + +Sat Jan 18 23:15:08 1992 Ron Guilmette (rfg at ncd.com) + + * va-i860.h (va_list): Made __reg_base field type long* to avoid + compilation errors. + (__savereg): Add explicit cast to (__va_saved_regs *). + +Fri Jan 17 15:09:34 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * i386.h (FUNCTION_BOUNDARY): Do larger alignments for i486. + (ASM_OUTPUT_ALIGN_CODE): Same here. + (ASM_OUTPUT_LOOP_ALIGN): But not here - do word aligns as before. + + (enum reg_class): Delete classes ADREG and BREG - neither used nor + useful. Add classes FP_TOP_REG and FP_SECOND_REG. + (REG_CLASS_NAMES): Likewise. + (REG_CLASS_CONTENTS): Likewise. + (REGNO_REG_CLASS): Reflect that change. + (REG_CLASS_FROM_LETTER): Likewise. Add "t" and "u" constraints. + (CLASS_MAX_NREGS): New classes use only 1 hard reg for any mode. + + (CONST_OK_LETTER_P): Document uses of letters. + + * reg-stack.c: Add comments describing rules for asm statements + involving stack-like regs. + (asm_regs): Delete unused variable. + (fatal_for_asm): Delete unused function. + + (get_asm_operand_lengths): New function. + (constrain_asm_operands): New function. Like constrain_operands, + but records some information about the matched alternative. + + (record_asm_reg_life): New function. + (record_reg_life): If INSN is an asm statement, decode operands + and pass to record_asm_reg_life. + (record_reg_life_pat): Abort if any asm is seen here. + + (subst_asm_stack_regs): New function. + (subst_stack_regs): If INSN is an asm statement, decode operands + and pass to subst_asm_stack_regs. When handling REG_UNUSED notes, + emit the pops in the right order. + + (change_stack): New argument to insert any new insns before INSN + instead of after. All callers changed. + + (emit_swap_insn): Abort if the reg is not found in REGSTACK. + + * Makefile.in (reg-stack.o): Depends on insn-config.h. + +Fri Jan 17 16:38:32 1992 Richard Stallman (rms@mole.gnu.ai.mit.edu) + + * toplev.c, flags.h (in_system_header): Declare here. + * c-lex.c, cp-lex.c (in_system_header): Not here. + * toplev.c (rest_of_compilation): Don't warn of unused static function + if definition is in a system header. + + * gcc.c (do_spec_1): Add missing arg in recursive call. + (link_command_spec): Don't pass -s, -S, -u*, -X, -Y*. + +Fri Jan 17 12:51:28 1992 Jim Wilson (wilson at cygnus.com) + + From Tiemann: + * rtlanal.c (reg_set_between_p): Call `reg_set_p' with INSN, not the + body of INSN so that CALL_INSNs are properly handled. + * explow.c (find_next_ref): Ditto. + + * hp800.h, hp800.md: Delete RCS Header variables. + + * reg-stack.c (replace_reg): Change `abort' to `abort ()'. + +Fri Jan 17 14:30:14 1992 Michael Meissner (meissner at osf.org) + + * caller-save.c (insert_save_restore): Don't pass a CODE_LABEL to + reg_mentioned_p when the machine has a condition code, since + CODE_LABEL's don't have the same format as normal INSN's do. + +Fri Jan 17 13:24:33 1992 Tom Wood (wood at dg-rtp.dg.com) + + * Makefile.in (unprotoize.o): Use the rm -f option. + + * cp-lex.c (check_newline): Define `used_up' as in c-lex.c. + (in_system_header): Define as in c-lex.c. + +Fri Jan 17 08:14:04 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reorg.c (delete_from_delay_slot): Pass correct length to + emit_delay_sequence. + + * genattrtab.c (substitute_address): Handle IF_THEN_ELSE in addition + to COND. + + * expr.c (expand_builtin, case BUILT_IN_STRLEN): Correct args in + expand_expr call. + +Fri Jan 17 17:33:40 1992 James Van Artsdalen (james@raid) + + * x-i386v4 (CCLIBFLAGS): Delete macro. + (GCC-CFLAGS): Delete macro. Prevented Makefile.in from working. + +Thu Jan 16 17:03:27 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * Makefile.in (cleanconfig): Also delete tconfig.h. + + * varasm.c (assemble_external): Only call ASM_OUTPUT_EXTERNAL once + for each symbol. + (assemble_external_libcall): Fix minor typo in spacing. + + * toplev.c (main): Force error if invalid -W option is used. + +Thu Jan 16 13:35:13 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88kdgux.h (CPP_PREDEFINES): Added __CLASSIFY_TYPE__ back and + noted when it would be useful. + + * m88k.h (ASM_FILE_END, ASM_OUTPUT_ASCII): Override svr4.h. + +Thu Jan 16 12:37:16 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * svr4.h (SVR4): Add this back. + + * cccp.c (lookup_import): Use bcmp to compare inodes. + + * cccp.c (main): Handle -idirafter option. + + * m68kv4.h, m88kv4.h, i386v4.h, sparcv4.h, i860v4.h (CPP_PREDEFINES): + Add __svr4__ in case user programs want to distinguish. + + * cp-lex.c (check_newline): Changes like Jan 12 changes in c-lex.c. + + * Makefile.in (install-fixincludes): Renamed from `includes'. + Move comments so some shells are happier. Dep. on install-headers. + + * m88kdgux.h (CPP_PREDEFINES): Add __svr4__. Remove __CLASSIFY_TYPE__. + Add some assertions. + + * c-decl.c (init_decl_processing): Don't give arg type for abort, etc. + Always declare strlen, etc., so -O doesn't alter the warnings. + * expr.c (expand_builtin): Open-code str* or mem* or ffs if -O. + + * c-decl.c (start_function): Fix backwards test for -W* options. + + * protoize.c (GUESSPATHLEN): Treat POSIX like USG--and use just 200. + + * cccp.c (deps_output): Break line iff string is empty. + (do_include): Fix up the deps_output calls. + + * vax.c (print_operand_address): Handle form index + (reg+offset). + + * m88k.h (TARGET_VERSION): Don't use __DATE__. + + * gcc.c (default_compilers): Typos in c++-cpp-output case. + +Thu Jan 16 12:25:51 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * loop.c (get_condition): In HAVE_cc0 code, generate a zero with + CONST0_RTX instead of just using const0_rtx. + + * cse.c (cse_isnsn): A CALL_INSN clobbers all fixed regs except + for ap, fp, and sp. + +Thu Jan 16 08:03:40 1992 Tom Wood (wood at dg-rtp.dg.com) + + * c-decl.c (finish_enum): Compute the precision properly if the + maximum value is negative. + +Thu Jan 16 07:40:29 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reorg.c (try_merge_delay_insns, fill_slots_from_thread): Have + update_block put the phantom insn before THREAD. + (update_block): Update block status if WHERE, not INSN, is block head. + +Thu Jan 16 00:28:14 1992 Ron Guilmette (rfg ay ncd.com) + + * i860.c (output_fp_move_double): Fixed typo. + + * protoize.c (GUESSPATHLEN, pointer_type, const_pointer_type): + moved definitions declarations out of conditional region. + (string_list_cons, shortpath, munge_compile_params): Added casts. + (find_extern_def): Fixed string literal to avoid trigraph. + (find_rightmost_formals_list): Fixed to avoid unreached code warnings. + + * svr4.h (ASM_OUTPUT_ASCII): Fixed typo. + +Wed Jan 15 21:58:01 1992 Jeffrey A Law (law at b117b.super.org) + + * sparc.h (SELECT_RTX_SECTION): When generating PIC, place symbolic + operands in the data section. + +Wed Jan 15 21:45:09 1992 Michael Meissner (meissner at osf.org) + + * collect2.c (main): Pass any -b<xx>, -B<xx>, -m<xx>, -f<xx>, and + -V<xx> options to gcc instead of the linker, in order to allow + target switches that affect the size of pointers and search paths to + be passed through. + (main, choose_temp_base): Use TMPDIR environment variable, and the + P_tmpdir macro if defined to locate directory to put temp files. + (whole file): Reorganize so that all of the OSF/rose stuff goes at + the end of the file, rather than being scattered throughout. + (main, scan_prog_file): Invoke scan_prog_file twice, once on each + output of ld. + (scan_prog_file, read_file, write_file): On the second invocation, + rewrite the object file in place, adding a load command to put + __main in the list of initializer functions. This allows users + to put constructors and destructors into shared libraries. + (scan_prog_file): Move debug stuff and error routines to separate + functions. + +Wed Jan 15 17:59:02 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * combine.c (can_combine_p): Don't combine if DEST is still a field + assignment after we've tried to expand it. + +Wed Jan 15 16:01:13 1992 James Van Artsdalen (james at bigtex.cactus.org) + + * regclass.c (fix_register): Don't match a null register name. + * varasm.c (decode_reg_name): Likewise. + + * i386.h (HI_REGISTER_NAMES): Give the eliminable arg pointer a + null name. + +Wed Jan 15 13:40:50 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * gcc.c (default_compilers): Pass -lang-asm, not -lang-asmc, to cpp. + + * gcc.c (process_command): Don't dump md_exec_prefix in specs. + Use the md_... prefixes only if no -b. + +Wed Jan 15 13:35:09 1992 Ron Guilmette (rfg at ncd.com) + + * i386v4.h (RETURN_IN_MEMORY): Definition added. + (CPP_PREDEFINES): Added -DX86 (needed for some system headers). + (ASM_OUTPUT_DWARF_STRING): Deleted. + (ASM_OUTPUT_ASCII): Added specialized definition for i386/svr4. + + * svr4.h (SVR4): Deleted useless define. + (ASM_FILE_END): Added definition. + (ESCAPES, STRING_LIMIT, STRING_ASM_OP, ASM_OUTPUT_LIMITED_STRING): + (ASM_OUTPUT_ASCII): Generic svr4 definitions added. + + * m68kv4.h (CPP_PREDEFINES): Don't define SVR4. + * sparcv4.h (CPP_PREDEFINES): Don't define SVR4. + (ASM_OUTPUT_ASCII): Deleted obsolete definition. + + * xm-svr4.h (SVR4): Removed useless definition. + (POSIX): Added definition for protoize.c. + + * i860b.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): Moved from i860.h. + * i860v3.h (ASCII_DATA_ASM_OP): Added OS-specific definition. + * i860v4.h (ASCII_DATA_ASM_OP, ASM_OUTPUT_ASCII): + Deleted (now in svr4.h). + + * fixinc.svr4: Replaced all occurances of {1,\} in sed command + string with functional equivalents (to avoid bogus results). + + * c-lex.c (readescape): Pass thru escaped x, a, and v if -traditional. + (readescape): Pedantic warning for \?, \(, \{, and \[. + + * dwarfout.c: Updated copyright. + (fundamental_type_code): Abort for all non-fundamental types. + (type_is_fundamental): Return 0 for all non-fundamental types. + (containing_type_attribute, output_ptr_to_mbr_type_die): New functions. + (output_pointer_type_die, output_reference_type_die): Added calls to + equate_type_number_to_die_number. + (output_type): Handle OFFSET_TYPE correctly. + (output_type): Ignore LANG_TYPE (for now). + +Wed Jan 15 09:30:08 1992 Michael Tiemann (tiemann at cygnus.com) + + * All cp-* files: Remove calls to `cleanup_after_call'. + + * cp-method.c (fndecl_as_string): Add a missing space when printing + the return type. + + * cp-typeck.c (build_modify_expr): Treat arrays specially in both + INIT_EXPR and NOP_EXPR cases. Also, if we take the address NEWRHS + when it's not a SAVE_EXPR, build a new NEWRHS using that address. + * cp-tree.c (lvalue_p): Handle WITH_CLEANUP_EXPR case. + + * cp-decl.c (grokvardecl): Don't get tripped up by static class + members of incomplete type. + +Wed Jan 15 09:12:51 1992 Jeffrey A. Law (law at wombat.gnu.ai.mit.edu) + + * m68k.c (legitimize_pic_address): Re-enable code which was + mistakenly #ifdef'd out. + +Wed Jan 15 08:12:18 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * reload.c (find_reloads): Check for insn not recognized. + + * caller-save.c (reg_{save,restore}_code): New variables. + (init_caller_save): Set them. + (insert_save_restore): Just make SET for pattern of insn and set + code from reg_{save,restore}_code. + (save_call_clobbered_regs): Put restore insns before JUMP_INSN that + ends basic block, but after any other insn that ends the block. + + * sdbout.c (sdbout_symbol): Treat (mem (reg SP)) the same + as (mem (reg FP)). + + * reorg.c (mark_referenced_resources): Fix typo in last change. + (emit_delay_sequences): Update chain correctly when previous or + next insn is also a SEQUENCE. + +Wed Jan 15 08:10:29 1992 Chris Smith (cks at bach.convex.com) + + * t-convex: Use collect2 to link. + * convex.h: remove assembly output defines for old collect2. + * convex.h: define vprintf and wait macros for pcc mode boot of + collect2. + + * convex.h (ASM_OUTPUT_DOUBLE_INT): define. + + * convex.h (DEFAULT_GDB_EXTENSIONS): define as 0 until GDB version 4 + port is available. + + * convex.c (ap_reload_needed): Fix comment. + +Wed Jan 15 07:08:25 1992 Tom Wood (wood at dg-rtp.dg.com) + + * m88k.h (CONST_SECTION_FUNCTION): Trivial definition for targets + not based on svr[34].h (m88k-luna). + + * m88k.h (PREDICATE_CODES): Use it. + + * m88k.md (casesi_enter): Don't use bsr.n with -fno-delayed-branch. + * m88k.h (ASM_OUTPUT_CASE_END): The lda goes here when bsr is used. + + * m88k.c (legitimize_address): When converting a symbol_ref for + PIC, add a REG_EQUAL note. + +Wed Jan 15 06:22:34 1992 Michael Meissner (meissner at osf.org) + + * mips.h (MIPS_VERSION): Bump Meissner version # to 8. + (fcmp_op): Add function declaration. + (TARGET_FLOAT64): Support for -mfp64 switch to support the R4000 FR + psw bit, which doubles the number of floating point registers. + (TARGET_SWITCHES): Likewise. + (HARD_REGNO_NREGS): Likewise. + (CLASS_FCMP_OP): New bit for classifing floating point compares. + (PREDICATE_CODES): Add cmp2_op and fcmp_op support. + + * mips.c (various): Move extern declarations from inside of + functions to outside all functions. + (fcmp_op): Match comparison operators for floating point. + (mips_move_2words): Add -mfp64 support. + (override_options): Likewise. + (compute_frame_size): Likewise. + (override_options): Set up for fcmp_op. + (gen_conditional_branch): Redo floating point compares/branches, so + that it is like the rest of the compiler expects -- set cc0 to a + compare operator, instead of the exact test required, and put the + smarts in the branch operators to generate both the test and the + branch. + + * mips.md (cmpdf_eq, cmpdf_lt, cmpdf_le): Delete. + (cmpsf_eq, cmpsf_lt, cmpsf_le): Delete. + (cmpdf_internal): New define insn to match FP compares. + (cmpsf_internal): Likewise. + (branch_fp_true1, branch_fp_true2): Likewise. + (branch_fp_false1, branch_fp_false2): Likewise. + (branch_fp_true, branch_fp_false): New define_insns to match the + branch part of FP compares. + +Wed Jan 15 01:42:39 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * unroll.c (copy_loop_body): New parameter copy_notes_from, to + correct problem with bad debug info generated for preconditioned + loops. + (unroll_loops): Fix calls of copy_loop_body to pass new parameter. + +Wed Jan 15 01:01:39 1992 Richard Stallman (rms at mole.gnu.ai.mit.edu) + + * gcc.c (main): Don't use TARGET_VERSION. + (endfile_spec, switches_need_spaces): New vars, initted from macros. + (set_spec, process_command): Read and write those vars. + (do_spec_1, process_command): Use the new vars, not the macros. + (SWITCHES_NEED_SPACES): New default macro definition. + + * Makefile.in (install-common): Install driver as gcc-$(target). + + * gstddef.h (wchar_t): Check for _T_WCHAR. + + * stmt.c (pushcase, pushcase_range): Return 5 if jump into stack level. + * c-parse.y, objc-parse.y (stmt): Print error msg for that. + * cp-parse.y: Likewise. + +Tue Jan 14 23:25:37 1992 Ron Guilmette (rfg at ncd.com) + + * dwarfout.c: Include <string.h> if USG *or* POSIX. + (TREE_UID): Deleted. + (current_funcdef_number): Replacement for TREE_UID. + (dwarfout_file_scope_decl): Increment + current_funcdef_number after each funnction definition is processed. + (pending_sibling_stack_depth): Renamed globally to pending_siblings. + (pending_sibling_stack_size): Renamed to pending_siblings_allocated. + (PENDING_SIBLING_STACK_INCREMENT): Renamed PENDING_SIBLINGS_INCREMENT. + (pending_types_list, pending_types_allocated, pending_types, + PENDING_TYPES_INCREMENT, fake_containing_scope): New vars/macros. + + * dwarfout.c (total_ft_entries): Renamed to ft_entries_allocated. + (valid_ft_entries): Renamed to ft_entries. + (FT_ENTRIES_INCREMENT): Definition added. + (lookup_filename): Expand filename table (when needed) + by adding FT_ENTRIES_INCREMENT more table elements rather than + doubling current size. + (dwarfout_init): Allocate initial filename table. + + * dwarfout.c (INSN_LABEL_FMT, FUNC_END_LABEL_FMT): Use decimal format. + + * dwarfout.c (member_attribute): Rewritten for proper C++ support. + (output_array_type_die, output_set_type_die, output_entry_point_die, + output_enumeration_type_die, output_global_subroutine_die, + output_global_variable_die, output_inline_subroutine_die, + output_local_variable_die, output_member_die, output_pointer_type_die, + output_reference_type_die, output_string_type_die, + output_structure_type_die, output_local_subroutine_die, + output_subroutine_type_die, output_typedef_die, output_union_type_die): + Added calls to member_attribute (for C++). + + * dwarfout.c (inline_attribute): Test for TREE_INLINE in here. + (output_global_subroutine_die, output_local_subroutine_die): + Don't test for TREE_INLINE here. + + * dwarfout.c (output_formal_types): Fixed to handle METHOD_TYPE + nodes and to output all related type DIEs last (for SDB). + (type_ok_for_scope, output_pending_types_for_scope, pend_type): + Functions added to support C++. + (output_type, output_decl): Added `containing_scope' + parameter to handle C++ nested types. + (output_type): Don't output the type unless it's OK + for the current DIE chain (i.e. unless it's OK for the current scope). + (output_type): Output completed non-global tagged types + right away even if not finalizing. + (output_type): Use correct method to get head of chain + of C++ function members. + (output_decl): Skip first item on chain of DECL_ARGUMENTS + for a FUNCTION_DECL whose type is a METHOD_TYPE. + Suppress output of type DIEs for formal parms of a FUNCTION_DECL + until after all TAG_parameter DIEs have been output (for SDB + compatability). + Output DIEs for any LABEL_DECL nodes attached to outermost BLOCK of + a FUNCTION_DECL. + Handle LABEL_DECL nodes. + + * dwarfout.c (dwarfout_file_scope_decl): Un-pend all pending file- + scope types after each file-scope declaration is output. + (output_decls_for_scope): Un-pend all pending local types + at end of each local scope. + +Tue Jan 14 16:40:39 1992 Tim Moore (moore at fast.cs.utah.edu) + + * calls.c (expand_call): If ARGS_GROW_DOWNWARD, make slot_offset + negative and set highest_outgoing_arg_in_use to needed + 1. + (store_one_arg): If ARGS_GROW_DOWNWARD deal with negative slot_offset. + +Tue Jan 14 20:01:59 1992 Jim Wilson (wilson at wookumz.gnu.ai.mit.edu) + + * sparc.h (TARGET_SUN_ASM, TARGET_GNU): Delete support for + obsolete and undocumented flags -msun-asm and -mgnu. + * sparc.md: Likewise. + +Tue Jan 14 19:36:21 1992 Tim Moore (moore at fast.cs.utah.edu) + + * xm-hp800.h (hpux8): define. + * hp800.h (LINK_SPEC): Conditionalize on hpux8. + (STACK_BOUNDARY): Define for snake. + (CALL_USED_REGISTERS): Shift register is special. + (HARD_REGNO_MODE_OK): Don't allow modes smaller that SImode in fp + registers. + (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Eliminate + GENERAL_OR_FP_REGS, GENERAL_OR_SNAKE_FP_REGS classes. + (FUNCTION_ARG): Handle snake fp arguments. + (ASM_DOUBLE_ARG_DESCRIPTORS): define. + (ASM_DECLARE_FUNCTION_NAME): Use above macro to get around hpux + 8.0 change. + * hp800.md (movsi, movdi): Add ! and * to constraints of anonymous + define-insns to discourage SImode values in fp registers. Don't + modify the stack pointer when moving between general and fp registers. + (mulsi): Take out pattern that matches a degenerate multiplication + by 1; it doesn't seem to be needed and causes problems. + (sar_sub): Change so that const_int isn't the first argument of + the comparison. + * hp800.c (output_fp_move_double): As above, don't modify the + stack pointer when moving between general and fp registers. + (output_block_move): Don't make one CONST_INT rtx and store + different integer values in it; cons up a "new" one for each value. + (output_floatsisf2, output_floatsidf2): Fix typos. + (output_arg_descriptor): Conditionalize for HPUX 8.0. + +Tue Jan 14 14:38:09 1992 Michael Tiemann (tiemann at cygnus.com) + + * cp-typeck.c (build_unary_op): Call readonly_warning_or_error if + ARG is TREE_READONLY (in addition to the type being TYPE_READONLY). + + * cp-init.c (maybe_adjust_addr_for_delete): If the adjustment needs + to be done, zero out the storage that held part of the cookie. + +Tue Jan 14 13:12:48 1991 Ron Guilmette (rfg at ncd.com) + + * c-decl.c (poplevel): Set TYPE_CONTEXT for each tagged type + except inside function declaration parm list. + (grokdeclarator): Set TYPE_CONTEXT for tagged type in decl parm list. + (pushtag): Don't set TYPE_CONTEXT for tagged types here. + +Tue Jan 14 06:46:37 1992 Richard Kenner (kenner at vlsi1.ultra.nyu.edu) + + * global-alloc.c (global_alloc): Count multi-word pseudos correctly + in local_reg_n_refs. + (find_reg): Evict pseudos that overlap the register we take, not just + that start with that register. + + * a29k.c (a29k_debug_reg_map): New variable. + (output_prologue): Initialize it. + * a29k.h (DBX_REGISTER_NUMBER): Use that map. + + * ultrix.h (WCHAR_TYPE): Make definition be a known type. + + * final.c (final_scan_insn): Call DBR_OUTPUT_SEQEND before we + clear `final_sequence', so it can call dbr_sequence_length. + + * reload1.c (reload): Clear insn_needs once we know we have + reloads, instead of always. + Don't skip processing of reloads for CALL_INSNs when caller-save + needs a spill register. + + * flow.c (mark_used_regs, case RETURN): Insert missing test for global + registers. + + * reorg.c (mark_referenced_resources): Mark asm's as volatile + when appropriate. + + * integrate.h (struct inline_remap): New field const_equiv_map_size. + * integrate.c (expand_inline_function): Set it; make larger map. + (subst_constants): Don't reference out-of-range entry in equiv map. + * unroll.c (unroll_loop): Set const_equiv_map_size. + +See ChangeLog.4 for earlier changes. |