diff options
author | obrien <obrien@FreeBSD.org> | 1999-08-26 09:30:50 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 1999-08-26 09:30:50 +0000 |
commit | 0bedf4fb30066e5e1d4342a1d3914dae7d37cba7 (patch) | |
tree | 68d8110b41afd0ebbf39167b1a4918eea667a7c5 /contrib/gcc/ChangeLog | |
parent | d4db5fb866b7ad5216abd5047774a3973b9901a9 (diff) | |
download | FreeBSD-src-0bedf4fb30066e5e1d4342a1d3914dae7d37cba7.zip FreeBSD-src-0bedf4fb30066e5e1d4342a1d3914dae7d37cba7.tar.gz |
Virgin import of gcc from EGCS 1.1.2
Diffstat (limited to 'contrib/gcc/ChangeLog')
-rw-r--r-- | contrib/gcc/ChangeLog | 16779 |
1 files changed, 12500 insertions, 4279 deletions
diff --git a/contrib/gcc/ChangeLog b/contrib/gcc/ChangeLog index ffdc477..f1be44e 100644 --- a/contrib/gcc/ChangeLog +++ b/contrib/gcc/ChangeLog @@ -1,5890 +1,14111 @@ -Thu Aug 22 23:47:38 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Sun Mar 14 02:38:07 PST 1999 Jeff Law (law@cygnus.com) - * Version 2.7.2.3 released. + * egcs-1.1.2 Released. -Wed Aug 13 08:28:18 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Sun Mar 14 03:23:47 1999 Jeffrey A Law (law@cygnus.com) - * INSTALL, install.texi: Update for m68k-*-linuxaout, - m68k-*-linux-gnulibc1 and m68k-*-linux. + * README, gcc.1, gcc.texi, version.c: Update for egcs-1.1.2 release. -1997-08-12 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Thu Mar 11 14:00:58 1999 Richard Henderson <rth@cygnus.com> - * config/m68k/t-linux: Define INSTALL_ASSERT_H and - TARGET_LIBGCC2_CFLAGS. - * config/m68k/t-linux-gnulibc1: New file. + * alpha.h (HARD_REGNO_MODE_OK): Disallow QI/HImode in fp regs. + (MODES_TIEABLE_P): Update. - * configure: Don't use GNU setup for *-*-linux-gnu*. - (m68k-*-linux*gnulibc1): New target. - (m68k-*-linux*): Set $extra_parts correctly. +Thu Mar 11 00:20:52 1999 Alexandre Oliva <oliva@dcc.unicamp.br> - * config/m68k/linux.h (STRICT_ALIGNMENT): Define to zero. - (CPP_SPEC, LIB_SPEC, LINK_SPEC): Add support for glibc 2. - (LIBGCC_SPEC): Always link in -lgcc independent of -shared. - (LIBCALL_VALUE): Use correct register for XFmode. - (LEGITIMATE_PIC_OPERAND_P): Reject CONST_DOUBLE with MEM with - invalid pic address. - (FINALIZE_TRAMPOLINE, CLEAR_INSN_CACHE): New. + * gcc.texi: Update bug reporting instructions to match + current ezmlm list reality. -Mon Mar 17 17:03:55 1997 J.T. Conklin <jtc@cygnus.com> +Mon Mar 8 01:19:23 1999 Jeffrey A Law (law@cygnus.com) - * m68k.md (beq0_di, bne0_di, bge0_di, blt0_di): Use cmpw #0 - instead of tstl when testing address registers on the 68000. + * version.c: Bump for prerelease. -Fri Aug 8 08:15:55 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Mon Mar 8 01:16:30 1999 Manfred Hollstein <manfred@s-direktnet.de> + Jeff Law <law@cygnus.com> - * Makefile.in (INSTALL): Fix the rule. - (stamp-crtS): Depend on stamp-crt for parallel make. + * configure.in (cpp_install_dir): Initialize from $enable_cpp + if that's looking like a pathname. + * configure: Rebuilt. - * install1.texi: New. + * Makefile.in (install-cpp, uninstall-cpp): cpp_install_dir is an + absolute pathname, not a $prefix relative pathname. -Mon Jul 21 22:47:13 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Fri Mar 5 01:19:22 1999 Jeffrey A Law (law@cygnus.com) - * configure (gxx_include_dir): Set it to $prefix/include/g++ - for Linux. + Thu Dec 17 18:21:49 1998 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + * fixincludes (c_asm.h): Wrap Digital UNIX V4.0B DEC C specific + asm() etc. function declarations in __DECC. -Tue Jun 24 11:24:56 1997 H.J. Lu (hjl@gnu.ai.mit.edu) +Wed Mar 3 23:55:14 1999 Zack Weinberg <zack@rabi.columbia.edu> - * INSTALL, install.texi: Refer Linux running libc 5.x.x as - i386-*-linux-gnulibc1. + * cpp.in: New. Better cpp shell script. + * cpp.sh: Delete. + * Makefile.in (cpp.sh): Build from cpp.in - * config/i386/linux.h, config.guess, config.sub, configure: - Correct support for glibc 2. +Tue Mar 2 01:27:52 1999 H.J. Lu (hjl@gnu.org) - * config/t-linux: New, makefile fragment for Linux target with - glibc 2. + * Makefile.in (cpp_install_dir, INSTALL_CPP, UNINSTALL_CPP): New + variables. + (install-cpp, uninstall-cpp): New targets. + (install-normal): Depend on $(INSTALL_CPP). + (uninstall): Depend on $(UNINSTALL_CPP). + * configure.in (cpp_install_dir): New, substitute. + (tmake_file): Added t-install-cpp for --enable-cpp. + * configure: Rebuilt. + * cpp.sh: New cpp script. + * config/t-install-cpp: New target fragment. - * config/t-linux-gnulibc1: New, makefile fragment for Linux - target with libc 5.x.x. +Mon Mar 1 23:38:20 1999 Jeffrey A Law (law@cygnus.com) - * config/t-linux-libc1: Removed. + Tue Feb 2 23:38:35 1999 David O'Brien <obrien@FreeBSD.org> + * i386/freebsd*.h now allows '$' in label names and does not use the + PCC struct return method. - * config.sub: Add support for i686. + Wed Dec 30 23:00:28 1998 David O'Brien <obrien@NUXI.com> + * configure.in (FreeBSD ELF): Needs special crt files. + * configure: Rebuilt. - * gcc.c (main): check and read ${libdir}/gcc-lib/specs to - override the default specs. +Sun Feb 28 14:47:53 1999 Arturo Montes <mitosys@colomsat.com.co> -Mon Jun 23 22:48:00 1997 Jim Wilson <wilson@cygnus.com> - - * unroll.c (find_splittable_givs): Set splittable_regs_updates - to biv_count for reduced givs. + * config/i386/t-sco5gas (crti.o): New target. -Tue Apr 16 16:59:49 1996 Richard Henderson <rth@tamu.edu> +Sun Feb 28 00:50:28 1999 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + Jeffrey A Law (law@cygnus.com) - * function.c (expand_function_end): Allow TRAMPOLINE_TEMPLATE - to be omitted on systems for which it is not cost effective. - * varasm.c (assemble_trampoline_template): No such function - if no TRAMPOLINE_TEMPLATE. - * m68k.h: Greatly simplify the run-time trampoline code: - (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): Delete define. - (TRAMPOLINE_SIZE, INITIALIZE_TRAMPOLINE): Changed. - (TRAMPOLINE_ALIGN): No point aligning to cache line. - (FINISH_INIT_TRAMPOLINE): New define. - * m68k/next.h: Instead of redefining INITIALIZE_TRAMPOLINE, - make use of the new FINISH_INIT_TRAMPOLINE. - * m68k/{m68k.h,next.h} (FINISH_INIT_TRAMPOLINE): - Rename to FINALIZE_TRAMPOLINE. + * cse.c (fold_rtx): Update comments for (const (minus (label) (label))) + case. + (cse_insn): Avoid creating a bogus REG_EQUAL note for + (const (minus (label) (label))) + (record_jump_cond): Fix mismatched paren in comment. + +Sat Feb 27 22:48:38 1999 H.J. Lu (hjl@gnu.org) + Jeffrey A Law (law@cygnus.com) + + * frame.h: Update some comments. + * crtstuff.c (TARGET_ATTRIBUTE_WEAK): Define. + (__register_frame_info, __deregister_frame_info): Declare using + TARGET_WEAK_ATTRIBUTE. + (__do_global_dtors_aux): Check if __deregister_frame_info is + zero before calling it. + (__do_global_dtors): Likewise. + (frame_dummy): Check if __register_frame_info is zero before + calling it. + (__frame_dummy): Likewise. + +Sat Feb 27 19:47:39 1999 Marc Espie <espie@openbsd.org> -Mon Apr 15 08:49:20 1996 Tom May (ftom@netcom.com) + * config/t-openbsd (T_CFLAGS): Add -Dmkstemps=my_mkstemps. - * cse.c (invalidate_skipped_set): Ignore CLOBBER after calling - note_mem_written, not before. +Sat Feb 27 19:37:04 1999 Arturo Montes <mitosys@colomsat.com.co> -Sat Jun 29 12:33:39 1996 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * i386/t-sco5 (crti.o): New target. + * i386/sco5.h (STARTFILE_SPEC): Include crti.o when + linking -shared. + * configure.in (i[34567]86-*-sco3.2v5*): Add crti.o. + * configure: Rebuilt. - * Version 2.7.2.1 released. +Sat Feb 27 19:29:46 1999 Toon Moene <toon@moene.indiv.nluug.nl> + Mark Mitchell <mark@markmitchell.com> + Jeffrey A Law (law@cygnus.com) -Tue Jun 11 20:18:03 1996 Per Bothner <bothner@cygnus.com> + * alias.c (true_dependence): Only apply MEM_IN_STRUCT_P tests + when flag_structure_noalias is set. + * toplev.c (flag_structure_noalias): New variable. + (f_options): Add -fstructure-noalias. + * flags.h (flag_structure_noalias): Declare. + * invoke.texi: Update documentation. - * fix-header.c (read_scna_file): Invoke FIXPROTO_INIT if defined. - * alpha.h (FIXPROTO_INIT): Define new macro. +Sat Feb 27 19:19:36 1999 Jeffrey A Law (law@cygnus.com) -Fri May 10 18:35:00 1996 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * SERVICE: Update from the FSF. - * loop.c (maybe_eliminate_biv_1): Disable all but two cases - of biv elimination with givs and restrict those two cases to - an ADD_VAL that is an address. +Fri Feb 26 19:31:25 1999 Dave Love <fx@gnu.org> -Mon Apr 22 16:50:19 1996 Jeremy Bettis <jeremy@hksys.com> + * md.texi, invoke.texi: Fix unterminated @xrefs. - * objc/hash.c (hash_value_for_key): Prevent endless loop when 0 was - stored in a hashtable. +Fri Feb 26 01:47:46 1999 Jeffrey A Law (law@cygnus.com) -Wed Apr 17 17:53:23 1996 Michael Meissner <meissner@tiktok.cygnus.com> + Sun Jan 17 03:20:47 1999 H.J. Lu (hjl@gnu.org) + * reg-stack.c (subst_stack_regs_pat): Abort if the destination + of a FP conditional move is not on the FP register stack. - * rs6000.c (expand_block_move_mem): Copy RTX_UNCHANGING_P. - (expand_block_move): Copy dest/src to registers using - copy_addr_to_reg, call expand_block_move_mem to copy all of the - bits. + * Makefile.in (compare, gnucompare): We do not care about + comparison failures for objc/linking.o either. -Mon Apr 8 13:46:28 1996 Michael Meissner <meissner@tiktok.cygnus.com> +Wed Feb 24 23:17:41 1999 Jeffrey A Law (law@cygnus.com) - * rs6000.c (output_{prolog,epilog}): For V.4/eabi systems, change - prologue and epilogue so that accesses beyond the current stack - pointer are not done like they are for AIX. + Thu Feb 18 19:59:37 1999 Marc Espie <espie@cvs.openbsd.org> + * configure.in :Handle OpenBSD platforms. + * configure: Rebuilt. + * config/openbsd.h: New file. + * config/xm-openbsd.h: New file. + * config/t-openbsd: New file. + * config/t-openbsd-thread: New file. -Fri Mar 26 05:43:06 1996 Torbjorn Granlund <tege@noisy.matematik.su.se> + Thu Feb 18 13:15:56 1999 Marc Espie <espie@cvs.openbsd.org> + * alpha/openbsd.h: New file. + * alpha/xm-openbsd.h: New file. + * sparc/openbsd.h: New file. + * sparc/xm-openbsd.h: New file. + * m68k/openbsd.h: New file. + * m68k/xm-openbsd.h: New file. + * i386/openbsd.h: New file, originally from netbsd. + * i386/xm-openbsd.h: New file. - * vax.md (insv matcher): Call CC_STATUS_INIT. - * vax.h (NOTICE_UPDATE_CC): Handle ZERO_EXTRACT destination. + Wed Nov 19 12:56:54 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * configure.in: Fix check for <inttypes.h>. + * configure: Rebuilt. -Sat Mar 23 18:25:39 1996 J"orn Rennecke (amylaar@meolyon.hanse.de) + * varasm.c (declare_weak): If HANDLE_PRAGMA_WEAK, call + handle_pragma_weak. + +Wed Feb 24 03:17:56 1999 Jeffrey A Law (law@cygnus.com) - * c-typeck.c (set_init_index): Check for use outside an array - initializer. + * version.c: Bump for prerelease. -Sat Mar 23 09:21:40 1996 Doug Evans <dje@canuck.cygnus.com> + * Makefile.in (compare, gnucompare): Ignore comparison failures + for some objects in the ObjC runtime. - * sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Don't unfix %g[234] - if fixed with -ffixed-. +Wed Feb 24 02:39:08 1999 Jeffrey A Law (law@cygnus.com) -Wed Mar 13 20:36:10 1996 Jim Wilson <wilson@chestnut.cygnus.com> + Mon Dec 7 16:15:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + * sh.c (output_far_jump): Emit braf only for TARGET_SH2. - * mips.c (mips_expand_prologue): Change TYPE_NEEDS_CONSTRUCTING to - TREE_ADDRESSABLE; - * pa.h (ASM_DECLARE_FUNCTION_NAME): Likewise. + Mon Nov 23 16:46:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + * va-sh.h (__va_arg_sh1): Use __asm instead of asm. -Tue Mar 12 14:36:02 1996 Jason Merrill <jason@yorick.cygnus.com> +Tue Feb 23 00:38:17 1999 Jeffrey A Law (law@cygnus.com) - * lex.c (real_yylex): Warn about using the `namespace' keyword. + Thu Sep 3 00:23:21 1998 Richard Henderson <rth@cygnus.com> + * ginclude/va-alpha.h: Protect entire second portion of the + file against double inclusion. -Tue Feb 27 08:18:12 1996 Richard Earnshaw (rearnsha@armltd.co.uk) + Mon Aug 31 13:57:55 1998 Richard Henderson <rth@cygnus.com> + * alpha/va_list.h: New file. + * alpha/x-alpha (EXTRA_HEADERS): New. Add va_list.h. - * arm.md (mov{si,sf,df}cc and matchers): All conditional move - patterns must have a mode. + Sat Aug 1 17:59:30 1998 Richard Henderson <rth@cygnus.com> + * ginclude/va-alpha.h (va_list): Use a typedef, not a define. -Mon Feb 19 07:35:07 1996 Torbjorn Granlund <tege@tmg.se> +Sun Feb 21 20:35:10 1999 Jeffrey A Law (law@cygnus.com) - * rs6000.md (not:SI with assign and compare): Fix typo. + Wed Oct 28 22:58:35 1998 Jason Merrill <jason@yorick.cygnus.com> + * tree.c (append_random_chars): New fn. + (get_file_function_name_long): Use it. -Wed Jan 24 18:00:12 1996 Brendan Kehoe <brendan@lisa.cygnus.com> + Thu Aug 13 17:08:11 1998 Jason Merrill <jason@yorick.cygnus.com> + * tree.c (get_file_function_name_long): Split out... + (get_file_function_name): ...from here. - * alpha.c (alpha_write_verstamp): Only emit MS_STAMP and LS_STAMP, - not the extra numbers. + * config/aoutos.h (ASM_OUTPUT_CONSTRUCTOR): Delete. + (ASM_OUTPUT_DESTRUCTOR, ASM_OUTPUT_GC_ENTRY): Likewise. + * tm.texi: Update docs for constructors and destructors. -Wed Jan 17 21:22:40 1996 Brendan Kehoe <brendan@lisa.cygnus.com> +Tue Feb 16 21:02:07 1999 Anton Hartl <toni@devsoft.com> - * cp/decl2.c (grokfield): Call cplus_decl_attributes with the attrlist. - Pass a null tree to grokdeclarator for its ATTRLIST arg, since it's - only ever used for functions in it. + * rs6000.md (call_value): Fix typo. -Tue Jan 16 06:01:28 1996 Thomas Graichen <graichen@omega.physik.fu-berlin.de> +Tue Feb 16 01:37:33 1999 Charles G Waldman <cgw@alum.mit.edu> - * i386/freebsd.h (ASM_WEAKEN_LABEL): Deleted; not supported. + * c-common.c (shorten_compare): Get the min/max value from the + underlying type of an enumeration, not the enumerated type itself. -Sun Jan 7 17:11:11 1996 David Edelsohn <edelsohn@mhpcc.edu> +Mon Feb 15 11:33:51 1999 Jeffrey A Law (law@cygnus.com) - * collect2.c (scan_libraries): Correct Import File ID interpretation. + Sat Jan 16 21:48:17 1999 Marc Espie (Marc.Espie@openbsd.org) + * gcc.c: (do_spec_1): Fix obvious typo. -Thu Dec 28 22:24:53 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * jump.c: Include insn-attr.h. + (delete_computation): If reload has completed and insn scheduling + after reload is enabled, then do not depend on REG_DEAD notes. + * Makefile.in (jump.o): Depend on insn-attr.h. - * rs6000.md (common mode functions): Add condition reg clobbers. + * sparc.c (output_scc_insn): Add missing argument to output_cbranch. -Tue Dec 19 15:08:31 1995 Jason Merrill <jason@yorick.cygnus.com> + * loop.c (mark_loop_jump): Handle LO_SUM. If we encounter something + we do not understand, mark the loop and containing loops as invalid. - * collect2.c: Remove auto_export functionality. +Sun Feb 14 23:05:34 1999 Jeffrey A Law (law@cygnus.com) -Mon Dec 18 18:40:34 1995 Jim Wilson <wilson@chestnut.cygnus.com> + Tue Feb 9 21:14:03 1999 J"orn Rennecke <amylaar@cygnus.co.uk> + * alias.c (init_alias_analysis): Avoid self-referential value + when setting reg_known_value from REG_EQUAL notes. - * svr4.h (ASM_IDENTIFY_GCC): Don't output stab here. - (ASM_IDENTIFY_GCC_AFTER_SOURCE): Output stab here instead of - above. + Mon Aug 17 02:03:55 1998 Richard Henderson <rth@cygnus.com> + * regclass.c (allocate_reg_info): Respect MIN when clearing data. -Sat Dec 16 07:03:33 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * loop.c (scan_loop): Fix typo in last change. - * stor-layout.c (layout_record): When PCC_BITFIELD_TYPE_MATTERS, - compute bitpos using field_size % type_align instead of field_size. +Sat Feb 13 11:53:12 1999 Jeffrey A Law (law@cygnus.com) -Fri Dec 15 18:41:50 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + 1999-02-05 Michael Meissner <meissner@cygnus.com> + J"orn Rennecke <amylaar@cygnus.co.uk> + * loop.c (check_dbra_loop): A store using an address giv for which + we have no life information is not reversible. + * loop.c (first_loop_store_insn): New file-scope variable. + (prescan_loop): Set it. + (check_dbra_loop): Check if a store depends on a register + that is set after the store. - * fixincludes (sys/wait.h): Add forward declaration of struct rusage - on AIX 3.2.5. + Sun Jan 31 13:22:02 1999 John Wehle (john@feith.com) + * i386.md (movsicc, movhicc, movsfcc, movdfcc, + movxfcc, movdicc): Delete unconstrained alternatives. + * i386.c (output_fp_conditional_move, + output_int_conditional_move): Delete unused case. -Sat Dec 9 18:05:03 1995 Jim Wilson <wilson@cygnus.com> + Tue Aug 18 10:33:30 1998 Jeffrey A Law (law@cygnus.com) + * expr.c (emit_block_move): Do not call memcpy as a libcall + instead build up a CALL_EXPR and call it like any other + function. + (clear_storage): Similarly for memset. - * expr.c (expand_expr, case INDIRECT_REF): Correct typo in May 8 - change. + Sun Sep 20 20:57:02 1998 Robert Lipe <robertl@dgii.com> + * configure.in (i*86-*-sysv5*): Use fixinc.svr4 to patch byteorder + problems. + * configure: Regenerate. -Sun Nov 26 14:47:42 1995 Richard Kenner <kenner@mole.gnu.ai.mit.edu> +Fri Feb 12 23:20:54 1999 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> - * Version 2.7.2 released. + * loop.c (scan_loop): Call reg_in_basic_block_p before + loop_reg_used_before_p. - * function.c (fixup_var_refs_1): Make pseudo for DEST - in PROMOTED_MODE unless in a SUBREG. +Thu Feb 11 01:53:10 1999 Jeffrey A Law (law@cygnus.com) - * cse.c (insert): Don't put a REG into qty_const. + Wed Nov 18 22:13:00 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + * expr.c (store_expr): Don't generate load-store pair + if TEMP is identical (according to ==) with TARGET. - * msdos/top.sed: Change version to 2.7.2. - * winnt/config-nt.sed: Likewise. +Thu Feb 11 01:06:49 1999 Nathan Sidwell <nathan@acm.org> -Sun Nov 26 14:41:49 1995 Douglas Rupp (drupp@cs.washington.edu) + * fold-const.c (range_binop): Take account of the bounded nature + of fixed length arithmetic when comparing unbounded ranges. - * Makefile.in (stamp-objlist): Change .o to $objext. +Wed Feb 10 11:03:22 1999 Richard Henderson <rth@cygnus.com> - * alpha/win-nt.h (CPP_PREDEFINES): Set __unaligned and __stdcall - to null. - (ASM_SPEC): Add a translation for -g to -Zi. - * winnt/ld.c (main): Don't pass -g to link. - * winnt/oldnames.c: Reformat and add some new functions for gnat1. - * winnt/win-nt.h (LINK_SPEC): Pass -g to ld.exe. - Increase default stack size. - * configure ({alpha-dec,i386-ibm}-winnt3.5): Add oldnames.o - to extra_objs. - * libgcc2.c (trampoline): Add getpagesize and mprotect for WINNT. - -Sun Nov 26 14:25:26 1995 Uwe Seimet (seimet@chemie.uni-kl.de) + * configure.in (alphaev6*): Fix typo in target_cpu_default2. - * atari.h (FUNCTION_VALUE): Deleted; incorrect. +Tue Feb 9 00:00:14 1999 Mark Kettenis <kettenis@gnu.org> -Sun Nov 26 14:23:03 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * configure.in (i[34567]86-*gnu*): Set float_format to i386. + * configure: Rebuilt. - * fixincludes (curses.h): Allow space or tab after bool keyword, - instead of tab or tab. +Sat Feb 6 16:03:36 1999 Jeffrey A Law (law@cygnus.com) -Sun Nov 26 14:14:11 1995 Oliver Kellogg (oliver.kellogg@space.otn.dasa.de) + * invoke.texi, expr.c: Update email addresses. - * 1750a.md (pattern for HImode PSHM): Corrected. - (trunchiqi2, zero_extendqihi2, extendhftqf2): Corrected. - (pattern for movhi of CONST_INT to REG): Corrected. - (divmodqi pattern for DISN): Corrected. - (all shift patterns): Corrected. + * gcc.c, gcc.texi: Update email addresses. - * 1750a.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P): Corrected. - (ASM_OUTPUT_[datatype]): Corrected datalbl[].size computation - for output of arrays. +Sat Jan 30 05:27:25 1999 Jeffrey A Law (law@cygnus.com) -Sun Nov 26 14:08:57 1995 Dave Love <d.love@dl.ac.uk> + Thu Jan 21 01:59:30 1999 Richard Henderson <rth@cygnus.com> + * explow.c (allocate_dynamic_stack_space): Use register_operand + instead of arith_operand, which does not exist. - * mips/iris5.h (NO_IMPLICIT_EXTERN_C): Define this again so - that unistd.h doesn't get badly `fixed' for C++. libg++ will now - build with this definition. +Thu Jan 28 09:44:04 1999 Jeffrey A Law (law@cygnus.com) -Sun Nov 26 14:02:43 1995 Robert E. Brown (brown@grettir.bibliotech.com) + * configure.in (hppa1.0-hp-hpux10*): Use t-pa. + * configure: Rebuilt. - * configure: Better workaround for Nextstep bug. +Thu Jan 21 23:27:06 1999 Jeffrey A Law (law@cygnus.com) -Sun Nov 26 13:55:07 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * m68k.md (ashldi_const): Disable for !TARGET_5200. Fix indention. + (ashldi3 expander): Similarly. Update comments. + (ashrdi_const, lshrdi_const): Fix indention. + (ashrdi3, lshrdi3): FIx indention. Update comments. - * rs6000.md (load_multiple matcher): Fix typo in opcode. +Thu Jan 21 20:33:31 1999 Richard Henderson <rth@cygnus.com> -Sun Nov 26 13:51:08 1995 Lee Iverson <leei@Canada.AI.SRI.COM> + * rs6000.h (LEGITIMIZE_RELOAD_ADDRESS): Recognize and accept + transformations that we have performed earlier. + * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise. - * final.c (final_start_function): Move call to sdbout_begin_function - back to final_scan_insn on MIPS systems so parameter descriptions are - recognized. +Sun Jan 17 20:39:20 1999 Richard Henderson <rth@cygnus.com> -Sun Nov 26 13:43:06 1995 DJ Delorie (dj@delorie.co)m + * jump.c (rtx_renumbered_equal_p): Special case CODE_LABEL. - * msdos/top.sed: Don't insert "go32". +Sun Jan 17 19:01:47 1999 Jeffrey A Law (law@cygnus.com) -Sun Nov 26 12:08:23 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * i386.md (integer conditional moves): Add missing earlyclobbers. - * combine.c (nonzero_bits, case REG): Put POINTERS_EXTEND_UNSIGNED - code before stack pointer code. Return nonzero at end of stack - pointer code. + * regmove.c (optimize_reg_copy_1): Undo Aug 18 change. Update + REG_N_CALLS_CROSSED and REG_LIVE_LENGH if and only if we change + where a register is live. - * sparc.h (PRINT_OPERAND_ADDRESS): Handle CONST inside PLUS. +Fri Jan 15 01:19:42 1999 Jeffrey A Law (law@cygnus.com) - * Makefile.in (cppalloc.o): Add a rule to build it. + * unroll.c (find_splittable_givs): For a DEST_ADDR giv, do not share + a register with another DEST_ADDR giv if the address is not valid. - * alpha.c (alpha_emit_set_const): Don't output SImode sequences - that rely on invisible overflow. Sign extend new when SImode. - Don't recur if new == c. Don't allow shift outside mode. Make - logical right shift be unsigned. + * h8300.h (ASM_OUTPUT_LABELREF): Use asm_fprintf, not fprintf. -Sun Nov 26 11:37:50 1995 Arne H. Juul (arnej@idt.unit.no) +Mon Jan 11 20:23:34 1999 Richard Henderson <rth@cygnus.com> - * Makefile.in (compare*): Add "|| true" to avoid spurious - failure messages from some versions of make. + * sparc.c (legitimize_pic_address): Treat labels like symbols. + (emit_move_sequence): Likewise. + * sparc.h (PRINT_OPERAND_ADDRESS): Likewise. + (ASM_OUTPUT_ADDR_VEC_ELT): Don't special case CM_MEDLOW. + (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. Don't reference magic `1b'. + * sparc.md (move_pic_label_si): Kill. + (move_label_di): Kill. + (pic_tablejump_32, pic_tablejump_64): Kill. + (tablejump): Expose pic arithmetic to the compiler. -Sun Nov 26 11:20:09 1995 Dmitry K. Butskoy (buc@stu.spb.su) +Thu Jan 7 00:33:33 1999 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> - * expr.c (truthvalue_conversion): Add declaration. + * combine.c (num_sign_bit_copies): In NEG, MULT, DIV and MOD cases, + when a test can't be performed due to limited width of + HOST_BITS_PER_WIDE_INT, use the more conservative approximation. + Fix UDIV case for cases where the first operand has the highest bit + set. -Sun Nov 12 18:09:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed Jan 6 23:37:47 1999 Jeffrey A Law (law@cygnus.com) - * Version 2.7.1 released. + * h8300.h (ASM_OUTPUT_LABELREF): Define. - * function.c (put_reg_into_stack): New arg volatile_p. - (put_var_into_stack): Call with new arg. +Wed Jan 6 02:23:36 1999 "Charles M. Hannum" <root@ihack.net> -Sat Nov 11 08:25:34 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * expr.c (store_expr): If the lhs is a memory location pointed + to be a postincremented (or postdecremented) pointer, always + force the rhs to be evaluated into a pseudo. - * reload.c (output.h): Include it. - * Makefile.in (reload.o): Add dependence on output.h. +Fri Jan 1 11:48:20 1999 Jeffrey A Law (law@cygnus.com) -Thu Nov 9 11:24:20 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * i386.md (doubleword shifts): Fix dumb mistakes in previous change. - * mips.h (HARD_REGNO_NREGS): If FP_REG_P, always use UNITS_PER_FPREG - to calculate number of words needed. +Wed Dec 30 23:44:11 1998 Jeffrey A Law (law@cygnus.com) -Thu Nov 9 11:04:50 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) + * m68k.md (adddi_dilshr32): Allow all operands to be registers too. + (adddi_dishl32): Similarly. - * 1750a.md (cmphf): Addd Base Reg with Offset address mode (LB,STB,..) - (movqi,movhi,movhf,addqi3,addhf3,subqi3,subhf3,mulqihi3): Likewise. - (mulhf3,divhf3,andqi3,iorqi3): Likewise. - (define_peephole): Remove the Base mode peepholes. Replace the - special addqi define_insn for "LIM Ra,sym,Rb" by a define_peephole. - (ashlqi3): Took out futile 0th alternative. - (lshrqi3, lshrhi3, ashrqi3, ahsrhi3): Correct case of non-constant - shift count. + * cse.c (invalidate_skipped_block): Call invalidate_from_clobbers + for each insn in the skipped block. - * 1750a.h (REG_ALLOC_ORDER): Define. - (REGNO_OK_FOR_BASE_P): Include stack pointer in test against - reg_renumber[REGNO]. - (ASM_OUTPUT_DESTRUCTOR): Remove bogus assembler comment. + * i386.md (doubleword shifts): Avoid namespace pollution. -Thu Nov 9 11:01:33 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon Dec 28 10:44:40 1998 Richard Henderson <rth@cygnus.com> - * expr.c (expand_expr, case ARRAY_REF): Properly convert types - of index, size, and multiplication. + * combine.c (subst): Process the inputs to a parallel asm_operands + only once. -Wed Nov 8 09:00:22 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Sun Dec 13 00:09:47 1998 Jeffrey A Law (law@cygnus.com) - * arm.md (mov*cc_{,soft_}insn): Use match_operator to test the - comparison and check that the condition code register is used. + * i386/next.h (ASM_OUTPUT_ALIGN): Use 0x90 for fill character. -Wed Nov 8 08:49:35 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * h8300.c (h8300_encode_label): Use '&' for tiny data items. + * h8300.h (TINY_DATA_NAME_P): Likewise. + (STRIP_NAME_ENCODING): Handle '&'. - * rs6000/sysv4.h (ASM_OUTPUT_{CONSTRUCTOR,DESTRUCTOR}): Undef before - including svr4.h. +Wed Dec 2 01:44:58 1998 Jeffrey A Law (law@cygnus.com) -Tue Nov 7 10:58:12 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * egcs-1.1.1 released. - * m68k.md (subxf3): Properly name pattern. +Mon Nov 23 20:28:02 1998 Mike Stump <mrs@wrs.com> -Tue Nov 7 10:53:09 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * libgcc2.c (top_elt): Remove top_elt, it isn't thread safe. + The strategy we now use is to pre allocate the top_elt along + with the EH context so that each thread has its own top_elt. + This is necessary as the dynmanic cleanup chain is used on the + top element of the stack and each thread MUST have its own. + (new_eh_context): Likewise. + (__sjthrow): Likewise. - * libgcc2.c (__{C,D}TOR_LIST): For AIX, initialize these arrays to - 0,0, just like NeXT to avoid a warning message from the AIX 4.1 - linker. +Mon Nov 23 09:53:44 1998 Richard Henderson <rth@cygnus.com> -Tue Nov 7 09:58:34 1995 John F. Carr <jfc@mit.edu> + * local-alloc.c (local_alloc): Use malloc not alloca for + reg_qty, reg_offset, ref_next_in_qty. - * cppexp.c (cpp_lex): Correctly parse character constants. +Mon Nov 23 09:49:49 1998 Andrew MacLeod <amacleod@cygnus.com> -Tue Nov 7 09:52:15 1995 Jason Merrill <jason@yorick.cygnus.com> + * cplus-dem.c (demangle_prefix): Use the last "__" + in the mangled name when looking for the signature. This allows + template names to begin with "__". - * rs6000.h (ASM_OUTPUT_{DES,CONS}TRUCTOR): Define. +Mon Nov 23 09:40:41 1998 David Edelsohn <edelsohn@mhpcc.edu> -Mon Nov 6 10:27:15 1995 Doug Evans <dje@cygnus.com> + * rs6000.h (LEGITIMIZE_ADDRESS): Add missing "goto WIN". - * combine.c (force_to_mode): Fix typo. +Mon Nov 9 23:29:39 1998 David Edelsohn <edelsohn@mhpcc.edu> -Sun Nov 5 18:37:02 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * rs6000.md (floatunssidf2_internal splitter): Use base register + operand, not hard-coded SP. - * m68k.md (cmpxf): Don't call force_const_mem, it looses for PIC; - get predicates right instead. Get rid of separate DEFINE_EXPAND. - (addxf3, subxf3, mulxf3, divxf3): Likewise. - (All XFmode patterns): Delete `F' and `G' constraints. - (absxf2, negxf2): Delete spurious condition on TARGET_FPA. +Mon Nov 9 23:05:51 1998 Richard Earnshaw (rearnsha@arm.com) -Sun Nov 5 11:05:44 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + Restore ABI compatibility for NetBSD. + * arm/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Override setting in + arm.h + (RETURN_IN_MEMORY): Likewise. - * fixincludes (malloc.h): Fix return type of {m,re}alloc. + * arm.c (add_constant): When taking the address of an item in the + pool, get the mode of the item addressed. -Sun Nov 5 11:02:26 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * arm.c (final_prescan_insn, case INSN): If an insn doesn't + contain a SET or a PARALLEL, don't consider it for conditional + execution. - * cse.c (invalidate): For a pseudo register, do a loop to - invalidate all table entries, irrespective of mode. +Mon Nov 9 22:43:57 1998 Jean-Pierre Radley <jpr@jpr.com> -Sun Nov 5 10:57:43 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * fixinc.sco: Paramaterize #include_next values. + * fixinc/fixinc.sco: Likewise. - * combine.c (force_to_mode): Put in last change properly. +Mon Nov 9 22:43:57 1998 Robert Lipe <robertl@dgii.com> -Sun Nov 5 10:53:49 1995 Jeffrey A Law (law@cygnus.com) + * fixinc.sco: Borrow code to wrap 'bool' typedefs from tinfo.h + and term.h from fixinc.wrap. - * pa.h (CONDITIONAL_REGISTER_USAGE): Make sure FP regs - get disabled regardless of PA1.0 vs PA1.1 code generation - when TARGET_SOFT_FLOAT or TARGET_DISABLE_FPREGS is on. +Thu Nov 5 07:57:45 EST 1998 Andrew MacLeod <amacleod@cygnus.com> -Sun Nov 5 10:49:43 1995 Doug Evans <dje@lisa.cygnus.com> + * except.c (expand_fixup_region_end): Make sure outer context labels + are not issued in an inner context during cleanups. - * i960.c (emit_move_sequence): Add a scratch register to - multi-reg stores. - (i960_output_move_{double,quad}): New functions. - (i960_print_operand): Handle new operand types E, F. - * i960.md (movdi matchers): Rewrite. - (store_unaligned_di_reg): New pattern. - (movti matchers): Rewrite. - (store_unaligned_ti_reg): New pattern. - -Sun Nov 5 10:45:24 1995 Ian Lance Taylor (ian@cygnus.com) +Sun Nov 1 11:04:32 1998 Jeffrey A Law (law@cygnus.com) - * mips.h (MULTILIB_DEFAULTS): Define. - * mips/elf64.h, mips/iris6.h (MULTILIB_DEFAULTS): Define. + * i386/linux.h (CPP_PREDEFINES): Bring back -Di386 for the last time. -Sun Nov 5 10:41:48 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * From Christian Gafton: + * i386/linux.h (CPP_PREDEFINES): Add -D__i386__. + * sparc/linux.h (CPP_PREDEFINES): Add -D__sparc__. + * sparc/linux64.h (CPP_PREDEFIENS): Add -D__sparc__. - * reload.c (push_reload): Delete abort for RELOAD_OTHER case added - in last change. - * reload1.c (emit_reload_insns): For RELOAD_OTHER output reloads, - output the reload insns in descending order of reloads. - - * sh.md (mulsidi3-1, mulsidi3, umulsidi3-1, umulsidi3): Enable. - (smulsi3_highpart-1, smulsi3_highpart): New patterns. - (umulsi3_highpart-1, umulsi3_highpart): Likewise. - (movdi-1): Add r/x constraint. - * t-sh (MULTILIB_OPTIONS): Add m2. - (MULTILIB_DIRNAMES): Add m2. - (MULTILIB_MATCHES): Define. +Sat Oct 31 00:40:05 1998 Jeffrey A Law (law@cygnus.com) - * sparc.h (RTX_COSTS, case MULT): Check for TARGET_SPARCLITE. + * jump.c (jump_optimize): Initialize mappings from INSN_UID to + EH region if exceptions are enabled and we're performing cross + jump optimizations. + (find_cross_jump): Exit loop if the insns are in different EH regions. - * abi64.h, elf64.h (CPP_SPEC): Add -EB and -EL support. +Fri Oct 30 00:54:25 1998 Peter Jakubek <pjak@snafu.de> -Sat Nov 4 10:36:26 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * m68k.h (INDIRECTABLE_1_ADDRESS_P): Fix thinko. - * sh.md (casesi_worker): Change constraint from = to +. +Thu Oct 29 12:14:58 1998 Jason Merrill <jason@yorick.cygnus.com> - * svr4.h (ASM_IDENTIFY_GCC_AFTER_SOURCE): Delete. - (ASM_IDENTIFY_GCC): Output stab here. + * alpha/linux.h (CPP_PREDEFINES): Add missing space. -Sat Nov 4 10:32:37 1995 John Carr <jfc@mit.edu> +Tue Oct 27 16:11:43 1998 David Edelsohn <edelsohn@mhpcc.edu> - * cpplib.c (finclude): Set current input pointer when input - is not a regular file. + * collect2.c (aix64_flag): New variable. + (main, case 'b'): Parse it. + (GCC_CHECK_HDR): object magic number must match mode. + (scan_prog_file): Only check for shared object if valid header. + Print debugging if header/mode mismatch. + * README.RS6000: Update. - * cppmain.c: Define progname, required by cpplib. +Sun Oct 25 23:36:52 1998 Jason Merrill <jason@yorick.cygnus.com> -Sun Oct 29 07:48:36 1995 Michael Meissner <meissner@cygnus.com> + * stmt.c (expand_fixup): Set fixup->before_jump to a + NOTE_INSN_DELETED instead of a NOTE_INSN_BLOCK_BEG. - * xcoffout.h (DBX_FINISH_SYMBOL): Deal with names created via - the __asm__ construct that start with a leading '*'. - * xcoffout.c (xcoff_declare_function): Likewise. +Sun Oct 25 18:35:06 1998 David Edelsohn <edelsohn@mhpcc.edu> -Sun Oct 29 07:45:41 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * ginclude/va-ppc.h (va_arg): longlong types in overflow area are + not doubleword aligned. - * stupid.c (stupid_mark_refs): Handle SUBREG of pseudo-reg in a - SET_DEST same as we handle a pseudo-reg in a SET_DEST. +Sun Oct 25 12:07:00 1998 Mumit Khan <khan@xraylith.wisc.edu> -Sun Oct 29 07:43:15 1995 Pat Rankin <rankin@eql.caltech.edu> + * i386/crtdll.h (CPP_PREDEFINES): Fix typo. + * i386/mingw32.h (CPP_PREDEFINES): Likewise. - * libgcc2.c (L_eh: __unwind_function): Implement for VAX. - * vax.h (RETURN_ADDRESS_OFFSET, RETURN_ADDR_RTX): Define. +Fri Oct 23 22:41:40 1998 David Edelsohn <edelsohn@mhpcc.edu> -Sun Oct 29 12:39:08 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>a + * rs6000.md (movsf): Disable explicit secondary-reload-like + functionality if TARGET_POWERPC64. + (movdf): Remove TARGET_POWERPC64 explicit secondary-reload-like + functionality. - * i386/sol2.h (CPP_PREDEFINES): Add -D__SVR4. +Fri Oct 23 22:38:57 1998 Jeffrey A Law (law@cygnus.com) -Sun Oct 29 07:14:36 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * m68k.md (5200 movqi): Do not allow byte sized memory references + using address regs. + * m68k.c (output_move_qimode): Do not use byte sized operations on + address registers. - * reload.c (find_equiv_reg): Check for nonsaving setjmp. +Fri Oct 23 00:56:11 1998 Jason Merrill <jason@yorick.cygnus.com> -Fri Oct 27 15:15:56 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * expr.c (pending_chain): Move up. + (save_expr_status): Do save pending_chain. + (restore_expr_status): And restore it. + * function.h (struct function): Add pending_chain. - * Makefile.in (out_object_file): Depend on TREE_H. +Mon Oct 19 13:22:13 1998 Geoff Keating <geoffk@ozemail.com.au> -Fri Oct 27 06:42:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * loop.c (scan_loop): Be more selective about what invariants are + moved out of a loop. - * alpha.c (call_operand): Only allow reg 27 on NT too. - * alpha.md (call_value_nt, call_nt): Force non-SYMBOL_REF - into reg 27, just like for OSF. +Wed Oct 14 23:27:08 1998 Didier FORT (didier.fort@fedex.com) - * rs6000.c (struct asm_option): Changed from struct option. - (expand_block_move_mem): Remove erroneously-added line. + * fixincludes: Fix up rpc/{clnt,svr,xdr}.h for SunOS. - * expr.c (clear_storage): SIZE is now rtx, not int. - (store_constructor): Call clear_storage with rtx. - (get_inner_reference): Convert index to precision of - sizetype, not POINTER_SIZE. - (expand_expr, case ARRAY_REF): Likewise. - * expr.h (clear_storage): Second arg is rtx, not int. +Wed Oct 14 22:13:28 1998 Joel Sherrill (joel@OARcorp.com) -Fri Oct 27 05:45:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * Makefile.in (stmp-fixinc): Do not install assert.h if not desired. + * config/t-rtems: Do not install assert.h -- use newlib's. - * combine.c (force_to_mode, case ASHIFTRT): Properly handle - mask wider than HOST_WIDE_INT. +Sat Oct 3 19:01:03 1998 Richard Henderson <rth@cygnus.com> - * c-decl.c (pushdecl): Don't test TREE_PUBLIC when deciding whether - to register a duplicate decl in the current block. + * alpha/linux.h (CPP_PREDEFINES): Define __alpha__ for imake. -Thu Oct 26 21:55:39 1995 Jason Merrill <jason@sethra.cygnus.com> +Fri Oct 2 01:33:30 1998 Jim Wilson <wilson@cygnus.com> - * calls.c (expand_call): Don't trust the callee to copy a - TREE_ADDRESSABLE type. - * function.c (assign_parms): Likewise. + * i386/winnt.c (i386_pe_asm_file_end): Check + TREE_SYMBOL_REFERENCED. -Thu Oct 26 19:25:05 1995 Mike Stump <mrs@cygnus.com> +Fri Oct 2 01:31:54 1998 Jeffrey A Law (law@cygnus.com) - * libgcc2.c (__unwind_function): Provide a default definition for - implementations that don't yet have a function unwinder. + * regclass.c (reg_scan_mark_refs): Return immediately if passed a + NULL_RTX as an argument. -Thu Oct 26 18:08:19 1995 Paul Eggert <eggert@twinsun.com> + * gcc.texi: Fix version # that somehow slipped through. - * cccp.c (handle_directive): Don't treat newline as white - space when coalescing white space around a backslash-newline. +Fri Oct 2 01:24:19 1998 Geoff Keating <geoffk@ozemail.com.au> -Thu Oct 26 17:57:34 1995 Ian Lance Taylor <ian@cygnus.com> + * gcse.c: New definition NEVER_SET for reg_first_set, reg_last_set, + mem_first_set, mem_last_set; because 0 can be a CUID. + (oprs_unchanged_p): Use new definition. + (record_last_reg_set_info): Likewise. + (record_last_mem_set_info): Likewise. + (compute_hash_table): Likewise. - * mips-tdump.c (enum st): Define st_Struct, st_Union, and st_Enum. - (st_to_string): Handle them. - (type_to_string): Add fdp argument; pass it to emit_aggregate. - (print_symbol): Add fdp argument; pass it to type_to_string. - Handle st_Struct, st_Union, and st_Enum. - (emit_aggregate): Add fdp argument. Handle opaque types. Map - through RFD entries. - (print_file_desc): Pass FDR to print_symbol. - (main): Pass null FDR to type_to_string. +Fri Oct 2 01:20:04 1998 Richard Earnshaw (rearnsha@arm.com) -Thu Oct 26 08:07:10 1995 Michael Meissner <meissner@cygnus.com> + * arm.c (add_constant): New parameter address_only, change caller. + Set it non-zero if taking the address of an item in the pool. + (arm_reorg): Handle cases where we need the address of an item in + the pool. - * configure (powerpc-ibm-aix[456789]*): Use rs6000/t-newas, - not rs6000/t-rs6000. - (rs6000-ibm-aix3.2.[456789]*): Likewise. - (rs6000-ibm-aix[456789]*): Likewise. + * arm.c (bad_signed_byte_operand): Check both arms of a sum in + a memory address. + * arm.md (splits for *extendqihi_insn and *extendqisi_insn): Handle + memory addresses that are not in standard canonical form. - * rs6000/t-newas: Copy from t-rs6000. - * t-rs6000: Don't build -mcpu=common multilib variants of libgcc.a. +Fri Oct 2 01:16:02 1998 Jeffrey A Law (law@cygnus.com) - * rs6000.md (load_multiple insn): If address register is among regs, - don't load it with a lwsi instruction, which is undefined on PowerPC. + * reg-stack.c (straighten_stack): Do nothing if the virtual stack is + empty or has a single entry. -Thu Oct 26 08:01:32 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Sat Sep 5 23:29:39 1998 Mumit Khan <khan@xraylith.wisc.edu> - * dwarfout.c (output_compile_unit_die): Handle language_string - of "GNU F77". + * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't check for + for exact section attributions. - * reload.c (find_reloads_address): When check for out of range constant - plus register, accept any hard register instead of just fp, ap, sp. + * i386/mingw32.h (CPP_PREDEFINES): Add __MSVCRT__ for msvc + runtime. + * i386/crtdll.h (CPP_PREDEFINES): Define. - * combine.c (distribute_notes): For Oct 19 change, add additional - check to verify that place has a valid INSN_CUID. +Sat Sep 5 21:46:47 1998 Richard Henderson <rth@cygnus.com> - * sparc/t-vxsparc (LIBGCC1_TEST): Define. + * alpha.c (alpha_ra_ever_killed): Inspect the topmost sequence, + not whatever we're generating now. - * sh.md (negdi2): Use TARGET_LITTLE_ENDIAN. +Sat Sep 5 14:23:31 1998 Torbjorn Granlund <tege@matematik.su.se> - * combine.c (force_to_mode, case ASHIFTRT): Verify mode bitsize is - within HOST_BITS_PER_WIDE_INT before shifting by it. + * m68k.md (zero_extendsidi2): Fix typo. - * final.c (final_scan_insn): When recur for instruction in delay slot, - add loop around recursive call in case the instruction gets split. +Tue Sep 1 01:58:38 1998 Jeffrey A Law (law@cygnus.com) -Thu Oct 26 07:28:45 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * egcs-1.1 released. + * version.c: Update for egcs-1.1 release. - * genrecog.c (write_tree_1): Avoid emitting '-2147483648'. +Mon Aug 31 14:55:02 1998 Jeffrey A Law (law@cygnus.com) - * jump.c (duplicate_loop_exit_test): Return 0 if found - a NOTE_INSN_LOOP_CONT. + * NEWS: Add SCO Openserver and Unixware 7 notes. -Tue Oct 24 15:30:14 1995 Jeffrey A Law <law@cygnus.com> + * NEWS: Fix typos. - * calls.c (expand_call): Make sure valreg is at least - a full word. +Sat Aug 29 14:52:28 1998 David S. Miller <davem@pierdol.cobaltmicro.com> -Sun Oct 22 19:35:41 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * config/sparc/sparc.md (movdf_insn, movtf_insn): Fix type and + length attributes to match May 3rd changes made here. + * config/sparc/sparc.h (CONDITIONAL_REGISTER_USAGE): Fix and make + call-used %l7 when generating pic code. - * sh.h (INIT_SECTION_ASM_OP): Delete. - (HAVE_ATEXIT): Define. +Sat Aug 29 14:59:32 1998 Mumit Khan <khan@xraylith.wisc.edu> -Sun Oct 22 07:46:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * i386/cygwin32.h (ASM_OUTPUT_SECTION_NAME): Don't emit + .linkonce directive after the first time. - * libgcc2.c (__fixuns[xds]fsi): #undef MIN and MAX before #include - of limits.h. +Sat Aug 29 14:48:12 1998 Jeffrey A Law (law@cygnus.com) - * pa.c (pa_adjust_cost): Use pa_cpu, not pa_cpu_attr. + * m68k.md (beq0_di): Generate correct (and more efficient) code when + the clobbered operand overlaps with an input. + (bne0_di): Similarly. -Sun Oct 22 07:38:58 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) +Sat Aug 29 12:38:54 1998 Jeffrey A Law (law@cygnus.com) - * alpha.h (CONST_OK_FOR_LETTER_P): Use 'U' for unsigned constants. - * alpha.c (alpha_emit_set_const): Likewise. - * mips.c (gen_int_relational): Likewise. + * NEWS: Various updates. -Sun Oct 22 07:14:35 1995 Douglas Rupp (drupp@cs.washington.edu) +Tue Aug 25 19:35:24 1998 Jim Wilson <wilson@cygnus.com> - * i386.c (i386_return_pops_args): Don't need a FUNDECL to - check for type attributes in FUNTYPE. + * configure.in (powerpc-ibm-aix4.[12]*): Change from 4.[12].*. + (rs6000-ibm-aix4.[12]*): Likewise. + * configure: Regnerate. -Sat Oct 21 18:17:42 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Thu Aug 27 23:44:49 1998 Jeffrey A Law (law@cygnus.com) - * sh.md (define_delay): Don't accept any instruction for an annulled - slot, only accept those for which in_delay_slot is yes. - * sh.c (find_barrier): When hi_const returns true, increment count_si - by two if found_si is true. - Always use get_attr_length to compute length of instructions. - If count_hi or count_si out of range at end, need two PREV_INSN calls - not one. - When create new label, set LABEL_NUSES to 1. - (reg_unused_after): Ifdef out code for handling labels. - (prepare_scc_operands): New local variable mode. Set it from - sh_compare_op0 or sh_compare_op1. Use it instead of SImode in - force_reg calls. - - * optabs.c (expand_float): Emit missing barrier after unconditional - jump. + * reload1.c (forget_old_reloads_1): Keep track of the largest mode + found while stripping SUBREGS and invalidate reloads for all the hard + regs specified by that largest mode. egcs-1.1 only hack. The + mainline tree will get a better fix. -Sat Oct 21 14:16:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> +Tue Aug 25 19:43:11 1998 Jeffrey A Law (law@cygnus.com) - * alpha.md (cmpdf): Make conditional on TARGET_FP. + * From Alexandre: + * configure.in: Do not set thread_file to "irix" since no such + support exists yet. -Fri Oct 20 19:11:12 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * reorg.c (fill_simple_delay_slots): Do not abort if we encounter + an insn on the unfilled_slots_list that has no delay slots. + (fill_eager_delay_slots): Similarly. - * combine.c (distribute_notes): Delete instructions without - side effect that set a subreg of an unused register. +Mon Aug 24 15:20:19 1998 David Edelsohn <edelsohn@mhpcc.edu> - * m68k.h (PREFERRED_RELOAD_CLASS): Check for !G constants - for DATA_OR_FP_REGS also. + * rs6000.h (GO_IF_LEGITIMATE_ADDRESS): Use TARGET_POWERPC64 + when testing LEGITIMATE_INDEXED_ADDRESS_P DFmode and DImode. + (LEGITIMIZE_ADDRESS): Use TARGET_POWERPC64 for INDEXED fixup. + * rs6000.c (print_operand, case 'L'): Add UNITS_PER_WORD, not 4. + (print_operand, cases 'O' and 'T'): Fix typos in lossage strings. + * rs6000.md (fix_truncdfsi2_store): Remove %w from non-CONST_INT + operand. + (movdf_softfloat32, movdf_hardfloat64, movdf_softfloat64): Change + 'o' to 'm' for GPR variant constraints. -Fri Oct 20 18:57:10 1995 Ian Lance Taylor <ian@cygnus.com> + * rs6000.md (movqi, movhi): Add CONSTANT_P_RTX. - * genmultilib: Output negations of unused alternatives, even if - one of the alternatives is selected. +Mon Aug 24 01:21:38 PDT 1998 Jeff Law (law@cygnus.com) -Fri Oct 20 18:48:50 1995 Jeff Law (law@hurl.cygnus.com) + * version.c: Bump for snapshot. - * integrate.c (output_inline_function): Turn on flag_no_inline - to avoid function integration once we begin writing deferred - output functions. +Sun Aug 23 00:47:52 1998 Jeffrey A Law (law@cygnus.com) -Fri Oct 20 18:46:33 1995 Michael Meissner <meissner@wogglebug.tiac.net> + * regmove.c (optimize_reg_copy_3): Disable for egcs-1.1. - * rs6000.c (float_conv_temp): Delete global variable. - (stack_temps): New static array to hold stack temps. - (offsettable_mem_operand): Delete function. - (offsettable_addr_operand, rs6000_stack_temp): New functions. - (output_epilog): Zero stack_temps. +Thu Aug 20 13:56:53 1998 Michael Meissner <meissner@cygnus.com> - * rs6000.h (offsettable_addr_operand): Declare instead of - offsettable_mem_operand. - (PREDICATE_CODES): Use offsettable_addr_operand. - (float_conv_temp): Delete variable. + * config/i386/winnt.c: Include system.h, not stdio.h to get + sys/param.h pulled in before rtl.h in case the system defines MIN + and MAX. - * rs6000.md (move_to_float insns): Change move_to_float so - that it doesn't have a clobber of the memory address, and instead - passes the stack temp's memory address as one of the unspec args. - (fix_truncdfsi2): Use rs6000_stack_temp to allocate the temp. - (multiply, shift insns): Fix all cases of multiply and shift insns so - that the right mnemonics are used for -mcpu=common with both - -m{old,new}-mnemonics. +Wed Aug 19 21:33:19 1998 David Edelsohn <edelsohn@mhpcc.edu> -Fri Oct 20 17:58:19 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * rs6000.c (rs6000_output_load_toc_table): Use ld for 64-bit. + (output_toc): Use single TOC slot or llong minimal-toc for DFmode + and DImode 64-bit. Use llong for minimal-toc SFmode and + SYMBOL_REF / LABEL_REF 64-bit. + (output_function_profiler): Use llong for profiler label and ld to + load 64-bit label address. - * expr.c (safe_from_p, case RTL_EXPR): Return 0 if RTL_EXPR_SEQUENCE - exists. Delete code to return 0 if exp_rtl is zero. +Tue Aug 18 23:48:30 1998 Richard Henderson <rth@cygnus.com> - * function.c (init_function_start): Don't call init_insn_lengths here. - * toplev.c (rest_of_compilation): Call it here. + * c-common.c (decl_attributes): Issue an error if the argument + to alias is not a string. -Thu Oct 19 19:19:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Aug 18 13:05:59 BST 1998 Richard Earnshaw (rearnsha@arm.com) - * c-common.c (check_format_info): Make test for null pointer - more general. + * arm.c (arm_override_options): Remove lie about ignoring PIC flag. -Thu Oct 19 18:56:16 1995 Satoshi Adachi (adachi@wisdom.aa.ap.titech.ac.jp) +Tue Aug 18 10:32:11 1998 Jeffrey A Law (law@cygnus.com) - * fixincludes (stdlib.h): Be more general in edit to change - declaration of {c,m,re}alloc. + * haifa-sched.c (sched_analyze): Put all JUMP_INSNs on the last + pending memory flush list. -Thu Oct 19 18:48:53 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * regmove.c (fixup_match_2): Do not call reg_overlap_mentioned_p + on notes. - * libgcc2.c (__udiv_w_sdiv): If we don't have sdiv_qrnnd, define - dummy variant of __udiv_w_sdiv. - -Thu Oct 19 18:45:21 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * regmove.c (optimize_reg_copy_1): Update REG_N_CALLS_CROSSED + and REG_LIVE_LENGTH as successful substitutions are made. - * alpha.h (ASM_SPEC): If GNU as is the default, then pass -g to - the assembler if -malpha-as. If GNU as is not the default, then pass - -g to the assembler is not -mgas. +Mon Aug 17 21:07:19 1998 Jeffrey A Law (law@cygnus.com) - * combine.c (distribute_notes): When search for new place to put - REG_DEAD note, call distribute_links if this new place is between - i2 and i3, and i2 uses the register. + * From Graham + * tree.c (build_index_type): Copy TYPE_SIZE_UNIT from sizetype + to itype. + * c-decl.c (finish_enum): Copy TYPE_SIZ_UNIT from enumtype to tem. -Thu Oct 19 18:41:36 1995 Michael Meissner <meissner@cygnus.com> + * rs6000.c (secondary_reload_class): For TARGET_ELF, indicate that + a BASE_REGS register is needed as an intermediate when copying + a symbolic value into any register class other than BASE_REGS. - * rs6000.md (float{,uns}sidf2): Rewrite to break the conversion - process into several general insns. - (move_to_float): New insns to move 2 integer regs into a float register - through memory, taking endianess into account. Make sure that the - floating temporary is a valid address. Use one temporary for all - floats converted. - (fix_truncdfsi2): Take endianess into account. +Mon Aug 17 11:25:52 1998 Richard Earnshaw <rearnsha@arm.com> - * rs6000.c ({low_32_bit,offsettable_mem}_operand): The function - low_32_bit_operand is now unused, delete it. New function - offsettable_mem_operand to determine if a memory address is - offsettable. - * rs6000.h ({low_32_bit,offsettable_mem}_operand): Ditto. - (PREDICATE_CODES): Ditto. + * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Return NO_REGS if compiling + for architecture v4. - * rs6000.{c,h} (float_conv_temp): New global. - * rs6000.c (output_epilog): Zero out float_conv_temp. +Sun Aug 16 00:57:48 PDT 1998 Jeff Law (law@cygnus.com) - * Makefile.in (libgcc{1,2}.a): Allow LIB{1,2}FUNCS_EXTRA files to - end in .S as well as .c and .asm. + * version.c: Bump for snapshot. -Wed Oct 18 17:56:45 1995 Jose Alonso (sidinf@fpsp.fapesp.br) +Sun Aug 16 01:53:21 1998 Richard Henderson <rth@cygnus.com> - * c-typeck.c (parser_build_binary_op): Warn about x^y==z, etc. + * reload.c (find_equiv_reg): Reject equivalences separated + by a volatile instruction. -Mon Oct 9 12:38:06 1995 Michael Meissner <meissner@cygnus.com> +Sun Aug 16 00:21:44 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - * protoize.c (reverse_def_dec_list): Silence compiler warnings. + * rs6000/linux.h (CPP_OS_DEFAULT_SPEC): Define. -Mon Oct 9 12:35:54 1995 Andrew Cagney <cagney@highland.com.au> +Sat Aug 15 20:22:33 1998 H.J. Lu (hjl@gnu.org) - * ginclude/va-ppc.h (va_arg): Deal with long longs that would be - passed in the 7th register, and are passed in the stack instead. + * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Handle aggregated + return type. + * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise. -Fri Oct 6 13:47:10 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Fri Aug 14 21:07:03 1998 Jeffrey A Law (law@cygnus.com) - * alpha.h (ASM_SPEC): Add -g. + From Joern: + * expr.c (store_expr): Don't optimize away load-store pair + when either source or destination have a side effect. -Fri Oct 6 13:42:50 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * loop.c (add_label_notes): Do not ignore references to labels + before dispatch tables. Mirrors Apr 8 change to mark_jump_label. + * gcse.c (add_label_notes): Similarly. - * alpha.h (alpha_{arg,auto}_offset): Make extern. + * pa.h (ASM_OUTPUT_MI_THUNK): Strip name encoding. -Fri Oct 6 13:24:43 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * m68k.md (adddi_dilshr32): One of the operands must be a register. + (adddi_dishl32): Similarly. - * rs6000.h (RETURN_ADDRESS_OFFSET): Correct previous change. +Fri Aug 14 01:45:06 1998 Mumit Khan <khan@xraylith.wisc.edu> -Fri Oct 6 13:14:43 1995 Doug Evans <dje@canuck.cygnus.com> + * i386/cygwin32.h (DEFAULT_PCC_STRUCT_RETURN): Define. - * rtlanal.c (reg_set_last): Fix call to reg_set_between_p. +Fri Aug 14 01:40:21 1998 Geoffrey Keating <geoffk@ozemail.com.au> -Tue Oct 3 12:31:38 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * rs6000/linux.h (LINK_SPEC): Pass -G args to the linker. - * stor-layout.c (layout_type, case ARRAY_TYPE): Strip MAX_EXPR - from upper bound when computing length if it just protects against - negative length. +Fri Aug 14 01:23:23 1998 Richard Earnshaw (rearnsha@arm.com) - * expr.c (emit_move_insn_1): When doing multi-word move, show - output is clobbered. + * arm/netbsd.h (TARGET_DEFAULT): Default includes software floating + point. + (CPP_FLOAT_DEFAULT_SPEC): Re-define accordingly. -Tue Oct 3 12:26:07 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Fri Aug 14 01:23:23 1998 Jeffrey A Law (law@cygnus.com) - * cse.c (set_nonvarying_address_components, case AND): Add *pend to - end. Add constant to start instead of subtracting it. + * README.RS6000: Bring over dje's changes from the mainline + source tree. -Tue Oct 3 12:23:28 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> +Fri Aug 14 01:19:08 1998 Robert Lipe <robertl@dgii.com> - * combine.c (simplify_rtx): In code that attempts to simplify - conditional expressions, if the result is an NE around another - comparison, return the original expression. + * install.texi: Various SCO OpenServer tweaks. - * longlong.h (mips umul_ppmm): Use `l' and `h' constraints; - remove mflo and mfhi instructions. +Thu Aug 13 19:55:05 1998 Jim Wilson <wilson@cygnus.com> -Tue Oct 3 12:21:29 1995 Michael Meissner <meissner@cygnus.com> + * reload1.c (eliminate_regs_in_insn): Handle another case when + eliminating the frame pointer to the hard frame pointer. Add + missing ep->to_rtx check to one existing case. - * ginclude/va-ppc.h (va_start, stdarg case): Call - __builtin_next_arg, and ignore the result, so that the compiler - can report the proper error, if the second argument is not the - last argument. +Tue Aug 11 17:45:39 1998 Dave Love <d.love@dl.ac.uk> -Tue Oct 3 12:02:51 1995 Kohtala Marko <Marko.Kohtala@ntc.nokia.com> + * README.g77: Update from Craig. - * function.c (assign_stack_temp): Adjust full_size field of - temp_slot when splitting an unused slot. +Sat Aug 8 19:20:22 1998 Gary Thomas (gdt@linuxppc.org) -Tue Oct 3 11:51:59 1995 Mike Stump <mrs@cygnus.com> + * rs6000.c (rs6000_allocate_stack_space) Fix typo which + caused bad assembly code to be generated. - * expr.c (expand_builtin_return_addr): Break out functionality - from expand_builtin. - (expand_builtin): Call expand_builtin_return_addr. - * rs6000.h (RETURN_ADDR_RTX): Remove call to copy_to_reg. - Offset to return address is 4 when !TARGET_64BIT and v4_call_p, - 8 otherwise. - * sparc.h (RETURN_ADDR_RTX): Remove call to copy_to_reg. - * alpha.h (RETURN_ADDR_RTX): New definition. +Sat Aug 8 18:52:51 1998 Jeffrey A Law (law@cygnus.com) -Sun Oct 1 21:23:30 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * netbsd.h: Fix typo. - * tree.c (staticp, case INDIRECT_EXPR): Disable case. +Mon Aug 3 23:43:55 PDT 1998 Jeff Law (law@cygnus.com) - * expr.c (expand_expr, case COMPONENT_REF): If getting component - of union of variable size, propagate TARGET. + * version.c: Bump for snapshot. -Fri Sep 29 07:48:09 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Sun Aug 2 00:42:50 1998 Jeffrey A Law (law@cygnus.com) - * expr.c (store_expr): When storing promoted value, don't return - MEM if address contains target. + * i386/netbsd.h: Undo previous change to DWARF2_UNWIND_INFO. + * m68k/netbsd.h: Likewise. + * ns32k/netbsd.h: Likewise. + * sparc/netbsd.h: Likewise. -Thu Sep 28 14:30:03 1995 Paul Eggert <eggert@twinsun.com> +Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com) - * cccp.c (rescan): Expand `#if foo && #bar' without a bogus - complaint about preprocessor directives within macro args. - Expand `foo' in `foo#bar' without requiring a space before `#'. + * configure.in (mingw configuration): Fix typo. + * configure: Rebuilt. -Thu Sep 28 14:24:26 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Fri Jul 31 20:22:02 1998 Michael Meissner <meissner@cygnus.com> - * m68k.md (anonymous DImode shift patterns setting cc0): Turned - off due to reload problems. + * rs6000.c (rs6000_override_options): If big endian and -Os, use + load/store multiple instructions unless user overrides. -Thu Sep 28 14:05:22 1995 Niklas Hallqvist (niklas@appli.se) +Fri Jul 31 17:08:59 1998 Jeffrey A Law (law@cygnus.com) - * Makefile.in (USER_H): Move up so can override. - (INSTALL_ASSERT_H): New definition. - (install-headers): Use it. - (stmp-int-hdrs): Handle USER_H being empty. - * config/x-netbsd (INSTALL_ASSERT_H): Define as empty. + * ns32k/netbsd.h: Fix typo. - * i386/netbsd.h (WCHAR_{TYPE,UNSIGNED,TYPE_SIZE}): Now int. - * m68k/netbsd.h, ns32k/netbsd.h, sparc/netbsd.h: Likewise. - * vax/netbsd.h: Likewise. - (SIZE_TYPE): Use unsigned int. +Thu Jul 30 19:50:15 1998 David Edelsohn <edelsohn@mhpcc.edu> - * m68k.c (output_scc_di): Swap operands when needed. - * m68k.h (LEGITIMATE_PIC_OPERAND): Allow SYMBOL_REF_FLAG symref. - * m68k.md: Make both assembler syntaxes do the same for PIC calls. + * rs6000/x-aix43 (AR_FOR_TARGET_FLAGS): Delete. + (AR_FOR_TARGET): Define. -Tue Sep 26 16:51:44 1995 Michael Meissner <meissner@tiktok.cygnus.com> +Thu Jul 30 19:11:30 1998 Richard Henderson <rth@cygnus.com> - * mips.c (override_options): Don't allow anything but integers to - go in the HI/LO registers. + * alpha.md (fp cmp): Replicate patterns for ALPHA_TP_INSN. + (fcmov): Remove ALPHA_TP_INSN patterns -- fcmov doesn't trap. -Tue Sep 26 16:36:18 1995 John F. Carr <jfc@mit.edu> +Thu Jul 30 12:51:09 1998 Mark Mitchell <mark@markmitchell.com> - * c-common.c (check_format_info): Don't warn about format type - mismatch if the argument is an ERROR_MARK. + * dyn-string.h: New file. + * dyn-string.c: Likewise. + * Makefile.in (OBJS): Add dyn-string.o. + (dwarf2out.o): Add dyn-string.h dependency. + (dyn-string.o): List dependencies. + * dwarf2out.c: Include dyn-string.h. + (ASM_NAME_TO_STRING): Use dyn_string_append, rather than strcpy. + (addr_const_to_string): Take a dyn_string_t, not a char* as a + prototype. Use dyn_string_append rather than strcat, throughout. + (addr_to_string): Use dyn_string_t. -Mon Sep 25 17:50:50 1995 Craig Burley (burley@gnu.ai.mit.edu) +Thu Jul 30 00:58:34 1998 Jeffrey A Law (law@cygnus.com) - * stor-layout.c (put_pending_sizes): New function. - * tree.h (put_pending_sizes): Add declaration. - * tree.c (save_expr): Return original for ERROR_MARK. + * i386.md (movqi): When optimizing a load of (const_int 1) into a + NON_QI_REG_P, pretend the register is SImode. -Fri Sep 22 19:20:01 1995 Jeff Law (law@hurl.cygnus.com) +Wed Jul 29 23:49:23 1998 Todd Vierling <tv@netbsd.org> - * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Strip off - all NOP exprs from the source and destination nodes, then - set MEM_IN_STRUCT_P. + * configure.in: Use xm-netbsd.h as the NetBSD xm file (not xm-siglist). + Accept arm32 as arm, m68k4k as m68k, mipsle as mips-dec, and any + manufacturer id for ns32k. + * configure: Regenerated. + * config/netbsd.h: When using ASM_WEAKEN_LABEL, make it global too. + * config/t-netbsd: Don't compile libgcc1-test as the fns are in libc. + * config/i386/netbsd.h: Undefine DWARF2_UNWIND_INFO, not define as 0. + * config/m68k/netbsd.h: Same. + * config/ns32k/netbsd.h: Same. + * config/sparc/netbsd.h: Same. -Fri Sep 22 18:50:31 1995 Michael Meissner <meissner@tiktok.cygnus.com> +Wed Jul 29 22:39:21 1998 Jeffrey A Law (law@cygnus.com) - * rs6000/eabi.h (ASM_OUTPUT_INT): Test for whether the integer - being output is also a constant so &sym - &sym2 is not fixed up. + * unroll.c (unroll_loop): Do not abort for an UNROLL_MODULO + or UNROLL_COMPLETELY loop that starts with a jump to its + exit code. -Fri Sep 22 18:49:07 1995 Peter Flass (FLASS@LBDRSCS.BITNET) +Wed Jul 29 22:18:14 1998 David Edelsohn <edelsohn@mhpcc.edu> - * i370.md (cmpsi): Add missing constraints to operand 1. + * rs6000/rs6000.md (absdi2 define_split): Swap operands of MINUS. + * rs6000/rs6000.c (mask64_operand): Use HOST_BITS_PER_WIDE_INT. + (print_operand, case 'B'): Don't fall through. + (print_operand, case 'S'): Correct mask begin/end computation. + Use HOST_BITS_PER_WIDE_INT. + * rs6000/rs6000.h (CPP_PREDEFINES): Define _LONG_LONG. + (CONDITIONAL_REGISTER_USAGE): GPR13 fixed if TARGET_64BIT. + * rs6000/aix41.h (CPP_PREDEFINES): Same. + * rs6000/aix43.h (CPP_PREDEFINES): Same. -Fri Sep 22 18:27:33 1995 Torbjorn Granlund <tege@matematik.su.se> +Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com> - * i386.h (CONST_OK_FOR_LETTER_P): Make `N' match range 0..255 - for `outb' instruction. + * configure.in: Fix --without/--disable cases for local-prefix, + gxx-include-dir and checking. - * pyr.h (PRINT_OPERAND): Handle code `R' for REG. - * longlong.h (pyr umul_ppmm): Use it. +Tue Jul 28 22:10:43 1998 David S. Miller <davem@pierdol.cobaltmicro.com> -Fri Sep 22 18:24:38 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * configure.in (enable_haifa): Set by default for sparc64 too. + configure: Rebuilt. - * c-parse.in (enumlist): Propagate error_mark_node. +Tue Jul 28 23:29:04 1998 Jason Merrill <jason@yorick.cygnus.com> - * c-aux-info.c (gen_type): Handle ERROR_MARK. + * i386/cygwin32.h (VALID_MACHINE_TYPE_ATTRIBUTE): New macro. + * i386/winnt.c (associated_type): New fn. + (i386_pe_valid_type_attribute_p): New fn. + (i386_pe_check_vtable_importexport): Remove. + (i386_pe_dllexport_p): Use associated_type. + (i386_pe_dllimport_p): Likewise. - * alpha.md (movdi): Avoid memory sharing problem when in reload. + From Antonio M. O. Neto <anmendes@cruzeironet.com.br>: + * i386.c (i386_valid_type_attribute_p): Also accept + attributes for METHOD_TYPEs. -Wed Sep 20 14:27:09 1995 Peter Flass <flass@lbdrscs.bitnet> +Tue Jul 28 23:17:39 1998 Peter Gerwinski <peter@gerwinski.de> - * mvs.h (FUNCTION_PROLOGUE): Maintain savearea forward chain - per MVS standards. + * tree.c (build_range_type): Copy TYPE_SIZE_UNIT. -Wed Sep 20 14:20:52 1995 Torbjorn Granlund <tege@matematik.su.se> +Tue Jul 28 22:31:12 1998 Craig Burley <burley@gnu.org> - * pyr.md (cmphi recognizer): Make condition match constraints. - (cmpqi recognizer): Likewise. + * gcc.c: Fix commentary describing %g, %u, %U, and %O. -Wed Sep 20 12:42:59 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * gcc.c (do_spec_1): Fix handling of %g%O and %U%O to prevent + them from generating a new base name for each occurence of + a specific suffix. - * integrate.c (expand_inline_function): Do copy something setting - the result register if it is setting it to itself and has a REG_NOTE. +1998-07-28 Vladimir N. Makarov <vmakarov@cygnus.com> - * integrate.c (set_decl_{origin_self,abstract_flags}): Treat - a DECL_INITIAL of error_mark_node the same as one of NULL_TREE. + * cse.c (cse_insn): Enable subsitution inside libcall only for REG, + SUBREG, MEM. + * rtlanal.c (replace_rtx): Prohibit replaces in CONST_DOUBLE. -Tue Sep 19 19:30:18 1995 Dave Pitts (dpitts@nyx.cs.du.edu) +Mon Jul 27 00:54:41 1998 Jason Merrill <jason@yorick.cygnus.com> - * i370.md (cmphi, movhi, movstricthi, extendhisi2): Correct generation - of short integer (Halfword) - ({add,sub,mul,and,ior,xor}hi3): Likewise. - * i370/mvs.h (MACROPROLOGUE): New macro. - (FUNCTION_{PRO,EPI}LOGUE): Added ability to use IBM supplied function - prologue macros. - (FUNCTION_PROLOGUE): Corrected function "in-line" prologue alignment - problems. - (ASM_DECLARE_FUNCTION_NAME): Changed alignment to FullWord. - (ASM_OUTPUT_{SHORT,ASCII}): Reworked. + * tree.c (simple_cst_equal, case CONSTRUCTOR): OK if the elts are + identical. + +Mon Jul 27 22:20:02 1998 Jeffrey A Law (law@cygnus.com) + + * pa.c (move_operand): Accept CONSTANT_P_RTX. + +Mon Jul 27 00:46:56 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Jul 26 01:11:12 1998 H.J. Lu (hjl@gnu.org) + + * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Return 0 when eliminating + the frame pointer and compiling PIC code and reload has not completed. + + * i386.c (output_to_reg): Add code to emulate non-popping DImode + case. + +Sun Jul 26 01:02:54 1998 Jeffrey A Law (law@cygnus.com) + + * regmove.c (regmove_optimize): Fix typo initializing regmove_bb_head. + +Sat Jul 25 23:29:23 1998 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> + + * Makefile.in (install-info): Only try to update the info + directory file if it exists in the first place. + +Fri Jul 24 18:58:37 1998 Klaus Espenlaub <kespenla@student.informatik.uni-ulm.de> + + * rs6000.h (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Delete. + +Thu Jul 23 18:53:20 1998 Jim Wilson <wilson@cygnus.com> + + * dbxout.c (dbxout_range_type): Only call dbxout_type_index for + already defined type. + +Wed Jul 22 14:08:54 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * profile.c (branch_prob): Call allocate_reg_info after outputting + profile rtl in instrument_arcs. + +Tue Jul 21 22:40:09 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Tue Jul 21 23:28:35 1998 Klaus Kaempf <kkaempf@rmi.de> + + * cccp.c (do_include): Fix vax c style include handling. -Tue Sep 19 19:22:15 1995 Douglas Rupp (drupp@cs.washington.edu) +Tue Jul 21 15:49:31 1998 David Edelsohn <edelsohn@mhpcc.edu> - * winnt/win-nt.h: Renamed from winnt/win-nt.h. - (LINK_SPEC): Add -noinhibit-exec. - * {alpha,i386}/win-nt.h: Renamed from {alpha,i386}/winnt.h. - Include winnt/win-nt.h, not winnt/winnt.h. - * winnt/oldnames.c: New file. - * winnt/headers.mak (fixinc-nt.obj): Fix typo. - * winnt/config-nt.bat: Change winnt.h to win-nt.h. - * i386/config-nt.sed: Likewise. - * configure ({alpha,i386}-*-winnt3*): Likewise. + * rs6000.h (PREDICATE_CODES): Add CONSTANT_P_RTX. + * rs6000.md (movsi, movdi): Add CONSTANT_P_RTX. + * rs6000.c (short_cint_operand): Add CONSTANT_P_RTX. + (u_short_cint_operand): Same. + (reg_or_cint_operand): Same. + (logical_operand): Same. + (input_operand): Same. + (reg_or_short_operand): Use u_short_cint_operand. -Mon Sep 18 14:00:45 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) +Tue Jul 21 03:59:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com> - * 1750a.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): - Added R2 and R0_1. - (REG_CLASS_FROM_LETTER): New letters 't' and 'z'. - (EXTRA_CONSTRAINT): New letter 'Q'. + * jump.c (jump_optimize): When simplifying noop moves and + PUSH_ROUNDING, fix thinko so we use same criterion for identifying + the PUSHes to rewrite in second loop as we did in the first. -Sun Sep 17 12:39:22 1995 Jeff Law (law@snake.cs.utah.edu) +Tue Jul 21 00:31:01 1998 Jeffrey A Law (law@cygnus.com) - * pa.h (ASM_DECLARE_FUNCTION_NAME): If a parameter's type - has TYPE_NEEDS_CONSTRUCTING on, then it's passed by invisible - reference. + * gcc.c (do_spec): Call "error" not "warning". -Sat Sep 16 17:42:33 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * configure.in: Fix minor problems with gas feature detection code. + * configure: Rebuilt. - * loop.c (find_and_verify_loops): Fix error in last change. + * gcc.c (do_spec): Issue a warning for '%[]' usage. -Sat Sep 16 08:38:22 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * Undo this change. + * gcc.c: Delete %[spec] support. + (do_spec_1, case '('): Likewise. + (do_spec_1, case '['): Call error. - * alpha.h (GO_IF_LEGITIMATE_ADDRESS): Disallow SYMBOL_REF for - current function. +Mon Jul 20 22:34:17 1998 Richard Henderson <rth@cygnus.com> - * cse.c (recorded_label_ref): New variable. - (insert): Set instead of cse_jumps_altered. - (cse_main): Initialize it and return 1 if nonzero at end. + * alpha.h (CPP_SPEC): Tidy. Hook to cpp_cpu and cpp_subtarget. + (CPP_SUBTARGET_SPEC): Default to empty string. + (CPP_AM_*, CPP_IM_*, CPP_CPU_*, CPP_CPU_SPEC): New. + (EXTRA_SPECS, SUBTARGET_EXTRA_SPECS): New. + * alpha/elf.h (LD_SPEC): Use %(elf_dynamic_linker). + * alpha/linux-elf.h (SUBTARGET_EXTRA_SPECS): New. + (LIB_SPEC): Tidy. + * alpha/linux.h (CPP_PREDEFINES): Tidy. + * alpha/netbsd-elf.h (SUBTARGET_EXTRA_SPECS): New. + * alpha/netbsd.h (CPP_PREDEFINES): Tidy. + * alpha/osf.h (CPP_PREDEFINES): Remove bits subsumed by CPP_CPU_SPEC. + * alpha/win-nt.h (CPP_PREDEFINES): Likewise. + * alpha/vsf.h (CPP_PREDEFINES): Likewise. + (CPP_SUBTARGET_SPEC): New. Do this instead of overriding CPP_SPEC. + * alpha/vxworks.h: Likewise. -Fri Sep 15 18:26:49 1995 Torbjorn Granlund (tege@matematik.su.se) +Mon Jul 20 22:51:57 1998 Ken Raeburn <raeburn@cygnus.com> - * fold-const (div_and_round_double): Change `carry', `quo_est', - and `scale' from plain int to `unsigned HOST_WIDE_INT'. + * mips.md (reload_outsi): Added missing REGNO call. + (smulsi3_highpart, umulsi3_highpart): Provide prototype for + function pointer. + (mul_acc_di, mul_acc_64bit_di): Don't use match_op_dup, use + another match_operator and compare the codes. -Fri Sep 15 18:24:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * mips.h (MASK_DEBUG_E, MASK_DEBUG_I): Set to zero. - * cse.c (insert): Set cse_jumps_altered when inserting a LABEL_REF. + * MIPS multiply pattern fixes: + * mips.h (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): + Add union classes for HI, LO, or HILO plus general registers. + (GENERATE_MADD): Deleted. + * mips.md (mulsi3_mult3): Don't disparage output-LO alternative. + Add TARGET_MAD to condition. + (mulsi3): Test HAVE_mulsi3_mult3, not specific flags. + (mul_acc_si): Expand GENERATE_MADD here; it's the only use. Use + "*d" for accumulator, to give preference to LO initially but not + during reload. -Fri Sep 15 17:29:41 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) +Mon Jul 20 01:13:19 1998 Jim Wilson <wilson@cygnus.com> - * 1750a.c (b_mode_operand): New function. - (print_operand): Added code 'Q'. + * function.c (fixup_var_refs_insns): Handle CLOBBER of a CONCAT. -Fri Sep 15 17:27:23 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Sat Jul 18 15:20:19 1998 Mark Mitchell <mark@markmitchell.com> - * loop.c (find_and_verify_loops): When moving exit blocks out of - the loop, verify that the target of P is within the current loop. + * loop.c (maybe_eliminate_biv_1): Avoid signed/unsigned comparison + confusion when setting cc0. - * reorg.c (fill_slots_from_thread): Update thread if it is split. +Fri Jul 17 03:26:12 1998 Rihcard Earnshaw (rearnsha@arm.com) -Fri Sep 15 17:06:51 1995 Michael Meissner <meissner@cygnus.com> + * tree.c (valid_machine_attribute): Only create a new type variant if + there is a decl to use it. - * rs6000.md (decrement_and_branchsi and related insns): Don't use - a "2" to select a register preference for operand 1 if operand 2 - hasn't been seen yet. - Add appropriate clobbers in decrement_and_branchsi. - Add patterns where the pc/label_ref are interchanged. +Fri Jul 17 02:01:00 1998 Jeffrey A Law (law@cygnus.com) - * Makefile.in (gnucompare, stmp-multilib-sub): Remove extra . in - front of $(objext). + * Makefile.in (WARN_CFLAGS): Disable -W -Wall for the release + branch. - * rs6000.c (output_toc): Align DF constants if STRICT_ALIGNMENT. +Thu Jul 16 14:48:04 1998 Nick Clifton <nickc@cygnus.com> - * config/fp-bit.c (FLO_union_type): Add words field if double - precision to get at the separate words. - (FLO_union_type, pack_d, unpack_d): Use FLOAT_BIT_ORDER_MISMATCH - to determine when the bitfields need to be reversed, and - FLOAT_WORD_ORDER_MISMATCH when the words need to be reversed. + * gcc.c (do_spec_1): Cope with %g/%u/%U options which do not have + a suffix. -Fri Sep 15 16:41:43 1995 Jeff Law (law@snake.cs.utah.edu) +Thu Jul 16 17:07:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * reorg.c (fill_simple_delay_slots): When filling insn's delay slot - with JUMP_INSN, don't assume it immediately follows insn on - unfilled slots obstack. + * cplus-dem.c (demangle_nested_args): Make function definition + static to match the prototype. - * Makefile.in (caller-save.o): Depend on insn-codes.h. +Thu Jul 16 01:17:44 1998 Richard Henderson <rth@cygnus.com> -Thu Sep 14 17:41:49 1995 Jim Meyering (meyering@comco.com) + * loop.c (emit_iv_add_mult): Scan the entire insn list generated + for the sequence, recording base values. - * protoize.c (do_cleaning): Don't blank out backslash-escaped - newlines in double quoted strings. +Wed Jul 15 00:52:54 PDT 1998 Jeff Law (law@cygnus.com) -Thu Sep 14 16:20:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * version.c: Bump for snapshot. - * emit-rtl.c (gen_lowpart): If gen_lowpart_common fails - for a REG, load it into a pseudo and try again. +Wed Jul 15 00:52:20 PDT 1998 Jeff Law (law@cygnus.com) -Thu Sep 14 14:15:16 1995 Stan Cox (coxs@dg-rtp.dg.com) + * version.c: Bump for snapshot. - * m88k.h (VERSION_INFO1): Removed BCS reference. - * m88k/dgux.h (ASM_SPEC, *_LEGEND): - Added -mno-legend option. -mstandard no longer implies that legend - legend information not be produced. - (LINK_SPEC): Removed -z text +Tue Jul 14 14:15:30 1998 Nick Clifton <nickc@cygnus.com> -Tue Sep 12 19:05:39 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * gcc.c: Remove ANSI-C ism from --help code. - * cccp.c (is_system_include): Call skip_redundant_dir_prefix. + * toplev.c: Support --help with USE_CPPLIB. -Tue Sep 12 18:58:21 1995 John Carr <jfc@mit.edu> +Tue Jul 14 02:20:38 1998 Jeffrey A Law (law@cygnus.com) - * sparc.md: Change `*return "string"' to "string" in patterns. + * configure.in: Rework gas feature code to work with symlink based + source trees. -Tue Sep 12 18:48:47 1995 Craig Burley (burley@gnu.ai.mit.edu) + * version.c: Bump to avoid problems with old spec files during + bootstrap. - * function.c (put_var_into_stack): For CONCAT case, order of - placement depends on FRAME_GROWS_DOWNWARD, not STACK_GROWS_DOWNWARD. +Mon Jul 13 23:11:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com> -Tue Sep 12 18:34:10 1995 Doug Evans <dje@canuck.cygnus.com> + * config/sparc/sparc.c (output_scc_insn): Enclose || conditions in + parens while walking over notes. + * config/sparc/sparc.md (reg movdi split): Clean up matching + conditions. + (all DI arithop splits on 32-bit): Handle immediate arguments + correctly when they are CONST_INTs. - * va-sparc.h (v9 varargs va_start): Handle __builtin_va_alist - being stack argument. +Mon Jul 13 23:57:21 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl> - * sparc.h (STATIC_CHAIN_REGNUM): Use %g5 for sparc64. - (TRAMPOLINE_TEMPLATE): Rewrite for sparc64. - (TRAMPOLINE_SIZE): Is 40 for sparc64. - * sparc.c (sparc64_initialize_trampoline): Rewrite. + * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for + -m68020-40, -m68020-60 and -m5200. -Tue Sep 12 18:30:22 1995 Douglas Rupp (drupp@cs.washington.edu) +Mon Jul 13 23:52:05 1998 Weiwen Liu <weiwen.liu@yale.edu> - * cp/Make-lang.in (cc1plus) : Removed unnecessary $(exeext). + * gcc.c (do_spec_1): Fix %O handling for secure temporary file + creation. - * configure: Added code to handle gcc_extra_objs. - (alpha-winnt): Changed xmake_file to winnt/x-winnt. - Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe. - (i386-winnt): Changed xmake_file to winnt/x-winnt. - Added extra_gcc_objs=spawnv.o; changed extra_programs to ld.exe. - * configure.bat: Changed to used common winnt/config-nt.bat. - * Makefile.in: Changed various .o's to .$(objext)'s - (specs): Removed unnecessary $(exeext). - (EXTRA_GCC_OBJS): New variable. - (clean): Removed $(LIB2FUNCS_EXTRA) - * objc/Makefile: Changed archive command for libobjc.a to use $? - for objects. +Mon Jul 13 23:42:36 1998 Ralf Corsepius <corsepiu@faw.uni-ulm.de> - * alpha/x-winnt, i386/x-winnt: Deleted. - * alpha/config-nt.bat, i386/config-nt.bat: Deleted. - * alpha/config-nt.sed, i386/config-nt.sed: Moved architecture - independent commands to config/winnt/config-nt.sed. - * alpha/winnt.h: Added -D_M_ALPHA to CPP_PREDEFINES. - Changed LIB_SPEC to be compatible with Gnu ld for NT. - * i386/winnt.h: Added -D_cdecl=__attribute__((__cdecl__)). - Change LIB_SPEC to be compatible with Gnu ld for NT. - * winnt/config-nt.bat, winnt/config-nt.sed: New files. - * winnt/dirent.{c,h}, winnt/fixinc-nt.c, winnt/headers.mak: New files. - * winnt/ld.c: Changed precedence of libraries to look for - libfoo.lib before libfoo.a - Changed to work like Gnu ld for NT. - * winnt/libgcc.mak, winnt/mklibgcc.c: New files. - * winnt/spawnv.c: Changed spawn function entry points to __spawn* - instead of spawn*. - * winnt/x-winnt: New file. - * fixinc-nt.sed: New file. - * fixinc.winnt: Rewritten to use fixinc-nt.sed. + * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h. - * gcc.c: Remove fix_argv kludge. +Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@cygnus.com> -Tue Sep 12 13:24:17 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * i386/i386.h (CPP_486_SPEC, CPP_586_SPEC, CPP_686_SPEC): New specs. + (CPP_CPU_DEFAULT_SPEC, CPP_CPU_SPEC): Use them. + (EXTRA_SPECS): Support them. + * gcc.c: Delete %[spec] support. + (do_spec_1, case '('): Likewise. + (do_spec_1, case '['): Call error. + * i386/aix386ng.h, cygwin32.h, freebsd-elf.h, gas.h, isc.h, + linux-aout.h, linux-oldld.h, linux.h, osfelf.h, osfrose.h, sco.h, + sco4.h, sco4dbx.h, sco5.h, sol2.h, sysv3.h (CPP_SPEC): Delete + %[cpp_cpu]. - * rs6000.md (power subdi3 pattern): Fix pattern to have 5 - alternatives, and correct 4th alternative to match reality. +Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * rs6000.md (adddi3, subdi3, negdi2): Add constraints so output reg - does not overlap one reg with one of the inputs. + * m68k.c (output_scc_di): Use cmpw #0 only for address registers. -Tue Sep 12 13:09:48 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com) - * m68k.c (output_scc_di): Fixed for non-SGS_CMP_ORDER syntax. + * tree.h (tree_common): Note front-end dependencies on layout of + this structure. - * collect2.c (scan_libraries): Cast lsyms' alloca to LDSYM*. +Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org> -Tue Sep 12 13:04:12 1995 Niklas Hallqvist (niklas@appli.se) + * stmt.c (expand_expr_stmt): If not assigning fresh + value to last_expr_value, zero it, so old garbage + doesn't get dereferenced. - * stmt.c (expand_start_stmt_expr): Do stack adjust in right place. +Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen) - * stdarg.h (__gnuc_va_list): Make char * for NetBSD. + * gcse.c (hash_scan_insn): Add missing argument declaration. -Tue Sep 12 12:44:46 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com> - * ginclude/va-ppc.h (va_arg): Reorganize to avoid BIND_EXPRs of - aggregate or array type. + * configure.in (mips-sgi-irix5cross64, mips-sgi-irix5*): Remove + HAVE_INTTYPES_H from xm_defines. Define xm_file to mips/xm-iris5.h. + * mips/xm-iris5.h (USG): Delete. -Tue Sep 12 12:42:27 1995 Ian Lance Taylor <ian@cygnus.com> +Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com> - * fixincludes: Fix HP/UX <sys/file.h> for g++ -pedantic-errors. + * cccp.c (main): Add support for parsing --help. + (display_help): New function: display command line switches. - * fixincludes (curses.h): typedef bool need not take up entire line. + * cpplib.c (cpp_handle_option): Add support for parsing --help. + (display_help): New function: display command line switches. -Mon Sep 11 19:05:42 1995 Stan Cox (coxs@dg-rtp.dg.com) + * gcc.c (main): Add support for parsing --help, and passing it on + to the sub-processes invoked by gcc. + (display_help): New function: display comman line switches. - * c-typeck.c (digest_init): Don't recursively call digest_init - when in traditional mode if the type is invalid. + * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document + 'description' field added to structure. -Mon Sep 11 18:58:26 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) + * toplev.c: Add support for parsing --help. + Add documentation strings to command line option tables. + (display_help): New function: display comman line switches. - * 1750a.md: Added DLB/DSTB peepholes for HFmode. - Corrected mnemonics for HImode DSTB peephole. +Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu> -Mon Sep 11 18:48:06 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * sparc.c, sparc.h, sparc.md: New trampoline code. + Allow integer operand 1 to V8+ DImode shift instructions. + Fix bugs in V8+ wide multiply patterns. + In 32 bit mode, split DImode register moves and logical instructions. + Write V9 branch prediction flag. + Use V9 conditional move more often for scc. - * config/fp-bit.c (FLO_union_type): Remove bitfields to set sign, - exponent, and mantissa, and add value_raw field, which is an - integer of the appropriate type. If _DEBUG_BITFLOAT is defined, - provide little and big endian bitfields. If the macro - FLOAT_BIT_ORDER_MISMATCH is defined, use explicit bitfields. - (pack_d, unpack_d): Switch to use value_raw and explicit shifts - and masks so that we don't have to worry about whether the target - is big or little endian unless FLOAT_BIT_ORDER_MISMATCH is - defined. If single precision floating point, rename to pack_f and - unpack_f, so there is no confusion in the debugger. +Mon Jul 13 15:10:09 1998 Philippe De Muyter <phdm@macqel.be> + + * invoke.texi(-fno-builtin): Explain that the names of built-in + functions begin with `__builtin_', not `__'. + +Mon Jul 13 19:01:52 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload1.c (reload_reg_free_before_p): Abort for RELOAD_FOR_OUTPUT. + +Mon Jul 13 10:50:17 1998 Mark Mitchell <mark@markmitchell.com> + + * cplus-dem.c (SCOPE_STRING): Remove DMGL_JAVA stuff. + (cplus_demangle_opname): Initialize work. + (demangle_template): Remove is_java_array. + (do_type): Remove DMGL_JAVA stuff. + (long_options): Remove "java". + (main): Remove 'j' option. + +Mon Jul 13 10:19:00 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (REG_CLASS_FROM_LETTER): Map 'y' to SP_REGS. + Handle 'x' as NO_REGS for this cpu. + (REGNO_OK_FOR_BIT_BASE_P): Define. + (REG_OK_FOR_BIT_BASE_P): Define. + (GO_IF_LEGITIMATE_ADDRESS): Use them. + (REG_OK_FOR_INDEX_P): Tweak. + * mn13000.c (REG_SAVE_BYTES): Define. + (expand_epilogue, initial_offset): Use it. + (secondary_reload_class): Slightly reformat. + (output_tst): Tweak comments. + * mn10300.md: Change 'x' to 'y' for SP_REGS. Then add 'x' to many + patterns. + (addsi3): Turn into a define_expand/define_insn pair. Rework code for + three operand addition case to be more efficient. + (subsi3): Turn into a define_expand/define_insn pair. + + * expr.c (expand_expr): Only set MEM_IN_STRUCT_P if the memory address + is not varying for REFERENCE_TYPE or when we think we might have found + an optimized access to the first element in an array. + +Mon Jul 13 02:24:08 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * regclass.c (reg_scan_mark_refs): New arg min_regno. Only update + regscan information for REGs with numbers greater than or equal to + this. All callers changed. + (reg_scan_update): New function to efficiently update regscan + information on the fly. + * rtl.h: Add prototype. + * jump.c (jump_optimize): Call it when we make a transformation + which generates new pseudo-REGs. + +Sun Jul 12 13:08:14 1998 Jeffrey A Law (law@cygnus.com) + + * collect2.c (main): Use "-x c" instead of "-lang-c" for force the + compiler into C mode. + +Sun Jul 12 01:27:05 1998 Jason Merrill <jason@yorick.cygnus.com> + + * cplus-dem.c (demangle_nested_args): Return a value. + + * tree.h (TYPE_P): New macro. + +Sat Jul 11 16:19:48 1998 Mark Mitchell <mark@markmitchell.com> + + * cplus-dem.c (string): Move definition before work_stuff. + (work_stuff): Add volatile_type, forgetting_types, + previous_argument, and nrepeats fields. + (SCOPE_STRING): New macro. + (demangle_template): Add `remember' parameter. Add comment. + Register the `B' code type here, if remembering. Tidy. Fix crash + on NULL tmpl_argvec. Be consistent with use of tname/trawname. + (demangle_nested_args): New function. + (internal_cplus_demangle): Handle volatile-qualified member + functions. + (mop_up): Delete the previous_argument string if present. + (demangle_signature): Tidy. Handle volatile-qualified member + functions. Handle back-references using the `B' code. Use extra + parameter to demangle_template and SCOPE_STRING where appropriate. + (demangle_template_value_parm): Fix thinko; 'B' is not an integral + code. + (demangle_class): Use SCOPE_STRING. + (gnu_special): Pass additional argument to demangle_template. + Use SCOPE_STRING. + (demangle_qualified): Save qualified types for later + back-references. Handle constructors and destructors for template + types correctly. + (do_type): Tidy. Use SCOPE_STRING. Pass extra argument to + demangle_template. Use demangled_nested_args. Don't remember + qualified types here; that's now done in demangle_qualified. + Similarly for templates. + (do_arg): Improve commment. Handle 'n' repeat code. + (remember_type): Check forgetting_types. + (demangle_args): Deal with 'n' repeat codes. Tidy. - * rs6000.h (rs6000_abi): New enumeration to describe which - ABI we're conforming to. - (rs6000_stack): Use abi enum, not AIX vs. V.4 boolean. - (ASM_OUTPUT_OPTIONS): New macro to print output options in .s file. - (ASM_FILE_START): Use it. - (output_options,rs6000_float_const): Declare new functions. +Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com> - * rs6000.c (output_option{,s}): New functions to write -f, -m, - and -W options to the asm file. - (rs6000_float_const): New function to generate floating point - constants portably used in signed,unsigned -> double conversions. - (rs6000_stack_info,debug_stack_info): Use ABI enumeration instead - of AIX vs. V.4 boolean. + * arm.md (extendhisi2_mem, movhi, movhi_bytes): Propagate the volatile + and structure attribute flags to MEMs generated. + (splits for sign-extended HI & QI mode from memory): Also propagate + the volatile flag. - * rs6000.md (float{,uns}sidf2): Call rs6000_float_const to - portably build the proper floating point constant for conversions. - (movdi): Properly handle movdi of CONST_{INT,DOUBLE} on little - endian systems. + * configure.in (thumb-*-coff*): Don't cause fixincludes to be run. - * rs6000/sysv4.h (LIBGCC2_WORDS_BIG_ENDIAN): Define to be 0/1 - depending on the target endianess. - (ASM_FILE_START): Define, to call output_options in addition to - output_file_directive. - (TRAMPOLINE_SIZE): Correct size to match code. +Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com> - * rs6000/eabi{,le}sim.h (CPP_SPEC): Define the correct endian - macro for varargs/stdargs use. + * varray.h: Include system.h if it hasn't already been included + before to get size_t declared. -Mon Sep 11 18:41:58 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com> - * c-decl.c (redeclaration_error_message): For TYPE_DECLs, return 0 - if TYPE_MAIN_VARIANT of old type is same as new type. + * jump.c (jump_optimize): If after_regscan and our transformations + generate new REGs, rerun reg_scan. -Mon Sep 11 17:39:35 1995 Rob Ryan (robr@cmu.edu) +Fri Jul 10 11:50:43 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> - * xcoffout.c (xcoff_inlining): New variable, used in place of - xcoff_current_include_file when determining whether to use - absolute line numbers. - (xcoffout_source_file): Switched to using xcoff_inlining to - determine when to emit .bi/.ei directives. + * config/i960/i960.c (i960_address_cost): MEMA operands with + positive offsets < 4096 are free. -Mon Sep 11 16:55:06 1995 Torbjorn Granlund <tege@matematik.su.se> +Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * m68k.md (cmpdi): Change patterns to allocate scratch register at - RTL generation time. - (tstdi): Likewise. + * config/m68k/m68k.c (const_uint32_operand): Recognize + CONSTANT_P_RTX. + (const_sint32_operand): Likewise. -Sun Sep 3 09:03:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com) - * fold-const.c (size_binop): Don't pass 1 to NOTRUNC. + * Makefile.in (alias.o): Depend on $(EXPR_H). -Thu Aug 31 19:27:00 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> +Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * libgcc2.c: Include longlong.h. - [L_udivdi3 || L_divdi3 || L_umoddi3 || L_moddi3] (__udivmoddi4): - Define this `static inline' when defining these, so they all - remain leaf functions. + * reload1.c (choose_reload_regs): If using an equivalence from + find_equiv_reg and reg_reloaded_valid is not set for this register, + clear the associated spill_reg_store. -Thu Aug 31 18:38:21 1995 Paul Eggert <eggert@twinsun.com> +Thu Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * c-parse.in (ends_in_label): New %union member. - (stmts, stmt_or_label): Use new member to avoid lexical lookahead hack. - (lineno_stmt_or_labels): New rule. - (lineno_stmt_or_label, stmt_or_label): Yield nonzero if it ends - in a label. + * reload1.c (emit_reload_insns): If an output reload copies only + to a secondary reload register, indicate that the secondary reload + does the actual store. -Thu Aug 31 08:31:40 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Thu Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * cse.c (canon_hash, CONST_DOUBLE): Hash integer and real - differently. - * varasm.c (struct rtx_const): Add new field DI to union. - (decode_rtx_const, case CONST_DOUBLE): Use to hash CONST_DOUBLE - representing an integer. + * reload.c (find_equiv_reg): If need_stable_sp is set, + check if stack pointer is changed directly in a PARALLEL. - * va-alpha.h (__gnuc_va_list): Make __offset an int. - * alpha.c (alpha_builtin_saveregs): Properly compute address - of __offset both both OSF and WINNT. +Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com) - * xm-alpha.h (sbrk): Don't define here. - * gmon.c (sbrk): Define here for __alpha. - * toplev.c (sbrk): Likewise. - * mips-tfile.c (malloc, calloc, realloc): Don't define for anybody. + * jump.c (duplicate_loop_exit_test): Fix thinko. - * reload.c (push_reload): Add case for output reload of a SUBREG - of a hard reg when output mode is invalid for that mode. - In both that case and existing case for in, don't remove SUBREG. - * reload1.c (emit_reload_insn): Emit RELOAD_OTHER output reloads last. +Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com> + Ralf Corsepius <corsepiu@faw.uni-ulm.de> -Tue Aug 29 19:16:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * config/i386/rtemself.h: Updated to keep in sync with + config/i386/linux.h. - * c-common.c (decl_attribute, case A_PACKED): Check is_type first. - (decl_attribute, case A_T_UNION): Likewise. - Don't access TYPE_FIELDS if DECL is zero. - * c-decl.c (finish_struct): If transparent_union attribute - specified, validate it once we finish laying the union out. + * configure.in: Added sh-rtemself. + * configure: Rebuilt. + * config/sh/rtems.h: Removed -D__ELF__ since it is now COFF. + * config/sh/rtemself.h: New file. -Mon Aug 28 05:58:03 1995 Paul Eggert <eggert@twinsun.com> + * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC. - * arm.c (arm_gen_movstrqi): Remove unused variable const_sxteen. +Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com) - * bi-lexer.c (buffer, inpoint): Remove unused variables. + * configure.in: Check if the assembler supports ".balign" and + ".p2align" and define HAVE_GAS_BALIGN_AND_P2ALIGN appropriately. + * acconfig.h (HAVE_GAS_BALIGN_AND_P2ALIGN): New tag. + * i386/gas.h (ASM_OUTPUT_ALIGN): If the assembler has support for + ".balign" then use it. - * i370/mvs.h, i370/mvs370.c (mvs_label_emitted): Renamed - from mvs_label_emited. + * print-rtl.c (print_rtx): Revert previous patch. - * msdos/configur.bat: Fix misspelling of `maintainer-clean'. + * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit + test if the exit code has an insn with ASM_OPERANDS. -Sat Aug 26 06:57:17 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * i386/cygwin32.h (STDIO_PROTO): Fix typo. + * m32r.h (STDIO_PROTO): Fix typo. - * reload.c (push_secondary_reload): If X is a paradoxical SUBREG, - get mode and thing to reload from inside. - * reload1.c (emit_reload_insns): Do nothing for SUBREG whose - operand is unused subsequently. - In secondary reload case, if paradoxical SUBREG for output, reload - thing inside SUBREG, just like gen_reload. + * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Handle addresses created by + LEGITIMIZE_RELOAD_ADDRESS. + * tm.texi (LEGITIMIZE_RELOAD_ADDRESS): Note that this macro must be + able to handle addresses created by previous invocations of the macro. -Fri Aug 25 19:26:53 1995 Paul Eggert <eggert@twinsun.com> + * flow.c (find_auto_inc): Remove most recent change. Real bug was + elsewhere. - * c-typeck.c (set_init_label): Don't die if an entire - brace-pair level is superfluous in the containing level. + * cse.c (count_reg_usage): Count registers used in addresses of + CLOBBERs. -Fri Aug 25 19:22:46 1995 Michael Meissner <meissner@tiktok.cygnus.com> +Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com> - * configure (powerpc{,le}-eabisim): Add support for a new target - that works under the PSIM simulator. - * rs6000/eabisim.h, rs6000/eabilesim.h, rs6000/t-eabisim: New files. + * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge. - * rs6000/eabi.h (STRICT_ALIGNMENT): If little endian, always set - strict alignment to 1. + * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h. -Fri Aug 25 19:22:23 1995 David Edelsohn <edelsohn@mhpcc.edu> +1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com> - * rs6000.md ({add,sub,mulsi}di3): Support both endian possibilities. - (negdi2): Likewise. + * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function + stubs. -Fri Aug 25 19:10:41 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) + * toplev.c (lang_options): Add -Wlong-long, -Wno-long-long + options. + * c-decl.c (warn_long_long): Define. + (c_decode_option): Parse -Wlong-long, -Wno-long-long options. + (grokdeclarator): Add flag `warn_long_long' as guard for + warning "ANSI C does not support `long long'". + * invoke.texi: Add description of options -Wlong-long, + -Wno-long-long. + * gcc.1: The same as above. + +Wed Jul 8 02:43:34 1998 Jeffrey A Law (law@cygnus.com) - * 1750a.md: Added peephole definitions for Load/Store Base insns - and eliminating redundant load in an equivalent store/load sequence. + * rtlanal.c (reg_overlap_mentioned_p): Handle STRICT_LOW_PART. If + either argument is CONSTANT_P, then return zero. + * reload.c (reg_overlap_mentioned_for_reload_p): Similarly. -Fri Aug 25 18:33:27 1995 Craig Burley (burley@gnu.ai.mit.edu) + * configure.in: Also look at $srcdir/gas/configure to find a + gas version #. - * toplev.c (report_error_function): Don't attempt to use input - file stack to identify nesting of #include's if file name oflocation - diagnosed is not same as input_filename. +Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl> -Fri Aug 25 07:31:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS - * integrate.c (output_inline_function): Switch to function obstack. +Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu> -Mon Aug 21 13:29:54 1995 J"orn Rennecke (amylaar@meolyon.hanse.de) + * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate + definitions from last two patches. - * i386.c (arithmetic_comparison_operator): New function. - (print_operand): Take into account that overflow flag is not - set the same as after a compare instruction. - * i386.md (decrement_and_branch_until_zero): Use - arithmetic_comparison_operator to decide if there is comparison - suitable to be expressed by condition code from an arithmetic op. +Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Aug 21 13:26:13 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * reload1.c (choose_reload_regs): Don't set reload_override_in + if EQUIV is clobbered in INSN and the reload is done after INSN. - * m68k.md (adddi3, subdi3): "&" added to clobber's constraints. +Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Aug 21 12:11:14 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN + to the first insn of the sequence. - * t-sparclite (MULTILIB_*, LIBGCC, INSTALL_LIBGCC): Define. +Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * sh.md (movdi-1, movdf-1): Make conditional on reload_completed, - delete conditions checking for pseudo registers and Q addresses. - Add code to handle SUBREG. + * cse.c (cse_insn): Don't make change without validation. - * local-alloc.c (wipe_dead_reg): Make a register mentioned in a - REG_INC note die after the instruction. +Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com) - * m68k.md: For all dbra pattern, change constraint from 'g' to 'd*g'. + * mn10200.md (various zero/sign extension patterns): zero and sign + extensions which use "sub" clobber cc0. - * Makefile.in: (underscore.c): Rename rule to stamp-under, and - touch stamp-under at the end. Add new rule for underscore.c that - depends on stamp-under. +Tue Jul 7 09:12:08 PDT 1998 Jeff Law (law@cygnus.com) - * sh.c (reg_unused_after): For a SEQUENCE, make sure all insns are - safe before returning 1. + * version.c: Bump for snapshot. - * sh.h (PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN): Define. +Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com) - * sh.c (output_stack_adjust): Add new argument reg. Use it instead - of stack_pointer_rtx. - (sh_expand_prologue, sh_expand_epilogue): Pass new argument to - output_stack_adjust. + * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double". -Sat Aug 19 17:34:15 1995 Jim Wilson <wilson@phydeaux.cygnus.com> +Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com) - * sparc/gmon-sol2.c (_mcount): Define. - * sparc/sol2.h (STARTFILE_SPEC, ENDFILE_SPEC): Delete superfluous - -pg tests. - (LINK_SPEC): Add libp directories to -Y when -pg. + * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE + is a double. - * unroll.c (calculate_giv_inc): Handle increment computed by ASHIFT. +Tue Jul 7 00:31:58 PDT 1998 Jeff Law (law@cygnus.com) -Sat Aug 19 17:28:56 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * version.c: Bump for snapshot. - * m68k.md (subdi3): Should not be commutative. - (one_cmpldi2): Fixed typo with register operand. +Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu> -Sat Aug 19 17:20:43 1995 Michael Meissner <meissner@cygnus.com> + Support for dllimport and dllexport attributes for i386-pe. - * rs6000.c (output_prolog): Fixup code to set stack pointer - if stack size > 32k. - * rs6000.md (sync_isync): Renamed from sync; added an isync insn - after the sync to properly deal with PowerPC's with split I/D caches. - * sysv4.h (INITIALIZE_TRAMPOLINE): Sync function now named sync_isync. + * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro. + (struct tree_decl): Add non_addr_const_p field. + * tree.c (staticp): Use. -Sat Aug 19 17:07:09 1995 Doug Evans <dje@canuck.cygnus.com> + * i386/cygwin32.h (CPP_PREDEFINES): Map __declspec(x) to GCC + attributes. + (SUBTARGET_SWITCHES): Switches to turn on/off dllimport|export + attributes. Also accept -mwindows option. + (VALID_MACHINE_DECL_ATTRIBUTE): New macro. + (MERGE_MACHINE_DECL_ATTRIBUTE): New macro. + (REDO_SECTION_INFO_P): New macro. + (DRECTVE_SECTION_FUNCTION): New macro. + (drectve_section): Cover function to implement above. + (SWITCH_TO_SECTION_FUNCTION): New macro. + (switch_to_section): Covert function to implement above. + (EXTRA_SECTIONS): Add in_drectve. + (EXTRA_SECTION_FUNCTIONS): Add in_drectve and switch_to_section. + (ENCODE_SECTION_INFO): Delete old macro and redefine as a function. + (STRIP_NAME_ENCODING): Handle new attributes. + (ASM_OUTPUT_LABELREF): New macro. + (ASM_OUTPUT_FUNCTION_NAME): New macro. + (ASM_OUTPUT_COMMON): New macro. + (ASM_OUTPUT_DECLARE_OBJECT_NAME): New macro. - * h8300.h (STATIC_CHAIN_REGNUM): Use r3. - (REGISTER_NAMES): Print r7 as sp. - (ADDITIONAL_REGISTER_NAMES): Recognize r7. - (ASM_OUTPUT_ALIGN): Alignment is power of 2. - * h8300.md (fancy_btst,fancy_btst1): Branch target must be - operand 0 for length attribute to work. + * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC + attributes. -Sat Aug 19 16:43:11 1995 Paul Franklin <paul@cs.washington.edu> + * i386/winnt.c (i386_pe_valid_decl_attribute_p): New function. + (i386_pe_merge_decl_attributes): New function. + (i386_pe_check_vtable_importexport): New function. + (i386_pe_dllexport_p): New function. + (i386_pe_dllimport_p): New function. + (i386_pe_dllexport_name_p): New function. + (i386_pe_dllimport_name_p): New function. + (i386_pe_mark_dllexport): New function. + (i386_pe_mark_dllimport): New function. + (i386_pe_encode_section_info): New function. + (i386_pe_unique_section): Strip encoding from name first. - * assert.h: Declare __eprintf with attribute noreturn. +Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de) -Sat Aug 19 16:40:12 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * libgcc2.c (L_exit): Provide a fake for atexit on systems which + define ON_EXIT but not HAVE_ATEXIT. - * stddef.h: Don't define wchar_t if __cplusplus is defined. +Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> -Tue Aug 15 18:01:01 1995 Paul Eggert <eggert@twinsun.com> + * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200. - * cccp.c (warning_with_line): Fix typo in declaration when - !HAVE_VPRINTF and defined (__STDC__). +Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com> -Tue Aug 15 17:57:54 1995 Stephen L Moshier <moshier@world.std.com> + * i386.c: Remove random whitespace at end of lines. - * real.c (ediv, emul): Set sign bit of IEEE -0.0 result. + * i386.c (ix86_epilogue): For pentium processors, try to deallocate + 4 or 8 byte stacks with pop instructions instead of an add instruction. -Tue Aug 15 17:49:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de> - * expr.c (safe_from_p): Only safe if EXP is variable-size and X - is BLKmode. + * alpha.c: Include tree.h before expr.h. - * stmt.c (fixup_gotos): When some fixups done, reset to point - to next instead of zeroing TREE_VALUE, which may be shared. +Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com> -Mon Aug 14 09:15:45 1995 Doug Evans <dje@canuck.cygnus.com> + * c-parse.in (struct_head, union_head, enum_head): New nonterminals. + (structsp): Use them. Update files generated from c-parse.in. + * extend.texi (Type Attributes): Document it. - * m68k/m68kemb.h (STARTFILE_SPEC): Define as empty. + * c-decl.c: Add warn_multichar. + (c_decode_option): Handle -Wno-multichar. + * c-lex.c (yylex): Check it. + * c-tree.h: Declare it. + * toplev.c (lang_options): Add it. + * invoke.texi: Document it. -Mon Aug 14 09:08:57 1995 Pat Rankin <rankin@eql.caltech.edu> +Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * vax.c (vms_check_external): Update `pending_head' properly - when the first list element is removed. + * reload.c (find_equiv_reg): When looking for stack pointer + const, + make sure we don't use a stack adjust. -Mon Aug 14 09:01:32 1995 Jeffrey A. Law <law@adder.cygnus.com> + * reload.c (find_equiv_reg): If need_stable_sp is set, + check if stack pointer is changed directly. - * pa.md (call expanders): Emit a blockage insn after restoring - %r19 when generating PIC. + * reload1.c (delete_dead_insn): Don't delete feeding insn + if that insn has side effects. -Sun Aug 13 21:58:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is + changed. - * toplev.c (main): Change text of unsupported -g option warning. + * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR + precedes RELOAD_FOR_OUTADDR_ADDRESS. -Sun Aug 13 21:47:57 1995 Andrew McCallum <mccallum@graphite.cs.rochester.edu> + * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed + caller. - * objc/selector.c (sel_get_any_typed_uid): New function. - * objc/objc-api.h (sel_get_any_typed_uid): Declare new function. +Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl> -Sun Aug 13 21:43:17 1995 John Carr <jfc@mit.edu> + * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when + testing address registers on the 68000. - * c-typeck.c (c_expand_asm_operands): Check for read-only output - operand where the variable is read-only but the type is not. +Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk> -Sun Aug 13 21:16:12 1995 David Edelsohn <edelsohn@mhpcc.edu> + * i386.c (is_fp_test): Fix thinko. - * rs6000.c (direct_return): Epilogue required if CR saved. + * jump.c (jump_optimize) Check for CONST_INT before using INTVAL. -Sun Aug 13 19:09:25 1995 Jeff Law (law@snake.cs.utah.edu) +Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com) - * configure (hppa1.?-hp-hpux10): Recognize and treat just like hpux9. + * print-rtl.c (print_rtx): Display the real-value equivalent of + a const_double when easy. -Sun Aug 13 19:07:23 1995 Doug Evans <dje@canuck.cygnus.com> + * real.h (REAL_VALUE_TO_TARGET_SINGLE): Use a union to pun types. + Zero memory first for predictability. + (REAL_VALUE_TO_TARGET_DOUBLE): Likewise. + * varasm.c (immed_real_const_1): Notice width of H_W_I == double. - * i960.md (movdi matchers): Fix src/dest order in unaligned - reg->reg case. + * regclass.c (allocate_reg_info): Initialize the entire reg_data + virtual array. -Sun Aug 13 18:49:01 1995 DJ Delorie <dj@delorie.com> +Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com> + Jeff Law <law@cygnus.com> - * i386/xm-dos.h (HAVE_STRERROR): New definition. - * msdos/configur.bat: Add missing carriage return. + * i386/cygwin32.h: Add some declaration of external functions. + (ASM_DECLARE_FUNCTION_NAME): Define. + (ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL): Define. + (ASM_FILE_END): Define. + * i386/winnt.c (i386_pe_declare_function_type): New function. + (struct extern_list, extern_head): Define. + (i386_pe_record_external_function): New function. + (i386_pe_asm_file_end): New function. -Sun Aug 13 18:40:55 1995 Andrew Cagney <cagney@highland.com.au> + * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1, + matching July 18, 1995 change to cccp.c. If -traditional then + disable cplusplus_comments. - * Makefile.in (USER_H): Add va-ppc.h. +Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com) -Sun Aug 13 18:36:17 1995 M. Warner Losh <imp@village.org> + * combine.c (expand_compound_operation): Fix thinko in code to optimize + (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI. - * stmt.c (expand_asm_operands): Type '0'..'4' operands may - allow regs, so move them to the default case. + * Disable the following change from gcc2. Not appropriate for egcs: -Sun Aug 13 18:32:35 1995 Paul Eggert <eggert@twinsun.com> + Sun Jun 7 09:30:31 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * reload.c (find_reloads): Give preference to pseudo that was the + reloaded output of previous insn. - * cccp.c (warning_with_line): New function. - (trigraph_pcp): Use it, to avoid reporting line number. - (vwarning_with_line): Don't report line number if zero. +Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Sun Aug 13 18:23:08 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * aclocal.m4 (GCC_FUNC_PRINTF_PTR): Don't define HOST_PTR_PRINTF. + Instead, define a new macro HAVE_PRINTF_PTR which only signifies + whether we have the %p format specifier or not. - * toplev.c (vmessage): Support four arguments. + * acconfig.h: Delete stub for HOST_PTR_PRINTF, add HAVE_PRINTF_PTR. + + * machmode.h (HOST_PTR_PRINTF): When determining the definition, + check HAVE_PRINTF_PTR to see whether "%p" is okay. -Sun Aug 13 18:19:51 1995 Michael Meissner <meissner@cygnus.com> + * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF. - * ginclude/stdarg.h: Add ppc svr4 calling sequence support. - * ginclude/varargs.h: Likewise. - * ginclude/va-ppc.h: New file. + * Makefile.in (mips-tfile.o): Depend on machmode.h. -Sun Aug 13 18:05:20 1995 Michael Gschwind <mike@donoussa.vlsivie.tuwien.ac.at> +Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com> - * configure (pdp-*-*): Add support for t-pdp11. - * t-pdp11: New file. - * Makefile.in (LIBGCC2_CFLAGS): Add TARGET_LIBGCC2_CFLAGS. + * jump.c (duplicate_loop_exit_test): Don't refuse to copy a + section of code just because it contains + NOTE_INSN_BLOCK_{BEG,END}. + * stmt.c (expand_end_loop): Likewise. Also, don't refuse to + move CALL_INSNs or CODE_LABELs. When moving code, don't move + NOTE_INSN_BLOCK_{BEG,END}. -Sun Aug 13 14:50:58 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com> - * final.c (final_start_function): Always call sdbout_begin_function - and xcoffout_begin_function, even if no line number info. + * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but + dealing with ADDRESSOF. + (find_best_addr): Use it. - * mips/abi64.h (SETUP_INCOMING_VARARGS): In if statement, only - subtract one for stdarg. Don't subtract PRETEND_SIZE from - argument pointer when calculating stack address. - * mips.h (INITIAL_ELIMINATION_OFFSET): For 64 bit ABI, subtract - current_function_pretend_args_size when converting from argument - pointer. - * va-mips.h (va_start): For stdarg, delete separate define for - 64 bit ABI. For varargs, don't subtract 64, and only add -8 when - all argument registers are used. +Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com> - * gcc.c (main): When concat gcc_exec_prefix and - standard_startfile_prefix, put machine_suffix in the middle. + * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change. - * iris6.h (INIT_SECTION_ASM_OP): Don't define. - (LD_INIT_SWITCH, LD_FINI_SWITCH, HAS_INIT_SECTION): Don't undef. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Ifdef out. - * configure (mips-sgi-irix6, mips-sgi-irix5cross64): Define - use_collect2 to yes. +Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk> - * combine.c (move_deaths): When have a multi-reg hard register, - if don't find a note, then recur for each individual hard register. + * libgcc2.c (__eprintf): Make args consistent with prototype in + assert.h. - * cse.c (set_nonvarying_address_components): Handle addresses - which are the sum of two constant pseudo regs. - (cse_rtx_addr_varies_p): Likewise. +Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com> - * Makefile.in (gfloat.h): Add a - before the rm command. + * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y, + don't claim that the former is equivalent to the latter. - * loop.c (find_and_verify_loops): Set dest_loop only if - JUMP_LABEL (insn) is non-zero. +Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com) -Mon Jul 31 14:31:53 1995 Ian Lance Taylor <ian@cygnus.com> + * cse.c (cse_insn): Second arg is an RTX now. Update all callers. + (cse_basic_block): Keep track of the current RETVAL insn for a + libcall instead of just noting that we're in a libcall. - * fixincludes: Avoid clobbering VxWorks drv/netif/if_med.h file. + * combine.c (simplify_comparison): Do not commute a AND into + a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS. -Sat Jul 29 16:21:42 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Protect with + HAVE_GAS_MAX_SKIP_P2ALIGN. + * i386/linux.h: Likewise. + +Fri Jul 3 02:33:35 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * sparc.c (sparc_operand, move_operand, arith_operand, + arith11_operand, arith10_operand, arith_double_operand, + arith11_double_operand, arith10_double_operand, small_int, + uns_small_int): Recognize CONSTANT_P_RTX. + (output_sized_memop, output_move_with_extension, + output_load_address, output_size_for_block_move, + output_block_move, delay_operand): Remove, has not been + enabled or referenced for years. + * sparc.md (movstrsi, block_move_insn): Likewise. + * sparc.h (PREDICATE_CODES): Define. + * linux-aout.h (MACHINE_STATE_{SAVE,RESTORE}): Override with + version which uses getcc/setcc traps to save/restore condition + codes. + * linux64.h: Likewise. + * sunos4.h: Likewise. + * linux.h: Likewise. + * sol2.h: Likewise. + * sun4o3.h: Likewise. + +Fri Jul 3 02:28:05 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_initialize_trampoline): Hack around Pmode/ptr_mode + lossage on VMS. Reported by kkaempf@rmi.de. + * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0. + +Thu Jul 2 17:41:14 1998 Nick Clifton <nickc@cygnus.com> + + * config/m32r/m32r.h (MUST_PASS_IN_STACK): Override default + version. + +Thu Jul 2 14:34:48 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * expr.h (STACK_SIZE_MODE): New macro. + * explow.c (allocate_dynamic_stack_space): Use it for + mode of allocate_stack pattern increment operand. + * tm.texi (STACK_SAVEAREA_MODE, STACK_SIZE_MODE): Document. + * md.texi (stack_save_block, ...): Reflect use of macro. + + * rs6000.h (PROMOTE_MODE): Always promote to word_mode. + (PROMOTE_FUNCTION_ARGS): Define. + (PROMOTE_FUNCTION_RETURN): Define. + (FUNCTION_VALUE): Promote to word_mode if smaller. + Convert to gen_rtx_FOO. + * rs6000.md (call_indirect): Store doubleword in 64-bit mode. + Convert to gen_rtx_FOO. + * rs6000.c: Convert to gen_rtx_FOO. + +Thu Jul 2 14:16:11 1998 Michael Meissner <meissner@cygnus.com> - * collect2.c: (XCOFF_SCAN_LIBS): Define if OBJECT_FORMAT_COFF and - XCOFF_DEBUGGING_FORMAT. - (SCAN_LIBRARIES): Also define if XCOFF_SCAN_LIBS. + * varray.{c,h}: New files to provide virtual array support. -Sat Jul 29 16:19:42 1995 Stuart D. Gathman <stuart@bmsi.com> + * Makefile.in (OBJS): Add varray.o. + (varray.o): Add new file. + (REGS_H): New variable for dependencies for files including + regs.h. Add varray.h and files it includes. Change all regs.h + dependencies to $(REGS_H). - * collect2.c (scan_libraries): Implement for AIX. + * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte. + (xcalloc): Provide frontend for calloc. + * {tree,rtl}.h (xcalloc): Add declaration. -Sat Jul 29 09:59:33 1995 Michael Gschwind <mike@lanai.vlsivie.tuwien.ac.at> + * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a + varray. - * configure: (pdp11-*-bsd) New target. - * 2bsd.h: New file. + * regs.h (toplevel): Include varray.h. + (reg_n_info): Switch to use a varray. + (REG_*): Ditto. + (allocate_reg_info): Change num_regs argument to be size_t. - * pdp11.c (output_move_double): Handle CONST_INT parameters properly. - * pdp11.h (RTX_COSTS): Fill in missing default values. - * pdp11.md (truncdfsf2, extendsfdf2, floatsidf2, fix_truncdfsi2): - Allow register parameters, required by gcc to generate correct code. - * xm-pdp11.h: Include tm.h. + * regclass.c (reg_info_data): New structure to remember groups of + reg_info structures allocated that are to be zeroed. + ({pref,alt}class_buffer): New statics to hold buffers + allocate_reg_info allocates for {pref,alt}class_buffer. + (regclass): Use {pref,alt}class_buffer to initialize + {pref,alt}class. + (allocate_reg_info): Switch to make reg_n_info use varrays. + Allocate buffers for the preferred and alter register class + information. Change num_regs argument to be size_t, not int. -Sat Jul 29 09:55:17 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * flow.c (reg_n_info): Switch to use varrays. - * configure (m68k-*-linux*aout*, m68k-*-linux*): New targets. - * m68k/linux-aout.h, m68k/linux.h, m68k/t-linux, m68k/xm-linux.h: New. - * m68k.md [USE_GAS]: Output `jbsr' instead of `jsr' for normal - function calls and `bsr.l' instead of `bsr' for pic function calls. +Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com> -Sat Jul 29 09:44:13 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * install.texi (sco3.2v5): Document new --with-gnu-as flag. + * config/i386/sco5.h (JUMP_TABLES_IN_TEXT_SECTION): Defined as + in other targets. + (USE_GAS): Conditionalize away native assembler usage. + * config/i386/sco5gas.h: New file. + * config/i386/t-sco5gas: New file. + * configure.in (ix86-sco3.2v5*): Use new files if --with-gnu-as - * sh.h (CAN_DEBUG_WITHOUT_FP): Comment out. +Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com> - * reload.c (find_reloads_address_1, case PLUS): When handle SUBREG, - add SUBREG_WORD offset to SUBREG_REG register number. - (find_reloads_address_1, case SUBREG): If a pseudo register inside - a SUBREG is larger than the class, then reload the entire SUBREG. - * sh.h (SUBREG_OK_FOR_INDEX_P): New macro. - (INDEX_REGISTER_RTX_P): Use it. + * haifa-sched.c (alloc_EXPR_LIST): Change to use + unused_expr_list. -Sat Jul 29 09:33:19 1995 Doug Evans <dje@canuck.cygnus.com> +Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk> - * mips/netbsd.h (CPP_SPEC): Fix typo. + * Makefile.in (install-info): Don't use $realfile. Ignore + possible errors from the install-info program. - * configure (a29k-*-vxworks*): Define extra_parts for crt{begin,end}.o. - * t-a29k, t-a29kbase, t-vx29k ({,CROSS_}LIBGCC1): Define as empty. +Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk> -Sat Jul 29 09:15:17 1995 Jeffrey A. Law <law@rtl.cygnus.com> + * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs. - * pa/lib2funcs.asm (gcc_plt_call): Rewrite to avoid the need - for being called by _sr4export. Inline expand $$dyncall to - avoid the need for long-call and PIC support. +Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com> -Sat Jul 29 07:30:04 1995 Oliver Kellogg (Oliver.Kellogg@space.otn.dasa.de) + * i386.h (HARD_REGNO_MODE_OK): Kill spurrious test. + (MODES_TIEABLE_P): Tie SImode and HImode. - * ms1750.inc (ucim.m, ucr.m, uc.m): New. - * 1750a.md (cmpqi): Account for unsigned comparisons. - (rotrqi3, rotrhi3): Reworked. - * 1750a.c (notice_update_cc): INCM and DECM set condition codes. - (unsigned_comparison_operator, next_cc_user_is_unsigned): New fcns. - * 1750a.h (FUNCTION_EPILOGUE): Local variables freed from SP, not FP. - (ASM_OUTPUT_BYTE): Make distinct from ASM_OUTPUT_CHAR. - (ASM_OUTPUT_CONSTRUCTOR): Add FILE arg to assemble_name. +1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de> -Fri Jul 28 09:40:07 1995 Jeffrey A. Law <law@rtl.cygnus.com> + * invoke.texi (Optimize Options): Fix typo. - * pa.h (DO_GLOBAL_DTORS_BODY): Use an asm statement to keep optimizer - from deleting an assignment it believes dead. +Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com> -Fri Jul 28 08:47:51 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for + the zero'th block. - * unroll.c (unroll_loop): When preconditioning, output code to - execute loop once if initial value is greater than or equal to final - value. +Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com> + + * h8300.c (print_operand): Delete %L support. + * h8300.md (branch_true, branch_false): Use %= with a prefix + instead of %L for local branch labels. + +Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload1.c (emit_reload_insns): Use proper register classes for + SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code. + +Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads): If there are multiple + RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads for + one operand, change RELOAD_FOR_INPADDR_ADDRESS / + RELOAD_FOR_OUTADDR_ADDRESS for all but the first + RELOAD_FOR_INPUT_ADDRESS / RELOAD_FOR_OUTPUT_ADDRESS reloads. + +Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before + using its PATTERN. + +Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com> + + * expr.c (emit_group_load, emit_group_store): Rewrite considering + the size and alignment of the structure being manipulated. + * expr.c, calls.c, function.c: Update all callers. + * expr.h: Update prototypes. + * cse.c (invalidate): Cope with parallels. + +Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com> + + * sparc.c (function_arg_record_value): Take a MODE arg with which to + create the PARALLEL. Update all callers. + +Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com> + + * expr.c (expand_assignment, store_constructor, expand_expr): Use + convert_memory_address instead of convert_to_mode when possible. + +Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_initialize_trampoline): Take arguments describing + the layout. Use ptr_mode. Disable hint generation. Use gen_imb. + * alpha.h (INITIALIZE_TRAMPOLINE): Pass extra args to the init func. + (TRANSFER_FROM_TRAMPOLINE): Move ... + * alpha/osf.h: ... here. + * alpha/vms.h (INITIALIZE_TRAMPOLINE): Use alpha_initialize_trampoline. + (TRANSFER_FROM_TRAMPOLINE): Remove undef. + * alpha/win-nt.h: Likewise. + * alpha/vxworks.h: Likewise. + + * alpha/linux.h: Revert gcc2 merge lossage. + +Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * c-decl.c (grokdeclarator): Don't warn about implicit int in + `typedef foo = bar'. + +Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com> + + * i386.c (asm_output_function_prefix): Make 686 function + prologues not issue .types for non-global lables. + +Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru> + + * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int". + (WCHAR_TYPE_SIZE): Update appropriately. + +Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com) + + * flow.c (recompute_reg_usage): Does not return a value. + * rtl.h (recompute_reg_usage): Update prototype. + + * jump.c (jump_optimize): Show that the jump chain is not + valid when not optimizing. + +Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com> + + * rtl.def (CONSTANT_P_RTX): New. + * rtl.h (CONSTANT_P): Recognize it. + * cse.c (fold_rtx): Eliminate it. + * expr.c (can_handle_constant_p): New variable. + (init_expr_once): Initialize it. + (expand_builtin): Generate CONSTANT_P_RTX if the expression is not + immediately recognizable as a constant. + + * alpha.c (reg_or_6bit_operand): Recognize CONSTANT_P_RTX. + (reg_or_8bit_operand, cint8_operand, add_operand): Likewise. + (sext_add_operand, and_operand, or_operand): Likewise. + (reg_or_cint_operand, some_operand, input_operand): Likewise. + * alpha.h (PREDICATE_CODES): Add CONSTANT_P_RTX where needed. + +1998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net> + + * dbxout.c (dbxout_type_methods): Remove warn_template_debugging. + +Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * aclocal.m4 (GCC_NEED_DECLARATION): Accept an optional second + argument, which is typically preprocessor code used to draw in + additional header files when looking for a function declaration. + (GCC_NEED_DECLARATIONS): Likewise. + + * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit + and setrlimit, search for them in sys/resource.h. + + * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and + NEED_DECLARATION_SETRLIMIT. + + * system.h: Prototype getrlimit/setrlimit if necessary. + +Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com> + + * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended + upon. + +Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> + + * rs6000/sysv4.h (asm output): add tabs for asm directives. + +Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS. + +Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gansidecl.h (ATTRIBUTE_UNUSED): Use __unused__ not `unused'. + Don't define NULL here. Also, remove all vestiges of autoconf + based checks for bcmp/bcopy/bzero/index/rindex. + + * system.h: Immediately after including stdio.h, check for and if + necessary provide a default definition of NULL. + +Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com> + + * reload1.c (reload_cse_simplify_operands): Call + fatal_insn_not_found, not abort. + +Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com) + + * choose-temp.c (make_temp_file): Accept new argument for the + file suffix to use. Allocate space for it and add it to the + template. + * mkstemp.c (mkstemps): Renamed from mkstemp. Accept new argument + for the length of the suffix. Update template struture checks + to handle optinal suffix. + * collect2.c (make_temp_file): Update prototype. + (main): Put proper suffixes on temporary files. + * gcc.c (make_temp_file): Update prototype. + (do_spec_1): Put proper suffixes on temporary files. + +Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr> + + * invoke.texi: Document new implicit structure initialization + warning. + +Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com) + + * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for + details. + + * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO. + +Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (fix-header): Don't needlessly depend on cpperror.o. + + * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to + void since it is evaluated in a comma list. + + * mips.h (ASM_GENERATE_INTERNAL_LABEL): Always sprintf `NUM' + argument as a long and cast `NUM' to long to ensure it is of the + proper width. Wrap macro arguments in parens when they appear in + the expansion. + + * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + + * sparc.h (ASM_GENERATE_INTERNAL_LABEL): Likewise. + (ASM_DECLARE_RESULT): Fix fprintf format specifier to match + function argument return type. + (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, REGNO_OK_FOR_FP_P, + REGNO_OK_FOR_CCFP_P): Use `(unsigned)' not `U'. + + * cpplib.c (cpp_message_from_errno): Remove unneeded argument to + cpp_message. + + * dbxout.c: Fix the comments after an #endif to reflect the actual + condition tested in the preceding #if. + + * except.c (find_all_handler_type_matches): Switch to old-style + function definition. + + * expr.c (expand_builtin): Remove unused variable `type' twice. + + * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it + to an unsigned long. + + * haifa-sched.c (print_insn_chain): Remove unused function. + + * objc/objc-act.c (build_msg_pool_reference): Hide prototype and + definition. + + * toplev.c: When testing whether to include dbxout.h, also include + it when XCOFF_DEBUGGING_INFO is defined. + + * unroll.c (unroll_loop): Add parentheses around assignment used + as truth value. + +Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com> + + * config/lb1spc.asm (.div, .udiv): Replace routines. + +Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com> + + * rtl.h: Update comment about special gen_rtx variants. + * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM. + +Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com) + + * choose-temp.c (choose_temp_base): Restore original variant of + this function for compatibility. + (make_temp_file): This is the new, preferred interface to create + temporary files. + * collect2.c (choose_temp_base): Delete declaration. + (make_temp_file): Declare. + (temp_filename_length, temp_filename): Delete. + (main): Use make_temp_file to get temporary files. Use --lang-c + to force the resulting ctort/dtor file to be compiled with the C + compiler. Make sure to remove temporary files on all exit paths. + * gcc.c (make_temp_file): Provide prototype if MKTEMP_EACH_FILE is + defined. + (choose_temp_base): Only provide prototype if MKTEMP_EACH_FILE is + not defined. + (do_spec): Use make_temp_file if MKTEMP_EACH_FILE is defined. + +Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and + getwd. + + * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR, + NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD. + + * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls. + (my_strerror): Add prototype and make it static. + + * collect2.c: Likewise. + + * cpplib.c: Likewise. + + * gcc.c: Likewise, but keep `my_strerror' extern. + + * protoize.c: Likewise. + + * pexecute.c (my_strerror): Add argument to prototype. + + * system.h: Add prototypes for getcwd, getwd and strerror. Add + extern decls for sys_nerr and sys_errlist. Make abort decl + explicitly extern. + + * getpwd.c: Remove decls for getwd and getcwd. + +Sun Jun 28 02:11:16 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com> + + * jump.c (jump_optimize): Use side_effects_p & may_trap_p instead + of rtx_unsafe_p. Use modified_between_p instead of reg_set_between_p. + Allow FP moves to be optimized. + (rtx_unsafe_p): Delete. - * configure (lang_specs_files, lang_options_files): Add $srcdir to - file names when adding them to these variables. +Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com> - * c-typeck.c (pointer_int_sum): Don't distribute if intop is unsigned - and not the same size as ptrop. + * objc/archive.c: Remove <string.h> prototypes. - * function.c (assign_stack_temp): When split a slot, set base_offset - and full_size in the newly created slot. - (combine_temp_slots): Update full_size when slots are combined. +Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com) - * sh.c (reg_unused_after): New function. - * sh.md (define_peephole): Add peepholes to use r0+rN addressing mode - for some address reloads. + * tm.texi (NEED_MATH_LIBRARY): Document new target macro. - * final.c (final_start_function): If SDB_DEBUG, call - sdbout_begin_function. If XCOFF_DEBUG, call xcoffout_begin_function - instead of xcoffout_output_first_source_line. - (final_scan_insn): Don't call sdbout_begin_function or - xcoffout_begin_function. - * xcoffout.c (xcoffout_output_first_source_line): Delete. - (xcoffout_begin_function): Call dbxout_parms and - ASM_OUTPUT_SOURCE_LINE. + * Makefile.in (gencheck): Remove $(TREE_H) dependency. - * va-mips.h: Change every occurance of #if __mips>=3 to - #ifdef __mips64. - * mips/abi64.h (CPP_SPEC): Output -D__mips64 when -mips3, or -mips4, - or -mgp64. Output -U__mips64 when -mgp32. - * mips/dec-bsd.h, mips/elf64.h, mips/iris3.h: Likewise. - * mips/iris5.h, mips/mips.h, mips/netbsd.h, mips/osfrose.h: Likewise. +Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu> - * i960.c (i960_function_epilogue): Don't clear g14 for functions with - an argument block. - (i960_output_reg_insn): Likewise. - (i960_output_call_insn): Clear g14 for functions wtih an argument - block. + * dsp16xx.h (FIRST_PSEUDO_REGISTER): Add parentheses to definition. + * dsp16xx.c (next_cc_user_unsigned): New function. + Remove save_next_cc_user_code. + (print_operand): Use HOST_WIDE_INT_PRINT_* macros. + * dsp16xx.md: Call next_cc_user_unsigned instead of using + save_next_cc_user_code. + Use gen_rtx_* functions instead of gen_rtx. -Fri Jul 28 08:43:52 1995 Doug Evans <dje@canuck.cygnus.com> +Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - * i960.c (i960_arg_size_and_align): Correct alignment of XFmode - values in library calls. - * i960.md (movdi matchers): Support odd numbered regs. + * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES. -Fri Jul 28 08:37:25 1995 Michael Gschwind <mike@lanai.vlsivie.tuwien.ac.at> +Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com) - * pdp11.md (divhi3, modhi3, divmodhi4): Rewrite. + * flow.c (count_reg_sets): New function. + (count_reg_sets_1, count_ref_references): Likewise. + (recompute_reg_usage): Likewise. + * rtl.h (recompute_reg_usage): Add prototype. + * toplev.c (rest_of_compilation): Call recompute_reg_usage just + before local register allocation. + +Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com> + + * alpha.md (negsf, negdf): Revert Jan 22 change. + +Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t. + (mkstemp): Remove size specifier for variable `letters'. Call + gettimeofday, not __gettimeofday. + + * Makefile.in (EXPR_H): New dependency variable. + (c-typeck.o): Depend on $(EXPR_H) instead of expr.h. + (c-iterate.o): Likewise. + (gencheck): Depend on $(TREE_H) instead of tree.h, etc. + (stor-layout.o): Depend on $(EXPR_H) instead of expr.h. + (toplev.o): Likewise. Also depend on $(RECOG_H) instead of recog.h. + (varasm.o): Depend on $(EXPR_H) instead of expr.h. + (function.o): Likewise. + (stmt.o): Likewise. + (except.o): Likewise. + (expr.o): Likewise. + (calls.o): Likewise. + (expmed.o): Likewise. + (explow.o): Likewise. + (optabs.o): Likewise. + (sdbout.o): Likewise. + (dwarf2out.o): Likewise. + (emit-rtl.o): Likewise. + (integrate.o): Likewise. + (jump.o): Likewise. + (cse.o): Likewise. + (gcse.o): Likewise. Also depend on $(BASIC_BLOCK_H) instead of + basic-block.h. + (loop.o): Depend on $(EXPR_H) instead of expr.h. + (unroll.o): Likewise. + (combine.o): Likewise. + (reload.o): Likewise. + (reload1.o): Likewise. + (caller-save.o): Likewise. + (reorg.o): Likewise. + (alias.o): Don't depend on insn-codes.h. + (regmove.o): Depend on $(RECOG_H)/$(EXPR_H) instead of recog.h/expr.h. + (insn-emit.o): Depend on $(EXPR_H) instead of expr.h. + (insn-opinit.o): Likewise. + +Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com) + + * choose-temp.c (choose_temp_base): Remove MPW bits. Use mkstemp + instead of mktemp. + * gcc.c (MKTEMP_EACH_FILE): Define. + (main): No need to call choose_temp_base if we are going to + use choose_temp_base to create each file later. + * mkstemp.c: New file. Adapted from glibc. + * Makefile.in (xgcc, colect2, protoize, unprotoize): Link in mkstemp.o + (mkstemp.o): Add dependencies. + + * configure.in (gettimeofday): Check for its existance. + * config.in (HAVE_GETTIMEOFDAY): Define. + * configure: Rebuilt. + +1998-06-26 Michael Meissner <meissner@cygnus.com> + + * rs6000.md (ne 0, non power case): Add missing & constraint. + Name pattern ne0. + (negative abs insns): Add pattern names. + +Fri Jun 26 17:36:42 1998 Dave Love <d.love@dl.ac.uk> + + * Makefile.in (install-info): Run install-info program in separate + loop. + +Fri Jun 26 16:03:15 1998 Michael Meissner <meissner@cygnus.com> + + * haifa-sched.c (schedule_block): Add hooks for the machine + description to reorder the ready list, and update how many more + instructions can be issued this cycle. + * tm.texi (MD_SCHED_{INIT,REORDER,VARIABLE_ISSUE}): Document. + +Fri Jun 26 11:54:11 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * config/sparc/sparc.h (REGNO_OK_FOR_{INDEX,BASE,FP,CCFP}_P): + Explicitly mark the constant being compared against as unsigned. + * config/sparc/sparc.c (sparc_select, cpu_default, cpu_table): + Fully initialize final members. + (mem_aligned_8): Explicit init of offset to zero. + (output_function_prologue): Explicit init of n_regs to zero. + (output_function_epilogue): Likewise, and mark arg size as + unused. + (init_cumulative_args): Mark libname and indirect as unused. + (function_arg_pass_by_reference): Likewise for cum and named. + (sparc_builtin_saveregs): Likewise for arglist. + (sparc_flat_eligible_for_epilogue_delay): Likewise for slot. + +Fri Jun 26 06:58:54 1998 Richard Earnshaw (rearnsha@arm.com) + + * arm.h (SECONDARY_INPUT_RELOAD_CLASS): Only need a secondary reload + if reloading a MEM. + + * arm.h (arm_adjust_cost): Renamed bogus prototype from + arm_adjust_code. + (bad_signed_byte_operand): Add prototype. + * arm.c (arm_override_options): Make I unsigned. + (const_ok_for_arm): Add casts to the constants. + (load_multiple_operation): Don't redeclare elt in sub-block. + (arm_gen_movstrqi): Delete external declaration of optimize. + (gen_compare_reg): Declare parameter fp. + + * arm.c (final_prescan_insn): Only initialize scanbody if the insn + has a pattern. + +Fri Jun 26 09:31:24 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * alpha.c: Include system.h and toplev.h. + (cint8_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED. + (const48_operand): Likewise. + (mode_width_operand): Likewise. + (mode_mask_operand): Likewise. + (mul8_operand): Likewise. + (current_file_function_operand): Likewise. + (signed_comparison_operator): Likewise. + (divmod_operator): Likewise. + (any_memory_operand): Likewise. + (alpha_return_addr): Likewise for parameter `frame'. + (alpha_builtin_saveregs): Likewise for parameter `arglist'. + (vms_valid_decl_attribute_p): Likewise for parameters `decl' and + `attributes'. + (alpha_start_function): Likewise for parameter `decl'. Use + HOST_WIDE_INT_PRINT_DEC in call to fprintf. Fix various format + specifiers. Remove unused variables `lab' and `name'. + (alpha_end_function): Mark parameter `decl' with ATTRIBUTE_UNUSED. + (check_float_value): Likewise for parameter `overflow'. + (alpha_need_linkage): Likewise for parameters `name' and `is_local'. + + * alpha.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define as + taking an argument. + (ASM_OUTPUT_SHORT): Cast argument to `int' in call to fprintf. + (ASM_OUTPUT_CHAR): Likewise. + (ASM_OUTPUT_BYTE): Likewise. + (PRINT_OPERAND_ADDRESS): Use HOST_WIDE_INT_PRINT_DEC in call to + fprintf. + (PUT_SDB_EPILOGUE_END): Mention argument `NAME' in definition. + Add prototypes for functions in alpha.c. + + * alpha.md (ashldi3): Add default case in switch. + +1998-06-26 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (gcc_version, gcc_version_trigger): New macros. + (version): Initialize from $(gcc_version). + + * configure.in (version): Rename to gcc_version. + (gcc_version_trigger): New variable; call AC_SUBST for it and + emit it into the generated config.status. + * configure: Regenerate. + +Thu Jun 25 12:47:41 1998 Mark Mitchell <mark@markmitchell.com> + + * fold-const.c (make_range): Don't go looking at TREE_OPERANDs of + nodes that are not expressions. + +Thu Jun 25 15:08:16 1998 Mark Mitchell <mark@markmitchell.com> + + * invoke.texi (-fstrict-aliasing): Document. + * rtl.texi (MEM_ALIAS_SET): Document. + + * flags.h (flag_strict_aliasing): Declare. + * toplev.c (flag_strict_aliasing): Define. + (f_options): Add -strict-aliasing. + (main): Set flag_strict_aliasing if -O2 or higher. + + * tree.h (tree_type): Add alias_set field. + (TYPE_ALIAS_SET): New macro. + (TYPE_ALIAS_SET_KNOWN_P): Likewise. + (get_alias_set): Declare. + * tree.c (lang_get_alias_set): Define. + (make_node): Initialize TYPE_ALIAS_SET. + (get_alias_set): New function. + * print-tree.c (print_node): Dump the alias set for a type. + + * c-tree.h (c_get_alias_set): Declare. + * c-common.c (c_get_alias_set): New function. + * c-decl.c (init_decl_processing): Set lang_get_alias_set. + + * expr.c (protect_from_queue): Propogage alias sets. + (expand_assignment): Calculate alias set for new MEMs. + (expand_expr): Likewise. + * function.c (put_var_into_stack): Likewise. + (put_reg_into_stack): Likewise. + (gen_mem_addressof): Likewise. + (assign_parms): Likewise. + * stmt.c (expand_decl): Likewise. + * varasm.c (make_decl_rtl): Eliminate redundant clearing of + DECL_RTL. Calculate alias set for new MEMs. + + * rtl.def (REG): Add dummy operand. + (MEM): Add extra operand to store the MEM_ALIAS_SET. + * rtl.h (MEM_ALIAS_SET): New macro. + (gen_rtx_MEM): Declare. + * emit-rtl.c (gen_rtx_MEM): New function. + * gengenrtl.c (sepcial_rtx): Make MEMs special. + + * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): New macro. + (DIFFERENT_ALIAS_SETS_P): Likewise. + (canon_rtx): Propogate the alias set to the new MEM. + (true_dependence): Check the alias sets. + (anti_dependence): Likewise. + (output_dependence): Likewise. + * explow.c (stabilize): Progoate alias sets. + * integrate.c (copy_rtx_and_substitute): Likewise. + * final.c (alter_subreg): Make sure not to leave MEM_IN_STRUCT_P + in an unpredictable state. Propogate alias sets. + * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which + we have no alias information. -Wed Jul 26 10:15:52 1995 Hallvard B Furuseth (h.b.furuseth@usit.uio.no) +Thu Jun 25 16:59:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * except.h (CATCH_ALL_TYPE): Definition moved to eh-common.h. + (find_all_handler_type_matches): Add function prototype. + * eh-common.h (CATCH_ALL_TYPE): Definition added. + * except.c (find_all_handler_type_matches): Add function to find all + runtime type info in the exception table. + (output_exception_table_entry): Special case for CATCH_ALL_TYPE. + +Thu Jun 25 15:47:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (xcoffout.o): Depend on toplev.h, output.h and dbxout.h. + + * config/fp-bit.c (_fpmul_parts): Move variables `x', `ylow', + `yhigh' and `bit' into the scope in which they are used. + (_fpdiv_parts): Remove unused variables `low', `high', `r0', `r1', + `y0', `y1', `q', `remainder', `carry', `d0' and `d1'. + + * rs6000.c: Move include of output.h below tree.h. Include toplev.h. + (any_operand): Mark unused parameters `op' and `mode' with + ATTRIBUTE_UNUSED. + (count_register_operand): Likewise for parameter `mode'. + (fpmem_operand): Likewise. + (short_cint_operand): Likewise. + (u_short_cint_operand): Likewise. + (non_short_cint_operand): Likewise. + (got_operand): Likewise. + (got_no_const_operand): Likewise. + (non_add_cint_operand): Likewise. + (non_logical_cint_operand): Likewise. + (mask_operand): Likewise. + (current_file_function_operand): Likewise. + (small_data_operand): Likewise for parameters `op' and `mode' but + only when !TARGET_ELF. + (init_cumulative_args): Mark parameters `libname' with + ATTRIBUTE_UNUSED. + (function_arg_pass_by_reference): Likewise for parameters `cum', + `mode' and `named'. + (expand_builtin_saveregs): Likewise for parameter `args'. + (load_multiple_operation): Likewise for parameter `mode'. + (store_multiple_operation): Likewise. + (branch_comparison_operator): Likewise. + (secondary_reload_class): Likewise. + (print_operand): Add parentheses around & operation. + (output_prolog): Mark parameter `size' with ATTRIBUTE_UNUSED. + (output_epilog): Likewise. Cast argument to fprintf to int. + (rs6000_adjust_cost): Mark parameter `dep_insn' with ATTRIBUTE_UNUSED. + (rs6000_valid_decl_attribute_p): Likewise for parameters `decl', + `attributes', `identifier' and `args'. + (rs6000_valid_type_attribute_p): Likewise for parameter `attributes'. + (rs6000_comp_type_attributes): Likewise for parameters `type1' and + `type2'. + (rs6000_set_default_type_attributes): Likewise for parameter `type'. + + * rs6000.h (RTX_COSTS): Add parentheses around & operation. + (toc_section, private_data_section, trap_comparison_operator): Add + prototypes. + + * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add + prototypes. + + * xcoffout.c: Include toplev.h, outout.h and dbxout.h. + + * xcoffout.h (stab_to_sclass, xcoffout_begin_function, + xcoffout_begin_block, xcoffout_end_epilogue, + xcoffout_end_function, xcoffout_end_block, + xcoff_output_standard_types, xcoffout_declare_function, + xcoffout_source_line): Add prototypes. + +Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM, + noticed by grahams@rcp.co.uk. + +Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com> + + * gcc.c (default_compilers): Use new | syntax to eliminate + string concatenation. + +Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com> - * collect2.c (end_file): Fix typo in error message text. + * alpha.c (alpha_function_name): Delete. + (alpha_ra_ever_killed): Notice current_function_is_thunk. + (alpha_sa_mask, alpha_sa_size, alpha_does_function_need_gp): Likewise. + (alpha_start_function): Reorg from output_prologue. + (alpha_end_function): Reorg from output_epilogue. + * alpha.h (ASM_DECLARE_FUNCTION_NAME): Call alpha_start_function. + (ASM_DECLARE_FUNCTION_SIZE): New. + (FUNCTION_PROLOGUE, FUNCTION_EPILOGUE): Delete. + (PROFILE_BEFORE_PROLOGUE): Set. + (ASM_OUTPUT_MI_THUNK): Remove bits now output by start/end_function. + * alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): Likewise. -Wed Jul 26 09:22:22 1995 Jeff Law (law@snake.cs.utah.edu) +Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com) - * xm-pa.h (USE_C_ALLOCA): Always define. - * xm-pahpux.h (USE_C_ALLOCA): Likewise. + * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define. - * x-pa (CC): Remove useless definition. - * xm-pa.h (HAVE_STRERROR): Define. - (__BSD_NET2__): Define. +1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl> -Wed Jul 26 09:10:25 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * expr.c (expand_assignment): Rework address calculation for structure + field members to expose more invariant computations to the loop + optimizer. + (expand_expr): Likewise. - * expr.c (preexpand_calls): Don't look past a CLEANUP_POINT_EXPR. +Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com) -Wed Jul 26 08:43:42 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * local-alloc.c (block_alloc): Do not try to avoid false dependencies + when SMALL_REGISTER_CLASSES is nonzero. - * cse.c (cse_insn): When do special handling for (set REG0 REG1), - must delete REG_EQUAL note from insn if it mentions REG0. +Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de> - * loop.c (find_and_verify_loops): When moving blocks of code, verify - that the just destination is not in an inner nested loop. - (mark_loop_jump): Don't mark label as loop exit if it jumps to - an inner nested loop. + * alpha.md (call_vms, call_value_vms): Strip leading * from symbol. -Wed Jul 26 08:40:31 1995 Paul Eggert <eggert@twinsun.com> +Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu> - * cccp.c (do_include, read_name_map): Omit leading "./" and - trailing "/" when it makes sense. - (skip_redundant_dir_prefix): New function. + * expr.c (get_memory_rtx): New function. + (expand_builtin): Call get_memory_rtx for MEM arguments to builtin + string functions. -Wed Jul 26 08:36:41 1995 Michael Meissner <meissner@cygnus.com> + * expmed.c (init_expmed): Initialize all elements of *_cost arrays. - * stmt.c (emit_nop): Do not emit a nop if there is a single - insn before a label or at the start of a function. + * optabs.c: Use gen_rtx_FOO (...) instead of gen_rtx (FOO, ...). + * expr.c: Likewise. + * explow.c: Likewise. + * combine.c: Likewise. + * reload1.c: Likewise. + * gcse.c: Likewise. -Wed Jul 26 08:21:21 1995 Doug Evans <dje@cygnus.com> +Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com> - * Makefile.in (gfloat.h): Delete previous copy before updating. + * README.gnat: Add patch for new lang_decode_options interface. -Wed Jul 26 08:18:29 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> +Wed Jun 24 09:14:04 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> - * Makefile.in (STAGESTUFF): Add stamp-crtS. - (crtbeginS.o, crtendS.o, stamp-crtS): New rules; just like - crtbegin.o et al, but compiled using -fPIC. - * configure (*-*-gnu*): Add crtbeginS.o and crtendS.o to $extra_parts. + * except.c (start_catch_handler): Do nothing if EH is not on. -Wed Jul 26 08:11:52 1995 Michael Gschwind <mike@java.vlsivie.tuwien.ac.at> +1998-06-24 Manfred Hollstein <manfred@s-direktnet.de> - * pdp11.md: Fixed typos ('bhos' -> 'bhis'). + * configure.in (gxx_include_dir): Initialize default value depending on + new flag --enable-version-specific-runtime-libs; remove superfluous + default initialization afterwards. + * configure: Regenerate. -Wed Jul 26 08:05:41 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com> - * hp320.h, m68k.h, m68kv4.h (LEGITIMATE_PIC_OPERAND_P): Reject - CONST_DOUBLE with MEM with invalid pic address. - * reload1.c (real.h): Include it. - * Makefile.in (reload1.o): Depends on real.h. + * toplev.c (rest_of_compilation): Revert May 15 change. -Wed Jul 26 07:58:22 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com> - * gcc.c (MULTILIB_DIRS): Provide default if not defined. - (multilib_defaults): New static variable. - (default_arg): New static function. - (set_multilib_dir): Ignore default arguments. - (print_multilib_info): Ignore entries which use default arguments. + * reload.c (find_reloads): Fix check for failure to match any + alternative, to account for Mar 26 change in initial "best" cost. -Tue Jul 25 10:06:09 1995 Michael Meissner <meissner@cygnus.com> +Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com> - * rs6000.md (allocate_stack): Don't copy the LR register to - the new stack end. - * rs6000.c (rs6000_stack_info): Correctly store the LR in - the caller's frame, not the current frame, for V.4 calls. - * rs6000/eabi.asm (_save*, _rest*): Provide all mandated V.4 save - and restore functions, except for the save*_g functions which - return the GOT address. + * cpplib.c (do_line): Typo broke #line directive. + (cpp_message_from_errno): New function. + (cpp_error_from_errno): Call cpp_message_from_errno. + * cpplib.h (cpp_message_from_errno): New function. -Fri Jul 21 14:24:25 1995 Michael Meissner <meissner@cygnus.com> +Tue Jun 23 13:38:18 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> - * rs6000/eabi.h (__eabi): Load up r13 to be the small data - pointer, unless -mrelocatable. + * libgcc2.c (__get_eh_table_version, __get_eh_table_language): New + functions to return exception descriptor information. + (find_exception_handler): Pass match_info field to runtime matcher, + not a descriptor table entry. - * rs6000/aix3newas.h (LINK_SPEC): Import machine independent - functions if -mcpu=common. - * rs6000/milli.exp: Import file referenced in aix3newas.h. +Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk> - * rs6000/eabi.asm (__eabi): Support for fixing up user initialized - pointers when -mrelocatable is used. - * rs6000/eabi.h (ASM_OUTPUT_INT): Record any pointers initialized - by the user if -mrelocatable, to be fixed up by __eabi. - (CONST_SECTION_ASM_OP): If -mrelocatable, put read-only stuff in .data, - not .rodata, to allow user initialized pointers to be updated by __eabi. + * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to + accompany previous Makefile.in (install-info) change. - * rs6000.h (TARGET_SWITCHES): Add -mdebug-{stack,arg}. - (TARGET_{ELF,NO_TOC,TOC}): Add defaults for non system V. - (rs6000_stack): New structure to describe stack layout. - (RS6000_{REG_SAVE,SAVE_AREA,VARARGS_*}): New macros used to - support both AIX and V.4 calling sequences. - (FP_ARG_*, GP_ARG_*): Ditto. - (FP_SAVE_INLINE): Ditto. - (STARTING_FRAME_OFFSET): Modify to support both AIX and V.4 - calling sequences. - (FIRST_PARM_OFFSET): Ditto. - (REG_PARM_STACK_SPACE): Ditto. - (STACK_POINTER_OFFSET): Ditto. - (FUNCTION_ARG_REGNO_P): Ditto. - ({,INIT_}CUMULATIVE_ARGS): Ditto. - (LEGITIMATE_LO_SUM_ADDRESS_P): Ditto. - (FUNCTION_ARG{,_ADVANCE,PARTIAL_NREGS,PASS_BY_REFERENCE}): Ditto. - (SETUP_INCOMING_VARARGS): Ditto. - (EXPAND_BUILTIN_SAVEREGS): Ditto. - (CAN_ELIMINATE): Ditto. - (INITIAL_ELIMINATION_OFFSET): Ditto. - (LEGITIMATE_CONSTANT_POOL_{BASE,ADDRESS}_P): Ditto. - (GO_IF_{LEGITIMATE_ADDRESS,MODE_DEPENDENT_ADDRESS}): Ditto. - (LEGITIMIZE_ADDRESS): Ditto. - (CONST_COSTS): Ditto. - (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Ditto. - (ASM_OUTPUT_REG_{PUSH,POP}): Use reg_names to print registers. - (function declarations): Add new rs6000.c function declarations, - and delete decls of deleted functions. - (SHIFT_COUNT_TRUNCATED): Parenthesize the expression. +Tue Jun 23 10:06:07 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * eh-common.h (struct __eh_info): Remove coerced value field. + * libgcc2.c (find_exception_handler): Don't set coerced_value field. + * except.c (get_dynamic_handler_chain, get_dynamic_cleanup_chain): Use + POINTER_SIZE instead of Pmode. + (expand_start_all_catch): Call start_catch_handler() if we are not + using new style exceptions. + +Tue Jun 23 06:45:00 1998 Catherine Moore <clm@cygnus.com> + + * varasm.c (assemble_variable): Remove reference to warn_bss_align. + +Mon Jun 22 23:57:31 1998 David S. Miller <davem@pierdol.cobaltmicro.com> + + * config/sparc/sparc.md (zero_extendhidi2, extendhisi2, + extendqihi2, extendqisi2, extendqidi2, extendhidi2, adddi3, + subdi3, negdi2, call, call_value, untyped_return, nonlocal_goto, + splits and peepholes): Change remaining generic gen_rtx calls to + specific genrtl ones. + * config/sparc/sparc.c: Likewise. - * rs6000.c (init_cumulative_args): New function to support AIX - and V.4 calling sequences. - (function_arg{,_advance,partial_nregs,pass_by_reference}): Ditto. - (setup_incoming_varargs): Ditto. - (expand_builtin_saveregs): Ditto. - (rs6000_stack_info): Ditto. - (debug_stack_info): Ditto. - (direct_return): Changes to support AIX and V.4 calling sequences. - (first_reg_to_save): Ditto. - (svr4_traceback): Ditto. - (output_{prolog,epilog}): Ditto. - (print_operand): Use reg_names to print registers. Add support - for V.4 HIGH/LO_SUM address modes. - (must_save_cr): Function deleted, in rewrite of AIX/V.4 calling - sequence support. - (rs6000_sa_size): Ditto. - (rs6000_pushes_stack): Ditto. - (output_toc): Add abort if no toc. - - * rs6000.md (call insns): Add a new argument to flag a V.4 - function needs to set bit 6 of the CR. - (elf_{low,high}): New V.4 functions to create addresses via HIGH - and LO_SUM patterns. - (movsi): Use elf_{low,high} if appropriate. - (mov{si,di}_update): Name these patterns for allocate_stack. - (allocate_stack): Support for V.4 stack layout. - (sync): New pattern for V.4 trampolines to issue the sync - instruction. +Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com> + + * gcc.c (handle_braces): Recognize | between options as an or. + +Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com) + + * i386/freebsd-elf.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic. + * i386/sysv4.h (JUMP_TABLES_IN_TEXT_SECTION): Define as flag_pic. + + * i386.md (exception_receiver): Define. + +Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com> + + * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, + PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables. + (install-common): Use them. + + * gcse.c (add_label_notes): New function. + (pre_insert_insn): Call it. + * unroll.c (unroll_loop): Look for insns with a REG_LABEL note, and + pass the label to set_label_in_map. + +Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk> + + * Makefile.in (install-info): Fix typpo in previous change. + +Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com> + + * varasm.c (assemble_variable): Emit alignment warning. + +Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (varasm.o): Depend on sdbout.h. + (sdbout.o): Depend on toplev.h. + + * collect2.c (scan_prog_file): Cast fprintf argument to `long' and + use %ld specifier. + + * final.c (shorten_branches): Cast first arg of `bzero' to char *. + + * genextract.c (main): When creating insn-extract.c, mark variable + `i' with ATTRIBUTE_UNUSED. + + * genpeep.c (main): When creating insn-peep.c, mark variables + `insn', `x' and `pat' with ATTRIBUTE_UNUSED. + + * objc/init.c (__objc_tree_print): Wrap function definition in + macro `DEBUG'. + + * objc/objc-act.c (encode_array): Cast sprintf argument to `long' + and use %ld specifier. + (adorn_decl): Likewise, twice. + + * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *. + + * sdbout.c: Include output.h and toplev.h. + (PUT_SDB_INT_VAL): Use HOST_WIDE_INT_PRINT_DEV to print argument + `a'. Cast `a' to HOST_WIDE_INT to force it to always be so. + (PUT_SDB_SIZE): Likewise. + + * sdbout.h (sdbout_mark_begin_function): Add prototype. + + * stmt.c (check_for_full_enumeration_handling): Cast argument of + `warning' to long and use %ld specifier. + + * toplev.c (main): Likewise for `fprintf'. + + * toplev.h (output_file_directive): Add prototype. + + * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in + call to `fprintf'. + (precondition_loop_p): Likewise. + + * varasm.c Include sdbout.h. + (assemble_static_space): Move sometimes-unused variable `rounded' + into the scope in which it is used. - * rs6000/sysv4.h (TARGET_SWTICHES): Add -mcall-{aix,sysv}, and - -mprototype. Remove separate flag bit for -mno-toc. - (SUBTARGET_OVERRIDE_OPTIONS): Don't test for -mno-toc. - (FP_ARG_*): Adjust for V.4 calling sequences. - (RS6000_*): Ditto. - (FP_SAVE_INLINE): Ditto. - (toc_section): Eliminate use of AIX style full TOC. - (TRAMPOLINE_{TEMPLATE,SIZE}): Redefine for V.4 support. - (INITIALIZE_TRAMPOLINE): Ditto. + * mips.c (gpr_mode): Don't say `static' twice. + + * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal. + + * objc/objc-act.c (init_selector): Hide prototype and definition. + + * optabs.c (gen_cond_trap): Remove unused variable `icode'. - * rs6000/eabi.h (CPP_SPEC): Define _CALL_SYSV or _CALL_AIX, - depending on whether -mcall-sysv or -mcall-aix was used. - * rs6000/eabile.h (CPP_SPEC): Ditto. - * rs6000/sysv4le.h (CPP_SPEC): Ditto. - - * rs6000/t-eabigas (MULTILIB_{OPTIONS,DIRNAMES}): Delete no-toc - libraries, explicit big endian libraries. - * rs6000/t-ppcgas (MULTILIB_{OPTIONS,DIRNAMES}): Ditto. + * regmove.c (copy_src_to_dest): Likewise for `i'. + + * mips-tfile.c (add_local_symbol): Cast width format specifier to int. + (add_ext_symbol): Likewise. + (add_file): Likewise. + (parse_def): Likewise. + (write_varray): Use HOST_PTR_PRINTF to print a pointer. Fix + remaining format specifiers and arguments. + (write_object): Likewise, several times. + (read_seek): Likewise. + (out_of_bounds): Likewise. + (allocate_cluster): Likewise. + (xmalloc): Likewise. + (xcalloc): Likewise. + (xrealloc): Likewise. + (xfree): Likewise. + + * mips-tdump.c (print_symbol): Likewise. - * rs6000/t-eabiaix: New file for eabi, using -mcall-aix as the - default. - * rs6000/eabiaix.h: Ditto. +Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk> + + * Makefile.in (install-info): Use install-info program if + available, per GNU standard. + +Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com) + + * invoke.texi: Document -mrelax for the mn10300 and mn10200. + + * basic-block.h (init_regset_vector): Delete declaration. + * flow.c (init_regset_vector): Make it static and add a prototype. + + * bitmap.h (debug_bitmap): Declare. + + * haifa-sched.c (debug_ready_list): Make static. + + * toplev.h (fancy_abort): Declare. - * rs6000/t-eabilegas: New file for eabi on little endian systems. - * rs6000/t-ppclegas: New file for V.4 on little endian systems. +Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org) - * rs6000/t-rs6000 (MULTILIB_{OPTIONS,DIRNAMES}): Build libgcc.a - for -mcpu=common. + * basic-block.h (init_regset_vector): New declaration. - * configure (powerpc-*-eabiaix): New configuration for defaulting - to old-style AIX calling sequence. - (powerpcle*): Use new t-{eabi,ppc}legas files, to avoid building - explicit little endian multilib libraries. + * Makefile.in (sdbout.o): Add insn-codes.h to dependency. -Fri Jul 21 13:23:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * global.c: Include machmode.h amd move hard-reg-set.h before + rtl.h. - * toplev.c (main): Don't define sbrk #ifdef __alpha__. + * haifa-sched.c (insn_issue_delay, birthing_insn_p, + adjust_priority, print_insn_chaino): New declaration. + (schedule_insns): Remove declaration. + (init_target_units, get_visual_tbl_length, + init_block_visualization): Add prototype. -Tue Jul 18 19:23:44 1995 Paul Eggert <eggert@twinsun.com> + * integrate.c (pushdecl, poplevel): Remove declaration. - * cccp.c (do_include): Prefix -H output lines with spaces, not dots. - (output_dots): Remove. + * rtl.h (expand_expr): Remove declaration. - * cccp.c (main): cplusplus_comments now defaults to 1. - But clear it if -traditional or the new option -lang-c89 is given. - * gcc.c (default_compilers, cpp): Specify -lang-c89 if -ansi is given. - This turns off C++ comment recognition. + * loop.c (oballoc): Remove declaration. + (replace_call_address): Add prototype. -Tue Jul 18 19:16:38 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Sun Jun 21 01:08:17 PDT 1998 Jeff Law (law@cygnus.com) - * va-sparc.h (va_arg): Add support for 128 bit long double type. + * version.c: Bump for snapshot. -Tue Jul 18 19:11:18 1995 Jorn Rennecke (amylaar@meolyon.hanse.de) +Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com) - * c-common.c (decl_attributes, case A_ALIGNED): Handle is_type - case properly. + * i386.c (output_fp_conditional_move): Don't bother handling + (cc_prev_status.flags && CC_NO_OVERFLOW) since the INSN patterns + prevent this from happening. -Tue Jul 18 19:03:02 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * i386.md (nonlocal_goto_receiver): Delete. - * fold-const.c (fold, case CONVERT_EXPR): Don't merge conversions - if outer is to handle a type with differing precision. +Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org) -Mon Jul 17 14:37:35 1995 Pat Rankin (rankin@eql.caltech.edu) + * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and + -DCRTSTUFFS_O. + (INSTALL): cd $(srcdir) before make. - * vax/vms.h (HAVE_ATEXIT): Define. - (DO_GLOBAL_CTORS_BODY): Don't call atexit; let __do_global_ctors do it. - * vax/xm-vms.h (HAVE_VPRINTF): Define. + * flow.c (allocate_for_life_analysis, init_regset_vector): + Remove declaration. + + * function.h (get_first_block_beg): New declaration. + + * gbl-ctors.h (__do_global_dtors): Add prototype. + + * gcov-io.h (__fetch_long): New declaration. + (__store_long): Likewise. + (__read_long): Likewise. + (__write_long): Likewise. + + * gcov.c (print_usage): New declaration. + + * Makefile.in (c-iterate.o): Depend on insn-codes.h too. + +Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com) + + * calls.c (expand_call): Initialize "src" and "dest". + * stmt.c (expand_return): Likewise. + * expmed.c (extract_split_bit_field): Similarly for "result" + * gcse.c (compute_hash_table): Mark first arg as unused. + * jump.c (jump_optimize): Initialize reversep. + * tree.c (make_node): Initialize length. -Mon Jul 17 06:41:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * c-common.c (check_format_info): Initialize length_char and + fci to keep -Wall quiet. - * c-typeck.c ({unsigned,signed}_type): Handle intXX_type_node types. + * except.c (jumpif_rtx): Put declaration and definition + inside a suitable #ifdef. + (jumpifnot_rtx): Delete dead function. - * xm-alpha.h (sbrk): Add declaration. + * i386.h (output_int_conditional_move): Declare. + (output_fp_conditional_move): Likewise. + (ix86_can_use_return_insn_p): Likewise. - * convert.c (convert_to_integer): If TYPE is a enumeral type or - if its precision is not the same as the size of its mode, - convert in two steps. + * optabs.c (init_traps): Put prototype inside a suitable #ifdef. - * m68k.md (tstdi, cmpdi): Use match_scratch, not match_operand. +Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk> -Fri Jul 14 19:23:42 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + * alias.c: Include toplev.h + * caller-save.c: Include toplev.h + * combine.c: Include toplev.h + * flow.c Include toplev.h + * global.c: Include toplev.h + * jump.c: Include toplev.h + * local-alloc.c: Include toplev.h + * loop.c: Include toplev.h + * regmove.c: Include toplev.h + * stupid.c: Include toplev.h + * unroll.c: Include toplev.h + * Makefile.in: Add toplev.h dependencies. - * c-decl.c (field_decl_cmp): Rewritten to make sure that a null - name always sorts low against other names. - * c-typeck.c (lookup_field): Change name comparison to match what - field_decl_cmp does. +Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com> -Fri Jul 14 18:46:24 1995 Michael Meissner <meissner@cygnus.com> + * regmove.c (copy_src_to_dest): Add decl for loop_depth. - * rs6000.md (movsi): Convert a CONST_DOUBLE into a CONST_INT of - the low part. + * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned. + * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise. + Add parens to various macros. + +Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> + + * c-typeck.c (pop_init_level): Warn about implicit zero initialization + of struct members. + +Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com> + + * varasm.c (assemble_start_function): Add weak_global_object_name. + * tree.c (get_file_function_name): Use it. + +Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com) + + * except.c (jumpif_rtx): Make static and add prototype. + (jumpifnot_rtx): Likewise. + + * README.gnat: Add a build patch from Fred Fish. + + * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted. + + * Makefile.in (c-iterate.o): Depend on expr.h. + +Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org) + + * except.h (emit_unwinder, end_eh_unwinder): Removed. + + * dwarfout.c (getpwd): Add prototype. + (is_pseudo_reg, type_main_variant, is_tagged_type, + is_redundant_typedef): New declaration. + (output_decl): Add prototype for FUNC. + (type_main_variant): Make it static. + (is_tagged_type): Likewise. + (is_redundant_typedef): Likewise. + + * expr.c (do_jump_by_parts_greater_rtx): Removed. + (truthvalue_conversion): Likewise. + + * c-iterate.c: Include "expr.h". + (expand_expr): Use proper values when calling the function. + + * explow.c (emit_stack_save): Add prototype for FCN. + (emit_stack_restore): Likewise. + + * dwarf2out.c (getpwd): Add prototype. + + * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations. + + * c-typeck.c (c_expand_asm_operands): Use proper values when calling + expand_expr. + + * c-lex.c (yyprint): Add prototype. + (check_newline, build_objc_string): Remove declaration. + + * c-tree.h (comptypes_record_hook): Removed. + (finish_incomplete_decl): New prototype. + + * alias.c (find_base_value): Add prototype. + (true_dependence): Add prototype for function argument. + + * c-aux-info.c (xmalloc): Remove declaration. + +Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com> + + * i386.c: Include system.h. Remove redundant includes. + (optimization_options): Mark param 'size' with ATTRIBUTE_UNUSED. + (i386_cc_probably_useless_p): Likewise for 'decl', 'attributes', + 'identifier', 'args'. + (i386_valid_type_attribute_p): Likewise for 'attributes'. + (i386_comp_type_attribute_p): Likewise for 'type1', 'type2'. + (function_arg_partial_nregs): Likewise for 'cum', 'mode', 'type', + and 'named'. + (symbolic_operand): Likewise for 'mode'. + (call_insn_operand): Likewise. + (expander_call_insn_operand): Likewise. + (ix86_logical_operator): Likewise. + (ix86_binary_operator_ok): Likewise. + (emit_pic_move): Likewise. + (VOIDmode_compare_op): Likewise. + (is_mul): Likewise. + (str_immediate_operand): Likewise. + (ix86_uary_operator_ok): Likewise for 'code', 'mode', and 'operands'.yy + (asm_output_function_prefix): Likewise for 'name'. + (function_prologue): Likewise for 'file', and 'size'. + (function_epilogue): Likewise. + +1998-06-19 Jim Wilson <wilson@cygnus.com> + + * loop.h (struct induction): Clarify comment for unrolled field. + * unroll.c (find_splittable_givs): Move set of unrolled field + after address validity check. + +Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com> + + * config/fp-bit.c (INLINE): Only define if not already defined. + +1998-06-19 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (installdirs): Loop over directories in $(libsubdir) + creating probably missing ones, instead of single if statements. + +Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * c-common.c (truthvalue_conversion): Protect side effects in the + expression when splitting a complex value. + * fold-const.c (fold): Likewise. + +Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de) + + * cccp.c (hack_vms_include_specification): rewrite to handle + '#include <dir/file.h>' correctly. + +Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org) + + * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined. + +Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com) + + * i386.c (notice_update_cc): Integer conditional moves don't + affect cc0. + + * i386.md (movsfcc, movdfcc, movxfcc): Use emit_store_flag + to support LT, LE, GE, and GT signed integer comparisons. + (movsfcc+1, movsfcc+2, movdfcc+1, movdfcc+2, + movxfcc+1, movxfcc+2): Pattern doesn't match if the comparison + is LT, LE, GE, or GT. + (movdicc): Remove code resulting from an earlier patch which + didn't apply correctly. + +Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't + consider a MEM in FP mode as equal. + +Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com) + + * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for + duplicate declarations of a function. + +Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org) + + * config/float-i386.h: New. + + * configure.in (i[34567]86-*-linux-*): Set float_format to i386. + +Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com> + + * sched.c (schedule_insns): Use xmalloc not alloca for max_uid + indexed arrays. Call free at the end of the function for them. + * haifa-sched.c (schedule_insns): Likewise. + +Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com> + + * dwarf2out.c (size_of_string): Do count backslashes. + +Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow REG+REG + addressing when one register is the frame pointer or stack + pointer. Disallow REG+CONST addressing in HI mode. + +Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to + RELOAD_FOR_INSN. + +Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (c-lang.o): Depend on output.h. + + * c-lang.c: Include output.h. + + * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'. + + * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'. + + * genrecog.c (write_subroutine): When writing insn-recog.c, mark + variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem' + with ATTRIBUTE_UNUSED. + + * regmove.c (copy_src_to_dest): Make function static to match its + prototype. + + * reload1.c Include hard-reg-set.h before rtl.h to get macro + HARD_CONST. Include machmode.h before hard-reg-set.h. + + * rtl.h: Prototype `retry_global_alloc' and wrap with macro + HARD_CONST to protect usage of typedef HARD_REG_SET. + + * tree.c: Prototype `_obstack_allocated_p'. + + * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro + BSS_SECTION_ASM_OP. + +Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * pa.c: Include system.h and toplev.h. Remove redundant code. + (call_operand_address): Mark parameter `mode' with ATTRIBUTE_UNUSED. + (symbolic_operand): Likewise. + (symbolic_memory_operand): Likewise. + (pic_label_operand): Likewise. + (fp_reg_operand): Likewise. + (pre_cint_operand): Likewise. + (post_cint_operand): Likewise. + (ireg_or_int5_operand): Likewise. + (int5_operand): Likewise. + (uint5_operand): Likewise. + (int11_operand): Likewise. + (uint32_operand): Likewise. + (ior_operand): Likewise. + (lhs_lshift_cint_operand): Likewise. + (pc_or_label_operand): Likewise. + (legitimize_pic_address): Likewise. + (hppa_legitimize_address): Likewise for parameter `old'. + (output_block_move): Likewise for parameter `size_is_constant'. + (output_function_prologue): Likewise for parameter `size'. + (output_function_epilogue): Likewise. + (return_addr_rtx): Likewise for parameter `count'. + (output_mul_insn): Likewise for parameter `unsignedp'. + (hppa_builtin_saveregs): Likewise for parameter `arglist'. + (output_bb): Likewise for parameter `operands'. + (output_bvb): Likewise. + (function_label_operand): Likewise for parameter `mode'. + (plus_xor_ior_operator): Likewise. + (shadd_operand): Likewise. + (non_hard_reg_operand): Likewise. + (eq_neq_comparison_operator): Likewise. + (movb_comparison_operator): Likewise. + (pa_combine_instructions): Likewise for parameter `insns'. -Fri Jul 14 18:30:52 1995 Doug Evans <dje@cygnus.com> + * pa.h: Add prototypes for functions `output_deferred_plabels', + `override_options', `output_ascii', `output_function_prologue', + `output_function_epilogue', `print_operand', + `symbolic_expression_p', `reloc_needed', `compute_frame_size', + `hppa_address_cost', `and_mask_p', `symbolic_memory_operand', + `pa_adjust_cost', `pa_adjust_insn_length' and + `secondary_reload_class'. - * toplev.c (main): Reword dwarf/c++/-g warning. +Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com> -Fri Jul 14 18:19:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * configure.in: Don't turn on collect2 unconditionally. - * expr.h (NO_DEFER_POP): Remove last change. - * expr.c (stor_expr): Force stack adjust before NO_DEFER_POP. - (expand_expr, case COND_EXPR): Likewise. - * stmt.c (expand_start_stmt_expr): Likewise. +Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com> -Fri Jul 14 07:58:35 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * cse.c (cse_basic_block): Don't include NOTE insns in the count + that is used to decide whether or not it is time to erase the + equivalence table. - * function.c (struct temp_slot): New fields base_offset, full_size. - (assign_stack_temp): For !FRAME_GROWS_DOWNWARD, set p->size to size. - Set new fields base_offset and full_size. - (combine_temp_slots): Use new fields base_offset and full_size instead - of slot and size. +Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> - * loop.c (loop_number_exit_count): New global variable. - (loop_optimize): Allocate space for it. - (find_and_verify_loops, mark_loop_jump): Set it. - (strength_reduce, check_dbra_loop): Use loop_number_exit_count - instead of loop_number_exit_labels. - * loop.h (loop_number_exit_count): Declare it. - * unroll.c (find_splittable_{regs,givs}, final_[bg]iv_value): Use - loop_number_exit_count instead of loop_number_exit_labels. - (reg_dead_after_loop): Check loop_number_exit_count, and fail - if the count doesn't match loop_number_exit_labels. + * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero. - * cse.c (cse_insn): Ifdef out code that pre-truncates src_folded. +Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu> - * sparc.md (sethi_di_sp64): Return null string at end. + * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky. + (sched_analyze_2): Allow scheduling TRAP_IF. - * function.h (struct function): Add stdarg field. - * function.c (current_function_stdarg): New global variable. + * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF. + + * rtl.h (TRAP_CODE): New macro. + + * rtl.def (TRAP_IF): Change second operand type to rtx. + + * optabs.c (gen_cond_trap): New function. + (init_traps): New function. + (init_optabs): Call init_traps. + * expr.h: Declare gen_cond_trap. + + * jump.c (jump_optimize): Optimize jumps to and around traps. + + * sparc.md: Define trap instructions. + + * rs6000.md: Define trap instructions. + * rs6000.c (print_operand): New code 'V' for trap condition. + (trap_comparison_operator): New function. + + * m88k.md: Update use of TRAP_IF. + + * tree.h (enum built_in_function): New function code BUILT_IN_TRAP. + * c-decl.c (init_decl_processing): New builtin __builtin_trap. + * expr.c (expand_builtin): Handle BUILT_IN_TRAP. + + * expr.c (expand_builtin): Error if __builtin_longjmp second argument + is not 1. + +Wed Jun 17 15:20:00 PDT 1998 Catherine Moore <clm@cygnus.com> + + * reload1.c (spill_hard_reg): Check mode of register when + spilling from scratch_list. + +Wed Jun 17 16:25:38 EDT 1998 Andrew MacLeod (amacleod@cygnus.com) + + * except.c (add_new_handler): fix bug in finding last region handler. + * libgcc2.c (find_exception_handler): Pass exception table pointer + to runtime type matcher, not the match info field. + +Wed Jun 17 15:57:48 EDT 1998 Andrew MacLeod (amacleod@cygnus.com) + + * eh-common.h (struct eh_context): Add comment for hidden use of + field dynamic_handler_chain. + * except.c (get_dynamic_handler_chain): Comment on, and use the + correct offset of the dynamic_handler_chain field. + +1998-06-17 12:46:56 1998 Jim Wilson <wilson@cygnus.com> + + * mips/iris6.h (LINK_SPEC): Add -woff 131. + +1998-06-17 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init. + + * configure.in: Don't disable collect2 when we have GNU ld. + +Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com) + + * fold-const.c (make_range): Do not widen the type of the expression. + + * expr.c (check_max_integer_computation_mode): New function. + (expand_expr): Avoid integer computations in modes wider than + MAX_INTEGER_COMPUTATION_MODE. + * fold-const.c (fold): Likewise. + * tree.h (check_max_integer_computation_mode): Declare. + * tm.texi (MAX_INTEGER_COMPUTATION_MODE): Document it. + + * configure.in (nm): Make a link to "nm" in the build tree too. + + * mn10300.md (andsi3): Fix typo. + +Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com> + + * reload1.c (reload_cse_regs): Call bzero instead of looping. + +Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com> + + * dwarf2out.c (stripattributes): Prepend '*' to the section name. + +Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_expand_prologue, alpha_expand_epilogue): New fns. + (output_prologue, output_epilogue): Merge VMS and OSF versions; + Remove anything related to the actual code generation. + (output_end_prologue): New function. + (alpha_sa_mask, alpha_sa_size): Merge VMS and OSF versions. + (alpha_does_function_need_gp): Return false for VMS. + (alpha_function_needs_gp): Make static. + (add_long_const): Delete. + (summarize_insn): Don't assume a SUBREG is of a REG. + Prototype all static functions. Rename VMS-specific global + variables vms_*. + * alpha.h (TARGET_CAN_FAULT_IN_PROLOGUE): Default to 0. + (FUNCTION_BOUNDARY): Align to cache line. + (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER): Align to octaword. + (FUNCTION_END_PROLOGUE): New macro. + * alpha.md (attribute length): New. Mark all insns. + (return_internal, prologue_stack_probe_loop) New patterns. + (prologue, init_fp, epilogue): New patterns. + Disable peepholes. + * linux.h (TARGET_CAN_FAULT_IN_PROLOGUE): Define. + +Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com> + + * toplev.c (lang_options): Add -trigraphs option for cpplib. + +Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OUTADDR_ADDRESS + is earlier than RELOAD_FOR_OUTPUT_ADDRESS; RELOAD_FOR_INPADDR_ADDRESS + is earlier than RELOAD_FOR_INPUT_ADDRESS. + +Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com> + + * libgcc1-test.c (memcpy): Define. + +Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com> + + * genattrtab.c (struct attr_desc): Change int flags to bit + fields. Add bit fields for this being function_units_used + or *_blockage_range attributes. + (write_unit_name): New function to print a function unit name + given unit #. + (expand_units): Indicate whether this is function_units_used or + *_blockage_range attributes. + (write_toplevel_expr): Print function_units_used and + *_blockage_range attributes in a more friendly fashion. + (make_internal_attr): Indicate whether this attribute is either + function_units_used or *_blockage_range. + +Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com> + Jim Wilson <wilson@cygnus.com> + + * regmove.c (copy_src_to_dest): Do not copy src to dest if either + the source or destination is special. + +Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com> + + * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop. + +Mon Jun 15 07:16:29 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se> + + * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before + redefining it. + +Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com> + + * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o. + (ENDFILE_SPEC): Add -lgloss. + +Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * mips.c (small_int): Mark parameter `mode' with ATTRIBUTE_UNUSED. + (large_int): Likewise. + (pc_or_label_operand): Likewise. + (call_insn_operand): Likewise. + (consttable_operand): Likewise. + (m16_uimm3_b): Likewise. + (m16_simm4_1): Likewise. + (m16_nsimm4_1): Likewise. + (m16_simm5_1): Likewise. + (m16_nsimm5_1): Likewise. + (m16_uimm5_4): Likewise. + (m16_nuimm5_4): Likewise. + (m16_simm8_1): Likewise. + (m16_nsimm8_1): Likewise. + (m16_uimm8_1): Likewise. + (m16_nuimm8_1): Likewise. + (m16_uimm8_m1_1): Likewise. + (m16_uimm8_4): Likewise. + (m16_nuimm8_4): Likewise. + (m16_simm8_8): Likewise. + (m16_nsimm8_8): Likewise. + (m16_usym8_4): Likewise. + (m16_usym5_4): Likewise. + (mips_move_1word): Change type of variable `i' from int to size_t. + (mips_move_2words): Likewise. + (output_block_move): Mark parameter `libname' with ATTRIBUTE_UNUSED. + (function_arg_advance): Use HOST_PTR_PRINTF to print an address. + (function_arg): Likewise. + (function_arg_partial_nregs): Mark parameter `named' with + ATTRIBUTE_UNUSED. + (override_options): Use ISDIGIT instead of isdigit. + (mips_output_external): Mark parameter `file' with ATTRIBUTE_UNUSED. + (final_prescan_insn): Likewise for parameters `opvec' and `noperands'. + (save_restore_insns): Cast HOST_WIDE_INT arguments passed to + function `fatal' to long before printing. Use + HOST_WIDE_INT_PRINT_DEC in fprintf. Both changes done several + times in this function. + (function_prologue): Mark parameter `size' with ATTRIBUTE_UNUSED. + (function_epilogue): Likewise for parameters `file' and `size'. + Print an int with "%d" not "%ld". + (mips_select_rtx_section): Mark parameter `x' with ATTRIBUTE_UNUSED. + (mips_function_value): Likewise for parameter `func'. + (function_arg_pass_by_reference): Likewise for parameters `cum' + and `named'. + (extend_operator): Likewise for parameter `mode' + (highpart_shift_operator): Likewise. + + * mips.md (mul_acc_si): Remove unused variable `macc'. + +Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com> + + * fold-const.c (fold): Revert last change. It breaks constant + expressions somehow. + +Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex + prevent operands from being evaluated twice. + +Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru> + + * toplev.c (lang_options): Add -remap as a preprocessor option. + +Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com) + + * i386.md (cmpsi_1, cmphi_1, cmpqi_1): Remove code + which set CC_REVERSED since reload should ensure that + the operands are already the correct type. + +Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com> + + * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than + calling gen_rtx_SET. + +Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * config/rs6000/x-aix43 (AR): Delete. + (AR_FOR_TARGET_FLAGS): Add -X32_64 here. + +Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com> + + * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote. + +Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com> + + * mips.c (override_options): Replace word_mode with explicit + TARGET_64BIT check. + +Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com> + + * regmove.c (regmove_optimize): If we can't replace the + destination in an insn that sets the source, generate an explicit + move of the source to the destination. + (copy_src_to_dest): New function. + (toplevel): Include basic-block.h + + * Makefile.in (regmove.o): Add basic-block.h dependencies. + +Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com> + + * toplev.c (lang_options): Add missing options (nostdinc, idirafter). + +Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com> + + * rtl.h (rtx_def): Improve documentation. + (MEM_IN_STRUCT_P): Likewise. + +Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk> + + * c-decl.c (start_decl): Correct test for -Wmain. + + * c-decl.c (grokdeclarator): Remove unused variable "last". + +Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com> + + * expr.c (expand_builtin_setjmp): Store const1_rtx in target. + (expand_builtin_longjmp): Abort if value isn't const1_rtx. + Delete code storing value in static_chain_rtx. + (expand_builtin, case BUILT_IN_LONGJMP): Pass NULL_RTX for target + to second expand_expr call. + +Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com> + + * mips/mips.c: Remove -mabi=o32 and -mabi=n64. + +Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com> + + * cppmain.c (fatal): New function. + * configure.in (cpp_main): New configuration variable. + * configure: Regenerated. + * Makefile.in (CCCP): Use a configuration variable to select basex + for cccp. + (cppmain$(exeext)): Add @extra_cpp_objs@. + +Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com> + + * objc/objc-act.c: Add cpplib declarations. + (lang_decode_option): Initialize cpplib if necessary. + (lang_decode_option): New argc/argv interface. + * tree.h (lang_decode_option): New argc/argv interface. + * toplev.c (lang_options): Add cpp options. + (main): New interface for lang_decode_option. + * gcc.c (default_compilers): Don't call cpp for a cpplib-enabled C compiler + unless -E, -M or -MM is specified. + * cpplib.h (cpp_handle_option): New function. + * cpplib.c (cpp_handle_option): New function. + (cpp_handle_options): Now calls cpp_handle_option. + * c-tree.h (c_decode_option): New argc/argv interface. + * c-lex.c (init_parse): cpplib now initialized in c_decode_option. + * c-lang.c (lang_decode_option): New argc/argv interface. + * c-decl.c: Add cpplib declarations. + (c_decode_option): New argc/argv interface. + (c_decode_option): Call cpp_handle_option. + (c_decode_option): Now returns number of strings processed. + +Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com) + + * unroll.c (verify_addresses): Use validate_replace_rtx to undo the + changes. Abort if the undo fails. + +1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com> + + * config/rs6000/rs6000.c (output_prolog): Change locations and + directions of saving and restoring arguments of main on the stack. + +Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu> + + * reload1.c (reload_cse_simplify_operands): Do not call gen_rtx_REG + for each alternative. Do not replace a CONST_INT with a REG unless + the reg is cheaper. + +Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com) + + * decl.c (init_decl_processing): Fix typo. + + * mips.c (gpr_mode): New variable. + (override_options): Initialize gpr_mode. + (compute_frame_size): Use "gpr_mode" instead of "word_mode" to + determine size and offset of general purpose registers save slots. + (save_restore_insns, mips_expand_prologue): Similarly. + + * reload.c (find_reloads_toplev): Use gen_lowpart common to convert + between constant representations when we have (SUBREG (REG)) with + REG equivalent to a constant. + +Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se> + + * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24. + +Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com> + + * fold-const.c (fold): Even with otherwise constant trees, look for + opportunities to combine integer constants. + +Wed Jun 3 23:41:24 EDT 1998 John Wehle (john@feith.com) + + * i386.c (notice_update_cc): Clear cc_status.value2 in the + case of UNSPEC 5 (bsf). + + * i386.md (movsfcc, movdfcc, movxfcc): The floating point + conditional move instructions don't support signed integer + comparisons. + +Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com> + + * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of + overlfows. + + * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi + 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin + <glctr@abc.it>. + +Tue Jun 9 16:23:13 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * except.c (expand_start_catch): Rename to start_catch_handler. + (expand_end_catch): Delete function. + (expand_end_all_catch): Remove catch status that expand_end_catch + use to do. + * except.h (expand_start_catch): Rename prototype. + (expand_end_catch): Delete prototype. + +Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com> + + * invoke.texi: Add documentation for -mips4 and -mabi=*. + +Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de) + + * alpha/vms.h (EXTRA_SECTIONS): Add in_ctors and in_dtors. + (EXTRA_SECTION_FUNCTIONS): Add ctors_section and dtors_section. + (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define. + +Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu> + + * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX, + as the threshold to permit splitting memory operations. + +Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com) + + * mips.c (gpr_mode): New variable. + (override_options): Initialize gpr_mode. + (compute_frame_size): Use "gpr_mode" instead of "word_mode" to + determine size and offset of general purpose registers save slots. + (save_restore_insns, mips_expand_prologue): Similarly. + + * Makefile.in (LIB2FUNCS_EH): Define. Just "_eh" for now. + (LIBGCC2_CFLAGS): Remove -fexceptions. + (LIB2FUNCS): Remove "_eh". + (libgcc2.a): Iterate over LIB2FUNCS_EH and build everything in + it with -fexceptions. + + * Makefile.in (local-alloc.o): Depend on insn-attr.h. + * local-alloc.c (block_alloc): Avoid creating false + dependencies for targets which use instruction scheduling. + +Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com> + + * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define. + (ASM_FINISH_DECLARE_OBJECT): Define; + * mips/elf64.h: Likewise. + +Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com> + + * toplev.c (flag_new_exceptions): Remove extraneous `extern'. + +Mon Jun 8 23:24:48 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint. + (mulsidi3_ppc64): Delete. + +Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (varasm.o): Depend on dbxout.h. + (cse.o): Depend on toplev.h and output.h. + (gcse.o): Depend on output.h. + + * mips.c: Include system.h and toplev.h and remove redundant code. + Include output.h after tree.h so all its prototypes get activated. + * mips.md (table_jump): Remove unused variable `dest'. + + * sparc.h: Add prototype for `v8plus_regcmp_op'. + + * crtstuff.c (fini_dummy, init_dummy): Mark function definitions + with __attribute__ ((__unused__)). + (__frame_dummy): Provide prototype before use, wrap it with + EH_FRAME_SECTION_ASM_OP. + + * cse.c: Move inclusion of <setjmp.h> above local headers. + Include toplev.h and output.h. + + * dbxout.h: Add prototype for `dbxout_begin_function'. + + * final.c (final_scan_insn): Wrap variable `max_skip' in macro + ASM_OUTPUT_MAX_SKIP_ALIGN. + + * gcse.c: Include system.h and output.h. + (dump_cuid_table, dump_rd_table, dump_cprop_data, dump_pre_data): + Make extern instead of static. + (compute_can_copy): Only declare variables `reg' and `insn' when + AVOID_CCMODE_COPIES is not defined. + (record_set_info): Mark parameter `setter' with ATTRIBUTE_UNUSED. + (hash_scan_clobber): Likewise for `x' and `insn'. + (hash_scan_call): Likewise. + (record_last_set_info): Likewise for `setter'. + (mark_call): Likewise for `pat'. + (pre_insert_insn): Wrap variable `note' in macro HAVE_cc0. + + * libgcc2.c (__bb_init_prg): Replace bzero with memset and fix the + length parameter so that it multiplies the number of elements by + the sizeof(element). + + * output.h: Add prototype for `weak_finish'. + + * recog.h: Likewise for `validate_replace_src'. + + * rtl.h: Likewise for `optimize_save_area_alloca', + `fix_sched_param', `purge_addressof', `gcse_main', + `regmove_optimize', `dbr_schedule', `branch_prob' and + `end_branch_prob'. + + * toplev.h: Likewise for `set_float_handler' and + `output_quoted_string'. + + * varasm.c: Include dbxout.h. + +Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com> + + * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of + GP_REG_P. Use gr_regs instead of GR_REGS. + +Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com> + Jeff Law <law@cygnus.com> + + * Revamped multiply support for MIPS chips. + * mips.c (extend_operator): New function. + (highpart_shift_operator): Likewise. + * mips.h: Declare new functions. + (PREDICATE_CODES): Add support for new predicates. + * mips.md (mulsi3 expander): Simplify. + (mulsi_mult3): Add another constraint alternative. Support + 3 operand multiply instructions as found on various mips + parts. + (mulsi3_r4650): Delete pattern, now handled by mulsi_mult3. + (mul_acc_si): New pattern and associated splitters. + (mulsidi3 expander): Rework to use mulsidi3_64bit and + mulsidi3_internal. + (umulsidi3): New expander. + (mulsidi3_internal): Accept either sign or zero extended + operands and generate code as appropriate appropriately. + (mulsidi3_64bit): Similarly. + (smulsi3_highpart): Turn into an expander and generate code + to match new patterns. + (umulsi3_highpart): Likewise. + (xmulsi3_highpart_internal): New pattern. + (maddi patterns): Delete. Replace with: + (mul_acc_di, mul-acc_64bit_di): New patterns. + +Mon Jun 8 14:16:15 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * eh-common.h: Remove NEW_EH_MODEL compile time flag, and replace with + flag_new_exceptions runtime flag. + (struct old_exception_table): New struct which represents what + the exception table looks like without the new model. + (NEW_EH_RUNTIME): New value used as a tag in the exception table to + flag that this is a new style table. + * except.h: Remove compile time flag NEW_EH_MODEL. + (expand_builtin_eh_stub_old): New prototype. + * tree.h (enum built_in_function): Add BUILT_IN_EH_STUB_OLD. + * expr.c (expand_builtin): New builtin func BUILT_IN_EH_STUB_OLD. + * c-decl.c (init_decl_processing): Add new builtin function + __builtin_eh_stub_old. + * final.c (final_scan_insn): Replace compile time flag NEW_EH_MODEL. + * flags.h (flag_new_exceptions): New runtime flag. + * toplev.c (flag_new_exceptions): Initialize default to 0, + -fnew-exceptions sets to 1. + * except.c (output_exception_table_entry): Output New style exception + identifier into table, and replace compile time flag NEW_EH_MODEL + with runtime flag flag_new_exceptions. + (output_exception_table): Replace compile time flag NEW_EH_MODEL. + (expand_builtin_eh_stub_old): Duplicates original functionality of + expand_builtin_eh_stub. + (expand_builtin_eh_stub): Replace compile time flag NEW_EH_MODEL. + * libgcc2.c (find_exception_handler): Remove NEW_EH_MODEL #ifdefs. + (old_find_exception_handler): New func, same as find_exception_handler + except it works on the old style exception table. + (__throw): Replace NEW_EH_MODEL. Detect new model based on presence + of identifier in the exception table, and call appropriate routines. + +Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com> + + * function.c: Define current_function_cannot_inline. (push_function_context_to): Save it. (pop_function_context_from): Restore it. - (assign_parms): Set it. - (init_function_start): Clear it. - * output.h (current_function_stdarg): Declare it. - * i960.md: Modify all patterns which handle stores to memory to also - check current_function_varargs and current_function_stdarg. + * function.h (struct function): Provide it a home. + * output.h: Declare it. + * integrate.c (function_cannot_inline_p): Check it. + +Mon Jun 8 10:43:15 1998 Richard Henderson <rth@cygnus.com> + + * expr.c (force_operand): Detect PIC address loads before + splitting arithmetic. + +Mon Jun 8 09:22:38 PDT 1998 Jeff Law (law@cygnus.com) - * reorg.c (fill_simple_delay_slots): When trying to take instruction - from after the branch, don't continue past target label. Local - variables passed_label and target_uses are no longer necessary. + * version.c: Bump for snapshot. -Thu Jul 13 19:30:04 1995 Jeff Law (law@snake.cs.utah.edu) +Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk> - * pa.c (output_bb): Fix error in long backwards branch with - nullified delay slot. + * tree.c (tree_class_check): Add braces to eliminate ambigious + else warning. + (tree_check): Likewise. -Thu Jul 13 19:26:13 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org) - * expmed.c (SHIFT_COUNT_TRUNCATED): Use #ifdef not #if. + * reg-stack.c (subst_stack_regs_pat): Make sure the top of + stack is the destination for conditional move insn. -Mon Jul 10 20:16:44 1995 Paul Eggert <eggert@twinsun.com> +Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com> - * cccp.c (rescan): Don't address outside of array when - preprocessing C++ comments. + * tree.h (TREE_VEC_END): Cast unused value to void. -Mon Jul 10 20:05:46 1995 Michael Meissner <meissner@tiktok.cygnus.com> + * i386.c (print_operand): Use %lx for long operand. - * rs6000.c (expand_block_move): Remove #if 0 conditionals - against using larger block moves. +Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com> - * t-rs6000 (EXTRA_PARTS): Copy milli.exp to release dir. - (milli.exp): Copy to build dir from machine dependend dir. + * alpha.c (summarize_insn): Ignore rtl slot format 'i'. -Mon Jul 10 20:03:29 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu> - * arm.md (matcher for (shiftable_op (cond-exp) (reg))): If - shiftable_op is minus, then subtract from zero when cond fails. + * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long + conversion functions. -Mon Jul 10 19:58:26 1995 John F. Carr <jfc@mit.edu> +Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com> - * sparc.h (SELECT_SECTION): Use TREE_CODE_CLASS instead of directly - referencing tree_code_type. + * toplev.c (flag_exceptions): Default to 0. + (compile_file): Remove flag_exceptions == 2 hack. + (main): Call lang_init_options. + * tree.h: Declare it. + * c-lang.c: Implement it. + * objc/objc-act.c: Likewise. -Mon Jul 10 19:54:31 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Sun Jun 7 12:27:30 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.md (restore_stack_block): Generate MEM and specify mode. + * rs6000.h (STACK_SAVEAREA_MODE): SAVE_FUNCTION is VOIDmode. + * rs6000.c (rs6000_output_load_toc_table): Use fputs. + (output_function_profiler): Use asm_fprintf and fputs. + +Sat Jun 6 12:17:12 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gencheck.c: Remove redundant stdio.h include. Add a definition + of xmalloc for when we are forced to link with alloca.o. + + * reload1.c (reload_reg_free_for_value_p): Use `(unsigned)1' + instead of `1U'. + + * fold-const.c (constant_boolean_node): Make definition static to + match the prototype. + +Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com> + + * gcc.c (lang_specific_pre_link): New LANG_SPECIFIC_DRIVER function. + (lang_specific_extra_outfiles): New LANG_SPECIFIC_DRIVER variable. + (do_spec, input_filename, input_filename_length): Make public. + (main): Adjust outfiles allocation by lang_specific_extra_outfiles. + Call lang_specific_pre_link befor elinking. + +Fri Jun 5 12:29:28 1998 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (rank_for_schedule): For "equally good insns", prefer + the insn which has the most insns dependent on it. + +Fri Jun 5 09:03:22 1998 John Carr <jfc@mit.edu> + + * alias.c (find_base_value): Avoid reading past end of reg_base_value. + +Fri Jun 5 03:05:34 1998 Richard Henderson <rth@cygnus.com> + + * alpha.md (insxh-1): New insxl pattern for combine. + +Fri Jun 5 01:12:15 1998 H.J. Lu (hjl@gnu.org) + + * i386/i386.c (output_fp_conditional_move): New function + to output floating point conditional move. + (output_int_conditional_move): New function to output integer + conditional move. + + * i386/i386.md (movsicci+5, movhicc+5, movdicc+5): Call + output_int_conditional_move () to output int conditional move. + (movsfcc+5, movdfcc+5, movxfcc+5): Call + output_fp_conditional_move () to output floating point + conditional move. + + * i386/i386.c (put_condition_code): In INT mode, check + cc_prev_status.flags & CC_NO_OVERFLOW for GE and LT. + +Thu Jun 4 16:09:51 1998 Dave Brolley <brolley@cygnus.com> + + * dbxout.c (dbxout_type): Output arrays of bits as if + they were bitstrings for Chill + +Thu Jun 4 14:35:27 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * tree.c (get_inner_array_type): New function. + * tree.h (get_inner_array_type): Prototype. + * expr.h (STACK_SAVEAREA_MODE): New macro. + * expr.c (expand_builtin_setjmp): Initialize sa_mode using + STACK_SAVEAREA_MODE. + (expand_builtin_longjmp): Likewise. + * explow.c (emit_stack_save): Likewise. + (allocate_dynamic_stack_space): Use Pmode not insn_operand_mode. + + * rs6000/aix41.h (ASM_CPU_SPEC): Define relative to ASM_DEFAULT_SPEC. + (CPP_CPU_SPEC): Define relative to CPU_DEFAULT_SPEC. + * rs6000/aix43.h: New file. + * rs6000/t-aix43: New file. + * rs6000/x-aix41: New file. + * rs6000/x-aix43: New file. + * configure.in (rs6000-ibm-aix*): Use them. + * rs6000/powerpc.h: Delete. + * rs6000/sysv4.h: Move necessary powerpc.h definitions to here. + * rs6000/netware.h: and here. + * rs6000/win-nt.h: and here. + + * rs6000/rs6000.c (processor_target_table, 620): Do not affect + MASK_POWERPC64. + (rs6000_override_options): Ignore flag_pic for AIX. + (rs6000_immed_double_const): Delete. + (u_short_cint_operand): Don't assume 32-bit CONST_INT. + (reg_or_u_short_operand): Don't assume 32-bit CONST_INT. + (num_insns_constant): mask64_operand() is 2 insns. + (logical_operand): Don't assume 32-bit CONST_INT. + (non_logical_cint_operand): Don't assume 32-bit CONST_INT. + (easy_fp_constant): Any CONST_DOUBLE_HIGH is okay for 64-bit. + (mask_constant): HOST_WIDE_INT parameter. + (non_and_cint_operand): Delete. + (mask64_operand): New function. + (and64_operand): New function. + (function_arg_advance): DImode arguments do not need special + alignment when 64-bit. + (function_arg): Likewise. + (setup_incoming_varargs): Reverse reg_size assignment. + (print_operand): HOST_WIDE_INT second parameter. + (print_operand, 'B'): New case. + (print_operand, 'M'): Fix typo in lossage string. + (print_operandm 'S'): New case. + (rs6000_stack_info): Reverse reg_size assignment. Use total_raw_size + to compute AIX push_p. Use reg_size to compute {cr,lr}_save_offset. + (rs6000_output_load_toc_table): Reverse init_ptr assignment. Use + TARGET_64BIT not TARGET_POWERPC64. Convert fprintf to fputs. + Load GOT highpart, don't add it. Add lowpart with {cal|la}. + (rs6000_allocate_stack_space): Use {cal|la}. + (output_epilog): Use {cal|la} + (output_function_profiler): Add call glue to mcount call. + Load GOT highpart, don't add it. Add lowpart with {cal|la}. + + * rs6000/rs6000.h (TARGET_SWITCHES): Add powerpc64. + (STACK_BOUNDARY): Depend on TARGET_32BIT. + (ADJUST_FIELD_ALIGN): Calculate array alignment using innermost type. + (CONST_OK_FOR_LETTER_P): Don't assume 32-bit CONST_INT. + (EXTRA_CONSTRAINTS): Remove NT 'S' and 'T'. Replace 'S' with + 64-bit mask operand. + (RS6000_SAVE_TOC): Depend on TARGET_32BIT. + (STACK_SAVEAREA_MODE): New macro. + (LEGITIMATE_CONSTANT_P): DImode okay for 64bit. + (LEGITIMIZE_RELOAD_ADDRESS): New macro. + (RTX_COSTS, AND/IOR/XOR): Reflect current machine description. + (ASM_FILE_START): Emit 64-bit ABI directive. + (ASM_DECLARE_FUNCTION_NAME): Align CSECT on doubleword in 64-bit mode. + (ASM_OUTPUT_SPECIAL_POOL_ENTRY): DImode okay for 64-bit. + (PREDICATE_CODES): Add "and64_operand" and "mask64_operand". + Delete "non_and_cint_operand". "input_operand" includes CONST_DOUBLE. + + * rs6000/rs6000.md (iorsi3, xorsi3): Use HOST_WIDE_INT for mask. + Restore define_splits. + (floatsidf2, floatunssidf2): Remove !TARGET_POWERPC64 final constraint. + (floatsidf2_internal, floatunssidf2_internal2): Likewise. + Do not specify base register operand mode. + (floatsidf2_loadaddr): Do not specify base register operand mode. + (floatsidf2_store1, floatsidf2_store2): Operand 1 must be base + register; do not specify mode. Remove !TARGET_POWERPC64 final + constraint. + (floatsidf2_load): Do not specify base register operand mode. Remove + !TARGET_POWERPC64 final constraint. + (fix_truncdfsi2_internal, fix_truncdfsi2_{store,load}): Do not specify + base register operand mode. + (adddi3): Split large constants early. + (absdi3): Shift by 63, not 31. + (*mulsidi3_ppc64): New pattern. + (rotldi3): Add masking combiner patterns. + (anddi3): Add rldic{r,l} masking. Remove split of large constants + because PPC insns zero-extend. + (iordi3, xordi3): Split large constants early. + (movsi matcher): Remove S and T constraints. + (movsf const_double): create SImode constant from TARGET_DOUBLE. + (movdf_hardfloat32): Add default abort() case. + (movdf easy_fp_const): create DImode constant from TARGET_DOUBLE. + (movdi): Remove 64-bit constant generator. Try to convert + CONST_DOUBLE to CONST_INT. Handle TOC memory constants. + (movdi_32): Add default abort() case. + (movdi_64): Add numerous ways to split 64-bit constants. + Make catch-all define_split more optimal and never FAIL. + (movti_ppc64): Add default abort() case. + (allocate_stack): Remove operand modes. Use Pmode. + (restore_stack_block): Remove operand modes. Generate Pmode + temporary. + (save_stack_nonlocal, restore_stack_nonlocal): Generate Pmode + temporary. Save area is double Pmode. + (call_indirect_aix64, call_value_indirect_aix64): New patterns. + (call, call_value): Do not specify address operand mode. Choose + appropriate AIX ABI. + (*call_local64, *ret_call_local64): New patterns. + (*call_nonlocal_aix64, *ret_call_nonlocal_aix64): New patterns. + (*ret_call_nonlocal_aix32): Use call_value_indirect for REG. + (compare): Materialize DImode truthvalues. - * protoize.c (reverse_def_dec_list): Delete const qualifiers from - local variables, and delete casts which were casting away const. +Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org> -Mon Jul 10 19:14:39 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * expr.c (safe_from_p): Avoid combinatorial explosion + over duplicate SAVE_EXPRs by ensuring we never recurse + on one that has already been visited. - * c-lang.c (finish_file): Add missing parm to start_function call. +Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk> - * jump.c (jump_optimize): Pass outer_code arg to rtx_cost. + * loop.c (check_dbra_loop): Initialise final_value before + normalizing the loop. - * varasm.c (assemble_name, bc_assemble_integer): Call - bc_emit_labelref with proper args. +Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * function.c (setjmp_args_warning): Remove bogus arg. + * reload1.c (reload_reg_free_for_value_p): New arguments out and + reloadnum. Changed all callers. -Mon Jul 10 18:20:54 1995 Fergus Henderson (fjh@cs.mu.oz.au) +1998-06-03 Ulrich Drepper <drepper@cygnus.com> - * gcc.c (p{fatal,error}_with_name, perror_exec): Quote filename. + * system.h: Add _() and N_() macros in preparation for gettext. -Mon Jul 10 18:12:51 1995 Gran Uddeborg (uddeborg@carmen.se) +Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * i386/iscdbx.h (STARTFILE_SPEC): Handle -Xp. + * c-common.c (check_format_info): Put back check for C9x `hh' + length modifier. Warn about %n format writing into const. Remove + obsolete comment. + (format_char_info): Fix comments. -Wed Jul 5 02:42:17 1995 Per Bothner (bothner@spiff.gnu.ai.mit.edu) + * configure.in: Set float_format to m68k for all m68k targets that + do not override LONG_DOUBLE_TYPE_SIZE. + * config/float-m68k.h: New file. - * cpphash.h (enum node_type): Remove unneeded and non-standard - forward declaration. +Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com> -Sat Jul 1 20:15:39 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * jump.c (jump_optimize): Remove debug messages accidentally left in + with the previous change. - * mips/t-mips, mips/t-mips-gas (MULTILIB_*, LIBGCC, INSTALL_LIBGCC): - Delete. +Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com> - * sparc/sol2.h (LINK_SPEC): Revert March 16 change. Do not add -R - for each -L. - - * collect2.c (libcompare): Verify that file name extensions are valid. - Put files with invalid extensions last in the sort. + * expr.c (store_expr): Revert stray patch associated with + 1998-05-23 commit. - * integrate.c (integrate_decl_tree): Set DECL_ABTRACT_ORIGIN before - pushdecl call for local variables. +Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com> -Sat Jul 1 08:13:38 1995 Richard Earnshaw (rearnsha@armltd.co.uk) + * jump.c (rtx_unsafe_p): New function. + (jump_optimize): Use it on if/then/else transformations and + conditional move transformations. - * cpplib.c (output_line_command): If not emitting #line directives - delay returning until after adjust_position has been called. +Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * arm.md (mov{si,sf,df}cc): Call gen_compare_reg to generate - the condition code register. + * fold-const.c (fold, case EQ_EXPR): When folding VAR++ == CONST + or VAR-- == CONST construct a proper mask if VAR is a bitfield. + Cope with CONST being out of range for the bitfield. -Sat Jul 1 06:55:09 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> - * fold-const.c (decode_field_reference): New parm PAND_MASK. - (unextend): New parm MASK. - (fold_truthop): Pass new parms to decode_field_reference and unextend. + * expr.c (emit_move_insn_1): When moving complex values in several + steps, emit a CLOBBER to show the destination dies. - * va-alpha.h (__va_tsize): Use __extension__ to avoid warning - on use of `long long'. +Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com) - * expr.h (NO_DEFER_POP): Do any pending stack adjusts. + * Makefile.in (site.exp): Use the object testsuite directory as + the temporary directory. - * recog.c (register_operand): Disallow subreg of reg not allowed to - change size. + * expr.c (expand_expr, case ADDR_EXPR): Handle taking the + address of an ADDRESSOF rtx. -Thu Jun 29 05:51:57 1995 Jeff Law (law@snake.cs.utah.edu) +1998-06-02 Mike Stump <mrs@wrs.com> - * pa.md (reload addsi3): New pattern to avoid reload lossage - with register eliminations. + * expr.c (expand_builtin_setjmp): Handle BUILTIN_SETJMP_FRAME_VALUE. + * i960.h (SETUP_FRAME_ADDRESSES, BUILTIN_SETJMP_FRAME_VALUE): Define. + * i960.md (ret, flush_register_windows): Define. + (nonlocal_goto): Likewise. Nested function nonlocal gotos don't + work yet. + * tm.texi (BUILTIN_SETJMP_FRAME_VALUE): Document new macro. - * pa.c (output_cbranch): When checking for a jump to the given - insn's delay slot, handle the case where JUMP_LABEL for the - given insn does not point to the first label in a series of - labels. - (output_bb, output_dbra, output_movb): Likewise. +Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com> -Wed Jun 28 18:04:56 1995 Jeff Law (law@snake.cs.utah.edu) + * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work + around an OSF/1 library bug wrt sign-extension of inputs. - * pa.h (PIC_OFFEST_TABLE_REGNUM_SAVED): Define to %r4. - (CONDITIONAL_REGISTER_USAGE): Make it fixed when compiling - PIC code. - (INIT_EXPANDERS): Delete. - * pa.c (hppa_save_pic_table_rtx): Delete variable. - (hppa_expand_prologue): For PIC generation, copy the PIC - register into a fixed callee register at the end of the - prologue of non-leaf functions. - * pa.md (call expanders): Reload the PIC register from the - fixed callee saved register. Don't try to save the PIC - register before the call. +Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com> -Wed Jun 28 18:01:14 1995 Stan Cox (coxs@dg-rtp.dg.com) + * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0. - * m88k/dguxbcs.h (ASM_SPEC): Removed -h flag. - * m88k/dgux.h (ASM_SPEC): Likewise. +Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com> -Wed Jun 28 17:01:58 1995 David Edelsohn <edelsohn@mhpcc.edu> + * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define. - * rs6000.c (processor_target_table): Remove CPU name synonyms. - * rs6000.h (CPP_SPEC): Likewise. - * rs6000/sysv4.h (CPP_SPEC): Likewise. - (ASM_SPEC): Likewise. - * rs6000/sysv4le.h (CPP_SPEC): Likewise. - * rs6000/eabile.h (CPP_SPEC): Likewise. - * rs6000/powerpc.h (CPP_SPEC): Likewise. - (ASM_SPEC): Set assembler target according to compiler target. - * rs6000/aix3newas.h (CPP_SPEC): Likewise. - (ASM_SPEC): Likewise. - * rs6000/aix41.h (CPP_SPEC): Likewise. - (ASM_SPEC): Likewise. + * varasm.c (assemble_variable): Augment alignment warning. -Wed Jun 28 16:25:53 1995 Gran Uddeborg (uddeborg@carmen.se) +Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com> - * i386/x-isc3 (INSTALL_HEADERS_DIR): Delete; done by configure. + * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result + in the presence of IEEE negative 0's. -Wed Jun 28 16:10:47 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Sun May 31 16:11:41 1998 John Wehle (john@feith.com) - * xm-rs6000.h (alloca): Extern decl added for non-GNU compiler. + * reload.c (find_reloads): Record the existing mode if + operand_mode == VOIDmode before replacing a register with + a constant. + * i386.md (tstsi, tsthi, tstqi, tstsf, tstdf, tstxf): Set + i386_compare_op1 to const0_rtx for the benefit of the + conditional move patterns. + (movsicc, movhicc, movsfcc, movdfcc, movxfcc, movdicc): Rewrite + based on suggestions from Jim Wilson. -Wed Jun 28 11:31:30 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Sun May 31 00:44:02 PDT 1998 Jeff Law (law@cygnus.com) - * cpplib.c (progname): Remove definition from here. + * version.c: Bump for snapshot. - * final.c (final_scan_insn): Fix error in last change. +Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com> - * rtlanal.c (reg_set_p_1): Now static; add extra parm. + * Makefile.in (fixinc.sh): Update rules again. - * stmt.c: Delete redundant forward decls. - (expand_anon_union_decl): Correctly call expand_decl. +Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com) - * toplev.c (strip_off_ending): Strip off any ending; don't - pretend we know what valid endings are. + * extend.texi: Bring back reference to trampoline paper. - * svr4.h (ASM_OUTPUT_SECTION_NAME): Don't crash if DECL is null. +Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com> - * rs6000.md ({load,store}_multiple): Don't use indirect_operand - in define_insn; use explicit MEM of register_operand instead. + * Makefile.in (USER_H): Add stdbool.h. + * ginclude/stdbool.h: New file. -Tue Jun 27 11:42:56 1995 Stephen L Moshier <moshier@world.std.com> +Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com) - * i386/i386.c (print_operand, case `J'): Use jns for GE and js for - LT. + * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER + of a non-note insn. -Tue Jun 27 07:58:55 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * gcse.c (pre_delete): Fix code to determine the mode of + the reaching pseudo register. - * expr.c (expand_expr, TARGET_EXPR): Only use original_target - if !ignore. +Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> -Tue Jun 27 07:27:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * Makefile.in (GEN): Add gencheck + (STAGESTUFF): Add tree-check.h and gencheck. - * fold-const.c (fold_truthop): Commute unextend and convert on - l_const and r_const. +Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com> - * c-common.c (decl_attributes, case A_CONSTRUCTOR, A_DESTRUCTOR): - Set TREE_USED. + * Makefile.in (cstamp-h.in): Remove before trying to recreate. + (fixinc.sh): Set some additional environment variables before + calling mkfixinc.sh. - * final.c (final_scan_insn): Don't call alter_cond unless - condition is on cc0. +Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com) - * stmt.c (expand_asm_operands): Handle input operands that may not - be in a register. + * reload.c (find_reloads): Do not force a reloads of match_operators. -Mon Jun 26 19:23:05 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Thu May 28 10:22:22 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> - * arm/lib1funcs.asm (L_dvmd_tls): Renamed from L_divmodsi_tools. - * arm/t-semi (LIB1ASMFUNCS): Rename _dvmd_tls from _divmodsi_tools. + * except.h (remove_handler): Add new prototype. + * except.c (remove_handler): New function to remove handlers + from an exception region. + * flow.c (find_basic_blocks_1): Remove handlers from regions when + handler label is deleted; remove exception regions with no handlers. -Mon Jun 26 19:18:06 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com> - * unroll.c (find_splittable_regs): When completely unrolling loop, - check for non-invariant initial biv values. + * except.h (rtx): Define rtx type correctly if needed. + * function.h (rtx): Ditto. + (tree): Define tree type correctly if needed. -Mon Jun 26 19:13:54 1995 Gran Uddeborg <uddeborg@carmen.se> + * c-pragma.c (toplevel): Include rtl.h. - * configure (i[345]86-*-isc*): Fix misspelled "rfile" to "ifile". + * stor-layout.c (toplevel): Move include of rtl.h before + except.h. -Mon Jun 26 18:58:22 1995 Mike Stump <mrs@cygnus.com> + * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies. + (tree.o): Add except.h dependency. - * expr.c (expand_expr, case COND_EXPR): Protect the condition from - being evaluated more than once. - (do_jump, case TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR): Likewise. +Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com) -Mon Jun 26 18:52:36 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * reload1.c: Revert accidental checkin. - * fixincludes (string.h): Fix return value for mem{ccpy,chr,cpy,set} - and str{len,spn,cspn} on sysV68. + * configure.lang: Fix thinko when adding a definition for + target_alias to the Makefile. -Mon Jun 26 06:54:50 1995 Michael Meissner (meissner@cygnus.com) +Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com) - * i386/osfrose.h (LONG_DOUBLE_TYPE_SIZE): Go back to making long - double == double. + * config/sparc/lb1spc.asm (.rem and .urem): Replace + routines. -Thu Jun 22 19:14:41 1995 Pat Rankin (rankin@eql.caltech.edu) +Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com) - * make-cc1.com (if DO_LINK): Skip c-parse.* processing when - only relinking. - (gas_message): Update to reflect current version, and give - a different message if/when no version of gas is found.xo + * arm.c (arm_gen_constant): Rework to eliminate uninitialized + variable warnings. Don't generate scratch registers if only + counting insns. + (find_barrier): Eliminate unused variable SRC. -Thu Jun 22 18:52:37 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +1998-05-27 Manfred Hollstein <manfred@s-direktnet.de> - * arm/lib1funcs.asm (___modsi3): Correctly set SIGN register for - modulo involving negative numbers. + * toplev.h (rtx_def): Provide global declaration to avoid + `limited scope' warnings. -Thu Jun 22 18:32:27 1995 Uwe Seimet (seimet@chemie.uni-kl.de) +Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu> - * xm-atari.h (HZ): Now 100 and don't define if already defined. + * Makefile.in (gencheck.o): Use HOST_CC. + * i386/t-mingw32: New file. + * configure.in (i386-*-mingw32*): Use. -Thu Jun 22 18:26:12 1995 Jeffrey A Law (law@snake.cs.utah.edu) +Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com) - * calls.c (expand_call): Correctly handle returning BLKmode - structures in registers when the size of the structure is not - a multiple of word_size. - * stmt.c (expand_return): Likewise. + * arm.c (bad_signed_byte_operand): New predicate function. + * arm.h (PREDICATE_CODES): Add it to the list. + * arm.md (*extendqi[sh]i_insn): Split any addresses that ldrsb + can't handle. + (define_split): Two new splits for above insns. - * pa-gux7.h (LIB_SPEC): Undefine before redefining. - * pa-hpux.h (LIB_SPEC): Likewise. - * pa-hpux7.h (LIB_SPEC): Likewise. + * arm.c: Include toplev.h. + (arm_override_options): Add parentheses around use of tune_flags. + (arm_split_constant): Remove unused variable. + (arm_gen_constant, arm_gen_movstrqi, add_constant): Likewise. + (output_func_prologue, arm_expand_prologue): Likewise. + (arm_canonicalize_comparison): Make I unsigned; rework constants + accordignly. Add missing paratheses around << operation. + (arm_rtx_costs): Correctly parenthesise MULT costs. Add a DEFAULT + clause. + ({load,store}_multiple_sequence): Initialize BASE_REG. + (select_dominance_cc_mode): Add DEFAULT clauses. + (broken_move): Return zero if the destination is not a register. + (arm_reorg): Move unused REGNO declaration into the dead code. + * arm.h (CANONICALIZE_COMPARISON): Ensure OP1 is updated. - * genmultilib: Work around hpux8 /bin/sh case bug. +Mon May 25 22:49:56 PDT 1998 Jeff Law (law@cygnus.com) - * pa.h (LIB_SPEC): Define to avoid -lg. + * version.c: Bump for snapshot. -Thu Jun 22 18:19:09 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Mon May 25 11:56:24 PDT 1998 Jeff Law (law@cygnus.com) - * expr.c (expand_expr, TARGET_EXPR): Use original_target. + * version.c: Bump for snapshot. - * collect2.c (locatelib): Fix parsing of LD_LIBRARY_PATH. +Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com> -Thu Jun 22 18:15:54 1995 Paul Eggert <eggert@twinsun.com> + * cpperror.c (v_cpp_message): Remove static prototype. + * cpplib.c (v_cpp_message): Move prototype to cpplib.h. + * cpplib.h (v_cpp_message): Add protoptype. + (stdarg.h,varargs.h): Needed for v_cpp_message prototype. - * configure: Create an empty Makefile.sed first, to work - around a Nextstep 3.3 bug. +Sun May 24 20:36:15 PDT 1998 Jeff Law (law@cygnus.com) -Thu Jun 22 18:03:44 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * version.c: Bump for snapshot. - * Makefile.in (STAGESTUFF): Add stamp-crt. - (crtbegin.o, crtend.o): Now depend on stamp-crt. - (stamp-crt): New rule, to actually build crt{begin,end}.o. - - * collect2.c (main): Unlink export_file before we return. +Sun May 24 02:08:57 PDT 1998 Jeff Law (law@cygnus.com) -Thu Jun 22 14:25:56 1995 Michael Meissner (meissner@cygnus.com) + * version.c: Bump for snapshot. - * rs6000.h (STRIP_NAME_ENCODING): Store NAME and strlen(NAME) into - local variables; cast result of alloca to avoid compiler warnings. +1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Tue Jun 20 18:25:29 1995 Douglas Rupp (drupp@cs.washington.edu) + * m68k.h: Declare more functions used in macros. + (REG_CLASS_CONTENTS): Completely embrace initializer. + * m68k.md (adddi3, subdi3): Add abort call to avoid warning + about returning no value. + * cse.c (find_best_addr): Declare p and found_better only if + needed. + * dbxout.c (dbxout_continue): Define only if DBX_CONTIN_LENGTH > 0. + * dwarfout.c (string_length_attribute): #if 0 away. + * function.c (expand_function_end): Define varible blktramp only + if needed. + * jump.c (find_insert_position): Define only if !HAVE_cc0. + * loop.c (combine_givs_p): Define variable tem only if needed. + * real.c: Comment out unused functions eabs, eround, + e{24,53,64,113}toasc and eiinfin. - * alpha/config-nt.sed, i386/config-nt.sed: Edit to add - a missing $(exeext) for CCCP. -Tue Jun 20 18:18:00 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br> - * protoize.c (default_include): Use name and two ints to be - compatible with definition of INCLUDE_DEFAULTS. + * Makefile.in (boostrap2-lean, bootstrap3-lean, + bootstrap4-lean): New targets. -Mon Jun 19 19:24:29 1995 Ted Lemon <mellon@toccata.fugue.com> +Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com) - * mips/netbsd.h (ASM_DECLARE_FUNCTION_NAME): Don't emit function label. + * warn_summary, test_summary: Moved into the contrib directory. -Mon Jun 19 18:34:55 1995 Jason Merrill <jason@phydeaux.cygnus.com> +1998-05-23 Manfred Hollstein <manfred@s-direktnet.de> - * fixincludes: Don't define wchar_t under C++. + * Makefile.in (ENQUIRE_CFLAGS, ENQUIRE_LDFLAGS): Move down to the end + of the Makefile. + (FLOAT_H_TEST): Likewise. + (ENQUIRE): Likewise. + (float.h-nat): Likewise. + (float.h-cross): Likewise. + (enquire): Likewise. + (enquire.o): Likewise. + (stmp-int-hdrs): Fix comment about enquire; depend upon gfloat.h. + (stmp-headers): Move actions to stmp-int-hdrs, retaining only a + no-op. + (FLOAT_H): Remove old float.h-nat version; move current definition + to CROSS_FLOAT_H location. + (all.cross): Remove comments about enquire stuff. -Mon Jun 19 17:12:41 1995 Paul Eggert <eggert@twinsun.com> + * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO). + (rest.encap): Likewise. + (libgcc2.ready): Depend upon $(STMP_FIXPROTO) - * cccp.c (collect_expansion): Work around enum bug in vax - ultrix 4.3 pcc. - * tree.c (simple_cst_equal): Likewise. + * toplev.h (tree_node): Provide global declaration to avoid + `limited scope' warnings. -Mon Jun 19 16:53:00 1995 Douglas Rupp (drupp@cs.washington.edu) +Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com> - * winnt/spawnv.c: New file. + * test_summary: Display section breaks for each entry + in a multilibbed target's output. -Mon Jun 19 16:30:29 1995 Glenn Brown <glenn@mars.myri.com> +1998-05-23 Richard Henderson <rth@cygnus.com> - * caller-save.c (save_call_clobbered_regs): If AUTO_INC_DEC, mark - register indicated by REG_INC notes as live so they will be saved. + * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the + offset's mode is not ptr_mode, convert it. -Mon Jun 19 16:21:12 1995 Jeffrey A Law (law@snake.cs.utah.edu) +1998-05-22 Jason Merrill <jason@yorick.cygnus.com> - * pa.h (PRINT_OPERAND_ADDRESS, case LOW_SUM): Fix logic bug - in last change. + * fold-const.c (ssize_binop): New fn. + * tree.h: Declare it. -Mon Jun 19 14:11:49 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com) - * integrate.c (integrate_decl_tree): Only set DECL_ABSTRACT_ORIGIN - if the decl returned by pushdecl is the one we started with. + * genextract.c (print_path): Handle zero-length path as a special + case. - * mips.h (current_function_name): Delete declaration. - (ASM_DECLARE_FUNCTION_NAME): Don't set current_function_name. - * gnu.h (ASM_DECLARE_FUNCTION_NAME): Likewise. - * mips.c (current_function_decl): Delete declaration. - (function_prologue): New variable fnname. Use it instead of - current_function_name. - (function_epilogue): Likewise. +Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se> -Mon Jun 19 13:13:15 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767. - * alpha.h (ASM_OUTPUT_ASCII): Always reset line count when - starting new line. +Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de> - * scan-decls.c (scan_decls): Fix typo when resetting PREV_ID_START. + * final.c (JUMP_TABLES_IN_TEXT_SECTION): Provide a default value. + (shorten_branches, final_scan_insn): Test value of + JUMP_TABLES_IN_TEXT_SECTION instead of just testing whether it + is defined. + * tm.texi (JUMP_TABLES_IN_TEXT_SECTION): Corresponding changes. + * arm/coff.h: Define JUMP_TABLES_IN_TEXT_SECTION to 1. + * arm/tcoff.h: Likewise. + * i386/386bsd.h: Likewise. + * i386/freebsd-elf.h: Likewise. + * i386/freebsd.h: Likewise. + * i386/netbsd.h: Likewise. + * i386/ptx4-i.h: Likewise. + * i386/sysv4.h: Likewise. + * pa/pa.h: Likewise. + * rs6000/linux.h: Likewise. + * rs6000/rs6000.h: Likewise. + * sh/sh.h: Likewise. + * sparc/sp64-elf.h: Likewise. + * v850/v850.h: Likewise. + * rs6000/sysv4.h: Define JUMP_TABLES_IN_TEXT_SECTION to 0. + * i386/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION to (flag_pic). - * i386/config-nt.sed, alpha/config-nt.sed: Change version to 2.7.1. +Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Jun 19 13:06:14 1995 DJ Delorie (dj@delorie.com) + * regmove.c (gen_add3_insn): New function. + (fixup_match_2): Use it instead of calling gen_addsi3. - * msdos/top.sed: Support new build variables. - * msdos/configur.bat: Make options.h and specs.h. - Change realclean to maintainer-clean. +Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com) -Fri Jun 16 06:54:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * Makefile.in (gencheck): Depend on HOST_LIBDEPS. - * Version 2.7.0 Released. + * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory + address. - * obstack.c: Always enable this code for now. +Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de> - * alpha.c (alpha_builtin_saveregs): Use ptr_mode and conversions - when need so works for both OSF and NT. - * va-alpha.h (__va_tsize): Round to long long not long. + * Makefile.in (TREE_H): Add tree-check.h. + (tree-check.h, gencheck): New targets. + * gencheck.c: New file. + * tree.c (tree_check, tree_class_check): New functions. + * tree.h (TREE_CHECK, TREE_CLASS_CHECK): Define. + (TYPE_CHECK, DECL_CHECK): Define. + Modify all access macros to use generated checking macros. -Thu Jun 15 17:54:52 1995 Bdale Garbee <bdale@gag.com> +Wed May 20 23:44:28 EDT 1998 John Wehle (john@feith.com) - * configure (a29k-*-coff): Synonym for a29k-*-udi. + * acconfig.h (HAVE_GAS_MAX_SKIP_P2ALIGN): New tag. + * configure.in: Check for it. + * i386/gas.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Use it. + * final.c (uid_align, uid_shuid, label_align): Make static. + (label_align): Change type to struct label_alignment pointer. + (LABEL_TO_ALIGNMENT, shorten_branches): Update due to type change. + (LABEL_TO_MAX_SKIP): Define. + (LABEL_ALIGN_MAX_SKIP, LOOP_ALIGN_MAX_SKIP, + LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Provide defaults. + (shorten_branches): Record the maximum bytes to skip when + aligning a label. + (final_scan_insn): Use the maximum bytes to skip when aligning a label + if ASM_OUTPUT_MAX_SKIP_ALIGN is available. + * i386.h (LOOP_ALIGN_MAX_SKIP, + LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Define. + * i386.c (override_options): i386_align_jumps and i386_align_loops + default to 4 if ASM_OUTPUT_MAX_SKIP_ALIGN is available. + * invoke.texi: Document new i386 align-loops and align-jumps behavior. -Thu Jun 15 17:51:21 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +1998-05-21 Mark Mitchell <mmitchell@usa.net> - * function.c (assign_parms): Do all conversions in CONVERSION_INSNS. + * cplus-dem.c (do_type): Handle volatile qualification. -Thu Jun 15 17:36:49 1995 Michael Meissner <meissner@cygnus.com> +Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com> - * reg-stack.c (record_reg_life): Call record_reg_life_pat with 0 - for douse argument so that USE's created to mark variables within - blocks don't get marked as set. + * function.c (init_function_start): Don't call emit_line_note if + lineno is 0. (Can happen when compiling Java .class files.) -Thu Jun 15 06:28:15 1995 Dennis Glatting (dennisg@CyberSAFE.COM) +Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * configure: Change one sed command to work around m68k-next bug. + * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT + end of lifetime and RELOAD_FOR_OUTPUT start of lifetime. -Wed Jun 14 22:14:39 1995 Jason Merrill <jason@deneb.cygnus.com> +Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * collect2.c (main): Don't turn off auto_export because of -g. - (main): Ignore the argument to -o. + * combine.c (nonzero_bits): For paradoxical subregs, take + LOAD_EXTENDED_OP into account. - * alpha.h (LINK_SPEC): Don't pass -init __main anymore. - * alpha/osf12.h (LINK_SPEC): Ditto. - * mips/iris5.h (LINK_SPEC): Ditto. +Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com> - * collect2.c (main): Place o_file after an initial .o (like crt0.o). - If we have LD_INIT_SWITCH, use init and fini functions for - executables, too. Specify the unique function names. - (write_c_file_stat): Fix the case of destructors but no constructors. - Don't include the generic-named functions for executables. - (write_c_file): If we have LD_INIT_SWITCH, always use - write_c_file_stat. + * configure.in (extra_c_objs): add prefix.o. + (extra_cxx_objs): extra objects for C++ with cpplib. + * configure: Regenerate. - * collect2.c (main): Also add _GLOBAL__D? to export list. + * c-tree.h: (get_directive_line): Different prototype for cpplib. + (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line. - * ginclude/iso646.h: Do nothing if compiled as C++. + * c-lex.h: (get_directive_line): Not needed here for cpplib. -Wed Jun 14 17:39:10 1995 Roland McGrath (roland@gnu.ai.mit.edu) + * c-lex.c: (yy_cur,yy_lim,yy_get_token): Move to c-common.c. + (GET_DIRECTIVE_LINE): Move to c-common.c and rename to get_directive_line. - * c-common.c (format_char_info, case 'm'): Set type to void. - (check_format_info): If type is void, ignore operand. + * c-common.c (parse_in,parse_options,cpp_token): Declare for cpplib. + (yy_cur,yy_lim,yy_get_token,get_directive,line): Moved here from c-lex.c -Wed Jun 14 17:04:10 1995 Paul F. Kunz (Paul_Kunz@SLAC.Stanford.EDU) +Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * expr.c (expand_builtin_apply_args): Put back original - register save and restore order. + * gengenrtl.c (type_from_format, accessor_from_format): Change + type of parameter `c' from `char' to `int'. -Wed Jun 14 16:56:22 1995 Michael Meissner <meissner@cygnus.com> +Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com) - * rs6000/eabi.h (INVOKE__main): Define, so __eabi is called after - main's arguments are saved. + * warn_summary, test_summary: New scripts from + Kaveh Ghazi and Alexandre Oliva respectively. - * rs6000.c (output_prolog): Don't call __eabi here, let - compiler call it after the arguments to main are saved. - (output_{prolog,epilog}): Don't use functions under V.4 to save - and restore floating point registers. + * gcse.c (current_function_calls_longjmp): Declare. -Wed Jun 14 16:52:12 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +1998-05-20 Jason Merrill <jason@yorick.cygnus.com> - * m68k/mot3300.h (PCC_BITFIELD_TYPE_MATTERS): Defined. + * dwarf2out.c (base_type_die): Use int_size_in_bytes. -Wed Jun 14 16:48:53 1995 Jerry Frain (jerry@tivoli.com) +Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com) + Jeff Law (law@cygnus.com) - * Makefile.in (stage[1-4]): Correctly link `as', `ld', and `collect2'. + * Global CSE and constant/copy propagation. + * Makefile.in (OBJS): Add gcse.o + (STAGESTUFF): Add *.gcse. + (gcse.o): Add dependencies. + (mostlyclean): Remove *.gcse and */*.gcse. + * gcse.c: New file. + * loop.c (loop_optimize): Move call to init_alias_analysis. + * recog.c (validate_replace_src): New function. + * toplev.c (gcse_dump): New global variable. + (flag_gcse, gcse_time): Likewise. + (compile_file): Initialize gcse_time and clean out the gcse dump + file if necessary. + (rest_of_compilation): Call gcse_main as requested. Dump RTL + after gcse if requested. + (main): Enable gcse for -O2 and above. Handle -dG. Enable gcse + dumps for -da. + * gcc.texi: Add gcse related internal documentation. + * invoke.texi: Note new command line options for gcse. + * tm.texi: Document AVOID_CCMODE_COPIES. + * mips.h (AVOID_CCMODE_COPIES): Define. -Wed Jun 14 05:52:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com) - * objc-act.c (hack_method_prototype): Set DECL_CONTEXT of parms. + * Makefile.in (deduced.h): Only run scan-types if $(SYSTEM_HEADER_DIR) + exists. + (stmp-fixproto): Simlarly for running fixproto. + * cross-make (SYSTEM_HEADER_DIR): Now $(tooldir)/sys-include. - * expmed.c (emit_store_flag): Always set LAST. +Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com> - * c-decl.c (start_function): New parameter for attributes. - * c-tree.h (start_function): Likewise. - * c-lang.c (finish_file): Pass extra parm to start_function. - * objc-act.c (build_module_descriptor, really_start_method): Likewise. - * c-parse.in (fndef, nested_function, notype_nested_function): - Likewise. + * config/mips/mips.c (double_memory_operand): Accept any MEM during + reload when TARGET_64BIT. - * function.c (assign_parms): Use convert_to_mode instead of - gen_lowpart when converting incoming parm. +Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com> -Tue Jun 13 19:10:32 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + Finish incomplete change started by Kenner. + * configure.in (*-*-linux-gnu*): Delete NO_STAB_H from xm_defines. + (powerpcle-*-cygwin32): Delete xm_defines. + * final.c, mips-tfile.c, xcoffout.c, config/mips/mips.c: Use + HAVE_STAB_H instead of NO_STAB_H. + * config/xm-linux.h (NO_STAB_H): Delete. + (HAVE_STAB_H): Undefine. + * config/i386/xm-go32.h (NO_STAB_H): Delete. - * rs6000.md (decrement_and_branch): Finish last fix; update matching - constraint. +1998-05-19 Jim Wilson <wilson@cygnus.com> -Tue Jun 13 18:32:51 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore + LANG_TYPE trees with DECL_SOURCE_LINE of 0. - * fold-const.c (fold): When converting a COND_EXPR to an ABS_EXPR, - get the types right for ABS_EXPR to work. +Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org> -Mon Jun 12 17:09:55 1995 Michael Tiemann (tiemann@axon.cygnus.com) + * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined. - * reorg.c (fill_simple_delay_slots): Set MAYBE_NEVER according to - code of TRIAL_DELAY, not TRIAL. +Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Jun 12 15:02:37 1995 Doug Evans <dje@cygnus.com> + * reload1.c (reload_reg_free_for_value_p): New function. + (allocate_reload_reg, choose_reload_regs): Use it. - * configure: Restore code to make ld symlink if ! use_collect2. +Tue May 19 11:51:00 EDT 1998 Andrew MacLeod (amacleod@cygnus.com) - * gcc.c (link_command_spec): Undo patch of May 11. - -nostdlib implies -nostartfiles again. - * dsp16xx.h (CROSS_LINK_SPEC): Likewise. - * i386/freebsd.h (LINK_SPEC): Undo patch of May 24. - Don't pass "-e start" if nostdlib. - * i386/sun.h (LINK_SPEC): Likewise. - * m68k/sun2o4.h (LINK_SPEC): Likewise. - * m68k/sun3.h (LINK_SPEC): Likewise. - * m68k/vxm68k.h (LINK_SPEC): Likewise. - * mips/netbsd.h (LINK_SPEC): Likewise. - * config/netbsd.h (LINK_SPEC): Likewise. - * rs6000/mach.h (LINK_SPEC): Likewise. - * sparc.h (LINK_SPEC): Likewise. - * sparc/vxsparc.h (LINK_SPEC): Likewise. + * except.c (expand_start_catch): Correct logic for when to + generate a new handler label, and when to use the old one. - * gcc.c (link_command_spec): New argument -nodefaultlibs. +Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Sun Jun 11 20:47:53 1995 Stephen L Moshier (moshier@world.std.com) + * Makefile.in (print-rtl.o): Depend on bitmap.h. + (dbxout.o): Depend on toplev.h. + ($(SCHED_PREFIX)sched.o): Likewise. + ($(out_object_file)): Likewise for system.h and toplev.h. + (cppmain.o): Depend on gansidecl.h. + (cpplib.o): Likewise. + (cpperror.o): Likewise. + (cppexp.o): Likewise. + (cpphash.o): Likewise. + (cppalloc.o): Likewise. + (fix-header.o): Depend on cpplib.h and cpphash.h. + (scan-decls.o): Depend on gansidecl.h. + + * basic-block.h (free_regset_vector): Add prototype. + + * cccp.c (check_precompiled): Mark parameter `fname' with + ATTRIBUTE_UNUSED. + (do_assert): Likewise for `op' and `keyword'. + (do_unassert): Likewise. + (do_line): Likewise for `keyword'. + (do_error): Likewise for `op' and `keyword'. + (do_warning): Likewise. + (do_ident): Likewise for `keyword'. + (do_pragma): Likewise for `limit', `op' and `keyword'. + (do_sccs): Likewise. + (do_if): Likewise for `keyword'. + (do_elif): Likewise. + (do_else): Likewise. + (do_endif): Likewise. - * Makefile.in (fix-header.o): Depends on xsys-protos.h. + * collect2.c (getenv): Remove redundant prototype. + (collect_exit, collect_execute, dump_file): Likewise. + (dump_list): Wrap prototype and definition in COLLECT_EXPORT_LIST. + (dump_prefix_list): Hide prototype and definition. + + * sparc.c: Include toplev.h. + (intreg_operand): Mark parameter `mode' with ATTRIBUTE_UNUSED. + (symbolic_memory_operand): Likewise. + (sp64_medium_pic_operand): Likewise. + (data_segment_operand): Likewise. + (text_segment_operand): Likewise. + (splittable_symbolic_memory_operand): Likewise. + (splittable_immediate_memory_operand): Likewise. + (eq_or_neq): Likewise. + (normal_comp_operator): Likewise. + (noov_compare_op): Likewise. + (v9_regcmp_op): Likewise. + (v8plus_regcmp_op): Likewise. + (extend_op): Likewise. + (cc_arithop): Likewise. + (cc_arithopn): Likewise. + (small_int): Likewise. + (uns_small_int): Likewise. + (clobbered_register): Likewise. + (legitimize_pic_address): Likewise. + (delay_operand): Likewise. + (sparc_builtin_saveregs): Remove unused variable `stdarg'. + + * sparc.h (order_regs_for_local_alloc, eligible_for_return_delay, + sparc_issue_rate, v8plus_regcmp_p): Add prototypes. + + * sparc.md (cmpdi_v8plus): Add abort for default case in switch. + + * cppalloc.c: Include gansidecl.h. + + * cpperror.c: Include stdarg.h/varargs.h and gansidecl.h. + (cpp_file_line_for_message): Mark parameter `pfile' with + ATTRIBUTE_UNUSED. + (v_cpp_message): New function. + (cpp_message): Use it. Also convert to variable arguments. + (cpp_fatal): Likewise. + (cpp_pfatal_with_name): Constify parameter `name'. + + * cppexp.c: Move gansidecl.h before cpplib.h. + * cpphash.c: Likewise. + * cpphash.h (hashf, delete_macro): Add prototypes. + + * cpplib.c: Include stdarg.h/varargs.h and move gansidecl.h before + cpplib.h. Don't include errno.h. + (update_path): Add arguments to prototype. + (cpp_fatal, cpp_file_line_for_message, cpp_message, delete_macro, + cpp_print_containing_files): Remove redundant prototypes. + (cpp_hash_cleanup, add_import, append_include_chain, + make_assertion, path_include, initialize_builtins, + initialize_char_syntax, finclude, validate_else, comp_def_part, + lookup_import, redundant_include_p, is_system_include, + read_name_map, read_filename_string, open_include_file, + check_macro_name, compare_defs, compare_token_lists, + eval_if_expression, change_newlines): Add prototype arguments. + (hashf): Remove redundant prototype. + (read_token_list, free_token_list, safe_read, xcalloc, savestring, + conditional_skip, skip_if_group): Add prototype arguments. + (fdopen): Remove redundant prototype. + (do_define, do_line, do_include, do_undef, do_error, do_pragma, + do_ident, do_if, do_xifdef, do_else, do_elif, do_endif, do_sccs, + do_once, do_assert, do_unassert, do_warning): Add prototype arguments. + (struct directive): Add prototype arguments to function pointer + member `func'. + (handle_directive): Add missing arguments to call to `do_line'. + (do_include): Mark parameters `unused1' and `unused2' with + ATTRIBUTE_UNUSED. + (do_line): Likewise for `keyword' and new parameters `unused1' and + `unused2'. + (do_error): Likewise for `keyword'. + (do_warning): Likewise. Also add missing argument `pfile' in call + to cpp_pedwarn. + (do_once): Mark parameter `keyword', `unused1' and `unused2' with + ATTRIBUTE_UNUSED. + (do_ident): Likewise for `keyword', `buf' and `limit'. + (do_pragma): Likewise. Also add missing arguments in call to do_once. + (do_sccs): Mark parameter `keyword', `buf' and `limit' with + ATTRIBUTE_UNUSED. + (do_if): Likewise for `keyword'. + (do_elif): Likewise. + (eval_if_expression): Likewise for `buf' and `length'. + (do_xifdef): Likewise for `unused1' and `unused2'. + (do_else): Likewise for `keyword', `buf' and `limit'. + (do_endif): Likewise. + (parse_name): Add missing argument `pfile' in call to cpp_pedwarn. + (cpp_handle_options): Remove superfluous NULL argument in call to + cpp_fatal. + (cpp_handle_options): Likewise. + (do_assert): Mark parameter `keyword', `buf' and `limit' with + ATTRIBUTE_UNUSED. + (do_unassert): Likewise. + (cpp_print_file_and_line): Add missing argument `pfile' in call to + cpp_file_line_for_message. + (v_cpp_error): New function. + (cpp_error): Use it. Also accept variable arguments. + (v_cpp_warning): New function. + (cpp_warning): Use it. Also accept variable arguments. + (cpp_pedwarn): Accept variable arguments. + (v_cpp_error_with_line): New function + (cpp_error_with_line): Use it. Accept variable arguments. + (v_cpp_warning_with_line): New function. + (cpp_warning_with_line): Use it. Accept variable arguments. Hide + definition. + (cpp_pedwarn_with_line): Accept variable arguments. + (cpp_pedwarn_with_file_and_line): Likewise. + (cpp_error_from_errno): Constify parameter `name'. Add missing + argument `pfile' in call to cpp_file_line_for_message. + (cpp_perror_with_name): Constify parameter `name'. + + * cpplib.h: Define PARAMS() in terms of PROTO(). + (fatal): Remove redundant prototype. + (cpp_error, cpp_warning, cpp_pedwarn, cpp_error_with_line, + cpp_pedwarn_with_line, cpp_pedwarn_with_file_and_line, + cpp_error_from_errno, cpp_perror_with_name, cpp_pfatal_with_name, + cpp_fatal, cpp_message, cpp_pfatal_with_name, + cpp_file_line_for_message, cpp_print_containing_files): Add + arguments to prototypes. + (scan_decls, cpp_finish): Add prototypes. + + * cppmain.c: Include gansidecl.h. + (main): Remove unused variable `i'. + + * dbxout.c: Include toplev.h. + + * demangle.h (do_tlink, collect_execute, collect_exit, + collect_wait, dump_file, file_exists): Add prototype. + + * dwarf2out.c (dwarf_type_encoding_name, decl_start_label): Hide + prototype and definition. + (gen_unspecified_parameters_die): Don't assign results of call to + function new_die() to unused variable `parm_die'. + (dwarf2out_line): Mark parameter `filename' with ATTRIBUTE_UNUSED. + (dwarf2out_define): Likewise for `lineno' and `buffer'. + + * dwarfout.c (output_unsigned_leb128, output_signed_leb128): Hide + prototype and definition. + (output_die): Add prototype arguments to function pointer arg. + (output_unspecified_parameters_die): Mark parameter `arg' with + ATTRIBUTE_UNUSED. + + * except.c (output_exception_table_entry): Remove unused variable + `eh_entry'. -Sun Jun 11 15:07:58 1995 Tim Carver (timc@ibeam.intel.com) + * except.h (expand_fixup_region_start, expand_fixup_region_end): + Add prototypes. + + * expr.c (do_jump_by_parts_equality_rtx): Remove prototype. + + * expr.h (do_jump_by_parts_equality_rtx): Add prototype. + + * fix-header.c: Include stdarg.h/varargs.h, move gansidecl.h + before cpplib.h, include cpphash.h, remove redundant prototype of + cpp_fatal, don't define `const', add a prototype for `fatal'. + (cpp_file_line_for_message): Add missing arguments `pfile'. + (v_cpp_message): New function. + (cpp_message): Use it. + (v_fatal): New function. + (fatal, cpp_fatal): Use it. + (cpp_pfatal_with_name): Constify parameter `name'. + + * flow.c (free_regset_vector): Remove redundant prototype. + + * function.c (round_down): Wrap prototype and definition with + macro ARGS_GROW_DOWNWARD. + (record_insns): Wrap prototype and definition with + defined (HAVE_prologue) || defined (HAVE_epilogue). + + * gansidecl.h (ATTRIBUTE_PRINTF_4, ATTRIBUTE_PRINTF_5): New macros. + + * gen-protos.c: Include gansidecl.h. + (hashf): Don't make it static, constify parameter `name'. + + * genattrtab.c (check_attr_test): Change XEXP() to XSTR() to match + specifier %s in calls to function `fatal'. + + * haifa-sched.c: Include toplev.h. + (find_rgns): Remove unused variable `j'. + + * integrate.c (note_modified_parmregs): Mark parameter `x' with + ATTRIBUTE_UNUSED. + (mark_stores): Likewise. + + * jump.c (mark_modified_reg): Likewise. + + * output.h (insn_current_reference_address): Add prototype. + (eh_frame_section): Likewise. + + * print-rtl.c: Include bitmap.h. + + * reload1.c (reload): Wrap variables `note' and `next' in macro + PRESERVE_DEATH_INFO_REGNO_P. + (forget_old_reloads_1): Mark parameter `ignored' with + ATTRIBUTE_UNUSED. + (choose_reload_regs): Remove unused variable `in'. + (reload_cse_invalidate_mem): Mark parameter `ignore' with + ATTRIBUTE_UNUSED. + (reload_cse_check_clobber): Likewise. - * reload1.c (emit_reload_insns): Don't call HARD_REGNO_NREGS - on psuedo when clearing reg_last_reload_reg. + * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype. + (mark_elimination): Fix typo in prototype. -Sun Jun 11 14:07:05 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * scan-decls.c: Include gansidecl.h. - * m68k.md ({add,sub}di{_mem,3}): Patterns merged. + * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype. -Sun Jun 11 13:43:26 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> +Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com) - * m68k.md (cmpdi matcher): Set cc_status before returning. + * function.c (identify_blocks): Fix thinko when setting the + block number for NOTE_INSN_BLOCK_END. - * config/xm-freebsd.h (DONT_DECLARE_SYS_SIGLIST): Define. +Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com> -Sun Jun 11 13:38:49 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * config/v850/lib1funcs.asm: Add .text pseudo op to start of + ___udivsi3. - * fixincludes (math.h): Keep declaration of abs on HPUX. + * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three + underscores for the prefixes to the names of the maths functions. -Sun Jun 11 12:31:42 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add + comment explaining why. - * stor-layout.c (variable_size): Do nothing if SIZE is constant. +Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com> - * stmt.c (expand_asm_operands): See if output operand permits - register. If not, mark output addressable, call expand_operand - on it, and give error if not MEM. + * tree.h (TYPE_SIZE_UNIT): New. + (struct tree_type): Add size_unit member. + * stor-layout.c (layout_type): Initialize it. + * expr.c (get_inner_reference) [ARRAY_REF]: Use it. + * tree.c (size_in_bytes, int_size_in_bytes): Likewise. - * function.c (assign_parms): Handle promotions of both - passed and nominal modes separately and insert needed conversions. - (promoted_input_arg): Return 0 if nominal and passed modes differ. +Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com) - * stmt.c (all_cases_count, case INTEGER_TYPE): Fix typo in checking - for integer bounds. + * stor-layout.c (layout_record): Fix off-by-one error when checking + length of the TYPE_BINFO vector. -Sat Jun 10 08:55:25 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com> - * libgcc2.c (_floatdidf): Correctly set float sizes. + * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a + function parameter passed in memory. - * c-decl.c (c_decode_option, case "-Wall"): Don't set extra_warnings. +Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com> - * Makefile.in (cpplib.o, fix-header.o): Update dependencies. - (cpperror.o, cppexp.o, cpphash.o): New rules, to show .h dependencies. + * dwarfout.h, dwarf2out.h, dbxout.h, sdbout.h: New files. + Prototypes for externally used functions in respective C files. + * dwarfout.c, dbxout.c, dwarf2out.c, sdbout.c, toplev,c, + final.c: Include above files. + * Makefile.in (toplev.o): Add dependency for above four headers. + (final.o): Likewise. + (dwarfout.o, dbxout.o, dwarf2out.o, sdbout.o): Depend on four + respective header files. -Fri Jun 9 18:06:10 1995 Doug Evans <dje@canuck.cygnus.com> +Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com) - * cse.c (cse_basic_block): Fix test for whether block ends with a - barrier. Return next insn, not 0, if block ends in a barrier. + * Makefile.in (TARGET_TOOLPREFIX): No longer define. + (AR_FOR_TARGET, RANLIB_FOR_TARGET): Define to use versions in + the build tree if they exist. + (AR, AR_FLAGS, OLDAR, OLDAR_FLAGS, RANLIB, RANLIB_TEST): Update + appropriately. + (objdir): Let configure substitute value. + (FLOAT_H): Let configure select a pre-built version from the + config subdir. + * build-make (INSTALL_TARGET, ALL): Disable, no longer needed. + * configure.in: Substitute for objdir. -Fri Jun 9 17:58:29 1995 Paul Eggert <eggert@twinsun.com> + * Makefile.in (build_canonical, host_canonical): Let configure + substitute values for these variables. + * configure.in: Substitute for build_canonical, host_canonical + and target_subdir in generated Makefile. - * fold-const.c (lshift_double): Replace `&' with `%' to fix typo. - ([lr]shift_double): Truncate shift count only if SHIFT_COUNT_TRUNCATED. - Remove unnecessary `count >= prec' test. + * output.h (find_basic_blocks): Declare. + (free_basic_block_vars, set_block_num, life_analysis): Likewise. - * cexp.y (left_shift): Ignore integer overflow. + * Makefile.in (BISON): Use bison from the build tree if it exists. + (FLEX): Similarly. - * cexp.y (skip_evaluation): New variable. - (&&, ||, ?:): Increment it in unevaluated subexpressions. - (/, %, integer_overflow): Suppress diagnostics if skip_evaluation != 0. - (yyerror): Clear skip_evaluation. +Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com> -Fri Jun 9 17:49:05 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * gcc.c (SWITCH_CURTAILS_COMPILATION): Definition. + (DEFAULT_SWITCH_CURTAILS_COMPILATION): True for options -S and -c. + (process_command): If HAVE_EXECUTABLE_SUFFIX is defined then scan + command line arguments to see if an executable is not being + created, and if so - do not append the suffix. - * m68k.md (tstdi): Rewrite. + * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new + driver macro. -Fri Jun 9 17:28:55 1995 Per Bothner <bothner@cygnus.com> +Sun May 17 23:59:45 1998 John Wehle (john@feith.com) - * scan-decls.c (scan_decls): Handle declarations with - multiple comma-separated declarators. + * i386.h (ALIGN_DFmode): Delete. + (CONSTANT_ALIGNMENT): Define. + * varasm.c (force_const_mem): Use it. -Thu Jun 8 19:16:12 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com> - * arm.md (mov[sd]f expands): Don't allow fp constants in pseudos - when TARGET_SOFT_FLOAT. + * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after + using it with swap_condition, not before. -Thu Jun 8 19:11:43 1995 Jim Wilson <wilson@chestnut.cygnus.com> +Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com> - * expmed.c (store_split_bit_field): When adjust arg in - BYTES_BIT_ENDIAN case, use number of bits in arg for MEM operands - and BITS_PER_WORD for other operands. - (extract_fixed_bit_field): Undo last change. + * alias.c (mode_alias_check): Delete. + (true_dependence, anti_dependence, output_dependence): Revert April 21 + change. - * unroll.c (verify_addresses): New function. - (find_splittable_givs): Use it instead of memory_address_p. +Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se> -Thu Jun 8 18:58:18 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * toplev.c (output_lang_identify): Enable prototype and definition. - * expmed.c (expand_divmod): Always check result of emit_store_flag. +Sun May 17 01:12:27 PDT 1998 Jeff Law (law@cygnus.com) -Thu Jun 8 12:02:34 1995 David D Zuhn (zoo@armadillo.com) + * version.c: Bump for snapshot. - * cpplib.c (cpp_push_buffer): Include filename in error message. +Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com> -Thu Jun 8 11:53:45 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * alpha/osf.h (HAVE_STAMP_H): Define. + * alpha.c: Use it. + * alpha/netbsd.h, alpha/netbsd-elf.h: New files. + * configure.in (alpha*-*-netbsd*): New. + Based on patches from Paul H. Anderson <pha@pdq.com>. - * function.c (assign_parms): Don't call promote_mode on arg - unless PROMOTE_FUNCTION_ARGS defined. + * configure.in (alpha*-*-linux-*): Kill xm_defines. + (alpha*-*-linux-gnulibc1*) [fixincludes]: Define. + * alpha/xm-linux.h: Remove file. - * rs6000.md (decrement_and_branch): Ensure label is operand 0. +Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com> - * rs6000.md (aux_truncdfsf2): New pattern. - (movsf): Use it instead of invalid SUBREG and truncdfsf2. + * dbxout.c (dbxout_parms): If mode of type of parameter living + in memory doesn't match mode of DECL_RTL, make big endian correction. - * varasm.c (assemble_name): Disable warn_id_clash around - get_identifier call. +Fri May 15 21:40:06 1998 John Wehle (john@feith.com) -Wed Jun 7 17:22:25 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * i386.md (movdi-1, movdi): Rewrite based on SI move patterns. - * configure (gdb_needs_out_file_path): New variable. - (m68k-motorola-sysv): Set gdb_needs_out_file_path if not using gas. - (.gdbinit): If gdb_needs_out_file_path is set, add a 'dir' command - for $(out_file). +Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com> -Wed Jun 7 17:17:19 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> + * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros. + * stor-layout.c (layout_record): Set it. - * fold-const.c (fold): When folding `<' type nodes, make true_value - and false_value have correct types. +Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net> -Wed Jun 7 05:06:42 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * toplev.c (rest_of_compilation): Don't defer nested functions. - * collect2.c (COFF scan_prog_file): Use the AIX duplicate entry. +Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com> -Tue Jun 6 18:43:09 1995 Jeffrey A Law (law@snake.cs.utah.edu) + * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom + to an 8-byte boundary if info_ptr->fpmem_p. - * pa.h (FUNCTION_ARG_CALLEE_COPIES): Define. +Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com> -Tue Jun 6 18:21:18 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * loop.c (basic_induction_var): Added test preventing + CCmode parameter passed to convert_modes(). - * expr.c (expand_expr, case PLACEHOLDER_EXPR): Consider two types - identical if their TYPE_MAIN_VARIANTs are the same. +Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> - * c-decl.c (start_decl): Set DECL_COMMON before calling - decl_attributes. + * expr.c (expand_expr, case EXPR_WITH_FILE_LOCATION): Save/restore + input_filename and lineno around expand_expr call. Set them to values + in WFL before expand_expr call. - * a29k.c (print_operands): Cast args to bcopy to char *. +Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com> - * c-decl.c (duplicate_decls): Don't clear DECL_CONTEXT of - new decl if it is a function. + * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype. -Tue Jun 6 17:57:44 1995 Eberhard Mattes (mattes@azu.informatik.uni-stuttgart.de) +Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net> - * gcc.c (do_spec_1, case 'g'): Handle %O as suffix if MKTEMP_EACH_FILE. + * fold-const.c (constant_boolean_node): New function. + (fold): Use it. -Tue Jun 6 17:53:05 1995 Michael Meissner <meissner@cygnus.com> +Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * rs6000.c (expand_block_move): Update source and destination pointers - inside the loop moving the bytes, not outside. + * sh.c (gen_shl_and): Don't sign extend constant for kind two. + Abort if trying to split kind 3 or 4 outside of combine. -Tue Jun 6 14:58:37 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> +Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com) - * m68k.h (CONDITIONAL_REGISTER_USAGE): Don't mark pic reg as fixed. - * m68k.c (finalize_pic): Emit USE insn at start and end of function. + * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX. -Tue Jun 6 13:46:57 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu> +Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu> - * sh.c (print_operand): Check for annulled branches. - (output_movedouble): Handle SUBREG addresses. - (output_branch): Handle annulled branches. - (sh_expand_prologue): Correct number of saved registers for - varargs functions. - * sh.h: Add some comments. - * sh.md: Add some comments. Cleanup formatting. - (type attribute): Add pstore and call. - (return define_delay): Reorganize to make clearer. - (call/sfunc define_delay): Define. - (cbranch define_delay): Define to have annul-true delay slot. - (subsi3): Use arith_reg_operand for operand 2. - (shift patterns): Use const_int_operand instead of immediate_operand - for shift counts. - (push): Add pstore constraint case. - (movsi_i): Move t/z constraint pair to the front of the list. - (calli, call_valuei): Add "call" attribute. - -Mon Jun 5 19:23:13 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * objc/Make-lang.in (OBJC_O): Add missing exeext. + (libobjc.a, runtime-info.h): Likewise. - * sched.c (attach_deaths): In last change, use find_reg_note instead - of find_regno_note. +Fri May 15 01:29:39 1998 John Wehle (john@feith.com) -Mon Jun 5 19:17:31 1995 Tom Quiggle (quiggle@lovelace.engr.sgi.com) + * i386.h (DATA_ALIGNMENT): Define. - * mips/iris5.h (MACHINE_TYPE): Say "IRIX 5.x", not "5.0". - (NO_DOLLAR_IN_LABEL): Undefine. - * mips.h (sdb_begin_function_line): New declaration. - (PUT_SDB_FUNCTION_END): New definition. +Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Jun 5 18:56:10 1995 Michael Meissner <meissner@cygnus.com> + * reload1.c (delete_output_reload): Ignore single USE that + was emitted for the pseudo use of this INSN. + If the no reference to REG between OUTPUT_RELOAD_INSN and INSN + remains, we can always delete OUTPUT_RELOAD_INSN. - * rs6000.c (expand_block_move): Don't do block moves where we clobber - fixed numbers of regs, instead move just 1-8 bytes at a time. +Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com> - * Makefile.in (STAGESTUFF): Copy files produced by -da and - -save-temps to the stage subdirectories. + * reload.c (find_reloads): Don't penalize SCRATCH output reload. -Mon Jun 5 08:18:46 1995 Torbjorn Granlund <tege@bozo.matematik.su.se> +Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com) - * combine.c (reg_dead_at_p): When scanning backwards, stop at BARRIER. + * Makefile.in (expr.o): Remove dependency on deleted modemap.def file. - * m68k.c (print_operand): Handle 'R' for registers. - * m68k.md (cmpdi): Rewrite to avoid bogus matching constraints. +Thu May 14 16:30:47 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> - * optabs.c (expand_binop): In last change, don't defererence TARGET - if it is 0. + * eh-common.h: New file for basic EH data structures. + * except.h: Various prototypes and structures for NEW_EH_MODEL + * function.h (struct function): Add a struct eh_stack for the catch + clause stack. + * except.c (gen_exception_label): New function to generate an + exception label. + (push_eh_entry): Use gen_exception_label() and init 'label_used' field. + (push_entry): New function to push an existing entry onto a stack. + (receive_exception_label): New function to emit the code required + at the start of all catch blocks. + (struct func_eh_entry): New structure for maintaining handlers + associated with EH regions. + (new_eh_region_entry): New function to register an EH region. + (add_new_handler): New function to register a handler with a region. + (get_new_handler): Creates anew handler entry for registering. + (find_func_region): New function to convert a NOTE eh region number + to an Eh region index. + (get_first_handler): New function to get the first handler in a region. + (clear_function_eh_region): New function to release memory. + (duplicate_handlers): New function to duplicate a list of handlers. + (expand_eh_region_end): Create a new region entry node as well. + (expand_leftover_cleanups): Call receive_exception_label() and + register the cleanup as a handler to the current region. + (expand_start_catch): New function to start a catch clause. + (expand_end_catch): New function to end a catch clause. + (expand_start_all_catch): restructure to not do the equivilent of + what expand_start_catch() does now. Push the exception region being + handled onto the catch stack. + (output_exception_table_entry): Issue an entry for each handler + associated with a region. + (set_exception_lang_code): New function for setting the language code. + (set_exception_version_code): New function to set the version number. + (output_exception_table): Output version and language codes. + (find_exception_handler_labels): Find handler labels using new scheme. + (is_exception_handler_label): New function, returns 1 if label is + present as a handler in some exception region. + (check_exception_handler_labels): Use the new scheme. + (init_eh_for_function): Initialize the catch stack. + (save_eh_status): Save the catch stack. + (restore_eh_status): Restore the catch stack. + (scan_region): Don't remove unreferenced handler label. Flow does it. + (get_reg_for_handler): New function to get the eh_context pointer + passed by __throw. + (expand_builtin_eh_stub): Changes required for NEW_EH_MODEL only. + * final.c (final_scan_insn): With NEW_EH_MODEL, add EH table + entry when processing END region rather that START region. + * flow.c (find_basic_blocks_1): Find all potential handler regions + now that we don't automatically know what the labels might be. + Let scan_region() remove unreferenced EH BEGIN/END labels. + * integrate.c (get_label_from_map): Put inlined labels onto the + permanent obstack since we dont know which ones might be exception + labels. + (save_for_inline_copying): Make new copies of all the handlers. + (expand_inline_function): Make new copies of all the handlers. + * libgcc2.c: Remove local struct decls, and include eh-common.h. + (find_exception_handler): With NEW_EH_MODEL the first matching + region we find is the right one. Add eh_info as a new parameter. + (__throw): Pass eh_info to find_exception_handler. Set handler + and pass use different regs under NEW_EH_MODEL. + +Thu May 14 12:58:21 1998 Jim Wilson <wilson@cygnus.com> + + * i960.h (hard_regno_mode_ok): Changed to function from array of + unsigned. + (HARD_REGNO_MODE_OK): Call function instead of testing bit. + * i960.c (hard_regno_mode_ok): Changed to function from array of + unsigned. + +Thu May 14 08:41:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (remove_replacements): New function. + * reload.h (remove_replacements): Declare. + * reload1.c (choose_reload_regs): Disable some reloads that + belong to inherited reloads. + +Thu May 14 02:17:17 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * loop.c (scan_loop): Don't call move_moveables for optimize_size. + + * reload1.c (merge_assigned_reloads): When merging, reset + reload_spill_index for the eliminated reload. + +Wed May 13 17:51:13 1998 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (schedule_insns): Fix merge goof. + +1998-05-13 Jim Wilson <wilson@cygnus.com> + + * varasm.c (make_decl_rtl): Revert April 1 change. + * alpha/alpha.h, alpha/win-nt.h, arm/arm.h, i386/unix.h, i960/i960.h, + m68k/linux.h, pa/pa.h, sparc/sparc.h, vax/vax.h (ASM_OUTPUT_MI_THUNK): + Get function name from the SYMBOL_REF in the DECL_RTL, not from + DECL_ASSEMBLER_NAME. + * i386/winnt.c (gen_stdcall_suffix): Comment for questionable use of + DECL_ASSEMBLER_NAME. + +Wed May 13 13:09:19 1998 Jim Wilson <wilson@cygnus.com> + + * i386.c (notice_update_cc, output_float_compare): Disable + TARGET_CMOVE support. + +Wed May 13 15:28:59 1998 Michael Meissner <meissner@cygnus.com> + Jeff Law <law@cygnus.com> + + * rtlanal.c (find_reg_note): Ignore notes that are not on on + insns of class 'i'. + (find_regno_note): Likewise. + + * Makefile.in (stor-layout.o): Depend on except.h + (varasm.o, function.o): Likewise. + (expr.o): Depend on except.h, modemap.def and hard-reg-set.h. + + * Makefile.in (HOST_RTL): Add $(HOST_PREFIX)bitmap.o. + (rtl.o, emit-rtl.o): Add dependency on bitmap.h. + ($(HOST_PREFIX_1)rtl.o): Likewise. + ($(HOST_PREFIX_1)bitmap.o): New host object. + * emit-rtl.c (toplevel): Include bitmap.h. + (gen_rtx): Handle 't' and 'b' nodes. + * print-rtl.c (print_rtx): Handle printing NOTE_INSN_LIVE notes. + Print block number for block begin/end notes. Print 't' type + nodes as a pointer. Know that the 3rd argument of live range + start/stop notes is really a range_info rtx. If type is 'b', print + out argument as a bitmap. + * rtl.c: Include bitmap.c. + (copy_rtx): Copy tree nodes as is. Copy bitmaps if type is 'b'. + (note_insn_name): Add NOTE_INSN_RANGE_{START,END}, NOTE_INSN_LIVE. + * rtl.def (RANGE_LIVE): New node to hold live information while we + recalculate the basic blocks. + (RANGE_REG, RANGE_INFO): New rtl types for live range splitting. + (RANGE_VAR): New node, to hold information saved in symbol node for New + communicating live range information to the debug output functions. + * rtl.h (rtunion_def): Add rttree and rtbit fields. + (XBITMAP, XTREE): New accessor macros. + (NOTE_LIVE_INFO): Overload NOTE_SOURCE_FILE for NOTE_INSN_LIVE notes. + (NOTE_RANGE_INFO): Similarly for NOTE_INSN_RANGE_{START,END} notes. + (NOTE_BLOCK_LIVE_RANGE_BLOCK): Define. + (NOTE_INSN_RANGE_START, NOTE_INSN_RANGE_END, NOTE_INSN_LIVE): New notes. + (RANGE_LIVE_{BITMAP,ORIG_BLOCK}): New accessor macros. + (RANGE_REG_{SYMBOL,BLOCK}_NODE, RANGE_VAR_*): New accessor macros. + (RANGE_INFO_*): Likewise. + * sched.c (sched_analyze): Keep live range start/stop notes. + (unlink_other_notes): Likewise. + * haifa-sched.c (sched_analyze): Keep live range start/stop notes. + (unlink_other_notes): Likewise. + * tree.h (BLOCK_LIVE_RANGE_{START,END,VAR_FLAG}): New accessor macros. + (BLOCK_LIVE_RANGE_FLAG): Likewise. + (DECL_LIVE_RANGE_RTL): Likewise. + (struct tree_block): Add live_range_flag, live_range_var_flag, + live_range_start and live_range_end. + (struct tree_decl): Add live_range_rtl field. + * gengenrtl.c (type_from_format): Handle 'b' and 't'. + (accessor_from_format): Likewise. + + * haifa-sched.c (schedule_block): Make verbose output line up. + Also add a blank line in printing the individual ready lists. + +Wed May 13 15:43:44 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (c-lang.o): Depend on c-tree.h, c-lex.h and toplev.h. + (c-lex.o): Depend on output.h. + (c-common.o): Likewise. + (stmt.o): Likewise. + (calls.o): Likewise. + (integrate.o): Depend on toplev.h. + (regclass.o): Depend on output.h. + (final.o): Depend on reload.h. + + * c-common.c: Include output.h. + (check_format_info): Remove unused variable `integral_format'. + + * c-decl.c (print_lang_decl): Mark parameters `file', `node' and + `indent' with ATTRIBUTE_UNUSED. + (print_lang_type): Likewise. + (maybe_build_cleanup): Likewise for parameter `decl'. + (copy_lang_decl): Likewise for parameter `node'. + + * c-lang.c: Include c-tree.h, c-lex.h and toplev.h. + (lang_print_xnode): Mark parameters `file', `node' and `indent' + with ATTRIBUTE_UNUSED. + (lookup_interface): Likewise for parameter `arg'. + (is_class_name): Likewise. + (maybe_objc_check_decl): Likewise for parameter `decl'. + (maybe_objc_comptypes): Likewise for parameters `lhs', `rhs' and + `reflexive'. + (maybe_objc_method_name): Likewise for parameter `decl'. + (build_objc_string): Likewise for parameters `len' and `str'. + + * c-lex.c: Include output.h. + + * c-lex.h (position_after_white_space): Correct typo in prototype. + + * c-tree.h (finish_file, c_expand_start_cond, c_expand_start_else, + c_expand_end_cond, init_iterators): Add prototypes. + + * caller-save.c (set_reg_live): Mark parameters `reg' and `setter' + with ATTRIBUTE_UNUSED. + + * calls.c: Include output.h. + + * cccp.c (pipe_closed): Mark parameter `signo' with + ATTRIBUTE_UNUSED. + + * combine.c: Move inclusion of expr.h to after insn-config.h. + + * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Don't define + as empty, rather define as ((void)0). + + * sparc.c (sparc_check_64): Add braces around ambiguous `else'. + Add parentheses around assignment used as truth value. + + * cplus-dem.c (squangle_mop_up): Change return type to void. + (internal_cplus_demangle): Remove unused parameter `options'. + All callers changed. + (cplus_demangle_opname): Remove function wide variable `int i' and + replace with `size_t i' at each location where it is used. + (cplus_demangle_opname): change type of `i' from int to size_t. + + * cppexp.c (right_shift): Mark parameter `pfile' with + ATTRIBUTE_UNUSED. - * pa.md (movsicc): Use MATCH_DUP for operand 4 and 5. + * cpphash.c (cpp_lookup): Likewise. + (cpp_hash_cleanup): Likewise. -Mon Jun 5 08:14:56 1995 Jeffrey A Law (law@cs.utah.edu) + * cpplib.c (parse_name): Add a prototype and make it static. + (null_underflow): Mark parameter `pfile' with ATTRIBUTE_UNUSED. + (null_cleanup): Likewise for parameters `pbuf' and `pfile'. + (macro_cleanup): Likewise for parameter `pfile'. + (file_cleanup): Likewise. - * pa.c (hppa_encode_label): Allocate stuff on permanent_obstack - rather than via malloc. + * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read, + cpp_read_check_assertion, skip_rest_of_line): Add prototypes. - * c-common.c (decl_attributes): Fix typo in size passed to alloca. + * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data, + __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED. -Mon Jun 5 08:10:55 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * cse.c (cse_check_loop_start): Mark parameter `set' with + ATTRIBUTE_UNUSED. - * alpha.md: Use "some_operand" for patterns valid only during - reload and meant to handle adding more PLUS operators during - register elimination. + * dbxout.c (flag_minimal_debug, have_used_extensions, + source_label_number): Move inside macro wrapper check against + defined (DBX_DEBUGGING_INFO) || defined (XCOFF_DEBUGGING_INFO). -Mon Jun 5 07:31:53 1995 Stephen L Moshier (moshier@world.std.com) + * dwarf2out.c (gen_entry_point_die): Hide prototype and definition. - * cse.c (simplify_unary_operation, case FLOAT, UNSIGNED_FLOAT): - Truncate to requested mode. + * except.h (doing_eh): Provide prototype. -Sat Jun 3 22:08:51 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * expr.c: Move inclusion of expr.h to after insn-config.h. - * sched.c (attach_deaths): Don't add a REG_DEAD note if a REG_UNUSED - note is already present. + * final.c: Include reload.h. + (shorten_branches): Cast the first argument of bzero to char *. -Sat Jun 3 18:36:57 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * fix-header.c (cpp_print_containing_files): Mark parameter + `pfile' with ATTRIBUTE_UNUSED. + (cpp_fatal): Likewise. - * pa.h (hppa_builtin_saveregs): Add declaration. + * flow.c (find_basic_blocks_1): Cast the first argument of bzero + to char *. -Sat Jun 3 18:11:26 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * genattrtab.c (make_length_attrs): Change the type of variable + `i' from int to size_t. + (zero_fn): Mark parameter `exp' with ATTRIBUTE_UNUSED. + (one_fn): Likewise. - * Makefile.in (scan-decls.o): Depends on cpplib.h. + * genextract.c (main): When generating insn-extract.c, mark + variable `junk' with ATTRIBUTE_UNUSED. -Fri Jun 2 19:23:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * gengenrtl.c (gencode): When generating genrtl.c, cast the first + argument of bzero to char*. - * optabs.c (expand_binop): Don't use non-REG TARGET in 2-word case. + * integrate.c: Include toplev.h. -Thu Jun 1 19:30:30 1995 Tor Egge (tegge@flipper.pvv.unit.no) + * libgcc2.c: Wrap `struct exception_table' and + `find_exception_handler' in macro DWARF2_UNWIND_INFO. - * m88k.h (RETURN_POPS_ARGS): New argument. - * m88k/dolphin.ld: Added start of comment. + * objc/Make-lang.in (objc-act.o): Depend on toplev.h. -Thu Jun 1 19:12:28 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * objc/objc-act.c: Include toplev.h. + (lang_print_xnode): Mark parameters `file', `node' and `indent' + with ATTRIBUTE_UNUSED. + (finish_protocol): Likewise for parameter `protocol'. - * configure (a29k-*-bsd*): Fix typo in last change. + * output.h (declare_weak): Add prototype. + (decode_reg_name): Don't wrap with TREE_CODE macro. + (assemble_alias): Add prototype. -Thu Jun 1 18:51:53 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * regclass.c: Include output.h. - * expmed.c (extract_fixed_bit_field): For REG case, compute total_bits - from mode instead of assuming BITS_PER_WORD. + * reload.h (reloads_conflict): Add prototype. -Thu Jun 1 18:34:31 1995 Michael Meissner <meissner@cygnus.com> + * rtl.h (print_rtl_single, mark_elimiation, reg_class_subset_p, + output_func_start_profiler): Add prototypes. - * rs6000.h (FIXED_R13): Default to 0. - ({FIXED,CALL_USED}_REGISTERS): Use FIXED_R13 for register 13. - * sysv4.h (FIXED_R13): Define to be 1. + * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with + ATTRIBUTE_UNUSED. -Wed May 31 20:57:26 1995 Torbjorn Granlund <tege@matematik.su.se> + * scan-decls.c: Include scan.h. - * m68k.md ([su]mulsi3_highpart): Pass correct number of arguments to - const_uint32_operand. - * m68k.c (const_uint32_operand): Reject negative numbers. + * scan.h (recognized_function, recognized_extern): Add prototypes. - * expmed.c (expand_mult_highpart): Use wide_op1 for all multiplies. - (expand_divmod): Undo Nov 12 change. Instead, add special case - for division by MIN_INT in signed TRUNC_DIV_EXPR case. + * stmt.c: Include output.h. -Wed May 31 20:44:21 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * toplev.c (error_for_asm, warning_for_asm): Remove prototypes. + (output_lang_identify): Hide prototype and definition. + (float_signal): Mark parameter `signo' with ATTRIBUTE_UNUSED. + (pipe_closed): Likewise. - * m68k.md (one_cmpldi2): New pattern. - ({a,l}shrdi{3,_const}): Allow 63 as shift count. + * toplev.h (count_error, strip_off_ending, error_for_asm, + warning_for_asm): Add prototypes. -Wed May 31 14:56:31 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com> - * varasm.c (assemble_start_function, assemble_variable): - Make sure first_global_object_name is in permanent obstack. + * toplev.c (rest_of_compilation): "Charge" final for any time + doing various cleanup operations after finishing compilation + of a function. - * reload1.c (alter_reg): Clean up setting of RTX_UNCHANGING_P - when making a MEM. + * flow.c (dump_flow_info): Also print number of sets and + whether or not the pseudo is a user variable. - * reorg.c (struct resources): New field unch_memory. - (CLEAR_RESOURCES, mark_target_live_regs, dbr_schedule): Clear it. - (mark_{referenced,set}_resources, redundant_insn): Set it. - (fill_simple_delay_slots): Likewise. - (resource_conflicts_p): Test it. + * flow.c (reg_n_max): New global variable. + * regclass.c (allocate_reg_info): Keep reg_n_max up to date. + Delete regno_max variable. + * regs.h (REG_N_CHECK): Define. + (REG_N_REFS, REG_N_SETS, REG_N_DEATHS): Use REG_N_CHECK. + (REG_N_CHANGES_SIZE, REG_N_CALLS_CROSSED, REG_LIVE_LENGTH): Likewise. + (REGNO_FIRST_UID, REGNO_LAST_UID, REGNO_LAST_NOTE_UID): Likewise. - * unroll.c (copy_loop_body): Fix typo in call to sets_cc0_p. +Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de> - * integrate.c (output_inline_function): Don't call expand_function_end. + * acconfig.h (ENABLE_CHECKING): Undefine. + * configure.in (--enable-checking): New option. - * calls.c (prepare_call_address): Only call use_reg on - static_chain_rtx if it is a REG. +Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * configure (a29k-*-bsd*): Use t-a29k. - * t-a29k: New file. - * a29k/t-a29kbare (LIBGCC1_TEST): New null definition. - * a29k/t-vx29k (LIBGCC1_TEST): Likewise. + * reload1.c (merge_assigned_reloads): Can merge + RELOAD_FOR_INPUT_ADDRESS and RELOAD_FOR_OTHER_ADDRESS even + if RELOAD_FOR_INPUT with the same reload_reg_rtx is present. -Wed May 31 14:17:42 1995 Jeffrey A Law (law@snake.cs.utah.edu) +Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com> - * configure (hppa*-*-bsd*): Do not run fixincludes. - (hppa*-*-osf*): Likewise. - (hppa*-*-lites*): Likewise. + * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST. - * pa.h (PRINT_OPERAND_ADDRESS): Use "RR'" rather than "R'" for - symbolic addresses. - * pa.md (symbolic HIGH patterns): Likewise. - (symbolic LO_SUM pattern): Likewise. +Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Wed May 31 14:11:53 1995 Michael Meissner <meissner@cygnus.com> + * reload1.c (gen_reload): Create REG_EQUIV notes. - * rs6000.md (all movstri recognizers): Eliminate updating the pointers. - * rs6000.c (expand_block_move): Don't pass argument of # bytes to - increment pointers by to movstrsi expanders. +Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * rs6000.c (rs6000_override_options): Fix typo with -mstring handling. + * reload1.c (reload): Fix check for USEs to use code of pattern. + (choose_reload_regs): Remove dead variable use_insn. - * rs6000.h (TARGET_SWITCHES): Set MASK_STRING_SET explicitly - if -mno-string, so that it can override the processor default. +Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com) -Wed May 31 07:31:53 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes. - * c-common.c (truthvalue_conversion, BIT_AND_EXPR): Make sure that - the result has boolean_type_node. +Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com> -Tue May 30 19:03:21 1995 J.T. Conklin <jtc@cygnus.com> + * haifa-sched.c (HAIFA_INLINE): Define to be __inline unless + already defined. + (find_insn_{,mem_}list): Use HAIFA_INLINE, not __inline. + (insn_{unit,issue_delay}): Ditto. + (blockage_range): Ditto. + (actual_hazard{,_this_instance}): Ditto. + (schedule_unit): Ditto. + (potential_hazard): Ditto. + (insn_cost): Ditto. + (swap_sort): Ditto. + (queue_insn): Ditto. + (birthing_insn_p): Ditto. + (adjust_priority): Ditto. + (get_block_head_tail): Ditto. + (init_rgn_data_dependences): Ditto. - * stddef.h: Undefine _BSD_XXX_T_ if _GCC_XXX_T is defined on BSD - Net/2 derived systems. +Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de> -Tue May 30 08:17:37 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define. - * m68k.md (decrement_and_branch_until_zero): Operand 0 constraint - changed from "+g" to "+d*am". - (similar anonymous HImode pattern): Likewise. +Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com> - * m68k.md (tstdi): Use tst/subx #0 instead of neg/negx. - Allow "a" and ">" for operand 0. + * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon. -Mon May 29 19:24:43 1995 Niklas Hallqvist (niklas@appli.se) +Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com> - * m68k.md (addsi_lshrsi_31): Use match_dup, not constraint "1", - for matching inputs. + * config/mips/mips.md (dslot): Move after definition of "cpu" + attribute. Handle r3900 case. -Mon May 29 12:39:58 1995 Allen Briggs <briggs@rrinc.com> +Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * i386/isc.h ({STARTFILE,LIB,CPP}_SPEC): Handle -Xp like -posix. - * i386/x-isc3 (X_CFLAGS): Add -Xp. - -Mon May 29 12:28:41 1995 J.T. Conklin (jtc@cygnus.com) + * system.h: Define the STRINGIFY macro here. + * protoize.c: Not here. + * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro. - * configure (sparc-*-netbsd): Add missing asterisk at end. +Tue May 12 00:47:33 1998 John Wehle (john@feith.com) -Mon May 29 08:55:48 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * varasm.c (assemble_variable): Compute the alignment of the data + earlier so that both initialized and uninitialized variables are + effected by DATA_ALIGNMENT. + * tm.texi (DATA_ALIGNMENT): Updated appropriately. - * combine.c (recog_for_combine): New parm PADDED_SCRATCHES; set it. - (try_combine): Accumulate number of scratches and update max_scratch. - (simplify_set): Add extra parm to recog_for_combine. +Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com) - * romp.md (call): Put USE for r0 in CALL_INSN; call call_internal - to emit insn. - (call_internal): New name for anonymous call. - (call_value, call_value_internal): Likewise. + * mips.c: Prototype static functions. - * winnt/xm-winnt.h: Protect most definitions with #ifndef. - * alpha/xm-winnt.h: Include alpha/xm-alpha.h, then winnt/xm-winnt.h. - (POSIX): Undefine. - * xm-alpha.h: Don't include alloca.h for winnt. +Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com> -Sun May 28 18:34:01 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * regmove.c (fixup_match_2, find_matches, regmove_profitable): + Add explanatory comments. - * configure: Make sed commands more uniform. + * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT. - * Makefile.in: Properly use $(srcdir) for files that have it - in their reference as a target of a rule. - (libgcc1.a): Add missing RANLIB_TEST use. +Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com> - * stmt.c (expand_computed_goto): Call do_pending_stack_adjust. + * sparc.md (ffsdi2): Disable. Simplify the expression as well. -Sun May 28 18:08:41 1995 Torbjorn Granlund <tege@mole.gnu.ai.mit.edu> +Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com> - * m68k.md (divmodhi4, udivmodhi4): Use "dmsK" for operand 2. + * varasm.c (make_decl_rtl): Disable April 1 change. -Fri May 26 17:01:22 1995 Paul Eggert <eggert@twinsun.com> +Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com> - * fixincludes: Fix bogus recursive <stdlib.h> in NEWS-OS 4.0C. + * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge. -Fri May 26 08:02:14 1995 Michael Meissner (meissner@cygnus.com) +Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com> - * c-typeck.c (initializer_constant_valid_p): For the CONSTRUCTOR - case, if the type is a record, recurse, just like for unions. + * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Add '`'. + * alpha.c (print_operand): Handle it. + * alpha.md (fix_truncdfsi2, fix_truncsfsi2): New patterns and + related define_splits. Also add peepholes for SImode reload + plus sign_extend lossage. -Thu May 25 07:56:14 1995 Paul Eggert <eggert@twinsun.com> +Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * fixincludes: Add `sel', `tahoe', `r3000', `r4000' to the - list of pre-ANSI symbols that need to be surrounded with __ __. - Allow white space between `#' and `if' when looking for lines to patch. + * genattr.c: Include stdarg.h/varargs.h. Change function + `fatal' to use variable arguments instead of faking it with + integer parameters. Provide a prototype which also + checks the format specifiers using ATTRIBUTE_PRINTF_1. - * objc/sarray.h (PRECOMPUTE_SELECTORS, struct soffset): - Use #ifdef __sparc__, not sparc. + * genattrtab.c: Likewise. + * gencodes.c: Likewise. + * genconfig.c: Likewise. + * genemit.c: Likewise. + * genextract.c: Likewise. + * genflags.c: Likewise. + * genopinit.c: Likewise. + * genpeep.c: Likewise. + * genrecog.c: Likewise. + * genoutput.c: Likewise. Similarly for function `error'. - * m68k.md (addsi_lshrsi_31, ashldi_const, ashrdi_const, lshrdi_const): - Replace `mov' with `move'. +Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Thu May 25 07:35:37 1995 Allen Briggs <briggs@rrinc.com> + * acconfig.h (HAVE_VOLATILE): Insert stub for autoconf. + * alocal.m4 (GCC_C_VOLATILE): New autoconf test. + * configure.in: Use GCC_C_VOLATILE. + * system.h (volatile): Define as empty if no volatile support is + available. - * libgcc2.c (L_eh, i386): Remove in-line comments in assembly - code--the '#' character is not valid for the SYSV as. - -Thu May 25 07:28:54 1995 Pat Rankin (rankin@eql.caltech.edu) +Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com) - * Makefile.in (BC_ALL): Restore it from May 22 change; vms uses it. - (STAGESTUFF): Use it. + * genemit.c (output_add_clobbers): Removed unused variable 'i' from + generated fucntion. -Thu May 25 07:11:56 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com> - * alpha.c (alpha_emit_set_const): Don't call expand_binop for - other than add if SImode and can't create pseudos. + * loop.c (get_condition): Don't combine when either compare is MODE_CC. + * alpha.c (alpha_emit_conditional_branch): New function. Taken from + the body of beq; additionally set the mode of the branch to CCmode for + FP compares and not fast_math. + (alpha_emit_conditional_move): Always use a compare insn for FP + when not fast_math, as well as setting CCmode on the cmov. + * alpha.md (beq, bne, blt, et al): Call alpha_emit_conditional_branch. -Wed May 24 21:38:24 1995 Jim Wilson <wilson@cygnus.com> + * machmode.h (COMPLEX_MODE_P): New macro. - * sched.c (reemit_notes): New function. - (schedule_block): Call reemit_notes twice. Reorganize code for - handling SCHED_GROUP_P insns, so that reemit_notes works. +Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com> - * sh/sh.c (shiftcosts, genshifty_op): Add SH3 support. - * sh/sh.md (ashlsi3, lshrsi3): Add SH3 support. - (ashlsi3_d, ashrsi3_d, lshrsi3_d): New patterns for SH3. - (ashrsi2_31): Remove r/!r constraint. + * haifa-sched.c (print_exp): Fix typo. -Wed May 24 17:00:47 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri May 8 21:48:50 PDT 1998 Jeff Law (law@cygnus.com) - * tree.c (type_list_equal): Call simple_cst_equal before checking - types. + * version.c: Bump for snapshot. -Wed May 24 16:49:49 1995 Douglas Rupp (drupp@cs.washington.edu) +Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com> - * Makefile.in (libgcc2.a): Handle case of separate srcdir. + * final.c (final_scan_insn): Call fatal_insn instead of abort if + we could not split an insn when required to. -Wed May 24 16:22:01 1995 Paul Eggert <eggert@twinsun.com> + * m32r.md ({add,sub}di3): Add define_splits and appropriate low + level insns. + (peepholes): Disable peepholes that call dead_or_set_p. + (movsi): Rewrite to handle addresses better after last change. + Add define_split to split load of addresses in large/medium modes. + (prologue): Call m32r_expand_prologue. + (movsi_{push,pop}): Generators for push/pop. + (movsi): Support PRE_{INC,DEC}, POST_INC. + (mov{di,df}): Rewrite. Always split the insns. + (movsf): Add define_split to get register load in correct mode. + (cmp_ne_small_const_insn): Use 'N' instead of 'S' constraint. + (attributes): Rewrite attributes so that type indicates both the + type and the length of the insn directly. + (all insns): Change to use new type attributes. + (debug): New attribute to convey whether -mdebug was used. + (opt_space): New attribute to convey whether -Os was used. + (function units): Loads are 3 cycles, not 2. Better classify all + insns into short/long. + (load/store/extend insns): Add separate case for load/store + indirect operations without an offset. + (divsi3): Division is a long operation, not short. - * configure: Define $(MAKE) if `make' doesn't. + * m32r.h (LEGITIMATE_LO_SUM_ADDRESS_P): Do not allow LO_SUM for + modes > 1 word. + (GO_IF_MODE_DEPENDENT_ADDRESS): LO_SUM is now mode dependent. + (CONST_OK_FOR_LETTER_P): Make 'N' handle reverse 8 bit compares. + (EXTRA_CONSTRAINT): Remove 'S' special support. Add 'U' for + operands with PRE_{INC,DEC}, POST_INC. + (FUNCTION_PROFILER): Call abort instead of doing nothing. + (GO_IF_LEGITIMATE_ADDRESS): Allow PRE_{INC,DEC}, POST_INC of + SImode variables. + (gen_split_move_double): Declare. + (EXTRA_CONSTRAINT): Add 'T' for memory reference with no offset. + + * m32r.c (gen_split_move_double): Fix typo. Also, don't call + emit_move_insn, build up SET's directly. + (toplevel): Include system.h, not stdio.h. + (move_double_src_operand): Allow any DF or DI mode constant. + (gen_split_move_double): Split moves of DI or DF values into the + appropriate moves, loads, or stores. Don't handle use of auto + inc/dec if using dead index. Do handle overlapping moves, etc. + (m32r_frame_info): Remove prologue_size field. + (m32r_compute_frame_size): Don't calculate prologue size. + (m32r_output_function_prologue): Change to pretty much a NOP. + (m32r_expand_prologue): Expand prologue as a series of INSNs. + (m32r_print_operand): Add support for PRE_{INC,DEC}, POST_INC. + (m32r_print_operand_address): Ditto. + +Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org) + + * reload1.c (emit_reload_insns): When performing expensive + optimizations, do not output the last reload insn if OLD is + not the dest of NSN and is in the src and is clobbered by INSN. + +Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (genrtl.o): Depend on system.h. + * gengenrtl.c (gencode): When creating genrtl.c, have it + include system.h. -Wed May 24 15:50:51 1995 Doug Evans <dje@cygnus.com> +Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * dsp16xx.h (CROSS_LINK_SPEC): ENDFILE_SPEC moved to -nostartfiles. - * i386/freebsd.h (LINK_SPEC): Don't pass "-e start" if nostartfiles - rather than nostdlib. - * i386/sun.h (LINK_SPEC): Likewise. - * m68k/sun2o4.h (LINK_SPEC): Likewise. - * m68k/sun3.h (LINK_SPEC): Likewise. - * m68k/vxm68k.h (LINK_SPEC): Likewise. - * mips/netbsd.h (LINK_SPEC): Likewise. - * config/netbsd.h (LINK_SPEC): Likewise. - * rs6000/mach.h (LINK_SPEC): Likewise. - * sparc.h (LINK_SPEC): Likewise. - * sparc/vxsparc.h (LINK_SPEC): Likewise. + * config/m68k/t-linux: Remove extra stuff already included in + config/t-linux. + +Fri May 8 09:53:24 Paul Eggert <eggert@twinsun.com> + + * fixinc.wrap: Renamed from fixinc.math. Put wrapper around + curses.h if it contains `typedef char bool;', as suggested by + Manfred Hollstein <manfred@s-direktnet.de>. + + * configure.in: Rename fixinc.math to fixinc.wrap. + +Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com> + + * gcc.c (read_specs): Handle missing blank line at end of specs file. + + * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1, + movdfcc_1): Disable. + +Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com> + + * configure.in (enable_threads): Rename to enable_threads_flag before + main loop. Set enable_threads to enable_threads_flag inside main + loop. + +Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com> + + * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called + multiple times. + +Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro. + + * configure.in: Add a call to GCC_FUNC_VFPRINTF_DOPRNT. + (AC_CHECK_HEADERS): Remove unused check for varargs.h,sys/varargs.h. + (AC_CHECK_FUNCS): Remove unused check for vprintf. + + * Makefile.in: Add support for linking in vfprintf.c and doprint.c. + (cccp.o): Depend on gansidecl.h. + (cexp.o): Likewise. + + * cccp.c: Convert from using PRINTF_ALIST/PRINTF_DCL to VPROTO as + per the rest of gcc source. + * cexp.y: Likewise. Include gansidecl.h and remove all code made + redundant. + + * cccp.c: Remove checks for HAVE_VPRINTF and the associated code + used when vfprintf is missing. + * cexp.y: Likewise. + * gcc.c: Likewise. + * genattrtab.c: Likewise. + * mips-tfile.c: Likewise. + * toplev.c: Likewise. + + * vfprintf.c: New file. + * doprint.c: New file. + +Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com) - * m88k/m88k.h (FUNCTION_ARG_BOUNDARY): Use GET_MODE_BITSIZE. + * config/linux.h (ASM_COMMENT_START): Remove from here, + * config/linux-aout.h (ASM_COMMENT_START): and here, + * config/i386/linux.h (ASM_COMMENT_START): to here, + * config/i386/linux-aout.h (ASM_COMMENT_START): and here. + * config/i386/linux-oldld.h (ASM_COMMENT_START): Define + here as '#' too. -Wed May 24 15:44:04 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode + constant. - * fold-const.c (fold): Make sure that a folded TRUTH_NOT_EXPR - retains the same type. +Wed May 6 22:32:37 CDT 1998 Robert Lipe <robertl@dgii.com> - * c-common.c (truthvalue_conversion): Also accept TRUTH_NOT_EXPR. + * Makefile.in (dwarfout.o) Add toplev.h dependency. + * dwarfout.c, i386.c: Include toplev.h + * toplev.h: (pfatal_with_name) Add prototype. -Wed May 24 15:41:51 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com> - * cplus-dem.c (strstr, strncmp, strlen): Remove declarations. + * Makefile.in: Fix .SUFFIXES. - * tree.c (type_list_equal, simple_cst_list_equal, index_type_equal): - Check for simple_cst_equal return value of -1. +Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au> -Wed May 24 10:05:24 1995 Michael Meissner <meissner@cygnus.com> + * config/linux.h (ASM_COMMENT_START): Define as "#". + * config/linux-aout.h (ASM_COMMENT_START): Likewise. - * libgcc1-test.c (start, _start): Provide declarations, so that - the GNU linker doesn't give a warning message about defaulting the - start address. +Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com> - * rs6000/sysv4.h (STRIP_NAME_ENCODING): Redefine back to the - original defination, rather than the defination used in rs6000.h. - (ASM_OUTPUT_SOURCE_LINE): Use STRIP_NAME_ENCODING. - * rs6000.h (STRIP_NAME_ENCODING): Skip leading '*'. + * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency. + * objc/objc-parse.y, objc/objc-parse.c: Regenerate. - * rs6000.h (MASK_STRING_SET, TARGET_STRING_SET): Add target - flags bit for whether -mstring was actually used. - (TARGET_SWITCHES): Add MASK_STRING to all power targets. Set - MASK_STRING_SET for -mstring and -mno-string. - (TARGET_DEFAULT): Add MASK_STRING. + * toplev.c: Include toplev.h. + * Makefile.in (c-common.o, c-convert.o, c-decl.o, c-iterate.o, + c-lex.o, c-parse.o, c-pragma.o, c-typeck.o, calls.o, convert.o, + dwarf2out.o, except.o, expr.o, final.o, fold-const.o, function.o, + hash.o, profile.o, real.o, reg-stack.o, regclass.o, reload.o, + reload1.o, stmt.o, stor-layout.o, tlink.o, tree.o, varasm.o): Add + toplev.h dependency. - * rs6000.c (rs6000_override_options): Add MASK_STRING to - all power targets. Make an explicit -mstring/-mno-string override - the -mcpu=processor default. + * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to + HARD_FRAME_POINTER_REGNUM. - * rs6000/eabile.h (CPP_SPEC): Copy from sysvle.h to provide the - appropriate little endian defaults. + * expr.c (target_temp_slot_level): Delete duplicate definition. - * rs6000/sysv4.h (ASM_OUTPUT_SOURCE_LINE): Use assemble_name to - output the canonical name. +Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com) -Wed May 24 01:21:15 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * stmt.c (mark_seen_cases): Make it have external linkage again. + * expr.h (mark_seen_cases): Add declaration, but only when tree.h + has been included. - * rs6000.h (STRIP_NAME_ENCODING): Define. - (RS6000_OUTPUT_BASENAME): Use it. + * haifa-sched.c (print_value, case SUBREG): Fix typo. -Tue May 23 19:54:21 1995 Doug Evans <dje@cygnus.com> + * i386.c (output_387_binary_op): Add some braces to avoid warnings. + * i386.h (REG_CLASS_CONTENTS): Similarly. - * gcc.c (link_command_spec): Move ENDFILE_SPEC from -nostdlib - to -nostartfiles. + * toplev.c (-fsched-max): Delete flag. + (-fsched-interblock-max-blocks,-fsched-interblock-max-insns): Likewise. + * haifa-sched.c: Remove -fsched-max-N, -fsched-interblock-max-blocks-N + and -fsched-interblock-max-insns-N support. Remove INTERBLOCK_DEBUG + conditionals. -Tue May 23 17:01:50 1995 Jim Wilson <wilson@cygnus.com> + * haifa-sched.c (find_rgns): Correctly handle reducible loops with + inner loops which are not reducible. - * alpha.md (negsi2-2): Change output pattern to #. + * loop.c (regs_match_p): Fix typo in prototype. - * mips.c (embedded_pic_offset): Output RTL to initialize - embedded_pic_fnaddr_rtx. - (mips_finalize_pic): Delete. - * mips.h (mips_finalize_pic): Delete declaration. - (FINALIZE_PIC): Delete. - (INIT_EXPANDERS): Clear embedded_pic_fnaddr_rtx. - * mips.md (get_fnaddr): Add = to output contraint. + * regmove.c (try_auto_increment): Wrap declaration inside an + #ifdef AUTO_INC_DEC. - * sh.c (shift_amounts): Correct entry for shifts by 29. - * sh.md (sett): New pattern. - (movsi_i): Change source constraint for move to T reg to be 'z'. - - * mips/ecoff.h (STARTFILE_SPEC): Define to null string. - * mips/elfl.h, mips/elfl64.h: Correct typo in comment. - - * mips/elflorion.h, mips/elforion.h (MIPS_CPU_DEFAULT): Delete. - * mips.c (override_options): Delete #ifdef MIPS_CPU_DEFAULT code. - Add #ifdef MIPS_CPU_DEFAULT_STRING code before the first - mips_cpu_string test. - -Tue May 23 07:22:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * romp.c (hash_rtx): Avoid warning on int-to-pointer conversion. - (output_fpops): Cast args to bcopy to char *. - - * cpplib.c (initialize_builtins): Add missing parm to timestamp call. - - * Makefile.in (install-libobjc): Don't depend on libobjc.a. - - * c-parse.in: Objc shift/reduce conflicts now 48. - (parm): Use setspecs/restore here. - (parmlist_or_identifiers): Not here. - -Mon May 22 19:30:30 1995 Doug Evans <dje@cygnus.com> - - * h8300.md (movsf_h8300h): Add missing post-inc case to constraints. - -Mon May 22 14:38:36 1995 Michael Meissner <meissner@cygnus.com> - - * rs6000.c (rs6000_override_options): Do SUBTARGET_OVERRIDE_OPTIONS - here. - * rs6000.h (OVERRIDE_OPTIONS): Not here. - - * rs6000.c (expand_block_move): Handle moves without string - instructions by generating a series of loads and stores. - (output_prolog): Support -mno-toc on V.4 and eabi systems. - - * rs6000/sysv4.h (TARGET_SWITCHES): Add -mtoc and -mno-toc. - (SUBTARGET_OVERRIDE_OPTIONS): Add some warnings for incompatible - switches. - (TOC_SECTION_FUNCTION): Make -mno-toc like -mrelocatable in that - we don't put the minimal toc pointer in the global toc section. - (LINK_SPEC): Use -oformat to set link output format, not -m. - - * rs6000/t-eabigas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build - libgcc.a variants with -mno-toc support. - * rs6000/t-ppcgas (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Ditto. - -Mon May 22 07:10:52 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * cplus-dem.c (mystrstr): Replacement for strstr. - - * configure: Split up long sed command. - * Makefile.in (SYMLINK): Deleted; unused. - (oldobjext): Deleted; no longer used. - (FLAGS_TO_PASS): Include objext and exeext. - (STAGESTUFF, protoize.o, unprotoize.o): Use $(objext), not .o. - (test_protoize_simple, compare{,3}, gnucompare{,3}): Likewise. - (STAGESTUFF, specs, gcc-cross, collect2): Add missing $(exeext). - (libgcc1.null, libgcc[12].a, stage[1-4]): Likewise. - (xgcc, cc1, cc1obj, enquire): Use $@ instead of filename for -o value. - (collect2, mips-tfile, mips-tdump, gen*): Likewise. - (bi-arity, bi-opcode, bi-opname, cccp, cppmain): Likewise. - (protoize, unprotoize, gen-protos, fix-header): Likewise. - (crtbegin.o, crtend.o): Don't use -o; move output to proper - filename (using objext) instead. - (BI_ALL, BC_ALL, bytecode): Deleted; unused. - (bi-*.o, cexp.o, stamp-{proto,fixinc}): Remove unneeded $(srcdir). - (getopt{,1}.o, SYSCALLS.c.X): Likewise. - (install-driver): New target. - (install-normal): Depend on it. - (install-common): Don't depend on xgcc. - (maketest): Deleted; no longer used. - (stage[1-4]): Use name collect-ld, not real-ld. - (risky-stage[1-4]): Use stage[1-4] as dependencies; don't copy. - * alpha/config-nt.bat, i386/config-nt.bat: Make {,h,t}config.h - and tm.h by writing a single #include line. - Update way specs.h and options.h are written. - * alpha/config-nt.sed, i386/config-nt.sed: Set new variables - into Makefile. - Build winnt.obj. - Edit CCCP definition. - * alpha/x-winnt, i386/x-winnt (oldobjext): Deleted. - Add rules for .c.obj, .adb.obj, and .ads.obj. - (LIB2FUNCS_EXTRA, spawnv.o): New rules. - * i386/x-winnt (objext): Now .obj, not .o. - - * gcc.c (HAVE_OBJECT_SUFFIX): New macro. - (process_command): Convert x.o to x.foo for OBJECT_SUFFIX of ".foo". - (do_spec_1): Avoid shadow variable "i" and always use for loop var. - - * c-decl.c (finish_decl_top_level): Removed; no longer used. - * objc-act.c: Numerous formatting changes. - (NULLT): Deleted; all uses changed to NULL_TREE. - (get_{static,object}_reference, objc_add_static_instance): - Use push_obstacks instead of saving obstacks manually. - (build_{selector,class}_reference_decl): Likewise. - (build_objc_string_decl, build_protocol_reference): Likewise. - (comp_{method,proto}_with_proto): Likewise. - (create_builtin_decl, synth_module_prologue): Set DECL_ARTIFICIAL - for internal objects. - (build_{selector,class}_reference_decl, add_objc_decls): Likewise. - (generate_objc_symtab_decl, build_module_descriptor): Likewise. - (build_protocol_reference): Likewise. - (build_objc_string_decl, synch_forward_declarations): Likewise. - Delete call to end_temporary_allocation. - (generate_static_references, generate_strings): Likewise. - (build_selector_translation_table, generate_category): Likewise. - (generate_{ivars,protocol}_list, build_protocol_reference): Likewise. - (build_objc_string_object): If next_runtime, put everything in - permanent obstack. - (objc_add_static_instance): Use build_decl instead of start_decl - and finish_decl_top_level. - (build_{class_reference,objc_string}_decl): Clear DECL_CONTEXT. - (start_class): Exit with FATAL_EXIT_CODE, not 1. - (add_objc_decls): Don't set DECL_IN_SYSTEM_HEADER. - - * tree.c (valid_machine_attribute): Handle attribute on - pointer-to-function types. - -Sun May 21 17:16:37 1995 J. T. Conklin <jtc@cygnus.com> - - * mips/netbsd.h (HAVE_STRERROR): Remove. - * mips/xm-netbsd.h: New file. - * mips/t-mips-netbsd: Deleted. - * configure (mips-dec-netbsd): Use xm-netbsd.h and t-libc-ok. - -Sun May 21 17:16:37 1995 Arne H. Juul (arnej@pvv.unit.no) - - * mips/netbsd.h: Use __start as entry point. Ifdef some - paths on CROSS_COMPILE. - -Sun May 21 08:39:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * c-parse.in (datadef, fndef, ivar_decl, mydecls): - Restore declspec_stack since setspecs is used. - (parmlist_or_identifiers): Use setspecs before parsing parms - and restore after parsing parms. - -Sun May 21 01:04:52 1995 Jeffrey A. Law <law@snake.cs.utah.edu> - - * pa.c (hppa_encode_label): New variable "permanent" to - where/how memory is allocated for the new label. All - callers changed. - -Sat May 20 16:53:30 1995 Mike Meissner <meissner@cygnus.com> - - * rs6000.md (insv, extz): Fail if the structure is QI or HI reg to - avoid paradoxical subreg's being created in RTL phase, which uses - SImode to load from memory if structure is later moved to stack. - -Sat May 20 06:44:59 1995 Philippe De Muyter (phdm@info.ucl.ac.be) - - * m68k.md (udivmodhi4): Output "divu" instead of "divs". - -Sat May 20 06:11:32 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * reload.c (push_reload): Don't reload inside a SUBREG - when SUBREG_WORD is nonzero. - - * c-decl.c (shadow_tag_warned): Don't warn about useless keyword - if in system header file. - - * tree.c (simple_cst_equal): Don't look at language-specific - nodes since we don't know what's in them. - - * cpperror.c: #include config.h before any other .h file. +Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com> + + * final.c (output_operand_lossage): Call fatal with the operand + lossage message instead of calling abort. + +Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * c-common.c: Convert to using ctype macros defined in system.h. + * c-lex.c: Likewise. + * cccp.c: Likewise. * collect2.c: Likewise. + * rs6000.c: Likewise. + * cpplib.c: Likewise. + * fix-header.c: Likewise. + * gcc.c: Likewise. + * gen-protos.c: Likewise. + * pexecute.c: Likewise. + * protoize.c: Likewise. + * rtl.c: Likewise. + * scan.c: Likewise. + * stmt.c: Likewise. + * tlink.c: Likewise. + * toplev.c: Likewise. - * i386/config-nt.bat: Add missing ^M on two lines. - Add case for Fortran; fix typo in Ada case. - * alpha/config-nt.bat: Add case for Fortran; fix typo in Ada case. +Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com> - * m68k/t-next (LIBGCC1, CROSS_LIBGCC1): Make not, not "libgcc1.null". - (OTHER_FIXINCLUDES_DIRS, LIMITS_H_TEST): Delete from here. - * m68k/x-next (OTHER_FIXINCLUDES_DIR, LIMITS_H_TEST): Move to here. + * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) : + Replace -gdwarf-2 with -g0. -Fri May 19 19:30:20 1995 Stan Cox (gcc@dg-rtp.dg.com) +Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * crtstuff.c: Added reference to INIT_SECTION_PREAMBLE for systems that - do something which must be undone prior to __do_global_ctors. + * Makefile.in (mips-tfile.o, mips-tdump.o): Depend on system.h. + * mips-tdump.c: Include system.h, remove redundant headers. + * mips-tfile.c: Likewise. Also, convert all ctype function calls + to calls of the macro versions defined in system.h. -Fri May 19 19:27:08 1995 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au> + * objc/Make-lang.in (objc-act.o): Depend on system.h. + * objc/objc-act.c: Include system.h, remove redundant headers. - * i386/linux-aout.h (CPP_SPEC): Add defines for -fPIC. - * i386/linux-oldld.h (CPP_SPEC): Likewise. +Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Fri May 19 17:46:28 1995 Philippe De Muyter (phdm@info.ucl.ac.be) + * configure.in (AC_CHECK_FUNCS): Add isascii. + (GCC_NEED_DECLARATIONS): Add atof. - * collect2.c (strstr): Deleted. - * cplus-dem.c (strstr): Define ifndef POSIX. + * system.h: Provide prototypes for abort, atof, atol and sbrk here. + * rtl.c, rtl.h, toplev.c, tree.h: Not here. -Fri May 19 11:16:51 1995 Per Bothner <bothner@kalessin.cygnus.com> +Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * cpplib.c (collect_expansion): Don't escape '@' inside string. + * system.h: Wrap time.h and sys/file.h in autoconf checks. + Provide default definitions for O_RDONLY and O_WRONLY here. -Fri May 19 06:59:21 1995 Pat Rankin (rankin@eql.caltech.edu) + * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here. - * vmsconfig.com (process_objc_lib, configure_makefile): New routines. - (bc_all.list, ./vax.md, objc-objs.opt, objc-hdrs.list): New files - created at config time. - (bc_all.opt, ./md.): No longer created. - * make-cc1.com: Handle revised filenames from vmsconfig.com; - (DO_OBJCLIB): New variable, plus code to compile objc/*.{c,m}. +1998-05-06 Mark Mitchell <mmitchell@usa.net> -Wed May 17 16:15:31 1995 Torbjorn Granlund <tege@cygnus.com> + * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'. - * i960.c (i960_output_ldconst): New code for XFmode. - Also, move SFmode code to immediately after DFmode code. - (S_MODES, D_MODES): Handle XFmode. - (XF_MODES): Was TF_MODES, handle XFmode instead of TFmode. - (hard_regno_mode_ok): Replace TFmode with XFmode. - (i960_output_long_double): New function. +Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com> - * i960.h (DATA_ALIGNMENT): Define. - (ROUND_TYPE_ALIGN): Align XFmode scalars at 128 bit boundaries. - (ROUND_TYPE_SIZE): Round up the size of XFmode objects to 128 bits. - (CONST_DOUBLE_OK_FOR_LETTER_P): Use CONST0_RTX and CONST1_RTX - so that all FP modes are recognized. - (ASM_OUTPUT_LONG_DOUBLE): Define. + * toplev.h: New file. Protypes for functions in toplev.c. + * tree.h, rtl.h: Deleted protos for functions in toplev.c. + * c-common.c, c-convert.c, c-decl.c, c-iterate.c, c-lex.c, + c-parse.in, c-parse.y, c-pragma.c, c-typeck.c, calls.c, + convert.c, dwarf2out.c, except.c, expr.c, final.c, fold-const.c, + function.c, hash.c, profile.c, real.c, reg-stack.c, regclass.c, + reload.c, reload1.c, stmt.c, stor-layout.c, tlink.c, tree.c, + varasm.c: include it. - * i960.md: Change all TFmode patterns to have XFmode. - (movxf recognizer, frame version): Use movt, ldt, and stt. - (movxf recognizer, non-frame version): Delete. - (extenddfxf2): Delete * before f constraint. - (extendsfxf2): Likewise. +Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com) + Jim Wilson (wilson@cygnus.com) -Wed May 17 17:53:35 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu> + * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf + blocks. Check for 1 successor which is the EXIT_BLOCK. - * unroll.c (unroll_loop): Increment copy_start_luid if copy_start - is loop_start. + * haifa-sched.c (find_rgns): Detect unreachable blocks, including + unreachable loops with more than one block. -Wed May 17 17:44:57 1995 Lee Iverson <leei@Canada.AI.SRI.COM> +Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de> - * fold-const.c (invert_truthvalue, case CLEANUP_POINT_EXPR): New case. + * fix-header.c (write_rbrac): Add "abort" to functions which need to + be protected. -Tue May 16 18:51:16 1995 Michael Meissner <meissner@cygnus.com> +Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com) - * rs6000/rs6000.h (TARGET_SWITCHES): Add -mstring to enable string - instructions, and -mno-string to disable them. - (MOVE_MAX): Don't test TARGET_MULTIPLE anymore. - (MAX_MOVE_MAX): Set to 8, not 16. - (expand_block_move): Add declaration. + * Check in merge from gcc2. See ChangeLog.12 for details. - * rs6000/rs6000.c (expand_block_move): New function to expand - block moves when -mstring is used. +Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com> - * rs6000/rs6000.md (movti): Use TARGET_STRING, not TARGET_MULTIPLE. - (load_multiple, store_multiple): Ditto. - (string insns): Add 8, 6, 4, 2, and 1 register variants for using - the native string instructions if -mstring. + * c-common.c (scan_char_table): Separate 's' and 'c'. 'c' does not + accept 'a' flag. 'S' does accept 'a' flag. + (check_format_info): When pedantic, warn for m/C/S/a/A formats, + and `a' flag. - * rs6000/sysv4.h (CPP_SPEC): If little endian, define - _LITTLE_ENDIAN and set littleendian assertion. If big endian, - define _BIG_ENDIAN and set bigendian assertion. - * rs6000/sysv4le.h (CPP_SPEC): Copy from sysv4.h, and change - default to little endian. + * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include. - * rs6000/rs6000.c (override_options): Check for -mmultiple and - -mstring on little endian systems here. - * rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Don't do the check - here. +Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Tue May 16 18:36:41 1995 Douglas Rupp (drupp@cs.washington.edu) + * config/m68k/m68k.h: Declare functions from m68k.c used in + macros and machine description. + (ASM_OUTPUT_LONG_DOUBLE): Always use `l' flag in print format for + long values. + (ASM_OUTPUT_FLOAT): Likewise. + (ASM_OUTPUT_FLOAT_OPERAND): Likewise. - * alpha.c: Changed WINNT to _WIN32. - * alpha/config-nt.bat, i386/config-nt.bat: Added commands to - generate specs.h and options.h. - * i386/config-nt.sed: Changed link32 to link. - * winnt/ld.c (main): Removed call to free. - * configure.bat: Added line to echo usage on invalid input. - * gcc.c (fix_argv): Removed call to free. - * gcc.c, getpwd.c, protoize.c, sdbout.c: Changed WINNT to _WIN32. - * toplev.c: Likewise. +Tue May 5 01:28:12 1998 Jason Merrill <jason@yorick.cygnus.com> + + * tree.def: Add NAMESPACE_DECL. + * dwarfout.c (type_ok_for_scope): Ignore NAMESPACE_DECLs for now. + * dwarf2out.c (push_decl_scope): Likewise. + (scope_die_for): Likewise. + * tree.c (decl_function_context): Use TREE_CODE_CLASS to determine + how to get next context level. + +Tue May 5 01:43:16 1998 Jim Wilson <wilson@cygnus.com> + + * i386.c (output_fix_trunc): Add code to emulate non-popping DImode + case. + +Tue May 5 01:15:06 1998 Jeffrey A Law (law@cygnus.com) + + * h8300.h (ADDITIONAL_REGISTER_NAMES): Add "er" registers. + + * reorg.c (fill_slots_from_thread): Update REG_DEAD/REG_UNUSED notes + for any insns skipped at the start of a block because they were + redundant. + +Mon May 4 20:23:51 1998 Jim Wilson <wilson@cygnus.com> + + * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000. + +1998-05-04 Ulrich Drepper <drepper@cygnus.com> + + * c-common.c (format_char_info): Add new field hhlen. + (print_char_table, scan_char_table, time_char_table): Initialize + hhlen field appropriately. + (char_format_info): Recognize hh modifier and lookup correct char + table entry. + +Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com> + + * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string + reference if this is a store. + +Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com> + + * sparc.c (output_move_quad): Fix typo in mov_by_64 argument. + +Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com> + + Make UnixWare 7 bootstrap support work with final shipping product. + * configure.in: (i[34567]86-*-sysv5): append, not overwrite, xm_file. + Pick up xm-siglist and xm-alloca. + (xm_defines): Add USG so dbxout will build. + * configure: Regenerate. + +Sun May 3 13:51:34 PDT 1998 Richard Henderson <rth@cygnus.com> + + Support for official Sparc V9 ABI: + * sparc.c (sparc_override_options): Force stack bias off for !arch64. + Care for flag_pcc_struct_return default. + (output_move_quad): Rewrite to move by halves on v9 and in the + proper direction. + (move_quad_direction): New function. + (output_fp_move_quad): Use it to determine the direction of copy. + (function_arg_slotno): Return -1 for FP reg overflow as well. + (function_arg_record_value*): New functions. + (function_arg): Use them. Streamline unprototyped parameter passing. + (function_arg_pass_by_reference): Pass TCmode by reference. + (function_value): New function. + * sparc.h (PTRDIFF_TYPE, SIZE_TYPE): For -pedantic's sake, don't use + long long in 64-bit mode. + (RETURN_IN_MEMORY): v9 returns structs < 32-bytes in regs. + (DEFAULT_PCC_STRUCT_RETURN): Make the default detectable. + (BASE_RETURN_VALUE_REG): Consider complex float types for arch64. + (BASE_OUTGOING_VALUE_REG, BASE_PASSING_ARG_REG): Likewise. + (BASE_INCOMING_ARG_REG): Likewise. + (FUNCTION_VALUE): Call function_value. + (FUNCTION_OUTGOING_VALUE, LIBCALL_VALUE): Likewise. + * sparc.md (movdi_sp32_v9): Disable for arch64. + (movsf, movdf, movtf): Sort all ulternatives using fp regs first. + (call_value_address_sp64): Remove register class constraints. + (call_value_symbolic_sp64): Likewise. + (nonlocal_goto): Pass label reg directly to goto_handlers. Constrain + v9 case to 32-bit constants. + (goto_handler_and_restore_v9): Provide a version for arch64. + * sparc/linux64.h (SIZE_TYPE, PTRDIFF_TYPE): Remove private definition. + * sparc/sp64-aout.h (TARGET_DEFAULT): Turn on stack bias. + (CPP_PREDEFINES): New. + * sparc/sp64-elf.h: Likewise. + (PREFERRED_DEBUGGING_TYPE): Dwarf2. + (ASM_OUTPUT_DWARF2_ADDR_CONST): New. + * sparc/sysv4.h (SIZE_TYPE, PTRDIFF_TYPE): Undo svr4.h's changes. + +Sat May 2 17:47:17 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads): Emit USEs to mark where a pseudo + is reloaded with the MEM of its stack slot. + * reload1.c (cannot_omit_stores): Delete. + (reload): Don't initialize it. + Don't apply avoid_return_reg logic to USEs. + When done, remove USEs that have a REG_EQUAL note on them. + (emit_reload_insns): Handle case where we have inherited a MEM. + (choose_reload_regs): Likewise. + (delete_output_reload): Don't use cannot_omit_stores. + +Thu Apr 30 18:59:03 1998 Jim Wilson <wilson@cygnus.com> + + * Makefile.in (cpp.info, gcc.info): Put -o option before input file. + +Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com> + + * haifa-sched.c (print_{exp,value}): Various changes to make the + debug output easier to read. Also, use only one buffer, and make + sure the buffer we are passed in doesn't overflow. + (safe_concat): Concatenate to a buffer without overflow. + +Thu Apr 30 16:57:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * haifa-sched.c (alloc_{INSN,EXPR}_LIST): Make static to agree + with the prototype. + +Wed Apr 29 21:45:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sched.c (new_insn_dead_notes): Check if the register was + used in the original instruction. + * haifa-sched.c (new_insn_dead_notes): Likewise. + +Wed Apr 29 13:46:03 1998 Jim Wilson <wilson@cygnus.com> + + * dwarf2out.c (scope_die_for): If could not find proper scope, + check for and handle tagged type with incorrect TYPE_CONTEXT. + +Wed Apr 29 15:34:40 1998 John Carr <jfc@mit.edu> + + * calls.c (expand_call): Fix recognition of C++ operator new. + + * alias.c (mode_alias_check): Disable type based alias detection. + +Wed Apr 29 15:06:42 1998 Gavin Koch <gavin@cygnus.com> + + * config/mips/elf.h (ASM_OUTPUT_DEF,ASM_WEAKEN_LABEL, + ASM_OUTPUT_WEAK_ALIAS): Define. + * config/mips/elf64.h: Same. + * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK, + ASM_WEAKEN_LABEL): Removed. + +Wed Apr 29 10:53:29 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * calls.c (expand_call): Bump the length limit on the specially + recognized function names to 17. + +Tue Apr 28 17:53:33 1998 Jim Wilson <wilson@cygnus.com> + + * ginclude/stddef.h: Add check for _MACHINE_ANSI_H_ for BSD/OS + when undefining macros at the end. + + * expr.c (expand_builtin, case BUILT_IN_MEMSET): Break if either + val or len has TREE_SIDE_EFFECTS set. + + * sparc.md (mulsidi3): Call const v8plus and v8plus routines. + (mulsidi3_v8plus, const_mulsidi3_v8plus): Delete asterisk from name. + (smuldi3_highpart): Call const v8plus routine. + (smulsi3_highpart_v8plus): Renamed from smulsidi3_highpart_v8plus. + (const_smulsi3_highpart_v8plus): New pattern. + (smulsi3_highpart_sp32): Renamed from smulsidi3_highpart_sp32. + (umulsidi3): Call const v8plus routine. + (umulsi3_highpart): Handle const before v8plus. Call const v8plus + routine. + (umulsi3_highpart_v8plus): Renamed from umulsidi3_highpart_v8plus. + (umulsi3_highpart_sp32): Renamed from umulsidi3_highpart_sp32. + +Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com> + + * m32r.c (*_oper{and|ator}): Change enum arguments and return + values to int, so they can be prototyped even in files that don't + include rtl.h. + ({small,large}_insn_p): Ditto. + (m32r_select_cc_mode): Ditto. + (gen_compare): Ditto. + (function_arg_partial_nregs): Ditto. + (m32r_setup_incoming_varargs): Ditto. + (init_reg_tables): Add prototype. + (m32r_frame_info): Add prolog_size field. + (m32r_compute_frame_size): Calculate the size of the prologue. + (m32r_first_insn_address): Return prologue size. + (m32r_output_function_prologue): Calculate frame size before + printing out information. Print out the prologue size. + + * m32r.h: Prototype all functions in m32r.c. + (FIRST_INSN_ADDRESS): Declare, returning prologue size. + + * m32r.md (bcc functions): Cast enum's to int. + + * m32r.c (conditional_move_operand): Silence a debug message. + ({small,long}_insn): New predicates. + + * m32r.h (TARGET_M32R): New macro. + (PREDICATE_CODES): Rearrange somewhat, add small_insn/long_insn. + (HAIFA_P): Define as 1/0 depending on whether the Haifa scheduler + was selected. + (ISSUE_RATE): Define as 2. + + * m32r.md (insn_size): New attribute. + ({,rev_}branch_insn): Add .s qualifier to branches believed to be + short. + (m32r): New attribute. + + * configure.in (enable_haifa): Switch m32r to Haifa by default. + * configure: Regenerate. + + (Changes from Nick Clifton <nickc@cygnus.com>) + * m32r.h (EXTRA_CONSTRAINT): Implement 'S' constraint to perfoirm + the equivalent of a negated 'I' constraint. + (PRESERVE_DEATH_INFO_REGNO_P): Define in order to allow peephole + optimisation to work. + + * m32r.md (cmp_ne_small_const_insn): Use 'S' constriant rather + than 'I' since the value is negated. + (peephole): Add peephole optimisation to cope with optimization of + divide and subtracts of the same operands. + + * m32r.c zero_and_one, emit_cond_move): Add support for MVFC. + * m32r.h: Ditto. + * m32r.md: Ditto. + + * m32r.h (PREDICATE_CODES): Add declaration of machine specific + predicates. + +Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (libgcc2.ready): Revert last patch (Apr 24). + +Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against + frame_pointer_rtx not FRAME_POINTER_REGNUM. + +Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com> + + * reg-stack.c: Revert last patch (Apr 20). + (convert_regs): Set insn to PREV_INSN (next) after do while loop. + + * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code. + + * loop.c (check_dbra_loop): New locals jump, first_compare, and + compare_and_branch. Call get_condition to set first_compare. + Set compare_and_branch to number of compare/branch instructions. + Replace PREV_INSN (PREV_INSN (loop_end)) with first_compare. + Replace '2' with compare_and_branch. + +Mon Apr 27 15:53:30 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * cplus-dem.c (demangle_qualified): Replace missing else. + +Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG. + +Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (sh_expand_prologue, sh_expand_epilogue): + If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment. + * sh.h (STACK_BOUNDARY): Likewise. + +Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define. + +Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com> + + * system.h (abort): If abort is not defined, and neither is + USE_SYSTEM_ABORT, redefine abort to call fprintf and exit, + reporting the line and filename of the error. + + * .gdbinit: Add breakpoints on exit and fancy_abort. + + * final.c (split_double): Avoid a compiler warning if + BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT. + + * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros + for calling jump_optimize. + + * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_* + macros, rather than 0/1's. + +Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com> + + * alpha.h (CONST_COSTS): Zero is always free. + (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown. + +Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the + length in the name of a virtual table. + +Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N. + +Sat Apr 25 22:11:38 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com) + + * fold-const.c (fold_convert): Fix typo. + +Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu> + + * alias.c (alias_invariant): New variable. + (record_base_value): New argument INVARIANT. + (memrefs_conflict_p): If a register has an entry in the alias_invariant + array, try substituting that value for the register. + + * rtl.h: Declare record_base_value. + + * loop.c, unroll.c: Update callers of record_base_value. + + * alias.c (find_base_value, find_base_term): SIGN_EXTEND and + ZERO_EXTEND do not affect base values. + +Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com) + + * dbxout.c (dbxout_type): Fix typo. + (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix. + + * configure.in: Use CC_FOR_BUILD, not BUILD_CC. + +Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu> + + * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P + if the argument is the address of a structure or array. + + * configure.in: Enable Haifa scheduler by default for SPARC. + +Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * cse.c (cse_set_around_loop): Don't do optimization when + new pseudos are created. + +Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com) + + * dbxout.c (dbxout_type_fields): Use HOST_WIDE_INT_PRINT_DEC + appropriately. + (dbxout_type_method_1, dbxout_type): Likewise. + (print_int_cst_octal, print_octal, dbxout_symbol): Likewise. + (dbxout_type): Fix check for when to print a type range in + octal vs decimal. + +Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * (gen_shl_and, in case 1): Fix comparison with mask. + +Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame + pointer as second register in REG+REG pair. + +Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * c-common.c (check_format_info): Don't check for the 'x' format + character twice, instead check for 'x' and 'X' + +Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (libgcc2.ready): Add explicit dependancy from + $(STMP_FIXPROTO) to ensure all necessary include files have + been created and to guarantee proper parallel builds. + +Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (sh_expand_prologue, in !SH3E code): Don't push an extra + register for stdarg functions. + * sh.h (current_function_varargs): Declare. + (FUNCTION_ARG): Ignore NAMED for stdarg functions. + +1998-04-23 Jim Wilson <wilson@cygnus.com> + + * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when + inhibit_libc is defined. + + * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL. + +Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com> + + * profile.c (tablejump_entry_p): New function. + (branch_prob): Add code to recognize MIPS tablejump entry branch. + Use tablejump_entry_p in MIPS and HPPA tablejump checking code. + +Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/arm.c (find_barrier): Return as soon as a barrier is + found, rather than at end of the loop, after the insn has been + changed. + +Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift. + * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete. + +Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com> + + * loop.c (note_addr_stored): Correct function to take 2 arguments, + instead of 1. + + * rtl.def (MATCH_INSN2): Add new matching pattern. + * genrecog.c (add_to_sequence): Support MATCH_INSN2. + +Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu> + + * emit-rtl.c (gen_highpart): The high part of a CONST_INT is not zero + if HOST_BITS_PER_WIDE_INT is larger than BITS_PER_WORD. + + * final.c (split_double): Sign extend both halves of a split CONST_INT. + +Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com) + + * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT. + +Wed Apr 22 10:53:49 EDT 1998 Andrew MacLeod <amacleod@cygnus.com> + + * cplus-dem.c (struct work stuff): Add field for B and K mangle codes. + (cplus_demangle_opname): Call mop_up_squangle. + (cplus_demangle): Initialize squangle info, then call + internal_cplus_demangle. (Most code moved there as well) + (internal_cplus_demangle): New function, performs most of what use + to be done in cplus_demangle, but is only called with this file. + (squangle_mop_up): New function to clean up B and K code data. + (mop_up): set pointers to NULL after freeing. + (demangle_signature, demangle_template, demangle_class): Add + switch elements to handle K and B codes. + (demangle_prefix, gnu_special, demangle_qualified): Add + code to handle K and B codes. + (do_type, demangle_fund_type): Handle B and K codes. + (remember_Ktype): New function to store K info. + (register_Btype, remember_Btype): New functions for B codes. + (forget_B_and_K_types): New function to destroy B and K info. + +1998-04-21 Jim Wilson <wilson@cygnus.com> + + * stmt.c (check_seenlabel): When search for line number note for + warning, handle case where there is no such note. + +Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu> + + * genemit.c (gen_exp): Allow machine description to set mode of + MATCH_OP_DUP. + +Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu> + + * alias.c (mode_alias_check): New function. + (true_dependence, anti_dependence, output_dependence): Call + mode_alias_check. + +Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com) + + * mips.h (STACK_BOUNDARY): Allow specific targets to override. + (MIPS_STACK_ALIGN): Similarly. + + * c-common.c (type_for_mode): Handle TI types. + * c-decl.c (intTI_type_node, unsigned_int_TI_type_node): Define. + (init_decl_processing): Handle TI types. + * c-tree.h (intTI_type_node, unsigned_int_TI_type_node): Declare. + + * mips.c (block_move_loop): Test Pmode == DImode instead of + TARGET_MIPS64. + (expand_block_move, save_restore_insns): Likewise. + (function_prologue, mips_expand_prologue): Likewise. + (mips_expand_epilogue): Likewise. + * mips.h (POINTER_SIZE): Allow specific targets to override. + (Pmode): Allow specific targets to override. + (FUNCTION_PROFILER): Test Pmode == DImode instead of TARGET_MIPS64 + (POINTER_BOUNDARY, FUNCTION_MODE): Likewise. + (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE): Likewise. + (TRAMPOLINE_ALIGNMENT, INITIALIZE_TRAMPOLINE): Likewise. + (CASE_VECTOR_MODE, ASM_OUTPUT_ADDR_VEC_ELT): Likewise. + (ASM_OUTPUT_ADDR_DIFF_ELT, SIZE_TYPE, PTRDIFF_TYPE): Likewise. + * mips.md (indirect, tablejump & casesi support): Test for + Pmode == DImode instead of TARGET_MIPS64. + (call patterns): Likewise. + +Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done + for gen_rtx(MEM, ...). + +Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com> + + * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite + to not be so gross, and to properly function with PIC. + +Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com> + + * frame.c (heapsort): Rename to frame_heapsort. + + * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it. + +Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com> + + * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned. + +Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com) + + * i386.md (movsf_push, movdf_push, movxf_push): Allow memory + operands during and after reload. + +Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (shorten_branches, init_insn_lengths): Move code + to free label_align, uid_shuid, insn_lengths, insn_addresses + and uid_align from the former function into the latter one; + Add code to clear these variables. + * sh.h (label_align): Remove declaration. + +Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com> + + * gcc.c (lang_specific_driver): Declare prototype properly so + fatal can be passed to it without error. + + * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr. + * configure: Regenerate. + * config.in: Add #undef's for strchr and strrchr. + + * protoize.c (toplevel): If we have rindex, but not strrchr, map + rindex to strrchr. + (file_could_be_converted): Use strrchr, not rindex since rindex is + not defined on Linux systems when _POSIX_SOURCE is defined. + (file_normally_convertible): Ditto. + (process_aux_info_file): Ditto. + (main): Ditto. + + * rs6000.md (mov{sf,df} define_splits): When splitting a move of + a constant to an integer register, don't split the insns that do + the simple AND and OR operations, rather just split each word, and + let the normal movsi define split handle it further. + +Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling. + (split_branches): Call init_insn_lengths. + +Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com> + + * i386.c: Include expr.h to get the change_address prototype + declared. + +Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org) + + * reg-stack.c (subst_asm_stack_regs): Change to return the last + new insn generated by this function. + (subst_stack_regs): Likewise. + (convert_regs): Record the last newly generated insn and use + it for change_stack () instead of INSN. + +Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * fix-header.c (enum special_file): Undefine enumerators if they + are already defined by include files. + * fixproto (rel_source_file in unistd.h stdlib.h): Prefix file protection + macro with '__' to not pollute user namespace. + +Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (queue_to_ready): Fix typo in prototype. + +Sat Apr 18 23:52:35 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com> + + * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints. + + * i386.h (CPP_CPU_DEFAULT): Renamed to CPP_CPU_DEFAULT_SPEC. + Add missing -Dpentium* options. + (CPP_CPU_SPEC): Delete redundant definition. Include cpp_cpu_default + instead of CPP_CPU_DEFAULT. + (EXTRA_SPECS): Add entry for cpp_cpu_default. + +Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.md (floatsidf2_loadaddr): rs6000_fpmem_offset will be + negative in a stackless frame. + * rs6000.c (rs6000_stack_info): Don't include fixed-size link area + in stackless frame size. Support 64-bit stackless frame size. + Combine fpmem offset calculations and don't add total_size to + offset if not pushing a stack frame. + +Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com> + + * regmove.c (fixup_match_1): In three places, in flag_exceptions + check, change p to q. + +Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com> + + * gcc.c (lang_specific_driver): Add new parm type to prototype. + (added_libraries): New file scope static variable. + (process_command): Initialize added_libraries. Pass it to + lang_specific_driver. + (main): Use added_libraries in check for no input files. + +Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu> + + * sparc.c, sparc.h, sparc.md, sol2.h: Many changes related to V9 + code generation. Use 64 bit instructions in 32 bit mode when + possible. Use V9 return instruction. UltraSPARC optimizations. + + * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (. + +Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com) + + * global.c (global_alloc): Don't pass HARD_CONST (0) to find_reg, + just pass zero. That will work regardless of the size of HARD_REG_SET. + + * libgcc2.c (__floatdisf): Fix a couple typos. + +Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com> + + * Makefile.in (mostlyclean): Delete *.mach and *.bp files. + +Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org> + + * emit-rtl.c (gen_highpart): initialize `word' properly for pseudo. + +Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu> + + * emit-rtl.c (operand_subword_force): If a register can not be + accessed by words, copy it to a pseudo register. + +Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com> + + * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*. + +Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com> + + * tree.h (mark_seen_cases): Delete declaration. + +Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com) + + * stmt.c (mark_seen_cases): Make static and add prototype. + +Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * frame.c: Include stdlib.h and unistd.h to possibly get various + function prototypes. The fixproto script guarantees these header + files exist on the target system. + * libgcc2.c: Likewise. + + * gthr-single.h (__gthread_mutex_lock, __gthread_mutex_trylock, + __gthread_mutex_unlock): Add __attribute__ ((__unused__)) to the + function parameters. + * libgcc2.c (__udiv_w_sdiv): Likewise. + +Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com) + + * varasm.c (asm_output_bss): Add prototype. + (asm_output_aligned_bss): Likewise. + + * unroll.c (verify_addresses): Add prototype. + + * toplev.c: Add many prototypes. Too many to mention here. + + * stmt.c (check_seenlabel): Add prototype. + + * rtlanal.c (reg_set_p_1): Add prototype. + (reg_set_last_1): Likewise. + + * reorg.c (find_dead_or_set_registers): Add prototype. + + * regmove (try_auto_increment): Add prototype. + + * reg-stack.c (pop_stack): Add prototype. + + * recog.c (validate_replace_rtx_1): Add prototype. + (find_cosntant_term_loc): Likewise. + + * loop.c (regs_patch_p): Add prototype. + (add_label_notes, count_nonfixed_reads): Likewise. + (find_single_use_in_loop): Likewise. + (express_from): Surround prototype with #ifdef. + (giv_sort): Similarly. + + * jump.c (mark_modified_reg): Add prototype. + + * haifa-sched.c (is_prisky): Add prototype. + (queue_to_ready): Likewise. + + * genextract.c (gen_insn): Add prototype. + + * genemit.c (max_operand_1): Add prototype. + (max_operand_vec, print_code, gen_exp, gen_insn): Likewise. + (gen_expand, gen_explit, output_add_clobbers): Likewise. + (output_init_mov_optab): Likewise. + + * genattrtab.c (attr_hash_add_rtx): Add prototype. + (attr_hash_add_string, write_length_unit_log): Likewise. + + * genattr.c (init_range): Add prototype. + + * combine.c (sets_function_arg_p): Add prototype. + + * expr.c (store_constructor_field): Add prototype. + (get_memory_usage_from_modifier): Likewise + + * expmed.c (synth_mult): Add prototype. + (choose_multiplier, invert_mod2n): Likewise. + + * except.c (push_eh_entry): Add prototype. + (pop_eh_entry, enqueue_eh_entry, dequeu_eh_entry): Likewise. + (call_get_eh_context, start_dynamic_cleanup): Likewise. + (start_dynamic_handler, can_throw): Likewise. + (output_exception_table_entry, scan_region): Likewise. + (eh_regs, set_insn_eh_region): Likewise. + + * dwarfout.c (decl_class_context): Add prototype. + (output_inheritance_die, type_ok_for_scope): Likewise. + + * c-lex.c (skip_white_space_on_line): Add prototype. + + * alias.c (record_set): Add prototype. + (find_base_term, base_alias_check): Likewise. + + * function.c (assign_outer_stack_local): Make static and add prototype. + + * haifa-sched.c (build_control_flow): Accept raw data as inputs + instead of computing it locally. Callers changed. + (find_rgns): Several new arguments. Callers changed. + Generally clean up and comment better. Use dominators to + identify reducible loops. Convert some flag arrays to bitmaps. + Convert most of the code to work on pred/succ lists instead of + an edge table. Add comments for future improvements. + (schedule_insns): Allocate temporary tables for flow data, call + routines to compute flow data and pass it along to children as + arguments. + (debug_control_flow): Delete. Use dump_bb_data instead. + + * basic-block.h (compute_dominators): Declare. + + * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging + functions. + * basic-block.h: Declare them. + +Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com> + + * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if + no operands. + +Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com> + + * tree.c (build_expr_wfl): Use NULL_TREE if the file name is NULL. + Propagate TREE_SIDE_EFFECTS and TREE_TYPE iff the encapsulated + node is non NULL. Cache last file name and file name identifier node. + +1998-04-15 Mark Mitchell <mmitchell@usa.net> + + * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get + the length of an array, not TREE_TYPE. + +Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com) + + * flow.c (sbitmap_union_of_successors): New function. + * basic-block.h (sbitmap_union_of_successors): Declare it. + +Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com> + + * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop. + Set gnu_ld to gnu_ld_flag inside main loop. + (gas): Likewise. + +Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com> + + * toplev.c (compile_file): Call init_parse using new interface. + (init_lex): Remove declaration. + + * c-lex.c (init_parse): Now returns char* containing filename. + +Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com) + + * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing. + +Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com> + + * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o. + (gen{extract,peep,opinit,output}): Ditto. + + * gen{attr,codes,config,emit,output}.c (insn_attr_name): Provide a + global definition so print-rtl.o can be linked in. + * gen{peep,recog}.c (insn_attr_name): Ditto. + +Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com> + + * fixincludes: discard empty C++ comments, as found in sys/time.h + on hpux-11.0. + +Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant + operand. + +Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com) + + * emit-rtl.c (operand_subword): Rework slightly to avoid + bogus warning from previous change. + +Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com> + + * alpha.md: Revert Oct 27 change, as it is superceeded by Kenner's + Nov 8 find_replacement change. Move decls of get_unaligned_address + * alpha.h: ... here. + +Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu> + + * function.c (assign_parms): Initialize unsignedp before passing + its pointer to promote_mode. + + * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND. + (write_test_expr): Allow MATCH_INSN. + +Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com> + + * install.texi: Update section on warnings that can be safely ignored. + +Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com> + + * mips.md (reload_outdi): Change the scratch mode from DImode to + TImode. New variable scratch, used instead of operand[2] in template. + Add code for MIPS16 HILO_REGNUM case where output reg is not M16_REG_P. + +Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com> + + * expr.c (MOVE_RATIO): Set to 3 if optimizing for space. + +Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se> + + * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine. + +Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com) + + * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC. + (ASM_FINISH_DECLARE_OBJECT): Likewise. + + * Idea and part of the patch from HJ. + * Makefile.in: auto-host.h renamed from auto-config.h. All references + changed. + (distclean): Remove auto-build.h too. + * configure.in: Rename host autoconf generated file to auto-host.h. + If host != build, then run autoconf to generate auto-build.h for + the build machine and include it in build_xm_files. + Check for wait.h and sys/wait.h. + + * combine.c (simplify_rtx, case TRUNCATE): Respect value of + TRULY_NOOP_TRUNCATION. + +Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com> + + * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop. + +Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com> + + * invoke.texi (ld options) Include memset requirements + for options -nodstdlib and -nodefaultlibs. + +1998-04-12 Paul Eggert <eggert@twinsun.com> + + This change is from an idea suggested by Arthur David Olson. + + * c-common.c (decl_attributes, record_function_format, + check_format_info, init_function_format_info): + Add support for strftime format checking. + (enum format_type): New type. + (record_function_format): Now static, and takes value of type + enum format_type instead of int. + (time_char_table): New constant. + (struct function_format_info): format_type member renamed from is_scan. + (check_format_info): Use `warning' rather than sprintf followed by + `warning', to avoid mishandling `%' in warnings. + Change `pedwarn' to `warning', since these warnings do not necessarily + mean the program does not conform to the C Standard, as the code + need not be executed. + + * c-tree.h (record_function_format): Remove decl; no longer extern. + + * extend.texi: Add documentation for strftime format checking. + +Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com) + + * mips/ecoffl.h: Do not include mips.h. + * mips/elf.h: Likewise. + + * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files. + * mips/ecoff.h: Include "mips/mips.h". + +Sat Apr 11 22:42:54 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com) + + * cse.c (count_reg_usage): Correctly handle REG_NONNEG notes. + (delete_trivially_dead_insns): Renamed from delete_dead_from_cse. + * toplev.c (rest_of_compilation): Call delete_trivially_dead_insns instead of delete_dead_from_cse. Also call delete_trivially_dead_insns + between loop optimization passes. + * rtl.h: Updated appropriately. + +Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com) + + Reinstall this patch from Jason. + * function.c (push_function_context_to): Don't call init_emit. + +Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com> + + * rtl.c (read_skip_spaces): Prevent infinite loops upon + encountering unterminated comments. + +Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com) + + * emit-rtl.c (operand_subword): Properly handle CONST_INTs for + 64x32 cross builds. + + * configure.in: Handle --with-fast-fixincludes. + (fixincludes): If --with-fast-fixincludes, then use a different + fixincludes program by default. + * Makefile.in (fixinc.sh): New rule. + +Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org) + + * i386.md (movqi+1): Handle invalid QI register. + (movsf_push-1): Likewise. + +Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com> + + * config/m32r/m32r.c: call_address_operand(): Only accept symbolic + addresses. + symbolic_memort_operand(), call32_operand(), int8_operand(), + int16_operand(), uint24_operand(), reg_or_int8_operand(): Removed. + Not used. + uint16_operand(): Made static. + +Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com) + + * calls.c (expand_call): Fix typo. + +Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com) + + * c-lex.c (finput): New global. + (init_parse): Always included. Handle !USE_CPPLIB using + code originally in compile_file. + (finish_parse): Update for CPPLIB. + * toplev.c (init_parse, finish_parse): Declare. + (finput): Delete variable. Now in front-ends. + (compile_file): Remove code which is now handled by init_parse + which is unconditionally called. Similarly for finish_parse. + +Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com> + + * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK, + ASM_WEAKEN_LABEL): Add. + +Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com> + + * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files. + * configure.in (alpha-*-linux*): Use them. + +Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com> + + * tree.def (EXPR_WITH_FILE_LOCATION): New tree node definition. + * tree.h (EXPR_WFL_{NODE,FILENAME,FILENAME_NODE,LINENO, + COLNO,LINECOL,SET_LINECOL,EMIT_LINE_NOTE}): New macros. + (build_expr_wfl): New prototype declaration. + * tree.c (build_expr_wfl): New function, to build + EXPR_WITH_FILE_LOCATION nodes. + (copy_node): Don't zero TREE_CHAIN if copying a + EXPR_WITH_FILE_LOCATION node. + * print-tree.c (print_node): Handle EXPR_WITH_FILE_LOCATION. + * expr.c (expand_expr): Handle EXPR_WITH_FILE_LOCATION. + +Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in (v850): Use t-v850. + (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations. + + * protoize.c (creat, read, write): Do not declare. + + * jump.c (mark_jump_label): Record REG_LABEL notes for insns which + refer to the CODE_LABEL before a dispatch table. + + * invoke.texi: Add ARC options. + + * gcc.c (proces_command): Improve error message for -o with + either -c or -S. + + * i386/x-cygwin32 (CLIB): Link in advapi32. + + * alpha.h (ASM_IDENTIFY_GCC): Define to nothing. + (ASM_IDENTIFY_LANGUAGE): Likewise. + + * i386.md (movqi recognizer): Don't perfom byte increment into + a NON_QI_REG_P. + + * configure.in (x86-dg-dgux): Run fixinc.dgux. + + * i370.h: Fix typo in GEN_INT changes. + + * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead + of an empty arglist in prototype. + + * Makefile.in: Remove bytecode crud that crept back in after the + gcc2 merge. + +1998-04-08 Brendan Kehoe <brendan@cygnus.com> + + * c-lex.h (is_class_name): Fix arg type to be tree, not void. + (make_pointer_declarator, reinit_parse_for_function): Fix typo. + +Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com) + + * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define. + +Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de> + + * c-lex.c (is_class_name): Delete declaration. + (whitespace_cr): Make static and add prototype. + * c-lex.h (make_pointer_declarator, reinit_parse_for_function, + yylex, get_directive_line): Turn declarations into prototypes. + (position_after_whitespace, check_newline, yyerror,, is_class_name, + forget_protocol_qualifiers, remember_protocol_qualifiers): Add + prototypes. + * genattr.c (extend_range, write_upcase, gen_attr, write_units): Add + prototypes. + * gencodes.c (gen_insn): Add prototype. + * genconfig.c (walk_insn, gen_insn, gen_expand, gen_split, + gen_peephole): Add prototypes. + * genflags.c (num_operands, gen_proto, gen_nonproto, gen_insn): Add + prototypes. + * gengenrtl.c (type_from_format, accessor_from_format, special_rtx, + special_format, find_formats, gendecl, genmacro, gendef, genlegend, + genheader, gencode): Add prototypes. + * genopinit.c (gen_insn): Add prototype. + * genoutput.c (output_prologue, output_epilogue, scan_operands, + process_template, validate_insn_alternatives, gen_insn, gen_peephole, + gen_expand, gen_split, n_occurrences): Add prototypes. + * genpeep.c (gen_peephole): Add prototype. + * loop.c (find_and_verify_loops, mark_loop_jump, prescan_loop, + reg_in_basic_block_p, consec_sets_invariant_p, libcall_other_reg, + labels_in_range_p, count_loop_regs_set, note_addr_stored, + loop_reg_used_before_p, scan_loop, replace_call_address, + skip_consec_insns, libcall_benefit, ignore_some_movables, + force_movables, combine_movables, rtx_equal_for_loop_p, move_movables, + strength_reduce, valid_initial_value_p, find_mem_givs, record_biv, + check_final_value, record_giv, update_giv_derive, basic_induction_var, + simplify_giv_expr, general_induction_var, consec_sets_giv, + check_dbra_loop, express_from, combine_givs_p, combine_givs, + product_cheap_p, maybe_eliminate_biv, maybe_eliminate_biv_1, + last_use_this_basic_block, record_initial, update_reg_last_use, + iteration_info, analyze_loop_iterations, insert_bct, + instrument_loop_bct, indirect_jump_in_function_p): Turn declarations + into prototypes. + +Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com) + + * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define. + +1998-04-07 Ken Raeburn <raeburn@cygnus.com> + + * config/mips/mips.c (siginfo): Deleted. + (override_options): Don't install SIGINFO signal handler. + +Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com> + + * loop.c (check_dbra_loop): When normalize comparison_val, add check + to verify it is non-negative. + +Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_expand_block_move): Correctly collect block offsets. + (alpha_expand_block_clear): Likewise. + +Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com> + + * tree.h (sizetype_tab): Fix previous change for K&R. + +Mon Apr 6 22:23:29 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com) + + * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file. + Add USG and POSIX to xm_defines. + +Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com> + + * gcc.c: Add linker spec. + (link_command_spec): Use %(linker) instead of ld. + (main): If collect2 is requested as the linker, see if it exists; + if not, use ld instead. + + * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld. + (ld:) Deleted. + (install-collect2): Install as collect2, not ld. + + * configure.in(will_use_collect2): It's named collect2 now. + + * collect2: Remove checks to see if we were invoked recursively. + (collect_execute): Use _spawnvp under cygwin32. + +Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com> + + * haifa-sched.c (build_control_flow): Set unreachable for block whose + only predecessor is itself. + +Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * c-parse.in: Include system.h, and remove stuff now made redundant. + * cccp.c: Likewise. + * cexp.y: Likewise. + * protoize.c: Likewise. Properly check for cpp stringification. + + * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o): + Depend on system.h. + + * objc/Make-lang.in (objc-parse.o): Likewise. + +Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gansidecl.h: Check if compiler supports __attribute__. Provide + definitions for ATTRIBUTE_UNUSED and ATTRIBUTE_PRINTF using + __attribute__ when its available. Also provide definitions for + ATTRIBUTE_PRINTF_1, ATTRIBUTE_PRINTF_2 and ATTRIBUTE_PRINTF_3 in + terms of ATTRIBUTE_PRINTF. + + * genoutput.c (process_template): Use ATTRIBUTE_UNUSED in place + of __attribute__. + +Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com> + + * combine.c (can_combine_p): Include successor in volatile test. + +Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set + offset_unsigned. + +Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com) + + * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions + in prototype and definition. + +Mon Apr 6 00:48:56 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_expand_block_clear): Add missing offset arg to + alpha_expand_unaligned_store_words. + +Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com) + + * i386.md (movsf_push, movsf_mem): Remove. + (movsf_push): Rename from movsf_push_nomove and move in front of + movsf. Use nonmemory_operand predicate and don't bother checking + TARGET_MOVE. + (movsf_push_memory): New pattern. + (movsf): Don't bother checking for push_operand. If TARGET_MOVE and + both operands refer to memory then force operand[1] into a register. + (movsf_normal): Change to unnamed pattern. + Likewise for movdf, movxf, and friends. + +Sun Apr 5 18:45:51 PDT 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com> + + * configure.in (alpha-dec-osf*): Match osf1.3 correctly. + +Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com> + + * configure.in (mips-wrs-vxworks): New target. + +Sat Apr 4 23:34:32 PST 1998 Jeff Law (law@cygnus.com) + + * expmed.c (synth_mult): The value -1, has no zeros, so it can + never have the form ...011. + + * version.c: Bump for snapshot. + +Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com> + + * i386.c (asm_output_function_prefix, load_pic_register): + Use ASM_GENERATE_INTERNAL_LABEL properly. + (output_pic_addr_const): Recognize %X to supress any PIC sym suffix. + (print_operand): Ignore it. + (load_pic_register): Use it for the got load call. + * i386.md (prologue_set_got, prologue_get_pc): Likewise. + (prologue_get_pc_and_set_got): Likewise. + * i386.h: Update print_operand docs. + +Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com> + + * i386.md (ffssi, ffshi): Rewrite as define_expands. + (ffssi_1, ffshi_1): New (unspec [] 5) support patterns. + * i386.c (notice_update_cc): Recognize unspec 5. + +Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com) + + * alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Accept '(' for s/sv/svi. + * alpha.c (print_operand): Handle it. + * alpha.md (fix_truncsfdi2): Use it. Add earlyclobber pattern + for ALPHA_TP_INSN. + (fix_truncdfdi2): Likewise. + +Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com> + + * tree.h (sizetype_tab[2], sbitsizetype, ubitsizetype): Merge all + of these into a single struct, with additional [us]sizetype entries. + * stor-layout.c (set_sizetype): Initialize [us]sizetype. + * fold-const.c (size_int_wide): Don't rely on sizetype_tab being + an array. + +Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com> + + * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge. + +Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (split_block_insns): Don't supress insn splitting + on subsequent passes. + + * alpha.c (hard_fp_register_operand): New function. + * alpha.h (PREDICATE_CODES): Add it. + * alpha.md (extendsidi2): Kill bogus f<-f cvtql+cvtlq case. Add an + f<-m case and accompanying define_split. + (trapb): Use a unique unspec_volatile number. + +Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com> + + * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in + from gcc2 merge. + +Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com) + + * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12 + for details. + + * haifa-sched.c: Mirror recent changes from gcc2. + +Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (insn*.o): Depend on system.h. + + * pa.c (output_global_address): Initialize base. + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index. + +1998-04-03 Mike Stump <mrs@wrs.com> + + * gthr.h: Support systems that don't have weak, but have threads. + * configure.in (*wrs-vxworks*): Use VxWorks threads by default. + * gthr-vxworks.h: New file. + * objc/thr-vxworks.h: Dummy file from thr-single.c for now. + +Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com> + + * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn. + +1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com> + + * ginclude/va-i960.h (va_end): Change void * to void. + +Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (choose-temp.o): Depend on system.h. + + * choose-temp.c: Include system.h when IN_GCC. + +Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk) + Richard Henderson <rth@cygnus.com> + + * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS. + (move_replacements): New function. + * reload.h: Prototype it. + + * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition. + +Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com> + + * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1): + Run fixincludes. + + * emit-rtl.c (gen_lowpart_common): Skip count by HARD_REGNO_NREGS. + (gen_highpart): Likewise. + * final.c (alter_subreg): Allow the target to hook by-mode subreg + hard register number changes. + +Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com) + + * fold-const.c optimze_bit_field_compare): Initialize rnbitpos, + rnbitsize, rnmode and rinner. + (make_range): Initialize type. + (fold): Initialize arg0, arg1 and varop. + + * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi + and regnor. + (expand_function_start): Initialize last_ptr. + + * stor-layout.c (layout_record): Initialize desired_align. + (get_best_mode): Initialize unit. + + * tree.c (copy_node): Initialize length. + + * c-lex.c (yylex): Initialize traditional_type, ansi_type and type. + + * caller-save.c (insert_save_restore): Initialize pat, code and + numregs. + + * emit-rtl.c (push_to_sequence): Initialize top. + (push_topmost_sequence): Likewise. + + * genattrtab.c (simplify_by_exploding): Initialize defval. + + * profile.c (branch_prob): Initialize dest. + + * rtl.h (note_stores): Remove duplicate prototype. + (GEN_INT): Re-instate cast of second arg to HOST_WIDE_INT. + + * cplus-dem.c (gnu_special): Don't get confused by .<digits> + strings that are not actually lengths. + + * genattrtab.c: Make generated file use system.h, instead of + including stdio.h, etc directly. + * genextract.c, genopinit.c, genoutput.c: Likewise. + * genpeep.c, genrecog.c: Likewise + + * genoutput.c (process_template): Mark operands in the generated + function as potentially unused if compiling with GNU CC. + + * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks. + + * pa.md (reload peepholes): Remove unused variable "mode". + +Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/thumb.h: Add super interworking support. + * config/arm/thumb.c: Add super interworking support. + * config/arm/thumb.md: Add super interworking support. + * config/arm/lib1funcs.asm: Add interworking support. + * config/arm/lib1thumb.asm: Add super interworking support. + * config/arm/t-semi: Add interworking support. + * config/arm/t-thumb: Add interworking support. + * config/arm/README-interworking: New file. + +Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com> + + * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/. + (MD_STARTFILE_PREFIX): Unset. + +1998-04-01 Mark Mitchell <mmitchell@usa.net> + + * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a + entity in a local scope. + + * fold-const.c (fold): Call truthvalue_conversion for values which + are folded to boolean type. + +Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com) + + * 1750a.md, arm.c, clipper.c, clipper.md: Use GEN_INT consistently. + * convex.h, dsp16xx.c, fx80.md, gmicro.c, gmicro.md: Likewise. + * i370.h, i370.md, i860.c, i860.h, i860.md, i960.c: Likewise. + * i960.h, i960.md, m32r.md, m68k.md, m68kv4.h, m88k.c: Likewise. + * m88k.md, ns32k.c, ns32k.md, pdp11.c, pdp11.h, pdp11.md: Likewise. + * pyr.c, pyr.h, pyr.md, romp.c, romp.h, romp.md: Likewise. + * rs6000.md, sparc.c, sparc.h, sparc.md, spur.c, spur.md: Likewise. + * tahoe.md, vax.h, vax.md, we32k.c, we32k.h, we32k.md: Likewise. + * md.texi: Likewise. + +Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * fixincludes (limits.h): Fix nested comments in Motorola's + limits.h and sys/limits.h. + +Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com> + + * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr + as dest of expand_binop call. + + * alpha.md (extzv): Correct check for valid operand[2] values. + + * profile.c (branch_prob): Add code to recognize HPPA tablejump entry + branch. + + * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end. + +Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com> + + * libgcc2.c: (__main, __do_global_dtors, __do_global_ctors): + For __CYGWIN32__ use the versions in winsup/dcrt0.cc. + + * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added. + cygwin32 can override this to allow both unix and win32 style PATHs. + + * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32 + style environment paths. + +Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (cppalloc.o, cpperror.o, cppexp.o, cpphash.o, + cpplib.o, cppmain.o, fix-header.o, gcov.o, gen-protos.o, + gengenrtl.o, halfpic.o, hash.o, scan-decls.o, scan.o): Depend on + system.h. + + * cpphash.c: Include config.h. + * cppalloc.c: Include system.h. Add parameters to various + function prototypes. + * cpperror.c: Likewise. + * cppexp.c: Likewise. + * cpphash.c: Likewise. + * cpplib.c: Likewise. + * cppmain.c: Likewise. + * fix-header.c: Likewise. + * gcov.c: Likewise. + * gen-protos.c: Likewise. + * gengenrtl.c: Likewise. + * halfpic.c: Likewise. + * hash.c: Likewise. + * scan-decls.c: Likewise. + * scan.c: Likewise. + +Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com> + + * README.gnat: Add lang_print_xnode definition. + +Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/m68k/m68k.c (standard_68881_constant_p): Don't use + fmovecr on the 68060. + +Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com) + + * genemit.c (DONE): Rework so that it works in the true arm if + an if-else conditional. + (FAIL): Likewise. + +Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com) + + * rs6000.c: Do not include stdioh or ctype.h anymore. + + * Makefile.in (c-typeck.o): Delete on expr.h, insn-codes.h and + $(RTL_H). + (stor-layout.o): Likewise. + * c-typeck.c: Include rtl.h and expr.h. + * stor-layout.c: Likewise. + + * cpplib.c (cpp_file_line_for_message): Delete unused parameter. + All callers changed. + (do_sccs): Wrap in an SCCS_DIRECTIVE ifdef. + * fix-header.c (cpp_file_line_for_message): Delete unused paramter. + All callers changed. + + * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef. + + * local-alloc.c (reg_classes_overlap_p): Delete dead function. + + * tree.h (lang_print_xnode): Provide prototype. + +Sat Mar 28 23:50:44 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com) + + * objc/sendmsg.c (__objc_block_forward): Add braces for return + value if INVISIBLE_STRUCT_RETURN. + + * pa.c (arith_double_operand): Fix parens. + + * haifa-sched.c (print_pattern): Correct arg to sprintf. + + * Makefile.in (libgcc1.null): Make return type for __foo void. + +Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com) + + * pa.h: Add declarations for many functions defined in pa.c. + + * genpeep.c (main): Remove unused variable 'i' from the generated + file. + + * genemit.c (gen_expand): Do not emit "_done" or "_fail" labels. + (gen_split): Likewise. + (main): Rework generated definitions of DONE and FAIL so that they + no longer use gotos. Avoids warnings about unused labels. + + * integrate.c (copy_rtx_and_substitute): Rework to avoid need for + unused "junk" variable. + + * genattrtab.c (write_complex_function): Add a default case in + generated switch statement to keep -W -Wall quiet. + +Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com> + + * invoke.texi: Document more ARM and Thumb command line options. + + * config/arm/xm-thumb.h: New file. + +Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu> + + * stmt.c (expand_expr_stmt): Must generate code for + statements within an expression (gcc's `({ ... )}') + even if -fsyntax-only. + +Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> + Jeffrey A Law (law@cygnus.com) + + * basic-block.h (basic_block_computed_jump_target): Declare. + * flags.h: (current_function_has_computed_jump): Declare. + * flow.c: (basic_block_computed_jump_target): Define. + (flow_analysis): Allocate it. Set current_function_has_computed_jump + to 0. + (find_basic_blocks): Set current_function_has_computed_jump and + elements of basic_block_computed_jump_target to 1 as appropriate. + * function.c: (current_function_has_computed_jump): Define. + * global.c (global_conflicts): Don't allocate pseudos into stack regs + at the start of a block that is reachable by a computed jump. + * reg-stack.c (stack_reg_life_analysis): If must restart, do so + immediately. + (subst_stack_regs): Undo change from Sep 4 1997. + (uses_reg_or_mem): Now unused, deleted. + * stupid.c (stupid_life_analysis): Compute + current_function_has_computed_jump. + (stupid_find_reg): Don't allocate stack regs if the function has a + computed goto. + * haifa-sched.c (is_cfg_nonregular): Delete code to determine if + the current function has a computed jump. Use the global value + instead. + +Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com) + + * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__. + (DWARF2_UNWIND_INFO): Define to zero. + +Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com> + + * gcc.c (set_std_prefix): Add declaration. + (process_command): If GCC_EXEC_PREFIX is set, remove /lib/gcc-lib/ + suffix, and update the standard prefix prefix.c uses. + + * prefix.c (std_prefix): New global to hold default prefix value. + (get_key_value): Change to use std_prefix instead of PREFIX. + (translate_name): Ditto. + (update_path): Ditto. + (get_key_value): Release allocated scratch storage. + (set_std_prefix): New function to reset the standard prefix. + +Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (find_barrier): Fix calculations for alignment increase. + +Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (stmp-fixinc): If we're actually fixing include + files, copy gcc's assert.h into the fixed include dir. + * fixincludes (assert.h): Avoid any attempts to fix a probably + broken system specific assert.h file. + * fixproto (stdlib.h): Make sure, it'll contain a definition of + size_t. + +Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com) + + * regclass.c (reg_scan_mark_refs): Be more selective about + when we mark a register with REGNO_POINTER_FLAG. + +Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + reload inheritance improvement: + * reload1.c (reg_reloaded_contents, reg_reloaded_insn): + Change meaning: index is now hard reg number. + (reg_reloaded_valid, reg_reloaded_dead): New variables. + (reload_spill_index): Content is now a hard reg number. + (reload_as_needed): Change to fit new variable meaning. + (forget_old_reloads_1, allocate_reload_reg): Likewise. + (choose_reload_regs, emit_reload_insns): Likewise. + +Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * regclass.c (record_reg_classes): '?' increases cost by two. + + * reload.c (find_reloads): Double previous costs. Output + reloads cost one unit extra. + + * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that + boiled down to && ! 0. + + * reload.c (find_equiv_reg): Also consider a goal offset from the + frame pointer to be constant. + +Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (OPTIMIZATION_OPTIONS): Define. + +Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com> + + * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0). + +Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com) + + * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type. + +Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com> + + * c-common.c (check_format_info): Initialize type, is_type. New local + integral_format. Don't warn for 'L' when pedantic. Do warn for 'L' + when pedantic if used with integral format specifier. + +Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com> + + * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum + direction. + (function_arg_padding): Declare. + + * rs6000.c: Include system.h. + (function_arg_padding): Change return type to int, cast enum's to + int. + + (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>) + * collect2.c (scan_prog_file): Add explicit braces to avoid + ambiguous `else'. + + * dbxout.c (dbxout_type_fields): Add braces around empty body in + an if-statement. + (dbxout_type): Likewise. + + * rs6000.c (rs6000_override_options): Change type of `i', `j' and + `ptt_size' from int to size_t. + (rs6000_file_start): Likewise for `i'. + (rs6000_replace_regno): Add default case in enumeration switch. + (output_epilog): Remove unused variable `i'. + (rs6000_longcall_ref): Remove unused variables `len', `p', `reg1' + and `reg2'. + + * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around + initializer. + (get_issue_rate, non_logical_cint_operand): Add prototype. + (rs6000_output_load_toc_table): Ditto. + + * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous + `else'. + +Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com> + + * config/arm/thumb.c: New File. Support for ARM's Thumb + instruction set. + * config/arm/thumb.h: New File. Thumb definitions. + * config/arm/thumb.md: New File. Thumb machine description. + * config/arm/tcoff.h: New File. Thumb COFF support. + * config/arm/t-thumb: New File. Thumb makefile fragment. + * config/arm/lib1thumb.asm: New File. Thumb libgcc support functions. + + * configure.in: Add Thumb-coff target. + * configure: Add Thumb-coff target. + * config.sub: Add Thumb-coff target. + +Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com> + + * loop.c (scan_loop): Initialize move_insn_first to zero. + +Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com) + + * config/i386/go32-rtems.h: Defined TARGET_MEM_FUNCTIONS. + * config/i386/rtems.h: Likewise. + * config/i960/rtems.h: Likewise. + * config/m68k/rtems.h: Likewise. + * config/mips/rtems64.h: Likewise. + * config/pa/rtems.h: Likewise. + * config/rs6000/rtems.h: Likewise. + * config/sh/rtems.h: Likewise. + * config/sparc/rtems.h: Likewise. + +Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * pa.c (emit_move_sequence): If in reload, call find_replacement. + +Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com> + + * Makefile.in (gcov$(exeext)): Support .exe extension to gcov. + + * collect2.c (find_a_file): Add debugging. + (find_a_file): Test for win32 style absolute paths if + DIR_SERPARATOR is defined. + (prefix_from_string): Add debugging. + (main): Test for debug command line switch at start of program + execution. + (main): Use GET_ENVIRONMENT rather than getenv(). + (prefix_from_env): Use GET_ENVIRONMENT. + +1998-03-24 Mark Mitchell <mmitchell@usa.net> + + * cplus-dem.c (optable): Add sizeof. + (demangle_template_value_parm): New function containing code + previously found in demangle_template. + (demangle_integral_value): New function which handles complicated + integral expressions. + (demangle_template): Use them. + +Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (genconfig.o, genflags.o, gencodes.o, genemit.o, + genopinit.o, genrecog.o, genextract.o, genpeep.o, genattr.o, + genattrtab.o, genoutput.o): Depend on system.h. + + * genattr.c: Include system.h. Add arguments to various function + prototypes. Remove redundant prototype of read_rtx(). + * genattrtab.c: Likewise. + * gencodes.c: Likewise. + * genconfig.c: Likewise. + * genemit.c: Likewise. + * genextract.c: Likewise. + * genflags.c: Likewise. + * genopinit.c: Likewise. + * genoutput.c: Likewise. + * genpeep.c: Likewise. + * genrecog.c: Likewise. + +1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de> + + * c-lang.c (lang_print_xnode): New function. + * objc/objc-act.c (lang_print_xnode): Likewise. + * print-tree.c (print_node): Call it + +Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org) + + * c-parse.in: Recognize protocol qualifiers in class + definitions for objc. + Include "output.h". + (yyerror): Remove redundant decl. + (yyprint): Fix prototype. + +Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com) + + * cse.c (rtx_cost): Only call CONST_COSTS if it is defined. + + * stmt.c (unroll_block_trees): Free block_vector if needed. + +Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be> + + * m68k/m68k.md (zero_extendqidi2, zero_extendhidi2): New patterns. + (zero_extendsidi2): Avoid useless copy. + (iordi_zext): New pattern. + (iorsi_zexthi_ashl16): Pattern reworked to avoid "0" constraint for + operand 2. + (iorsi_zext): New name for old unnamed pattern; indentation fixes. + + * m68k/m68k.md (ashldi_const): Allow shift count in range ]32,63]. + (ashldi3): Allow constant shift count in range ]32,63]. + (ashrdi_const, ashrid3, lshrdi_const, lshrdi3): Likewise. + +1998-03-22 Mark Mitchell <mmitchell@usa.net> + + * tree.h (IS_EXPR_CODE_CLASS): New macro. + +Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com) + + * h8300.h (CONST_COSTS): Remove definition. + (DEFAULT_RTX_COSTS): Define. + +Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com) + + * config/sh/rtems.h: Switched from ELF to COFF. + +Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * freebsd.h (ASM_OUTPUT_ALIGN): Redefine. + +Sat Mar 21 23:52:56 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com> + Geoff Noer <noer@cygnus.com> + + * Makefile.in: Various fixes for building cygwin32 native toolchains. + + * objc/Makefile.in: Various fixes for building cygwin32 native toolchains. + * objc/Make-lang.in: Likewise. + + * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon. + +Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com> + + * configure.in: Handle with-PACKAGE=no correctly + +Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (alias.o, bitmap.o, c-aux-info.o, c-common.o, + c-decl.o, c-iterate.o, c-lang.o, c-lex.o, c-pragma.o, c-typeck.o, + caller-save.o, calls.o, collect2.o, combine.o, cse.o, dbxout.o, + dwarf2out.o, dwarfout.o, emit-rtl.o, except.o, explow.o, expmed.o, + expr.o, final.o, flow.o, function.o, getpwd.o, global.o, + integrate.o, jump.o, local-alloc.o, loop.o, optabs.o, pexecute.o, + prefix.o, print-rtl.o, print-tree.o, profile.o, real.o, recog.o, + reg-stack.o, regclass.o, regmove.o, reload.o, reload1.o, reorg.o, + rtl.o, rtlanal.o, sdbout.o, stmt.o, stor-layout.o, stupid.o, + tlink.o, toplev.o, tree.o, unroll.o, varasm.o, xcoffout.o): Depend + on system.h. + + * alias.c, bitmap.c, c-aux-info.c, c-common.c, c-decl.c, + c-iterate.c, c-lang.c, c-lex.c, c-pragma.c, c-typeck.c, + caller-save.c, calls.c, collect2.c, combine.c, cse.c, dbxout.c, + dwarf2out.c, dwarfout.c, emit-rtl.c, except.c, explow.c, expmed.c, + expr.c, final.c, flow.c, function.c, gcc.c, getpwd.c, global.c, + integrate.c, jump.c, local-alloc.c, loop.c, optabs.c, pexecute.c, + prefix.c, print-rtl.c, print-tree.c, profile.c, real.c, recog.c, + reg-stack.c, regclass.c, regmove.c, reload.c, reload1.c, reorg.c, + rtl.c, rtlanal.c, sched.c, sdbout.c, stmt.c, stor-layout.c, + stupid.c, tlink.c, toplev.c, tree.c, unroll.c, varasm.c, + xcoffout.c: Include system.h. Organize include ordering so + that stdarg/varargs comes before other system headers. Remove + spurious casts of functions assured of a prototype in system.h. + +Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com> + + * reg-stack.c (pop_stack): Define. Pops any register on the + regstack and adjusts regstack. + (compare_for_stack_reg): Use pop_stack. + +Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in (hppa1.0-hp-hpux10): Handle threads for this + config too. + +Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be> + + * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT. + + * fold-const.c (fold): Replace sign-extension of a zero extended + value by a single zero extension. + +Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com> + + * except.c (init_eh): Do nothing. + (save_eh_status): Call init_eh_for_function, not init_eh. + * function.c (push_function_context_to): Don't call init_emit. + +Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com> + + * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V + and EABI. + +Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * final.c (shorten_branches): Add parentheses around +/- in + operand of &. + + * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS. + +Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * regclass.c (memory_move_secondary_cost): Wrap uses of + SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS + with #ifdef tests. + +Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT. + + * flow.c (life_analysis): #include <sys/types.h> to make sure + size_t is defined. + * cplus-dem.c (demangle_function_name): Likewise. + +Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * final.c (insn_noperands): Change type to unsigned int. + (final_scan_insn): Likewise for noperands; + properly check operand number boundaries. + +Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com> + + * alpha.md (extzv): Don't reject register operands. Fix + mode of operand 1. + +Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com> + + * dbxout.c (dbxout_function_end): Fix last change. The correct + predicate is ASM_OUTPUT_SECTION_NAME. + +Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com> + + * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c. + (ashlsi): Use match_dup 1 instead of match_operand 2. + +Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * fold-const.c (operand_equal_for_comparison_p): See if equal + when nop conversions are removed. + +Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * expr.c (expand_expr, case COND_EXPR): If have conditional move, + don't use ORIGINAL_TARGET unless REG. + +Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * netbsd.h (ASM_OUTPUT_ALIGN): Redefine. + +Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com> + + * loop.c (struct movable): New field move_insn_first. + (scan_loop): In consec sets code, set it. Clear it otherwise. + (move_movables): In consec sets code, use it. Copy REG_NOTES from + p to i1 only if i1 does not have REG_NOTES. Delete obsolete ifdefed + out code. + +Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com> + + * rtl.c (read_rtx): Fall back on homebrew atoll if HOST_WIDE_INT + is large, and the system doesn't provide atoll or atoq. + (atoll): New. + + * alpha/xm-vms.h (HAVE_ATOLL): Define. + Reported by Klaus Kaempf <kkaempf@progis.de>. + +Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * c-lang.c (finish_file): Wrap variable `void_list_node' with macro + test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR. + + * calls.c (emit_call_1): Wrap variable `already_popped' with macro + test !ACCUMULATE_OUTGOING_ARGS. + + * collect2.c (write_c_file_glob): Wrap function definition in + macro test !LD_INIT_SWITCH. + + * combine.c (try_combine): Wrap variables `cc_use' and + `compare_mode' in macro test EXTRA_CC_MODES. + + * cpplib.c (do_ident): Remove unused variable `len'. + (skip_if_group): Remove unused variables `at_beg_of_line' and + `after_ident'. + (cpp_get_token): Remove unused variable `dummy'. + + * dbxout.c (scope_labelno): Move static variable definition inside + the one function scope where it is used. + (dbxout_function_end): Wrap prototype and definition in + macro test !NO_DBX_FUNCTION_END. + + * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number' + in macro test !MIPS_DEBUGGING_INFO. + + * expr.c (expand_builtin_setjmp): Move declaration of variable `i' + into the scope where it is used. Wrap empty else-statement body + in braces. + + * fix-header.c: Fix typo in comment. + (inf_skip_spaces): Cast results of INF_UNGET to (void). + (check_protection, main): Likewise. + + * flow.c (find_basic_blocks_1): Remove dangling comment text. + + * function.c (contains): Wrap prototype and definition in macro + test HAVE_prologue || HAVE_epilogue. + (fixup_var_refs_1): Remove unused variable `width'. + + * gen-protos.c (main): Remove unused variable `optr'. + + * haifa-sched.c (debug_control_flow): Remove unused variable `j'. + + * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0. + (__sjpopnthrow): Remove unused variable `jmpbuf'. + (__throw): Remove unused variable `val'. + + * protoize.c: Check for a previously existing definition before + defining *_OK macros. + + * scan-decls.c (scan_decls): Remove unused variable `old_written'. + +Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * vax.h (ADDR_VEC_ALIGN): Define. + +Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com> + + * gcc.c (default_arg): Don't wander off the end of allocated + memory. + + (From Geoffrey Keating <geoffk@ozemail.com.au>) + * rs6000.c (small_data_operand): Ensure that any address + referenced relative to the small data area is inside the SDA. + +Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com> + + * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}. + +Mon Mar 16 15:50:20 EST 1998 Andrew MacLeod <amacleod@cygnus.com> + + * except.h (in_same_eh_region): New prototype. + (free_insn_eh_region, init_insn_eh_region): New prototypes. + * except.c (insn_eh_region, maximum_uid): New static variables. + (set_insn_eh_region): New static function to set region numbers. + (free_insn_eh_region): New function to free EH region table. + (init_insn_eh_region): New function to initialize EH region table. + (in_same_eh_region): New function used to determine if two rtl + instructions are in the same exception region or not. + * final.c (final): Initialize the table indicating which instructions + belong in which exception region. + * genpeep.c (main): Add "except.h" to include file list in generated + file insn-peep.c. + * config/sparc/sparc.md: Add calls to 'in_same_eh_region' in 4 + peepholes involving calls and unconditional branches. + +Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com> + + * README.gnat: New file. + +Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/m68k/m68k.c: Include <stdlib.h> for atoi. Include + "recog.h" for offsettable_memref_p. + (legitimize_pic_address): Remove unused variable `offset'. + (notice_update_cc): Change return type to void. Add default label + to switch. + (standard_68881_constant_p): Remove unused variable mode. + (print_operand): Define local variable i only if SUPPORT_SUN_FPA. + (const_int_cost): Explicitly declare as returning int. + (output_dbcc_and_branch): Change return type to void. + + * config/m68k/linux.h, config/m68k/m68k.md, config/m68k/m68k.c, + config/m68k/m68k.h: Replace gen_rtx (XXX, ...) with gen_rtx_XXX + (...). Use GEN_INT instead of gen_rtx_CONST_INT. + +Sun Mar 15 22:30:44 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range + check for 'M' constraint. + +Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com> + + * cccp.c (create_definition): If pedantic, call pedwarn for macro + varargs feature. + +Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE> + + * i386.c (ix86_logical_operator): New function. + (split_di): Ensure that when a MEM is split, the resulting MEMs have + SImode. + * i386.md (anddi3, xordi3, iordi3): New patterns. Add a define_split + to implement them. + +Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + Richard Earnshaw <rearnsha@arm.com> + Nick Clifton <nickc@cygnus.com> + + * tm.texi (DEFAULT_RTX_COSTS): Document new macro. + + * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS. + + * cse.c (rtx_cost): Provide a default case in an enumeration + switch, and call DEFAULT_RTX_COSTS if it's defined. + +Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * basic-block.h (compute_preds_succs): Change return type in + prototype to void. + * flow.c (compute_preds_succs): Likewise in function definition. + + * regmove.c (find_matches): Cast char used as array index to unsigned char + to supress warning. + +Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * i386.h (RTX_COSTS): Insert braces around nested if. + (ADDITIONAL_REGISTER_NAMES): Insert braces around structured + elements. + + * gcc.c (default_compilers): Properly put brackets around array elements in + initializer. + + * getopt.c (_getopt_internal): Add explicit braces around nested if; + reformatted. + + * reg-stack.c (record_asm_reg_life): Add explicit braces around nested if's. + (record_reg_life_pat): Add explicit parens around && and || in expression. + (stack_reg_life_analysis): Add parens around assignment used as expression. + (convert_regs): Likewise. + +Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * bitmap.c (bitmap_element_allocate): Remove unused parameter; + change callers accordingly. + + * cplus-dem.c (arm_special): Remove unused parameter work in prototype + and definition; change all callers accordingly. + + * except.c (init_eh): Avoid assignment of unused return value of + build_pointer_type; cast it to void, instead, and remove unused + variable type. + + * gcc.c (lang_specific_driver): Define prototype only #ifdef + LANG_SPECIFIC_DRIVER. + (temp_names): Define only #ifdef MKTEMP_EACH_FILE. + + * genoutput.c (output_epilogue): Initialize next_name to 0. + + * real.c (efrexp): #if 0 prototype and function definition. + (eremain): Likewise. + (uditoe): Likewise. + (ditoe): Likewise. + (etoudi): Likewise. + (etodi): Likewise. + (esqrt): Likewise. + + * reload.c (push_secondary_reload): Define prototype only + #ifdef HAVE_SECONDARY_RELOADS. + + * varasm.c (assemble_static_space): Define rounded only + #ifndef ASM_OUTPUT_ALIGNED_LOCAL. + +Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * i386.md (andsi): Add default case in enumeration switch. + (iorsi3): Likewise. + (iorhi3): Likewise. + (xorsi3): Likewise. + +Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * c-decl (finish_struct): Change type of min_align to unsigned. + + * cplus-dem.c (demangle_function_name): Change type of variable i to size_t; + remove unused variable len. + + * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a + comment indicating this is proper behaviour. + (reg_loc_descriptor): Remove redundant comparison of unsigned variable + reg >= 0. + (based_loc_descr): Likewise. + + * enquire.c (bitpattern): Change type of variable i to unsigned. + + * final.c (output_asm_insn): Don't cast insn_noperands to unsigned. + + * flow.c (life_analysis): Change type of variable i to size_t; + remove unused variable insn. + + * gcc.c (translate_options): Change type of variables optlen, arglen and + complen to size_t. + (input_filename_length): Change type to size_t. + (do_spec_1): Change type of variable bufsize to size_t. + (main): Change type of variables i and j to size_t; + remove subblock local definition of variable i. + (lookup_compiler): Change type of second argument to size_t; + change type of variable i to size_t. + + * genemit.c (output_init_mov_optab): Change type of variable i to size_t. + + * genopinit.c (get_insn): Change type of variable pindex to size_t. + + * genrecog.c (add_to_sequence): Change type of variable i to size_t. + + * global.c (global_alloc): Change type of variable i to size_t. + + * regclass.c (init_reg_sets): Change type of variables i and j to unsigned. + + * stmt.c (expand_end_bindings): Change type of variable i to size_t. + (expand_end_case): Change type of variable count to size_t. + + * toplev.c (main): Change type of variable j to size_t. + (set_target_switch): Change type of variable j to size_t. + (print_switch_values): Change type of variable j to size_t; + remove unused variable flags. + + * varasm.c (assemble_variable): Change type of variable align to size_t. + (const_hash_rtx): Change type of variable i to size_t. + +1998-03-11 Mark Mitchell <mmitchell@usa.net> + + * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a + TREE_VEC if that's what it really is. -Tue May 16 18:04:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com> - * toplev.c (pfatal_with_name, fatal_io_error, vfatal): - Use FATAL_EXIT_CODE instead of magic number. - * cccp.c, cpplib.c, cpplib.h: Use FATAL_EXIT_CODE instead - of FAILURE_EXIT_CODE. - * fix-header.c, gen-protos.c: Likewise. - * cpperror.c, cppmain.c: Likewise. - Include config.h #ifndef EMACS. - * xm-alpha.h, xm-rs6000.h, xm-vms.h (FAILURE_EXIT_CODE): Remove. + * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments + as per ISO C spec. -Tue May 16 17:46:57 1995 Adam Fedor <fedor@colorado.edu> +Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com> - * objc/archive.c (__objc_write_class): Write class version. - (__objc_write_selector, objc_{write,read}_selector): Handle null - selector. + * gthr.h: Changed the comment about return values. + * gthr-solaris.h (__gthread_once): Do not use errno; return the + error number instead of -1. + (__gthread_key_create): Any non-zero return value is an error. + * libgcc2.c (eh_context_initialize): Check for non-zero return + value from __gthread_once. + Check that the value of get_eh_context was really changed. - * objc/sarray.h (struct sarray): Make capacity size_t. - * objc/sarray.c (sarray_realloc): Make array index variables size_t. +Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk> -Tue May 16 06:59:08 1995 Paul Eggert <eggert@twinsun.com> + * sh.h (LOOP_ALIGN): Only align when optimizing. + * sh.c (find_barrier): Clear inc for CODE_LABELs. + When not optimizing, calculate alignment for BARRIERs directly. - * dsp16xx.c (print_operand_address): Fix misspellings in messages. - * i370/mvs.h (FUNCTION_PROFILER): Likewise. - * mips-tdump.c (type_to_string): Likewise. +Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (shorten_branches): Remove conditionalizing on + SHORTEN_WITH_ADJUST_INSN_LENGTH + * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove. + +Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com) + + * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing + an unconditional jump around deleted blocks. + +Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com> + + * profile.c (branch_prob): If see computed goto, call fatal instead of + abort. + + * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix. + + * configure.in (alpha-dec-osf): Add default case for osf* to switch. + Patch from Bruno Haible. + + * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new. + (assign_parms): Set aggregate if hide_last_arg and last_named. + +Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (shorten_branches): Initialize insn_addresses. + +Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.h (MUST_PASS_IN_STACK): Define. + +Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com) + + * final.c (shorten_branches): Fix minor logic error in + ADDR_DIFF_VEC shortening support. + +Sun Mar 8 02:17:42 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (is_cfg_nonregular): Change return type to + an int. No longer compute "estimated" number of edges. Use + computed_jump_p instead of duplicating the code. Fixup/add + some comments. + (build_control_flow): Returns a value indicating an irregularity + in the cfg was detected. Count the number of edges in the cfg. + allocate various edge tables. + (find_rgns): No longer look for unreachable blocks. + (schedule_insns): Do not allocate memory for edge tables here. + Free memory for edge tables before returning. Do not perform + cross block scheduling if build_control_flow returns nonzero. + * flow.c (compute_preds_succs): More accurately determine when + a block drops in. + + * basic-block.h (free_basic_block_vargs): Provide prototype. + + * cccp.c (main): Fix dumb mistakes in last change. + +Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * rtl.h (addr_diff_vec_flags): New typedef. + (union rtunion_def): New member rt_addr_diff_vec_flags. + (ADDR_DIFF_VEC_FLAGS): New macro. + + * sh.c (output_branch): Fix offset overflow problems. + + * final.c (shorten_branches): Implement CASE_VECTOR_SHORTEN_MODE. + (final_scan_insn): New argument BODY for ASM_OUTPUT_ADDR_DIFF_ELT. + * rtl.def (ADDR_DIFF_VEC): Three new fields (min, max and flags). + * stmt.c (expand_end_case): Supply new arguments to + gen_rtx_ADDR_DIFF_VEC. + * 1750a.h (ASM_OUTPUT_ADDR_DIFF_ELT): New argument BODY. + * alpha.h, arc.h, clipper.h, convex.h : Likewise. + * dsp16xx.h, elxsi.h, fx80.h, gmicro.h, h8300.h : Likewise. + * i370.h, i386.h, i860.h, i960.h, m32r.h, m68k.h, m88k.h : Likewise. + * mips.h, mn10200.h, mn10300.h, ns32k.h, pa.h, pyr.h : Likewise. + * rs6000.h, sh.h, sparc.h, spur.h, tahoe.h, v850.h : Likewise. + * vax.h, we32k.h, alpha/vms.h, arm/aof.h, arm/aout.h : Likewise. + * i386/386bsd.h, i386/freebsd-elf.h : Likewise. + * i386/freebsd.h, i386/linux.h : Likewise. + * i386/netbsd.h, i386/osfrose.h, i386/ptx4-i.h, i386/sco5.h : Likewise. + * i386/sysv4.h, m68k/3b1.h, m68k/dpx2.h, m68k/hp320.h : Likewise. + * m68k/mot3300.h, m68k/sgs.h : Likewise. + * m68k/tower-as.h, ns32k/encore.h, sparc/pbd.h : Likewise. + * sh.h (INSN_ALIGN, INSN_LENGTH_ALIGNMENT): Define. + (CASE_VECTOR_SHORTEN_MODE): Define. + (short_cbranch_p, align_length, addr_diff_vec_adjust): Don't declare. + (med_branch_p, braf_branch_p): Don't declare. + (mdep_reorg_phase, barrier_align): Declare. + (ADJUST_INSN_LENGTH): Remove alignment handling. + * sh.c (uid_align, uid_align_max): Deleted. + (max_uid_before_fixup_addr_diff_vecs, branch_offset): Deleted. + (short_cbranch_p, med_branch_p, braf_branch_p, align_length): Deleted. + (cache_align_p, fixup_aligns, addr_diff_vec_adjust): Deleted. + (output_far_jump): Don't use braf_branch_p. + (output_branchy_insn): Don't use branch_offset. + (find_barrier): Remove checks for max_uid_before_fixup_addr_diff_vecs. + Remove paired barrier stuff. + Don't use cache_align_p. + Take alignment insns into account. + (fixup_addr_diff_vecs): Reduce to only fixing up the base label of + the addr_diff_vec. + (barrier_align, branch_dest): New function. + (machine_dependent_reorg, split_branches): Remove infrastructure + for branch shortening that is now provided in the backend. + * sh.md (short_cbranch_p, med_branch_p, med_cbranch_p): New attributes. + (braf_branch_p, braf_cbranch_p): Likewise. + (attribute length): Use new attributes. + (casesi_worker): Get mode and unsignednedd from ADDR_DIFF_VEC. + (addr_diff_vec_adjust): Delete. + (align_2): Now a define_expand. + (align_log): Now length 0. + +Fri Mar 6 14:41:33 1998 Michael Meissner <meissner@cygnus.com> + + * m32r.md (right): Correctly check for length == 2, not 1. + +Fri Mar 6 14:00:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * mips/mips.h: Prototype `machine_dependent_reorg'. + (ASM_OUTPUT_ALIGN): Remove unused variable `mask'. + +Fri Mar 6 11:43:35 1998 Joern Rennecke (amylaar@cygnus.co.uk) + + * final.c (shorten_branches): Restore accidentally removed code. + +Fri Mar 6 11:00:49 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * configure.in: Remove duplicate uses of AC_PROG_CC and + AC_PROG_MAKE_SET. + +Fri Mar 6 00:59:30 1998 Richard Henderson <rth@cygnus.com> + + * configure.in (target_cpu_default2): Correct typo for alphapca56. + +Thu Mar 5 23:24:50 1998 Jeffrey A Law (law@cygnus.com) + Doug Evans (devans@cygnus.com) + + * haifa-sched.c (build_jmp_edges): Delete dead function. + (build_control_flow): Use cfg routines from flow.c + (schedule_insns): Remove debugging code accidentally checked + in earlier today. + + * basic-block.h: Add external integer list structures, typdefs, + accessor macros and function declarations. Simlarly for + basic block pred/succ support and simple bitmap stuff. + * flow.c: Add functions for integer list, basic block pred/succ + support and simple bitmap support. + (compute_dominators): New function to compute dominators and + post dominators. + (find_basic_blocks): Split into two functions. + (life_analysis): Likewise. + (flow_analysis): Removed. Now handled by calling find_basic_blocks, + the life_analysis from toplev.c + * toplev.c (rest_of_compilation): Call find_basic_blocks, then + life_analysis instead of flow_analysis. + +Thu Mar 5 23:06:26 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * jump.c (jump_optimize): Call mark_jump_label also for deleted + insns. + (mark_jump_label): Don't increment ref counts for deleted insns. + +Thu Mar 5 09:55:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * mips/iris6.h (TARGET_DEFAULT): Parenthesize macro definition. + + * mips/mips.c: Include stdlib.h and unistd.h. + (mips_asm_file_end): Add braces around empty body in an if-statement. + (function_prologue): Wrap variable `fnname' in + !FUNCTION_NAME_ALREADY_DECLARED. Correct format specifier in fprintf. + (mips_select_rtx_section, mips_select_section): Declare as void. + + * mips/mips.h: Add prototypes for extern functions in mips.c. + (FUNCTION_ARG_REGNO_P): Add parentheses around && within ||. + (ENCODE_SECTION_INFO): Add braces around empty body in an + if-statement. + + * mips/mips.md (movdi): Add parentheses around && within ||. + (movsf, movdf): Likewise. + (branch_zero, branch_zero_di): Add default case in + enumeration switch. + + +Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com> + + * alpha/alpha.h (TARGET_WINDOWS_NT, TARGET_OPEN_VMS): Just make them + real constants, since they can't be changed. + (TARGET_AS_CAN_SUBTRACT_LABELS): New. + * alpha/alpha.md (builtin_setjmp_receiver): Use it. + * alpha/osf.h (TARGET_AS_CAN_SUBTRACT_LABELS): New. + * alpha/osf2or3.h (TARGET_AS_CAN_SUBTRACT_LABELS): New. + * alpha/vms.h (TARGET_OPEN_VMS): New. + * alpha/win-nt.h (TARGET_WINDOWS_NT): New. + +Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com> + + * reload.c (find_reloads): Always force (subreg (mem)) to be + reloaded if WORD_REGISTER_OPERATIONS. + +Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com> + + * haifa-sched.c (free_list): Rename from free_pnd_lst. + (free_pending_lists): Rename free_pnd_lst uses. + (remove_dependence): Place expunged element on unused_insn_list. + (alloc_INSN_LIST, alloc_EXPR_LIST): New. Change all callers of + gen_rtx_*_LIST and alloc_rtx to use them. + (compute_block_backward_dependences): Free the reg_last_* lists. + +Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com) + + * cccp.c (main): Avoid undefined behavior when setting pend_includes + and pend_files. + +Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com> + + * rs6000/linux.h: don't define DEFAULT_VTABLE_THUNKS to 1 if + USE_GNULIBC_1 is defined + * configure.in: add a new case powerpc-*-linux-gnulibc1 which + includes the t-linux-gnulibc1 fragment + +Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com> + + * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition. + +Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (final_scan_insn, case CODE_LABEL: Cleanup. + +Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (shorten_branches): Tag the loop alignment onto the + first label after NOTE_INSN_LOOP_BEG even if there is an + intervening insn. + +Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (insn_current_reference_address): + Use SEQ instead of BRANCH as argument to align_fuzz, to get a + proper alignment chain. + + * final.c (max_labelno): New static variable. + (final_scan_insn): Check max_labelno before outputting an + alignment for a label. + (shorten_branches): Remove unused variable length_align. + +Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * sparc.c (ultrasparc_adjust_cost): Add default case in + enumeration switch. + + * sparc.h: Add prototypes for extern functions defined in + sparc.c. + +Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com> + + * toplev.c: Only generate <name>.dbr file when dumping RTL if + DEALY_SLOTS is defined. + +Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * reorg.c (fill_eager_delay_slots): Add new argument delay_list + in call to fill_slots_from_thread. + +Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com> + + * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace + to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu. + +Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * final.c (insn_last_address, insn_current_align, uid_align): + New variables. + (in_align_chain, align_fuzz, align_shrink_fuzz): New functions. + (insn_current_reference_address): Likewise. + (shorten_branches, final_scan_insn): Implement LABEL_ALIGN, + LABEL_ALIGN_AFTER_BARRIER and LOOP_ALIGN target macros. + (label_to_alignment): New function. + * genattrtab.c (write_test_expr): If one of LABEL_ALIGN, + LABEL_ALIGN_AFTER_BARRIER or LOOP_ALIGN is defined, call + insn_current_reference_address instead of insn_current_address. + (or_attr_value, write_length_unit_log): New functions. + (main): Call write_length_unit_log. + (write_const_num_delay_slots): Output extra '\n'. + * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): + replace with: + (LOOP_ALIGN, ALIGN_LABEL_AFTER_BARRIER). + * i386.h, i386/osfrose.h, i386/svr3dbx.h, m68k.h, sparc.h: Likewise. + * arc.h, m32r.h (ASM_OUTPUT_LOOP_ALIGN): replace with: + (LOOP_ALIGN). + * i960.h, m88k.h: (ASM_OUTPUT_ALIGN_CODE): Replace with: + (LABEL_ALIGN_AFTER_BARRIER). + * ns32k/encore.h, ns32k/merlin.h, ns32k.h, ns32k/sequent.h: Likewise. + * ns32k/tek6000.h: Likewise. + * i386/gas.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Delete. + * i386.md (casesi+1): Use ASM_OUTPUT_ALIGN instead of + ASM_OUTPUT_ALIGN_CODE. + +Mon Mar 2 01:05:50 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Mon Mar 2 00:52:18 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> + + * reorg.c (fill_slots_from_thread): Don't steal delay list from target + if condition code of jump conflicts with opposite_needed. + + * reorg.c (fill_slots_from_thread): Mark resources referenced in + opposite_needed thread. Return delay_list even when cannot get + any more delay insns from end of subroutine. + +Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org) + + * reorg.c (fill_slots_from_thread): New parameter, delay_list. + All callers changed. + +Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> + + * frame.c (start_fde_sort, fde_split, heapsort, fde_merge, + end_fde_sort): New functions for fast sorting of an FDE array. + (fde_insert): Simplified. + (add_fdes): Change argument list. + (frame_init): Use the new functions. + +Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com) + + * ginclude/va-ppc.h (va_arg): Fix typo in long long support. + + * i386.c (reg_mentioned_in_mem): Fix dangling else statement. + + * fold-const.c (fold_range_test): Always return a value. + +Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu> + + * config/i386/winnt.c (i386_pe_unique_section): Put read-only + data in the text section unless READONLY_DATA_SECTION is defined. + +Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com) + + * c-parse.in (undeclared variable error): Tweak error message to + be clearer. + +Sun Mar 1 10:22:36 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +1998-02-28 Mark Mitchell <mmitchell@usa.net> + + * final.c (final_scan_insn): Undo overzealous removal of `set'. + +Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated + case, add parentheses to specify the proper order of precedence in + the if-statement. + + + * c-aux-info.c: Include string.h/strings.h. + + * pa.c: Include stdlib.h. + (pa_combine_instructions): Prototype the function. + (pa_can_combine_p, forward_branch_p, shadd_constant_p): Likewise. + (reloc_needed): Add default case for enumeration switch. + (remove_useless_addtr_insns): Remove unused variable `all'. + (hppa_expand_prologue): Add explicit braces to avoid + ambiguous `else'. + (output_function_epilogue): Remove unused variable `i'. + (output_millicode_call): Remove unused variable `link'. + (shadd_constant_p, forward_branch_p): Make the function static. + (following_call): Explicitly declare to return int. + (pa_reorg): Declare as void. + (pa_combine_instructions): Declare as static void. Add + parentheses around && within ||. + + * pa.h: Add prototypes for pa_reorg, symbolic_operand, + following_call, function_label_operand, lhs_lshift_cint_operand + and zdepi_cint_p. + + * pa.md: Add parentheses around && within ||. + + * cppalloc.c: Include stdlib.h. + + * cpperror.c (cpp_print_containing_files): Remove unused variable + `i'. Fix format specifier in fprintf. + + * cse.c (cse_around_loop): Add explicit braces to avoid + ambiguous `else'. + (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0. + + * expr.c (expand_expr): Add parentheses around && within ||. + + * final.c (app_enable): Replace fprintf with fputs where there are + no format specifiers and no trailing argument after the string. + Eg, when printing ASM_APP_ON/ASM_APP_OFF. + (app_disable): Likewise. + (final_end_function): Likewise. + (final_scan_insn): Likewise. Remove unused variable `set'. + (profile_function): Wrap empty if-statement body in {} brackets. + + * function.c: Include stdlib.h. + (pad_below): Wrap prototype and definition in ARGS_GROW_DOWNWARD. + (reposition_prologue_and_epilogue_notes): Add parentheses + around assignment used as truth value. + + * integrate.c (expand_inline_function): Wrap variable + `cc0_insn' in macro HAVE_cc0. + + * jump.c (jump_optimize): Wrap variable `q' in macro + HAVE_cc0. Remove unused variable `prev1'. + + * libgcc2.c (__bb_exit_trace_func): Add parentheses around && + within ||. Fix format specifier in fprintf. + (__bb_init_prg): Add parentheses around assignment used as + truth value. + + * local-alloc.c: Include stdlib.h. + (requires_inout): Add parentheses around assignment used + as truth value. + + * loop.c (analyze_loop_iterations): Wrap prototype and definition + in macro HAVE_decrement_and_branch_on_count. + (insert_bct, instrument_loop_bct): Likewise. + (move_movables): Add parentheses around assignment used as + truth value. + (consec_sets_invariant_p): Likewise. + (maybe_eliminate_biv_1): Wrap variable `new' in macro HAVE_cc0. + + * objc/objc-act.c: Include stdlib.h. + (lookup_method_in_protocol_list): Wrap empty else-statement body + in braces. + (lookup_protocol_in_reflist): Likewise. + (objc_add_static_instance): Remove unused variables `decl_expr' + and `decl_spec'. + (get_objc_string_decl): Remove unused variable `decl'. + (generate_static_references): Remove unused variables `idecl' and + `instance'. + (check_protocols): Wrap empty else-statement body in braces. + + * protoize.c: Include stdlib.h. + (substr): Add parentheses around assignment used as truth value. + (abspath): Likewise. + (shortpath): Likewise. + + * regmove.c (fixup_match_1): Add parentheses around assignment + used as truth value. + + * reload.c (push_secondary_reload): Remove unused variable `i'. + (find_reloads): Add parentheses around assignment used as truth + value. + + * reload1.c: Include stdlib.h. + + * rtl.h: Correct typo in prototype of offsettable_memref_p. + + * stmt.c (add_case_node): Add parentheses around assignment used + as truth value. + (case_tree2list): Likewise. + + * tree.c (valid_machine_attribute): Wrap variable `decl_attr_list' + in macro VALID_MACHINE_DECL_ATTRIBUTE. Wrap variable + `type_attr_list' in macro VALID_MACHINE_TYPE_ATTRIBUTE. + (merge_attributes): Add explicit braces to avoid ambiguous + `else'. + + * unroll.c (copy_loop_body): Wrap variable `cc0_insn' in + macro HAVE_cc0. + + * varasm.c: Include stdlib.h. + + + * system.h: Remove sys/stat.h. + * gcc.c: Add sys/stat.h. + + * genattr.c: Wrap prototype of `free' in NEED_DECLARATION_FREE. + * genattrtab.c: Likewise. + * genconfig.c: Likewise. + * genemit.c: Likewise. + * genextract.c: Likewise. + * genflags.c: Likewise. + * genopinit.c: Likewise. + * genoutput.c: Likewise. + * genpeep.c: Likewise. + * genrecog.c: Likewise. + * tlink.c: Likewise. Also wrap `getenv' in NEED_DECLARATION_GETENV. + +Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * invoke.texi: Use @itemx for a secondary item in a @table. + + * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE + zero. + +Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com> + + * choose-temp.c: Fix handling of sys/file.h to work in libiberty. + +Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com) + + * i386.c (struct machine_function): Add new fields for PIC stuff. + (save_386_machine_status): Fix argument to xmalloc. Save pic_label_rtx + and pic_label_name. + (restore_386_machine_status): Corresponding changes. + (clear_386_stack_locals): Also clear pic_label_rtx and pic_label_name. + +Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com) + + * c-parse.y (undeclared variable error): Tweak error message + to be clearer. + +Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com> + + * flags.h (g_switch_value, g_switch_set): Declare. + * alpha.c (override_options): Set g_switch_value=8 if not set. + * alpha/elf.h (CC1_SPEC): New. + (ASM_SPEC): New. + (LINK_SPEC): Pass along the -G value we were given. + (LOCAL_ASM_OP): Remove. + (ASM_OUTPUT_ALIGNED_LOCAL): Output to .bss or .sbss by size. + (MAX_OFILE_ALIGNMENT): New. + (BSS_SECTION_ASM_OP, SBSS_SECTION_ASM_OP, SDATA_SECTION_ASM_OP): New. + (EXTRA_SECTIONS): Add sbss and sdata. + (SECTION_FUNCTION_TEMPLATE): New. + (EXTRA_SECTION_FUNCTIONS): Use it. + (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove. + (SELECT_SECTION): Use sdata when small enough. + * alpha/linux.h (ASM_SPEC): Remove. + + +Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> + * config.sub (sco5): Fix typo. + +Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * config/t-linux (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Add macros and + set to empty. + * config/t-linux-aout (LIBGCC1, CROSS_LIBGCC1, LIBGCC1_TEST): Likewise. + * config/alpha/t-linux: Remove file. + * config/sparc/t-linux: Remove file. + * config/m68k/t-linux (LIBGCC1, CROSS_LIBGCC1): Remove. + * config/m68k/t-linux-aout (LIBGCC1, CROSS_LIBGCC1): Likewise. + * configure.in (alpha*-*-linux-gnulibc1*): Use t-linux instead of alpha/t-linux + for tmake_file. + (alpha*-*-linux-gnu*): Likewise. + (sparc-*-linux-gnulibc1*): Use t-linux instead of sparc/t-linux for tmake_file. + (sparc-*-linux-gnu*): Likewise. + +Mon Feb 23 10:47:39 1998 Robert Lipe <robertl@dgii.com> + * collect2.c (ldd_file_name): Bracket declaration with same + manifests as use. + (full_real_ld_suffix): Deleted. Variable was calloced and + written into, but never read. + +1998-02-23 Mike Stump <mrs@wrs.com> + + * configure.in: Add support for i386-wrs-vxworks configuration. + * i386/vxi386.h: New file. + +Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> + + * tree.c (contains_placeholder_p): Ensure function always returns + a value. + * sparc.md (movdi_sp64_insn): Add default case in enumeration switch. + (movsf_const_insn, movdf_const_insn, movtf_const_insn): Likewise. + +Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com) + + * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly. + +1998-02-22 Paul Eggert <eggert@twinsun.com> + + * config/sparc/sol2-sld.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): + Define this new symbol. + (DWARF2_DEBUGGING_INFO, DWARF_DEBUGGING_INFO): Do not #undef. + * toplev.c (main): Do not default to DWARF2_DEBUG with -ggdb if + LINKER_DOES_NOT_WORK_WITH_DWARF2 is defined. + +Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com> + + * iris5.h (DWARF2_UNWIND_INFO): Define to 0. + * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1. + +Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com> + + * objc/Object.m (-error): Call objc_verror with our va_list. + +Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * collect2.c (scan_prog_file): Completely cover uses of variable + `exports' with macro COLLECT_EXPORT_LIST. + +Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com> + + * sched.c (schedule_block): Remove code to get arguments from hard + regs into pseudos early. Same as Aug 25, 1997 change to + haifa-sched.c. + +1998-02-20 Jason Merrill <jason@yorick.cygnus.com> + + * collect2.c (main): Still handle !do_collecting for non-AIX targets. + +1998-02-16 Mark Mitchell <mmitchell@usa.net> + + * toplev.c (rest_of_compilation): Do not defer the output of a + nested function. + +Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org> + + * ginclude/va-mips.h (va_arg): Remove trailing space after '\' + continuation character (line 243). + +Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * genrecog.c (main): Remove duplicated sentence in emitted comment. + +Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net> + David Edelsohn <edelsohn@mhpcc.edu> + + * collect2.c (XCOFF_SCAN_LIBS): Remove. + (export_flag): New variable. + (export_file): #ifdef COLLECT_EXPORT_LIST. + (import_file, exports, imports, undefined): New variables. + (libs, cmdline_lib_dirs, libpath_lib_dirs, libpath, libexts): Same. + (dump_list, dump_prefix_list, is_in_list): New functions. + (write_export_file): $ifdef COLLECT_EXPORT_LIST. + (write_import_file, resolve_lib_name): New functions. + (use_import_list, ignore_library): Same. + (collect_exit): maybe_unlink import_file and #ifdef. + (handler): Same. + (main): New variable importf, #ifdef exportf. Move parsing of + -shared before general argument parsing. Resolve AIX library + paths and import libgcc.a symbols. Treat .so shared libraries the + same as objects and .a libraries. Create alias for object_lst and + increment it instead of original pointer. Scan AIX libraries as + objects earlier instead of using scan_libraries. Perform AIX + tlink later to resolve templates instead of forking ld. + (GCC_OK_SYMBOL): Ensure symbol not in undef section. + (GCC_UNDEF_SYMBOL): New macro. + (scan_prog_file): Loop for members of AIX libraries. Handle + export/import of ctors/dtors. + (aix_std_libs): New variable. + (scan_libraries, XCOFF): Delete. + +Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com> + + * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE. + +1998-02-19 Mike Stump <mrs@wrs.com> + + * Makefile.in: Use $tooldir for sys-include to match toplevel + configure. + +Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com) + Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__. + + * emit-rtl.c (hard-reg-set.h): Include. + (get_lowpart_common): Don't make new REG for hard reg in a + class that cannot change size. + * Makefile.in (emit-rtl.o): Depend on hard-reg-set.h. + + * combine.c: Revert previous patch. + +1998-02-19 Paul Eggert <eggert@twinsun.com> + + * config/sparc/sol2-sld.h: New file. + * configure.in (sparc-*-solaris2*): Use it when using the + system linker. + +Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com) + + * loop.c (force_movables): Fix typo. + +Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de> + + * m88k.h: Change file pattern to match reality. + +Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com) + + * varasm.c (output_constant_pool): Fix dumb thinko in last + change. + + * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from + a function name to a section name. + +1998-02-18 Doug Evans <devans@cygnus.com> + + * tree.h (merge_machine_{type,decl}_attributes): Declare. + (split_specs_attrs, strip_attrs): Add prototypes. + * tree.c (merge_machine_{type,decl}_attributes): New functions. + * c-decl.c (duplicate_decls): Call merge_machine_decl_attributes. + Update olddecl's attributes too. + * c-common.c (strip_attrs): New function. + * c-typeck.c (common_type): Call merge_machine_type_attributes. + * varasm.c (make_function_rtl): New target macro REDO_SECTION_INFO_P. + (make_decl_rtl): Likewise. + +1998-02-18 Jim Wilson <wilson@cygnus.com> + + * c-decl.c (shadow_tag_warned): Call split_specs_attrs. + +Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com) + + Remove this change until we can fix it correctly. + * collect2.c: Bracket declaration of 'exportf' and + 'full_real_ld_suffix'. + +Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> + + * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl. + +Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> + + * c-common.c (c_expand_start_cond, c_expand_end_cond, + c_expand_start_else): Don't warn about non-ambiguous else even if + braces are missing. + +Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com> + + * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT, + ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h + instead. + +Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com> + + * combine.c (simplify_rtx): Obey CLASS_CANNOT_CHANGE_SIZE when + simplifying a subreg of a hard reg. + (expand_compound_operation): Likewise. + (force_to_mode): Likewise. + +Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * fold-const.c: Include "system.h" to get stdlib.h and stdio.h. + (lshift_double): Add parentheses around + or - inside shift. + (rshift_double): Likewise. + (size_int_wide): Explicitly set type of `bit_p' to `int'. + + * Makefile.in (fold-const.o): Depend on system.h. + + * Makefile.in (gcc.o): Depend on system.h, in accordance with last + change to gcc.c. + + * haifa-sched.c: Include "system.h" to get <stdlib.h> and <stdio.h>. + (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |. + (sched_note_set): Remove unused parameter `b', all callers changed. + (schedule_block): Likewise for `rgn'. + (split_hard_reg_notes): Likewise for `orig_insn'. + (check_live): Likewise for `trg'. + (update_live): Likewise. + (check_live_1): Explcitly declare variable `i' as int. + (update_live_1): Likewise. + (insn_issue_delay): Remove unused variable `link'. + (sched_analyze_2): Add default case in enumeration switch. + (schedule_insns): Remove unused variable `i'. + + * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h. + +Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com) + + * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate + a dangling else clause. + +Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com> + + * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame + pointer for the stack pointer in MIPS16 and 64BIT. + +Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * rtl.h (force_line_numbers, restore_line_number_status): Declare. + * emit-rtl.c (force_line_numbers, restore_line_number_status): + New functions. + * stmt.c (struct nesting): Replace seenlabel with line_number_status. + (expand_start_case): Adjust to this change. + (check_seenlabel): New function. + (pushcase, pushcase_range, expand_endcase): Use it. + +Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * i386.md (adddi3): Add =!r,0,0,X alternative. + +Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC. + * x-aix31 (INSTALL): Delete. + +Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com> + + * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if + tsize changes to something other than zero. + +Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com> + + * ginclude/va-mips.h: Replace casts of pointers to int with + casts of pointers to __PTRDIFF_TYPE__. + +Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu> + + * loop.c (strength_reduce, record_biv, record_giv): Use + HOST_WIDE_INT_PRINT_DEC to print CONST_INT values. + +1998-02-16 Jason Merrill <jason@yorick.cygnus.com> + + * tree.c (first_rtl_op): New fn. + (unsave_expr_now): Use it. * print-tree.c (print_node): Likewise. + * tree.c (has_cleanups): New fn. + * fold-const.c (fold, case CLEANUP_POINT_EXPR): Use it. Be more + conservative about pushing the cleanup point down. + * tree.h: Declare them. + +Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com) - * protoize.c (edit_fn_definition): Fix mispelled local `have_flotsam'. + * toplev.c (flag_schedule_reverse_before_reload): Delete variable. + (flag_schedule_reverse_after_reload): Likewise. + (f_options): Remove reverse scheduling support. + * flags.h (flag_schedule_reverse_before_reload): Delete declaration. + (flag_schedule_reverse_after_reload): Likewise. + * haifa-sched.c (rank_for_schedule): Remove support for reverse + scheduling. - * objc/sendmsg.c (__objc_init_install_dtable): Fix misspelling - in name of local label `already_initialized'. +Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * winnt/winnt.h (STDC_VALUE): Was misspelled. + * gcc.c: Get system includes, prototypes and macros via "system.h" + instead of doing it manually. Change all calls of the ctype + macros to custom versions defined in "system.h". - * m68k/ccur-GAS.h (FUNCTION_BOUNDARY): Was misspelled. + * system.h: Fix return type of bcmp prototype from `void' to `int'. + Make bcopy, bcmp and bzero prototypes explicitly `extern'. + Add a prototype for getenv. - * 1750a.h (DEFAULT_PCC_STRUCT_RETURN): Was misspelled. +Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com> -Mon May 15 23:41:25 1995 Jeffrey A. Law <law@snake.cs.utah.edu> + * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change. - * pa.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Make sure to encode section - info for all libcalls. +Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu> -Mon May 15 20:58:00 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * alias.c: Include <stdlib.h> and <string.h>. + (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set. - * collect2.c (strstr): Define ifndef POSIX. +Sat Feb 14 11:23:09 PST 1998 Jeff Law (law@cygnus.com) - * defaults.h (SUPPORTS_WEAK): Provide default. - * aoutos.h, sparc/sunos4.h: Don't support weak symbols. - * netbsd.h, svr4.h, i386/freebsd.h, i386/osfrose.h, - m88k/m88k.h: Define ASM_WEAKEN_LABEL instead of WEAK_ASM_OP. - * c-pragma.h: Check ASM_WEAKEN_LABEL instead of WEAK_ASM_OP. - HANDLE_PRAGMA_WEAK is never defined in a tm.h file. - * c-decl.c (duplicate_decls): Propagate DECL_WEAK. - * tree.h (DECL_WEAK): New macro. - (tree_decl): Add weak_flag. - * varasm.c (assemble_start_function): Declare the symbol weak if - appropriate. - (assemble_variable): Ditto. - (assemble_alias): Ditto. Mark the decl as written. - (declare_weak): Check for weak declaration after definition. - Set DECL_WEAK. - (weak_finish): Use ASM_WEAKEN_LABEL. - * libgcc2.c: The C++ free-store management functions are weak - aliases on targets that always support them. + * version.c: Bump for snapshot. -Mon May 15 19:01:43 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com) - * configure (out_object_file): New variable; put value in Makefile. - * Makefile.in (out_object_file): Use in place of aux-output.o. + * arm.md (movsfcc): Also validate operands[3] when compiling hard + float. + (movdfcc): Only accept fpu_add_operand for operands[3]. - * fold-const.c (const_binop): Don't pass OVERFLOW to force_fit_type - if type is unsigned. + * arm/t-semi (STMP_FIXPROTO): Define to nothing. + * arm/t-semiaof (STMP_FIXPROTO): Likewise. -Mon May 15 18:48:26 1995 Paul Eggert <eggert@twinsun.com> +Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com) - * install.sh (transformbasename): Fix misspelling. + * varasm.c (output_constant_pool): Bring back 'done' label inside + an appropriate #ifdef. - * tahoe.h (CHECK_FLOAT_VALUE): Fix misspelling of OVERFLOW parameter. + * bitmap.c (bitmap_element_allocate): Wrap variable 'i' in an + appropriate #ifdef. + (bitmap_copy, bitmap_operation): Likewise. + * combine.c (combinable_i3pat): Similarly for 'src'. + * function.c (fixup_var_refs_1): Similarly for 'outerdest'. + (locate_and_pad_parm): Similarly for 'reg_parm_stack_space'. + * regclass.c (copy_cost): Similarly for 'secondary_class'. + * reload.c (make_memloc): Simliarly for 'i'. + (find_reloads_address_1): Similarly for 'link'. + * reload1.c (reload): Similarly for 'previous_frame_pointer_needed'. + (emit_reload_insns): Similarly for 'second_reloadreg'. + * unroll.c (iteration_info): Similarly for 'v'. - * i386.h (VALID_MACHINE_{DECL,TYPE_ATTRIBUTE): Fix typo. + * caller-save.c (insert_save_restore): Remove unused variable 'i'. + * calls.c (expand_call): Similarly for 'i'. + (emit_library_call, emit_library_call_value): Similarly for 'mode'. + * fold-const.c (strip_compund_expr): Similarly for 'type'. + * function.c (fixup_var_refs_1): Similarly for 'width'. + (fixup_memory_subreg): Similarly for 'saved'. + (locate_and_pad_parm): Similarly for 'boundary_in_bytes.' + (setjmp_protect): Similarly for 'sub'. + (thread_prologue_and_epilogue_insns): Similarly for 'insn'. + * loop.c (record_giv): Similarly for 'p'. + (combine_givs): Similarly for 'temp_iv'. + (indirect_jump_in_function_p): Similarly for 'is_indirect_jump'. + * recog.c (validate_replace_rtx_1): Similarly for 'width'. + * tree.c (get_set_constructor_bytes): Similarly for 'vals'. + * unroll.c (unroll_loop): Similarly for 'copy'. + (iteration_info): Similarly for 'b'. + * varasm.c (assemble_string): Similarly for 'i'. + * i386.h (LEGITIMIZE_ADDRESS): Similarly for 'orig_x'. - * fx80.h (CHECK_FLOAT_VALUE): Fix misspelled use of parameter. +1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de> - * a29k.c (spec_reg_operand): Fix misspelling of `default:'. + * c-lang.c (lang_print_xnode): New function. + * objc/objc-act.c (lang_print_xnode): Likewise. + * print-tree.c (print_node): Call it -Mon May 15 18:36:41 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com> - * m68k.md (b{eq,ne,ge,lt}0_di): Fixed for non-MOTOROLA syntax. - * m68k/xm-mot3300.h (alloca): Extern decl added for non-GNU compiler. + * dwarf2out.c (decl_scope_node): New type. + (decl_scope_table): Change type to use it. + (decl_scope_table_allocated, decl_scope_depth): Change type to int. + (push_decl_scope): Use new type. New locals containing_scope, i. + Add code to handle setting previous field. + (scope_die_for): Change type of local i to int. Add code to use + previous field. + (dwarf2out_init): Use new type. -Mon May 15 13:14:29 1995 Per Bothner <bothner@kalessin.cygnus.com> +1998-02-13 Jason Merrill <jason@yorick.cygnus.com> - * cppexp.c (cpp_reader): Test for '#' (start of assertion) *after* - skipping hspace, not before. + * except.c (emit_throw): Lose throw_used. -Mon May 15 08:13:54 1995 Pat Rankin (rankin@eql.caltech.edu) +Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * vmsconfig.com: Construct options.h and specs.h to #include - all "*/lang-{options|specs}.h" files found. + * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn + was deleted. + * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise. -Sun May 14 21:32:49 1995 Doug Evans <dje@cygnus.com> +Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com) - * alpha/alpha.md (movsicc, case NE): Don't generate unrecognizable - insn. - (movdicc, case NE): Likewise. + * genextract.c (main): Fix typo. -Sun May 14 15:44:54 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu> +Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com> - * unroll.c (unroll_loop): Make local_regno have size - max_reg_before_loop. Don't do local register optimization if - copy_end has no INSN_LUID. + * c-lang.c (finish_file): Bracket declaration of static_ctors, + static_dtors. -Sun May 14 10:38:23 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * calls.c (expand_call): Bracket declaration of 'rtx_before_call', + 'old_stack_arg_under_construction' + (emit_library_call): Bracket declaration of 'upper_bound', + 'lower_bound', 'i', 'reg_parm_stack_space' + (emit_library_call_value): Likewise. + (store_one_arg): - * objc-act.c (start_method_def): Mark _self as possibly unused. + * collect2.c: include <unistd.h> when appropriate. + Bracket declaration of 'exportf' and 'full_real_ld_suffix'. - * configure: Create specs.h and options.h from */lang-specs.h - and */lang-options.h. - Set lang_specs_files and lang_options_file variables in Makefile. - * Makefile.in (lang_{specs,options}_files): New variables. - (gcc.o): Depends on $(lang_specs_files). - (toplev.o): Depends on $(lang_options_file); merge two dep lists. - (distclean): Remove spes.h and options. - * gcc.c (default_compilers): Remove entries for Ada, C++, Chill, - and Fortran; #include specs.h instead. - * toplev.c (lang_options): Remove entries for Ada, C++, and Fortran; - include options.h instead. + * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'. -Sat May 13 23:11:21 1995 DJ Delorie <dj@delorie.com> + * explow.c (plus_constant_for_output_wide): Remove unused variable + 'code'. + (memory_address): Remove unused variable 'orig_x'. - * configure (i[345]86-go32-msdos, i[345]86-*-go32): New targets. + * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'. + (write_const_num_delay_slots): Remove unused variable 'i'. -Sat May 13 10:58:38 1995 Jim Wilson <wilson@cygnus.com> + * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'. + (gen_insn): Remove unused variable 'obstack_ptr'. - * loop.c (record_giv): When computing replaceable, use - back_branch_in_range_p instead of looking for branches to named - labels. - * loop.h (back_branch_in_range_p): Declare. - * unroll.c (back_branch_in_range_p): No longer static. + * libgcc2.c (__bb_exit_func): Remove unused variables 'ret', + 'j', 'tmp', 'i'. + (__bb_exit_trace_func): Remove unused variable 'e'. + + * optabs.c (expand_binop): remove unused variables 'lhs', 'rhs', + 'funexp'. + (expand_unop): Remove unused variable 'funexp'. + (expand_complex_abs): Remove unused variable 'funexp'. + (init_optabs): Bracket declaration of 'j'. + (init_complex_libfuncs): Deleted. Dead static function. + + * profile.c (branch_prob): Remove unused variables 'insn', 'dest'. + + * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths' + (reg_to_stack): 'initialized', 'before_function_beg' + explictly type as ints instead of defaulting. + (emit_swap_insn): Remove unused variable 'i2'. + (compare_for_stack_reg): Remove unused variable 'src_note'. + + * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'. + + * sched.c (actual_hazard): Bracket declaration of 'this_cost'. + + * stmt.c (add_case_node): Add parens for assignment used as truth. + (all_cases_count): Remove unused variable 'count_high'. + (mark_seen_cases): Remove unused variable 'i'. + (check_for_full_enumeration_handling): Remove unused variable 't'. + Bracket declaration of 'all_values', 'l'. + + * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>. + + * varasm.c (assemble_string): Remove unused variable 'i'. + (immed_double_const): Remove unused variable 'in_current_obstack'. + (immed_real_const_1): Likewise. + (output_constant_pool): Remove unreferenced label 'done'. + (output_constant): Remove unused variable 'x'. + + * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not + a string. + + * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used + as truth. + +Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * combine.c (can_combine_p): Handle USEs in PARALLELs. + +Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org) + + * config/linux.h (LIB_SPEC): Add -lc for -shared if + USE_GNULIBC_1 is not defined. + * config/sparc/linux.h; Ditto. + + * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared. + + * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if + USE_GNULIBC_1 is not defined. + +Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com> + + * rs6000/sysv4.h (ENDFILE_SPEC): add missing %(endfile_linux) + for -mcall-linux + +Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * system.h: New file to get common systems includes and various + definitions and declarations based on autoconf macros. + +Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com) + + * cccp.c (new_include_prefix): Correctly handle -I./. + +Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com> + + * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT. + +Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com> + + * expr.c (expand_assignment): Correct typo exposed by -Wall. + offset should have been a truth value, not an assignment. + +Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com) + + * cse.c (delete_dead_from_cse): If a libcall produces a constant + result and that result can be substituted into SET_SRC of the + insn with the REG_RETVAL note, then perform the substitution + and delete the libcall. + +Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com> + + * mips.md (trucndihi2,truncdiqi2): Change these to support + mips16. + +Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com> + + * mips/mips.c (movdi_operand): Direct referances to symbols + that arn't mips16 consts in mips16 mode arn't valid operands. + + * mips/mips.c (mips_move_2words): Add gprel handling. + +Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com> + + * mips.md (extendsidi2): Allow extension to/from a non-mips16 + register. + +Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com> + + * i386.c: Conditionally include <stdlib.h>, <string.h>, and + <strings.h>. + +Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (WARN_CFLAGS): New variable. + (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it. + +1998-02-11 Mark Mitchell <mmitchell@usa.net> + + * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when + falling through default case in switch. + (i386_aligned_p): Likewise. + +Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM> + + * mips/mips.h (mips_abi_string): Correct typo in comment. + +Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com> + + * mips/mips.md (movdi): These PLUS's need to be Pmode. + +Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * Makefile.in (dwarf2out.o, emit-rtl.o, jump.o, cse.o, unroll.o, + reorg.o, regmove.o): Depend on insn-codes.h, it gets included + indirectly via expr.h. + +Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com> + + * stor-layout.c (layout_type): Do upper - lower in the native type, + so as to properly handle negative indices. + +Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com> + + * except.c (start_dynamic_cleanup): Remove unused variable 'dhc'. + (expand_eh_region_start_tree): Remove unused variable 'note'. + (exception_optimize): Remove unused variable 'regions'. + (expand_builtin_eh_stub): Remove unused variable 'temp'. + (copy_eh_entry): Deleted. Dead function. + + * expr.c (move_block_to_reg) Bracket declaration of 'pat' and + 'last' with same #if HAVE_load_multiple as use of it. + (move_block_from_reg): Likewise. + (emit_move_insn_1): Remove unused variable 'insns'. + (store_constructor): Bracket declaration of startb, endb with + #if TARGET_MEMFUNCTIONS. Remove unused variables 'set_word_size' + 'target', and 'xtarget'. + (expand_builtin_setjmp): Remove unused variables 'op0', + 'next_arg_reg', 'old_inhibit_defer_pop'. + (expand_builtin): Remove unused variable 'offset'. + (do_store_flag): Remove unused variables 'pattern', 'jump_pat'. + (emit_queue): Add parens for assignment used as conditional. + (expand_expr): case TARGET_EXPR: Remove unused variable 'temp'. + +Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com> + + * i386.c: Added include for recog.h. + (override_options): Removed unused variable p. Initialized regno to + avoid warning. + (order_regs_for_local_alloc): Initialized regno to avoid warning. + (legitimize_address): Likewise for 'other'. + (i386_aligned_reg_p): Added default case with abort (). + (print_operand): Likewise. + (reg_mentioned_in_mem): Likewise. + (ix86_expand_binary_operator): Removed unused variables i & insn. + (ix86_expand_unary_operator): Removed unused variable insn. + (output_fp_cc0_set): Removed unused variable unordered_label. + +Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu> + + * i386.c, i386.h, i386.md: Change gen_rtx (X, ...) to gen_rtx_X (...). + Use GEN_INT instead of gen_rtx (CONST_INT). Make printf arguments + and format string match. + +Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com) + + * flow.c (life_analysis): Do not conside the stack pointer live at + the end of a function if the fucntio ncalls alloca. + (mark_used_regs): Similarly. + +1998-02-10 John F Carr <jfc@mit.edu> + + * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative + 1, fzero on alternative 8. + +Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p. + +Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical + SUBREGs of CONST_INTs. -Sat May 13 06:47:11 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu> - * combine.c (simplify_shift_count, case LSHIFTRT): Don't merge - shifts of different modes if first is any right shift. + * mips.c (print_operand, function_prologue): Make printf format + match argument type. -Sat May 13 05:39:09 1995 Richard Earnshaw (rearnsha@armltd.co.uk) +Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * configure (arm-semi-aout): New configuration. - * config.sub: Add support for semi-hosted ARM. - * arm/t-semi, arm/semi.h: New files. + * alpha.c (alpha_return_addr): Remove unused variable `first'. + (alpha_ra_ever_killed): Remove unused variables `ra' and `i'. + (output_epilog): Remove unused variable `frame_size_from_reg_save'. -Fri May 12 21:51:22 1995 Doug Evans <dje@cygnus.com> +Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - * flow.c (find_basic_blocks): Only perform n_basic_blocks sanity - check on first pass, and on second pass ensure it has the correct + * loop.c (strength_reduce): When placing increment for auto-inc + case, do comparison in loop order. + +Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu> + + * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer, + not a HOST_WIDE_INT. + + * calls.c (expand_call): Change test of expand_inline_function + return value to stop compiler warning. + + * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT. + +Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com) + Jeff Law (law@cygnus.com) + + * regmove.c: Fix various minor formatting problems. + (optimize_reg_copy_1): Stop search at CALL_INSNs if flag_exceptions + is true. Make end of basic block tests consistent through regmove.c. + (optimize_reg_copy_2, optimize_reg_copy_3): Likewise. + (fixup_match_2, fixup_match_1, regmove_optimize): Likewise. + +Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * gansidecl.h: Check for a conflicting macro definition before + attempting to prototype bcopy, bcmp or bzero. + +Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com) + + * expr.c (clear_pending_stack_adjust): Handle case where a function + calls alloca, but the user has specified -fomit-fframe-pointer. + + * function.c (assign_parms): Fix typo in last change. + +Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com> + + * gcc.c: Include <strings.h>/<string.h>, <stdlib.h>, <unistd.h>, + <fcntl.h>. + (free_path_suffix): Remove unreferenced static function. + (process_command): Remove unused variable temp. + (default_arg): Remove unused variable i. + (do_spec_1): Add parens for assignment used as truth value. + (main): Likewise. + (validate_all_switches): Likewise. + (main): Remove unused variables i, first_time> + + * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>. + + * calls.c (expand_call): Remove unused variables funtree, + n_regs, and tmpmode. + + * dbxout.c, except.c: Include <string.h>/<strings.h>. + + * explow.c: (plus_constant_for_output_wide) Removed unused + variable all_constant. + + * c-decl.c, genattr.c, genattrtab.c, getconfig.c, genemit.c + genextract.c, genflags.c, genopinit.c genoutput.c, genpeep.c, + genrecog.c, global.c, integrate.c , stupid.c : Include + <stdlib.h>. + + * genextract.c: (walk_rtx) Remove unused variable link. + + * genrecog.c: (concat) Remove unreferenced static function. + + * prefix.c: Include <string.h>/<strings.h>, <stdlib.h> + + * stmt.c: Include <stdlib.h>. + (expand_asm_operands): Remove unused variable val1. + (expand_return): Remove unused variable block. + (pushcase): Remove unused variables l and n. + (pushcaserange): Likewise. + + * unroll.c (unroll_loop): Remove unused variable temp. + +Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org> + + * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only. + +Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * aclocal.m4 (GCC_FUNC_PRINTF_PTR): New macro to test the printf + functions for whether they support the %p format specifier. + * acconfig.h (HOST_PTR_PRINTF): Insert stub for autoconf. + * configure.in (GCC_FUNC_PRINTF_PTR): Use it. + * configure, config.in: Rebuild. + +Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com> + + * function.c (assign_parms): New variable named_arg, with value + depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named. + +Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com> + + * mips/t-r3900: New - same as t-ecoff but eliminate + multilibs: mips1 and mips3. + * configure.in (tx39*): Use new mips/t-r3900. + * configure: Rebuild. + * mips/r3900.h (MULTILIB_DEFAULTS): Eliminate mips1. + +1998-02-06 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2out.c: Add old_args_size. + (dwarf2out_args_size): Use it. + (dwarf2out_begin_prologue): Initialize it. + (dwarf2out_stack_adjust): If !asynchronous_exceptions, save up + pushed args until we see a call. + * final.c (final_scan_insn): Hand CALL_INSNs off to the dwarf2 code + before outputting them. + +1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu> + + * cplus-dem.c (demangle_template_template_parm): New function. + (demangle_template): Handle template template parameters. + +1998-02-02 Mark Mitchell <mmitchell@usa.net> + + * calls.c (expand_call): Don't confuse member functions named + realloc, setjmp, and so forth with the standard library + functions of the same names. + +Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com) + + * stmt.c (expand_asm_operands): Correctly identify asm statements + no output operands. + +Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu> + + * c-common.c (decl_attributes): Flag unrecognized attribute + functions as warnings instead of as errors. + +1998-02-05 Marc Lehmann <pcg@goof.com> + + * integrate.c (INTEGRATE_THRESHOLD): Inline only small functions + when -Os is specified. + * toplev.c (main): Don't disable flag_inline_functions anymore when + -Os is in effect. + +Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * regmove.c: Update. + * flags.h (flag_regmove): Declare. + * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Don't declare. + * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): + Moved into regmove; changed caller. + * toplev.c (rest_of_compilation): Call regmove_optimize also for + expensive_optimizations. + +Thu Feb 5 13:38:42 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Thu Feb 5 01:45:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + Undo this change (the problem was actually in reload): + Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.md (movqi_i+1): New peephole. + +Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com) + + * jump.c (jump_optimize): Lose calls to modified_in_p they are + not needed anymore due to changes elsewhere in jump.c. + + * jump.c (jump_optimize): Fix first arg to modified_in_p in + previous change. + +Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com> + + * expr.c (expand_builtin_setjmp): Accept two new arguments for + the labels to branch to on first and subsequent executions. Don't + play with __dummy. Rename `setjmp' insn to `builtin_setjmp_setup', + and provide it with the jmp_buf. Use only one of + `builtin_setjmp_receiver' or `nonlocal_goto_receiver', + and provide the former with the target label. + (expand_builtin) [BUILTIN_SETJMP]: Generate a label for use by setjmp. + (expand_builtin) [BUILTIN_LONGJMP]: Split out to ... + (expand_builtin_longjmp): ... here. Recognize a `builtin_longjmp' + insn to replace all of the normal nonlocal_goto code. Don't play + with __dummy. Correct arguments to nonlocal_goto. + * expr.h (expand_builtin_setjmp): Update prototype. + * except.c (start_dynamic_handler): When using builtin_setjmp, + generate more accurate flow information. + + * alpha.md (nonlocal_goto_receiver_osf): Delete. + (nonlocal_goto_receiver_vms): Rename to nonlocal_goto_receiver. + (builtin_longjmp, builtin_setjmp_receiver): New. + * sparc.md (update_return): Disambiguate unspec number. + (nonlocal_goto): Rearrange arguments to match caller in except.c. + (builtin_setjmp_setup): Rename from setjmp. Match and ignore the + jmp_buf operand. + * mips.md (nonlocal_goto_receiver, builtin_setjmp_receiver): Remove. + (builtin_setjmp_setup*, builtin_longjmp): New. + +Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu> + + * mips.md: Change gen_rtx (CONST_INT) to GEN_INT. + +Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com> + + * vmsconfig.com: Remove bytecode references. + +1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that + -fno-sjlj-exceptions works for a target that defines + DWARF2_UNWIND_INFO as zero. + + * regmove.c (fixup_match_1): Undo last change which removed some + "useless" code, and add a comment explaining this. + +Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com) + + * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT + to TARGET_LONG64. + +Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de> + + * makefile.vms: Remove bytecode references. + Create genrtl files. + +Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz> + + * jump.c (jump_optimize): Allow conditional loading of floating point + constants and constants from memory. Reinstalled modified_in_p tests. + +Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * loop.c (get_condition): Handle sign-extended constants. + +Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se> + + * expr.c (emit_push_insn): Add code to use movstrti if present. + + * expr.c (emit_push_insn): Use same max-move-amount for movstrhi + and movstrqi as in emit_block_move (). + +Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl> + + * config/m68k/x-next: Remove /NextDeveloper/Headers from + the directories to fixinclude - /usr/include is a link + to it and hence its contents are fixed by default. + +Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com> + + * rs6000/linux.h: define JUMP_TABLES_IN_TEXT_SECTION + +Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de> + + * cccp.c (main): Predefine __VMS_VER on VMS. + +Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * expr.c (get_inner_reference): Use sbitsizetype for type sizes. + * fold-const.c (size_int): Replace with + (size_int_wide). + (make_bit_field_ref): Use bitsize_int for bit position. + * stor-layout.c (sizetype): Delete. + (sizetype_tab, sbitsizetype, ubitsizetype): Declare. + (layout_record, layout_union, layout_type): + Use bitsize_int for bit size. + (set_sizetype): New function. + (make_signed_type, make_unsigned_type): Use it. + * c-decl.c (init_decl_processing): Likewise. + * tree.h (size_int): Don't delcare, #define. + (size_int_wide, sizetype_tab, sbitsize, ubitsize): Declare. + (set_sizetype): Declare. + (bitsize_int, size_int_2, BITS_PER_UNIT_LOG, sizetype, bitsizetype): + Define. + * c-typeck.c (c_sizeof, c_sizeof_nowarn, c_size_in_bytes): + Convert result to sizetype. + (really_start_incremental_init, push_init_level): + Set type of constructor_bit_index to sbitsizetype. + (push_init_level): Use unsigned arithmetic to determine padding. + (output_init_element): Likewise. + +Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com) + + * combine.c (simplify_shift_const): Fix typo in last change. + +Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu> + + * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt))) + is (truncate (lshiftrt)). + +Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_expand_unaligned_load): Use expand_binop properly. + Make sure result winds up in TGT. + (alpha_expand_unaligned_store): Use expand_binop properly. Allow + src to be other than DImode. + (alpha_expand_unaligned_load_words): Tidy. Take an offset argument. + (alpha_expand_unaligned_store_words): Likewise. + (alpha_expand_block_move): Use REGNO_POINTER_ALIGN. Restructure so + that source and destination are separately optimized for alignment. + (alpha_expand_block_clear): Use REGNO_POINTER_ALIGN. + +Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com) + + * mips.md (adddi3_internal_2): Be consistent with adddi3 expander + with handling of -32768. + +Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * aclocal.m4 (GCC_NEED_DECLARATION): Modify macro to accept a + shell variable argument instead of only hard coded functions. + (GCC_NEED_DECLARATIONS): New macro to accept multiple functions. + + * configure.in: Collapse multiple calls to AC_CHECK_FUNCS into one + call. Collapse multiple calls to GCC_NEED_DECLARATION into one + call to GCC_NEED_DECLARATIONS (new macro.) Check if we need + declarations for bcopy, bcmp and bzero. + + * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations. + + * gansidecl.h: If we have bcopy but don't declare it, then do so. + Likewise for bcmp and bzero. Only define macros for bcopy, bcmp, + bzero, index and rindex if they aren't already present. + +Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com) + + * toplev.c (close_dump_file): Wrap function prototype for + argument "func" in PROTO. + (dump_rtl): Likewise. + +Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu> + + * sparc.c (sparc_override_options): Make v8plus and ultrasparc set + MASK_V8PLUS. + (output_function_epilogue): Omit epilogue if nothing drops through. + (output_move_double): Supress int ldd usage on ultrasparc and v9. + (registers_ok_for_ldd_peep): Likewise. + (print_operand): Supress b,a on ultrasparc. Let Y accept a constant. + (ultrasparc_adjust_cost): New function. + (sparc_issue_rate): New function. + * sparc.h (MASK_VIS, TARGET_VIS): New + (MASK_V8PLUS, TARGET_V8PLUS): New. + (TARGET_HARD_MUL32, TARGET_HARD_MUL): New. + (TARGET_SWITCHES): Add vis and v8plus. + (REG_CLASS_FROM_LETTER): Accept d and b for VIS. + (REGISTER_MOVE_COST): FP<->INT move cost 12 for ultrasparc. + (RTX_COSTS): Use TARGET_HARD_MUL + (ADJUST_COST): Call ultrasparc_adjust_cost. + (ISSUE_RATE): New. + * sparc.md (attr type): Add sload, fpmove, fpcmove. Adjust users + of load & fp appropritely. + (supersparc function units): Adjust for Haifa. + (ultrasparc function units): Likewise. + (get_pc_via_rdpc): All v9, not just arch64. + (movdi_v8plus, movdi_v8plus+1): New. + (adddi3_sp32+1): New. + (subdi3_sp32+1): New. + (movsi_insn, movsf_const_insn, movdf_const_insn): Know VIS. + (addsi3, subsi3, anddi3_sp32, andsi3, and_not_di_sp32): Likewise. + (and_not_si, iordi3_sp32, iorsi3, or_not_di_sp32, or_not_si): Likewise. + (xorsi3_sp32, xorsi3, xor_not_di_sp32, xor_not_si): Likewise. + (one_cmpldi2_sp32, one_cmplsi2): Likewise. + (ldd peepholes): Suppress for v9. + (return_adddi): Kill redundant test. Arg1 may be arith_operand. + (return_subsi): Revmove. + +Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu> + + * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register + save/restore MEM rtl. + +Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in: Check for declaration of abort. + * acconfig.h: Corresponding changes. + * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should + be declared. + +Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com) + + * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P + uses it. + +Thu Jan 29 09:27:56 PST 1998 Jeff Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com) + + * configure.in: Check for atoq and atoll. + * rtl.c (read_rtx): Use HAVE_ATOLL and HAVE_ATOQ to select the + proper routine for converting ascii into long long values. + +Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de> + + * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case. + + * vmsconfig.com: Remove bytecode references. + + * alpha/vms.h (PREFIX): Define. + + * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove. + + * am-alpha.h: Don't include alloca for OPEN_VMS. + + * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define. + + * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define. + (GCC_INCLUDE_DIR): Define + + * make-cc.com, make-cccp.com, make-cc1.com: Removed. + * makefile.vms: New file. + + * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha. + + * alpha.c (output_prolog): Output '.name' directive + for minimal traceback information. + + * alpha.c (output_prolog): Don't prepend entry point symbols + with '$' on OPEN_VMS. + +Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu> + Jeffrey A Law (law@cygnus.com) + + * rtl.c (read_rtx): Use atol/atoq based upon disposition of + HOST_WIDE_INT. + + * genattrtab.c (write_test_expr): Use HOST_WIDE_INT_PRINT_DEC + as needed. + * genemit.c (gen_exp): Likewise. + * genpeep.c (match_rtx): Likewise. + * genrecog.c (write_tree_1): Likewise. + + * c-lex.c (yyprint): Use proper format string based upon + disposition of HOST_BITS_PER_WIDE_INT. + (yylex): Put casts in right place for args to build_int_2. + +Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com) + + * combine.c: Fix typos in Jan27 changes. + +Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr> + + * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends. + (LINK_SPEC): Likewise. + (STARTFILE_SPEC): Likewise. + +1998-01-28 Mike Stump <mrs@wrs.com> + + * rtlanal.c (dead_or_set_regno_p): Ignore REG_DEAD notes after + reload completes. + * genattrtab.c (reload_completed): Define. + + * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Remove obsolete + comments. + +Wed Jan 28 20:11:06 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + + * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the + SUBREG_REG if the word count is unchanged, also in the input reload + case. Disable non-applicable sanity checks. + +Wed Jan 28 20:08:26 1998 Jeffrey A Law (law@cygnus.com) + + * config/t-svr4 (TARGET_LIBGCC2_CFLAGS): Add -fPIC. + +Wed Jan 28 20:04:43 1998 Ian Lance Taylor <ian@cygnus.com> + + * i386/t-cygwin32 (LIMITS_H_TEST, LIBGCC2_INCLUDES): Define. + +Wed Jan 28 11:45:27 1998 Per Bothner <bothner@cygnus.com> + + * dbxout.c (dbxout_type): For a RECORD_TYPE, check that TYPE_BINFO + is a TREE_VEC before trying to use it for baseclasses. + (Chill uses the same field for a different purpose.) + + * toplev.c (strip_off_ending): Generalize to endings up to 5 chars. + +Tue Jan 27 23:15:55 1998 Lassi A. Tuura <lat@iki.fi> + + * config.sub: More accurate determination of HP processor types. + +Tue Jan 27 23:11:11 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * c-lex.c: Include <stdlib.h> and <string.h>/<strings.h>. Add + prototype for `handle_sysv_pragma', and make it static. Add + parentheses around assignment used as truth value. + + * combine.c (combine_instructions): Protect variable `prev' with + macro HAVE_cc0. + (can_combine_p): Protect variable `link' with AUTO_INC_DEC. + (extract_left_shift): Add parentheses around operand of &. + (merge_outer_ops): Avoid an empty body in an else-statement. + (gen_rtx_combine): Remove unused variable `i'. + + * sparc/gmon-sol2.c: Include <fcntl.h>. Make return type of + function monstartup `void'. Likewise for internal_mcount. Add + `static void' prototype for moncontrol. Reconcile sprintf format + vs. args. + + * sparc/sparc.c: Include <stdlib.h> and <string.h>/<strings.h>. + Make return type of function_arg_slotno explicitly `int'. + (reg_unused_after): Add parentheses around assignment used as + truth value. + (save_regs): Add explicit braces to avoid ambiguous `else'. + (function_arg_slotno): Add parentheses around && within ||. + (function_arg_pass_by_reference): Likewise. + (sparc_flat_output_function_prologue): Reconcile fprintf format + vs. args. + + * svr4.h (ASM_OUTPUT_LIMITED_STRING): Add parentheses around + assignment used as truth value. + + * cplus-dem.c: Include <stdlib.h>. + (demangle_signature): Avoid an empty body in an else-statement. + (do_type): Remove unused variable `lvl'. + + * cppexp.c: Don't have <stdlib.h> depend on MULTIBYTE_CHARS. + Include <string.h>/<strings.h>. + (cpp_lex): Remove unused variable `namelen'. + (cpp_lex): Explicitly declare `num_chars' as an int. + + * cpplib.c: Avoid duplicate inclusion of <stdlib.h>, include + <unistd.h> instead. Explicitly declare is_system_include + returning int. + (make_assertion): Remove unused variable `kt'. + (cpp_expand_to_buffer): Hide variable `obuf'. + (output_line_command): Remove unused variables, `line_end', + `line_cmd_buf' and `len'. + (macarg): Remove unused variable `arg_start'. + (special_symbol): Remove unused variable `i'. Add parentheses + around assignment used as truth value. + (do_include): Remove unused variables `pcfname' and `retried', + hide `pcf' and `pcfbuflimit'. + (do_line): Remove unused variable `i'. + (finclude): Hide variable `missing_newline'. + (cpp_handle_options): Remove unused variable `j'. + (read_token_list): Remove unused variable `eofp'. + (cpp_error_with_line): Remove unused variable `i'. + (cpp_warning_with_line): Likewise. + (cpp_pedwarn_with_line): Explicitly declare `column' as int. + (cpp_error_from_errno): Remove unused variable `i'. + + * cse.c (invalidate): Add parentheses around assignment used as + truth value. + (find_best_addr): Move declaration of variable `our_cost' inside + the conditional macro where its used. + (fold_rtx): Avoid an empty body in an if-statement. + (cse_insn): Wrap variables `this_insn_cc0_mode' and + `this_insn_cc0' in macro HAVE_cc0. + + * dwarf2out.c: Include <stdlib.h> and <string.h>/<string.h>. + (ASM_OUTPUT_DWARF_DATA8): Reconcile format vs. args in fprintf's. + (output_uleb128): Likewise. + (output_sleb128): Likewise. + (output_cfi): Likewise. + (output_call_frame_info): Remove unused variables `j', `fde_size' + and `fde_pad'. + (comp_unit_has_inlines): Hide declaration as per rest of file. + (size_of_line_prolog): Correct typo in prototype. + (add_arange): Likewise. + (output_aranges): Likewise. + (add_name_and_src_coords_attributes): Likewise. + (gen_array_type_die): Likewise. + (gen_inlined_subroutine_die): Likewise. + (equate_decl_number_to_die): Remove unused variable `i'. + (print_die): Reconcile format vs. args in fprintf's. + (print_dwarf_line_table): Likewise. + (output_die): Likewise. + (output_line_info): Likewise. + (add_subscript_info): Avoid an empty body in an else-statement. + (gen_subprogram_die): Remove unused variable `fp_loc'. + + * dwarfout.c: Explicitly declare `next_pubname_number' as int. + Protect `ordering_attribute' prototype with USE_ORDERING_ATTRIBUTE + macro. Protect `src_coords_attribute' prototype with + DWARF_DECL_COORDINATES macro. Hide `output_entry_point_die' + prototype as in the rest of the file. Likewise for + `output_pointer_type_die' and `output_reference_type_die'. Remove + prototype for `type_of_for_scope'. + (output_unsigned_leb128): Reconcile format vs. args in fprintf. + (type_attribute): Add explicit braces to avoid ambiguous `else'. + + * final.c: Include <stdlib.h> and <string.h>/<strings.h>. + (shorten_branches): Protect declaration of tmp_length with + SHORTEN_WITH_ADJUST_INSN_LENGTH and ADJUST_INSN_LENGTH macros. + (profile_function): Protect declaration of `sval' and `cxt' + variables with appropriate macros. + (final_scan_insn): Likewise for `note' variable. Add explicit + braces to avoid empty body in an if-statement. + (output_asm_insn): Move variable `i' inside macro conditional + where it is used. Add parentheses around assignment used as truth value. + (asm_fprintf) Likewise, likewise. -Fri May 12 19:23:11 1995 Jim Wilson <wilson@cygnus.com> - - * c-typeck.c (build_binary_op): Warn when ~unsigned is compared - against unsigned, and type promotions result in an unexpected - answer. - -Fri May 12 19:10:21 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> - - * configure (*-*-gnu*): Always use ELF; set tm_file=${cpu_type}/gnu.h. - * config/i386/gnu.h: Contents replaced with old i386/gnuelf.h. - * config/i386/gnuelf.h: File removed. - -Fri May 12 17:29:57 1995 Ken Raeburn (raeburn@cygnus.com) - - * m68k/lb1sf68.asm (__IMMEDIATE_PREFIX__): Default to #. - (IMM): New macro. - (all code): Use IMM macro instead of hardcoding # for immediate - operands. - -Fri May 12 16:52:10 1995 Philippe De Muyter (phdm@info.ucl.ac.be) - - * m68k.c (output_scc_di): New function. - (extend_operator) : Allow DImode target. - * m68k.h (HARD_REGNO_MODE_OK): Don't allow d7/a0 as DImode reg pair. - * m68k.md (tstdi, cmpdi, addsi_lshrsi_31, ashldi_extsi): New patterns. - (extendqidi2, extendhidi2, extendsidi2): Allow "general_operand" - instead of "register_operand" 0. - (adddid_sexthishl32, subdid_sexthishl32, subdi_dishl32): Likewise. - (adddi_dilshr32): Operand 0 constraint changed from "ro" to "do"; - Code generation fixed. - (adddi_mem, subdi_mem): Fixed for "<" and ">" operand 0. - (adddi3, subdi3): Operand 2 constraint changed from "ao" to "*ao" - (ashldi_sexthi, ashrdi_const32): Allow only "register_operand" - instead of "general_operand" 0. - (ash[lr]di_const, ash[lr]di3): Allow also 8 and 16 as shift count. - (subreg1ashrdi_const32): Pattern deleted. - (subreghi1ashrdi_const32, subregsi1ashrdi_const32): New pattern. - (lshrsi_31): New implementation. - (scc0_di, scc_di, beq0_di, bne0_di, bge0_di, blt0_di): New patterns. - -Fri May 12 16:50:49 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> - - * pa.md (bb patterns): Fix bugs in length computation exposed by - recent branch shortening and genattrtab changes. - -Fri May 12 16:22:27 1995 Ken Raeburn <raeburn@cygnus.com> - - * cccp.c (enum node_type): Add T_IMMEDIATE_PREFIX_TYPE. - (special_symbol): Handle it; emit value of IMMEDIATE_PREFIX. - (IMMEDIATE_PREFIX): Default to empty string. - (initialize_builtins): Install __IMMEDIATE_PREFIX__ builtin, - parallel to __REGISTER_PREFIX__. - -Fri May 12 14:40:03 1995 Pat Rankin (rankin@eql.caltech.edu) - - * cccp.c: #if VMS, don't define `stat' macro to be VMS_stat. - Compare enums explicitly to 0 to work around VAX C bug. - (do_include): Cast alloca's value. - - * make-cc1.com (bc_loop): Process comma-separated list rather - than space-separated one; restore .h suffix stripped by vmsconfig; - (loop1): More robust handling of directory prefix on file names. - * vmsconfig.com (TPU makefile.in): Reorganize and reformat code. - Make generated .opt files have more consistent format (all comma - separated, excess whitespace eliminated); - (additional_compiler): New routine. - (process_makefile): Use it to handle cc1plus via cp/Make-lang.in. - -Fri May 12 13:35:07 1995 Doug Evans <dje@cygnus.com> - - * arm.h: Replace ARM_REG_PREFIX with REGISTER_PREFIX. - Replace ARM_COMMENT_CHAR with ASM_COMMENT_START. - (REGISTER_PREFIX): Define. - (USER_LABEL_PREFIX, LOCAL_LABEL_PREFIX): Define. - (SECONDARY_OUTPUT_RELOAD_CLASS): Handle DFmodes only if - TARGET_HARD_FLOAT. - (PREDICATE_CODES): Add soft_df_operand. - * arm.c: Replace ARM_REG_PREFIX with REGISTER_PREFIX. - Replace ARM_COMMENT_CHAR with ASM_COMMENT_START. - (arm_asm_output_label): Use USER_LABEL_PREFIX. - (soft_df_operand): New function. - * arm.md (movsicc): New pattern. - (movsfcc, movdfcc, *movsicc_insn, *movsfcc_hard_insn): Likewise. - (*movsfcc_soft_insn, *movdfcc_insn): Likewise. - (*movdf_soft_insn): Rewrite. - (movsi matcher): Fix typo in type attribute. - -Fri May 12 10:25:40 1995 Michael Meissner (meissner@cygnus.com) - - * i386.h (TARGET_RTD): Use MASK_RTD, not MASK_REGPARM. - (TARGET_SWITCHES): Add -m{,no-}align-double switch. - (TARGET_OPTIONS): Add -mregparm= switch to set number of registers - to use for passing arguments. Add -malign-loops= switch to set - the alignment for loops. Add -malign-jumps= switch to set the - alignment for code that is jumped to. Add -malign-functions= - switch to set the initial alignment of functions. - (TARGET_REGPARM): Delete, in favor of -mregparm= - (TARGET_SWITCHES): Delete -mregparm, add -mdebug-arg switches. - (RETURN_POPS_ARGS): Call i386_return_pops_args to do the real work. - (VALID_MACHINE_DECL_ATTRIBUTE): Define as function call. - (VALID_MACHINE_TYPE_ATTRIBUTE): Define as function call. - (COMP_TYPE_ATTRIBUTES): Define as function call. - (REGPARM_MAX): Maximum number of regs to use for passing arguments. - (CUMULATIVE_ARGS): Make this a structure, not an int. - (INIT_CUMULATIVE_ARGS, FUNCTION_ARG{,_ADVANCE}): Call function. - (FUNCTION_ARG_PARTIAL_NREGS): Likewise. - (MAX_CODE_ALIGN): Maximum value to align loops/jumps to. - (BIGGEST_ALIGNMENT): Return 64 if -malign-double, 32 otherwise. - (ASM_OUTPUT_ALIGN_CODE): Use value of -malign-jumps= switch. - (ASM_OUTPUT_LOOP_ALIGN): Use value of -malign-loops= switch. - (toplevel): Declare all new functions and external variables added - in i386.c. - - * i386.c (i386_regparm_string, i386_regparm): New variables - for -mregparm= switch to set the number of registers to use for - passing arguments. - (i386_align_loops_string, i386_align_loops): New variables for - -malign-loops= switch to set alignment to use for loops. - (i386_align_jumps_string, i386_align_jumps): New variables for - -malign-jumps= switch to set alignment to use for labels that are - jumped to. - (override_options): Support new switches. - (i386_valid_decl_attribute_p): New function to validate decl - specific attributes. Presently returns 0. - (i386_valid_type_attribute_p): New function to validate type - specific attributes. Recognize "stdcall", which says function - with fixed numbers of arguments is responsible for popping stack, - "cdecl", which says to use the normal C calling sequence, even if - -mrtd is used, and "regparm", which specifies the number of - registers to use for passing arguments. - (i386_comp_type_attributes): New function, to validate whether - attributes are compatible. - (i386_return_pops_args): New function, to return whether or not - the function pops its argument list or not, taking into account - -mrtd, and the stdcall/cdecl attributes. - (init_cumulative_args): Rewrite as a function, taking variable - argument functions, and regparm support into account. - (function_arg{,_advance,_partial_nreg}): Likewise. - (print_operand): Support %J, to print appropriate jump insn. - - * i386.md (decrement_and_branch_until_zero): Define pattern, - so that loops that count down to zero, don't have an unneeded - compare after the decrement. Add a general insn recognizer for - add to a value and compare against zero. - - * i386/go32.h, i386/winnt.h (VALID_MACHINE_DECL_ATTRIBUTE): - Delete, code folded into the mainline. - (RETURN_POPS_ARGS): Likewise. - - * i386/winnt.h (ENCODE_SECTION_INFO): The stdcall attribute is now - stored on the type field, rather than the decl. - - * i386/gas.h (ASM_OUTPUT_ALIGN_CODE, ASM_OUTPUT_LOOP_ALIGN): Use - i386_align_{loops,jumps} variables to do alignment. - * i386/osfrose.h, i386/svr3dbx.h: Likewise. - -Fri May 12 12:48:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * stor-layout.c (layout_type, case ARRAY_TYPE): Compute length using - MAX of length and zero if sizetype signed and neither bound constant. - - * i386/gnuelf.h, i386/linux-oldld.h, i386/lynx-ng.h, i386/v3gas.h: - Use <...> in #include instead of "...". - * m68k/lynx-ng.h, sparc/lynx-ng.h: Likewise. - - * c-parse.in (myparm): Handle attributes. - * objc-act.c (unused_list): New variable. - (build_tmp_function_decl): Call push_parm_decl with new format. - (start_class): Initialize unused_list. - (start_method_def): Call push_parm_decl with new format and - mark _cmp as possibly unused. - - * combine.c (simplify_shift_const): Don't change SHIFT_MODE - for LSHIFTRT either. - - * unroll.c (unroll_loop): Don't move reg if used in copy_end and - that is a JUMP_INSN. - -Fri May 12 12:31:37 1995 Doug Evans <dje@cygnus.com> - - * arm/lib1funcs.asm: New file. - -Fri May 12 11:52:03 1995 Kung Hsu <kung@cygnus.com> - - * configure (a29k-*-vxworks*): New target. - * config.sub (vxworks29k): New alias. - * a29k/t-vx29k: New file. - * a29k/vx29k.h: New file. + * fix-header.c (main): Remove unused variable `done'. Protect + declaration of `i' with FIXPROTO_IGNORE_LIST. -Fri May 12 11:17:28 1995 Jim Wilson <wilson@mole.gnu.ai.mit.edu> + * pexecute.c: Include <unistd.h>. Prototype `my_strerror'. - * loop.c (check_dbra_loop): When reversing loop when - no_use_except_counting is false, there must be only one biv. + * print-rtl.c (print_inline_rtx): Explicitly declare the parameter + `ind'. -Fri May 12 07:10:00 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * profile.c: Include <string.h>/<strings.h>. + (instrument_arcs): Remove unused variables `note', `inverted', + `zero' and `neg_one'. + (branch_prob): Avoid empty body in an if-statement. - * unroll.c (unroll_loop): Only use local_regno for pseudos. + * regclass.c: Include <stdlib.h>. + (reg_alternate_class): Explicitly declare parameter `regno'. - * genattrtab.c (write_test_expr, case MATCH_DUP): Use operands[N] - instead of JUMP_LABEL (which may not be set). - (walk_attr_value, case MATCH_DUP): Set must_extract. + * regmove.c (regmove_optimize): Remove unused variable `p'. Add + parentheses around assignment used as truth value. + (find_matches): Remove unused variables `output_operand' and + `matching_operand'. + (fixup_match_1): Remove statement with no effect: "if (0) ;". - * c-parse.in: Adjust number of shift/reduce conflicts. - (parm): Support attributes. - * c-decl.c (push_parm_decl): Pass any attributes to decl_attributes. + * scan.c (sstring_append): Explicitly declare `count' as int. + (scan_string): Explicitly declare parameter `init' as int. -Fri May 12 00:36:26 1995 Per Bothner <bothner@kalessin.cygnus.com> + * sched.c: Include <stdlib.h>. + (BLOCKAGE_RANGE): Add parentheses around arithmetic in operand of |. + (rank_for_schedule): Add parentheses around assignment used as + truth value. + (schedule_block): Likewise. + (regno_use_in): Likewise. + (schedule_insns): Remove unused variable `i'. - * cpplib.c (skip_quoted_string): Removed - no longer needed. - (skip_if_group): Use cpp_get_token instead of skip_quoted_string. + * toplev.c: Include <stdlib.h> and <string.h>/<strings.h>. + (v_message_with_decl): Remove unused variable `n'. + (botch): Explicitly declare parameter `s' as char *. + (main): Add parentheses around assignment used as truth value. - * cpplib.h (struct cpp_reader): Remove start_line field. - Add multiline_string_line field. + * tree.c (make_node): Protect the variable `kind' with the + GATHER_STATISTICS macro. + (real_value_from_int_cst): Move variable `e' inside conditional + macro area where it is used. + (tree_last): Add parentheses around assignment used as truth value. + (build1): Protect the variable `kind' with the GATHER_STATISTICS + macro. + (print_obstack_statistics): Reconcile format vs. args in fprintf. + Protect variables `i', `total_nodes', and `total_bytes' with the + GATHER_STATISTICS macro. - * cpplib.c (cpp_error_with_line, cpp_warning_with_line, - cpp_pedwarn_with_line): Take extra column number parameter. - (macroexpand, cpp_get_token): Fix reporting of unterminated strings. - (line_for_error): Removed - no longer needed. +Tue Jan 27 23:01:55 1998 Mike Stump (mrs@wrs.com) -Fri May 12 02:21:34 1995 Jim Wilson <wilson@cygnus.com> + * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add + some comments regarding use of dead_or_set_p. - * mips/svr4-t.h (MD_STARTFILE_PREFIX, MD_EXEC_PREFIX, - STARTFILE_SPEC, LINK_SPEC): Define. - * configure (mips-tandem-sysv4): Use t-mips not t-svr4. +Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com> -Thu May 11 19:18:54 1995 Per Bothner <bothner@kalessin.cygnus.com> + * fixincludes: Tweak fix for struct exception in math.h - * cpplib.c (line_for_error): Make it work; add extra parameter. - (skip_quoted_string, cpp_get_token): Update calls to line_for_error. - (macroexpand): Remember initial line so we can report it if the - call is unterminated. Also, simplify error logic slightly. - (do_include): Cast alloca return value, to avoid pcc warning. +Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com) - * cppexp.c (parse_number): Cleanup some Cygnus crud for MPW. + * mips/mips.c (mips_expand_prologue,mips_expand_epilogue): + Change mode of registers used to add/sub from + hard_frame_pointer_rtx from word_mode to Pmode. -Thu May 11 21:35:23 1995 Torbjorn Granlund <tege@cygnus.com> +Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com> - From Moshier: - * i960.c (i960_output_ldconst): Let split_double handle DImode. - (i960_print_operand): Use REAL_VALUE_TO_DECIMAL for decimal strings. - (i960_output_double, i960_output_float): Likewise; also change arg - VALUE from `double' to `REAL_VALUE_TYPE'. + * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use + asm_output_aligned_bss() instead of asm_output_bss(). -Thu May 11 21:09:25 1995 Per Bothner (bothner@wombat.gnu.ai.mit.edu) + * toplev.c (rest_of_compilation): Replace references to + stack_reg_dump_file and dbr_sched_dump_file with references to + rtl_dump_file. - * cpperror.c (cpp_print_containing_files): Remove some - Cygnus-local stuff. +Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl> -Thu May 11 21:06:47 1995 Doug Evans <dje@canuck.cygnus.com> + * tlink.c (scan_linker_output): Call fclose() for opened files. - * gcc.c (link_command_spec): Make -nostdlib no longer imply - -nostartfiles. +Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com> -Thu May 11 18:48:57 1995 Paul Eggert <eggert@twinsun.com> + * alpha.c (output_epilog [!VMS]): Don't tag global functions if + compiling with -fpic -- we want to be able to override symbols + properly. + (alpha_expand_block_move): Fix thinko in last change. - * c-common.c (convert_and_check): Don't diagnose overflow in constant - expression merely because conversion overflowed. + * alpha.h (ASM_OUTPUT_MI_THUNK): New define. + * config/alpha/win-nt.h (ASM_OUTPUT_MI_THUNK): New define. + * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): New undef. -Thu May 11 18:43:59 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com> - * c-decl.c (grokdeclarator): Use PARM_FLAG to see if should - make PARM_DECL. - * c-parse.in (nested_function, notype_nested_function): - Allow old-style arg definitions (use xdecls). + * alpha.md (abssf, absdf): Revert last change. - * c-decl.c (finish_struct): Properly update DECL_PACKED. +Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu> -Thu May 11 15:24:15 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO. + * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0. - * fold-const.c (fold): Also fold CLEANUP_POINT_EXPRs into - TRUTH_*_EXPRs and into the first operand. - (operand_equal_for_comparison_p): Also make sure the second operand - is integral. +Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com) -Thu May 11 14:22:03 1995 Ted Lemon <mellon@toccata.fugue.com> + * emit-rtl.c (gen_lowpart_common): Handle more case where converting + a CONST_INT into SFmode. - * config/mips/netbsd.h: New file. - * config/mips/t-mips-netbsd: New file. - * config/mips/x-netbsd: New file. +Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com> - * configure (mips-dec-netbsd*): Add entry. + * flags.h: New flag (optimize_size). + * toplev.c (main): Parse -Os option and set optimize_space + accordingly. + * gcc.c (default_compilers), cp/lang-specs.h, f/lang-specs.h: Define + __OPTIMIZE_SIZE__ when compiling with -Os. + * config/dsp16xx/dsp16xx.h, config/i386/i386.h, + config/i386/dgux.h, config/i960/i960.h, config/pdp11/pdp11.h, + config/v850/v850.h (OPTIMIZATION_OPTIONS): New SIZE argument + to macro. + * config/i386/i386.c (optimization_options): Accept new SIZE argument. - * mips.h (LOCAL_LABEL_PREFIX, USER_LABEL_PREFIX): Define. - (PUT_SDB_BLOCK_START, PUT_SDB_BLOCK_END, ASM_OUTPUT_LABEL_REF, - ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL, - ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Use them. +Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de> - * mips.c (mips_output_lineno): Use LOCAL_LABEL_PREFIX. + * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl + stuff only if MCT_TEXT is #define'd. -Thu May 11 14:22:03 1995 Stan Cox (gcc@dg-rtp.dg.com) +Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at> - * dwarfout.c (output_decl): Don't output DIE for struct or union type - with no name or with ERROR_MARK for the fields. + * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32 + configurations. -Thu May 11 06:36:34 1995 Michael Meissner (meissner@cygnus.com) +Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com> - * flow.c (mark_used_regs): If a SUBREG does not have a REG in the - SUBREG_REG position, recursively call mark_used_regs, instead of - segfaulting. + * toplev.c: Add -dM command line option to dump RTL after the + machine dependent reorganisation pass, if there is one. + Reorganise RTL dump code, so that only one file handle is + needed. -Thu May 11 06:44:34 1995 Pat Rankin (rankin@eql.caltech.edu) +Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com> - * expr.c (do_jump, case EQ_EXPR, NE_EXPR): Fix typo for complex. + * except.c (check_exception_handler_labels): Disable warning when + flag_syntax_only. -Wed May 10 12:34:46 1995 Michael Meissner <meissner@cygnus.com> +Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com> - * configure: Add support for the little endian variant of the - PowerPC System V.4 and Eabi targets. If the GNU assembler was not - specified, don't build libgcc.a variants on the PowerPC systems - that use -mrelocatable, -mlittle, and -mbig. + * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P. - * genmultilib: For MULTILIB_MATCHES arguments, map question marks - into equal signs after spliting the left and right side of - equivalent options, to all support for options like: -mcpu=403. +Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * rs6000/rs6000.md (rs6000_immed_double_const): New function that - is like immed_double_const, except that it reverses the two words - in the constant if the target is little endian. + * c-decl.c (grokdeclarator): Get parameter tags from + last_function_parm_tags. + * dwarfout.c (output_formal_types): Set TREE_ASM_WRITTEN before + traversing the parameter types. + (output_type): No early exit for FUNCTION_TYPE / METHOD_TYPE context. - * rs6000/rs6000.md (floatsidf2): Use rs6000_immed_double_const, - not immed_double_const. - (floatunssidf2): Ditto. +Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com) - * rs6000/rs6000.h: Add declarations for all functions in rs6000.c. + * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and + the default case. + (get_shift_alg): Fix typo. - * rs6000/sysv4.h (TARGET_SWITCHES): Add -mlittle, -mlittle-endian, - -mbig, and -mbig-endian for bi-endian support. - (ASM_SPEC): Pass -mlittle/-mbig to the assembler if it was passed - to us. - (LINK_SPEC): If explicit little or big endian support was - requested, tell the GNU linker to use the appropriate target - format. +Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com> - * rs6000/t-eabi (MULTILIB_*): Build libgcc.a variants for software - floating point. Remove mrelocatable libgcc.a variant. + * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg. - * rs6000/t-eabigas: New file, cloned from t-eabi. Build - mrelocatable libgcc.a variant in addition to the other variants. +Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com> - * rs6000/t-ppc: New file, for PowerPC System V.4 support without - the GNU assembler. + * toplev.c (get_run_time): Make sure each case gets its variables. - * rs6000/t-ppcgas: New file, for PowerPC System V.4 support with - the GNU assembler. +Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com> - * rs6000/eabile.h: New file, little endian eabi config file. - * rs6000/sysv4le.h: New file, little endian V.4 config file. + * configure.in (build_xm_file): Add auto-config.h if host=build. + (host_xm_file_list): Don't add $(srcdir) to auto-config.h. + (build_xm_file_list): Likewise. + * configure: Rebuild. -Wed May 10 14:22:28 1995 Doug Evans <dje@cygnus.com> +Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk> - * libgcc1-test.c (main_without__main): Renamed from `main'. - * Makefile.in (libgcc1-test): Tell the user to ignore warnings. + * recog.c (validate_replace_rtx_1): Only perform substitutions + of arguments to commutative and comparison operators once. - * configure: Support --enable-foo, --disable-foo. +Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> -Wed May 10 10:34:00 1995 Lee Iverson <leei@Canada.AI.SRI.COM> + * sparc.c (output_cbranch): Add default case in + enumeration switch. - * unroll.c: Add declarations of static functions. - (unroll_loop): Renumber regs local to loop for each unrolled iteration. + * reorg.c (insn_sets_resource_p): Correct typo in prototype. + (emit_delay_sequence): Eliminate unused parameter, all callers + changed. + (fill_simple_delay_slots): Likewise. + (fill_slots_from_thread): Likewise. + (fill_eager_delay_slots): Likewise. + (mark_referenced_resources): Add default case in enumeration switch. + (mark_set_resources): Likewise. + (rare_destination): Likewise. + (mostly_true_jump): Likewise. + (find_dead_or_set_registers): Likewise. + (redirect_with_delay_slots_safe_p): Remove unused variable `slots'. + (update_reg_unused_notes): Remove unused variable `p'. + (mark_target_live_regs): Remove unused variables `next' and + `jump_count'. + (fill_simple_delay_slots): Remove unused variable `j'. + (fill_slots_from_thread): Add parentheses around assignment used + as truth value. + (dbr_schedule): Likewise. -Wed May 10 08:27:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * objc/Make-lang.in (objc.stage1): Depend on stage1-start. + (objc.stage2, objc.stage3, objc.stage4): Likewise. - * alpha.c (alpha_set_emit_const): Cleanups to work properly - when run on 32-bit host. +Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org> - * configure: Instead of symlinking tm.h and {h,t,}config.h, - make them files that #include the proper file; pass to Makefile. - Pass out_file and md_file to Makefile instead of making symlinks. - * Makefile.in (out_file, md_file, tm_file, {build,host}_xm_file): - New symbols, to be overridden by configure. - (insn-*): Use $(md_file), not md. - (aux-output.o): Use $(out_file), not aux-output.c. - ($(MD_FILE)): Rework to use new conventions. - (gen*.o, bi-*.o): Depend on $(build_xm_file), not hconfig.h. - (scan.o, fix-header.o, scan-decls.o): Likewise. - (distclean): Adjust files removed for new convention. + * cse.c (simplify_ternary_operation): Don't try to simplify + IF_THEN_ELSE expressions (created by combine) that don't use + relational operators. -Tue May 9 19:26:42 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com) - * rs6000/rs6000.h (LIBGCC_SPEC): Do link with libgcc when -shared. + * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE + simplifications. - * Makefile.in (STAGESTUFF): Add underscore.c. - (underscore.c): Rename temporary files to begin with 'tmp-' so that - they will be removed by 'make mostlyclean'. + * crtstuff.c (init_dummy): Keep the epilogue in the init + section for non-ELF systems. -Tue May 9 19:19:55 1995 Mike Stump <mrs@cygnus.com> +Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk> - * toplev.c (lang_options): Add new flag -ffor-scope. + * sh.md (movqi_i+1): New peephole. -Tue May 9 19:11:47 1995 Lee Iverson (leei@ai.sri.com) +Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com> - * objc/init.c (objc_init_statics): Fix missing part of last change. + * Makefile.in: Remove remaining bytecode stuff. + * emit-rtl.c, expr.c: Likewise. -Tue May 9 18:25:34 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> +Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com) - * i386/gnu.h, i386/linux.h, i386/linux-aout.h, i386/lynx.h: - Use <...> in #include instead of "..." to avoid recursion. - * i386/netbsd.h, i386/xm-gnu.h, i386/xm-linux.h: Likewise. - * i386/xm-lynx.h, i386/xm-freebsd.h, i386/xm-netbsd.h: Likewise. - * m68k/lynx.h, m68k/netbsd.h, m68k/xm-lynx.h: Likewise. - * m68k/xm-netbsd.h, mips/gnu.h, ns32k/netbsd.h: Likewise. - * ns32k/xm-netbsd.h, rs6000/lynx.h, rs6000/xm-lynx.h: Likewise. - * sparc/lynx.h, sparc/netbsd.h, sparc/xm-lynx.h: Likewise. - * sparc/xm-netbsd.h, vax/netbsd.h, vax/xm-netbsd.h: Likewise. + * toplev.c (lang_options): Add unknown-pragma options. -Tue May 9 15:52:05 1995 Michael Meissner <meissner@cygnus.com> +Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com> - * config.sub: Recognize powerpcle as the little endian varient of - the PowerPC. Recgonize ppc as a PowerPC variant, and ppcle as a - powerpcle variant. Convert pentium into i586, not i486. Add p5 - alias for i586. Map new x86 variants p6, k5, nexgen into i586 - temporarily. + * dwarfout.c (byte_size_attribute): Simplify and fix - don't need + special (and incomplete) handling for Chill arrays. -Tue May 9 15:43:27 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu> - * rs6000/rs6000.h (LINK_SPEC, LIB_SPEC): Don't mess with libg - if -shared. - * rs6000/aix41ppc.h (LINK_SPEC): Ditto. + * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available, + to get clock rate. - * rs6000/powerpc.h: Don't emit .extern directives. +Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com) -Tue May 9 14:08:09 1995 Jim Wilson <wilson@cygnus.com> + * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16. - * sh/lib1funcs.asm (__ashrsi3, __ashlsi3, __lshrsi3): Use .byte - instead of .word offsets in switch table. +1998-01-22 scott snyder <snyder@d0sgif.fnal.gov> -Tue May 9 11:44:47 1995 Jeremy Bettis <jbettis@cse.unl.edu> + * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in + .frame directive instead of FRAME_POINTER_REGNUM. - * objc/sendmsg.c (__objc_send_initialize): Call superclass if object - does not implement +initialize. - -Tue May 9 02:44:16 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au> - * rs6000/xm-rs6000.h (COLLECT_EXPORT_LIST): Define if not - cross-compiling. - * rs6000/xm-mach.h: #undef COLLECT_EXPORT_LIST. - * rs6000/rs6000.h (COLLECT_SCAN_OBJECTS): Lose. + * m68k.h (TARGET_SWITCHES): -mcpu32 now clears MASK_68881. + (MACHINE_STATE_m68010_up): Replaced __mc68332__ with __mcpu32__. + * m68k/m68k-none.h(CPP_FPU_SPEC): Update relative to TARGET_SWITCHES. + (CPP_SPEC, ASM_SPEC, CC1_SPEC): Likewise. + (CPP_SPEC): -m68332 defines both __mc68332 and __mcpu32__. + * m68k/t-m68kbare (MULTILIB_OPTIONS): Add mcpu32. + (MULTILIB_MATCHES): -m68332 now uses mcpu32 libraries, not m68000. + (MULTILIB_EXCEPTIONS): Don't build 68881 libraries for m68000, + mcpu32 or m5200. + * longlong.h: Replace __mc68332__ with __mcpu32__. - * collect2.c (collect_exit): Unlink export_file. - (prefix_from_string): Broken out from prefix_from_env. - (prefix_from_env): Call it. - (main): Under AIX, recognize -bE: and -bexport:, and don't - automatically export everything if we see one. Otherwise, scan the - objects individually and add all their symbols to an export file to be - passed to the linker. - (write_export_file): New function. - (scan_prog_file): Ignore symbols starting with '.' +Thu Jan 22 19:55:40 PST 1998 Jeff Law (law@cygnus.com) - * c-common.c (declare_hidden_char_array): Mark decl artificial. + * version.c: Bump for snapshot. -Mon May 8 18:13:57 1995 Adam Fedor <fedor@colorado.edu> +Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com> - * objc/init.c (_objc_load_callback): Add declaration. - (__objc_exec_class): Call _objc_load_callback after every Class - or Category is added. - * objc/objc-api.h (_objc_load_callback): Add declaration. + * reload.c (push_reload): In WORD_REGISTER_OPERATIONS code, add test + to require the SUBREG mode to be smaller than the SUBREG_REG mode. + * reload1.c (eliminate_regs): Likewise. -Mon May 8 17:56:28 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com) - * expr.c (expand_expr, case INDIRECT_REF): Set RTX_UNCHANGING_P - if both TREE_READONLY and TREE_STATIC set. + * regmove.c (find_matches): Initialize matches->earlyclobber too. - * c-typeck.c (convert_for_assignment): Don't give errors about - adding const or volatile unless both sides point to functions. +Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com> -Mon May 8 11:48:23 1995 Michael Meissner <meissner@cygnus.com> + * alpha.md (abssf2, absdf2): Disable in IEEE mode. + (negsf2, negdf2): Use proper subtract in IEEE mode. - * configure: If ../ld/Makefile, symlink ../ld/ld.new to collect-ld, - not real-ld. Don't test for $use_collect2 any more. +Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@cygnus.com) -Sun May 7 17:52:23 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * Makefile.in: Remove more bytecode stuff. + * expr.c, stmt.c, config/msdos/top.sed: Likewise. + * vax/xm-vms.h, winnt/config-nt.sed: Likewise. + * f/install.texi, objc/Make-lang.in: Likewise. - * calls.c (expand_call): Improve -Winline warnings. + * Makefile.in: Remove all bytecode support. + (OBJS): Make sure last entry is a real object file, not EXTRA_OBJS. + * emit-rtl.c: Remove all bytecode support. + * expr.c, expr.h function.c, integrate.c: Likewise. + * output.h, regclass.c, rtl.h, stmt.c, toplev.c: Likewise. + * tree.h, varasm.c: Likewise. + * config/m68k/m68k.h: Likewise. + * bi-*, bc-*, bytecode*: Delete bytecode related files. + * modemap.def: Likewise. -Sun May 7 17:28:27 1995 DJ Delorie (dj@delorie.com) +Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com) - * configure.bat: Use "go32" instead of "msdos" for future expansion. + * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3, + umodsi3,umoddi3): Handle mips16 div/mod by a constant. - * i386/go32.h: Add support for win32's stdcall functions. +Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com> - * configure.bat: Add ^M to end of each line. - * i386/config-nt.bat, alpha/config-nt.bat: Likewise. + * i386.md (push): Prohibit symbolic constants if flag_pic. + (movsi+1): Likewise for move to non-register. -Sun May 7 02:12:26 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com> - * tree.h (DECL_ARTIFICIAL): New macro. + * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host. + (print_operand): Handle 0xffffffff on 32 bit host. - * function.c (expand_function_end): Don't warn about unused - anonymous or artificial parms. + * configure.in (thread_file): Rename uses before main loop to + target_thread_file. Initialize to empty in main loop. Set thread_file + to target_thread_file after main loop if not set. + * configure: Rebuild. -Fri May 5 18:41:22 1995 Jim Meyering (meyering@comco.com) + * genattrtab.c (find_and_mark_used_attributes): Handle CONST_INT. + (add_values_to_cover): Revert last change (which had no ChangeLog + entry). + (simplify_with_current_value_aux): Handle CONST_INT. - * configure: Fix typo in name of "maintainer-clean". +Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Fri May 5 14:58:01 1995 Jeffrey A. Law <law@snake.cs.utah.edu> + * unprotoize.c: Define UNPROTOIZE first, to actually take effect. - * pa.c (emit_move_sequence): Force problematical constants - into memory during the reload pass when generating PIC. +Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com> -Fri May 5 13:30:33 1995 Doug Evans <dje@cygnus.com> + * configure.in: Add cpp stringify test. + * acconfig.h (HAVE_CPP_STRINGIFY): New tag. + * gengenrtl.c: Use it. + * configure, config.in: Rebuild. - * objc/NXConstStr.m: NXConstantString.h renamed to NXConststr.h. +Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Fri May 5 07:10:15 1995 Stephen L Moshier (moshier@world.std.com) + * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make. - * real.c (emdnorm, toe64, etoe64): Significand of Intel long double - denormals is shifted down one bit. +Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com> -Fri May 5 07:04:12 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * configure.in: Find declaration for sbrk. + * acconfig.h (NEED_DECLARATION_SBRK): New tag. + * config.in, configure: Rebuild. + * mips-tfile.c: Properly protect declaration of sbrk and free. + * toplev.c: Properly protect declaration of sbrk. - * c-typeck.c (process_init_element): Don't clear_momentary if - constructor_stack is not empty. +Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com> - * objc/Makefile (SHELL): Now /bin/sh. + * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs. - * c-typeck.c (build_binary_op): Also warn about ordered - comparison of pointer with zero if -Wall. +Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com) - * expr.c (do_jump, case EQ_EXPR, NE_EXPR): Properly compare complex. + * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine. -Thu May 4 18:01:25 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Sun Jan 18 00:57:35 1998 Mike Stump (mrs@wrs.com) - * objc/Makefile: NXConstantString renamed to NXConstStr. - * objc/NXConstStr.m: Renamed from objc/NXConstantString.m. - * objc/NXConstStr.h: Renamed from objc/NXConstantString.h. + * configure.in (i960-wrs-vxworks): Default to latest vxworks release. -Thu May 4 17:38:21 1995 J.T. Conklin <jtc@netbsd.org> +Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu> - * configure (vax-*-netbsd*): New configuration. - * vax/netbsd.h, vax/xm-netbsd.h: New files. + * combine.c (force_to_mode, nonzero_bits): Correctly optimize + constant offset computations from objects with known alignment in + the presence of STACK_BIAS. -Thu May 4 16:39:05 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where + necessary. + (const_hash): Hash val is unsigned long. + (SYMHASH): Likewise. - * collect2.c (main): Add check for 'collect-ld', just like - 'real-ld', except that old versions won't be looking for it in the - path. Don't look for 'real-ld' in the path anymore. Sigh. + * tree.c (TYPE_HASH): Type of hash val is unsigned long. - * collect2.c: #include demangle.h and obstack.h. - (obstack_chunk_alloc): Define. - (obstack_chunk_free): Define. - (generic): Don't define. Don't use. - (main): Initialize obstacks and demangling. + * print-tree.c (print_node_brief): HOST_PTR_PRINTF format wants a + char pointer, not HOST_WIDE_INT. + (print_node): Likewise. Also hash is unsigned long not + HOST_WIDE_INT. - * collect2.c (dump_file): Adjust space padding in output to - maintain tabulation with Solaris ld. Don't demangle if the - environment variable COLLECT_NO_DEMANGLE is set. + * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT. - * collect2.c (main): Redirect the output of the first link and - demangle it. Don't collect static c/dtors unless USE_COLLECT2 is - defined. Null-terminate the list of objects. - (dump_file): New function. - (file_exists): New function. - (collect_exit): Renamed from my_exit. Dump and remove the temporary - ld output file. - (collect_execute): Break out from fork_execute. Support redirection. - (fork_execute): Call it. - (fatal_perror, fatal, error): Make non-static. - (xcalloc, xmalloc): Don't use generic. - (xrealloc): Define. - (collect_wait): Break out for do_wait. Just return the exit status. - (do_wait): Call it. + * explow.c (optimize_save_area_alloca): New function for targets + where SETJMP_VIA_SAVE_AREA is true. + (allocate_dynamic_stack_space): On SETJMP_VIA_SAVE_AREA targets, + compute the amount of stack space needed should we find later that + setjmp is never called by this function, stuff rtl for this inside + a REG_NOTE of the final SET of stack_pointer_rtx. + * toplev.c (rest_of_compilation): If SETJMP_VIA_SAVE_AREA and + current_function_calls_alloca, call optimize_save_area_alloca. - * collect2.c: Check SUNOS4_SHARED_LIBRARIES using #if, not #ifdef. +Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com) - * Makefile.in (collect2): Now uses cplus-dem.o and underscore.o. - (collect2.o): Pass MAYBE_USE_COLLECT2 to compile. - (underscore.c): Rules for creation. + * i386.md: Remove redundant integer push patterns. + Don't bother checking for TARGET_PUSH_MEMORY when + pushing constants or registers. - * cplus-dem.c, demangle.h: Copy from libiberty. +Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu> + J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl> -Thu May 4 14:12:35 1995 Jim Wilson <wilson@cygnus.com> + * pexecute.c (pexecute): New function for mingw32. Supports pipes. + (pwait): New function for mingw32. - * sdbout.c (plain_type): Pass additional argument to plain_type_1. - (plain_type_1): New parameter level. Increment it when making - recursive calls. Force the type to void_type_mode before starting - a 7th level of recursion. + * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32 + pipe support is broken for now. - * sh.c (general_movsrc_operand, general_movdst_operand): Delete - references to POST_DEC and PRE_INC. - * sh.h: Clean up whitespace, comments, etc. - (TARGET_SH, RTL_BIT, DT_BIT, C_BIT, R_BIT, TARGET_DUMP_RTL, - TARGET_DUMP_R, TARGET_CDUMP): Delete. - (TARGET_SWITCHES): Delete -mR, -mc, -mr options. - (CONST_DOUBLE_OK_FOR_LETTER_P): Delete 'G' contraint. - (FUNCTION_VALUE): Simplify. - (REG_OK_FOR_PRE_POST_P, IS_INDEX): Delete. - (BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P): Rewrite to allow - SUBREGs. - (GO_IF_LEGITIMATE_INDEX): Delete unused REGNO argument. - (GO_IF_LEGITIMATE_ADDRESS): Use BASE_REGISTER_RTX_P instead of - REG_OK_FOR_PRE_POST_P. Don't accept PRE_INC or POST_DEC addresses. - (PREDICATE_CODES, PROMOTE_MODE): Define. +1998-01-17 Lee Iverson <leei@Canada.AI.SRI.COM> -Wed May 3 09:57:55 1995 Michael Meissner <meissner@cygnus.com> + * emit_rtl.c (init_emit_once): Ensure that potential aliasing + between frame_pointer_rtx, hard_frame_pointer_rtx, and + arg_pointer_rtx is respected in initialization. + (init_emit_once): Use gen_rtx_raw_REG() to create + return_address_pointer_rtx. - * rs6000/rs6000.md (non power abs insns): If not powerpc, use - sf/subfc instructions, not subf. + * reorg.c: #include "expr.h" for rtx prototypes. + * Makefile.in (reorg.o): Depend on expr.h -Wed May 3 08:49:06 1995 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au> +Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za> - * protoize.c (gen_aux_info_file): Use strerror #ifdef HAVE_STRERROR. + * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and + local_prefix to sub-make invocations. -Wed May 3 01:06:01 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> +Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com> - * pa.c (output_call): Fix typo/thinko in last change. - (output_function_epilogue): Align the data section before - emitting deferred plabels. + * objc-parse.c: Recognize protocol qualifiers in class definitions. - From Torbjorn: - * pa.c (before functions): Declare deferred_plabels and - n_deferred_plabels. - (output_call): When generating pic, don't use LP and RP. Use 32 bit - plabel instead. - (output_function_epilogue): Output plabels accumulated in output_call. +Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com) -Tue May 2 17:15:08 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> + * rtl.h: Fix typos. - * pa.c (hppa_expand_epilogue): Fix thinko in last change. + * acconfig.h (NEED_DECLARATION_ATOL): New declaration to check for. + * configure.in: Check for atol. + * rtl.c (atol): Only provide the declaration if NEED_DECLARATION_ATOL. -Tue May 2 16:54:35 1995 Doug Evans <dje@cygnus.com> + * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX. - * jump.c (jump_optimize, can_reach_end determination): A barrier can - follow the return insn. + * loop.c (find_and_verify_loops): When attempting to move insns from + inside the loop outside the loop, create a BARRIER if no suitable + one was found. -Tue May 2 12:39:55 1995 Mike Stump <mrs@cygnus.com> + * jump.c (jump_optimize): Remove Dec 17, 1997 chance in + favor of an equivalent change from gcc-2.8. - * fold-const.c (fold): Ensure that we don't alter the expression's - type when folding CLEANUP_POINT_EXPRs. + * i386/x-sco5 (CC): Remove trailing whitespace. -Tue May 2 13:36:08 1995 Michael Meissner <meissner@cygnus.com> +Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * expmed.c (emit_store_flag): When creating store flag - instructions from simpler parts, such as XOR, ABS, etc. do not - reuse pseudo registers if expensive optimizations, instead create new - pseudos for each insn result. + * gengenrtl.c (type_from_format): De-ANSIfy function signature. + (accessor_from_format): Likewise. + (xmalloc): New function for use when linking with alloca.o. -Tue May 2 01:25:29 1995 Jeffrey A. Law <law@snake.cs.utah.edu> +Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> - * pa.c (hppa_expand_epilogue): Correctly handle restore of %rp - for functions with a stack size of exactly 8kbytes and no frame - pointer. + * frame.c (find_fde): Correct FDE's upper bound. -Mon May 1 19:27:08 1995 Jim Wilson <wilson@cygnus.com> +Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com> - * sdbout.c (sdbout_one_type): Don't switch to text section if - in function with section attribute. + * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version. - * combine.c (combine_instrutions): Set subst_prev_insn to zero. - (try_combine, undo_all): Likewise. - (get_last_value): Return zero if subst_prev_insn set. +Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com) - * sparc.h (INIT_TARGET_OPTABS): Move INIT_SUBTARGET_OPTABS to end. + * calls.c (expand_call): Move #ifdef code out of macro argument + lists. + (emit_library_call, emit_library_call_value): Likewise. - * Makefile.in (install-dir): chmod a+rx all newly created directories. +Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com) - * expr.c (expand_expr, case SAVE_EXPR): Handle the case where - mode is VOIDmode. + * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes. -Fri Apr 28 15:39:38 1995 Per Bothner <bothner@kalessin.cygnus.com> +Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com) - * cpplib.h (cpp_buffer): Note new escape combination "@ ". - * cpplib.c (macroexpand): Delete "@ " if stringifying. - (cpp_skip_hspace): Also skip "@ " if input buffer has_escapes. - (collect_expansion): Cleanup white-space handling. - (create_definition): Remove all leading spaces, not just first one. - (cpp_expand_to_buffer): Set has_escapes on resulting input buffer. - (macroexpand): Set output_escapes during whole function (and - specifically during calls of macarg). - (macroexpand): Set "@ " before and after expansion result. - (push_macro_expansion): Remove unneeded initial "@ ", not " ". - (cpp_get_token): Remove unneeded "@ " (not " ") at end of expansion. - (cpp_get_token): Handle "@ ". + * version.c: Bump for snapshot. - * cpplib.c (read_name_map): Add cpp_reader parameter. Access - map_list from former (instead of having it be static). - (open_include_file): Extra parameter (because of above changes). - (do_include, lookup_import): Update calls of open_include_file. +Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com> - * cpplib.c (do_include): Fix memory leak. + * alias.c: Change all uses of gen_rtx(FOO...) to gen_rtx_FOO; + change gen_rtx(expr...) to gen_rtx_fmt_foo(expr...). + * caller-save.c, calls.c, combine.c, cse.c: Likewise. + * dwarf2out.c, except.c, explow.c, expmed.c, expr.c: Likewise. + * final.c, flow.c, function.c, genpeep.c, haifa-sched.c: Likewise. + * halfpic.c, integrate.c, jump.c, local-alloc.c, loop.c: Likewise. + * profile.c, recog.c, reg-stack.c, regclass.c, regmove.c: Likewise. + * reload.c, reload1.c, reorg.c, sched.c, stmt.c, stupid.c: Likewise. + * unroll.c, varasm.c: Likewise. + * config/alpha/alpha.c, config/alpha/alpha.md: Likewise. - * cpplib.c (delete_assertion): Also delete tokenlist. - (do_unassert): Don't delete tokenlist (handled by delete_assertion). - (cpp_cleanup): New function. Frees resources used by a cpp_reader. - * cpphash.c (cpp_hash_cleanup): New function. - (delete_macro): Enable commented-out code. - (file_cleanup): Free actual buffer. +Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com) - * cpplib.c (cpp_options): Add map_list. + * mips.h: Fix some type-o's from a previous change. - * cpplib.h (PARSE_GETC): Removed. Bogus and unused. - * cppmain.c (main): Remove commented-out code that used PARSE_GETC. +Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com) - * cpplib.c: Don't #include <string.h>. Causes clashes - on Nextstep (when index/rindex are macros). - (cpp_grow_buffer, int_parse_file): Cast to U_CHAR*, rather than char*. + * loop.c (check_dbra_loop): Make sure initial value is a + CONST_INT before trying to normalize it. -Sun Apr 30 08:11:23 1995 Alan Modra (alan@spri.levels.unisa.edu.au) +Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com) - * stdarg.h, varargs.h (va_arg): Don't assume __va_rounded_size (char) - has the value of 4. + * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h. -Sun Apr 30 07:13:43 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl> - * vax.h (NOTICE_UPDATE_CC): Correctly handle aob insns. + * cppexp.c: Include gansidecl.h - * expr.c (expand_expr, case CONSTRUCTOR): Don't set target to - zero if more then one word. - Pass size and alignment to move_by_pieces_ninsns in bytes, not bits. +Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com> - * cse.c (cse_insn): Properly set IN_MEMORY for SET_DEST. + * svr4.h (LINK_SPEC): Never specify -h. + * ptx4.h (LINK_SPEC): Likewise. + * rs6000/sysv4.h (LINK_SPEC): Likewise. + * sparc/sol2.h (LINK_SPEC): Likewise. - * tree.c (substitute_in_expr): Preserve TREE_READONLY. +Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com) - * c-common.c (enum attrs): Add A_UNUSED. - (init_attributes): Initialize it. - (decl_attributes, case A_UNUSED): New case. + * c-typeck.c (comptypes): Exit early on NULL input. -Sat Apr 29 15:42:03 1995 Paul Eggert <eggert@twinsun.com> + * haifa-sched.c (schedule_insns): Correctly remove inter-block + dependencies after reload. - * cccp.c (do_include): Re-fix minor memory leak by using - alloca instead of xmalloc and free. +Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com> - * cccp.c (macarg): Except for reporting error, treat unterminated - macro call as if it were terminated, since `macroexpand' relies - on *argptr being filled in. + * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__. -Sat Apr 29 06:09:35 1995 Torbjorn Granlund <tege@cygnus.com> +Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de> - * pa.c (output_mul_insn): Simplify, it is never called with - UNSIGNEDP set. + * alpha/vms.h (DIR_SEPARATOR): define - * pa.md (divsi3, udivsi3, modsi3, umodsi3): Simplify. - (ashlsi3): Clean up indentation and commentary. +Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> -Fri Apr 28 12:48:01 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * Makefile.in (stamp-proto): Remove. + (protoize.o, unprotoize.o): Straightforward compile. + * unprotoize.c: Define UNPROTOIZE here, not in the Makefile. - * integrate.c (expand_inline_function): Don't emit any notes until - after we've expanded the actual parameters. +Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu> -Fri Apr 28 11:51:06 1995 Stan Cox (gcc@dg-rtp.dg.com) + * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip + off the trailing @[NUM] added by ENCODE_SECTION_INFO. - * m88k/dgux.h: (ENDFILE_SPEC, LIB_SPEC) Fix crtbegin and crtend - (SELECT_RTX_SECTION) Put relocatable pic constants in data section +Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com) - * m88k/dguxbcs.h: (LIB_SPEC) Likewise + * arm/netbsd.h (DWARF2_UNWIND_INFO): Define as zero for now. + * i386/netbsd.h, m68k/netbsd.h, ns32k/netbsd.h: Likewise. + * sparc/netbsd.h, vax/netbsd.h: Likewise. - * m88k/m88k.c: (symbolic_operand) Put relocatable pic constants in data +Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp> - * m88k/m88k.h: (FRAME_POINTER_REQUIRED) Add -momit-leaf-frame-pointer + * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now. - * m88k/m88k.md: (umulsidi3) Doesn't work for 88110 with mod/div changes +Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com> - * m88k/x-dgux: (GCC_FOR_TARGET) tdesc gets mixed up for crtbegin/crtend + * configure.in (target_cpu_default, target_cpu_default2): Use double + quotes around them when testing their value. + * configure: Rebuilt. -Fri Apr 28 06:36:47 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu> - * c-typeck.c (pop_init_level, output_init_element): Pass - require_constant_* to digest_init. + * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx + to allocate rtx. + (gendef): Call obstack_alloc_rtx. - * alpha.c (alpha_emit_set_const): Now returns rtx and take MODE arg. - Rework to use a new pseudo for intermediate values if high opt level. - Also use expand_{bin,un}op. - * alpha.h (alpha_emit_set_const): Add declaration. - * alpha.md (mov[sd]i and splits): Change call to alpha_emit_set_const. +Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com) - * reg-stack.c (stack_result): Fix bug in last change. + * configure.in: (i[3456]86-UnixWare7-sysv5): Treat much like SVR4 + for now. -Fri Apr 28 01:08:43 1995 Doug Evans <dje@cygnus.com> +Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu> - * objc-act.c: Update calls to start_decl, finish_struct, - pass NULLs for attributes. + * i386/mingw32.h (INCOMING_RETURN_ADDR_RTX): Delete. Use the value + of DWARF2_UNWIND_INFO, if any, from i386/cygwin32.h instead. + (STANDARD_INCLUDE_DIR): Change to /usr/local/i386-mingw32/include. -Thu Apr 27 21:13:14 1995 Doug Evans <dje@cygnus.com> +Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com> - * sparc.md (tablejump): Only if ! TARGET_MEDANY. - (casesi): New pattern for TARGET_MEDANY case. + * mips.md (return_internal): Change mode from SImode to VOIDmode. - * c-common.c (decl_attributes): Always continue if attribute not found. - * c-typeck.c (common_type): Call lookup_attribute instead of - value_member. - * tree.c (attribute_hash_list): New function. - (build_type_attribute_variant): Call it. - (valid_machine_attribute): Handle attributes with arguments. - (is_attribute_p): New function. - (lookup_attribute): New function. - (attribute_in_list): Deleted. - (attribute_list_contained): Check TREE_PURPOSE and TREE_VALUE. - * tree.h (valid_machine_attribute): Add prototype. - (is_attribute_p, lookup_attribute): Likewise. - * i386/winnt.h (RETURN_POPS_ARGS): Call lookup_attribute. - (ENCODE_SECTION_INFO): Likewise. - (CPP_PREDEFINES): Use __stdcall__, __cdecl__. - (VALID_MACHINE_DECL_ATTRIBUTE): Call is_attribute_p. - `args' must be NULL. +Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com> -Thu Apr 27 21:10:41 1995 David Edelsohn <edelsohn@mhpcc.edu> + * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle + "-static". - * rs6000.md (insv): New anonymous patterns to combine insert with - arbitrary ashift, ashiftrt, lshiftrt, or zero_extract. (Based on - patch from John Brooks <jbrooks@ea.com>.) - (ashlsi3): Remove extraneous operand processing. +Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com> -Thu Apr 27 18:47:24 1995 Jim Wilson <wilson@cygnus.com> + * i386.md: (movsicc_1, movhicc_1): For alternate 3 set the opcode + suffix from operand 3. - * sh/ashlsi3.c, sh/ashrsi3.c, sh/lshrsi3.c: Delete. - * sh/lib1funcs.asm (ashiftrt_r4_*): Rewrite for efficiency. - (ashrsi3, lshrsi3, lshrsi3): Add. - * t-sh (LIB1ASMFUNCS): Add new functions. - (LIBGCC2_CFLAGS): Delete. - (LIB2FUNCS_EXTRA): Remove deleted files. - (ashlsi3.c, ashrsi3.c, lshrsi3.c): Remove rules for deleted files. +Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk> + Jeffrey A Law (law@cygnus.com) - * stmt.c (expand_return): When returning BLKmode structure, use - operand_subword instead of doing arithmetic on the register number. - Also, for structures smaller than word_mode, copy it into a word_mode - temporary and then subreg it. + * regmove.c: New implementation of regmove pass. + * local-alloc.c (optimize_reg_copy_1, optimize_reg_copy_2): Remove + decls, make them have external linkage. Return a value from + optimize_reg_copy_1. + * reload.h (count_occurrences): Add decl. + * reload1.c (count_occurrences): Delete decl, make it have external + linkage. + * rtl.h (optimize_reg_copy_1, optimize_reg_copy_2): Declare. - * sparc.md: Delete two define_peepholes which print `bad peephole'. +Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com) -Thu Apr 27 16:17:01 1995 Torbjorn Granlund <tege@cygnus.com> + * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P + if it is not defined. - * toplev.c (rest_of_compilation): Call shorten_branches even when - !optimize. - * final.c (shorten_branches): For non-optimizing compiles, break - after first pass. +Thu Jan 8 21:06:54 1998 Richard Henderson <rth@cygnus.com> -Thu Apr 27 14:22:50 1995 Michael Meissner <meissner@cygnus.com> + * Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits. + * emit-rtl.c (gen_rtx): Move special code to ... + (gen_rtx_CONST_INT): New function. + (gen_rtx_REG): New function. + (*): Update all calls to gen_rtx. + * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO. + * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators. + (GEN_INT): Call gen_rtx_CONST_INT. + * gengenrtl.c: New file. - * i386/linux-oldld.h: New file, that is cloned from linux-aout.h, - except that it does not pass -m i386linux to the linker. This is - to support the original Linux ld that is on most distributions. +Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu> - * configure (i[345]86-*-linux*oldld*): Use i386/linux-oldld.h as - the target file. + * alias.c (*_dependence): Call base_alias_check before canon_rtx. + (base_alias_check): If no base found for address call canon_rtx and + try again. -Thu Apr 27 08:56:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com) - * tree.c (valid_machine_attribute): Update last change. + * mips.c (mips_expand_prologue): Handle large frame with no outgoing + arguments for mips16. + (mips_expand_epilogue): Pass "orig_tsize" to save_restore_insns. + Don't lose if tsize is zero after handling large stack for mips16. + * mips.md (return): For trivial return, return address is in $31. -Thu Apr 27 08:06:33 1995 Philippe De Muyter (phdm@info.ucl.ac.be) +Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk> - * fix-header.c, cpplib.c: Don't include <sys/stat.h> twice. - * cpplib.c (cpp_grow_buffer, init_parse_file): Cast {xmalloc,xrealloc} - for token_buffer to U_CHAR* instead of char*. + * mips/mips16.S: Various changes to make it work with -msingle-float + and -EL. - * m68k/x-mot3300: New file. - * configure (m68k-motorola-sysv*): Use x-mot3300 instead of x-alloca. +Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com> + Ian Lance Taylor <ian@cygnus.com> + Jeff Law <law@cygnus.com> -Thu Apr 27 07:04:09 1995 Paul Eggert <eggert@twinsun.com> + * mips.c, mips.h, mips.md: First cut at merging in mips16 + support. Major modifications throughout all three files. - * cccp.c (do_include): Fix minor memory leak. +Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov> - * cccp.c (struct argdata): Remove unused `comments' member. - (macarg): Don't set `comments' member. + * configure.in: Make gthr-default.h a forwarding header instead of + a symlink. - * cccp.c (collect_expansion): Assume leading white space - already removed. - Don't allocate unnecessary space for expansion. +Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> - * cccp.c (deps_output): Don't generate overly long output lines. - Do not invoke self recursively with spacer == 0; this simplifies - the code a bit. + * gcov-io.h: Include sys/types.h to ensure we get size_t. -Wed Apr 26 19:20:02 1995 Andrew McCallum <mccallum@leopard.cs.rochester.edu> + * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf. - * objc/Object.h: Changed Class * to Class in order to match NEXTSTEP - and OpenStep runtime. - * objc/Object.m, objc/Object.h, objc/archive.c, objc/class.c: Likewise. - * objc/encoding.c, objc/init.c, objc/objc-api.h, objc/objc.h: Likewise. - * objc/objects.c, objc/runtime.h, objc/selector.c: Likewise. - * objc/sendmsg.c, objc/typedstream.h: Likewise. +Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com) + Jeffrey A Law (law@cygnus.com) -Wed Apr 26 19:18:52 1995 Pieter Schoenmakers <tiggr@es.ele.tue.nl> + * crtstuff.c (__frame_dummy): New function for irix6. + (__do_global_ctors): Call __frame_dummy for irix6. + * iris6.h (LINK_SPEC): Hide __frame_dummy too. - * objc/objc-api.h (objc_static_instances): New struct to record - static instances of a certain class. - (objc_module): New tag STATICS to point to the table of - objc_statics_instances. - - * objc/init.c (OBJC_VERSION): Version 7. - (objc_init_statics): New function. - (__objc_exec_class): Invoke objc_init_statics if needed. - - * objc/NXConstantString.m, objc/NXConstantString.h: New files. - * objc/Makefile (OBJC_O): Added bare-bones implementation of - NXConstantString. - - * objc-act.c (OBJC_VERSION): Version 7. - (build_objc_string_object): Build a full declaration if not using - the next runtime. - (objc_add_static_instance): New function. - (init_module_descriptor): Add reference to static instances table. - (build_module_descriptor): Add field for static instances table. - (get_objc_string_decl): New function. - (generate_static_references): New function. - (finish_objc): Call generate_static_references if needed. - - * c-tree.h (finish_decl_top_level): New declaration. - * c-decl.c (finish_decl_top_level): New function. - -Wed Apr 26 18:04:32 1995 Dirk Steinberg (Dirk.Steinberg@gmd.de) - - * stddef.h: Treat _MACHINE_ANSI_H_ like _ANSI_H_. - -Wed Apr 26 14:09:59 1995 Jim Wilson <wilson@cygnus.com> - - * sparc.h (NEGTF2_LIBCALL): Define. - (INIT_TARGET_OPTABS): Add support for all TFmode *_LIBCALL macros. - * optabs.c (init_optabs): Delete all uses of undocumented TImode and - TFmode *_LIBCALL macros. - - * combine.c (simplify_rtx, case TRUNCATE): Add. Use force_to_mode. - (force_to_mode, case AND): Allow some simplifications when GET_MODE (x) - has more bits than HOST_BITS_PER_WIDE_INT. - * mips/mips.md (truncdiqi2+[456]): Add patterns to simplify ZERO_EXTEND - of a TRUNCATE. - -Wed Apr 26 13:01:22 1995 Doug Evans <dje@cygnus.com> - - * sparc.md (memop define_splits): Rewrite to not use memop. - Preserve MEM_IN_STRUCT_P, MEM_VOLATILE_P, RTX_UNCHANGING_P bits. - * sparc.c (memop): Deleted. - (splittable_symbolic_memory_operand): New function. - (splittable_immediate_memory_operand): New function. - -Wed Apr 26 12:54:26 1995 Jeffrey A. Law <law@snake.cs.utah.edu> - - * configure: Add hppa1.1-hp-lites support. - -Wed Apr 26 08:04:46 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * sh.md (ashrsi2_31): Don't use dead_or_set_p after reload. - * pyr.md: Remove bad peepholes that improperly use dead_or_set_p. - - * function.c (expand_function_end): Warn about unused parms - if both -Wunused and -W. - - * tree.h (TYPE_PARSE_INFO): Delete unused field. - (TYPE_PACKED): Add new macro. - (struct tree_type): Delete unused field `parse_info'. - Add new field `packed_flag'. - * c-tree.h (finish_enum, finish_struct): Add ATTRIBUTES argument. - * c-common.c (init_attributes): Don't require decl for A_PACKED. - (decl_attributes, case A_PACKED): Set TYPE_PACKED for type. - * c-parse.in: Update number of shift/reduce conflicts. - (structsp): Pass attribute arg to finish_struct. - Support attributes on enums and pass to finish_enum. - * c-decl.c (finish_struct): Add ATTRIBUTES argument, call - decl_attributes and set DECL_PACKED from TYPE_PACKED. - (finish_enum): Add ATTRIBUTES argument, call decl_attributes, - and make enum narrow if TYPE_PACKED. - * print-tree.c (print_node): Print TYPE_PACKED. - - * c-decl.c (init_decl_processing): Don't give builtin__constant_p an - argument type. - * expr.c (expand_builtin, case BUILT_IN_CONSTANT_P): A pointer to a - string constant is a constant. - - * c-typeck.c (output_init_element): Constructor is not simple if - a bitfield is being assigned a non-integer. - - * c-typeck.c (push_init_level): Update constructor_depth when we - push spelling level. - -Tue Apr 25 19:50:06 1995 Jeffrey A. Law <law@snake.cs.utah.edu> - - * pa.c (emit_move_sequence): Handle function label arithmetic for - PIC code generation too. - -Tue Apr 25 18:52:43 1995 Stephen R. van den Berg (berg@pool.informatik.rwth-aachen.de) - - * reg-stack.c (current_function_returns_real): Deleted (unused). - (FP_mode_reg): Trimmed to a smaller size, less overhead. - (FP_MODE_REG): New macro over which FP_mode_reg will be accessed. - (mark_regs_pat, straighten_stack): New functions. - (reg_to_stack): Amend initialisation of FP_mode_reg. - Mark FP registers mentioned in USE insns before NOTE_INSN_FUNCTION_BEG. - (get_true_reg): Eliminate FP subreg accesses in favour of the - actual FP register in use. - (record_reg_life_pat): Make it work on SUBREGs as well. Make use of - the new mark_regs_pat function. Handle USE insns if called unnested. - (record_reg_life): Don't check for QImode again, we know that it - is there. Process CALL_INSNs like all other insns, they might `use' - some FP argument registers if register passing. - (stack_result_p): Changed in stack_result and returning an rtx. - (stack_reg_life_analysis): Take a new stackentry state argument. - Use stack_result and the rtx to mark using mark_regs_pat. This ensures - that types that need multiple FP registers are handled correctly. - Delete the no_live_regs shortcut to save space. - Use stackentry state to determine filled registers. - (replace_reg): Accept COMPLEX_FLOAT as well. - (move_for_stack_reg): Optimise away some pointer dereferencing. - (subst_stack_regs): Make sure the stack is in the right order - and of the right size for register passing. - (goto_block_pat): Make sure the stack is in the right order - to return possible multi-register values from the function. - (convert_regs): Fix comment about CALL_INSN, it's no longer valid. - Make sure the stack is of the right size and in the right order - to return possible multi-register values from the function. - - * function.c (assign_parms): If STACK_REGS is defined, generate USE - insns before the function body, thus showing which registers are filled - with parameters. - * expr.c (expand_builtin_apply_args): Likewise. - Reverse order of saving registers, more compact code for i387. - (expand_builtin_apply): Likewise. - * emit-rtl.c (gen_highpart): Add comment about broken implementation. - * i386.md (untyped_call): Make it return a complex double. - - * c-parse.in (attrib): Permit null-length argument list to attributes. - - * tree.c (valid_machine_attribute): Use new function attribute_in_list, - makes sure type_attribute_variants are reused even when attributes have - parameters. - Assign any new type to TREE_TYPE (decl). - (attribute_in_list): New function. - (attribute_list_contained): Use it. - * tree.h (attribute_in_list): New declaration. - -Tue Apr 25 18:25:53 1995 Jim Wilson <wilson@cygnus.com> - - * expr.c (struct move_by_pieces): Add to_struct and from_struct fields. - (move_by_pieces): Set to_struct and from_struct fields. - (move_by_pieces_1): Set MEM_IN_STRUCT_P of to1 and from1. - (expand_builtin, case BUILT_IN_MEMCPY): New variable type. - Set MEM_IN_STRUCT_P of src_mem and dest_mem. - - * Makefile.in (clean): Delete libgcc1-asm.a. - - * m68k/vxm68k.h (CPP_SPEC): Define. - - * c-decl.c (pushdecl): Don't test DECL_EXTERNAL when deciding whether - to register a duplicate decl in the current block. - - * cross64.h (INIT_ENVIRONMENT): Define as string not putenv call. - * gcc.c (main): Pass INIT_ENVIRONMENT to putenv. - - * stmt.c (expand_return): When returning BLKmode structure in - registers, copy it to a psuedo-reg instead of to hard registers. - -Tue Apr 25 15:14:58 1995 Michael Meissner <meissner@cygnus.com> - - * rs6000.h (LEGITIMIZE_ADDRESS): Don't create a DF address using two - regs if -msoft-float or -mcpu=403. - -Tue Apr 25 15:45:44 1995 Richard Henderson (richard@atheist.tamu.edu) - - * m68k.md (divhi3, udivhi3, modhi3, umodhi3): Deleted - these insns plus some surrounding trash. - (divmodhi4, udivmodhi4): Added these insns. - -Tue Apr 25 10:12:40 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * alpha.c (alpha_builtin_saveregs): Refine last change to work - for both stdarg and varargs. - - * tree.c (chain_member_purpose): Make similar to chain_member_value. - - * Makefile.in, configure: Change "realclean" to "maintainer-clean". - - * protoize.c: Removed __NetBSD__ from conditional. - Declare strerror if HAVE_STRERROR is defined; otherwise - declare sys_errlist and sys_nerr. - (my_strerror): New function. - (errno): Don't define if already defined as a macro. - - * alpha.c (current_file_function_operand): Return false if profiling. +Fri Jan 2 04:57:57 1998 Weiwen Liu <liu@hepmail.physics.yale.edu> + + * alpha.c (vms_valid_decl_attribute_p): Move within #if OPEN_VMS. + +Fri Jan 2 04:34:14 1998 Richard Henderson <rth@cygnus.com> + + * c-decl.c (init_decl_processing): Provide proper fallback symbol + for __builtin_memset. + * expr.c (expand_builtin) [MEMSET]: Arg 3 type code is INTEGER_TYPE + not INTEGER_CST. Assert arg 3 is a constant. + + * alpha.c (mode_width_operand): Accept 64-bit modes. + (mode_mask_operand): Likewise. + (print_operand): Likewise for 'M' and 'U' codes. + (alpha_expand_unaligned_load): New function. + (alpha_expand_unaligned_store): Likewise. + (alpha_expand_unaligned_load_words): Likewise. + (alpha_expand_unaligned_store_words): Likewise. + (alpha_expand_block_move): Likewise. + (alpha_expand_block_clear): Likewise. + * alpha.h (MOVE_RATIO): New define. + * alpha.md (extxl, ext*h, ins*l, mskxl): Name them. + (insql, insxh, mskxh, extv, extzv, insv, movstrqi, clrstrqi): New. + + * alpha.h (ASM_OUTPUT_LOOP_ALIGN, ASM_OUTPUT_ALIGN_CODE): Set to 3. + (CONSTANT_ALIGNMENT, DATA_ALIGNMENT): Disable. + +Thu Jan 1 15:40:15 1998 Richard Henderson <rth@cygnus.com> + + * configure.in: Put parenthesis around TARGET_CPU_DEFAULT's value. + * configure: Update. + +Thu Jan 1 10:49:12 1998 Jeffrey A Law (law@cygnus.com) + + * emit-rtl.c (operand_subword): Correctly handle extracting a word + from a CONST_DOUBLE for 16bit targets with !WORDS_BIG_ENDIAN. + + * mn10200.md (tstxx, cmpxx): Use "nonimmediate_operand" as predicate + for first argument. + +Wed Dec 31 14:42:18 1997 Ian Lance Taylor <ian@cygnus.com> + + * configure.in: Set and subsitute host_exeext. Use it when creating + the assembler and linker symlinks. + * configure: Rebuild. + * Makefile.in (exeext): Set to @host_exeext@. + (build_exeext): New variable, set to @build_exeext@. + (FLAGS_TO_PASS): Pass down build_exeext. + (STAGESTUFF): Use build_exeext, not exeext, for gen* and bi* + programs. + +Wed Dec 31 10:05:44 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200.md (addsi3, subsi3): Fix thinkos. + +Tue Dec 30 00:04:49 1997 Richard Henderson <rth@cygnus.com> + + * sparc.h (ASM_OUTPUT_MI_THUNK): Move %o7 through %g1 instead of + save+restore. Fix pic+big_offset delay slot. Use "pic" case for + unix always, since we want to be able to thunk to functions in a + shared library from an application. + +Mon Dec 29 14:37:31 1997 Ian Lance Taylor <ian@cygnus.com> + + * mips/t-ecoff (CROSS_LIBGCC1): Define to libgcc1-asm.a. + (LIB1ASMSRC, LIB1ASMFUNCS): Define. + +Mon Dec 29 14:03:38 1997 Jeffrey A Law (law@cygnus.com) + + * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the + offset's mode is not ptr_mode, convert it. + +Mon Dec 29 15:58:18 1997 Michael Meissner <meissner@cygnus.com> + + * libgcc2.c (inhibit_libc): Don't define inhibit_libc when cross + compiling if it was already defined. + +Sun Dec 28 00:32:16 1997 Jeffrey A Law (law@cygnus.com) + + * flow.c (find_basic_blocks): Don't create a new basic block + for calls in a LIBCALL block. + +Sun Dec 28 00:30:24 1997 David Edelsohn <edelsohn@mhpcc.edu> + + * config/fp-bit.c (L_df_to_sf): Fix typo in last change. + +Sat Dec 27 22:43:12 1997 Jeffrey A Law (law@cygnus.com) + + * cse.c (rtx_cost): Remove conflicting default case. + +Sat Dec 27 21:20:02 1997 Richard Henderson <rth@cygnus.com> + + * configure.in: Move default enabling of Haifa out of for loop. + * configure: Rebuild. + +Thu Dec 25 01:02:54 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +1997-12-25 Teemu Torma <tot@trema.com> + + * Makefile.in (GTHREAD_FLAGS): New var. + (LIBGCC2_CFLAGS): Added $(GTHREAD_FLAGS). + (distclean): Remove gthr-default.h. + + * configure.in: Accept dce as a thread package. + Check for thread.h and pthread.h. + Link gthr-default.h to appropriate thread file and set + gthread_flags. + (hppa1.1-*-hpux10*): If --enable-threads, use dce threads and + include multilib definitions from pa/t-dce-thr. + (sparc-*-solaris2*): Enable threads by default, if thread.h or + pthread.h is found, preferring posix threads over solaris ones. + + * config/pa/t-dce-thr: New file. + * config/pa/t-pa: Removed multilibs. + * config/sparc/t-sol2: Ditto. + + * gthr.h: New file. + * gthr-single.h: New file. + * gthr-posix.h: New file. + * gthr-solaris.h: New file. + * gthr-dce.h: New file. + * libgcc-thr.h: Removed. + * objc/thr-dce.c: New file copied from thr-decosf1.c. + + * frame.c: Include gthr.h instead of libgcc-thr.h. + * libgcc2.c: Include gthr.h instead of libgcc-thr.h. + (eh_context_initialize): If __gthread_once fails, use static eh + context. + (eh_context_free): Call __gthread_key_dtor. + +Wed Dec 24 23:33:17 1997 Jeffrey A Law (law@cygnus.com) + + * expr.h (MUST_PASS_IN_STACK): Allow target port to override. + +Wed Dec 24 23:12:14 1997 Jim Wilson <wilson@cygnus.com> + + * cse.c (max_insn_uid): New variable. + (cse_around_loop): Use max_insn_uid. + (cse_main): Set max_insn_uid. + + * abi64.h (LONG_MAX_SPEC): Check MIPS_ABI_DEFAULT and TARGET_DEFAULT, + and define __LONG_MAX__ appropriately. Add support for -mabi=X, + -mlong64, and -mgp{32,64} options. + * mips.c (mips_abi): Change type to int. + * mips.h (enum mips_abi_type): Delete. + (ABI_32, ABI_N32, ABI_64, ABI_EABI): Define as constants. + (mips_abi): Change type to int. + +Wed Dec 24 22:38:34 1997 John Carr <jfc@mit.edu> + + * flags.h, toplev.c, calls.c, alias.c: Remove flag_alias_check; + optimization is now always enabled. + + * calls.c (expand_call): Recognize C++ operator new as malloc-like + function. + + * alias.c (memrefs_conflict_p): Eliminate tests now done by + base_alias_check. + (*_dependence): Call canon_rtx before base_alias_check. + (init_alias_once): New function to precompute set of registers which + can hold Pmode function arguments. + + * rtl.h: Declare init_alias_once. + + * toplev.c (compile_file): Call init_alias_once. + +Wed Dec 24 22:34:55 1997 Jeffrey A Law (law@cygnus.com) + + * tree.c (restore_tree_status): Do not dereference a null pointer. + +Tue Dec 23 12:56:46 1997 Paul Eggert <eggert@twinsun.com>: + + * genattrtab.c (main): Check HAVE_{G,S}ETRLIMIT in addition to + RLIMIT_STACK. This maintains consistency with the recent, similar + patch to cccp.c and toplev.c. + +Tue Dec 23 05:17:28 1997 Richard Henderson <rth@cygnus.com> + + * genattrtab.c (expand_units): For large nr opclasses, expand + function_units_used with ORX to prevent blowups. Tag with FFS. + (num_unit_opclasses): New variable. + (gen_unit): Update it. + (enum operator): Add ORX_OP. + (operate_exp): Treat ORX as or, except don't expand across an if. + Reuse number rtx's after operating on them. + (check_attr_value): Accept IOR, AND, & FFS. + (write_test_expr): Transmute `in_comparison' to `flags'. Allow + for attribute value caching. Handle CONST_STRING, IF_THEN_ELSE. + (write_expr_attr_cache, write_toplevel_expr): New functions. + (write_attr_get): Handle FFS-tagged expressions. + (make_canonical): Don't expand const attributes. + (convert_const_symbol_ref): Dike out. + (evaluate_eq_attr): Handle SYMBOL_REF. + (main): Don't emit get_attr_foo for const attributes. + + * alpha.c (override_options): Reinstate PROCESSOR_EV6. + (alpha_adjust_cost): Add EV6 tuning; streamline EV5 tests. + * alpha.h (REGISTER_MOVE_COST): Increase ftoi/itof cost slightly. + * alpha.md: Redo all of the scheduling, adding EV6 support, and + combining function units where possible. + (attr "type"): Split loads, stores, cmov into int/fp. Combine + multiplies and divides. Add EV6 sqrt, ftoi, itof. + (attr "opsize"): New attribute. + (sqrtsf2-1, sqrtdf2-1): Provide proper TP_INSN patterns. + (movsf2-[12], movdf2-[12]): Provide CIX varients; don't allow CIX + to control register allocation. + (movsi2-1, movdi2-1): Likewise. + +Tue Dec 23 03:53:21 1997 Richard Henderson <rth@cygnus.com> + + * alpha.h (CPP_PREDEFINES, LIB_SPEC, LINK_SPEC, STARTFILE_SPEC, + MD_STARTFILE_PREFIX, ASM_FILE_START, ASM_SPEC, ASM_FINAL_SPEC): + Move OSF/1 specific defines out. + * alpha/elf.h (TARGET_VERSION, CPP_PREDEFINES, DEFAULT_VTABLE_THUNKS): + Move Linux specific defines out. + (LINK_SPEC): Genericize. + (ASM_FILE_START): Emit .arch if using more than the base insn set. + (ASM_OUTPUT_SOURCE_LINE): Remove; identical to alpha.h version. + (SDB_DEBUGGING_INFO): Remove; gas can't handle it. + (HANDLE_SYSV_PRAGMA): Define. + * alpha/osf.h: New file. + * alpha/linux.h: Split. Retain file-format independant defines. + Import Linux bits from elf.h. + (CPP_PREDEFINES): Take a file-format specific SUB_CPP_PREDEFINES + (FUNCTION_PROFILER): _mcount takes its address in $28. + (MD_EXEC_PREFIX, MD_STARTFILE_PREFIX): Remove undef. + * alpha/linux-ecoff.h: New file. + * alpha/linux-elf.h: New file. + * alpha/vms.h (LIB_SPEC, LINK_SPEC): Copy from osf.h. + * alpha/win-nt.h (TARGET_DEFAULT): Define. + * configure.in (alpha*-*-osf*, alpha*-*-linux*) [tm_file]: + Add new headers as appropriate. + + * configure.in (alpha*): Enable Haifa by default. + (*-*-winnt3*): Change to winnt*, since we're not v3 specific. + * configure: Rebuild. + +Tue Dec 23 03:14:54 1997 Richard Henderson <rth@cygnus.com> + + * Makefile.in (clean): Remove the stages with their objects here ... + (distclean): ... instead of here. + +Mon Dec 22 11:24:01 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * cse.c (rtx_cost): Add default case in enumeration switch. + * fix-header.c (recognized_macro): Likewise. + (recognized_extern): Likewise. + (write_rbrac): Likewise. + * objc/objc-act.c (encode_aggregate): Likewise. + (gen_declarator): Likewise. + (gen_declspecs): Likewise. + +Mon Dec 22 09:58:51 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (create_reg_dead_note): Detect and handle another + case where we kill more regs after sched than were killed before + sched. + * sched.c (create_reg_dead_note): Similarly. + +Mon Dec 22 09:18:37 1997 Jeffrey A Law (law@cygnus.com) + + * c-pragma.c: Include flags.h. + +Sun Dec 21 22:10:59 1997 Mumit Khan <khan@xraylith.wisc.edu> + + * i386/cygwin32.h (NO_IMPLICIT_EXTERN_C): Don't assume anything + about system headers. + (LIB_SPEC): Add -ladvapi32 -lshell32 to be consistent with mingw32 + and also to resolve symbols in prefix.c. + + * i386/xm-cygwin32.h (HAVE_BCOPY): Define. This avoids a conflict + between gansidecl.h and newlib's _ansi.h when building libgcc2.a, + when the definitions in auto-config.h is not visible. + (HAVE_BZERO): Likewise. + (HAVE_BCMP): Likewise. + (HAVE_RINDEX): Likewise. + (HAVE_INDEX): Likewise. + +Sun Dec 21 21:54:22 1997 Jeffrey A Law (law@cygnus.com) + + * pa.c (emit_move_sequence): Handle a function label source + operand. + +Sun Dec 21 16:13:55 1997 Nick Clifton <nickc@cygnus.com + + * c-pragma.c (handle_pragma_token): Generate warning messages + about unknown pragmas if warn_unknown_pragmas is set. + + * c-decl.c (c_decode_option): Parse -Wunknown-pragmas command + line option to set variable: warn_unknown_pragmas. + +Sun Dec 21 15:51:10 1997 Manfred Hollstein <manfred@lts.sel.alcatel.de> + + * m68k/mot3300.h (ASM_BYTE_OP): Don't include '\t' in the + definition. + (ASM_OUTPUT_ASCII): Prefix ASM_BYTE_OP by one single '\t'. + +Sun Dec 21 13:58:39 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (FPBIT_FUNCS, DPBIT_FUNCS): Define. + (libgcc2.a): Depend on $(DPBIT) and $(FPBIT). Add rules to + generate more fine grained floating point emulation libraries. + * config/fp-bit.c: Add protecting #ifdef to all functions so + that they can be compiled separately. If !FINE_GRAINED_LIBRARIES, + then compile all suitable functions. + (pack_d, unpack_d, fpcmp_parts): Add declarations, define with two + underscores to avoid namespace pollution. + * t-mn10200 (LIB2FUNCS_EXTRA): Remove fp-bit.c + (FPBIT): Define. + * t-mn10300 (LIB2FUNCS_EXTRA): Remove fp-bit.c and dp-bit.c + (FPBIT): Define. + (DPBIT): Define. + +Sat Dec 20 11:26:47 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + Jeff Law <law@cygnus.com> + + * bitmap.c (bitmap_clear): Ensure `inline' is at the beginning + of the declaration. + * c-decl.c (finish_decl): Use parentheses around && within ||. + * rtl.c: Include stdlib.h. + (read_skip_spaces): Add parentheses around assignments used as + truth values. + (read_rtx): Initialize list_rtx. + * cppexp.c (parse_number): Use || when operands are truth values. + * alias.c (find_base_value): Add default case. + (memrefs_conflict): Likewise. + * combine.c (sets_function_arg_p): Likewise. + * genemit.c (gen_exp): Likewise. + * local-alloc.c (contains_replace_regs): Likewise. + * rtlanal.c (jmp_uses_reg_or_mem): Likewise. + * fold-const.c (fold_convert): Use "&&" for truth values. + (fold): Add default case. + * sdbout.c (sdbout_field_types): Fix typo in declaration. + (sdbout_one_type): Add default case. + * alpha.c (alpha_sa_mask): Prototype only if OPEN_VMS. + (some_operand): Add default case. + (input_operand): Likewise. + (signed_comparison_operator): Likewise. + (divmod_operator): Likewise. + (alpha_set_memflags_1): Likewise. + * reload1.c (reload_cse_simplify_operands): Ensure function + always returns a value. + * scan-decls.c (scan_decls): Likewise. + * c-lex.c (skip_white_space): Fix typo in declaraion. + * c-typeck.c (comp_target_types): Add parentheses around assignment + used as truth value. + (print_spelling): Likewise. + (constructor_implicit, constructor_result): Remove unused variables. + * collect2.c (scan_library): Protect prototype with + #ifdef SCAN_LIBRARIES. + * emit-rtl.c (find_line_note): Fix typo in declaration. + * final.c (asm_insn_count): Protect prototype with + #ifdef HAVE_ATTR_length. + * flow.c (find_auto_inc): Protect prototype with #ifdef AUTO_INC_DEC. + (try_pre_increment_1, try_pre_increment): Likewise. + * regclass.c (auto_inc_dec_reg_p): Protect prototype with + #ifdef FORBIDDEN_INC_DEC_CLASSES. Make return type explicit. + * gcov-io.h (__store_long, __write_long, __read_long): Fix + unsigned/signed comparisons. + * gcov.c (read_files): Remove unused "first_type" variable. + (scan _for_source_files): Initialize s_ptr. + (function_summary): Eliminate "%lf" formatting, use %ld for + longs. + (output_data): Initialize branch_probs and last_line_num. + Eliminate "%lf" formatting, use "%ld" for longs. + +Fri Dec 19 17:31:11 1997 Ian Lance Taylor <ian@cygnus.com> + + * mips16.S: New file. + + * libgcc2.c (varargs): Handle mips16. + + * expr.c (do_tablejump): Let CASE_VECTOR_PC_RELATIVE be an + expression. + * stmt.c (expand_end_case): Likewise. + * alpha.h (CASE_VECTOR_PC_RELATIVE): Update. + * fx80.h, gmicro.h, m68k.h, m88k.h, ns32k.h: Likewise. + * rs6000.h, sh.h, tahoe.h, v850.h, vax.h: Likewise. + +Tue Dec 16 15:14:09 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * objc/Make-lang.in: Create runtime-info.h and libobjc_entry.o in + the build directory. + (libobjc.a): Update dependency list. + (libobjc.dll): Likewise. Use libobjc_entry.o from the build + directory. + (objc/sendmsg.o): Add -Iobjc to find runtime-info.h. + (objc.mostlyclean): Remove runtime-info.h. + +Fri Dec 19 00:19:42 1997 Richard Henderson <rth@cygnus.com> + + * tree.c (build_range_type): Allow creation of ranges with no maximum. + * dbxout.c (dbxout_range_type): Handle missing TYPE_MAX_VALUE. + * dwarf2out.c (add_subscript_info): Likewise. + * dwarfout.c (subscript_data_attribute, byte_size_attribute): Likewise. + * sdbout.c (plain_type_1): Likewise. + * stmt.c (pushcase_range, all_cases_count, node_has_high_bound): + Likewise. + * fold-const.c (int_const_binop, fold_convert, make_range, fold): + Likewise. + +Thu Dec 18 17:05:10 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * mips.c (fatal): Remove declaration. + +1997-12-18 Mark Mitchell <mmitchell@usa.net> + + * integrate.c (get_label_from_map): New function. + (expand_inline_function): Use it. Initialize the label_map to + NULL_RTX instead of gen_label_rtx. + (copy_rtx_and_substitute): Use get_label_from_map. + * integrate.h (get_label_from_map): New function. + (set_label_from_map): New macro. + * unroll.c (unroll_loop): Use them. + (copy_loop_body): Ditto. + +Thu Dec 18 19:19:57 1997 Ian Lance Taylor <ian@cygnus.com> + + * mips/mips.h (INIT_SUBTARGET_OPTABS): Define if not defined. + (INIT_TARGET_OPTABS): Define. + * mips/ecoff.h: Include gofast.h before mips.h. + (INIT_SUBTARGET_OPTABS): Define instead of INIT_TARGET_OPTABS. + * mips/elf64.h: Likewise. + * mips/elf.h (ASM_OUTPUT_SECTION_NAME): Define. + +Thu Dec 18 14:51:12 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.c: Remove register_exception_table{,_p}. + +Thu Dec 18 14:57:29 1997 Gavin Koch <gavin@cygnus.com> + + * unroll.c (calculate_giv_inc): Handle constant increment found in + a MEM with an appropriate REG_EQUAL note. + + * calls.c (expand_call): Implement LOAD_ARGS_REVERSED. + + * dwarf2out.c (dwarf2out_frame_debug): Handle adjustments of the + frame pointer in the prologue. + +Thu Dec 18 00:19:38 1997 Robert Lipe <robertl@dgii.com> + + * i386/x-sco5 (CLIB) Deleted. (ALLOCA) Added. + * i386/xm-sco5.h (USE_C_ALLOCA) Added. + +Tue Dec 16 18:51:00 1997 Bill Moyer <billm@cygnus.com> + + * config/m68k/m68k.c (output_function_prologue): Typecast + dwarf2out_cfi_label to (char *). + * config/m68k/m68kemb.h (STARTFILE_SPEC): Redefined to "". + +Wed Dec 17 15:06:04 1997 Richard Henderson <rth@cygnus.com> + + * sparc.md (jump): Don't use the annul bit around an empty loop. + Patch from Kevin.Kelly@East.Sun.COM. + +Wed Dec 17 00:51:36 1997 Stan Cox (scox@cygnus.com) + + * jump.c: (jump_optimize): Don't use the return register as a + source1 of a conditional move. + +Tue Dec 16 23:45:40 1997 Richard Henderson <rth@cygnus.com> + + * sparc.c (DF_MODES): Or the mask not the bit number. + (function_arg) [ARCH64]: Send unprototyped arg to fp reg first. + +Wed Dec 17 00:13:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch> + + * combine.c (force_to_mode): return immediately if operand is a CLOBBER. + +Tue Dec 16 23:44:54 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * fixincludes (size_t): Add support for Motorola's stdlib.h + which fails to provide a definition for size_t. + (fabs/hypot): Provide a prototype for fabs on m88k-motorola-sysv3. + (strlen,strspn,strcspn return value): Handle different layout on sysV88. + (hypot): Provide a fake for hypot for m88k-motorola-sysv3. + + * m68k/xm-mot3300.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Define to + prevent unresolved externals in libio. + * m88k/xm-sysv3.h (ADD_MISSING_POSIX, ADD_MISSING_XOPEN): Likewise. + +Tue Dec 16 23:25:45 1997 H.J. Lu (hjl@gnu.org) + + * config/sparc/linux64.h (LIBGCC_SPEC): Removed. + (CPP_SUBTARGET_SPEC): Add %{pthread:-D_REENTRANT}. + (LIB_SPEC): Updated for glibc 2. + +Tue Dec 16 20:11:36 1997 Jeffrey A Law (law@cygnus.com) + + * ginclude/stdarg.h: Undo BeOS changes, they break hpux. + * ginclude/varargs.h: Likewise. + +Tue Dec 16 00:32:01 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Tue Dec 16 00:14:29 1997 H.J. Lu (hjl@gnu.org) + + * frame.h (__register_frame, __register_frame_table, + __deregister_frame): New. + * frame.c (__register_frame, __register_frame_table, + __deregister_frame): New. + * frame.c (__deregister_frame_info): Return void *. + * frame.h (__deregister_frame_info): Ditto. + * collect2.c (__deregister_frame_info): Ditto. + +Mon Dec 15 18:40:08 1997 Richard Henderson <rth@cygnus.com> + + * expmed.c (expand_shift): If SHIFT_COUNT_TRUNCATED, drop a SUBREG. + +Mon Dec 15 18:31:43 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_cpu_name): New variable. + (alpha_mlat_string): Likewise. + (alpha_memory_latency): Likewise. + (override_options): Handle -mmemory-latency. + (alpha_adjust_cost): Adjust load cost for latency. + * alpha.h (TARGET_OPTIONS): Add meory-latency. + (REGISTER_MOVE_COST): Define in terms of memory_latency. Take + TARGET_CIX into account. + (MEMORY_MOVE_COST): Define in terms of memory_latency. + * invoke.texi (DEC Alpha Options): Document -mmemory-latency. + + * alpha.h (ASM_COMMENT_START): New macro. + +Mon Dec 15 17:48:05 1997 Richard Henderson <rth@cygnus.com> + + * reload.h, reload1.c (eliminate_regs), caller-save.c, dbxout.c, + dwarfout.c, dwarf2out.c, reload.c, sdbout.c: Revert March 15 change. + + * reload.c (push_reload): If WORD_REGISTER_OPERATIONS, reload the + SUBREG_REG if the word count is unchanged. + * reload1.c (eliminate_regs) [case SET]: If W_R_O, preserve + subregs of identical word size for push_reload. + +Mon Dec 15 Mark Mitchell <mmitchell@usa.net> 11:41:32 1997 + + * toplev.c (rest_of_compilation): Don't call save_for_inline_copy + if all we're doing is dealing with -Wreturn-type. + +Mon Dec 15 09:44:39 1997 Richard Henderson <rth@cygnus.com> + + * alpha.md (zero_extendqihi2, zero_extendqisi2, zero_extendqidi2): + Use and 255 instead of zapnot 1, since it schedules better. + +Mon Dec 15 08:48:24 1997 Jeffrey A Law (law@cygnus.com) + + * stmt.c (expand_asm_operands): If an ASM has no outputs, then treat + it as volatile. + +Mon Dec 15 00:04:48 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (remove_dependencies): Set RTX_INTEGRATED_P on + dependency we delete. Properly update prev for multiple consecutive + deletions. + (priority): Skip deleted dependence. + +Fri Dec 12 18:54:23 1997 Per Bothner <bothner@cygnus.com> + + * expr.c (expand_builtin): Support BUILT_IN_FMOD - just call fmod. + +Fri Dec 12 01:19:48 1997 Jason Merrill <jason@yorick.cygnus.com> + + * flow.c (flow_analysis): Be consistent with find_basic_blocks in + determining when a new basic block starts. + + * alpha/osf2or3.h (LIB_SPEC): Restore missing defn. + + * pa.h (TEXT_SPACE_P): Use TREE_CODE_CLASS. + * pa.md (iorsi3): Add missing args to *_operand calls. + + * except.c (call_get_eh_context): Don't mess with sequences. + (emit_eh_context): Include the call in the sequence here. + +1997-12-11 Paul Eggert <eggert@twinsun.com> + + * collect2.c (write_c_file_glob): Allocate initial frame object + in static storage and pass its address. + +Thu Dec 11 23:33:48 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.c (call_get_eh_context): Don't take a parm. + Put the call at the top of the function. + (emit_eh_context): Adjust. + (get_eh_context): Replace with former use_eh_context. + (get_eh_context_once, get_saved_pc_ref): Remove. + (start_eh_unwinder, end_eh_unwinder, emit_unwinder): Remove. + * except.h: Adjust. + * integrate.c (expand_inline_function): Adjust. + * toplev.c (rest_of_compilation): Don't call emit_unwinder. + +Fri Oct 10 17:58:31 CEST 1997 Marc Lehmann <pcg@goof.com> + + * i386/xm-go32.h (EXECUTABLE_SUFFIX): Define. + (DIR_SEPARATOR, NO_SYS_SIGLIST): Likewise. + +Thu Dec 11 23:55:17 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * fixincludes (strlen,strspn,strcspn return value): Handle different + layout on sysV88. + (hypot): Provide a fake for hypot which is broken on + m88k-motorola-sysv3. + +Thu Dec 11 23:50:17 1997 John F. Carr <jfc@mit.edu> + + * tree.c, tree.h: Change tree_code_type, tree_code_length, and + tree_code_name from pointers to arrays. + * tree.c: Remove standard_tree_code_* variables, no longer used. + * print-tree.c: Remove declaration of tree_code_name. + + * cp/lex.c (init_lex): Update for tree_code_* changes. + * objc/objc-act.c (init_objc): Likewise. + + * tree.def, cp/cp-tree.def, objc/objc-tree.def: Update for tree_code + changes. + +Thu Dec 11 23:34:54 1997 Fred Fish <fnf@ninemoons.com> + + * config.sub: Add support for BeOS target. + * configure.in: Likewise. + * ginclude/stdarg.h: Likewise. + * ginclude/stddef.h: Likewise. + * ginclude/varargs.h: Likewise. + * rs6000/beos.h: New file for BeOS. + * rs6000/t-beos: Likewise. + * rs6000/x-beos: Likewise. + * rs6000/xm-beos.h: Likewise. + * toplev.c (get_run_time): Just return 0 on BeOS. + +Thu Dec 11 23:25:23 1997 Jeffrey A Law (law@cygnus.com) + Toon Moene (toon@moene.indiv.nluug.nl) + + * m68k.h (GO_IF_LEGITIMATE_ADDRESS): No longer cater to horribly + old and broken Sun3 assemblers. Newer versions handle large + offsets correctly as does the GNU assembler. + +Thu Dec 11 23:06:48 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * objc/objc-act.c (lang_report_error_function): Disable. + * objc/objc-parse.y: Include "output.h". + (yyerror): Remove redundant decl. + (yyprint): Fix prototype. + (apply_args_register_offset): Remove redundant decl. + (get_file_function_name): Likewise. + +Thu Dec 11 22:02:10 1997 Jason Merrill <jason@yorick.cygnus.com> + + * flow.c (find_basic_blocks): A CALL_INSN that can throw starts + a new basic block. + (find_basic_blocks_1): Likewise. + +Thu Dec 11 21:08:48 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.c (use_eh_context): Don't copy_rtx a REG. + (emit_throw): Lose old unwinder support. + (expand_internal_throw): Likewise. + * libgcc2.c (struct eh_context): Likewise. + (new_eh_context): Likewise. + (__get_eh_info): Lose redundant cast. + (__get_dynamic_handler_chain): Likewise. + (__get_saved_pc): Lose. + Lose all old unwinder support code. + +Thu Dec 11 20:42:18 1997 Teemu Torma <tot@trema.com> + + Thread-safe EH support for pthreads, DCE threads and Solaris threads. + + * integrate.c (expand_inline_function): If the inline fn uses eh + context, make sure that the current fn has one. + * toplev.c (rest_of_compilation): Call emit_eh_context. + * except.c (use_eh_context): New fn. + (get_eh_context_once): New fn. + (call_get_eh_context): New fn. + (emit_eh_context): New fn. + (get_eh_context): Call either get_eh_context_once or + call_get_eh_context, depending on what we have. + (get_dynamic_handler_chain): Call get_eh_context_once. + * except.h: Prototypes for fns above. + * optabs.c (get_eh_context_libfunc): Removed. + (init_optabs): Don't initialize it. + * expr.h (get_eh_context_libfunc): Removed. + * rtl.h, rtl.c: New reg_note REG_EH_CONTEXT. + * config/pa/pa.h (CPP_SPEC): Support for -threads. + * config/pa/pa-hpux10.h (LIB_SPEC): Ditto. + * config/pa/t-pa (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): + New multilib for -threads. + * config/sparc/t-sol2: Added multilibs for -threads and + made -pthreads alias to it. + * config/sparc/sol2.h (CPP_SPEC, LIB_SPEC): + Added -threads and -pthreads options. + * libgcc-thr.h: New file. + * libgcc2.c: (__get_cpp_eh_context): Removed. + (struct cpp_eh_context): Removed. + (struct eh_context): Replaced cpp_eh_context with generic language + specific pointer. + (__get_eh_info): New function. + (__throw): Check eh_context::info. + (__sjthrow): Ditto. + * libgcc2.c: Include libgcc-thr.h. + (new_eh_context, __get_eh_context, + eh_pthread_initialize, eh_context_initialize, eh_context_static, + eh_context_specific, eh_context_free): New functions. + (get_eh_context, eh_context_key): New variables. + (__sjthrow, __sjpopnthrow, __eh_pcnthrow, __throw): Use + get_eh_context to get the context. + (longjmp): Move the declaration inside + #ifdef DONT_USE_BUILTIN_SETJMP. + * frame.c: Include libgcc-thr.h. + (object_mutex): Mutex to protect the object list. + (find_fde, __register_frame, __register_frame_table, + __deregister_frame): Hold the lock while accessing objects. + * except.h (get_eh_context): Declare. + * except.c (current_function_ehc): Define. + (current_function_dhc, current_function_dcc): Removed. + (get_eh_context): New function. + (get_dynamic_handler_chain): Use get_eh_context. + (get_saved_pc_ref): Ditto. + (get_dynamic_cleanup_chain): Removed references to + current_function_dcc. + (save_eh_status, restore_eh_status): Save and restore + current_function_ehc instead. + * optabs.c (get_eh_context_libfunc): New variable. + (init_optabs): Initialize it. + * expr.h: Declare get_eh_context_libfunc. + * function.h (struct function): Replaced dhc and dcc with ehc. + * except.c (get_saved_pc_ref): New functions. + (eh_saved_pc_rtx, eh_saved_pc): Deleted. + (expand_internal_throw_indirect): Use get_saved_pc_ref() instead + of eh_saved_pc. + (end_eh_unwinder): Likewise. + (init_eh): Remove initialization of eh_saved_pc. + * optabs.c (get_saved_pc_libfunc): New variable. + (init_optabs): Initialize it. + * expr.h: Declare get_saved_pc_libfunc. + * except.h (eh_saved_pc_rtx): Deleted. + (get_saved_pc_ref): Declared. + + From Scott Snyder <snyder@d0sgif.fnal.gov>: + * libgcc2.c (__get_saved_pc): New. + (__eh_type, __eh_pc): Deleted. + (__eh_pcnthrow): Use __get_saved_pc() instead of __eh_pc. + (__get_dynamic_handler_chain): Move __dynamic_handler_chain inside + this fcn. + +Thu Dec 11 17:23:48 1997 John F. Carr <jfc@mit.edu> + + * sparc/sol2.h: Use 64 bit multiply and divide functions in + Solaris libc. Define TARGET_LIVE_G0 and TARGET_BROKEN_SAVERESTORE + as 0. + + * rtl.h (global_rtl): New variable, replacing separate variables for + commonly used rtl. + (const_int_rtx): Now array of rtx_def, not rtx. + * emit-rtl.c: Update for new rtl data structures. + * genattrtab.c: Define global_rtl. + +Thu Dec 11 15:50:29 1997 David Edelsohn <edelsohn@mhpcc.edu> + + * configure.in ({rs6000,powerpc}-*-*): Enable Haifa scheduler by + default. + +Wed Dec 10 12:30:18 1997 Anthony Green <green@cygnus.com> + + * crtstuff.c (__do_global_ctors): Fix typo. - * expr.c (convert_move): Don't access a hard reg in an invalid - mode when doing a truncation. +Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de> - * alpha.c (add_operand): Test for exactly the constants allowed by - the constraints. - * alpha.h (CONST_OK_FOR_LETTER_P, case 'L'): Reject 0x80000000. + * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition + to RLIMIT_STACK to see if we can call getrlimit and setrlimit. - * c-parse.in (initdcl, notype_initdcl): Pass attributes to - start_decl; delete call to decl_attributes. - * c-tree.h (start_decl): Two new tree parameters. - * c-decl.c (start_decl): New args for attributes; call decl_attributes. +Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu> - * c-decl.c (duplicate_decls): Don't look at TYPE_ACTUAL_ARG_TYPES - if it is not set. + * rs6000.h (FUNCTION_ARG_PADDING): Define. + * rs6000.c (function_arg_padding): New function. - * xm-1750a.h: New file. +Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de> - * alpha.c (alpha_builtin_saveregs): Add to incoming args addr - if less than 6 named args, not less than or equal to. + * m68k.c: Include tree.h only once. -Mon Apr 24 15:25:19 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - * mips-tfile.c (fatal, error): Make first arg const to avoid warning. + * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc. - * stmt.c (expand_end_bindings): Write a BARRIER after call - to abort in nonlocal handler. +Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com) - * stmt.c (expand_decl_init): Call preserve_temp_slots to keep - around any temp whose address was taken. + * Partially cleaned up prototyping code from HJ. + * tree.h: Add many prototypes. + * haifa-sched.c (haifa_classify_insn): Renamed from classify_insn. + All references changed. + * rtl.h: Protect from multiple inclusions. Add many prototypes. -Fri Apr 21 16:26:15 1995 Torbjorn Granlund <tege@adder.cygnus.com> +Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com> - * pa.md (call_internal_reg): Fix typos in length calculation. - (call_value_internal_reg): Likewise. + * libgcc2.c (string.h): Hoist inclusion to occur before first use of + string functions like strlen. -Fri Apr 21 13:17:15 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> +Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de> - * config/gnu.h (STANDARD_INCLUDE_DIR): New macro. - * config/mips/gnu.h (STANDARD_INCLUDE_DIR): Macro moved there. + * configure.in: Check for functions getrlimit and setrlimit. + * cccp.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition + to RLIMIT_STACK to see if we can call getrlimit and setrlimit. -Fri Apr 21 08:23:58 1995 Tom Quiggle (quiggle@lovelace.engr.sgi.com) +Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu> - * toplev.c (lang_options): Add -I for GNAT. - * gcc.c (default_compilers): Pass -I to gnat1. + * Makefile.in (compare*): Handle losing behavior from 4.4bsd make. -Fri Apr 21 07:58:06 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com> - * tree.c (integer_all_onesp): Test to size of mode, not TYPE_PRECISION. + * alpha.c (REG_RA, alpha_return_addr, output_epilog): + Fix merge problems. - * toplev.c (main): Turn on -fforce-mem for -O2. + * alpha.c (override_options): Don't know about scheduling for EV6. + * alpha.md (ev5 function units): Don't overload as ev6. - * fold-const.c ([lr]rotate_double): Replace; old versions were bogus. - (fold, shift and rotate): Don't call tree_int_cst_sgn on non-integer. - (fold, case LROTATE_EXPR): If constant count, convert to RROTATE_EXPR. - (fold, case RROTATE_EXPR): Sometimes commute logical op with rotate. - Delete pair of counteracting shifts. + * alpha.c (alpha_adjust_cost): Simplify. Fix typo in ev5 mult case. + * alpha.md (define_attr type): Add mvi. + (ev5_e0): Define sceduling parameters for it. + (TARGET_MAX insns): Type is mvi not shift. - * combine.c (simplify_logical, case AND): If still an AND, get - new values for op0 and op1. +Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com> -Thu Apr 20 17:52:10 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug. - * sh.c: Completely rewritten. - * sh.h (FAST_BIT, CONSTLEN_2_BIT, CONSTLEN_3_BIT, CONSTLEN_0_BIT, - TARGET_FASTCODE, TARGET_CLEN3, TARGET_CLEN0, TARGET_OPTIONS): Delete. - (TARGET_SWITCHES): Delete -mclen3 and -mclen0 options. - (TARGET_DEFAULT): Is zero. - (OVERRIDE_OPTIONS): Delete code to set max_count_si and max_count_hi. - (SPECIAL_REG): New macro. - (HARD_REGNO_MODE_OK): Allow any mode in any general register. - (GO_IF_LEGITIMATE_ADDRESS): Delete constant + reg address case. - (MOVE_RATIO): Define to 2 when TARGET_SMALLCODE. - (max_si, max_hi, max_count_si, max_count_hi): Delete. - * sh.md: Delete spurious constraints from all define_expands. - (rotlsi3_1): Set T reg instead of clobbering it. - (ashrsi3): Use expand_ashiftrt instead of gen_shifty_op. - (movsi_i, movhi_i, movsf_i): Add conditions to reject patterns - needing a reload. - (movdi-2, movdf_k): Correct conditions to reject patterns needing - a reload. - ([inverse_]branch_{true,false}): Pass operands to output_branch. - (jump): Delete unnecessary braces. - (call, call_value): Don't use expand_acall. Force operand0 into - a register. +Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk> -Thu Apr 20 12:57:16 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * cstamp-h, auto-config.h: Delete. - * function.c (assign_parms): Use TREE_ADDRESSABLE rather than - TYPE_NEEDS_CONSTRUCTING to decide whether a parameter needs to be - passed by invisible reference. +Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com) - * calls.c (expand_call): Ditto. Abort if we try to pre-evaluate a - parameter of TREE_ADDRESSABLE type. + * version.c: Bump for snapshot. -Wed Apr 19 17:50:24 1995 Torbjorn Granlund <tege@cygnus.com> +Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com) - * pa.h (TARGET_SWITCHES): Fix typo. + * cccp.c: Fix typo brought over in merge. -Tue Apr 18 18:06:03 1995 Per Bothner <bothner@kalessin.cygnus.com> + * Merge in changes from gcc-2.8. - * expr.c (store_constructor): Use BYTES_BIG_ENDIAN rather - than BITS_BIG_ENDIAN to layout bits within bitstring. - * tree.c (get_set_constructor_bytes): Likewise. +Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be> -Tue Apr 18 17:22:46 1995 Per Bothner (bothner@wombat.gnu.ai.mit.edu) + * m68k.c: Include tree.h for dwarf2out_cfi_label. - * config/m68k/{x-hp320,x-hp320g} (FIXPROTO_DEFINES): - Define _HPUX_SOURCE so putenv and other functions get seen. + * gcc.c (process_command): Do not take address of function fatal when + calling lang_specific_driver. -Tue Apr 18 03:57:35 1995 Michael Meissner (meissner@cygnus.com) +Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu> - * varasm.c (weak_decls): Make this a unique structure, instead of - a tree structure. - (handle_pragma_weak): Don't redeclare asm_out_file. Use new weak - structure to copy name and value to. Protect name and value by - copying them to the permanent obstack. - (declare_weak): Call handle_pragma_weak, instead of duplicating - the code. - (finish_weak): Rewrite to use new weak symbols list structure. + * config/i386/cygwin32.h (DWARF2_UNWIND): Exception handling + doesn't work with it yet, so set it to 0. + * config/i386/xm-cygwin32.h (NO_SYS_SIGLIST): Define. - * c-pragma.h: New file to define the c-pragma.c interfaces. - * c-pragma.c: Include it. - * varasm.c: Include it. - * c-lex.c: Include it. - * cp/lex.c: Include it. +Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch> - * varasm.c (handle_pragma_weak): No longer pass output file - stream, since weak pragmas are delayed until the end of the - compilation. - * c-pragma.c (handle_pragma_token): Call handle_pragma_weak - without file stream argument. + * cse.c (cse_insn): Check for invalid entries when taking references. - * Makefile.in (varasm.o, c-lex.o, c-pragma.o): Add dependencies on - c-pragma.h. +Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - * config/rs6000.md (movdf): If -msoft-float, do not generate - memory to memory references, like is already done for the - -mhard-float case. Remove an extra test for -mhard-float inside - of -mhard-float code. + * loop.c (invariant_p): Don't test flag_rerun_loop_opt. + (loop_optimize, scan_loop, strength_reduce): New argument unroll_p. + * toplev.c (rest_of_compilation): Pass it. Remove code to + save / clear / restore flag_unroll_{,all_}loops. -Tue Apr 18 06:19:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE> - * fold-const.c (size_int): Arg is unsigned HOST_WIDE_INT. - * tree.h (size_int): Likewise. + * i386.c (notice_update_cc): Remove bogus pentium GCC code. -Mon Apr 17 23:36:57 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com) - * rs6000/aix41.h: Restore March 11th changes, plus - (ASM_OUTPUT_EXTERNAL): Do add [DS] or [RW], just don't emit - anything. - * rs6000/aix3newas.h (ASM_OUTPUT_EXTERNAL): Ditto. + * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR. -Mon Apr 17 15:58:52 1995 Per Bothner <bothner@kalessin.cygnus.com> +Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com> - * config/mips/x-iris (FIXPROTO_DEFINES): Add -D_LANGUAGE_C_PLUS_PLUS. - * config/mips/x-iris6: Likewise. + * except.c (get_dynamic_handler_chain): Only make the call once per + function. - * cpplib.c: Rename make_definition to cpp_define. - * cpplib.h (cpp_define): New declaration. + * except.c (expand_end_all_catch): Fix for sjlj exceptions. - * cpplib.c (special_symbol): For T_SPECLINE, calculate __LINE__ - in enclosing file buffer, not current buffer (if macro expanding). - (cpp_get_token): Fix thinko (in code for chopping unneeded space). +Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk> -Mon Apr 17 11:36:07 1995 Jim Wilson <wilson@cygnus.com> + * sh.c (final_prescan_insn): Use local label prefix + when emitting .uses pseudo-ops. - * abi64.h (CPP_SPECS): Define and use _ABI64 instead of - _MIPS_SIM_ABI64. - (SETUP_INCOMING_VARARGS): Set MEM_IN_STRUCT_P if big endian target. - * iris6.h (ASM_IDENTIFY_GCC, ASM_IDENTIFY_LANGUAGE): Define. +Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com> - * combine.c (get_last_value): Ignore BARRIER when scanning backwards. - (move_deaths): New variables before_dead and after_dead. Set them - to instructions that have valid INSN_CUID values and use in test. + * libgcc2.c (__throw): Use __builtin_return_addr instead of __eh_pc. + * except.c: Lose outer_context_label_stack. + (expand_eh_region_end): Rethrow from outer_context here. + (expand_fixup_region_end): Let expand_eh_region_end do the rethrow. + (expand_internal_throw): Take no args. + (expand_internal_throw_indirect): Lose. + (expand_leftover_cleanups, expand_start_all_catch): Use expand_rethrow. + (expand_start_all_catch): Start a rethrow region. + (expand_end_all_catch): End it. + (expand_rethrow): New fn. + * except.h: Reflect above changes. + * flow.c: Revert change of Nov 27. - * combine.c (subst_prev_insn): New variable. - (try_combine): Set it. - (get_last_value): Use it. +Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com) - * reload.c (find_reloads): Recompute reg_equiv_address from - reg_equiv_memory_loc before using it. - (find_reloads_toplev, make_memloc): Likewise. + * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer. - * expr.c (expand_builtin, case BUILT_IN_MEMCPY): Call force_operand - on dest_rtx before returning it. +Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com> - * function.c (instantiate_decls): Use temporary allocation if - DECL_DEFER_OUTPUT is set. + * except.c (expand_fixup_region_end): New fn. + (expand_fixup_region_start): Likewise. + (expand_eh_region_start_tree): Store cleanup into finalization here. + * stmt.c (expand_cleanups): Use them to protect fixups. -Sat Apr 15 23:19:03 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com> - * aoutos.h (ASM_OUTPUT_DEF): Define instead of SET_ASM_OP. - * sparc/sunos4.h (ASM_OUTPUT_DEF): Ditto. + * mips/mips.md (muldi3_r4000): Broaden the output template + and attribute assignments to handle three operand dmult; + rename to muldi3_internal2. + (muldi3): Call the new muldi3_internal2 for R4000, and + any GENERATE_MULT3 chip. - * varasm.c (weak_finish): Don't handle aliases. - (declare_weak): Ditto. - (assemble_alias): Handle aliases. +Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com> - * c-common.c (enum attrs): Add A_ALIAS. - (init_attributes): Ditto. - (decl_attributes): Ditto. + * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start. -Sat Apr 15 13:26:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com> - * calls.c (expand_call): Call preserve_temp_slots on temps - made for BLKmode args returned in registers. + * unroll.c (find_splittable_givs): Remove last change. Handle givs + with a dest_reg that was created by loop. - * pa.c (override_options): Fix typo. +Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu> -Sat Apr 15 12:11:46 1995 Brendan Kehoe <brendan@cygnus.com> + * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch. - * alpha/alpha.c (output_epilog): Initialize fp_offset to 0, and - make sure it's non-zero before we try to use it to restore the - frame pointer. + * rs6000/aix41.h (ASM_CPU_SPEC): Define. -Fri Apr 14 19:45:05 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com) - * ginclude/va-{clipper,pa,pyr,sparc,spur}.h (va_arg): Reorganize - to avoid BIND_EXPRs and COND_EXPRs of aggregate type. + * configure.in: Fix NCR entries. -Fri Apr 14 19:31:14 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> +Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com) - * config/svr4.h (ASM_OUTPUT_SECTION_NAME): Make the section - read-only executable "ax" if DECL is a FUNCTION_DECL; read-only - "a" (previously the case always) if DECL is TREE_READONLY; - otherwise writable "aw". + * flow.c (find_basic_blocks): Handle cfg issues for rethrows and + nested exceptions correctly. -Fri Apr 14 18:49:11 1995 Linus Torvalds <Linus.Torvalds@cs.Helsinki.FI> + * unroll.c (find_splittable_givs): Don't split givs with a dest_reg + that was created by loop. - * alpha.md (probe_stack): Probe with write, not read. - (allocate_stack): Update and correct stack probe code. - * alpha.c (output_prolog): Changed stack probe at function entry. +Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com> -Fri Apr 14 18:42:34 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR. - * jump.c (delete_insn): When deleting after label, delete - a BARRIER as well. + * except.c (expand_start_all_catch): One more do_pending_stack_adjust. -Fri Apr 14 14:40:48 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com> - * toplev.c (compile_file): Call weak_finish. + * rs6000.c (SMALL_DATA_REG): Register to use for small data relocs. + (print_operand): Use SMALL_DATA_REG for the register involved in + small data relocations. + (print_operand_address): Ditto. - * c-common.c (enum attrs): Add A_WEAK. - (init_attributes): Ditto. - (decl_attributes): Support __attribute__ ((weak)) by - calling declare_weak. + * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if + -dynamic linker is not used. - * sparc/sunos4.h (HANDLE_PRAGMA_WEAK, WEAK_ASM_OP, SET_ASM_OP): - Define to support weak symbols with -fgnu-linker. - * aoutos.h: Ditto. + * rs6000.md (call insns): For local calls, use @local suffix under + System V. Don't use @plt under Solaris. - * varasm.c (handle_pragma_weak): Add declared weak symbols to - weak_decls rather than emitting them immediately. - (declare_weak): Add the indicated declaration to weak_decls. - (weak_finish): Emit .weak directives for any weak symbols. + * rs6000.c (output_function_profiler): Put label address in r0, and + store LR in 4(sp) for System V/eabi. - * libgcc2.c: The C++ free-store management functions are weak. + * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16 + byte boundary, and maintain stack backchain. -Fri Apr 14 13:00:29 1995 Michael Meissner (meissner@cygnus.com) +Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com> - * rs6000/rs6000.c (output_prolog): For eabi systems, emit main's - call to __eabi before setting up the minimal TOC used with the - -mrelocatable support. + * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2, + fix_truncsfdi2): Change *. - * rs6000/eabi.h (INVOKE__main): Don't define any more, - output_prolog will emit the call. +Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com> -Fri Apr 14 09:09:03 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * toplev.c (main): Complain about -gdwarfn. - * alpha.c (call_operand): Any reg is valid for NT. - (output_prologue): Never need GP for Windows/NT. - Set SYMBOL_REF_FLAG in current function decl. +Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com> -Thu Apr 13 20:19:30 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * dwarfout.c (output_type): If finalizing, write out nested types + of types we've already written. - * alpha/xm-alpha.h (HAVE_VPRINTF): Define. - (HAVE_PUTENV): Define. - (POSIX): Define. +Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@cygnus.com> -Thu Apr 13 19:57:44 1995 Doug Evans <dje@cygnus.com> + (patches originally from Geoffrey Keating) + * rs6000.c (function_arg): Excess floating point arguments don't + go into GPR registers after exhausting FP registers under the + System V.4 ABI. + (function_arg_partial_nregs): Ditto. - * emit-rtl.c (gen_sequence): If the insn has a non-null - CALL_INSN_FUNCTION_USAGE field, output it as a sequence so the - latter isn't discarded. + * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt + suffix to calls. - * c-parse.in: Update expected conflict count. +Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com> -Thu Apr 13 08:10:20 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * integrate.c (output_inline_function): Just unset DECL_INLINE. - * configure.bat: Arg 2 is which machine (i386 or alpha). - * configure (alpha-*-winnt3*): New configuration. - * alpha.c: Don't #include stamp.h for WINNT. - (input_operand, case CONST): Allow ptr_mode and DImode. - * alpha.h (WINDOWS_NT): Provide default definition. - (ASM_OUTPUT_INT): Use output_addr_const. - (ASM_OUTPUT_ADDR_DIFF_ELT): Use .long for NT. - * alpha.md (calll, tablejump, movsi): New variants for NT. - * alpha/winnt.h, alpha/xm-winnt.h, alpha/x-winnt: New files. - * alpha/config-nt.bat, alpha/config-nt.sed: New files. - * i386/config-nt.bat: Add Ada fragments to Makefile. - * i386/config-nt.sed: Adjust for deletion of config.run in Makefile.in - Change version to 2.6.3. - Add some missing tabs. - * winnt/winnt.h (TARGET_MEM_FUNCTIONS): Define. - (LINK_SPEC): Delete "align:0x1000". - * winnt/xm-winnt.h (OBJECT_SUFFIX): Define. - * ginclude/stdarg.h, ginclude/varargs.h: Clean up code that - defines *DEFINED* symbols. +Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov> - * configure (a29k-*-sym1*): Same as a29k-*-bsd*. - * a29k.h (ASM_OUTPUT_SECTION_NAME): New macro. + * dwarf2out.c (outout_call_frame_info): Ensure that the info has + proper alignment. -Wed Apr 12 14:36:03 1995 Jim Wilson <wilson@cygnus.com> + * libgcc2.c (__throw): Initialize HANDLER. - * dbxout.c (dbxout_type_fields): Correct arguments to CHARS macro - in flag_minimal_debug case. - (dbxout_symbol_name): Use DECL_ASSEMBLER_NAME unconditionally. - * sdbout.c (sdbout_record_type_name): Correct indentation. - (sdbout_symbol): Use DECL_ASSEMBLER_NAME unconditionally. - (sdbout_one_type): Likewise. +Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com> -Tue Apr 11 13:24:13 1995 Per Bothner <bothner@kalessin.cygnus.com> + * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2, + fix_truncsfdi2): Change *X to ?*X. - * fix-header.c (main): Fix loop over required_functions_list. - (fatal): Also print inc_filename. +Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com) - * cpplib.c (cpp_push_buffer): Added missing initializatuon of buf. - (cpp_file_buffer): Compare against CPP_NULL_BUFFER, not NULL. - (finclude): No longer call cpp_push_buffer - let callers do it. - (do_include): Add call to cpp_push_buffer. - (push_parse_file): Call cpp_push_buffer early, so initial - defines can use file and line from a valid cpp_buffer. - (nreverse_pending): New function. - (push_parse_file): Use nreverse_pending. - (push_parse_file): For -include files, just push them in reverse - order - we don't need to scan them now. - (cpp_error_from_errno, cpp_perror_with_name): Don't emit extra '\n'. + * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling. -Tue Apr 11 13:36:44 1995 Jim Wilson <wilson@cygnus.com> - - * configure (mips-dec-mach3): Add. - - * sh.c (shiftby_operand): Delete. - * sh.h (TARGET_SWITCHES): -m3 and -m3l also set SH2_BIT. - (OVERRIDE_OPTIONS): Don't add CPU_SH2 to CPU_SH3 when TARGET_SH3. - * sh.md (ashlsi3): Use nonmemory_operand as a predicate instead of - shiftby_operand. Don't use shiftby_operand in the output statement. +Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com) + + * crtstuff.c (do_global_dtors_aux): Handle multiple calls better. + +Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>: + + * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement. + +Mon Nov 24 22:41:55 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.c (get_dynamic_handler_chain): Build up a FUNCTION_DECL. + * optabs.c (init_optabs): Lose get_dynamic_handler_chain_libfunc. + * expr.h: Likewise. + +Sat Nov 22 18:58:20 1997 Jeffrey A Law (law@cygnus.com) + + * pa-hpux10.h (NEW_HP_ASSEMBLER): Define. + * pa.h (LEGITIMATE_CONSTANT_P): Reject LABEL_REFs if not using + gas and not using the new HP assembler. + +Fri Nov 21 15:20:05 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (program_transform_cross_name): Clean up "-e" confusion. + (GCC_INSTALL_NAME, GCC_CROSS_NAME): Likewise. + +Fri Nov 21 19:37:40 1997 Andrew Cagney <cagney@b1.cygnus.com> + + * config/mips/elf64.h (MULTILIB_DEFAULTS): Test for + TARGET_ENDIAN_DEFAULT == zero instead of testing for macro + definition. + +Fri Nov 21 12:49:56 1997 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de> + + * stmt.c (expand_end_bindings): Allow jump into block with cleanups. + +Fri Nov 21 12:18:51 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.h: Add outer_context_label_stack. + * except.c: Likewise. + (expand_start_all_catch): Push the outer_context for the try block + onto outer_context_label_stack. + (expand_end_all_catch): Use it and pop it. + +Fri Nov 21 10:13:11 1997 Robert Lipe (robertl@dgii.com) + + * i386/sco5.h (HAVE_ATEXIT): Revert last change. + +Thu Nov 20 16:11:50 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_emit_set_const_1): Handle narrow hosts better. + +Thu Nov 20 16:11:50 1997 Klaus Kaempf <kkaempf@progis.de> + + * alpha/vms.h (ASM_OUTPUT_ADDR_VEC_ELT): Add an L for the local label + to correspond with the change to ASM_GENERATE_INTERNAL_LABEL. + +Thu Nov 20 14:42:15 1997 Jason Merrill <jason@yorick.cygnus.com> + + * Makefile.in (LIB2FUNCS): Remove C++ memory management support. + * libgcc2.c: Remove __builtin_new, __builtin_vec_new, set_new_handler, + __builtin_delete, and __builtin_vec_delete. + + * except.c (output_exception_table): Don't bother with + __EXCEPTION_END__. + +Thu Nov 20 16:11:50 1997 Jeffrey A Law (law@cygnus.com) + + * pa.md (pre_stwm, post_stwm, pre_ldwm, post_ldwm): Base register + is an in/out operand. + (zero extended variants of stwm/stwm patterns): Similarly. + + * mips/x-iris (FIXPROTO_DEFINES): Add -D_SGI_SOURCE. + +Thu Nov 20 13:19:32 1997 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2out.c (ASM_OUTPUT_DWARF_OFFSET4): Rename from VALUE4. + Use assemble_name. + (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Use assemble_name. + (output_call_frame_info): Emit a \n after using it. + +Thu Nov 20 00:38:46 1997 Dave Love <d.love@dl.ac.uk> + + * configure.in: Add AC_ARG_ENABLE for Haifa as documentation. + +Wed Nov 19 12:03:04 1997 Philippe De Muyter <phdm@macqel.be> + + * dwarf2out.c (CIE_LENGTH_LABEL, FDE_LENGTH_LABEL): New macros. + (ASM_OUTPUT_DWARF_VALUE4): New macro. + (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Define if SET_ASM_OP is + defined. + (output_call_frame_info): Do not output forward label differences + if ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL is defined. + * m68k/mot3300.h (SET_ASM_OP): Define when not using gas. + +Tue Nov 18 23:03:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.md (attribute "type"): Add nil. + (movsi_ie): y/y alternative is type nil. + (movsf_ie): Replace ry/yr/X alternative by r/y/X , y/r/X and y/y/X + alternatives. + (movsf_ie+1): Delete. + +Tue Nov 18 15:39:59 1997 Jim Wilson <wilson@cygnus.com> + + * mips/mips.c (save_restore_insns): If gp_offset or fp_offset are + large_int, emit two insns instead of one splitable insn. + * dwarf2out.c (dwarf2out_frame_debug): When set cfa_store_offset + from cfa_temp_value, use cfa_offset. Add assert checking that + cfa_reg is SP. + +Mon Nov 17 15:35:38 1997 Tom Tromey <tromey@cygnus.com> + + * cccp.c (deps_output): Properly quote file names for make. + +Mon Nov 17 13:21:40 1997 Jeffrey A Law (law@cygnus.com) + + * t-h8300 (MULTILIB_EXCEPTIONS): Define. + +Fri Nov 7 15:33:11 1997 Robert Lipe (robertl@dgii.com) + + * i386/sco5.h (HAVE_ATEXIT): Delete definition. + +Sun Nov 16 23:52:48 1997 Jeffrey A Law (law@cygnus.com) + + * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl + return. + (cse_end_of_basic_block): Similarly. + +Sun Nov 16 23:01:40 1997 J. Kean Johnston <jkj@sco.com> + + * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define. + (SELECT_RTX_SECTION): Define. + (LIBGCC_SPEC, LIB_SPEC): Do the right thing for PIC. + +Sun Nov 16 22:47:03 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (compare, compare-lean): Define $stage for each + shell command. + (gnucompare, gnucompare-lean): Likewise. + +Sun Nov 16 22:02:16 1997 Richard Henderson (rth@cygnus.com) + + * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix offsets. + + * alpha.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add an L for the local label + to correspond with the change to ASM_GENERATE_INTERNAL_LABEL. + +Fri Nov 14 09:09:20 1997 Fred Fish (fnf@cygnus.com) + + * dwarfout.c (byte_size_attribute): Add local var upper_bound + and add case to handle STRING_TYPE. + * dwarfout.c (output_string_type_die): Fix code to generate + correct string length attribute for fixed length strings. + Still needs support for varying length strings. + +Fri Nov 14 08:46:56 1997 Jeffrey A Law (law@cygnus.com) + + * toplev.c (get_run_time): Do something sensible for cygwin32. + +Fri Nov 14 07:24:20 1997 Richard Henderson <rth@cygnus.com> + + * expr.c (expand_builtin_setjmp): Set + current_function_has_nonlocal_label. + * stupid.c (stupid_life_analysis): If has_nonlocal_label, kill + call-saved registers across calls. + + * alpha.md (exception_receiver): Remove. + (nonlocal_goto_receiver_osf): New + (nonlocal_goto_receiver_vms): Renamed from nonlocal_goto_receiver. + (nonlocal_goto_receiver): New, select _osf or _vms. + + * alpha.c (output_prolog [*]): Prefix entry labels with '$' to + keep them from being propogated to the object file. + (alpha_write_linkage): Likewise. + * alpha.md (call_vms): Likewise. + (call_value_vms): Likewise. + (unnamed osf call insns): Likewise. + + * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Don't omit L from local label. + (ASM_GENERATE_INTERNAL_LABEL): Likewise. + + * alpha.c (call_operand): Any reg is valid for WinNT. + * alpha.md (call_nt, call_value_nt): Don't force address into $27. + (anon nt calls): Add 'R' alternative. + * alpha/win-nt.h (TRAMPOLINE_TEMPLATE, TRAMPOLINE_SIZE, + INITIALIZE_TRAMPOLINE): Handle lack of original $27 and 32-bit ptrs. + +Fri Nov 14 06:59:33 1997 Jeffrey A Law (law@cygnus.com) + + * calls.c (expand_call): Handle pcc_struct_value correctly for C++. + + * i386/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Delete defines. + * i386/xm-mingw32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise. + * rs6000/xm-cygwin32.h (HAVE_FILE_H, HAVE_RUSAGE): Likewise. + +Thu Nov 13 20:37:33 1997 Michael Meissner <meissner@tiktok.cygnus.com> + + * reload1.c (new_spill_reg): Improve fixed or forbidden register + spill error message. + +Thu Nov 13 20:29:08 1997 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * prefix.c: Use stdarg.h only ifdef __STDC__. Otherwise, + use varargs.h. Wrap header with <>, not "". + +Thu Nov 13 20:21:17 1997 Jeffrey A Law (law@cygnus.com) + + * integrate.c (save_for_inline_copying): Add return value from + savealloc. + +Thu Nov 13 19:12:33 1997 Brendan Kehoe <brendan@cygnus.com> + + * fixincludes: Be a little more restrictive on what we will + substitute to replace definitions of MAXINT for HPUX. + +Thu Nov 13 18:41:02 1997 Michael Meissner <meissner@cygnus.com> + + * dbxout.c (dbxout_symbol_location): Don't assume that variables + whose address is the stack or argument pointers are indirect + pointers. + +1997-11-13 Paul Eggert <eggert@twinsun.com> + + * cccp.c, cpplib.c (compare_defs): + Don't complain about arg name respellings unless pedantic. + * cpplib.c (compare_defs): Accept pfile as new arg. + All callers changed. + +Thu Nov 13 23:33:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * fold-const.c (fold_truthop): Fix bug in last change. + +1997-11-13 Paul Eggert <eggert@twinsun.com> + + Fix some confusion with IEEE minus zero. + + * real.h (REAL_VALUES_IDENTICAL): New macro. + + * expr.c (is_zeros_p): Don't consider -0.0 to be all zeros. + * fold-const.c (operand_equal_p): Don't consider -0.0 to be + identical to 0.0. + * tree.c (simple_cst_equal): Don't consider -0.0 to have the + same tree structure as 0.0. + + * varasm.c (immed_real_const_1): Use new REAL_VALUES_IDENTICAL + macro instead of doing it by hand. + +Thu Nov 13 16:56:14 1997 Jeffrey A Law (law@cygnus.com) + + * v850/lib1funcs.asm: Minor whitespace changes. + * v850.c: Fix minor formatting problems in many places. + (construct_restore_jr, construct_save_jarl): Remove unwanted aborts. + +Thu Nov 13 12:53:44 1997 Jim Wilson <wilson@cygnus.com> + + * mips.h (GO_IF_LEGITIMATE_ADDRESS): Delete code swapping xplus0 and + xplus1 when xplus0 is not a register. + +Thu Nov 13 11:41:42 1997 Jeffrey A Law (law@cygnus.com) + + * flow.c (find_basic_blocks): During marking phase, if we encounter + an insn with a REG_LABEL note, make the target block live and + create an edge from the insn to the target block. Do not make + edges from all blocks to the target block. + + * m68k/x-next (OTHER_FIXINCLUDES_DIRS): Include /NextDeveloper/Headers. + + * confiugre.in: Tweak NCR entries. + * configure: Rebuilt. + +Thu Nov 13 11:07:41 1997 Michael Meissner <meissner@cygnus.com> + + * rs6000.c (num_insns_constant): Use REAL_VALUE_FROM_CONST_DOUBLE to + pick apart floating point values, instead of using CONST_DOUBLE_LOW + and CONST_DOUBLE_HIGH. + + * rs6000.md (define_splits for DF constants): Use the appropriate + REAL_VALUE_* interface to pick apart DF floating point constants in + a machine independent fashion. + +Thu Nov 13 00:06:58 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * fold-const.c (fold_truthop): When changing a one-bit comparison + against zero into a comparison against mask, do a proper sign + extension. + +Wed Nov 12 09:37:01 1997 Jeffrey A Law (law@cygnus.com) + + * except.c: Do not include "assert.h". + (save_eh_status): Turn asserts into conditional aborts. + (restore_eh_status, scan_region): Likewise. + * dwarfout.c: Do not include "assert.h". + (bit_offset_attribute): Turn asserts into conditional aborts. + (bit_size_attribute, output_inlined_enumeration_type_die): Likewise. + (output_inlined_structure_type_die): Likewise. + (output_inlined_union_type_die): Likewise + (output_tagged_type_instantiation): Likewise. + (dwarfout_file_scope_decl): Likewise. + * dwarf2out.c: Do not include "assert.h" + (expand_builtin_dwarf_reg_size): Turn asserts into conditional aborts. + (reg_save, initial_return_save, dwarf2out_frame_debug): Likewise. + (add_child_die, modified_type_die, add_bit_offset_attribute): Likewise. + (add_bit_size_attribute, scope_die_for): Likewise. + (output_pending_types_for_scope): Likewise. + (get_inlined_enumeration_type_die): Likewise. + (get_inlined_structure_type_die): Likewise. + (get_inlined_union_type_die, gen_subprogram_die): Likewise. + (gen_tagged_type_instantiation_die): Likewise. + + * flow.c (find_basic_blocks): Refine further to get a more correct + cfg, especially in the presense of exception handling, computed + gotos, and other non-trivial cases. Call abort if an inaccuracy + is detected in the cfg. + +Tue Nov 11 21:47:27 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * glimits.h (SHRT_MIN): Define in a way suitable for 16 bit hosts. + + * c-lex.c (whitespace_cr, skip_white_space_on_line): New functions. + (skip_white_space): Use whitespace_cr. + (check_newline): Handle whitespace more consistently. + +Tue Nov 11 16:25:49 1997 Jim Wilson <wilson@cygnus.com> + + * i386/cygwin32.h (CPP_PREDEFINES): Delete -DPOSIX. + * i386/xm-cygwin32.h (POSIX): Define. + +Mon Nov 10 20:53:11 1997 Gavin Koch <gavin@cygnus.com> + + * config/mips/mips.h (MASK_DEBUG_H): Set to zero, so this bit + is available elsewhere. + +Mon Nov 10 16:21:58 1997 Doug Evans <devans@canuck.cygnus.com> + + * sparc/sparc.md (mov[sdt]f_const_insn): Fix condition to match + what the instruction can handle. + +Mon Nov 10 03:02:19 1997 Jason Merrill <jason@yorick.cygnus.com> + + * stmt.c (expand_decl_cleanup_no_eh): New fn. + + * except.c (expand_leftover_cleanups): do_pending_stack_adjust. + +Mon Nov 10 00:05:56 1997 Jeffrey A Law (law@cygnus.com) + + * alias.c (MAX_ALIAS_LOOP_PASSES): Define. + (init_alias_analysis): Break out of loops after MAX_ALIAS_LOOP_PASSES. + +Sun Nov 9 14:34:47 1997 David Edelsohn <edelsohn@mhpcc.edu> + + * rs6000.md (lshrdi3_power): Delete '&' from first alternative and + swap instruction order. + +Sun Nov 9 02:07:16 1997 Jeffrey A Law (law@cygnus.com) + + * fixinc.svr4 (__STDC__): Add another case. + +Sun Nov 9 02:00:29 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * a29k.h (ELIGIBLE_FOR_EPILOGUE_DELAY): Avoid loads from varying + addresses in the epilogue delay slot. + +Sun Nov 9 01:40:40 1997 Manfred Hollstein (manfred@s-direktnet.de) + + * m88k/dgux.h (ASM_CPU_SPEC): Reformatted to suppress wrong whitespace + in generated `specs' file. + +Sun Nov 9 01:37:11 1997 Jim Wilson (wilson@cygnus.com) + + * flags.h (flag_rerun_loop_opt): Declare. + * loop.c (invariant_p, case LABEL_REF): Check flag_rerun_loop_opt. + * toplev.c (flag_rerum_loop_opt): Delete static. + +Sat Nov 8 18:20:21 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + Bring over from FSF: + + Thu Oct 30 12:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * va-sh.h (__va_arg_sh1): Define. + (va_arg): Use it. + SH3E doesn't use any integer registers for subsequent arguments + once a non-float value was passed in the stack. + * sh.c (machine_dependent_reorg): If optimizing, put explicit + alignment in front label for ADDR_DIFF_VEC. + * sh.h (PASS_IN_REG_P): Fix SH3E case. + (ADJUST_INSN_LENGTH): If not optimizing, add two extra bytes length. + + Tue Oct 28 15:06:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Undefine before including + svr4.h. + + Mon Oct 27 16:11:52 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh.c (machine_dependent_reorg): When -flag_delayed_branches, + put an use_sfunc_addr before each sfunc. + * sh.md (use_sfunc_addr, dummy_jump): New insns. + (casesi): For TARGET_SH2, emit a dummy_jump after LAB. + + Tue Oct 21 07:12:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sh/elf.h (PREFERRED_DEBUGGING_TYPE): Don't redefine. + +Fri Nov 7 10:22:24 1997 Jason Merrill <jason@yorick.cygnus.com> + + * frame.c (add_fdes, count_fdes): Go back to checking pc_begin for + linked once FDEs. + +Wed Nov 5 14:26:05 1997 Jeffrey A Law (law@cygnus.com) + + * alias.c (find_base_value): Only return the known base value for + pseudo registers. + +Wed Nov 5 11:27:14 1997 Jim Wilson <wilson@cygnus.com> + + * i386.c (load_pic_register): Call prologue_get_pc_and_set_got. + * i386.md (prologue_set_got, prologue_get_pc): Add UNSPEC_VOLATILE + to pattern. + (prologue_get_pc_and_set_got): New pattern. + +Tue Nov 4 20:36:50 1997 Richard Henderson (rth@cygnus.com) + + * alpha.c (summarize_insn): Handle ASM_OPERANDS. Don't recurse + for SUBREG, just fall through. + + * alpha.c (alpha_handle_trap_shadows): Init sum.defd to zero. + + * alpha.md (attr trap): Make TRAP_YES non-zero for sanity's sake. + +Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com) + + * fixincludes: Fix "hypot" prototype in NeXT math.h. + + * Makefile.in (USE_ALLOCA): Always include alloca.o. + (USE_HOST_ALLOCA): Likewise. + + * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES + and LABEL_REFS fields. + * rtl.h (LABEL_REFS): Update. + +Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com> + + * combine.c (try_combine): When setting elim_i2, check whether newi2pat + sets i2dest. When calling distribute_notes for i3dest_killed, pass + elim_i2 and elim_i1. When setting elim_i1, check if newi2pat + sets i1dest. + + * mips.md (insv, extzv, extv): Add change_address call. + (movsi_ulw, movsi_usw): Change QImode to BLKmode in pattern. + + * integrate.c (save_for_inline_copying): Copy parm_reg_stack_loc. + + * reload.c (find_reloads, case 'm' and 'o'): Reject HIGH constants. + + * mips.c (mips_expand_epilogue): Emit blockage insn before call to + save_restore_insns if no FP and GP will be restored. + + * dwarf2out.c (expand_builtin_dwarf_reg_size): New variable mode. + Convert CCmode to word_mode before calling GET_MODE_SIZE. + + * acconfig.h (HAVE_INTTYPES_H): Undef. + * configure.in (inttypes.h): Check for conflicts between sys/types.h + and inttypes.h, and verify that intmax_t is defined. + * config/mips/x-iris (CC, OPT, OLDCC): Comment out. + * config/mips/x-iris3: Likewise. + +Tue Nov 4 16:07:15 1997 Jeffrey A Law (law@cygnus.com) + + * alias.c (find_base_value): When copying arguments, return the + tenative value for a hard register. + +Tue Nov 4 13:40:35 1997 Doug Evans <devans@canuck.cygnus.com> + + * c-lex.c (MULTIBYTE_CHARS): #undef if cross compiling. + (yylex): Record wide strings using target endianness, not host. + +Tue Nov 4 13:13:12 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200.h (ASM_OUTPUT_BSS): Delete. + (ASM_OUTPUT_ALIGNED_BSS): New macro + * mn10300.h (ASM_OUTPUT_BSS): Delete. + (ASM_OUTPUT_ALIGNED_BSS): New macro. + * v850.h (ASM_OUTPUT_BSS): Delete. + (ASM_OUTPUT_ALIGNED_BSS): New macro. + +Tue Nov 4 00:55:48 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * profile.c (branch_prob): Insert an insn after a NOTE_INSN_SETJMP. + +Mon Nov 3 14:36:50 1997 Jeffrey A Law (law@cygnus.com) + + * configure.in (sco5): Use cpio to install header files. + +Sun Nov 2 23:31:43 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * aclocal.m4 (conftestdata_from, conftestdata_to): Names shortened to + 14 char length. + * configure: Rebuild. + +Sun Nov 2 19:44:00 1997 Robert Lipe (robertl@dgii.com) + + * i386/sco5.h: enable -gstabs once again. + +Sun Nov 2 19:27:21 1997 Jeffrey A Law (law@cygnus.com) + + * arm.c (output_move_double): Allocate 3 entries in otherops array. + +Sat Nov 1 21:43:00 1997 Mike Stump (mrs@wrs.com) + + * except.c (expand_ex_region_start_for_decl): Emit EH_REGION_BEG + notes for sjlj exceptions too. + (expand_eh_region_end): Similarly for EH_REGION_END notes. + (exception_optimize): Optimize EH regions for sjlj exceptions too. + * final.c (final_scan_insn): Don't output labels for EH REGION + notes if doing sjlj exceptions. + +Sat Nov 1 19:15:28 1997 Jeffrey A Law (law@cygnus.com) + + * alias.c (init_alias_analysis): Handle -fno-alias-check when + optimizing correctly. + + * expr.c (expand_builtin_setjmp): Don't emit a SETJMP note + or set current_function_calls_setjmp anymore. + + * flow.c (find_basic_blocks): If we delete the label for an + exception handler, remove it from the EH label list and remove + the EH_BEGIN/EH_END notes for that EH region. + +Sat Nov 1 16:44:49 1997 Jason Merrill (jason@cygnus.com) + + * flow.c (find_basic_blocks): Generate correct flow control + information when exception handling notes are present. + +Sat Nov 1 13:42:19 1997 Jeffrey A Law (law@cygnus.com) + + * dwarf2out.c (output_call_frame_info): Fix length argument + to ASM_OUTPUT_ASCII. + (output_die, output_pubnames, output_line_info): Likewise. + +Fri Oct 31 07:10:09 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + + * dwarf2out.c (output_call_frame_info): Use ASM_OUTPUT_ASCII to + output ASCII by default. Only use ASM_OUTPUT_DWARF_STRING if + flag_debug_asm is on. + (output_die, output_pubnames, output_line_info): Likewise. + + * alias.c (init_alias_analysis): Add struct_value_incoming_rtx + and static_chain_rtx into the potential base values array if + they are registers. + + * alias.c (new_reg_base_value): New array of potential base values. + (unique_id): Now file scoped static. + (find_base_value, case REG): Return the value in reg_base_value + array for the REG if it exists. Else, return the value from + new_reg_base_value if copying args and REG is a hard register. + (find_base_value, case PLUS): If either operand of the PLUS is + a REG, try to get its base value. Handle base + index and + index + base. + (record_set): Use new_reg_base_value instead of reg_base_value. + (init_alias_analysis): Allocate space for new_reg_base_value too. + Rework code to iterate over the insns propagating base value + information until nothing changes. + + * global.c (global_alloc): Free the conflict matrix after + reload has finished. + +Fri Oct 31 01:45:31 1997 Jason Merrill <jason@yorick.cygnus.com> + + * libgcc2.c (L_eh): Define __eh_pc. + Replace __eh_type with generic pointer __eh_info. + +Fri Oct 31 00:34:55 1996 J"orn Rennecke <amylaar@cygnus.co.uk> + + * expr.c (expand_increment): When enqueing a postincrement for a MEM, + use copy_to_reg if address is not a general_operand. + +Fri Oct 31 00:16:55 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * profile.c (output_func_start_profiler): Clear flag_inline_functions + for the duration of the call to rest_of_compilation. + +Thu Oct 30 14:40:10 1997 Doug Evans <devans@canuck.cygnus.com> + + * configure.in (sparc-*-elf*): Use sparc/elf.h, sparc/t-elf. + Set extra_parts. + (sparc*-*-*): Recognize --with-cpu=v9. + * sparc/elf.h: New file. + * sparc/t-elf: New file. + +Thu Oct 30 13:26:12 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.c (const_8bit_operand): New function. + (mask_ok_for_mem_btst): New funtion. + * mn10300.md (btst patterns with mem operands): Use new functions + to avoid creating btst instructions with invalid operands. + +Wed Oct 29 16:57:19 1997 Michael Meissner <meissner@cygnus.com> + + * rs6000/xm-sysv4.h: Include xm-linux.h instead of xm-svr4.h if we + are running on PowerPC Linux. + +Wed Oct 29 13:10:11 1997 Gavin Koch <gavin@cygnus.com> + + * config/mips/elf64.h (PREFERRED_DEBUGGING_TYPE): Only define + if not previously defined. + +Tue Oct 28 23:55:27 1997 Doug Evans (devans@cygnus.com) + + * function.c (assign_parms): Correct mode of stack_parm if + entry_parm underwent a mode conversion. + +1997-10-28 Brendan Kehoe <brendan@lisa.cygnus.com> + + * global.c (global_alloc): Use xmalloc instead of alloca for + CONFLICTS, since max_allocno * allocno_row_words alone can be more + than 2.5Mb sometimes. + +Tue Oct 28 15:29:15 1997 Richard Henderson <rth@cygnus.com> + + * reload1.c (eliminate_regs [SET]): If [SUBREG] widened the mode of + DEST for the spill, adjust mode of SRC to compensate. + +Tue Oct 28 14:36:45 1997 Richard Henderson <rth@cygnus.com> + + * alpha.md (reload_inqi): Check for MEM before strict_memory_address_p, + since any_memory_operand() allows pseudos during reload. + (reload_inhi, reload_outqi, reload_outhi): Likewise. + +Tue Oct 28 11:53:14 1997 Jim Wilson <wilson@cygnus.com> + + * m68k.md (btst patterns): Add 5200 support. + +Tue Oct 28 11:58:40 1997 Toon Moene <toon@moene.indiv.nluug.nl> + + * fold-const.c (fold): For ((a * C1) / C3) or (((a * C1) + C2) / C3) + optimizations, look inside dividend to determine if the expression + can be simplified by using EXACT_DIV_EXPR. + +Tue Oct 28 10:19:01 1997 Jason Merrill <jason@yorick.cygnus.com> + + From Brendan: + * dwarf2out.c (output_call_frame_info): Use l1 instead of ".". + +Tue Oct 28 00:32:14 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (summarize_insn [SUBREG]): Propogate SET. + +Mon Oct 27 23:59:26 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_handle_trap_shadows): Don't call get_attr_trap + on a CLOBBER. + +Mon Oct 27 21:25:20 1997 Richard Henderson <rth@cygnus.com> + + * alpha.md (movqi, movhi): Make sure new insns created during reload + won't need reloading themselves. + (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Likewise. + +Mon Oct 27 16:11:10 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (GO_IF_LEGITIMATE_ADDRESS): Disable reg+reg. + +Sun Oct 26 13:50:44 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_sa_mask [VMS]): Don't include $26 in the mask. + Patch from Klaus Kaempf <kkaempf@progis.de>. + +Sun Oct 26 13:31:47 1997 Jim Wilson (wilson@cygnus.com) + + * expr.c (expand_expr, case INDIRECT_REF): Optimize a reference + to an element in a constant string. + +Sun Oct 26 11:41:49 1997 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2out.c (output_call_frame_info): The CIE pointer is now a 32 + bit PC-relative offset. The exception range table pointer is now in + the CIE. + * frame.c (dwarf_cie, dwarf_fde): Rename CIE_pointer to CIE_delta. + (count_fdes, add_fdes, get_cie): Adjust. + (cie_info, extract_cie_info, __frame_state_for): Adjust eh_ptr uses. + + From H.J. Lu: + * frame.c (count_fdes, add_fdes): Skip linked once FDE entries. + +Sun Oct 26 11:52:01 1997 Richard Henderson <rth@cygnus.com> + + * alias.c (memrefs_conflict_p): Treat arg_pointer_rtx just + like stack_pointer_rtx. + +Sun Oct 26 11:32:16 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (bootstrap-lean): Combined with `normal' bootstrap + targets using "$@" to provide support for similar but not identical + targets without having to duplicate code. + (bootstrap4): New goal. + + * Makefile.in (compare, compare-lean, compare3): Combined to one + ruleset determining actions to be performed via $@. + (compare4, compare4-lean): New targets. + (gnucompare, gnucompare3): Combined to one ruleset determining + actions to be performed via $@. Also, note which files failed + the comparison test in .bad_compare. + (gnucompare-lean, gnucompare3-lean, gnucompare4-lean): New targets. + +Sun Oct 26 10:06:11 1997 Toon Moene <toon@moene.indiv.nluug.nl> + + * fold-const (fold): Also simplify FLOOR_DIV_EXPR to EXACT_DIV_EXPR + if the dividend is a multiple of the divisor. + +Sun Oct 26 09:21:40 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (LIBGCC2_CFLAGS): Add -fexceptions. + + * alias.c (find_base_term): Handle PRE_INC, PRE_DEC, POST_INC, + and POS_DEC. + + * alias.c (true_dependence): Fix typo. + + * toplev.c (flag_rerun_loop_opt): New variable. + (f_options): Handle -frerun-loop-opt. + (rest_of_compilation): If -frerun-loop-opt, then run the loop + optimizer twice. + (main): Enable -frerun-loop-opt by default for -O2 or greater. + + * loop.c (simplify_giv_expr): Adding two invariants results + in an invariant. + +Sun Oct 26 09:15:15 1997 Richard Henderson <rth@cygnus.com> + + * expr.c (get_inner_reference): Remove the array bias after + converting the index to Pmode. + +Sat Oct 25 12:20:58 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.h (TARGET_SWITCHES): Add -mmult-bug and -mno-mult-bug. + (TARGET_MULT_BUG): Define. + (TARGET_DEFAULT): Default to TARGET_MULT_BUG. + * mn10300.md (mulsi3): Handle TARGET_MULT_BUG. + +Fri Oct 24 17:40:34 1997 Jeffrey A Law (law@cygnus.com) + + * mn10200.c (indirect_memory_operand): Delete unused function. + * mn10200.h (EXTRA_CONSTRAINT): Handle 'R'. + * mn10200.md (bset, bclr insns): Handle output in a reg too. + +Fri Oct 24 15:54:57 1997 Richard Henderson <rth@cygnus.com> + + * alpha.md (call patterns): Revert Oct 16 change; if we are to elide + the callee's ldgp, we must do it ourselves, and we use the jsr tag + for more than scheduling. + +Fri Oct 24 13:23:04 1997 Doug Evans <devans@canuck.cygnus.com> + + * sparc/sparc.h (ASM_SPEC): Delete asm_arch. + +Fri Oct 24 13:19:40 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.c (symbolic_operand, legitimize_address): New functions. + * mn10300.h (LEGITIMIZE_ADDRESS): Call legitimize_address. + (GO_IF_LEGITIMATE_ADDRESS): Don't allow base + symbolic. + +Thu Oct 23 09:35:12 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Thu Oct 23 08:03:59 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * dbxout.c (dbxout_start_new_source_file): Use output_quoted_string + for FILENAME. + +Wed Oct 22 00:34:12 1997 Jeffrey A Law (law@cygnus.com) + + * toplev.c (flag_exceptions): Default value is 2. + (compile_file): If flag_exceptions still has the value 2, then + set it to 0. + + * rs6000.c (struct machine_function): Add pic_offset_table_rtx. + (rs6000_save_machine_status): Save pic_offset_table_rtx. + (rs6000_restore_machine_status: Restore pic_offset_table_rtx. + + * local-alloc.c (block_alloc): Don't lose if two SCRATCH expressions + are shared. + + * rs6000.md (*movsi_got_internal_mem): New pattern. + (*movsi_got_internal_mem splitter): New define_split. + +Tue Oct 21 18:14:03 1997 Jim Wilson <wilson@cygnus.com> + + * obstack.h (obstack_empty_p): Fix spurious space after backslash. + +Tue Oct 21 18:34:01 1997 Geoffrey KEATING <geoffk@ozemail.com.au> + + * rs6000.c: Avoid creating a stack frame under SYSV ABI if we + only need to save LR. + +Tue Oct 21 10:06:40 1997 Jeffrey A Law (law@cygnus.com) + + * mn10300.md (movqi, movhi): Avoid using address registers as + destinations unless absolutely necessary. + + * mn10200.c (expand_prologue): Fix typo. + + * mn10200.h (GO_IF_LEGITIMATE_ADDRESS): Do not allow indexed + addresses. + * mn10200.md (neghi2): Provide an alternative which works if + the input and output register are the same. + + * mn10300.c (print_operand): Handle 'S'. + * mn10300.md (ashlsi3, lshrsi3, ashrsi3): Use %S for + shift amount in last alternative + + * mn10300.c (expand_epilogue): Rework to handle register restores + in "ret" and "retf" instructions correctly. + +Mon Oct 20 16:47:08 1997 Jim Wilson <wilson@cygnus.com> + + * expmed.c (extract_bit_field): Don't make flag_force_mem disable + extzv for memory operands. + + * cse.c (simplify_ternary_operation, case IF_THEN_ELSE): Collapse + redundant conditional moves to single operand. + +Mon Oct 20 15:30:26 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h: Move define of __v850__ from CPP_PREDEFINES + to CPP_SPEC. + + * xm-v850.h: Use __v850 rather than __v850__ to + identify v850 port. + +Mon Oct 20 14:15:02 1997 Jim Wilson <wilson@cygnus.com> + + * mips/mips.c (compute_frame_size): Not a leaf function if + profile_flag set. + +Mon Oct 20 14:16:38 1997 Geoffrey KEATING <geoffk@ozemail.com.au> + + * rs6000/t-ppccomm: Use -msdata=none for crtstuff. + +Mon Oct 20 12:28:17 1997 Doug Evans <devans@canuck.cygnus.com> + + * sparc/sparc.h (SPARC_V9,SPARC_ARCH64): Delete. + (DEFAULT_ARCH32_P): New macro. + (TARGET_ARCH{32,64}): Allow compile time or runtime selection. + (enum cmodel): Declare. + (sparc_cmodel_string,sparc_cmodel): Declare. + (SPARC_DEFAULT_CMODEL): Provide default. + (TARGET_{MEDLOW,MEDANY}): Renamed to TARGET_CM_{MEDLOW,MEDANY}. + (TARGET_FULLANY): Deleted. + (TARGET_CM_MEDMID): New macro. + (CPP_CPU_DEFAULT_SPEC): Renamed from CPP_DEFAULT_SPEC. + (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC. + (CPP_PREDEFINES): Take out stuff now handled by %(cpp_arch). + (CPP_SPEC): Rewrite. + (CPP_ARCH{,32,64,_DEFAULT}_SPEC): New macros. + (CPP_{ENDIAN,SUBTARGET}_SPEC): New macros. + (ASM_ARCH{,32,64,_DEFAULT}_SPEC): New macros. + (ASM_SPEC): Add %(asm_arch). + (EXTRA_SPECS): Rename cpp_default to cpp_cpu_default. + Rename asm_default to asm_cpu_default. + Add cpp_arch32, cpp_arch64, cpp_arch_default, cpp_arch, cpp_endian, + cpp_subtarget, asm_arch32, asm_arch64, asm_arch_default, asm_arch. + (NO_BUILTIN_{PTRDIFF,SIZE}_TYPE): Define ifdef SPARC_BI_ARCH. + ({PTRDIFF,SIZE}_TYPE): Provide 32 and 64 bit values. + (MASK_INT64,MASK_LONG64): Delete. + (MASK_ARCH64): Renamed to MASK_64BIT. + (MASK_{MEDLOW,MEDANY,FULLANY,CODE_MODEL}): Delete. + (EMBMEDANY_BASE_REG): Renamed from MEDANY_BASE_REG. + (TARGET_SWITCHES): Always provide 64 bit options. + (ARCH64_SWITCHES): Delete. + (TARGET_OPTIONS): New option -mcmodel=. + (INT_TYPE_SIZE): Always 32. + (MAX_LONG_TYPE_SIZE): Define ifdef SPARC_BI_ARCH. + (INIT_EXPANDERS): sparc64_init_expanders renamed to sparc_init_.... + (FUNCTION_{,BLOCK_}PROFILER): Delete TARGET_EMBMEDANY support. + (PRINT_OPERAND_PUNCT_VALID_P): Add '_'. + * sparc/linux-aout.h (CPP_PREDEFINES): Take out stuff handled by + CPP_SPEC. + (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC. + * sparc/linux.h: Likewise. + * sparc/linux64.h (SPARC_V9,SPARC_ARCH64): Delete. + (ASM_CPU_DEFAULT_SPEC): Renamed from ASM_DEFAULT_SPEC. + (TARGET_DEFAULT): Delete MASK_LONG64, MASK_MEDANY, add MASK_64BIT. + (SPARC_DEFAULT_CMODEL): Define. + (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC. + (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC. + (LONG_DOUBLE_TYPE_SIZE): Define. + (ASM_SPEC): Add %(asm_arch). + * sparc/sol2.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC. + (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC. + (TARGET_CPU_DEFAULT): Add ultrasparc case. + * sparc/sp64-aout.h (SPARC_V9,SPARC_ARCH64): Delete. + (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. + (SPARC_DEFAULT_CMODEL): Define. + * sparc/sp64-elf.h (SPARC_V9,SPARC_ARCH64): Delete. + (TARGET_DEFAULT): MASK_ARCH64 renamed to MASK_64BIT. Delete + MASK_LONG64, MASK_MEDANY. + (SPARC_DEFAULT_CMODEL): Define. + (CPP_PREDEFINES): Delete. + (CPP_SUBTARGET_SPEC): Renamed from CPP_SPEC. + (ASM_SPEC): Add %(asm_arch). + (LONG_DOUBLE_TYPE_SIZE): Define. + (DWARF2_DEBUGGING_INFO): Define. + * sparc/splet.h (CPP_SPEC): Delete. + * sparc/sysv4.h (CPP_PREDEFINES): Take out stuff handled by CPP_SPEC. + (FUNCTION_BLOCK_PROFILER): Delete TARGET_EMBMEDANY support. + (BLOCK_PROFILER): Likewise. + * sparc/sparc.c (sparc_cmodel_string,sparc_cmodel): New globals. + (sparc_override_options): Handle code model selection. + (sparc_init_expanders): Renamed from sparc64_init_expanders. + * sparc/sparc.md: TARGET_<code_model> renamed to TARGET_CM_.... + TARGET_MEDANY renamed to TARGET_CM_EMBMEDANY. + (sethi_di_embmedany_{data,text}): Renamed from sethi_di_medany_.... + (sethi_di_fullany): Delete. + +Mon Oct 20 02:00:18 1997 Klaus Kaempf <kkaempf@progis.de> + Jeff Law <law@cygnus.com> + Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * alpha/vms.h (DIVSI3_LIBCALL): OTS$ functions are upper case. + (DIVDI3_LIBCALL, UDIVSI3_LIBCALL, UDIVDI3_LIBVALL): Likewise. + (MODSI3_LIBCALL, MODDI3_LIBCALL): Likewise. + (UMODSI3_LIBCALL, UMODDI3_LIBCALL): Likewise. + * alpha/alpha.md (arg_home): Likewise. + + * alpha/alpha.c (vmskrunch): Delete + * alpha/vms.h (ENCODE_SECTION_INFO, ASM_DECLARE_FUNCTION_NAME): Delete. + * alpha.c (output_prolog, VMS): Use alloca for entry_label and don't + truncate to 64 characters. + + * make-l2.com: Support openVMS/Alpha. + + * vmsconfig.com: Fix to work on openVMS/Alpha and openVMS/VAX. + +Sun Oct 19 19:00:35 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * longlong.h (count_leading_zeros): Add missing casts to USItype. + +Sun Oct 19 18:44:06 1997 Jeffrey A Law (law@cygnus.com) + + * i386/bsd386.h (ASM_COMMENT_START): Define. + +Sat Oct 18 13:47:15 1997 Jason Merrill <jason@yorick.cygnus.com> + + * tree.c (restore_tree_status): Also free up temporary storage + when we finish a toplevel function. + (dump_tree_statistics): Print stats for backend obstacks. + +Sat Oct 18 12:47:31 1997 Doug Evans <dje@canuck.cygnus.com> + + * expr.c (use_group_regs): Don't call use_reg for MEMs. + +Sat Oct 18 09:49:46 1997 Jason Merrill <jason@yorick.cygnus.com> + + * libgcc2.c (__throw): Don't copy the return address. + * dwarf2out.c (expand_builtin_dwarf_reg_size): Ignore return address. + + * except.c (exceptions_via_longjmp): Initialize to 2 (uninitialized). + * toplev.c (main): Initialize exceptions_via_longjmp. + + * tree.c: Add extra_inline_obstacks. + (save_tree_status): Use it. + (restore_tree_status): If this is a toplevel inline obstack and we + didn't want to save anything on it, recycle it. + (print_inline_obstack_statistics): New fn. + * function.c (pop_function_context_from): Pass context to + restore_tree_status. + * obstack.h (obstack_empty_p): New macro. + +Sat Oct 18 00:43:59 1997 Jeffrey A Law (law@cygnus.com) + + * i386/freebsd.h (ASM_COMMENT_START): Fix. + +Fri Oct 17 23:48:52 1997 Jim Wilson (wilson@cygnus.com) + + * v850.c (ep_memory_offset): New function. + (ep_memory_operand, substitute_ep_register, v850_reorg): Call it. + + * v850.h (CONST_OK_FOR_*): Add and correct comments. + (CONSTANT_ADDRESS_P): Add comment. + (EXTRA_CONSTRAINT): Define 'U'. + * v850.md: Add comments on bit field instructions. + (addsi3): Delete &r/r/r alternative. Add r/r/U alternative. + (lshrsi3): Use N not J constraint. + + * v850.md (v850_tst1+1): New define_split for tst1 instruction. + + * v850.c (reg_or_0_operand): Call register_operand. + (reg_or_int5_operand): Likewise. + * v850.h (MASK_BIG_SWITCH, TARGET_BIG_SWITCH): New macros. + (TARGET_SWITCHES): Add "big-switch". + (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT, CASE_VECTOR_MODE, + ASM_OUTPUT_BEFORE_BASE_LABEL): Add support for TARGET_BIG_SWITCH. + (CASE_DROPS_THROUGH): Comment out. + (CASE_VECTOR_PC_RELATIVE, JUMP_TABLES_IN_TEXT_SECTION): Define. + * v850.md (cmpsi): Delete compare mode. + (casesi): New pattern. + + * v850.h (CONST_OK_FOR_N): Delete redundant compare against zero. + * v850.md (ashlsi3): Use SImode not QImode for shift count. (lshrsi3): Likewise. - * c-decl.c (poplevel): Do output inline function if - DECL_ABSTRACT_ORIGIN points to itself. + * v850.c (print_operand): Add 'c', 'C', and 'z' support. Delete + unreachable switch statement after 'b' support. Remove "b" from + strings for 'b' support. + * v850.md (branch_normal, branch_invert): Change %b to b%b. + +Fri Oct 17 23:33:20 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (LIBGCC2_CFLAGS): Avoid a backslash then an + empty line if @inhibit_libc@ is empty. + +Fri Oct 17 23:24:40 1997 Robert Lipe (robertl@dgii.com) + + * i386/sco5.h: Let ELF use dwarf2 unwinding. COFF uses sjlj. + (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Defined. + (EH_FRAME_SECTION_ASM_OP_COFF): Likewise. + (DWARF2_UNWIND_INFO): Let this track object file format. + (EXTRA_SECTIONS): Add in_eh. + (EH_FRAME_SECTION_ASM_OP, EH_FRAME_SECTION_ASM_OP_ELF): Define. + (EH_FRAME_SECTION_ASM_OP_COFF): Likewise. + +Fri Oct 17 17:13:42 1997 David S. Miller <davem@tanya.rutgers.edu> + + * sparc/linux64.h (LINK_SPEC): Dynamic linker is ld-linux64.so.2. + * sparc/sparc.h (FUNCTION_PROFILER): Fix format string when + TARGET_MEDANY. + * sparc/sparc.c (dwarf2out_cfi_label): Extern no longer needed. + (output_double_int): Output DI mode values correctly when + HOST_BITS_PER_WIDE_INT is 64. + (output_fp_move_quad): If TARGET_V9 and not TARGET_HARD_QUAD, use + fmovd so it works if a quad float ends up in one of the upper 32 + float regs. + * sparc/sparc.md (pic_{lo_sum,sethi}_di): New patterns + necessary for PIC support on sparc64. + +Fri Oct 17 13:39:56 1997 Doug Evans <dje@canuck.cygnus.com> + + * sparc/sp64-elf.h (TARGET_DEFAULT): Delete MASK_STACK_BIAS. + * sparc/sparc.h (PROMOTE_MODE): Promote small ints if arch64. + (PROMOTE_FUNCTION_ARGS,PROMOTE_FUNCTION_RETURN): Define. + (SPARC_FIRST_FP_REG, SPARC_FP_REG_P): New macros. + (SPARC_{OUTGOING,INCOMING}_INT_ARG_FIRST): New macros. + (SPARC_FP_ARG_FIRST): New macro. + (CONDITIONAL_REGISTER_USAGE): All v9 fp regs are volatile now. + (REG_ALLOC_ORDER,REG_LEAF_ALLOC_ORDER): Reorganize fp regs. + (NPARM_REGS): There are 32 fp argument registers now. + (FUNCTION_ARG_REGNO_P): Likewise. + (FIRST_PARM_OFFSET): Update to new v9 abi. + (REG_PARM_STACK_SPACE): Define for arch64. + (enum sparc_arg_class): Delete. + (sparc_arg_count,sparc_n_named_args): Delete. + (struct sparc_args): Redefine and use for arch32 as well as arch64. + (GET_SPARC_ARG_CLASS,ROUND_REG,ROUND_ADVANCE): Delete. + (FUNCTION_ARG_ADVANCE): Rewrite. + (FUNCTION_ARG,FUNCTION_INCOMING_ARG): Rewrite. + (FUNCTION_ARG_{PARTIAL_NREGS,PASS_BY_REFERENCE}): Rewrite. + (FUNCTION_ARG_CALLEE_COPIES): Delete. + (FUNCTION_ARG_{PADDING,BOUNDARY}): Define. + (STRICT_ARGUMENT_NAMING): Define. + (doublemove_string): Declare. + * sparc/sparc.c (sparc_arg_count,sparc_n_named_args): Delete. + (single_move_string): Use GEN_INT, and HOST_WIDE_INT. + (doublemove_string): New function. + (output_move_quad): Clean up some of the arch64 support. + (compute_frame_size): Add REG_PARM_STACK_SPACE if arch64. + Don't add 8 bytes of reserved space if arch64. + (sparc_builtin_saveregs): Combine arch32/arch64 versions. + (init_cumulative_args): New function. + (function_arg_slotno): New static function. + (function_arg,function_arg_partial_nregs): New functions. + (function_arg_{pass_by_reference,advance}): New functions. + (function_arg_padding): New function. + * ginclude/va-sparc.h: Rewrite v9 support. + +Fri Oct 17 12:29:48 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch> + + * regclass.c (record_address_regs): Look at REG_OK_FOR_{BASE,INDEX}_P + for hard regs to determine base and index registers. + + * reload.c (debug_reload_to_stream): New function. Specify stream + into which to write debug info. + (debug_reload): Modify to call debug_reload_to_stream with stderr. + +Thu Oct 16 15:07:51 1997 Richard Henderson <rth@cygnus.com> + + * combine.c (can_combine_p): Don't combine with an asm whose + output is a hard register. + +Thu Oct 16 15:43:26 1997 Mike Stump (mrs@wrs.com) + + * c-decl.c (start_struct): Ensure that structs with forward + declarations are in fact packed when -fpack-struct is given. + + * stor-layout.c (layout_record): Ignore STRUCTURE_SIZE_BOUNDARY if + we are packing a structure. This allows a structure with only + bytes to be aligned on a byte boundary and have no padding on a + m68k. + +Thu Oct 16 15:17:54 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * rs6000.h (ROUND_TYPE_ALIGN): Don't blow up if no fields in record. + +Thu Oct 16 11:20:30 1997 Richard Henderson <rth@cygnus.com> + + * alpha.c (alpha_return_addr_rtx): New variable. + (alpha_save_machine_status): New; save it. + (alpha_restore_machine_status): New; restore it. + (alpha_init_expanders): New; clear it. + (alpha_return_addr): New; set it. + (alpha_ra_ever_killed): New; if alpha_return_addr_rtx, regs_ever_live + is overly conservative, so search the insns explicitly. + (alpha_sa_mask [VMS]): Check alpha_ra_ever_killed. + (alpha_sa_size [VMS && !VMS]): Likewise. + * alpha.h (RETURN_ADDR_RTX): Call alpha_return_addr. + (INIT_EXPANDERS): New definition. - * varasm.c (output_constant): Cast assemble_string argument to char *. + * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file. + (output_prolog [!VMS]): Use them. -Mon Apr 10 14:29:28 1995 Torbjorn Granlund <tege@adder.cygnus.com> + * alpha.c (output_prolog [!VMS]): Move gp detection to ... + (alpha_does_function_need_gp): ... a new function. Refine the + CALL_INSN test to just TYPE_JSR. + * alpha.md (most call insns): Fix some jsr/ibr type transpositions. - * recog.c (constrain_operands, case 'E'): Make this work like - constraint character `F' when REAL_ARITHMETIC is defined. - * regclass.c (record_reg_classes, case 'E'): Likewise. - * reload.c (find_reloads, case 'E'): Likewise. +Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com) -Mon Apr 10 14:30:31 1995 Michael Meissner <meissner@cygnus.com> + * version.c: Bump for snapshot. - * rs6000/aix3newas.h, rs6000/aix41.h: Eliminate March 11th changes - to undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}, since this causes the - compiler not to bootstrap. +Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> -Mon Apr 10 07:17:39 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * pa.c (move_operand): Respect -mdisable-indexing. + * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise. - * cppalloc.c: #include config.h. - * cppexp.c: Add declarations of xmalloc and xrealloc. - (cpp_parse_expr): Cast args to bcopy to char *. - * cpphash.c: Add declaration of xmalloc. - * cpplib.c (init_parse_options, cpp_reader): Cast args to bcopy, - bcmp, and bzero to char *. - (add_import, push_parse_file, init_parse_file): Likewise. +Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu> - * c-common.c (enum attrs): New attribute, A_NOCOMMON. - (init_attribute): Initialize it. - (decl_attributes): Implement it. - * varasm.c (make_decl_rtl): Allow section attribute if -fno-common - or variable is not to be placed in common for some other reason. + * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for + PPC601. + (umulsidi3,umulsi3_highpart): Ditto. + (smulsi3_highpart_no_mq): Add !TARGET_POWER. - * combine.c (simplify_set): Don't move a SUBREG to dest if it - is changing the size of a hard reg in CLASS_CANNOT_CHANGE_SIZE. +Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com> - * reload.c (find_equiv_reg): If goal is a pseudo that got memory, - a store into memory makes it invalid. - * reload1.c (reload_as_needed): Call forget_old_reloads_1 on - pattern before reg elimination. + * alpha.c (final_prescan_insn): Gut, remove and transform to ... + (alpha_handle_trap_shadows): ... a new function. Handle the entire + function in one go. Emit RTL for trapb, instead of printf directly. + (alpha_reorg): New function. Call alpha_handle_trap_shadows. + (trap_pending): Kill global variable. + (output_epilog): Don't call final_prescan_insn. + (struct shadow_summary): Elide $31 and $f31; now it fits in a word. + * alpha.h (FINAL_PRESCAN_INSN): Remove. + (MACHINE_DEPENENT_REORG): Define. + * alpha.md (jsr patterns with trapb): Stupid and useless. Kill. + (trapb): New insn. -Mon Apr 10 00:26:14 1995 Jeffrey A. Law <law@snake.cs.utah.edu> +Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com> - * pa.c (pa_reorg): Bump label use count for each entry in an - exploded ADDR_VEC. + Tune Haifa scheduler for Alpha: + * alpha.h (ISSUE_RATE): Define. + * alpha.c (alpha_adjust_cost): Handle EV5 mult delay; don't apply + EV4 adjustments to EV5. + * alpha.md: Remove all scaling from function unit delays. Rework + EV5 function units to match the CPU. + (umuldi3_highpart): EV5 added the IMULH insn class. -Sun Apr 9 09:22:51 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com) - * i386.md (adddi3, subdi3): Need scratch reg whenever operand 0 in - mem and operands 1 not '0'. - (subdi3): Don't treat two non-equal MEMs as non-aliasing. + * pa.c (following_call): Fail if the CALL_INSN is an indirect + call. -Sat Apr 8 22:53:38 1995 Jeffrey A. Law <law@snake.cs.utah.edu> +Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net> - * pa.c (pa_reorg): Fix typo. + * cplus-dem.c (demangle_signature): Don't look for return types on + constructors. Handle member template constructors. -Sat Apr 8 19:36:36 1995 Michael Meissner <meissner@cygnus.com> +Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com> - * rs6000/rs6000.h (SELECT_SECTION): TREE_CODE_CLASS must be called - with a tree code, not a tree value. + * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns. + * tree.h: Declare them. -Sat Apr 8 12:41:01 1995 Mike Stump <mrs@cygnus.com> +Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com> - * cpphash.c: Don't use const on compilers that don't support it. + * configure.in: Handle --with-newlib. + * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@. -Sat Apr 8 16:32:22 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete. - * expr.c (expand_increment): Handle case where INCREMENTED - has a non-trivial conversion. +Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com) -Fri Apr 7 19:33:21 1995 Phil Nelson (phil@cs.wwu.edu) + * config/ptx4.h: Fix typo. - * ns32k.h (TRAMPOLINE_TEMPLATE, TRANSFER_FROM_TRAMPOLINE): - Fix assembler syntax errors. +Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com) -Fri Apr 7 19:27:23 1995 Pat Rankin (rankin@eql.caltech.edu) + * version.c: Bump for snapshot. - * cccp.c (VMS_fstat, VMS_stat): New functions. +Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de> -Fri Apr 7 19:25:21 1995 Paul Eggert <eggert@twinsun.com> + * aclocal.m4: Substitute INSTALL. + * configure: Re-built. - * cccp.c (collect_expansion): If traditional, set stringify - member to SHARP_TOKEN regardless of the value of - stringify_sharp_token_type. +Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com) -Fri Apr 7 07:48:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * integrate.c (save_for_inline_copying): Avoid undefined pointer + operations. + (expand_inline_function): Likewise. - * cse.c (simplify_unary_operation): #ifdef POINTERS_EXTEND_UNSIGNED, - handle sign- or zero-extending addresses. + * dwarf2out.c (output_call_frame_info): Reinstate last change + using flag_debug_asm check instead of flag_verbose_asm. - * optabs.c (init{,_integral,_floating,_complex}_libfuncs): - Change SUFFIX to "char" to avoid confusion with prototype. +Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com> - * explow.c (convert_memory_address): No longer static. - New arg, TO_MODE. - Do something special for SYMBOL_REF, LABEL_REF, and CONST. - (memory_address): Add extra arg to call to convert_memory_address. - * rtl.h (convert_memory_address): Add extra arg. - * expr.c (expand_expr, case ADDR_EXPR): Always call - convert_memory_address when converting; add extra arg. - * stmt.c (expand_computed_goto): Convert from ptr_mode to Pmode. + * dwarf2out.c (output_call_frame_info): Remove last change. - * gcc.c (OBJECT_SUFFIX): Default now ".o", not "o". - (all specs): Remove "." before %O; use %O in a few missing cases. - * i386/os2.h (OBJECT_SUFFIX): Delete from here. - * i386/xm-os2.h (OBJECT_SUFFIX): Move to here; now has period. +1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> - * Makefile.in (STAGESTUFF): Use $(exeext) for executables. + * frame.c (__frame_state_for): Execute the FDE insns until the + current pc value is strictly bigger than the target pc value. -Fri Apr 7 03:32:29 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> +Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com> - * config.sub: Accept -lites* as op sys. + * regclass.c (init_reg_modes): If we can't find a mode for the + register, use the previous one. -Thu Apr 6 23:08:50 1995 Per Bothner <bothner@kalessin.cygnus.com> +Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com> - * cpplib.c (bcopy, bzero, bcmp): Remove #undefs. - * cppalloc.c (xcalloc): Re-implement using calloc, - rather than malloc+bzero. - * cpplib.c (SELF_DIR_DUMMY): New macro. - (do_include): Don't pass searchptr to finclude if it is dsp, - since that is on the stack, and would cause a dangling pointer. - If handling #include_next, recognize SELF_DIR_DUMMY. + * haifa-sched.c (print_block_visualization): Call fprintf directly, + don't sprintf through an alloca'ed buffer. -Fri Apr 7 00:54:24 1995 Jeffrey A. Law <law@snake.cs.utah.edu> +Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de) - * pa.h (MACHINE_DEPENDENT_REORG): Define. - * pa.md (switch_jump): New pattern for jumps which implement - a switch table. - * pa.c (pa_reorg): New function to explode jump tables. - (pa_adjust_insn_length): Account for jumps in switch tables with - unfilled delay slots. + * reload.c (decompose): Always initialize val.base. -Thu Apr 6 14:31:10 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de) - * c-typeck.c (build_binary_op): Don't call common_type for - uncommon pointer types. + * m68k/mot3300.h (ASM_OUTPUT_ALIGN): Accept any alignment + instead of aborting. + * dwarf2out.c (output_call_frame_info): Call app_enable and + app_disable to let GNU as accept the generated comments. -Wed Apr 5 13:53:17 1995 Per Bothner <bothner@kalessin.cygnus.com> +Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com> - Re-write fixproto/fix-header/etc to use cpplib: - * fix-header.c: Comment out support for adding missing extern "C" - using #ifdef ADD_MISSING_EXTERN_C instead of #if 0. - * fixproto: Removed case of required functions. Instead use ... - * fix-header.c (std_include_table): ... new required-functions table. - (cpp_file_line_for_message, cpp_print_containing_files, cpp_message): - New stub functions, to intercept cpplib error message. - * fixproto: Don't call $CPP, since fix-header now incorporates cpplib. - * gen-protos.c (fatal, hashf): New functions. - (main): Use hashf, instead of hash. - * scan-decls.c (scan_decls, skip_to_closing_brace): Re-write to - take a cpp_reader* as argument, not a FILE*. - * scan.h (hash): Make parameter const. - * scan.c (hash): Removed. - * scan.c (memory_full, xmalloc, xrealloc): Removed. - Use functions from cppalloc.c instead. - * Makefile.in (gen-prtos, fix-header, stmp-fixproto): Update. + * tree.h (get_file_function_name): Add declaration. + * dwarf2out.c (output_call_frame_info): No need to cast + get_file_function_name call anymore. + * profile.c (toplevel): Remove get_file_function_name + declaration. + * c-lang.c (finish_file): Ditto. -Wed Apr 5 13:24:14 1995 Per Bothner <bothner@kalessin.cygnus.com> +Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net> - * cpplib.c (cpp_get_token): If traditional, return after comment, - instead of reading more, so end-of-line can be peeked at. - * cpperror.c (cpp_file_line_for_message, cpp_message): New - functions, that do the actual printing of error messages. - (cpp_print_file_and_line, cpp_error, cpp_warning, cpp_pedwarn, - cpp_error_with_line, cpp_warning_with_line, cpp_pedwarn_with_line, - cpp_pedwarn_with_file_and_line, cpp_error_from_errno, my_strerror, - cpp_perror_with_name): Re-write to use cpp_file_line_for_message - and cpp_message, and move to cpplib.c. + * Makefile.in (program_transform_name): Let autoconf substitute + the correct value. -Tue Apr 4 23:35:49 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> +Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com) - * config/gnu.h (GNU_CPP_PREDEFINES): Remove -D__HURD__. + * haifa-sched.c (schedule_block): If the first real insn in a + block has any special notes attached to it, remove them. -Tue Apr 4 17:15:54 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> +Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com> - * pa.h (DO_GLOBAL_DTORS_BODY): Fix pointer -> integer assignment - problem. + * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5. - * reorg.c (fill_simple_delay_slots): Don't use a JUMP_INSN - a the target of another JUMP_INSN to fill a delay slot. - -Mon Apr 3 19:03:48 1995 Torbjorn Granlund <tege@adder.cygnus.com> - - * cse.c (simplify_unary_operation): Sign-extend constants when - they have the most significant bit set for the target. - - * m68k.md (umulsi3_highpart): Test for CONST_INT and CONST_DOUBLE, - not CONSTANT_P. - (smulsi3_highpart): Likewise. - * m68k.c (const_uint32_operand): New function. - (const_sint32_operand): New function. - * m68k.md (const_umulsi3_highpart): Use const_uint32_operand instead - of immediate_operand for op3. Delete mode. - (const_smulsi3_highpart): Analogous change. - -Mon Apr 3 19:03:48 1995 Jim Wilson <wilson@cygnus.com> - - * cse.c (simplify_binary_operation): Sign-extend constants when - they have the most significant bit set for the target. - - * combine.c (force_to_mode, case PLUS): Sign extend masks that are - negative in OP_MODE. - (simplify_and_const_int): Sign-extend constants when they have the - most significant bit set for the target. - (merge_outer_ops): Likewise. - (simplify_shift_const): Likewise. +Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de) -Mon Apr 3 18:23:48 1995 Jason Merrill <jason@phydeaux.cygnus.com> - - * toplev.c (lang_options): Add -f{no-,}repo. - -Mon Apr 3 18:13:15 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * combine.c (nonzero_bits, case REG): Check POINTERS_EXTEND_UNSIGNED. - (num_sign_bit_copies, case REG): Likewise. - * explow.c (convert_memory_address): New function. - (memory_address): Call if it needed. - (promote_mode, case POINTER_TYPE): Use Pmode and pointer extension. - (allocate_dynamic_stack_space): Convert size from ptr_mode. - * expr.c (clear_storage, expand_assignment, store_{expr,constructor}): - Use ptr_mode instead of Pmode in some places. - (expand_expr, expand_builtin): Likewise. - (push_block, store_expr): Convert size to Pmode. - (expand_expr, case ADDR_EXPR): Convert from Pmode to ptr_mode. - -Mon Apr 3 18:00:52 1995 Jim Wilson <wilson@cygnus.com> - - * explow.c (allocate_dynamic_stack_space): Correct typo in last - change. + * m88k.c (m88k_begin_prologue): Remove superfluous backslash. - * sh.c (gen_shifty_op, case ASHIFTRT): Return 0 if shift count is not - a constant. +Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com) -Mon Apr 3 12:17:10 1995 Michael Meissner (meissner@cygnus.com) + * Makefile.in (check-g77): New test target. + (CHECK-TARGETS): Add check-g77. - * expmed.c (extract_bit_field): When converting a SUBREG into a - REG, if the system is big endian, adjust the bit offset - appropriately. +Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com> -Mon Apr 3 00:08:45 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + * toplev.c (rest_of_compilation): Defer all non-nested inlines. - * config/i386/linux.h: Include "config/linux.h" instead of - "linux.h", to avoid recursion. +Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com> -Sun Apr 2 23:50:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> + * flow.c (print_rtl_with_bb): Cast alloca return value for + in_bb_p. - * config/i386/gnuelf.h: Include i386/linux.h instead of - i386/linuxelf.h. +Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com> -Sun Apr 2 17:35:10 1995 Jim Wilson <wilson@cygnus.com> + * i386.h (RETURN_ADDR_RTX): New definition that works for + __builtin_return_address(0) and -fomit-frame-pointer. - * cse.c (simplify_relational_operation): Don't simplify A-B for - compare of A and B when the compare is unsigned. +Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com> -Sun Apr 2 08:23:38 1995 Paul Eggert <eggert@twinsun.com> + Bring over from FSF. + Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com> - * fixincludes (stdio.h): BSDI 2.0 changed the spelling of _VA_LIST_ - to _BSD_VA_LIST_. - -Sun Apr 2 07:57:28 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> - - * i386/xm-bsd386.h: New file. - * configure (i[345]86-*-bsd*): Add xm_file. - - * gcc.c (default_compilers): Pass -W and -w to gnat1. - - * winnt/winnt.h (STDC_VALUE): Add #undef. - * i386/winnt.h (LIB_SPEC): Likewise. - -Sun Apr 2 07:55:25 1995 Douglas Rupp (drupp@cs.washington.edu) - - * i386/winnt.h (RETURN_POPS_ARGS, ENCODE_SECTION_INFO): Call - chain_member_purpose, not chain_member_value. - (ASM_FILE_START, LIB_SPEC): Move to here. - * winnt/winnt.h (ASM_FILE_START, LIB_SPEC): Delete from here. - * tree.c (chain_member_purpose): New function. + * mips.c (function_arg): Handle passing a struct + containing a double in a DFmode register without the PARALLEL. -Sat Apr 1 12:19:14 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com> - * c-typeck.c (build_binary_op): New variable build_type controls - type given to expression when created. Set to integer_type_node for - comparison ops instead of result_type so result_type still holds type - in which comparison is done. When checking for comparison between - signed and unsigned, use result_type rather than (possibly shortened) - type of op0. Don't warn about equality comparison of signed operand - to unsigned constant that fits in signed type. + * pexecute.c: Use spawn if __CYGWIN32__. -Sat Apr 1 09:47:02 1995 Douglas Rupp (drupp@cs.washington.edu) + * pexecute.c: Include "config.h" first, as per autoconf manual + (from Paul Eggert <eggert@twinsun.com>). - * i386/winnt.h (CPP_PREDEFINES): Add definitions for __stdcall - and __cdecl. - * winnt/winnt.h (LIB_SPEC): Add OLDNAMES.LIB. - * winnt/xm-winnt.h: Remove unneeded #define's for non-ANSI functions. - * fixinc.winnt: Remove unneeded fixes relating to __stdcall. +Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be> - * objc/Makefile (SHELL): New definition. + * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump + optimisation for f/expr.o and f/stb.o. -Sat Apr 1 08:25:26 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com) - * cse.c (cse_insn): When emitting a BARRIER, don't put it after - a deleted insn. + * cse.c (this_insn_cc0_mode): Initialize. - * reload.c (push_reload): Initialize secondary_{in,out}_icode. +Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de> - * gcc.c (print_multilib_info): Don't use LAST_PATH if not set. + * cccp.c (expand_to_temp_buffer): Initialize all members of obuf. -Sat Apr 1 08:15:59 1995 Pat Rankin (rankin@eql.caltech.edu) + * haifa-sched.c (get_block_head_tail): Remove unneeded initialization. - * vax.md (extv, extzv): Don't use immediate value for operand 1. +Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com> -Sat Apr 1 07:48:29 1995 Yury Shevchuk (sizif@botik.yaroslavl.su) + * alpha.md (beq): For registers and ints 0-255, use cmpeq+bne, since + that pair will dual-issue on the 21164 and plus+beq won't. + (bne): Likewise for cmpeq+beq. - * stmt.c (expand_asm_operands): Properly ignore invalid reg in clobber. +Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com> -Sat Apr 1 07:02:24 1995 Paul Eggert <eggert@twinsun.com> + * except.c (find_exception_handler_labels): Correct argument to free. - * cccp.c: General code cleanup. - Add prototypes for static functions. - Remove unnecessary casts to (char *); add casts to (U_CHAR *). - Add parentheses suggested by `gcc -Wparentheses'. - Rename local variables as suggested by `gcc -Wshadow'. - <fcntl.h>, <stdlib.h>, <string.h>, <unistd.h>: New includes. - <sys/time.h>, <sys/resource.h>: Include only if defined(RLIMIT_STACK). - <time.h>: Include, unless <sys/time.h> already does. - (HAVE_FCNTL_H, HAVE_STDLIB_H, HAVE_SYS_TIME_H): New symbols. - (HAVE_UNISTD_H, STDC_HEADERS, TIME_WITH_SYS_TIME): Likewise. - (__attribute__, PROTO, VA_START, PRINTF_ALIST, PRINTF_DCL): New macros. - (PRINTF_PROTO{,_1,_2,_3}, DO_PROTO): Likewise. - (bcopy, bzero, bcmp): If #defined by configuration file, use that. - If STDC_HEADERS is defined, use standard C functions. - If BSTRING is defined, or USG and VMS are not defined, use - the C library. Otherwise, use my_bcopy, my_bzero, my_bcmp. - (localtime): Remove no-longer-necessary explicit declaration. - (getenv, index, rindex): Don't declare explicitly if the - appropriate system header should declare it. - (fdopen): Remove no-longer-used declaration. - (vprintf): Define a subsitute macro if !defined(HAVE_VPRINTF). - (main): Replace `fdopen (dup (fileno (stdout)), "w"))' - with `stdout'. - (get_lintcmd, rescan, create_definition): Use bcmp instead of strncmp - when both operands are known to be free of null bytes. - (check_macro_name, compare_defs, collect_expansion): Likewise. - (do_assert, compare_token_lists, assertion_lookup, do_line): Likewise. - (skip_if_group, lookup): Likewise. - (rescan): Remove unused label `startagain'. - Abort instead of printing nonsense if the stack is corrupted - when there was an unterminated successful conditional. - (pcfinclude): Include explicit double-cast through GENERICPTR - to identify particularly egregious type puns. - (create_definition, do_define, check_macro_name): Use %.*s - printf format to avoid painful copying-and-casting. - (do_once): Return void, not (unused) int. - (do_ident, do_pragma, do_sccs): Accept extra arguments so that - all directive-handler's types match. - (do_sccs): Define only if SCCS_DIRECTIVE is defined. - (skip_if_group, dump_single_macro): Add `default: break;' to - keep -Wswitch happy. - (error, warning, error_with_line, vwarning_with_line, pedwarn): Use - stdarg/vararg/vfprintf instead of passing bogus char * args around. - (pedwarn_with_line, pedwarn_with_file_and_line, fatal): Likewise. - (verror, vwarning, verror_with_line, vwarning_with_line): New fcns. - (dump_single_macro): Abort if ap points to garbage. - (make_definition, make_undef, make_assertion): Parameter now char *. - (xmalloc, xrealloc, xcalloc, savestring, index0): Make sizes size_t - instead of unsigned; make pointer parameters GENERICPTR, not char *. - (xcalloc): Use bzero to clear memory instead of using own loop. - -Fri Mar 31 08:33:07 1995 Ken Raeburn (raeburn@wombat.gnu.ai.mit.edu) +Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com> - * longlong.h (umul_ppmm mc68000): Use %# instead of #. - -Fri Mar 31 06:37:54 1995 Michael Meissner (meissner@cygnus.com) - - * stor-layout.c (layout_decl): Implment -fpack-struct. - (layout_record): Ditto. + * except.c (find_exception_handler_labels): Free LABELS when we're + done. - * flags.h (flag_pack_struct): New flag variable. - - * toplev.c (flag_pack_struct): New flag variable. - (f_options): Add -fpack-struct support. - - * Makefile.in (stor-layout.o): Add flags.h dependency. - -Fri Mar 31 08:40:16 1995 Douglas Rupp (drupp@cs.washington.edu) +Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com) - * configure (i[345]86-*-winnt3*): Add tmake_file. - * i386/x-winnt (winnt.o): Deleted. - * i386/t-winnt: New file. + * version.c: Bump for snapshot. -Fri Mar 31 07:26:37 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * m68k/netbsd.h, m68k/hp3bsd44.h: Remove #include of machine/ansi.h. +Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com> - * configure (a29k-*-bsd): Set tmake_file to t-libc-ok. + * flow.c (find_basic_blocks): Mark calls as potentially jumping + to the EH labels. - * stmt.c (expand_asm_operands): Properly handle output that can't - be directly written into. - - * c-parse.in (structsp): Correct error in last change. - * c-common.c (init_attributes): A_FORMAT is only for decls. - -Thu Mar 30 18:27:34 1995 Jason Merrill <jason@phydeaux.cygnus.com> - - * libgcc2.c: Remove explicit 0-initializations of static variables. - -Thu Mar 30 18:22:39 1995 Fergus Henderson <fjh@cs.mu.oz.au> - - * c-typeck.c (internal_build_compound_expr): Warn if LHS of comma - expression has no side effects, or computes value which is not used. - * stmt.c (make warn_if_unused_value): No longer static. - * tree.h (warn_if_unused_value): Add declaration. - -Thu Mar 30 18:15:11 1995 Jim Wilson <wilson@cygnus.com> - - * combine.c (get_last_value): Revert back to use prev_nonnote_insn - instead of prev_real_insn. Modify test that ignores USE insns. - - * rs6000.h (SELECT_SECTION): Apply constant DECL_INITIAL test - only to DECLs. - - * explow.c (allocate_dynamic_stack_space): Test STACK_BOUNDARY against - BIGGEST_ALIGNMENT at run time instead of at compile time. - Give MUST_ALIGN macro a value, and test this value in if statements. - -Thu Mar 30 08:59:56 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * c-parse.in: Now have 27 shift/reduce conflicts. - (attribute_list): Just make chain of all attributes. - (attrib): Consistently put name as PURPOSE, args, if any, as VALUE. - (structsp): Allow attributes on any struct or union. - * c-common.c (enum attrs): New enum class. - (attrtab, attrtab_idx): New variables. - (add_attribute, init_attributes): New functions. - (decl_attributes): Major rewrite. - * tree.c (valid_machine_attribute): Now receive name and args. +Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com) -Thu Mar 30 07:20:14 1995 Paul Eggert <eggert@twinsun.com> + * configure.in: Substitute for "install" too. + * configure: Rebuilt. - * protoize.c: Use the phrase `preprocessing directive' consistently. - * cccp.c (handle_directive, do_line, skip_if_group): Likewise. - (output_line_directive): Renamed from output_line_command. - (no_line_directives): Renamed from no_line_commands. +Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu> - * cccp.c (rescan): Don't recognize preprocessing directives - within macro args. Warn if one is found. + * Makefile.in (bootstrap-lean, compare-lean): New targets. -Thu Mar 30 06:20:36 1995 H.J. Lu (hjl@nynexst.com) +Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com) - * configure (i[345]86-*-linux*): Set xmake_file=x-linux, - tm_file=i386/linux.h, and don't set extra_parts. - (i[345]86-*-linux*aout*): New configuration. - (i[345]86-*-linuxelf): Deleted. - * config/linux{,-aout}.h, config/x-linux, config/xm-linux.h: New files. - * config/i386/linux-aout.h: New file. - * config/i386/linux.h: Extensive modifications to use ELF format - as default. - (LIB_SPEC): Don't use libc_p.a for -p. don't use libg.a - unless for -ggdb. - (LINUX_DEFAULT_ELF): Defined. - * config/i386/linuxelf.h,config/i386/x-linux: Files deleted. - * config/i386/xm-linux.h: Just include xm-i386.h and xm-linux.h. + * alias.c (base_alias_check): Two symbols can conflict if they + are accessed via AND. + (memrefs_conflict_p): Likewise. -Wed Mar 29 19:09:36 1995 Mike Stump <mrs@cygnus.com> + * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn + after flushing argument registers to the stack. - * libgcc2.c (__throw_type_match): Update to use new calling convention. + * Makefile.in (mostlyclean): Remove .regmove files. -Wed Mar 29 14:53:23 1995 Jim Wilson <wilson@cygnus.com> +Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com> - * gcc.c (process_command): Delete code modifying gcc_exec_prefix. - (main): Put it here after last use of gcc_exec_prefix. For cross - compiler, set startfile_prefixes if gcc_exec_prefix is set and - standard_startfile_prefix is a relative path. + * libgcc2.c (__throw): Fix thinko. - * combine.c (make_compound_operation, AND case): Undo July 7, 1994 - change. +Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net> - * mips/mips.md (call_internal1, call_value_internal1): Move %* from - start of assembler output to immediately before the jal. - - * mips/mips.c (function_prologue): Put SDB_DEBUGGING_INFO ifdef around - code for SDB_DEBUG support. - (mips_select_rtx_section, mips_select_section): Change rdata_section - to READONLY_DATA_SECTION and sdata_section to SMALL_DATA_SECTION. - * mips/mips.h (SMALL_DATA_SECTION): Define. - - * reorg.c (mark_referenced_resources): Make setjmp use all registers. - - * flow.c (mark_used_regs, case SUBREG): Only fall through to REG case - if operand is a REG. + * cplus-dem.c (demangle_template): Add new parameter. Handle new + template-function mangling. + (consume_count_with_underscores): New function. + (demangle_signature): Handle new name-mangling scheme. - * i960/i960.h (TARGET_SWITCHES): Make -mold-align set - TARGET_FLAG_STRICT_ALIGN. - (STRICT_ALIGNMENT): Test TARGET_STRICT_ALIGN. +Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be> - * sh/sh.c (andcosts): Modify costs to match the hardware, and add - explanatory comments. + * flow.c (print_rtl_with_bb): Cast alloca return values for variables + start and end. - * sparc/sol2.h (CPP_PREDEFINES): Add -D__SVR4. - -Wed Mar 29 14:30:30 1995 Michael Meissner <meissner@cygnus.com> +Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com) - * rs6000/rs6000.md (movsf): When moving to/from integer registers, - don't move floating point to memory if it is being simulated with - -msoft-float. + * frame.c: Remove last change. + * dwarf2.h: Remove last change. + * tree.h: Add declarations of DWARF2 unwind info support + functions. -Wed Mar 29 06:47:36 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) - - * c-parse.in (initdcl): Only call decl_attributes once. - * c-common.c (decl_attributes): Clean up test for __mode__. +Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.com> -Tue Mar 28 08:34:37 1995 John Hassey (hassey@dg-rtp.dg.com) + * c-decl.c (init_decl_processing): Add __builtin_dwarf_reg_size. + * tree.h (built_in_function): Likewise. + * expr.c (expand_builtin): Likewise. + * except.h: Likewise. + * dwarf2out.c (expand_builtin_dwarf_reg_size): New fn. + * libgcc2.c (copy_reg): New fn. + (__throw): Use it. - * i386.md (adddi3): Don't treat two non-equal MEMs as non-aliasing. +Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com> -Tue Mar 28 08:20:49 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * c-typeck.c (build_binary_op): Warn about comparing signed vs + unsigned if -W is specified and -Wno-sign-compare is not. + * c-decl.c (warn_sign_compare): Initialize to -1. + (c_decode_option): -Wall no longer implies -Wsign-compare. - * a29k.h (CONSTANT_ADDRESS_P): Provide consistent definition. +Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Tue Mar 28 07:26:41 1995 Paul Eggert <eggert@twinsun.com> + * frame.c: Include gansidecl.h for PROTO. + * dwarf2out.c: Move inclusion of dwarf2.h down so that PROTO is + defined. Don't declare dwarf2out_cfi_label here. + * dwarf2.h: Add declarations of DWARF2 unwind info support + functions. + * m68k.c: Include dwarf2.h. + (output_function_prologue): Add dwarf2 support. + * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM): New macros. + (INCOMING_FRAME_SP_OFFSET): Likewise. - * cccp.c (do_xifdef, do_endif): Remove unnecessary pointer comparisons. + * integrate.c (expand_inline_function): Make sure there is at + least one insn that can be used as an insertion point. -Mon Mar 27 20:45:15 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com> - * calls.c (expand_call, store_one_arg): Don't set KEEP in calls - to assign_stack_temp. - * function.c (preserve_temp_slots): Clear ADDR_TAKEN on item - that we are preserving. + * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/ -Mon Mar 27 14:39:35 1995 Ian Lance Taylor <ian@cygnus.com> +Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com) - * mips/mips.h (FIRST_PSEUDO_REGISTER): Increment. - (FIXED_REGISTERS, CALL_USED_REGISTERS): Add new register. - (MD_REG_LAST): Increment. - (ST_REG_FIRST, ST_REG_LAST): Increment. - (HILO_REGNUM): Define. - (enum reg_class): Add HILO_REG. - (REG_CLASS_NAMES): Add "HILO_REG". - (REG_CLASS_CONTENTS): Add HILO_REG initializer, and adjust ST_REGS - and ALL_REGS initializers. - (SECONDARY_RELOAD_CLASS): Remove. - (SECONDARY_INPUT_RELOAD_CLASS): Define. - (SECONDARY_OUTPUT_RELOAD_CLASS): Define. - (REGISTER_MOVE_COST): Treat HILO_REG as MD_REGS. - (REGISTER_NAMES): Add initialization line. - (DEBUG_REGISTER_NAMES): Add "accum". - * mips/mips.md: For each instruction which sets HI or LO, clobber - HILO_REGNUM with (clobber (match_scratch:MODE N "=a")). Change - each explicit reference to register 66 to register 67. - (mulsidi3): Change to define_expand. - (mulsidi3_internal): New name of old mulsidi3. - (mulsidi3_64bit): New insn. - (umulsidi3): Change to define_expand. - (umulsidi3_internal): New name of old umulsidi3. - (umulsidi3_64bit): New insn. - (madddi_64bit, umaddi_64bit): New insns. - (movdi_internal2): Add case for setting HILO_REG to zero. - (reload_indi, reload_outdi): New define_expands. - (movsi_internal1, movsi_internal2): Add cases for setting MD_REGS - to zero, and for setting a general reg to HILO_REG. - (reload_outsi): New define_expand. - * mips/mips.c (mips_reg_names): Add "accum". - (mips_sw_reg_names): Likewise. - (mips_regno_to_class): Map HILO_REGNUM to HILO_REG. - (mips_move_1word): Handle moving HILO_REGNUM to a general - register. Make sure that the normal MD_REG cases aren't used for - HILO_REGNUM. Handle moving zero to a MD_REG. - (mips_move_2words): Make sure that the normal MD_REG cases aren't - used for HILO_REGNUM. Handle moving zero to a MD_REG. - (override_options): Set mips_char_to_class for 'a' and 'b'. - (mips_secondary_reload_class): Add in_p argument. Handle - HILO_REGNUM. + * version.c: Bump for snapshot. -Mon Mar 27 07:16:05 1995 Warner Losh <imp@village.org> +Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com> - * gcc.c: Removed __NetBSD__ from conditional. - Declare strerror if HAVE_STRERROR is defined; otherwise - declare sys_errlist and sys_nerr. - (my_strerror): New function. - -Fri Mar 24 18:08:14 1995 Jason Merrill <jason@python.cygnus.com> - - * i386/linux.h (LIB_SPEC): Don't try to link with libraries we - know only exist in archive form unless -static. + Bring over from FSF. -Fri Mar 24 16:12:16 1995 Doug Evans <dje@cygnus.com> - - * Makefile.in (multilib.h): Depend on Makefile, not config.status. - -Fri Mar 24 15:01:17 1995 Michael Meissner <meissner@cygnus.com> - - * rs6000/rs6000.h (TARGET_MULTIPLE_SET): New target_flags bit that - indicates -mmultiple or -mno-multiple was explicitly passed by the - user, and not set as part of the cpu defaults. - (TARGET_SWITCHES): Set TARGET_MULTIPLE_SET bit for both -mmultiple - and -mno-multiple. - - * rs6000/rs6000.c (rs6000_override_options): If -mmultiple or - -mno-multiple was explicitly used, don't override the setting with - the processor default. - -Wed Mar 22 21:42:13 1995 Doug Evans <dje@cygnus.com> - - * i960/i960.c (i960_function_arg_advance): Ensure all regs marked - as used if stack is also used (for va_start). - (i960_setup_incoming_varargs): Rewrite to be similar to Intel's - version, but don't allocate reg block unless necessary. - * ginclude/va-i960.h (varargs va_start): Save g14 explicitly. - Account for arguments preceding va_alist. - -Wed Mar 22 13:24:55 1995 Torbjorn Granlund <tege@adder.cygnus.com> - - * pa.c (singlemove_string): Handle SFmode constants again. Simplify. - (zdepi_cint_p): Make some variables HOST_WIDE_INT. - (lhs_lshift_cint_operand): Likewise. - (output_and): Likewise. - (output_ior): Likewise. + Wed Sep 24 19:17:08 1997 Doug Evans <dje@cygnus.com> -Wed Mar 22 12:40:09 1995 Jim Wilson <wilson@chestnut.cygnus.com> + * sparc/sparc.md (get_pc_via_call): Renamed from get_pc_sp32. + (get_pc_via_rdpc): Renamed from get_pc_sp64. + * sparc/sparc.c (finalize_pic): Update call to gen_get_pc_via_call. - * sh.md (udivsi3): Don't clobber register 6. - (udivsi3, divsi3, mulsi3_call): Use a pseudo-reg with regclass 'z' - for output rather than hard register 0. - (block_move_real): Don't clobber registers 4 and 5. + Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu> - * mips.c (mips_select_section): Apply constant DEC_INITIAL tests - only to VAR_DECLs. + * sparc/sparc.h (ASM_CPU_SPEC): Pass -Av9a for v8plus, ultrasparc. + (TARGET_OPTIONS): Add -malign-loops=, -malign-jumps=, + -malign-functions=. + (sparc_align_{loops,jumps,funcs}_string): Declare. + (sparc_align_{loops,jumps,funcs}): Declare. + (DEFAULT_SPARC_ALIGN_FUNCS): New macro. + (FUNCTION_BOUNDARY): Use sparc_align_funcs. + (STACK_BIAS): Define. + (SPARC_SIMM*_P): Cast to unsigned HOST_WIDE_INT first, then perform + test. + (SPARC_SETHI_P): New macro. + (CONST_OK_FOR_LETTER_P): Use it. + (ASM_OUTPUT_ALIGN_CODE): Define. + (ASM_OUTPUT_LOOP_ALIGN): Define. + * sparc/sparc.c (sparc_align_{loops,jumps,funcs}_string): New globals. + (sparc_align_{loops,jumps,funcs}): New globals. + (sparc_override_options): Handle -malign-loops=, -malign-jumps=, + -malign-functions=. + (move_operand): Use SPARC_SETHI_P. + (arith_double_operand): Cast to unsigned HOST_WIDE_INT first, then + perform test. + (arith11_double_operand): Likewise. + (arith10_double_operand): Likewise. + (finalize_pic): Finish sparc64 support. + (emit_move_sequence): Use SPARC_SETHI_P. Simplify low part of + 64 bit constants if able. + (output_fp_move_quad): Don't use fmovq unless TARGET_HARD_QUAD. + (sparc_builtin_saveregs, sparc64 case): Don't save fp regs if + ! TARGET_FPU. + * sparc/sparc.md (*): Use GEN_INT instead of gen_rtx. + (get_pc_sp32): Use for sparc64 as well. + (lo_sum_di_sp{32,64}): Fix handling on 64 bit hosts. + (sethi_di_sp64_const): Likewise. + (movtf_cc_sp64): Check TARGET_HARD_QUAD. + (cmp_zero_extract_sp64): Use unsigned HOST_WIDE_INT in cast. + (ashlsi3, ashldi3, ashrsi3, ashrdi3, lshrsi3, lshrdi3): Likewise. -Wed Mar 22 03:53:17 1995 Richard Stallman <rms@mole.gnu.ai.mit.edu> + Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com> - * config.sub (rm400, rm600): New machine names. - (sinix5.*, sinix): New os aliases. - (mips-siemens): Default os to sysv4. + * sparc/linux-aout.h (COMMENT_BEGIN): Delete. + * sparc/linux.h (COMMENT_BEGIN): Likewise. + * sparc/linux64.h (COMMENT_BEGIN): Likewise. -Mon Mar 20 21:56:47 1995 Per Bothner <bothner@kalessin.cygnus.com> + Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu> - Merged Paul Eggert's patch to cccp.c of Wed Mar 8 18:21:51 1995: - * cpplib.c (do_include): Fix type typo: pcfbuflimit is char *, not int. - - Merged Doug Evans' patch to cccp.c of Mon Feb 27 17:06:47 1995: - * cpplib.c (do_include): Check for redundant file before opening in - relative path case. Don't call fstat unnecessarily. + Add sparc64 linux support. + * configure.in (sparc64-*-linux*): Recognize. Add sparc/xm-sparc.h + to xm_file list on 32-bit sparc-linux. + * sparc/xm-sp64.h: New file. + * sparc/linux64.h: New file. + * sparc/xm-linux.h: Include some standard headers if not inhibit_libc. + Don't include xm-sparc.h. + * config/xm-linux.h (HAVE_PUTENV, HAVE_ATEXIT): Define. + * glimits.h (LONG_MAX): Handle sparc64. - Merged J.T. Conklin's patch to cccp.c of Wed Feb 22 20:29:31 1995: - * cpperror.c: Removed __NetBSD__ from conditional. + Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com> - Merged Kenner's patch to cccp.c & cexp.y of Tue Sep 20 17:49:47 1994: - * cppexp.c (struct operation): Make value by HOST_WIDE_INT. - (cpp_parse_expr): Change return type to HOST_WIDE_INT. - * cpplib (eval_if_expr): Likewise. - (do_if, do_elif): Update appropriately. - * cpplib.h (cpp_parse_expr): Removed, to avoid defining HOST_WIDE_INT. + * sparc/sysv4.h (ASM_COMMENT_START): Delete. + * sparc.h (ASM_COMMENT_START): Define. + * sparc.c (output_function_prologue): Use it. + (sparc_flat_output_function_{epi,pro}logue): Likewise. - Merged Paul Eggert's patch to cccp.c of Mon Aug 8 19:42:09 1994: - * cpplib.c (create_definition): Warn about `#define a@', since a - diagnostic is now required (see ISO TC1's addition to subclause 6.8). - Also warn about `#define is-empty(x) (!x)'. + Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com> -Tue Mar 21 00:10:50 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> + * sparc/sysv4.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Delete, + use sparc.h's copies. + * sparc/sparc.h (ASM_OUTPUT_{FLOAT,DOUBLE,LONG_DOUBLE}): Print + ascii form as well. - * x-pa (CC): Add "-Dbsd4_4". + Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> -Mon Mar 20 18:40:31 1995 Per Bothner <bothner@kalessin.cygnus.com> + * sparc.c (dwarf2out_cfi_label): Add declaration. + (save_regs, output_function_prologue): Remove cast for it. + (sparc_flat_{save_restore,output_function_prologue): Likewise. + ({save,restore}_regs): No longer inline. - * toplev.c (print_error_function): New function hook. - (default_print_error_function): New function. Default value - of print_error_function. Code moved here from report_error_function. - (report_error_function): Use print_error_function hook. +Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> -Mon Mar 20 20:27:43 1995 Doug Evans <dje@cygnus.com> + * fold-const.c (make_range): Correctly handle cases of converting + from unsigned to signed type. - * cccp.c (do_xifdef): Handle c++ comments. - (do_endif): Likewise. +Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> -Mon Mar 20 15:31:45 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * fold-const.c (merge_ranges): Make sure that if one range is subset + of another, it will always be the second range. Correct (+,-) case to + account for this. + +Tue Sep 23 08:32:51 1997 Jason Merrill <jason@yorick.cygnus.com> + + * final.c (final_end_function): Also do dwarf2 thing if + DWARF2_DEBUGGING_INFO. + (final_start_function): Likewise. + +Tue Sep 23 01:15:50 1997 David S. Miller <davem@tanya.rutgers.edu> + + * expmed.c (expand_divmod): If compute_mode is not the same as + mode, handle the case where convert_modes() causes op1 to no + longer be a CONST_INT. + + * reorg.c (dbr_schedule): At end of this pass, add REG_BR_PRED + note holding get_jump_flags() calculation to all JUMP_INSNs. + * rtl.h (enum reg_note): New note types REG_BR_PRED and REG_SAVE_AREA. + * rtl.c (reg_note_name): Add new note types. + +Tue Sep 23 00:59:54 1997 Jeffrey A Law (law@cygnus.com) + + * rtlanal.c (computed_jump_p): Fix typo in last change. + +Tue Sep 23 00:42:44 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * loop.c (indirect_jump_in_function_p): Return 0 + by default. + +Tue Sep 23 00:33:55 1997 Jeffrey A Law (law@cygnus.com) + + * rs6000/xm-rs6000.h: Fix thinko in last change. + * rs6000/xm-sysv4.h: Likewise. - * configure (i386 configurations): Prepend i386/ to t-crt*. +Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com> -Mon Mar 20 07:58:04 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p. - * stmt.c (fixup_gotos): Add missing call from last change. +Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com) - * objc/misc.c: Put Alpha-specific decls before #include of runtime.h. + * reg-stack.c (find_blocks): Fix thinko in last change. - * alpha.h (EXTRA_SECTIONS): Write zeros first time in .rdata. +1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Sat Mar 18 16:37:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * m68k.c (output_function_prologue): Add dwarf2 support. - * flow.c (mark_used_regs, case SUBREG): Set reg_changes_size even - for integer modes. - (mark_used_regs): Set reg_changes_size for RHS, if necessary. - * combine.c (gen_lowpart_for_combine): Set reg_changes_size, if needed. - * reload.c (push_reload): Reload a SUBREG if paradoxical and - class is CLASS_CANNOT_CHANGE_SIZE. - * reload1.c (gen_reload): Handle paradoxical SUBREGs. - * alpha.h (SECONDARY_{INPUT,OUTPUT}_RELOAD_CLASS): Need GENERAL_REGS - for paradoxical SUBREG and FLOAT_REGS. - (SECONDARY_NEEDED_MODE): Use actual mode for 4 bytes or wider. - * alpha.md (movsi): Allow FP regs and add case for store of FP reg. - Remove cvtlq from MEM to FP reg case. + * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM, + INCOMING_FRAME_SP_OFFSET): New definitions. - * rtl.h (emit_insns_after): Add declaration. - * stmt.c (fixup_gotos): Do a cleanup for a block when it is exited - even if label if not defined yet. +Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu> - * function.c (pop_function_context): Fix error in last change; - reference old value of current_function_decl before we modify it. + * combine.c (try_combine): Use NULL_RTX instead of '0' where + appropriate in calls to gen_rtx(). + * cse.c (cse_main): Likewise. + * emit-rtl.c (gen_label_rtx): Likewise. + * expr.c (init_expr_once): Likewise. + * haifa-sched.c (flush_pending_lists, sched_analyze_insn, + sched_analyze, init_rgn_data_dependences, + compute_block_backward_dependences): Likewise. + * sched.c (schedule_insns): Likewise. + * varasm.c (immed_double_const): Likewise. -Fri Mar 17 21:57:44 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to + SPARC_STACK_BIAS for sake of dwarf2 on sparc64. - * toplev.c (rest_of_compilation): Handle -Wreturn-type properly - for inlines we aren't compiling yet. +Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.com> -Fri Mar 17 21:26:48 1995 Mike Stump <mrs@cygnus.com> + * i386/sco5.h: Make ELF default file format and add -mcoff/-melf.. + (MULTILIB_DEFAULTS): Define. + (ASM_SPEC, CPP_SPEC): Handle -mcoff. + (STARTFILE_SPEC, ENDFILE_SPEC, LINK_SPEC): Likewise. + (LIBGCC_SPEC): Likewise. + (MASK_COFF, TARGET_COFF, TARGET_ELF): Define. + (SUBTARGET_SWITCHES): Add -mcoff and -melf. + * i386/t-sco5 (CRTSTUFF_T_CFLAGS): Add -fPIC. + (CRTSTUFF_T_CFLAGS_S): Tweak for COFF. + (EXTRA_PARTS, TAROUTOPTS): Delete. + (libgcc1-elf, libgcc2-elf, libgcc-elf targets): Delete. + (MULTILIB_OPTIONS): Define. + (MULTILIB_DIRNAMES, MULTILIB_EXCEPTIONS): Likewise. + (MULTILIB_MATCHE, MULTILIB_EXTRA_OPTS): Likewise. - * libgcc2.c (__register_exceptions): Handle empty tables. +Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com) -Fri Mar 17 11:48:31 1995 Douglas Rupp (drupp@cs.washington.edu) + * version.c: Bump for snapshot. - * i386/winnt.c (winnt_function_prologue): Deleted. - (gen_stdcall_suffix): New function. +Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@cygnus.com) -Thu Mar 16 17:36:52 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * loop.c (loop_number): Delete function. Change all references + to use uid_loop_num array. + * loop.h (loop_number): Delete declaration. + * unroll.c (unroll_loop): Change "loop_number" references to + use uid_loop_num instead. - * svr4.h (LINK_SPEC): If the user did not specify -h name, use the - output file name, if any. - * sparc/sol2.h (LINK_SPEC): Ditto. Also, if the user did not - specify -R path, add an -R for each -L. + * loop.c (loop_unroll_factor): Move outside #ifdef HAIFA + conditional. + (loop_unroll_iter): Remove unused variable and all references. + (loop_optimize): Always allocate and clear space for loop_unroll_factor. + (insert_bct): Fix minor formatting problems. + * loop.h (loop_unroll_factor): Move decl outside #ifdef HAIFA. + (loop_unroll_iter): Removed unused decl. + * unroll.c (unroll_loop): Remove code to set loop_unroll_iter. + Always record the unrolling factor. - Move SunOS 4-specific assembler switches into the appropriate place. - * m68k/sun[23].h (ASM_SPEC): Add %{R} %{j} %{J} %{h} %{d2} - %{keep-local-as-symbols:-L}. - * i386/sun.h (ASM_SPEC): Add %{R} %{keep-local-as-symbols:-L}. - * sparc/sparc.h (ASM_SPEC): Ditto. - * gcc.c (default_compilers): Remove %{R} %{j} %{J} %{h} %{d2} - %{keep-local-as-symbols:-L} from assembler rules. + * cse.c (simplify_relational_operation): Set h0u just like h0s. + Similarly for h1u and h1s. -Thu Mar 16 16:58:09 1995 Michael Meissner <meissner@cygnus.com> + * flow.c (jmp_uses_reg_or_mem): Deleted unused function. + (find_basic_blocks): Use computed_jump_p to determine if a + particular JUMP_INSN is a computed jump. + * reg-stack.c (find_blocks): Use computed_jump_p to determine + if a particular JUMP_INSN is a computed jump. + * rtlanal.c (jmp_uses_reg_or_mem): New function. + (computed_jump_p): Likewise. + * rtl.h (computed_jump_p): Declare. + * genattrtab.c (pc_rtx): Define and initialize. + * loop.c (loop_optimize): Always determine if the current + function has a computed jump. + (indirect_jump_in_function_p): Use computed_jump_p to determine + if a particular JUMP_INSN is a computed jump. - * rs6000/eabi-ctors.c: New file, handle C++ static constructors - and destructors without requiring anything else from a libc. + * loop.c (fix_bct_param): Delete unused function. + (check_bct_param): Likewise. - * rs6000/t-eabi (LIB2FUNCS_EXTRA): Build eabi-ctors.c. +Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com> - * rs6000/eabi.asm: Do not load up register 2 if there is no .got - section. Jump to the __do_global_ctors function at the end of - processing to call C++ static constructors, and it will return to - __eabi's caller. Use normal volatile registers, instead of saving - and restoring registers 30 and 31. + * frame.c (__deregister_frame): Check properly for initialized object. - * rs6000/eabi.h (STARTFILE_SPEC): Define as null. - (LIB_SPEC): Ditto. - (ENDFILE_SPEC): Ditto. - (LIBGCC_SPEC): Always look for libgcc.a. +Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu) -Thu Mar 16 17:05:14 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined. - * stmt.c (warn_if_unused_value, case SAVE_EXPR): New case. - (warn_if_unused_value, case NOP_EXPR): OK if CALL_EXPR inside. +Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - * c-common.c (decl_attributes): Allow alignment for TYPE_DECLs. + * jump.c (thread_jumps): check can_reverse_comparison_p before + threading a reversed-condition jump. - * Makefile.in (xsys-protos.h): Fix typo in -U operand. + * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p. + * haifa-sched.c (update_flow_info): Likewise. -Thu Mar 16 13:49:10 1995 Per Bothner <bothner@rtl.cygnus.com> +Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com) - * cpplib.c, cpplib.h: New files - a C PreProcessor library. - * cpphash.c, cpphash.h, cppalloc.c, cpperror.c, cppexp.c: - New files - utility features used by cpplib. - * cppmain.c: New file - cpp replacement main program for cpplib. - * Makefile.in: New rules to build cppmain. + * Makefile.in (BOOT_CFLAGS): Use -O2. -Thu Mar 16 16:11:05 1995 Douglas Rupp (drupp@cs.washington.edu) + * configure.in (strtoul, bsearch): Have autoconf check for these + functions. + * configure, config.in: Rebuilt. - * i386/winnt.h (FUNCTION_PROLOGUE, HAVE_probe, gen_probe): Deleted. - (ENCODE_SECTION_INFO, VALID_MACHINE_DECL_ATTRIBUTE): New macro. + * m68k/xm-mot3300.h (alloca): Properly declare if __STDC__. + * mips/mips.h (alloca): Likewise. + * rs6000/xm-rs6000.h (alloca): Likewise. + * rs6000/xm-sysv4.h: Likewise. -Thu Mar 16 15:58:24 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Thu Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com> - * combine.c (apply_distributive_law, case SUBREG): Fix typo when - checking for paradoxical SUBREG. + * final.c (final_scan_insn): Hand BARRIERs off to the dwarf2 code. + * dwarf2out.c (dwarf2out_frame_debug): Pass the whole insn along. + (dwarf2out_stack_adjust): A BARRIER resets the args space to 0. -Wed Mar 15 18:45:08 1995 Doug Evans <dje@cygnus.com> + * except.c (end_eh_unwinder): Subtract 1 from return address. + * libgcc2.c (__throw): Likewise. + (find_exception_handler): Don't change PC here. Compare end with >. - * libgcc1-test.c: Renamed from cross-test.c. - * Makefile.in (LIBGCC1_TEST): Renamed from CROSS_TEST. - (all.cross): Delete $(ENQUIRE) dependency. - (libgcc1-test): Renamed from cross-test. - Delete unnecessary gcc-cross and $(LIBGCC) dependencies. - Link with -nostartfiles -nostdlib - `$(GCC_FOR_TARGET) --print-libgcc-file-name`. - (libgcc1-test.o): Renamed from cross-test.o. - Change gcc-cross dependency to xgcc since the latter is used. +Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@cygnus.com> -Wed Mar 15 13:49:21 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * v850.c (compute_register_save_size): Correct register + number. + * v850.md (save_interrupt, return_interrupt): Correct + register number. + * v850/lib1funcs.asm (save_interrupt): Correct register number. + (return_interrupt): Use stack pointer, not element pointer. - * tree.c (save_tree_status): Now takes a tree 'context' instead of - a boolean 'toplevel' as an argument. If 'context' is not - current_function_decl, create a new obstack for the new function. - Also save inline_obstacks. - (restore_tree_status): No longer takes a second argument. Also - restore inline_obstacks. - (temporary_allocation): Clear inline_obstacks. - (permanent_allocation): Free up the obstacks in inline_obstacks. +1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com> - * function.h (struct function): New fields contains_functions and - inline_obstacks. + * configure.in, configure: Make sure to create the stage* and include + symbolic links in each subdirectory. - * function.c (push_function_context_to): Now takes a tree - 'context' instead of a boolean 'toplevel' as an argument. - Also save current_function_contains_functions. - (push_function_context): Pass current_function_decl to it. - (pop_function_context_from): Takes 'context' instead of 'toplevel'. - Set current_function_contains_functions properly. - (pop_function_context): Pass current_function_decl to it. +Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com) -Wed Mar 15 14:53:09 1995 Michael Meissner <meissner@cygnus.com> + * pa.md (reload_peepholes): Don't allow addresses with side + effects for the memory operand. - * rs6000/rs6000.md (abssi2): Turn into a define_expand. If - TARGET_POWER, do old code that uses the abs instruction. If not, - do abs in three instructions, using a temporary register, which - enables generating more reasonable code for sne. Add a recognizer - for negative of the absolute value. Add define_splits for the - PowerPC. - (sne insn): Add a recognizer for sne on the PowerPc to use two - instructions, compared to the four generated using the absolute - value insn. +Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.cygnus.com> -Tue Mar 14 18:38:40 1995 J.T. Conklin <jtc@cygnus.com> + * libgcc2.c (find_exception_handler): Subtract one from our PC when + looking for a handler, to avoid hitting the beginning of the next + region. - * m68k.md ({add,sub,mul,div}[sdx]f3): Add new patterns for recognizing - SImode, HImode, and QImode operands. + * except.c (expand_builtin_set_return_addr_reg): Use force_operand. -Mon Mar 13 18:59:36 EST 1995 David Edelsohn <edelsohn@mhpcc.edu> +Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com) - * rs6000.h (CPP_SPEC): Add PPC403. - (processor_type): Add PPC403. - (RTX_COSTS): Add PPC403. - * powerpc.h (CPP_SPEC): Add PPC403. - * sysv4.h (CPP_SPEC): Add PPC403. - * rs6000.c (processor_target_table): Add PPC403. - * rs6000.md (define_attr cpu and function units): Add PPC403. + * mips/abi64.h (LONG_MAX_SPEC): Define. + * mips.h (LONG_MAX_SPEC): Define. + (CPP_SPEC): Include long_max_spec. + (EXTRA_SPECS): Include long_max_spec. -Mon Mar 13 14:40:23 1995 Michael Meissner <meissner@cygnus.com> +Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com) - * rs6000/rs6000.md (call, call_value insns): Do not put a nop - after a bl instruction on System V.4 and eABI. + * v850.c (construct_save_jarl): Fix thinko in last change. - * rs6000/sysv.4 (SUBTARGET_SWITCHES): Add support for - -mno-traceback to suppress the V.4 traceback word. - (ASM_DECLARE_FUNCTION_NAME): Don't put out a traceback work if - -mno-traceback. +Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com) -Mon Mar 13 13:36:37 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * version.c: Bump for snapshot. - * t-svr4, i386/t-{crtpic,sol2}, m88k/t-svr4, sparc/t-sol2: - Use -fPIC, rather than -fpic, for building crtstuff. +Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com> -Sat Mar 11 17:27:08 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * libgcc2.c (find_exception_handler): Not found is -1. - * configure: Use aix3newas.h for AIX 3.2.4 and 5. - * rs6000/aix41.h: Undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}. - * rs6000/aix3newas.h: New file. Define ASM_SPEC to -u, and - undefine ASM_OUTPUT_EXTERNAL{,_LIBCALL}. + * integrate.c (expand_inline_function): Move expand_start_bindings + after expanding the arguments. -Sat Mar 11 06:42:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com> - * dbxout.c (dbxout_symbol): Properly handle decl whose DECL_NAME - points to a TYPE_DECL with a zero TYPE_NAME. + * expr.c (expand_expr): Remove previous incorrect change. + If target and slot has no DECL_RTL, then call mark_addressable + again for the slot after we give it RTL. -Fri Mar 10 18:18:33 1995 Torbjorn Granlund <tege@cygnus.com> +Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com) - * pa.h (PROMOTE_MODE): Define. + * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable + again for the slot after we give it RTL. -Fri Mar 10 14:37:58 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com> - * sdbout.c (sdbout_record_type_name): If TYPE_NAME is - a TYPE_DECL, get name from DECL_NAME. + * v850.c (register_is_ok_for_epilogue, + pattern_is_ok_for_epilogue, construct_restore_jr, + pattern_is_ok_for_prologue, construct_save_jarl): New functions. -Fri Mar 10 14:09:26 1995 Doug Evans <dje@cygnus.com> + * v850.h (pattern_is_ok_for_prologue, + pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New + predicates. - * arm/riscix.h (SUBTARGET_SWITCHES): Renamed from - ARM_EXTRA_TARGET_SWITCHES. - * arm/riscix1-1.h (SUBTARGET_SWITCHES): Likewise. - * arm.h (SUBTARGET_SWITCHES): Likewise. - (TARGET_HARD_FLOAT, TARGET_SOFT_FLOAT): Define. - (TARGET_SWITCHES): Add -msoft-float, -mhard-float. - (BYTES_BIG_ENDIAN): Delete #ifndef/#endif. - (CONDITIONAL_REGISTER_USAGE): If -msoft-float, disable fp regs. - (FUNCTION_VALUE): R16 is return reg only if !-msoft-float. - (LIBCALL_VALUE): Likewise. - * arm.md (all fp patterns): Conditionalize on TARGET_HARD_FLOAT. - (*movsf_soft_insn, *movdf_soft_insn): New patterns. + * v850.md: Replace prologue and epilogue patterns with a + match_parallel pattern. -Fri Mar 10 13:53:46 1995 Jim Wilson <wilson@cygnus.com> +Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com) - * reorg.c (steal_delay_list_from_target): Exit at the top if the - branch in SEQ is not a single set. + * aclocal.m4: Add replacement for AC_PROG_INSTALL. + * configure.in: Use EGCS_PROG_INSTALL. - * sh.md (movdi define_split, movdf define_split): Correct indentation - and formatting. Make the condition fail if an operand is a MEM - with an auto-inc address. +Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com) - * varasm.c (copy_constant): Copy operand of ADDR_EXPR if it is a - constant. + * dwarf2out.c (gen_subprogram_die): Handle redefinition of an + extern inline function. + +Mon Sep 15 22:40:55 1997 Richard Henderson (rth@cygnus.com) + + * dwarf2out.c (reg_loc_descriptor): Fix prototype. + (concat_loc_descriptor): New function. + (loc_descriptor): Call it. + (add_AT_location_description): Also elide the descriptor if both + halves of a CONCAT are pseudos. + (add_location_or_const_value_attribute): Recognize CONCAT too. + +Mon Sep 15 15:24:00 1997 Richard Henderson <rth@cygnus.com> + + * alpha.md (movdi): Handle CONST_DOUBLE for TARGET_BUILD_CONSTANTS. + + * alpha/alpha.c (output_prolog): New variable sa_reg. Use it for + out-or-range reg_offset. + (output_epilog): Likewise. + +Mon Sep 15 15:39:26 1997 Jeffrey A Law (law@cygnus.com) + + * cse.c (simplify_relational_operation): If MODE specifies a + mode wider than HOST_WIDE_INT, then the high word of a CONST_INT + is derived from the sign bit of the low word. + +Mon Sep 15 11:43:38 1997 Jason Merrill <jason@yorick.cygnus.com> + + Support dwarf2 unwinding on PUSH_ROUNDING targets like the x86. + + * dwarf2.h: Add DW_CFA_GNU_args_size. + * frame.c (execute_cfa_insn): Likewise. + * dwarf2out.c (dwarf_cfi_name, output_cfi): Likewise. + (dwarf2out_args_size, dwarf2out_stack_adjust): New fns. + (dwarf2out_frame_debug): If this isn't a prologue or epilogue + insn, hand it off to dwarf2out_stack_adjust. + (dwarf2out_begin_prologue): Initialize args_size. + * frame.h (struct frame_state): Add args_size. + * libgcc2.c (__throw): Use args_size. + * final.c (final_scan_insn): If we push args, hand off all insns + to dwarf2out_frame_debug. + * defaults.h (DWARF2_UNWIND_INFO): OK for !ACCUMULATE_OUTGOING_ARGS. + + * dwarf2out.c dwarf2out_frame_debug): Fix typo. + Handle epilogue restore of SP from FP. + * emit-rtl.c (gen_sequence): Still generate a sequence if the + lone insn has RTX_FRAME_RELATED_P set. + + * frame.c (extract_cie_info): Handle "e" augmentation. + * dwarf2out.c (ASM_OUTPUT_DWARF_*): Provide definitions in the + absence of UNALIGNED_*_ASM_OP. + (UNALIGNED_*_ASM_OP): Only provide defaults if OBJECT_FORMAT_ELF. + (output_call_frame_info): Use "e" instead of "z" for augmentation. + Don't emit augmentation fields length. + (dwarf2out_do_frame): Move outside of #ifdefs. + * defaults.h (DWARF2_UNWIND_INFO): Don't require unaligned data + opcodes. + + * sparc.h (UNALIGNED_INT_ASM_OP et al): Don't define here after all. + * sparc/sysv4.h (UNALIGNED_INT_ASM_OP): Define here. + * sparc/sunos4.h (DWARF2_UNWIND_INFO): Define to 0. + * sparc/sun4gas.h: New file. + * configure.in: Use sun4gas.h if SunOS 4 --with-gnu-as. + + * collect2.c (write_c_file_stat, write_c_file_glob): Declare + __register_frame_table and __deregister_frame. + +1997-09-15 Brendan Kehoe <brendan@cygnus.com> + + * except.c (find_exception_handler_labels): Use xmalloc instead of + alloca, since MAX_LABELNO - MIN_LABELNO can be more than 1 million + in some cases. + +Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in: Various changes to build info files + in the object tree rather than the source tree. + +Sun Sep 14 12:24:30 1997 Jeffrey A Law (law@cygnus.com) + + * fixinc.math: New file to fix math.h on some systems. + * configure.in (freebsd, netbsd): Use fixinc.math on these + systems. + * configure: Rebuilt. + +Sun Sep 14 11:11:05 1997 Jeffrey A Law (law@cygnus.com) + + * regmove.c (regmove_optimize): If we end up moving the + original insn due to lifetime overlaps, make sure to move + REG_NOTES too. + +Sat Sep 13 15:51:11 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (INSTALL_{PROGRAM,DATA}): Use value found by configure. + +Sat Sep 13 12:57:26 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (add_branch_dependences): Make each insn in + a SCHED_GROUP_P block explicitly depend on the previous insn. + +Fri Sep 12 13:49:58 1997 Jason Merrill <jason@yorick.cygnus.com> + + * except.h: Prototype dwarf2 hooks. + * expr.c: Adjust. + +Thu Sep 11 17:43:55 1997 Jim Wilson <wilson@cygnus.com> + + * configure.in (native_prefix): Delete. + (mips-dec-netbsd): Don't set prefix. + (*linux*): Don't set prefix. + +Thu Sep 11 15:48:32 1997 Fred Fish <fnf@ninemoons.com> + + * protoize.c: Include <varargs.h> only if HAVE_VARARGS_H is + defined. If not defined, include <sys/varargs.h> if + HAVE_SYS_VARARGS_H is defined. + * configure.in: Test for varargs.h and sys/varargs.h. + * configure: Regenerate with autoconf. + * config.in: Regenerate with autoheader. + + * cpplib.c (quote_string): Cast first arg of sprintf call + from "unsigned char *" to "char *". + (output_line_command): Ditto. + (macroexpand): Ditto. + (do_line): Cast atoi arg from "unsigned char *" to "char *". + +Wed Sep 10 21:37:30 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + + * Makefile.in (compare): Exit with nonzero status if there + are comparison failures. Note which files failed the + comparison test in .bad_compare. + +Wed Sep 10 17:05:46 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * config/alpha/elf.h (CPP_PREDEFINES): Remove -D__PIC__ -D__pic__. + +Wed Sep 10 16:37:28 1997 Fred Fish <fnf@ninemoons.com> + + * Makefile.in (LN, LN_S): New macros, use where appropriate. + * aclocal.m4 (GCC_PROG_LN_S, GCC_PROG_LN): New tests. + * configure.in: Use GCC_PROG_LN_S and GCC_PROG_LN. + * configure: Regenerated. + +Thu Sep 11 11:09:43 1997 Jeffrey A Law (law@cygnus.com) + + * loop.c (strength_reduce): Fix typo. + +Wed Sep 10 16:01:15 1997 Jim Wilson <wilson@cygnus.com> + + * m88k/m88k.c (struct option): Rename to struct options. + * m88k/dolph.h (INITIALIZE_TRAMPOLINE): Delete here. + * m88k/sysv3.h (INITIALIZE_TRAMPOLINE): Delete ifdef and comments. + * libgcc2.c (__enable_execute_stack): Check for __sysV88__ not + __DOLPHIN__ or sysV88. + +Wed Sep 10 14:58:40 1997 Jim Wilson <wilson@cygnus.com> + + * emit-rtl.c (gen_lowpart_common): For a SUBREG, add in word when + create new subreg. + +Wed Sep 10 15:19:22 1997 Jeffrey A Law (law@cygnus.com) + + * config.sub: Accept 'amigados' for backward compatability. + +Wed Sep 10 14:05:08 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * Makefile.in (testsuite/site.exp): New target. + (check-gcc, check-g++): Depend on testsuite/site.exp. + Don't stop for failure. + +Wed Sep 10 12:59:57 1997 Jason Merrill <jason@yorick.cygnus.com> + + * expr.c (expand_builtin): Only support __builtin_dwarf_fp_regnum() + if DWARF2_UNWIND_INFO. + +Wed Sep 10 11:49:20 1997 Jason Merrill <jason@yorick.cygnus.com> + + Add support for exception handling using DWARF 2 frame unwind info. + Currently works on SPARC and MIPS, and almost on x86. + + * libgcc2.c (get_reg, put_reg, get_return_addr, put_return_addr, + next_stack_level, in_reg_window): Helper fns. + (__throw): Implement for DWARF2_UNWIND_INFO. + + * expr.c (expand_builtin): Handle builtins used by __throw. + * tree.h (enum built_in_function): Add builtins used by __throw. + * c-decl.c (init_decl_processing): Declare builtins used by __throw. + * dwarf2out.c (expand_builtin_dwarf_fp_regnum): Used by __throw. + * except.c (expand_builtin_unwind_init): Hook for dwarf2 __throw. + (expand_builtin_extract_return_addr): Likewise. + (expand_builtin_frob_return_addr): Likewise. + (expand_builtin_set_return_addr_reg): Likewise. + (expand_builtin_eh_stub): Likewise. + (expand_builtin_set_eh_regs): Likewise. + (eh_regs): Choose two call-clobbered registers for passing back values. + + * frame.c, frame.h: New files for parsing dwarf 2 frame info. + * Makefile.in (LIB2ADD): New variable. Add $(srcdir)/frame.c. + (libgcc2.a): Use it instead of $(LIB2FUNCS_EXTRA) $(LANG_LIB2FUNCS) + (stmp-multilib): Likewise. + ($(T)crtbegin.o, $(T)crtend.o): Add -fno-exceptions. + + * except.c: #include "defaults.h". + (exceptions_via_longjmp): Default depends on DWARF2_UNWIND_INFO. + (emit_throw): Don't defeat assemble_external if DWARF2_UNWIND_INFO. + (register_exception_table_p): New fn. + (start_eh_unwinder): Don't do anything if DWARF2_UNWIND_INFO. + (end_eh_unwinder): Likewise. + + * crtstuff.c: Wrap .eh_frame section, use EH_FRAME_SECTION_ASM_OP, + call __register_frame and __deregister_frame as needed. + * varasm.c (eh_frame_section): New fn if EH_FRAME_SECTION_ASM_OP. + * dwarf2out.c (EH_FRAME_SECTION): Now a function-like macro. Check + EH_FRAME_SECTION_ASM_OP. + * sparc/sysv4.h (EH_FRAME_SECTION_ASM_OP): Define. + * mips/iris6.h: (EH_FRAME_SECTION_ASM_OP): Define. + (LINK_SPEC): Add __EH_FRAME_BEGIN__ to hidden symbols. + + * dwarf2out.c (output_call_frame_info): If no support for + EXCEPTION_SECTION, mark the start of the frame info with a + collectable tag. + * collect2.c (frame_tables): New list. + (is_ctor_dtor): Recognise frame entries. + (scan_prog_file): Likewise. + (main): Pass -fno-exceptions to sub-compile. Also do collection + if there are any frame entries. + (write_c_file_stat): Call __register_frame_table and + __deregister_frame as needed. + (write_c_file_glob): Likewise. + + * defaults.h (DWARF2_UNWIND_INFO): Default to 1 if supported. + Also require unaligned reloc support. + * sparc.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP, + UNALIGNED_DOUBLE_INT_ASM_OP): Define here. + * sparc/sysv4.h: Not here. + + * toplev.c (compile_file): Call dwarf2out_frame_{init,finish}. + * dwarf2out.c (dwarf2out_init): Don't call dwarf2out_frame_init. + (dwarf2out_finish): Don't call dwarf2out_frame_finish. + + * libgcc2.c (L_eh): Reorganize, moving code shared by different + EH implementations to the top. + (find_exception_handler): Split out. Start from 0. Compare against + end with >=. + (__find_first_exception_table_match): Use it. + * except.c (output_exception_table): Don't do anything if there's + no table. Don't output a first entry of zeroes. + (eh_outer_context): Adjust properly. + (add_eh_table_entry): Use xrealloc. + * toplev.c (compile_file): Just call output_exception_table. + +Wed Sep 10 11:30:36 1997 Jason Merrill <jason@cygnus.com> + + * i386.c (ix86_prologue): Add dwarf2 support for !do_rtl case. + +Wed Sep 10 08:17:10 1997 Torbjorn Granlund <tege@pdc.kth..se> + + * except.c (eh_outer_context): Do masking using expand_and. + +Wed Sep 10 01:38:30 1997 Doug Evans <dje@cygnus.com> + + Add port done awhile ago for the ARC cpu. + * arc/arc.h: New file. + * arc/arc.c: New file. + * arc/arc.md: New file. + * arc/initfini.c: New file. + * arc/lib1funcs.asm: New file. + * arc/t-arc: New file. + * arc/xm-arc.h: New file. + * ginclude/va-arc.h: New file. + * ginclude/stdarg.h: Include va-arc.h ifdef __arc__. + * ginclude/varargs.h: Likewise. + * Makefile.in (USER_H): Add va-arc.h. + * configure.in (arc-*-elf*): Recognize. + * longlong.h: Add ARC support. + +Wed Sep 10 01:32:54 1997 Jeffrey A Law (law@cygnus.com) + + * expr.c (clear_storage): Use CONST0_RTX instead of const0_rtx. + when clearing non-BLKmode data. + +Wed Sep 10 00:29:29 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * m88k/sysv3.h (INITIALIZE_TRAMPOLINE) Define. + * libgcc2.c (__enable_execute_stack): Provide for sysV88 too. + + * xm-m88k.h (USG): Only define if it hasn't already been defined. + + * Makefile.in (risky-stage1): Delete gratutious whitespace. + + * Makefile.in (clean): Delete libgcc1-test. + + * Makefile.in (INSTALL): cd to $(srcdir) before running texinfo. + +Tue Sep 9 17:07:36 1997 Stan Cox <coxs@dg-rtp.dg.com> + + * m88k.c (m88k_expand_prologue): Set MEM_IN_STRUCT_P of va_list + template. + +Tue Sep 9 09:50:02 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> + + * dwarf2out.c (output_call_frame_info): Call named_section. + +Tue Sep 9 09:12:17 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (print_value): Fix last change. + +Tue Sep 9 01:30:37 1997 Jason Merrill <jason@yorick.cygnus.com> + + * mips.h (DWARF_FRAME_REGNUM): Use the same numbering regardless of + write_symbols. + +Mon Sep 8 16:32:43 1997 Jason Merrill <jason@yorick.cygnus.com> + + * mips.c (function_prologue): Set up the CFA when ABI_32. + + * sparc.c (save_regs): Check dwarf2out_do_frame instead of DWARF2_DEBUG + for dwarf2 unwind info. + (output_function_prologue, sparc_flat_output_function_prologue): Same. + + * final.c (final_end_function): Check dwarf2out_do_frame instead + of DWARF2_DEBUG for dwarf2 unwind info. + (final_scan_insn): Likewise. + (final_start_function): Likewise. Initialize dwarf2 frame debug here. + (final): Not here. + + * expr.c (expand_builtin_return_addr): Only SETUP_FRAME_ADDRESSES if + count > 0. + + * varasm.c (exception_section): Check EXCEPTION_SECTION first. + +Mon Sep 8 15:15:11 1997 Nick Clifton <nickc@cygnus.com> + + * v850.h (ASM_SPEC): Pass on target processor. + (CPP_PREDEFINES): Only define if not already specified. + (TARGET_VERSION): Only define if not already specified. + (MASK_CPU, MASK_V850, MASK_DEFAULT): Bits to specify target + processor. + (EXTRA_SWITCHES): Extra entries in the switches array. + (TARGET_DEFAULT): Set default target processor. + +Mon Sep 8 18:26:35 1997 Jim Wilson <wilson@cygnus.com> + + * m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): In MOTOROLA + cases, add %# and %/, and add : to make them into extended asms. + +Sun Sep 7 23:57:50 1997 Weiwen Liu <liu@hepunix.physics.yale.edu> + + * alias.c (init_alias_analysis): Clean up incompatible pointer + type warning in bzero. + * regmove.c (regmove_optimize): Ditto. + * haifa-sched.c (find_rgns): Ditto. + + * haifa-sched.c (print_value): Clean up ptr->int cast + warnings. + +Sun Sep 7 23:18:32 1997 Fred Fish <fnf@ninemoons.com> + + * INSTALL: Change 'amigados' to 'amigaos' to match current usage. + * install.texi (Configurations): Ditto. + * config.sub: Ditto. + +Sun Sep 7 22:56:56 1997 Weiwen Liu (liu@hepvms.physics.yale.edu) + + * Makefile.in (sdbout.o): Depend on insn-config.h. + +Sun Sep 7 18:44:50 1997 Jim Wilson <wilson@cygnus.com> + + * m68k/m68k.h (TARGET_SWITCHES): For 68000, 68302, subtract MASK_68881. + For 68303, 68332, cpu32, subtract MASK_68040_ONLY. + +Sun Sep 7 18:30:46 1997 Jason Merrill <jason@yorick.cygnus.com> + + * dwarf2out.c (dwarf2out_frame_debug): Assume that in a PARALLEL + prologue insn, only the first elt is significant. + (output_call_frame_info): For exception handling, always use 4-byte + fields as specified by the dwarf2 spec. + Don't skip trivial FDEs. + +Sun Sep 7 14:19:39 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for snapshot. + +Sun Sep 7 14:17:36 1997 Torbjorn Granlund (tege@pdc.kth.se) + + * expmed.c (expand_divmod): Make op1_is_pow2 depend on unsignedp + for negative constants. Promote EXACT_DIV_EXPR to TRUNC_DIV_EXPR + when op1_is_pow2. + +Sun Sep 7 13:46:46 1997 Jeffrey A Law (law@cygnus.com) + + * final.c (shorten_branches): During first pass, assume worst + possible alignment for ADDR_VEC and ADDR_VEC_DIFF insns. + + * Makefile.in (distclean): Remove various things left around + by running the testsuite. + +Sun Sep 7 13:16:06 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * configure.in (out_file): Emit definition to config.status in order + to have a defined value for configure.lang. + * configure: Re-built. + +Sun Sep 7 09:59:08 1997 Jan-Jaap van der Heijden (J.J.vanderHeijden@student.utwente.nl) + + * configure.in: Make symlink to as-new rather than as.new. Similarly + for ld-new. + * configure: Rebuilt. + +Fri Sep 5 16:54:55 1997 Jim Wilson <wilson@cygnus.com> + + * profile.c (output_func_start_profiler): Set DECL_EXTERNAL to zero. + +Fri Sep 5 16:16:44 1997 Christian Kuehnke <Christian.Kuehnke@arbi.Informatik.Uni-Oldenburg.DE> + + * sparc/sparc.md: Add ultrasparc scheduling support. + * sparc/sparc.h (RTX_COSTS): For MULT give v9 a cost of 25 insns. + +Fri Sep 5 14:04:59 1997 Philippe De Muyter <phdm@info.ucl.ac.be> + + * integrate.c (save_for_inline_copying): Use 0, not NULL_PTR, + as initial value for real_label_map. + (copy_for_inline): Likewise. + +Fri Sep 5 13:36:44 1997 J"orn Rennecke <amylaar@cygnus.co.uk> + + * sched.c (update_flow_info) When looking if to set found_split_dest + or found_orig_dest, look at all parts of a PARALLEL. + * haifa-sched.c (update_flow_info): Likewise. + +Fri Sep 5 10:08:44 1997 Jeffrey A Law (law@cygnus.com) + + * v850: New directory for v850 port. + * v850/lib1funcs.asm: New file. + * t-v850, v850.c, v850.h, v850.md, xm-v850.h: New files. + * ginclude/va-v850.h: New file. + * ginclude/varargs.h, ginclude/stdarg.h: Include va-mn10200.h. + * configure.in (mn10200-*-*): New target. + * configure: Rebuilt. + * config.sub: Handle v850-elf. + * Makefile.in (USER_H): Add va-mn10200.h. + * invoke.texi: Document v850 stuff. + +Fri Sep 5 09:37:50 1997 Jim Wilson (wilson@cygnus.com) + + * sdbout.c (plain_type_1, case ARRAY_TYPE): Verify that TYPE_DOMAIN + has integer TYPE_{MAX,MIN}_VALUE before using them. + + * m68k/m68k.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Add + __HPUX_ASM__ versions. + +Fri Sep 5 09:08:44 1997 Jeffrey A Law (law@cygnus.com) + + * install.sh: Delete duplicate install script. + +Thu Sep 4 23:14:27 1997 Stan Cox (coxs@dg-rtp.dg.com) + + * reg-stack.c (subst_stack_regs): Pop the stack register for a + computed goto which sets the same stack register. + + * reg-stack.c (compare_for_stack_reg): Swap only if the source and + destination are both on the regstack. + (subst_stack_regs_pat): Put the destination at the top of the regstack. + +Thu Sep 4 15:02:27 1997 Jim Wilson <wilson@cygnus.com> + + * mips.md (nonlocal_goto_receiver): Define. + + * profile.c (output_arc_profiler): Check next_insert_after for non + NULL before deferencing it. + + * i386/t-sol2 (TARGET_LIBGCC2_CFLAGS): Define to -fPIC. + +Thu Sep 4 14:51:57 1997 Jeffrey A Law (law@cygnus.com) + + * i386.h (CPP_CPU_DEFAULT): Avoid using #elif. - * mips/abi64.h (SETUP_INCOMING_VARARGS): Correct arguments to - move_block_from_reg call. +Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com> - * expr.c (expand_assignment): When offset is zero, make new MEM - before setting MEM_VOLATILE_P. + * toplev.c (rest_of_compilation): For passes starting with + flow_analysis, use print_rtl_with_bb instead of print_rtl. - * reload.c (find_reloads, case 'o'): Accept a fully reloaded - auto-increment address. + * print-rtl.c (print_rtl_single): Print a single rtl value to a + file. - * combine.c (max_uid_cuid): New static variable. - (INSN_CUID): Call abort if INSN is out of range. - (combine_instructions): Set max_uid_cuid. Set uid_cuid directly - instead of through INSN_CUID. - (get_last_value): Use prev_real_insn instead of prev_nonnote_insn. - Ignore USE insns generated by combine. + * flow.c (print_rtl_with_bb): Print which insns start and end + basic blocks. For the start of a basic block, also print the live + information. -Fri Mar 10 13:47:08 1995 Rod Barman <rodb@cs.ubc.ca> +Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com> - * m68k/fpgnulib.c (__fixdfsi): Catch values < 0.5 in magnitude. + * toplev.c (main): Change #elif to #else/#ifdef -Fri Mar 10 12:02:33 1995 Ian Lance Taylor <ian@cygnus.com> + * tlink.c: Include ctype.h. + * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif. - * fixincludes: Fix `typedef struct term;' on hppa1.1-hp-hpux9. +Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com) -Fri Mar 10 05:50:11 1995 Oliver Kellogg (Oliver.Kellogg@RST13.DASA.DBMAIL.d400.de) + * bitmap.c: Conditionally include stdlib.h. + (free): Provide a declaration if NEED_DECLARATION_FREE. - * 1750a.c (sectname): Reverse Init and Normal. - (print_operand_address, case PLUS): Add case for LABEL_REF. - (print_operand_address, case LABEL_REF): Split fom SYMBOL_REF. - (print_operand_address, case CODE_LABEL): New case. - (ASM_FILE_END): Delete. - * 1750a.h (FUNCTION_EPILOGUE): Restore stack before freeing local vars. - (DEFAULT_SIGNED_CHAR): Now 1. - (DATA_SECTION_ASM_OP): Use pseudo-op for read-only data (later copied). - (JUMP_TABLES_IN_TEXT_SECTION): Define. - (ASM_OUTPUT_ASCII): Split into multiple lines if long. - (ASM_OUTPUT_{CHAR,SHORT,INT,LONG_INT}): Split up. - (ASM_OUTPUT_COMMON): Call check_section. +Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com) -Thu Mar 9 12:46:53 1995 Michael Meissner <meissner@cygnus.com> + * i960/i960.h: Added default for SUBTARGET_SWITCHES macro. - * rs6000.md (movsf): Do not call truncdfsf2 for non PowerPC - when expanding a store to memory and -msoft-float was used. +Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com) -Thu Mar 9 08:51:35 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * profile.c (output_arc_profiler): Verify next_insert_after is an + INSN before and after skipping a stack pop. - * c-decl.c (start_function): Handle new parameter ATTRIBUTES. - * c-tree.h (start_function): Add new parameter. - * c-lang.c (finish_file): Pass new parm to start_function. - * objc-act.c (build_module_descriptor, really_start_method): Likewise. - * c-parse.in (fndef, nested_function): Pass prefix_attributes - to start_function. - (setspecs): Save prefix_attributes in declspec_stack. - (decl rules): Restore prefix_attributes along with current_declspecs. - (setattrs): Concatenate prefix_attributes to previous value. - * c-common.c (decl_attributes): Handle prefix and suffix attributes - the same way. +Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk> - * print-tree.c (print_node): Fix typo in printing large INTEGER_CST. + * final.c (shorten_branches): Don't count the lengths of deleted + instructions. - * varasm.c (assemble_variable): Consistently use DECL_SIZE for - everything. +Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com) - * c-typeck.c (convert_for_assignment): Fix typo in testing for - pointer to function type. + * version.c: Bump for snapshot. - * varasm.c (record_constant_1): Handle NON_LVALUE_EXPR. - Rewrite to use switch instead of if/then/elseif/else. +Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com> -Wed Mar 8 18:21:51 1995 Paul Eggert <eggert@twinsun.com> + * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over + two bitmaps ANDed together. + (bitmap_print): Declare. - * cccp.c (do_include): Fix type typo: pcfbuflimit is char *, not int. + * bitmap.c (function_obstack): Don't declare any more. + (bitmap_obstack): Obstack for allocating links from. + (bitmap_obstack_init): New static to say whether to initialize + bitmap_obstack. + (bitmap_element_allocate): Use bitmap_obstack to allocate from. + (bitmap_release_memory): Free all memory allocated from + bitmap_obstack. -Wed Mar 8 17:30:29 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) + * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke + EXECUTE_IF_AND_IN_BITMAP. - * fold-const.c (force_fit_type): Always propagate OVERFLOW. +Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com> - * rtl.def (INLINE_HEADER): Add new "e" field. - * rtl.h (FORCED_LABELS): New field; other fields adjusted. - (gen_inline_header_rtx): New parm FORCED_LABELS. - * emit-rtl.c (gen_inline_header): Add new parm FORCED_LABELS. - * integrate.c (initialize_for_inline, output_inline_function): - Handle FORCED_LABELS. + * alias.c (true_dependence): Address with AND can alias scalars. + (anti_dependence, output_dependence): Likewise. -Wed Mar 8 13:47:20 1995 Jason Merrill (jason@cygnus.com) + * alias.c (true_dependence): Test x for BLKmode, in addition to mem. - * alpha.h (WORD_SWITCH_TAKES_ARG): Add -rpath. - (LINK_SPEC): Pass through -taso and -rpath. - * alpha/osf12.h (LINK_SPEC): Ditto. +Wed Sep 3 09:28:50 CDT 1997 Joel Sherrill (joel@OARcorp.com) -Wed Mar 8 09:59:56 1995 Michael Meissner <meissner@cygnus.com> + * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, m68k/rtems.h, + mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, sh/rtems.h, + sparc/rtems.h (subtarget_switches): Removed SUBTARGET_SWITCHES + definitions. Use -qrtems instead of -mrtems. - * rs6000/eabi.asm: Rewrite so that the initialized pointers go - into the .got2 section, which allows eabi.asm to be assembled with - the -mrelocatable option. Move the data picked up from the bl - instruction to before the traceback tag. +Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com) - * rs6000/sysv4.h (CPP_SPEC): Define _RELOCATABLE if -mrelocatable - switch is used. + * xm-sco5.h (sys_siglist): Define. + (SYS_SIGLIST_DECLARED): Likewise. - * libgcc2.c (__new_handler): Don't initialize the pointer variable - with the address of __default_new_handler, which may not work in - some shared library mechanisms. - (__builtin_new): If __new_handler is NULL, call the function - __default_new_handler. +Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com) -Tue Mar 7 17:34:59 1995 Ian Lance Taylor <ian@cygnus.com> + * expr.c (convert_move): Handle truncation from TQFmode to QFmode. - * i960.h (PROCESS_PRAGMA): Define. - (ROUND_TYPE_ALIGN): Pass maximum of COMPUTED and SPECIFIED to - i960_round_align. - (ROUND_TYPE_SIZE): Delete. - * i960.c (process_pragma): Uncomment, and rewrite for gcc 2. - (i960_round_size): Delete. - (i960_round_align): Don't adjust suggested alignment downward. - Restrict alignment to value set by #pragma align. +Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se> -Tue Mar 7 12:14:46 1995 Doug Evans <dje@cygnus.com> + * except.c (eh_outer_context): Expand masking operation using + expand_binop. - * configure (sparc64-*-elf): Add crtbegin.o, crtend.o to extra_parts. - * sparc/sp64-elf.h (TARGET_VERSION): Define. - (CPP_PREDEFINES): Delete sun, sparc, unix. Delete OS assertions. - (ASM_SPEC): Define. - (LINK_SPEC): Delete solaris stuff, this is an embedded target. - (STARTFILE_SPEC, ENDFILE_SPEC): Define. +Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com> -Mon Mar 6 17:54:01 1995 Doug Evans <dje@cygnus.com> + * alpha.md (floatdisf2-1): New pattern. - * Makefile.in (install-common): Fix typo in installation of cpp. - Likewise with gcc-cross. +Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com) -Mon Mar 6 02:29:05 1995 Jeffrey A. Law <law@mole.gnu.ai.mit.edu> + * xm-svr4.h (SYS_SIGLIST_DECLARED): Define. + * xm-news.h (SYS_SIGLIST_DECLARED): Likewise. + * xm-sysv4.h (SYS_SIGLIST_DECLARED): Likewise. + * gcc.texi: Note that if you define sys_siglist that you should + also define SYS_SIGLIST_DECLARED. - * pa.md (movsicc): New expander. + * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions + are relative to the next instruction, not the current instruction. -Fri Mar 3 13:34:20 1995 Michael Meissner (meissner@cygnus.com) +Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com> - * rs6000/sysv4.h (ASM_SPEC): If -mrelocatable was passed to - compiler, pass it on to the assembler. + * local-alloc.c (contains_replace_regs): New function. + (update_equiv_regs): When adding a REG_EQUIV note for a set of a MEM, + verify that there is no existing REG_EQUIV note, and add a call to + contains_place_regs. -Fri Mar 3 12:11:28 1995 Ian Lance Taylor <ian@cygnus.com> +Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu) - * fixincludes: Add fixes for VxWorks header files. - * ginclude/stddef.h: If VxWorks typedef macros are defined, invoke - them as appropriate. + * config/alpha/elf.h (CPP_PREDEFINES): Add -D__PIC__ -D__pic__. + (STARTFILE_SPEC): Always use crtbegin.o%s + (ENDFILE_SPEC): Always use crtend.o%s. -Fri Mar 3 05:48:54 1995 Paul Eggert <eggert@twinsun.com> +Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com> - * cccp.c (dump_single_macro): Fix typo: % wasn't properly - doubled in printf formats. + * alpha/alpha.h (PREFERRED_RELOAD_CLASS): Return NO_REGS if NO_REGS + is passed in. + * emit-rtl.c (gen_lowpart_common): Add code to convert CONST_INT to + SFmode for 64 bit hosts. -Thu Mar 2 19:44:02 1995 Jason Merrill <jason@phydeaux.cygnus.com> +Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU> - * expr.c (expand_expr, CLEANUP_POINT_EXPR): Force the operand out - of memory before running cleanups. + * fixincludes: Permits spaces between # and define. Discard C++ + comments in sys/pci.h on HP/UX 10.20. -Thu Mar 2 19:15:24 1995 Paul Eggert <eggert@twinsun.com> +Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com) - * cccp.c (rescan): Prevent accidental token-pasting to - get !=, *=, /=, ==, or ^=. + * version.c: Bump for snapshot. -Thu Mar 2 15:37:13 1995 Jason Merrill <jason@phydeaux.cygnus.com> + * pa.c (restore_unscaled_index_insn_codes): New function. + (record_unscaled_index_insn_codes): Likewise. + (output_function_prologue): Call restore_unscaled_index_insn_codes. + (output_function_epilogue): Free memory for unscaled_index_insn_codes. + (pa_reorg): Call record_unscaled_index_insn_codes. - * c-typeck.c (build_binary_op): Avoid spurious warning - comparing enumerator to unsigned variable. + * haifa-sched.c (move_insn): Handle notes correctly for insns + with SCHED_GROUP_P set. -Thu Mar 2 18:18:38 1995 J.T. Conklin <jtc@netbsd.org> +Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu) - * m68k.md (sqrtsf2,sqrtdf2): Use fp precision specifiers. + * alpha/xm-linux.h (USE_BFD): Undef before define. -Thu Mar 2 18:09:01 1995 Stephen L Moshier (moshier@world.std.com) +Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com> - * c-lex.c (yylex, case !NOT_FLOAT): Remove previous change. + * cse.c (cse_insn): Don't record BLKmode values. -Thu Mar 2 15:26:50 1995 Richard Kenner (kenner@vlsi1.ultra.nyu.edu) +Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com) - * Makefile.in (bootstrap*): Pass new STAGE_PREFIX to recursive makes. + * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches. -Wed Mar 1 14:52:16 1995 Ian Lance Taylor <ian@cygnus.com> +Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com) - * i960/i960-coff.h (ASM_FILE_START): Define. - (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define. - (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Define. - (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Define. - (INT_ASM_OP): Define. - (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Define. - * i960/vx960-coff.h (CPP_PREDEFINES): Define. - (CPP_SPEC): Define. - (CC1_SPEC): Default to -mca. + * cccp.c (sys_errlist): Remove special 4.4bsd declaration. + * collect2.c (sys_errlist): Likewise. + * cpplib.c (sys_errlist): Likewise. + * gcc.c (sys_errlist): Likewise. + * protoize (sys_errlist): Likewise. + * configure.in: Check for strerror. + * xm-freebsd.h (HAVE_STRERROR): Remove definition. + * xm-gnu.h (HAVE_STRERROR): Likewise. + * xm-linux.h (HAVE_STRERROR): Likewise. + * xm-netbsd.h (HAVE_STRERROR): Likewise. + * xm-bsd386.h (HAVE_STRERROR): Likewise. + * xm-cygwin32.h (HAVE_STRERROR): Likewise. + * xm-dos.h (HAVE_STRERROR): Likewise. + * xm-mingw32.h (HAVE_STRERROR): Likewise. + * xm-pa.h (HAVE_STRERROR): Likewise. + * xm-papro.h (HAVE_STRERROR): Likewise. + * xm-sysv4.h (HAVE_STRERROR): Likewise. + * configure, config.in: Rebuilt. -Wed Mar 1 11:10:54 1995 Michael Meissner (meissner@cygnus.com) + * Makefile.in: Add several missing "else true" clauses. - * rs6000/rs6000.c (output_prologue): Do not emit the word that - gives the PC relative location to the local GOT table for the - -mrelocatable option here. - * rs6000/sysv4.h (ASM_DECLARE_FUNCTION_NAME): Emit it here. + * collect2.c: Change DONT_DECLARE_SYS_SIGLIST to SYS_SIGLIST_DECLARED. + * mips-tfile.c: Likewise. + * gcc.texi: DONT_DECLARE_SYS_SIGLIST: Remove docs. + * xm-linux.h (DONT_DECLARE_SYS_SIGLIST): Delete definition. + * xm-freebsd.h, xm-bsd386.h, xm-sysv4.h, xm-sol2.h: Likewise. + * configure.in: Check for sys_siglist declaration. + * configure, config.in: Rebuilt. - * t-eabi (MULTILIB_OPTIONS, MULTILIB_DIRNAMES): Build -msoft-float - and -mrelocatable versions of the library. +Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com) - * rs6000/powerpc.h (CPP_PREDEFINES): Define the cpu and machine as - powerpc, not rs6000. + * i386/go32-rtems.h, i386/rtems.h, i960/rtems.h, + m68k/rtems.h, mips/rtems64.h, pa/rtems.h, rs6000/rtems.h, + sparc/rtems.h (subtarget_switches): Added -mrtems as a switch. + * i960/i960.h: Added SUBTARGET_SWITCHES macro. + * rs6000/sysv4.h (extra_subtarget_switches): Added new + macro EXTRA_SUBTARGET_SWITCHES. + * configure.in (sh*-*-rtems*): New target. + * sh/rtems.h: New file. + * sh/sh.h: Added SUBTARGET_SWITCHES macro. + * configure: Rebuilt. - * libgcc2.c (_unwind_function): Clone for powerpc, using the - PowerPC mnemonics. +Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com> - * rs6000/rs6000.md (uminsi3, umaxsi3): Silence warnings that - -2147483648 is too large to fit in a signed integer on 32-bit - hosts. + * unroll.c (calculate_giv_inc): Handle increment with code PLUS. -Wed Mar 1 06:48:31 1995 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> +Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu> - * fold-const.c (decode_field_reference): Don't check TREE_CODE - of EXP; let get_inner_reference decide if have reference. - Allow no bit reference if have AND_MASK. - (all_ones_mask_p): Use tree_int_cst_equal, not operand_equal_p. - (unextend): New function. - (fold_truthop): For constant cases, use new function, rework - conversion, and warn if comparison can never be true. + * rs6000.md: Make DF fused-add operations pay attention to + -mno-fused-add. - * expr.c (store_expr): Do conversion in two steps for promoted lhs. +Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com> -See ChangeLog.9 for earlier changes. + * i386/xm-sysv4.h (DONT_DECLARE_SYS_SIGLIST): Define. + +Fri Aug 29 16:13:51 1997 Jeffrey A Law (law@cygnus.com) + + * pa.md (reload_peepholes): Make sure operand is a REG before + examining REGNO. Allow general registers too. + +Fri Aug 29 11:42:04 1997 Jim Wilson <wilson@cygnus.com> + + * varasm.c (mark_constants): Don't look inside CONST_DOUBLEs. + +Fri Aug 29 09:33:20 1997 Philipp Thomas (kthomas@lxi165.gwdg.de) + + * dwarf2out.c (build_abbrev_table): Use xrealloc, not xmalloc + to reallocate abbrev_die_table. + +Thu Aug 28 15:14:46 1997 Jim Wilson <wilson@cygnus.com> + + * m68k/m68k.md (iorsi_zexthi_ashl16): Disable. + +1997-08-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> + + * Makefile.in (config.status): Depend on version.c + + * expr.h (insn_gen_function): Reenable prototype. + + * expr.c (move_by_pieces_1, clear_by_pieces_1): Fix prototype of + first parameter. + +Thu Aug 28 13:01:43 1997 Jim Wilson <wilson@cygnus.com> + + * i386.c (ix86_expand_epilogue): Emit blockage instruction when pic. + +Thu Aug 28 07:03:15 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for latest snapshot. + + * bc-optab.c: Conditionally include stdlib.h. + (free): Provide a declaration if NEED_DECLARATION_FREE. + * tree.c (free): Provide a declaration if NEED_DECLARATION_FREE. + * rtl.h (free): Remove declaration. + * tree.h (free): Remvoe declaration. + + * configure: Rebuilt. + +Wed Aug 27 21:32:20 1997 Jeffrey A Law (law@cygnus.com) + + * flags.h (flag_move_all_movables): Declare. + (flag_reduce_all_givs): Likewise. + * loop.c (move_movables): Handle flag_move_all_movables. + (strength_reduce): Handle flag_reduce_all_givs. + * toplev.c (flag_move_all_movables): Define. + (flag_reduce_all_givs): Likewise. + (f_options): Add -fmove-all-movables and -freduce-all-givs. + * invoke.texi: Document new options, including alias stuff that + wasn't included last time. + +Wed Aug 27 18:08:51 1997 Bob Manson (manson@cygnus.com) + + * t-h8300: Use TARGET_LIBGCC2_CFLAGS instead of LIBGCC2_CFLAGS. + * t-mn10200: Ditto. + * t-vxsparc: Ditto. + * t-vxworks68: Ditto. + * t-vxworks960: Ditto. + * t-vx29k: Ditto. + +Wed Aug 27 16:35:29 1997 Richard Henderson <rth@cygnus.com> + + * alpha/xm-alpha.h (alloca): Define alloca to builtin_alloca for GNUC + if not already defined, and USE_C_ALLOCA not defined. + +Wed Aug 27 16:08:43 1997 Jim Wilson <wilson@cygnus.com> + + * config.guess: Replace with script that uses ../config.guess. + + * config/alpha/elf.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 + if USE_GNULIBC_1 is not defined. + +Wed Aug 27 15:49:12 1997 Richard Henderson <rth@cygnus.com> + + * alpha/elf.h (LINK_SPEC): Conditionalize on USE_GNULIBC_1. + * config.guess: Recognize alpha-linux-gnulibc1. + * configure.in (alpha-*-linux-gnulibc1): New target. + (alpha-*-linux-gnu*): Don't build crtbegin/end. + +Wed Aug 27 11:52:58 1997 Jim Wilson <wilson@cygnus.com> + + * m68k.md (iorsi3_internal): Readd ! TARGET_5200 check lost in + last change. + +Wed Aug 27 01:56:18 1997 Doug Evans <dje@seba.cygnus.com> + + * loop.c (combine_movables): Earlier insns don't match later ones. + +Wed Aug 27 01:24:25 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * config/linux.h (CC1_SPEC): Define it only if not defined. + + * config/m68k/linux.h (CC1_SPEC): Undefine it before include + <linux.h> + + * config/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1 if + USE_GNULIBC_1 is not defined. + + * config/rs6000/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined as 1. + + * config/sparc/linux.h (DEFAULT_VTABLE_THUNKS): New. Defined + as 1 if USE_GNULIBC_1 is not defined. + +Wed Aug 27 00:49:14 1997 Jeffrey A Law (law@cygnus.com) + + * reorg.c (dbr_schedule): Allow current_function_return_rtx + to be something other than a REG. + * function.c (expand_function_end): Fix current_function_return_rtx + if it was a pseudo. + + * t-freebsd (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS. + * x-netbsd: Likewise + * x-dgux (USER_H): Include EXTRA_HEADERS and LANG_EXTRA_HEADERS + (INSTALL_HEADERS): Delete. + * x-dguxbcs: Likewise. + * x-hp3bsd44: Likewise + * x-pa: Likewise. + +Wed Aug 27 00:30:00 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de> + + * i386.md (pop): pop increments the stack pointer. + (prologue_set_stack_ptr): New pattern. + * i386.c (ix86_expand_prologue): Use prologue_set_stack_ptr + instead of subsi3. + +Tue Aug 26 18:50:32 1997 Jim Wilson <wilson@cygnus.com> + + * reload.c (find_reloads, case '0'): Reject matching a non-offsettable + address where an offsettable address is required. + +Tue Aug 26 17:54:56 1997 Michael P. Hayes (michaelh@ongaonga.chch.cri.nz> + + * loop.c (check_final_value): Don't miss a biv increment in a + parallel. + +Tue Aug 26 12:03:49 1997 Jim Wilson (wilson@cygnus.com) + + * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Check + TYPE_DECL_IS_STUB instead of DECL_NAME. + +Mon Aug 25 23:27:10 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * objc/Make-lang.in ($(OBJC_O)): Also depend on cc1obj. + +Mon Aug 25 23:27:10 1997 Jim Meyering <meyering@eng.ascend.com> + + * objc/Make-lang.in ($(OBJC_O)): Also depend on $(GCC_PASSES). + +Mon Aug 25 13:12:24 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (find_pre_sched_live): Remove #if 0 code. + (find_post_sched_live): Likewise. + + * haifa-sched.c (schedule_block): Remove old code to get arguments + from hard regs into pseudos early. + +Mon Aug 25 08:55:00 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for new snapshot. + + * local-alloc.c (update_equiv_regs): All the target to reject + promotion of some REG_EQUAL to REG_EQUIV notes. + * pa.h (DONT_RECORD_EQUIVALENCE): Define. + + * pa.c (secondary_reload_class): (mem (mem ... )) does not need + secondary reloads. + + * pa.c (hppa_builtin_saveregs): Emit a blockage insn after the + store of the argument registers. + +Mon Aug 25 08:39:02 1997 Craig Burley (burley@gnu.ai.mit.edu) + + * fold-const.c (multiple_of_p): New function. + (fold): Turn some cases of *_DIV_EXPR into EXACT_DIV_EXPR. + +Mon Aug 25 01:47:41 1997 Jeffrey A Law (law@cygnus.com) + + * expr.h (insn_gen_function): Temporarily remove prototype. + +Sun Aug 24 17:22:21 1997 Jim Wilson <wilson@cygnus.com> + + * Makefile.in (install-info): Don't cd into srcdir. Add srcdir to + filenames. Use sed to extract base filename for install. + +Sat Aug 23 18:19:40 1997 John F. Carr <jfc@mit.edu> + + * unroll.c (find_splittable_givs): Only share if two givs have the + same add and multiply values. + +Sat Aug 23 14:36:27 1997 Jim Wilson <wilson@cygnus.com> + + * m68k/next.h (GO_IF_INDEXABLE_BASE): Fix typo in undef. + * m68k/m68kemb.h (LIB_SPEC): Add missing comment end before it. + +Sat Aug 23 00:18:22 1997 Jeffrey A Law (law@cygnus.com) + + * pa.c (pa_reorg): Always put begin_brtab and end_brtab insns + around branch tables. + * pa.md (begin_brtab, end_brtab): Only emit the .begin_brtab + and .end_brtab directives if TARGET_GAS. + +Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com> + + * alias.c (true_dependence): Pass x_addr not x to varies. + + * acconfig.h (NEED_DECLARATION_CALLOC): Add. + * configure.in: Add GCC_NEED_DECLARATION call for calloc. + * rs6000/xm-rs6000.h (malloc, realloc, calloc, free): Delete + declarations. + * config.in, configure: Regenerate. + +Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu> + + * alias.c (find_base_value): Improve handling of PLUS, MINUS, and + LO_SUM. + (record_set): Handle LO_SUM like PLUS. + (init_alias_analysis): When following chains of base addresses, + do not stop on reaching a hard register. + +Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump for new snapshot. + +Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com> + + * alpha.h (ARCH_ASM_FILE_START): Define. + (ASM_FILE_START): Use ARCH_ASM_FILE_START. + * osf12.h, osf2or3.h (ARCH_ASM_FILE_START): Redefine to null string. + +Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com) + + * Makefile.in (install-common): Put gcov comment at start of line. + +Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com) + + * alias.c (init_alias_analysis): When simplifying the reg_base_value + array, simplify entries for hard registers too. + +Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk> + + * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from + list. + +Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com> + + * stmt.c (start_cleanup_deferal, end_cleanup_deferal): Test + block_stack before dereferencing it. + +Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com> + + * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate. + +Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com> + + * cplus-dem.c: Add 'extern' to prepends_underscore. + +Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate. + (get_issue_rate): Delete. + * pa.h (ISSUE_RATE): Define. + + * configure.in: Turn on haifa by default for the PA. + * configure: Rebuilt. + * pa.c (override_options): Accept -mschedule=7200 option. + (pa_adjust_cost): No longer need to scale costs for newer + processors. + * pa.h (enum processor_type): Add PROCESSOR_7200. + * pa.md: Revamp scheduling parameters to work better with + haifa. Add scheduling parameters for the 7200. + + * haifa-sched.c (move_insn): Reemit notes for SCHED_GROUP_P + insns too. + (schedule_block): When adjusting basic_block_{head,end}, account + for movement of SCHED_GROUP_P insns too. + + * haifa-sched.c (debug_dependencies): Fix thinko. + + * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define. + (site.exp, check, check-g++, check-gcc): New targets. + + * haifa-sched.c: Make lots of variables static. + +Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu) + + * expr.h, real.h: Finish prototyping. + +Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com> + + * reload.c (find_reloads): Add code to convert RELOAD_FOR_OPADDR_ADDR + reloads to RELOAD_FOR_OPERAND_ADDRESS reloads. + * reload1.c: Undo bugfix from Aug 11. + +Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com> + + * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single + quotes around the name. + * configure: Regenerate. + +Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com> + + * Makefile.in (stmp-multilib-sub): Fix typo in last change. + +Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de> + + * Makefile.in (sub-makes): Pass the current value of LANGUAGES down + to sub-makes to avoid building more passes than the user might have + requested on the command line. + +Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk) + + * configure.in: Expurgate `broken_install' (install is + autoconfed). + + * configure.lang: Substitute autoconfed ${INSTALL} (not currently + relevant). + +Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com) + + * loop.c (is_power_of_2, is_conditional_branch): Delete unused + functions and declarations. + (analyze_loop_iterations): Use condjump_p. + (insert_bct): Likewise. Use exact_log2. + +Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com) + + * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed. + (schedule_region): Likewise. + (schedule_insns): Likewise. + + * PROJECTS: Update with Haifa stuff. + +Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Change the version string to look like: + egcs-2.90.00 970814 (gcc2-970802 experimental). + + * loop.c (is_conditional_branch): Make definition match declaration. + + * gcc.c: Take out experimental snapshot warning message. + +Fri Aug 15 13:43:39 1997 Michael Meissner <meissner@cygnus.com> + + * haifa-sched.c (debug_dependencies): Use GET_NOTE_INSN_NAME to + print out the names of the notes. Print out the name of the insn + that is not a note, and not an {,CALL_,JUMP_}INSN. + +Wed Aug 13 17:32:38 1997 Jason Merrill <jason@yorick.cygnus.com> + + * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable + again for the slot after we give it RTL. + +Wed Aug 13 01:03:37 1997 Doug Evans <dje@canuck.cygnus.com> + + * configure.in (haifa configury): Fix typo. + * configure: Regenerate. + +Tue Aug 12 10:20:36 1997 Jeffrey A Law (law@cygnus.com) + + * version.c: Bump version to "gcc-3.0.0 970802 experimental". + + * gcc.info*: Rebuilt. + + * COPYING.g77, README.g77: New files. + * real.c (ereal_unto_float, ereal_unto_double): New functions. + * real.h (ereal_unto_float, ereal_unto_double): Declare them. + (REAL_VALUE_UNTO_TARGET_DOUBLE, REAL_VALUE_UNTO_TARGET_SINGLE): Define. + +Mon Aug 11 14:50:55 1997 Jeffrey A Law (law@cygnus.com) + + * Integrate Haifa instruction scheduler. + * Makefile.in (ALL_CFLAGS): Add SCHED_CFLAGS. Prefix all references + to sched with $(SCHED_CFLAGS. + * configure.in: Handle --enable-haifa. + * configure: Rebuilt. + * flags.h: Add new flags for haifa instruction scheduler. + * genattrtab.c (expand_units): For haifa, don't subtract one + when computing blockage. + * toplev.h (flag_schedule_interblock): Haifa scheduler flag. + (flag_schedule_speculative): Ditto. + (flag_schedule_speculative_load): Ditto. + (flag_schedule_speculative_load_dangerous): Ditto. + (flag_schedule_reverse_before_reload): Ditto. + (flag_schedule_reverse_after_reload): Ditto. + (flag_branch_on_count_reg): Ditto. + (f_options): Add Haifa switches. + (main): Turn off some Haifa options if appropriate macro is + defined. Process Haifa switches. + * unroll.c (iteration_info): No longer static, since Haifa + scheduler uses it. + (unroll_loop): Inform HAIFA scheduler about loop unrolling factor. + * unroll.c (unroll_loop): Set loop_unroll_iter, loop_start_value. + * loop.h (loop_unroll_factor, loop_number): Add HAIFA decls. + * loop.h (loop_initial_value,loop_unroll_iter): New globals. + * loop.c (loop_optimize): If HAIFA is defined, allocate additional + storage for the Haifa scheduler. + (mark_loop_jump): If HAIFA defined, set LABEL_OUTSIDE_LOOP_P and + LABEL_NEXTREF. + (strength_reduce): If HAIFA and HAVE_decrement_and_branch_on_count + are defined, call analyze_loop_iterations and insert_bct to use + countdown loops. + (record_giv): Refine test for jumps out of loops if HAIFA is + defined. + (analyze_loop_iterations): New function to identify if we can use + a countdown loop. + (insert_bct): Insert countdown loop. + (instrument_loop_bct): Low level code to insert countdown loop. + (loop_number): Calculate UID of loop. + (indirect_jump_in_function_p): Return true if an indirect jump is + in the function. + (is_power_of_2): Return true if value is a power of 2. + (is_conditional_branch): Return true if insn is a conditional + jump. + (fix_bct_param): Process -fbct-{min,max}-N switches. + (check_bct_param): Return true if loop should be instrumented. + * loop.c (loop_initial_value,loop_unroll_iter): New globals. + (loop_optimize): Initialize. + (get_condition_for_loop): Ditto. + * loop.c (strength_reduce): Inside of code that uses #ifdef + HAVE_decrement_and_branch_on_count code, test it to make sure the + condition is true. + (instrument_loop_bct): Ditto. + * haifa-sched.c: New file. + + + * Integrate regmove pass. + * Makefile.in (OBJS): Add regmove.o + (regmove.o): Add dependencies. + * flow.c (find_use_as_address): No longer static. + * rtl.h (find_use_as_address): Declare. + * toplev.c (regmove_dump, flag_regmove): Define. + (f_options): Add -fregmove. + (regmove_dump_file, regmove_time): Define. + (fatal_insn): Close the regmove dump file. + (compile_file): Initialize regmove_time; open/close the regmove dump + file as needed. Print regmove time as needed. + (rest_of_compilation): Run regmove pass if requested, dump + RTL after regmove if requested. + (main): If -O2 or more, turn on regmove. Handle dump switches. + * regmove.c: New file. + +Mon Aug 11 14:15:02 1997 Jeffrey A Law (law@cygnus.com) + + * Integrate tlink patch from jason@cygnus.com + * gcc.c (SWITCH_TAKES_ARG): Add 'V', 'B' and 'b'. + (process_command): Increment n_switches for them. Don't discard + their args. Validate them. + (main): Escape " marks when creating COLLECT_GCC_OPTIONS. + From Rohan Lenard. + (process_command): Set include_prefixes from COMPILER_PATH. + (main): Set COLLECT_GCC_OPTIONS sooner. + * confiugre.in: Link ../ld/ld.new to collect-ld rather than real-ld. + * tlink.c, hash.c, hash.h: New files. + * Makefile.in (USE_COLLECT2): Always use collect2. + (collect2): Depend on and link in hash.o and tlink.o. + (tlink.o, hash.o): Add dependencies. + +Mon Aug 11 10:04:49 1997 Jeffrey A Law (law@cygnus.com) + + * Integrate alias analysis changes from jfc@mit.edu + * Makefile.in (OBJS): Add alias.o + (alias.o): Add dependencies. + * alias.c: New file. + * sched.c: Remove alias analysis code. It lives in alias.c now. + (sched_analyze_2): Add new arguments to true_dependence. + (schedule_insns): Always call init_alias_analysis. + * calls.c (expand_call): Note calls to malloc, calloc, and realloc; + mark return value from such functions as a pointer and keep track of + them for alias analysis. If a return value from a function is a + pointer, mark it as such. + * combine.c (distribute_notes): Handle REG_NOALIAS. + * cse.c (struct write_data): Delete. No longer needed. + (invalidate): Don't call set_nonvarying_address_components anymore. + Use true_dependence to decide if an entry should be removed from + the hash table. + (invalidate_memory): Remove WRITES argument, simplify appropriately. + Fix all callers. + (note_mem_written): Similarly for WRITE_PTR argument. + (invalidate_from_clobbers): Similarly for W argument. + (invalidate_for_call): Remove memory elements from the hash table. + (refers_to_mem_p, cse_rtx_addr_varies_p): Deleted. + (cse_rtx_varies_p): New function. Derived from old + cse_rtx_addr_varies_p. + (cse_insn): Remove WRITES_MEMORY and INIT variables and all references. + Don't call note_mem_written anymore. Stack pushes invalidate the stack + pointer if PUSH_ROUNDING is defined. No longer need to call + cse_rtx_addr_varies_p to decide if a MEM should be invalidated. + (skipped_writes_memory): Remove variable. + (invalidate_skipped_set): Simplify and wewrite to use invalidate_memory. + (invalidate_skipped_block): Simplify for new alias analysis code. + (cse_set_around_loop): Likewise. + (cse_main): Call init_alias_analysis. + * flags.h (flag_alias_check, flag_argument_noalias): Declare. + * toplev.c (flag_alias_check, flag_argument_noalias): Define. + (f_options): Add new alias checking arguments. + (main): Set flag_alias_check when optimizing. + * local_alloc (validate_equiv_mem_from_store): Add new arguments + to true_dependence. + (memref_referenced_p): Likewise. + * loop.c (NUM_STORES): Increase to 30. + (prescan_loop): Only non-constant calls set unknown_address_altered. + (invariant_p): Add new arguments to true_dependence. + (record_giv): Initialize unrolled and shared fields. + (emit_iv_add_mult): Call record_base_value as needed. + * loop.h (struct induction): Add unrolled and shared fields. + * unroll.c (unroll_loop): Call record_base_value as needed. + (copy_loop_body): Likewise. + (final_biv_value): Likewise. + (final_giv_value): Likewise. + (find_splittable_regs): Likewise. Only create one new pseudo + if we have multiple address GIVs that were combined with the same + dst_reg GIV. Note when a new register is created due to unrolling. + * rtl.c (reg_note_name): Add REG_NOALIAS. + * rtl.h (enum reg_note): Similarly. + (rtx_varies_p, may_trap_p, side_effects_p): Declare. + (volatile_refs_p, volatile_insn_p, remove_note): Likewise. + (note_stores, refers_to_regno_p, reg_overlap_mentioned_p): Likewise. + (true_dependence, read_dependence, anti_dependence): Likewise. + (output_dependence, init_alias_analysis, end_alias_analysis): Likewise. + (mark_user_reg, mark_reg_pointer): Likewise. + + + * Integrate reload bugfix from Wilon which enables the PA port + to bootstrap again. + * reload1.c (reload): Sum needs for both OPADDR_ADDR and + OPERAND_ADDRESS when computing how many registers an insn needs. + (reload_reg_free_p): OPADDR_ADDR and OPERAND_ADDRESS reloads do + conflict. + (reload_reg_free_before_p): Treat OPERAND_ADDRESS reloads just like + OPADDR_ADDR reload. + (reload_reg_reaches_end_p): For RELOAD_FOR_OPADDR_ADDR insns, registers + in reload_reg_use_in_op_addr do not reach the end. + do not reach the end. + (reloads_conflict): RELOAD_FOR_OPADDR_ADDR conflicts with + RELOAD_FOR_OPERAND_ADDRESS. + +Sun Aug 10 12:00:20 1997 Jeffrey A Law (law@cygnus.com) + + * egcs project officially starts. + +Local Variables: +add-log-time-format: current-time-string +End: |