+Tue Jul 14 02:20:38 1998 Jeffrey A Law (law@cygnus.com)
-Wed Dec 21 02:46:34 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * version.c: Bump to avoid problems with old spec files during
+ bootstrap.
- * Version 1.32 released.
+Mon Jul 13 23:11:44 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
- * toplev.c (main): Vax pcc enforces goto-less programming
- with fatal error.
+ * 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.
- * stmt.c (fixup_memory_subreg): New arg INSN says where to emit insns.
- (walk_fixup_memory_subreg): Likewise. All callers changed.
+Mon Jul 13 23:57:21 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-Tue Dec 20 01:26:56 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * m68k/m68k.h (TARGET_SWITCHES): Clear MASK_68040_ONLY for
+ -m68020-40, -m68020-60 and -m5200.
- * c-decl.c (start_function): Don't clear TREE_PERMANENT in fn decl.
- Make the result decl a permanent node.
- (finish_function): Don't clear DECL_RESULT in an inline function.
- (duplicate_decls): Don't lose DECL_RESULT or DECL_SAVED_INSNS
- or old decl, when defn is followed by redeclaration.
- Likewise DECL_ARGUMENTS and DECL_RESULT_TYPE.
+Mon Jul 13 23:52:05 1998 Weiwen Liu <weiwen.liu@yale.edu>
- * stmt.c (expand_function_end): End any sequences left unterminated.
+ * gcc.c (do_spec_1): Fix %O handling for secure temporary file
+ creation.
- * cse.c (predecide_loop_entry): If "loop" has no label, do nothing.
+Mon Jul 13 23:42:36 1998 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
- * recog.c (asm_noperands): Now return -1 if not that kind of insn.
- All callers changed.
- * combine.c (check_asm_operands): Calling changes not quite trivial.
- * final.c (final): Likewise.
- * reload.c (find_reloads): Likewise.
- * recog.c (asm_noperands): Other changes:
- Loop computing # of SETs in a PARALLEL was off by 1.
- Validate all elts of any PARALLEL, to block invalid combinations.
+ * sh/elf.h (MAX_OFILE_ALIGNMENT): Undefine before including svr4.h.
+
+Mon Jul 13 23:36:08 1998 Jim Wilson <wilson@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].
+
+Mon Jul 13 23:31:04 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.c (output_scc_di): Use cmpw #0 only for address registers.
+
+Mon Jul 13 23:26:43 1998 Jeffrey A Law (law@cygnus.com)
+
+ * tree.h (tree_common): Note front-end dependencies on layout of
+ this structure.
+
+Mon Jul 13 23:18:39 1998 Craig Burley <burley@gnu.org>
+
+ * stmt.c (expand_expr_stmt): If not assigning fresh
+ value to last_expr_value, zero it, so old garbage
+ doesn't get dereferenced.
+
+Mon Jul 13 23:06:55 1998 Henning.Petersen@t-online.de (Henning Petersen)
+
+ * gcse.c (hash_scan_insn): Add missing argument declaration.
+
+Mon Jul 13 18:59:13 1998 Jim Wilson <wilson@cygnus.com>
+
+ * 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.
+
+Mon Jul 13 17:18:47 1998 Nick Clifton <nickc@cygnus.com>
+
+ * cccp.c (main): Add support for parsing --help.
+ (display_help): New function: display command line switches.
+
+ * cpplib.c (cpp_handle_option): Add support for parsing --help.
+ (display_help): New function: display command line switches.
+
+ * gcc.c (main): Add support for parsing --help, and passing it on
+ to the sub-processes invoked by gcc.
+ (display_help): New function: display command line switches.
+
+ * tm.texi (TARGET_SWITCHES and TARGET_OPTIONS): Document
+ 'description' field added to structure.
+
+ * toplev.c: Add support for parsing --help.
+ Add documentation strings to command line option tables.
+ (display_help): New function: display comman line switches.
+
+Mon Jul 13 16:15:10 1998 John Carr <jfc@mit.edu>
+
+ * 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.
+
+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 comment. Handle 'n' repeat code.
+ (remember_type): Check forgetting_types.
+ (demangle_args): Deal with 'n' repeat codes. Tidy.
+
+Sat Jul 11 02:59:08 1998 Richard Earnshaw <rearnsha@arm.com>
+
+ * 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.
+
+ * configure.in (thumb-*-coff*): Don't cause fixincludes to be run.
+
+Fri Jul 10 19:06:59 1998 Michael Meissner <meissner@cygnus.com>
+
+ * varray.h: Include system.h if it hasn't already been included
+ before to get size_t declared.
+
+Fri Jul 10 12:53:58 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
+
+ * jump.c (jump_optimize): If after_regscan and our transformations
+ generate new REGs, rerun reg_scan.
+
+Fri Jul 10 11:50:43 1998 Andrew MacLeod <amacleod@cygnus.com>
+
+ * config/i960/i960.c (i960_address_cost): MEMA operands with
+ positive offsets < 4096 are free.
+
+Fri Jul 10 12:34:37 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * config/m68k/m68k.c (const_uint32_operand): Recognize
+ CONSTANT_P_RTX.
+ (const_sint32_operand): Likewise.
+
+Thu Jul 9 22:58:59 1998 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (alias.o): Depend on $(EXPR_H).
+
+Thu Jul 9 18:24:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * 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 Jul 9 18:12:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * 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 Jul 9 18:01:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload.c (find_equiv_reg): If need_stable_sp is set,
+ check if stack pointer is changed directly in a PARALLEL.
+
+Thu Jul 9 10:38:14 1998 Jeffrey A Law (law@cygnus.com)
+
+ * jump.c (duplicate_loop_exit_test): Fix thinko.
+
+Thu Jul 9 01:30:37 1998 Joel Sherrill <joel@OARcorp.com>
+ Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * config/i386/rtemself.h: Updated to keep in sync with
+ config/i386/linux.h.
+
+ * 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.
+
+ * config/rs6000/rtems.h: Defined STARTFILE_DEFAULT_SPEC.
+
+Wed Jul 8 21:43:14 1998 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+ * print-rtl.c (print_rtx): Revert previous patch.
+
+ * jump.c (duplicate_loop_exit_test): Do not duplicate the loop exit
+ test if the exit code has an insn with ASM_OPERANDS.
+
+ * i386/cygwin32.h (STDIO_PROTO): Fix typo.
+ * m32r.h (STDIO_PROTO): Fix typo.
+
+ * 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.
+
+ * flow.c (find_auto_inc): Remove most recent change. Real bug was
+ elsewhere.
+
+ * cse.c (count_reg_usage): Count registers used in addresses of
+ CLOBBERs.
+
+Wed Jul 8 15:08:29 1998 Jim Wilson <wilson@cygnus.com>
+
+ * Makefile.in (STAGESTUFF): Readd line lost during June 9 FSF merge.
- * ns32k.md (andsi3, andhi3): Make new CONST_INTs; don't clobber old.
+ * configure.in (mips64orion-*-rtems*): Use elf64.h not elfl64.h.
- * integrate.c (copy_rtx_and_substitute): When looking in `parm_map',
- if our mode mismatches parm's mode, use change_address to extract part.
- On BYTES_BIG_ENDIAN machines, adjust the offset.
+1998-07-08 Vladimir N. Makarov <vmakarov@cygnus.com>
-Mon Dec 19 23:50:14 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * config/fp-bit.c (__gexf2, __fixxfsi, __floatsixf): Add function
+ stubs.
- * cexp.y ('/' and '%' ops): If divide by 0, print error, don't die.
+ * 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)
+
+ * 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.
+
+ * configure.in: Also look at $srcdir/gas/configure to find a
+ gas version #.
+
+Wed Jul 8 00:28:22 1998 Carlo Wood <carlo@runaway.xs4all.nl>
+
+ * dsp16xx.h : Clean up of macro OPTIMIZATION_OPTIONS
+
+Tue Jul 7 21:18:14 1998 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * i386/cygwin32.h (ASM_DECLARE_FUNCTION_NAME): Merge duplicate
+ definitions from last two patches.
+
+Tue Jul 7 23:03:34 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (choose_reload_regs): Don't set reload_override_in
+ if EQUIV is clobbered in INSN and the reload is done after INSN.
+
+Tue Jul 7 21:23:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * expr.c (emit_queue): If emitting a SEQUENCE, set QUEUED_INSN
+ to the first insn of the sequence.
+
+Tue Jul 7 21:05:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * cse.c (cse_insn): Don't make change without validation.
+
+Tue Jul 7 11:40:05 1998 Jeffrey A Law (law@cygnus.com)
+
+ * mn10200.md (various zero/sign extension patterns): Zero and sign
+ extensions which use "sub" clobber cc0.
+
+Tue Jul 7 09:12:08 1998 Jeff Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Tue Jul 7 10:07:20 1998 Jeffrey A Law (law@cygnus.com)
+
+ * print-rtl.c (print_rtx): Use REAL_VALUE_TYPE instead of "double".
+
+Tue Jul 7 08:41:27 1998 Richard Henderson (rth@cygnus.com)
+
+ * print-rtl.c (print_rtx): Only print fp values when REAL_VALUE_TYPE
+ is a double.
+
+Tue Jul 7 00:31:58 1998 Jeff Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Tue Jul 7 01:03:03 1998 Mumit Khan <khan@xraylith.wisc.edu>
+
+ Support for dllimport and dllexport attributes for i386-pe.
+
+ * tree.h (DECL_NON_ADDR_CONST_P): New accessor macro.
+ (struct tree_decl): Add non_addr_const_p field.
+ * tree.c (staticp): Use.
+
+ * 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.
+
+ * i386/mingw32.h (CPP_PREDEFINES): Map __declspec(x) to GCC
+ attributes.
+
+ * 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.
+
+Tue Jul 7 00:50:17 1998 Manfred Hollstein (manfred@s-direktnet.de)
+
+ * libgcc2.c (L_exit): Provide a fake for atexit on systems which
+ define ON_EXIT but not HAVE_ATEXIT.
+
+Tue Jul 7 00:44:35 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-Sun Dec 18 14:03:02 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * m68k.md (zero_extend QI to HI): Correctly handle TARGET_5200.
- * toplev.c (main): Avoid shadowing I in inner block.
+Tue Jul 7 00:36:41 1998 Ulrich Drepper <drepper@cygnus.com>
- * flow.c (propagate_block): The insn at the end of a libcall
- may be dead, but the libcall might still be needed if the
- hard return reg is used later. Detect this case.
- (libcall_dead_p): New fn used to check that the libcall is dead.
+ * i386.c: Remove random whitespace at end of lines.
- * output-m68k.c, tm-m68k.h (standard_sun_fpa_constant_p): Fn renamed.
+ * i386.c (ix86_epilogue): For pentium processors, try to deallocate
+ 4 or 8 byte stacks with pop instructions instead of an add instruction.
-Sat Dec 17 13:23:51 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jul 7 00:30:08 1998 Klaus Kaempf <kkaempf@rmi.de>
- * stmt.c (expand_end_bindings): error_with_file_and_line => ..._decl.
+ * alpha.c: Include tree.h before expr.h.
- * combine.o (try_combine): Accept combination making a valid
- asm with operands.
- (check_asm_operands): Recognize asm with operands that are valid.
+Mon Jul 6 22:50:48 1998 Jason Merrill <jason@yorick.cygnus.com>
- * loop.c (strength_reduce): Don't accept a reg as a giv
- if the reg was made by loop-optimize.
+ * 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.
- * stmt.c (balance_case_nodes): A list of 3 always splits in middle.
+ * 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.
-Fri Dec 16 17:22:07 1988 Tiemann (rms at sugar-bombs.ai.mit.edu)
+Mon Jul 6 22:47:55 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * sparc.md (fetch from constant address): Split into two patterns,
- one fixed point and one floating.
- (store at constant address): Handle remembered hi-half differently.
- Other bug fixes.
- (fix_truncsfsi2): Use f1, not f0, as temp.
- (fix_truncdfsi2): Don't clear CC_F1_IS_0.
+ * reload.c (find_equiv_reg): When looking for stack pointer + const,
+ make sure we don't use a stack adjust.
- * output-sparc.c (singlemove_string): Changed handling of case
- where op1 is not memory and op0 has varying address.
- (output_fp_move_double): Avoid reloading high half address
- in the ldd and std cases with constant address.
- (make_f0_contain_0): Handle f0 and f1 individually.
+ * reload.c (find_equiv_reg): If need_stable_sp is set,
+ check if stack pointer is changed directly.
- * tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): CONST is now illegitimate.
+ * reload1.c (delete_dead_insn): Don't delete feeding insn
+ if that insn has side effects.
- * rtl.c (note_stores): Pass entire SET rtx, not flag, as 2nd arg to FN.
- * local-alloc.c (reg_is_set): New type for 2nd arg.
+ * flow.c (find_auto_inc): Clear UNCHANGING bit of register that is
+ changed.
- * Makefile: Comment out cc1plus, since not ready for release.
+ * reload1.c (reload_reg_free_before_p): RELOAD_FOR_OPADDR_ADDR
+ precedes RELOAD_FOR_OUTADDR_ADDRESS.
-Thu Dec 15 16:39:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * gcse.c (hash_scan_insn): New argument IN_LIBCALL_BLOCK. Changed
+ caller.
- * local-alloc.c (reg_is_set): If a hard reg is clobbered, make it free
- before and after the insn.
- * stupid.c (stupid_mark_refs): Likewise.
- * global-alloc.c (global_conflicts): Likewise.
- Use note_stores to call mark_reg_{store,clobber}.
- (mark_reg_store): Changed calling conventions
- All work done on set/clobbered regs is now done here.
- Ignore CLOBBERs.
- (mark_reg_clobber): Similar fn, but ignore SETs and handle CLOBBERs.
- (regs_set, n_regs_set): New static vars for comm. among the above.
+Mon Jul 6 22:21:56 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
- * stmt.c (expand_asm_operands): call protect_from_queue on operands.
- This requires preexpanding the outputs into a vector of rtx's.
+ * m68k.c (output_scc_di): Use cmpw #0 instead of tstl when
+ testing address registers on the 68000.
- * Makefile (install): cd to $(libdir) before ranlib.
+Mon Jul 6 22:17:19 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
- * c-typeck.c (c_expand_asm_operands): emit_queue at the end.
+ * i386.c (is_fp_test): Fix thinko.
- * reload.c (find_reloads): Count # alternatives properly for
- an asm insn, and check that all operands correspond.
+ * jump.c (jump_optimize): Check for CONST_INT before using INTVAL.
- * loop.c (verify_loop): Reject loops containg setjmps.
- * cse.c (cse_main): Don't cse across a call to setjmp.
+Mon Jul 6 22:14:31 1998 Richard Henderson (rth@cygnus.com)
- * expr.c (expand_expr): Permit any non0 DECL_RTL for a VAR_DECL.
+ * print-rtl.c (print_rtx): Display the real-value equivalent of
+ a const_double when easy.
- * stmt.c (balance_case_nodes): Count ranges double when balancing.
+ * 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.
-Wed Dec 14 13:50:45 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * regclass.c (allocate_reg_info): Initialize the entire reg_data
+ virtual array.
- * final.c (output_addr_const): Output just `-', not `+-'.
+Mon Jul 6 22:09:32 1998 Ian Lance Taylor <ian@cygnus.com>
+ Jeff Law <law@cygnus.com>
- * make-cc1.com: Update filenames changed to `c-'.
- * make-cccp.com: Pass needed -D options when compiling cccp.c.
- Use /nomap when linking.
+ * 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.
- * loop.c (strength_reduce): Paraphrase setting NEW_REG, for Iris cc.
+ * cpplib.c (cpp_options_init): Initialize cplusplus_comments to 1,
+ matching July 18, 1995 change to cccp.c. If -traditional then
+ disable cplusplus_comments.
- * output-m68k.c (output_move_const_single): %'s must be doubled twice.
+Mon Jul 6 21:28:14 1998 Jeffrey A Law (law@cygnus.com)
- * loop.c (record_giv): A giv can be replaceable if its uses are
- all in the same basic block as its sole setting.
- (last_use_this_basic_block): Subroutine to test that.
+ * combine.c (expand_compound_operation): Fix thinko in code to optimize
+ (zero_extend:DI (subreg:SI (foo:DI) 0)) to foo:DI.
-Tue Dec 13 13:41:57 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * Disable the following change from gcc2. Not appropriate for egcs:
- * expr.c (do_store_flag): Allow for COMPARISON to be a const_int.
+ 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.
- * c-decl.c (pushdecl): Warn if type mismatch with another external decl
- in a global scope.
+Mon Jul 6 21:07:14 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * fixincludes: Fix typo in msg of deleting unchanged file.
+ * 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.
- * Makefile (insn-*): Use two-step rules with a separate time-stamp file
- to avoid rerunning gen* unless md has changed again.
+ * 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.
+
+ * mips-tfile.c: Include machmode.h to get HOST_PTR_PRINTF.
-Mon Dec 12 13:32:05 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * Makefile.in (mips-tfile.o): Depend on machmode.h.
- * i386.md (tstsf, tstdf, cmpsf, cmpdf): Use fnstsw, not fstsw. Faster.
+Mon Jul 6 10:42:05 1998 Mark Mitchell <mark@markmitchell.com>
- * tm-vax.h (ASM_OUTPUT_REG_POP): Use correct asm syntax for pop insn.
+ * 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}.
- * combine.c (subst): Handle (subreg (mem)) by making a changed mem.
- This avoids producing any (subreg (mem))s except in the special
- case they are supposed to be made here.
- Also set undo_storage in a couple of cases that forgot to.
+Mon Jul 6 09:38:15 1998 Mark Mitchell <mark@markmitchell.com>
- * reload.c (push_reload): When handling (SUBREG (MEM)) for IN,
- if there is an OUT, make that a separate reload.
- Return its number in `output_reloadnum'
- (find_reloads): When pushing matching-reloads, note that the
- two operands can have different reload-numbers.
+ * cse.c (CSE_ADDRESS_COST): New macro, based on ADDRESS_COST, but
+ dealing with ADDRESSOF.
+ (find_best_addr): Use it.
- * tm-3b1.h (ASM_OUTPUT_CASE_END): Test flag on TABLE, not its pattern.
- (ASM_OUTPUT_CASE_LABEL): If /i flag set, don't output the dummy entry
- since the fetcher-insn will not be off by 2 in this case.
- * m68k.md (casesi_2 recognizer): For 3b1 syntax, compensate for that.
+Mon Jul 6 09:27:08 1998 Richard Henderson <rth@cygnus.com>
-Sun Dec 11 12:51:49 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * alpha/vms.h (TRAMPOLINE_TEMPLATE): Revert last change.
- * genrecog.c (try_merge_2): No longer put all explicit decompositions
- before all predicates. Patterns are now tested in the order written.
- * vax.md: Move the push-or-move-address patterns to the end.
- * m68k.md: Move load-address pattern to end.
- Rearrange the special-case movsi patterns.
- * ns32k.md: Move special load-reg-17 pattern before movsi.
- * i386.md: Move the QI and DI push patterns to logical places.
- This should not actually change anything.
+Mon Jul 6 09:25:06 1998 Dave Love <d.love@dl.ac.uk>
- * stmt.c: Add Andy Hitchins's binary-tree case statement code.
- (struct case_stmt): case_list field is now a case_node chain.
- Replace has_default field with default_label field.
- (pushcase, pushcase_range): Build case_list in its new type,
- and keep it sorted.
- (expand_end_case): Use case_list in its new type.
- Count a range of > 1 as two cases, when choosing strategy.
- (group_case_nodes, balance_case_nodes): New fns, rearrange case_list.
- (node_has_{low,high}_bound, node_is_bounded): New fns test
- relationships of values of various case_list tree nodes.
- (emit_jump_if_reachable): New fn.
- (emit_case_nodes): Emit compares and jumps based on tree of case_list.
+ * libgcc2.c (__eprintf): Make args consistent with prototype in
+ assert.h.
- * cccp.c (finclude): Handle nonordinary files (stat doesn't give size).
+Mon Jul 6 00:28:43 1998 Mark Mitchell <mark@markmitchell.com>
- * tm-3b1.h (PRINT_OPERAND_ADDRESS): Handle case of breg and no ireg.
+ * cse.c (cse_insn): When SETting (MEM (ADDRESSOF (X))) to Y,
+ don't claim that the former is equivalent to the latter.
-Sat Dec 10 16:30:32 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sun Jul 5 23:58:19 1998 Jeffrey A Law (law@cygnus.com)
- * sparc.md (movstrsi): Separate define_expand and define_insn;
- clobber some pseudos to get temp regs to use in the output.
- * output-sparc.c (output_block_move): Use those temp regs,
- guaranteed to be free.
+ * 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.
- * sparc.md (andcc patterns for bitfields from memory):
- Test immed. arg for being in range.
- (load DFmode constant): Use %m for output in one case.
- * output-sparc.c (singlemove_string, output_move_double): Likewise.
+ * combine.c (simplify_comparison): Do not commute a AND into
+ a paradoxical SUBREG if not WORD_REGISTER_OPERATIONS.
- * output-sparc.c (singlemove_string): New case for mem-to-mem move.
+ * 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>
-Fri Dec 9 11:42:15 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * varray.{c,h}: New files to provide virtual array support.
- * stupid.c (stupid_mark_refs): for CLOBBER of a pseudo,
- it is born just before this insn and dies just after.
+ * 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).
- * tm-vax.h (NOTICE_UPDATE_CC): For aob, sob insns, forget the cc's.
+ * toplev.c (x{m,re}alloc): If size is 0, allocate 1 byte.
+ (xcalloc): Provide frontend for calloc.
+ * {tree,rtl}.h (xcalloc): Add declaration.
- * basic-block.h (REG_BLOCK_UNKNOWN, REG_BLOCK_GLOBAL): Move defn here.
- * local-alloc.c: Use them.
+ * basic-block.h (REG_BASIC_BLOCK): Convert reg_n_info to be a
+ varray.
- * c-decl.c (store_parm_decls): Additional explanatory message
- for some prototype mismatches.
+ * regs.h (toplevel): Include varray.h.
+ (reg_n_info): Switch to use a varray.
+ (REG_*): Likewise.
+ (allocate_reg_info): Change num_regs argument to be size_t.
- * gnulib.c (SItype): New macro used instead of `int'
- for SImode operands and values. Definition is `long int'.
+ * 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.
-Thu Dec 8 18:45:48 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * flow.c (reg_n_info): Switch to use varrays.
- * reload.c (operands_match_p): Move the label `slow' so that
- it doesn't cause a REG and a SUBREG to be compared wrong.
+Thu Jul 2 10:11:47 1998 Robert Lipe <robertl@dgii.com>
- * toplev.c (compile_file): Output a label `gcc_compiled.' for GDB.
- If new macro ASM_IDENTIFY_GCC is defined, run that instead.
- * tm-3b1.h (ASM_IDENTIFY_GCC): Define this as no-op.
+ * 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
-Wed Dec 7 12:20:42 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu Jul 2 08:20:00 1998 Catherine Moore <clm@cygnus.com>
- * i386.md (adddf3): Typo: paren was in a constraint.
+ * haifa-sched.c (alloc_EXPR_LIST): Change to use
+ unused_expr_list.
- * c-decl.c (grokparms): Avoid duplicate msgs for incomplete type ptrs.
+Thu Jul 2 14:13:28 1998 Dave Love <d.love@dl.ac.uk>
- * gnulib.c: Rename all fns to start with `__'.
- * optabs.c, expr.c: Rename all references.
+ * Makefile.in (install-info): Don't use $realfile. Ignore
+ possible errors from the install-info program.
- * gnulib.c (__cmpdi2, __ucmpdi2): New fns.
- * optabs.c (emit_cmp_insn): Use them.
+Thu Jul 2 01:53:32 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
- * Makefile (stage*): Ignore errors on the main `mv' (for cc1plus).
- Run ranlib if we have to copy gnulib.
+ * combine.c (simplify_comparison): Apply SUBREG_REG to SUBREGs.
- * expmed.c (expand_divmod): Split `label' into several local vars.
+Wed Jul 1 23:06:03 1998 Richard Henderson <rth@cygnus.com>
- * jump.c (jump_back_p): Do nothing unless cc's were set from integers.
+ * i386.h (HARD_REGNO_MODE_OK): Kill spurious test.
+ (MODES_TIEABLE_P): Tie SImode and HImode.
-Tue Dec 6 12:00:21 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de>
- * c-parse.y (extend_token_buffer): Use xrealloc, not realloc.
+ * invoke.texi (Optimize Options): Fix typo.
- * integrate.c (output_inline_function): fix args of expand_function_end
- (expand_inline_function): Add missing arg to expand_end_bindings.
+Wed Jul 1 22:25:43 1998 Jim Wilson <wilson@cygnus.com>
- * cse.c (cse_insn): Add missing MODE arg to canon_hash.
+ * xcoffout.c (xcoffout_begin_function): Call xcoffout_block for
+ the zero'th block.
- * reload1.c (reload_as_needed): Del. extra arg of choose_reload_targets
- (reload): Add missing MODE arg to immediate_operand.
+Wed Jul 1 23:12:58 1998 Ken Raeburn <raeburn@cygnus.com>
- * expmed.c (expand_mult): Delete extra arg to expand_unop.
+ * h8300.c (print_operand): Delete %L support.
+ * h8300.md (branch_true, branch_false): Use %= with a prefix
+ instead of %L for local branch labels.
- * c-typeck.c (default_conversion):
- Add missing NOCONVERT arg to build_unary_op.
+Wed Jul 1 21:27:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * c-decl.c (duplicate_decls, finish_struct): Add missing arg
- KNOWN_ALIGMENT to layout_decl.
- * stor-layout.c (layout_record): Likewise.
- * varasm.c (assemble_variable): Likewise.
+ * reload1.c (emit_reload_insns): Use proper register classes for
+ SECONDARY_INPUT_RELOAD_CLASS / SECONDARY_MEMORY_NEEDED code.
- * dbxout.c (dbxout_init): Add missing LOCAL arg to dbxout_symbol.
+Wed Jul 1 21:17:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * expr.c (clear_storage): Remove excess arg to emit_move_insn.
+ * 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.
- * loop.c (consec_sets_invariant_p): Add parens in hairy if-condition.
+Wed Jul 1 17:23:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * fold-const.c (fold): Typo, missing `case'.
+ * regmove.c (fixup_match_2): Check that P has RTX_CLASS 'i' before
+ using its PATTERN.
- * cccp.c (main): Typo handling `-I-' option.
+Wed Jul 1 05:04:41 1998 Richard Henderson <rth@cygnus.com>
- * tm-i386.h (NO_FUNCTION_CSE): Define this; cse is said to slow
- things down with less than 7 calls.
+ * 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.
- * stmt.c (fixup_var_refs_insn): When scanning the reg-notes,
- don't touch other insns they point at.
+Wed Jul 1 04:22:23 1998 Richard Henderson <rth@cygnus.com>
- * expr.c (do_jump): Use invert_exp, not reverse_condition,
- to invert sense of a jump.
- * jump.c reverse_condition now static, invert_exp now global.
+ * sparc.c (function_arg_record_value): Take a MODE arg with which to
+ create the PARALLEL. Update all callers.
-Mon Dec 5 10:51:39 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jul 1 04:10:35 1998 Richard Henderson <rth@cygnus.com>
- * tm-sun386.h (ASM_FILE_START): In the .file arg, exclude directories.
+ * expr.c (expand_assignment, store_constructor, expand_expr): Use
+ convert_memory_address instead of convert_to_mode when possible.
- * stmt.c (expand_expr_stmt): If -W, warn if stmt has no side effect.
+Wed Jul 1 03:48:00 1998 Richard Henderson <rth@cygnus.com>
- * cccp.c (monthnames): Capitalize each name.
+ * 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.
- * rtl.def: New code MATCH_OPERATOR.
- * genconfig.c (walk_insn_part): Handle it.
- * genextract.c (walk_rtx): Handle it.
- * genpeep.c (match_rtx): Handle it.
- * genrecog.c (add_to_sequence): Handle it.
- * genemit.c (max_operand_1, gen_exp, gen_expand): Handle it.
- * genoutput.c (scan_operands): Handle it.
- (insn_n_alternatives): New array in the output.
- (struct data): New slots n_alternatives and op_n_alternatives.
- (scan_operands, gen_insn, gen_peephole):
- Record op_n_alternatives for each operand.
- (output_epilogue): Verify that all operands have same # of alternatives
- Also output insn_n_alternatives.
+ * alpha/linux.h: Revert gcc2 merge lossage.
- * reload.c (find_reloads): use insn_n_alternatives to control
- the loop over all alternatives.
- An empty constraint or empty alternative in a constraint
- is always satisfied.
- * recog.c (constrain_operands): Likewise.
+Wed Jul 1 10:56:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * c-decl.c (lang_decode_option): For each -f option, recognize a form
- with `no-' and a form without, as contraries.
+ * c-decl.c (grokdeclarator): Don't warn about implicit int in
+ `typedef foo = bar'.
- * toplev.c (main): Decode -f options using a table
- so that each option automatically has a `no-' variant.
+Wed Jul 1 02:12:33 1998 Robert Lipe <robertl@dgii.com>
- * combine.c (try_combine): Give up if I1 or I2 follows a compare insn.
+ * i386.c (asm_output_function_prefix): Make 686 function
+ prologues not issue .types for non-global labels.
-Sun Dec 4 12:00:36 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jun 30 23:46:53 1998 Dmitrij Tejblum <tejblum@arc.hq.cti.ru>
- * varasm.c (data_section): If flag_shared, use SHARED_SECTION_ASM_OP
- if that is defined.
+ * i386/freebsd.h (WCHAR_TYPE): Chagne to an "int".
+ (WCHAR_TYPE_SIZE): Update appropriately.
- * cccp.c (include_default): Add /usr/local/include.
+Tue Jun 30 23:16:39 1998 Jeffrey A Law (law@cygnus.com)
- * Makefile (install): Install the makefile.
+ * flow.c (recompute_reg_usage): Does not return a value.
+ * rtl.h (recompute_reg_usage): Update prototype.
- * varasm.c (assemble_external): New fn to declare an external.
- (assemble_variable): Output nothing for externals.
- * c-parse.y (primary => identifier): Call assemble_variable on 1st use.
+ * jump.c (jump_optimize): Show that the jump chain is not
+ valid when not optimizing.
- * toplev.c (main): Print version info on stderr, not stdout.
- * tm-*.h (TARGET_VERSION): Likewise.
+Tue Jun 30 16:01:01 1998 Richard Henderson <rth@cygnus.com>
- * tm-isi68.h, tm-news800.h: Rename __HAVE_FPU__ to __HAVE_68881__.
+ * 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.
- * sparc.md (seq, etc): Entire page rewritten by Tiemann
- to avoid incorrect use of PARALLEL.
- * output-sparc.c (gen_scc_insn): Corresponding changes.
+ * 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.
-Sat Dec 3 00:03:19 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-06-30 Benjamin Kosnik <bkoz@bliss.nabi.net>
- * gcc.c (do_spec_1): %P is an ANSIfied form of %p:
- put __ at beg and end of each predefined macro name.
+ * dbxout.c (dbxout_type_methods): Remove warn_template_debugging.
- * tm-sun3.h (CPP_SPEC): Don't define -Dmc68010, etc., if -ansi.
- * tm-sun2.h (CPP_SPEC): Likewise.
+Tue Jun 30 14:03:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * c-decl.c (shadow_tag): Don't complain if declare a new tag
- at top level, or if redeclare a tag.
+ * 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.
- * c-decl.c (grokparms): Warn if parm points to incomplete type.
- (We already err if its own type is incomplete.)
+ * configure.in (GCC_NEED_DECLARATIONS): Add checks for getrlimit
+ and setrlimit, search for them in sys/resource.h.
- * stmt.c (fixup_var_refs_insns): Fix any (SUBREG (MEM)) in REG_NOTES.
- (walk_fixup_memory_subreg): New subroutine used for this.
+ * acconfig.h: Add stubs for NEED_DECLARATION_GETRLIMIT and
+ NEED_DECLARATION_SETRLIMIT.
- * integrate.c (copy_rtx_and_substitute): Handle MEM refs to the middle
- of a stack-parm--at least in the case of reading the parm.
+ * system.h: Prototype getrlimit/setrlimit if necessary.
- * rtl.c (rtx_equal_p): REG_FUNCTION_VALUE_P is significant
- only until end of reload pass.
- * toplev.c (rest_of_compilation):
- Control that by setting new var rtx_equal_function_value_matters.
+Tue Jun 30 10:54:48 1998 Mark Mitchell <mark@markmitchell.com>
- * c-decl.c (init_decl_processing): Don't declare the builtins
- that aren't really implemented.
+ * rtl.texi: Don't say that RTX_INTEGRATED_P is not depended
+ upon.
- * output-sparc.c (output_move_double): "in structure" implies
- 8-byte alignment only for DFmode, not for DImode.
+Tue Jun 30 13:11:42 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * final.c (output_operand_lossage): Cleaner text for error msg.
- No longer need to write text into .s file, now that linenum is correct.
+ * rs6000/sysv4.h (asm output): Add tabs for asm directives.
- * c-decl.c (pushdecl): -traditional stops warning
- about "declared extern, later static".
+Tue Jun 30 13:11:42 1998 David Edelsohn <edelsohn@mhpcc.edu>
- * c-typeck.c (build_indirect_ref): Don't handle flag_volatile here.
- * expr.c (expand_expr): Handle it here, in INDIRECT_REF case.
- This prevents -fvolatile from causing additional warnings.
+ * Makefile.in (FLAGS_TO_PASS): Set AR_FLAGS to AR_FOR_TARGET_FLAGS.
- * output-sparc.c (output_load_address): Allow REG+REG for operands[3].
+Tue Jun 30 08:59:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * m68k.md (movsi): If we output the label LIn,
- set the RTL_INTEGRATED flag in the switch table's pattern.
- * tm-3b1.h (ASM_OUTPUT_CASE_END): Define LD%n only if LI%n was output.
+ * 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.
- * i386.md (push-and-add pattern): Comment it out.
- It's said to result in slower code.
+ * system.h: Immediately after including stdio.h, check for and if
+ necessary provide a default definition of NULL.
- * i386.md (tstqi, tsthi, tstsi): Output real `test' insn if op is reg.
+Tue Jun 30 08:22:05 1998 Michael Meissner <meissner@cygnus.com>
- * i386.md (push for DI): Allow `oiF' for 2nd operand.
+ * reload1.c (reload_cse_simplify_operands): Call
+ fatal_insn_not_found, not abort.
-Fri Dec 2 13:57:35 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jun 30 02:34:02 1998 Jeffrey A Law (law@cygnus.com)
- * i386.md (movdi): Allow F constraint for 2nd operand.
+ * 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 structure checks
+ to handle optional 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.
- * i386.md (push for QI): define pattern to push a QImode
- which really uses pushw and therefore really pushes a halfword.
- * tm-i386.h (PUSH_ROUNDING): Round up to multiple of 2.
+Tue Jun 30 00:56:19 1998 Bruno Haible <haible@ilog.fr>
- * gcc.c (do_spec_1): Handle %e, which means report an error.
- Use it to prohibit -pg with -fomit-frame-pointer.
+ * invoke.texi: Document new implicit structure initialization
+ warning.
- * tree.h (DECL_RESULT_TYPE): New field in FUNCTION_DECL holds the type
- of the widened returned value (not nec. the declared return type).
- * c-decl.c (start_function): Set DECL_RESULT_TYPE.
- * integrate.c (expan_inline_function): Use that, not DECL_RESULT.
+Mon Jun 29 21:40:15 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Thu Dec 1 16:44:10 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * toplev.c (flag_dump_unnumbered): Declare.
+ (f_options): Add dump-unnumbered.
+ * print-rtl.c (flag_dump_unnumbered): Define.
+ (print_rtx): Print only '#' for insn numbers if flag_dump_unnumbered
+ is nonzero.
+ (print_rtl): Don't output line number notes if flag_dump_unnumbered
+ is nonzero.
+ * flow.c (print_rtl_with_bb): Don't output newline after line
+ numbers note if flag_dump_unnumbered is nonzero.
- * cse.c (fold_rtx): When reordering constant args, insist on
- manifest constants; regs with known contents won't do.
+Mon Jun 29 22:12:06 1998 Jeffrey A Law (law@cygnus.com)
- * i386.md (mulsi3): Don't use rtx_equal_p to compare regs.
+ * Merge from gcc2 June 9, 1998 snapshot. See ChangeLog.13 for
+ details.
- * expr.c (move_by_pieces_1): Don't call change_address
- if address is autoinc, since that may not be memory_address_p.
- Subroutine-macro add_offset deleted.
+ * pa.c, pa.h, pa.md: Convert to gen_rtx_FOO.
- * optabs.c (bcc_gen_fctn, setcc_gen_fctn): Moved to this file.
- (init_optabs): Init those tables here.
- * expr.c (init_conditions): Not here.
+Mon Jun 29 20:12:41 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stmt.c (assign_stack_local): Make a list of all stack slots.
- * emit-rtl.c (unshare_all_rtl): Unshare all the stack slots.
+ * Makefile.in (fix-header): Don't needlessly depend on cpperror.o.
- * final.c (final): Handle BARRIER with ASM_OUTPUT_ALIGN_CODE.
- * tm-ns32k.h (ASM_OUTPUT_ALIGN_CODE): Align to 4-byte bdry.
-?? * tm-sequent.h (ASM_OUTPUT_ALIGN_CODE): Override: just 2-byte bdry.
+ * alias.c (CHECK_ALIAS_SETS_FOR_CONSISTENCY): Cast expansion to
+ void since it is evaluated in a comma list.
- * tm-m68k.h (PRINT_OPERAND): use new macros to print floats.
- (ASM_OUTPUT_FLOAT_OPERAND): New macro.
- (ASM_OUTPUT_DOUBLE_OPERAND): New macro.
- * tm-sun3.h: Override those macros, to check for infinities.
+ * 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.
-Wed Nov 30 06:35:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * sol2.h (ASM_GENERATE_INTERNAL_LABEL): Likewise.
- * tm-ns32k.h (FUNCTION_{PRO,EPI}LOGUE): if no frame pointer,
- do explicit push or pop insns.
+ * 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'.
- * tm-genix.h (PRINT_OPERAND): Fix typo `file'.
- Extedn decl for paren_base_reg_printed.
- (MAIN_FUNCTION_PROLOGUE): Deleted.
- (ASM_OUTPUT_EXTERNAL): Defined.
+ * cpplib.c (cpp_message_from_errno): Remove unneeded argument to
+ cpp_message.
- * c-parse.y (yyerror): Better error msg for unprintable char in token.
- (primary => identifier): Set TREE_USED if implicit decl made.
+ * dbxout.c: Fix the comments after an #endif to reflect the actual
+ condition tested in the preceding #if.
- * Makefile (cleanlinks): New target.
- (INSTALL): New variable, has program used for installing files in sys.
+ * except.c (find_all_handler_type_matches): Switch to old-style
+ function definition.
- * output-ns32k.c (print_operand_address): If addr is sum of 2 consts,
- output ADDR first, then OFFSET.
+ * expr.c (expand_builtin): Remove unused variable `type' twice.
- * ns32k.md (addsi3): Allow adding const+reg with result in another reg.
+ * gbl-ctors.h (DO_GLOBAL_CTORS_BODY): Cast -1 before comparing it
+ to an unsigned long.
- * tm-seq386.h (FUNCTION_PROFILER): Provide overriding definition.
+ * haifa-sched.c (print_insn_chain): Remove unused function.
- * tm-hp9k320.h: Alternate ASM_SPEC if using GAS.
- Define STANDARD_STARTFILE_PREFIX if using GAS.
- (FUNCTION_PROLOGUE): on 68020 for big stack frame use link.l.
+ * objc/objc-act.c (build_msg_pool_reference): Hide prototype and
+ definition.
- * gcc.c (STANDARD_STARTFILE_PREFIX): New cust. macro replaces `/lib/'.
+ * toplev.c: When testing whether to include dbxout.h, also include
+ it when XCOFF_DEBUGGING_INFO is defined.
- * va-sparc.h, va-spur.h: Prefix non-interface identifiers with `__'.
+ * unroll.c (unroll_loop): Add parentheses around assignment used
+ as truth value.
- * optabs.c (init_optabs): Don't set up libcalls for ftrunc_optab
- because (1) they aren't supported and (2) they are never used.
+Mon Jun 29 12:18:00 1998 Catherine Moore <clm@cygnus.com>
- * gnulib.c (__builtin_saveregs): If not sparc, define the symbol anyway
- to avoid a warning in ranlib.
+ * config/lb1spc.asm (.div, .udiv): Replace routines.
-Mon Nov 28 01:46:12 1988 Michael Tiemann (mdt at choctaw)
+Mon Jun 29 09:44:24 1998 Mark Mitchell <mark@markmitchell.com>
- * c-parse.y (yylex): Typo, `=' for `==' making wide strings.
+ * rtl.h: Update comment about special gen_rtx variants.
+ * emit-rtl.c (gen_rtx): Handle MEMs using gen_rtx_MEM.
- * sparc.md (various places): make sure that all patterns which store
- can store using const0_rtx (i.e., make all operands to `st' %rx).
+Sun Jun 28 20:58:51 1998 Jeffrey A Law (law@cygnus.com)
- * output-sparc.c (various places): changed dispatches on SYMBOL_REF
- to dispatches on CONSTANT_ADDRESS_P since we now recognize any CONST
- (and not just SYMBOL_REFs). Don't recognize special case CONST for
- output_block_move. Compiler doesn't have enough information to use
- it.
+ * 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.
- * stmt.c (expand_fixup): If the control stack is nested within the
- nesting stack, then no fixup is needed. Otherwise, compiler must
- check for possible fixups between the current nesting stack and the
- nesting stack that immediately contains the control stack.
+Sun Jun 28 08:57:09 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stmt.c (expand_function_start): functions which are nested use
- DECL_CONTEXT. For these functions, test that their DECL_CONTEXT is
- a LET_STMT node.
+ * configure.in (GCC_NEED_DECLARATIONS): Add strerror, getcwd and
+ getwd.
- * tree.h: declare `build_offset_type'.
+ * acconfig.m4: Add stubs for NEED_DECLARATION_STRERROR,
+ NEED_DECLARATION_GETCWD and NEED_DECLARATION_GETWD.
-Sun Nov 27 10:34:53 1988 Richard Stallman (mdt at yahi)
+ * cccp.c: Remove strerror()/sys_nerr/sys_errlist decls.
+ (my_strerror): Add prototype and make it static.
- * output-sparc.c (output_move_double):
- Don't try to use ldd/std if OP1 is a constant.
- * sparc.md (movdi): Allow immediate args moved into general regs.
+ * collect2.c: Likewise.
- * c-decl.c (grokparms): Reject incomplete parm types even if just
- declarating, not defining. Change types to error_mark_node
- in both the PARM_DECL and the list of types.
+ * cpplib.c: Likewise.
- * dbxout.c (dbxout_type): It's not a bug if a RECORD_TYPE
- has a typedef as its TYPE_NAME. That happens in C++.
+ * gcc.c: Likewise, but keep `my_strerror' extern.
- * Make each `asm' with operands record its source file/line
- with reg-notes. It doesn't work to emit a special note before the insn
- because the insn can be moved by loop_optimize.
- * stmt.c (expand_asm_operands): New args FILENAME, LINE.
- Record them in the insn, in reg notes.
- * c-typeck.c (c_expand_asm_operands): New args, passed along.
- * c-parse.y: Pass those args.
- (maybe_type_qual): Line #s for asm stmts emitted like all others.
- * rtl.h (REG_ASM_FILE, REG_ASM_LINE): New kinds of reg notes.
- * toplev.c (error_for_asm): Get the info from those notes.
+ * protoize.c: Likewise.
- * reload.c (find_reloads): Don't clear BADOP for a reg letter
- if the alternative ultimately doesn't allow any regs.
+ * pexecute.c (my_strerror): Add argument to prototype.
- * reload.c (find_reloads): If an `asm' insn gets an error,
- change it to a USE to avoid duplicate error msgs or later trouble.
+ * system.h: Add prototypes for getcwd, getwd and strerror. Add
+ extern decls for sys_nerr and sys_errlist. Make abort decl
+ explicitly extern.
- * reload.c (find_reloads_address): Reloading a constant address,
- specify Pmode as the mode for push_reloads, in case of CONST_INT.
+ * getpwd.c: Remove decls for getwd and getcwd.
- * expr.c (emit_push_insn): Fix calc. of space needed when PARTIAL > 0.
- Both scalar case and BLKmode case needed fixing.
+Sun Jun 28 02:11:16 1998 Jeff Law (law@cygnus.com)
- * sparc.md (load/store constant address):
- Moving DF from mem to cpu regs, don't go via %f0.
- Don't use std/ltd if alignment is wrong or uncertain.
+ * version.c: Bump for snapshot.
-Sun Nov 27 10:34:53 1988 Michael Tiemann (mdt at yahi)
+Sat Jun 27 23:32:25 1998 Richard Henderson <rth@cygnus.com>
- * reload.c (push_reload): Allow VOIDmode for INMODE, OUTMODE;
- default the mode from the operand values.
+ * 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.
- * sparc.md: remove patterns which generate annulled branch insns.
- They are correct, but those insns confuse GDB.
+Sat Jun 27 23:02:04 1998 Richard Henderson <rth@cygnus.com>
- * tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS):
- Treat any constant address like a SYMBOL_REF.
- * sparc.md: Check for CONSTANT_ADDRESS_P rather than SYMBOL_REF.
+ * objc/archive.c: Remove <string.h> prototypes.
- * sparc.md: Peepholes now accept SYMBOL_REF addresses.
- The output routine can now split them properly even as delay insns.
+Sat Jun 27 22:37:05 1998 Jeffrey A Law (law@cygnus.com)
- * print-tree.c (dump): added entry for METHOD_TYPE and
- METHOD_CALL_EXPR. Also added entry for WITH_CLEANUP_EXPR. Suggest
- that we make first_rtl of WITH_CLEANUP_EXPR 2 instead of 1.
+ * tm.texi (NEED_MATH_LIBRARY): Document new target macro.
-Sun Nov 27 00:15:33 1988 Michael Tiemann (mdt at yahi)
+ * Makefile.in (gencheck): Remove $(TREE_H) dependency.
- * print-tree.c (dump): added entry for OP_IDENTIFIER.
+Sat Jun 27 20:20:00 1998 John Carr <jfc@mit.edu>
- * tree.c (build_op_identifier): new function. Needed because
- `build_nt' expects an "e" node, but OP_IDENTIFIER is an "x" node.
+ * 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.
- * store_layout.c (layout_record): use DECL_FIELD_CONTEXT instead of
- DECL_CONTEXT.
+Sat Jun 27 20:18:34 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * tree.h (DECL_FIELD_CONTEXT): new macro. Points to the type that a
- FIELD_DECL is a member of. For C, this is just DECL_CONTEXT.
+ * rs6000.h: Add trap_comparison_operator to PREDICATE_CODES.
- * tree.c (build_method_type): typo used "==" to assign basetype to
- TYPE_METHOD_BASETYPE with predictably poor results.
+Sat Jun 27 16:45:42 1998 Jeffrey A Law (law@cygnus.com)
-Sat Nov 26 22:55:32 1988 Michael Tiemann (mdt at yahi)
+ * 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.
- * output-sparc.c (output_sized_memop): new function to output a load
- or store insn based on the size of the operand loaded or stored.
- (make_f0_contain_0): use info from condition codes to decide whether
- the register %f0 needs to have 0 loaded from memory or not in order
- to contain zero.
- (gen_scc_insn): new function used by define_expands for
- set-on-condition-code insns.
- (output_delay_insn): now knows how to handle load and store
- scheduling when the load or store operation takes two insns instead
- of one. The rewrite is now understands is this:
+Sat Jun 27 13:15:30 1998 Richard Henderson <rth@cygnus.com>
- sethi %hi(address),%g1 -> sethi %hi(address),%g1
- ld/st [%g1+%lo(address)],%reg -> b target
- b target -> ld/st [%g1+%lo(address)],%reg
- nop -> ;; gone
+ * alpha.md (negsf, negdf): Revert Jan 22 change.
- * jump.c (reverse_condition): make this function publicly visible,
- now needed in expr.c.
+Sat Jun 27 07:35:21 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * output-sparc.c (reg_or_0_operand): new function, returns nonzero
- if operand is const0_rtx or a register of specified mode.
- (hardreg): deleted.
+ * mkstemp.c: Include gansidecl.h. Rename uint64_t to gcc_uint64_t.
+ (mkstemp): Remove size specifier for variable `letters'. Call
+ gettimeofday, not __gettimeofday.
- * expr.c, stmt.c: fixed random syntax errors.
+ * 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.
- * tree.c (build_method_type): now corresponds to defn in tree.def
- expr.c (expand_call): removed code to get FUNCTION_TYPE from
- METHOD_TYPE. This should probably be looked at harder.
+Sat Jun 27 01:35:14 1998 Jeffrey A Law (law@cygnus.com)
- * tree.def (METHOD_TYPE): Changed definition so that TREE_TYPE (m)
- (where m is a METHOD_TYPE) is the type of the return value of the
- method, not the FUNCTION_TYPE from which the METHOD_TYPE is derived.
+ * 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 existence.
+ * 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.
- * Makefile: Changed target of BINDIR from /usr/local to
- /usr/local/bin.
-
-Sat Nov 26 16:29:22 1988 Michael Tiemann (mdt at chickasaw)
-
- * tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Allow any SYMBOL_REF.
- (NOTICE_UPDATE_CC): Remember high half of %g1 as a "condition code"
- to avoid reloading it if it does not change.
- (NOTICE_UPDATE_CC): Test SET_SRC, not SET_DEST, for a CALL rtx.
- (PRINT_OPERAND): New code-letter `m' says output operand as an address.
-
- * toplev.c (flag_syntax_only): New flag variable.
- * flags.h: Likewise.
-
- * toplev.c (error_with_decl): Extra arg, passed to fprintf.
- (warning_with_decl): Likewise.
-
- * tree.c (build_offset_type): New function.
-
- * tree.h (TYPE_METHOD_BASETYPE): New name for TYPE_METHOD_CLASS.
- Uses in tree.c and... renamed.
-
- * combine.c (SUBST_INT): New macro, for replacing an int.
- (subst): Collapse nested SUBREGs even if SUBREG_WORDs are not 0.
-
- * expr.c (bcc_gen_fctn, setcc_gen_fctn): new tables,
- initialized in init_comparisons.
- Used in expand_expr, do_jump, do_store_flag
- instead of explicit construction of a jump.
-
- * expr.c (save_noncopied_parts): New function.
-
- * expr.c (expand_expr):
- ARRAY_REF: Special case for array of constants.
- WITH_CLEANUP_EXPR: Handle it.
- INIT_EXPR: Case deleted.
- MODIFY_EXPR: Use save_noncopied_parts.
-
- * expr.c (expand_call): blkmode_parms_forced can be >0
- even when no stack arg space otherwise needed.
- Don't use a hard reg as a target if there are cleanups.
-
- * stmt.c (struct block): New elt. outer_cleanups.
- (struct case): New elt. num_ranges.
- (struct fixup): Changed meaning of cleanup_list_list.
- Changes in expand_fixup, fixup_gotos.
- (expand_fixup): Detect some internal forward-jumps
- that need no fixups--for speed.
- (fixup_gotos): New arg THISBLOCK.
- (expand_expr_stmt): Handle flag_syntax_only.
- (use_variable): No longer static.
- (use_variable_after): new fn.
- (expand_end_bindings): handle cleanups like a stack level.
- (expand_decl): Handle a cleanup with no decl.
- (move_cleanups_up): Preserve relative order of cleanups.
- (expand_anon_union_decl): New fn.
- (pushcase): New fast clause if no ranges yet.
- (pushcase_range): Turned on.
- (expand_function_start): New temp var `fntype'.
- Set TREE_USED for a parm we are ignoring.
- (expand_function_end): Really use the `filename' arg.
- Use use_variable_after for SAVE_EXPR regs.
-
- * dbxout.c (dbxout_type): Handle OFFSET_TYPE.
-
- * gnulib.c (__builtin_new, etc.): Support for C++.
-
- * emit-rtl.c (next_insn, prev_insn): New fns.
-
-Sat Nov 26 16:29:22 1988 Richard Stallman (mdt at chickasaw)
-
- * tree.h (TREE_LANG_FLAG_[1234]): New attributes.
- (TYPE_METHOD_BASETYPE): New name for TYPE_METHOD_CLASS.
- (TYPE_OFFSET_BASETYPE): New macro.
- (NUM_TREE_CODE): New macro.
- (TYPE_NONCOPIED_PARTS): new field in a type-node.
-
- * varasm.c (make_decl_rtl): Split out from assemble_variable.
- (assemble_variable): No longer creates the rtl.
- No longer handles policy of whether to output tentative decl yet.
- (output_constant_def): Don't lose if wasn't temp allocation
- when this was called.
- (output_constant): Handle REFERENCE_EXPR.
-
- * Makefile (BISONFLAGS): new variable.
- (prefix): New variable, used in bindir and libdir.
- (C_OBJS, CPLUS_OBJS): New vars, split off from OBJS.
- (LIBFUNCS): C++ support functions added.
- (CPLUS_TREE_H): New variable.
- (cc1plus): New target.
- (lang_c, lang_cplus): Combines all targets for one language.
- (gplus.info): New target.
- (cplus-*.o): New targets.
- (realclean): Handle new C++ files and recent renamings.
- (install, TAGS): Likewise.
-
- * print-tree.c (prtypeinfo): Handle TREE_LANG_FLAG_[1-4].
-
- * tm-sparc.h (ASM_OUTPUT_DOUBLE): Special case for infinity.
- (ASM_OUTPUT_FLOAT): Likewise.
+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): Propagate 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. Propagate alias sets.
+ * reload1.c (reload): Clear MEM_ALIAS_SET for new MEMs about which
+ we have no alias information.
+
+Thu Jun 25 16:59:18 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'.
- * gcc.c: Don't define __GNU__.
- For .cc files, pass -+ to cpp, and don't handle -ansi.
- Use cc1plus as name of compiler for .cc files.
+ * rs6000.h (RTX_COSTS): Add parentheses around & operation.
+ (toc_section, private_data_section, trap_comparison_operator): Add
+ prototypes.
- * stor-layout.c (layout_type): abort if given a LANG_TYPE node.
- (layout_union): Complain if union has basetypes or static members.
- (layout_record): Handle anonymous union members.
+ * dbxout.h (dbxout_parms, dbxout_reg_parms, dbxout_syms): Add
+ prototypes.
- * tree.def (LANG_TYPE): New tree code for language-specific purposes.
- (WITH_CLEANUP_EXPR): New tree code for expressions whose values
- need to be cleaned up when they are deallocated.
- (OP_IDENTIFIER): New tree code for certain C++ purposes.
+ * xcoffout.c: Include toplev.h, outout.h and dbxout.h.
- * toplev.c (rest_of_decl_compilation): Call make_var_rtl
- before assemble_variable.
+ * 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.
-Wed Nov 23 02:15:45 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu Jun 25 09:54:55 1998 Nick Clifton <nickc@cygnus.com>
- * xm-sunos4.h: Rename included config files to xm-*.
- * xm-*.h: Likewise.
+ * config/arm/arm.h (REG_ALLOC_ORDER): Add ARG_POINTER_REGNUM,
+ noticed by grahams@rcp.co.uk.
- * fixincludes: Avoid altering args to names other than CTRL
- that end in ...CTRL.
- If a file isn't actually changed, delete the copy.
+Thu Jun 25 11:12:29 1998 Dave Brolley <brolley@cygnus.com>
-Mon Nov 21 12:48:22 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * gcc.c (default_compilers): Use new | syntax to eliminate
+ string concatenation.
- * loop.c (move_movables): Never move a reg w/ # > old_max_reg.
- (strength_reduce): For nonreplaceable giv, put insn to load it
- after the insn that used to compute it, in case the latter
- is the last of a libcall sequence.
+Thu Jun 25 01:00:48 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (expand_function_end): If returning BLKmode, also copy
- address where value is returned to the place that GDB will
- expect to see it after the return.
+ * 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.
- * c-parse.y (readescape): Warn about hex constant out of range
- for a target integer.
- (yylex): Warn about escape out of range for non-wide char or string.
- Use a buffer of ints to read a wide string.
+Thu Jun 25 01:18:47 1998 John Wehle (john@feith.com)
-Sat Nov 19 02:18:02 1988 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+ * i386/freebsd-elf.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
- * Version 1.31 released.
+1998-06-25 Herman A.J. ten Brugge <Haj.Ten.Brugge@net.HCC.nl>
- * sparc.md: Change `K' to `I' in all constraints.
+ * expr.c (expand_assignment): Rework address calculation for structure
+ field members to expose more invariant computations to the loop
+ optimizer.
+ (expand_expr): Likewise.
- * loop.c (gen_iv_mult): Handle TARGET==0.
+Wed Jun 24 22:44:22 1998 Jeffrey A Law (law@cygnus.com)
- * c-decl.c (duplicate_decls): Undo last change.
+ * local-alloc.c (block_alloc): Do not try to avoid false dependencies
+ when SMALL_REGISTER_CLASSES is nonzero.
- * c-decl.c (pushdecl): Instead of that change,
- save old-decl's file/line before calling duplicate_decls,
- and pass them later to warning_with_file_and_line.
- * toplev.c (warning_with_file_and_line): New fn.
+Wed Jun 24 17:55:15 1998 Klaus Kaempf <kkaempf@progis.de>
-Fri Nov 18 13:07:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * alpha.md (call_vms, call_value_vms): Strip leading * from symbol.
- * stmt.c (fixup_var_refs_1): (SUBREG (MEM)) was slipping through
- in case where a SET was writing in the variable being fixed.
+Wed Jun 24 16:27:23 1998 John Carr <jfc@mit.edu>
- * recog.c (register_operand, nonmemory_operand, memory_operand):
- Changes to handle new var reload_completed: 1 means that
- (SUBREG (MEM)) now counts as a mem-ref, since alter_subreg
- will make it one.
- * toplev.c (rest_of_compilation): Set and clear reload_completed.
+ * expr.c (get_memory_rtx): New function.
+ (expand_builtin): Call get_memory_rtx for MEM arguments to builtin
+ string functions.
- * sparc.md (call patterns): If TARGET_SUN_ASM, and address in reg,
- output a jmpl rather than a call.
- * tm-sun4os3.h: Like tm-sparc.h but turn on TARGET_SUN_ASM.
+ * expmed.c (init_expmed): Initialize all elements of *_cost arrays.
- * reload.c (push_reloads): Reinstate handling of reg_equiv_constant.
+ * 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.
-Thu Nov 17 09:48:14 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 24 15:13:01 1998 Dave Brolley <brolley@cygnus.com>
- * reload1.c (constraint_accepts_reg_p): Name changed from
- constraint_all_regs_p; new arg is reg we are concerned with,
- and condition tested takes some advantage of that reg.
+ * README.gnat: Add patch for new lang_decode_options interface.
- * gcc.c (main): Rename var `error' to `error_count' for name conflict.
+Wed Jun 24 09:14:04 1998 Andrew MacLeod <amacleod@cygnus.com>
- * emit-rtl.c (emit_note): Output line #s even if no debug info wanted.
- (emit_line_note): New fn, does what emit_note did.
- (emit_line_note_force): New name for emit_note_force.
- * stmt.c, c-parse.y: Call emit_line_note instead of emit_note.
+ * except.c (start_catch_handler): Do nothing if EH is not on.
- * c-parse.y (maybe_type_qual): Call emit_note instead of emit_line_note
- Now we can find the line # of every `asm' from the RTL.
- * toplev.c (error_for_asm): New fn, gets line # by searching for NOTE.
- * reload.c (find_reloads): Use error_for_asm.
- * reload1.c (choose_reload_targets): Likewise.
- * final.c (output_operand_lossage): Likewise.
- Variable this_is_asm_operands is now current insn if it's nonzero.
+1998-06-24 Manfred Hollstein <manfred@s-direktnet.de>
- * loop.c (move_movables): When a reg is moved, update regno_first_uid
- and regno_last_uid; say life span includes entire loop.
- * Decrement THRESHOLD per reg moved, not per insn moved.
+ * 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 Nov 16 08:41:32 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 24 01:32:12 1998 David S. Miller <davem@pierdol.cobaltmicro.com>
- * gnulib.c (___builtin_saveregs): New fn, for sparc.
+ * toplev.c (rest_of_compilation): Revert May 15 change.
- * tm-sparc.h (GO_IF_LEGITIMATE_ADDRESS): Don't recognize
- SYMBOL_REFs, except for the constants pool.
- But do recognize REG+REG and SMALLINT+REG.
- * sparc.md: New patterns for fetching and storing memory
- whose address is symbolic and not "legitimate".
+Tue Jun 23 21:27:27 1998 Ken Raeburn <raeburn@cygnus.com>
- * sparc.md (movsi): Add `f' to op1 constraint.
- New output clause for result in fp reg.
- (Floating point fetch patterns): Output sethi insns.
- (call_value, related patterns): value-register has `register_operand'.
+ * reload.c (find_reloads): Fix check for failure to match any
+ alternative, to account for Mar 26 change in initial "best" cost.
- * output-sparc.c (hardreg): New function.
- (COMPATIBLE): Clause added for n_regs == 2.
- (single_insn_src_p): Return 0 for MEM whose address is absolute.
+Tue Jun 23 16:44:21 1998 Dave Brolley <brolley@cygnus.com>
- * tm-genix.h (GO_IF_LEGITIMATE_ADDRESS subroutines):
- Redefine, to exclude any possibility of SB-referencing addresses.
+ * 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.
- * loop.c (strength_reduce): Can't eliminate a biv if used before
- start of the loop. Used before is same as used after, if contained
- in another loop.
+Tue Jun 23 13:38:18 1998 Andrew MacLeod <amacleod@cygnus.com>
- * recog.c (asm_noperands, decode_asm_operands):
- Handle case of no outputs, but some clobbers.
- * stmt.c (expand_asm_operands): Generate right stuff for that case.
+ * 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.
- * tm-sun3.h (CPP_SPEC): Don't define __HAVE_68881__ if using fpa.
+Tue Jun 23 09:30:58 1998 Dave Love <d.love@dl.ac.uk>
+
+ * cpp.texi, gcc.texi: Add @dircategory, @direntry meant to
+ accompany previous Makefile.in (install-info) change.
+
+Tue Jun 23 10:06:07 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.
+
+Mon Jun 22 22:21:46 1998 Richard Henderson <rth@cygnus.com>
-Tue Nov 15 00:10:26 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * gcc.c (handle_braces): Recognize | between options as an or.
- * loop.c (gen_iv_mult): Arg OP0 may not be a constant.
- Pay attention to return value of expand_mult.
- (eliminate_biv): Call changed.
+Mon Jun 22 23:13:47 1998 John Wehle (john@feith.com)
- * output-m88k.c, output-sparc.c (output_move_double):
- Fix typo `optype0' for `optype1'.
+ * 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.
- * c-decl.c (duplicate_decls): Don't alter file, line of old decl.
+ * i386.md (exception_receiver): Define.
- * c-parse.y (skip_white_space): Don't recognize comments; rely on cpp.
+Mon Jun 22 12:01:48 1998 Jim Wilson <wilson@cygnus.com>
- * rtl.c (rtx_equal_p): Handle vectors.
+ * Makefile.in (PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME,
+ PROTOIZE_CROSS_NAME, UNPROTOIZE_CROSS_NAME): New variables.
+ (install-common): Use them.
- * loop.c (scan_loop): Change elts of n_times_set back to positive
- for candidates that weren't moved, before doing strength reduction.
+ * 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.
- * ns32k.md (movdi, movdf): Use `&' constraint for first operand.
+Mon Jun 22 19:01:14 1998 Dave Love <d.love@dl.ac.uk>
- * reload1.c (reload): Initialize spill_indirect_ok here.
+ * Makefile.in (install-info): Fix typpo in previous change.
- * config-sun4.h: Recognize `-static' switch.
+Mon Jun 22 11:10:00 1998 Catherine Moore <clm@cygnus.com>
- * global-alloc.c (set_preference): Avoid using nonsense hard reg #s
- that result from adding OFFSET.
+ * varasm.c (assemble_variable): Emit alignment warning.
- * sdbout.c (sdbout_end_function): Line # in .ef should be relative.
+Mon Jun 22 08:18:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * final.c (output_source_line): For SDB, don't output negative #s.
+ * Makefile.in (varasm.o): Depend on sdbout.h.
+ (sdbout.o): Depend on toplev.h.
- * tm-encore.h (ASM_OUTPUT_LOCAL): Don't ignore SIZE arg.
+ * collect2.c (scan_prog_file): Cast fprintf argument to `long' and
+ use %ld specifier.
-Mon Nov 14 11:03:16 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * final.c (shorten_branches): Cast first arg of `bzero' to char *.
- * reload.c: Don't declare refers_to_regno_p.
+ * genextract.c (main): When creating insn-extract.c, mark variable
+ `i' with ATTRIBUTE_UNUSED.
- * gcc.c (main): Warn if any input files are for the linker
- but the linker is not being run.
+ * genpeep.c (main): When creating insn-peep.c, mark variables
+ `insn', `x' and `pat' with ATTRIBUTE_UNUSED.
- * jump.c (sets_cc0_p): Dumb bug fetching elts of a PARALLEL.
+ * objc/init.c (__objc_tree_print): Wrap function definition in
+ macro `DEBUG'.
- * local-alloc.c: qty_birth, qty_death elements are now -1, not 0,
- when the value is not known.
+ * objc/objc-act.c (encode_array): Cast sprintf argument to `long'
+ and use %ld specifier.
+ (adorn_decl): Likewise, twice.
- * expmed.c (extract_bit_field): Bug computing xbitpos, xoffset
- when changing units from bytes to words.
+ * reload1.c (reload_cse_regs): Cast first arg of `bzero' to char *.
- * loop.c: Rename `times_used' field in `struct movable' to `savings'.
- (scan_loop): When scanning the consecutive sets, for each libcall,
- increment `savings'--leave `consec'.
- When making movable for (SET (REG) 0) which is part of zero-extension,
- set `savings' to 1 initially, since only 1 insn will be moved.
- And don't let any other reg force that insn.
- Reduce initial THRESHOLDs.
- (move_movables): Don't add `consec' into `savings'
- since the initial `savings' was proportional to `consec'.
- Decrement THRESHOLD by 3 (not 2) for each move done.
+ * 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.
- * reload1.c (choose_reload_targets): Strip subregs from OLD
- before writing the output-reload move-insn.
+ * sdbout.h (sdbout_mark_begin_function): Add prototype.
- * reload1.c (reload): counted_for_groups and counted_for_nongroups
- are now file-scope. Update them both when spilling.
- (new_spill_reg): No need for counted_for_nongroups as arg.
- (choose_reload_targets): Don't use for a group
- any spill regs for which counted_for_nongroups is set.
+ * stmt.c (check_for_full_enumeration_handling): Cast argument of
+ `warning' to long and use %ld specifier.
- * dbxout.c (dbxout_symbol): Indirect-symbol case checked erroneously
- for PARM_DECL.
+ * toplev.c (main): Likewise for `fprintf'.
-Sun Nov 13 08:13:49 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * toplev.h (output_file_directive): Add prototype.
- * cse.c (fold_rtx): Don't alter MULT by -1 if arg mode != result mode.
+ * unroll.c (unroll_loop): Use HOST_WIDE_INT_PRINT_DEC specifier in
+ call to `fprintf'.
+ (precondition_loop_p): Likewise.
- * loop.c (move_movables): If moving a CALL_INSN, make a new CALL_INSN.
- * emit-rtl.c (emit_call_insn_before): New fn.
+ * varasm.c Include sdbout.h.
+ (assemble_static_space): Move sometimes-unused variable `rounded'
+ into the scope in which it is used.
- * config-sun4.h (LINK_SPEC): Avoid shared libraries if -g.
+ * mips.c (gpr_mode): Don't say `static' twice.
- * expr.c (store_one_arg): Stabilize ARG->stack so it doesn't use SP
- before computing the arg value.
+ * cpplib.c (cpp_handle_option): Don't pass unneeded NULL to cpp_fatal.
- * combine.c (use_crosses_set_p): Moving a ref to stack ptr
- is always forbidden if machine has push insns, since might cross one.
+ * objc/objc-act.c (init_selector): Hide prototype and definition.
- * vax.md (movqi): Avoid out-of-range immed ops in mcomb.
+ * optabs.c (gen_cond_trap): Remove unused variable `icode'.
+
+ * 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.
+
+Sun Jun 21 17:05:34 1998 Dave Love <d.love@dl.ac.uk>
- * expmed.c (extract_bit_field): Don't say `extzv' in the
- clause for `extv'.
+ * Makefile.in (install-info): Use install-info program if
+ available, per GNU standard.
- * emit-rtl.c (copy_rtx_if_shared): Even if a MEM can be shared,
- unshare its address from everything outside that MEM.
+Sun Jun 21 18:56:44 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (expand_builtin): Fix omitted arg to `convert_to_mode'.
+ * invoke.texi: Document -mrelax for the mn10300 and mn10200.
- * expr.c (store_expr): In case where will not return TARGET
- and must do type conversion, don't fail to store into TARGET.
+ * basic-block.h (init_regset_vector): Delete declaration.
+ * flow.c (init_regset_vector): Make it static and add a prototype.
- * dbxout.c (FORCE_TEXT): New macro used before output `.stabs'
- to go to the text section on targets that require it.
- (DEBUG_SYMS_TEXT): Target macro which turns on that feature.
+ * bitmap.h (debug_bitmap): Declare.
- * reload1.c (reload): Index in spill_regs was wrong
- when checking counted_for_groups.
- (choose_reload_targets): When calling find_equiv_reg looking for
- a reload reg, reject all spill regs, even those not in use now.
+ * haifa-sched.c (debug_ready_list): Make static.
- * tm-sun386.h, tm-sun386i.h, config-sun386i.h: New files.
+ * toplev.h (fancy_abort): Declare.
- * cccp.c (main): Don't die if no output file arg given.
+Sun Jun 21 18:30:13 1998 H.J. Lu (hjl@gnu.org)
- * fixincludes: Tell `find' to find only ordinary files.
+ * basic-block.h (init_regset_vector): New declaration.
- * config.gcc: If symlink fails, make a hard link.
+ * Makefile.in (sdbout.o): Add insn-codes.h to dependency.
-Sat Nov 12 20:43:20 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * global.c: Include machmode.h amd move hard-reg-set.h before
+ rtl.h.
- * Makefile (gnulib): Use cp to make the temporary .c files;
- less likely to fail than ln.
+ * 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.
-Sat Nov 5 12:46:39 1988 Randall Smith (randy at sugar-bombs.ai.mit.edu)
+ * integrate.c (pushdecl, poplevel): Remove declaration.
- * tm-m68k.h (HARD_REGNO_MODE_OK): Disallowed d7:a0 as an allowable
- pair of registers to hold a double value. This is correct for the
- fpa but incorrect for the 68881. It was, however, simpler than
- defining a new regclass.
+ * rtl.h (expand_expr): Remove declaration.
-Tue Oct 25 12:03:49 1988 Randall Smith (randy at gluteus.ai.mit.edu)
+ * loop.c (oballoc): Remove declaration.
+ (replace_call_address): Add prototype.
- * m68k.md: Added some thoughts (comments) on best method to allow
- 68881 code with fpa code.
+Sun Jun 21 01:08:17 1998 Jeff Law (law@cygnus.com)
-Thu Oct 13 14:19:17 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * version.c: Bump for snapshot.
- * Version 1.30 released.
+Sun Jun 21 01:16:38 1998 John Wehle (john@feith.com)
- * stupid.c (stupid_life_analysis): Init last_call_suid with
- largest possible value, not 0.
+ * 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.
-Wed Oct 12 04:40:18 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * i386.md (nonlocal_goto_receiver): Delete.
- * output-i386.c (output_asm_insn_double_reg_op): Compensate for
- assembler bug that interchanges fsub and fsubr.
+Sun Jun 21 00:42:20 1998 H.J. Lu (hjl@gnu.org)
- * reload1.c (order_regs_for_reload): Undo 29 Sept change.
- It breaks the 386.
+ * Makefile.in (crtbeginS.o, crtendS.o): Add -fno-exceptions and
+ -DCRTSTUFFS_O.
+ (INSTALL): cd $(srcdir) before make.
- * varasm.c (decode_rtx_const): Don't example value->addr
- if what was stored in was value->d.
+ * flow.c (allocate_for_life_analysis, init_regset_vector):
+ Remove declaration.
- * toplev.c (set_float_handler): New fn, specify where to jump
- on floating exception signal.
- * fold-const.c (combine): Use that to handle overflow in arithmetic.
+ * function.h (get_first_block_beg): New declaration.
- * c-decl.c (grokdeclarator): Don't clear CONSTP, VOLATILEP
- when making an array type.
+ * gbl-ctors.h (__do_global_dtors): Add prototype.
- * dbxout.c (dbxout_symbol): Ignore VAR_DECLs in memory whose
- addresses we can't represent.
+ * gcov-io.h (__fetch_long): New declaration.
+ (__store_long): Likewise.
+ (__read_long): Likewise.
+ (__write_long): Likewise.
- * fold-const.c (fold): don't convert >= to > if both args are constant.
- When converting >= to >, don't fail to change CODE.
+ * gcov.c (print_usage): New declaration.
-Tue Oct 11 04:13:40 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * Makefile.in (c-iterate.o): Depend on insn-codes.h too.
- * vax.md (movhi): Error in truncating mcomw, addh3 args to 16 bits.
+Sat Jun 20 00:36:16 1998 Jeffrey A Law (law@cygnus.com)
- * final.c: Better error checking for %-specs in templates.
- (output_operand_lossage): new fn to report errors.
- (insn_noperands): new var: # operands in current fn.
- (this_insn_asm_operands): new var: 1 for `asm', 0 otherwise.
- (output_asm_insn): Check for operand # out of range.
- (output_asm_label, output_operand): Call new fn to report errors.
+ * 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.
- * reload.c (push_reloads): An input reload for (REG N) can match one
- for (POST_INC (REG N)) or (PRE_INC (REG N)), since the value
- reloaded is the same in any case.
+ * c-common.c (check_format_info): Initialize length_char and
+ fci to keep -Wall quiet.
-Mon Oct 10 06:19:05 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * except.c (jumpif_rtx): Put declaration and definition
+ inside a suitable #ifdef.
+ (jumpifnot_rtx): Delete dead function.
- * recog.c (next_insns_test_no_inequality): Like next_insn_tests...
- but check all insns that follow this one and can use it's cc's.
- * output-m68k.c (output_btst): Use that.
+ * i386.h (output_int_conditional_move): Declare.
+ (output_fp_conditional_move): Likewise.
+ (ix86_can_use_return_insn_p): Likewise.
- * vax.md (movsf, movdf): Undo last change; movq/movl set the cc wrong.
+ * optabs.c (init_traps): Put prototype inside a suitable #ifdef.
- * expr.c (expand_call): Set current_function_calls_setjmp if appro.
- * stmt.c (setjmp_protect): New fn: move all vars into stack
- unless declared `register'.
- * c-decl.c (finish_function): Call it if -traditional and setjmp used.
+Sat Jun 20 00:27:40 1998 Graham <grahams@rcp.co.uk>
- * cccp.c (main): Open output after the input.
- Handle `-o -'.
+ * 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.
-Sun Oct 9 00:28:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Jun 19 22:40:25 1998 Jason Merrill <jason@yorick.cygnus.com>
- * tm-sun3.h (CPP_SPEC): Define __HAVE_FPA__ if appropriate.
+ * regmove.c (copy_src_to_dest): Add decl for loop_depth.
- * c-decl.c (pushdecl): After duplicate_decls, maybe warn about
- "declared extern and later static".
+ * svr4.h (ASM_GENERATE_INTERNAL_LABEL): Cast arg to unsigned.
+ * dwarf2out.c (ASM_OUTPUT_DWARF_DATA1): Likewise.
+ Add parens to various macros.
- * expmed.c (store_bit_field): In insv case, avoid turning
- VALUE into a subreg of a subreg.
+Fri Jun 19 23:22:42 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
- * loop.c (move_movables): When moving a libcall,
- un-cse the function address; put it into the call insn.
+ * c-typeck.c (pop_init_level): Warn about implicit zero initialization
+ of struct members.
-Sat Oct 8 01:48:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Jun 19 23:06:33 1998 Jason Merrill <jason@yorick.cygnus.com>
- * cse.c (equiv_constant): Subroutine to find the constant equivalent
- of a reg. Now handles SUBREGs too.
- (fold_rtx, fold_cc0): Use that function.
- Don't handle SUBREGs like arithmetic.
+ * varasm.c (assemble_start_function): Add weak_global_object_name.
+ * tree.c (get_file_function_name): Use it.
- * reload1.c (choose_reload_targets): Don't call reg_overlap_mentioned_p
- if arg is 0.
+Fri Jun 19 22:55:14 1998 Jeffrey A Law (law@cygnus.com)
-Fri Oct 7 01:00:19 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * except.c (jumpif_rtx): Make static and add prototype.
+ (jumpifnot_rtx): Likewise.
- * assert.h: Typo declaring __eprintf.
+ * README.gnat: Add a build patch from Fred Fish.
- * config.gcc: New file for making the links.
- Fixed bugs for sun-[23]-os4. Added sun-[234] for sunos 3.
- Added sequent-i386.
+ * c-lang.c (GNU_xref_begin, GNU_xref_end): Deleted.
- * emit-rtl.c (gen_rtx): Return const0_rtx for 0 in DImode.
- * varasm.c (immed_double_const): Don't be confused by this.
+ * Makefile.in (c-iterate.o): Depend on expr.h.
- * expmed.c (negate_rtx): New 1st arg MODE.
- * expr.c (push_block): Calls changed.
- * m68k.md, ns32k.md, vax.md: Calls changed.
+Fri Jun 19 20:38:34 1998 H.J. Lu (hjl@gnu.org)
- * c-decl.c (duplicate_decls): Don't discard DECL_BLOCK_SYMTAB_ADDRESS.
+ * except.h (emit_unwinder, end_eh_unwinder): Removed.
- * tree.c (staticp): INDIRECT_REF with constant address is static.
- COMPONENT_REF may not be, if component offset isn't constant.
+ * 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.
- * c-typeck.c (default_conversion): Converting array to ptr, if array
- isn't a VAR_DECL, go through build_unary_op so that COMPONENT_REFs
- will be simplified away.
+ * expr.c (do_jump_by_parts_greater_rtx): Removed.
+ (truthvalue_conversion): Likewise.
- * ns32k.md (tbitd patterns): op 0 constraint: reject constants.
- * ns32k.md (extzv for SImode and HImode):
- Use adj_offsetable_operand; plus_constant was the wrong thing.
+ * c-iterate.c: Include "expr.h".
+ (expand_expr): Use proper values when calling the function.
-Thu Oct 6 00:10:41 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * explow.c (emit_stack_save): Add prototype for FCN.
+ (emit_stack_restore): Likewise.
- * Version 1.29 released.
+ * dwarf2out.c (getpwd): Add prototype.
- * loop.c (scan_loop): Don't think a `return' insn enters the loop.
+ * dwarf2out.h (debug_dwarf, debug_dwarf_die): New declarations.
- * ns32k.md (ashrsi3, etc): New define_expands for right shift.
+ * c-typeck.c (c_expand_asm_operands): Use proper values when calling
+ expand_expr.
- * reload1.c (choose_reload_targets): Change in the `force_group'
- logic to avoid crashes.
+ * c-lex.c (yyprint): Add prototype.
+ (check_newline, build_objc_string): Remove declaration.
-Wed Oct 5 04:09:19 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * c-tree.h (comptypes_record_hook): Removed.
+ (finish_incomplete_decl): New prototype.
- * expr.c (expand_expr, MINUS_EXPR): When negating integer op1,
- truncate it to its mode.
+ * alias.c (find_base_value): Add prototype.
+ (true_dependence): Add prototype for function argument.
- * expmed.c (extract_bit_field): SUBREG error check was wrong;
- SImode SUBREGs are possible and ok in extzv, extv.
+ * c-aux-info.c (xmalloc): Remove declaration.
- * tm-ns32k.h (REGISTER_NAMES): Had two excess elements; deleted.
+Fri Jun 19 20:23:05 1998 Robert Lipe <robertl@dgii.com>
-Mon Oct 3 01:15:51 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * 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.
- * toplev.c (main, compile_file): If no files spec'd, use stdin, stdout.
+1998-06-19 Jim Wilson <wilson@cygnus.com>
- * flow.c (propagate_block): When checking for stack-adjust insns,
- exclude non-SET patterns.
+ * loop.h (struct induction): Clarify comment for unrolled field.
+ * unroll.c (find_splittable_givs): Move set of unrolled field
+ after address validity check.
- * jump.c (jump_optimize): When changing jump=>return to return,
- must rerecognize the insn.
+Fri Jun 19 18:38:04 1998 Michael Meissner <meissner@cygnus.com>
- * toplev.c (compile_file): Allow `-' for main input or output filename.
+ * config/fp-bit.c (INLINE): Only define if not already defined.
-Sun Oct 2 10:30:09 1988 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+1998-06-19 Manfred Hollstein <manfred@s-direktnet.de>
- * final.c (final): NOTICE_UPDATE_CC has extra arg, INSN.
- * tm-*.h: Change definitions.
+ * Makefile.in (installdirs): Loop over directories in $(libsubdir)
+ creating probably missing ones, instead of single if statements.
- * stmt.c (optimize_bit_field): Use gen_lowpart to make subregs.
+Fri Jun 19 10:43:52 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * stmt.c (assign_parms): Don't obey regdecls in inline function.
- Don't lose existing REG_NOTES when adding one.
+ * c-common.c (truthvalue_conversion): Protect side effects in the
+ expression when splitting a complex value.
+ * fold-const.c (fold): Likewise.
- * stmt.c (expand_function_start): Make return rtx before
- marking parms live.
- (expand_function_end): Use use_variable to emit USEs for SAVE_EXPRs.
+Fri Jun 19 02:31:16 1998 Klaus Kaempf (kkaempf@progis.de)
- * stmt.c (expand_return): Handle TRUTH_AND_EXPR like ANDIF; OR also.
+ * cccp.c (hack_vms_include_specification): Rewrite to handle
+ '#include <dir/file.h>' correctly.
- * stmt.c (expand_end_stmt_expr): Always set TREE_VOLATILE,
- sometimes TREE_THIS_VOLATILE.
+Fri Jun 19 02:24:11 1998 H.J. Lu (hjl@gnu.org)
- * jump.c (delete_insn): When finding PREV, skip deleted insns.
+ * config/i386/linux.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Defined.
- * varasm.c (output_constant): WORDS_BIG_ENDIAN test was backwards.
+Fri Jun 19 02:10:10 1998 John Wehle (john@feith.com)
- * emit-rtl.c (gen_lowpart): Allow MODE > 1 word if X is same size.
+ * i386.c (notice_update_cc): Integer conditional moves don't
+ affect cc0.
- * final.c (final): Don't delete no-op moves (jump did it if appro.).
+ * 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.
- * final.c: Support prescan pass.
- (final_start_function): init_recog and CC_STATUS_INIT mvd to `final'.
- (final): New arg PRESCAN. Do no output if prescanning.
- Don't alter conditionals if PRESCAN < 0 (prescan already done).
- If jump becomes no-op, change it to a NOTE.
- Remember to free the temp space for ASM_OPERANDS.
+Fri Jun 19 02:00:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * final.c (final): Altering store-flag must check STORE_FLAG_VALUE.
- Don't try to do it if that isn't defined.
- Don't try it if condition doesn't test CC0.
- (alter_cond): No need to check COND != 0.
- Handle CC_Z_IN_NOT_N and CC_Z_IN_N.
- (m68k.md): Delete code that handled CC_Z_IN_NOT_N.
+ * reload1.c (reload_cse_regno_equal_p): If -ffloat-store, don't
+ consider a MEM in FP mode as equal.
- * conditions.h: New flag CC_Z_IN_N.
- * tm-*.h: Renumber all CC_... flags to make room.
+Fri Jun 19 01:02:17 1998 Jeffrey A Law (law@cygnus.com)
- * combine.c (use_crosses_set_p): Loop start was 1 off.
+ * c-decl.c (duplicate_decls): Avoid setting TREE_ASM_WRITTEN for
+ duplicate declarations of a function.
- * local-alloc.c (reg_is_set): When a reg is CLOBBERed and dies in
- one insn, make it live immediately before and after that insn.
+Fri Jun 19 00:33:33 1998 H.J. Lu (hjl@gnu.org)
- * global-alloc.c: Hard reg preferences for global pseudos.
- Var allocno_preferred_reg deleted; new vars hard_reg_preferences
- and regs_someone_prefers.
- (global_alloc): Init those vars. Pass hard_reg_preferences elt
- to find_reg.
- (set_preference): New function makes entries in those vars.
- (global_conflicts): new arg to mark_reg_store. Call set_preference.
- (find_reg): Last arg now a preferred hard_reg_set.
- Scan that set first of all.
- (mark_reg_store): New arg is offset for renumbered regno.
- But the code to use it is turned off.
+ * config/float-i386.h: New.
- * global_alloc (check_frame_pointer_required): Handle reg_equiv_address
- like reg_equiv_mem. Don't try to allocate pseudos with equiv mems
- that don't use the frame pointer.
- * reload1.c (reload): Call changed.
+ * configure.in (i[34567]86-*-linux-*): Set float_format to i386.
- * jump.c (sets_cc0_p): Tests whether rtx sets cc0, and whether
- it does nothing but set cc0.
- (find_cross_jump, delete_jump): Use that fn for these tests.
- * loop.c (loop_skip_over): Likewise.
- * reload.c (push_reload): Likewise.
+Thu Jun 18 20:11:00 1998 Jim Wilson <wilson@cygnus.com>
- * genoutput.c: Output `const' before the data arrays.
- Define it as nothing if not __STDC__.
+ * 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.
-Sat Oct 1 02:19:29 1988 Richard Stallman (rms at apple-gunkies.ai.mit.edu)
+Thu Jun 18 18:16:01 1998 Jim Wilson <wilson@cygnus.com>
- * expr.c (store_one_arg): 3rd arg to emit_block_move is in bytes.
+ * dwarf2out.c (size_of_string): Do count backslashes.
- * cse.c (fold_rtx): Handling ZERO_EXTEND or SIGN_EXTEND of constant,
- if the arg width is too wide to handle, return safely.
+Thu Jun 18 11:43:54 1998 Nick Clifton <nickc@cygnus.com>
- * combine.c (FAKE_EXTEND_SAFE_P): Don't allow extend to > 1 word.
+ * 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.
- * rtl.c (refers_to_regno_p): Moved from reload.c. Not static.
- (reg_overlap_mentioned_p): New function, calls the above.
- * output-*.c: Use that instead of reg_mentioned_p.
- * tm-*.h (NOTICE_UPDATE_CC): Likewise.
- * reload.c (push_reload, combine_reloads): Likewise.
- * reload1.c (choose_reload_targets): Use it to check earlyclobbers.
+Thu Jun 18 17:30:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * reload1.c (choose_reload_targets): Elimination of previous
- output-reload feeding our input now limited to pseudo-regs.
+ * reload.c (find_reloads): Don't narrow scope of RELOAD_OTHER to
+ RELOAD_FOR_INSN.
- * flow.c (life_analysis): Delete any insn copying reg to itself.
- (propagate_block): Move update of OLD after special life and death
- for CALL_INSNs.
+Thu Jun 18 09:36:50 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * vax.md (ashrsi3, ashrdi3, rotrsi3): define_expands to negate
- the shift count.
- * expmed.c (expand_shift): Eliminate negate-the-shift-count feature.
+ * Makefile.in (c-lang.o): Depend on output.h.
- * vax.md (and*i3): define_expands which use complement and bit-clear.
- * expmed.c (expand_bit_and): Eliminate feature to do that.
- This function could be eliminated.
+ * c-lang.c: Include output.h.
- * expmed.c (store_bit_field): Handle nested subregs.
- Allow gen_insv to fail; if it does, delete what we did and then
- use store_fixed_bit_field.
- (store_fixed_bit_field): Use gen_lowpart to make SUBREGs.
- Do that for SUBREGs just as for REGs.
- Error check OFFSET must be 0 for REGs.
- (store_split_bit_field): Error check OP0 is a SUBREG when expected.
- (extract_bit_field): Allow gen_ext{,z}v to fail.
- Use gen_lowpart to make subregs.
- (expand_shift): If a try fails, delete any insns it made.
-
- * expmed.c (expand_mult): Use expand_unop to negate.
- When adding 2 powers of 2, do serial shifts, not parallel.
- Handle absval==1 like other powers of 2.
+ * sparc.c (sparc_builtin_saveregs): Remove unused variable `fntype'.
- * explow.c (force_reg): Don't lose any existing reg notes.
-
- * stmt.c (expand_start_stmt_expr): Eliminate return value.
- (expand_end_stmt_expr): No need for argument.
- * c-parse.y (primary): Change calls.
-
-Fri Sep 30 01:50:22 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
-
- * integrate.c (copy_rtx_and_substitute, copy_address):
- 'u' case erroneously returned the translated single element.
- (copy_address): Special cases for frame-ptr and sums containing it.
- MEM and LABEL_REF cases passed wrong arg to copy_rtx_and_substitute.
- (copy_rtx_and_substitute): adjust mode of inline_target for context.
-
- * jump.c (true_regnum): For SUBREG of pseudo, use pseudo's # unchanged.
-
-Thu Sep 29 02:50:46 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
-
- * i386.md (movsi, mov{q,h}i): Use find_reg_note to look for REG_WAS_0.
- * vax.md (movsi, movhi): Likewise.
-
- * varasm.c (decode_rtx_const): Was setting un.addr.base wrong
- for a CONST. Should be symbol name, not the SYMBOL_REF.
-
- * rtl.c (rtx_equal_p): When comparing registers, check
- REG_FUNCTION_VALUE_P. If there are `u'-slots in the rtx, ignore them.
-
- * rtl.c (reg_mentioned_p): Some rtx types were mistakenly treated
- as uniquified (various constants).
-
- * rtl.c (read_rtx): Element type 'S' is string that may be omitted.
- * rtl.def (define_insn, define_peephole): Add a last element, type 'S'.
- * genoutput.c: Collect these optional last elements and output as
- array `insn_machine_info' of structs `INSN_MACHINE_INFO'.
- The last must be defined as a macro.
- * recog.h (insn_machine_info): Declare it if appropriate.
+ * except.c (expand_builtin_eh_stub): Likewise for variable `jump_to'.
- * regclass.c (record_address_regs): In PLUS case, look inside SUBREGs.
+ * genrecog.c (write_subroutine): When writing insn-recog.c, mark
+ variables `insn', `pnum_clobbers', `x[0 .. max_depth]' and `tem'
+ with ATTRIBUTE_UNUSED.
- * reload1.c (reload): Use reg_equiv_address for REG_EQUIVs with
- invalid memory addresses.
- When changing pseudos to mem refs at end, do FIX_FRAME_POINTER_ADDRESS
- on their addresses.
- (alter_reg): Check that with reg_equiv_mem.
- (spill_hard_reg): If fp reg, spill regardless of basic_block_needs.
+ * regmove.c (copy_src_to_dest): Make function static to match its
+ prototype.
- * reload1.c (order_regs_for_reload): Don't put invalid regs into
- potential_reload_regs at all. (They used to go at the end.)
+ * reload1.c Include hard-reg-set.h before rtl.h to get macro
+ HARD_CONST. Include machmode.h before hard-reg-set.h.
- * reload.c (find_reloads): Store all earlyclobber operand in
- reload_earlyclobbers (# in n_earlyclobbers):
- * reload1.c (choose_reload_targets): Don't use value of find_equiv_reg
- if it matches an earlyclobber operand.
+ * rtl.h: Prototype `retry_global_alloc' and wrap with macro
+ HARD_CONST to protect usage of typedef HARD_REG_SET.
- * reload.c (find_reloads_address for REG):
- No need for explicitly excluding hard regs in these tests.
- (find_reloads, find_reloads_address_1 for REG): likewise.
+ * tree.c: Prototype `_obstack_allocated_p'.
- * reload.c (push_reload): Code testing reg_equiv_constant should
- be obsolete; add error check to verify this.
+ * varasm.c: Wrap prototype of `asm_output_aligned_bss' in macro
+ BSS_SECTION_ASM_OP.
- * reload.c (hard_reg_set_here_p): Handle CLOBBERs, SUBREGs, overlap.
- (refers_to_regno_p): Handle CLOBBERS. Handle overlap.
- New arg ENDREGNO specs end of range to check for;
- all callers changed (all in this file).
+Thu Jun 18 09:20:47 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * reload.c (find_reloads): SUBREG like REG in alternate recovery
- for earlyclobber conflict.
- The operands to unswap are those that are supposed to commute.
- When operands match, copy the regclass of earlier one for later one.
+ * 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'.
- * stmt.c (optimize_bit_field): Don't use gen_extend_insn;
- use convert_move, then reorder the insns.
- * optabs.c (gen_extend_insn): Deleted.
+ * 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'.
- * optabs.c (emit_cmp_insn): Don't emit queue before recursion.
- Don't convert size to SImode for cmpstrqi.
+Wed Jun 17 22:28:48 1998 Jason Merrill <jason@yorick.cygnus.com>
- * optabs.c (expand_binop): Keep any old REG_NOTES when adding them.
- Always delete_insns_since if returning failure.
- (expand_unop, emit_unop_insn): Keep any old REG_NOTES when adding them.
- * spur.md (movhi): likewise.
+ * configure.in: Don't turn on collect2 unconditionally.
- * RTL_EXPR_SEQUENCE is now a chain of insns, not a SEQUENCE.
- * emit-rtl.c (emit_insns): New fn, emit a chain of insns.
- * expr.c (expand_expr): Use that.
- Also put const0_rtx in the RTL_EXPR_SEQUENCE (mark RTL_EXPR as output).
- * stmt.c (expand_end_stmt_expr): Use get_insns to get the chain.
+Wed Jun 17 20:20:48 1998 Mark Mitchell <mark@markmitchell.com>
- * stmt.c (expand_end_stmt_expr): Put the RTL_EXPR on rtl_expr_chain.
- (fixup_var_refs): Scan all waiting RTL_EXPRs not yet output.
- Also scan all stacked sequences on sequence_stack.
+ * 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.
- * genemit.c (gen_expand): Generate calls to {start,end}_sequence.
- Use `emit' to handle a PARALLEL.
- (FAIL, DONE): Change to fit gen_expand changes.
+Wed Jun 17 18:30:43 1998 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
- * emit-rtl.c (change_address): abort if arg isn't a MEM.
+ * rs6000/linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define to zero.
- * emit-rtl.c: Sequences work now by saving and restoring first_insn
- and last_insn. So these variables are used even when in a sequence.
- emit_to_sequence has been deleted.
- (start_sequence, end_sequence): Save and restore first_insn, last_insn.
- (get_last_insn, add_insn): Sequences no longer need special treatment.
- (delete_insns_since, reorder_insns): likewise.
- (push_to_sequence): Set up to emit to a given existing insn chain.
+Wed Jun 17 19:05:03 1998 John Carr <jfc@mit.edu>
- * emit-rtl.c (copy_rtx_if_shared): Don't copy INSNs.
- Insert missing return stmt in MEM case (for MEMs ok to share).
- (unshare_all_rtx): Now can copy the REG_NOTES simply.
- Copy the LOG_LINKS too.
+ * haifa-sched.c (haifa_classify_insn): TRAP_IF is risky.
+ (sched_analyze_2): Allow scheduling TRAP_IF.
- * emit-rtl.c (make_safe_from): Treat SUBREG as X like a REG.
- (delete_insns_since): Don't lose if FROM is the first insn.
- (emit): Declare void, since no useful value.
- Call simplejump_p properly.
- (restore_reg_data_1): When a reg is an address, do mark_reg_pointer.
+ * reorg.c (mark_referenced_resources): Examine operands of TRAP_IF.
- * dbxout.c (dbxout_types): Call dbxout_symbol to do the work.
- (dbxout_type_def): Deleted.
- (dbxout_symbol): Set TREE_ASM_WRITTEN when a TYPE_DECL is output.
- Don't output the same one twice.
+ * rtl.h (TRAP_CODE): New macro.
- * cse.c (fold_cc0): LABEL_REF is not zero.
+ * rtl.def (TRAP_IF): Change second operand type to rtx.
- * cse.c (cse_insn): Don't insert src, dest if they are the same place.
+ * optabs.c (gen_cond_trap): New function.
+ (init_traps): New function.
+ (init_optabs): Call init_traps.
+ * expr.h: Declare gen_cond_trap.
- * cse.c (lookup_as_function): Return entire rtx, not just operand.
- (cse_insn): Caller changed. Also, copy the result before inserting it.
+ * jump.c (jump_optimize): Optimize jumps to and around traps.
- * cse.c (fold_rtx): Put constant arg last if commutative op.
- Handle idempotents and identities for mult, div, booleans, shifts.
+ * sparc.md: Define trap instructions.
- * cse.c (canon_hash): Parens were missing around shifts in "rotates".
+ * rs6000.md: Define trap instructions.
+ * rs6000.c (print_operand): New code 'V' for trap condition.
+ (trap_comparison_operator): New function.
- * c-convert.c (convert_to_integer): Truncate TRUTH_ANDIF_EXPR
- like TRUTH_AND_EXPR; OR also.
+ * m88k.md: Update use of TRAP_IF.
- * c-typeck.c (build_binary_op_nodefault): Do truthvalue_conversion
- for TRUTH_ANDIF, etc.
- (build_unary_op): More simplifications for TRUTH_NOT_EXPR;
- uses new fn `invert_truthvalue'.
+ * 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.
- * recog.c (reg_fits_class_p): New name for reg_renumbered_fits_class_p
- since it no longer needs to renumber. Also it now really assumes
- arg is a REG. Callers changed.
- * reload.c: Callers changed.
+ * expr.c (expand_builtin): Error if __builtin_longjmp second argument
+ is not 1.
- * recog.c (general_operand): (SUBREG (MEM...)) need not alter mode.
- (register_operand, nonmemory_operand): (SUBREG (MEM...)) is allowed.
- (memory_operand): (SUBREG (MEM...)) is *not* allowed.
- (mode_independent_operand): Operand names were backwards!
- (No change in effect of this function.)
+Wed Jun 17 15:20:00 1998 Catherine Moore <clm@cygnus.com>
- * print-tree.c (dump): Some expr nodes contain rtx's. Print as rtx's.
+ * reload1.c (spill_hard_reg): Check mode of register when
+ spilling from scratch_list.
-Wed Sep 28 18:51:12 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 17 16:25:38 1998 Andrew MacLeod (amacleod@cygnus.com)
- * reload1.c (choose_reload_targets): If a reload wanted a group,
- don't allow a single register for it.
+ * 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.
-Tue Sep 27 11:43:56 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 17 15:57:48 1998 Andrew MacLeod (amacleod@cygnus.com)
- * final.c (output_addr_const): Handle DImode CONST_DOUBLEs.
- * tm-*.h (PRINT_OPERAND): Treat DImode CONST_DOUBLE like a CONST_INT.
+ * 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.
- * vax.md (rotldi3): Insn deleted; it doesn't really exist.
+1998-06-17 Jim Wilson <wilson@cygnus.com>
- * toplev.c (report_error_function): Also mention the file name,
- for parallel makes. New arg FILE; all callers changed.
+ * mips/iris6.h (LINK_SPEC): Add -woff 131.
-Mon Sep 26 15:44:18 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-06-17 Jason Merrill <jason@yorick.cygnus.com>
- * expmed.c (expand_shift): When using extzv, convert OP1 to SImode.
- * c-typeck.c (build_binary_op_nodefault): Convert shift-count
- to int regardless of result type.
+ * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
- * output-spur.c (output_move_double): Fix typo, optype0=>optype1.
+ * configure.in: Don't disable collect2 when we have GNU ld.
- * expr.c (expand_call): Avoid null deref on result of FUNCTION_ARG.
+Wed Jun 17 08:38:13 1998 Jeffrey A Law (law@cygnus.com)
- * tm-i386.h (FUNCTION_PROFILER): Use correct assembler syntax.
+ * fold-const.c (make_range): Do not widen the type of the expression.
-Sun Sep 25 12:13:56 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * fixincludes: Handle some files in netdnet, netdna, vaxif, vaxuba.
+ * configure.in (nm): Make a link to "nm" in the build tree too.
- * reload.c (find_reloads): Make no optional reloads if not -O.
+ * mn10300.md (andsi3): Fix typo.
- * loop.c (strength_reduce): Can't eliminate a biv if it's used
- to compute a DEST_ADDR giv. Only DEST_REG givs are safe.
+Tue Jun 16 22:58:40 1998 Richard Henderson <rth@cygnus.com>
- * loop.c (general_induction_var): Shift & divide ops are linear
- only in 1st operand; don't look for biv or giv in 2nd operand.
+ * reload1.c (reload_cse_regs): Call bzero instead of looping.
- * vax.md (fix_truncdfqi2): Use `%#'.
+Tue Jun 16 18:30:35 1998 Jim Wilson <wilson@cygnus.com>
-Sat Sep 24 00:25:48 1988 Richard Stallman (rms at gluteus.ai.mit.edu)
+ * dwarf2out.c (stripattributes): Prepend '*' to the section name.
- * loop.c (n_times_set, n_times_used): Now file-scope;
- no longer passed as args to several functions.
+Tue Jun 16 16:49:26 1998 Richard Henderson <rth@cygnus.com>
- * loop.c (basic_induction_var): Accept reg as source value
- only if it's invariant.
- (strength_reduce): Benefit calculation and threshold changed.
- Check reducibility of givs before trying to reduce them.
- Check eliminability of biv before considering the givs;
- let this affect the threshold.
- (record_giv): New subroutine adds a giv to the chain.
+ * 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.
- * ns32k.md (incrementing sp): Use cmpd insns to increment by 4 or 8.
+Tue Jun 16 17:36:35 1998 Dave Brolley <brolley@cygnus.com>
- * integrate.c (expand_inline_function): Rename return_label
- to local_return_label; avoid shadowing.
+ * toplev.c (lang_options): Add -trigraphs option for cpplib.
-Fri Sep 23 13:57:52 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jun 16 23:33:24 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * loop.c (loop_skip_over): Put the new label after the note that ends
- the loop.
+ * 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.
- * loop.c: New function strength_reduce and subroutines.
- * toplev.c: New var flag_strength_reduce, set from -fstrength-reduce.
+Tue Jun 16 13:15:16 1998 Jim Wilson <wilson@cygnus.com>
- * vax.md (sob insns): They were broken, with plus in one place
- and minus in another. Use plus consistently.
+ * libgcc1-test.c (memcpy): Define.
- * rtl.h (REG_LIBCALL, REG_NONNEG): Two new kinds of reg-note.
- * optabs.c (expand_binop, expand_unop): Make REG_LIBCALL notes.
- * loop.c (scan_loop, move_movables): Move entire library calls.
- Use m->set_src to get the expression, in case it's from a REG_EQUAL.
- (consec_sets_invariant_p): Likewise.
+Tue Jun 16 13:44:02 1998 Michael Meissner <meissner@cygnus.com>
- * loop.c (scan_loop): Start scan from loop_top, if entry is rearranged.
- Watch out for pseudo regs created by strength_reduce;
- they can't index regno_last_uid.
- (replace_regs): # regs mapped is now an arg.
+ * 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.
- * loop.c (count_loop_regs_set): Don't increment n_times_set past 127.
- (consec_sets_invariant_p): Reject if N_SETS arg is 127.
+Mon Jun 15 17:06:43 1998 Michael Meissner <meissner@cygnus.com>
+ Jim Wilson <wilson@cygnus.com>
- * toplev.c (rest_of_compilation): NREGS arg of loop_optimize deleted.
+ * regmove.c (copy_src_to_dest): Do not copy src to dest if either
+ the source or destination is special.
- * c-decl.c (store_parm_decls): Anything but an IDENTIFIER_NODE
- in SPECPARMS indicates a parmlist, not an identifier list.
- (get_parm_info): Use only PARM_DECLs when making the list of arg types.
+Mon Jun 15 13:20:33 1998 Jim Wilson <wilson@cygnus.com>
- * combine.c (try_distrib): Boolean ops can't distribute through PLUS.
- MULT can distribute through PLUS and only PLUS.
+ * c-decl.c (shadow_tag_warned): Use specs not declspecs in for loop.
-Thu Sep 22 15:57:41 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Jun 15 07:16:29 1998 Jeff Law (law@cygnus.com)
- * jump.c (jump_optimize): uncond jump to a return becomes a return.
+ * version.c: Bump for snapshot.
- * integrate.c (copy_parm_decls, copy_decl_tree): Set TREE_USED.
- Avoid inevitable "unused" warning for these decls.
+Sat Jun 13 13:10:40 1998 Krister Walfridsson <cato@df.lth.se>
- * c-typeck.c (comptypes): When comparing array types,
- ignore qualifiers of element type.
+ * config/sparc/netbsd.h (DEFAULT_PCC_STRUCT_RETURN): Undefine before
+ redefining it.
- * tm-*.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Define new macros.
- * final.c (final_start_function): Use them to protect around
- the call to the profiling function.
- * stmt.c (expand_function_start): Set current_function_needs_context
- and current_function_returns_struct.
+Fri Jun 12 18:06:45 1998 Doug Evans <devans@egcs.cygnus.com>
- * stmt.c (expand_null_return_1): If clear_pending_stack_adjust
- doesn't clear it, do the adjust now.
- * expr.c (clear_pending_stack_adjust): No-op if -finline-functions.
+ * m32r/m32r.h (STARTFILE_SPEC): Delete crtsysc.o.
+ (ENDFILE_SPEC): Add -lgloss.
- * cccp.c (macarg1, skip_if_group): Backslash makes next char ordinary.
+Fri Jun 12 14:57:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * reload.c (find_reloads): Delete code to look for an equiv reg
- for a reg being input-reloaded. This isn't safe.
- * reload1.c (choose_reload_targets): Do it here.
+ * 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.
-Wed Sep 21 00:36:22 1988 Richard Stallman (rms at hobbes.ai.mit.edu)
+ * mips.md (mul_acc_si): Remove unused variable `macc'.
- * tm-sun3.h (CPP_SPEC): Define it based on TARGET_DEFAULT.
- (STARTFILE_SPEC): Likewise.
+Fri Jun 12 09:33:44 1998 Richard Henderson <rth@cygnus.com>
- * reload1.c (choose_reload_targets): When redirecting prev insn
- into this insn's reload-reg, check this doesn't break the prev insn
- by giving it a reg it can't accept. Use new fn constraint_all_regs_p.
+ * fold-const.c (fold): Revert last change. It breaks constant
+ expressions somehow.
- * tm-sparc.h (ASM_OUTPUT_LOCAL): Use .reserve, not .common.
+Fri Jun 12 10:23:36 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * tree.h (TREE_USED): New attribute macro.
- * c-parse.y (primary): Set TREE_USED in ..._DECL nodes.
- * toplev.c, flags.h: Define and set warn_unused.
- * stmt.c (expand_end_bindings): Warn if any var is unused.
- * print-tree.c (prtypeinfo): Print this attribute.
+ * expr.c (do_jump, case EQ_EXPR, NE_EXPR): When comparing complex
+ prevent operands from being evaluated twice.
-Tue Sep 20 15:29:01 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Jun 12 00:50:27 1998 Sergey Okhapkin <sos@prospect.com.ru>
- * assert.h: `assert' must expand to an expression.
- Error message should show arg before expansion, not after.
+ * toplev.c (lang_options): Add -remap as a preprocessor option.
- * c-decl.c (implicitly_declare): Make decl perm if !warn_implicit
- since start_function needs to look inside it in that case.
+Fri Jun 12 00:30:32 1998 John Wehle (john@feith.com)
- * toplev.c (announce_function): If we don't print, don't record we did.
+ * 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.
-Mon Sep 19 15:21:11 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu Jun 11 17:14:15 1998 Jim Wilson <wilson@cygnus.com>
- * c-parse.y (structsp): If pedantic, warn if comma at end of enumlist.
+ * except.c (expand_builtin_eh_stub): Call emit_move_insn rather than
+ calling gen_rtx_SET.
- * reload.c (find_reloads): Check insn_code_number >= 0 when
- looking in insn_operand_strict_low.
+Thu Jun 11 18:45:49 1998 David Edelsohn <edelsohn@mhpcc.edu>
- * tm-sun[23].h (CPP_SPEC): Rename __HAVE_FPU__ to __HAVE_68881__
- and put a space after that option.
+ * config/rs6000/x-aix43 (AR): Delete.
+ (AR_FOR_TARGET_FLAGS): Add -X32_64 here.
-Sun Sep 18 01:12:56 1988 Richard Stallman (rms at hobbes.ai.mit.edu)
+Thu Jun 11 16:19:17 1998 David W. Schuler <schuld@btv.ibm.com>
- * reload.c (find_reloads): Make optional reloads for explicit MEMs.
+ * config/i386/aix386ng.h (CPP_SPEC): Remove extraneous quote.
- * tm-m68k.h (MODES_TIEABLE_P): If no 68881, can tie fixed to floating.
- * m68k.md (movdi): Allow F's (can be DImode now).
- Don't allow f-regs (experiment). Don't preference x-regs.
- (DImode push): Allow y-regs.
- (DFmode push): Allow y-regs, not x-regs.
+Thu Jun 11 12:40:27 1998 Jim Wilson <wilson@cygnus.com>
- * reload1.c (modes_equiv_for_class_p): New function.
- (reload): Compare multiple modes for reg group with that function.
- Allows differing modes in some cases when not tieable.
+ * mips.c (override_options): Replace word_mode with explicit
+ TARGET_64BIT check.
- * c-parse.y (check_newline): Let ASM_OUTPUT_IDENT override .ident.
- * tm-3b1.h (ASM_OUTPUT_IDENT): Define this as no-op.
+Thu Jun 11 14:50:02 1998 Michael Meissner <meissner@cygnus.com>
- * emit-rtl.c (reorder_insns): Update sequence_{first,last}_insn if nec.
- (get_last_insn): If in a sequence, return last insn of sequence.
- (delete_insns_since): If in a sequence, set sequence_last_insn.
+ * 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.
- * spur.md (CONST_DOUBLE load insn): Use & for most dests.
- (cond branches): pass additional args to output_compare.
- (movdf, movdi): Use & loading reg from mem.
- (trunc*): Enable these.
- (add): New pattern for adding large immediate operand.
- (shifts): A define_expand for each kind of shift,
- plus a recognizer which outputs repeated insns if necessary.
- (call*): Use r9 as temp, not r2.
+ * Makefile.in (regmove.o): Add basic-block.h dependencies.
- * output-spur.c (output_compare): New args NEG_{EXCHANGE_,}OPCODE.
- (singlemove_string): Handle reg as operand 1.
- (output_add_large_offset): Fake add insn with large immediate arg.
- (big_immediate_operand): Match such an arg.
+Thu Jun 11 10:30:09 1998 Dave Brolley <brolley@cygnus.com>
- * tm-spur.h (FUNCTION_PROLOGUE): Align the stack pointer.
- Handle bigger frames.
- (TARGET_LONG_JUMP, TARGET_EXPAND_SHIFT): New target flags.
+ * toplev.c (lang_options): Add missing options (nostdinc, idirafter).
- * va-spur.h: Track position in regs and stack separately.
+Wed Jun 10 23:39:32 1998 Mark Mitchell <mark@markmitchell.com>
- * c-decl.c (duplicate_decls): Warn if prototype follows
- non-prototype definition.
+ * rtl.h (rtx_def): Improve documentation.
+ (MEM_IN_STRUCT_P): Likewise.
-Sat Sep 17 14:30:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 10 23:23:17 1998 Graham <grahams@rcp.co.uk>
- * expr.c (expand_builtin): Avoid crash if arg isn't integer type.
+ * c-decl.c (start_decl): Correct test for -Wmain.
- * c-decl.c (duplicate_decls): Just warn if redeclaring a builtin,
- and leave it built in unless it is redefined.
+ * c-decl.c (grokdeclarator): Remove unused variable "last".
- * vax.md (ashlsi3): Use addl3, moval or movad when useful.
- (addsi3): Avoid pushab, movab for constants < 64.
- Do use movab when > 64 when operands match.
- (mov*i): Use mcom* rather than mneg*.
- Use add*3 with two quick immediate args when useful.
- (movhi): Don't use movzbw or cvtbw; said to be slow.
+Wed Jun 10 14:52:27 1998 Jim Wilson <wilson@cygnus.com>
- * rtl.h: New macros MEM_VOLATILE_P, MEM_IN_STRUCT_P,
- INSN_DELETED_P, REG_USER_VAR_P, RTX_UNCHANGING_P, RTX_INTEGRATED_P,
- CONSTANT_POOL_ADDRESS_P.
- Most places changed to use them.
+ * 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.
-Fri Sep 16 11:50:15 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 10 13:08:41 1998 Mark Mitchell <mark@markmitchell.com>
- * jump.c (jump_optimize): Was testing volatil on non-MEMs erroneously
- when looking for no-op move insns.
+ * mips/mips.c: Remove -mabi=o32 and -mabi=n64.
- * cccp.c (handle_directive): Ignore comments between # and directive.
+Wed Jun 10 13:41:23 1998 Dave Brolley <brolley@cygnus.com>
- * integrate.c (copy_rtx_and_substitute): Stack-push memrefs need
- to be copied.
+ * 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@.
- * tm-bsd386.h (ASM_OUTPUT_DOUBLE): Undef previous def.
+Wed Jun 10 13:07:02 1998 Dave Brolley <brolley@cygnus.com>
- * reload1.c (alter_reg): Don't reuse spill_stack_slot
- if it isn't big enough for this reg's mode.
+ * 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.
- * expr.c (emit_move_insn): After force_const_mem, ensure
- mem address is valid.
- (move_block_to_reg, move_block_from_reg): Likewise.
+Wed Jun 10 09:47:13 1998 Richard Earnshaw (rearnsha@arm.com)
- * expr.c (expand_call): Spurious TREE_VALUE on args[i].tree_value.
+ * unroll.c (verify_addresses): Use validate_replace_rtx to undo the
+ changes. Abort if the undo fails.
- * m68k.md (zero_extend*): Require register_operand for operand 0.
+1998-06-10 Vladimir N. Makarov <vmakarov@cygnus.com>
- * stdarg.h (va_start): Alternate defn for sparc.
+ * config/rs6000/rs6000.c (output_prolog): Change locations and
+ directions of saving and restoring arguments of main on the stack.
-Thu Sep 15 11:39:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Jun 10 08:56:27 1998 John Carr <jfc@mit.edu>
- * c-parse.y (yylex): When atof gives ERANGE, check for "0.0", etc.
+ * 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.
- * assert.h (__assert): Alternative definition for -traditional.
+Wed Jun 10 02:11:55 1998 Jeffrey A Law (law@cygnus.com)
- * output-sparc.c (output_block_move): Initialize xoperands.
+ * decl.c (init_decl_processing): Fix typo.
- * combine.c (try_combine): Never subst for a reg that is incremented.
+ * 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.
- * m68k.md (cmpm pattern): Make the match_operands match memrefs
- and check that they are pushes in the extra condition.
- This makes reloading handle the pushes properly.
+ * 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.
- * expr.c (MOVE_RATIO): Make it 15. Allow overriding it.
+Wed Jun 10 01:39:00 1998 Juha Sarlin <juha@c3l.tyreso.se>
-Wed Sep 14 09:50:08 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * h8300.c (get_shift_alg): Add special cases for shifts of 8 and 24.
- * c-decl.c (build_enumerator): Use saveable_tree_cons.
+Tue Jun 9 22:05:34 1998 Richard Henderson <rth@cygnus.com>
- * vax.md (movdf): Use movq when safe.
+ * fold-const.c (fold): Even with otherwise constant trees, look for
+ opportunities to combine integer constants.
- * Version 1.28 released.
+Wed Jun 3 23:41:24 1998 John Wehle (john@feith.com)
- * tm-sparc.h (FIRST_PARM_CALLER_OFFSET): Defined.
+ * i386.c (notice_update_cc): Clear cc_status.value2 in the
+ case of UNSPEC 5 (bsf).
-Tue Sep 13 00:11:37 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * i386.md (movsfcc, movdfcc, movxfcc): The floating point
+ conditional move instructions don't support signed integer
+ comparisons.
- * tree.c (saveable_tree_cons): New function.
- * c-decl.c (pushtag): Use it; lists of tags needed for inlining.
- (get_parm_info): Likewise.
+Tue Jun 9 14:31:19 1998 Nick Clifton <nickc@cygnus.com>
- * print-tree.c (dump): Handle each kind of statement node individually.
+ * config/v850/t-v850 (TCFLAGS): Add assembler options to warn of
+ overflows.
- * integrate.c (copy_decl_tree): Don't pass DECL_RTL through
- copy_rtx_and_substitute if it's a memref with constant address.
+ * config/v850/lib1funcs.asm (__return_interrupt): Use 'addi
+ 16,sp,sp' ratehr than 'add 16,sp'. Patch courtesy of Biomedin
+ <glctr@abc.it>.
- * sdbout.c (sdbout_symbol): Don't output garbage when DECL_RTL
- has a form we don't understand.
+Tue Jun 9 16:23:13 1998 Andrew MacLeod <amacleod@cygnus.com>
- * reload.c (find_reloads_address_1): Don't reload an autoincrement
- if it has a suitable hard reg already.
+ * 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.
- * c-typeck.c (process_init_constructor): Error check after digest_init.
+Tue Jun 9 12:57:32 1998 Mark Mitchell <mark@markmitchell.com>
- * c-parse.y (is_reserved_word): Now static.
+ * invoke.texi: Add documentation for -mips4 and -mabi=*.
-Mon Sep 12 19:19:28 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jun 9 12:12:34 1998 Klaus Kaempf (kkaempf@progis.de)
- * i386.md (all push insns): Use `<' for the constraint,
- since a push_operand won't fit an `m' constraint on this machine.
+ * 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.
- * expr.c (expand_call): If fn name is `__builtin_alloca',
- it may be alloca. This case arises if the user redeclares
- `__builtin_alloca'.
+Tue Jun 9 12:10:27 1998 John Carr <jfc@mit.edu>
-Sun Sep 11 01:47:01 1988 Richard Stallman (rms at gluteus.ai.mit.edu)
+ * haifa-sched.c (update_flow_info): Use UNITS_PER_WORD, not MOVE_MAX,
+ as the threshold to permit splitting memory operations.
- * Eliminate MAX_SETS_PER_INSN.
- * cse.c (cse_insn): Combine all the tables and dynamically allocate.
- (cse_main): Count the actual number of SETs; don't estimate.
- * genconfig.c: Don't calculate MAX_SETS_PER_INSN.
- * stmt.c (expand_asm_operands): No limit on # of output operands.
+Tue Jun 9 12:36:16 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (expand_call):
- Store all non-reg parms first, then store all partially-in-reg
- parms, then all the (precomputed) wholly-in-reg parms.
- Special hair for BLKmode parms which must be passed entirely
- in memory; also for BLKmode parms initialized from function calls,
- for which it is best to allocate the space before computing value.
- Use macro FIRST_PARM_CALLER_OFFSET to handle machines where reg
- parms "take up space" on the stack below the stack pointer.
- (store_one_arg): Handle case of preallocated stack loc for BLKmode.
- Update current_args_size here, not in caller.
+ * 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.
-Sat Sep 10 19:58:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * output-sparc.c (output_scc_insn): Changed asm templates.
- Use common code to emit the move insns and label at the end of fn.
- (output_mul_by_constant): Use %g1 as temporary reg.
+ * 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.
- * sparc.md (indexed load pattern): Deleted.
- (fix_truncdfsi2): Don't ignore value of output_fp_move_double.
- (cse'd multiply): Operand 1 predicate is general_operand.
- (return peepholes): Conditionalize on ! TARGET_EPILOGUE.
+Tue Jun 9 02:40:49 1998 Richard Henderson <rth@cygnus.com>
- * tm-sparc.h (INIT_CUMULATIVE_ARGS,FUNCTION_ARG...):
- Use partial regs for args that start in regs but won't entirely fit.
+ * mips/elf.h (ASM_DECLARE_OBJECT_NAME): Define.
+ (ASM_FINISH_DECLARE_OBJECT): Define;
+ * mips/elf64.h: Likewise.
- * tm-sparc.h (CONST_COSTS): 0 for args that can be immediate.
- (STRUCTURE_SIZE_BOUNDARY): Now 8.
- (STRUCT_VALUE_OFFSET): Defined as symbolic name for `64'.
+Tue Jun 9 01:08:47 1998 Richard Henderson <rth@cygnus.com>
- * expr.c (struct arg_data): New component `stack' says where in the
- stack to put a BLKmode arg (if it's nonzero).
- (store_one_arg): Handle case where it's nonzero.
- (target_for_arg): New fn, precompute stack locn for BLKmode arg.
+ * toplev.c (flag_new_exceptions): Remove extraneous `extern'.
-Fri Sep 9 01:41:13 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+Mon Jun 8 23:24:48 1998 Jeff Law (law@cygnus.com)
- * cse.c (fold_rtx): Misnested ifs screwed SUBREG case.
+ * version.c: Bump for snapshot.
- * reload.c (find_reloads_toplev): Special case for (SUBREG REG)
- where REG is equivalent to a CONST_INT.
- (find_reloads): Don't ignore the value returned by find_reloads_toplev.
- Treat a (SUBREG constant) like a (SUBREG MEM): set force_reload.
+Mon Jun 8 23:24:58 1998 David Edelsohn <edelsohn@mhpcc.edu>
- * reload.c (push_reload): Abort if memory subreg is not
- paradoxical; the MEM mode should be narrower than the SUBREG.
+ * rs6000.md (mulsidi3): Add !TARGET_POWERPC64 constraint.
+ (mulsidi3_ppc64): Delete.
- * stmt.c (fixup_var_ref_1): Fixup memory subregs in an insn
- copying VAR to or from a register.
+Mon Jun 8 20:57:40 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * m68k.md (movdi, movdf): the x-reg constraint accidentally allowed
- moving rm to rm with no &.
+ * Makefile.in (varasm.o): Depend on dbxout.h.
+ (cse.o): Depend on toplev.h and output.h.
+ (gcse.o): Depend on output.h.
- * vax.md (call_value): Typo.
+ * 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'.
- * expr.c (emit_block_move, emit_push_insn): prefer movstrqi to movstrsi
+ * sparc.h: Add prototype for `v8plus_regcmp_op'.
- * m68k.md (FPA multiply): bad opcodes for 3-operand multiply insns.
+ * 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'.
-Thu Sep 8 18:22:14 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * toplev.h: Likewise for `set_float_handler' and
+ `output_quoted_string'.
- * c-parse.y: Use YYERROR instead of synonym YYFAIL.
- BISON VERSIONS PRIOR TO THIS DATE WON'T WORK!
+ * varasm.c: Include dbxout.h.
- * c-typeck.c (digest_init): Use TYPE_MAIN_VARIANT of array elt type.
+Mon Jun 8 18:12:06 1998 Jim Wilson <wilson@cygnus.com>
- * tm-sun[23].h (CPP_SPEC, ASM_SPEC): Let -m(c|)680[12]0 control
- options for CPP and assembler.
+ * mips.c (mips_secondary_reload_class): Use gp_reg_p instead of
+ GP_REG_P. Use gr_regs instead of GR_REGS.
-Wed Sep 7 13:44:59 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Jun 8 16:54:12 1998 Ken Raeburn <raeburn@cygnus.com>
+ Jeff Law <law@cygnus.com>
- * New handling of reloading of PRE_DEC, etc.
- Now reload_in is the PRE_DEC, etc, and reload_inc is always positive.
- * reload.c (push_reloads): Old code to set reload_inc deleted.
- (find_reloads_address_1): Call push_reload the new way.
- (find_inc_amount): Value always positive.
- * reload1.c (choose_reload_targets): Detect this case.
- (inc_for_reload): New fn; does the real work for this case.
- * m68k.md (call, call_value): Fn address must be offsetable.
+ * 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.
- * combine.c (try_distrib): Reject strange cases such as if
- result of PREV1 or PREV2 is used in a memory address in INSN.
+Mon Jun 8 14:16:15 1998 Andrew MacLeod <amacleod@cygnus.com>
- * vax.md (movsf): Generate movl instead of movf.
+ * 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.
+ * 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 1998 Jeff Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Mon Jun 8 02:55:56 1998 Graham <grahams@rcp.co.uk>
+
+ * tree.c (tree_class_check): Add braces to eliminate ambiguous
+ else warning.
+ (tree_check): Likewise.
+
+Mon Jun 8 02:49:23 1998 H.J. Lu (hjl@gnu.org)
+
+ * reg-stack.c (subst_stack_regs_pat): Make sure the top of
+ stack is the destination for conditional move insn.
+
+Mon Jun 8 01:21:13 1998 Jason Merrill <jason@yorick.cygnus.com>
+
+ * tree.h (TREE_VEC_END): Cast unused value to void.
+
+ * i386.c (print_operand): Use %lx for long operand.
+
+Mon Jun 8 00:04:07 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (summarize_insn): Ignore rtl slot format 'i'.
+
+Sun Jun 7 14:15:45 1998 John Carr <jfc@mit.edu>
+
+ * sol2.h (INIT_SUBTARGET_OPTABS): Use Solaris libc float/long long
+ conversion functions.
+
+Sun Jun 7 14:02:58 1998 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+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.
+
+Thu Jun 4 01:26:57 1998 Craig Burley <burley@gnu.org>
+
+ * expr.c (safe_from_p): Avoid combinatorial explosion
+ over duplicate SAVE_EXPRs by ensuring we never recurse
+ on one that has already been visited.
+
+Thu Jun 4 00:54:21 1998 Graham <grahams@rcp.co.uk>
+
+ * loop.c (check_dbra_loop): Initialise final_value before
+ normalizing the loop.
+
+Wed Jun 3 20:00:04 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (reload_reg_free_for_value_p): New arguments out and
+ reloadnum. Changed all callers.
+
+1998-06-03 Ulrich Drepper <drepper@cygnus.com>
+
+ * system.h: Add _() and N_() macros in preparation for gettext.
+
+Wed Jun 3 11:02:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * 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.
+
+ * 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.
- * expr.c (expand_call): If have regparms, store all BLKmode args
- before all the other args.
- (store_one_arg): New subroutine broken out.
+Tue Jun 2 23:14:01 1998 Richard Henderson <rth@cygnus.com>
- * output-sparc.c (output_block_move): Complete rewrite.
+ * jump.c (jump_optimize): Remove debug messages accidentally left in
+ with the previous change.
- * sparc.md (cse'd multiply insn): Typo in asm-output code.
+Tue Jun 2 22:46:08 1998 Richard Henderson <rth@cygnus.com>
-Tue Sep 6 20:05:48 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * expr.c (store_expr): Revert stray patch associated with
+ 1998-05-23 commit.
- * c-parse.y (yylex, etc.) Install Schmidt's perfect hash table.
+Tue Jun 2 21:59:01 1998 Richard Henderson <rth@cygnus.com>
- * gcc.c: handle extension `.cc'.
+ * jump.c (rtx_unsafe_p): New function.
+ (jump_optimize): Use it on if/then/else transformations and
+ conditional move transformations.
-Mon Sep 5 12:09:58 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue Jun 2 22:50:10 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * Version 1.27 released.
+ * 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.
- * tm-i386.h (PREFERRED_RELOAD_REG): When reloading a QImode,
- make sure the class doesn't include %esi or %edi.
- * i386.md (movqi): Eliminate only use of the class `x',
- for which PREFERRED_RELOAD_REG cannot work.
- (In next version, get rid of INDEX_CLASS).
- Also use `*' to cause preferencing of Q_REGS.
- * tm-m68k.h (PREFERRED_RELOAD_REG): When reloading a QImode,
- use DATA_REGS.
+Tue Jun 2 22:28:31 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
- * reload.c (push_reloads): Braino in last change when IN == 0.
+ * expr.c (emit_move_insn_1): When moving complex values in several
+ steps, emit a CLOBBER to show the destination dies.
- * flow.c (mark_used_regs, mark_set_1): Bug if HARD_REGNO_NREGS
- returns 0 for VOIDmode reg (inside a CLOBBER).
+Tue Jun 2 22:17:26 1998 Jeffrey A Law (law@cygnus.com)
- * c-parse.y (asm_operand): Handle `("REGNAME")' as an operand.
- * recog.c (decode_asm_operands, asm_noperands): Ignore any CLOBBERs.
- * regclass.c (reg_names): Variable now global.
- * stmt.c (expand_asm_operands): Generate CLOBBERS when appropriate.
+ * Makefile.in (site.exp): Use the object testsuite directory as
+ the temporary directory.
- * stmt.c (assign_parms): Ignore parms that aren't PARM_DECLs.
+ * expr.c (expand_expr, case ADDR_EXPR): Handle taking the
+ address of an ADDRESSOF rtx.
- * varasm.c (assemble_variable): Do ASM_OUTPUT_EXTERNAL for functions.
+1998-06-02 Mike Stump <mrs@wrs.com>
- * c-parse.y (yylex): floatflag is now an enum.
- Detect invalid use of decimal points (> 1, or in exponent)
- and multiple exponent letters.
+ * 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.
- * expr.c (expand_call): If inlining fails, set TREE_ADDRESSABLE.
+Tue Jun 2 14:02:38 1998 Richard Henderson <rth@cygnus.com>
-Sun Sep 4 00:36:30 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * alpha.md (divsi3, udivsi3, modsi3, umodsi3): Enable, and work
+ around an OSF/1 library bug wrt sign-extension of inputs.
- * c-decl.c (grokdeclarator): A const array becomes an array of consts.
- * c-typeck.c (build_array_ref): Array ref is const if array elts are.
+Tue Jun 2 13:02:44 1998 Richard Henderson <rth@cygnus.com>
- * output-sparc.c (output_move_double): Change criteria for ldd, std.
- (output_fp_move_double): New alternatives avoid ldd, std for
- stack refs that aren't aligned.
- (output_block_move): Use %g1 as temp reg.
+ * vax/netbsd.h (DWARF2_UNWIND_INFO): Must be undef, not defined 0.
- * sparc.md (floating point load from constant mem address):
- Use %g1 as temp reg. Use output_move_double in DF case, not ldd.
- (movsf): Asm insn typo in FPreg to FPreg case.
- (floatsi{s,d}f2): Constraint changed.
- Also new special case pattern in front of it.
- (fix_truncdfsi2): Use output_move_double, not ldd.
- (addsi3, subsi3): Use %g1 as temp reg.
- (cse-optimized multiply): Constraint now `g'; output generalized.
- (andsi3, orsi3, xorsi3): Use %g1 as temp reg.
+Mon Jun 1 03:44:03 1998 Catherine Moore <clm@cygnus.com>
- * reload.c (find_reloads): Force int constants into memory just
- like floating ones, if memory is allowed and no regs are.
+ * config/sh/sh.h (MAX_OFILE_ALIGNMENT): Define.
- * expr.c (expand_call): Don't treat structure_value_addr like a parm
- if the first parm would be passed in a register.
- Also, write comments for all local vars.
+ * varasm.c (assemble_variable): Augment alignment warning.
- * tm-386v.h (START_SPEC): Use {g,m}crt1.o, not {g,m}crt0.o.
- (LIB_SPEC): Always use crtn.o.
+Mon Jun 1 12:14:28 1998 Michael Meissner <meissner@cygnus.com>
-Sat Sep 3 13:05:50 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * config/fp-bit.c (_fp{add,div}_parts): Return correct IEEE result
+ in the presence of IEEE negative 0's.
- * explow.c (plus_constant): Don't put CONST around lone SYMBOL_REF.
+Sun May 31 16:11:41 1998 John Wehle (john@feith.com)
- * combine.c (subst): Simplify zero- or sign-extend of a constant.
+ * 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.
- * expr.c (expand_expr): for REAL_CST, etc., check for invalid
- memory addresses and copy into registers.
+Sun May 31 00:44:02 1998 Jeff Law (law@cygnus.com)
- * integrate.c (expand_inline_function): If incoming struct value addr
- is in memory, map it like a memory parameter.
+ * version.c: Bump for snapshot.
- * tm-*.h (FIRST_PARM_OFFSET): Now takes fndecl as argument.
- * integrate.c (expand_inline_function): Calc., use and save
- this fns value of FIRST_PARM_OFFSET.
- (copy_rtx_and_substitute): Use that value.
- * stmt.c (assign_parms): Likewise.
+Sun May 31 00:34:17 1998 Bruce Korb <korbb@datadesign.com>
- * tm-sparc.h (FIRST_PARM_OFFSET): Make it 64 if value is BLKmode.
- (STRUCT_VALUE{,_INCOMING}): Put the value in 64(fp).
+ * Makefile.in (fixinc.sh): Update rules again.
- * tm-sparc.h (PRINT_OPERAND_ADDRESS): Print offsets in decimal.
- Avoid excess `+' before a negative offset.
+Sun May 31 00:27:47 1998 Jeffrey A Law (law@cygnus.com)
- * stmt.c (expand_function_start): Create the return value rtl
- before making the tail-recursion loop point.
+ * extend.texi: Bring back reference to trampoline paper.
- * combine.c (gen_lowpart_for_combine): Generate a paradoxical subreg
- rather than a wider memref.
+Sun May 31 00:22:34 1998 Ulrich Drepper <drepper@cygnus.com>
- * reload.c (push_reload): Extend last change to case where OUT != 0.
+ * Makefile.in (USER_H): Add stdbool.h.
+ * ginclude/stdbool.h: New file.
-Fri Sep 2 11:43:20 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri May 29 01:48:25 1998 Jeffrey A Law (law@cygnus.com)
- * stmt.c (fixup_var_refs): Adjust last_parm_insn when deleting insns.
+ * jump.c (thread_jumps): Do not look at the NOTE_LINE_NUMBER
+ of a non-note insn.
- * expr.c (emit_push_insn): calling memcpy, bump TEMP 2 pointers worth.
+ * gcse.c (pre_delete): Fix code to determine the mode of
+ the reaching pseudo register.
-Thu Sep 1 16:39:57 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri May 29 01:07:28 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
- * reload1.c (choose_reload_targets): Test for canceled reload
- before looking inside reload_out.
+ * Makefile.in (GEN): Add gencheck.
+ (STAGESTUFF): Add tree-check.h and gencheck.
- * jump.c (jump_optimize): Bug in last change.
+Fri May 29 00:57:37 1998 Bruce Korb <korbb@datadesign.com>
- * m68k.md (return): Pattern disabled; confuses Aug 29 stmt.c change.
- * ns32k.md, i386.md: likewise.
+ * Makefile.in (cstamp-h.in): Remove before trying to recreate.
+ (fixinc.sh): Set some additional environment variables before
+ calling mkfixinc.sh.
- * emit-rtl.c (emit_note_force): New, like emit_note but always do it.
- * stmt.c (expand_function_end): Use emit_note_force.
+Thu May 28 12:57:05 1998 Jeffrey A Law (law@cygnus.com)
-Wed Aug 31 11:34:08 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * reload.c (find_reloads): Do not force a reloads of match_operators.
- * reload1.c (alter_reg): New arg FROM_REG is hard reg that the pseudo
- was spilled from. Works with spill_stack_slot. Callers changed.
- Now all pseudos spilled from one hard reg get the same slot.
- (reload): Initialize new variable spill_stack_slot.
+Thu May 28 10:22:22 1998 Andrew MacLeod <amacleod@cygnus.com>
- * cse.c (cse_insn): Don't insert floating point mems if -ffloat-store.
+ * 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.
- * reload.c (find_equiv_reg): Allow no equivs for volatile memrefs.
- Also none for floating mem refs if -ffloat-store.
+Thu May 28 09:36:39 1998 Michael Meissner <meissner@cygnus.com>
- * output-sparc.c (output_mul_by_constant): make `p' and `log' unsigned.
+ * except.h (rtx): Define rtx type correctly if needed.
+ * function.h (rtx): Likewise.
+ (tree): Define tree type correctly if needed.
-Tue Aug 30 13:47:12 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * c-pragma.c (toplevel): Include rtl.h.
- * jump.c (jump_optimize): Ignore other NOTEs while looking for
- a NOTE_INSN_FUNCTION_END.
+ * stor-layout.c (toplevel): Move include of rtl.h before
+ except.h.
- * integrate.c (save_for_inline): Flush extra call to max_reg_num.
- Don't copy NOTEs that are NOTE_INSN_FUNCTION_END.
- (copy_for_inline): Don't copy NOTEs that are NOTE_INSN_FUNCTION_END.
+ * Makefile.in (c-pragma.o): Add except.h, rtl.h dependencies.
+ (tree.o): Add except.h dependency.
- * stmt.c (optimize_bit_field): If bit field is SRC, strip subregs
- from the DEST.
+Wed May 27 22:02:40 1998 Jeffrey A Law (law@cygnus.com)
- * expmed.c (expand_mult): Special case for -1 as one operand.
+ * reload1.c: Revert accidental checkin.
-Mon Aug 29 12:14:51 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * configure.lang: Fix thinko when adding a definition for
+ target_alias to the Makefile.
- * stmt.c (expand_goto_internal, expand_fixup): New arg LAST_INSN.
- (expand_return): Pass that arg in tail-recursive case.
- (other callers): Pass 0 for that arg.
- (expand_null_return): Handle HAVE_return nonzero w/ FUNCTION_EPILOGUE.
- (expand_null_return_1): New fn, has guts of old expand_null_return.
- (expand_return): Call expand_null_return_1 to pass LAST_INSN arg.
- (expand_return): Handle HAVE_return nonzero w/ FUNCTION_EPILOGUE.
- (expand_function_{start,end}): Likewise.
- (expand_cleanups): Fix typo in recursive-list case.
- (move_cleanups_up): New fn.
+Wed May 27 02:50:00 1998 Catherine Moore (clm@cygnus.com)
- * expr.c (expand_call): Execute cleanups_of_this_call on exiting.
- Notice calls to __builtin_new (but don't do anything about them yet).
+ * config/sparc/lb1spc.asm (.rem and .urem): Replace
+ routines.
- * reload.c (push_reload): If reloading a (SUBREG (MEM ...) ...),
- really reload just the MEM in the MEM's own mode.
+Wed May 27 02:48:31 1998 Richard Earnshaw (rearnsha@arm.com)
- * sparc.md: Define patterns for insns that set the ccs.
- Define set-flag insns.
- New patterns for indexed load, and for optimizing signed bit fields.
- (mulsi3, umulsi3): Give "r" constraint to operand 0.
- Peephole optimizers recognize some cases where delay insns are safe.
- Changed patterns for call and return insns as well.
+ * 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.
- * output-sparc.c (single_insn_src_p): New fn.
- (output_delay_insn): New fn.
+1998-05-27 Manfred Hollstein <manfred@s-direktnet.de>
- * tm-sparc.h (TARGET_EPILOGUE): New target flag.
- (NOTICE_UPDATE_CC): New clause for funny PARALLEL with a REG in it.
+ * toplev.h (rtx_def): Provide global declaration to avoid
+ `limited scope' warnings.
- * m68k.md (movqi): Use *'s to ensure preferencing d-regs.
+Tue May 26 23:47:52 1998 Mumit Khan <khan@xraylith.wisc.edu>
- * c-parse.y (datadef): If traditional, no warning about no specs.
+ * Makefile.in (gencheck.o): Use HOST_CC.
+ * i386/t-mingw32: New file.
+ * configure.in (i386-*-mingw32*): Use.
-Sun Aug 28 14:34:33 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue May 26 07:31:04 1998 Richard Earnshaw (rearnsha@arm.com)
- * tm-i386.h: Define PROMOTE_PROTOTYPES.
- POINTER_BOUNDARY now 32.
+ * 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.
- * regclass.c (reg_scan): Compute `max_parallel', max # of sets and
- clobbers in any insn in this function.
- * global-alloc.c (global_conflicts): Use that, not MAX_SETS_PER_INSN.
+ * 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
+ accordingly. Add missing parentheses around << operation.
+ (arm_rtx_costs): Correctly parenthesize 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.
- * stmt.c (expand_asm_operands): MAX_SETS_PER_INSN limits # output ops.
+Mon May 25 22:49:56 1998 Jeff Law (law@cygnus.com)
- * emit-rtl.c (init_emit_once): Make elt 2 of {f,d}const0_rtx nonzero.
+ * version.c: Bump for snapshot.
- * c-decl.c (lang_decode_option): Handle -Wwrite-string.
- * c-parse.y (combine_strings): If that flag, make array of const char.
+Mon May 25 11:56:24 1998 Jeff Law (law@cygnus.com)
- * expr.c (expand_expr): for INTEGER_CST, always use immed_double_const;
- never do output_constant_def (it didn't work).
- Also heed WORDS_BIG_ENDIAN.
+ * version.c: Bump for snapshot.
- * varasm.c (output_constant): Handle integer CONST_DOUBLEs.
- (output_constant_def): Abort if arg is an INTEGER_CST.
+Mon May 25 14:00:13 1998 Dave Brolley <brolley@cygnus.com>
- * emit-rtl.c (gen_rtx): Don't return {f,d}const0_rtx for DImode.
+ * 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.
-Sat Aug 27 12:37:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sun May 24 20:36:15 1998 Jeff Law (law@cygnus.com)
- * c-decl.c (pushdecl): Global extern decls set TREE_PUBLIC
- like local ones.
+ * version.c: Bump for snapshot.
- * integrate.c (expand_inline_function): Handle parms that were
- passed in registers but whose homes are on the stack.
+Sun May 24 02:08:57 1998 Jeff Law (law@cygnus.com)
- * varasm.c (force_const_mem): Output ints according to spec'd mode.
- ({record,compare}_constant_rtx,const_hash_rtx,decode_rtx_const):
- Take mode as argument; pass it along.
+ * version.c: Bump for snapshot.
- * c-parse.y (read_escape): No warning for `\{' or `\['.
+1998-05-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Fri Aug 26 12:23:07 1988 Richard Stallman (rms at sugar-bombs.ai.mit.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.
- * stmt.c (fixup_memory_subreg): Typo calculating big-endian adjust.
+Sat May 23 23:44:53 1998 Alexandre Oliva <oliva@dcc.unicamp.br>
- * vax.md (call_value): Handle >255 args as in `call'.
+ * Makefile.in (boostrap2-lean, bootstrap3-lean,
+ bootstrap4-lean): New targets.
-Thu Aug 25 16:00:51 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sat May 23 23:35:14 1998 Jeffrey A Law (law@cygnus.com)
- * jump.c (delete_jump): Don't delete the cc-setter if it has autoinc.
+ * warn_summary, test_summary: Moved into the contrib directory.
-Wed Aug 24 16:33:37 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-05-23 Manfred Hollstein <manfred@s-direktnet.de>
- * expr.c (expand_expr): For sun with a COND_EXPR, use SUBTARGET
- if validate_subtarget says ok.
+ * 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.
- * tree.c (build_index_type): make_index_type moved here and renamed.
+ * Makefile.in (all.cross): Swap $(LIBGCC) and $(STMP_FIXPROTO).
+ (rest.encap): Likewise.
+ (libgcc2.ready): Depend upon $(STMP_FIXPROTO)
- * combine.c (move_deaths_2): New function.
- (try_distrib): Use that, not move_deaths.
+ * toplev.h (tree_node): Provide global declaration to avoid
+ `limited scope' warnings.
- * tm-sparc.h (SHIFT_COUNT_TRUNCATED, STORE_FLAG_VALUE): Define them.
+Sat May 23 23:23:35 1998 Robert Lipe <robertl@dgii.com>
- * tm-sparc.h: FUNCTION_{PRO,EPI}LOGUE: Save room for ins and
- locals to spill to the frame if any ins *or* locals are live.
+ * test_summary: Display section breaks for each entry
+ in a multilibbed target's output.
- * tm-sparc.h (NOTICE_UPDATE_CC): Delete the clause that always
- cleared the cc's for unrecognized insns.
+1998-05-23 Richard Henderson <rth@cygnus.com>
- * reload1.c (reload_as_needed): Don't try to use a spill-reg
- in a basic block that wasn't spilled: ignore optional reloads.
+ * expr.c (expand_expr): For {BITFIELD,COMPONENT,ARRAY}_REF, if the
+ offset's mode is not ptr_mode, convert it.
-Tue Aug 23 09:45:05 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-05-22 Jason Merrill <jason@yorick.cygnus.com>
- * output-sparc.c (output_scc_insn): New function.
+ * fold-const.c (ssize_binop): New fn.
+ * tree.h: Declare it.
- * expr.c (expand_builtin, alloca): Round result of alloca
- up to a multiple of STACK_BYTES.
+Fri May 22 03:42:05 1998 Richard Earnshaw (rearnsha@arm.com)
- * toplev.c (compile_file): Default main_input_filename is cc1 input.
+ * genextract.c (print_path): Handle zero-length path as a special
+ case.
- * tm-i386.h (FUNCTION_BOUNDARY): 32 avoids extra prefetch.
+Fri May 22 01:38:07 1998 Hans-Peter Nilsson <hp@axis.se>
- * i386.md (movdi, movdf): Add `&' where needed in constraints.
+ * cplus-dem.c (MBUF_SIZE): Bumped from 512 to 32767.
-Mon Aug 22 11:57:51 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri May 22 00:57:00 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
- * symout.c (symout_finish): Allocate typevector after the symout_types.
+ * 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).
-Sun Aug 21 16:10:54 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * tm-3b1.h (ASM_FORMAT_PRIVATE_NAME): Use a `_' as well as `%'.
+ * regmove.c (gen_add3_insn): New function.
+ (fixup_match_2): Use it instead of calling gen_addsi3.
- * expr.c (expand_expr): Typo setting MODE for MAX_EXPR.
+Thu May 21 23:09:50 1998 Jeffrey A Law (law@cygnus.com)
- * Makefile (stage*): If ln fails, copy gnulib to stage*.
- (realclean): Do `clean' and then some.
- (install): new var USER_H specifies headers to copy.
+ * Makefile.in (gencheck): Depend on HOST_LIBDEPS.
- * c-typeck.c (build_binary_op_nodefault): LT_EXPR, etc.
- on ptr vs int failed to set result_type.
- (build_conditional_expr): Don't replace nonzero int
- with null_pointer_node.
+ * alias.c (rtx_equal_for_memref_p): Handle SCRATCH as a memory
+ address.
- * combine.c (remove_links, try_distrib): New fns.
- (subst): New simplifications for ZERO_EXTEND, SIGN_EXTEND.
- (combine_instructions): Call try_distrib.
- (FAKE_EXTEND_SAFE_P): Allow SUBREGs.
+Thu May 21 20:18:13 1998 Martin von Loewis <loewis@informatik.hu-berlin.de>
- * m68k.md (non-FPA pattern for floatsisf2): Typo, had DF for SF.
+ * 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.
-Sat Aug 20 12:04:37 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed May 20 23:44:28 1998 John Wehle (john@feith.com)
- * integrate.c (copy_address): Variant of copy_rtx_and_substitute.
- (copy_rtx_and_substitute): Use copy_address for MEM address that
- doesn't satisfy memory_address_p.
+ * 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.
- * reload.c (find_reloads): If force_reload set, don't set WIN
- for a MEM even if `m', `o' or `g' in constraint.
+1998-05-21 Mark Mitchell <mmitchell@usa.net>
- * i386.md (expendqihi2): Typo in asm template.
+ * cplus-dem.c (do_type): Handle volatile qualification.
- * toplev.c (rest_of_compilation): Call clear_const_double_mem.
- * varasm.c (init_const_rtx_hash_table): Don't call it here.
- (immed_real_const): Don't record the rtx in the REAL_CST node.
- (force_const_double_mem, clear_const_double_mem): Use cc0_rtx, not 0,
- as flag for a CONST_DOUBLE not on the chain.
+Thu May 21 12:23:17 1998 Per Bothner <bothner@cygnus.com>
- * cccp.c (handle_directive): If traditional, do scan strings
- but accept unterminated ones.
- (collect_expansion): -traditional: Don't recognize comments in strings.
- Stringify arguments that appear within strings.
- (skip_quoted_string): -traditional: Always exit at newline.
- (macroexpand): -traditional: Don't put `"'s around stringified arg.
- (macarg): Set stringified_length accordingly.
+ * function.c (init_function_start): Don't call emit_line_note if
+ lineno is 0. (Can happen when compiling Java .class files.)
- * c-decl.c (duplicate_decls): Avoid error redeclaring fcn after
- implicit decl if -traditional.
+Thu May 21 19:50:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * toplev.c (announce_function, report_error_function):
- Change communication logic between these fcns.
+ * reload1.c (reload_reg_free_for_value_p): Fix RELOAD_FOR_INPUT
+ end of lifetime and RELOAD_FOR_OUTPUT start of lifetime.
- * c-decl.c (lang_decode_options): Handle -Wall here.
- * toplev.c (main): not here.
+Thu May 21 19:32:27 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * tm-bsd386.h: Don't include tm-i386.h--be like tm-att386.h
+ * combine.c (nonzero_bits): For paradoxical subregs, take
+ LOAD_EXTENDED_OP into account.
-Fri Aug 19 11:08:36 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu May 21 11:51:15 1998 Dave Brolley <brolley@cygnus.com>
- * config-sun4.h: If sparc, include config-sparc.h.
- Never include alloca.h.
+ * configure.in (extra_c_objs): Add prefix.o.
+ (extra_cxx_objs): Extra objects for C++ with cpplib.
+ * configure: Regenerate.
- * tm-m68k.h (TARGET_SWITCHES): Define `-mc68020', `-mc68000'.
+ * c-tree.h (get_directive_line): Different prototype for cpplib.
+ (GET_DIRECTIVE_LINE): Macro wrapper for get_directive_line.
- * c-decl.c (init_decl_processing): If traditional, use signed sizetype.
+ * c-lex.h (get_directive_line): Not needed here for cpplib.
- * gcc.c (main): Use stderr for printing version.
+ * 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.
-Thu Aug 18 14:42:36 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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
- * Version 1.26 released.
+Thu May 21 09:04:42 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * m68k.md (movsi): Constraint change for fpa regs.
+ * gengenrtl.c (type_from_format, accessor_from_format): Change
+ type of parameter `c' from `char' to `int'.
- * reload1.c (choose_reload_targets): Clear reg_reloaded_contents
- for all regs of a multi-reg group.
+Wed May 20 22:28:34 1998 Jeffrey A Law (law@cygnus.com)
- * reload.c (find_equiv_reg): HARD_REGNO_NREGS wants mode, not size.
- Check properly for overlap against multiword reload regs.
+ * warn_summary, test_summary: New scripts from
+ Kaveh Ghazi and Alexandre Oliva respectively.
-Tue Aug 16 14:54:18 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * gcse.c (current_function_calls_longjmp): Declare.
- * varasm.c, expr.c (immed_double_const): immed_real_const_2 renamed.
+1998-05-20 Jason Merrill <jason@yorick.cygnus.com>
- * tm-i386.h (SFVALUE): Should be `double'.
- * tm-i386v.h (SFVALUE): Don't override it.
+ * dwarf2out.c (base_type_die): Use int_size_in_bytes.
- * tm-i386.h (ASM_OUTPUT_ASCII): Don't define it.
- * tm-att386.h: Definition moved here.
+Wed May 20 01:11:02 1998 Doug Evans (devans@cygnus.com)
+ Jeff Law (law@cygnus.com)
- * tm-bsd386.h: New file, for Sequent.
- * tm-seq386.h: New file, for Sequent.
- * config-i386.h: New file, for Sequent.
+ * 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.
+
+Tue May 19 22:31:20 1998 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Tue May 19 19:08:52 1998 Jim Wilson <wilson@cygnus.com>
+
+ * config/mips/mips.c (double_memory_operand): Accept any MEM during
+ reload when TARGET_64BIT.
+
+Tue May 19 18:21:25 1998 Jim Wilson <wilson@cygnus.com>
+
+ 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.
+
+1998-05-19 Jim Wilson <wilson@cygnus.com>
+
+ * dwarfout.c (dwarfout_file_scope_decl, case TYPE_DECL): Ignore
+ LANG_TYPE trees with DECL_SOURCE_LINE of 0.
+
+Tue May 19 15:07:54 1998 Todd Vierling <tv@netbsd.org>
+
+ * arm/netbsd.h: Ensure DWARF2_UNWIND_INFO is undefined.
+
+Tue May 19 17:19:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * reload1.c (reload_reg_free_for_value_p): New function.
+ (allocate_reload_reg, choose_reload_regs): Use it.
+
+Tue May 19 11:51:00 1998 Andrew MacLeod (amacleod@cygnus.com)
+
+ * except.c (expand_start_catch): Correct logic for when to
+ generate a new handler label, and when to use the old one.
+
+Tue May 19 11:08:52 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * 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.
+
+ * 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'.
+
+ * 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.
- * expr.c (push_block): Take account of STACK_POINTER_OFFSET.
- (expand_call): Therefore need not do so here.
+ * rtl.h (expand_null_return, reg_classes_intersect_p): Add prototype.
+ (mark_elimination): Fix typo in prototype.
- * optabs.c (expand_fix): Typo if going via DImode.
+ * scan-decls.c: Include gansidecl.h.
- * reload1.c (choose_reload_targets): Don't * reload_reg_rtx if 0.
+ * tree.h (using_eh_for_cleanups, supports_one_only): Add prototype.
-Mon Aug 15 01:11:49 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 18 22:37:33 1998 Jeffrey A Law (law@cygnus.com)
- * integrate.c (copy_for_inline): Don't try copying 0-length vector.
- (copy_rtx_and_substitute): Likewise.
+ * function.c (identify_blocks): Fix thinko when setting the
+ block number for NOTE_INSN_BLOCK_END.
- * m68k.md (andsi3): use clrw instead of andw #0.
+Mon May 18 15:30:42 1998 Nick Clifton <nickc@cygnus.com>
- * print-tree.c (walk): Don't omit permanent nodes reach from temps.
+ * config/v850/lib1funcs.asm: Add .text pseudo op to start of
+ ___udivsi3.
- * m68k.md (zero_extend...): Reinstall the old zero-extend insns
- without names, so they can help the combiner.
+ * config/v850/lib1funcs.asm: Fix .size pseudo ops to use three
+ underscores for the prefixes to the names of the maths functions.
- * expr.c (expand_expr): Don't use hard regs as subtargets.
- * combine.c (FAKE_EXTEND_SAFE_P): Always consider MEMs safe.
- * reload.c (find_reloads): For (SUBREG (MEM ...)) set force_reload.
+ * dbxout.c (dbxout_parms): Revert to using DECL_ARG_TYPE. Add
+ comment explaining why.
- * c-parse.y (redescape): Don't warn for `\('.
+Mon May 18 13:20:23 1998 Richard Henderson <rth@cygnus.com>
- * reload.c (find_reloads_address): #if was backwards.
+ * 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.
-Sun Aug 14 16:52:22 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 18 12:07:37 1998 Richard Earnshaw (rearnsha@arm.com)
- * c-typeck.c (shorten_compare): Change switch to chain of ifs.
+ * stor-layout.c (layout_record): Fix off-by-one error when checking
+ length of the TYPE_BINFO vector.
- * tm-ns32k.h (PRINT_OPERAND): CONST_DOUBLE contains a double
- even if it's SFmode.
- (FUNCTION_PROLOGUE): If MAIN_FUNCTION_PROLOGUE defined, run it.
+Mon May 18 10:59:23 1998 Nick Clifton <nickc@cygnus.com>
- * cccp.c (file_buf): Rename field `free' to `free_ptr'.
+ * dbxout.c (dbxout_parms): Use TREE_ARG to compute the type of a
+ function parameter passed in memory.
- * Makefile (ALLOCA, MALLOC, LIBDEPS): New variables for easier
- customization. Executables depend on LIBDEPS instead of OBSTACK1.
- (cccp): Deps and libs now work like the others.
+Mon May 18 09:02:09 1998 Robert Lipe <robertl@dgii.com>
- * output-i386.c (notice_update_cc): Rewritten for clarity.
+ * 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.
- * tm-i386.h (OUTPUT_JUMP): If CC_IN_OVERFLOW, abort.
+Mon May 18 01:23:33 1998 Jeffrey A Law (law@cygnus.com)
- * recog.c (push_operand): Test for stack_pointer_rtx.
+ * 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.
- * integrate.c (copy_rtx_and_substitute): Don't submit push-operands
- to `memory_address'--it would lose on machines where pushing is
- a special insn, not an addressing mode.
+ * 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.
- * output-i386.c (top_dead_p): No more redundancy--that didn't work.
- Now one method if optimized, one for call_insns if noopt, one for
- other insns if noopt.
- (call_top_dead_p): fp_top_dead_p renamed
- and only the call-insn clause remains.
+ * output.h (find_basic_blocks): Declare.
+ (free_basic_block_vars, set_block_num, life_analysis): Likewise.
- * i386.md (cmpsf, cmpdf): Output was backwards.
- (", tstsf, tstdf): Set CC_IN_80387.
- (incb pattern): Restrict allowable registers.
- (movsf, movdf): Call top_dead_p only when absolutely necessary.
- (call_value): Use top_dead_p, not subroutine.
+ * Makefile.in (BISON): Use bison from the build tree if it exists.
+ (FLEX): Similarly.
-Sat Aug 13 15:19:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 18 00:08:19 1998 Nick Clifton <nickc@cygnus.com>
- * stupid.c (stupid_life_analysis): If only 1 reg class,
- call stupid_find_reg only once.
+ * 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.
- * stmt.c (expand_function_start):
- Clear current_function_pretend_args_size.
+ * tm.texi (SWITCH_CURTAILS_COMPILATION): Add description of new
+ driver macro.
- * expr.c (store_constructor): If target is hard reg, go via a pseudo.
+Sun May 17 23:59:45 1998 John Wehle (john@feith.com)
- * varasm.c (real_constant_chain): Now static in this file.
- (force_const_double_mem): Put R on chain if not already on.
- (clear_const_double_mem): Set XEXP (,2) to 0;
- also clear real_constant_chain and the chain links.
- * emit-rtl.c (init_emit_once): Put 0 in XEXP (,2) of {d,f}const0_rtx.
- * cse.c (canon_hash): For CONST_DOUBLE, ignore elts other than 0,1.
+ * i386.h (ALIGN_DFmode): Delete.
+ (CONSTANT_ALIGNMENT): Define.
+ * varasm.c (force_const_mem): Use it.
-Fri Aug 12 11:48:38 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sun May 17 19:31:05 1998 Richard Henderson <rth@cygnus.com>
- * reload1.c (order_regs_for_reload): Handle REG_ALLOC_ORDER more spots.
+ * alpha.c (alpha_emit_conditional_branch): Clear cmp_code after
+ using it with swap_condition, not before.
- * global-alloc.c (find_reg): error handling REG_ALLOC_ORDER;
- also error skipping regs known to be hopeless.
- * local-alloc.c (find_free_reg): error skipping hopeless regs.
- * stupid.c (stupid_find_reg): likewise.
+Sun May 17 13:44:32 1998 Jim Wilson <wilson@cygnus.com>
- * local-alloc.c (qty_compare_1): typo, had q1 for q2.
+ * alias.c (mode_alias_check): Delete.
+ (true_dependence, anti_dependence, output_dependence): Revert April 21
+ change.
- * expr.c (expand_expr): Don't use supplied target when optimizing
- arithmetic using a comparison or conditional; that target could be
- needed for the result of the comparison.
+Sun May 17 08:45:21 1998 Krister Walfridsson <cato@df.lth.se>
- * reload1.c (reload): Don't set reg_equiv_constant for hard regs.
+ * toplev.c (output_lang_identify): Enable prototype and definition.
- * stupid.c (stupid_life_analysis): Ignore reg R if regno_reg_rtx[R]==0.
+Sun May 17 01:12:27 1998 Jeff Law (law@cygnus.com)
- * symout.c (symout_finish): Use perm. links in permanent_fwd_refs.
+ * version.c: Bump for snapshot.
- * i386.md (movhi, movqi): Check no_labels_between_p.
+Sat May 16 23:20:32 1998 Richard Henderson <rth@cygnus.com>
-Thu Aug 11 10:44:46 1988 Richard Stallman (rms at sugar-bombs.ai.mit.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>.
- * c-parse.y (yylex): Out-of-range float is just a warning.
+ * configure.in (alpha*-*-linux-*): Kill xm_defines.
+ (alpha*-*-linux-gnulibc1*) [fixincludes]: Define.
+ * alpha/xm-linux.h: Remove file.
- * tm-gnx-v3.h: New file for Genix.
- * ns32k.md (movsi, call, call_value): GNX_V3 conditionals.
- * tm-ns32k.h (PRINT_OPERAND_ADDRESS): Changes for Genix.
+Sat May 16 18:32:45 1998 Doug Evans <devans@canuck.cygnus.com>
- * ns32k.md (insv patterns): Operand 0 is read-write.
+ * dbxout.c (dbxout_parms): If mode of type of parameter living
+ in memory doesn't match mode of DECL_RTL, make big endian correction.
- * i386.md (tstsf, tstdf): Don't push the arg if already in st(0).
+Fri May 15 21:40:06 1998 John Wehle (john@feith.com)
- * varasm.c (output_constant_def): If EXP is permanent, the rtl is too.
+ * i386.md (movdi-1, movdi): Rewrite based on SI move patterns.
- * tm-*.h (ASM_OUTPUT_{LOCAL,COMMON}): New 4th arg, rounded size
- vs unrounded size.
- * varasm.c (assemble_variable): Pass new arg.
- * symout.c (symout_init): Likewise.
+Fri May 15 18:55:22 1998 Jason Merrill <jason@yorick.cygnus.com>
- * cccp.c (rescan): Don't let char const cross lines.
- (skip_quoted_string, macarg1, discard_comments): Likewise.
+ * tree.h (BINFO_SIZE, TYPE_BINFO_SIZE): New macros.
+ * stor-layout.c (layout_record): Set it.
- * expr.c (expand_expr, VAR_DECL case): handle flag_force_addr.
+Fri May 15 18:49:30 1998 Mark Mitchell <mmitchell@usa.net>
- * tm-i386v.h (TAREGT_DEFAULT): Assume 80387.
- * config-i386v.h (alloca): Use __builtin_alloca under GNU C.
+ * toplev.c (rest_of_compilation): Don't defer nested functions.
-Wed Aug 10 11:23:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri May 15 17:42:52 1998 Bob Manson <manson@charmed.cygnus.com>
- * reload.c (find_reloads): Alternative loses
- if it has no regs for a reg operand.
+ * config/rs6000/rs6000.c (rs6000_stack_info): Align the stack bottom
+ to an 8-byte boundary if info_ptr->fpmem_p.
- * tm-sun3.h (STARTFILE_SPEC): Define, for fpa's sake.
- * tm-m68k.h: New hard regs, reg classes, reg class letters,
- target flag and switch, operand syntax and CC handling for fpa.
- * m68k.md: Add fpa insn patterns.
- * output-m68k.c (standard_SunFPA_constant_p): New fn.
- (output_move_const_{single,double}): Handle fpa regs.
- (singlemove_string): Handle fpa regs.
+Fri May 15 17:36:11 1998 Bill Moyer <ttk@cygnus.com>
- * stmt.c (fixup_memory_subreg): Result had wrong mode.
+ * loop.c (basic_induction_var): Added test preventing
+ CCmode parameter passed to convert_modes().
- * ns32k.md (insv patterns): Adjust bit-number along with address.
+Fri May 15 17:26:18 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
- * sparc.md (negdf2, absdf2): Order of the words was backwards.
+ * 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.
- * reload1.c (new_spill_reg): End confusion about meaning of 1st arg.
- Arg counted_for_nongroups had wrong type.
+Fri May 15 12:44:57 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
- * tm-m68k.h (FUNCTION_{PRO,EPI}LOGUE): Round frame size to word bdry.
+ * stor-layout.c (set_sizetype): Set TYPE_NAME on bitsizetype.
-Tue Aug 9 07:53:59 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri May 15 07:20:03 1998 Mark Mitchell <mmitchell@usa.net>
- * tm-i386.h (ASM_OUTPUT_ASCII): Don't lose the sign bit.
+ * fold-const.c (constant_boolean_node): New function.
+ (fold): Use it.
- * tm-i386v.h (STARTFILE_SPEC, LIB_SPEC): Use crt1.o, crtn.o.
+Fri May 15 11:21:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * stmt.c (fixup_var_refs_1): fixup all memory subregs.
+ * 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.
- * reload1.c (choose_reload_targets): Don't strip paradoxical
- subregs from values to be reloaded.
+Fri May 15 01:47:37 1998 Jeffrey A Law (law@cygnus.com)
- * cccp.c: Comment out text after #endif.
+ * mips.c (print_operand, case 'x'): Use HOST_WIDE_INT_PRINT_HEX.
- * c-parse.y (init): Allow empty braces as init; warn if pedantic.
+Fri May 15 01:42:45 1998 Mumit Khan <khan@xraylith.wisc.edu>
- * c-decl.c: Move C-specific options from toplev.c.
- * c-tree.h: Move their externs from flags.h.
- * c-decl.c (lang_decode_option): New fn called by `main'.
- * toplev.c (sorry, really_sorry): New error reporting fns.
- * c-decl.c (language_string): New var, name of this language.
+ * objc/Make-lang.in (OBJC_O): Add missing exeext.
+ (libobjc.a, runtime-info.h): Likewise.
- * c-parse.y: Don't include flags.h.
- * dbxout.c: Do include it.
+Fri May 15 01:29:39 1998 John Wehle (john@feith.com)
- * dbxout.c (dbxout_type): Handle function fields and static fields
- and basetypes. Handle METHOD_TYPE and REFERENCE_TYPE.
- Abort on unexpected tree code.
- (dbxout_args): New fn to output prototype arg types.
- (everywhere): Use IDENTIFIER_LENGTH instead of strlen.
- (dbxout_type_name): Cleanup; avoid strlen.
+ * i386.h (DATA_ALIGNMENT): Define.
- * local-alloc.c (reg_is_set): Don't call {post_,}mark_life for pseudos.
+Fri May 15 05:35:37 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * tree.h (TYPE_BASECLASSES): New field in type nodes.
+ * 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.
- * ns32k.md (insv patterns): Was adjusting the address wrong.
+Thu May 14 18:38:50 1998 Jim Wilson <wilson@cygnus.com>
- * c-decl.c (grokdeclarator): Just a warning for inline varargs fn.
+ * reload.c (find_reloads): Don't penalize SCRATCH output reload.
-Mon Aug 8 08:16:46 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu May 14 15:10:30 1998 Jeffrey A Law (law@cygnus.com)
- * varasm.c (immed_real_const_2): Guts of creating a CONST_DOUBLE.
- * expr.c (expand_expr): Use that for 64-bit int constants.
+ * Makefile.in (expr.o): Remove dependency on deleted modemap.def file.
- * loop.c (invariant_p): Don't check x->unchanging; it's not safe.
+Thu May 14 16:30:47 1998 Andrew MacLeod <amacleod@cygnus.com>
- * c-typeck.c (build_indirect_ref): Handle flag_volatile here
- so that it propagates to component_refs.
- * expr.c (expand_expr): No need to handle it here.
+ * 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 equivalent 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_movables 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.
- * integrate.c (save_for_inline, expand_inline_function):
- Set up insn_map to record mapping of old uids to copied insns.
- (copy_for_inline, copy_rtx_and_substitute): Map 'u' refs via insn_map.
+ * cppexp.c (right_shift): Mark parameter `pfile' with
+ ATTRIBUTE_UNUSED.
- * emit-rtl (emit_label, emit_barrier): Return what was emitted.
+ * cpphash.c (cpp_lookup): Likewise.
+ (cpp_hash_cleanup): Likewise.
- * sdbout.c (sdbout_filename): Split off from sdbout_init.
- * tm-encore.h, tm-3b1.h, tm-vaxv.h, tm-att386.h (ASM_FILE_START):
- Call sdbout_filename.
+ * 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.
- * toplev.c: Better messages for invalid options.
+ * cpplib.h (cpp_reader_init, cpp_options_init, cpp_start_read,
+ cpp_read_check_assertion, skip_rest_of_line): Add prototypes.
- * tm-m68k.h (PRINT_OPERAND_ADDRESS): Handle labelref+basereg.
+ * crtstuff.c (force_to_data, __CTOR_LIST__, force_to_data,
+ __DTOR_END__, __FRAME_END__): Mark with ATTRIBUTE_UNUSED.
- * tm-3b1.h (PUT_SDB_DIM): Override sdbout's definition.
- (ASM_FORMAT_PRIVATE_NAME): Override tm-hp...s definition.
- (PUT_SDB_PLAIN_DEF): Prepend `~' to specified name.
- (SDB_GENERATE_FAKE): Prepend `~'.
+ * cse.c (cse_check_loop_start): Mark parameter `set' with
+ ATTRIBUTE_UNUSED.
- * gcc.c: Include config.h before obstack.h.
+ * 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).
-Sun Aug 7 11:17:56 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * dwarf2out.c (gen_entry_point_die): Hide prototype and definition.
- * stor-layout.c (layout_decl): Do nothing with CONST_DECL.
- Treat FRIEND_DECLs like variables.
- (layout_record): Handle VAR_DECLs and FUNCTION_DECLs in the fieldlist.
- Handle basetypes (almost like fields).
- (layout_type): Handle REFERENCE_TYPE and METHOD_TYPE.
+ * except.h (doing_eh): Provide prototype.
- * tree.c (temp_tree_cons): New fn.
- (array_type_nelts, simple_cst_equal): New fns.
- (lvalue_p): CALL_EXPR is an lvalue if it returns REFERENCE_TYPE.
- () Manage TYPE_REFERENCE_TO.
- (TYPE_HASH_SIZE): Bigger.
- (type_list_equal): Compare the TREE_PURPOSE fields.
- (build_reference_type, build_method_type): New fns.
+ * expr.c: Move inclusion of expr.h to after insn-config.h.
- * stmt.c (block_stack): Add field `cleanups' to each element.
- (expand_{start,end}_bindings, expand_decl): Update that field.
- (stack_block_stack): Now includes blocks that have cleanups.
- (goto_fixup_chain): Add field `cleanup_list_list'.
- (expand_goto_internal): Execute cleanups for blocks being exited.
- (expand_fixup): Make a fixup if any block has cleanups.
- (fixup_gotos): New args CLEANUPS and DONT_JUMP_IN.
- Execute cleanups for blocks being exited, or add to cleanup_list_list.
- (expand_end_bindings): New arg DONT_JUMP_IN. Execute any cleanups.
- (expand_decl): New arg CLEANUP.
- (expand_cleanups, fixup_cleanups): New functions.
- * c-decl.c: Calls to expand_decl pass new arg.
- * c-parse.y: Calls to expand_end_bindings pass new arg.
+ * final.c: Include reload.h.
+ (shorten_branches): Cast the first argument of bzero to char *.
- * stmt.c (expand_return): Handle INIT_EXPR, or bare RESULT_DECL.
+ * fix-header.c (cpp_print_containing_files): Mark parameter
+ `pfile' with ATTRIBUTE_UNUSED.
+ (cpp_fatal): Likewise.
- * stmt.c (case_stack): Add field `has_default' to each element.
- (pushcase,expand_end_case): Maintain and use that field.
+ * flow.c (find_basic_blocks_1): Cast the first argument of bzero
+ to char *.
- * stmt.c (pushcase): Handle RANGE_EXPR cases.
- (pushcase_range): Create RANGE_EXPR cases.
+ * 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.
- * final.c (final): Always pass 3 args to ASM_OUTPUT_CASE_END.
- * tm-3b1.h: Delete offending spaces.
+ * genextract.c (main): When generating insn-extract.c, mark
+ variable `junk' with ATTRIBUTE_UNUSED.
-Fri Aug 5 16:17:16 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * gengenrtl.c (gencode): When generating genrtl.c, cast the first
+ argument of bzero to char*.
- * integrate.c (copy_rtx_and_substitute): Don't make fp+reg+const
- without an intermediate temporary reg.
+ * integrate.c: Include toplev.h.
- * print-tree.c (dump): Don't print an identifier's chain.
+ * libgcc2.c: Wrap `struct exception_table' and
+ `find_exception_handler' in macro DWARF2_UNWIND_INFO.
- * toplev.c (compile_file): Treat `.i' suffix like `.co'.
+ * objc/Make-lang.in (objc-act.o): Depend on toplev.h.
- * gcc.c: New config macro CC1_SPEC: extra switches for cc1.
- Make a new spec for `.i' files.
+ * 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'.
- * c-decl.c (pushdecl, finish_decl): Delete duplicate tests.
+ * output.h (declare_weak): Add prototype.
+ (decode_reg_name): Don't wrap with TREE_CODE macro.
+ (assemble_alias): Add prototype.
- * varargs.h: Maybe include va-sparc.h or va-spur.h.
- * va-sparc.h: New file.
- * va-spur.h: renamed file.
+ * regclass.c: Include output.h.
- * tree.h ({TYPE,DECL}_LANG_SPECIFIC): Types and decls can point to
- language-specific structures containing other info.
- * print-tree.c (dump): Hooks for printing the language-specific
- data in types and decls.
+ * reload.h (reloads_conflict): Add prototype.
-Thu Aug 4 08:54:30 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * rtl.h (print_rtl_single, mark_elimination, reg_class_subset_p,
+ output_func_start_profiler): Add prototypes.
- * tree.def: Add some tree codes for C++.
+ * rtlanal.c (reg_set_p_1): Mark parameters `x' and `pat' with
+ ATTRIBUTE_UNUSED.
- * Rename files: parse.[yh] -> c-parse.[yh], decl.c -> c-decl.c,
- typecheck.c -> c-typeck.c.
- Part of tree.c split out to c-convert.c.
+ * scan-decls.c: Include scan.h.
- * expr.c (push_block): No longer static.
- (expand_expr): Handle REFERENCE_EXPR and INIT_EXPR.
- (expand_call): Turn a METHOD_TYPE to a FUNCTION_TYPE.
- This is probably not all that is required.
+ * scan.h (recognized_function, recognized_extern): Add prototypes.
- * parse.y (yylex): Use p->rid to check for `signed' and `inline'.
+ * stmt.c: Include output.h.
- * tm-sparc.h (ASM_OUTPUT_SOURCE_LINE): typo.
+ * 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.
- * sparc.md: Add a pattern for andcc.
- (cmpsf): Clobber reg 32 in DFmode.
- (branches): There are no unsigned floating branches; abort.
- (bgt): Correct name of floating variant.
- (mov?i): Load small constants via mov.
- (movdf for constants): Use mov, not add, to move regs.
- (movsf, floatsi*, fix*): Simplify reg-to-reg-via-mem move generation.
- (trunc*): Use mov, not or, to move regs.
- (negsi2, one_cmplsi2): Avoid "neg" and "not" assembler syntax.
- (call...): Generate "call" insns; handle #-reg-parms value.
- * Define some peepholes for return insns.
+ * toplev.h (count_error, strip_off_ending, error_for_asm,
+ warning_for_asm): Add prototypes.
- * tm-sparc.h (TARGET_SUN_ASM): New target flag.
- (TARGET_DEFAULT): Now 1.
- (FRAME_POINTER_REQUIRED): Now 1.
- (STARTING_FRAME_OFFSET): Now -16.
- (LEGITIMATE_CONSTANT_P): Only CONST_DOUBLEs fail.
- (FUNCTION_{PROLOGUE,EPILOGUE}): Rewritten.
+Wed May 13 12:54:19 1998 Michael Meissner <meissner@cygnus.com>
- * output-sparc.c (small_int): Test for int that mov can load.
- (singlemove_string): Use mov, not add.
- (output_move_double): Changes for overlap and for use of ldd, std.
- (output_fp_move_double): Use ldd, std when safe.
- (make_f0_contain_0): Simplify.
+ * toplev.c (rest_of_compilation): "Charge" final for any time
+ doing various cleanup operations after finishing compilation
+ of a function.
- * integrate.c (expand_inline_function): Some special CALL_INSN
- handling no longer needed due to REG_FUNCTION_VALUE_P.
+ * flow.c (dump_flow_info): Also print number of sets and
+ whether or not the pseudo is a user variable.
- * m68k.md (movqi): Constraints allow moving areg to areg.
+ * 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.
-Wed Aug 3 08:29:31 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed May 13 12:54:19 1998 Martin von Loewis <martin@mira.isdn.cs.tu-berlin.de>
- * Version 1.25 released.
+ * acconfig.h (ENABLE_CHECKING): Undefine.
+ * configure.in (--enable-checking): New option.
- * integrate.c (expand_inline_function): Don't let MEM be inline_target.
+Wed May 13 08:52:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Tue Aug 2 09:13:37 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * integrate.c (INTEGRATE_THRESHOLD): New macro, default dfn here.
- (function_cannot_inline_p): Use it.
+Tue May 12 20:05:57 1998 Jim Wilson <wilson@cygnus.com>
- * rtl.h (REG_FUNCTION_VALUE_P): New macro.
- * stmt.c (expand_function_start): Set that flag in the return reg.
- * integrate.c (expand_inline_function, copy_rtx_and_substitute):
- Test that flag to test for the return value.
- * expmed.c (expand_fixed_bit_field, expand_mult, expand_divmod): ditto.
- FUNCTION_VALUE_OUTGOING_REGNO_P no longer needed.
+ * collect2.c (main): Ignore do_collecting when COLLECT_EXPORT_LIST.
-Mon Aug 1 02:46:08 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed May 13 03:23:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * integrate.c (copy_rtx_and_substitute): If NO_FUNCTION_CSE,
- don't break out constant fcn addresses here.
+ * reload1.c (gen_reload): Create REG_EQUIV notes.
- * expmed.c (expand_fixed_bit_field): Tests of FUNCTION_VALUE_REGNO_P
- were backwards.
+Tue May 12 22:21:07 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Sun Jul 31 13:10:07 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * reload1.c (reload): Fix check for USEs to use code of pattern.
+ (choose_reload_regs): Remove dead variable use_insn.
- * recog.c (indirect_operand): New function.
+Tue May 12 14:04:49 1998 Jeffrey A Law (law@cygnus.com)
- * output-i386.c (print_operand): define %*. eliminate %s.
- (fp_top_dead_p): In nonopt case, skip stack-adjusts while looking
- for the insn that uses the function value.
+ * pa.h (DBX_CONTIN_LENGTH): Reduce to 3000 bytes.
- * varasm.c (text_section, data_section): New functions.
- Replaced explicit printfs elsewhere with calls to them.
- * final.c (final_start_function): Use these fns.
- * sdbout.c (sdbout_one_type): Use text_section.
- * tm-att386.h (ASM_OUTPUT_LOCAL): Use data_section.
+Tue May 12 15:16:02 1998 Michael Meissner <meissner@cygnus.com>
- * expr.c (prepare_call_address): Don't pass const via reg if no -O.
+ * 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}): Likewise.
+ (blockage_range): Likewise.
+ (actual_hazard{,_this_instance}): Likewise.
+ (schedule_unit): Likewise.
+ (potential_hazard): Likewise.
+ (insn_cost): Likewise.
+ (swap_sort): Likewise.
+ (queue_insn): Likewise.
+ (birthing_insn_p): Likewise.
+ (adjust_priority): Likewise.
+ (get_block_head_tail): Likewise.
+ (init_rgn_data_dependences): Likewise.
- * tm-sparc.h (FUNCTION_{PROLOGUE,EPILOGUE}) Round the size of saved
- registers. Fix bug counting saved registers.
+Tue May 12 10:27:54 1998 Klaus Kaempf <kkaempf@progis.de>
- * tm-sparc.h (ASM_OUTPUT_SOURCE_LINE): Define this macro.
+ * alpha/vms.h (COMMON_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON): Define.
- * tm-sparc.h (DEFAULT_SIGNED_CHAR): Now 1.
+Tue May 12 11:44:14 1998 Gavin Koch <gavin@cygnus.com>
- * expr.c (expand_builtin, alloca case): Adding stack offset needs
- special code if TARGET is a MEM.
+ * config/mips/mips.h (ASM_OUTPUT_ALIGN): Remove trailing semi-colon.
- * dbxout.c (dbxout_init): Define Ltext: after the reference to it.
+Tue May 12 11:38:31 1998 Gavin Koch <gavin@cygnus.com>
- * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): `short 0' triggers assembler bug;
- `short L%nn-L%nn' supposedly works.
+ * config/mips/mips.md (dslot): Move after definition of "cpu"
+ attribute. Handle r3900 case.
-Sat Jul 30 00:25:52 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Tue May 12 10:21:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * sparc.md (floatsidf2): Minor change in output.
- (fix_trunc{sf,df}si2): Similar.
+ * system.h: Define the STRINGIFY macro here.
+ * protoize.c: Not here.
+ * gengenrtl.c (DEF_RTL_EXPR): Use the STRINGIFY macro.
- * output-sparc.c (output_fp_move_double): Minor change in output.
+Tue May 12 00:47:33 1998 John Wehle (john@feith.com)
- * stmt.c (assign_parms): Don't count stack space for struct value
- address if the function does not have one.
+ * 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.
- * sdbout.c: Output .dim's and total size for arrays.
- Detect bit-fields properly.
- Changed handling of structure tags.
+Mon May 11 19:57:58 1998 Jeffrey A Law (law@cygnus.com)
- * reload1.c (new_spill_reg): counted_for_nongroups is a new arg;
- store 1 in it if this reg is needed for max_nongroups.
+ * mips.c: Prototype static functions.
- * reload1.c (choose_reload_targets): Allow inheritance of DFmode
- if it needs only one register.
+Mon May 11 17:43:03 1998 Jim Wilson <wilson@cygnus.com>
- * reload1.c (choose_reload_targets): Delete the death-note from the
- store-insn of an inherited reload if PRESERVE_DEATH_INFO_REGNO_P.
+ * regmove.c (fixup_match_2, find_matches, regmove_profitable):
+ Add explanatory comments.
- * reload.c (push_reload): Crash if PREFERRED_RELOAD_CLASS is NO_REGS.
- (find_reloads): Smarter handling of forcing CONST_DOUBLE into mem.
- Check PREFERRED_RELOAD_CLASS & do this if it says NO_REGS.
+ * sparc.h (SPARC_INCOMING_INT_ARG_FIRST): Support TARGET_FLAT.
- * reload.c (subst_indexed_address): Handle case with 2 regs
- and no constant term.
+Mon May 11 17:24:27 1998 Richard Henderson <rth@cygnus.com>
- * local-alloc.c: New variable qty_n_refs, set from reg_n_refs
- and tested in qty_compare{,_1}.
- (combine_regs): Update qty_n_refs.
- Update qty_preferred_or_nothing more intelligently.
+ * sparc.md (ffsdi2): Disable. Simplify the expression as well.
- * regclass.c (regclass, reg_class_record, record_address_regs):
- Count the number of refs to each reg along with the costs,
- and use it when computing the preferred_or_nothing flag.
- (Can't use reg_n_refs since that is weighted by loop depth).
+Mon May 11 13:30:44 1998 Jim Wilson <wilson@cygnus.com>
- * global-alloc.c (global_alloc): Enable test of OVERLAPPING_REGNO_P
- for setting no_global_alloc_regs.
+ * varasm.c (make_decl_rtl): Disable April 1 change.
- * expr.c (prepare_call_address): Use force_reg, so it gets a REG_EQUIV.
+Mon May 11 09:14:41 1998 Richard Henderson <rth@cygnus.com>
- * optabs.c (can_{fix,float}_p): Return enum insn_code, not a function.
- (init_{fix,float}_tab): Store enum insn_code's in fixtab and floattab.
- (expand_{fix,float}): Change calls to can_{fix,float}_p.
- Also, use emit_unop_insn to make the actual insns.
+ * configure.in (alpha-*-linux-gnu): Undo lossage from gcc2 merge.
-Fri Jul 29 02:42:40 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 11 08:24:18 1998 Richard Henderson <rth@cygnus.com>
- * cccp.c (initialize_char_syntax): If dollars_in_identifiers is 0,
- set entries for `$' to 0.
- Set entries to 1 rather than incrementing them.
+ * 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.
-Tue Jul 26 11:14:22 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 11 09:33:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * varasm.c (assemble_variable): Make SDB output only if top-level.
+ * 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.
- * local-alloc.c (reg_is_set): Arg to mark_life is regno, not qty.
+ * 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'.
- * output-ns32k.c (print_operand_address): New flag SEQUENT_BASE_REGS
- * tm-sequent.h: Define that flag.
+Sun May 10 02:27:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * Makefile: add some missing deps.
+ * 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.
- * tm-encore.h (ASM_FILE_START): Changed to do nothing.
+Sun May 10 01:21:43 1998 Jeffrey A Law (law@cygnus.com)
- * sdbout.c (sdbout_init): Fix two dumb errors.
+ * genemit.c (output_add_clobbers): Removed unused variable 'i' from
+ generated function.
- * sdbout.c (sdbout_end_epilogue): No longer takes arg.
- Examine current_function_decl here, not in caller.
- * final.c: Call changed.
+Sat May 9 02:02:15 1998 Richard Henderson <rth@cygnus.com>
-Mon Jul 25 01:32:54 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * stor-layout.c (layout_record): Handle PCC_BITFIELD_TYPE_MATTERS.
+ * machmode.h (COMPLEX_MODE_P): New macro.
- * tm-3b1.h (__PTR_TO_INT, __INT_TO_PTR): Define these, to alter
- parts of obstack.h.
+Sat May 9 01:53:23 1998 Richard Henderson <rth@cygnus.com>
-Sun Jul 24 17:56:53 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * haifa-sched.c (print_exp): Fix typo.
- * Padding for an arg may now go below or above it; new macro
- FUNCTION_ARG_PADDING can now choose which, or can inhibit padding.
- This makes for compatibility with PCC.
- * expr.h: Default definition of that macro.
- * expr.c (emit_push_insn): Put the padding above or below.
- (expand_call): Don't count the padding if none wanted.
- * stmt.c (assign_parms): Adjust parm stack addr if padded below.
- Don't count the padding if none wanted.
- * tm-3b1.h: Define FUNCTION_ARG_PADDING: no padding for > 4 bytes.
+Fri May 8 21:48:50 1998 Jeff Law (law@cygnus.com)
- * final.c (alter_subreg): Now returns the altered value
- (but may still modify the original structure).
- Handles (SUBREG:DI (CONST_DOUBLE:DF...)) by returning the CONST_DOUBLE.
+ * version.c: Bump for snapshot.
- * m68k.md (DImode push): now allows `F'.
- * ns32k.md (movdi): now allows `F'.
+Fri May 8 18:23:08 1998 Michael Meissner <meissner@cygnus.com>
- * tm-m68k.h (FIX_FRAME_POINTER_ADDRESS):
- Handle indexed references to frame pointer.
- * tm-i386.h, tm-m88k.h, tm-sparc.h: Likewise.
+ * final.c (final_scan_insn): Call fatal_insn instead of abort if
+ we could not split an insn when required to.
- * cse.c (predecide_loop_entry): Must search for the loop top label.
+ * 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.
-Sat Jul 23 08:53:01 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * parse.y (yylex): typo in wide strings.
+ * 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): Likewise.
- * tm-vaxv.h, config-vaxv.h: New files for sysV on vax.
+Fri May 8 14:13:21 1998 H.J. Lu (hjl@gnu.org)
- * config-sun4.h: If sparc and not compiling with GCC, include alloca.h.
+ * 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 Jul 22 02:38:02 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Fri May 8 09:47:29 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tree.c (build_real_from_int_cst): CHECK_FLOAT_VALUE at proper place.
+ * Makefile.in (genrtl.o): Depend on system.h.
+ * gengenrtl.c (gencode): When creating genrtl.c, have it
+ include system.h.
- * tm-hp9k320.h ({TEXT,DATA}_SECTION_ASM_OP): Should not include a tab.
- * final.c (final_start_function): Don't output a tab before those.
+Fri May 8 10:57:33 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * sdbout.c (PUT_SDB_EPILOGUE_END): New macro.
- * sdbout.c (sdbout_end_epilogue): New function to output the C_EFCN.
- Like former sdbout_mark_end_function. Uses that macro.
- * final.c (final_end_function): Call that function.
- * tm-3b1.h: Override PUT_SDB_EPILOGUE_END like the other PUT_SDB...
+ * config/m68k/t-linux: Remove extra stuff already included in
+ config/t-linux.
- * tm-3b1.h (PRINT_OPERAND_ADDRESS, ASM_OUTPUT_INTERNAL_LABEL,
- ASM_OUTPUT_CASE_{LABEL,END}): Put a % in names of internal labels.
- (ASM_GENERATE_INTERNAL_LABEL, ASM_OUTPUT_ADDR_{VEC,DIFF}_ELT):
- New macros, for same reason.
- (FUNCTION_PROFILER): New macro, for % and also to put addr in a0.
+Fri May 8 09:53:24 1998 Paul Eggert <eggert@twinsun.com>
- * final.c (output_source_line): For fcn's first line, use lineno 1.
- * sdbout.c (sdbout_end_function): Clear sdb_begin_function_line
- so can recognize first line of next function.
+ * 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>.
- * sdbout.c (sdbout_init): Output the .file pseudo here.
- * tm-3b1.h, tm-att386.h (ASM_FILE_START): Don't do it here.
+ * configure.in: Rename fixinc.math to fixinc.wrap.
- * sdbout.c (PUT_SDB_VAL): Output leading tab, like the other macros.
- * tm-3b1.h (PUT_SDB_VAL): Likewise.
+Thu May 7 19:26:34 1998 Jim Wilson <wilson@cygnus.com>
- * regclass.c (regclass): Cast enums to int, not char.
- * varasm.c (record_constant): Likewise. Avoids 3b1 PCC bug.
+ * gcc.c (read_specs): Handle missing blank line at end of specs file.
- * decl.c (pushdecl): Better choice of error message for extern/static.
+ * i386.md (movsicc, movhicc, movsicc_1, movhicc_1, movsfcc_1,
+ movdfcc_1): Disable.
- * emit-rtl.c: Do look for STRUCT_VALUE_INCOMING_REGNUM.
+Thu May 7 15:39:14 1998 Jim Wilson <wilson@cygnus.com>
-Thu Jul 21 02:13:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * configure.in (enable_threads): Rename to enable_threads_flag before
+ main loop. Set enable_threads to enable_threads_flag inside main
+ loop.
- * cse.c (canon_hash): CONST_INT case failed to add to prev. value
- of HASH; was inconsistent with cse_insn mem address hashing.
+Thu May 7 17:38:03 1998 Michael Meissner <meissner@cygnus.com>
- * m68k.md (divide insns): Alternate 3B1 syntax for `swap' insn.
+ * r6000/eabi.asm (__eabi): Restore LR in case __eabi is called
+ multiple times.
-Wed Jul 20 18:27:10 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Thu May 7 14:26:05 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * m68k.md: In shift-by-24 patterns, rejects autoincrement memrefs
- since they are mode-dependent.
+ * aclocal.m4 (GCC_FUNC_VFPRINTF_DOPRNT): New macro.
-Tue Jul 19 13:01:38 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * parse.y (check_newline): Handle #ident by writing .ident to output.
- * cccp.c: Don't handle #ident; delete IDENT_DIRECTIVE conditionals.
+ * Makefile.in: Add support for linking in vfprintf.c and doprint.c.
+ (cccp.o): Depend on gansidecl.h.
+ (cexp.o): Likewise.
- * stmt.c (expand_end_case): In compares, put constant arg second.
+ * 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.
- * jump.c (jump_optimize): Delete conditional jump if followed by
- an unconditional jump to the same place.
+ * 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.
-Mon Jul 18 17:49:13 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * vfprintf.c: New file.
+ * doprint.c: New file.
- * emit-rtl.c (init_emit_once): Now STRUCT_VALUE_INCOMING is an
- expression for an rtx. It can make a MEM. Likewise STRUCT_VALUE
- for outgoing structure value addresses.
+Thu May 7 10:18:41 1998 Jeffrey A Law (law@cygnus.com)
- * stmt.c (assign_parms): If incoming struct addr on stack, leave room.
- * expr.c (expand_call): If outgoing addr on stack, push it like an arg.
+ * 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.
- * PROMOTE_PROTOTYPES means if proto says `char', pass `int'.
- * decl.c (get_parm_info): Alter DECL_ARG_TYPE to do this.
- * typecheck.c (actualparameterlist): Convert value for this.
- * tm-m68k.h: Define PROMOTE_PROTOTYPES.
+Thu May 7 10:55:59 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Sun Jul 17 14:25:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * config/m68k/m68k.md (adddi3, subdi3): Properly negate the DImode
+ constant.
- * jump.c (jump_optimize): peephole can delete insns following INSN.
- Set NEXT after peephole.
+Wed May 6 22:32:37 1998 Robert Lipe <robertl@dgii.com>
- * decl.c (finish_decl): Always restart perm alloc if global.
+ * Makefile.in (dwarfout.o): Add toplev.h dependency.
+ * dwarfout.c, i386.c: Include toplev.h.
+ * toplev.h (pfatal_with_name): Add prototype.
- * stmt.c (assign_parms): When a float is passed as double, store the
- float in low-numbered word. Avoids trouble with parm_map in integrate.
+Wed May 6 19:02:29 1998 Jason Merrill <jason@yorick.cygnus.com>
- * vax.md: New pattern for decrement and compare against -1.
+ * Makefile.in: Fix .SUFFIXES.
-Sat Jul 16 14:18:00 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed May 6 19:31:32 1998 Alan Modra <alan@spri.levels.unisa.edu.au>
- * decl.c (pushdecl): Ignore previous decl if it's really an error_mark.
+ * config/linux.h (ASM_COMMENT_START): Define as "#".
+ * config/linux-aout.h (ASM_COMMENT_START): Likewise.
- * stmt.c (expand_start_case): Make sure case_stmt.start is a NOTE.
+Wed May 6 15:51:39 1998 Jim Wilson <wilson@cygnus.com>
- * combine.c (subst): In the simplification for
- (set (zero_extract ...) (and/or/xor (zero_extract ...) const)),
- require same memory location in both extracts.
+ * objc/Make-lang.h (objc-parse.o): Add toplev.h dependency.
+ * objc/objc-parse.y, objc/objc-parse.c: Regenerate.
- * *386*: New files.
+ * 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.
- * cse.c (fold_rtx): Save time in memory address if it didn't change.
- Don't replace cheaper expression with coslier one.
- (cse_insn): Reenable generation of REG_WAS_0. It wasn't obsolete.
+ * mips/mips.c (save_restore_insns): Change FRAME_POINTER_REGNUM to
+ HARD_FRAME_POINTER_REGNUM.
- * cccp.c: `ident' has 5 letters.
+ * expr.c (target_temp_slot_level): Delete duplicate definition.
- * final.c (output_source_line): SDB can't handle multiple source
- files, so ignore line-NOTEs for other files.
+Wed May 6 16:46:01 1998 Jeffrey A Law (law@cygnus.com)
- * hard-reg-set.h: New var reg_class_size (# regs in the class).
- * regclass.c (init_reg_class): Set it up.
+ * 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.
- * reload.c (find_reloads): If an earlyclobber is in a class of size 1
- as an output, reload it as input instead of as output.
+ * haifa-sched.c (print_value, case SUBREG): Fix typo.
- * reload1.c (choose_reload_targets): Improve elimimation of spilled
- pseudos made dead by reloading: if pseudo is limited to one block
- and that block contains just stores, delete all the stores.
+ * i386.c (output_387_binary_op): Add some braces to avoid warnings.
+ * i386.h (REG_CLASS_CONTENTS): Similarly.
- * reload1.c (choose_reload_targets): reg_has_output_reload is now
- static and survives through reload pass.
- (forget_old_reloads): Don't cancel data on spilled regs of output
- reloads of the insn just made.
+ * 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.
- * sdbout.c (sdbout_one_type): Go to .text before defining a type.
- (sdbout_block): Test against do_block was backwards.
+ * haifa-sched.c (find_rgns): Correctly handle reducible loops with
+ inner loops which are not reducible.
- * stmt.c (expand_end_function): New args to make a NOTE for last line.
- * decl.c (finish_function): Pass the args.
+ * loop.c (regs_match_p): Fix typo in prototype.
- * rtl.c (no_labels_between): New function.
- * vax.md (movsi): Call it.
+ * regmove.c (try_auto_increment): Wrap declaration inside an
+ #ifdef AUTO_INC_DEC.
- * print-tree.c (dump): Don't follow chain of a decl.
+Wed May 6 17:07:47 1998 Michael Meissner <meissner@cygnus.com>
- * rtl.c (volatile_refs_p): Moved from flow.c.
+ * final.c (output_operand_lossage): Call fatal with the operand
+ lossage message instead of calling abort.
-Fri Jul 15 13:36:20 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed May 6 15:37:27 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * sdbout.c (PUT_SDB...): Allow config to override any of them.
- * sdbout.c (PUT_SDB_{BLOCK,FUNCTION}_{START,END}): New macros.
- * tm-3b1.h: Override all of them.
- * sdbout.c (SDB_GENERATE_FAKE): New macro to create dummy tag name.
- (gen_fake_label): Use SDB_GENERATE_FAKE.
- * tm-3b1.h: Override its defn.
+ * 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.
- * sdbout.c (sdbout_mark_function_end): Unused; deleted.
+Wed May 6 14:44:14 1998 Gavin Koch <gavin@cygnus.com>
- * tm-3b1.h: Define SDB_DEBUGGING_INFO.
+ * config/mips/r3900.h (SUBTARGET_ASM_DEBUGGING_SPEC) :
+ Replace -gdwarf-2 with -g0.
-Thu Jul 14 01:55:15 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed May 6 11:43:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * config-sunv4.h: New file for Sunos version 4.
+ * 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.
- * tm-sun3.h (CPP_SPEC): Define mc68010 or mc68020, depending.
+ * objc/Make-lang.in (objc-act.o): Depend on system.h.
+ * objc/objc-act.c: Include system.h, remove redundant headers.
-Tue Jul 12 15:31:30 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed May 6 11:21:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stmt.c (expand_fixup, expand_goto_internal): New functions to
- emit a jump that can restore the stack level, even without tree node.
- (expand_null_return, expand_exit_loop, etc.): Use expand_goto_internal.
- (expand_end_function): Do fixup_gotos after emitting return_label.
+ * configure.in (AC_CHECK_FUNCS): Add isascii.
+ (GCC_NEED_DECLARATIONS): Add atof.
- * cse.c (predecide_loop_entry): Avoid using JUMP_LABEL.
- * flow.c (find_basic_blocks): Avoid using JUMP_LABEL.
+ * system.h: Provide prototypes for abort, atof, atol and sbrk here.
+ * rtl.c, rtl.h, toplev.c, tree.h: Not here.
- * flow.c (insn_dead_p): Delete special case for stack-adjust insns.
- (life_analysis): Mark those insns with INSN_VOLATILE here.
- (mark_used_regs): a SET of a hard reg, in a volatile insn,
- always makes its source live.
+Wed May 6 10:52:49 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Mon Jul 11 10:46:26 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * system.h: Wrap time.h and sys/file.h in autoconf checks.
+ Provide default definitions for O_RDONLY and O_WRONLY here.
- * ns32k.md (floatqidf2): Commented out since assemblers warn about it.
+ * cccp.c, cpplib.c, fix-header.c, gcc.c, protoize.c: Not here.
-Sun Jul 10 11:49:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+1998-05-06 Mark Mitchell <mmitchell@usa.net>
- * decl.c (xref_tag): Default the TYPE_MODE of enum xrefs
- to avoid making MEM and REG with VOIDmode.
+ * tree.h (IS_EXPR_CODE_CLASS): Remove bogus '3'.
- * vax.md (call): If > 255 args, pop them explicitly.
+Wed May 6 06:35:38 1998 Robert Lipe <robertl@dgii.com>
-Sat Jul 9 10:53:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * symout.c (symout_types): Fix up forward refs to previously
- undefined structure types.
- (filter_undefined_types): New function.
- (symout_finish, symout_function_end): Output any never-defined structs.
- * toplev.c (rest_of_compilation): call symout_function_end.
+Wed May 6 01:09:01 1998 Jeffrey A Law (law@cygnus.com)
+ Jim Wilson (wilson@cygnus.com)
- * parse.y: Don't declare errno if it's a macro.
+ * haifa-sched.c (find_rgns): In no_loops case, fix test for leaf
+ blocks. Check for 1 successor which is the EXIT_BLOCK.
- * tm-hp9k320 (FUNCTION_PROFILER): Pass ptr in a0, not d0.
+ * haifa-sched.c (find_rgns): Detect unreachable blocks, including
+ unreachable loops with more than one block.
- * typecheck.c (truthvalue_conversion): Flush unnec recursive call.
- (build_cond_expr): Bug testing zeroness of IFEXP with TREE_LITERAL.
+Wed May 6 08:22:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * cse.c (fold_cc0): Constants not CONST_INT are certainly nonzero.
- * fold-const.c (fold): ADDR_EXPR is not equal to zero.
+ * fix-header.c (write_rbrac): Add "abort" to functions which need to
+ be protected.
- * cccp.c (macroexpand): Disable the macro even if traditional.
- (rescan): Error if use a disabled macro.
+Wed May 6 00:09:36 1998 Jeffrey A Law (law@cygnus.com)
- * combine.c (try_combine): Don't substitute a different reg into
- an auto-increment. Handle multiple REG_INC notes in I1 or I2.
+ * Check in merge from gcc2. See ChangeLog.12 for details.
- * decl.c (implicitly_declare): Don't reuse old implicit decl.
+Tue May 5 14:33:49 1998 Jim Wilson <wilson@cygnus.com>
- * varasm.c (assemble_variable): Avoid syntax err if no DBX and no SDB.
- * final.c (output_source_line): likewise.
+ * 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.
- * fold-const.c (fold): PLUS/MINUS_EXPR: in case of cancellation,
- convert result to original type.
+ * elf64.h (MULTILIB_DEFAULTS): Move definition after mips.h include.
- * regclass.c (reg_class_record): Changed arguments include address
- of entire vector of constraints.
+Tue May 5 10:50:39 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Fri Jul 8 07:59:00 1988 Richard Stallman (rms at sugar-bombs.ai.mit.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.
+
+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>
- * reload1.c (reload): Find groups of more than 2 registers.
+ * alpha.h (DBX_CONTIN_LENGTH): Decrease to 3000.
+
+1998-05-04 Ulrich Drepper <drepper@cygnus.com>
-Thu Jul 7 08:33:07 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * expr.c (emit_push_insn): Typo adjusting arg for bcopy
- if not STACK_GROWS_DOWNWARD.
+Mon May 4 19:15:29 1998 Jim Wilson <wilson@cygnus.com>
- * gnulib.c (_cmpsf2): Value is int, not SFVALUE.
+ * expr.c (expand_expr, case INDIRECT_REF): Don't optimize string
+ reference if this is a store.
-Wed Jul 6 11:53:46 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon May 4 17:25:17 1998 Richard Henderson <rth@cygnus.com>
- * tm-encore.h, tm-3b1.h: Replace ASM_FILE_START; output a .file.
+ * sparc.c (output_move_quad): Fix typo in mov_by_64 argument.
- * *m88*: New files for Motorola 88000. They don't really work.
+Sun May 3 23:57:25 1998 Robert Lipe <robertl@dgii.com>
-Tue Jul 5 14:40:03 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ 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.
- * local-alloc.c (combine_regs): Don't tie a reg to itself.
+Sun May 3 13:51:34 1998 Richard Henderson <rth@cygnus.com>
- * finxincludes: Make a variable LIB for the target dir.
+ 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 alternatives 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.
- * m68k.md (movhi, addhi3, addsi3): Micro-optimize choice of asm insns.
+Sat May 2 17:47:17 1998 Jeff Law (law@cygnus.com)
- * expr.c (expand_expr): Use new macros NO_DEFER_POP, OK_DEFER_POP
- in several places, to keep stack predictable.
+ * version.c: Bump for snapshot.
-Mon Jul 4 09:50:18 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sat May 2 01:37:29 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * integrate.c (function_cannot_inline_p): Increase threshold size.
+ * 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>
- * flags.h (use_gdb_dbx_extensions): New variable.
- * toplev.c:
+ * Makefile.in (cpp.info, gcc.info): Put -o option before input file.
- * sdbout.c (PUT_SDB_TAG): Delete duplicate defn.
+Thu Apr 30 16:57:34 1998 Michael Meissner <meissner@cygnus.com>
- * expr.c (expand_expr): For FIX_TRUNC_EXPR to unsigned short/char,
- REALLY go via signed int.
+ * 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.
- * loop.c (may_trap_p): Was detecting floating arithmetic incorrectly.
+ * 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.
- * tm-news800.h (CPP_PREDEFINES): Add sony and sony_news.
+Tue Apr 28 08:55:26 1998 Michael Meissner <meissner@cygnus.com>
- * parse.y (check_newline): Avoid infinite loop at eof.
+ * 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): Likewise.
+ (m32r_select_cc_mode): Likewise.
+ (gen_compare): Likewise.
+ (function_arg_partial_nregs): Likewise.
+ (m32r_setup_incoming_varargs): Likewise.
+ (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.
-Sat Jul 2 10:35:17 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * m32r.h: Prototype all functions in m32r.c.
+ (FIRST_INSN_ADDRESS): Declare, returning prologue size.
- * Version 1.24 released.
+ * m32r.md (bcc functions): Cast enum's to int.
- * stmt.c (expand_asm_operands): Produce proper no-outputs insn.
- * recog.c (asm_noperands): Detect no-outputs insns.
- (decode_asm_operands): Likewise.
- * reload.c (find_reloads): Likewise (add case ASM_OPERANDS:).
+ * m32r.c (conditional_move_operand): Silence a debug message.
+ ({small,long}_insn): New predicates.
- * local-alloc.c (block_alloc): Tests of qty_compare were backwards.
+ * 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.
- * flow.c (life_analysis): Turn off code that finds regs live at
- function start and marks them not local to any basic block.
+ * m32r.md (insn_size): New attribute.
+ ({,rev_}branch_insn): Add .s qualifier to branches believed to be
+ short.
+ (m32r): New attribute.
- * cse.c (insert_regs): Fix typo (UNITS_PER_WORD).
+ * configure.in (enable_haifa): Switch m32r to Haifa by default.
+ * configure: Regenerate.
- * cccp.c: Define max.
+ (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
+ optimization to work.
- * expr.c (expand_expr): Put each SAVE_EXPR's reg on save_expr_regs,
- if not optimizing.
- * stmt.c (expand_function_end): Mark each of those regs live
- at the end and also retroactively at the beginning of the function.
+ * m32r.md (cmp_ne_small_const_insn): Use 'S' constraint rather
+ than 'I' since the value is negated.
+ (peephole): Add peephole optimization to cope with optimization of
+ divide and subtracts of the same operands.
- * output-vax.c (print_operand_address): New function from old macro.
- * tm-vax.h (PRINT_OPERAND_ADDRESS): Call that function.
+ * m32r.c zero_and_one, emit_cond_move): Add support for MVFC.
+ * m32r.h: Likewise.
+ * m32r.md: Likewise.
- * config-vms.h: If not under GNU C, define X_OK, etc.
+ * m32r.h (PREDICATE_CODES): Add declaration of machine specific
+ predicates.
- * expr.c (move_by_pieces_1): Use * to call GENFUN.
- (expand_expr): Compare DECL_FUNCTION_CODE against an enum const.
- (preexpand_calls): Likewise.
- * genrecog.c (write_tree): Likewise.
- * final.c (final): Use * to call the output function.
- * reload.c (push_reload): Rename `noshare' to `dont_share'.
+Tue Apr 28 07:25:53 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * genoutput.c (output_epilogue): Put more newlines in insn_outfun.
- * genemit (gen_exp): Put in more newlines.
+ * Makefile.in (libgcc2.ready): Revert last patch (Apr 24).
-Fri Jul 1 00:23:57 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 27 18:39:47 1998 Nick Clifton <nickc@cygnus.com>
- * global-alloc.c (allocno_compare): Avoid comparisons of floats
- since that is sensitive to roundoff errors.
+ * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Check against
+ frame_pointer_rtx not FRAME_POINTER_REGNUM.
-Thu Jun 30 09:25:40 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 27 18:36:28 1998 Jim Wilson <wilson@cygnus.com>
- * sdbout.c (PUT_SDB_{DEF,TAG}): Use ASM_OUTPUT_LABELREF.
- (PUT_SDB_PLAIN_DEF): New name for old defn of PUT_SDB_DEF
- (sdbout_one_type): Use PUT_SDB_PLAIN_DEF for `.eos'.
+ * reg-stack.c: Revert last patch (Apr 20).
+ (convert_regs): Set insn to PREV_INSN (next) after do while loop.
- * tree.c (allocation_temporary_p): New fcn.
- (all_types_permanent): New variable.
- (make_node): If that's set, make each ...TYPE node permanent.
- * decl.c (grokdeclarator): If traditional, make decl data permanent.
- (finish_decl): Make the rtl permanent too.
- * stor-layout.c (layout_type): If type is permanent,
- make its layout data permanent too.
+ * m68k/lb1sf68.asm (Laddsf$3): Fix typos in mcf5200 exg code.
- * cccp.c: Choose C++ or C at run time via var `cplusplus'.
- Separate cplusplus_include_default from include_default.
- Get GNU-specific include directory names from macros
- GCC_INCLUDE_DIR and GPLUSPLUS_INCLUDE_DIR.
- (main): Initialize based on CPLUSPLUS; `-+' sets it.
- * Makefile: Set *_INCLUDE_DIR based on $(libdir).
+ * 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.
-Tue Jun 28 09:25:49 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 27 15:53:30 1998 Andrew MacLeod <amacleod@cygnus.com>
- * tree.c (copy_node): Round LENGTH up to multiple of sizeof (int).
+ * cplus-dem.c (demangle_qualified): Replace missing else.
- * expr.c (emit_push_insn): Avoid using PUSH_ROUNDING if not defined.
+Mon Apr 27 20:22:08 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * sparc.md (floatsisf2): Insert missing brace.
- (mulsi3): Replace reg_o0_rtx, reg_o1_rtx.
+ * sh.c (gen_ashift_hi): Don't make SUBREG of a SUBREG.
- * tm-sparc.h: Define DBX_DEBUGGING_INFO.
+Mon Apr 27 18:23:51 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * parse.y (yylex): If traditional, no error for out-of-range float.
+ * sh.c (sh_expand_prologue, sh_expand_epilogue):
+ If TARGET_DOUBLE_ALIGN, preserve 64 bit stack alignment.
+ * sh.h (STACK_BOUNDARY): Likewise.
- * Makefile: Comment saying how to compile on an Apollo.
+Mon Apr 27 17:22:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * tm-sparc.h (ASM_FILE_START): Switch to new calling convention.
+ * sh.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
- * decl.c (init_decl_processing): Create type nodes for 64-bit ints.
- (grokdeclarator): use them for `long long'. Warn only if pedantic.
+Mon Apr 27 08:55:23 1998 Michael Meissner <meissner@cygnus.com>
- * optabs.c (init_optabs): Add missing DImode insn names.
+ * 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.
- * expr.c (emit_block_move, emit_push_insn): Use movstrqi if appro.
+ * .gdbinit: Add breakpoints on exit and fancy_abort.
- * expr.c (convert_move): use extendsidi if appropriate.
+ * final.c (split_double): Avoid a compiler warning if
+ BITS_PER_WORD is less than or equal to HOST_BIT_PER_WIDE_INT.
- * cccp.c (initialize_builtins): Don't install __STDC__ if traditional.
- (main): Call initialize_builtins after option processing.
+ * rtl.h (JUMP_{CROSS_JUMP,NOOP_MOVES,AFTER_REGSCAN}): New macros
+ for calling jump_optimize.
- * integrate.c (output_inline_function): Set current_function_decl.
+ * toplev.c (rest_of_compilation): Call jump_optimize using JUMP_*
+ macros, rather than 0/1's.
- * cse.c (fold_rtx): Typo in avoiding 32-bit shifts.
+Sun Apr 26 23:19:10 1998 Richard Henderson <rth@cygnus.com>
- * cccp.c: Add forward-decl.
+ * alpha.h (CONST_COSTS): Zero is always free.
+ (RTX_COSTS): Add EV6 costs. Abort if alpha_cpu is unknown.
-Mon Jun 27 18:06:42 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sun Apr 26 15:38:50 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * hard-reg-set.h (reg_alloc_order): New variable
- based on REG_ALLOC_ORDER, a new machine-description macro.
- * regclass.c (reg_alloc_order): Define it.
- * local-alloc.c (find_free_reg): Handle reg_alloc_order.
- * global-alloc.c (find_reg): Likewise.
- * stupid.c (stupid_find_reg): Likewise.
+ * cplus-dem.c (gnu_special): Fix off-by-one bug when checking the
+ length in the name of a virtual table.
-Sun Jun 26 10:47:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Sun Apr 26 01:21:06 1998 Richard Henderson <rth@cygnus.com>
- * Version 1.23 released.
+ * alpha.c (print_operand): Don't add 'v' suffix for ALPHA_FPTM_N.
- * tm-3b1.h: Define IDENT_DIRECTIVE.
+Sat Apr 25 22:11:38 1998 Jeff Law (law@cygnus.com)
- * tm-encore.h: Define SDB_DEBUGGING_INFO.
- Define SCCS_DIRECTIVE and IDENT_DIRECTIVE.
+ * version.c: Bump for snapshot.
- * output-ns32k.c: Decl of paren_base_reg_printed must be outside fcns.
+Sat Apr 25 17:17:15 1998 Jeffrey A Law (law@cygnus.com)
- * tm-encore.h (ASM_OUTPUT_DOUBLE): Do 0f, not 0l.
- (CPP_PREDEFINES): No -Dns32032.
+ * fold-const.c (fold_convert): Fix typo.
- * sdbout.c: Include syms.h, not storclass.h.
- (unnamed_struct_member): Decl was missing.
- (PUT_SDB_INT_VAL, PUT_SDB_VAL): Fix typos.
- (sdbout_types, sdbout_one_type, sdbout_parms): Fix typos.
+Sat Apr 25 17:55:54 1998 John Carr <jfc@mit.edu>
- * Makefile: Add file sdbout.o.
- Changed comments pertaining to sysV.
- Make a separate target `doc' to make the info files.
+ * 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.
- * m68k.md (bit-field insns): Use nonimmediate_operand for the thing
- to extract from.
- * vax.md (QImode bit-field insns): Likewise.
+ * rtl.h: Declare record_base_value.
- * recog.c (nonimmediate_operand): Accept any nonconst general operand.
+ * loop.c, unroll.c: Update callers of record_base_value.
-Sat Jun 25 07:54:42 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * alias.c (find_base_value, find_base_term): SIGN_EXTEND and
+ ZERO_EXTEND do not affect base values.
- * cse.c (lookup_as_function): arg to exp_equiv_p was missing.
+Fri Apr 24 15:57:02 1998 Jeffrey A Law (law@cygnus.com)
-Fri Jun 24 09:14:47 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * dbxout.c (dbxout_type): Fix typo.
+ (dbxout_range_type): Another HOST_WIDE_INT_PRINT_DEC fix.
- * recog.c (memory_operand): Allow (subreg (mem...)).
+ * configure.in: Use CC_FOR_BUILD, not BUILD_CC.
-Thu Jun 23 07:34:07 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Apr 24 16:11:47 1998 John Carr <jfc@mit.edu>
- * decl.c (finish_enum): Compute minimum value like maximum.
- If minimum is negative, install it in the type and make it signed.
+ * expr.c (expand_builtin, case MEMSET): Set MEM_IN_STRUCT_P
+ if the argument is the address of a structure or array.
- * stor-layout.c (layout_record): STRUCTURE_SIZE_BOUNDARY is minimum.
- (layout_type): A RECORD_TYPE or UNION_TYPE must be BLKmode if
- any member is BLKmode. This is to prevent putting it in a register.
- (layout_decl): If decl's type is BLKmode, the decl *must* be BLKmode.
+ * configure.in: Enable Haifa scheduler by default for SPARC.
- * local-alloc.c (find_free_reg): Never allocate the frame pointer reg.
+Fri Apr 24 20:55:47 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * tm-sequent.h (PRINT_OPERAND): Bug in SFmode CONST_DOUBLE.
- * tm-encore.h: Likewise.
+ * cse.c (cse_set_around_loop): Don't do optimization when
+ new pseudos are created.
- * flow.c (flow_analysis): Bug in n_basic_blocks error check.
+Fri Apr 24 11:00:18 1998 Jeffrey A Law (law@cygnus.com)
- * stmt.c (expand_asm_operands): Emit no insn if an arg is erroneous.
+ * 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.
-Tue Jun 21 08:34:24 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Apr 24 16:45:03 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * reload.c (find_reloads_address): Write back *loc even if
- subst_reg_equivs makes no change, in case subst_index_address did.
+ * (gen_shl_and, in case 1): Fix comparison with mask.
- * flow.c: Define macros for -1 and -2 as values of reg_basic_block.
- (mark_used_regs): Add an `else'; no change in behavior.
- (mark_label_ref): Abort if LABEL_REF doesn't contain a CODE_LABEL.
- (find_basic_blocks): Extra error check.
+Fri Apr 24 06:46:40 1998 Nick Clifton <nickc@cygnus.com>
- * output-ns32k.c (print_operand_address): Changes in handling of
- register-indirect, and of indexing by sb register.
+ * config/arm/thumb.h (GO_IF_LEGITIMATE_ADDRESS): Disallow frame
+ pointer as second register in REG+REG pair.
-Mon Jun 20 04:55:38 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Fri Apr 24 09:22:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * cccp.c (collect_definition): Compute needed space more accurately.
- Abort if use more space than was allocated.
- (rescan) [USE_C_ALLOCA]: Do alloca (0) after handle_directive.
+ * c-common.c (check_format_info): Don't check for the 'x' format
+ character twice, instead check for 'x' and 'X'
- * genflags.c (gen_insn): Put parens around defns of HAVE_... macros.
+Fri Apr 24 08:02:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
-Sun Jun 19 02:52:53 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * Makefile.in (libgcc2.ready): Add explicit dependency from
+ $(STMP_FIXPROTO) to ensure all necessary include files have
+ been created and to guarantee proper parallel builds.
- * expr.c (emit_push_insn): Consider PARM_BOUNDARY when compensating
- for size of a pushed arg to bcopy.
+Fri Apr 24 04:42:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Sat Jun 18 07:20:54 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * 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.
- * New files sparc.md, tm-sparc.h, config-sparc.h, output-sparc.c.
+1998-04-23 Jim Wilson <wilson@cygnus.com>
- * final.c (final): After an ADDR_{,DIFF_}VEC, do ASM_OUTPUT_CASE_END.
- * tm-3b1.h: Define ASM_OUTPUT_CASE_END.
- (PRINT_OPERAND_ADDRESS): Ref the case tables via an intermediate symbol
- `LDnnn' whose def. is output by ASM_OUTPUT_CASE_END.
- (ASM_OUTPUT_CASE_LABEL): Add missing newline.
+ * frame.c, libgcc2.c (stdlib.h, unistd.h): Don't include when
+ inhibit_libc is defined.
- * reload.c (find_equiv_reg): Reject a MEM containing an autoincrement.
+ * c-aux-info.c (gen_type): Use DECL_NAME only for TYPE_DECL.
-Fri Jun 17 06:58:37 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Thu Apr 23 19:09:33 1998 Jim Wilson <wilson@cygnus.com>
- * genpeep.c (main): Write `extern' in the decl for `peep_operand'.
+ * 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.
- * flow.c (propagate_block): When a dead insn has a REG_RETVAL note,
- call mark_set_regs anyway, so that `significant' is updated.
+Thu Apr 23 15:01:13 1998 Nick Clifton <nickc@cygnus.com>
- * jump.c (follow_jumps): New arg IGNORE_LOOPS. If 0, don't follow
- the insn at the beginning of a loop that enters the loop; this avoids
- interference with loop optimizer.
- (jump_optimize, tension_vector_labels): Pass that arg.
+ * 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.
- * loop.c (loop_optimize): Mention invalid multiple-entry loops in log.
+Thu Apr 23 20:21:06 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
- * m68k.md (extv, extzv): Fix # of alternatives mismatch in constraints.
+ * sh.c (gen_ashift_hi): Implement right shifts via gen_ashift.
+ * sh.md (ashrhi3_k, lshrhi3_k, lshrhi3_m, lshrhi3, lshrhi3+1): Delete.
-Thu Jun 16 03:06:48 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+Wed Apr 22 17:07:35 1998 Michael Meissner <meissner@cygnus.com>
- * genrecog.c (change_state): Was mishandling printing XVECEXP indices
- greater than 9.
+ * loop.c (note_addr_stored): Correct function to take 2 arguments,
+ instead of 1.
- * combine.c (subst, simplify_and_const_int): Avoid making SUBREG
- of a non-REG.
+ * rtl.def (MATCH_INSN2): Add new matching pattern.
+ * genrecog.c (add_to_sequence): Support MATCH_INSN2.
- * expr.c (expand_expr): For FIX_TRUNC_EXPR to unsigned short/char,
- go via signed int.
+Wed Apr 22 15:52:22 1998 John Carr <jfc@mit.edu>
- * optabs.c (expand_fix): Copy hard_libcall_value reg only once.
+ * 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.
- * reload1.c (order_regs_for_reload): Init all elements
- of potential_reload_regs to -1.
+ * final.c (split_double): Sign extend both halves of a split CONST_INT.
- * Prevent generation of (set (reg) (plus ... (label_ref ...))).
- * explow.c (memory_address_noforce): Like `memory_address' but
- never force it into a register.
- * expr.c (do_tablejump): Use that.
- * m68k.md (casesi): Use that.
+Wed Apr 22 10:42:45 1998 Jeffrey A Law (law@cygnus.com)
- * rtl.h (struct rtx_def, GET_CODE, PUT_CODE): If SHORT_ENUM_BUG,
- define the `code' field as a short.
+ * mips.c (compute_frame_size): Change only argument to a HOST_WIDE_INT.
-Wed Jun 15 01:25:57 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Wed Apr 22 10:53:49 1998 Andrew MacLeod <amacleod@cygnus.com>
- * gcc.c (CPP_SPEC): New spec set by config.h gives flags to cpp.
- * tm-*.h for m68k: Define CPP_SPEC to define __HAVE_FPU__ on
- appropriate conditions.
+ * 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.
- * combine.c (subst): Simplify (not (minus x 1)) and (neg (minus x y)).
+1998-04-21 Jim Wilson <wilson@cygnus.com>
-Mon Jun 13 02:22:43 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * stmt.c (check_seenlabel): When search for line number note for
+ warning, handle case where there is no such note.
- * typecheck.c (build_array_ref): Avoid duplicate errmsg if index
- is an error-mark.
+Tue Apr 21 20:48:37 1998 John Carr <jfc@mit.edu>
-Sun Jun 12 23:04:39 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * genemit.c (gen_exp): Allow machine description to set mode of
+ MATCH_OP_DUP.
- * cccp.c (handle_directive): If -traditional, quotes aren't special.
- (rescan): Assume newline ends a string constant.
+Tue Apr 21 16:36:01 1998 John Carr <jfc@mit.edu>
- * cccp.c, cexp.y: Make all fcns non-static; add some forward decls.
+ * alias.c (mode_alias_check): New function.
+ (true_dependence, anti_dependence, output_dependence): Call
+ mode_alias_check.
- * various: add static forward-decls for various functions.
+Tue Apr 21 12:05:32 1998 Jeffrey A Law (law@cygnus.com)
-Fri Jun 10 00:25:18 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * mips.h (STACK_BOUNDARY): Allow specific targets to override.
+ (MIPS_STACK_ALIGN): Similarly.
- * reload1.c (choose_reload_targets): When writing back an incremented
- value (handling reload_inc), write back to the real place, not to
- OLDEQUIV (a register that holds the same value).
+ * 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.
- * tm-m68k.h (LEGITIMIZE_ADDRESS): Don't give force_operand a target.
- This can cause the use of multiple insns with same output reg,
- which can confuse cse.
+ * 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.
- * loop.c (consec_sets_invariant_p):
- If invariant_p ever returns 2, we return 2.
- New arg is # of consecutive sets to look for,
- since this info is no longer in n_times_set at move_movables.
- (scan_loop): If consec_sets_invariant_p returns 2, set m->cond.
- (move_movables): check consecutive insns if m->consec && m->cond.
+Tue Apr 21 09:43:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tm*.h: ASM_DECLARE_FUNCTION_NAME now takes 3rd arg,
- the FUNCTION_DECL node.
- * varasm.c (assemble_function): Pass this arg.
+ * objc/sendmsg.c: Define gen_rtx_MEM() to 1, as is already done
+ for gen_rtx(MEM, ...).
- * expr.c (expand_call, expand_builtin [alloca]):
- If STACK_POINTER_OFFSET is defined, add it to stack pointer contents
- before using it as address of actual data on the stack.
- * stmt.c (expand_decl): Likewise.
+Tue Apr 21 02:15:36 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (assign_parms): If 1st parm named `__builtin_va_alist'
- came in regs, pretend it came on stack.
- Handle pretending a BLKmode var came on the stack.
- If REG_PARM_STACK_SLOT, count stack space for each parm
- even if the parm came in a register; and use that stack space
- if the parm needs to be addressable or is BLKmode.
- Rearrange to simplify conditionals.
+ * sparc.h (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Rewrite
+ to not be so gross, and to properly function with PIC.
-Thu Jun 9 01:21:29 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 20 20:44:25 1998 Jim Wilson <wilson@cygnus.com>
- * local-alloc.c:
- `qty_...' vectors' elements for hard-reg-numbers now aren't used.
- `reg_qty' elements for hard-reg numbers now aren't used,
- and the element for a pseudo is never a hard-reg number.
- (local_alloc): No need to reset those elements.
- No need to reset elements out of range of prev block's NEXT_QTY.
- (reg_is_born, reg_is_set, wipe_dead_reg):
- Divide labor in same way for hard regs and pseudos;
- simplify using fact that locality-to-basic-block has been precomputed
- and recorded in reg_qty; avoid refs to reg_qty[HARDREG].
- (reg_is_born, wipe_dead_regs): Block-number arg no longer needed.
+ * frame.c (heapsort): Rename to frame_heapsort.
- * local-alloc.c (combine_regs): Remove old code for tying hard regs
- to pseudos; great simplification results.
- Use find_regno_note, not regno_dead_p.
+ * gcc.c (do_spec_1, case '['): Move flag out of loop and initialize it.
-Wed Jun 8 00:18:04 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 20 12:43:09 1998 Doug Evans <devans@canuck.cygnus.com>
- * reload.c (subst_reg_equivs): Set a flag if anything is changed.
- (find_reloads_address): Check that flag to avoid extra work.
- Also check early for safe reg+const address and avoid work.
+ * flow.c (sbitmap_vector_alloc): Ensure sbitmaps properly aligned.
- * reload.c (find_reloads): Use loops instead of bcopy.
- Check early for insn with no real constraints, and return.
- Also check for move from hard reg to hard reg and return.
+Mon Apr 20 15:04:14 1998 John Wehle (john@feith.com)
- * cse.c (canon_reg): Rewrite for speed; use a switch.
- (cse_insn): Don't call find_reg_note if REG_NOTES is 0.
+ * i386.md (movsf_push, movdf_push, movxf_push): Allow memory
+ operands during and after reload.
- * cse.c (cse_insn): Store modified SET_SRC even if there's a REG_EQUIV.
- Inhibition was needed when the SET_SRC was the only place to find the
- equivalent value; now it is in the REG_EQUIV note.
+Mon Apr 20 22:37:50 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * stmt.c (expand_asm_operands): If NINPUTS is 0, make vec of no elts.
- * regclass.c (reg_scan_mark_refs): Don't lose if XVEC (x,i) is 0.
+ * 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.
-Tue Jun 7 03:51:28 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 20 14:48:29 1998 Michael Meissner <meissner@cygnus.com>
- * stmt.c (assign_stack_local): If big-endian and MODE is narrow,
- the bytes actually used are the least significant.
+ * gcc.c (lang_specific_driver): Declare prototype properly so
+ fatal can be passed to it without error.
- * parse.y (skip_white_space): Accept char as arg; let caller read it.
- (yylex): Change call.
- (check_newline): Return 1st nonwhite char after skipping lines.
- (skip_white_space): Change call.
- * toplev.c (compile_file): Change call.
+ * configure.in (AC_CHECK_FUNCS): Check for strchr and strrchr.
+ * configure: Regenerate.
+ * config.in: Add #undef's for strchr and strrchr.
- * gcc.c: Pass -traditional to cc1.
+ * 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): Likewise.
+ (process_aux_info_file): Likewise.
+ (main): Likewise.
- * cse.c (cse_insn): Return very early for (set (reg) (call...)).
- Mainly to save time.
- (cse-insn) Old code to add REG_WAS_0 note wasted time but did nothing.
+ * 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.
- * expr.c (clear_pending_stack_adjust): Really do clear it,
- if current fcn doesn't want to be inline.
+Mon Apr 20 18:19:40 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * cse.c (cse_insn): Speedup: instead of safe_hash, use canon_hash
- or HASHREG.
+ * sh.c (find_barrier): Fix bug in ADDR_DIFF_VEC handling.
+ (split_branches): Call init_insn_lengths.
-Mon Jun 6 21:47:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+Mon Apr 20 07:37:49 1998 Michael Meissner <meissner@cygnus.com>
- * jump.c (rtx_renumbered_equal_p): Reject ADDR_VEC fast.
+ * i386.c: Include expr.h to get the change_address prototype
+ declared.
- * cse.c (cse_insn): Ignore a REG_EQUIV or REG_EQUAL note if the
- equivalent value is the same as the SET_SRC of the insn.
+Mon Apr 20 01:00:05 1998 H.J. Lu (hjl@gnu.org)
- * flow.c (life_analysis): Don't call volatile_refs_p for a CALL_INSN;
- just assume value is 1.
- (propagate_block): Don't call mark_{used,set}_regs for a stack-pop
- since if it isn't dead it has no effect on any useful life data.
- (mark_set_1): Return quickly if setting stack-ptr, and almost as
- quickly if setting any hard reg.
- (mark_used_regs): Likewise for refs.
- Also don't scan the vector of an ADDR_VEC or ADDR_DIFF_VEC.
- (volatile_refs_p): Likewise.
+ * 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.
- * varasm.c (output_constant): Discard NOP_EXPR and CONVERT_EXPR
- in integer case (they were for casting a pointer).
+Sun Apr 19 15:41:24 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * parse.y (compstmt_or_error): Parse a compstmt after ignoring error.
- Use this for fctn body so that an error after store_parm_decls
- won't recover to xdecls and call store_parm_decls again.
- Typical cause was missing semi at end of last parmdecl.
+ * 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.
- * parse.y: Add missing semicolons in actions.
- (yylex): Don't use yylloc.
+Sun Apr 19 02:42:06 1998 Richard Henderson <rth@cygnus.com>
-Sun Jun 5 16:14:40 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * haifa-sched.c (queue_to_ready): Fix typo in prototype.
- * typecheck.c (build_array_ref): Check arg types here, to make
- error message more accurate (not about "addition").
+Sat Apr 18 23:52:35 1998 Jeff Law (law@cygnus.com)
-Thu Jun 2 02:41:40 1988 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+ * version.c: Bump for snapshot.
- * cccp.c (collect_expansion): `#' isn't special if -traditional.
+Sat Apr 18 18:30:22 1998 Jim Wilson <wilson@cygnus.com>
- * dbxout.c (dbxout_parms): Don't output a regparm symbol
- unless the parm got a hard reg assigned.
+ * i386.md (fix_truncsfdi2+[123]): Add + to operand 1 constraints.
- * tm-encore.h (ASM_OUTPUT_DOUBLE): Use 0f... not 0d...
+ * 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.
- * tm-vax.h (CHECK_FLOAT_VALUE): Define this.
+Sat Apr 18 19:06:59 1998 David Edelsohn <edelsohn@mhpcc.edu>
-Wed Jun 1 17:13:00 1988 Richard Stallman (rms at sugar-bombs.ai.mit.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.
- * expr.c (expand_call): Have sequence points between args.
+Sat Apr 18 15:41:16 1998 Jim Wilson <wilson@cygnus.com>
-Tue May 31 00:27:06 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * regmove.c (fixup_match_1): In three places, in flag_exceptions
+ check, change p to q.
- * expmed.c (store_fixed_bit_field): Avoid shifting by 32.
- * cse.c (fold_rtx):
- * symout.c (subrange_p): likewise.
+Sat Apr 18 15:30:49 1998 Jim Wilson <wilson@cygnus.com>
- * local-alloc.c (block_alloc): If operands 1 and 2 commute,
- try tying output to operand 2 if operand 1 won't do.
+ * 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.
- * toplev.c (compile_file): Pass main_input_file to symout_init.
+Sat Apr 18 01:23:11 1998 John Carr <jfc@mit.edu>
- * tree.c (build_real, build_real_from_int_cst):
- Call CHECK_FLOAT_VALUE if it's defined, to report out-of-range values.
+ * 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.
- * tree.c (build_real, build_real_from_int_cst): New 1st arg TYPE.
- * parse.y (yylex): Pass this arg; requires parsing suffixes first.
- * fold-const.c (fold, combine, fold_convert): Pass this arg.
- Handling of float binops in `combine' simplified.
+ * sparc.h: Change gen_rtx (CODE to gen_rtx_CODE (.
- * tm-encore.h (CPP_PREDEFINES): Remove -Dencore since CC lacks it.
+Fri Apr 17 22:38:17 1998 Jeffrey A Law (law@cygnus.com)
- * final.c (output_source_line): Let ASM_OUTPUT_SOURCE_LINE
- be used for SDB also.
+ * 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.
-Mon May 30 00:21:15 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * libgcc2.c (__floatdisf): Fix a couple typos.
- * cse.c (insert): Was inserting in wrong place in list.
- (exp_equiv_p): Was failing to check validity when x == y.
+Fri Apr 17 17:28:26 1998 Jim Wilson <wilson@cygnus.com>
- * tree.c (build_pointer_type): Handle saveable_obstack
- like current_obstack.
+ * Makefile.in (mostlyclean): Delete *.mach and *.bp files.
- * decl.c (finish_decl): Error in test for zero-size array warning.
+Fri Apr 17 16:35:35 1998 Greg McGary <gkm@gnu.org>
- * reload.c (find_equiv_reg): New arg MODE specifies mode in which
- an equivalent value is needed. Equivalence must be good in that mode.
- In addition, notice overlap with multiword register modes.
- Simplify, knowing that registers have already been renumbered.
- It was invalidating memory-goals too easily; setting a reg
- only invalidates memory-goal if its address varies.
- * reload.c, reload1.c, jump.c: Calls pass the new argument.
+ * emit-rtl.c (gen_highpart): Initialize `word' properly for pseudo.
- * cccp.c: For correct ANSI, must reject `$' in identifiers.
- (dollars_in_ident): Variable says whether to allow them.
- (rescan): Handle `$' as randomchar if that's 0.
- (main): dollars_in_ident is set to 0 by -$, to 1 by -traditional.
- (rescan, do_define): Delete former pedantic warnings for `$'.
- (initialize_char_syntax, initialize_builtins): Inits split to two
- functions; former is called after options are scanned
- so `$' is in is_idchar conditionally.
- * gcc.c: For -ansi, pass -$ to cccp.
- * toplev.c, flags.h: Define dollars_in_ident.
- * parse.y (yylex): Treat $ as punctuation unless dollars_in_ident.
- Delete old pedantic warning about $.
- * tm-vms.h: Define DOLLARS_IN_IDENTIFIERS as 1.
+Fri Apr 17 14:30:37 1998 John Carr <jfc@mit.edu>
- * cccp.c (rescan): Preprocessing numbers can have signs, after `e'.
+ * emit-rtl.c (operand_subword_force): If a register can not be
+ accessed by words, copy it to a pseudo register.
- * integrate.c (expand_inline_function): Abort, don't return failure,
- if max_regno is too low. I believe this can't happen.
+Fri Apr 17 14:30:37 1998 Jim Wilson <wilson@cygnus.com>
- * typecheck.c (build_binary_op_nodefault):
- For ordered comparisons, no pedantic warning about void *.
- For MAX, MIN, ditto, and also don't allow pointer vs 0.
+ * rs6000/vxppc.h (CPP_SPEC): Add support for mrelocatable*.
- * typecheck.c (build_unary_op): Don't allow pointer for +.
+Fri Apr 17 17:01:25 1998 Michael Meissner <meissner@cygnus.com>
- * typecheck.c (convert_for_assignment):
- Add missing warning for case of unrelated pointer types.
- Change criteria for new ANSI C draft.
+ * tree.h (mark_seen_cases): Delete declaration.
- * optabs.c (expand_binop): Don't set unused target_is_not_an_operand.
+Fri Apr 17 13:32:20 1998 Jeffrey A Law (law@cygnus.com)
- * fold-const.c (fold_convert): Don't set unused inprec, outprec.
+ * stmt.c (mark_seen_cases): Make static and add prototype.
- * emit-rtl.c, parse.y: Delete unused var.
+Fri Apr 17 11:21:43 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stor-layout.c (add_vc_sizes): Unused function deleted.
- * loop.c (constant_high_bytes): #if 0 this unused function.
+ * 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.
- * gcc.c (fatal): Add missing arg to delete_temp_files.
+ * 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.
- * cccp.c (dump_defn_1): Add missing arg to skip_quoted_string.
+Thu Apr 16 22:41:02 1998 Jeffrey A Law (law@cygnus.com)
- * reload.c (find_reloads): If constraints don't fit in an `asm',
- print error instead of aborting.
+ * varasm.c (asm_output_bss): Add prototype.
+ (asm_output_aligned_bss): Likewise.
- * regclass.c (reg_class_record): Ignore `&' in constraint.
+ * unroll.c (verify_addresses): Add prototype.
-Sun May 29 00:20:23 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * toplev.c: Add many prototypes. Too many to mention here.
- * Makefile: Run ranlib only if /usr/bin/ranlib exists.
- Add comment saying what to do on system V.
+ * stmt.c (check_seenlabel): Add prototype.
- * tree.c (suspend_momentary): Switch to the saveable_obstack
- for the sake of inline functions.
+ * rtlanal.c (reg_set_p_1): Add prototype.
+ (reg_set_last_1): Likewise.
- * flags.h (enum debugger): New enum for write_symbols.
- * toplev.c, varasm.c, final.c: Use the enum constants where appro.
- Add calls to sdbout paralleling the calls to dbxout;
- put each in the appropriate conditional {SDB,DBX}_DEBUGGING_INFO.
+ * reorg.c (find_dead_or_set_registers): Add prototype.
- * toplev.c (main): Delete -noreg option; it's now the default.
- Make -O an alias for -opt. Rename -g to -gg. -g is alias for -G.
- Accept and ignore -Wtrigraphs.
- * gcc.c: Simplify the specs.
+ * regmove (try_auto_increment): Add prototype.
- * toplev.c (compile_file), tm-*.h:
- ASM_FILE_START is now a statement, not just a string to be output.
- Output it *after* determining the real source file name.
+ * reg-stack.c (pop_stack): Add prototype.
- * fold-const.c (fold): Simplify x >= CST to x > CST-1 (CST positive).
- To simplify this, canonicalize relationals to put constat last.
+ * recog.c (validate_replace_rtx_1): Add prototype.
+ (find_constant_term_loc): Likewise.
- * decl.c (duplicate_decls): Make a 2nd errmsg to show previous decl.
+ * 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.
- * cccp.c (file_size_and_mode): Delete temporary VMS bootstrap patch.
+ * jump.c (mark_modified_reg): Add prototype.
- * tm-att386.h: New file.
+ * haifa-sched.c (is_prisky): Add prototype.
+ (queue_to_ready): Likewise.
- * decl.c (pushdecl): Warn if a local `extern' decl precedes
- a file-scope `static' decl.
+ * genextract.c (gen_insn): Add prototype.
- * expr.c (expand_call): No warning for failure to inline.
+ * 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.
- * expmed.c (extract_bit_field): copy operand 1 of extv or extzv
- into register if memory isn't allowed.
+ * genattrtab.c (attr_hash_add_rtx): Add prototype.
+ (attr_hash_add_string, write_length_unit_log): Likewise.
-Sat May 28 02:10:56 1988 Richard Stallman (rms at sugar-bombs.ai.mit.edu)
+ * genattr.c (init_range): Add prototype.
- * gnulib.c, Makefile: Delete va_end.
+ * combine.c (sets_function_arg_p): Add prototype.
- * final.c, symout.c: Check DBX_DEBUGGING_INFO, not NO_DBX_FORMAT.
+ * expr.c (store_constructor_field): Add prototype.
+ (get_memory_usage_from_modifier): Likewise.
- * genemit.c (gen_expand): Notice a CALL inside a PARALLEL.
+ * expmed.c (synth_mult): Add prototype.
+ (choose_multiplier, invert_mod2n): Likewise.
- * regclass.c (init_reg_sets_1): Part of init_reg_set is put in this
- new fn which is called after options are scanned.
- Now CONDITIONAL_REGISTER_USAGE can depend on the options.
- (fix_register): Just alter the data that init_reg_sets_1 will look at.
+ * 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.
- * reload1.c (reload): Don't complain if two different but tieable
- modes require groups of the same regclass (assuming same size group).
+ * dwarfout.c (decl_class_context): Add prototype.
+ (output_inheritance_die, type_ok_for_scope): Likewise.
- * cccp.c: Add 3rd arg to all `open' calls.
+ * c-lex.c (skip_white_space_on_line): Add prototype.
- * parse.y (check_newline): Typo prevented ignoring whitespace.
+ * alias.c (record_set): Add prototype.
+ (find_base_term, base_alias_check): Likewise.
- * cccp.c (perror_with_name): fprintf had harmful extra arg.
+ * function.c (assign_outer_stack_local): Make static and add prototype.
- * cccp.c (main, trigraph_pcp): -Wtrigraphs means warn if any trigraphs.
+ * 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.
- * emit-rtl.c (gen_sequence): If LEN is 1, avoid looking at PATTERN
- of something that doesn't have one.
+ * basic-block.h (compute_dominators): Declare.
- * reload1.c (alter_frame_pointer_addresses): frame pointer can
- occur by itself, not just inside a PLUS.
- (reload): Call eliminate_frame_pointer before reload_as_needed.
- Otherwise the latter can make reload insns that copy the frame ptr
- to a data reg, but 68k can't copy sp+const to a data reg.
+ * flow.c (dump_sbitmap, dump_sbitmap_vector): New debugging
+ functions.
+ * basic-block.h: Declare them.
- * decl.c (implicitly_declare): Always save the implicit decl
- permanently. Reuse an old one if it exists.
- * tree.c (resume_temporary_allocation): Used after `end_temporary...'
- to go back to temporary allocation.
+Thu Apr 16 13:45:51 1998 Jim Wilson <wilson@cygnus.com>
- * stor-layout (layout_{type,decl}): Call variable_size.
- (variable_size): Turn a size into a SAVE_EXPR and either compute
- it right away or put it on a list to be computed later.
- (get_pending_sizes): Return that list and clear it out.
- * stmt.c (expand_start_function): Tell `variable_size' to compute
- sizes right away, and compute those saved on the list.
- (expand_end_function): Tell it to put them on a list.
+ * reg-stack.c (constrain_asm_operands): Set n_alternatives to zero if
+ no operands.
-Fri May 27 00:02:34 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed Apr 15 11:33:09 1998 Alexandre Petit-Bianco <apbianco@sendai.cygnus.com>
- * dbxout.c (dbxout_symbol): For local static var, use 'V', not 'v'.
+ * 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.
- * gcc.c (main): Don't handle SIGHUP or SIGTERM if shell ignored it.
+1998-04-15 Mark Mitchell <mmitchell@usa.net>
- * Makefile, gcc.c: Propagate Make var `libdir' to gcc search path.
+ * c-common.c (declare_hidden_char_array): Use TYPE_DOMAIN to get
+ the length of an array, not TREE_TYPE.
- * expr.c (expand_expr): a PARM_DECL with no rtl can occur in size of
- `a' in `foo (a,i) int i; struct {int x[i];} a;', so report an error.
+Wed Apr 15 15:31:34 1998 Jeffrey A Law (law@cygnus.com)
- * flow.c (insn_dead_p): insn that makes stack bigger is never dead.
- * combine.c (try_combine): Don't splice out stores into stack ptr.
+ * flow.c (sbitmap_union_of_successors): New function.
+ * basic-block.h (sbitmap_union_of_successors): Declare it.
- * reload.c (find_equiv_reg): Test given regno for OVERLAPPING_REGNO_P.
+Wed Apr 15 12:38:03 1998 Jim Wilson <wilson@cygnus.com>
- * varasm.c (assemble_variable): Use saveable_obstack for allocation.
+ * configure.in (gnu_ld): Rename to gnu_ld_flag before main loop.
+ Set gnu_ld to gnu_ld_flag inside main loop.
+ (gas): Likewise.
-Thu May 26 01:17:00 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed Apr 15 14:50:05 1998 Dave Brolley <brolley@cygnus.com>
- * integrate.c (save_for_inline): Clear unused slots in parmdecl_map.
- (There may be some non-parm regs below max_parm_regno.)
- * integrate.c (copy_for_inline): Don't crash if parmdecl_map elt is 0.
+ * toplev.c (compile_file): Call init_parse using new interface.
+ (init_lex): Remove declaration.
- * Don't fail to output a static inline function that was referenced
- via a local extern decl before its definition.
- * expr.c (expand_call): If need to mark a fcn decl addressable,
- mark the identifier addressable also.
- * typecheck.c (mark_addressable): If marking fcn addressable,
- mark the identifier as well.
- * decl.c (start_function): If identifier was marked addressable,
- propagate it to the function.
+ * c-lex.c (init_parse): Now returns char* containing filename.
- * parse.y (yylex): Check for ERANGE after atof is called.
- (Sun doesn't report ERANGE.)
+Wed Apr 15 12:37:10 1998 Jeffrey A Law (law@cygnus.com)
- * loop.c (may_trap_p): Any floating arithmetic may trap.
+ * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Do nothing if not optimizing.
-Wed May 25 00:03:34 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed Apr 15 12:10:18 1998 Michael Meissner <meissner@cygnus.com>
- * parse.y: Delete `noalias'.
- (asm_operand): Don't allow this to be empty.
- (asm_operands): Do allow this to be empty.
+ * Makefile.in (gen{config,flags,codes,emit}): Link in host print-rtl.o.
+ (gen{extract,peep,opinit,output}): Likewise.
- * reload.c (operands_match_p): Don't let REG and SUBREG match
- if the reg isn't a hard reg.
- No longer nec. to check reg_renumber, now that reload
- substitutes the hard regno.
+ * 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): Likewise.
- * reload1.c (reload): Counting existing spilled groups,
- check HARD_REGNO_MODE_OK so we don't get fooled by an odd-even pair.
- Spill entire need for new groups before spilling any solitary regs.
- Reg already counted against max_nongroups can't become part of a group.
- (new_spill_reg): Do bookkeeping associated with a new spill-reg.
- (n_spills): This var is now static, no longer passed as arg
- within the file.
+Tue Apr 14 07:30:57 1998 K. Richard Pixley <rich@kyoto.noir.com>
- (reload_reg_class_lower): Handle all group-reloads before solitaries.
- (choose_reload_targets): therefore #if 0 the special code for
- finding solitary registers that aren't suitable for groups.
- But fix two bugs in it: braino deciding whether a reload
- is looking for 1 register (not a group). Use CLASS_MAX_NREGS.
- Also braino deciding whether a spill reg can be in a group.
- Did not fix bug that it fails to test HARD_REGNO_MODE_OK,
- so it might split up an even-odd pair.
+ * fixincludes: Discard empty C++ comments, as found in sys/time.h
+ on hpux-11.0.
- * vax.md: Special patterns for 8 and 16-bit fields, to make
- move-insns (like the ones for the 68k).
+Wed Apr 15 10:47:21 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * tree.c (convert_to_integer): Pass truncation down thru COND_EXPR
- as through a binary operator.
+ * config/m68k/m68k.md (adddi3, subdi3): Optimize for constant
+ operand.
- * typecheck.c (build_cond_expr): If unpromoted operand types match,
- don't promote them--let containing expression promote (just once).
+Wed Apr 15 01:21:21 1998 Jeffrey A Law (law@cygnus.com)
-Tue May 24 14:46:26 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * emit-rtl.c (operand_subword): Rework slightly to avoid
+ bogus warning from previous change.
- * combine.c (subst): Simplify (subreg (sign_extend X) 0).
+Tue Apr 14 23:39:13 1998 Richard Henderson <rth@cygnus.com>
- * tm-hp9k320.h: Delete NO_DBX_FORMAT.
- * Most tm...h files: Define DBX_DEBUGGING_INFO.
- * dbxout.c: Change conditional to DBX_DEBUGGING_INFO.
+ * alpha.md: Revert Oct 27 change, as it is superceded by Kenner's
+ Nov 8 find_replacement change. Move decls of get_unaligned_address
+ * alpha.h: ... here.
- * integrate.c (expand_inline_function): If inline fcn was declared to
- return QI, but actually computes an SI, use SImode for INLINE_TARGET
- but actually return a QI.
+Tue Apr 14 22:00:39 1998 John Carr <jfc@mit.edu>
- * varasm.c (force_const_mem): Failed to determine alignment bdry
- from machine mode.
+ * function.c (assign_parms): Initialize unsignedp before passing
+ its pointer to promote_mode.
- * jump.c (jump_optimize): Don't delete (move X Y) if X or Y is a
- PRESERVE_DEATH_INFO_REGNO_P register.
+ * genattrtab.c (check_attr_test): Handle MATCH_INSN like MATCH_OPERAND.
+ (write_test_expr): Allow MATCH_INSN.
- * final.c (output_addr_const): In PLUS, output constant term last.
+Tue Apr 14 21:57:57 1998 Paul Eggert <eggert@twinsun.com>
- * final.c (final): Before outputting an insn, do FINAL_PRESCAN_INSN.
+ * install.texi: Update section on warnings that can be safely ignored.
- * final.c (next_block_index): No longer static.
- (final): Add SDB_DEBUGGING_INFO cases for outputing NOTEs
- for beginning and end of a block.
- (output_source_line): Add SDB_DEBUGGING_INFO case for line number.
- * varasm.c (assemble_function): Add code for SDB symbol output.
+Tue Apr 14 14:55:16 1998 Jim Wilson <wilson@cygnus.com>
- * gnulib.c: Allow config to override INTIFY.
- New macro SFVALUE for data type to return a single-float in.
+ * 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.
- * combine.c (remove_death): No longer `static'.
+Tue Apr 14 16:19:03 1998 Michael Meissner <meissner@cygnus.com>
- * reload1. (choose_reload_targets): PRESERVE_DEATH_INFO_REGNO_P
- selects hard regs for which death info should be updated for final.
+ * expr.c (MOVE_RATIO): Set to 3 if optimizing for space.
- * reload1.c (reload_as_needed): Let INSN_CLOBBERS_REGNO_P
- prevent inheritance of certain reloads.
+Tue Apr 14 11:31:28 1998 Krister Walfridsson <cato@df.lth.se>
- * reload.c (find_equiv_reg): Let OVERLAPPING_REGNO_P reject
- an equiv reg. Needed for funny float regs on 80387.
+ * i386/bsd386.h (ASM_OUTPUT_ALIGN): Redefine.
- * cccp.c (do_ident): Define #ident as a no-op if IDENT_DIRECTIVE.
- Warn if pedantic.
- (do_sccs): Warn if pedantic.
+Tue Apr 14 09:02:32 1998 Jeffrey A Law (law@cygnus.com)
- * emit-rtl.c (restore_reg_data): Set cur_insn_uid--prevent duplicates.
+ * svr4.h (ASM_DECLARE_OBJECT_NAME): Use HOST_WIDE_INT_PRINT_DEC.
+ (ASM_FINISH_DECLARE_OBJECT): Likewise.
-Sun May 22 12:25:06 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * Version 1.22 released.
+ * combine.c (simplify_rtx, case TRUNCATE): Respect value of
+ TRULY_NOOP_TRUNCATION.
- * reload1.c (reload): Spilling isn't finished till max_nongroups is 0.
+Mon Apr 13 11:31:49 1998 Jason Merrill <jason@yorick.cygnus.com>
- * tm-encore.h (PRINT_OPERAND): No `$' before a CONST.
+ * tree.h (BINFO_OFFSET_ZEROP): Use integer_zerop.
-Sat May 21 13:08:54 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sun Apr 12 20:55:32 1998 Catherine Moore <clm@cygnus.com>
- * fold-const.c (combine): Typo in MIN_EXPR, MAX_EXPR.
+ * invoke.texi (ld options): Include memset requirements
+ for options -nodstdlib and -nodefaultlibs.
- * reload1.c (reload): Was counting insn_groups as total size of groups,
- not number of groups.
- A new spilled group counts against group-needs of superclasses.
+1998-04-12 Paul Eggert <eggert@twinsun.com>
- * parse.y (parmlist{,_or_identifiers}_1): In error case,
- return a tree list just as in the other cases.
+ This change is from an idea suggested by Arthur David Olson.
-Fri May 20 02:14:51 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * config-vax.h, config-m68k.h: If __GNUC__, use builtin-alloca.
+ * c-tree.h (record_function_format): Remove decl; no longer extern.
- * genpeep.c (match_rtx): Generated code was testing the wrong rtx
- when testing an int or string at a nonzero index in the rtx.
+ * extend.texi: Add documentation for strftime format checking.
- * reload.c (find_reloads): Typo checking `modified' for conflict
- with an earlyclobber.
+Sun Apr 12 20:23:03 1998 Jeffrey A Law (law@cygnus.com)
- * reload.c (find_equiv_reg): Reject stack ptr as return value.
+ * mips/ecoffl.h: Do not include mips.h.
+ * mips/elf.h: Likewise.
- * expr.c (expand_builtin): Alloca must do pending stack adjust.
+ * configure.in (mips-*-ecoff): Do not mention mips/mips.h in tm_files.
+ * mips/ecoff.h: Include "mips/mips.h".
-Thu May 19 13:01:01 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sat Apr 11 22:42:54 1998 Jeff Law (law@cygnus.com)
- * flow.c (propagate_block): Skipping back across libcall didn't happen
- due to failing to set PREV.
+ * version.c: Bump for snapshot.
- * expr.c (emit_library_call): Code to increment and decrement
- current_args_size broke since emit_call_1 was changed to restore it.
+Sat Apr 11 01:24:28 1998 Jeffrey A Law (law@cygnus.com)
- * combine.c (try_combine): When i1 or i2 auto-incs a reg, don't combine
- if i3 uses that reg.
+ * 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.
- * config-hp9k3.h: #define bcopy, bcmp, bzero here.
- * conf-hp9k320.h: Delete file.
+Fri Apr 10 22:28:32 1998 Jeffrey A Law (law@cygnus.com)
- * integrate.c: Don't include strings.h--no need.
+ Reinstall this patch from Jason.
+ * function.c (push_function_context_to): Don't call init_emit.
- * stmt.c (expand_asm_operands): Don't make zero-length vectors.
+Fri Apr 10 13:40:20 1998 Nick Clifton <nickc@cygnus.com>
- * loop.c (scan_loop): After a fcn call, maybe-trap insns can't move.
- The fcn call might exit and that would prevent the trap.
+ * rtl.c (read_skip_spaces): Prevent infinite loops upon
+ encountering unterminated comments.
- * reload1.c (reload): Set reload_first_uid to next uid to be used.
- * reload.c (find_equiv_reg): Use reload_first_uid to ignore insns
- that are due to reloading--only if reload_reg_p is not 0 or 1.
+Fri Apr 10 10:43:41 1998 Jeffrey A Law (law@cygnus.com)
-Wed May 18 22:11:20 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * emit-rtl.c (operand_subword): Properly handle CONST_INTs for
+ 64x32 cross builds.
- * typecheck.c (build_unary_op): Don't complain about array
- as argument to `!'.
+ * 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.
- * decl.c (pushdecl): If locally declaring an extern function,
- check the identifier's global value in case it's an inline function.
+Fri Apr 10 00:36:31 1998 H.J. Lu (hjl@gnu.org)
-Mon May 16 03:06:08 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * i386.md (movqi+1): Handle invalid QI register.
+ (movsf_push-1): Likewise.
- * output-ns32k.c (output_shift_insn): New fn, maybe turn shift to adds.
- (reg_or_mem_operand): Predicate for a non-immediate general_operand.
- * tm-ns32k.h (CONST_OK_FOR_LETTER_P): Define letter K.
- * ns32k.md: Use output_shift_insn for various addr insns that shift.
- Don't allow nonexplicit constants in lprd, multiply or truncate insns.
- Use reg_or_mem_operand for constraint in op1 of divide insns;
- a constant there causes regclass to screw up.
- Split alternative constraints on the bit-field insns to avoid
- out-of-range operands in exts, inss. Some cases of extraction
- can be done faster via memory.
+Thu Apr 9 16:53:59 1998 Nick Clifton <nickc@cygnus.com>
- * flow.c (mark_set_1): When adding a REG_DEAD note, inc reg_n_deaths.
+ * 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.
- * dbxout.c (dbxout_type_def): Do nothing for {integer,char}_type_node.
+Thu Apr 9 01:43:04 1998 Jeffrey A Law (law@cygnus.com)
-Sun May 15 00:56:44 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * calls.c (expand_call): Fix typo.
- * tm-sequent.h, tm-ns32k.h, tm-encore.h (PRINT_OPERAND):
- Was treating SF's as SI's.
+Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com)
- * expr.c (emit_move_insn): Check all CONST_DOUBLEs for
- LEGITIMATE_CONSTANT_P and put them in memory if not.
+ * 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.
- * local-alloc.c (combine_regs): Allow a reg to be tied to a qty
- if the reg's class is contained in the qty's class
- (as well as if the reg's class contains the qty's class as before).
- Rename qty_reg_class to qty_min_class and make it the smallest
- class of any reg tied to the qty.
- (reg_class_subset_p, reg_meets_class_p, update_qty_class):
- New subroutines to implement this.
- (local_alloc): Init reg_qty to -1 for pseudos not in cur. basic block.
- (reg_is_born): Abort if pseudo not in basic block has -2 in reg_qty.
+Wed Apr 8 23:13:50 1998 Gavin Koch <gavin@cygnus.com>
- * jump.c (rtx_renumbered_equal_p): Insist that modes of REGs match.
+ * config/mips/r3900.h (ASM_OUTPUT_DEF,SUPPORTS_WEAK,
+ ASM_WEAKEN_LABEL): Add.
-Sat May 14 01:05:35 1988 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+Wed Apr 8 18:21:30 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (expand_return): Empty frame frame_offset isn't nec. 0.
+ * alpha/crtbegin.asm, alpha/crtend.asm, alpha/t-crtb: New files.
+ * configure.in (alpha-*-linux*): Use them.
- * expr.c (emit_call_1): Use stack_size_rtx everywhere appropriate.
+Fri Apr 3 17:02:13 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
- * decl.c (init_decl_processing): Set sizetype to `unsigned long'
- if `int' is less than a word.
+ * 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.
- * stddef.h (size_t, ptrdiff_t): Both are now long.
+Wed Apr 8 12:51:19 1998 Jeffrey A Law (law@cygnus.com)
-Fri May 13 01:06:00 1988 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+ * configure.in (v850): Use t-v850.
+ (ix86-wrs-vxworks): Recognize 786 just like other x86 configurations.
- * emit-rtl.c (gen_lowpart): Handle non-lowpart subreg as arg.
+ * protoize.c (creat, read, write): Do not declare.
- * recog.c (register_operand): VOIDmode means allow any mode.
- (immediate_operand, nonmemory_operand): Likewise.
+ * jump.c (mark_jump_label): Record REG_LABEL notes for insns which
+ refer to the CODE_LABEL before a dispatch table.
- * emit-rtl.c (classify_insn): Update for changed CALL_INSN format.
- (emit): New function to emit an rtl pattern as the right kind of insn.
- * jump.c (simplejump_p): No longer static.
+ * invoke.texi: Add ARC options.
- * genemit.c (gen_expand): For match_operand at top level, call `emit'.
- Use `emit_call_insn' when appropriate.
- (gen_exp): Handle rtx's that contain strings.
+ * gcc.c (proces_command): Improve error message for -o with
+ either -c or -S.
- * final.c, symout.c: If not NO_DBX_FORMAT, include stab.h to get the
- N_... symbols. Use their default definitions only if they're undef.
+ * i386/x-cygwin32 (CLIB): Link in advapi32.
- * expr.c (expand_call) [no PUSH_ROUNDING]: Always set argblock
- if there are any stack-passed arguments.
+ * alpha.h (ASM_IDENTIFY_GCC): Define to nothing.
+ (ASM_IDENTIFY_LANGUAGE): Likewise.
- * typecheck.c (build_unary_op): Mark all increment-exprs volatile.
+ * i386.md (movqi recognizer): Don't perfom byte increment into
+ a NON_QI_REG_P.
- * recog.c (reg_renumbered_fits_class_p): Delete private copy of
- reg_class_contents.
+ * configure.in (x86-dg-dgux): Run fixinc.dgux.
- * reload1.c (forget_old_reloads): Handle PARALLEL case by recursion.
- Explicit store into a spilled reg invalidates old reloaded contents;
- this can occur when we drop through into a basic block whose need was 0
- (and so whose local pseudos were not spilled).
+ * i370.h: Fix typo in GEN_INT changes.
- * gcc.c (main): If -v, print gcc's own version; also no error msg
- if no input files.
+ * bitmap.c (bitmap_element_allocate): Use "void" for arglist instead
+ of an empty arglist in prototype.
- * loop.c (may_trap_p): Mem ref to nonconstant address may trap.
- (scan_loop): Check may_trap_p only when insn is in other respects ok.
+ * Makefile.in: Remove bytecode crud that crept back in after the
+ gcc2 merge.
- * cexp.y: #include config.h (for decl of alloca on some machines).
+1998-04-08 Brendan Kehoe <brendan@cygnus.com>
-Thu May 12 17:24:19 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * c-lex.h (is_class_name): Fix arg type to be tree, not void.
+ (make_pointer_declarator, reinit_parse_for_function): Fix typo.
- * regclass.c (regclass): When inserting an insn at start of block,
- update basic_block_head.
+Wed Apr 8 06:16:45 1998 Richard Earnshaw (rearnsha@arm.com)
-Wed May 11 00:47:09 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+ * arm.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
- * stmt.c (assign_parms): DECL_OFFSET should be offset as passed
- (not including big-endian width-change correction).
+Wed Apr 8 00:44:18 1998 Bernd Schmidt (crux@pool.informatik.rwth-aachen.de>
- * typecheck.c (shorten_compare): Set unsignedp[01] right in case
- where get_narrower makes no change.
- (build_binary_op_nodefault): Likewise for shortening shifts.
+ * 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.
- * stmt.c (expand_end_case): Use type_for_size to get the type
- to convert the index to, since `int' is wrong if -mshort.
+Tue Apr 7 21:48:52 1998 Jeffrey A Law (law@cygnus.com)
- * decl.c (grokdeclarator): Don't check PARM type for completeness.
- (grokparms): If fn definition, check all parm types for completeness.
- (store_parm_decls): Likewise.
+ * pa.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
-Tue May 10 22:42:13 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+1998-04-07 Ken Raeburn <raeburn@cygnus.com>
- * typecheck.c (store_init): For invalid init, store error_mark_node.
- * varasm.c (assemble_variable): Ignore error_mark as an init.
- * stmt.c (expand_decl): If init is error_mark, init to 0 if possible.
- This avoids a spurious "uninitialized variable" warning.
+ * config/mips/mips.c (siginfo): Deleted.
+ (override_options): Don't install SIGINFO signal handler.
-Sun May 8 17:08:07 1988 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+Tue Apr 7 11:58:04 1998 Jim Wilson <wilson@cygnus.com>
- * tm-hp9k320.h: Define STRUCTURE_SIZE_BOUNDARY.
+ * loop.c (check_dbra_loop): When normalize comparison_val, add check
+ to verify it is non-negative.
- * decl.c (get_parm_info): Replaces get_parm_types. Returns a tree_list
- containing parmdecls and tag list as well as type list.
- (grokparms): Accept that tree_list as argument.
- (grokdeclarator): Calling grokparms, say "not a definition" for the
- function declarators for arg or value types within a definition.
+Tue Apr 7 02:01:47 1998 Richard Henderson <rth@cygnus.com>
- * parse.y: Call get_parm_info.
- (parmlist_or_identifiers): If identifiers, make a tree_list
- like the one get_parm_info returns.
+ * alpha.c (alpha_expand_block_move): Correctly collect block offsets.
+ (alpha_expand_block_clear): Likewise.
-Fri May 6 16:44:19 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Mon Apr 6 23:36:01 1998 Richard Henderson <rth@cygnus.com>
- * m68k.md (casesi): Delete template aside from match_operand's.
+ * tree.h (sizetype_tab): Fix previous change for K&R.
- * tm-encore.h: New file from Robert Brown.
+Mon Apr 6 22:23:29 1998 Jeff Law (law@cygnus.com)
- * ns32k.md: Use %c in some addr insns.
- (tst*): Use {d,f,}const0_rtx to make the constant 0; OS-independent.
- (call, call_value): Use %? before address in a bsr.
+ * version.c: Bump for snapshot.
- * output-ns32k.c (print_operand_address): To output a local label,
- use `output_asm_label'.
- Make SEQUENT_ADDRESS_BUG conditionals happen at compile time.
+Mon Apr 6 23:16:10 1998 Richard Earnshaw (rearnsha@arm.com)
- * tm-ns32k.h: Delete SEQUENT_HAS_FIXED_THEIR_BUG.
- (PRINT_OPERAND): Output nothing for `%?'.
- * tm-sequent.h: (PRINT_OPERAND): Output nothing for `%?'.
+ * configure.in (sparc-*-solaris2*): Add xm-siglist.h to xm_file.
+ Add USG and POSIX to xm_defines.
- * final.c (output_asm_label): No longer `static'.
+Mon Apr 6 21:49:57 1998 Bob Manson <manson@charmed.cygnus.com>
-Thu May 5 09:03:37 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * explow.c (memory_address): Ignore flag_force_reg unless optimize.
- Also ignore it for addresses of stack slots (avoid invalid REG_EQUIVs).
+ * Makefile.in (USE_COLLECT2): It's named collect2 now, not ld.
+ (ld): Deleted.
+ (install-collect2): Install as collect2, not ld.
- * typecheck.c (digest_init): If traditional, allow `char x[100]=0;'.
+ * configure.in(will_use_collect2): It's named collect2 now.
- * tree.c (get_unwidened): Don't alter a COMPONENT_REF if
- innerprec equals the precision of the existing type.
- It was changing pointers to integers.
+ * collect2: Remove checks to see if we were invoked recursively.
+ (collect_execute): Use _spawnvp under cygwin32.
- * m68k.md (movdi): Put all fpregs in separate constraint alternatives
- and handicap them so spill reg won't be an fp reg.
+Mon Apr 6 17:23:41 1998 Jim Wilson <wilson@cygnus.com>
- * parse.y (yyerror): Use the arg as part of the error message.
+ * haifa-sched.c (build_control_flow): Set unreachable for block whose
+ only predecessor is itself.
- * decl.c (start_function): Give the RESULT_DECL type int rather
- than char or short.
- * typecheck.c (c_expand_return): Convert value from fn's return type
- to the RESULT_DECL's type.
+Mon Apr 6 16:08:04 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * Avoid generating dbx xrefs to enums, since dbx loses on them.
- Do this by outputting all types in order of definition.
- This is done only for top-level types; problem remains for local ones.
+ * 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.
- * decl.c (finish_decl): Do rest_of_decl_compilation for TYPE_DECLs.
- * toplev.c (rest_of_decl_compilation): Do dbxout_symbol for them.
+ * Makefile.in (c-parse.o, cccp.o, cexp.o, protoize.o, unprotoize.o):
+ Depend on system.h.
- * dbxout.c (dbxout_symbol): Check DECL_RTL only for fns and variables.
- For a TYPE_DECL, ignore it if the type was already output
- and its preferred name is the TYPE_DECL. Else output type in full.
+ * objc/Make-lang.in (objc-parse.o): Likewise.
- * decl.c (pushdecl): Don't prefer typedef names to type tag names.
+Mon Apr 6 14:59:58 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stor-layout.c (chain_type): Build chain in forward order.
+ * 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__.
- * tm-3b1.h (ASM_OUTPUT_CASE_LABEL): Error getting length of table.
+Mon Apr 6 07:17:52 1998 Catherine Moore <clm@cygnus.com>
- * tm-3b1.h: #define SGS_3B1 was missing.
+ * combine.c (can_combine_p): Include successor in volatile test.
- * typecheck.c (build_compound_expr): Ignore non-volatile subexprs.
+Mon Apr 6 14:16:33 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * fold-const.c (fold): Simplify (unsigned) foo >= 0, etc.
+ * sh.h (CASE_VECTOR_SHORTEN_MODE): Fix logic when to set
+ offset_unsigned.
- * stor-layout.c (layout_type): Set TYPE_PRECISION of ptr types.
+Mon Apr 6 02:03:29 1998 Jeffrey A Law (law@cygnus.com)
-Wed May 4 08:06:25 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * objc/objc-act.c (encode_aggregate_within): Avoid GNU extensions
+ in prototype and definition.
- * parse.y: Don't use the Bison @ construct, since it makes parser slow.
+Mon Apr 6 00:48:56 1998 Jeff Law (law@cygnus.com)
- * decl.c (finish_function): Delete FILENAME and LINE args.
+ * version.c: Bump for snapshot.
- * typecheck.c (digest_init): No pedantic warning for array="string".
+Mon Apr 6 00:08:50 1998 Richard Henderson <rth@cygnus.com>
-Tue May 3 09:09:30 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * alpha.c (alpha_expand_block_clear): Add missing offset arg to
+ alpha_expand_unaligned_store_words.
- * toplev.c (main): Ignore `-Wcomment'.
- * gcc.c: Pass -Wall to cpp (which treats it like -Wcomment).
+Sun Apr 5 21:31:24 1998 John Wehle (john@feith.com)
- * tm-isi68.h: Greatly simplified; now works only with GAS.
+ * 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.
- * tm-m68k.h (EMPTY_FIELD_BOUNDARY): now 16 (right on Sun, ISI and HP).
- * tm-sun3.h: No need to redefine it.
+Sun Apr 5 18:45:51 1998 Jeff Law (law@cygnus.com)
- * decl.c (finish_struct): Don't ever make DECL_ALIGN smaller.
+ * version.c: Bump for snapshot.
- * decl.c: Rename min, max to MIN, MAX.
+Sun Apr 5 16:31:10 1998 Richard Henderson <rth@cygnus.com>
- * typecheck.c (convert_for_assignment): Avoid warning if assigning
- a `void *' from a `const void *'.
+ * configure.in (alpha-dec-osf*): Match osf1.3 correctly.
- * combine.c (FAKE_EXTEND_SAFE_P): Turn off for mem refs; avoid faults.
+Sun Apr 5 16:53:37 1998 Don Bowman <don@pixsci.com>
-Mon May 2 07:28:27 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * configure.in (mips-wrs-vxworks): New target.
- * tm-vax.h: Support -mg switch to use g-float instead of d-float.
- New macros TARGET_G_SWITCH, ASM_DOUBLE_CHAR.
- Changes in TARGET_SWITCHES, ASM_OUTPUT_DOUBLE.
- Define code `#' for PRINT_OPERAND.
- * vax.md: use `#' in opcodes for doubleword float.
+Sat Apr 4 23:34:32 1998 Jeff Law (law@cygnus.com)
- * tm-vax.h: Define UDIVSI3_LIBCALL and UMODSI3_LIBCALL.
+ * expmed.c (synth_mult): The value -1, has no zeros, so it can
+ never have the form ...011.
- * cccp.c (main, do_include): Implement -I- switch.
+ * version.c: Bump for snapshot.
- * jump.c (jump_optimize): When hunting NOTE_INSN_FUNCTION_END,
- skip final RETURN (found on the vax).
+Sat Apr 4 20:16:46 1998 Richard Henderson <rth@cygnus.com>
- * toplev.c (main): -Wall is equiv to all -W switches combined.
+ * i386.c (asm_output_function_prefix, load_pic_register):
+ Use ASM_GENERATE_INTERNAL_LABEL properly.
+ (output_pic_addr_const): Recognize %X to suppress 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.
- * stmt.c (expand_decl, expand_end_bindings,
- expand_{start,end}_function). The -noreg treatment of `register' vars
- is extended to vars used as addresses of vars in memory (varying-size
- structures).
- (use_variable): Emit USE for regs used in specified rtx.
+Sat Apr 4 19:08:37 1998 Richard Henderson <rth@cygnus.com>
- * cse.c (fold_cc0): Stack-frame addresses are always nonzero.
- (fold_rtx): 0200 bit in prev_insn_cc0 means only zeroness is known.
+ * 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.
- * parse.y (parmlist): poplevel needs 3 args.
+Sat Apr 4 18:07:16 1998 David Mosberger-Tang (davidm@mostang.com)
-Sun May 1 07:20:34 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * decl.c (start_function): typo checking for incomplete return type.
+Sat Apr 4 17:42:05 1998 Richard Henderson <rth@cygnus.com>
- * emit-rtl.c (restore_reg_data): If a pseudo appears nowhere,
- don't leave its slot empty; create a pseudo for that slot.
+ * 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.
- * Version 1.21 released.
+Sat Apr 4 17:04:41 1998 Richard Henderson <rth@cygnus.com>
- * expr.c (expand_call): Merge duplicate code for structure_value_addr.
+ * configure.in (alpha-*-linux-*): Undo tm_file changes from gcc2 merge.
- * emit-rtl.c (restore_reg_data): Delete error check; it's legit for
- a pseudo reg to appear nowhere in the rtl.
+Sat Apr 4 13:50:01 1998 Richard Henderson <rth@cygnus.com>
-Sat Apr 30 07:35:31 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * haifa-sched.c (split_block_insns): Don't suppress insn splitting
+ on subsequent passes.
- * integrate.c (copy_rtx_and_substitute): Fix typo for arg_pointer_rtx.
+ * 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.
- * decl.c (poplevel): Undo previous change with #if 0.
+Sat Apr 4 13:32:08 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c: `struct nesting' now records the depth on the stack.
- Each expand_start... must update and record the depth;
- each expand_end... uses macro POPSTACK to pop.
- This way, if a level isn't explicitly popped, it won't cause
- circular structure.
+ * configure.in (alpha-*-linux-gnu*): Undo Feb 3 change brought in
+ from gcc2 merge.
- * dbxout.c (dbxout_type): Replace with main variant only if incomplete.
+Sat Apr 4 10:23:41 1998 Jeffrey A Law (law@cygnus.com)
- * typecheck.c (build_unary_op): Test of `pedantic' was backwards.
+ * Check in merge from gcc2. See ChangeLog.11 and ChangeLog.12
+ for details.
- * expr.c (STACK_BYTES): Typo in definition.
+ * haifa-sched.c: Mirror recent changes from gcc2.
- * typecheck.c (build_binary_op_nodefault): Rename code1 to code0,
- and likewise for code2, tt1, tt2.
+Fri Apr 3 00:17:01 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (expand_call): Wrong arg order for warning_with_decl.
+ * Makefile.in (insn*.o): Depend on system.h.
-Fri Apr 29 08:41:06 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * pa.c (output_global_address): Initialize base.
+ * pa.h (GO_IF_LEGITIMATE_ADDRESS): Initialize index.
- * integrate.c (copy_decl_tree): New arg is depth in recursion.
- Always discard the outermost LET_STMT being copied; never discard any
- others. This way the copied LET_STMTs correspond to the copied NOTEs.
+1998-04-03 Mike Stump <mrs@wrs.com>
- * varasm.c (decode_rtx_const): For SYMBOL_REF, use string address
- not address of the rtx. Library fns have only one copy of the name
- but many copies of the SYMBOL_REF.
+ * 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.
- * expr.c (emit_call_1): New arg OLD_ARGS_SIZE is used to reset
- current_args_size.
- (emit_library_call, expand_call): Pass new arg; don't restore it here.
+Thu Apr 2 18:00:52 1998 Jim Wilson <wilson@cygnus.com>
- * flow.c (life_analysis): Don't mark sp live at end if fn is empty.
+ * i386.md (movqi+1): Change alternative 1 from *r/r to *r/*rn.
- * parse.y (parse_or_identifiers_1): Handle `error' in here, not in
- callers notype_declarator etc. Also read the closeparen here.
+1998-04-02 Vladimir N. Makarov <vmakarov@cygnus.com>
-Thu Apr 28 12:43:52 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * ginclude/va-i960.h (va_end): Change void * to void.
- * expmed.c (expand_shift): In extzv strategy, handle the operand
- predicates for operands 0, 1 and 3. (Not needed for 2.)
- * vax.md: extzv pattern for SImode op1 must recognize general_operand
- since the pattern named "extzv" allows them.
+Thu Apr 2 13:51:10 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Wed Apr 27 00:52:44 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * Makefile.in (choose-temp.o): Depend on system.h.
- * expr.c (emit_call_1): New arg NEXT_ARG_REG describes # regs
- used for passing args.
- (emit_library_call, expand_call): Provide that argument.
+ * choose-temp.c: Include system.h when IN_GCC.
- * explow.c (round_push): New fn: round arg up to STACK_BOUNDARY.
- * expr.c (expand_builtin): Use round_push on size for __builtin_alloca.
- * stmt.c (expand_decl): Likewise for variable-size objects.
- * expr.c (expand_call): Likewise for args_size.var.
- Also use STACK_BOUNDARY to round a constant arg-block size.
- Pass emit_call_1 that rounded value.
- (emit_library_call): Round arg_size with STACK_BOUNDARY.
- * tm-spur.h: Define STACK_BOUNDARY instead of ROUND_CALL_BLOCK_SIZE.
- * tm-m68k.h: Define STACK_BOUNDARY as 16.
+Thu Apr 2 02:37:07 1998 Joern Rennecke (amylaar@cygnus.co.uk)
+ Richard Henderson <rth@cygnus.com>
- * expr.c (emit_call_1): Don't change current_args_size.
- (emit_library_call, expand_call): Always restore current_args_size
- to ambient value, after calling emit_call_1.
+ * reload.c (find_reloads_address): Try LEGITIMIZE_RELOAD_ADDRESS.
+ (move_replacements): New function.
+ * reload.h: Prototype it.
- * tm-hp9k320.h: Don't define USG here.
- * config-hp9k3.h: New file. USG defined here.
+ * alpha.h (LEGITIMIZE_RELOAD_ADDRESS): New definition.
- * tm-3b1.h: #undef ASM_OUTPUT_ASCII (a defn came from tm-hp9k320.h).
+Thu Apr 2 01:01:34 1998 Richard Henderson <rth@cygnus.com>
- * decl.c (grokdeclarator primarily): Cast all RID_... to (int) before
- using them in arithmetic. Placates CC on Sequent.
+ * configure (alpha-*-linuxecoff, alpha-*-linux-gnulibc1):
+ Run fixincludes.
- * emit-rtl.c (emit_jump_insn): Return proper value, for a SEQUENCE.
- * emit-rtl.c (emit_call_insn): Handle SEQUENCE like emit_jump_insn.
+ * 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.
-Tue Apr 26 02:41:26 1988 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+Wed Apr 1 22:26:22 1998 Jeffrey A Law (law@cygnus.com)
- * cccp.c (macroexpand): If traditional, don't disable called macro.
- (macarg1): Was failing to count backslash-newline inside a string
- in a macro arg as part of file's linenumber.
+ * fold-const.c optimze_bit_field_compare): Initialize rnbitpos,
+ rnbitsize, rnmode and rinner.
+ (make_range): Initialize type.
+ (fold): Initialize arg0, arg1 and varop.
-Mon Apr 25 18:46:53 1988 Richard Stallman (rms at lucky-charms.ai.mit.edu)
+ * function.c (instantiate_virtual_regs_1): Initialize offset, regnoi
+ and regnor.
+ (expand_function_start): Initialize last_ptr.
- * jump.c (jump_optimize): Don't do April 20 optimization on first
- iteration; let other simpler opts be done before this is considered.
+ * stor-layout.c (layout_record): Initialize desired_align.
+ (get_best_mode): Initialize unit.
-Sun Apr 24 02:45:28 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * tree.c (copy_node): Initialize length.
- * tree.c (staticp): a CONSTRUCTOR can be static.
+ * c-lex.c (yylex): Initialize traditional_type, ansi_type and type.
- * varasm.c (output_constant_def): Always return memref, not address.
+ * caller-save.c (insert_save_restore): Initialize pat, code and
+ numregs.
- * decl.c (complete_array_type): New fn, make an array type complete
- based on an initializer.
- (finish_decl): Use complete_array_type.
- * parse.y (expr_no_commas): When parsing a constructor,
- Use complete_array_type on constructors for incomplete array types.
+ * emit-rtl.c (push_to_sequence): Initialize top.
+ (push_topmost_sequence): Likewise.
- * typecheck.c (digest_init, store_init_value,process_init_constructor):
- It's now TREE_STATIC, not TREE_ADDRESSABLE, that records that all elts
- in a CONSTRUCTOR are simple constants.
- (digest_init): A CONSTRUCTOR with non-null type is treated as ordinary
- expression, not as a braced initializer.
- Allow init of an array from an array-valued expr; warn if pedantic.
- * expr.c (expand_expr, CONSTRUCTOR case): Put in memory only if static.
- Was making an extraneous level of MEM; output_constant_def does it all.
+ * genattrtab.c (simplify_by_exploding): Initialize defval.
- * typecheck.c (build_unary_op): Allow ADDR_EXPR of static CONSTRUCTOR.
- (default_conversion): Likewise.
- (initializer_constant_valid_p): Constructor is ok if static.
+ * profile.c (branch_prob): Initialize dest.
- * gcc.c: Change -fnostd... to -nostd...
- * cccp.c (main): Likewise.
+ * rtl.h (note_stores): Remove duplicate prototype.
+ (GEN_INT): Reinstate cast of second arg to HOST_WIDE_INT.
- * Everywhere: Use REG_NOTE_KIND to get the kind of a reg note.
+ * cplus-dem.c (gnu_special): Don't get confused by .<digits>
+ strings that are not actually lengths.
- * rtl.c (find_regno_note): New function.
- * flow.c (flow_deadp): Deleted; caller uses find_regno_note.
- * global-alloc.c (reg_dead_p): Deleted.
- (global_conflicts): Use find_regno_note instead of reg_dead_p.
+ * 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.
- * final.c (final) Use find_reg_note to look for a REG_INC.
- * combine.c (insn_has_inc_p): deleted; callers use find_reg_note.
- (try_combine): Use find_reg_note whenever looking for a REG_INC.
- (regno_dead_p, remove_death): Check the REG_NOTE_KIND before assuming
- that the datum in it is a REG.
- * reload1.c (reload): Use find_reg_note to find a REG_EQUIV.
+ * genoutput.c (process_template): Mark operands in the generated
+ function as potentially unused if compiling with GNU CC.
- * gcc.c: Don't delete .o files if not all compilations succeed.
- (record_temp_file): New arg SUCCESS_ONLY--delete file only if succeed.
- (delete_temp_files): New arg SUCCESS says compilation succeeded.
- (store_arg): Now 3 possibilities for arg TEMPNAMEP; 2 = del on success.
- (do_spec_1): For %d, set delete_this_arg to 2.
+ * i386/freebsd-elf.h (CPP_PREDEFINES): Update from FreeBSD folks.
- * decl.c (poplevel): Warn about any still-incomplete type-tags.
+ * pa.md (reload peepholes): Remove unused variable "mode".
-Sat Apr 23 02:54:16 1988 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+Wed Apr 1 17:06:19 1998 Nick Clifton <nickc@cygnus.com>
- * expr.c (expand_builtin): For alloca, round arg up to multiple
- of PARM_BOUNDARY. Also to convert it to Pmode unless it already is.
+ * 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.
- * stor-layout.c (layout_union): Bug in 14 April change:
- use caller-specified alignment as minimum, not as maximum.
+Wed Apr 1 14:38:10 1998 Jim Wilson <wilson@cygnus.com>
- * parse.y (skip_white_space): Avoid infinite loop on unterm. comment.
+ * config/mips/iris6.h (MD_EXEC_PREFIX): Set to /usr/bin/.
+ (MD_STARTFILE_PREFIX): Unset.
-Fri Apr 22 00:22:59 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+1998-04-01 Mark Mitchell <mmitchell@usa.net>
- * cccp.c: Text following #else or #endif is just a warning.
- (rescan): Digit-case was dropping into the $-case; reorder.
+ * varasm.c (make_decl_rtl): Update the DECL_ASSEMBLER_NAME for a
+ entity in a local scope.
- * cccp.c (rescan): Comment start when -traditional was output as
- `/*'; should be nothing.
+ * fold-const.c (fold): Call truthvalue_conversion for values which
+ are folded to boolean type.
- * jump.c (jump_optimize): Fix prev change:
- do nothing if range1end == range2end;
- don't lose any NOTEs when splicing.
+Wed Apr 1 06:09:53 1998 Jeffrey A Law (law@cygnus.com)
- * flow.c (propagate-block): For CALL_INSN, clobber the call-used regs
- only after mark_set_regs is done; avoids confusion about lifespan
- of function value reg.
+ * 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.
- * gcc.c: Pass -Wcomment to cpp.
+Wed Apr 1 08:33:44 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * cccp.c (main, rescan): If -Wcomment, warn if `/*' inside comment.
+ * fixincludes (limits.h): Fix nested comments in Motorola's
+ limits.h and sys/limits.h.
- * decl.c (duplicate_decls): Ignore `inline' decl following definition.
+Tue Mar 31 16:57:33 1998 Jim Wilson <wilson@cygnus.com>
- * m68k.md (casesi): Split it up into subroutines, so insns emitted
- by the call to memory_address (on 68000) come in the right place.
+ * alpha.c (alpha_expand_unaligned_load): Use tgt instead of addr
+ as dest of expand_binop call.
- * combine.c (record_dead_and_set_regs): Notice storing in a SUBREG.
+ * alpha.md (extzv): Correct check for valid operand[2] values.
- * integrate.c (expand_inline_function): Insn to copy a subroutine's
- return-value was being output twice, once incorrectly.
+ * profile.c (branch_prob): Add code to recognize HPPA tablejump entry
+ branch.
- * reload.c (find_equiv_reg): A stack-push insn does not invalidate
- an equiv for a goal in memory.
- Any other write to memory does invalidate any goal in memory
- (PARALLEL case failed to check for this).
+ * toplev.c (rest_of__compilation): Call init_recog_no_volatile at end.
- * expmed.c (expand_shift): In the extzv clause, force shifted value
- out of memory if -fforce-mem.
+Mon Mar 30 13:11:05 1998 Stan Cox <scox@cygnus.com>
- * print-tree.c (prtypeinfo): Some attributes were missing.
- (dump): In ..._TYPE nodes, ignore the TREE_CHAIN field.
+ * libgcc2.c (__main, __do_global_dtors, __do_global_ctors):
+ For __CYGWIN32__ use the versions in winsup/dcrt0.cc.
- * cse.c (note_mem_written): Pushing on stack does not invalidate mem.
+ * gcc.c, cccp.c, cpplib.c, collect2.c (GET_ENVIRONMENT): Added.
+ cygwin32 can override this to allow both unix and win32 style PATHs.
- * vax.md (extv/andl peephole opt): Made incorrect code if output was
- pushed on stack. Added special case code.
- (extv, extzv for SImode operand): Require register_operand.
+ * i386/xm-cygwin32.h (GET_ENVIRONMENT): Defined to allow win32
+ style environment paths.
-Thu Apr 21 00:24:52 1988 Richard Stallman (rms at corn-chex.ai.mit.edu)
+Mon Mar 30 14:43:20 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * stmt.c (assign_parms): Round current_function_pretend_args_size up.
+ * 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.
- * integrate.c: `pushlevel' arg was missing.
+ * 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.
- * dbxout.c (dbxout_type): Undo rest of March 29 change:
- When a named type is first seen inside another type, output an xref
- and let the real definition come out later.
- It is strange that Sun dbx has sometimes appeared to demand
- one strategy and sometimes appeared to demand the other.
+Mon Mar 30 11:06:45 1998 Jim Wilson <wilson@cygnus.com>
- * typecheck.c (convert_for_assignment): Allow conversion to or from
- `const void *', etc., unless pedantic.
+ * README.gnat: Add lang_print_xnode definition.
- * decl.c (get_parm_types): For `foo (void){}', set last_function_parms
- to nil so store_parm_decls won't lose.
+Mon Mar 30 11:12:24 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * combine.c (subst): (plus (plus X N) -N) => X.
+ * config/m68k/m68k.c (standard_68881_constant_p): Don't use
+ fmovecr on the 68060.
- * explow.c ({anti_,}adjust_stack): Don't make a copy of
- `stack_pointer_rtx'.
+Mon Mar 30 00:21:03 1998 Jeffrey A Law (law@cygnus.com)
- * integrate.c (expand_inline_function): Typo testing for the
- USE that indicates a CALL_INSN's value is being returned.
+ * genemit.c (DONE): Rework so that it works in the true arm if
+ an if-else conditional.
+ (FAIL): Likewise.
- * expr.c (expand_builtin, alloca case): Copy arg to reg before
- adjusting stack, to avoid invalid insns on some machines.
+Sun Mar 29 12:45:23 1998 Jeffrey A Law (law@cygnus.com)
-Wed Apr 20 00:15:14 1988 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+ * rs6000.c: Do not include stdioh or ctype.h anymore.
- * typecheck.c (build_binary_op_nodefault): When shortening,
- get_narrower may make no change because ARGn is already narrow.
- In this case, set UNSIGNEPn from ARGn's type.
+ * 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.
- * typecheck.c: Rename ARG1,ARG2 to ARG0,ARG1, etc. in several fns.
+ * 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 parameter.
+ All callers changed.
- * tm-vax.h: Turn off continuation on DBX output.
+ * collect2.c (is_in_list): Wrap inside COLLECT_EXPORT_LIST ifdef.
- * typecheck.c (build_function_call): Don't change __builtin_ffs to an
- FFS_EXPR. Note that __builtin_alloca has always made a CALL_EXPR.
- * expr.c (expand_builtin): New function expands all CALL_EXPRs that
- are really built-in functions.
- (preexpand_calls): Do nothing to a CALL_EXPR for a built-in function.
+ * local-alloc.c (reg_classes_overlap_p): Delete dead function.
- * loop.c (count_loop_regs_set): Don't move a reg that is in a CLOBBER.
+ * tree.h (lang_print_xnode): Provide prototype.
- * stupid.c (stupid_mark_refs): Was getting hard reg's mode from
- the wrong place.
+Sat Mar 28 23:50:44 1998 Jeff Law (law@cygnus.com)
- * rtl.c (note_stores): Typo in checking vector elt for SET vs CLOBBER.
+ * version.c: Bump for snapshot.
- * stmt.c (expand_end_bindings): If restoring stack level,
- first do pending stack adjust (so it won't be done erroneously after).
- (expand_goto): likewise.
+Sun Mar 29 00:42:21 1998 Jeffrey A Law (law@cygnus.com)
- * rtl.h: LABEL_NUSES was an rtx. It should be an int.
- * stmt.c (expand_label, expand_goto): Delete frobbing with LABEL_NUSES;
- the value stored there was the same as the CODE_LABEL rtx.
+ * objc/sendmsg.c (__objc_block_forward): Add braces for return
+ value if INVISIBLE_STRUCT_RETURN.
- * jump.c (jump_optimize): Detect if (foo) ...; else { ... break;}
- and change to if (! foo) { ... break;} else ...; so can drop out.
- (next_label): New fn returns the next label after given insn.
+ * pa.c (arith_double_operand): Fix parens.
-Tue Apr 19 21:30:05 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * haifa-sched.c (print_pattern): Correct arg to sprintf.
- * flow.c (insn_dead_p): Delete special handling for stack ptr.
- (mark_set_regs, mark_used_regs): Likewise.
- (life_analysis): Mark stack ptr live at end of fn if necessary.
- (propagate_block): Mark stack ptr live leading up to a CALL_INSN.
+ * Makefile.in (libgcc1.null): Make return type for __foo void.
- * jump.c (jump_optimize): #if 0 around stack-adjust-deletion code.
+Sat Mar 28 14:37:20 1998 Jeffrey A Law (law@cygnus.com)
- * cse.c (fold_rtx): Change const_arg from an array to 3 separate
- scalars for the first three operands.
- Handle SIGN_EXTEND and ZERO_EXTEND.
+ * pa.h: Add declarations for many functions defined in pa.c.
- * integrate.c (copy_rtx_and_substitute): If arg is 0, return 0.
- (expand_inline_function): Separate vars for old pattern and new insn.
+ * genpeep.c (main): Remove unused variable 'i' from the generated
+ file.
- * expr.c (expand_call): Set TREE_ADDRESSABLE if call is not inlined.
+ * 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.
-Tue Apr 19 02:25:22 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * integrate.c (copy_rtx_and_substitute): Rework to avoid need for
+ unused "junk" variable.
- * Version 1.20 released.
+ * genattrtab.c (write_complex_function): Add a default case in
+ generated switch statement to keep -W -Wall quiet.
- * tm-ns32k.h: Define new reg class GEN_OR_FLOAT_REGS
- so that GENERAL_REGS and FLOAT_REGS have a union.
+Sat Mar 28 10:47:21 1998 Nick Clifton <nickc@cygnus.com>
- * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): Recognize a stack-push.
- * ns32k.md: Many constraints must now allow or reject pushes.
- Delete the special patterns for pushing.
+ * invoke.texi: Document more ARM and Thumb command line options.
-Mon Apr 18 06:02:39 1988 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+ * config/arm/xm-thumb.h: New file.
- * reload1.c (forget_old_reloads): For a multiword hard reg,
- forget old reloads for each word.
+Sat Mar 28 01:37:33 1998 Craig Burley <burley@gnu.ai.mit.edu>
- * reload.c (find_reloads): Typo in calling push_replacement.
+ * stmt.c (expand_expr_stmt): Must generate code for
+ statements within an expression (gcc's `({ ... )}')
+ even if -fsyntax-only.
- * tm-ns32k.h (HARD_REGNO_MODE_OK): Failed to allow fp regs for SFmode.
+Sat Mar 28 01:06:12 1998 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+ Jeffrey A Law (law@cygnus.com)
-Sun Apr 17 01:21:35 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * tm-sequent.h (PRINT_OPERAND): Handle absolute integer memaddress.
+Sat Mar 28 00:21:37 1998 Jeffrey A Law (law@cygnus.com)
- * ns32k.md: Add DImode push insns. Add QImode and HImode push insns.
- Supply missing statement in movsf.
+ * i386/freebsd.h (CPP_PREDEFINES): Remove __386BSD__.
+ (DWARF2_UNWIND_INFO): Define to zero.
- * dbxout.c (dbxout_type): Don't contin before 1st field of struct.
+Fri Mar 27 16:04:49 1998 Michael Meissner <meissner@cygnus.com>
- * dbxout.c (dbx_continue): Use DBX_CONTIN_CHAR instead of backslash.
+ * 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.
- * loop.c (scan_loop): Ov vax, the "loop-entry jump" can be a return,
- in which case perhaps there is no label following it.
- Detect phoniness of loop before looking for that label.
+ * prefix.c (std_prefix): New global to hold default prefix value.
+ (get_key_value): Change to use std_prefix instead of PREFIX.
+ (translate_name): Likewise.
+ (update_path): Likewise.
+ (get_key_value): Release allocated scratch storage.
+ (set_std_prefix): New function to reset the standard prefix.
- * decl.c (init_decl_processing): Builtin fn names start with `__'.
+Fri Mar 27 18:08:21 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * typecheck.c (shorten_compare): Warn about constant result only in
- cases like (char)x < 0x80, where old C compilers made it -0x80.
+ * sh.c (find_barrier): Fix calculations for alignment increase.
- * vax.md: All jbs/jbc/jlbs/jlbc patters with op0 in SImode
- must reject mode-dependent memory addresses.
+Fri Mar 27 08:56:52 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * recog.c (mode_independent_operand): Test for general operand
- that doesn't have a mode-dependent memory address.
+ * 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.
- * varasm.c (assemble_function): ASM_DECLARE_FUNCTION_NAME, if def,
- is now responsible for outputting the function name as a label.
+Fri Mar 27 00:49:46 1998 Jeffrey A Law (law@cygnus.com)
-Sat Apr 16 05:02:55 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * regclass.c (reg_scan_mark_refs): Be more selective about
+ when we mark a register with REGNO_POINTER_FLAG.
- * cccp.c (do_xifdef): Warn about punctuation or other junk in argument.
- Warn about no argument. If pedantic, warn if arg starts with digit.
- If traditional, ignore all after first non-idchar and never warn.
+Thu Mar 26 23:00:11 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Thu Apr 14 01:12:59 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ 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.
- * integrate.c (expand_inline_function): Typo for addressable parms.
+Thu Mar 26 18:34:13 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * cse.c (insert_regs): Copying half a DImode into half of another
- does not make the two DImode regs equivalent.
+ * regclass.c (record_reg_classes): '?' increases cost by two.
- * recog.c (general_operand): Was failing to accept symbol_ref:SI
- when MODE arg was VOIDmode.
+ * reload.c (find_reloads): Double previous costs. Output
+ reloads cost one unit extra.
- * expr.c (preexpand_calls): For RTL_EXPR, do nothing.
+ * reload1.c (eliminate_regs): Delete LOAD_EXTENDED_OP code that
+ boiled down to && ! 0.
- * decl.c (start_enum, build_enumerator): Remember default for next one
- as a tree node (so the high-half isn't lost in a negative one).
+ * reload.c (find_equiv_reg): Also consider a goal offset from the
+ frame pointer to be constant.
- * stor-layout.c (layout_{record,union}): Pay attn to initial value
- of TYPE_ALIGN in computing final alignment.
- (layout_union): Round size up to multiple of the alignment.
+Thu Mar 26 17:34:46 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * decl.c (finish_struct): Don't alter size after type is laid out.
- Instead, set TYPE_ALIGN before layout_type.
+ * sh.h (OPTIMIZATION_OPTIONS): Define.
- * reload1.c (choose_reload_targets): Introduce reg_has_output_reload.
- If there are two separate reloads (one in and one out)
- for the same (hard or pseudo) reg, always set reg_last_reload_reg
- based on the output reload.
+Thu Mar 26 00:19:47 1998 Richard Henderson <rth@cygnus.com>
-Wed Apr 13 21:26:16 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * combine.c (make_compound_operation): Simplify (subreg (*_extend) 0).
- * reload.c (find_reloads_address_1): Always barf if a "constant"
- register is autoincremented.
+Wed Mar 25 23:53:11 1998 Jeffrey A Law (law@cygnus.com)
- * parse.y (structsp): suspend_momentary before start_enum;
- else some nodes made by start_enum might be momentary.
+ * pa.c (pa_adjust_cost): Avoid redundant calls to get_attr_type.
- * stmt.c (expand_start_case): New arg is nominal type for comparison
- (which is the promoted type of the index expression).
- (pushcase): Always convert VALUE to that nominal type
- before validating it.
- * parse.y (case stmt): Promote each case-value before pushcase.
- * typecheck.c (c_expand_start_case): Promote the index-expr
- to determine the nominal type, before get_narrower.
+Wed Mar 25 13:40:48 1998 Jim Wilson <wilson@cygnus.com>
-Wed Apr 13 12:43:08 1988 Chris Hanson (cph at kleph)
+ * 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.
- * tm-hp9k320.h: Define ASM_FORMAT_PRIVATE_NAME. HPUX asm forbids
- `.' in identifiers, so use `___' (there is some danger in this choice).
+Wed Mar 25 16:09:01 1998 Michael Meissner <meissner@cygnus.com>
-Tue Apr 12 23:26:48 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * rs6000.h (FUNCTION_ARG_PADDING): Cast result to be enum
+ direction.
+ (function_arg_padding): Declare.
- * local-alloc.c (block_alloc): Make 1 extra slot in regs_live_at.
+ * rs6000.c: Include system.h.
+ (function_arg_padding): Change return type to int, cast enum's to
+ int.
- * stmt.c (optimize_bit_field): Function moved from reload1.c.
- When need to generate a SIGN_EXTEND or ZERO_EXTEND, make it a separate
- insn and use gen_extend_insn to make it.
- * optabs.c (gen_extend_insn): New fn, construct body of an insn
- to extend Y and store in X.
+ (From Kaveh R. Ghazi <ghazi@caip.rutgers.edu>)
+ * collect2.c (scan_prog_file): Add explicit braces to avoid
+ ambiguous `else'.
-Mon Apr 11 19:20:57 1988 Richard Stallman (rms at rice-krispies.ai.mit.edu)
+ * dbxout.c (dbxout_type_fields): Add braces around empty body in
+ an if-statement.
+ (dbxout_type): Likewise.
- * decl.c (finish_decl): Error if static var has variable size.
+ * 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'.
- * parse.y (yylex): Warn if int const is out of range.
+ * rs6000.h (ADDITIONAL_REGISTER_NAMES): Add missing braces around
+ initializer.
+ (get_issue_rate, non_logical_cint_operand): Add prototype.
+ (rs6000_output_load_toc_table): Likewise.
- * parse.y: New keyword __alignof.
- * typecheck.c (c_alignof): Given a type, return its alignment in bytes.
+ * rs6000.md (udivmodsi4): Add explicit braces to avoid ambiguous
+ `else'.
- * typecheck.c (c_sizeof{,_nowarn)): Don't return integer_one_node;
- use build_int to make sure we get something with type `sizetype'.
+Wed Mar 25 10:05:19 1998 Nick Clifton <nickc@cygnus.com>
- * Support variable-sized structures (containing var-sized arrays).
+ * 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.
- * stmt.c (assign_parms): Handle parms whose size varies.
- Use `memory_address' when constructing memrefs to args;
- no need to set `invalid_stack_slot'.
- Don't make a REG_EQUIV note for a scalar arg at variable offset.
- * stor-layout.c (genop, build_int): No longer `static'.
+ * configure.in: Add Thumb-coff target.
+ * configure: Add Thumb-coff target.
+ * config.sub: Add Thumb-coff target.
- * stor-layout.c (convert_units): Optimize ceil (ceil(x,2)*2, 4) etc.
+Wed Mar 25 10:30:32 1998 Jim Wilson <wilson@cygnus.com>
- * stmt.c (expand_decl): Don't abort if var-sized object has init.
- Convert variable size from units of DECL_SIZE_UNIT to units of bytes.
+ * loop.c (scan_loop): Initialize move_insn_first to zero.
- * expr.c (emit_push_insn): Arg ARGS_SO_FAR is now an rtx.
- Pay attention to ARGS_ADDR even if machine has push insns.
- (expand_call): Handle variable-sized arguments.
- If have any such, push entire arg-block in advance.
- Record each arg's offset during first loop and don't change args_size
- during the actual pushing loop; this way the actual pushing loop
- works regardless of arg-order if arg-block was pushed in advance.
- (push_block): Copy SIZE to reg unless it's a reg or constant.
+Wed Mar 25 01:06:49 1998 Joel Sherrill (joel@OARcorp.com)
- * expmed.c (expand_divmod): If converting CEIL_DIV to FLOOR_DIV,
- make new pseudo for incremented value, to help cse understand.
+ * 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.
-Sun Apr 10 00:07:45 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Wed Mar 25 00:57:26 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * expr.c (emit_library_call): Two dumb bugs calling emit_call_1.
+ * pa.c (emit_move_sequence): If in reload, call find_replacement.
- * dbxout.c (dbxout_symbol): Handle case of (MEM (REG frameptr)).
+Tue Mar 24 10:44:11 1998 Nick Clifton <nickc@cygnus.com>
- * cccp.c (skip_if_group): Ignore quote-chars if -traditional.
- (rescan): If -traditional, don't output a space for a comment.
- (handle_directive): If not -traditional, output a space for a comment.
+ * Makefile.in (gcov$(exeext)): Support .exe extension to gcov.
-Sat Apr 9 21:26:51 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * decl.c (get_parm_types): `void' type is error, except as entire list.
- * parse.y (parmlist_1): `void,...' is error.
+1998-03-24 Mark Mitchell <mmitchell@usa.net>
- * typecheck.c (pointer_int_sum, pointer_diff):
- Use an integer type with at least POINTER_SIZE bits.
- * expr.c (expand_expr, ARRAY_REF): Likewise.
- * tree.c (type_precision): Prec of a pointer is POINTER_SIZE.
- (convert_to_pointer): Directly convert any int w/ width==POINTER_SIZE.
- Other int types convert via an int of that width.
- (convert_to_integer): Pointers convert via an int of that width.
+ * 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.
- * decl.c (init_decl_processing): Use INT_TYPE_SIZE, if def,
- to set width of `int' and `unsigned int'.
- (make_index_type): Give new type the width of a long int.
+Tue Mar 24 12:13:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tm-m68k.h: Add new -mshort which controls TARGET_SHORT.
- * tm-m68k.h: Define INT_TYPE_SIZE depending on TARGET_SHORT.
+ * 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.
-Fri Apr 8 05:02:59 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * typecheck.c (require_complete_type): Fix typo in detection of `void'.
- (build_function_call): Fix backward test to allow `void' values.
+1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de>
- * dbxout.c (dbxout_tags): Output each tag once even if type is defined.
+ * c-lang.c (lang_print_xnode): New function.
+ * objc/objc-act.c (lang_print_xnode): Likewise.
+ * print-tree.c (print_node): Call it
- * m68k.md (movstrictqi): Reject addr-reg always, for both operands.
+Mon Mar 23 23:59:11 1998 H.J. Lu (hjl@gnu.org)
- * tm-vax.h (STRUCTURE_SIZE_BOUNDARY): Make this always 8, for BSD.
- * tm-ultrix.h: New file, overriding STRUCTURE_SIZE_BOUNDARY.
- [This change has been taken out; tm-ultrix.h is now equivalent to
- tm-vax.h. I must have been confused when testing PCC.]
+ * c-parse.in: Recognize protocol qualifiers in class
+ definitions for objc.
+ Include "output.h".
+ (yyerror): Remove redundant decl.
+ (yyprint): Fix prototype.
- * integrate.c (expand_inline_function): Don't let inline_target
- be nonzero in BLKmode.
+Mon Mar 23 23:49:47 1998 Jeffrey A Law (law@cygnus.com)
- * decl.c (grokdeclarator): Const array parm becomes ptr-to-const.
+ * cse.c (rtx_cost): Only call CONST_COSTS if it is defined.
-Thu Apr 7 05:02:41 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * stmt.c (unroll_block_trees): Free block_vector if needed.
- * genoutput.c (bcopy, bzero): Renamed to mybcopy, mybzero
- so variation in C library and config.h won't affect the results.
- * genrecog.c (bzero): likewise.
- * genextract.c (bcopy): Fn deleted; used only in a string constant.
+Mon Mar 23 23:26:42 1998 Philippe De Muyter <phdm@macqel.be>
- * varasm.c (force_const_mem): Fix typo in arg decl.
+ * 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.
- * toplev.c (compile_file): init_file with main_input_filename
- so dbx output doesn't lack N_SOL symbols.
+ * 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.
- * cccp.c (rescan) [CPLUSPLUS]: Put out // comments as // comments.
+1998-03-22 Mark Mitchell <mmitchell@usa.net>
-Wed Apr 6 14:06:38 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * tree.h (IS_EXPR_CODE_CLASS): New macro.
- * expr.c: Delete SLOW_ZERO_EXTEND conditionals added March 3.
- Now that enums types can be unsigned, this isn't needed.
+Mon Mar 23 23:18:48 1998 Jeffrey A Law (law@cygnus.com)
- * emit-rtl.c (emit_jump_insn): Handle SEQUENCEs.
+ * h8300.h (CONST_COSTS): Remove definition.
+ (DEFAULT_RTX_COSTS): Define.
- * genemit.c (gen_expand): Use emit_jump_insn, emit_label, emit_barrier
- when the insn rtl requires it.
+Mon Mar 23 22:58:22 1998 Joel Sherrill (joel@OARcorp.com)
- * m68k.md (subsi3): Prefer to avoid reverse-subtraction alternative.
+ * config/sh/rtems.h: Switched from ELF to COFF.
- * stmt.c (expand_end_case): Let CASE_DROPS_THROUGH control what to
- emit after the table.
- * tm-vax.h: Define CASE_DROPS_THROUGH.
+Mon Mar 23 14:14:20 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Tue Apr 5 15:47:10 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * freebsd.h (ASM_OUTPUT_ALIGN): Redefine.
- * genemit.c (gen_exp): Handle vectors within exprs.
+Sat Mar 21 23:52:56 1998 Jeff Law (law@cygnus.com)
- * stmt.c (expand_end_case): Pass 5th arg (default_label) to gen_casesi.
- * m68k.md: Define casesi insn rather than tablejump insn.
+ * version.c: Bump for snapshot.
- * cccp.c (skip_if_group): For validate_else, pass BP (end of cmd name).
- Don't call validate_else if do_else or do_endif will detect error.
+Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com>
+ Geoff Noer <noer@cygnus.com>
- * Bug: inline fcns can refer to the return reg with a strict_low_part
- which confuses expand_inline_function. Fix is to change return reg
- into inline_target *everywhere* except in or right after a call.
- * integrate.c (copy_rtx_and_substitute): Delete special case for SET.
- Replace return-value hard regs with INLINE_TARGET in all contexts.
- (expand_inline_function): special handling for insn after a CALL_INSN
- if it copies the function value out.
- Allow notes and stack adjust insns to intervene
- between the CALL_INSN and the value-copy.
+ * Makefile.in: Various fixes for building cygwin32 native toolchains.
- * expr.c (emit_call_1): New name for gen_call_1.
+ * objc/Makefile.in: Various fixes for building cygwin32 native toolchains.
+ * objc/Make-lang.in: Likewise.
- * Bug: ({...}) insns were in wrong place for a subexpression
- after a sequence point, as in x ? y : ({...}).
- * tree.def: New tree-code RTL_EXPR holds a sequence.
- * expr.c (expand_expr): Handle RTL_EXPR by emitting the sequence.
- * stmt.c (expand_{start,end}_stmt_expr): Use emit_to_sequence
- to make a sequence from everything within the ({...}).
- (expand_{start,end,emit}_delayed_expr): Delete these functions.
- * parse.y (`for'-statements): Don't call them; nothing special needed.
+ * config/i386/xm-cygwin32.h (PATH_SEPARATOR): Set to a semi-colon.
- * parse.y (yylex): Handle syntax L"..." and L'...'
- (combine_strings): Handle wide strings being combined.
- * typecheck.c (digest_init): Reject wide string as init for char array.
- Allow it for an int array, but don't allow a narrow string.
- * decl.c (init_decl_processing): New var int_array_type_node.
+Sun Mar 22 00:21:46 1998 R. Ganesan <rganesan@novell.com>
- * parse.y: Define keyword `noalias'.
- * parse.h: Define RID_NOALIAS.
+ * configure.in: Handle with-PACKAGE=no correctly
- * typecheck.c (compparms): Not all parmlists match an empty one;
- call `compparms1' to filter them.
+Fri Mar 20 17:36:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * decl.c (groktypename): Remove special case for `void' as parameter.
- (get_parm_types): Special case for list of one decl with type void.
+ * 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.
- * decl.c (build_enumerator): Give enum constants the type `int'.
- Variable `current_enum_type' eliminated.
- (finish_enum): No need to repeat `fixup_unsigned_type'
- since the precision has not changed.
- * stor-layout.c (layout_type): Allow enum types to be unsigned.
+ * 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.
- * emit-rtl.c (unshare_all_rtl): Unshare contents of all reg-notes.
+Fri Mar 20 11:19:40 1998 Stan Cox <scox@equinox.cygnus.com>
- * parse.y (check_newline): filename is optional in #-lines.
+ * reg-stack.c (pop_stack): Define. Pops any register on the
+ regstack and adjusts regstack.
+ (compare_for_stack_reg): Use pop_stack.
-Mon Apr 4 14:36:54 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Thu Mar 19 23:51:01 1998 Jeffrey A Law (law@cygnus.com)
- * typecheck.c (shorten_compare): When data type determines the value,
- eval the nonconstant arg anyway if it has side effects.
- (build_conditional_expr): When merging `foo *' with `void *',
- also allow `const void *'. Result type has merged set of qualifiers.
- (qualify_type): Merge qualifiers of two types.
+ * configure.in (hppa1.0-hp-hpux10): Handle threads for this
+ config too.
- * decl.c (get_parm_types): Store any tags defined in parmlist
- into `last_function_parm_types'.
- (store_parm_decls): Add those tags into the current binding level.
+Thu Mar 19 20:30:31 1998 Philippe De Muyter <phdm@macqel.be>
- * parse.y (parmlist, parmlist_or_identifier): Pass 0 to pushlevel;
- no binding levels in C should be transparent to tags.
+ * libgcc2.c (exit): Do not call __bb_exit_func if HAVE_ATEXIT.
- * 3b1 support:
- * tm-3b1.h: New file.
+ * fold-const.c (fold): Replace sign-extension of a zero extended
+ value by a single zero extension.
- * m68k.md: Add HPUX_ASM conditionals for shift-by-24-and-compare.
- In one of the dbra patterns, a HPUX_ASM conditional was backwards.
- (movhi) [SGS_3B1]: Define the LI... label as in MIT syntax.
- (addsi3) [SGS]: Syntax for base-displacement differs from MOTOROLA.
- (subsi3) [SGS]: likewise.
- (tablejump) [ASM_OUTPUT_CASE_LABEL]: Use 6, not 2, as displacement.
- This assumes ASM_OUTPUT_CASE_LABEL on 68k is used for a `swbeg'.
+Thu Mar 19 00:58:07 1998 Jason Merrill <jason@yorick.cygnus.com>
- * final.c (final): Use ASM_OUTPUT_CASE_LABEL (if defined) to output
- any CODE_LABEL followed by an ADDR_VEC or ADDR_DIFF_VEC.
- It has 4 args; 4th is the insn which is the ADDR_VEC or ADDR_DIFF_VEC.
+ * 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.
- * tm-*.h for 68000 (PRINT_OPERAND_ADDRESS): For unscaled indexing in
- fetch from a branch table, use L and LI symbols as in the scaled case.
+Thu Mar 19 13:39:52 1998 Michael Meissner <meissner@cygnus.com>
- * cccp.c: If SCCS_DIRECTIVE, define #sccs as no-op.
+ * rs6000/sysv4.h (RELATIVE_PREFIX_NOT_LINKDIR): Undef for System V
+ and EABI.
- * integrate.c (output_inline_function): Real start of function
- is FIRST_PARM_INSN, not FIRST_FUNCTION_INSN.
+Thu Mar 19 10:10:36 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * tree.c (build_string): String contents must be saveable (for
- inline fcn).
+ * final.c (shorten_branches): Add parentheses around +/- in
+ operand of &.
- * cse.c (cse_insn): Don't forget to set dest_hash_code when dest
- is a stack slot (and so its address is not being optimized).
+ * flow.c (life_analysis): Wrap variable `i' in macro ELIMINABLE_REGS.
- * emit-rtl.c (restore_reg_data_1): reg_rtx_no must be 1+ largest REGNO.
+Thu Mar 19 09:15:17 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * m68k.md (non-SImode bit-field insns): Change constraint to "o,d"
- so a nonoffsetable memref is handled by reloading its address
- but a register can still be handled.
+ * regclass.c (memory_move_secondary_cost): Wrap uses of
+ SECONDARY_INPUT_RELOAD_CLASS and SECONDARY_OUTPUT_RELOAD_CLASS
+ with #ifdef tests.
- * toplev.c (main): Execute OVERRIDE_OPTIONS, if it's defined.
+Thu Mar 19 09:06:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
-Sat Apr 2 00:55:21 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * config/m68k/m68k.md (addqi3): Fix typo gen_INT vs. GEN_INT.
- * expr.c (convert_move): Handle a SUBREG in direct truncation case.
+ * flow.c (life_analysis): #include <sys/types.h> to make sure
+ size_t is defined.
+ * cplus-dem.c (demangle_function_name): Likewise.
- * cse.c (lookup_for_remove): Don't test machine mode of registers:
- Storing in (REG:SI 0) invalidates (REG:DF 0).
+Thu Mar 19 09:00:01 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * decl.c (pushlevel): New arg, nonzero means this level is for
- variables only, not for tags. All calls changed.
- (lookup_tag): Even if THIS_LEVEL_ONLY, skip variables-only levels.
- (pushtag): Define it in the first non-variables-only level.
+ * final.c (insn_noperands): Change type to unsigned int.
+ (final_scan_insn): Likewise for noperands;
+ properly check operand number boundaries.
- * dbxout.c (dbxout_type): Undo Mar 29 change, in the DBX_NO_XREFS case.
- So now each struct or union will contain only nameless cross-refs
- to any others it uses. The prior change is still in effect when
- DBX_NO_XREFS is not defined.
+Wed Mar 18 16:20:30 1998 Richard Henderson <rth@cygnus.com>
- * Implement variable array bounds for parameters.
- * decl.c (poplevel): Don't crash if DECL_NAME gives 0.
- * typecheck.c (comptypes): A variable array bound matches anything.
- * parse.y (parmlist): Call pushlevel, then pushdecl each parm as it
- is parsed; then poplevel after using get_parm_types to extract the
- results of the parmlist.
- * decl.c (get_parm_types): New function; reverse the current decls,
- put them in last_function_parms, and return a list of their types.
- (grokparms): Arg is now an idlist or a typelist. Do nothing if latter.
- (push_parm_decl): New function, like {start,finish}_decl combined
- for a parm in a parmlist.
+ * alpha.md (extzv): Don't reject register operands. Fix
+ mode of operand 1.
- * dbxout.c (dbxout_symbol): Ignore sym if its DECL_RTL is 0.
+Wed Mar 18 16:14:23 1998 Richard Henderson <rth@cygnus.com>
- * symout.c (symout_block_symbols): Ignore sym if type is error_mark.
+ * dbxout.c (dbxout_function_end): Fix last change. The correct
+ predicate is ASM_OUTPUT_SECTION_NAME.
-Fri Apr 1 11:41:21 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
- * expr.c (prepare_call_address): New function; given two rtx's
- for function and context, copy the context to the right hard reg,
- put the function address in the right place and return an rtx for it.
- (gen_call_1): No longer do those things. Delete args CONTEXT, PROTECT.
- (emit_library_call, expand_call): Call `prepare_call_address'.
- In between that and `gen_call_1', USE the parm registers.
+ * sh.md (ashlsi_c-1): Delete 3rd argument to gen_ashlsi_c.
+ (ashlsi): Use match_dup 1 instead of match_operand 2.
- * tm-hp9k320.h (ASM_OUTPUT_*): Flush uses of output_arith_constant.
+Wed Mar 18 13:46:07 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * varasm.c (assemble_variable): Use ASM_FORMAT_PRIVATE_NAME
- to make the name for a local static variable.
- * tm-m68k.h, tm-vax.h, tm-ns32k.h, tm-spur.h:
- Define ASM_FORMAT_PRIVATE_NAME. Use `.', not `$', to separate.
+ * fold-const.c (operand_equal_for_comparison_p): See if equal
+ when nop conversions are removed.
- * tm-m68k.h, tm-ns32k.h (FIX_FRAME_POINTER_ADDRESS):
- To refer to stack ptr, use stack_pointer_rtx, not a copy.
+Wed Mar 18 13:42:01 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * tree.c (build_real_from_string): Function deleted.
- * parse.y (yylex): Use build_real and atof.
+ * expr.c (expand_expr, case COND_EXPR): If have conditional move,
+ don't use ORIGINAL_TARGET unless REG.
- * parse.y: Allow string concatenation in arg of asm.
+Wed Mar 18 16:53:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * parse.y (yylex): Always allow `$' in ident, but warn if pedantic.
- * tm-vms.h: Delete DOLLARS_IN_IDENTIFIERS (no longer tested).
+ * netbsd.h (ASM_OUTPUT_ALIGN): Redefine.
- * cccp.c (rescan, do_define, initialize_random_junk):
- Always allow `$', but warn if pedantic.
- (main): If -t, set `traditional'.
- (collect_expansion): If `traditional', no special handling for quotes
- and no whitespace added at end of macro definition.
+Wed Mar 18 12:43:20 1998 Jim Wilson <wilson@cygnus.com>
- * expr.c (compare, compare1): Last arg to compare_constants
- must be a size in bits.
+ * 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.
-Thu Mar 31 00:31:52 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Wed Mar 18 09:52:56 1998 Richard Henderson <rth@cygnus.com>
- * expmed.c (expand_mult, expand_divmod, extract_fixed_bit_field):
- Reject function return register as target if may need to read it.
- (Reading the return register in an inline function doesn't work.)
+ * 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.
- * decl.c (start_function): Delete extra arg to `error'.
+ * alpha/xm-vms.h (HAVE_ATOLL): Define.
+ Reported by Klaus Kaempf <kkaempf@progis.de>.
- * emit-rtl.c (last_parm_insn): Delete this unused var.
+Wed Mar 18 09:56:26 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * make-cc1.com: New version from Kashtan.
+ * c-lang.c (finish_file): Wrap variable `void_list_node' with macro
+ test !ASM_OUTPUT_CONSTRUCTOR || !ASM_OUTPUT_DESTRUCTOR.
- * integrate.c (expand_inline_function): Always set up an INLINE_TARGET
- for a function that returns a nonvoid nonBLK value.
- Since `pushlevel' and `poplevel' are called, must also call
- `expand_{start,end}_bindings' to make a pair of NOTEs.
- Let them handle USEs at end of scope of formal parameter copies.
+ * calls.c (emit_call_1): Wrap variable `already_popped' with macro
+ test !ACCUMULATE_OUTGOING_ARGS.
- * integrate.c (expand_inline_function): In a new-style CALL_INSN,
- don't change the result reg into INLINE_TARGET. Also,
- generate a move insn after the call only if INLINE_TARGET is non-0.
+ * collect2.c (write_c_file_glob): Wrap function definition in
+ macro test !LD_INIT_SWITCH.
- * integrate.c (copy_decl_tree): Don't crash if DECL_RTL is 0.
+ * combine.c (try_combine): Wrap variables `cc_use' and
+ `compare_mode' in macro test EXTRA_CC_MODES.
- * integrate.c (copy_for_inline): Don't treat `return' rtx's specially.
+ * 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'.
- * stmt.c (expand_{start,end,emit}_delayed_expr):
- New fns to handle ({...})'s in expressions output not where parsed
- (such as third expression in a `for' statement).
- * parse.y: Call them to handle third expression in a `for'.
+ * 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.
- * decl.c (duplicate_decls): Result is `inline' if either OLD or NEW is.
+ * dwarf2out.c (add_subscript_info): Wrap variable `dimension_number'
+ in macro test !MIPS_DEBUGGING_INFO.
- * emit-rtl.c (emit_note): Return the note, or 0 if none.
- * stmt.c (expand_start_bindings): Use emit_note's value.
+ * expr.c (expand_builtin_setjmp): Move declaration of variable `i'
+ into the scope where it is used. Wrap empty else-statement body
+ in braces.
-Wed Mar 30 12:48:22 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * fix-header.c: Fix typo in comment.
+ (inf_skip_spaces): Cast results of INF_UNGET to (void).
+ (check_protection, main): Likewise.
- * obstack.c (_obstack_begin): If ALIGNMENT is 0, use default.
- Compute default for the alignment of a `double'.
- * obstack.h (obstack_{begin,init}): Pass 0 for the alignment.
+ * flow.c (find_basic_blocks_1): Remove dangling comment text.
- * flow.c (mark_used_regs): Discard multiple SUBREGs, STRICT_LOW_PARTs.
+ * function.c (contains): Wrap prototype and definition in macro
+ test HAVE_prologue || HAVE_epilogue.
+ (fixup_var_refs_1): Remove unused variable `width'.
- ** Call insns that return values are now represented as
- (set (reg ...) (call ...)), not just (call ...).
+ * gen-protos.c (main): Remove unused variable `optr'.
- * *.md: Define a "call_value" insn pattern.
+ * haifa-sched.c (debug_control_flow): Remove unused variable `j'.
- * tm-m68k.h, tm-vax.h, tm-ns32k.h: (NOTICE_UPDATE_CC):
- These insns invalidate the CC.
+ * libgcc2.c (__udiv_w_sdiv): Provide dummy return value of 0.
+ (__sjpopnthrow): Remove unused variable `jmpbuf'.
+ (__throw): Remove unused variable `val'.
- * local-alloc.c (combine_regs): #if 0 special treatment of
- function value hard reg.
- (wipe_dead_reg): If hard reg, call reg_is_born so that the death
- will not be ignored.
- (reg_is_set): For reg that dies in this insn, mark it dead from now on
- and post_mark it live after this insn only.
+ * protoize.c: Check for a previously existing definition before
+ defining *_OK macros.
- * combine.c (try_combine): Don't allow a call insn as I1 or I2.
+ * scan-decls.c (scan_decls): Remove unused variable `old_written'.
- * loop.c (count_loop_regs_set): Move CALL_INSN into a separate
- clause. When finding regs that are function addresses, handle
- both old and new format call insns.
+Tue Mar 17 00:45:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * flow.c (insn_dead_p): A SET that contains a CALL can't be dead.
- (volatile_refs_p): Any CALL constitutes a volatile ref.
- (mark_used_regs): If setting a reg from a volatile ref,
- treat it like setting a reg whose value will be used.
+ * vax.h (ADDR_VEC_ALIGN): Define.
- * expr.c (gen_call_1): New arg VALREG if nonzero means generate
- a call_value insn which stores in VALREG.
- (expand_call): Use `hard_function_value' to make the VALREG arg
- unless expression has type `void'.
+Mon Mar 16 15:57:17 1998 Michael Meissner <meissner@cygnus.com>
- * expr.c (emit_library_call): New 2nd arg OUTMODE is mode of result.
- (So can give gen_call_1 the proper value-register.)
- All callers (here and optabs.c) pass this arg.
+ * gcc.c (default_arg): Don't wander off the end of allocated
+ memory.
- * cse.c (canon_hash): Consider all CALL rtx's volatile.
+ (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.
- ** end of change in representation of call insns.
+Mon Mar 16 12:55:15 1998 Jim Wilson <wilson@cygnus.com>
- * stmt.c (expand_asm_operands): Replace complex lvalues with
- SAVE_EXPRs here
- * typecheck.c (c_expand_asm_operands): rather than here.
+ * config/m68k/netbsd.h (ASM_SPEC): Add %{m68060}.
- * typecheck.c (pointer_diff): Fix typo preventing use of FLOOR_DIV_EXPR
- when dividing by power of 2.
- (build_c_cast): Flush unused locals.
- (store_init_value): likewise.
- (process_init_constructor): Delete unused 4th arg `for_static'.
+Mon Mar 16 15:50:20 1998 Andrew MacLeod <amacleod@cygnus.com>
- * toplev.c (fatal_io_error): Arg to fprintf was missing.
+ * 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.
- * tm-m68k.h (LEGITIMIZE_ADDRESS): Flush extra arg to `emit_move_insn'.
+Mon Mar 16 11:16:50 1998 Jim Wilson <wilson@cygnus.com>
- * decl.c: Delete some unused local vars.
+ * README.gnat: New file.
- * stor-layout.c (layout_decl): `packed_size' now unsigned.
+Mon Mar 16 11:14:20 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Tue Mar 29 14:47:07 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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.
- * Version 1.19 released.
+ * 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.
- * loop.c (may_trap_p): Nonzero if X is a division that might trap.
- (scan_loop): If insn might trap, move only if loop always executes it.
+Sun Mar 15 22:30:44 1998 Jeff Law (law@cygnus.com)
- * dbxout.c (dbxout_type): Never output a cross-ref for
- a type whose definition is known. Sun dbx won't accept them.
+ * version.c: Bump for snapshot.
-Mon Mar 28 12:34:46 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Fri Mar 13 11:30:12 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * tm-vms.h (TARGET_DEFAULT): Default is PCC alignment.
- The VMS compile driver controls the real default.
+ * config/m68k/m68k.h (CONST_OK_FOR_LETTER_P): Fix logic in range
+ check for 'M' constraint.
- * typecheck.c (c_expand_return): Don't ignore return value
- when its type is void.
+Thu Mar 12 14:47:14 1998 Jim Wilson <wilson@cygnus.com>
- * final.c (final): Forget the condition codes after an `asm'.
+ * cccp.c (create_definition): If pedantic, call pedwarn for macro
+ varargs feature.
- * typecheck.c (build_binary_op_nodefault): Warn about ptr < 0
- even if not pedantic, but not if traditional.
+Thu Mar 12 13:43:25 1998 Bernd Schmidt <crux@Pool.Informatik.RWTH-Aachen.DE>
- * typecheck.c (convert_for_assignment): Don't warn about
- pointers volatile * vs nonvolatile * if -fvolatile specified.
+ * 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.
- * decl.c (store_parm_decls): Among the old-style parm decls
- there can legitiately be other decls! For example, if a parm
- is declared `enum {foo, bar} x;', there are decls for `foo' and `bar'.
- Don't let anything but a PARM_DECL match a parm name;
- pass all the other decls through into the lexical context.
+Thu Mar 12 15:13:16 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+ Richard Earnshaw <rearnsha@arm.com>
+ Nick Clifton <nickc@cygnus.com>
- * jump.c (jump_optimize): When deleting stack adjusts before a
- jump-to-return, don't be fooled by intervening NOTEs.
+ * tm.texi (DEFAULT_RTX_COSTS): Document new macro.
- * tm-sequent.h (PRINT_OPERAND): Output (MEM (MEM (REG))) properly.
- * output-ns32k.c (print_operand_address): Output (MEM (REG))
- properly; output stack-pointer as `tos'.
+ * arm.h (DEFAULT_RTX_COSTS): Define instead of RTX_COSTS.
- * flow.c (find_use_as_address): Reject uses within operand 0
- of a ZERO_EXTRACT or SIGN_EXTRACT reference. It's hard to reload
- an autoincrement inside these because they can refer to multiple bytes.
+ * cse.c (rtx_cost): Provide a default case in an enumeration
+ switch, and call DEFAULT_RTX_COSTS if it's defined.
- * reload.c (find_reloads): `o' in constraint means any memref
- (except auto-increment) is acceptable with reloading.
- Braino: Clear BADOP, not BAD.
+Thu Mar 12 10:02:38 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * reload.c (push_reloads): Use rtx_equal_p (via macro MATCHES)
- when considering reuse of an old reload. Otherwise equal values
- may get reloaded into different registers, and two MEMs that
- originally matched may fail to match once reloaded.
+ * basic-block.h (compute_preds_succs): Change return type in
+ prototype to void.
+ * flow.c (compute_preds_succs): Likewise in function definition.
- * m68k.md (sign_extract and zero_extract insns):
- If operand 0 is QI or HImode, don't allow register--only `o'
- (except in some bftst patterns where bitpos is < 8).
- And change `m' to `o' in all these patterns.
+ * regmove.c (find_matches): Cast char used as array index to unsigned char
+ to suppress warning.
-Sun Mar 27 15:32:54 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * expr.c (expand_expr, case CONSTRUCTOR):
- Not all aggregates are BLKmode; use the type's mode.
+ * i386.h (RTX_COSTS): Insert braces around nested if.
+ (ADDITIONAL_REGISTER_NAMES): Insert braces around structured
+ elements.
- * gcc.c: Pass -y* to ld.
+ * gcc.c (default_compilers): Properly put brackets around array elements in
+ initializer.
- * cse.c (struct hash): New member `equivalence_only'.
- (insert): Initialize it.
- (cse_insn): Set it to 1 when src_eqv is inserted.
- When finding cheapest equivalent of something,
- skip elts that are marked with `equivalence_only'.
+ * getopt.c (_getopt_internal): Add explicit braces around nested if;
+ reformatted.
- * decl.c (duplicate_decls): Don't call `layout_type'
- if the type is `error_mark_node'.
+ * 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.
- * decl.c (implicitly_declare): If decl will be file-scope,
- make sure it's a permanent node, and its associated data too.
+Thu Mar 12 09:25:29 1998 Manfred Hollstein <manfred@s-direktnet.de>
-Sat Mar 26 15:48:50 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * bitmap.c (bitmap_element_allocate): Remove unused parameter;
+ change callers accordingly.
- * flow.c (insn_dead_p, mark_used_regs): Storing a reg via a
- ZERO_EXTRACT or SIGN_EXTRACT is dead if the reg isn't needed afterward.
+ * cplus-dem.c (arm_special): Remove unused parameter work in prototype
+ and definition; change all callers accordingly.
- * stmt.c (expand_start_function): Set current_function_name
- to the name of this function.
- * tm-vms.h (MAYBE_VMS_FUNCTION_PROLOGUE): Use current_function_name.
+ * except.c (init_eh): Avoid assignment of unused return value of
+ build_pointer_type; cast it to void, instead, and remove unused
+ variable type.
- * expr.c (expand_increment): A SUBREG in op0 can also a be a copy.
+ * gcc.c (lang_specific_driver): Define prototype only #ifdef
+ LANG_SPECIFIC_DRIVER.
+ (temp_names): Define only #ifdef MKTEMP_EACH_FILE.
- * ns32k.md: Correct range of args for `adjspb' insn.
- Use `adjspw' when appropriate.
- New pattern for `lprd' insn.
- Change some `const_int' predicates to GET_CODE tests.
+ * genoutput.c (output_epilogue): Initialize next_name to 0.
- * expr.c (expand_call): Eval function before copying args to hard regs.
+ * real.c (efrexp): #if 0 prototype and function definition.
+ (eremain): Likewise.
+ (uditoe): Likewise.
+ (ditoe): Likewise.
+ (etoudi): Likewise.
+ (etodi): Likewise.
+ (esqrt): Likewise.
- * tree.c (make_node, copy_node): Don't get length of a REAL_CST
- from tree_code_length.
+ * reload.c (push_secondary_reload): Define prototype only
+ #ifdef HAVE_SECONDARY_RELOADS.
- * expmed.c (extract_fixed_bit_field): In memory-word case, abort
- if tm.h parms say word could fail to be well-aligned.
- * tm-ns32k.h: Define STRUCTURE_SIZE_BOUNDARY so they will be aligned.
- * tm-vax.h: Define STRUCTURE_SIZE_BOUNDARY since Unix CC seems to.
+ * varasm.c (assemble_static_space): Define rounded only
+ #ifndef ASM_OUTPUT_ALIGNED_LOCAL.
- * tm-vms.h (CPP_PREDEFINES): Predefine __GNU__ and __GNUC__.
+Thu Mar 12 09:11:35 1998 Manfred Hollstein <manfred@s-direktnet.de>
-Fri Mar 25 13:23:27 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * i386.md (andsi): Add default case in enumeration switch.
+ (iorsi3): Likewise.
+ (iorhi3): Likewise.
+ (xorsi3): Likewise.
- * gcc.c (main): Handle SIGHUP, SIGTERM.
+Thu Mar 12 08:37:02 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * expmed.c (expand_bit_and): Don't clobber OP1 when trying andcb.
+ * c-decl (finish_struct): Change type of min_align to unsigned.
-Thu Mar 24 21:59:09 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * cplus-dem.c (demangle_function_name): Change type of variable i to size_t;
+ remove unused variable len.
- * stmt.c (assign_parms): Get size of BLKmode local from the type,
- not the mode.
- (expand_function_start): Init frame_offset before calling assign_parms.
+ * dwarf2out.c (reg_save): Add explicit cast of -1 to unsigned and a
+ comment indicating this is proper behavior.
+ (reg_loc_descriptor): Remove redundant comparison of unsigned variable
+ reg >= 0.
+ (based_loc_descr): Likewise.
-Wed Mar 23 23:50:37 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * enquire.c (bitpattern): Change type of variable i to unsigned.
- * expr.c (emit_push_insn): When making a move insn,
- go via emit_move_insn; else fails to put constants into memory.
+ * final.c (output_asm_insn): Don't cast insn_noperands to unsigned.
-Tue Mar 22 15:45:10 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * flow.c (life_analysis): Change type of variable i to size_t;
+ remove unused variable insn.
- * expr.c (expand_increment): Flush special case for register_operand;
- actually call the predicate whatever it is.
+ * 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 (gen_expand): Make `operands' a local variable,
- not a global static one, in the `gen_...' function.
- Avoids lossage when one `gen_...' fcn calls another indirectly.
+ * genemit.c (output_init_mov_optab): Change type of variable i to size_t.
- * genoutput.c (output_epilogue): Don't give printf a null string.
+ * genopinit.c (get_insn): Change type of variable pindex to size_t.
-Mon Mar 21 15:41:42 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * genrecog.c (add_to_sequence): Change type of variable i to size_t.
- * expmed.c (store_bit_field) [HAVE_insv]:
- Force VALUE1, not VALUE, into a register.
+ * global.c (global_alloc): Change type of variable i to size_t.
- * expmed.c (store_fixed_bit_field): Width of mask for clearing
- the bit-field depends on mode of OP0.
+ * regclass.c (init_reg_sets): Change type of variables i and j to unsigned.
- * ns32k.md (branch and store-flag insns):
- Test cc_prev_status, not cc_status.
+ * stmt.c (expand_end_bindings): Change type of variable i to size_t.
+ (expand_end_case): Change type of variable count to size_t.
- * expmed.c (extract_bit_field): Delete unused var `omode'.
+ * 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.
- * dbxout.c (dbxout_type, dbxout_tag): Use the main variant
- of the specified type.
+ * varasm.c (assemble_variable): Change type of variable align to size_t.
+ (const_hash_rtx): Change type of variable i to size_t.
- * reload.c (find_reloads): When an alternative succeeds without reload,
- initialize goal_alternative_matches from this_alternative_matches.
+1998-03-11 Mark Mitchell <mmitchell@usa.net>
-Sun Mar 20 17:58:00 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * dbxout.c (dbxout_type_methods): Only treat TYPE_METHODS as a
+ TREE_VEC if that's what it really is.
- * tm-sun*.h: Don't predefine `m68k'; Sun's compiler does not.
+Wed Mar 11 15:16:01 1998 Michael Meissner <meissner@cygnus.com>
-Fri Mar 18 13:48:29 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * {haifa-,}sched.c (rank_for_schedule): Only take void * arguments
+ as per ISO C spec.
- * reload.c (find_reloads): Set up goal_alternative_matches
- *after* the label `finish'.
+Wed Mar 11 12:05:20 1998 Teemu Torma <tot@trema.com>
- * stmt.c (assign_parms): GET_MODE_SIZE needs a mode, not an rtx.
+ * 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.
- * recog.c (constrain_operands): Set global var `which_alternative'
- to indicate which of the alternatives this insn matches.
+Wed Mar 11 18:26:25 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * typecheck.c (commontype): long int vs unsigned int
- gives long unsigned, if long and int are the same width.
+ * 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.
-Thu Mar 17 15:39:45 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Wed Mar 11 15:07:18 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * emit-rtl.c, tree.c: include local version of varargs.h.
+ * final.c (shorten_branches): Remove conditionalizing on
+ SHORTEN_WITH_ADJUST_INSN_LENGTH.
+ * sh.h, pa.h (SHORTEN_WITH_ADJUST_INSN_LENGTH): Remove.
- * decl.c (start_function): Clear TREE_EXTERNAL and set TREE_STATIC
- here rather than in finish_function. Affects the case of
- `extern foo (); static foo (a) {...}'
+Wed Mar 11 02:37:41 1998 Jeffrey A Law (law@cygnus.com)
- * gcc.c: Handle -fnostdinc and -fnostdlib switches in specs.
+ * flow.c (find_basic_blocks_1): Keep the cfg accurate when removing
+ an unconditional jump around deleted blocks.
- * cccp.c (main): Handle -fnostdinc: don't put default dirs
- on the chain to be searched.
+Mon Mar 9 12:02:23 1998 Jim Wilson <wilson@cygnus.com>
- * cccp.c (error, warning, error_with_line): No longer print
- charpos within file; lineno is enough.
+ * profile.c (branch_prob): If see computed goto, call fatal instead of
+ abort.
-Wed Mar 16 16:56:36 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * config/mips/sni-svr4.h (CPP_PREDEFINE): Add -DSNI and -Dsinix.
- * expmed.c (expand_inc, expand_dec): Handy new subroutines
- to generate x+=y or x-=y, given x and y as rtl.
- * expmed.c (expand_divmod): Use them instead of gen_{add2,sub2}_insn.
+ * configure.in (alpha-dec-osf): Add default case for osf* to switch.
+ Patch from Bruno Haible.
- * expr.c (emit_move_insn): Return the move insn emitted.
- Eliminate the code here to move a DImode or DFmode by pieces.
+ * function.c (put_reg_into_stack): Copy MEM_IN_STRUCT_P from new.
+ (assign_parms): Set aggregate if hide_last_arg and last_named.
- * emit-rtl.c (emit_insn): Return-value was wrong if emit_to_sequence;
- cannot use `last_insn' in that case.
+Mon Mar 9 19:57:56 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * regclass.c, stupid.c, local-alloc.c, global-alloc.c:
- Some vars of type HARD_REG_SET should be `register' only
- if HARD_REG_SET is a macro (ie a scalar).
+ * final.c (shorten_branches): Initialize insn_addresses.
- * expr.c (move_block_from_reg): New function, converse of
- move_block_from_reg.
- * stmt.c (assign_parms): If a BLKmode arrives in regs,
- copy to a stack slot using move_block_from_reg.
+Mon Mar 9 14:10:23 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Tue Mar 15 17:33:22 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * sh.h (MUST_PASS_IN_STACK): Define.
- * regclass.c (regclass): Don't convert to two-operand insns
- unless optimizing.
+Sun Mar 8 13:01:56 1998 Jeffrey A Law (law@cygnus.com)
- * varasm.c (decode_rtx_const, const_hash_rtx): Fix typos.
+ * final.c (shorten_branches): Fix minor logic error in
+ ADDR_DIFF_VEC shortening support.
- * stmt.c (fixup_var_1): Don't alter insn moving VAR to or from
- a subreg of a register.
+Sun Mar 8 02:17:42 1998 Jeff Law (law@cygnus.com)
- * cse.c (fold_rtx): Don't fold if result is not LEGITIMATE_CONSTANT_P.
- Construct all results in new local variable NEW; then test that
- and decide whether to return it or the original rtx.
+ * version.c: Bump for snapshot.
- * cse.c (cse_insn): When SRC_EQV is non-0 but set[0] has been
- cleared, don't insert SRC_EQV in hash table.
+Sat Mar 7 00:54:15 1998 Jeffrey A Law (law@cygnus.com)
- * All insns emitted by a define_expand become part of the SEQUENCE:
- * SEQUENCE now contains a vector of insns, not of bodies.
- * insn-emit.c (add_insn): If `emit_to_sequence' nonzero, add the
- insn to a separate chain, `sequence_first_insn'.
- (gen_sequence): Take everything on that chain and make a SEQUENCE.
- (emit_insn): Handle SEQUENCE differently since elts are now insns.
- (emit_insn_{before,after}): Handle SEQUENCE.
- (classify_insn): #if 0.
- * genemit.c (gen_expand): emit all the insns, then call gen_sequence
- to make the return value.
- Define two macros DONE and FAIL for use in a DEFINE_EXPAND:
- Use DONE to inhibit emission of the pattern of the DEFINE_EXPAND.
- Use FAIL to make the gen_... function return 0.
+ * 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.
-Mon Mar 14 12:47:28 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * basic-block.h (free_basic_block_vargs): Provide prototype.
- * expr.c (expand_expr): Extend the don't-sign-extend-enums hack
- to COMPONENT_REF. (See 3 March.)
+ * cccp.c (main): Fix dumb mistakes in last change.
- * tm-*.h (FUNCTION_ARG, etc.) New argument NAMED
- is nonzero for a named arg, zero for an anonymous extra arg.
- * expr.c (expand_call): Pass 1 for NAMED if appropriate.
- * expr.c (emit_library_call): Pass 1 for NAMED.
- * stmt.c (assign_parms): Pass 1 for NAMED.
+Fri Mar 6 21:28:45 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * cccp.c: Test __GNUC__, not __GNU__.
+ * rtl.h (addr_diff_vec_flags): New typedef.
+ (union rtunion_def): New member rt_addr_diff_vec_flags.
+ (ADDR_DIFF_VEC_FLAGS): New macro.
- * integrate.c (copy_and_substitute_rtx):
- Replacing a MEM parm with the parm value, convert mode if mismatch.
- Always use VOIDmode when generating SETs.
- Take heed of FIRST_PARM_OFFSET and distinguish arg-pointer
- from frame-pointer when they are different.
- (expand_inline_function): Handle (RETURN) insns, by creating a
- return_label which is output after the integrated code.
+ * sh.c (output_branch): Fix offset overflow problems.
- * parse.y (yylex): Condition for ignoring `inline' was backwards.
+ * 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. Similarly 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.
- * flow.c (mark_used_regs): Ignore STRICT_LOW_PART, so that
- an insn that sets STRICT_LOW_PART (and its source values) may be dead.
- (propagate_block): Always pass 1 for strict_low_ok to insn_dead_p.
+ * 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.
- * optabs.c (emit_unop_insn): Don't make a REG_RETVAL note.
- Change above deletes dead STRICT_LOW_PART stores without one.
+ * mips/mips.md (movdi): Add parentheses around && within ||.
+ (movsf, movdf): Likewise.
+ (branch_zero, branch_zero_di): Add default case in
+ enumeration switch.
- * optabs.c (expand_binop, expand_unop): If the library address
- is to be put in a pseudoreg, do it here, and make the REG_RETVAL
- note point after that.
+Thu Mar 5 02:45:48 1998 Richard Henderson <rth@cygnus.com>
- * expr.c (emit_library_call): Never defer stack-pops.
- Deletion of the library call by flow.c loses if they are deferred.
+ * 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.
- * cse.c (cse_insn): Handling of 68k's zero-extend was broken:
- it made the actual source and the REG_EQUAL source equivalent.
- * If dest is a STRICT_LOW_PART, ignore the actual source and use
- the REG_EQUAL source in its place. src_eqv's mode may be different
- from src's, so use proper mode in lookups or inserts for src_eqv.
- * Don't forget to set src_eqv_elt if src_eqv already has an elt.
- * On use_related_value for src_eqv, use src_eqv_elt.
+Thu Mar 5 02:41:27 1998 Richard Henderson <rth@cygnus.com>
- * toplev.c (main_input_filename): Name of file mentioned in first
- #-line in the input.
- (compile_file): Pass it to dbxout_init as 2nd arg.
- * dbxout.c (dbxout_init): Use 2nd arg to make the N_SO symbol.
- * parse.y (check_newline): Store main_input_filename.
+ * reload.c (find_reloads): Always force (subreg (mem)) to be
+ reloaded if WORD_REGISTER_OPERATIONS.
- * expr.c (move_block_to_reg): New function, copies a MEM:BLK
- to consecutive registers.
- (use_regs): New function to emit a USE for each reg in a series.
- (expand_call): Use the two new functions when a precomputed BLKmode
- arg is passed entirely in regs.
- (emit_push_insn): Use move_block_to_reg when PARTIAL > 0.
- Also, don't subtract USED from SIZE twice.
- Use plus_constant to add ARGS_SO_FAR so can use indexing on stack ptr.
+Thu Mar 5 02:14:44 1998 Richard Henderson <rth@cygnus.com>
- * varasm.c (assemble_integer_zero): Use rtx 0, not tree 0,
- to go with prev change in ASM_OUTPUT_INT.
+ * 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.
-Sun Mar 13 01:16:17 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
-
- * varasm.c (const_hash, compare_constant_1, record_constant_1):
- Handle NOP_EXPR and CONVERT_EXPR in constant expressions.
+Thu Mar 5 00:05:40 1998 Jeffrey A Law (law@cygnus.com)
- * optabs.c (expand_binop, expand_unop): When widening operands,
- those with VOIDmode (like CONST_INT) may be left alone.
+ * cccp.c (main): Avoid undefined behavior when setting pend_includes
+ and pend_files.
-Sat Mar 12 01:09:24 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Wed Mar 4 21:58:25 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
- * varasm.c (assemble_variable): When making a .comm or .lcomm,
- round size up to multiple of BIGGEST_ALIGNMENT.
+ * 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.
- * obstack.c (_obstack_newchunk): Eliminate fencepost causing copying
- to access the word past the end of the existing object.
+Wed Mar 4 12:11:36 1998 Jim Wilson <wilson@cygnus.com>
- * tm-vax.h, tm-ns32k.h: Define {INIT_,}CUMULATIVE_ARGS
- and upgrade FUNCTION_ARGS for new calling convention.
+ * mips.md (movdf_internal1a): Fix misplaced parenthesis in condition.
- * gcc.c: If -O, define __OPTIMIZE__.
- (do_spec_1): %c now scans SIGNED_CHAR_SPEC: define __CHAR_UNSIGNED__
- when appropriate whether or not it is the default.
+Wed Mar 4 18:47:48 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Fri Mar 11 16:49:25 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * final.c (final_scan_insn, case CODE_LABEL: Cleanup.
- * parse.y: Define YYDEBUG.
+Wed Mar 4 15:51:19 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * rtl.c (rtx_unstable_p): New function, same as old rtx_varies_p.
- * explow.c (stabilize): Use rtx_unstable_p.
- * rtl.c (rtx_varies_p): Ignore `unchanging' (undoing previous change
- in this function) because `unchanging' doesn't enable cse to compare
- the value with any particular constant value.
- * rtl.c (insn_store_addr_varies_p): Delete, since not used.
+ * final.c (shorten_branches): Tag the loop alignment onto the
+ first label after NOTE_INSN_LOOP_BEG even if there is an
+ intervening insn.
- * hard-reg-set.h (COPY_HARD_REG_SET, etc.) non-scalar case:
- Rename and rearrange temp variables to avoid name conflicts with args.
+Tue Mar 3 21:48:35 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * regclass.c (reg_class_record): Don't smash class to GENERAL_REGS
- and don't exit prematurely, when `r' or `g' is seen. Must merge
- GENERAL_REGS with previously determined desired class.
+ * final.c (insn_current_reference_address):
+ Use SEQ instead of BRANCH as argument to align_fuzz, to get a
+ proper alignment chain.
- * expr.c (expand_call) [no PUSH_ROUNDING]: When pushing the arg
- block, try to reuse some of the pending_stack_adjust.
+ * 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.
- * cse.c: qty_const can now hold values (PLUS frame_pointer integer).
- Effect is that storing into a structure doesn't invalidate
- mem refs to scalar stack variables via addresses in registers.
- (insert): Load such values into qty_const, like true constants.
- (fold_rtx): Ignore qty_const if it isn't really a constant.
+Tue Mar 3 14:27:23 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * expr.c (expand_expr) VAR_DECL: Copy DECL_RTL before calling
- change_address, so it isn't permanently clobbered.
+ * sparc.c (ultrasparc_adjust_cost): Add default case in
+ enumeration switch.
- * stmt.c (fixup_var_refs_1): Make sure the stack slot address
- is valid by calling fixup_stack_1 each time it is substituted.
+ * sparc.h: Add prototypes for extern functions defined in
+ sparc.c.
- * stmt.c (fixup_stack_1): Return the altered rtx.
- If it's a MEM in the stack, return a copy of it.
+Tue Mar 3 10:00:11 1998 Nick Clifton <nickc@cygnus.com>
- * stmt.c (fixup_stack_slots): #if 0.
- * stmt.c (expand_finish_function): Don't call fixup_stack_slots
- because fixup_stack_1 is called elsewhere when necessary.
+ * toplev.c: Only generate <name>.dbr file when dumping RTL if
+ DEALY_SLOTS is defined.
- * reload.c (find_reloads_address): New arg is location of the MEM
- whose address is being reloaded. So we copy the MEM if it
- is one that can be shared. New arg 0 means no need to copy the MEM.
- All callers pass the new arg.
+Tue Mar 3 07:36:37 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * stmt.c (assign_parms): Determine parm stack-size from
- the DECL_ARG_TYPE, not from the TREE_TYPE.
- Else loses when parm is declared `float' but passed as `double'.
+ * reorg.c (fill_eager_delay_slots): Add new argument delay_list
+ in call to fill_slots_from_thread.
- * emit-rtl.c (make_safe_from): Constants are already safe.
- Use proper machine mode for temp reg when needed.
+Mon Mar 2 13:45:03 1998 Richard Henderson <rth@cygnus.com>
-Thu Mar 10 14:35:14 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * alpha/linux.h (CPP_PREDEFINES): Correct connecting whitespace
+ to SUB_CPP_PREDEFINES. Reported by asun@saul4.u.washington.edu.
- * expr.c (emit_push_insn): Don't pass wrong type to plus_constant
- (case where there is no PUSH_ROUNDING).
+Mon Mar 2 22:59:28 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * expr.c (expand_call): Round partial[i] down to multiple of
- PARM_BOUNDARY before subtracting it from arg size on stack.
- Compute these sizes just once and keep them in vector `arg_size'.
- * expr.c (emit_push_insn): Handle `partial' uniformly, in accord
- with this new convention for how it affects the stack size.
- * stmt.c (assign_parms): Round NREGS down to PARM_BOUNDARY likewise.
+ * 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.
- * obstack.h (obstack_free macro) [Not __GNUC__ but __STDC__]:
- Don't cast result of (obstack_free) to (int); just ignore it.
+Mon Mar 2 01:05:50 1998 Jeff Law (law@cygnus.com)
- * reload.c (find_reloads): Initialize operand_reloadnum.
+ * version.c: Bump for snapshot.
- * optabs.c (emit_unop_insn): New argument CODE, used to make
- a REG_EQUAL note from operand OP0 if more than one insn results.
- Also a REG_RETVAL note.
- * expr.c (convert_move): Pass CODE arg to emit_unop_insn.
- * flow.c (propagate_block): Use insn_dead_p to decide whether
- to handle a REG_RETVAL note by skipping some insns.
- Always pass 1 for STRICT_LOW_OK for an insn that has a REG_RETVAL note.
- Handle case where REG_RETVAL points at an insn that's deleted.
- * flow.c (insn_dead_p): New operand STRICT_LOW_OK says an insn
- that sets STRICT_LOW_PART may be considered dead.
+Mon Mar 2 00:52:18 1998 Jeff Law (law@cygnus.com)
- * expr.c (expand_expr): Once again canonicalize X-C to X+(-C).
- Change on March 1 made it stop doing this.
+ * version.c: Bump for snapshot.
-Wed Mar 9 01:25:35 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Sun Mar 1 18:25:49 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
- * loop.c (move_movables): Don't always mark the moved reg
- as equivalent to a constant value: not if it is being cleared
- to zero-extend something or if it is used outside the loop.
+ * reorg.c (fill_slots_from_thread): Don't steal delay list from target
+ if condition code of jump conflicts with opposite_needed.
- * expr.c (move_by_pieces_1): Finish last change.
+ * 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.
- * stmt.c (assign_parms): Update stack_args_size properly.
- Figure FIRST_PARM_OFFSET when making the stack mem refs.
+Sun Mar 1 18:26:21 1998 Ken Rose (rose@acm.org)
- * cse.c (insert): Build the related_value lists in the opposite order
- so that the oldest element in the chain is the one that follows
- the most basic element.
+ * reorg.c (fill_slots_from_thread): New parameter, delay_list.
+ All callers changed.
- * expr.c (expand_expr): COMPONENT_REF case: criterion for
- converting the the result is if MODE1 (its mode of arrival) isn't
- a mode we want.
+Sun Mar 1 18:25:37 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
- * toplev.c (rest_of_compilation): Fix typo setting TREE_ASM_WRITTEN.
+ * 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.
-Tue Mar 8 13:18:37 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Sun Mar 1 18:06:21 1998 Jeffrey A Law (law@cygnus.com)
- * cse'ing of library calls.
+ * ginclude/va-ppc.h (va_arg): Fix typo in long long support.
- * expr.h: type `optab' is now a ptr to a struct.
- The old contents are now the `handlers' element.
- The `code' element gives the RTL code for the kind of expression
- this optab makes (PLUS for add_optab, etc.)
- Every var formerly declared `struct optab *' is now just `optab'.
+ * i386.c (reg_mentioned_in_mem): Fix dangling else statement.
- * optabs.c (init_optab, init_optabs): New function to init an optab
- and set its `code'. Used in init_optabs.
+ * fold-const.c (fold_range_test): Always return a value.
- * optabs.c (expand_binop, expand_unop): Use the `code' field
- to add a REG_EQUAL note to the insn that copies a libcall's
- value into a pseudo. Also a REG_RETVAL note pointing at the
- first insn for setting up args for the call.
+Sun Mar 1 17:57:34 1998 Mumit Khan <khan@xraylith.wisc.edu>
- * cse.c (cse_insn): Process REG_EQUIV and REG_EQUAL datum almost like
- another set-src; put the actual src into the equivalence class of that.
+ * config/i386/winnt.c (i386_pe_unique_section): Put read-only
+ data in the text section unless READONLY_DATA_SECTION is defined.
- * flow.c (propagate_block): If a dead insn has a REG_RETVAL reg-note,
- either ignore or delete all the insns back to the insn the REG_ARG
- note points to.
+Sun Mar 1 17:48:46 1998 Jeffrey A Law (law@cygnus.com)
- * local-alloc.c (block_alloc): Don't refrain from allocating a
- "constant" register if the constant value isn't ok for an immediate op.
+ * c-parse.in (undeclared variable error): Tweak error message to
+ be clearer.
+Sun Mar 1 10:22:36 1998 Jeff Law (law@cygnus.com)
- * dbxout.c (CONTIN): If DBX_CONTIN_LENGTH is <= 0, do nothing.
+ * version.c: Bump for snapshot.
- * cccp.c: Extra default include dirs for C++.
- * cccp.c (main): For -M, strip dirs from object file name.
+1998-02-28 Mark Mitchell <mmitchell@usa.net>
- * rtl.c (find_reg_note): New function.
+ * final.c (final_scan_insn): Undo overzealous removal of `set'.
- * expmed.c (store_fixed_bit_field): Don't AND with VALUE
- if VALUE's original mode had no more bits than we want.
+Sat Feb 28 07:54:03 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * expr.c (emit_library_call): Use varargs.
+ * pa.h (CONST_COSTS): When checking the CONST_DOUBLE enumerated
+ case, add parentheses to specify the proper order of precedence in
+ the if-statement.
- * integrate.c (copy_and_substitute_rtx): Recognize arg_pointer_rtx
- and translate it just like frame_pointer_rtx.
+ * c-aux-info.c: Include string.h/strings.h.
-Mon Mar 7 00:48:33 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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 ||.
- * expmed.c (extract_fixed_bit_field):
- Shift counts were wrong for narrow MODE in signed case.
- Do the sign-extending shifts in the narrowest mode possible.
- Reduce big-endian case to little-endian case.
- Delete SLOW_ZERO_EXTEND conditional.
+ * pa.h: Add prototypes for pa_reorg, symbolic_operand,
+ following_call, function_label_operand, lhs_lshift_cint_operand
+ and zdepi_cint_p.
- * Implement constants in memory for RISC machines
- with limited abilities for immediate args and constant addresses.
+ * pa.md: Add parentheses around && within ||.
- * genoutput.c (output_epilogue): Empty predicate-name
- is output as 0 in insn_operand_predicate.
+ * cppalloc.c: Include stdlib.h.
- * expr.c (expand_expr): Change 4th arg to an `enum expand_modifier'
- Value EXPAND_SUM corresponds to old nonzero 4th arg.
- Value EXPAND_CONST_ADDRESS means ok to return an invalid MEM
- whose address is a constant. Changes for this case in ADDR_EXPR,
- COMPONENT_REF and ..._DECL.
+ * cpperror.c (cpp_print_containing_files): Remove unused variable
+ `i'. Fix format specifier in fprintf.
- * varasm.c (output_arith_constant): Function deleted.
- * tm-*.h: (ASM_OUTPUT_{INT,SHORT,CHAR}): 2nd arg is now an RTX
- and output it using `output_addr_const'.
- * varasm.c (output_constant): Change uses of those macros.
+ * cse.c (cse_around_loop): Add explicit braces to avoid
+ ambiguous `else'.
+ (delete_dead_from_cse): Wrap variable `tem' in macro HAVE_cc0.
- * varasm.c (init_const_rtx_hash_table): Initialize constant pool
- for a new function. Called from `expand_function_start'.
- * varasm.c (force_const_mem): Turn a constant rtx into a MEM rtx
- which refers to the constant pool. Other new subroutines too.
- (force_const_double_mem): Use force_const_mem to make the MEM.
- (immed_real_const): No longer record the REAL_CST node in the rtx.
+ * expr.c (expand_expr): Add parentheses around && within ||.
- * explow.c (force_reg): If arg is a constant and not legitimate,
- put it in the constant pool with force_const_mem.
- Mark the register as equivalent to the constant value.
- * expr.c (emit_move_insn): Likewise.
- * explow.c (break_out_mem_refs): Use force_reg to put into a reg.
- * explow.c (memory_address): Likewise.
- * expr.c (expand_expr): ADDR_EXPR case: likewise.
+ * 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.
- * expr.c (expand_call): Do force_reg on each register-operand
- so it will go through a pseudo and can be cse'd.
+ * 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.
- * recog.c (immediate_operand, nonmemory_operand, general_operand):
- For constant operands, use LEGITIMATE_CONSTANT_P to decide value.
- * tm-*.h: Define LEGITIMATE_CONSTANT_P.
+ * integrate.c (expand_inline_function): Wrap variable
+ `cc0_insn' in macro HAVE_cc0.
- * reload1.c (reload): Invalid constants can't go in reg_equiv_constant.
+ * jump.c (jump_optimize): Wrap variable `q' in macro
+ HAVE_cc0. Remove unused variable `prev1'.
-Sun Mar 6 22:49:06 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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.
- * reload.c (push_reloads): If IN occurs within OUT,
- don't reuse an existing input-only reload. Otherwise would lose on
- (set (mem (plus R C)) (plus R C1)) if R is available in a spill reg.
+ * local-alloc.c: Include stdlib.h.
+ (requires_inout): Add parentheses around assignment used
+ as truth value.
- * reload1.c (choose_reload_targets): Don't choose an inherited
- reload register that's in use for another reload.
- Without this, above change doesn't have an effect.
+ * 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.
- * Implement the `unchanging' flag in MEM and REG rtx's.
- Also simplify code with a new subroutine `change_address'.
+Fri Feb 27 11:02:47 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * emit-rtl.c (change_address): Return new memory ref like an old
- one but with specified mode and address.
- * expmed.c (extract{,_split,_fixed}_bit_field): Use change_address.
- (store{,_split,_fixed}_bit_field): Likewise.
- * expr.c (store_expr, expand_expr): Likewise.
+ * invoke.texi: Use @itemx for a secondary item in a @table.
- * expr.c (move_by_pieces): Args now memrefs, not addresses.
- Eliminate the FROM_VOL and TO_VOL args since the memrefs indicate.
- Change the structure `struct move_by_pieces' similarly.
- (move_by_pieces_1): Same changes; use change_address.
- (emit_block_move, emit_push_insn): Calls to move_by_pieces changed.
+ * config/m68k/m68k.md (movsf+1): Optimize moving a CONST_DOUBLE
+ zero.
- * integrate.c (copy_rtx_and_substitute): Use change_address;
- handle ->unchanging field.
+Thu Feb 26 00:13:21 1998 Ian Lance Taylor <ian@cygnus.com>
- * rtl.c (rtx_varies_p): Regs or memrefs with ->unchanging don't vary.
- (copy_rtx): Perserve ->unchanging.
- (print_rtx): Print ->unchanging as /u.
+ * choose-temp.c: Fix handling of sys/file.h to work in libiberty.
- * stmt.c (expand_decl): Set ->unchanging on `const' decls.
- (fixup_memory_subreg): Use change_address.
- (assign_parms): Record in the rtl which parms are volatile or const.
+Wed Feb 25 23:40:54 1998 Jeffrey A Law (law@cygnus.com)
- * varasm.c (assemble_variable): Set ->unchanging on `const' decls.
- (output_constant_def): Always set ->unchanging for constant refs.
+ * 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.
- * cse.c (canon_hash): Don't treat a MEM as "in memory"
- if its ->unchanging bit is set.
+Wed Feb 25 01:31:40 1998 Jeffrey A Law (law@cygnus.com)
- * loop.c (invariant_p): A REG or MEM with ->unchanging is invariant
- (for a MEM, the address must be invariant).
+ * c-parse.y (undeclared variable error): Tweak error message
+ to be clearer.
-Sat Mar 5 13:22:11 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Tue Feb 24 23:54:07 1998 Richard Henderson <rth@cygnus.com>
- * genconfig.c (walk_insn_part): DO consider MATCH_DUPs
- when calculating MAX_RECOG_OPERANDS.
- (gen_expand): define_expand is now different from define_insn.
- Compute max # SETs or CLOBBERs for any one sub-insn in a define_expand,
- instead of summing them all. And don't count the MATCH_DUPs at all.
+ * 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.
- * genemit.c (max_operand_1): Record largest opno in a MATCH_DUP
- separately from largest in a MATCH_OPERAND.
- (gen_expand): An operand # with only MATCH_DUPs gets
- a local variable in the gen_ function we output.
+Mon Feb 23 15:09:18 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
+ * config.sub (sco5): Fix typo.
- * integrate.c (save_for_inline): Delete vestige of NOTE_INSN_IS_DECL.
+Mon Feb 23 18:19:31 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * cse.c (invalidate): Handle subregs.
- (cse_ins, invalidate_from_clobbers): Do call `invalidate' for subregs.
- (insert_regs): When assigning one subreg from a like one,
- make the two regs equivalent.
- (cse_insn): Do call insert_regs when dest is a subreg.
+ * 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.
- * expr.c (expand_call): Precompute all args going via hard regs
- since even arithmetic could require a library call.
+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.
-Fri Mar 4 15:48:17 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+1998-02-23 Mike Stump <mrs@wrs.com>
- * stor-layout.c (layout_parms): Function deleted.
- * stmt.c (expand_function_start): Don't call it.
+ * configure.in: Add support for i386-wrs-vxworks configuration.
+ * i386/vxi386.h: New file.
- * stmt.c (assign_parms):
- stack_args_size counts size of args so far passed on stack.
- Use PARM_BOUNDARY when counting it; derive stack offsets from it.
- Set current_function_args_size from it.
+Sun Feb 22 21:16:51 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
- When an arg is split between regs and stack, make stack space
- for the rest of it, and count it.
- In a varargs function, push the last arg onto the stack.
- When an arg is passed in regs alone, don't remember a stack slot
- for it, and if it needs one, use assign_stack_local.
+ * 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.
- Set DECL_OFFSET to the stack offset, or -1 if parm came in regs.
+Sun Feb 22 20:58:19 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (expand_call): Anonymous args of a varargs function
- are always passed on the stack.
+ * vms.h (SELECT_SECTION): Use TREE_CODE_CLASS correctly.
- * varasm.c (force_const_double_mem): Copy the MEM rtx
- if it may need to be smashed by reloading.
+1998-02-22 Paul Eggert <eggert@twinsun.com>
- * genemit.c (gen_expand): define_expand must have nonempty pattern
- even though, due to `return' statements in the code-to-run,
- that pattern may not be used to generate code.
+ * 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.
-Thu Mar 3 17:08:43 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Sun Feb 22 20:07:32 1998 Jim Wilson <wilson@cygnus.com>
- * expr.c (expand_expr): If supposed to sign-extend an enum
- which is never negative, zero-extend instead (unless SLOW_ZERO_EXTEND).
- (store_expr): Likewise.
+ * iris5.h (DWARF2_UNWIND_INFO): Define to 0.
+ * iris5gas.h (DWARF2_UNWIND_INFO): Define to 1.
- * reload.c (find_reloads): 'm' for CONST_DOUBLE: clear BADOP, not BAD.
- After force_const_double_mem, do find_reloads_toplev on the MEM.
- (find_reloads_address): Handle constant addresses (on machines
- that don't allow them).
+Sun Feb 22 15:29:48 1998 Richard Henderson <rth@cygnus.com>
- * final.c (set_current_gdbfile): New fn, get the gdbfile structure
- for specified filename.
- (output_source_line): Use set_current_gdbfile for the file.
- * varasm.c (assemble_variable): Call set_current_gdbfile
- for the declaration's source file, so GDB won't ignore the file.
+ * objc/Object.m (-error): Call objc_verror with our va_list.
- * varasm.c (force_const_double_mem): Build a new REAL_CST node
- and get its data type from the machine mode of the CONST_DOUBLE.
- (immed_real_const): Don't save the REAL_CST tree node.
- * typecheck.c (get_floating_type): Return float type for given mode.
+Sun Feb 22 09:45:39 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * integrate.c (expand_inline_function): Ignore the (USE (REG...))
- (for the return-register) at the end of the inline function.
- After a CALL_INSN, imagine the (SET (REG ...) (REG ...)) for
- the return-register if the return-register isn't explicitly used.
+ * collect2.c (scan_prog_file): Completely cover uses of variable
+ `exports' with macro COLLECT_EXPORT_LIST.
-Wed Mar 2 22:08:49 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Sat Feb 21 20:36:23 1998 Jeff Law (law@cygnus.com)
- * typecheck.c (build_array_ref): Do default_conversion on INDEX.
+ * version.c: Bump for snapshot.
-Tue Mar 1 15:49:34 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Fri Feb 20 16:22:13 1998 Michael Meissner <meissner@cygnus.com>
- * expr.c (expand_call): Always get a SYMBOL_REF for a fixed function.
- If may be alloca, set may_call_alloca.
- (gen_call_1): Never put a SYMBOL_REF through `memory_address';
- but if function cse is wanted, just copy it to a register.
- If NO_FUNCTION_CSE is defined, never do function cse.
+ * 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.
- * expr.c (init_expr): New function, does init_queue and inits
- other things.
+1998-02-20 Jason Merrill <jason@yorick.cygnus.com>
- * stmt.c (expand_function_start): Call init_expr, not init_queue.
+ * collect2.c (main): Still handle !do_collecting for non-AIX targets.
- * optabs.c (expand_binop): Don't clobber OP0 and OP1
- if may call delete_insns_since later.
+1998-02-16 Mark Mitchell <mmitchell@usa.net>
- * expr.c (emit_library_call): PUSH_ARGS_REVERSE test was backwards.
+ * toplev.c (rest_of_compilation): Do not defer the output of a
+ nested function.
- * cse.c (cse_insn): Do canon_reg on the size and position operands
- in a ZERO_EXTEND or SIGN_EXTEND that is a destination.
+Fri Feb 20 10:39:47 1998 Michael Tiemann <michael@impact.tiemann.org>
- * tm-*.h: Define SLOW_BYTE_ACCESS.
- * expmed.c ({store,extract}_fixed_bit_field):
- If SLOW_BYTE_ACCESS, get/set all bit fields from full words.
+ * ginclude/va-mips.h (va_arg): Remove trailing space after '\'
+ continuation character (line 243).
- * combine.c (subst): Simplify
- (zero_extend:SI (subreg:QI (zero_extract ...))).
- * combine.c (simplify_and_const_int): Simplify
- (and (zero_extract ...) (const_int ...)).
+Fri Feb 20 12:10:26 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
- * local-alloc.c (qty_compare{,_1}): Test of qty_phys_sugg was reversed.
- (combine_regs): If one pseudo gets two suggested hard regs
- (one at birth and one at death), prefer the one from birth
- unless we see at death that it's no good.
+ * genrecog.c (main): Remove duplicated sentence in emitted comment.
- * expr.c (expand_expr): Ignore sum_ok unless mode is Pmode.
- Don't use force_operand unless sum_ok is set.
+Thu Feb 19 22:36:53 1998 Andrey Slepuhin <pooh@msu.net>
+ David Edelsohn <edelsohn@mhpcc.edu>
-Mon Feb 29 19:23:50 1988 Richard Stallman (rms at wheaties.ai.mit.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.
- * expr.c (emit_move_insn): When a CONST_DOUBLE needs moving
- by pieces, force it into memory, unless it is dconst0_rtx,
- in which case each piece is const0_rtx.
- (emit_push_insn): Likewise. Also, write code for pushing a
- non-BLK mode which has no "mov" insn defined, but only
- in the case where there is no PUSH_ROUNDING.
+Thu Feb 19 22:36:52 1998 Robert Lipe <robertl@dgii.com>
- * expr.c (do_tablejump): Put constant term in address last.
+ * collect2.c (full_real_ld_suffix): #ifdef CROSS_COMPILE.
- * toplev.c (xrealloc): On error, call fatal instead of abort.
+1998-02-19 Mike Stump <mrs@wrs.com>
- * optabs.c (emit_cmp_insn): If genning from tst_optab,
- make the operand fit its predicate.
+ * Makefile.in: Use $tooldir for sys-include to match toplevel
+ configure.
- * optabs.c (expand_float): Don't adjust stack between cmp and jump.
+Thu Feb 19 01:32:37 1998 Jeffrey A Law (law@cygnus.com)
+ Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * optabs.c (expand_binop): Recursive calls can return 0; handle
- that event by deleting any preparatory insns. Also don't smash
- TARGET when this happens.
+ * emit-rtl.c (gen_lowpart_common): Suppress last change if __complex__.
- * reload.c (push_reload): If IN != *INLOC, set reload_nocombine.
- (combine_reloads): Don't combine an input reload with reload_nocombine.
+ * 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.
- * jump.c (jump_optimize): Don't delete stack adjusts unless
- EXIT_IGNORE_STACK is nonzero.
- * expr.c (clear_pending_stack_adjust): Likewise.
- * tm-*.h: When EXIT_IGNORE_STACK is defined, give it `1' as defn.
+ * combine.c: Revert previous patch.
- * expr.c (expand_call): Initialize args_size.
- Don't push a block if args_size is 0.
- (emit_library_call): Don't include register-args (or reg-parts
- of partial ones) in args_size.
- Don't push a block if args_size is 0.
+1998-02-19 Paul Eggert <eggert@twinsun.com>
- * expr.c (expand_expr): For DECLs in memory, check the address
- validity with memory_address_p, and preserve volatility info.
+ * config/sparc/sol2-sld.h: New file.
+ * configure.in (sparc-*-solaris2*): Use it when using the
+ system linker.
- * stmt.c (expand_function_end): fixup_gotos needs 2 args.
+Thu Feb 19 00:46:59 1998 Jeffrey A Law (law@cygnus.com)
- * jump.c (mark_jump_label): If INSN is 0, don't set its JUMP_LABEL.
- Inside an ADDR_VEC or ADDR_DIFF_VEC, recurse with 0 for INSN.
+ * loop.c (force_movables): Fix typo.
- * varasm.c (force_const_double_mem): Must zero TREE_CST_RTL
- before output, or nothing will happen.
+Thu Feb 19 08:26:30 1998 Manfred Hollstein <manfred@s-direktnet.de>
-Sun Feb 28 01:08:53 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * m88k.h: Change file pattern to match reality.
- * optabs.c (emit_unop_insn): Generate and emit an insn
- given the insn-code and the two operands (one out, one in).
- Can move the operands into registers when needed for various
- reasons.
- * expr.c (convert_move): Use emit_unop_insn for outputting the
- conversion insns.
+Wed Feb 18 23:19:52 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (emit_library_call): Use arg's nominal mode to choose
- a reg to pass it in, not actual mode (which can be VOIDmode).
+ * varasm.c (output_constant_pool): Fix dumb thinko in last
+ change.
- * insn-emit.c (emit_insn): If arg is empty SEQUENCE, do nothing.
+ * pa.h (ASM_OUTPUT_FUNCTION_PREFIX): Correctly translate from
+ a function name to a section name.
- * genemit.c (gen_expand): Scan the rtl-pattern for predicates
- and machine modes of the operands.
+1998-02-18 Doug Evans <devans@cygnus.com>
- * m68k.d (dbra patterns): Add HPUX_ASM conditionals.
+ * 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.
- * rtl.c (reg_mentioned_p): Use "equal", not "eq", when
- REG isn't a register.
- * reload.c (combine_reloads): Verify not reg_mentioned_p even if
- the input reload's value isn't a register.
+1998-02-18 Jim Wilson <wilson@cygnus.com>
- * reload.c (operands_match_p): If successful and 2nd arg
- has a pre-increment that matches a non-increment, return 2.
+ * c-decl.c (shadow_tag_warned): Call split_specs_attrs.
- * reload1.c (reload): At end, clobber a pseudoreg to a MEM
- even if it's an out-of-range address. It doesn't affect the
- assembler code in this case, but it makes the dbx output correct.
+Wed Feb 18 09:09:50 1998 Jeffrey A Law (law@cygnus.com)
- * recog.c (constrain_operands): When operands_match_p returns 2,
- in the constraint alternative that is ultimately successful,
- copy the output operand from the input that it matched
- so that the assembler insn that is output shows the pre-increment.
+ Remove this change until we can fix it correctly.
+ * collect2.c: Bracket declaration of 'exportf' and
+ 'full_real_ld_suffix'.
-Sat Feb 27 15:16:47 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Wed Feb 18 08:44:25 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
- * combine.c (subst): When optimizing
- (set (zero_extract ...) (and (zero_extract ...) const))
- must arrange to have 1's, not 0's, shifted into low bits of const.
+ * Makefile.in (STAGESTUFF): Add genrtl.c, genrtl.h and gengenrtl.
- * decl.c (grokdeclarator): When return-type defaults to int,
- don't warn, just set warn_about_return_type.
- (start_function): See that variable and warn, after starting function.
+Tue Feb 17 23:30:20 1998 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
- * toplev.c (count_error): No longer print newline if not quiet.
- (report_error_function): If not quiet, print a newline if
- printing anything, and don't print the function name.
+ * 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.
- * reload1.c (choose_reload_targets):
- Fix the loop that checks for consecutive available spill regs.
- Set `have_groups' nonzero if any reload wants a group.
- In that case, for non-group reloads, prefer a reg that can't be in
- group, or else one that has only one available neighbor.
+Tue Feb 17 23:56:50 1998 Robert Lipe <robertl@dgii.com>
- * reload1.c (reload): Find separately the max need for each class
- for single registers, groups of registers, and single registers
- not in any group. (The last one counts non-group reloads
- in insns that have at least one group reload.)
- Then make sure enough of each kind are found.
+ * sco5.h (ASM_OUTPUT_DOUBLE, ASM_OUTPUT_FLOAT,
+ ASM_OUTPUT_LONG_DOUBLE): Delete. Use the ones from i386.h
+ instead.
- * expmed.c: Now needs flags.h and recog.h (therefore insn-config.h).
+Tue Feb 17 22:56:14 1998 Richard Henderson <rth@cygnus.com>
- * expmed.c (store_bit_field):
- Delete redundant protect_from_queue.
- Force VALUE out of memory if -fforce-mem.
- If insv's predicate for VALUE wants a register, put it there.
+ * 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.
- * expmed.c (extract_bit_field):
- Force TARGET out of memory if -fforce-mem.
- If insv's predicate for TARGET wants a register, put it there.
+Tue Feb 17 22:37:22 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Fri Feb 26 00:12:48 1988 Richard Stallman (rms at wheaties.ai.mit.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'.
- * reload1.c (eliminate_frame_pointer): Don't check for pushes
- unless PUSH_ROUNDING is defined.
+ * Makefile.in (fold-const.o): Depend on system.h.
- * reload.c: Don't define REG_OK_FOR_{INDEX,BASE}_P
- (since the tm file is supposed to do it).
+ * Makefile.in (gcc.o): Depend on system.h, in accordance with last
+ change to gcc.c.
- * expr.c (emit_push_insn, expand_call):
- Don't use PUSH_ROUNDING if it's not defined.
+ * 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): Explicitly 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'.
- * expr.c (preexpand_calls): Do nothing for constants and decls.
+ * Makefile.in ($(SCHED_PREFIX)sched.o): Depend on system.h.
- * expr.c (expand_call, emit_library_call): When PUSH_ROUNDING
- is not defined, use ROUND_CALL_BLOCK_SIZE to round the size
- of the block of arguments.
+Tue Feb 17 22:31:04 1998 Jeffrey A Law (law@cygnus.com)
- * expr.c (expand_call): Don't count register-args in ARGS_SIZE.
+ * loop.c (rtx_equal_for_loop_p): Add some braces to disambiguate
+ a dangling else clause.
- * rtl.h, emit-rtl.c: Create static_chain_incoming_rtx
- and struct_value_incoming_rtx.
- * stmt.c (expand_function_start): Use ..._incoming_rtx where needed.
+Tue Feb 17 21:28:12 1998 Gavin Koch <gavin@cygnus.com>
- * expr.c (expand_call): Use new macros INIT_CUMULATIVE_ARGS,
- CUMULATIVE_ARGS and FUNCTION_ARG_ADVANCE to update data
- on args scanned so far.
- (emit_library_call): Likewise.
- * stmt.c (assign_parms): Likewise.
- * tm-spur.h, tm-m68k.h: Define these macros.
+ * mips/mips.h (CAN_ELIMINATE): Don't eliminate the frame
+ pointer for the stack pointer in MIPS16 and 64BIT.
- * rtl.h (NUM_MACHINE_MODES): NUM_MACHINE_MODE renamed.
- * rtl.c, genrecog.c: Change places it is used.
+Tue Feb 17 21:17:30 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
- * cccp.c (output_line_command): line_cmd_buf should be chars, not ints.
+ * 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.
-Thu Feb 25 13:33:29 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Tue Feb 17 10:14:32 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * genemit.c (gen_expand): Don't lose if pattern is empty-vector.
+ * i386.md (adddi3): Add =!r,0,0,X alternative.
- * genconfig.c (gen_insn): Don't lose if pattern is empty-vector.
+Mon Feb 16 16:13:43 1998 David Edelsohn <edelsohn@mhpcc.edu>
- * expr.c (expand_expr): For COMPONENT_REF, don't convert to tmode
- unless the mode we get is unacceptable.
+ * rs6000.h (MY_ISCOFF): Add numeric value of U803XTOCMAGIC.
+ * x-aix31 (INSTALL): Delete.
- * loop.c (scan_loop, move_movables): New field `partial' is 1 for
- zero-extending clr insn; don't make the reg invariant when it's moved.
+Mon Feb 16 09:24:32 1998 Gavin Koch <gavin@cygnus.com>
- * optabs.c (expand_unop, expand_binop, emit_cmp_insn):
- mode-argument to predicates was missing.
+ * mips/mips.c (mips_expand_epilogue): Update tsize_rtx if
+ tsize changes to something other than zero.
- * optabs.c (expand_binop): If gen-function returns 0, this means
- the insn wasn't available.
+Mon Feb 16 09:11:48 1998 Gavin Koch <gavin@cygnus.com>
- * reload.c (find_reloads): Don't make optional reloads for operands
- that match other operands.
+ * ginclude/va-mips.h: Replace casts of pointers to int with
+ casts of pointers to __PTRDIFF_TYPE__.
- * reload.c (combine_reloads): Reject optional output reload.
+Mon Feb 16 08:17:14 1998 John Carr <jfc@mit.edu>
- * reload.c (find_equiv_reg): Know that CALL_INSNs clobber memory.
+ * loop.c (strength_reduce, record_biv, record_giv): Use
+ HOST_WIDE_INT_PRINT_DEC to print CONST_INT values.
- * typecheck.c (build_binary_op_nodefault):
- If doing a short shift, leave the shift-count as a fullword.
+1998-02-16 Jason Merrill <jason@yorick.cygnus.com>
-Tue Feb 23 14:43:46 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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.
- * combine.c (subst): Count, in n_occurrences, # times FROM is seen.
- (try_combine): Refuse to combine x=*y++ into z = x*x.
+Sun Feb 15 23:28:44 1998 Jeffrey A Law (law@cygnus.com)
- * loop.c (invariant_p): Frame pointer and arg pointer are invariant.
- (move_movables): Don't forget to set ->done!
- When moving the matching movables, don't forget to set n_times_set.
+ * 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.
- * expmed.c (expand_shift): Reorder strategies for logical shift;
- if widening, try all ashift strategies before extzv.
+Sun Feb 15 21:33:55 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * typecheck.c (build_binary_op_nodefault):
- Always return error_mark if either operand is one.
+ * 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".
- * recog.c (nonmemory_operand): New predicate.
+ * 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.
- * optabs.c (expand_unop, expand_binop, emit_cmp_insn):
- Don't treat `register_operand' as special. Apply the predicate
- to the rtx; if the predicate fails, use a register instead.
+Sun Feb 15 17:05:41 1998 Jim Wilson <wilson@cygnus.com>
-Mon Feb 22 22:37:32 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * mips/mips.h (INITIAL_ELIMINATION_OFFSET): Readd Jun 6 change.
- * expr.c (expand_calls): Preexpand all calls in arguments
- that are passed in regs before copying any of them into the regs.
+Sun Feb 15 15:23:15 1998 John Carr <jfc@mit.edu>
- * expr.c (emit_push_insn): Three more args.
- EXTRA for extra space to leave.
- ARGS_ADDR and ARGS_SO_FAR for using move-insns on machines
- that lack true push insns.
+ * alias.c: Include <stdlib.h> and <string.h>.
+ (init_alias_analysis): Pass NULL_RTX instead of 0 to record_set.
- * expr.c (emit_library_call, expand_call):
- Use the new arguments of `emit_push_insn'.
+Sat Feb 14 11:23:09 1998 Jeff Law (law@cygnus.com)
- * expr.c (PUSH_ARGS_REVERSED): defined if handle args last-to-firs.
+ * version.c: Bump for snapshot.
-Sun Feb 21 12:17:59 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Sat Feb 14 05:08:21 1998 Richard Earnshaw (rearnsha@arm.com)
- * toplev.c (rest_of_compilation): Set TREE_ASM_WRITTEN
- when a function is really output as assembler code.
- Don't do inlining of a function that is already made inline;
- instead, output it as assembler code, because this must be
- the second call for that function.
+ * arm.md (movsfcc): Also validate operands[3] when compiling hard
+ float.
+ (movdfcc): Only accept fpu_add_operand for operands[3].
- * decl.c (finish_compilation): Delete it.
- * toplev.c (compile_file): Output pending inline functions at the end
- in the same way tentative-defined variables are output.
+ * arm/t-semi (STMP_FIXPROTO): Define to nothing.
+ * arm/t-semiaof (STMP_FIXPROTO): Likewise.
- * emit-rtl.c (restore_reg_data): New fn: given chain of insns,
- restore emit-rtl's data on registers from the regs they use.
+Sat Feb 14 02:02:41 1998 Jeffrey A Law (law@cygnus.com)
- * integrate.c (output_inline_function): Use restore_reg_data.
- (fill_regno_reg_rtx_as_needed): Now restore_reg_data_1 in emit-rtl.c.
+ * varasm.c (output_constant_pool): Bring back 'done' label inside
+ an appropriate #ifdef.
- * tree.c (build_decl): Function moved from decl.c.
- No longer set attributes of function decls specially.
+ * 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): Similarly 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'.
- * decl.c (implicitly_declare, builtin_function, grokdeclarator):
- Don't expect build_decl to set attributes of FUNCTION_DECL.
+ * 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_compound_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'.
- * tree.c (preserve_data): New fn, make all data now on
- maybepermanent_obstack last permanently.
+1998-02-13 Martin von Loewis <loewis@informatik.hu-berlin.de>
- * cse.c (cse_insn): Remove a STRICT_LOW_PART from the dest rtx
- before putting it in the hash table.
+ * c-lang.c (lang_print_xnode): New function.
+ * objc/objc-act.c (lang_print_xnode): Likewise.
+ * print-tree.c (print_node): Call it
- * symout.c (symout_block): Fix the args to `symout_block_symbols'.
+Fri Feb 13 14:38:34 1998 Jim Wilson <wilson@cygnus.com>
-Sat Feb 20 00:07:52 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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.
- Start of changes for inline functions.
- Changes received from Tiemann, then slightly rearranged for simplicity.
+1998-02-13 Jason Merrill <jason@yorick.cygnus.com>
- * integrate.c: New file (Tiemann's rtl2.c).
- * integrate.c (function_cannot_integrate_p):
- New fn, only checks whether current fn is safe and good to inline.
- Returns an error message string if not.
+ * except.c (emit_throw): Lose throw_used.
- * expr.c (current_args_size): Var made static.
- (store_expr): Fn no longer static.
- (stack_pointer_rtx): Use this var for all refs to the stack pointer.
- (struct_value_rtx, static_chain_rtx): Likewise
+Fri Feb 13 20:36:05 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * expr.c (expand_call): Detect calls to integrable functions
- and integrate them.
- **If fn is not named "alloca" then assume it is not `alloca'. **
+ * sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
+ was deleted.
+ * haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
- * emit-rtl.c (max_label_num): New fn, returns number for next label.
- (get_first_label_num): New fn, returns first label of current fn.
- (init_emit): Save first label number of this fn.
+Fri Feb 13 12:18:40 1998 Jeffrey A Law (law@cygnus.com)
- * emit-rtl.c (gen_inline_header_rtx): New fn, make an INLINE_HEADER.
+ * genextract.c (main): Fix typo.
- * emit-rtl.c (emit_declaration): New fn to emit new kind of NOTE.
+Fri Feb 13 08:41:49 1998 Robert Lipe <robertl@dgii.com>
- * emit-rtl.c (init_emit_once): New fn.
- Move inits of unique rtl objects here, from init_emit.
+ * c-lang.c (finish_file): Bracket declaration of static_ctors,
+ static_dtors.
- * decl.c (finish_compilation): New fn to compile separately
- any nonglobal inline functions that need to be addressable.
+ * 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):
- * decl.c (grokdeclarator): Handle `inline' kwd among the declspecs.
- Set TREE_INLINE if it's safe.
+ * collect2.c: Include <unistd.h> when appropriate.
+ Bracket declaration of 'exportf' and 'full_real_ld_suffix'.
- * decl.c (finish_function): If fn was inlined, don't clear
- the DECL_ARGUMENTS or DECL_RESULT or DECL_INITIAL.
+ * emit-rtl.c (prev_cc0_setter): Remove unused variable 'link'.
- * gen*.c: Provide rtl_obstack, not current_obstack.
+ * explow.c (plus_constant_for_output_wide): Remove unused variable
+ 'code'.
+ (memory_address): Remove unused variable 'orig_x'.
- * rtl.c (rtl_obstack): Variable: ptr to obstack to use for making rtl.
- * rtl.c (rtx_alloc, rtvec_alloc): Use that obstack.
- * rtl.c (copy_rtx): Copy the `integrated' flag.
- * rtl.c (print_rtx): Print that flag as `/i'.
+ * genattrtab.c (make_canonical): Remove unreferenced label 'cond:'.
+ (write_const_num_delay_slots): Remove unused variable 'i'.
- * rtl.def: New rtx code INLINE_HEADER.
+ * genopinit.c (main): Remove unused variables 'dummy', 'insn_ptr'.
+ (gen_insn): Remove unused variable 'obstack_ptr'.
- * rtl.h (struct rtx_def): Add `integrated' field.
- * rtl.h: Define macros for fields in an inline_header rtx.
+ * libgcc2.c (__bb_exit_func): Remove unused variables 'ret',
+ 'j', 'tmp', 'i'.
+ (__bb_exit_trace_func): Remove unused variable 'e'.
- * stmt.c (max_parm_reg_num, get_first_function_insn):
- New fns, return info on parm regs and the insns that init them.
+ * 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.
- * stmt.c (expand_decl): Simplify with new local `type'.
+ * profile.c (branch_prob): Remove unused variables 'insn', 'dest'.
- * stmt.c (stack_pointer_rtx): Replace all refs to stack pointer
- with this shared rtx.
- * stmt.c (struct_value_rtx): Likewise.
+ * reg-stack.c: Fix typo in proto for 'get_asm_operand_lengths'
+ (reg_to_stack): 'initialized', 'before_function_beg'
+ explicitly type as ints instead of defaulting.
+ (emit_swap_insn): Remove unused variable 'i2'.
+ (compare_for_stack_reg): Remove unused variable 'src_note'.
- * stmt.c (expand_start_function): Call init_pending_stack_adjust
- instead of clear_pending_stack_adjust.
- If not using a return-label, set `return_label' to 0.
+ * rtlanal.c (computed_jump_p): Remove unused variable 'computed_jump'.
- * stmt.c (expand_null_return, expand_end_function):
- Call clear_pending_stack_adjust unconditionally.
+ * sched.c (actual_hazard): Bracket declaration of 'this_cost'.
- * expr.c (clear_pending_stack_adjust): Move the conditionals here.
- For now, this fn is a no-op, since it's not safe in an inline fn
- and the stack adjusts are deleted by jump.c in if optimizing.
+ * 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'.
- * expr.c (init_pending_stack_adjust): New fn.
+ * tlink.c: Include <stdlib.h>, <unistd.h>, <string.h>/<strings.h>.
-Fri Feb 19 14:30:13 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * 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'.
- * toplev.c (main): Decode -finline-functions, -fkeep-inline-functions.
+ * i386/i386.h (ENCODE_SECTION_INFO): TREE_PUBLIC is an int, not
+ a string.
- * toplev.c (rest_of_compilation):
- At start, save the rtl if function should be inline.
- For inline function, if we don't yet know whether it should be
- compiled on its own, don't do so.
+ * i386/sco5.h (ASM_OUTPUT_ASCII): Add parens for assignment used
+ as truth.
- * toplev.c (compile_file): Clear, and later print, `integration_time'.
- Call `init_emit_rtl' when starting.
- Call `finish_compilation' at the end.
+Fri Feb 13 10:21:41 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- [Add an extra arg to the error and warning functions?]
+ * combine.c (can_combine_p): Handle USEs in PARALLELs.
- * tree.c ({push,pop,clear}_momentary):
- Change momentary_stack from a char ** to a struct momentary_level *.
+Fri Feb 13 01:34:14 1998 H.J. Lu (hjl@gnu.org)
- * tree.c (build_pointer_type): Put temporary type in `saveable_obstack'
- * tree.c (build_type_variant): Likewise.
- * tree.c (make_node): Likewise. Also put decls and LET_STMTs there.
- * tree.c (type_hash_canon): Free a temporary type in `saveable_obstack'
+ * config/linux.h (LIB_SPEC): Add -lc for -shared if
+ USE_GNULIBC_1 is not defined.
+ * config/sparc/linux.h; Likewise.
- * tree.c (perm_tree_cons): Like `tree_cons' but on perm. obstack.
+ * config/sparc/linux64.h (LIB_SPEC): Add -lc for -shared.
- * tree.c (init_tree, {{end_,}temporary,permanent}_allocation):
- Handle `maybepermanent_obstack' and `saveable_obstack' and
- `rtl_obstack'.
+ * config/alpha/linux-elf.h (LIB_SPEC): New. Defined if
+ USE_GNULIBC_1 is not defined.
- * tree.h (TREE_INLINE): New attribute macro.
- * tree.h (DECL_SAVED_INSNS, DECL_FRAME_SIZE):
- New components in a FUNCTION_DECL.
- Delete the `unused` slot in a `struct tree_decl'.
+Fri Feb 13 01:29:29 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
- * typecheck.c (mark_addressable): Set TREE_ADDRESSABLE
- even in FUNCTION_DECLs.
+ * rs6000/sysv4.h (ENDFILE_SPEC): Add missing %(endfile_linux)
+ for -mcall-linux.
- * typecheck.c (build_function_call):
- If function is a FUNCTION_DECL, avoid setting TREE_ADDRESSABLE
- when taking its address.
+Fri Feb 13 01:23:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * parse.h: Define RID_INLINE.
- * parse.y: Define keyword `inline'; set up ridpointers for it.
- (yylex): Don't recognize `inline' of -fno-asm or -ftraditional.
+ * system.h: New file to get common systems includes and various
+ definitions and declarations based on autoconf macros.
- * flags.h: New vars flag_inline_functions
- and flag_keep_inline_functions.
+Fri Feb 13 00:46:19 1998 Jeffrey A Law (law@cygnus.com)
- End of changes for inline functions.
-
- * tree.c (convert): If EXPR's type is an error_mark, return error_mark.
+ * cccp.c (new_include_prefix): Correctly handle -I./.
- * Makefile (install): Don't strip the executables.
+Thu Feb 12 20:16:35 1998 Michael Meissner <meissner@cygnus.com>
- * jump.c (delete_insn): Deleting a label's target
- can delete either NEXT and PREV! So must search for a
- following nondeleted insn to return.
+ * rs6000.md: Replace gen_rtx (CONST_INT,...) with GEN_INT.
- * typecheck.c (build_function_call): Typo in validating
- data type of function.
+Thu Feb 12 16:45:17 1998 Robert Lipe <robertl@dgii.com>
- * genoutput.c (gen_expand): Must create a `struct data' even
- for a define_expand, so we can output the proper insn_gen_function
- and leave zeros in the other tables.
+ * expr.c (expand_assignment): Correct typo exposed by -Wall.
+ offset should have been a truth value, not an assignment.
- * loop.c (scan_loop): Replace the code for handling zero-extends
- with unconditional code that checks for a pair of insns.
+Thu Feb 12 15:26:50 1998 Jeffrey A Law (law@cygnus.com)
- * m68k.md: Do zero-extend using define_expand to generate
- a pair of insns, to set all to zero and then copy the low part.
+ * 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 18 15:54:00 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+Thu Feb 12 14:04:09 1998 Gavin Koch <gavin@cygnus.com>
- * emit-rtl.c (emit_insn): If arg is a SEQUENCE, emit several insns.
- * emit-rtl.c (classify_insn): Given an RTX, return the rtx-code for
- an insn containing it: CODE_LABEL, INSN, JUMP_INSN or CALL_INSN.
+ * mips.md (trucndihi2,truncdiqi2): Change these to support
+ mips16.
- * rtl.def: New RTX types DEFINE_EXPAND and SEQUENCE.
- * gen*.c: Handle DEFINE_EXPAND. Only genemit.c does real work.
+Thu Feb 12 11:34:55 1998 Gavin Koch <gavin@cygnus.com>
- * make.com, make-cc1.com, make-cccp.com: New, VMS command files.
+ * mips/mips.c (movdi_operand): Direct references to symbols
+ that arn't mips16 consts in mips16 mode arn't valid operands.
- * tm-vms.h: New file, used as tm.h to generate VMS code.
+ * mips/mips.c (mips_move_2words): Add gprel handling.
- * tm-vax.h (FUNCTION_PROLOGUE): Turn off no bits in the mask;
- let call_used_registers alone control this.
- Call MAYBE_VMS_FUNCTION_PROLOGUE, and define that as no-op.
+Thu Feb 12 11:18:37 1998 Gavin Koch <gavin@cygnus.com>
- * tm-vax.h (TARGET_VAXC_ALIGNMENT): New target-flag bit.
- BIGGEST_ALIGNMENT, EMPTY_FIELD_BOUNDARY and POINTER_BOUNDARY use it.
+ * mips.md (extendsidi2): Allow extension to/from a non-mips16
+ register.
- * varasm.c (assemble_function): Use ASM_DECLARE_FUNCTION_NAME
- if it is defined.
+Thu Feb 12 00:04:16 1998 Marc Lehmann <pcg@goof.com>
- * varasm.c (assemble_variable): On an external,
- use ASM_OUTPUT_EXTERNAL if defined. Default is do nothing, as before.
+ * i386.c: Conditionally include <stdlib.h>, <string.h>, and
+ <strings.h>.
- * toplev.c:
- Use FATAL_EXIT_CODE and SUCCESS_EXIT_CODE.
- Don't include time.h and resource.h on VMS.
- (main) Define __VERSION__ if not already defined.
- Conditionalize setrlimit on RLIMIT_STACK.
- Test __GNUC__, not __GNU__.
- Don't do `ps v' on VMS.
- (gettime): Conditional code for VMS.
+Wed Feb 11 11:43:34 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * gcc.c: Define __GNUC__ as well as __GNU__.
- __GNU__ will be deleted in a future version.
+ * Makefile.in (WARN_CFLAGS): New variable.
+ (bootstrap, bootstrap2, bootstrap3, bootstrap4): Use it.
- * symout.c (symout_finish) [VMS]: Don't refer to `getwd' on VMS.
- * symout.c (symout_init) [VMS]: Fatal error; GDB syms not supported.
+1998-02-11 Mark Mitchell <mmitchell@usa.net>
- * parse.y (yylex): Handle DOLLARS_IN_IDENTIFIERS.
+ * config/i386/i386.c (reg_mentioned_in_mem): Don't abort when
+ falling through default case in switch.
+ (i386_aligned_p): Likewise.
- * genoutput.c (gen_insn): Workaround for VMS printf %s bug.
+Wed Feb 11 12:59:56 1998 Lee Iverson <leei@Canada.AI.SRI.COM>
- * gen*.c: Include config.h. Whenever exiting, use
- SUCCESS_EXIT_CODE or FATAL_EXIT_CODE.
+ * mips/mips.h (mips_abi_string): Correct typo in comment.
- * config-*.h: Define SUCCESS_EXIT_CODE and FATAL_EXIT_CODE.
- * config-vms.h: New file, mostly like config-vax.h.
+Wed Feb 11 08:29:56 1998 Gavin Koch <gavin@cygnus.com>
-Wed Feb 17 13:35:34 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * mips/mips.md (movdi): These PLUS's need to be Pmode.
- * cccp.c: VMS support from Kashtan.
- Some #include files are conditional.
- Use file_size_and_mode instead of fstat.
- When reading file contents, the size we get from that
- is just an upper bound; don't assume it must match.
- Replacement definitions of read and write for VMS.
- Different default include directories.
- Conditionalize the setrlimit code on RLIMIT_STACK.
- Use SUCCESS_EXIT_CODE when exiting if no errors;
- both that and FATAL_EXIT_CODE are not #defined if already defined.
+Wed Feb 11 01:47:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- Treat $ as an identifier-character if DOLLARS_IN_IDENTIFIERS.
- Rename the `delete' function as `delete_macro'
- to avoid VMS name conflict.
+ * 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.
- * cexp.y: Treat $ as an identifier-character if DOLLARS_IN_IDENTIFIERS.
+Wed Feb 11 01:44:13 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (fixup_memory_offset): Do big-endian compensation
- only within a word, not for DImode vs SImode.
+ * stor-layout.c (layout_type): Do upper - lower in the native type,
+ so as to properly handle negative indices.
- * stmt.c (fixup_var_refs): Don't fix up the insn to load the var
- from its own stack slot; delete it instead.
+Wed Feb 11 01:35:55 1998 Robert Lipe <robertl@dgii.com>
- * tm-ns32k.h (MODES_TIEABLE_P): DImode is like DFmode.
+ * 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.
- * tree.c (MAX_HASH_TABLE): 1009 (more prime) instead of 1008.
+ * 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'.
- * decl.c (duplicate_decls): If merged type is OLD's type,
- keep OLD's DECL_SIZE and DECL_SIZE_UNIT.
+Wed Feb 11 01:30:49 1998 Marc Lehmann <pcg@goof.com>
- * gen*.c (xmalloc, xrealloc): Call `fatal' if memory is full.
+ * 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.
- * reload1.c (choose_reload_targets): If a mode doesn't fit the
- reload register, and the insn is an ASM_OPERANDS, ignore the reload.
- Otherwise, final would crash.
+Wed Feb 11 01:23:03 1998 John F. Carr <jfc@mit.edu>
- * expmed.c (expand_shift): Two new strategies for lshr on short/char:
- widen and do ashr, or widen and do extzv.
+ * 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.
- * vax.md (peepholes): Use dead_or_set_p to check for eliminable
- intermediate result, rather than requiring a match with final result.
+Wed Feb 11 01:17:39 1998 Jeffrey A Law (law@cygnus.com)
- * local-alloc.c (block_alloc): Testing frame_pointer_needed is
- enough; no need to test FRAME_POINTER_REQUIRED, etc.
- * global-alloc.c (find_reg): Likewise.
- * reload1.c (reload): Likewise for flag_omit_frame_pointer
+ * flow.c (life_analysis): Do not consider the stack pointer live at
+ the end of a function if the function calls alloca.
+ (mark_used_regs): Similarly.
- * jump.c (delete_insn): If not `optimize', don't complain
- about finding an already-deleted insn in the chain.
+1998-02-10 John F Carr <jfc@mit.edu>
-Tue Feb 16 17:14:54 1988 Richard Stallman (rms at wheaties.ai.mit.edu)
+ * config/sparc/sparc.md (movdi_v8plus): Output stx on alternative
+ 1, fzero on alternative 8.
- * final.c: Don't define N_SOL and N_SLINE if already defined.
+Tue Feb 10 09:02:19 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * final.c (output_source_line):
- Typo calling ASM_OUTPUT_SOURCE_FILENAME.
+ * rs6000.c (setup_incoming_varargs): Always set rs6000_sysv_varargs_p.
- * flow.c (INSN_VOLATILE): fix a typo.
+Tue Feb 10 03:35:43 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
-Fri Feb 12 16:48:16 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * reload.c (find_reloads_toplev): Handle arbitrary non-paradoxical
+ SUBREGs of CONST_INTs.
- * final.c (final): for `asm' without operands, output literally.
+Mon Feb 9 17:52:36 1998 John Carr <jfc@mit.edu>
-Thu Feb 11 12:44:41 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * mips.c (print_operand, function_prologue): Make printf format
+ match argument type.
- * symout.c (symout_record_fields): Handle nameless fields.
- * symout.c (symout_record_field_names): Likewise.
+Mon Feb 9 02:37:25 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * typecheck.c (require_complete_type): `void' is a complete type.
- * typecheck.c (build_function_call): Don't complain if result is void.
+ * 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'.
- * tm-hp9k320.h: Change definition of ASM_SPEC to +X, not -X.
+Sun Feb 8 14:56:03 1998 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
- * cccp.c (main): Expected object file name for foo.cc is foo.o.
+ * loop.c (strength_reduce): When placing increment for auto-inc
+ case, do comparison in loop order.
-Wed Feb 10 16:04:58 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sun Feb 8 13:21:38 1998 John Carr <jfc@mit.edu>
- * reload1.c (reload): Initialize `regmask' to zero.
- Class number is in I, not in CLASS, when setting its elements.
- Don't let J+K be too large.
+ * bitmap.c (bitmap_debug_file): HOST_PTR_PRINTF converts a pointer,
+ not a HOST_WIDE_INT.
- * reload1.c (potential_reload_regs): Make it a `short'
- since that can't be unsigned.
+ * calls.c (expand_call): Change test of expand_inline_function
+ return value to stop compiler warning.
- * cccp.c (warning): New function, called like `error'.
- * cccp.c (do_define): Make redefinition just a warning.
+ * genattrtab.c (RTL_HASH): Cast pointer to long, not HOST_WIDE_INT.
-Tue Feb 9 13:28:00 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sun Feb 8 12:04:24 1998 Jim Wilson (wilson@cygnus.com)
+ Jeff Law (law@cygnus.com)
- * decl.c (grokdeclarator): Don't be fooled by ERROR_MARK as a declspec.
+ * 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.
- * toplev.c (compile_file): Strip final .c or .co from .sym file name.
+Sun Feb 8 01:49:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * gcc.c: When running `as', specify the .sym file if -gg.
+ * gansidecl.h: Check for a conflicting macro definition before
+ attempting to prototype bcopy, bcmp or bzero.
-Mon Feb 8 11:26:26 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sun Feb 8 00:09:59 1998 Jeffrey A Law (law@cygnus.com)
- * expmed.c (store_fixed_bit_field): Don't try gen_lowpart on VALUE
- if it's a subreg since it might lose; use convert_to_mode instead.
+ * expr.c (clear_pending_stack_adjust): Handle case where a function
+ calls alloca, but the user has specified -fomit-fframe-pointer.
- * tm-hp9k320.h: Define TARGET_MEM_FUNCTIONS.
- * expr.c (emit_block_move, emit_push_insn, clear_storage):
- If TARGET_MEM_FUNCTIONS, generate calls to memcpy and memset
- instead of bcopy and bzero.
- * optabs.c (emit_cmp_insn): Likewise for memcmp vs bcmp.
+ * function.c (assign_parms): Fix typo in last change.
- * stmt.c (expand_goto): New temp var to avoid RT/PC compiler bug.
+Sat Feb 7 23:54:29 1998 Robert Lipe <robertl@dgii.com>
-Sun Feb 7 12:20:23 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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>
- * flow.c (mark_used_regs, mark_set_regs):
- Handle hard regs in multiword modes: set the bits for each
- distinct register-number that makes up the multiword mode.
- Necessary because function arg registers can inevitably
- live across basic blocks.
+ * c-common.c: Include <stdlib.h> and <string.h>/<strings.h>.
- * cse.c (canon_hash): Function arg and value registers no longer
- considered volatile, because flow should now handle the code that
- can result from cse'ing them.
+ * calls.c (expand_call): Remove unused variables funtree,
+ n_regs, and tmpmode.
- * cse.c (make_regs_eqv): Abort if OLD is invalid.
- * cse.c (reg_invalidate): Abort if reg already invalid has eqvs.
+ * dbxout.c, except.c: Include <string.h>/<strings.h>.
-Sat Feb 6 16:25:32 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * explow.c (plus_constant_for_output_wide): Removed unused
+ variable all_constant.
- * gcc.c (main): Specific error msg if no input files.
+ * 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>.
-Fri Feb 5 17:56:00 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * genextract.c (walk_rtx): Remove unused variable link.
- * stmt.c (expand_decl, put_var_into_stack, assign_parms):
- Set in_struct on a MEM if the variable is an aggregate or union.
- * varasm.c (assemble_variable): Set in_struct on aggregate vars.
+ * genrecog.c (concat): Remove unreferenced static function.
-Thu Feb 4 11:52:30 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * prefix.c: Include <string.h>/<strings.h>, <stdlib.h>
- * m68k.md (movsf): Correct two fmove.x to fmove.s.
+ * 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.
- * expmed.c (extract_fixed_bit_field):
- Must always generate an `and' to mask the bitfield
- unless its width is the same as the output machine mode.
+ * unroll.c (unroll_loop): Remove unused variable temp.
- * version 1.18 released.
+Sat Feb 7 23:46:09 1998 Greg McGary <gkm@gnu.org>
-Wed Feb 3 08:41:20 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * c-decl.c (pushdecl): Set DECL_ORIGINAL_TYPE once only.
- * fold-const.c (fold): Convert EXPR's operands before returning them.
+Sat Feb 7 15:11:28 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-Tue Feb 2 15:35:18 1988 Richard Stallman (rms at frosted-flakes.ai.mit.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.
- * reload.c (find_reloads_address_1):
+Fri Feb 6 14:20:16 1998 Jim Wilson <wilson@cygnus.com>
- * typecheck.c (default_conversion): Handle COMPOUND_EXPR arrays.
+ * function.c (assign_parms): New variable named_arg, with value
+ depending on STRICT_ARGUMENT_NAMING. Use instead of ! last_named.
-Mon Feb 1 18:53:05 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Fri Feb 6 14:34:28 1998 Gavin Koch <gavin@cygnus.com>
- * ns32k.md: operand 0 of all unsigned divide/modulus insns
- is now register_operand.
+ * 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.
- * stdarg.h: Make va_list be char *, not char *[1].
- Latest draft doesn't say it must be an array type.
+1998-02-06 Jason Merrill <jason@yorick.cygnus.com>
-Sun Jan 31 11:14:07 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * flow.c (find_basic_blocks): Add temp var to avoid Sequent
- compiler bug.
+1998-02-06 Kriang Lerdsuwanakij <lerdsuwa@scf.usc.edu>
- * tm-ns32k.h (GO_IF_LEGITIMATE_ADDRESS): Don't allow pushes or pops
- since there are special insn patterns for them.
- Resubroutinize and add temp vars to make expressions smaller.
- * ns32k.md: Add a few more special stack insns; now there are enough.
+ * cplus-dem.c (demangle_template_template_parm): New function.
+ (demangle_template): Handle template template parameters.
- * tm-sequent.h: Definitions of DBX_NO_XREFS and DBX_CONTIN_LENGTH.
+1998-02-02 Mark Mitchell <mmitchell@usa.net>
- * reload1.c (choose_reload_targets): Handling of reload_strict_low
- is needed for input reloads as well as output, since a strict_low_part
- operand is normally a read-write operand.
+ * calls.c (expand_call): Don't confuse member functions named
+ realloc, setjmp, and so forth with the standard library
+ functions of the same names.
- * reload1.c (reload): The mode a reload needs is the wider of
- the input and output modes--just as it is in choose_reload_targets.
+Thu Feb 5 21:59:49 1998 Jeffrey A Law (law@cygnus.com)
- * reload.c (find_dummy_reload): If IN and OUT have different widths
- and one of them exceeds a word, don't find any dummy reload.
+ * stmt.c (expand_asm_operands): Correctly identify asm statements
+ no output operands.
- * toplev.c (compile_file): Allocate enough space for .jump2 filename.
+Thu Feb 5 21:56:06 1998 Mumit Khan <khan@xraylith.wisc.edu>
-Sat Jan 30 10:35:46 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * c-common.c (decl_attributes): Flag unrecognized attribute
+ functions as warnings instead of as errors.
- * output-ns32k.c (print_operand_address):
- Print addresses of the form C1+(N*REG+C2) which currently
- are accepted as legitimate memory addresses.
+1998-02-05 Marc Lehmann <pcg@goof.com>
- * tm-sequent.h: Simple bugs in PRINT_OPERAND, TARGET_DEFAULT
- and SEQUENT_ADDRESS_BUG.
+ * 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.
- * gen*.c: Must explicitly exit; returning from `main' fails
- to indicate nonzero status due to bug in Unix.
+Fri Feb 6 00:27:36 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * parse.y (check_line_number): Ignore entire line of unrecognized
- #-directive; no error if it is `pragma'.
+ * 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.
-Fri Jan 29 06:46:01 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Thu Feb 5 13:38:42 1998 Jeff Law (law@cygnus.com)
- * genrecog.c, genextract.c, genoutput.c: Define bcopy and/or bzero.
+ * version.c: Bump for snapshot.
- * cccp.c (do_define): Make defn->argnames long enough in no-args case.
+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>
- * reload1.c (reload): Make basic_block_needs 0 until after the
- frame pointer reg is spilled, so that ALL pseudos in it are spilled.
+ * sh.md (movqi_i+1): New peephole.
- * typecheck.c (truthvalue_conversion):
- Strip a NOP_EXPR only if it extends, not if it truncates.
- (build_unary_op): For TRUTH_NOT_EXPR, call invert_truthvalue
- to simplify.
+Tue Feb 3 01:11:12 1998 Jeffrey A Law (law@cygnus.com)
- * Fixes for HPUX support from cph:
- * tm-hp9k320.h: Correct names of floating-point registers.
- Fix typos in ASM_OUTPUT_OPCODE; also convert `fmove' to `fmov'.
- * Makefile (comments for HPUX):
- cph says -Wd,-X isn't needed in CFLAGS, nor -lBSD in CLIB.
- Also that -g can't be used in CFLAGS with HP's pcc.
- * conf-hp9k320.h: New file, like config-m68k.h but with
- #defines for the bstring functions.
- * m68k.md: Add else-clauses to the HPUX_ASM conditionals on cmp insns.
- Reinsert mistakenly-deleted MOTOROLA conditionals around
- some OUTPUT_JUMPs.
+ * jump.c (jump_optimize): Lose calls to modified_in_p they are
+ not needed anymore due to changes elsewhere in jump.c.
-Thu Jan 28 09:51:41 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * jump.c (jump_optimize): Fix first arg to modified_in_p in
+ previous change.
- * jump.c (jump_back_p): If TARGET is unconditional, return 0.
+Mon Feb 2 19:18:14 1998 Richard Henderson <rth@cygnus.com>
-Wed Jan 27 04:18:29 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * 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.
- * combine.c (subst): Simplify (plus (plus x c1) c2).
+ * 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.
- * expr.c (emit_push_insn): Don't use small-block push-insns for BLKmode
- when one of them would be affected by PUSH_ROUNDING.
- Instead, make all the space and then copy.
- * expr.c (expand_call): Don't apply PUSH_ROUNDING if BLKmode.
+Mon Feb 2 16:43:10 1998 John Carr <jfc@mit.edu>
- * Allow `asm' with operands to be marked volatile.
- * cse.c (canon_hash): Don't record ASM_OPERANDS that has `volatil'.
- * loop.c (invariant_p): ASM_OPERANDS with `volatil' can't be invariant.
- * flow.c (volatile_refs_p): Note ASM_OPERANDS that are volatile.
- * stmt.c (expand_asm_operands): New arg VOL; mark ASM_OPERANDS as vol.
- * typecheck.c (c_expand_asm_operands): New arg VOL.
- * parse.y: allow a TYPE_QUAL after ASM.
+ * mips.md: Change gen_rtx (CONST_INT) to GEN_INT.
- * Make cse handle `asm' with operands:
- * cse.c (canon_hash): Hash string operands by contents, not address.
- * cse.c (exp_equiv_p): Compare string operands with strcmp.
- * rtl.c (rtx_equal_p): Compare string operands with strcmp.
+Mon Feb 2 13:06:47 1998 Jim Wilson <wilson@cygnus.com>
- * decl.c (init_decl_processing): Once sizetype is set,
- correct the type of the sizes of types already made.
+ * vmsconfig.com: Remove bytecode references.
- * cccp.c (do_defines): Don't reject #define foo{a}.
+1998-01-30 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-Tue Jan 26 04:53:16 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * dwarf2out.c (dwarf2out_frame_init): Undo last change, so that
+ -fno-sjlj-exceptions works for a target that defines
+ DWARF2_UNWIND_INFO as zero.
- * reload.c (find_reloads): Now that `asm' is limited to
- MAX_RECOG_OPERANDS, eliminate dynamic allocation of `constraints'
- and `constraints1', and go back to `recog_operand' instead of
- `operands'.
+ * regmove.c (fixup_match_1): Undo last change which removed some
+ "useless" code, and add a comment explaining this.
- * typecheck.c (c_expand_asm_operands): New fn to handle `asm' for C.
- Calls expand_asm_operands, and handles output operands that
- the other function cannot handle.
+Mon Feb 2 10:47:14 1998 Gavin Koch (gavin@cygnus.com)
- * parse.y: Call that function.
+ * mips.c (mips_expand_prologue): Change uses of TARGET_64BIT
+ to TARGET_LONG64.
- * stmt.c (expand_asm_operands): Error if too many operands.
- #include insn-config.h to get MAX_RECOG_OPERANDS.
+Mon Feb 2 10:38:41 1998 Klaus Kaempf <kkaempf@progis.de>
- * expr.c (expand_assignment): Use store_field to handle
- structure fields and array elements.
+ * makefile.vms: Remove bytecode references.
+ Create genrtl files.
- * output-m68k.c (output_move_double): PUSHOP and POPOP were swapped.
- Handle insns that push an sp-relative address onto sp;
- these can arise with -fomit-frame-pointer.
- BUG? Do unoffsetable mem refs using sp and fp lose?
+Mon Feb 2 02:08:04 1998 Michael P. Hayes <michaelh@ongaonga.chch.cri.nz>
- * m68k.md (movdi,movdf): Allow unoffsetable mem refs
- only if the other operand is a register.
+ * jump.c (jump_optimize): Allow conditional loading of floating point
+ constants and constants from memory. Reinstalled modified_in_p tests.
- * m68k.md (zero_extendqisi2): SGS conditionals deleted.
- Supposedly the MOTOROLA syntax works for those addresses.
+Mon Feb 2 01:38:39 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * typecheck.c (default_conversion):
- If flag_traditional, preserve unsignedness when promoting ints,
- and promote float to double.
+ * loop.c (get_condition): Handle sign-extended constants.
- * typecheck.c (build_binary_op_nodefault):
- Allow comparisons between pointers and ints.
- If not -traditional, warn about them.
+Mon Feb 2 01:22:46 1998 Hans-Peter Nilsson <hp@axis.se>
-Mon Jan 25 02:11:18 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * expr.c (emit_push_insn): Add code to use movstrti if present.
- * expmed.c ({extract,store}_split_bit_field):
- Functions {extract,store}_split_reg_bit_field now work for memory
- also, and therefore are renamed.
- * ({extract,store}_fixed_bit_field): Call those fns when a field
- is split across two words.
- Also, preserve the `volatil' bit on memory refs.
+ * expr.c (emit_push_insn): Use same max-move-amount for movstrhi
+ and movstrqi as in emit_block_move ().
- * output-m68k.c (output_move_double): Handle nonoffsetable mem refs.
- * m68k.md: Relax constraints on movdi, movdf.
+Mon Feb 2 00:09:52 1998 Toon Moene <toon@moene.indiv.nluug.nl>
- * decl.c (init_decl_processing): Define `int' and `char' first.
- Set `sizetype' explicitly.
+ * 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.
- * stmt.c (fixup_var_refs_1): May not just return when a SET
- doesn't have VAR as its src or dest.
+Sun Feb 1 14:15:33 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
- * varasm.c: Don't include c-tree.h.
+ * rs6000/linux.h: Define JUMP_TABLES_IN_TEXT_SECTION.
- * decl.c (build_struct): Split this function into three:
- `xref_tag', `start_struct' and `finish_struct'.
- `xref_tag' subsumes `xref_enum'.
+Sun Feb 1 13:01:15 1998 Klaus Kaempf <kkaempf@progis.de>
- * parse.y (structsp): When parsing `struct foo {...}', define the tag
- as a cross-ref before parsing the components. Use the three new fns.
+ * cccp.c (main): Predefine __VMS_VER on VMS.
- * regclass.c (regclass): Recognize new-format ASM_OPERANDS insns
- with `asm_noperands', and scan their operands as usual.
+Sun Feb 1 12:39:53 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
- * cse.c: In numerous functions such as canon_hash, rtx_cost, etc.
- that do tree-walk on rtx, handle vectors of subexpressions.
+ * 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.
- * loop.c (invariant_p): Likewise.
+Sun Feb 1 03:32:07 1998 Jeffrey A Law (law@cygnus.com)
- * jump.c (delete_insn): Two bugs:
- If insn already deleted, return the first following nondeleted.
- Deleting a jump's label can delete NEXT. Make sure return value
- is always the first insn following INSN and not yet deleted.
+ * combine.c (simplify_shift_const): Fix typo in last change.
-Sun Jan 24 02:27:49 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+Sun Feb 1 02:50:46 1998 John Carr <jfc@mit.edu>
- * rtl.def (ASM_OPERANDS): Change the rtl expression of an
- `asm' with operands so it looks like this for one output operand:
- (set OUTPUT (asm_operands:OUTPUTMODE INSNSTRING OUTPUTCONSTRAINT
- 0 INPUTS INPUTCONSTRAINTS)).
- and like this for multiple outputs:
- (PARALLEL [
- (set OUTPUT0 (asm_operands:OUTPUTMODE INSNSTRING OUTPUTCONSTRAINT
- 0 INPUTS INPUTCONSTRAINTS)).
- (set OUTPUT1 (asm_operands:OUTPUTMODE1 INSNSTRING OUTPUTCONSTRAINT1
- 1 INPUTS INPUTCONSTRAINTS))])
+ * combine.c (simplify_shift_const): (lshiftrt (truncate (lshiftrt)))
+ is (truncate (lshiftrt)).
- * parse.y: Change parsing of `asm' to distinguish input and output
- operands. Separate them with colon; separate the string with colon.
+Sun Feb 1 01:06:53 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (expand_asm_operands): Receive inputs and outputs separately.
- Generate the new rtl format.
+ * 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.
- * recog.c (asm_noperands, decode_asm_operands): New fns
- for extracting the operands and constraints from these insns.
+Sun Feb 1 01:55:09 1998 Jeffrey A Law (law@cygnus.com)
- * final.c (final): Recognize and output the new rtl format
- using those new functions.
+ * mips.md (adddi3_internal_2): Be consistent with adddi3 expander
+ with handling of -32768.
- * reload.c (find_reloads): Recognize and get constraints
- from the new rtl format using those new functions.
- New variable `operand_modes' holds the machine modes of the
- operands, obtained one way for ASM_OPERANDS insns and another
- for other insns.
+Sun Feb 1 01:48:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
- * rtl.c (note_stores): Calling convention
- is changed: the first arg FUNCTION now receives as its 2nd arg
- 1 if clobbering, 0 if setting. Used to be the CLOBBER or SET rtx.
+ * 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.
- * local-alloc.c (reg_is_set): This fn is called from note_stores;
- change its arguments.
+ * 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.
- * tm-m68k.h (FIXUP_FRAME_POINTER_ADDRESSES):
- Use frame_pointer_rtx to recognize intended frame-pointer refs
- and not recognize pseudo-regs that were allocated to the frame
- pointer register.
+ * acconfig.h: Add stubs for bcopy, bcmp and bzero declarations.
- * emit-rtl.c: All refs to frame pointer use a single rtx, in
- frame_pointer_rtx. Likewise arg_pointer_rtx for the arg pointer.
- If they are the same register, these are the same rtx.
- Initialize them in init_emit.
- * rtl.h: Declare these vars.
+ * 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.
- * stmt.c (assign_parms, assign_stack_local): Use those rtx's.
+Sat Jan 31 11:26:58 1998 Jeffrey A Law (law@cygnus.com)
-Sat Jan 23 00:32:10 1988 Richard Stallman (rms at frosted-flakes.ai.mit.edu)
+ * toplev.c (close_dump_file): Wrap function prototype for
+ argument "func" in PROTO.
+ (dump_rtl): Likewise.
- * reload.c (find_reloads): Don't combine_reloads if `&' constraint
- was used.
+Fri Jan 30 22:30:39 1998 John Carr <jfc@mit.edu>
- * parse.y: Parse `asm' with operands.
- * stmt.c (expand_asm_params): New fn: generate an ASM_OPERANDS for
- `asm' with operands.
- * final.c (final): Output an ASM_OPERANDS insn-body.
- * regclass.c (regclass): Ignore ASM_OPERANDS, like ASM_INPUT.
+ * sparc.c (sparc_override_options): Make v8plus and ultrasparc set
+ MASK_V8PLUS.
+ (output_function_epilogue): Omit epilogue if nothing drops through.
+ (output_move_double): Suppress int ldd usage on ultrasparc and v9.
+ (registers_ok_for_ldd_peep): Likewise.
+ (print_operand): Suppress 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 appropriately.
+ (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.
- * reload.c (find_reloads): Handle reloading of ASM_OPERANDS.
- The number of operands can no longer be bounded.
- For example we can't always put the operands in recog_operands.
+Fri Jan 30 18:30:03 1998 John F Carr <jfc@mit.edu>
- New locals OPERANDS and OPERAND_LOCS point to alloca'd vectors of
- operands and their locations. New locals CONSTRAINTS and CONSTRAINTS1
- hold alloca'd vectors of constraints.
+ * mips.c (save_restore_insns): Set RTX_UNCHANGING_P in register
+ save/restore MEM rtl.
- Unfortunately this isn't enough; every vector with length
- MAX_RECOG_OPERANDS needs to be dynamically allocated.
- Would this be too slow? For now, a cheap "solution" is to delete
- any insn that has too many operands.
+Fri Jan 30 09:08:16 1998 Jeffrey A Law (law@cygnus.com)
- * rtl.def: Delete VOLATILE, UNCHANGING and UNDESCRIBED.
- Add ASM_OPERANDS.
+ * configure.in: Check for declaration of abort.
+ * acconfig.h: Corresponding changes.
+ * toplev.c: Use NEED_DECLARATION_ABORT to determine if abort should
+ be declared.
- * regclass.c (reg_class_record): Delete ref to UNCHANGING.
- * loop.c (invariant_p):
- * rtl.c (rtx_varies_p):
+Thu Jan 29 20:26:12 1998 Jeffrey A Law (law@cygnus.com)
- * cccp.c: Define __VERSION__.
+ * genattrtab.c (optimize): Define in case PRESERVE_DEATH_INFO_REGNO_P
+ uses it.
- * decl.c (shadow_tag): TYPE_NAME doesn't work to get the tag-name
- of a struct, so use new function lookup_tag_reverse.
- * decl.c (lookup_tag_reverse): Given a type, return its tag name.
+Thu Jan 29 09:27:56 1998 Jeff Law (law@cygnus.com)
- * symout.c (symout_source_file): Output one `struct source'.
- * symout.c (symout_lines): Output all of them, and the sourcevector.
- * gdbfiles.h: New file for communication between final.c and symout.c.
+ * version.c: Bump for snapshot.
- * final.c (output_source_line): New arg WRITE_SYMBOLS says write
- new GDB-format linenumber info. Assigns a filenum to each source
- file name and keeps track of the correspondence.
+Thu Jan 29 10:12:27 1998 Jeffrey A Law (law@cygnus.com)
- * cccp.c (do_include): Output the -M info after searching the dirs;
- include the actual dir name. Don't generate "./" for current dir.
+ * 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.
-Fri Jan 22 04:10:10 1988 Richard Stallman (rms at frosted-flakes)
+Thu Jan 29 01:28:14 1998 Klaus Kaempf <kkaempf@progis.de>
- * tm-news800.h: Delete override of INDIRECTABLE_1_ADDRESS.
- Output is faster if it doesn't use 32-bit displacements.
+ * cccp.c (SYS$SEARCH, SYS$PARSE): Write as upper-case.
- * reload.c (combine_reloads): New function.
- If possible, find an input reload
- and an output reload that can be turned into one input-output reload.
- The old output-reload is marked as inoperative: reload_out
- and reload_in both zero. This is called from find_reloads.
+ * vmsconfig.com: Remove bytecode references.
- * reload1.c (reload, choose_reload_targets): Ignore inoperative
- reloads.
+ * alpha/vms.h (PREFIX): Define.
- * Print warnings for variables that could be clobbered by `longjmp'.
- * expr.c (expand_call): Generate a NOTE_INSN_SETJMP whenever
- `setjmp' or `_setjmp' is called.
- * flow.c (propagate_block): When NOTE_INSN_SETJMP is seen,
- record the live regs in `regs_live_at_setjmp'.
- * stmt.c (uninitialized_vars_warning): Warn about vars that have regs
- that are set more than once and are marked in `regs_live_at_setjmp'.
- Works through function `regno_clobbered_by_longjmp'.
- * rtl.h: Define NOTE_INSN_SETJMP.
+ * alpha/vms.h (ASM_OUTPUT_ALIGNED_COMMON): Remove.
- * genrecog.c (try_merge_2): When enforce_modes, keep all the
- alternatives segregated by modes and keep the modes in numerical order.
- * genrecog.c (write_tree): Make conditions for switch-on-modes
- know what difference enforce_mode makes.
+ * am-alpha.h: Don't include alloca for OPEN_VMS.
-Thu Jan 21 00:12:35 1988 Richard Stallman (rms at frosted-flakes)
+ * alpha/xm-vms.h (HAVE_CPP_STRINGIFY): Define.
- * tm-ns32k.h: Use Stein's definitions of PRINT_OPERAND{,_ADDRESS};
- move the Sequent definitions info tm-sequent.h.
- Handle %$ in both old and new PRINT_OPERAND.
- Define CPP_PREDEFINES.
+ * alpha/xm-vms.h (INCLUDE_DEFAULTS): Define.
+ (GCC_INCLUDE_DIR): Define.
- * ns32k.md: Merge some features from Jan Stein's port:
- strict_low_part insns, smart output of booleans with small
- constant args, acbd insns generalized for other increments.
- Use %$ wherever there is an explicit immediate.
- Fix shortcomings of adjsp insns: use adjspd in general,
- and use adjspb in all the cases that allow it.
- Don't bother explicitly clearing CC_REVERSED.
- For tstsf/tstdf, output the floating-zero constants
- using {f,d}const0_rtx.
+ * make-cc.com, make-cccp.com, make-cc1.com: Removed.
+ * makefile.vms: New file.
- A problem still remains, which is that the Sequent and the
- other ns32k assembler syntax require different
+ * alpha/vms.h (CPP_PREDEFINES): Remove -Dalpha.
- * typecheck.c (unary_complex_value): Use correct datatype for
- compound-exprs.
+ * alpha.c (output_prolog): Output '.name' directive
+ for minimal traceback information.
- * gen*.c (main): Use obstack_init instead of obstack_begin.
+ * alpha.c (output_prolog): Don't prepend entry point symbols
+ with '$' on OPEN_VMS.
- * vax.md: define_peephole for andl3 x,y,z; extzv z,....,z
+Thu Jan 29 00:25:35 1998 David S. Miller <davem@tanya.rutgers.edu>
+ Jeffrey A Law (law@cygnus.com)
- * m68k.md (tstsi): Use cmpw instead of cmpl to test addr reg.
+ * rtl.c (read_rtx): Use atol/atoq based upon disposition of
+ HOST_WIDE_INT.
- * tm-m68k.h: Bugs for 68000 when frame size is over 64k.
- For FUNCTION_PROLOGUE, just subtract from sp instead of fp.
- For FUNCTION_EPILOGUE, must put the size into a0 and then
- all insns must be indexed by a0. And do this even on 68020.
+ * 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.
- * tm-isi68.h: Similar changes.
- * tm-news800.h, tm-hp9k320.h: Similar changes.
+ * 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.
-Wed Jan 20 04:38:21 1988 Richard Stallman (rms at frosted-flakes)
+Thu Jan 29 00:24:29 1998 Jeffrey A Law (law@cygnus.com)
- * cccp.c (error_with_line): New function.
- Use it to report the "unterminated whatever" errors.
+ * combine.c: Fix typos in Jan27 changes.
- * typecheck.c (build_unary_op): Recursive call had missing arg.
+Thu Jan 29 00:07:49 1998 Ollivier Robert <roberto@keltia.freenix.fr>
- * m68k.md (movhi): If MOTOROLA, the insn that fetches from a
- case-dispatch table now defines the LI label as .+2.
- * tm-news800.el, tm-hp9k320.h (PRINT_OPERAND_ADDRESS):
- Don't subtract 2 when outputting the address in that insn.
+ * i386/freebsd.h (LIB_SPEC): Correctly handle -shared, -p and friends.
+ (LINK_SPEC): Likewise.
+ (STARTFILE_SPEC): Likewise.
-Tue Jan 19 00:02:33 1988 Richard Stallman (rms at frosted-flakes)
+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.
+
+ * fix-header.c (main): Remove unused variable `done'. Protect
+ declaration of `i' with FIXPROTO_IGNORE_LIST.
+
+ * pexecute.c: Include <unistd.h>. Prototype `my_strerror'.
+
+ * print-rtl.c (print_inline_rtx): Explicitly declare the parameter
+ `ind'.
+
+ * 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.
+
+ * regclass.c: Include <stdlib.h>.
+ (reg_alternate_class): Explicitly declare parameter `regno'.
+
+ * 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) ;".
+
+ * scan.c (sstring_append): Explicitly declare `count' as int.
+ (scan_string): Explicitly declare parameter `init' as int.
+
+ * 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'.
+
+ * 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.
+
+ * 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.
+
+Tue Jan 27 23:01:55 1998 Mike Stump <mrs@wrs.com>
+
+ * m32r.md, mips.md, mn10200.md, mn10300.md, pyr.md: Add
+ some comments regarding use of dead_or_set_p.
+
+Tue Jan 27 22:14:48 1998 Todd Vierling <tv@pobox.com>
- * cse.c (cse_basic_block): Abort if more qtys were used than allocated.
+ * fixincludes: Tweak fix for struct exception in math.h
-Mon Jan 18 04:44:28 1988 Richard Stallman (rms at frosted-flakes)
+Tue Jan 27 17:21:09 1998 Gavin Koch (gavin@cygnus.com)
- * cccp.c (special_symbol): tm_mon is origin-0, not origin-1.
+ * 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.
- * final.c (output_asm_insn): If %LETTER with no digits,
- pass null pointer as the operand.
+Tue Jan 27 11:02:04 1998 Nick Clifton <nickc@cygnus.com>
- * output-m68k.c (singlemove_string): Get rid of %e.
+ * v850.h (ASM_OUTPUT_ALIGNED_BSS): Use
+ asm_output_aligned_bss() instead of asm_output_bss().
- * stmt.c (fixup_memory_subreg): Convert (SUBREG (MEM a)) to (MEM a').
- * stmt.c (fixup_var_ref_1): Use that fn for operands of
- SIGN_EXTRACT and ZERO_EXTRACT, since (SUBREG:SI (REG:QI...))
- could have turned into (SUBREG:SI (MEM:QI...)), which is unsafe.
+ * toplev.c (rest_of_compilation): Replace references to
+ stack_reg_dump_file and dbr_sched_dump_file with references to
+ rtl_dump_file.
- * rtl.c (debug_rtx): Print an rtx on stderr, for debugging.
+Tue Jan 27 10:22:13 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
-Sun Jan 17 04:37:20 1988 Richard Stallman (rms at frosted-flakes)
+ * tlink.c (scan_linker_output): Call fclose() for opened files.
- * gcc.c: options -M* treated like -M.
+Tue Jan 27 05:05:26 1998 Richard Henderson <rth@cygnus.com>
- * stmt.c (pushcase): Do nothing if the case index has error_mark type.
+ * 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.
- * expr.c (expand_increment): Don't use queue for post-inc on memory
- if the add insn requires register args. (Better code for RISCs.)
+ * 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.
-Sat Jan 16 02:10:22 1988 Richard Stallman (rms at frosted-flakes)
+Tue Jan 27 03:21:23 1998 Richard Henderson <rth@cygnus.com>
- * ns32k.md: Change register_operand to general_operand.
- * ns32k.md (udivmoddisi4): Use match_dup where required.
- Comment it out because it can't accept two independent output args.
+ * alpha.md (abssf, absdf): Revert last change.
-Fri Jan 15 00:02:35 1988 Richard Stallman (rms at frosted-flakes)
+Tue Jan 27 00:26:50 1998 John Carr <jfc@mit.edu>
- * toplev.c: Include sys/time.h only for BSD. For USG, use time.h.
- This is correct for HPUX; don't know about others.
+ * dwarf2out.c (dwarf2out_frame_init): Test value of DWARF2_UNWIND_INFO.
+ * mips/sni-svr4.h: Define DWARF2_UNWIND_INFO as 0.
- * gcc.c (execute): Eliminate `union wait'. Make `status' an int.
- * gcc.c (execute) [USG]: Use fork instead of vfork.
+Tue Jan 27 00:07:02 1998 Jeffrey A Law (law@cygnus.com)
- * final.c (output_source_line): Use ASM_OUTPUT_SOURCE_{FILENAME,LINE}
- if they are defined.
+ * emit-rtl.c (gen_lowpart_common): Handle more case where converting
+ a CONST_INT into SFmode.
- * tm-hp9k320.h: New name for tm-hpux.h.
- * tm-hp9k320.h (ASM_OUTPUT_LOCAL): Add 3rd arg to `lcomm' statements.
- * tm-hp9k320.h (ASM_OUTPUT_{DOUBLE,FLOAT}): Use `double' and `float'.
- * tm-hp9k320.h (CALL_USED_REGISTERS): Don't save any 68881 regs.
- * tm-hp9k320.h (CPP_PREDEFINES): different names defined.
- * tm-hp9k320.h (HPUX_ASM, NO_DBX_FORMAT, ASM_SPEC): define these.
- * tm-hp9k320.h (ASM_OUTPUT_OPCODE): Convert `ftst' to `ftest'.
- * tm-hp9k320.h: Define ASM_OUTPUT_SOURCE_{FILENAME,LINE}.
+Tue Jan 20 16:01:03 1998 Anthony Green <green@cygnus.com>
- * m68k.md: Rename `hpux' conditionals to `HPUX_ASM'.
- * m68k.md: Reverse `fcmp' args if HPUX_ASM.
+ * 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.
- * cccp.c (print_deps): 2 means give all files, 1 means only user files.
- * cccp.c (do_include): Support that.
- * cccp.c (main): -MM sets 1, -M alone sets 2.
- * cccp.c (main): Give fatal error if I/O error in writing.
+Mon Jan 26 23:57:39 1998 Manfred Hollstein <manfred@s-direktnet.de>
- * toplev.c (fatal_io_error): Report I/O error on given filename,
- and exit.
+ * libgcc2.c (__clear_insn_cache): On sysV68 enable the memctl
+ stuff only if MCT_TEXT is #define'd.
- * toplev.c (compile_file): Detect error writing asm_out_file.
- Always put asm file's name in asm_file_name for err msg.
- * symout.c (symout_finish): Detect error writing symfile.
- * symout.c (symout_init): Save filename in symfile_name for err msg.
+Mon Jan 26 23:52:51 1998 Markus F.X.J. Oberhumer <k3040e4@c210.edvz.uni-linz.ac.at>
- * gen*.c: Return 1 if ferror (stdout)--in case disk is full.
+ * configure.in (i*86-pc-msdosdjgpp): Treat like msdos & go32
+ configurations.
- * local-alloc.c (block_alloc): Don't crash if 1st rtx
- in a PARALLEL is not a SET.
+Fri Jan 23 09:39:36 1998 Nick Clifton <nickc@cygnus.com>
- * tm-m68k.h, tm-news800.h (PRINT_OPERAND). Eliminate code `%e'.
- * m68k.md: Change `%e' to `e' everywhere.
- * tm-hpux.h (ASM_OUTPUT_OPCODE): Output `move' as `mov'.
+ * toplev.c: Add -dM command line option to dump RTL after the
+ machine dependent reorganization pass, if there is one.
+ Reorganize RTL dump code, so that only one file handle is
+ needed.
- * tm-m68k.h, tm-news800.h, tm-hpux.h (PRINT_OPERAND):
- New code `%!' is output as the name for the cc register.
- * m68k.md (insns that use andi to ccr): Use `%!' to avoid
- conditionals.
+Mon Jan 26 12:09:42 1998 Benjamin Kosnik <bkoz@rhino.cygnus.com>
+
+ * except.c (check_exception_handler_labels): Disable warning when
+ flag_syntax_only.
+
+Mon Jan 26 18:17:32 1998 Jim Wilson <wilson@cygnus.com>
+
+ * sparc.c (pic_setup_code): Don't set LABEL_PRESERVE_P.
+
+Mon Jan 26 18:11:30 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * 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.
+
+Mon Jan 26 01:44:12 1998 Jeffrey A Law (law@cygnus.com)
+
+ * h8300.c (print_operand): Handle CONST_DOUBLE for 'e', 'f', and
+ the default case.
+ (get_shift_alg): Fix typo.
+
+Sun Jan 25 22:22:04 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (alpha_expand_block_move): Copy ADDRESSOF to reg.
+
+Sun Jan 25 22:14:28 1998 Richard Henderson <rth@cygnus.com>
+
+ * toplev.c (get_run_time): Make sure each case gets its variables.
+
+Sun Jan 25 22:10:21 1998 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+Sun Jan 25 22:00:25 1998 Alasdair Baird <alasdair@wildcat.demon.co.uk>
+
+ * recog.c (validate_replace_rtx_1): Only perform substitutions
+ of arguments to commutative and comparison operators once.
+
+Sun Jan 25 12:30:18 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * sparc.c (output_cbranch): Add default case in
+ enumeration switch.
+
+ * 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.
+
+ * objc/Make-lang.in (objc.stage1): Depend on stage1-start.
+ (objc.stage2, objc.stage3, objc.stage4): Likewise.
+
+Sun Jan 25 12:13:47 1998 Michael Tiemann <michael@tiemann.org>
+
+ * cse.c (simplify_ternary_operation): Don't try to simplify
+ IF_THEN_ELSE expressions (created by combine) that don't use
+ relational operators.
+
+Fri Jan 23 22:48:24 1998 Jeffrey A Law (law@cygnus.com)
+
+ * cse.c (simplify_ternary_operation): Handle more IF_THEN_ELSE
+ simplifications.
+
+ * crtstuff.c (init_dummy): Keep the epilogue in the init
+ section for non-ELF systems.
+
+Fri Jan 23 23:28:59 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.md (movqi_i+1): New peephole.
+
+Fri Jan 23 15:39:42 1998 Jim Wilson <wilson@cygnus.com>
+
+ * Makefile.in: Remove remaining bytecode stuff.
+ * emit-rtl.c, expr.c: Likewise.
+
+Fri Jan 23 12:41:10 1998 Nick Clifton (nickc@cygnus.com)
+
+ * toplev.c (lang_options): Add unknown-pragma options.
+
+Thu Jan 22 23:43:38 1998 Per Bothner <bothner@cygnus.com>
+
+ * dwarfout.c (byte_size_attribute): Simplify and fix - don't need
+ special (and incomplete) handling for Chill arrays.
+
+Fri Jan 23 00:27:23 1998 John Carr <jfc@mit.edu>
+
+ * toplev.c (get_run_time): Call sysconf(_SC_CLK_TCK), when available,
+ to get clock rate.
+
+Fri Jan 23 00:19:36 1998 Gavin Koch (gavin@cygnus.com)
+
+ * mips.md (muldi3_internal2): Reverse test for TARGET_MIPS16.
+
+1998-01-22 scott snyder <snyder@d0sgif.fnal.gov>
+
+ * mips.c (function_prologue): Use HARD_FRAME_POINTER_REGNUM in
+ .frame directive instead of FRAME_POINTER_REGNUM.
+
+Fri Jan 23 00:08:55 1998 Robin Kirkham <rjk@mlb.dmt.csiro.au>
+
+ * 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__.
+
+Thu Jan 22 19:55:40 1998 Jeff Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Thu Jan 22 14:47:31 1998 Jim Wilson <wilson@cygnus.com>
+
+ * 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.
+
+Thu Jan 22 14:49:14 1998 Jeffrey A Law (law@cygnus.com)
+
+ * regmove.c (find_matches): Initialize matches->earlyclobber too.
+
+Thu Jan 22 01:40:52 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.md (abssf2, absdf2): Disable in IEEE mode.
+ (negsf2, negdf2): Use proper subtract in IEEE mode.
+
+Tue Jan 20 09:29:09 1998 Jeffrey A Law (law@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.
+
+ * 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.
+
+Tue Jan 20 09:02:31 1998 Gavin Koch (gavin@cygnus.com)
+
+ * mips/mips.md (divsi3,divdi3,modsi3,moddi3,udivsi3,udivdi3,
+ umodsi3,umoddi3): Handle mips16 div/mod by a constant.
+
+Mon Jan 19 21:57:00 1998 Richard Henderson <rth@cygnus.com>
+
+ * i386.md (push): Prohibit symbolic constants if flag_pic.
+ (movsi+1): Likewise for move to non-register.
+
+Mon Jan 19 11:15:38 1998 Jim Wilson <wilson@cygnus.com>
+
+ * alpha.c (mode_mask_operand): Accept 0xffffffff on 32 bit host.
+ (print_operand): Handle 0xffffffff on 32 bit host.
+
+ * 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.
+
+ * 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.
+
+Mon Jan 19 10:14:55 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * unprotoize.c: Define UNPROTOIZE first, to actually take effect.
+
+Mon Jan 19 10:11:52 1998 Richard Henderson <rth@cygnus.com>
+
+ * configure.in: Add cpp stringify test.
+ * acconfig.h (HAVE_CPP_STRINGIFY): New tag.
+ * gengenrtl.c: Use it.
+ * configure, config.in: Rebuild.
+
+Mon Jan 19 09:43:15 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * Makefile.in (genrtl.c genrtl.h): Add dummy command for GNU make.
+
+Mon Jan 19 09:38:18 1998 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+Sun Jan 18 20:18:01 1998 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (alpha_handle_trap_shadows): Ignore CLOBBERs.
+
+Sun Jan 18 01:54:27 1998 Jeffrey A Law (law@cygnus.com)
+
+ * alpha/xm-winnt.h (HAS_INIT_SECTION): Undefine.
+
+Sun Jan 18 00:57:35 1998 Mike Stump <mrs@wrs.com>
+
+ * configure.in (i960-wrs-vxworks): Default to latest vxworks release.
+
+Sat Jan 17 23:41:36 1998 David S. Miller <davem@tanya.rutgers.edu>
+
+ * combine.c (force_to_mode, nonzero_bits): Correctly optimize
+ constant offset computations from objects with known alignment in
+ the presence of STACK_BIAS.
+
+ * varasm.c (immed_double_const): Add casts to HOST_WIDE_INT where
+ necessary.
+ (const_hash): Hash val is unsigned long.
+ (SYMHASH): Likewise.
+
+ * tree.c (TYPE_HASH): Type of hash val is unsigned long.
+
+ * 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.
+
+ * cse.c (canon_hash): Hash is unsigned long not HOST_WIDE_INT.
+
+ * 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.
+
+Sat Jan 17 23:22:59 1998 John Wehle (john@feith.com)
+
+ * i386.md: Remove redundant integer push patterns.
+ Don't bother checking for TARGET_PUSH_MEMORY when
+ pushing constants or registers.
+
+Sat Jan 17 22:35:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
+ J.J VanderHeijden <J.J.vanderHeijden@student.utwente.nl>
+
+ * pexecute.c (pexecute): New function for mingw32. Supports pipes.
+ (pwait): New function for mingw32.
+
+ * gcc.c (execute): Mingw32 pexecute() supports pipes, but cygwin32
+ pipe support is broken for now.
+
+1998-01-17 Lee Iverson <leei@Canada.AI.SRI.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.
+
+ * reorg.c: #include "expr.h" for rtx prototypes.
+ * Makefile.in (reorg.o): Depend on expr.h
+
+Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za>
+
+ * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and
+ local_prefix to sub-make invocations.
+
+Sat Jan 17 21:24:16 1998 David T. McWherter <dtm@waterw.com>
+
+ * objc-parse.c: Recognize protocol qualifiers in class definitions.
+
+Sat Jan 17 21:16:19 1998 Jeffrey A Law (law@cygnus.com)
+
+ * rtl.h: Fix typos.
+
+ * 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.
+
+ * rtl.c (read_rtx): Initialize list_rtx to NULL, not NULL_RTX.
+
+ * 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.
+
+ * jump.c (jump_optimize): Remove Dec 17, 1997 chance in
+ favor of an equivalent change from gcc-2.8.
+
+ * i386/x-sco5 (CC): Remove trailing whitespace.
+
+Sat Jan 17 21:09:46 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gengenrtl.c (type_from_format): De-ANSIfy function signature.
+ (accessor_from_format): Likewise.
+ (xmalloc): New function for use when linking with alloca.o.
+
+Mon Jan 5 02:53:01 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
+
+ * frame.c (find_fde): Correct FDE's upper bound.
+
+Fri Jan 16 16:23:52 1998 Richard Henderson <rth@cygnus.com>
+
+ * gengenrtl.c (DEF_RTL_EXPR): Provide a K&R compliant version.
+
+Fri Jan 16 10:16:10 1998 Jeffrey A Law (law@cygnus.com)
+
+ * calls.c (expand_call): Move #ifdef code out of macro argument
+ lists.
+ (emit_library_call, emit_library_call_value): Likewise.
+
+Fri Jan 16 00:46:40 1998 Jeffrey A Law (law@cygnus.com)
+
+ * rtl.def (INLINE_HEADER): Fix bug exposed by gen_rtx_FOO changes.
+
+Thu Jan 15 01:02:30 1998 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Wed Jan 14 22:49:17 1998 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+Wed Jan 14 19:36:08 1998 Gavin Koch (gavin@cygnus.com)
+
+ * mips.h: Fix some type-o's from a previous change.
+
+Wed Jan 14 01:26:05 1998 Jeffrey A Law (law@cygnus.com)
+
+ * loop.c (check_dbra_loop): Make sure initial value is a
+ CONST_INT before trying to normalize it.
+
+Tue Jan 13 23:27:54 1998 Robert Lipe (robertl@dgii.com)
+
+ * sco5.h (ASM_OUTPUT_SECTION_NAME): Refresh from ../svr4.h.
+
+Tue Jan 13 22:47:02 1998 Herman ten Brugge <herman@htbrug.net.HCC.nl>
+
+ * cppexp.c: Include gansidecl.h
+
+Tue Jan 13 22:43:35 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * svr4.h (LINK_SPEC): Never specify -h.
+ * ptx4.h (LINK_SPEC): Likewise.
+ * rs6000/sysv4.h (LINK_SPEC): Likewise.
+ * sparc/sol2.h (LINK_SPEC): Likewise.
+
+Tue Jan 13 22:39:40 1998 Richard Henderson (rth@cygnus.com)
+
+ * c-typeck.c (comptypes): Exit early on NULL input.
+
+ * haifa-sched.c (schedule_insns): Correctly remove inter-block
+ dependencies after reload.
+
+Tue Jan 13 22:22:31 1998 Franz Sirl <franz.sirl-kernel@lauterbach.com>
+
+ * rs6000/linux.h (CPP_PREDEFINES): Add -D__ELF__.
+
+Tue Jan 13 22:14:57 1998 Klaus Kaempf <kkaempf@progis.de>
+
+ * alpha/vms.h (DIR_SEPARATOR): Define.
+
+Tue Jan 13 22:13:04 1998 Bruno Haible <bruno@linuix.mathematik.uni-karlsruhe.de>
+
+ * Makefile.in (stamp-proto): Remove.
+ (protoize.o, unprotoize.o): Straightforward compile.
+ * unprotoize.c: Define UNPROTOIZE here, not in the Makefile.
+
+Tue Jan 13 21:59:39 1998 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * i386/cygwin32.h (STRIP_NAME_ENCODING): Define for Win32 to strip
+ off the trailing @[NUM] added by ENCODE_SECTION_INFO.
+
+Tue Jan 13 21:55:06 1998 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Tue Jan 13 21:37:07 1998 Shigeya Suzuki <shigeya@foretune.co.jp>
+
+ * i386/bsd386.h (DWARF2_UNWIND_INFO): Define as zero for now.
+
+Tue Jan 13 17:50:55 1998 Jim Wilson <wilson@cygnus.com>
+
+ * configure.in (target_cpu_default, target_cpu_default2): Use double
+ quotes around them when testing their value.
+ * configure: Rebuilt.
+
+Tue Jan 13 09:07:44 1998 John Carr <jfc@mit.edu>
+
+ * gengenrtl.c (gencode): Emit new function obstack_alloc_rtx
+ to allocate rtx.
+ (gendef): Call obstack_alloc_rtx.
+
+Tue Jan 13 01:16:36 1998 Robert Lipe (robertl@dgii.com)
+
+ * configure.in (i[3456]86-UnixWare7-sysv5): Treat much like SVR4
+ for now.
+
+Thu Dec 18 18:40:17 1997 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * 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.
+
+Tue Jan 13 00:44:02 1998 Jim Wilson <wilson@cygnus.com>
+
+ * mips.md (return_internal): Change mode from SImode to VOIDmode.
+
+Sat Jan 10 22:11:39 1998 J. Kean Johnston <jkj@sco.com>
+
+ * i386/sco5.h (STARTFILE_SPEC, ENDFILE_SPEC): Correctly handle
+ "-static".
+
+Sat Jan 10 22:04:15 1998 Stan Cox <scox@equinox.cygnus.com>
+
+ * i386.md (movsicc_1, movhicc_1): For alternate 3 set the opcode
+ suffix from operand 3.
+
+Sat Jan 10 21:50:16 1998 J"orn Rennecke <amylaar@cygnus.co.uk>
+ Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Sat Jan 10 20:30:12 1998 Jeffrey A Law (law@cygnus.com)
+
+ * regclass.c (record_address_regs): Don't use REG_OK_FOR_BASE_P
+ if it is not defined.
+
+Thu Jan 8 21:06:54 1998 Richard Henderson <rth@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.
+
+Mon Jan 5 13:00:18 1998 John F. Carr <jfc@mit.edu>
+
+ * 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.
+
+Mon Jan 5 11:39:49 1998 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Sun Jan 4 20:24:00 1998 Nigel Stephens <nigel@algor.co.uk>
+
+ * mips/mips16.S: Various changes to make it work with -msingle-float
+ and -EL.
+
+Sun Jan 4 14:25:18 1998 Gavin Koch <gavin@cygnus.com>
+ Ian Lance Taylor <ian@cygnus.com>
+ Jeff Law <law@cygnus.com>
+
+ * mips.c, mips.h, mips.md: First cut at merging in mips16
+ support. Major modifications throughout all three files.
+
+Sun Jan 4 01:01:50 1998 scott snyder <snyder@d0sgif.fnal.gov>
+
+ * configure.in: Make gthr-default.h a forwarding header instead of
+ a symlink.
+
+Sat Jan 3 12:08:06 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * gcov-io.h: Include sys/types.h to ensure we get size_t.
+
+ * pa.h (ASM_OUTPUT_MI_THUNK): Add missing % in fprintf.
+
+Fri Jan 2 23:40:09 1998 Jim Wilson (wilson@cygnus.com)
+ Jeffrey A Law (law@cygnus.com)
+
+ * crtstuff.c (__frame_dummy): New function for irix6.
+ (__do_global_ctors): Call __frame_dummy for irix6.
+ * iris6.h (LINK_SPEC): Hide __frame_dummy too.
+
+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 substitute 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: Likewise.
+
+ * 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 independent 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 declaration.
+ * 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): Likewise.
+
+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): Likewise.
+ * collect2.c (__deregister_frame_info): Likewise.
+
+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 memory-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 11:41:32 1997 Mark Mitchell <mmitchell@usa.net>
+
+ * 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 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): Likewise.
+ * 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): Likewise.
+ * 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): Likewise.
+ (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.
+
+Tue Dec 9 09:43:59 1997 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * toplev.c (main): Check HAVE_GETRLIMIT and HAVE_SETRLIMIT in addition
+ to RLIMIT_STACK to see if we can call getrlimit and setrlimit.
+
+Tue Dec 9 09:38:58 1997 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.h (FUNCTION_ARG_PADDING): Define.
+ * rs6000.c (function_arg_padding): New function.
+
+Tue Dec 9 10:34:21 1997 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * m68k.c: Include tree.h only once.
+
+Tue Dec 9 09:32:33 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * integrate.c (save_for_inline_copying): Make a new reg_parm_stack_loc.
+
+Tue Dec 9 01:16:06 1997 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Tue Dec 9 01:15:15 1997 Fred Fish <fnf@ninemoons.com>
+
+ * libgcc2.c (string.h): Hoist inclusion to occur before first use of
+ string functions like strlen.
+
+Tue Dec 9 00:57:38 1997 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * 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.
+
+Mon Dec 8 23:53:26 1997 Jay Sachs <sachs@bull.cs.williams.edu>
+
+ * Makefile.in (compare*): Handle losing behavior from 4.4bsd make.
+
+Mon Dec 8 21:03:28 1997 Richard Henderson <rth@cygnus.com>
+
+ * alpha.c (REG_RA, alpha_return_addr, output_epilog):
+ Fix merge problems.
+
+ * alpha.c (override_options): Don't know about scheduling for EV6.
+ * alpha.md (ev5 function units): Don't overload as ev6.
+
+ * 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.
+
+Mon Dec 8 18:15:00 1997 Richard Henderson <rth@cygnus.com>
+
+ * alpha/win-nt.h (TRAMPOLINE_TEMPLATE): Fix backported gcc-2.8 bug.
+
+Mon Dec 8 21:17:28 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * cstamp-h, auto-config.h: Delete.
+
+Sun Dec 7 19:19:03 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Sat Dec 6 22:22:22 1997 Jeffrey A Law (law@cygnus.com)
+
+ * cccp.c: Fix typo brought over in merge.
+
+ * Merge in changes from gcc-2.8.
+
+Mon Nov 3 05:45:32 1997 Philippe De Muyter <phdm@macqel.be>
+
+ * m68k.c: Include tree.h for dwarf2out_cfi_label.
+
+ * gcc.c (process_command): Do not take address of function fatal when
+ calling lang_specific_driver.
+
+Sat Dec 6 01:02:38 1997 Mumit Khan <khan@xraylith.wisc.edu>
+
+ * 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.
+
+Sat Dec 6 01:01:02 1997 Christian Iseli <Christian.Iseli@lslsun.epfl.ch>
+
+ * cse.c (cse_insn): Check for invalid entries when taking references.
+
+Fri Dec 5 18:26:25 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * 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.
+
+Fri Dec 5 16:26:03 1997 Bernd Schmidt <crux@ohara.Informatik.RWTH-Aachen.DE>
+
+ * i386.c (notice_update_cc): Remove bogus pentium GCC code.
+
+Fri Dec 5 16:25:14 1997 Jeffrey A Law (law@cygnus.com)
+
+ * stmt.c (warn_if_unused_value): Don't warn for TRY_CATCH_EXPR.
+
+Thu Dec 4 11:51:00 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * except.c (get_dynamic_handler_chain): Only make the call once per
+ function.
+
+ * except.c (expand_end_all_catch): Fix for sjlj exceptions.
+
+Thu Dec 4 12:30:40 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * sh.c (final_prescan_insn): Use local label prefix
+ when emitting .uses pseudo-ops.
+
+Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * 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.
+
+Thu Dec 4 00:24:09 1997 Jeffrey A Law (law@cygnus.com)
+
+ * i386/t-sol2 (CRTSTUFF_T_CFLAGS): Turn on the optimizer.
+
+Wed Dec 3 12:01:56 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * 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.
+
+Wed Dec 3 11:41:13 1997 Gavin Koch <gavin@cygnus.com>
+
+ * 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.
+
+Tue Dec 2 19:40:43 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * stmt.c (expand_decl_cleanup): Update thisblock after eh_region_start.
+
+Tue Dec 2 12:54:33 1997 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (find_splittable_givs): Remove last change. Handle givs
+ with a dest_reg that was created by loop.
+
+Sat Nov 29 12:44:57 1997 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.c (function_arg_partial_nregs): Undo Nov. 26 patch.
+
+ * rs6000/aix41.h (ASM_CPU_SPEC): Define.
+
+Fri Nov 28 10:00:27 1997 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in: Fix NCR entries.
+
+Thu Nov 27 12:20:19 1997 Jeffrey A Law (law@cygnus.com)
+
+ * flow.c (find_basic_blocks): Handle cfg issues for rethrows and
+ nested exceptions correctly.
+
+ * unroll.c (find_splittable_givs): Don't split givs with a dest_reg
+ that was created by loop.
+
+Thu Nov 27 09:34:58 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * expr.c (preexpand_calls): Don't look past a TRY_CATCH_EXPR.
+
+ * except.c (expand_start_all_catch): One more do_pending_stack_adjust.
+
+Wed Nov 26 15:47:30 1997 Michael Meissner <meissner@cygnus.com>
+
+ * 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): Likewise.
+
+ * rs6000/linux.h (LINK_SPEC): Pass -dynamic-linker /lib/ld.so.1 if
+ -dynamic linker is not used.
+
+ * rs6000.md (call insns): For local calls, use @local suffix under
+ System V. Don't use @plt under Solaris.
+
+ * rs6000.c (output_function_profiler): Put label address in r0, and
+ store LR in 4(sp) for System V/eabi.
+
+ * rs6000.h (ASM_OUTPUT_REG_{PUSH,POP}): Keep stack aligned to 16
+ byte boundary, and maintain stack backchain.
+
+Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
+
+ * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
+ fix_truncsfdi2): Change *.
+
+Wed Nov 26 11:12:26 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * toplev.c (main): Complain about -gdwarfn.
+
+Tue Nov 25 22:43:30 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarfout.c (output_type): If finalizing, write out nested types
+ of types we've already written.
+
+Tue Nov 25 20:32:24 1997 Michael Meissner <meissner@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): Likewise.
+
+ * rs6000.md (call insns): If -fPIC or -mrelocatable, add @plt
+ suffix to calls.
+
+Tue Nov 25 23:37:27 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * integrate.c (output_inline_function): Just unset DECL_INLINE.
+
+Tue Nov 25 23:33:29 1997 scott snyder <snyder@d0sgif.fnal.gov>
+
+ * dwarf2out.c (outout_call_frame_info): Ensure that the info has
+ proper alignment.
+
+ * libgcc2.c (__throw): Initialize HANDLER.
+
+Tue Nov 25 14:08:12 1997 Jim Wilson <wilson@cygnus.com>
+
+ * mips.md (fix_truncdfsi2, fix_truncsfsi2, fix_truncdfdi2,
+ fix_truncsfdi2): Change *X to ?*X.
+
+Tue Nov 25 10:00:42 1997 Richard Henderson (rth@cygnus.com)
+
+ * alpha.h (CONST_OK_FOR_LETTER): Fix 'L' handling.
+
+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 conditional
+ 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 propagated 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
+ tentative 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_eh_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 function.
+ * 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]): Propagate 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.
+
+ * 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.
+
+ * alpha.c: Move REG_PV, REG_RA somewhere more visible in the file.
+ (output_prolog [!VMS]): Use them.
+
+ * 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.
+
+Thu Oct 16 09:36:47 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Wed Oct 15 21:38:18 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * pa.c (move_operand): Respect -mdisable-indexing.
+ * pa.h (GO_IF_LEGITIMATE_ADDRESS): Likewise.
+
+Wed Oct 15 21:34:45 1997 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.md (udivsi3, divsi3): Split into MQ and non-MQ cases for
+ PPC601.
+ (umulsidi3,umulsi3_highpart): Likewise.
+ (smulsi3_highpart_no_mq): Add !TARGET_POWER.
+
+Wed Oct 15 18:21:46 1997 Richard Henderson <rth@cygnus.com>
+
+ * 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_DEPENDENT_REORG): Define.
+ * alpha.md (jsr patterns with trapb): Stupid and useless. Kill.
+ (trapb): New insn.
+
+Wed Oct 15 18:16:05 1997 Richard Henderson <rth@cygnus.com>
+
+ 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.
+
+Wed Oct 15 17:42:41 1997 Jeffrey A Law (law@cygnus.com)
+
+ * pa.c (following_call): Fail if the CALL_INSN is an indirect
+ call.
+
+Tue Oct 14 12:01:00 1997 Mark Mitchell <mmitchell@usa.net>
+
+ * cplus-dem.c (demangle_signature): Don't look for return types on
+ constructors. Handle member template constructors.
+
+Tue Oct 14 11:30:29 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * tree.c (expr_tree_cons, build_expr_list, expralloc): New fns.
+ * tree.h: Declare them.
+
+Fri Oct 10 13:46:56 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ * configure.in: Handle --with-newlib.
+ * Makefile.in (LIBGCC2_CFLAGS): Add @inhibit_libc@.
+
+ * sparc/t-sp64 (LIBGCC2_CFLAGS): Delete.
+
+Wed Oct 8 14:37:44 1997 Jeffrey A Law (law@cygnus.com)
+
+ * config/ptx4.h: Fix typo.
+
+Wed Oct 8 08:57:20 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Tue Oct 7 16:27:34 1997 Manfred Hollstein <manfred@s-direktnet.de>
+
+ * aclocal.m4: Substitute INSTALL.
+ * configure: Re-built.
+
+Tue Oct 7 15:37:35 1997 Jeffrey A Law (law@cygnus.com)
+
+ * integrate.c (save_for_inline_copying): Avoid undefined pointer
+ operations.
+ (expand_inline_function): Likewise.
+
+ * dwarf2out.c (output_call_frame_info): Reinstate last change
+ using flag_debug_asm check instead of flag_verbose_asm.
+
+Tue Oct 7 12:57:26 1997 Jim Wilson <wilson@cygnus.com>
+
+ * dwarf2out.c (output_call_frame_info): Remove last change.
+
+1997-10-04 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * frame.c (__frame_state_for): Execute the FDE insns until the
+ current pc value is strictly bigger than the target pc value.
+
+Tue Oct 7 11:00:42 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * regclass.c (init_reg_modes): If we can't find a mode for the
+ register, use the previous one.
+
+Tue Oct 7 10:55:34 1997 Richard Henderson <rth@cygnus.com>
+
+ * haifa-sched.c (print_block_visualization): Call fprintf directly,
+ don't sprintf through an alloca'ed buffer.
+
+Tue Oct 7 10:52:29 1997 Thomas Koenig (ig25@rz.uni-karlsruhe.de)
+
+ * reload.c (decompose): Always initialize val.base.
+
+Tue Oct 7 10:19:26 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
+
+ * 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.
+
+Tue Oct 7 11:41:21 1997 Michael Meissner <meissner@cygnus.com>
+
+ * 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): Likewise.
+
+Tue Oct 7 10:01:45 1997 Chip Salzenberg <chip@rio.atlantic.net>
+
+ * Makefile.in (program_transform_name): Let autoconf substitute
+ the correct value.
+
+Tue Oct 7 09:54:35 1997 Jeffrey A Law (law@cygnus.com)
+
+ * haifa-sched.c (schedule_block): If the first real insn in a
+ block has any special notes attached to it, remove them.
+
+Tue Oct 7 09:48:51 1997 Richard Henderson <rth@cygnus.com>
+
+ * alpha.h (FLOAT_STORE_FLAG_VALUE): It's 2.0 not 0.5.
+
+Mon Oct 6 12:47:32 1997 Manfred Hollstein (manfred@lts.sel.alcatel.de)
+
+ * m88k.c (m88k_begin_prologue): Remove superfluous backslash.
+
+Mon Oct 6 12:04:24 1997 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (check-g77): New test target.
+ (CHECK-TARGETS): Add check-g77.
+
+Fri Oct 3 11:56:36 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * toplev.c (rest_of_compilation): Defer all non-nested inlines.
+
+Fri Oct 3 15:49:27 1997 Michael Meissner <meissner@cygnus.com>
+
+ * flow.c (print_rtl_with_bb): Cast alloca return value for
+ in_bb_p.
+
+Thu Oct 2 21:15:03 1997 Richard Henderson <rth@cygnus.com>
+
+ * i386.h (RETURN_ADDR_RTX): New definition that works for
+ __builtin_return_address(0) and -fomit-frame-pointer.
+
+Wed Oct 1 13:43:53 1997 Jim Wilson <wilson@cygnus.com>
+
+ Bring over from FSF.
+ Tue Aug 5 16:10:45 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * mips.c (function_arg): Handle passing a struct
+ containing a double in a DFmode register without the PARALLEL.
+
+Wed Oct 1 11:13:25 1997 Ian Lance Taylor <ian@cygnus.com>
+
+ * pexecute.c: Use spawn if __CYGWIN32__.
+
+ * pexecute.c: Include "config.h" first, as per autoconf manual
+ (from Paul Eggert <eggert@twinsun.com>).
+
+Wed Oct 1 01:44:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
+
+ * m68k/x-mot3300 (XCFLAGS): Disable as's long/short jump
+ optimization for f/expr.o and f/stb.o.
+
+Tue Sep 30 23:48:57 1997 Jeffrey A Law (law@cygnus.com)
+
+ * cse.c (this_insn_cc0_mode): Initialize.
+
+Tue Sep 30 23:09:40 1997 Thomas Koenig <ig25@mvmap66.ciw.uni-karlsruhe.de>
+
+ * cccp.c (expand_to_temp_buffer): Initialize all members of obuf.
+
+ * haifa-sched.c (get_block_head_tail): Remove unneeded initialization.
+
+Tue Sep 30 23:06:43 1997 Richard Henderson <rth@cygnus.com>
+
+ * 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.
+
+Tue Sep 30 16:07:58 1997 Jim Wilson <wilson@cygnus.com>
+
+ * except.c (find_exception_handler_labels): Correct argument to free.
+
+Tue Sep 30 11:00:00 1997 Brendan Kehoe <brendan@lisa.cygnus.com>
+
+ * except.c (find_exception_handler_labels): Free LABELS when we're
+ done.
+
+Mon Sep 29 14:04:35 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Mon Sep 29 10:51:53 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * flow.c (find_basic_blocks): Mark calls as potentially jumping
+ to the EH labels.
+
+Mon Sep 29 09:58:06 1997 Jeffrey A Law (law@cygnus.com)
+
+ * configure.in: Substitute for "install" too.
+ * configure: Rebuilt.
+
+Mon Sep 29 00:38:42 1997 Aaron Jackson <jackson@negril.msrce.howard.edu>
+
+ * Makefile.in (bootstrap-lean, compare-lean): New targets.
+
+Mon Sep 29 00:18:16 1997 Richard Henderson (rth@cygnus.com)
+
+ * alias.c (base_alias_check): Two symbols can conflict if they
+ are accessed via AND.
+ (memrefs_conflict_p): Likewise.
+
+ * alpha.h (SETUP_INCOMING_VARARGS): Emit a blockage insn
+ after flushing argument registers to the stack.
+
+ * Makefile.in (mostlyclean): Remove .regmove files.
+
+Sun Sep 28 18:59:58 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * libgcc2.c (__throw): Fix thinko.
+
+Sun Sep 28 12:00:52 1997 Mark Mitchell <mmitchell@usa.net>
+
+ * 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.
+
+Sun Sep 28 01:55:04 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
+
+ * flow.c (print_rtl_with_bb): Cast alloca return values for variables
+ start and end.
+
+Sun Sep 28 01:05:16 1997 Jeffrey A Law (law@cygnus.com)
+
+ * frame.c: Remove last change.
+ * dwarf2.h: Remove last change.
+ * tree.h: Add declarations of DWARF2 unwind info support
+ functions.
+
+Sat Sep 27 11:02:38 1997 Jason Merrill <jason@yorick.cygnus.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.
+
+Fri Sep 26 08:54:59 1997 Paul Eggert <eggert@twinsun.com>
+
+ * 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.
+
+Fri Sep 26 09:00:13 1997 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * 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.
+
+ * integrate.c (expand_inline_function): Make sure there is at
+ least one insn that can be used as an insertion point.
+
+Wed Sep 24 21:34:06 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
+
+Wed Sep 24 22:05:30 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Wed Sep 24 17:36:23 1997 Doug Evans <dje@canuck.cygnus.com>
+
+ Bring over from FSF.
+
+ Wed Sep 24 19:17:08 1997 Doug Evans <dje@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.
+
+ Wed Sep 24 18:38:22 1997 David S. Miller <davem@tanya.rutgers.edu>
+
+ * 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.
+
+ Tue Sep 23 19:02:46 1997 Doug Evans <dje@cygnus.com>
+
+ * sparc/linux-aout.h (COMMENT_BEGIN): Delete.
+ * sparc/linux.h (COMMENT_BEGIN): Likewise.
+ * sparc/linux64.h (COMMENT_BEGIN): Likewise.
+
+ Tue Sep 23 14:48:18 1997 David S. Miller <davem@tanya.rutgers.edu>
+
+ 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.
+
+ Sat Sep 20 03:07:54 1997 Doug Evans <dje@cygnus.com>
+
+ * 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.
+
+ Wed Sep 17 15:04:19 1997 Doug Evans <dje@cygnus.com>
+
+ * 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.
+
+ Mon Sep 8 08:45:19 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * 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.
+
+Tue Sep 23 12:34:51 1997 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * fold-const.c (make_range): Correctly handle cases of converting
+ from unsigned to signed type.
+
+Tue Sep 23 12:34:51 1997 Bernd Schmidt <crux@pool.informatik.rwth-aachen.de>
+
+ * 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.
+
+Mon Sep 22 19:33:53 1997 Jim Wilson <wilson@cygnus.com>
+
+ * mips.c (save_restore_insns): Only set RTX_FRAME_RELATED_P if store_p.
+
+Mon Sep 22 14:41:00 1997 Jeffrey A Law (law@cygnus.com)
+
+ * reg-stack.c (find_blocks): Fix thinko in last change.
+
+1997-09-21 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
+
+ * m68k.c (output_function_prologue): Add dwarf2 support.
+
+ * m68k.h (INCOMING_RETURN_ADDR_RTX, DWARF_FRAME_REGNUM,
+ INCOMING_FRAME_SP_OFFSET): New definitions.
+
+Mon Sep 22 11:36:42 1997 David S. Miller <davem@tanya.rutgers.edu>
+
+ * 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.
+
+ * sparc.h (INCOMING_FRAME_SP_OFFSET): Define to
+ SPARC_STACK_BIAS for sake of dwarf2 on sparc64.
+
+Mon Sep 22 11:21:33 1997 J. Kean Johnston <jkj@sco.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.
+
+Mon Sep 22 02:10:43 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Sun Sep 21 17:45:45 1997 Jeffrey A Law (law@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.
+
+ * 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.
+
+ * cse.c (simplify_relational_operation): Set h0u just like h0s.
+ Similarly for h1u and h1s.
+
+ * 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.
+
+ * loop.c (fix_bct_param): Delete unused function.
+ (check_bct_param): Likewise.
+
+Sat Sep 20 16:22:06 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * frame.c (__deregister_frame): Check properly for initialized object.
+
+Fri Sep 19 20:51:03 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * alpha/linux.h (HANDLE_SYSV_PRAGMA): Defined.
+
+Fri Sep 19 18:53:50 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * jump.c (thread_jumps): Check can_reverse_comparison_p before
+ threading a reversed-condition jump.
+
+ * sched.c (update_flow_info): Don't pass SCRATCH to dead_or_set_p.
+ * haifa-sched.c (update_flow_info): Likewise.
+
+Thu Sep 18 21:13:40 1997 Jeffrey A Law (law@cygnus.com)
+
+ * Makefile.in (BOOT_CFLAGS): Use -O2.
+
+ * configure.in (strtoul, bsearch): Have autoconf check for these
+ functions.
+ * configure, config.in: Rebuilt.
+
+ * 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 Sep 18 14:22:22 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * 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.
+
+ * 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 >.
+
+Thu Sep 18 10:43:07 1997 Nick Clifton <nickc@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.
+
+1997-09-18 Brendan Kehoe <brendan@lisa.cygnus.com>
+
+ * configure.in, configure: Make sure to create the stage* and include
+ symbolic links in each subdirectory.
+
+Thu Sep 18 01:47:06 1997 Jeffrey A Law (law@cygnus.com)
+
+ * pa.md (reload_peepholes): Don't allow addresses with side
+ effects for the memory operand.
+
+Wed Sep 17 18:19:53 1997 Jason Merrill <jason@yorick.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.
+
+ * except.c (expand_builtin_set_return_addr_reg): Use force_operand.
+
+Wed Sep 17 18:33:59 1997 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+Wed Sep 17 14:11:38 1997 Jeffrey A Law (law@cygnus.com)
+
+ * v850.c (construct_save_jarl): Fix thinko in last change.
+
+Wed Sep 17 09:53:07 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Tue Sep 16 14:22:36 1997 Jason Merrill <jason@yorick.cygnus.com>
+
+ * libgcc2.c (find_exception_handler): Not found is -1.
+
+ * integrate.c (expand_inline_function): Move expand_start_bindings
+ after expanding the arguments.
+
+Tue Sep 16 11:13:46 1997 Jim Wilson <wilson@cygnus.com>
+
+ * 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.
+
+Tue Sep 16 09:18:52 1997 Jason Merrill (jason@cygnus.com)
+
+ * expr.c (expand_expr, case TARGET_EXPR): Call mark_addressable
+ again for the slot after we give it RTL.
+
+Tue Sep 16 00:13:20 1997 Nick Clifton <nickc@cygnus.com>
+
+ * 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.
+
+ * v850.h (pattern_is_ok_for_prologue,
+ pattern_is_ok_for_epilogue, register_is_ok_for_epilogue): New
+ predicates.
+
+ * v850.md: Replace prologue and epilogue patterns with a
+ match_parallel pattern.
+
+Mon Sep 15 22:53:01 1997 Jeffrey A Law (law@cygnus.com)
+
+ * aclocal.m4: Add replacement for AC_PROG_INSTALL.
+ * configure.in: Use EGCS_PROG_INSTALL.
+
+Mon Sep 15 22:40:55 1997 Jim Wilson (wilson@cygnus.com)
+
+ * 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): Likewise.
+ (macroexpand): Likewise.
+ (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 compatibility.
+
+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
+ collectible 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 gratuitous 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): Likewise.
+ * haifa-sched.c (find_rgns): Likewise.
+
+ * 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): Likewise.
+ * config.sub: Likewise.
+
+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.
+
+Thu Sep 4 15:01:49 1997 Michael Meissner <meissner@cygnus.com>
+
+ * toplev.c (rest_of_compilation): For passes starting with
+ flow_analysis, use print_rtl_with_bb instead of print_rtl.
+
+ * print-rtl.c (print_rtl_single): Print a single rtl value to a
+ file.
+
+ * 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.
+
+Thu Sep 4 11:51:43 1997 Jim Wilson <wilson@cygnus.com>
+
+ * toplev.c (main): Change #elif to #else/#ifdef.
+
+ * tlink.c: Include ctype.h.
+ * ginclude/va-mips.h: Add _VA_MIPS_H_ENUM ifdef/define/endif.
+
+Thu Sep 4 11:17:16 1997 Mikeael Meissner (meissner@cygnus.com)
+
+ * bitmap.c: Conditionally include stdlib.h.
+ (free): Provide a declaration if NEED_DECLARATION_FREE.
+
+Thu Sep 4 09:58:53 1997 Joel Sherrill (joel@OARcorp.com)
+
+ * i960/i960.h: Added default for SUBTARGET_SWITCHES macro.
+
+Thu Sep 4 09:53:20 1997 Jim Wilson (wilson@cygnus.com)
+
+ * profile.c (output_arc_profiler): Verify next_insert_after is an
+ INSN before and after skipping a stack pop.
+
+Thu Sep 4 07:39:19 1997 J"orn Rennecke <amylaar@cygnus.co.uk>
+
+ * final.c (shorten_branches): Don't count the lengths of deleted
+ instructions.
+
+Thu Sep 4 09:43:01 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+Thu Sep 4 11:04:21 1997 Michael Meissner <meissner@cygnus.com>
+
+ * bitmap.h (EXECUTE_IF_AND_IN_BITMAP): New macro, to iterate over
+ two bitmaps ANDed together.
+ (bitmap_print): Declare.
+
+ * 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.
+
+ * basic-block.h (EXECUTE_IF_AND_IN_REG_SET): New macro, invoke
+ EXECUTE_IF_AND_IN_BITMAP.
+
+Wed Sep 3 10:39:42 1997 Jim Wilson <wilson@cygnus.com>
+
+ * alias.c (true_dependence): Address with AND can alias scalars.
+ (anti_dependence, output_dependence): Likewise.
+
+ * alias.c (true_dependence): Test x for BLKmode, in addition to mem.
+
+Wed Sep 3 09:28:50 1997 Joel Sherrill (joel@OARcorp.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.
+
+Wed Sep 3 09:05:41 1997 Robert Lipe (robert@dgii.com)
+
+ * xm-sco5.h (sys_siglist): Define.
+ (SYS_SIGLIST_DECLARED): Likewise.
+
+Tue Sep 2 23:33:33 1997 Jeffrey A Law (law@cygnus.com)
+
+ * expr.c (convert_move): Handle truncation from TQFmode to QFmode.
+
+Wed Sep 3 02:09:30 1997 Torbjorn Granlund <tege@pdc.kth..se>
+
+ * except.c (eh_outer_context): Expand masking operation using
+ expand_binop.
+
+Tue Sep 2 18:09:39 1997 Jim Wilson <wilson@cygnus.com>
+
+ * alpha.md (floatdisf2-1): New pattern.
+
+Tue Sep 2 18:41:55 1997 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+ * mn10200.h (INITIALIZE_TRAMPOLINE): PC relative instructions
+ are relative to the next instruction, not the current instruction.
+
+Tue Sep 2 14:22:43 1997 Jim Wilson <wilson@cygnus.com>
+
+ * 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.
+
+Tue Sep 2 12:48:11 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * 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.
+
+Tue Sep 2 12:00:36 1997 Jim Wilson <wilson@cygnus.com>
+
+ * 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.
+
+Tue Sep 2 13:42:38 1997 Paul N. Hilfinger <hilfingr@CS.Berkeley.EDU>
+
+ * fixincludes: Permits spaces between # and define. Discard C++
+ comments in sys/pci.h on HP/UX 10.20.
+
+Mon Sep 1 22:13:18 1997 Jeffrey A Law (law@cygnus.com)
+
+ * version.c: Bump for snapshot.
+
+ * 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.
+
+ * haifa-sched.c (move_insn): Handle notes correctly for insns
+ with SCHED_GROUP_P set.
+
+Mon Sep 1 16:58:57 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
+
+ * alpha/xm-linux.h (USE_BFD): Undef before define.
+
+Mon Sep 1 16:25:34 1997 Jim Wilson <wilson@cygnus.com>
+
+ * cse.c (cse_insn): Don't record BLKmode values.
+
+Mon Sep 1 11:25:47 1997 Stephen Williams (steve@icarus.icarus.com)
+
+ * i960.h (LINK_SPEC): Handle "-mjX" and "-mrp" switches.
+
+Mon Sep 1 08:29:46 1997 Jeffrey A Law (law@cygnus.com)
+
+ * 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.
+
+ * Makefile.in: Add several missing "else true" clauses.
+
+ * 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.
+
+Mon Sep 1 08:04:07 1997 Joel Sherrill (joel@OARcorp.com)
+
+ * 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.
+
+Sat Aug 30 22:54:26 1997 Jim Wilson <wilson@cygnus.com>
+
+ * unroll.c (calculate_giv_inc): Handle increment with code PLUS.
+
+Sat Aug 30 10:49:46 1997 David Edelsohn <edelsohn@mhpcc.edu>
+
+ * rs6000.md: Make DF fused-add operations pay attention to
+ -mno-fused-add.
+
+Fri Aug 29 19:19:54 1997 Jim Wilson <wilson@cygnus.com>
+
+ * 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: Likewise.
+ * t-vxsparc: Likewise.
+ * t-vxworks68: Likewise.
+ * t-vxworks960: Likewise.
+ * t-vx29k: Likewise.
+
+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)
- * cse.c: Record in qty_const_insn the insn that stored the
- constant value of a qty. When making a REG_WAS_0 note,
- store in it the insn that established the value 0.
+ * 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.
- * vax.md (movsi): When checking a REG_WAS_0 note,
- verify that the insn it points to hasn't been deleted or made a NOTE.
+Fri Aug 22 14:05:55 1997 Jim Wilson <wilson@cygnus.com>
-Thu Jan 14 00:01:35 1988 Richard Stallman (rms at frosted-flakes)
+ * alias.c (true_dependence): Pass x_addr not x to varies.
- * toplev.c: Eliminate error_with_line and warning_with_line.
- * parse.y, decl.c: Change remaining calls to those two.
+ * 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.
- * tree.c (get_unwidened, get_narrower): To see if a COMPONENT_REF
- is unsigned, look at the FIELD_DECL, not at the COMPONENT_REF.
+Thu Aug 21 23:52:16 1997 John F. Carr <jfc@mit.edu>
- * rtl.c (print_rtx): Print /v for the `volatil' bit.
- * expr.c (expand_assignment expand_expr): If handling a COMPONENT_REF,
- note whether it is volatile.
+ * 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.
- * fold-const.c (fold): a call to split_tree missed an argument.
+Thu Aug 21 20:17:37 1997 Jeffrey A Law (law@cygnus.com)
- * flow.c (volatile_refs_p): Scan an rtx for volatile mem refs.
- * flow.c (life_analysis): Record in INSN_VOLATILE which insns
- have any volatile mem refs.
- * flow.c (mark_used_regs): Always mark an insn with volatile mem refs.
- Always pass INSN as an arg. New arg FINAL now says whether
- this is the last time scanning.
- * flow.c (propagate_block): Don't delete insns with volatile mem refs.
+ * version.c: Bump for new snapshot.
- * flow.c: Remove all refs to `obey_regdecls'.
- Calling this with -noreg just doesn't help -W.
+Thu Aug 21 17:28:00 1997 Jim Wilson <wilson@cygnus.com>
-Wed Jan 13 01:13:07 1988 Richard Stallman (rms at frosted-flakes)
+ * 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.
- * decl.c (finish_decl): Error if auto var's size isn't known.
- Change type to error_mark_node to avoid crash if the var
- is used in an expression, since it has no DECL_RTL.
+Thu Aug 21 10:22:19 1997 Jeffrey A Law (law@cygnus.com)
- * output-m68k.c (output_move_const_single): % -> %% for sprintf.
+ * Makefile.in (install-common): Put gcov comment at start of line.
- * parse.y (yylex): Store token_buffer properly after ellipsis.
+Wed Aug 20 22:47:33 1997 Jeffrey A Law (law@cygnus.com)
- * decl.c (duplicate_decls): Don't call layout_decl
- for FUNCTION_DECL or TYPE_DECL.
+ * alias.c (init_alias_analysis): When simplifying the reg_base_value
+ array, simplify entries for hard registers too.
- * toplev.c (warning_with_decl): New warning function with decl as arg.
- * (error_with_decl): similar.
+Wed Aug 20 12:35:47 1997 Dave Love <d.love@dl.ac.uk>
- * decl.c: Replace most `yylinerror' calls with `error_with_decl'.
+ * dwarf2.h (enum dwarf_call_frame_info): Remove trailing comma from
+ list.
- * decl.c (build_struct): Reform code to detect erroneous bit-fields.
- All such errors are now detected here.
- Promote bit-fields to int if appropriate.
- If traditional, make all int bit-fields unsigned.
- Set DECL_ALIGN for members that are not bit-fields.
+Wed Aug 20 11:58:33 1997 Jim Wilson <wilson@cygnus.com>
- * decl.c (grokfield): Don't set DECL_ALIGN here.
+ * stmt.c (start_cleanup_deferral, end_cleanup_deferral): Test
+ block_stack before dereferencing it.
- * stor-layout.c (layout_decl): Don't promote the type of a bit-field.
- Use TREE_PACKED to distinguish a bit-field.
- Don't check the width because build_struct did that.
+Wed Aug 20 11:57:11 1997 Michael Meissner <meissner@cygnus.com>
- * m68k.md (cmpm): Reject if either operand (address) is a constant.
+ * rs6000.h (ISSUE_RATE): Define instead of MACHINE_issue_rate.
-Tue Jan 12 15:11:20 1988 Richard Stallman (rms at frosted-flakes)
+Tue Aug 19 17:10:56 1997 Jason Merrill <jason@yorick.cygnus.com>
- * cse.c (canon_reg): Never replace ANY hard reg from reg_rtx
- because that could alter the machine mode.
+ * cplus-dem.c: Add 'extern' to prepends_underscore.
- * tm-news800.h: Redefine INDIRECTABLE_1_ADDRESS only if MOTOROLA.
+Tue Aug 19 09:34:57 1997 Jeffrey A Law (law@cygnus.com)
-Mon Jan 11 13:15:45 1988 Richard Stallman (rms at frosted-flakes)
+ * haifa-sched.c (ISSUE_RATE): Renamed from MACHINE_issue_rate.
+ (get_issue_rate): Delete.
+ * pa.h (ISSUE_RATE): Define.
- * jump.c (follow_jumps): If we find a cycle, make it a jump to self.
+ * 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.
- * cse.c (predecide_loop_entry): Give up if chase more than 10 jumps.
+ * 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.
-Sun Jan 10 14:52:42 1988 Richard Stallman (rms at frosted-flakes)
+ * haifa-sched.c (debug_dependencies): Fix thinko.
- * reload1.c (reload): basic_block_needs (new vector) gets 1
- for each basic block that needs a reload.
- * reload1.c (spill_hard_reg): Don't spill pseudos that are
- confined to a basic block which has no need for any reloads.
- * reload1.c (reload): Each cycle that any element of basic_block_needs
- changes from 0 to 1, must re-spill all previously spilled regs.
+ * Makefile.in (EXPECT, RUNTEST, RUNTESTFLAGS): Define.
+ (site.exp, check, check-g++, check-gcc): New targets.
- * regclass.c (record_address_regs):
- Skip the charging of ICOST if it is 0.
+ * haifa-sched.c: Make lots of variables static.
- * flags.h, toplev.c: New flag -fvolatile.
- * typecheck.c (build_indirect_ref): If flag_volatile,
- every INDIRECT_REF is marked with TREE_THIS_VOLATILE.
+Tue Aug 19 07:18:34 1997 H.J. Lu (hjl@gnu.ai.mit.edu)
- * fold-const.c (fold): Test in TRUTH_NOT_EXPR case was backward.
- Also result type is always `int'.
+ * expr.h, real.h: Finish prototyping.
-Sat Jan 9 04:16:11 1988 Richard Stallman (rms at rice-krispies)
+Mon Aug 18 21:49:02 1997 Jim Wilson <wilson@cygnus.com>
- * flags.h (flag_traditional): New flag.
- * toplev.c: recognize -ftraditional and -traditional.
- * parse.y (yylex): If flag_traditional, don't recognize
- `signed', `const' or `volatile'.
+ * 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.
- * decl.c (pushdecl): If flag_traditional, any extern decl
- takes effect at top level.
+Mon Aug 18 17:39:02 1997 Mike Meissner <meissner@cygnus.com>
- * tree.c (lvalue_or_else): New 2nd arg for use in error message.
- * typecheck.c: All callers pass 2nd arg.
+ * configure.in ({powerpc,rs6000}*-*-*, --with-cpu): Remove single
+ quotes around the name.
+ * configure: Regenerate.
- * global-alloc.c: allocno_preferred_reg can specify a preferred
- hard reg for each allocno. If so, try it first (new call to find_reg).
+Mon Aug 18 13:46:47 1997 Jim Wilson <wilson@cygnus.com>
- * global-alloc.c (find_reg): New arg PREFREG specifies reg to try
- first.
+ * Makefile.in (stmp-multilib-sub): Fix typo in last change.
- * decl.c (build_struct): if :0 bit field at the end, round the
- structure size to multiple of EMPTY_FIELD_BOUNDARY.
+Thu Aug 7 10:33:13 1997 Manfred Hollstein <manfred@s-direktnet.de>
- * cse.c (make_regs_eqv): Was testing for reg_next_eqv[lastr] == 0
- and should be == -1.
+ * 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.
- * reload1.c (reload_as_needed): Fix invalid optimization deleting
- the previous store into a pseudo-reg that feeds an input-reload.
- It is not safe because a later insn may look in the pseudo's stack
- slot for the value. Delete the store only if we can eliminate the
- pseudo entirely or if the current insn stores a new value there.
- Also verify that reload_in[j] is a REG.
+Sun Aug 17 15:42:17 1997 Dave Love (d.love@dl.ac.uk)
- * reload1.c (reload_as_needed): When doing an input reload from a
- pseudo that was stored by the previous insn (not as a reload),
- redirect the previous insn into the reload register, if this lets
- us eliminate the pseudo entirely.
+ * configure.in: Expurgate `broken_install' (install is
+ autoconfed).
- * reload1.c (reload_as_needed): In both of the above cases, it's
- impossible to prevent a stack slot since one was already assigned,
- so don't alter reg_n_refs. Instead, set reg_renumber to record
- that this pseudo did get a hard reg.
+ * configure.lang: Substitute autoconfed ${INSTALL} (not currently
+ relevant).
- * stmt.c: Set `volatil' in pseudo-regs for the user's variables.
+Sat Aug 16 01:08:12 1997 Jeffrey A Law (law@cygnus.com)
- * jump.c (delete_insn): Do nothing if insn already deleted.
+ * 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.
- * tm-sun{2,3}.h: #define STRUCTURE_SIZE_BOUNDARY 2
- for compatibility with Sun PCC. Note that 4.3 vax PCC
- does not want this.
+Fri Aug 15 23:48:32 1997 Jeffrey A Law (law@cygnus.com)
- * fold-const.c: Replace truncate_unsigned with force_fit_type
- which truncates unsigned types and sign-extends signed types.
+ * haifa-sched.c (find_post_sched_live): Call FREE_REG_SET as needed.
+ (schedule_region): Likewise.
+ (schedule_insns): Likewise.
- * expr.c (do_jump): emit_queue before outputting the jump insns
- that use the comparison.
+ * PROJECTS: Update with Haifa stuff.
- * stmt.c: Error message for any goto that jumps into a
- binding contour that restores a stack level.
+Fri Aug 15 12:49:56 1997 Jeffrey A Law (law@cygnus.com)
- TREE_PACKED (label) means label was defined inside
- such a binding contour that is now exited. Using such a label
- is an error.
+ * version.c: Change the version string to look like:
+ egcs-2.90.00 970814 (gcc2-970802 experimental).
- TREE_ADDRESSABLE (label) means label was used from a place
- outside all such binding contours. If this is 1 when
- TREE_PACKED is set to 1, it is an error.
+ * 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>
- Any other invalid goto must have a fixup. fixup_gotos detects
- such invalid gotos. fixup_gotos takes a second arg, which
- is the first insn of the contour now being exited.
+ * 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): Likewise.
+ (flag_schedule_speculative_load): Likewise.
+ (flag_schedule_speculative_load_dangerous): Likewise.
+ (flag_schedule_reverse_before_reload): Likewise.
+ (flag_schedule_reverse_after_reload): Likewise.
+ (flag_branch_on_count_reg): Likewise.
+ (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): Likewise.
+ * 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): Likewise.
+ * 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.
- * GNU C version 1.17.
-\f
Local Variables:
-mode: indented-text
-left-margin: 8
-fill-column: 76
-version-control: never
+add-log-time-format: current-time-string
End: